diff --git a/7.2/Add to ida python folder/PyQt5/Qsci.dll b/7.2/Add to ida python folder/PyQt5/Qsci.dll new file mode 100644 index 0000000..376bf1f Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qsci.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qsci.pyd b/7.2/Add to ida python folder/PyQt5/Qsci.pyd new file mode 100644 index 0000000..376bf1f Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qsci.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/Qsci.pyi b/7.2/Add to ida python folder/PyQt5/Qsci.pyi new file mode 100644 index 0000000..dee624c --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/Qsci.pyi @@ -0,0 +1,3617 @@ +# The PEP 484 type hints stub file for the Qsci module. +# +# Generated by SIP 4.19.6 +# +# Copyright (c) 2017 Riverbank Computing Limited +# +# This file is part of QScintilla. +# +# This file may be used under the terms of the GNU General Public License +# version 3.0 as published by the Free Software Foundation and appearing in +# the file LICENSE included in the packaging of this file. Please review the +# following information to ensure the GNU General Public License version 3.0 +# requirements will be met: http://www.gnu.org/copyleft/gpl.html. +# +# If you do not wish to use this file under the terms of the GPL version 3.0 +# then you may purchase a commercial license. For more information contact +# info@riverbankcomputing.com. +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + +import typing +import sip + +from PyQt5 import QtPrintSupport +from PyQt5 import QtWidgets +from PyQt5 import QtGui +from PyQt5 import QtCore + +# Support for QDate, QDateTime and QTime. +import datetime + +# Convenient type aliases. +PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal] +PYQT_SLOT = typing.Union[typing.Callable[..., None], QtCore.pyqtBoundSignal] + +# Convenient aliases for complicated OpenGL types. +PYQT_OPENGL_ARRAY = typing.Union[typing.Sequence[int], typing.Sequence[float], + sip.Buffer, None] +PYQT_OPENGL_BOUND_ARRAY = typing.Union[typing.Sequence[int], + typing.Sequence[float], sip.Buffer, int, None] + + +class QsciScintillaBase(QtWidgets.QAbstractScrollArea): + + SC_ORDER_PRESORTED = ... # type: int + SC_ORDER_PERFORMSORT = ... # type: int + SC_ORDER_CUSTOM = ... # type: int + + SC_AUTOMATICFOLD_SHOW = ... # type: int + SC_AUTOMATICFOLD_CLICK = ... # type: int + SC_AUTOMATICFOLD_CHANGE = ... # type: int + + SC_FOLDACTION_CONTRACT = ... # type: int + SC_FOLDACTION_EXPAND = ... # type: int + SC_FOLDACTION_TOGGLE = ... # type: int + + SC_FONT_SIZE_MULTIPLIER = ... # type: int + + SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE = ... # type: int + SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = ... # type: int + + SC_TECHNOLOGY_DEFAULT = ... # type: int + SC_TECHNOLOGY_DIRECTWRITE = ... # type: int + SC_TECHNOLOGY_DIRECTWRITERETAIN = ... # type: int + SC_TECHNOLOGY_DIRECTWRITEDC = ... # type: int + + SC_WEIGHT_NORMAL = ... # type: int + SC_WEIGHT_SEMIBOLD = ... # type: int + SC_WEIGHT_BOLD = ... # type: int + + SCLEX_CONTAINER = ... # type: int + SCLEX_NULL = ... # type: int + SCLEX_PYTHON = ... # type: int + SCLEX_CPP = ... # type: int + SCLEX_HTML = ... # type: int + SCLEX_XML = ... # type: int + SCLEX_PERL = ... # type: int + SCLEX_SQL = ... # type: int + SCLEX_VB = ... # type: int + SCLEX_PROPERTIES = ... # type: int + SCLEX_ERRORLIST = ... # type: int + SCLEX_MAKEFILE = ... # type: int + SCLEX_BATCH = ... # type: int + SCLEX_LATEX = ... # type: int + SCLEX_LUA = ... # type: int + SCLEX_DIFF = ... # type: int + SCLEX_CONF = ... # type: int + SCLEX_PASCAL = ... # type: int + SCLEX_AVE = ... # type: int + SCLEX_ADA = ... # type: int + SCLEX_LISP = ... # type: int + SCLEX_RUBY = ... # type: int + SCLEX_EIFFEL = ... # type: int + SCLEX_EIFFELKW = ... # type: int + SCLEX_TCL = ... # type: int + SCLEX_NNCRONTAB = ... # type: int + SCLEX_BULLANT = ... # type: int + SCLEX_VBSCRIPT = ... # type: int + SCLEX_ASP = ... # type: int + SCLEX_PHP = ... # type: int + SCLEX_BAAN = ... # type: int + SCLEX_MATLAB = ... # type: int + SCLEX_SCRIPTOL = ... # type: int + SCLEX_ASM = ... # type: int + SCLEX_CPPNOCASE = ... # type: int + SCLEX_FORTRAN = ... # type: int + SCLEX_F77 = ... # type: int + SCLEX_CSS = ... # type: int + SCLEX_POV = ... # type: int + SCLEX_LOUT = ... # type: int + SCLEX_ESCRIPT = ... # type: int + SCLEX_PS = ... # type: int + SCLEX_NSIS = ... # type: int + SCLEX_MMIXAL = ... # type: int + SCLEX_CLW = ... # type: int + SCLEX_CLWNOCASE = ... # type: int + SCLEX_LOT = ... # type: int + SCLEX_YAML = ... # type: int + SCLEX_TEX = ... # type: int + SCLEX_METAPOST = ... # type: int + SCLEX_POWERBASIC = ... # type: int + SCLEX_FORTH = ... # type: int + SCLEX_ERLANG = ... # type: int + SCLEX_OCTAVE = ... # type: int + SCLEX_MSSQL = ... # type: int + SCLEX_VERILOG = ... # type: int + SCLEX_KIX = ... # type: int + SCLEX_GUI4CLI = ... # type: int + SCLEX_SPECMAN = ... # type: int + SCLEX_AU3 = ... # type: int + SCLEX_APDL = ... # type: int + SCLEX_BASH = ... # type: int + SCLEX_ASN1 = ... # type: int + SCLEX_VHDL = ... # type: int + SCLEX_CAML = ... # type: int + SCLEX_BLITZBASIC = ... # type: int + SCLEX_PUREBASIC = ... # type: int + SCLEX_HASKELL = ... # type: int + SCLEX_PHPSCRIPT = ... # type: int + SCLEX_TADS3 = ... # type: int + SCLEX_REBOL = ... # type: int + SCLEX_SMALLTALK = ... # type: int + SCLEX_FLAGSHIP = ... # type: int + SCLEX_CSOUND = ... # type: int + SCLEX_FREEBASIC = ... # type: int + SCLEX_INNOSETUP = ... # type: int + SCLEX_OPAL = ... # type: int + SCLEX_SPICE = ... # type: int + SCLEX_D = ... # type: int + SCLEX_CMAKE = ... # type: int + SCLEX_GAP = ... # type: int + SCLEX_PLM = ... # type: int + SCLEX_PROGRESS = ... # type: int + SCLEX_ABAQUS = ... # type: int + SCLEX_ASYMPTOTE = ... # type: int + SCLEX_R = ... # type: int + SCLEX_MAGIK = ... # type: int + SCLEX_POWERSHELL = ... # type: int + SCLEX_MYSQL = ... # type: int + SCLEX_PO = ... # type: int + SCLEX_TAL = ... # type: int + SCLEX_COBOL = ... # type: int + SCLEX_TACL = ... # type: int + SCLEX_SORCUS = ... # type: int + SCLEX_POWERPRO = ... # type: int + SCLEX_NIMROD = ... # type: int + SCLEX_SML = ... # type: int + SCLEX_MARKDOWN = ... # type: int + SCLEX_TXT2TAGS = ... # type: int + SCLEX_A68K = ... # type: int + SCLEX_MODULA = ... # type: int + SCLEX_COFFEESCRIPT = ... # type: int + SCLEX_TCMD = ... # type: int + SCLEX_AVS = ... # type: int + SCLEX_ECL = ... # type: int + SCLEX_OSCRIPT = ... # type: int + SCLEX_VISUALPROLOG = ... # type: int + SCLEX_LITERATEHASKELL = ... # type: int + SCLEX_STTXT = ... # type: int + SCLEX_KVIRC = ... # type: int + SCLEX_RUST = ... # type: int + SCLEX_DMAP = ... # type: int + SCLEX_AS = ... # type: int + SCLEX_DMIS = ... # type: int + SCLEX_REGISTRY = ... # type: int + SCLEX_BIBTEX = ... # type: int + SCLEX_SREC = ... # type: int + SCLEX_IHEX = ... # type: int + SCLEX_TEHEX = ... # type: int + SCLEX_JSON = ... # type: int + SCLEX_EDIFACT = ... # type: int + + SCMOD_NORM = ... # type: int + SCMOD_SHIFT = ... # type: int + SCMOD_CTRL = ... # type: int + SCMOD_ALT = ... # type: int + SCMOD_SUPER = ... # type: int + SCMOD_META = ... # type: int + + SCK_DOWN = ... # type: int + SCK_UP = ... # type: int + SCK_LEFT = ... # type: int + SCK_RIGHT = ... # type: int + SCK_HOME = ... # type: int + SCK_END = ... # type: int + SCK_PRIOR = ... # type: int + SCK_NEXT = ... # type: int + SCK_DELETE = ... # type: int + SCK_INSERT = ... # type: int + SCK_ESCAPE = ... # type: int + SCK_BACK = ... # type: int + SCK_TAB = ... # type: int + SCK_RETURN = ... # type: int + SCK_ADD = ... # type: int + SCK_SUBTRACT = ... # type: int + SCK_DIVIDE = ... # type: int + SCK_WIN = ... # type: int + SCK_RWIN = ... # type: int + SCK_MENU = ... # type: int + + SC_MOD_INSERTTEXT = ... # type: int + SC_MOD_DELETETEXT = ... # type: int + SC_MOD_CHANGESTYLE = ... # type: int + SC_MOD_CHANGEFOLD = ... # type: int + SC_PERFORMED_USER = ... # type: int + SC_PERFORMED_UNDO = ... # type: int + SC_PERFORMED_REDO = ... # type: int + SC_MULTISTEPUNDOREDO = ... # type: int + SC_LASTSTEPINUNDOREDO = ... # type: int + SC_MOD_CHANGEMARKER = ... # type: int + SC_MOD_BEFOREINSERT = ... # type: int + SC_MOD_BEFOREDELETE = ... # type: int + SC_MULTILINEUNDOREDO = ... # type: int + SC_STARTACTION = ... # type: int + SC_MOD_CHANGEINDICATOR = ... # type: int + SC_MOD_CHANGELINESTATE = ... # type: int + SC_MOD_CHANGEMARGIN = ... # type: int + SC_MOD_CHANGEANNOTATION = ... # type: int + SC_MOD_CONTAINER = ... # type: int + SC_MOD_LEXERSTATE = ... # type: int + SC_MOD_INSERTCHECK = ... # type: int + SC_MOD_CHANGETABSTOPS = ... # type: int + SC_MODEVENTMASKALL = ... # type: int + + CARETSTYLE_INVISIBLE = ... # type: int + CARETSTYLE_LINE = ... # type: int + CARETSTYLE_BLOCK = ... # type: int + + CARET_SLOP = ... # type: int + CARET_STRICT = ... # type: int + CARET_JUMPS = ... # type: int + CARET_EVEN = ... # type: int + + VISIBLE_SLOP = ... # type: int + VISIBLE_STRICT = ... # type: int + + UNDO_MAY_COALESCE = ... # type: int + + SC_CURSORNORMAL = ... # type: int + SC_CURSORARROW = ... # type: int + SC_CURSORWAIT = ... # type: int + SC_CURSORREVERSEARROW = ... # type: int + + EDGE_NONE = ... # type: int + EDGE_LINE = ... # type: int + EDGE_BACKGROUND = ... # type: int + EDGE_MULTILINE = ... # type: int + + ANNOTATION_HIDDEN = ... # type: int + ANNOTATION_STANDARD = ... # type: int + ANNOTATION_BOXED = ... # type: int + ANNOTATION_INDENTED = ... # type: int + + SC_PHASES_ONE = ... # type: int + SC_PHASES_TWO = ... # type: int + SC_PHASES_MULTIPLE = ... # type: int + + SC_CACHE_NONE = ... # type: int + SC_CACHE_CARET = ... # type: int + SC_CACHE_PAGE = ... # type: int + SC_CACHE_DOCUMENT = ... # type: int + + SC_WRAPINDENT_FIXED = ... # type: int + SC_WRAPINDENT_SAME = ... # type: int + SC_WRAPINDENT_INDENT = ... # type: int + + SC_WRAP_NONE = ... # type: int + SC_WRAP_WORD = ... # type: int + SC_WRAP_CHAR = ... # type: int + SC_WRAP_WHITESPACE = ... # type: int + + SC_TIME_FOREVER = ... # type: int + + SC_LINE_END_TYPE_DEFAULT = ... # type: int + SC_LINE_END_TYPE_UNICODE = ... # type: int + + SC_FOLDFLAG_LINEBEFORE_EXPANDED = ... # type: int + SC_FOLDFLAG_LINEBEFORE_CONTRACTED = ... # type: int + SC_FOLDFLAG_LINEAFTER_EXPANDED = ... # type: int + SC_FOLDFLAG_LINEAFTER_CONTRACTED = ... # type: int + SC_FOLDFLAG_LEVELNUMBERS = ... # type: int + SC_FOLDFLAG_LINESTATE = ... # type: int + + SC_FOLDLEVELBASE = ... # type: int + SC_FOLDLEVELWHITEFLAG = ... # type: int + SC_FOLDLEVELHEADERFLAG = ... # type: int + SC_FOLDLEVELNUMBERMASK = ... # type: int + + SC_FOLDDISPLAYTEXT_HIDDEN = ... # type: int + SC_FOLDDISPLAYTEXT_STANDARD = ... # type: int + SC_FOLDDISPLAYTEXT_BOXED = ... # type: int + + SCFIND_WHOLEWORD = ... # type: int + SCFIND_MATCHCASE = ... # type: int + SCFIND_WORDSTART = ... # type: int + SCFIND_REGEXP = ... # type: int + SCFIND_POSIX = ... # type: int + SCFIND_CXX11REGEX = ... # type: int + + SC_PRINT_NORMAL = ... # type: int + SC_PRINT_INVERTLIGHT = ... # type: int + SC_PRINT_BLACKONWHITE = ... # type: int + SC_PRINT_COLOURONWHITE = ... # type: int + SC_PRINT_COLOURONWHITEDEFAULTBG = ... # type: int + + INDIC_PLAIN = ... # type: int + INDIC_SQUIGGLE = ... # type: int + INDIC_TT = ... # type: int + INDIC_DIAGONAL = ... # type: int + INDIC_STRIKE = ... # type: int + INDIC_HIDDEN = ... # type: int + INDIC_BOX = ... # type: int + INDIC_ROUNDBOX = ... # type: int + INDIC_STRAIGHTBOX = ... # type: int + INDIC_DASH = ... # type: int + INDIC_DOTS = ... # type: int + INDIC_SQUIGGLELOW = ... # type: int + INDIC_DOTBOX = ... # type: int + INDIC_SQUIGGLEPIXMAP = ... # type: int + INDIC_COMPOSITIONTHICK = ... # type: int + INDIC_COMPOSITIONTHIN = ... # type: int + INDIC_FULLBOX = ... # type: int + INDIC_TEXTFORE = ... # type: int + INDIC_POINT = ... # type: int + INDIC_POINTCHARACTER = ... # type: int + INDIC_IME = ... # type: int + INDIC_IME_MAX = ... # type: int + INDIC_CONTAINER = ... # type: int + INDIC_MAX = ... # type: int + INDIC0_MASK = ... # type: int + INDIC1_MASK = ... # type: int + INDIC2_MASK = ... # type: int + INDICS_MASK = ... # type: int + SC_INDICVALUEBIT = ... # type: int + SC_INDICVALUEMASK = ... # type: int + SC_INDICFLAG_VALUEBEFORE = ... # type: int + + SC_IV_NONE = ... # type: int + SC_IV_REAL = ... # type: int + SC_IV_LOOKFORWARD = ... # type: int + SC_IV_LOOKBOTH = ... # type: int + + SC_CASE_MIXED = ... # type: int + SC_CASE_UPPER = ... # type: int + SC_CASE_LOWER = ... # type: int + SC_CASE_CAMEL = ... # type: int + + SC_CHARSET_ANSI = ... # type: int + SC_CHARSET_DEFAULT = ... # type: int + SC_CHARSET_BALTIC = ... # type: int + SC_CHARSET_CHINESEBIG5 = ... # type: int + SC_CHARSET_EASTEUROPE = ... # type: int + SC_CHARSET_GB2312 = ... # type: int + SC_CHARSET_GREEK = ... # type: int + SC_CHARSET_HANGUL = ... # type: int + SC_CHARSET_MAC = ... # type: int + SC_CHARSET_OEM = ... # type: int + SC_CHARSET_RUSSIAN = ... # type: int + SC_CHARSET_OEM866 = ... # type: int + SC_CHARSET_CYRILLIC = ... # type: int + SC_CHARSET_SHIFTJIS = ... # type: int + SC_CHARSET_SYMBOL = ... # type: int + SC_CHARSET_TURKISH = ... # type: int + SC_CHARSET_JOHAB = ... # type: int + SC_CHARSET_HEBREW = ... # type: int + SC_CHARSET_ARABIC = ... # type: int + SC_CHARSET_VIETNAMESE = ... # type: int + SC_CHARSET_THAI = ... # type: int + SC_CHARSET_8859_15 = ... # type: int + + STYLE_DEFAULT = ... # type: int + STYLE_LINENUMBER = ... # type: int + STYLE_BRACELIGHT = ... # type: int + STYLE_BRACEBAD = ... # type: int + STYLE_CONTROLCHAR = ... # type: int + STYLE_INDENTGUIDE = ... # type: int + STYLE_CALLTIP = ... # type: int + STYLE_FOLDDISPLAYTEXT = ... # type: int + STYLE_LASTPREDEFINED = ... # type: int + STYLE_MAX = ... # type: int + + SC_MARGIN_SYMBOL = ... # type: int + SC_MARGIN_NUMBER = ... # type: int + SC_MARGIN_BACK = ... # type: int + SC_MARGIN_FORE = ... # type: int + SC_MARGIN_TEXT = ... # type: int + SC_MARGIN_RTEXT = ... # type: int + SC_MARGIN_COLOUR = ... # type: int + + SC_MARKNUM_FOLDEREND = ... # type: int + SC_MARKNUM_FOLDEROPENMID = ... # type: int + SC_MARKNUM_FOLDERMIDTAIL = ... # type: int + SC_MARKNUM_FOLDERTAIL = ... # type: int + SC_MARKNUM_FOLDERSUB = ... # type: int + SC_MARKNUM_FOLDER = ... # type: int + SC_MARKNUM_FOLDEROPEN = ... # type: int + SC_MASK_FOLDERS = ... # type: int + + SC_MARK_CIRCLE = ... # type: int + SC_MARK_ROUNDRECT = ... # type: int + SC_MARK_ARROW = ... # type: int + SC_MARK_SMALLRECT = ... # type: int + SC_MARK_SHORTARROW = ... # type: int + SC_MARK_EMPTY = ... # type: int + SC_MARK_ARROWDOWN = ... # type: int + SC_MARK_MINUS = ... # type: int + SC_MARK_PLUS = ... # type: int + SC_MARK_VLINE = ... # type: int + SC_MARK_LCORNER = ... # type: int + SC_MARK_TCORNER = ... # type: int + SC_MARK_BOXPLUS = ... # type: int + SC_MARK_BOXPLUSCONNECTED = ... # type: int + SC_MARK_BOXMINUS = ... # type: int + SC_MARK_BOXMINUSCONNECTED = ... # type: int + SC_MARK_LCORNERCURVE = ... # type: int + SC_MARK_TCORNERCURVE = ... # type: int + SC_MARK_CIRCLEPLUS = ... # type: int + SC_MARK_CIRCLEPLUSCONNECTED = ... # type: int + SC_MARK_CIRCLEMINUS = ... # type: int + SC_MARK_CIRCLEMINUSCONNECTED = ... # type: int + SC_MARK_BACKGROUND = ... # type: int + SC_MARK_DOTDOTDOT = ... # type: int + SC_MARK_ARROWS = ... # type: int + SC_MARK_PIXMAP = ... # type: int + SC_MARK_FULLRECT = ... # type: int + SC_MARK_LEFTRECT = ... # type: int + SC_MARK_AVAILABLE = ... # type: int + SC_MARK_UNDERLINE = ... # type: int + SC_MARK_RGBAIMAGE = ... # type: int + SC_MARK_BOOKMARK = ... # type: int + SC_MARK_CHARACTER = ... # type: int + + SC_CP_DBCS = ... # type: int + SC_CP_UTF8 = ... # type: int + + SC_EOL_CRLF = ... # type: int + SC_EOL_CR = ... # type: int + SC_EOL_LF = ... # type: int + + SCWS_INVISIBLE = ... # type: int + SCWS_VISIBLEALWAYS = ... # type: int + SCWS_VISIBLEAFTERINDENT = ... # type: int + SCWS_VISIBLEONLYININDENT = ... # type: int + + SCVS_NONE = ... # type: int + SCVS_RECTANGULARSELECTION = ... # type: int + SCVS_USERACCESSIBLE = ... # type: int + SCVS_NOWRAPLINESTART = ... # type: int + + SCTD_LONGARROW = ... # type: int + SCTD_STRIKEOUT = ... # type: int + + SC_WRAPVISUALFLAGLOC_DEFAULT = ... # type: int + SC_WRAPVISUALFLAGLOC_END_BY_TEXT = ... # type: int + SC_WRAPVISUALFLAGLOC_START_BY_TEXT = ... # type: int + + SC_WRAPVISUALFLAG_NONE = ... # type: int + SC_WRAPVISUALFLAG_END = ... # type: int + SC_WRAPVISUALFLAG_START = ... # type: int + SC_WRAPVISUALFLAG_MARGIN = ... # type: int + + SC_UPDATE_CONTENT = ... # type: int + SC_UPDATE_SELECTION = ... # type: int + SC_UPDATE_V_SCROLL = ... # type: int + SC_UPDATE_H_SCROLL = ... # type: int + + SC_TYPE_BOOLEAN = ... # type: int + SC_TYPE_INTEGER = ... # type: int + SC_TYPE_STRING = ... # type: int + + SC_STATUS_OK = ... # type: int + SC_STATUS_FAILURE = ... # type: int + SC_STATUS_BADALLOC = ... # type: int + SC_STATUS_WARN_START = ... # type: int + SC_STATUS_WARNREGEX = ... # type: int + + SC_SEL_STREAM = ... # type: int + SC_SEL_RECTANGLE = ... # type: int + SC_SEL_LINES = ... # type: int + SC_SEL_THIN = ... # type: int + + SC_POPUP_NEVER = ... # type: int + SC_POPUP_ALL = ... # type: int + SC_POPUP_TEXT = ... # type: int + + SC_MULTIPASTE_ONCE = ... # type: int + SC_MULTIPASTE_EACH = ... # type: int + + SC_MULTIAUTOC_ONCE = ... # type: int + SC_MULTIAUTOC_EACH = ... # type: int + + SC_MARGINOPTION_NONE = ... # type: int + SC_MARGINOPTION_SUBLINESELECT = ... # type: int + + SC_IME_WINDOWED = ... # type: int + SC_IME_INLINE = ... # type: int + + SC_IDLESTYLING_NONE = ... # type: int + SC_IDLESTYLING_TOVISIBLE = ... # type: int + SC_IDLESTYLING_AFTERVISIBLE = ... # type: int + SC_IDLESTYLING_ALL = ... # type: int + + SC_EFF_QUALITY_MASK = ... # type: int + SC_EFF_QUALITY_DEFAULT = ... # type: int + SC_EFF_QUALITY_NON_ANTIALIASED = ... # type: int + SC_EFF_QUALITY_ANTIALIASED = ... # type: int + SC_EFF_QUALITY_LCD_OPTIMIZED = ... # type: int + + SC_CARETSTICKY_OFF = ... # type: int + SC_CARETSTICKY_ON = ... # type: int + SC_CARETSTICKY_WHITESPACE = ... # type: int + + SC_ALPHA_TRANSPARENT = ... # type: int + SC_ALPHA_OPAQUE = ... # type: int + SC_ALPHA_NOALPHA = ... # type: int + + SC_AC_FILLUP = ... # type: int + SC_AC_DOUBLECLICK = ... # type: int + SC_AC_TAB = ... # type: int + SC_AC_NEWLINE = ... # type: int + SC_AC_COMMAND = ... # type: int + + SCI_START = ... # type: int + SCI_OPTIONAL_START = ... # type: int + SCI_LEXER_START = ... # type: int + SCI_ADDTEXT = ... # type: int + SCI_ADDSTYLEDTEXT = ... # type: int + SCI_INSERTTEXT = ... # type: int + SCI_CLEARALL = ... # type: int + SCI_CLEARDOCUMENTSTYLE = ... # type: int + SCI_GETLENGTH = ... # type: int + SCI_GETCHARAT = ... # type: int + SCI_GETCURRENTPOS = ... # type: int + SCI_GETANCHOR = ... # type: int + SCI_GETSTYLEAT = ... # type: int + SCI_REDO = ... # type: int + SCI_SETUNDOCOLLECTION = ... # type: int + SCI_SELECTALL = ... # type: int + SCI_SETSAVEPOINT = ... # type: int + SCI_GETSTYLEDTEXT = ... # type: int + SCI_CANREDO = ... # type: int + SCI_MARKERLINEFROMHANDLE = ... # type: int + SCI_MARKERDELETEHANDLE = ... # type: int + SCI_GETUNDOCOLLECTION = ... # type: int + SCI_GETVIEWWS = ... # type: int + SCI_SETVIEWWS = ... # type: int + SCI_POSITIONFROMPOINT = ... # type: int + SCI_POSITIONFROMPOINTCLOSE = ... # type: int + SCI_GOTOLINE = ... # type: int + SCI_GOTOPOS = ... # type: int + SCI_SETANCHOR = ... # type: int + SCI_GETCURLINE = ... # type: int + SCI_GETENDSTYLED = ... # type: int + SCI_CONVERTEOLS = ... # type: int + SCI_GETEOLMODE = ... # type: int + SCI_SETEOLMODE = ... # type: int + SCI_STARTSTYLING = ... # type: int + SCI_SETSTYLING = ... # type: int + SCI_GETBUFFEREDDRAW = ... # type: int + SCI_SETBUFFEREDDRAW = ... # type: int + SCI_SETTABWIDTH = ... # type: int + SCI_GETTABWIDTH = ... # type: int + SCI_SETCODEPAGE = ... # type: int + SCI_MARKERDEFINE = ... # type: int + SCI_MARKERSETFORE = ... # type: int + SCI_MARKERSETBACK = ... # type: int + SCI_MARKERADD = ... # type: int + SCI_MARKERDELETE = ... # type: int + SCI_MARKERDELETEALL = ... # type: int + SCI_MARKERGET = ... # type: int + SCI_MARKERNEXT = ... # type: int + SCI_MARKERPREVIOUS = ... # type: int + SCI_MARKERDEFINEPIXMAP = ... # type: int + SCI_SETMARGINTYPEN = ... # type: int + SCI_GETMARGINTYPEN = ... # type: int + SCI_SETMARGINWIDTHN = ... # type: int + SCI_GETMARGINWIDTHN = ... # type: int + SCI_SETMARGINMASKN = ... # type: int + SCI_GETMARGINMASKN = ... # type: int + SCI_SETMARGINSENSITIVEN = ... # type: int + SCI_GETMARGINSENSITIVEN = ... # type: int + SCI_SETMARGINCURSORN = ... # type: int + SCI_GETMARGINCURSORN = ... # type: int + SCI_STYLECLEARALL = ... # type: int + SCI_STYLESETFORE = ... # type: int + SCI_STYLESETBACK = ... # type: int + SCI_STYLESETBOLD = ... # type: int + SCI_STYLESETITALIC = ... # type: int + SCI_STYLESETSIZE = ... # type: int + SCI_STYLESETFONT = ... # type: int + SCI_STYLESETEOLFILLED = ... # type: int + SCI_STYLERESETDEFAULT = ... # type: int + SCI_STYLESETUNDERLINE = ... # type: int + SCI_STYLESETCASE = ... # type: int + SCI_STYLESETCHARACTERSET = ... # type: int + SCI_SETSELFORE = ... # type: int + SCI_SETSELBACK = ... # type: int + SCI_SETCARETFORE = ... # type: int + SCI_ASSIGNCMDKEY = ... # type: int + SCI_CLEARCMDKEY = ... # type: int + SCI_CLEARALLCMDKEYS = ... # type: int + SCI_SETSTYLINGEX = ... # type: int + SCI_STYLESETVISIBLE = ... # type: int + SCI_GETCARETPERIOD = ... # type: int + SCI_SETCARETPERIOD = ... # type: int + SCI_SETWORDCHARS = ... # type: int + SCI_BEGINUNDOACTION = ... # type: int + SCI_ENDUNDOACTION = ... # type: int + SCI_INDICSETSTYLE = ... # type: int + SCI_INDICGETSTYLE = ... # type: int + SCI_INDICSETFORE = ... # type: int + SCI_INDICGETFORE = ... # type: int + SCI_SETWHITESPACEFORE = ... # type: int + SCI_SETWHITESPACEBACK = ... # type: int + SCI_SETWHITESPACESIZE = ... # type: int + SCI_GETWHITESPACESIZE = ... # type: int + SCI_SETSTYLEBITS = ... # type: int + SCI_GETSTYLEBITS = ... # type: int + SCI_SETLINESTATE = ... # type: int + SCI_GETLINESTATE = ... # type: int + SCI_GETMAXLINESTATE = ... # type: int + SCI_GETCARETLINEVISIBLE = ... # type: int + SCI_SETCARETLINEVISIBLE = ... # type: int + SCI_GETCARETLINEBACK = ... # type: int + SCI_SETCARETLINEBACK = ... # type: int + SCI_STYLESETCHANGEABLE = ... # type: int + SCI_AUTOCSHOW = ... # type: int + SCI_AUTOCCANCEL = ... # type: int + SCI_AUTOCACTIVE = ... # type: int + SCI_AUTOCPOSSTART = ... # type: int + SCI_AUTOCCOMPLETE = ... # type: int + SCI_AUTOCSTOPS = ... # type: int + SCI_AUTOCSETSEPARATOR = ... # type: int + SCI_AUTOCGETSEPARATOR = ... # type: int + SCI_AUTOCSELECT = ... # type: int + SCI_AUTOCSETCANCELATSTART = ... # type: int + SCI_AUTOCGETCANCELATSTART = ... # type: int + SCI_AUTOCSETFILLUPS = ... # type: int + SCI_AUTOCSETCHOOSESINGLE = ... # type: int + SCI_AUTOCGETCHOOSESINGLE = ... # type: int + SCI_AUTOCSETIGNORECASE = ... # type: int + SCI_AUTOCGETIGNORECASE = ... # type: int + SCI_USERLISTSHOW = ... # type: int + SCI_AUTOCSETAUTOHIDE = ... # type: int + SCI_AUTOCGETAUTOHIDE = ... # type: int + SCI_AUTOCSETDROPRESTOFWORD = ... # type: int + SCI_AUTOCGETDROPRESTOFWORD = ... # type: int + SCI_SETINDENT = ... # type: int + SCI_GETINDENT = ... # type: int + SCI_SETUSETABS = ... # type: int + SCI_GETUSETABS = ... # type: int + SCI_SETLINEINDENTATION = ... # type: int + SCI_GETLINEINDENTATION = ... # type: int + SCI_GETLINEINDENTPOSITION = ... # type: int + SCI_GETCOLUMN = ... # type: int + SCI_SETHSCROLLBAR = ... # type: int + SCI_GETHSCROLLBAR = ... # type: int + SCI_SETINDENTATIONGUIDES = ... # type: int + SCI_GETINDENTATIONGUIDES = ... # type: int + SCI_SETHIGHLIGHTGUIDE = ... # type: int + SCI_GETHIGHLIGHTGUIDE = ... # type: int + SCI_GETLINEENDPOSITION = ... # type: int + SCI_GETCODEPAGE = ... # type: int + SCI_GETCARETFORE = ... # type: int + SCI_GETREADONLY = ... # type: int + SCI_SETCURRENTPOS = ... # type: int + SCI_SETSELECTIONSTART = ... # type: int + SCI_GETSELECTIONSTART = ... # type: int + SCI_SETSELECTIONEND = ... # type: int + SCI_GETSELECTIONEND = ... # type: int + SCI_SETPRINTMAGNIFICATION = ... # type: int + SCI_GETPRINTMAGNIFICATION = ... # type: int + SCI_SETPRINTCOLOURMODE = ... # type: int + SCI_GETPRINTCOLOURMODE = ... # type: int + SCI_FINDTEXT = ... # type: int + SCI_FORMATRANGE = ... # type: int + SCI_GETFIRSTVISIBLELINE = ... # type: int + SCI_GETLINE = ... # type: int + SCI_GETLINECOUNT = ... # type: int + SCI_SETMARGINLEFT = ... # type: int + SCI_GETMARGINLEFT = ... # type: int + SCI_SETMARGINRIGHT = ... # type: int + SCI_GETMARGINRIGHT = ... # type: int + SCI_GETMODIFY = ... # type: int + SCI_SETSEL = ... # type: int + SCI_GETSELTEXT = ... # type: int + SCI_GETTEXTRANGE = ... # type: int + SCI_HIDESELECTION = ... # type: int + SCI_POINTXFROMPOSITION = ... # type: int + SCI_POINTYFROMPOSITION = ... # type: int + SCI_LINEFROMPOSITION = ... # type: int + SCI_POSITIONFROMLINE = ... # type: int + SCI_LINESCROLL = ... # type: int + SCI_SCROLLCARET = ... # type: int + SCI_REPLACESEL = ... # type: int + SCI_SETREADONLY = ... # type: int + SCI_NULL = ... # type: int + SCI_CANPASTE = ... # type: int + SCI_CANUNDO = ... # type: int + SCI_EMPTYUNDOBUFFER = ... # type: int + SCI_UNDO = ... # type: int + SCI_CUT = ... # type: int + SCI_COPY = ... # type: int + SCI_PASTE = ... # type: int + SCI_CLEAR = ... # type: int + SCI_SETTEXT = ... # type: int + SCI_GETTEXT = ... # type: int + SCI_GETTEXTLENGTH = ... # type: int + SCI_GETDIRECTFUNCTION = ... # type: int + SCI_GETDIRECTPOINTER = ... # type: int + SCI_SETOVERTYPE = ... # type: int + SCI_GETOVERTYPE = ... # type: int + SCI_SETCARETWIDTH = ... # type: int + SCI_GETCARETWIDTH = ... # type: int + SCI_SETTARGETSTART = ... # type: int + SCI_GETTARGETSTART = ... # type: int + SCI_SETTARGETEND = ... # type: int + SCI_GETTARGETEND = ... # type: int + SCI_REPLACETARGET = ... # type: int + SCI_REPLACETARGETRE = ... # type: int + SCI_SEARCHINTARGET = ... # type: int + SCI_SETSEARCHFLAGS = ... # type: int + SCI_GETSEARCHFLAGS = ... # type: int + SCI_CALLTIPSHOW = ... # type: int + SCI_CALLTIPCANCEL = ... # type: int + SCI_CALLTIPACTIVE = ... # type: int + SCI_CALLTIPPOSSTART = ... # type: int + SCI_CALLTIPSETHLT = ... # type: int + SCI_CALLTIPSETBACK = ... # type: int + SCI_CALLTIPSETFORE = ... # type: int + SCI_CALLTIPSETFOREHLT = ... # type: int + SCI_AUTOCSETMAXWIDTH = ... # type: int + SCI_AUTOCGETMAXWIDTH = ... # type: int + SCI_AUTOCSETMAXHEIGHT = ... # type: int + SCI_AUTOCGETMAXHEIGHT = ... # type: int + SCI_CALLTIPUSESTYLE = ... # type: int + SCI_VISIBLEFROMDOCLINE = ... # type: int + SCI_DOCLINEFROMVISIBLE = ... # type: int + SCI_SETFOLDLEVEL = ... # type: int + SCI_GETFOLDLEVEL = ... # type: int + SCI_GETLASTCHILD = ... # type: int + SCI_GETFOLDPARENT = ... # type: int + SCI_SHOWLINES = ... # type: int + SCI_HIDELINES = ... # type: int + SCI_GETLINEVISIBLE = ... # type: int + SCI_SETFOLDEXPANDED = ... # type: int + SCI_GETFOLDEXPANDED = ... # type: int + SCI_TOGGLEFOLD = ... # type: int + SCI_ENSUREVISIBLE = ... # type: int + SCI_SETFOLDFLAGS = ... # type: int + SCI_ENSUREVISIBLEENFORCEPOLICY = ... # type: int + SCI_WRAPCOUNT = ... # type: int + SCI_SETTABINDENTS = ... # type: int + SCI_GETTABINDENTS = ... # type: int + SCI_SETBACKSPACEUNINDENTS = ... # type: int + SCI_GETBACKSPACEUNINDENTS = ... # type: int + SCI_SETMOUSEDWELLTIME = ... # type: int + SCI_GETMOUSEDWELLTIME = ... # type: int + SCI_WORDSTARTPOSITION = ... # type: int + SCI_WORDENDPOSITION = ... # type: int + SCI_SETWRAPMODE = ... # type: int + SCI_GETWRAPMODE = ... # type: int + SCI_SETLAYOUTCACHE = ... # type: int + SCI_GETLAYOUTCACHE = ... # type: int + SCI_SETSCROLLWIDTH = ... # type: int + SCI_GETSCROLLWIDTH = ... # type: int + SCI_TEXTWIDTH = ... # type: int + SCI_SETENDATLASTLINE = ... # type: int + SCI_GETENDATLASTLINE = ... # type: int + SCI_TEXTHEIGHT = ... # type: int + SCI_SETVSCROLLBAR = ... # type: int + SCI_GETVSCROLLBAR = ... # type: int + SCI_APPENDTEXT = ... # type: int + SCI_GETTWOPHASEDRAW = ... # type: int + SCI_SETTWOPHASEDRAW = ... # type: int + SCI_AUTOCGETTYPESEPARATOR = ... # type: int + SCI_AUTOCSETTYPESEPARATOR = ... # type: int + SCI_TARGETFROMSELECTION = ... # type: int + SCI_LINESJOIN = ... # type: int + SCI_LINESSPLIT = ... # type: int + SCI_SETFOLDMARGINCOLOUR = ... # type: int + SCI_SETFOLDMARGINHICOLOUR = ... # type: int + SCI_MARKERSETBACKSELECTED = ... # type: int + SCI_MARKERENABLEHIGHLIGHT = ... # type: int + SCI_LINEDOWN = ... # type: int + SCI_LINEDOWNEXTEND = ... # type: int + SCI_LINEUP = ... # type: int + SCI_LINEUPEXTEND = ... # type: int + SCI_CHARLEFT = ... # type: int + SCI_CHARLEFTEXTEND = ... # type: int + SCI_CHARRIGHT = ... # type: int + SCI_CHARRIGHTEXTEND = ... # type: int + SCI_WORDLEFT = ... # type: int + SCI_WORDLEFTEXTEND = ... # type: int + SCI_WORDRIGHT = ... # type: int + SCI_WORDRIGHTEXTEND = ... # type: int + SCI_HOME = ... # type: int + SCI_HOMEEXTEND = ... # type: int + SCI_LINEEND = ... # type: int + SCI_LINEENDEXTEND = ... # type: int + SCI_DOCUMENTSTART = ... # type: int + SCI_DOCUMENTSTARTEXTEND = ... # type: int + SCI_DOCUMENTEND = ... # type: int + SCI_DOCUMENTENDEXTEND = ... # type: int + SCI_PAGEUP = ... # type: int + SCI_PAGEUPEXTEND = ... # type: int + SCI_PAGEDOWN = ... # type: int + SCI_PAGEDOWNEXTEND = ... # type: int + SCI_EDITTOGGLEOVERTYPE = ... # type: int + SCI_CANCEL = ... # type: int + SCI_DELETEBACK = ... # type: int + SCI_TAB = ... # type: int + SCI_BACKTAB = ... # type: int + SCI_NEWLINE = ... # type: int + SCI_FORMFEED = ... # type: int + SCI_VCHOME = ... # type: int + SCI_VCHOMEEXTEND = ... # type: int + SCI_ZOOMIN = ... # type: int + SCI_ZOOMOUT = ... # type: int + SCI_DELWORDLEFT = ... # type: int + SCI_DELWORDRIGHT = ... # type: int + SCI_LINECUT = ... # type: int + SCI_LINEDELETE = ... # type: int + SCI_LINETRANSPOSE = ... # type: int + SCI_LOWERCASE = ... # type: int + SCI_UPPERCASE = ... # type: int + SCI_LINESCROLLDOWN = ... # type: int + SCI_LINESCROLLUP = ... # type: int + SCI_DELETEBACKNOTLINE = ... # type: int + SCI_HOMEDISPLAY = ... # type: int + SCI_HOMEDISPLAYEXTEND = ... # type: int + SCI_LINEENDDISPLAY = ... # type: int + SCI_LINEENDDISPLAYEXTEND = ... # type: int + SCI_MOVECARETINSIDEVIEW = ... # type: int + SCI_LINELENGTH = ... # type: int + SCI_BRACEHIGHLIGHT = ... # type: int + SCI_BRACEBADLIGHT = ... # type: int + SCI_BRACEMATCH = ... # type: int + SCI_GETVIEWEOL = ... # type: int + SCI_SETVIEWEOL = ... # type: int + SCI_GETDOCPOINTER = ... # type: int + SCI_SETDOCPOINTER = ... # type: int + SCI_SETMODEVENTMASK = ... # type: int + SCI_GETEDGECOLUMN = ... # type: int + SCI_SETEDGECOLUMN = ... # type: int + SCI_GETEDGEMODE = ... # type: int + SCI_SETEDGEMODE = ... # type: int + SCI_GETEDGECOLOUR = ... # type: int + SCI_SETEDGECOLOUR = ... # type: int + SCI_SEARCHANCHOR = ... # type: int + SCI_SEARCHNEXT = ... # type: int + SCI_SEARCHPREV = ... # type: int + SCI_LINESONSCREEN = ... # type: int + SCI_USEPOPUP = ... # type: int + SCI_SELECTIONISRECTANGLE = ... # type: int + SCI_SETZOOM = ... # type: int + SCI_GETZOOM = ... # type: int + SCI_CREATEDOCUMENT = ... # type: int + SCI_ADDREFDOCUMENT = ... # type: int + SCI_RELEASEDOCUMENT = ... # type: int + SCI_GETMODEVENTMASK = ... # type: int + SCI_SETFOCUS = ... # type: int + SCI_GETFOCUS = ... # type: int + SCI_SETSTATUS = ... # type: int + SCI_GETSTATUS = ... # type: int + SCI_SETMOUSEDOWNCAPTURES = ... # type: int + SCI_GETMOUSEDOWNCAPTURES = ... # type: int + SCI_SETCURSOR = ... # type: int + SCI_GETCURSOR = ... # type: int + SCI_SETCONTROLCHARSYMBOL = ... # type: int + SCI_GETCONTROLCHARSYMBOL = ... # type: int + SCI_WORDPARTLEFT = ... # type: int + SCI_WORDPARTLEFTEXTEND = ... # type: int + SCI_WORDPARTRIGHT = ... # type: int + SCI_WORDPARTRIGHTEXTEND = ... # type: int + SCI_SETVISIBLEPOLICY = ... # type: int + SCI_DELLINELEFT = ... # type: int + SCI_DELLINERIGHT = ... # type: int + SCI_SETXOFFSET = ... # type: int + SCI_GETXOFFSET = ... # type: int + SCI_CHOOSECARETX = ... # type: int + SCI_GRABFOCUS = ... # type: int + SCI_SETXCARETPOLICY = ... # type: int + SCI_SETYCARETPOLICY = ... # type: int + SCI_LINEDUPLICATE = ... # type: int + SCI_REGISTERIMAGE = ... # type: int + SCI_SETPRINTWRAPMODE = ... # type: int + SCI_GETPRINTWRAPMODE = ... # type: int + SCI_CLEARREGISTEREDIMAGES = ... # type: int + SCI_STYLESETHOTSPOT = ... # type: int + SCI_SETHOTSPOTACTIVEFORE = ... # type: int + SCI_SETHOTSPOTACTIVEBACK = ... # type: int + SCI_SETHOTSPOTACTIVEUNDERLINE = ... # type: int + SCI_SETHOTSPOTSINGLELINE = ... # type: int + SCI_PARADOWN = ... # type: int + SCI_PARADOWNEXTEND = ... # type: int + SCI_PARAUP = ... # type: int + SCI_PARAUPEXTEND = ... # type: int + SCI_POSITIONBEFORE = ... # type: int + SCI_POSITIONAFTER = ... # type: int + SCI_COPYRANGE = ... # type: int + SCI_COPYTEXT = ... # type: int + SCI_SETSELECTIONMODE = ... # type: int + SCI_GETSELECTIONMODE = ... # type: int + SCI_GETLINESELSTARTPOSITION = ... # type: int + SCI_GETLINESELENDPOSITION = ... # type: int + SCI_LINEDOWNRECTEXTEND = ... # type: int + SCI_LINEUPRECTEXTEND = ... # type: int + SCI_CHARLEFTRECTEXTEND = ... # type: int + SCI_CHARRIGHTRECTEXTEND = ... # type: int + SCI_HOMERECTEXTEND = ... # type: int + SCI_VCHOMERECTEXTEND = ... # type: int + SCI_LINEENDRECTEXTEND = ... # type: int + SCI_PAGEUPRECTEXTEND = ... # type: int + SCI_PAGEDOWNRECTEXTEND = ... # type: int + SCI_STUTTEREDPAGEUP = ... # type: int + SCI_STUTTEREDPAGEUPEXTEND = ... # type: int + SCI_STUTTEREDPAGEDOWN = ... # type: int + SCI_STUTTEREDPAGEDOWNEXTEND = ... # type: int + SCI_WORDLEFTEND = ... # type: int + SCI_WORDLEFTENDEXTEND = ... # type: int + SCI_WORDRIGHTEND = ... # type: int + SCI_WORDRIGHTENDEXTEND = ... # type: int + SCI_SETWHITESPACECHARS = ... # type: int + SCI_SETCHARSDEFAULT = ... # type: int + SCI_AUTOCGETCURRENT = ... # type: int + SCI_ALLOCATE = ... # type: int + SCI_HOMEWRAP = ... # type: int + SCI_HOMEWRAPEXTEND = ... # type: int + SCI_LINEENDWRAP = ... # type: int + SCI_LINEENDWRAPEXTEND = ... # type: int + SCI_VCHOMEWRAP = ... # type: int + SCI_VCHOMEWRAPEXTEND = ... # type: int + SCI_LINECOPY = ... # type: int + SCI_FINDCOLUMN = ... # type: int + SCI_GETCARETSTICKY = ... # type: int + SCI_SETCARETSTICKY = ... # type: int + SCI_TOGGLECARETSTICKY = ... # type: int + SCI_SETWRAPVISUALFLAGS = ... # type: int + SCI_GETWRAPVISUALFLAGS = ... # type: int + SCI_SETWRAPVISUALFLAGSLOCATION = ... # type: int + SCI_GETWRAPVISUALFLAGSLOCATION = ... # type: int + SCI_SETWRAPSTARTINDENT = ... # type: int + SCI_GETWRAPSTARTINDENT = ... # type: int + SCI_MARKERADDSET = ... # type: int + SCI_SETPASTECONVERTENDINGS = ... # type: int + SCI_GETPASTECONVERTENDINGS = ... # type: int + SCI_SELECTIONDUPLICATE = ... # type: int + SCI_SETCARETLINEBACKALPHA = ... # type: int + SCI_GETCARETLINEBACKALPHA = ... # type: int + SCI_SETWRAPINDENTMODE = ... # type: int + SCI_GETWRAPINDENTMODE = ... # type: int + SCI_MARKERSETALPHA = ... # type: int + SCI_GETSELALPHA = ... # type: int + SCI_SETSELALPHA = ... # type: int + SCI_GETSELEOLFILLED = ... # type: int + SCI_SETSELEOLFILLED = ... # type: int + SCI_STYLEGETFORE = ... # type: int + SCI_STYLEGETBACK = ... # type: int + SCI_STYLEGETBOLD = ... # type: int + SCI_STYLEGETITALIC = ... # type: int + SCI_STYLEGETSIZE = ... # type: int + SCI_STYLEGETFONT = ... # type: int + SCI_STYLEGETEOLFILLED = ... # type: int + SCI_STYLEGETUNDERLINE = ... # type: int + SCI_STYLEGETCASE = ... # type: int + SCI_STYLEGETCHARACTERSET = ... # type: int + SCI_STYLEGETVISIBLE = ... # type: int + SCI_STYLEGETCHANGEABLE = ... # type: int + SCI_STYLEGETHOTSPOT = ... # type: int + SCI_GETHOTSPOTACTIVEFORE = ... # type: int + SCI_GETHOTSPOTACTIVEBACK = ... # type: int + SCI_GETHOTSPOTACTIVEUNDERLINE = ... # type: int + SCI_GETHOTSPOTSINGLELINE = ... # type: int + SCI_BRACEHIGHLIGHTINDICATOR = ... # type: int + SCI_BRACEBADLIGHTINDICATOR = ... # type: int + SCI_SETINDICATORCURRENT = ... # type: int + SCI_GETINDICATORCURRENT = ... # type: int + SCI_SETINDICATORVALUE = ... # type: int + SCI_GETINDICATORVALUE = ... # type: int + SCI_INDICATORFILLRANGE = ... # type: int + SCI_INDICATORCLEARRANGE = ... # type: int + SCI_INDICATORALLONFOR = ... # type: int + SCI_INDICATORVALUEAT = ... # type: int + SCI_INDICATORSTART = ... # type: int + SCI_INDICATOREND = ... # type: int + SCI_INDICSETUNDER = ... # type: int + SCI_INDICGETUNDER = ... # type: int + SCI_SETCARETSTYLE = ... # type: int + SCI_GETCARETSTYLE = ... # type: int + SCI_SETPOSITIONCACHE = ... # type: int + SCI_GETPOSITIONCACHE = ... # type: int + SCI_SETSCROLLWIDTHTRACKING = ... # type: int + SCI_GETSCROLLWIDTHTRACKING = ... # type: int + SCI_DELWORDRIGHTEND = ... # type: int + SCI_COPYALLOWLINE = ... # type: int + SCI_GETCHARACTERPOINTER = ... # type: int + SCI_INDICSETALPHA = ... # type: int + SCI_INDICGETALPHA = ... # type: int + SCI_SETEXTRAASCENT = ... # type: int + SCI_GETEXTRAASCENT = ... # type: int + SCI_SETEXTRADESCENT = ... # type: int + SCI_GETEXTRADESCENT = ... # type: int + SCI_MARKERSYMBOLDEFINED = ... # type: int + SCI_MARGINSETTEXT = ... # type: int + SCI_MARGINGETTEXT = ... # type: int + SCI_MARGINSETSTYLE = ... # type: int + SCI_MARGINGETSTYLE = ... # type: int + SCI_MARGINSETSTYLES = ... # type: int + SCI_MARGINGETSTYLES = ... # type: int + SCI_MARGINTEXTCLEARALL = ... # type: int + SCI_MARGINSETSTYLEOFFSET = ... # type: int + SCI_MARGINGETSTYLEOFFSET = ... # type: int + SCI_SETMARGINOPTIONS = ... # type: int + SCI_ANNOTATIONSETTEXT = ... # type: int + SCI_ANNOTATIONGETTEXT = ... # type: int + SCI_ANNOTATIONSETSTYLE = ... # type: int + SCI_ANNOTATIONGETSTYLE = ... # type: int + SCI_ANNOTATIONSETSTYLES = ... # type: int + SCI_ANNOTATIONGETSTYLES = ... # type: int + SCI_ANNOTATIONGETLINES = ... # type: int + SCI_ANNOTATIONCLEARALL = ... # type: int + SCI_ANNOTATIONSETVISIBLE = ... # type: int + SCI_ANNOTATIONGETVISIBLE = ... # type: int + SCI_ANNOTATIONSETSTYLEOFFSET = ... # type: int + SCI_ANNOTATIONGETSTYLEOFFSET = ... # type: int + SCI_SETEMPTYSELECTION = ... # type: int + SCI_GETMARGINOPTIONS = ... # type: int + SCI_INDICSETOUTLINEALPHA = ... # type: int + SCI_INDICGETOUTLINEALPHA = ... # type: int + SCI_ADDUNDOACTION = ... # type: int + SCI_CHARPOSITIONFROMPOINT = ... # type: int + SCI_CHARPOSITIONFROMPOINTCLOSE = ... # type: int + SCI_SETMULTIPLESELECTION = ... # type: int + SCI_GETMULTIPLESELECTION = ... # type: int + SCI_SETADDITIONALSELECTIONTYPING = ... # type: int + SCI_GETADDITIONALSELECTIONTYPING = ... # type: int + SCI_SETADDITIONALCARETSBLINK = ... # type: int + SCI_GETADDITIONALCARETSBLINK = ... # type: int + SCI_SCROLLRANGE = ... # type: int + SCI_GETSELECTIONS = ... # type: int + SCI_CLEARSELECTIONS = ... # type: int + SCI_SETSELECTION = ... # type: int + SCI_ADDSELECTION = ... # type: int + SCI_SETMAINSELECTION = ... # type: int + SCI_GETMAINSELECTION = ... # type: int + SCI_SETSELECTIONNCARET = ... # type: int + SCI_GETSELECTIONNCARET = ... # type: int + SCI_SETSELECTIONNANCHOR = ... # type: int + SCI_GETSELECTIONNANCHOR = ... # type: int + SCI_SETSELECTIONNCARETVIRTUALSPACE = ... # type: int + SCI_GETSELECTIONNCARETVIRTUALSPACE = ... # type: int + SCI_SETSELECTIONNANCHORVIRTUALSPACE = ... # type: int + SCI_GETSELECTIONNANCHORVIRTUALSPACE = ... # type: int + SCI_SETSELECTIONNSTART = ... # type: int + SCI_GETSELECTIONNSTART = ... # type: int + SCI_SETSELECTIONNEND = ... # type: int + SCI_GETSELECTIONNEND = ... # type: int + SCI_SETRECTANGULARSELECTIONCARET = ... # type: int + SCI_GETRECTANGULARSELECTIONCARET = ... # type: int + SCI_SETRECTANGULARSELECTIONANCHOR = ... # type: int + SCI_GETRECTANGULARSELECTIONANCHOR = ... # type: int + SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE = ... # type: int + SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE = ... # type: int + SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE = ... # type: int + SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE = ... # type: int + SCI_SETVIRTUALSPACEOPTIONS = ... # type: int + SCI_GETVIRTUALSPACEOPTIONS = ... # type: int + SCI_SETRECTANGULARSELECTIONMODIFIER = ... # type: int + SCI_GETRECTANGULARSELECTIONMODIFIER = ... # type: int + SCI_SETADDITIONALSELFORE = ... # type: int + SCI_SETADDITIONALSELBACK = ... # type: int + SCI_SETADDITIONALSELALPHA = ... # type: int + SCI_GETADDITIONALSELALPHA = ... # type: int + SCI_SETADDITIONALCARETFORE = ... # type: int + SCI_GETADDITIONALCARETFORE = ... # type: int + SCI_ROTATESELECTION = ... # type: int + SCI_SWAPMAINANCHORCARET = ... # type: int + SCI_SETADDITIONALCARETSVISIBLE = ... # type: int + SCI_GETADDITIONALCARETSVISIBLE = ... # type: int + SCI_AUTOCGETCURRENTTEXT = ... # type: int + SCI_SETFONTQUALITY = ... # type: int + SCI_GETFONTQUALITY = ... # type: int + SCI_SETFIRSTVISIBLELINE = ... # type: int + SCI_SETMULTIPASTE = ... # type: int + SCI_GETMULTIPASTE = ... # type: int + SCI_GETTAG = ... # type: int + SCI_CHANGELEXERSTATE = ... # type: int + SCI_CONTRACTEDFOLDNEXT = ... # type: int + SCI_VERTICALCENTRECARET = ... # type: int + SCI_MOVESELECTEDLINESUP = ... # type: int + SCI_MOVESELECTEDLINESDOWN = ... # type: int + SCI_SETIDENTIFIER = ... # type: int + SCI_GETIDENTIFIER = ... # type: int + SCI_RGBAIMAGESETWIDTH = ... # type: int + SCI_RGBAIMAGESETHEIGHT = ... # type: int + SCI_MARKERDEFINERGBAIMAGE = ... # type: int + SCI_REGISTERRGBAIMAGE = ... # type: int + SCI_SCROLLTOSTART = ... # type: int + SCI_SCROLLTOEND = ... # type: int + SCI_STARTRECORD = ... # type: int + SCI_STOPRECORD = ... # type: int + SCI_SETLEXER = ... # type: int + SCI_GETLEXER = ... # type: int + SCI_COLOURISE = ... # type: int + SCI_SETPROPERTY = ... # type: int + SCI_SETKEYWORDS = ... # type: int + SCI_SETLEXERLANGUAGE = ... # type: int + SCI_LOADLEXERLIBRARY = ... # type: int + SCI_GETPROPERTY = ... # type: int + SCI_GETPROPERTYEXPANDED = ... # type: int + SCI_GETPROPERTYINT = ... # type: int + SCI_GETSTYLEBITSNEEDED = ... # type: int + SCI_GETLEXERLANGUAGE = ... # type: int + SCI_PRIVATELEXERCALL = ... # type: int + SCI_PROPERTYNAMES = ... # type: int + SCI_PROPERTYTYPE = ... # type: int + SCI_DESCRIBEPROPERTY = ... # type: int + SCI_DESCRIBEKEYWORDSETS = ... # type: int + SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = ... # type: int + SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = ... # type: int + SCI_AUTOCSETMULTI = ... # type: int + SCI_AUTOCGETMULTI = ... # type: int + SCI_CALLTIPSETPOSITION = ... # type: int + SCI_CALLTIPSETPOSSTART = ... # type: int + SCI_COUNTCHARACTERS = ... # type: int + SCI_CREATELOADER = ... # type: int + SCI_DELETERANGE = ... # type: int + SCI_FINDINDICATORFLASH = ... # type: int + SCI_FINDINDICATORHIDE = ... # type: int + SCI_FINDINDICATORSHOW = ... # type: int + SCI_GETALLLINESVISIBLE = ... # type: int + SCI_GETGAPPOSITION = ... # type: int + SCI_GETPUNCTUATIONCHARS = ... # type: int + SCI_GETRANGEPOINTER = ... # type: int + SCI_GETSELECTIONEMPTY = ... # type: int + SCI_GETTECHNOLOGY = ... # type: int + SCI_GETWHITESPACECHARS = ... # type: int + SCI_GETWORDCHARS = ... # type: int + SCI_RGBAIMAGESETSCALE = ... # type: int + SCI_SETPUNCTUATIONCHARS = ... # type: int + SCI_SETTECHNOLOGY = ... # type: int + SCI_STYLESETSIZEFRACTIONAL = ... # type: int + SCI_STYLEGETSIZEFRACTIONAL = ... # type: int + SCI_STYLESETWEIGHT = ... # type: int + SCI_STYLEGETWEIGHT = ... # type: int + SCI_FOLDLINE = ... # type: int + SCI_FOLDCHILDREN = ... # type: int + SCI_EXPANDCHILDREN = ... # type: int + SCI_FOLDALL = ... # type: int + SCI_SETAUTOMATICFOLD = ... # type: int + SCI_GETAUTOMATICFOLD = ... # type: int + SCI_AUTOCSETORDER = ... # type: int + SCI_AUTOCGETORDER = ... # type: int + SCI_POSITIONRELATIVE = ... # type: int + SCI_DROPSELECTIONN = ... # type: int + SCI_CHANGEINSERTION = ... # type: int + SCI_GETPHASESDRAW = ... # type: int + SCI_SETPHASESDRAW = ... # type: int + SCI_CLEARTABSTOPS = ... # type: int + SCI_ADDTABSTOP = ... # type: int + SCI_GETNEXTTABSTOP = ... # type: int + SCI_GETIMEINTERACTION = ... # type: int + SCI_SETIMEINTERACTION = ... # type: int + SCI_INDICSETHOVERSTYLE = ... # type: int + SCI_INDICGETHOVERSTYLE = ... # type: int + SCI_INDICSETHOVERFORE = ... # type: int + SCI_INDICGETHOVERFORE = ... # type: int + SCI_INDICSETFLAGS = ... # type: int + SCI_INDICGETFLAGS = ... # type: int + SCI_SETTARGETRANGE = ... # type: int + SCI_GETTARGETTEXT = ... # type: int + SCI_RELEASEALLEXTENDEDSTYLES = ... # type: int + SCI_ALLOCATEEXTENDEDSTYLES = ... # type: int + SCI_SETMOUSESELECTIONRECTANGULARSWITCH = ... # type: int + SCI_GETMOUSESELECTIONRECTANGULARSWITCH = ... # type: int + SCI_GETCARETLINEVISIBLEALWAYS = ... # type: int + SCI_SETCARETLINEVISIBLEALWAYS = ... # type: int + SCI_SETLINEENDTYPESALLOWED = ... # type: int + SCI_GETLINEENDTYPESALLOWED = ... # type: int + SCI_GETLINEENDTYPESACTIVE = ... # type: int + SCI_SETREPRESENTATION = ... # type: int + SCI_GETREPRESENTATION = ... # type: int + SCI_CLEARREPRESENTATION = ... # type: int + SCI_GETLINEENDTYPESSUPPORTED = ... # type: int + SCI_ALLOCATESUBSTYLES = ... # type: int + SCI_GETSUBSTYLESSTART = ... # type: int + SCI_GETSUBSTYLESLENGTH = ... # type: int + SCI_GETSTYLEFROMSUBSTYLE = ... # type: int + SCI_GETPRIMARYSTYLEFROMSTYLE = ... # type: int + SCI_FREESUBSTYLES = ... # type: int + SCI_SETIDENTIFIERS = ... # type: int + SCI_DISTANCETOSECONDARYSTYLES = ... # type: int + SCI_GETSUBSTYLEBASES = ... # type: int + SCI_SETIDLESTYLING = ... # type: int + SCI_GETIDLESTYLING = ... # type: int + SCI_SETMARGINBACKN = ... # type: int + SCI_GETMARGINBACKN = ... # type: int + SCI_SETMARGINS = ... # type: int + SCI_GETMARGINS = ... # type: int + SCI_SETMOUSEWHEELCAPTURES = ... # type: int + SCI_GETMOUSEWHEELCAPTURES = ... # type: int + SCI_GETTABDRAWMODE = ... # type: int + SCI_SETTABDRAWMODE = ... # type: int + SCI_ISRANGEWORD = ... # type: int + SCI_TARGETWHOLEDOCUMENT = ... # type: int + SCI_FOLDDISPLAYTEXTSETSTYLE = ... # type: int + SCI_TOGGLEFOLDSHOWTEXT = ... # type: int + SCI_MULTIEDGEADDLINE = ... # type: int + SCI_MULTIEDGECLEARALL = ... # type: int + SCI_MULTIPLESELECTADDNEXT = ... # type: int + SCI_MULTIPLESELECTADDEACH = ... # type: int + + def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ... + + def scrollContentsBy(self, dx: int, dy: int) -> None: ... + def resizeEvent(self, e: QtGui.QResizeEvent) -> None: ... + def paintEvent(self, e: QtGui.QPaintEvent) -> None: ... + def mouseReleaseEvent(self, e: QtGui.QMouseEvent) -> None: ... + def mousePressEvent(self, e: QtGui.QMouseEvent) -> None: ... + def mouseMoveEvent(self, e: QtGui.QMouseEvent) -> None: ... + def mouseDoubleClickEvent(self, e: QtGui.QMouseEvent) -> None: ... + def inputMethodQuery(self, query: QtCore.Qt.InputMethodQuery) -> typing.Any: ... + def inputMethodEvent(self, e: QtGui.QInputMethodEvent) -> None: ... + def keyPressEvent(self, e: QtGui.QKeyEvent) -> None: ... + def focusNextPrevChild(self, next: bool) -> bool: ... + def focusOutEvent(self, e: QtGui.QFocusEvent) -> None: ... + def focusInEvent(self, e: QtGui.QFocusEvent) -> None: ... + def dropEvent(self, e: QtGui.QDropEvent) -> None: ... + def dragMoveEvent(self, e: QtGui.QDragMoveEvent) -> None: ... + def dragLeaveEvent(self, e: QtGui.QDragLeaveEvent) -> None: ... + def dragEnterEvent(self, e: QtGui.QDragEnterEvent) -> None: ... + def contextMenuEvent(self, e: QtGui.QContextMenuEvent) -> None: ... + def toMimeData(self, text: typing.Union[QtCore.QByteArray, bytes, bytearray], rectangular: bool) -> QtCore.QMimeData: ... + def fromMimeData(self, source: QtCore.QMimeData) -> typing.Tuple[QtCore.QByteArray, bool]: ... + def canInsertFromMimeData(self, source: QtCore.QMimeData) -> bool: ... + def SCN_ZOOM(self) -> None: ... + @typing.overload + def SCN_USERLISTSELECTION(self, a0: str, a1: int, a2: int, a3: int) -> None: ... + @typing.overload + def SCN_USERLISTSELECTION(self, a0: str, a1: int) -> None: ... + def SCN_UPDATEUI(self, updated: int) -> None: ... + def SCN_STYLENEEDED(self, position: int) -> None: ... + def SCN_SAVEPOINTREACHED(self) -> None: ... + def SCN_SAVEPOINTLEFT(self) -> None: ... + def SCN_PAINTED(self) -> None: ... + def SCN_NEEDSHOWN(self, a0: int, a1: int) -> None: ... + def SCN_MODIFYATTEMPTRO(self) -> None: ... + def SCN_MODIFIED(self, a0: int, a1: int, a2: str, a3: int, a4: int, a5: int, a6: int, a7: int, a8: int, a9: int) -> None: ... + def SCN_MARGINRIGHTCLICK(self, position: int, modifiers: int, margin: int) -> None: ... + def SCN_MARGINCLICK(self, position: int, modifiers: int, margin: int) -> None: ... + def SCN_MACRORECORD(self, a0: int, a1: int, a2: sip.voidptr) -> None: ... + def SCN_INDICATORRELEASE(self, position: int, modifiers: int) -> None: ... + def SCN_INDICATORCLICK(self, position: int, modifiers: int) -> None: ... + def SCN_HOTSPOTRELEASECLICK(self, position: int, modifiers: int) -> None: ... + def SCN_HOTSPOTDOUBLECLICK(self, position: int, modifiers: int) -> None: ... + def SCN_HOTSPOTCLICK(self, position: int, modifiers: int) -> None: ... + def SCN_FOCUSOUT(self) -> None: ... + def SCN_FOCUSIN(self) -> None: ... + def SCN_DWELLSTART(self, a0: int, a1: int, a2: int) -> None: ... + def SCN_DWELLEND(self, a0: int, a1: int, a2: int) -> None: ... + def SCN_DOUBLECLICK(self, position: int, line: int, modifiers: int) -> None: ... + def SCN_CHARADDED(self, charadded: int) -> None: ... + def SCN_CALLTIPCLICK(self, direction: int) -> None: ... + @typing.overload + def SCN_AUTOCSELECTION(self, selection: str, position: int, ch: int, method: int) -> None: ... + @typing.overload + def SCN_AUTOCSELECTION(self, selection: str, position: int) -> None: ... + def SCN_AUTOCCOMPLETED(self, selection: str, position: int, ch: int, method: int) -> None: ... + def SCN_AUTOCCHARDELETED(self) -> None: ... + def SCN_AUTOCCANCELLED(self) -> None: ... + def SCEN_CHANGE(self) -> None: ... + def QSCN_SELCHANGED(self, yes: bool) -> None: ... + def SendScintillaPtrResult(self, msg: int) -> sip.voidptr: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int = ..., lParam: int = ...) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, lParam: sip.voidptr) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, lParam: str) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, lParam: str) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: str, lParam: str) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, cpMin: int, cpMax: int, lpstrText: str) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, hdc: QtGui.QPainter, rc: QtCore.QRect, cpMin: int, cpMax: int) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, lParam: QtGui.QPixmap) -> int: ... + @typing.overload + def SendScintilla(self, msg: int, wParam: int, lParam: QtGui.QImage) -> int: ... + def replaceVerticalScrollBar(self, scrollBar: QtWidgets.QScrollBar) -> None: ... + def replaceHorizontalScrollBar(self, scrollBar: QtWidgets.QScrollBar) -> None: ... + @staticmethod + def pool() -> 'QsciScintillaBase': ... + + +class QsciScintilla(QsciScintillaBase): + + class WrapIndentMode(int): ... + WrapIndentFixed = ... # type: 'QsciScintilla.WrapIndentMode' + WrapIndentSame = ... # type: 'QsciScintilla.WrapIndentMode' + WrapIndentIndented = ... # type: 'QsciScintilla.WrapIndentMode' + + class WrapVisualFlag(int): ... + WrapFlagNone = ... # type: 'QsciScintilla.WrapVisualFlag' + WrapFlagByText = ... # type: 'QsciScintilla.WrapVisualFlag' + WrapFlagByBorder = ... # type: 'QsciScintilla.WrapVisualFlag' + WrapFlagInMargin = ... # type: 'QsciScintilla.WrapVisualFlag' + + class WrapMode(int): ... + WrapNone = ... # type: 'QsciScintilla.WrapMode' + WrapWord = ... # type: 'QsciScintilla.WrapMode' + WrapCharacter = ... # type: 'QsciScintilla.WrapMode' + WrapWhitespace = ... # type: 'QsciScintilla.WrapMode' + + class WhitespaceVisibility(int): ... + WsInvisible = ... # type: 'QsciScintilla.WhitespaceVisibility' + WsVisible = ... # type: 'QsciScintilla.WhitespaceVisibility' + WsVisibleAfterIndent = ... # type: 'QsciScintilla.WhitespaceVisibility' + WsVisibleOnlyInIndent = ... # type: 'QsciScintilla.WhitespaceVisibility' + + class TabDrawMode(int): ... + TabLongArrow = ... # type: 'QsciScintilla.TabDrawMode' + TabStrikeOut = ... # type: 'QsciScintilla.TabDrawMode' + + class MarkerSymbol(int): ... + Circle = ... # type: 'QsciScintilla.MarkerSymbol' + Rectangle = ... # type: 'QsciScintilla.MarkerSymbol' + RightTriangle = ... # type: 'QsciScintilla.MarkerSymbol' + SmallRectangle = ... # type: 'QsciScintilla.MarkerSymbol' + RightArrow = ... # type: 'QsciScintilla.MarkerSymbol' + Invisible = ... # type: 'QsciScintilla.MarkerSymbol' + DownTriangle = ... # type: 'QsciScintilla.MarkerSymbol' + Minus = ... # type: 'QsciScintilla.MarkerSymbol' + Plus = ... # type: 'QsciScintilla.MarkerSymbol' + VerticalLine = ... # type: 'QsciScintilla.MarkerSymbol' + BottomLeftCorner = ... # type: 'QsciScintilla.MarkerSymbol' + LeftSideSplitter = ... # type: 'QsciScintilla.MarkerSymbol' + BoxedPlus = ... # type: 'QsciScintilla.MarkerSymbol' + BoxedPlusConnected = ... # type: 'QsciScintilla.MarkerSymbol' + BoxedMinus = ... # type: 'QsciScintilla.MarkerSymbol' + BoxedMinusConnected = ... # type: 'QsciScintilla.MarkerSymbol' + RoundedBottomLeftCorner = ... # type: 'QsciScintilla.MarkerSymbol' + LeftSideRoundedSplitter = ... # type: 'QsciScintilla.MarkerSymbol' + CircledPlus = ... # type: 'QsciScintilla.MarkerSymbol' + CircledPlusConnected = ... # type: 'QsciScintilla.MarkerSymbol' + CircledMinus = ... # type: 'QsciScintilla.MarkerSymbol' + CircledMinusConnected = ... # type: 'QsciScintilla.MarkerSymbol' + Background = ... # type: 'QsciScintilla.MarkerSymbol' + ThreeDots = ... # type: 'QsciScintilla.MarkerSymbol' + ThreeRightArrows = ... # type: 'QsciScintilla.MarkerSymbol' + FullRectangle = ... # type: 'QsciScintilla.MarkerSymbol' + LeftRectangle = ... # type: 'QsciScintilla.MarkerSymbol' + Underline = ... # type: 'QsciScintilla.MarkerSymbol' + Bookmark = ... # type: 'QsciScintilla.MarkerSymbol' + + class MarginType(int): ... + SymbolMargin = ... # type: 'QsciScintilla.MarginType' + SymbolMarginDefaultForegroundColor = ... # type: 'QsciScintilla.MarginType' + SymbolMarginDefaultBackgroundColor = ... # type: 'QsciScintilla.MarginType' + NumberMargin = ... # type: 'QsciScintilla.MarginType' + TextMargin = ... # type: 'QsciScintilla.MarginType' + TextMarginRightJustified = ... # type: 'QsciScintilla.MarginType' + SymbolMarginColor = ... # type: 'QsciScintilla.MarginType' + + MoNone = ... # type: int + MoSublineSelect = ... # type: int + + class IndicatorStyle(int): ... + PlainIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + SquiggleIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + TTIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + DiagonalIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + StrikeIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + HiddenIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + BoxIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + RoundBoxIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + StraightBoxIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + FullBoxIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + DashesIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + DotsIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + SquiggleLowIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + DotBoxIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + SquigglePixmapIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + ThickCompositionIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + ThinCompositionIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + TextColorIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + TriangleIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + TriangleCharacterIndicator = ... # type: 'QsciScintilla.IndicatorStyle' + + class FoldStyle(int): ... + NoFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + PlainFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + CircledFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + BoxedFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + CircledTreeFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + BoxedTreeFoldStyle = ... # type: 'QsciScintilla.FoldStyle' + + class EolMode(int): ... + EolWindows = ... # type: 'QsciScintilla.EolMode' + EolUnix = ... # type: 'QsciScintilla.EolMode' + EolMac = ... # type: 'QsciScintilla.EolMode' + + class EdgeMode(int): ... + EdgeNone = ... # type: 'QsciScintilla.EdgeMode' + EdgeLine = ... # type: 'QsciScintilla.EdgeMode' + EdgeBackground = ... # type: 'QsciScintilla.EdgeMode' + EdgeMultipleLines = ... # type: 'QsciScintilla.EdgeMode' + + class CallTipsStyle(int): ... + CallTipsNone = ... # type: 'QsciScintilla.CallTipsStyle' + CallTipsNoContext = ... # type: 'QsciScintilla.CallTipsStyle' + CallTipsNoAutoCompletionContext = ... # type: 'QsciScintilla.CallTipsStyle' + CallTipsContext = ... # type: 'QsciScintilla.CallTipsStyle' + + class CallTipsPosition(int): ... + CallTipsBelowText = ... # type: 'QsciScintilla.CallTipsPosition' + CallTipsAboveText = ... # type: 'QsciScintilla.CallTipsPosition' + + class BraceMatch(int): ... + NoBraceMatch = ... # type: 'QsciScintilla.BraceMatch' + StrictBraceMatch = ... # type: 'QsciScintilla.BraceMatch' + SloppyBraceMatch = ... # type: 'QsciScintilla.BraceMatch' + + class AutoCompletionUseSingle(int): ... + AcusNever = ... # type: 'QsciScintilla.AutoCompletionUseSingle' + AcusExplicit = ... # type: 'QsciScintilla.AutoCompletionUseSingle' + AcusAlways = ... # type: 'QsciScintilla.AutoCompletionUseSingle' + + class AutoCompletionSource(int): ... + AcsNone = ... # type: 'QsciScintilla.AutoCompletionSource' + AcsAll = ... # type: 'QsciScintilla.AutoCompletionSource' + AcsDocument = ... # type: 'QsciScintilla.AutoCompletionSource' + AcsAPIs = ... # type: 'QsciScintilla.AutoCompletionSource' + + class AnnotationDisplay(int): ... + AnnotationHidden = ... # type: 'QsciScintilla.AnnotationDisplay' + AnnotationStandard = ... # type: 'QsciScintilla.AnnotationDisplay' + AnnotationBoxed = ... # type: 'QsciScintilla.AnnotationDisplay' + AnnotationIndented = ... # type: 'QsciScintilla.AnnotationDisplay' + + AiMaintain = ... # type: int + AiOpening = ... # type: int + AiClosing = ... # type: int + + def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ...) -> None: ... + + def contextMenuEvent(self, event: QtGui.QContextMenuEvent) -> None: ... + def changeEvent(self, event: QtCore.QEvent) -> None: ... + def event(self, event: QtCore.QEvent) -> bool: ... + def userListActivated(self, id: int, string: str) -> None: ... + def textChanged(self) -> None: ... + def selectionChanged(self) -> None: ... + def modificationChanged(self, m: bool) -> None: ... + def modificationAttempted(self) -> None: ... + def marginRightClicked(self, margin: int, line: int, state: typing.Union[QtCore.Qt.KeyboardModifiers, QtCore.Qt.KeyboardModifier]) -> None: ... + def marginClicked(self, margin: int, line: int, state: typing.Union[QtCore.Qt.KeyboardModifiers, QtCore.Qt.KeyboardModifier]) -> None: ... + def linesChanged(self) -> None: ... + def indicatorReleased(self, line: int, index: int, state: typing.Union[QtCore.Qt.KeyboardModifiers, QtCore.Qt.KeyboardModifier]) -> None: ... + def indicatorClicked(self, line: int, index: int, state: typing.Union[QtCore.Qt.KeyboardModifiers, QtCore.Qt.KeyboardModifier]) -> None: ... + def copyAvailable(self, yes: bool) -> None: ... + def cursorPositionChanged(self, line: int, index: int) -> None: ... + def zoomTo(self, size: int) -> None: ... + @typing.overload + def zoomOut(self, range: int) -> None: ... + @typing.overload + def zoomOut(self) -> None: ... + @typing.overload + def zoomIn(self, range: int) -> None: ... + @typing.overload + def zoomIn(self) -> None: ... + def unindent(self, line: int) -> None: ... + def undo(self) -> None: ... + def setWrapMode(self, mode: 'QsciScintilla.WrapMode') -> None: ... + def setWhitespaceVisibility(self, mode: 'QsciScintilla.WhitespaceVisibility') -> None: ... + def setUtf8(self, cp: bool) -> None: ... + def setText(self, text: str) -> None: ... + def setTabWidth(self, width: int) -> None: ... + def setTabIndents(self, indent: bool) -> None: ... + def setSelectionForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setSelectionBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setSelection(self, lineFrom: int, indexFrom: int, lineTo: int, indexTo: int) -> None: ... + def setReadOnly(self, ro: bool) -> None: ... + def setPaper(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setModified(self, m: bool) -> None: ... + @typing.overload + def setMarginWidth(self, margin: int, width: int) -> None: ... + @typing.overload + def setMarginWidth(self, margin: int, s: str) -> None: ... + def setMarginSensitivity(self, margin: int, sens: bool) -> None: ... + def setMarginMarkerMask(self, margin: int, mask: int) -> None: ... + def setMarginLineNumbers(self, margin: int, lnrs: bool) -> None: ... + def setMarginsForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setMarginsFont(self, f: QtGui.QFont) -> None: ... + def setMarginsBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setLexer(self, lexer: typing.Optional['QsciLexer'] = ...) -> None: ... + def setIndentationWidth(self, width: int) -> None: ... + def setIndentationsUseTabs(self, tabs: bool) -> None: ... + def setIndentationGuidesForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setIndentationGuidesBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setIndentationGuides(self, enable: bool) -> None: ... + def setIndentation(self, line: int, indentation: int) -> None: ... + def clearFolds(self) -> None: ... + def setFolding(self, fold: 'QsciScintilla.FoldStyle', margin: int = ...) -> None: ... + def setEolVisibility(self, visible: bool) -> None: ... + def setEolMode(self, mode: 'QsciScintilla.EolMode') -> None: ... + def setCursorPosition(self, line: int, index: int) -> None: ... + def setColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setCaretWidth(self, width: int) -> None: ... + def setCaretLineVisible(self, enable: bool) -> None: ... + def setCaretLineBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setCaretForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setBackspaceUnindents(self, unindent: bool) -> None: ... + def setBraceMatching(self, bm: 'QsciScintilla.BraceMatch') -> None: ... + def setAutoIndent(self, autoindent: bool) -> None: ... + def setAutoCompletionUseSingle(self, single: 'QsciScintilla.AutoCompletionUseSingle') -> None: ... + def setAutoCompletionThreshold(self, thresh: int) -> None: ... + def setAutoCompletionSource(self, source: 'QsciScintilla.AutoCompletionSource') -> None: ... + def setAutoCompletionShowSingle(self, single: bool) -> None: ... + def setAutoCompletionReplaceWord(self, replace: bool) -> None: ... + def setAutoCompletionCaseSensitivity(self, cs: bool) -> None: ... + def selectToMatchingBrace(self) -> None: ... + def selectAll(self, select: bool = ...) -> None: ... + def resetSelectionForegroundColor(self) -> None: ... + def resetSelectionBackgroundColor(self) -> None: ... + def replaceSelectedText(self, text: str) -> None: ... + def removeSelectedText(self) -> None: ... + def redo(self) -> None: ... + def paste(self) -> None: ... + def moveToMatchingBrace(self) -> None: ... + def insertAt(self, text: str, line: int, index: int) -> None: ... + def insert(self, text: str) -> None: ... + def indent(self, line: int) -> None: ... + def foldLine(self, line: int) -> None: ... + def foldAll(self, children: bool = ...) -> None: ... + def ensureLineVisible(self, line: int) -> None: ... + def ensureCursorVisible(self) -> None: ... + def cut(self) -> None: ... + def copy(self) -> None: ... + def clear(self) -> None: ... + def callTip(self) -> None: ... + def autoCompleteFromDocument(self) -> None: ... + def autoCompleteFromAPIs(self) -> None: ... + def autoCompleteFromAll(self) -> None: ... + def append(self, text: str) -> None: ... + def write(self, io: QtCore.QIODevice) -> bool: ... + def wrapIndentMode(self) -> 'QsciScintilla.WrapIndentMode': ... + def wrapMode(self) -> 'QsciScintilla.WrapMode': ... + def wordCharacters(self) -> str: ... + def wordAtPoint(self, point: QtCore.QPoint) -> str: ... + def wordAtLineIndex(self, line: int, index: int) -> str: ... + def whitespaceVisibility(self) -> 'QsciScintilla.WhitespaceVisibility': ... + def whitespaceSize(self) -> int: ... + def textHeight(self, linenr: int) -> int: ... + @typing.overload + def text(self) -> str: ... + @typing.overload + def text(self, line: int) -> str: ... + @typing.overload + def text(self, start: int, end: int) -> str: ... + def tabWidth(self) -> int: ... + def tabIndents(self) -> bool: ... + def tabDrawMode(self) -> 'QsciScintilla.TabDrawMode': ... + def setTabDrawMode(self, mode: 'QsciScintilla.TabDrawMode') -> None: ... + def standardCommands(self) -> 'QsciCommandSet': ... + def showUserList(self, id: int, list: typing.Iterable[str]) -> None: ... + def setWrapIndentMode(self, mode: 'QsciScintilla.WrapIndentMode') -> None: ... + def setWhitespaceSize(self, size: int) -> None: ... + def setWhitespaceForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setWhitespaceBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setOverwriteMode(self, overwrite: bool) -> None: ... + def setExtraDescent(self, extra: int) -> None: ... + def setExtraAscent(self, extra: int) -> None: ... + def setSelectionToEol(self, filled: bool) -> None: ... + def selectionToEol(self) -> bool: ... + def selectedText(self) -> str: ... + def setWrapVisualFlags(self, endFlag: 'QsciScintilla.WrapVisualFlag', startFlag: 'QsciScintilla.WrapVisualFlag' = ..., indent: int = ...) -> None: ... + def resetUnmatchedBraceIndicator(self) -> None: ... + def setUnmatchedBraceIndicator(self, indicatorNumber: int) -> None: ... + def setUnmatchedBraceForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setUnmatchedBraceBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def resetMatchedBraceIndicator(self) -> None: ... + def setMatchedBraceIndicator(self, indicatorNumber: int) -> None: ... + def setMatchedBraceForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setMatchedBraceBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setMarkerForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], markerNumber: int = ...) -> None: ... + def setMarkerBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], markerNumber: int = ...) -> None: ... + def setMargins(self, margins: int) -> None: ... + def clearMarginText(self, line: int = ...) -> None: ... + def setMarginType(self, margin: int, type: 'QsciScintilla.MarginType') -> None: ... + @typing.overload + def setMarginText(self, line: int, text: str, style: int) -> None: ... + @typing.overload + def setMarginText(self, line: int, text: str, style: 'QsciStyle') -> None: ... + @typing.overload + def setMarginText(self, line: int, text: 'QsciStyledText') -> None: ... + @typing.overload + def setMarginText(self, line: int, text: typing.Iterable['QsciStyledText']) -> None: ... + def setMarginOptions(self, options: int) -> None: ... + def setMarginBackgroundColor(self, margin: int, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setIndicatorOutlineColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], indicatorNumber: int = ...) -> None: ... + def setIndicatorHoverStyle(self, style: 'QsciScintilla.IndicatorStyle', indicatorNumber: int = ...) -> None: ... + def setIndicatorHoverForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], indicatorNumber: int = ...) -> None: ... + def setIndicatorForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], indicatorNumber: int = ...) -> None: ... + def setIndicatorDrawUnder(self, under: bool, indicatorNumber: int = ...) -> None: ... + def setHotspotWrap(self, enable: bool) -> None: ... + def setHotspotUnderline(self, enable: bool) -> None: ... + def setHotspotForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setHotspotBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setFont(self, f: QtGui.QFont) -> None: ... + def setFirstVisibleLine(self, linenr: int) -> None: ... + def setEdgeMode(self, mode: 'QsciScintilla.EdgeMode') -> None: ... + def setEdgeColumn(self, colnr: int) -> None: ... + def setEdgeColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def clearEdgeColumns(self) -> None: ... + def addEdgeColumn(self, colnr: int, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setDocument(self, document: 'QsciDocument') -> None: ... + def setContractedFolds(self, folds: typing.Iterable[int]) -> None: ... + def setCallTipsVisible(self, nr: int) -> None: ... + def setCallTipsStyle(self, style: 'QsciScintilla.CallTipsStyle') -> None: ... + def setCallTipsPosition(self, position: 'QsciScintilla.CallTipsPosition') -> None: ... + def setCallTipsHighlightColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setCallTipsForegroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setCallTipsBackgroundColor(self, col: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setAutoCompletionWordSeparators(self, separators: typing.Iterable[str]) -> None: ... + def setAutoCompletionFillups(self, fillups: str) -> None: ... + def setAutoCompletionFillupsEnabled(self, enabled: bool) -> None: ... + def setAnnotationDisplay(self, display: 'QsciScintilla.AnnotationDisplay') -> None: ... + def setFoldMarginColors(self, fore: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], back: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setScrollWidthTracking(self, enabled: bool) -> None: ... + def scrollWidthTracking(self) -> bool: ... + def setScrollWidth(self, pixelWidth: int) -> None: ... + def scrollWidth(self) -> int: ... + def resetHotspotForegroundColor(self) -> None: ... + def resetHotspotBackgroundColor(self) -> None: ... + def resetFoldMarginColors(self) -> None: ... + def replace(self, replaceStr: str) -> None: ... + @typing.overload + def registerImage(self, id: int, pm: QtGui.QPixmap) -> None: ... + @typing.overload + def registerImage(self, id: int, im: QtGui.QImage) -> None: ... + def recolor(self, start: int = ..., end: int = ...) -> None: ... + def read(self, io: QtCore.QIODevice) -> bool: ... + def positionFromLineIndex(self, line: int, index: int) -> int: ... + def paper(self) -> QtGui.QColor: ... + def overwriteMode(self) -> bool: ... + def markerFindPrevious(self, linenr: int, mask: int) -> int: ... + def markerFindNext(self, linenr: int, mask: int) -> int: ... + def markerLine(self, mhandle: int) -> int: ... + def markerDeleteHandle(self, mhandle: int) -> None: ... + def markerDeleteAll(self, markerNumber: int = ...) -> None: ... + def markerDelete(self, linenr: int, markerNumber: int = ...) -> None: ... + def markersAtLine(self, linenr: int) -> int: ... + def markerAdd(self, linenr: int, markerNumber: int) -> int: ... + @typing.overload + def markerDefine(self, sym: 'QsciScintilla.MarkerSymbol', markerNumber: int = ...) -> int: ... + @typing.overload + def markerDefine(self, ch: str, markerNumber: int = ...) -> int: ... + @typing.overload + def markerDefine(self, pm: QtGui.QPixmap, markerNumber: int = ...) -> int: ... + @typing.overload + def markerDefine(self, im: QtGui.QImage, markerNumber: int = ...) -> int: ... + def margins(self) -> int: ... + def marginWidth(self, margin: int) -> int: ... + def marginType(self, margin: int) -> 'QsciScintilla.MarginType': ... + def marginSensitivity(self, margin: int) -> bool: ... + def marginOptions(self) -> int: ... + def marginMarkerMask(self, margin: int) -> int: ... + def marginLineNumbers(self, margin: int) -> bool: ... + def marginBackgroundColor(self, margin: int) -> QtGui.QColor: ... + def lexer(self) -> 'QsciLexer': ... + def length(self) -> int: ... + def lines(self) -> int: ... + def lineLength(self, line: int) -> int: ... + def lineIndexFromPosition(self, position: int) -> typing.Tuple[int, int]: ... + def lineAt(self, pos: QtCore.QPoint) -> int: ... + def isWordCharacter(self, ch: str) -> bool: ... + def isUtf8(self) -> bool: ... + def isUndoAvailable(self) -> bool: ... + def isRedoAvailable(self) -> bool: ... + def isReadOnly(self) -> bool: ... + def isModified(self) -> bool: ... + def isListActive(self) -> bool: ... + def isCallTipActive(self) -> bool: ... + def indicatorDrawUnder(self, indicatorNumber: int) -> bool: ... + def indicatorDefine(self, style: 'QsciScintilla.IndicatorStyle', indicatorNumber: int = ...) -> int: ... + def fillIndicatorRange(self, lineFrom: int, indexFrom: int, lineTo: int, indexTo: int, indicatorNumber: int) -> None: ... + def clearIndicatorRange(self, lineFrom: int, indexFrom: int, lineTo: int, indexTo: int, indicatorNumber: int) -> None: ... + def indentationWidth(self) -> int: ... + def indentationsUseTabs(self) -> bool: ... + def indentationGuides(self) -> bool: ... + def indentation(self, line: int) -> int: ... + def hasSelectedText(self) -> bool: ... + def getSelection(self) -> typing.Tuple[int, int, int, int]: ... + def getCursorPosition(self) -> typing.Tuple[int, int]: ... + def folding(self) -> 'QsciScintilla.FoldStyle': ... + def firstVisibleLine(self) -> int: ... + def findNext(self) -> bool: ... + def findFirstInSelection(self, expr: str, re: bool, cs: bool, wo: bool, forward: bool = ..., show: bool = ..., posix: bool = ...) -> bool: ... + def findFirst(self, expr: str, re: bool, cs: bool, wo: bool, wrap: bool, forward: bool = ..., line: int = ..., index: int = ..., show: bool = ..., posix: bool = ...) -> bool: ... + def extraDescent(self) -> int: ... + def extraAscent(self) -> int: ... + def eolVisibility(self) -> bool: ... + def eolMode(self) -> 'QsciScintilla.EolMode': ... + def edgeMode(self) -> 'QsciScintilla.EdgeMode': ... + def edgeColumn(self) -> int: ... + def edgeColor(self) -> QtGui.QColor: ... + def endUndoAction(self) -> None: ... + def document(self) -> 'QsciDocument': ... + def createStandardContextMenu(self) -> QtWidgets.QMenu: ... + def convertEols(self, mode: 'QsciScintilla.EolMode') -> None: ... + def contractedFolds(self) -> typing.List[int]: ... + def color(self) -> QtGui.QColor: ... + def clearRegisteredImages(self) -> None: ... + def caseSensitive(self) -> bool: ... + def cancelList(self) -> None: ... + def callTipsVisible(self) -> int: ... + def callTipsStyle(self) -> 'QsciScintilla.CallTipsStyle': ... + def callTipsPosition(self) -> 'QsciScintilla.CallTipsPosition': ... + def bytes(self, start: int, end: int) -> QtCore.QByteArray: ... + def braceMatching(self) -> 'QsciScintilla.BraceMatch': ... + def beginUndoAction(self) -> None: ... + def backspaceUnindents(self) -> bool: ... + def autoIndent(self) -> bool: ... + def autoCompletionUseSingle(self) -> 'QsciScintilla.AutoCompletionUseSingle': ... + def autoCompletionThreshold(self) -> int: ... + def autoCompletionSource(self) -> 'QsciScintilla.AutoCompletionSource': ... + def autoCompletionShowSingle(self) -> bool: ... + def autoCompletionReplaceWord(self) -> bool: ... + def autoCompletionFillupsEnabled(self) -> bool: ... + def autoCompletionCaseSensitivity(self) -> bool: ... + def clearAnnotations(self, line: int = ...) -> None: ... + def annotationDisplay(self) -> 'QsciScintilla.AnnotationDisplay': ... + def annotation(self, line: int) -> str: ... + @typing.overload + def annotate(self, line: int, text: str, style: int) -> None: ... + @typing.overload + def annotate(self, line: int, text: str, style: 'QsciStyle') -> None: ... + @typing.overload + def annotate(self, line: int, text: 'QsciStyledText') -> None: ... + @typing.overload + def annotate(self, line: int, text: typing.Any) -> None: ... + def apiContext(self, pos: int) -> typing.Tuple[typing.List[str], int, int]: ... + + +class QsciAbstractAPIs(QtCore.QObject): + + def __init__(self, lexer: typing.Optional['QsciLexer'] = ...) -> None: ... + + def callTips(self, context: typing.Iterable[str], commas: int, style: QsciScintilla.CallTipsStyle, shifts: typing.Iterable[int]) -> typing.List[str]: ... + def autoCompletionSelected(self, selection: str) -> None: ... + def updateAutoCompletionList(self, context: typing.Iterable[str], list: typing.Iterable[str]) -> typing.List[str]: ... + def lexer(self) -> 'QsciLexer': ... + + +class QsciAPIs(QsciAbstractAPIs): + + def __init__(self, lexer: typing.Optional['QsciLexer'] = ...) -> None: ... + + def apiPreparationFinished(self) -> None: ... + def apiPreparationStarted(self) -> None: ... + def apiPreparationCancelled(self) -> None: ... + def callTips(self, context: typing.Iterable[str], commas: int, style: QsciScintilla.CallTipsStyle, shifts: typing.Iterable[int]) -> typing.List[str]: ... + def autoCompletionSelected(self, selection: str) -> None: ... + def updateAutoCompletionList(self, context: typing.Iterable[str], list: typing.Iterable[str]) -> typing.List[str]: ... + def installedAPIFiles(self) -> typing.List[str]: ... + def event(self, e: QtCore.QEvent) -> bool: ... + def savePrepared(self, filename: str = ...) -> bool: ... + def loadPrepared(self, filename: str = ...) -> bool: ... + def isPrepared(self, filename: str = ...) -> bool: ... + def defaultPreparedName(self) -> str: ... + def cancelPreparation(self) -> None: ... + def prepare(self) -> None: ... + def remove(self, entry: str) -> None: ... + def load(self, fname: str) -> bool: ... + def clear(self) -> None: ... + def add(self, entry: str) -> None: ... + + +class QsciCommand(sip.wrapper): + + class Command(int): ... + LineDown = ... # type: 'QsciCommand.Command' + LineDownExtend = ... # type: 'QsciCommand.Command' + LineDownRectExtend = ... # type: 'QsciCommand.Command' + LineScrollDown = ... # type: 'QsciCommand.Command' + LineUp = ... # type: 'QsciCommand.Command' + LineUpExtend = ... # type: 'QsciCommand.Command' + LineUpRectExtend = ... # type: 'QsciCommand.Command' + LineScrollUp = ... # type: 'QsciCommand.Command' + ScrollToStart = ... # type: 'QsciCommand.Command' + ScrollToEnd = ... # type: 'QsciCommand.Command' + VerticalCentreCaret = ... # type: 'QsciCommand.Command' + ParaDown = ... # type: 'QsciCommand.Command' + ParaDownExtend = ... # type: 'QsciCommand.Command' + ParaUp = ... # type: 'QsciCommand.Command' + ParaUpExtend = ... # type: 'QsciCommand.Command' + CharLeft = ... # type: 'QsciCommand.Command' + CharLeftExtend = ... # type: 'QsciCommand.Command' + CharLeftRectExtend = ... # type: 'QsciCommand.Command' + CharRight = ... # type: 'QsciCommand.Command' + CharRightExtend = ... # type: 'QsciCommand.Command' + CharRightRectExtend = ... # type: 'QsciCommand.Command' + WordLeft = ... # type: 'QsciCommand.Command' + WordLeftExtend = ... # type: 'QsciCommand.Command' + WordRight = ... # type: 'QsciCommand.Command' + WordRightExtend = ... # type: 'QsciCommand.Command' + WordLeftEnd = ... # type: 'QsciCommand.Command' + WordLeftEndExtend = ... # type: 'QsciCommand.Command' + WordRightEnd = ... # type: 'QsciCommand.Command' + WordRightEndExtend = ... # type: 'QsciCommand.Command' + WordPartLeft = ... # type: 'QsciCommand.Command' + WordPartLeftExtend = ... # type: 'QsciCommand.Command' + WordPartRight = ... # type: 'QsciCommand.Command' + WordPartRightExtend = ... # type: 'QsciCommand.Command' + Home = ... # type: 'QsciCommand.Command' + HomeExtend = ... # type: 'QsciCommand.Command' + HomeRectExtend = ... # type: 'QsciCommand.Command' + HomeDisplay = ... # type: 'QsciCommand.Command' + HomeDisplayExtend = ... # type: 'QsciCommand.Command' + HomeWrap = ... # type: 'QsciCommand.Command' + HomeWrapExtend = ... # type: 'QsciCommand.Command' + VCHome = ... # type: 'QsciCommand.Command' + VCHomeExtend = ... # type: 'QsciCommand.Command' + VCHomeRectExtend = ... # type: 'QsciCommand.Command' + VCHomeWrap = ... # type: 'QsciCommand.Command' + VCHomeWrapExtend = ... # type: 'QsciCommand.Command' + LineEnd = ... # type: 'QsciCommand.Command' + LineEndExtend = ... # type: 'QsciCommand.Command' + LineEndRectExtend = ... # type: 'QsciCommand.Command' + LineEndDisplay = ... # type: 'QsciCommand.Command' + LineEndDisplayExtend = ... # type: 'QsciCommand.Command' + LineEndWrap = ... # type: 'QsciCommand.Command' + LineEndWrapExtend = ... # type: 'QsciCommand.Command' + DocumentStart = ... # type: 'QsciCommand.Command' + DocumentStartExtend = ... # type: 'QsciCommand.Command' + DocumentEnd = ... # type: 'QsciCommand.Command' + DocumentEndExtend = ... # type: 'QsciCommand.Command' + PageUp = ... # type: 'QsciCommand.Command' + PageUpExtend = ... # type: 'QsciCommand.Command' + PageUpRectExtend = ... # type: 'QsciCommand.Command' + PageDown = ... # type: 'QsciCommand.Command' + PageDownExtend = ... # type: 'QsciCommand.Command' + PageDownRectExtend = ... # type: 'QsciCommand.Command' + StutteredPageUp = ... # type: 'QsciCommand.Command' + StutteredPageUpExtend = ... # type: 'QsciCommand.Command' + StutteredPageDown = ... # type: 'QsciCommand.Command' + StutteredPageDownExtend = ... # type: 'QsciCommand.Command' + Delete = ... # type: 'QsciCommand.Command' + DeleteBack = ... # type: 'QsciCommand.Command' + DeleteBackNotLine = ... # type: 'QsciCommand.Command' + DeleteWordLeft = ... # type: 'QsciCommand.Command' + DeleteWordRight = ... # type: 'QsciCommand.Command' + DeleteWordRightEnd = ... # type: 'QsciCommand.Command' + DeleteLineLeft = ... # type: 'QsciCommand.Command' + DeleteLineRight = ... # type: 'QsciCommand.Command' + LineDelete = ... # type: 'QsciCommand.Command' + LineCut = ... # type: 'QsciCommand.Command' + LineCopy = ... # type: 'QsciCommand.Command' + LineTranspose = ... # type: 'QsciCommand.Command' + LineDuplicate = ... # type: 'QsciCommand.Command' + SelectAll = ... # type: 'QsciCommand.Command' + MoveSelectedLinesUp = ... # type: 'QsciCommand.Command' + MoveSelectedLinesDown = ... # type: 'QsciCommand.Command' + SelectionDuplicate = ... # type: 'QsciCommand.Command' + SelectionLowerCase = ... # type: 'QsciCommand.Command' + SelectionUpperCase = ... # type: 'QsciCommand.Command' + SelectionCut = ... # type: 'QsciCommand.Command' + SelectionCopy = ... # type: 'QsciCommand.Command' + Paste = ... # type: 'QsciCommand.Command' + EditToggleOvertype = ... # type: 'QsciCommand.Command' + Newline = ... # type: 'QsciCommand.Command' + Formfeed = ... # type: 'QsciCommand.Command' + Tab = ... # type: 'QsciCommand.Command' + Backtab = ... # type: 'QsciCommand.Command' + Cancel = ... # type: 'QsciCommand.Command' + Undo = ... # type: 'QsciCommand.Command' + Redo = ... # type: 'QsciCommand.Command' + ZoomIn = ... # type: 'QsciCommand.Command' + ZoomOut = ... # type: 'QsciCommand.Command' + + def description(self) -> str: ... + @staticmethod + def validKey(key: int) -> bool: ... + def alternateKey(self) -> int: ... + def key(self) -> int: ... + def setAlternateKey(self, altkey: int) -> None: ... + def setKey(self, key: int) -> None: ... + def execute(self) -> None: ... + def command(self) -> 'QsciCommand.Command': ... + + +class QsciCommandSet(sip.wrapper): + + def find(self, command: QsciCommand.Command) -> QsciCommand: ... + def boundTo(self, key: int) -> QsciCommand: ... + def clearAlternateKeys(self) -> None: ... + def clearKeys(self) -> None: ... + def commands(self) -> typing.Any: ... + def writeSettings(self, qs: QtCore.QSettings, prefix: typing.Optional[str] = ...) -> bool: ... + def readSettings(self, qs: QtCore.QSettings, prefix: typing.Optional[str] = ...) -> bool: ... + + +class QsciDocument(sip.wrapper): + + @typing.overload + def __init__(self) -> None: ... + @typing.overload + def __init__(self, a0: 'QsciDocument') -> None: ... + + +class QsciLexer(QtCore.QObject): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def propertyChanged(self, prop: str, val: str) -> None: ... + def paperChanged(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], style: int) -> None: ... + def fontChanged(self, f: QtGui.QFont, style: int) -> None: ... + def eolFillChanged(self, eolfilled: bool, style: int) -> None: ... + def colorChanged(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], style: int) -> None: ... + def setPaper(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], style: int = ...) -> None: ... + def setFont(self, f: QtGui.QFont, style: int = ...) -> None: ... + def setEolFill(self, eolfill: bool, style: int = ...) -> None: ... + def setColor(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], style: int = ...) -> None: ... + def setAutoIndentStyle(self, autoindentstyle: int) -> None: ... + def writeSettings(self, qs: QtCore.QSettings, prefix: typing.Optional[str] = ...) -> bool: ... + def readSettings(self, qs: QtCore.QSettings, prefix: typing.Optional[str] = ...) -> bool: ... + def wordCharacters(self) -> str: ... + def styleBitsNeeded(self) -> int: ... + def setDefaultPaper(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setDefaultFont(self, f: QtGui.QFont) -> None: ... + def setDefaultColor(self, c: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def setAPIs(self, apis: QsciAbstractAPIs) -> None: ... + def refreshProperties(self) -> None: ... + def editor(self) -> QsciScintilla: ... + def defaultStyle(self) -> int: ... + @typing.overload + def defaultPaper(self) -> QtGui.QColor: ... + @typing.overload + def defaultPaper(self, style: int) -> QtGui.QColor: ... + @typing.overload + def defaultFont(self) -> QtGui.QFont: ... + @typing.overload + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + @typing.overload + def defaultColor(self) -> QtGui.QColor: ... + @typing.overload + def defaultColor(self, style: int) -> QtGui.QColor: ... + def paper(self, style: int) -> QtGui.QColor: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def indentationGuideView(self) -> int: ... + def font(self, style: int) -> QtGui.QFont: ... + def eolFill(self, style: int) -> bool: ... + def color(self, style: int) -> QtGui.QColor: ... + def caseSensitive(self) -> bool: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockLookback(self) -> int: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoIndentStyle(self) -> int: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def autoCompletionFillups(self) -> str: ... + def apis(self) -> QsciAbstractAPIs: ... + def lexerId(self) -> int: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerAVS(QsciLexer): + + Default = ... # type: int + BlockComment = ... # type: int + NestedBlockComment = ... # type: int + LineComment = ... # type: int + Number = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + String = ... # type: int + TripleString = ... # type: int + Keyword = ... # type: int + Filter = ... # type: int + Plugin = ... # type: int + Function = ... # type: int + ClipProperty = ... # type: int + KeywordSet6 = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerBash(QsciLexer): + + Default = ... # type: int + Error = ... # type: int + Comment = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + Scalar = ... # type: int + ParameterExpansion = ... # type: int + Backticks = ... # type: int + HereDocumentDelimiter = ... # type: int + SingleQuotedHereDocument = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerBatch(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Keyword = ... # type: int + Label = ... # type: int + HideCommandChar = ... # type: int + ExternalCommand = ... # type: int + Variable = ... # type: int + Operator = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def caseSensitive(self) -> bool: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerCMake(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + String = ... # type: int + StringLeftQuote = ... # type: int + StringRightQuote = ... # type: int + Function = ... # type: int + Variable = ... # type: int + Label = ... # type: int + KeywordSet3 = ... # type: int + BlockWhile = ... # type: int + BlockForeach = ... # type: int + BlockIf = ... # type: int + BlockMacro = ... # type: int + StringVariable = ... # type: int + Number = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def foldAtElse(self) -> bool: ... + def refreshProperties(self) -> None: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerCoffeeScript(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + CommentDoc = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + UUID = ... # type: int + PreProcessor = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + UnclosedString = ... # type: int + VerbatimString = ... # type: int + Regex = ... # type: int + CommentLineDoc = ... # type: int + KeywordSet2 = ... # type: int + CommentDocKeyword = ... # type: int + CommentDocKeywordError = ... # type: int + GlobalClass = ... # type: int + CommentBlock = ... # type: int + BlockRegex = ... # type: int + BlockRegexComment = ... # type: int + InstanceProperty = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setStylePreprocessor(self, style: bool) -> None: ... + def stylePreprocessor(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def setDollarsAllowed(self, allowed: bool) -> None: ... + def dollarsAllowed(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerCPP(QsciLexer): + + Default = ... # type: int + InactiveDefault = ... # type: int + Comment = ... # type: int + InactiveComment = ... # type: int + CommentLine = ... # type: int + InactiveCommentLine = ... # type: int + CommentDoc = ... # type: int + InactiveCommentDoc = ... # type: int + Number = ... # type: int + InactiveNumber = ... # type: int + Keyword = ... # type: int + InactiveKeyword = ... # type: int + DoubleQuotedString = ... # type: int + InactiveDoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + InactiveSingleQuotedString = ... # type: int + UUID = ... # type: int + InactiveUUID = ... # type: int + PreProcessor = ... # type: int + InactivePreProcessor = ... # type: int + Operator = ... # type: int + InactiveOperator = ... # type: int + Identifier = ... # type: int + InactiveIdentifier = ... # type: int + UnclosedString = ... # type: int + InactiveUnclosedString = ... # type: int + VerbatimString = ... # type: int + InactiveVerbatimString = ... # type: int + Regex = ... # type: int + InactiveRegex = ... # type: int + CommentLineDoc = ... # type: int + InactiveCommentLineDoc = ... # type: int + KeywordSet2 = ... # type: int + InactiveKeywordSet2 = ... # type: int + CommentDocKeyword = ... # type: int + InactiveCommentDocKeyword = ... # type: int + CommentDocKeywordError = ... # type: int + InactiveCommentDocKeywordError = ... # type: int + GlobalClass = ... # type: int + InactiveGlobalClass = ... # type: int + RawString = ... # type: int + InactiveRawString = ... # type: int + TripleQuotedVerbatimString = ... # type: int + InactiveTripleQuotedVerbatimString = ... # type: int + HashQuotedString = ... # type: int + InactiveHashQuotedString = ... # type: int + PreProcessorComment = ... # type: int + InactivePreProcessorComment = ... # type: int + PreProcessorCommentLineDoc = ... # type: int + InactivePreProcessorCommentLineDoc = ... # type: int + UserLiteral = ... # type: int + InactiveUserLiteral = ... # type: int + TaskMarker = ... # type: int + InactiveTaskMarker = ... # type: int + EscapeSequence = ... # type: int + InactiveEscapeSequence = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ..., caseInsensitiveKeywords: bool = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setStylePreprocessor(self, style: bool) -> None: ... + def setFoldPreprocessor(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def verbatimStringEscapeSequencesAllowed(self) -> bool: ... + def setVerbatimStringEscapeSequencesAllowed(self, allowed: bool) -> None: ... + def highlightEscapeSequences(self) -> bool: ... + def setHighlightEscapeSequences(self, enabled: bool) -> None: ... + def highlightBackQuotedStrings(self) -> bool: ... + def setHighlightBackQuotedStrings(self, enabled: bool) -> None: ... + def highlightHashQuotedStrings(self) -> bool: ... + def setHighlightHashQuotedStrings(self, enable: bool) -> None: ... + def highlightTripleQuotedStrings(self) -> bool: ... + def setHighlightTripleQuotedStrings(self, enable: bool) -> None: ... + def dollarsAllowed(self) -> bool: ... + def setDollarsAllowed(self, allowed: bool) -> None: ... + def stylePreprocessor(self) -> bool: ... + def foldPreprocessor(self) -> bool: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def foldAtElse(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerCSharp(QsciLexerCPP): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def language(self) -> str: ... + + +class QsciLexerCSS(QsciLexer): + + Default = ... # type: int + Tag = ... # type: int + ClassSelector = ... # type: int + PseudoClass = ... # type: int + UnknownPseudoClass = ... # type: int + Operator = ... # type: int + CSS1Property = ... # type: int + UnknownProperty = ... # type: int + Value = ... # type: int + Comment = ... # type: int + IDSelector = ... # type: int + Important = ... # type: int + AtRule = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + CSS2Property = ... # type: int + Attribute = ... # type: int + CSS3Property = ... # type: int + PseudoElement = ... # type: int + ExtendedCSSProperty = ... # type: int + ExtendedPseudoClass = ... # type: int + ExtendedPseudoElement = ... # type: int + MediaRule = ... # type: int + Variable = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def SCSSLanguage(self) -> bool: ... + def setSCSSLanguage(self, enable: bool) -> None: ... + def LessLanguage(self) -> bool: ... + def setLessLanguage(self, enable: bool) -> None: ... + def HSSLanguage(self) -> bool: ... + def setHSSLanguage(self, enable: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerCustom(QsciLexer): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def styleText(self, start: int, end: int) -> None: ... + def startStyling(self, pos: int, styleBits: int = ...) -> None: ... + @typing.overload + def setStyling(self, length: int, style: int) -> None: ... + @typing.overload + def setStyling(self, length: int, style: 'QsciStyle') -> None: ... + def styleBitsNeeded(self) -> int: ... + def setEditor(self, editor: QsciScintilla) -> None: ... + + +class QsciLexerD(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + CommentDoc = ... # type: int + CommentNested = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + KeywordSecondary = ... # type: int + KeywordDoc = ... # type: int + Typedefs = ... # type: int + String = ... # type: int + UnclosedString = ... # type: int + Character = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + CommentLineDoc = ... # type: int + CommentDocKeyword = ... # type: int + CommentDocKeywordError = ... # type: int + BackquoteString = ... # type: int + RawString = ... # type: int + KeywordSet5 = ... # type: int + KeywordSet6 = ... # type: int + KeywordSet7 = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def foldAtElse(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerDiff(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Command = ... # type: int + Header = ... # type: int + Position = ... # type: int + LineRemoved = ... # type: int + LineAdded = ... # type: int + LineChanged = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerFortran77(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Number = ... # type: int + SingleQuotedString = ... # type: int + DoubleQuotedString = ... # type: int + UnclosedString = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + Keyword = ... # type: int + IntrinsicFunction = ... # type: int + ExtendedFunction = ... # type: int + PreProcessor = ... # type: int + DottedOperator = ... # type: int + Label = ... # type: int + Continuation = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerFortran(QsciLexerFortran77): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def keywords(self, set: int) -> str: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerHTML(QsciLexer): + + Default = ... # type: int + Tag = ... # type: int + UnknownTag = ... # type: int + Attribute = ... # type: int + UnknownAttribute = ... # type: int + HTMLNumber = ... # type: int + HTMLDoubleQuotedString = ... # type: int + HTMLSingleQuotedString = ... # type: int + OtherInTag = ... # type: int + HTMLComment = ... # type: int + Entity = ... # type: int + XMLTagEnd = ... # type: int + XMLStart = ... # type: int + XMLEnd = ... # type: int + Script = ... # type: int + ASPAtStart = ... # type: int + ASPStart = ... # type: int + CDATA = ... # type: int + PHPStart = ... # type: int + HTMLValue = ... # type: int + ASPXCComment = ... # type: int + SGMLDefault = ... # type: int + SGMLCommand = ... # type: int + SGMLParameter = ... # type: int + SGMLDoubleQuotedString = ... # type: int + SGMLSingleQuotedString = ... # type: int + SGMLError = ... # type: int + SGMLSpecial = ... # type: int + SGMLEntity = ... # type: int + SGMLComment = ... # type: int + SGMLParameterComment = ... # type: int + SGMLBlockDefault = ... # type: int + JavaScriptStart = ... # type: int + JavaScriptDefault = ... # type: int + JavaScriptComment = ... # type: int + JavaScriptCommentLine = ... # type: int + JavaScriptCommentDoc = ... # type: int + JavaScriptNumber = ... # type: int + JavaScriptWord = ... # type: int + JavaScriptKeyword = ... # type: int + JavaScriptDoubleQuotedString = ... # type: int + JavaScriptSingleQuotedString = ... # type: int + JavaScriptSymbol = ... # type: int + JavaScriptUnclosedString = ... # type: int + JavaScriptRegex = ... # type: int + ASPJavaScriptStart = ... # type: int + ASPJavaScriptDefault = ... # type: int + ASPJavaScriptComment = ... # type: int + ASPJavaScriptCommentLine = ... # type: int + ASPJavaScriptCommentDoc = ... # type: int + ASPJavaScriptNumber = ... # type: int + ASPJavaScriptWord = ... # type: int + ASPJavaScriptKeyword = ... # type: int + ASPJavaScriptDoubleQuotedString = ... # type: int + ASPJavaScriptSingleQuotedString = ... # type: int + ASPJavaScriptSymbol = ... # type: int + ASPJavaScriptUnclosedString = ... # type: int + ASPJavaScriptRegex = ... # type: int + VBScriptStart = ... # type: int + VBScriptDefault = ... # type: int + VBScriptComment = ... # type: int + VBScriptNumber = ... # type: int + VBScriptKeyword = ... # type: int + VBScriptString = ... # type: int + VBScriptIdentifier = ... # type: int + VBScriptUnclosedString = ... # type: int + ASPVBScriptStart = ... # type: int + ASPVBScriptDefault = ... # type: int + ASPVBScriptComment = ... # type: int + ASPVBScriptNumber = ... # type: int + ASPVBScriptKeyword = ... # type: int + ASPVBScriptString = ... # type: int + ASPVBScriptIdentifier = ... # type: int + ASPVBScriptUnclosedString = ... # type: int + PythonStart = ... # type: int + PythonDefault = ... # type: int + PythonComment = ... # type: int + PythonNumber = ... # type: int + PythonDoubleQuotedString = ... # type: int + PythonSingleQuotedString = ... # type: int + PythonKeyword = ... # type: int + PythonTripleSingleQuotedString = ... # type: int + PythonTripleDoubleQuotedString = ... # type: int + PythonClassName = ... # type: int + PythonFunctionMethodName = ... # type: int + PythonOperator = ... # type: int + PythonIdentifier = ... # type: int + ASPPythonStart = ... # type: int + ASPPythonDefault = ... # type: int + ASPPythonComment = ... # type: int + ASPPythonNumber = ... # type: int + ASPPythonDoubleQuotedString = ... # type: int + ASPPythonSingleQuotedString = ... # type: int + ASPPythonKeyword = ... # type: int + ASPPythonTripleSingleQuotedString = ... # type: int + ASPPythonTripleDoubleQuotedString = ... # type: int + ASPPythonClassName = ... # type: int + ASPPythonFunctionMethodName = ... # type: int + ASPPythonOperator = ... # type: int + ASPPythonIdentifier = ... # type: int + PHPDefault = ... # type: int + PHPDoubleQuotedString = ... # type: int + PHPSingleQuotedString = ... # type: int + PHPKeyword = ... # type: int + PHPNumber = ... # type: int + PHPVariable = ... # type: int + PHPComment = ... # type: int + PHPCommentLine = ... # type: int + PHPDoubleQuotedVariable = ... # type: int + PHPOperator = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setCaseSensitiveTags(self, sens: bool) -> None: ... + def setFoldPreprocessor(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def makoTemplates(self) -> bool: ... + def setMakoTemplates(self, enable: bool) -> None: ... + def foldScriptHeredocs(self) -> bool: ... + def setFoldScriptHeredocs(self, fold: bool) -> None: ... + def foldScriptComments(self) -> bool: ... + def setFoldScriptComments(self, fold: bool) -> None: ... + def foldPreprocessor(self) -> bool: ... + def foldCompact(self) -> bool: ... + def djangoTemplates(self) -> bool: ... + def setDjangoTemplates(self, enable: bool) -> None: ... + def caseSensitiveTags(self) -> bool: ... + def refreshProperties(self) -> None: ... + def caseSensitive(self) -> bool: ... + def autoCompletionFillups(self) -> str: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerIDL(QsciLexerCPP): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def language(self) -> str: ... + + +class QsciLexerJava(QsciLexerCPP): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def keywords(self, set: int) -> str: ... + def language(self) -> str: ... + + +class QsciLexerJavaScript(QsciLexerCPP): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def language(self) -> str: ... + + +class QsciLexerJSON(QsciLexer): + + Default = ... # type: int + Number = ... # type: int + String = ... # type: int + UnclosedString = ... # type: int + Property = ... # type: int + EscapeSequence = ... # type: int + CommentLine = ... # type: int + CommentBlock = ... # type: int + Operator = ... # type: int + IRI = ... # type: int + IRICompact = ... # type: int + Keyword = ... # type: int + KeywordLD = ... # type: int + Error = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def foldCompact(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def highlightEscapeSequences(self) -> bool: ... + def setHighlightEscapeSequences(self, highlight: bool) -> None: ... + def highlightComments(self) -> bool: ... + def setHighlightComments(self, highlight: bool) -> None: ... + def refreshProperties(self) -> None: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerLua(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + LineComment = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + String = ... # type: int + Character = ... # type: int + LiteralString = ... # type: int + Preprocessor = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + UnclosedString = ... # type: int + BasicFunctions = ... # type: int + StringTableMathsFunctions = ... # type: int + CoroutinesIOSystemFacilities = ... # type: int + KeywordSet5 = ... # type: int + KeywordSet6 = ... # type: int + KeywordSet7 = ... # type: int + KeywordSet8 = ... # type: int + Label = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerMakefile(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Preprocessor = ... # type: int + Variable = ... # type: int + Operator = ... # type: int + Target = ... # type: int + Error = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerMarkdown(QsciLexer): + + Default = ... # type: int + Special = ... # type: int + StrongEmphasisAsterisks = ... # type: int + StrongEmphasisUnderscores = ... # type: int + EmphasisAsterisks = ... # type: int + EmphasisUnderscores = ... # type: int + Header1 = ... # type: int + Header2 = ... # type: int + Header3 = ... # type: int + Header4 = ... # type: int + Header5 = ... # type: int + Header6 = ... # type: int + Prechar = ... # type: int + UnorderedListItem = ... # type: int + OrderedListItem = ... # type: int + BlockQuote = ... # type: int + StrikeOut = ... # type: int + HorizontalRule = ... # type: int + Link = ... # type: int + CodeBackticks = ... # type: int + CodeDoubleBackticks = ... # type: int + CodeBlock = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def description(self, style: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerMatlab(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Command = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + SingleQuotedString = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + DoubleQuotedString = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerOctave(QsciLexerMatlab): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def keywords(self, set: int) -> str: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPascal(QsciLexer): + + Default = ... # type: int + Identifier = ... # type: int + Comment = ... # type: int + CommentParenthesis = ... # type: int + CommentLine = ... # type: int + PreProcessor = ... # type: int + PreProcessorParenthesis = ... # type: int + Number = ... # type: int + HexNumber = ... # type: int + Keyword = ... # type: int + SingleQuotedString = ... # type: int + UnclosedString = ... # type: int + Character = ... # type: int + Operator = ... # type: int + Asm = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldPreprocessor(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def smartHighlighting(self) -> bool: ... + def setSmartHighlighting(self, enabled: bool) -> None: ... + def foldPreprocessor(self) -> bool: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPerl(QsciLexer): + + Default = ... # type: int + Error = ... # type: int + Comment = ... # type: int + POD = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + Scalar = ... # type: int + Array = ... # type: int + Hash = ... # type: int + SymbolTable = ... # type: int + Regex = ... # type: int + Substitution = ... # type: int + Backticks = ... # type: int + DataSection = ... # type: int + HereDocumentDelimiter = ... # type: int + SingleQuotedHereDocument = ... # type: int + DoubleQuotedHereDocument = ... # type: int + BacktickHereDocument = ... # type: int + QuotedStringQ = ... # type: int + QuotedStringQQ = ... # type: int + QuotedStringQX = ... # type: int + QuotedStringQR = ... # type: int + QuotedStringQW = ... # type: int + PODVerbatim = ... # type: int + SubroutinePrototype = ... # type: int + FormatIdentifier = ... # type: int + FormatBody = ... # type: int + DoubleQuotedStringVar = ... # type: int + Translation = ... # type: int + RegexVar = ... # type: int + SubstitutionVar = ... # type: int + BackticksVar = ... # type: int + DoubleQuotedHereDocumentVar = ... # type: int + BacktickHereDocumentVar = ... # type: int + QuotedStringQQVar = ... # type: int + QuotedStringQXVar = ... # type: int + QuotedStringQRVar = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldPODBlocks(self) -> bool: ... + def setFoldPODBlocks(self, fold: bool) -> None: ... + def foldPackages(self) -> bool: ... + def setFoldPackages(self, fold: bool) -> None: ... + def foldAtElse(self) -> bool: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPostScript(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + DSCComment = ... # type: int + DSCCommentValue = ... # type: int + Number = ... # type: int + Name = ... # type: int + Keyword = ... # type: int + Literal = ... # type: int + ImmediateEvalLiteral = ... # type: int + ArrayParenthesis = ... # type: int + DictionaryParenthesis = ... # type: int + ProcedureParenthesis = ... # type: int + Text = ... # type: int + HexString = ... # type: int + Base85String = ... # type: int + BadStringCharacter = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setLevel(self, level: int) -> None: ... + def setTokenize(self, tokenize: bool) -> None: ... + def foldAtElse(self) -> bool: ... + def foldCompact(self) -> bool: ... + def level(self) -> int: ... + def tokenize(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPO(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + MessageId = ... # type: int + MessageIdText = ... # type: int + MessageString = ... # type: int + MessageStringText = ... # type: int + MessageContext = ... # type: int + MessageContextText = ... # type: int + Fuzzy = ... # type: int + ProgrammerComment = ... # type: int + Reference = ... # type: int + Flags = ... # type: int + MessageIdTextEOL = ... # type: int + MessageStringTextEOL = ... # type: int + MessageContextTextEOL = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def description(self, style: int) -> str: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPOV(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + Number = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + String = ... # type: int + UnclosedString = ... # type: int + Directive = ... # type: int + BadDirective = ... # type: int + ObjectsCSGAppearance = ... # type: int + TypesModifiersItems = ... # type: int + PredefinedIdentifiers = ... # type: int + PredefinedFunctions = ... # type: int + KeywordSet6 = ... # type: int + KeywordSet7 = ... # type: int + KeywordSet8 = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldDirectives(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldDirectives(self) -> bool: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerProperties(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Section = ... # type: int + Assignment = ... # type: int + DefaultValue = ... # type: int + Key = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def initialSpaces(self) -> bool: ... + def setInitialSpaces(self, enable: bool) -> None: ... + def foldCompact(self) -> bool: ... + def refreshProperties(self) -> None: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerPython(QsciLexer): + + class IndentationWarning(int): ... + NoWarning = ... # type: 'QsciLexerPython.IndentationWarning' + Inconsistent = ... # type: 'QsciLexerPython.IndentationWarning' + TabsAfterSpaces = ... # type: 'QsciLexerPython.IndentationWarning' + Spaces = ... # type: 'QsciLexerPython.IndentationWarning' + Tabs = ... # type: 'QsciLexerPython.IndentationWarning' + + Default = ... # type: int + Comment = ... # type: int + Number = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + Keyword = ... # type: int + TripleSingleQuotedString = ... # type: int + TripleDoubleQuotedString = ... # type: int + ClassName = ... # type: int + FunctionMethodName = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + CommentBlock = ... # type: int + UnclosedString = ... # type: int + HighlightedIdentifier = ... # type: int + Decorator = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setIndentationWarning(self, warn: 'QsciLexerPython.IndentationWarning') -> None: ... + def setFoldQuotes(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def v3BytesAllowed(self) -> bool: ... + def setV3BytesAllowed(self, allowed: bool) -> None: ... + def v3BinaryOctalAllowed(self) -> bool: ... + def setV3BinaryOctalAllowed(self, allowed: bool) -> None: ... + def v2UnicodeAllowed(self) -> bool: ... + def setV2UnicodeAllowed(self, allowed: bool) -> None: ... + def stringsOverNewlineAllowed(self) -> bool: ... + def setStringsOverNewlineAllowed(self, allowed: bool) -> None: ... + def highlightSubidentifiers(self) -> bool: ... + def setHighlightSubidentifiers(self, enabled: bool) -> None: ... + def indentationWarning(self) -> 'QsciLexerPython.IndentationWarning': ... + def foldQuotes(self) -> bool: ... + def foldCompact(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def indentationGuideView(self) -> int: ... + def braceStyle(self) -> int: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockLookback(self) -> int: ... + def autoCompletionWordSeparators(self) -> typing.List[str]: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerRuby(QsciLexer): + + Default = ... # type: int + Error = ... # type: int + Comment = ... # type: int + POD = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + ClassName = ... # type: int + FunctionMethodName = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + Regex = ... # type: int + Global = ... # type: int + Symbol = ... # type: int + ModuleName = ... # type: int + InstanceVariable = ... # type: int + ClassVariable = ... # type: int + Backticks = ... # type: int + DataSection = ... # type: int + HereDocumentDelimiter = ... # type: int + HereDocument = ... # type: int + PercentStringq = ... # type: int + PercentStringQ = ... # type: int + PercentStringx = ... # type: int + PercentStringr = ... # type: int + PercentStringw = ... # type: int + DemotedKeyword = ... # type: int + Stdin = ... # type: int + Stdout = ... # type: int + Stderr = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def foldCompact(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def blockStartKeyword(self) -> typing.Tuple[str, int]: ... + def blockStart(self) -> typing.Tuple[str, int]: ... + def blockEnd(self) -> typing.Tuple[str, int]: ... + def description(self, style: int) -> str: ... + def keywords(self, a0: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerSpice(QsciLexer): + + Default = ... # type: int + Identifier = ... # type: int + Command = ... # type: int + Function = ... # type: int + Parameter = ... # type: int + Number = ... # type: int + Delimiter = ... # type: int + Value = ... # type: int + Comment = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def keywords(self, set: int) -> str: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerSQL(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + CommentDoc = ... # type: int + Number = ... # type: int + Keyword = ... # type: int + DoubleQuotedString = ... # type: int + SingleQuotedString = ... # type: int + PlusKeyword = ... # type: int + PlusPrompt = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + PlusComment = ... # type: int + CommentLineHash = ... # type: int + CommentDocKeyword = ... # type: int + CommentDocKeywordError = ... # type: int + KeywordSet5 = ... # type: int + KeywordSet6 = ... # type: int + KeywordSet7 = ... # type: int + KeywordSet8 = ... # type: int + QuotedIdentifier = ... # type: int + QuotedOperator = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def setBackslashEscapes(self, enable: bool) -> None: ... + def quotedIdentifiers(self) -> bool: ... + def setQuotedIdentifiers(self, enable: bool) -> None: ... + def hashComments(self) -> bool: ... + def setHashComments(self, enable: bool) -> None: ... + def foldOnlyBegin(self) -> bool: ... + def setFoldOnlyBegin(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def foldAtElse(self) -> bool: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def dottedWords(self) -> bool: ... + def setDottedWords(self, enable: bool) -> None: ... + def backslashEscapes(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerTCL(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + Number = ... # type: int + QuotedKeyword = ... # type: int + QuotedString = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + Substitution = ... # type: int + SubstitutionBrace = ... # type: int + Modifier = ... # type: int + ExpandKeyword = ... # type: int + TCLKeyword = ... # type: int + TkKeyword = ... # type: int + ITCLKeyword = ... # type: int + TkCommand = ... # type: int + KeywordSet6 = ... # type: int + KeywordSet7 = ... # type: int + KeywordSet8 = ... # type: int + KeywordSet9 = ... # type: int + CommentBox = ... # type: int + CommentBlock = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def foldComments(self) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerTeX(QsciLexer): + + Default = ... # type: int + Special = ... # type: int + Group = ... # type: int + Symbol = ... # type: int + Command = ... # type: int + Text = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def processIf(self) -> bool: ... + def setProcessIf(self, enable: bool) -> None: ... + def processComments(self) -> bool: ... + def setProcessComments(self, enable: bool) -> None: ... + def foldCompact(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def refreshProperties(self) -> None: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerVerilog(QsciLexer): + + Default = ... # type: int + InactiveDefault = ... # type: int + Comment = ... # type: int + InactiveComment = ... # type: int + CommentLine = ... # type: int + InactiveCommentLine = ... # type: int + CommentBang = ... # type: int + InactiveCommentBang = ... # type: int + Number = ... # type: int + InactiveNumber = ... # type: int + Keyword = ... # type: int + InactiveKeyword = ... # type: int + String = ... # type: int + InactiveString = ... # type: int + KeywordSet2 = ... # type: int + InactiveKeywordSet2 = ... # type: int + SystemTask = ... # type: int + InactiveSystemTask = ... # type: int + Preprocessor = ... # type: int + InactivePreprocessor = ... # type: int + Operator = ... # type: int + InactiveOperator = ... # type: int + Identifier = ... # type: int + InactiveIdentifier = ... # type: int + UnclosedString = ... # type: int + InactiveUnclosedString = ... # type: int + UserKeywordSet = ... # type: int + InactiveUserKeywordSet = ... # type: int + CommentKeyword = ... # type: int + InactiveCommentKeyword = ... # type: int + DeclareInputPort = ... # type: int + InactiveDeclareInputPort = ... # type: int + DeclareOutputPort = ... # type: int + InactiveDeclareOutputPort = ... # type: int + DeclareInputOutputPort = ... # type: int + InactiveDeclareInputOutputPort = ... # type: int + PortConnection = ... # type: int + InactivePortConnection = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def foldAtModule(self) -> bool: ... + def setFoldAtModule(self, fold: bool) -> None: ... + def foldPreprocessor(self) -> bool: ... + def setFoldPreprocessor(self, fold: bool) -> None: ... + def foldCompact(self) -> bool: ... + def setFoldCompact(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldAtElse(self) -> bool: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def wordCharacters(self) -> str: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerVHDL(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + CommentLine = ... # type: int + Number = ... # type: int + String = ... # type: int + Operator = ... # type: int + Identifier = ... # type: int + UnclosedString = ... # type: int + Keyword = ... # type: int + StandardOperator = ... # type: int + Attribute = ... # type: int + StandardFunction = ... # type: int + StandardPackage = ... # type: int + StandardType = ... # type: int + KeywordSet7 = ... # type: int + CommentBlock = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldAtParenthesis(self, fold: bool) -> None: ... + def setFoldAtBegin(self, fold: bool) -> None: ... + def setFoldAtElse(self, fold: bool) -> None: ... + def setFoldCompact(self, fold: bool) -> None: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldAtParenthesis(self) -> bool: ... + def foldAtBegin(self) -> bool: ... + def foldAtElse(self) -> bool: ... + def foldCompact(self) -> bool: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def braceStyle(self) -> int: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerXML(QsciLexerHTML): + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def scriptsStyled(self) -> bool: ... + def setScriptsStyled(self, styled: bool) -> None: ... + def refreshProperties(self) -> None: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciLexerYAML(QsciLexer): + + Default = ... # type: int + Comment = ... # type: int + Identifier = ... # type: int + Keyword = ... # type: int + Number = ... # type: int + Reference = ... # type: int + DocumentDelimiter = ... # type: int + TextBlockMarker = ... # type: int + SyntaxErrorMarker = ... # type: int + Operator = ... # type: int + + def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ... + + def writeProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def readProperties(self, qs: QtCore.QSettings, prefix: str) -> bool: ... + def setFoldComments(self, fold: bool) -> None: ... + def foldComments(self) -> bool: ... + def refreshProperties(self) -> None: ... + def description(self, style: int) -> str: ... + def keywords(self, set: int) -> str: ... + def defaultPaper(self, style: int) -> QtGui.QColor: ... + def defaultFont(self, style: int) -> QtGui.QFont: ... + def defaultEolFill(self, style: int) -> bool: ... + def defaultColor(self, style: int) -> QtGui.QColor: ... + def lexer(self) -> str: ... + def language(self) -> str: ... + + +class QsciMacro(QtCore.QObject): + + @typing.overload + def __init__(self, parent: QsciScintilla) -> None: ... + @typing.overload + def __init__(self, asc: str, parent: QsciScintilla) -> None: ... + + def endRecording(self) -> None: ... + def startRecording(self) -> None: ... + def play(self) -> None: ... + def save(self) -> str: ... + def load(self, asc: str) -> bool: ... + def clear(self) -> None: ... + + +class QsciPrinter(QtPrintSupport.QPrinter): + + def __init__(self, mode: QtPrintSupport.QPrinter.PrinterMode = ...) -> None: ... + + def setWrapMode(self, a0: QsciScintilla.WrapMode) -> None: ... + def wrapMode(self) -> QsciScintilla.WrapMode: ... + def printRange(self, qsb: QsciScintillaBase, from_: int = ..., to: int = ...) -> int: ... + def setMagnification(self, magnification: int) -> None: ... + def magnification(self) -> int: ... + def formatPage(self, painter: QtGui.QPainter, drawing: bool, area: QtCore.QRect, pagenr: int) -> None: ... + + +class QsciStyle(sip.wrapper): + + class TextCase(int): ... + OriginalCase = ... # type: 'QsciStyle.TextCase' + UpperCase = ... # type: 'QsciStyle.TextCase' + LowerCase = ... # type: 'QsciStyle.TextCase' + + @typing.overload + def __init__(self, style: int = ...) -> None: ... + @typing.overload + def __init__(self, style: int, description: str, color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], paper: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor], font: QtGui.QFont, eolFill: bool = ...) -> None: ... + @typing.overload + def __init__(self, a0: 'QsciStyle') -> None: ... + + def refresh(self) -> None: ... + def hotspot(self) -> bool: ... + def setHotspot(self, hotspot: bool) -> None: ... + def changeable(self) -> bool: ... + def setChangeable(self, changeable: bool) -> None: ... + def visible(self) -> bool: ... + def setVisible(self, visible: bool) -> None: ... + def textCase(self) -> 'QsciStyle.TextCase': ... + def setTextCase(self, text_case: 'QsciStyle.TextCase') -> None: ... + def eolFill(self) -> bool: ... + def setEolFill(self, fill: bool) -> None: ... + def font(self) -> QtGui.QFont: ... + def setFont(self, font: QtGui.QFont) -> None: ... + def paper(self) -> QtGui.QColor: ... + def setPaper(self, paper: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def color(self) -> QtGui.QColor: ... + def setColor(self, color: typing.Union[QtGui.QColor, QtCore.Qt.GlobalColor]) -> None: ... + def description(self) -> str: ... + def setDescription(self, description: str) -> None: ... + def style(self) -> int: ... + + +class QsciStyledText(sip.wrapper): + + @typing.overload + def __init__(self, text: str, style: int) -> None: ... + @typing.overload + def __init__(self, text: str, style: QsciStyle) -> None: ... + @typing.overload + def __init__(self, a0: 'QsciStyledText') -> None: ... + + def style(self) -> int: ... + def text(self) -> str: ... + + +QSCINTILLA_VERSION = ... # type: int +QSCINTILLA_VERSION_STR = ... # type: str diff --git a/7.2/Add to ida python folder/PyQt5/Qt.dll b/7.2/Add to ida python folder/PyQt5/Qt.dll new file mode 100644 index 0000000..033246e Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt.pyd b/7.2/Add to ida python folder/PyQt5/Qt.pyd new file mode 100644 index 0000000..033246e Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5Core.dll b/7.2/Add to ida python folder/PyQt5/Qt5Core.dll new file mode 100644 index 0000000..8369857 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5Core.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5Gui.dll b/7.2/Add to ida python folder/PyQt5/Qt5Gui.dll new file mode 100644 index 0000000..c295cbc Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5Gui.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5Network.dll b/7.2/Add to ida python folder/PyQt5/Qt5Network.dll new file mode 100644 index 0000000..dd33c07 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5Network.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5OpenGL.dll b/7.2/Add to ida python folder/PyQt5/Qt5OpenGL.dll new file mode 100644 index 0000000..b0d449b Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5OpenGL.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5PrintSupport.dll b/7.2/Add to ida python folder/PyQt5/Qt5PrintSupport.dll new file mode 100644 index 0000000..ea51681 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5PrintSupport.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5Widgets.dll b/7.2/Add to ida python folder/PyQt5/Qt5Widgets.dll new file mode 100644 index 0000000..e9f05e7 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5Widgets.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/Qt5Xml.dll b/7.2/Add to ida python folder/PyQt5/Qt5Xml.dll new file mode 100644 index 0000000..f150105 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/Qt5Xml.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/QtCore.pyd b/7.2/Add to ida python folder/PyQt5/QtCore.pyd new file mode 100644 index 0000000..802cf27 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtCore.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtGui.pyd b/7.2/Add to ida python folder/PyQt5/QtGui.pyd new file mode 100644 index 0000000..3671cf3 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtGui.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtMultimedia.dll b/7.2/Add to ida python folder/PyQt5/QtMultimedia.dll new file mode 100644 index 0000000..b97ee9d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtMultimedia.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/QtMultimedia.pyd b/7.2/Add to ida python folder/PyQt5/QtMultimedia.pyd new file mode 100644 index 0000000..b97ee9d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtMultimedia.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtNetwork.pyd b/7.2/Add to ida python folder/PyQt5/QtNetwork.pyd new file mode 100644 index 0000000..3d11ae5 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtNetwork.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtOpenGL.pyd b/7.2/Add to ida python folder/PyQt5/QtOpenGL.pyd new file mode 100644 index 0000000..4039fe3 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtOpenGL.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtPrintSupport.pyd b/7.2/Add to ida python folder/PyQt5/QtPrintSupport.pyd new file mode 100644 index 0000000..f7bb87e Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtPrintSupport.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtSvg.dll b/7.2/Add to ida python folder/PyQt5/QtSvg.dll new file mode 100644 index 0000000..d6f4624 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtSvg.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/QtSvg.pyd b/7.2/Add to ida python folder/PyQt5/QtSvg.pyd new file mode 100644 index 0000000..d6f4624 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtSvg.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtTest.pyd b/7.2/Add to ida python folder/PyQt5/QtTest.pyd new file mode 100644 index 0000000..8baaa3d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtTest.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtWidgets.pyd b/7.2/Add to ida python folder/PyQt5/QtWidgets.pyd new file mode 100644 index 0000000..dd4223c Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtWidgets.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtWinExtras.pyd b/7.2/Add to ida python folder/PyQt5/QtWinExtras.pyd new file mode 100644 index 0000000..b7f0874 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtWinExtras.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtXml.pyd b/7.2/Add to ida python folder/PyQt5/QtXml.pyd new file mode 100644 index 0000000..be25f7d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtXml.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.dll b/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.dll new file mode 100644 index 0000000..df5018d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.pyd b/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.pyd new file mode 100644 index 0000000..df5018d Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/QtXmlPatterns.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_0.pyd b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_0.pyd new file mode 100644 index 0000000..788f8b8 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_0.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_1.pyd b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_1.pyd new file mode 100644 index 0000000..db3f524 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_2_1.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_4_1_Core.pyd b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_4_1_Core.pyd new file mode 100644 index 0000000..6ea2a78 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/_QOpenGLFunctions_4_1_Core.pyd differ diff --git a/7.2/Add to ida python folder/PyQt5/__init__.py b/7.2/Add to ida python folder/PyQt5/__init__.py new file mode 100644 index 0000000..c223691 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/__init__.py @@ -0,0 +1,16 @@ +# Copyright (c) 2017 Riverbank Computing Limited +# +# This file is part of PyQt5. +# +# This file may be used under the terms of the GNU General Public License +# version 3.0 as published by the Free Software Foundation and appearing in +# the file LICENSE included in the packaging of this file. Please review the +# following information to ensure the GNU General Public License version 3.0 +# requirements will be met: http://www.gnu.org/copyleft/gpl.html. +# +# If you do not wish to use this file under the terms of the GPL version 3.0 +# then you may purchase a commercial license. For more information contact +# info@riverbankcomputing.com. +# +# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. diff --git a/7.2/Add to ida python folder/PyQt5/qscintilla2_qt5.dll b/7.2/Add to ida python folder/PyQt5/qscintilla2_qt5.dll new file mode 100644 index 0000000..671e786 Binary files /dev/null and b/7.2/Add to ida python folder/PyQt5/qscintilla2_qt5.dll differ diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/__init__.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/__init__.py new file mode 100644 index 0000000..72697c0 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/__init__.py @@ -0,0 +1,20 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/compiler.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/compiler.py new file mode 100644 index 0000000..24a9d52 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/compiler.py @@ -0,0 +1,125 @@ +############################################################################# +## +## Copyright (C) 2016 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import sys + +from ..properties import Properties +from ..uiparser import UIParser +from . import qtproxies +from .indenter import createCodeIndenter, getIndenter, write_code +from .qobjectcreator import CompilerCreatorPolicy + + +class UICompiler(UIParser): + def __init__(self): + UIParser.__init__(self, qtproxies.QtCore, qtproxies.QtGui, + qtproxies.QtWidgets, CompilerCreatorPolicy()) + + def reset(self): + qtproxies.i18n_strings = [] + UIParser.reset(self) + + def setContext(self, context): + qtproxies.i18n_context = context + + def createToplevelWidget(self, classname, widgetname): + indenter = getIndenter() + indenter.level = 0 + + indenter.write("from PyQt5 import QtCore, QtGui, QtWidgets") + indenter.write("") + + indenter.write("class Ui_%s(object):" % self.uiname) + indenter.indent() + indenter.write("def setupUi(self, %s):" % widgetname) + indenter.indent() + w = self.factory.createQObject(classname, widgetname, (), + is_attribute = False, + no_instantiation = True) + w.baseclass = classname + w.uiclass = "Ui_%s" % self.uiname + return w + + def setDelayedProps(self): + write_code("") + write_code("self.retranslateUi(%s)" % self.toplevelWidget) + UIParser.setDelayedProps(self) + + def finalize(self): + indenter = getIndenter() + indenter.level = 1 + indenter.write("") + indenter.write("def retranslateUi(self, %s):" % self.toplevelWidget) + + indenter.indent() + + if qtproxies.i18n_strings: + indenter.write("_translate = QtCore.QCoreApplication.translate") + for s in qtproxies.i18n_strings: + indenter.write(s) + else: + indenter.write("pass") + + indenter.dedent() + indenter.dedent() + + # Keep a reference to the resource modules to import because the parser + # will reset() before returning. + self._resources = self.resources + self._resources.sort() + + def compileUi(self, input_stream, output_stream, from_imports, resource_suffix, import_from): + createCodeIndenter(output_stream) + w = self.parse(input_stream, resource_suffix) + + indenter = getIndenter() + indenter.write("") + + self.factory._cpolicy._writeOutImports() + + for res in self._resources: + if from_imports: + write_code("from %s import %s" % (import_from, res)) + else: + write_code("import %s" % res) + + return {"widgetname": str(w), + "uiclass" : w.uiclass, + "baseclass" : w.baseclass} diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/indenter.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/indenter.py new file mode 100644 index 0000000..9c92ad5 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/indenter.py @@ -0,0 +1,77 @@ +############################################################################# +## +## Copyright (C) 2014 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +indentwidth = 4 + +_indenter = None + +class _IndentedCodeWriter(object): + def __init__(self, output): + self.level = 0 + self.output = output + + def indent(self): + self.level += 1 + + def dedent(self): + self.level -= 1 + + def write(self, line): + if line.strip(): + if indentwidth > 0: + indent = " " * indentwidth + line = line.replace("\t", indent) + else: + indent = "\t" + + self.output.write("%s%s\n" % (indent * self.level, line)) + else: + self.output.write("\n") + + +def createCodeIndenter(output): + global _indenter + _indenter = _IndentedCodeWriter(output) + +def getIndenter(): + return _indenter + +def write_code(string): + _indenter.write(string) diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/misc.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/misc.py new file mode 100644 index 0000000..0dcf181 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/misc.py @@ -0,0 +1,59 @@ +############################################################################# +## +## Copyright (C) 2016 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +def moduleMember(module, name): + if module: + return "%s.%s" % (module, name) + + return name + + +class Literal(object): + """Literal(string) -> new literal + + string will not be quoted when put into an argument list""" + def __init__(self, string): + self.string = string + + def __str__(self): + return self.string + + def __or__(self, r_op): + return Literal("%s|%s" % (self, r_op)) diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/proxy_metaclass.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/proxy_metaclass.py new file mode 100644 index 0000000..c997b84 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/proxy_metaclass.py @@ -0,0 +1,100 @@ +############################################################################# +## +## Copyright (C) 2014 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +from .misc import Literal, moduleMember + + +class ProxyMetaclass(type): + """ ProxyMetaclass is the meta-class for proxies. """ + + def __init__(*args): + """ Initialise the meta-class. """ + + # Initialise as normal. + type.__init__(*args) + + # The proxy type object we have created. + proxy = args[0] + + # Go through the proxy's attributes looking for other proxies. + for sub_proxy in proxy.__dict__.values(): + if type(sub_proxy) is ProxyMetaclass: + # Set the module name of the contained proxy to the name of the + # container proxy. + sub_proxy.module = proxy.__name__ + + # Attribute hierachies are created depth first so any proxies + # contained in the sub-proxy whose module we have just set will + # already exist and have an incomplete module name. We need to + # revisit them and prepend the new name to their module names. + # Note that this should be recursive but with current usage we + # know there will be only one level to revisit. + for sub_sub_proxy in sub_proxy.__dict__.values(): + if type(sub_sub_proxy) is ProxyMetaclass: + sub_sub_proxy.module = '%s.%s' % (proxy.__name__, sub_sub_proxy.module) + + # Makes sure there is a 'module' attribute. + if not hasattr(proxy, 'module'): + proxy.module = '' + + def __getattribute__(cls, name): + try: + return type.__getattribute__(cls, name) + except AttributeError: + # Make sure __init__()'s use of hasattr() works. + if name == 'module': + raise + + # Avoid a circular import. + from .qtproxies import LiteralProxyClass + + return type(name, (LiteralProxyClass, ), + {"module": moduleMember(type.__getattribute__(cls, "module"), + type.__getattribute__(cls, "__name__"))}) + + def __str__(cls): + return moduleMember(type.__getattribute__(cls, "module"), + type.__getattribute__(cls, "__name__")) + + def __or__(self, r_op): + return Literal("%s|%s" % (self, r_op)) + + def __eq__(self, other): + return str(self) == str(other) diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/qobjectcreator.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/qobjectcreator.py new file mode 100644 index 0000000..d85182f --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/qobjectcreator.py @@ -0,0 +1,176 @@ +############################################################################# +## +## Copyright (C) 2015 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import logging +import sys + +from .indenter import write_code +from .qtproxies import QtGui, QtWidgets, Literal, strict_getattr + +if sys.hexversion >= 0x03000000: + from ..port_v3.as_string import as_string +else: + from ..port_v2.as_string import as_string + + +logger = logging.getLogger(__name__) +DEBUG = logger.debug + + +class _QtWrapper(object): + @classmethod + def search(cls, name): + try: + return strict_getattr(cls.module, name) + except AttributeError: + return None + + +class _QtGuiWrapper(_QtWrapper): + module = QtGui + + +class _QtWidgetsWrapper(_QtWrapper): + module = QtWidgets + + +class _ModuleWrapper(object): + def __init__(self, name, classes): + if "." in name: + idx = name.rfind(".") + self._package = name[:idx] + self._module = name[idx + 1:] + else: + self._package = None + self._module = name + + self._classes = classes + self._used = False + + def search(self, cls): + if cls in self._classes: + self._used = True + return type(cls, (QtWidgets.QWidget,), {"module": self._module}) + else: + return None + + def _writeImportCode(self): + if self._used: + if self._package is None: + write_code("import %s" % self._module) + else: + write_code("from %s import %s" % (self._package, self._module)) + + +class _CustomWidgetLoader(object): + def __init__(self): + self._widgets = {} + self._usedWidgets = set() + + def addCustomWidget(self, widgetClass, baseClass, module): + assert widgetClass not in self._widgets + self._widgets[widgetClass] = (baseClass, module) + + def _resolveBaseclass(self, baseClass): + try: + for x in range(0, 10): + try: return strict_getattr(QtWidgets, baseClass) + except AttributeError: pass + + baseClass = self._widgets[baseClass][0] + else: + raise ValueError("baseclass resolve took too long, check custom widgets") + + except KeyError: + raise ValueError("unknown baseclass %s" % baseClass) + + def search(self, cls): + try: + baseClass = self._resolveBaseclass(self._widgets[cls][0]) + DEBUG("resolved baseclass of %s: %s" % (cls, baseClass)) + except KeyError: + return None + + self._usedWidgets.add(cls) + + return type(cls, (baseClass, ), {"module" : ""}) + + def _writeImportCode(self): + imports = {} + for widget in self._usedWidgets: + _, module = self._widgets[widget] + imports.setdefault(module, []).append(widget) + + for module, classes in sorted(imports.items()): + write_code("from %s import %s" % (module, ", ".join(sorted(classes)))) + + +class CompilerCreatorPolicy(object): + def __init__(self): + self._modules = [] + + def createQtGuiWidgetsWrappers(self): + return [_QtGuiWrapper, _QtWidgetsWrapper] + + def createModuleWrapper(self, name, classes): + mw = _ModuleWrapper(name, classes) + self._modules.append(mw) + return mw + + def createCustomWidgetLoader(self): + cw = _CustomWidgetLoader() + self._modules.append(cw) + return cw + + def instantiate(self, clsObject, objectname, ctor_args, is_attribute=True, no_instantiation=False): + return clsObject(objectname, is_attribute, ctor_args, no_instantiation) + + def invoke(self, rname, method, args): + return method(rname, *args) + + def getSlot(self, object, slotname): + return Literal("%s.%s" % (object, slotname)) + + def asString(self, s): + return as_string(s) + + def _writeOutImports(self): + for module in self._modules: + module._writeImportCode() diff --git a/7.2/Add to ida python folder/PyQt5/uic/Compiler/qtproxies.py b/7.2/Add to ida python folder/PyQt5/uic/Compiler/qtproxies.py new file mode 100644 index 0000000..e5b7266 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Compiler/qtproxies.py @@ -0,0 +1,463 @@ +############################################################################# +## +## Copyright (C) 2014 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import sys +import re + +from .indenter import write_code +from .misc import Literal, moduleMember + +if sys.hexversion >= 0x03000000: + from ..port_v3.proxy_base import ProxyBase + from ..port_v3.as_string import as_string +else: + from ..port_v2.proxy_base import ProxyBase + from ..port_v2.as_string import as_string + + +i18n_strings = [] +i18n_context = "" + +def i18n_print(string): + i18n_strings.append(string) + +def i18n_void_func(name): + def _printer(self, *args): + i18n_print("%s.%s(%s)" % (self, name, ", ".join(map(as_string, args)))) + return _printer + +def i18n_func(name): + def _printer(self, rname, *args): + i18n_print("%s = %s.%s(%s)" % (rname, self, name, ", ".join(map(as_string, args)))) + return Literal(rname) + + return _printer + +def strict_getattr(module, clsname): + cls = getattr(module, clsname) + if issubclass(cls, LiteralProxyClass): + raise AttributeError(cls) + else: + return cls + + +class i18n_string(object): + def __init__(self, string, disambig): + self.string = string + self.disambig = disambig + + def __str__(self): + if self.disambig is None: + return '_translate("%s", %s)' % (i18n_context, as_string(self.string)) + + return '_translate("%s", %s, %s)' % (i18n_context, as_string(self.string), as_string(self.disambig)) + + +# Classes with this flag will be handled as literal values. If functions are +# called on these classes, the literal value changes. +# Example: +# the code +# >>> QSize(9,10).expandedTo(...) +# will print just that code. +AS_ARGUMENT = 0x02 + +# Classes with this flag may have members that are signals which themselves +# will have a connect() member. +AS_SIGNAL = 0x01 + +# ATTENTION: currently, classes can either be literal or normal. If a class +# should need both kinds of behaviour, the code has to be changed. + +class ProxyClassMember(object): + def __init__(self, proxy, function_name, flags): + self.proxy = proxy + self.function_name = function_name + self.flags = flags + + def __str__(self): + return "%s.%s" % (self.proxy, self.function_name) + + def __call__(self, *args): + if self.function_name == 'setProperty': + str_args = (as_string(args[0]), as_string(args[1])) + else: + str_args = map(as_string, args) + + func_call = "%s.%s(%s)" % (self.proxy, + self.function_name, + ", ".join(str_args)) + if self.flags & AS_ARGUMENT: + self.proxy._uic_name = func_call + return self.proxy + else: + needs_translation = False + for arg in args: + if isinstance(arg, i18n_string): + needs_translation = True + if needs_translation: + i18n_print(func_call) + else: + write_code(func_call) + + def __getattribute__(self, attribute): + """ Reimplemented to create a proxy connect() if requested and this + might be a proxy for a signal. + """ + + try: + return object.__getattribute__(self, attribute) + except AttributeError: + if attribute == 'connect' and self.flags & AS_SIGNAL: + return ProxyClassMember(self, attribute, 0) + + raise + + def __getitem__(self, idx): + """ Reimplemented to create a proxy member that should be a signal that + passes arguments. We handle signals without arguments before we get + here and never apply the index notation to them. + """ + + return ProxySignalWithArguments(self.proxy, self.function_name, idx) + + +class ProxySignalWithArguments(object): + """ This is a proxy for (what should be) a signal that passes arguments. + """ + + def __init__(self, sender, signal_name, signal_index): + self._sender = sender + self._signal_name = signal_name + + # Convert the signal index, which will be a single argument or a tuple + # of arguments, to quoted strings. + if isinstance(signal_index, tuple): + self._signal_index = ','.join(["'%s'" % a for a in signal_index]) + else: + self._signal_index = "'%s'" % signal_index + + def connect(self, slot): + write_code("%s.%s[%s].connect(%s)" % (self._sender, self._signal_name, self._signal_index, slot)) + + +class ProxyClass(ProxyBase): + flags = 0 + + def __init__(self, objectname, is_attribute, args=(), noInstantiation=False): + if objectname: + if is_attribute: + objectname = "self." + objectname + + self._uic_name = objectname + else: + self._uic_name = "Unnamed" + + if not noInstantiation: + funcall = "%s(%s)" % \ + (moduleMember(self.module, self.__class__.__name__), + ", ".join(map(str, args))) + + if objectname: + funcall = "%s = %s" % (objectname, funcall) + + write_code(funcall) + + def __str__(self): + return self._uic_name + + def __getattribute__(self, attribute): + try: + return object.__getattribute__(self, attribute) + except AttributeError: + return ProxyClassMember(self, attribute, self.flags) + + +class LiteralProxyClass(ProxyClass): + """LiteralObject(*args) -> new literal class + + a literal class can be used as argument in a function call + + >>> class Foo(LiteralProxyClass): pass + >>> str(Foo(1,2,3)) == "Foo(1,2,3)" + """ + flags = AS_ARGUMENT + + def __init__(self, *args): + self._uic_name = "%s(%s)" % \ + (moduleMember(self.module, self.__class__.__name__), + ", ".join(map(as_string, args))) + + +class ProxyNamespace(ProxyBase): + pass + + +# These are all the Qt classes used by pyuic5 in their namespaces. If a class +# is missing, the compiler will fail, normally with an AttributeError. +# +# For adding new classes: +# - utility classes used as literal values do not need to be listed +# because they are created on the fly as subclasses of LiteralProxyClass +# - classes which are *not* QWidgets inherit from ProxyClass and they +# have to be listed explicitly in the correct namespace. These classes +# are created via a ProxyQObjectCreator +# - new QWidget-derived classes have to inherit from qtproxies.QWidget +# If the widget does not need any special methods, it can be listed +# in _qwidgets + +class QtCore(ProxyNamespace): + class Qt(ProxyNamespace): + pass + + ## connectSlotsByName and connect have to be handled as class methods, + ## otherwise they would be created as LiteralProxyClasses and never be + ## printed + class QMetaObject(ProxyClass): + @classmethod + def connectSlotsByName(cls, *args): + ProxyClassMember(cls, "connectSlotsByName", 0)(*args) + + class QObject(ProxyClass): + flags = AS_SIGNAL + + def metaObject(self): + class _FakeMetaObject(object): + def className(*args): + return self.__class__.__name__ + return _FakeMetaObject() + + def objectName(self): + return self._uic_name.split(".")[-1] + + +class QtGui(ProxyNamespace): + class QIcon(ProxyClass): + class fromTheme(ProxyClass): pass + + class QConicalGradient(ProxyClass): pass + class QLinearGradient(ProxyClass): pass + class QRadialGradient(ProxyClass): pass + class QBrush(ProxyClass): pass + class QPainter(ProxyClass): pass + class QPalette(ProxyClass): pass + class QFont(ProxyClass): pass + + +# These sub-class QWidget but aren't themselves sub-classed. +_qwidgets = ("QCalendarWidget", "QDialogButtonBox", "QDockWidget", "QGroupBox", + "QLineEdit", "QMainWindow", "QMenuBar", "QOpenGLWidget", + "QProgressBar", "QStatusBar", "QToolBar", "QWizardPage") + +class QtWidgets(ProxyNamespace): + class QApplication(QtCore.QObject): + @staticmethod + def translate(uiname, text, disambig): + return i18n_string(text or "", disambig) + + class QSpacerItem(ProxyClass): pass + class QSizePolicy(ProxyClass): pass + # QActions inherit from QObject for the meta-object stuff and the hierarchy + # has to be correct since we have a isinstance(x, QtWidgets.QLayout) call + # in the UI parser. + class QAction(QtCore.QObject): pass + class QActionGroup(QtCore.QObject): pass + class QButtonGroup(QtCore.QObject): pass + class QLayout(QtCore.QObject): pass + class QGridLayout(QLayout): pass + class QBoxLayout(QLayout): pass + class QHBoxLayout(QBoxLayout): pass + class QVBoxLayout(QBoxLayout): pass + class QFormLayout(QLayout): pass + + class QWidget(QtCore.QObject): + def font(self): + return Literal("%s.font()" % self) + + def minimumSizeHint(self): + return Literal("%s.minimumSizeHint()" % self) + + def sizePolicy(self): + sp = LiteralProxyClass() + sp._uic_name = "%s.sizePolicy()" % self + return sp + + class QDialog(QWidget): pass + class QColorDialog(QDialog): pass + class QFileDialog(QDialog): pass + class QFontDialog(QDialog): pass + class QInputDialog(QDialog): pass + class QMessageBox(QDialog): pass + class QWizard(QDialog): pass + + class QAbstractSlider(QWidget): pass + class QDial(QAbstractSlider): pass + class QScrollBar(QAbstractSlider): pass + class QSlider(QAbstractSlider): pass + + class QMenu(QWidget): + def menuAction(self): + return Literal("%s.menuAction()" % self) + + class QTabWidget(QWidget): + def addTab(self, *args): + text = args[-1] + + if isinstance(text, i18n_string): + i18n_print("%s.setTabText(%s.indexOf(%s), %s)" % \ + (self._uic_name, self._uic_name, args[0], text)) + args = args[:-1] + ("", ) + + ProxyClassMember(self, "addTab", 0)(*args) + + def indexOf(self, page): + return Literal("%s.indexOf(%s)" % (self, page)) + + class QComboBox(QWidget): pass + class QFontComboBox(QComboBox): pass + + class QAbstractSpinBox(QWidget): pass + class QDoubleSpinBox(QAbstractSpinBox): pass + class QSpinBox(QAbstractSpinBox): pass + + class QDateTimeEdit(QAbstractSpinBox): pass + class QDateEdit(QDateTimeEdit): pass + class QTimeEdit(QDateTimeEdit): pass + + class QFrame(QWidget): pass + class QLabel(QFrame): pass + class QLCDNumber(QFrame): pass + class QSplitter(QFrame): pass + class QStackedWidget(QFrame): pass + + class QToolBox(QFrame): + def addItem(self, *args): + text = args[-1] + + if isinstance(text, i18n_string): + i18n_print("%s.setItemText(%s.indexOf(%s), %s)" % \ + (self._uic_name, self._uic_name, args[0], text)) + args = args[:-1] + ("", ) + + ProxyClassMember(self, "addItem", 0)(*args) + + def indexOf(self, page): + return Literal("%s.indexOf(%s)" % (self, page)) + + def layout(self): + return QtWidgets.QLayout("%s.layout()" % self, + False, (), noInstantiation=True) + + class QAbstractScrollArea(QFrame): + def viewport(self): + return QtWidgets.QWidget("%s.viewport()" % self, False, (), + noInstantiation=True) + + class QGraphicsView(QAbstractScrollArea): pass + class QMdiArea(QAbstractScrollArea): pass + class QPlainTextEdit(QAbstractScrollArea): pass + class QScrollArea(QAbstractScrollArea): pass + + class QTextEdit(QAbstractScrollArea): pass + class QTextBrowser(QTextEdit): pass + + class QAbstractItemView(QAbstractScrollArea): pass + class QColumnView(QAbstractItemView): pass + class QHeaderView(QAbstractItemView): pass + class QListView(QAbstractItemView): pass + + class QTableView(QAbstractItemView): + def horizontalHeader(self): + return QtWidgets.QHeaderView("%s.horizontalHeader()" % self, + False, (), noInstantiation=True) + + def verticalHeader(self): + return QtWidgets.QHeaderView("%s.verticalHeader()" % self, + False, (), noInstantiation=True) + + class QTreeView(QAbstractItemView): + def header(self): + return QtWidgets.QHeaderView("%s.header()" % self, + False, (), noInstantiation=True) + + class QListWidgetItem(ProxyClass): pass + + class QListWidget(QListView): + setSortingEnabled = i18n_void_func("setSortingEnabled") + isSortingEnabled = i18n_func("isSortingEnabled") + item = i18n_func("item") + + class QTableWidgetItem(ProxyClass): pass + + class QTableWidget(QTableView): + setSortingEnabled = i18n_void_func("setSortingEnabled") + isSortingEnabled = i18n_func("isSortingEnabled") + item = i18n_func("item") + horizontalHeaderItem = i18n_func("horizontalHeaderItem") + verticalHeaderItem = i18n_func("verticalHeaderItem") + + class QTreeWidgetItem(ProxyClass): + def child(self, index): + return QtWidgets.QTreeWidgetItem("%s.child(%i)" % (self, index), + False, (), noInstantiation=True) + + class QTreeWidget(QTreeView): + setSortingEnabled = i18n_void_func("setSortingEnabled") + isSortingEnabled = i18n_func("isSortingEnabled") + + def headerItem(self): + return QtWidgets.QWidget("%s.headerItem()" % self, False, (), + noInstantiation=True) + + def topLevelItem(self, index): + return QtWidgets.QTreeWidgetItem("%s.topLevelItem(%i)" % (self, index), + False, (), noInstantiation=True) + + class QAbstractButton(QWidget): pass + class QCheckBox(QAbstractButton): pass + class QRadioButton(QAbstractButton): pass + class QToolButton(QAbstractButton): pass + + class QPushButton(QAbstractButton): pass + class QCommandLinkButton(QPushButton): pass + + # Add all remaining classes. + for _class in _qwidgets: + if _class not in locals(): + locals()[_class] = type(_class, (QWidget, ), {}) diff --git a/7.2/Add to ida python folder/PyQt5/uic/Loader/__init__.py b/7.2/Add to ida python folder/PyQt5/uic/Loader/__init__.py new file mode 100644 index 0000000..72697c0 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Loader/__init__.py @@ -0,0 +1,20 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# diff --git a/7.2/Add to ida python folder/PyQt5/uic/Loader/loader.py b/7.2/Add to ida python folder/PyQt5/uic/Loader/loader.py new file mode 100644 index 0000000..f42bf8a --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Loader/loader.py @@ -0,0 +1,72 @@ +############################################################################# +## +## Copyright (C) 2014 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import os.path + +from PyQt5 import QtCore, QtGui, QtWidgets + +from ..uiparser import UIParser +from .qobjectcreator import LoaderCreatorPolicy + + +class DynamicUILoader(UIParser): + def __init__(self, package): + UIParser.__init__(self, QtCore, QtGui, QtWidgets, LoaderCreatorPolicy(package)) + + def createToplevelWidget(self, classname, widgetname): + if self.toplevelInst is not None: + if not isinstance(self.toplevelInst, self.factory.findQObjectType(classname)): + raise TypeError(("Wrong base class of toplevel widget", + (type(self.toplevelInst), classname))) + return self.toplevelInst + else: + return self.factory.createQObject(classname, widgetname, ()) + + def loadUi(self, filename, toplevelInst, resource_suffix): + self.toplevelInst = toplevelInst + + if hasattr(filename, 'read'): + basedir = '' + else: + # Allow the filename to be a QString. + filename = str(filename) + basedir = os.path.dirname(filename) + + return self.parse(filename, resource_suffix, basedir) diff --git a/7.2/Add to ida python folder/PyQt5/uic/Loader/qobjectcreator.py b/7.2/Add to ida python folder/PyQt5/uic/Loader/qobjectcreator.py new file mode 100644 index 0000000..008232c --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/Loader/qobjectcreator.py @@ -0,0 +1,152 @@ +############################################################################# +## +## Copyright (C) 2015 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import sys + +from PyQt5 import QtGui, QtWidgets + + +class _QtWrapper(object): + @classmethod + def search(cls, name): + return getattr(cls.module, name, None) + + +class _QtGuiWrapper(_QtWrapper): + module = QtGui + + +class _QtWidgetsWrapper(_QtWrapper): + module = QtWidgets + + +class _ModuleWrapper(object): + def __init__(self, moduleName, classes): + self._moduleName = moduleName + self._module = None + self._classes = classes + + def search(self, cls): + if cls in self._classes: + if self._module is None: + self._module = __import__(self._moduleName, {}, {}, self._classes) + # Allow for namespaces. + obj = self._module + for attr in cls.split('.'): + obj = getattr(obj, attr) + + return obj + else: + return None + + +class _CustomWidgetLoader(object): + def __init__(self, package): + # should it stay this way? + if '.' not in sys.path: + sys.path.append('.') + + self._widgets = {} + self._modules = {} + self._package = package + + def addCustomWidget(self, widgetClass, baseClass, module): + assert widgetClass not in self._widgets + self._widgets[widgetClass] = module + + def search(self, cls): + module_name = self._widgets.get(cls) + if module_name is None: + return None + + module = self._modules.get(module_name) + if module is None: + if module_name.startswith('.'): + if self._package == '': + raise ImportError( + "relative import of %s without base package specified" % module_name) + + if self._package.startswith('.'): + raise ImportError( + "base package %s is relative" % self._package) + + mname = self._package + module_name + else: + mname = module_name + + try: + module = __import__(mname, {}, {}, (cls,)) + except ValueError: + # Raise a more helpful exception. + raise ImportError("unable to import module %s" % mname) + + self._modules[module_name] = module + + return getattr(module, cls) + + +class LoaderCreatorPolicy(object): + def __init__(self, package): + self._package = package + + def createQtGuiWidgetsWrappers(self): + return [_QtGuiWrapper, _QtWidgetsWrapper] + + def createModuleWrapper(self, moduleName, classes): + return _ModuleWrapper(moduleName, classes) + + def createCustomWidgetLoader(self): + return _CustomWidgetLoader(self._package) + + def instantiate(self, clsObject, objectName, ctor_args, is_attribute=True): + return clsObject(*ctor_args) + + def invoke(self, rname, method, args): + return method(*args) + + def getSlot(self, object, slotname): + # Rename slots that correspond to Python keyword arguments. + if slotname == 'raise': + slotname += '_' + + return getattr(object, slotname) + + def asString(self, s): + return s diff --git a/7.2/Add to ida python folder/PyQt5/uic/__init__.py b/7.2/Add to ida python folder/PyQt5/uic/__init__.py new file mode 100644 index 0000000..5d7e90a --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/__init__.py @@ -0,0 +1,230 @@ +############################################################################# +## +## Copyright (C) 2015 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +__all__ = ("compileUi", "compileUiDir", "loadUiType", "loadUi", "widgetPluginPath") + +from .Compiler import indenter, compiler + + +_header = """# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file '%s' +# +# Created by: PyQt5 UI code generator %s +# +# WARNING! All changes made in this file will be lost! + +""" + + +_display_code = """ +if __name__ == "__main__": +\timport sys +\tapp = QtWidgets.QApplication(sys.argv) +\t%(widgetname)s = QtWidgets.%(baseclass)s() +\tui = %(uiclass)s() +\tui.setupUi(%(widgetname)s) +\t%(widgetname)s.show() +\tsys.exit(app.exec_()) +""" + + +def compileUiDir(dir, recurse=False, map=None, **compileUi_args): + """compileUiDir(dir, recurse=False, map=None, **compileUi_args) + + Creates Python modules from Qt Designer .ui files in a directory or + directory tree. + + dir is the name of the directory to scan for files whose name ends with + '.ui'. By default the generated Python module is created in the same + directory ending with '.py'. + recurse is set if any sub-directories should be scanned. The default is + False. + map is an optional callable that is passed the name of the directory + containing the '.ui' file and the name of the Python module that will be + created. The callable should return a tuple of the name of the directory + in which the Python module will be created and the (possibly modified) + name of the module. The default is None. + compileUi_args are any additional keyword arguments that are passed to + the compileUi() function that is called to create each Python module. + """ + + import os + + # Compile a single .ui file. + def compile_ui(ui_dir, ui_file): + # Ignore if it doesn't seem to be a .ui file. + if ui_file.endswith('.ui'): + py_dir = ui_dir + py_file = ui_file[:-3] + '.py' + + # Allow the caller to change the name of the .py file or generate + # it in a different directory. + if map is not None: + py_dir, py_file = map(py_dir, py_file) + + # Make sure the destination directory exists. + try: + os.makedirs(py_dir) + except: + pass + + ui_path = os.path.join(ui_dir, ui_file) + py_path = os.path.join(py_dir, py_file) + + ui_file = open(ui_path, 'r') + py_file = open(py_path, 'w') + + try: + compileUi(ui_file, py_file, **compileUi_args) + finally: + ui_file.close() + py_file.close() + + if recurse: + for root, _, files in os.walk(dir): + for ui in files: + compile_ui(root, ui) + else: + for ui in os.listdir(dir): + if os.path.isfile(os.path.join(dir, ui)): + compile_ui(dir, ui) + + +def compileUi(uifile, pyfile, execute=False, indent=4, from_imports=False, resource_suffix='_rc', import_from='.'): + """compileUi(uifile, pyfile, execute=False, indent=4, from_imports=False, resource_suffix='_rc', import_from='.') + + Creates a Python module from a Qt Designer .ui file. + + uifile is a file name or file-like object containing the .ui file. + pyfile is the file-like object to which the Python code will be written to. + execute is optionally set to generate extra Python code that allows the + code to be run as a standalone application. The default is False. + indent is the optional indentation width using spaces. If it is 0 then a + tab is used. The default is 4. + from_imports is optionally set to generate relative import statements. At + the moment this only applies to the import of resource modules. + resource_suffix is the suffix appended to the basename of any resource file + specified in the .ui file to create the name of the Python module generated + from the resource file by pyrcc4. The default is '_rc', i.e. if the .ui + file specified a resource file called foo.qrc then the corresponding Python + module is foo_rc. + import_from is optionally set to the package used for relative import + statements. The default is ``'.'``. + """ + + from PyQt5.QtCore import PYQT_VERSION_STR + + try: + uifname = uifile.name + except AttributeError: + uifname = uifile + + indenter.indentwidth = indent + + pyfile.write(_header % (uifname, PYQT_VERSION_STR)) + + winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports, resource_suffix, import_from) + + if execute: + indenter.write_code(_display_code % winfo) + + +def loadUiType(uifile, from_imports=False, resource_suffix='_rc', import_from='.'): + """loadUiType(uifile, from_imports=False, resource_suffix='_rc', import_from='.') -> (form class, base class) + + Load a Qt Designer .ui file and return the generated form class and the Qt + base class. + + uifile is a file name or file-like object containing the .ui file. + from_imports is optionally set to generate relative import statements. At + the moment this only applies to the import of resource modules. + resource_suffix is the suffix appended to the basename of any resource file + specified in the .ui file to create the name of the Python module generated + from the resource file by pyrcc4. The default is '_rc', i.e. if the .ui + file specified a resource file called foo.qrc then the corresponding Python + module is foo_rc. + import_from is optionally set to the package used for relative import + statements. The default is ``'.'``. + """ + + import sys + + from PyQt5 import QtWidgets + + if sys.hexversion >= 0x03000000: + from .port_v3.string_io import StringIO + else: + from .port_v2.string_io import StringIO + + code_string = StringIO() + winfo = compiler.UICompiler().compileUi(uifile, code_string, from_imports, resource_suffix, import_from) + + ui_globals = {} + exec(code_string.getvalue(), ui_globals) + + return (ui_globals[winfo["uiclass"]], getattr(QtWidgets, winfo["baseclass"])) + + +def loadUi(uifile, baseinstance=None, package='', resource_suffix='_rc'): + """loadUi(uifile, baseinstance=None, package='') -> widget + + Load a Qt Designer .ui file and return an instance of the user interface. + + uifile is a file name or file-like object containing the .ui file. + baseinstance is an optional instance of the Qt base class. If specified + then the user interface is created in it. Otherwise a new instance of the + base class is automatically created. + package is the optional package which is used as the base for any relative + imports of custom widgets. + resource_suffix is the suffix appended to the basename of any resource file + specified in the .ui file to create the name of the Python module generated + from the resource file by pyrcc4. The default is '_rc', i.e. if the .ui + file specified a resource file called foo.qrc then the corresponding Python + module is foo_rc. + """ + + from .Loader.loader import DynamicUILoader + + return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix) + + +# The list of directories that are searched for widget plugins. +from .objcreator import widgetPluginPath diff --git a/7.2/Add to ida python folder/PyQt5/uic/driver.py b/7.2/Add to ida python folder/PyQt5/uic/driver.py new file mode 100644 index 0000000..60c0d0d --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/driver.py @@ -0,0 +1,149 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import sys +import logging + +from . import compileUi, loadUi + + +class Driver(object): + """ This encapsulates access to the pyuic functionality so that it can be + called by code that is Python v2/v3 specific. + """ + + LOGGER_NAME = 'PyQt5.uic' + + def __init__(self, opts, ui_file): + """ Initialise the object. opts is the parsed options. ui_file is the + name of the .ui file. + """ + + if opts.debug: + logger = logging.getLogger(self.LOGGER_NAME) + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter("%(name)s: %(message)s")) + logger.addHandler(handler) + logger.setLevel(logging.DEBUG) + + self._opts = opts + self._ui_file = ui_file + + def invoke(self): + """ Invoke the action as specified by the parsed options. Returns 0 if + there was no error. + """ + + if self._opts.preview: + return self._preview() + + self._generate() + + return 0 + + def _preview(self): + """ Preview the .ui file. Return the exit status to be passed back to + the parent process. + """ + + from PyQt5 import QtWidgets + + app = QtWidgets.QApplication([self._ui_file]) + widget = loadUi(self._ui_file) + widget.show() + + return app.exec_() + + def _generate(self): + """ Generate the Python code. """ + + needs_close = False + + if sys.hexversion >= 0x03000000: + if self._opts.output == '-': + from io import TextIOWrapper + + pyfile = TextIOWrapper(sys.stdout.buffer, encoding='utf8') + else: + pyfile = open(self._opts.output, 'wt', encoding='utf8') + needs_close = True + else: + if self._opts.output == '-': + pyfile = sys.stdout + else: + pyfile = open(self._opts.output, 'wt') + needs_close = True + + import_from = self._opts.import_from + + if import_from: + from_imports = True + elif self._opts.from_imports: + from_imports = True + import_from = '.' + else: + from_imports = False + + compileUi(self._ui_file, pyfile, self._opts.execute, self._opts.indent, + from_imports, self._opts.resource_suffix, import_from) + + if needs_close: + pyfile.close() + + def on_IOError(self, e): + """ Handle an IOError exception. """ + + sys.stderr.write("Error: %s: \"%s\"\n" % (e.strerror, e.filename)) + + def on_SyntaxError(self, e): + """ Handle a SyntaxError exception. """ + + sys.stderr.write("Error in input file: %s\n" % e) + + def on_NoSuchClassError(self, e): + """ Handle a NoSuchClassError exception. """ + + sys.stderr.write(str(e) + "\n") + + def on_NoSuchWidgetError(self, e): + """ Handle a NoSuchWidgetError exception. """ + + sys.stderr.write(str(e) + "\n") + + def on_Exception(self, e): + """ Handle a generic exception. """ + + if logging.getLogger(self.LOGGER_NAME).level == logging.DEBUG: + import traceback + + traceback.print_exception(*sys.exc_info()) + else: + from PyQt5 import QtCore + + sys.stderr.write("""An unexpected error occurred. +Check that you are using the latest version of PyQt5 and send an error report to +support@riverbankcomputing.com, including the following information: + + * your version of PyQt (%s) + * the UI file that caused this error + * the debug output of pyuic5 (use the -d flag when calling pyuic5) +""" % QtCore.PYQT_VERSION_STR) diff --git a/7.2/Add to ida python folder/PyQt5/uic/exceptions.py b/7.2/Add to ida python folder/PyQt5/uic/exceptions.py new file mode 100644 index 0000000..3c42750 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/exceptions.py @@ -0,0 +1,53 @@ +############################################################################# +## +## Copyright (C) 2017 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +class NoSuchClassError(Exception): + def __str__(self): + return "Unknown C++ class: %s" % self.args[0] + +class NoSuchWidgetError(Exception): + def __str__(self): + return "Unknown Qt widget: %s" % self.args[0] + +class UnsupportedPropertyError(Exception): + pass + +class WidgetPluginError(Exception): + pass diff --git a/7.2/Add to ida python folder/PyQt5/uic/icon_cache.py b/7.2/Add to ida python folder/PyQt5/uic/icon_cache.py new file mode 100644 index 0000000..49a77b7 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/icon_cache.py @@ -0,0 +1,159 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import os.path + + +class IconCache(object): + """Maintain a cache of icons. If an icon is used more than once by a GUI + then ensure that only one copy is created. + """ + + def __init__(self, object_factory, qtgui_module): + """Initialise the cache.""" + + self._object_factory = object_factory + self._qtgui_module = qtgui_module + self._base_dir = '' + self._cache = [] + + def set_base_dir(self, base_dir): + """ Set the base directory to be used for all relative filenames. """ + + self._base_dir = base_dir + + def get_icon(self, iconset): + """Return an icon described by the given iconset tag.""" + + # Handle a themed icon. + theme = iconset.attrib.get('theme') + if theme is not None: + return self._object_factory.createQObject("QIcon.fromTheme", + 'icon', (self._object_factory.asString(theme), ), + is_attribute=False) + + # Handle an empty iconset property. + if iconset.text is None: + return None + + iset = _IconSet(iconset, self._base_dir) + + try: + idx = self._cache.index(iset) + except ValueError: + idx = -1 + + if idx >= 0: + # Return the icon from the cache. + iset = self._cache[idx] + else: + # Follow uic's naming convention. + name = 'icon' + idx = len(self._cache) + + if idx > 0: + name += str(idx) + + icon = self._object_factory.createQObject("QIcon", name, (), + is_attribute=False) + iset.set_icon(icon, self._qtgui_module) + self._cache.append(iset) + + return iset.icon + + +class _IconSet(object): + """An icon set, ie. the mode and state and the pixmap used for each.""" + + def __init__(self, iconset, base_dir): + """Initialise the icon set from an XML tag.""" + + # Set the pre-Qt v4.4 fallback (ie. with no roles). + self._fallback = self._file_name(iconset.text, base_dir) + self._use_fallback = True + + # Parse the icon set. + self._roles = {} + + for i in iconset: + file_name = i.text + if file_name is not None: + file_name = self._file_name(file_name, base_dir) + + self._roles[i.tag] = file_name + self._use_fallback = False + + # There is no real icon yet. + self.icon = None + + @staticmethod + def _file_name(fname, base_dir): + """ Convert a relative filename if we have a base directory. """ + + fname = fname.replace("\\", "\\\\") + + if base_dir != '' and fname[0] != ':' and not os.path.isabs(fname): + fname = os.path.join(base_dir, fname) + + return fname + + def set_icon(self, icon, qtgui_module): + """Save the icon and set its attributes.""" + + if self._use_fallback: + icon.addFile(self._fallback) + else: + for role, pixmap in self._roles.items(): + if role.endswith("off"): + mode = role[:-3] + state = qtgui_module.QIcon.Off + elif role.endswith("on"): + mode = role[:-2] + state = qtgui_module.QIcon.On + else: + continue + + mode = getattr(qtgui_module.QIcon, mode.title()) + + if pixmap: + icon.addPixmap(qtgui_module.QPixmap(pixmap), mode, state) + else: + icon.addPixmap(qtgui_module.QPixmap(), mode, state) + + self.icon = icon + + def __eq__(self, other): + """Compare two icon sets for equality.""" + + if not isinstance(other, type(self)): + return NotImplemented + + if self._use_fallback: + if other._use_fallback: + return self._fallback == other._fallback + + return False + + if other._use_fallback: + return False + + return self._roles == other._roles diff --git a/7.2/Add to ida python folder/PyQt5/uic/objcreator.py b/7.2/Add to ida python folder/PyQt5/uic/objcreator.py new file mode 100644 index 0000000..d73f322 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/objcreator.py @@ -0,0 +1,163 @@ +############################################################################# +## +## Copyright (C) 2015 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import os.path + +from .exceptions import NoSuchWidgetError, WidgetPluginError + + +# The list of directories that are searched for widget plugins. This is +# exposed as part of the API. +widgetPluginPath = [os.path.join(os.path.dirname(__file__), 'widget-plugins')] + + +MATCH = True +NO_MATCH = False +MODULE = 0 +CW_FILTER = 1 + + +class QObjectCreator(object): + def __init__(self, creatorPolicy): + self._cpolicy = creatorPolicy + + self._cwFilters = [] + self._modules = self._cpolicy.createQtGuiWidgetsWrappers() + + # Get the optional plugins. + for plugindir in widgetPluginPath: + try: + plugins = os.listdir(plugindir) + except: + plugins = [] + + for filename in plugins: + if not filename.endswith('.py'): + continue + + filename = os.path.join(plugindir, filename) + + plugin_globals = { + "MODULE": MODULE, + "CW_FILTER": CW_FILTER, + "MATCH": MATCH, + "NO_MATCH": NO_MATCH} + + plugin_locals = {} + + if self.load_plugin(filename, plugin_globals, plugin_locals): + pluginType = plugin_locals["pluginType"] + if pluginType == MODULE: + modinfo = plugin_locals["moduleInformation"]() + self._modules.append(self._cpolicy.createModuleWrapper(*modinfo)) + elif pluginType == CW_FILTER: + self._cwFilters.append(plugin_locals["getFilter"]()) + else: + raise WidgetPluginError("Unknown plugin type of %s" % filename) + + self._customWidgets = self._cpolicy.createCustomWidgetLoader() + self._modules.append(self._customWidgets) + + def createQObject(self, classname, *args, **kwargs): + # Handle regular and custom widgets. + factory = self.findQObjectType(classname) + + if factory is None: + # Handle scoped names, typically static factory methods. + parts = classname.split('.') + + if len(parts) > 1: + factory = self.findQObjectType(parts[0]) + + if factory is not None: + for part in parts[1:]: + factory = getattr(factory, part, None) + if factory is None: + break + + if factory is None: + raise NoSuchWidgetError(classname) + + return self._cpolicy.instantiate(factory, *args, **kwargs) + + def invoke(self, rname, method, args=()): + return self._cpolicy.invoke(rname, method, args) + + def findQObjectType(self, classname): + for module in self._modules: + w = module.search(classname) + if w is not None: + return w + return None + + def getSlot(self, obj, slotname): + return self._cpolicy.getSlot(obj, slotname) + + def asString(self, s): + return self._cpolicy.asString(s) + + def addCustomWidget(self, widgetClass, baseClass, module): + for cwFilter in self._cwFilters: + match, result = cwFilter(widgetClass, baseClass, module) + if match: + widgetClass, baseClass, module = result + break + + self._customWidgets.addCustomWidget(widgetClass, baseClass, module) + + @staticmethod + def load_plugin(filename, plugin_globals, plugin_locals): + """ Load the plugin from the given file. Return True if the plugin was + loaded, or False if it wanted to be ignored. Raise an exception if + there was an error. + """ + + plugin = open(filename, 'rU') + + try: + exec(plugin.read(), plugin_globals, plugin_locals) + except ImportError: + return False + except Exception as e: + raise WidgetPluginError("%s: %s" % (e.__class__, str(e))) + finally: + plugin.close() + + return True diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v2/__init__.py b/7.2/Add to ida python folder/PyQt5/uic/port_v2/__init__.py new file mode 100644 index 0000000..72697c0 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v2/__init__.py @@ -0,0 +1,20 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v2/as_string.py b/7.2/Add to ida python folder/PyQt5/uic/port_v2/as_string.py new file mode 100644 index 0000000..89a8f01 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v2/as_string.py @@ -0,0 +1,40 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import re + + +def as_string(obj): + if isinstance(obj, basestring): + return '"' + _escape(obj.encode('UTF-8')) + '"' + + return str(obj) + + +_esc_regex = re.compile(r"(\"|\'|\\)") + +def _escape(text): + # This escapes any escaped single or double quote or backslash. + x = _esc_regex.sub(r"\\\1", text) + + # This replaces any '\n' with an escaped version and a real line break. + return re.sub(r'\n', r'\\n"\n"', x) diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v2/ascii_upper.py b/7.2/Add to ida python folder/PyQt5/uic/port_v2/ascii_upper.py new file mode 100644 index 0000000..92d03e3 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v2/ascii_upper.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import string + + +# A translation table for converting ASCII lower case to upper case. +_ascii_trans_table = string.maketrans(string.ascii_lowercase, + string.ascii_uppercase) + + +# Convert a string to ASCII upper case irrespective of the current locale. +def ascii_upper(s): + return s.translate(_ascii_trans_table) diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v2/proxy_base.py b/7.2/Add to ida python folder/PyQt5/uic/port_v2/proxy_base.py new file mode 100644 index 0000000..0d29385 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v2/proxy_base.py @@ -0,0 +1,31 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +from ..Compiler.proxy_metaclass import ProxyMetaclass + + +class ProxyBase(object): + """ A base class for proxies using Python v2 syntax for setting the + meta-class. + """ + + __metaclass__ = ProxyMetaclass diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v2/string_io.py b/7.2/Add to ida python folder/PyQt5/uic/port_v2/string_io.py new file mode 100644 index 0000000..99b394c --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v2/string_io.py @@ -0,0 +1,27 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# Import the StringIO object. +try: + from cStringIO import StringIO +except ImportError: + from StringIO import StringIO diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v3/__init__.py b/7.2/Add to ida python folder/PyQt5/uic/port_v3/__init__.py new file mode 100644 index 0000000..72697c0 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v3/__init__.py @@ -0,0 +1,20 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v3/as_string.py b/7.2/Add to ida python folder/PyQt5/uic/port_v3/as_string.py new file mode 100644 index 0000000..b492397 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v3/as_string.py @@ -0,0 +1,40 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import re + + +def as_string(obj): + if isinstance(obj, str): + return '"' + _escape(obj) + '"' + + return str(obj) + + +_esc_regex = re.compile(r"(\"|\'|\\)") + +def _escape(text): + # This escapes any escaped single or double quote or backslash. + x = _esc_regex.sub(r"\\\1", text) + + # This replaces any '\n' with an escaped version and a real line break. + return re.sub(r'\n', r'\\n"\n"', x) diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v3/ascii_upper.py b/7.2/Add to ida python folder/PyQt5/uic/port_v3/ascii_upper.py new file mode 100644 index 0000000..148cdb4 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v3/ascii_upper.py @@ -0,0 +1,30 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# A translation table for converting ASCII lower case to upper case. +_ascii_trans_table = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', + b'ABCDEFGHIJKLMNOPQRSTUVWXYZ') + + +# Convert a string to ASCII upper case irrespective of the current locale. +def ascii_upper(s): + return s.translate(_ascii_trans_table) diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v3/proxy_base.py b/7.2/Add to ida python folder/PyQt5/uic/port_v3/proxy_base.py new file mode 100644 index 0000000..ccc1c75 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v3/proxy_base.py @@ -0,0 +1,29 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +from ..Compiler.proxy_metaclass import ProxyMetaclass + + +class ProxyBase(metaclass=ProxyMetaclass): + """ A base class for proxies using Python v3 syntax for setting the + meta-class. + """ diff --git a/7.2/Add to ida python folder/PyQt5/uic/port_v3/string_io.py b/7.2/Add to ida python folder/PyQt5/uic/port_v3/string_io.py new file mode 100644 index 0000000..d29946d --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/port_v3/string_io.py @@ -0,0 +1,24 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# Import the StringIO object. +from io import StringIO diff --git a/7.2/Add to ida python folder/PyQt5/uic/properties.py b/7.2/Add to ida python folder/PyQt5/uic/properties.py new file mode 100644 index 0000000..3b4af2a --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/properties.py @@ -0,0 +1,523 @@ +############################################################################# +## +## Copyright (C) 2017 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import logging +import os.path +import sys + +from .exceptions import NoSuchClassError, UnsupportedPropertyError +from .icon_cache import IconCache + +if sys.hexversion >= 0x03000000: + from .port_v3.ascii_upper import ascii_upper +else: + from .port_v2.ascii_upper import ascii_upper + + +logger = logging.getLogger(__name__) +DEBUG = logger.debug + + +QtCore = None +QtGui = None +QtWidgets = None + + +def int_list(prop): + return [int(child.text) for child in prop] + +def float_list(prop): + return [float(child.text) for child in prop] + +bool_ = lambda v: v == "true" + +def qfont_enum(v): + return getattr(QtGui.QFont, v) + +def needsWidget(func): + func.needsWidget = True + return func + + +class Properties(object): + def __init__(self, factory, qtcore_module, qtgui_module, qtwidgets_module): + self.factory = factory + + global QtCore, QtGui, QtWidgets + QtCore = qtcore_module + QtGui = qtgui_module + QtWidgets = qtwidgets_module + + self._base_dir = '' + + self.reset() + + def set_base_dir(self, base_dir): + """ Set the base directory to be used for all relative filenames. """ + + self._base_dir = base_dir + self.icon_cache.set_base_dir(base_dir) + + def reset(self): + self.buddies = [] + self.delayed_props = [] + self.icon_cache = IconCache(self.factory, QtGui) + + def _pyEnumMember(self, cpp_name): + try: + prefix, membername = cpp_name.split("::") + except ValueError: + prefix = 'Qt' + membername = cpp_name + + if prefix == 'Qt': + return getattr(QtCore.Qt, membername) + + scope = self.factory.findQObjectType(prefix) + if scope is None: + raise NoSuchClassError(prefix) + + return getattr(scope, membername) + + def _set(self, prop): + expr = [self._pyEnumMember(v) for v in prop.text.split('|')] + + value = expr[0] + for v in expr[1:]: + value |= v + + return value + + def _enum(self, prop): + return self._pyEnumMember(prop.text) + + def _number(self, prop): + return int(prop.text) + + _uInt = _longLong = _uLongLong = _number + + def _double(self, prop): + return float(prop.text) + + def _bool(self, prop): + return prop.text == 'true' + + def _stringlist(self, prop): + return [self._string(p, notr='true') for p in prop] + + def _string(self, prop, notr=None): + text = prop.text + + if text is None: + return "" + + if prop.get('notr', notr) == 'true': + return text + + disambig = prop.get('comment') + + return QtWidgets.QApplication.translate(self.uiname, text, disambig) + + _char = _string + + def _cstring(self, prop): + return str(prop.text) + + def _color(self, prop): + args = int_list(prop) + + # Handle the optional alpha component. + alpha = int(prop.get("alpha", "255")) + + if alpha != 255: + args.append(alpha) + + return QtGui.QColor(*args) + + def _point(self, prop): + return QtCore.QPoint(*int_list(prop)) + + def _pointf(self, prop): + return QtCore.QPointF(*float_list(prop)) + + def _rect(self, prop): + return QtCore.QRect(*int_list(prop)) + + def _rectf(self, prop): + return QtCore.QRectF(*float_list(prop)) + + def _size(self, prop): + return QtCore.QSize(*int_list(prop)) + + def _sizef(self, prop): + return QtCore.QSizeF(*float_list(prop)) + + def _pixmap(self, prop): + if prop.text: + fname = prop.text.replace("\\", "\\\\") + if self._base_dir != '' and fname[0] != ':' and not os.path.isabs(fname): + fname = os.path.join(self._base_dir, fname) + + return QtGui.QPixmap(fname) + + # Don't bother to set the property if the pixmap is empty. + return None + + def _iconset(self, prop): + return self.icon_cache.get_icon(prop) + + def _url(self, prop): + return QtCore.QUrl(prop[0].text) + + def _locale(self, prop): + lang = getattr(QtCore.QLocale, prop.attrib['language']) + country = getattr(QtCore.QLocale, prop.attrib['country']) + return QtCore.QLocale(lang, country) + + def _date(self, prop): + return QtCore.QDate(*int_list(prop)) + + def _datetime(self, prop): + args = int_list(prop) + return QtCore.QDateTime(QtCore.QDate(*args[-3:]), QtCore.QTime(*args[:-3])) + + def _time(self, prop): + return QtCore.QTime(*int_list(prop)) + + def _gradient(self, prop): + name = 'gradient' + + # Create the specific gradient. + gtype = prop.get('type', '') + + if gtype == 'LinearGradient': + startx = float(prop.get('startx')) + starty = float(prop.get('starty')) + endx = float(prop.get('endx')) + endy = float(prop.get('endy')) + gradient = self.factory.createQObject('QLinearGradient', name, + (startx, starty, endx, endy), is_attribute=False) + + elif gtype == 'ConicalGradient': + centralx = float(prop.get('centralx')) + centraly = float(prop.get('centraly')) + angle = float(prop.get('angle')) + gradient = self.factory.createQObject('QConicalGradient', name, + (centralx, centraly, angle), is_attribute=False) + + elif gtype == 'RadialGradient': + centralx = float(prop.get('centralx')) + centraly = float(prop.get('centraly')) + radius = float(prop.get('radius')) + focalx = float(prop.get('focalx')) + focaly = float(prop.get('focaly')) + gradient = self.factory.createQObject('QRadialGradient', name, + (centralx, centraly, radius, focalx, focaly), + is_attribute=False) + + else: + raise UnsupportedPropertyError(prop.tag) + + # Set the common values. + spread = prop.get('spread') + if spread: + gradient.setSpread(getattr(QtGui.QGradient, spread)) + + cmode = prop.get('coordinatemode') + if cmode: + gradient.setCoordinateMode(getattr(QtGui.QGradient, cmode)) + + # Get the gradient stops. + for gstop in prop: + if gstop.tag != 'gradientstop': + raise UnsupportedPropertyError(gstop.tag) + + position = float(gstop.get('position')) + color = self._color(gstop[0]) + + gradient.setColorAt(position, color) + + return name + + def _palette(self, prop): + palette = self.factory.createQObject("QPalette", "palette", (), + is_attribute=False) + + for palette_elem in prop: + sub_palette = getattr(QtGui.QPalette, palette_elem.tag.title()) + for role, color in enumerate(palette_elem): + if color.tag == 'color': + # Handle simple colour descriptions where the role is + # implied by the colour's position. + palette.setColor(sub_palette, + QtGui.QPalette.ColorRole(role), self._color(color)) + elif color.tag == 'colorrole': + role = getattr(QtGui.QPalette, color.get('role')) + brush = self._brush(color[0]) + palette.setBrush(sub_palette, role, brush) + else: + raise UnsupportedPropertyError(color.tag) + + return palette + + def _brush(self, prop): + brushstyle = prop.get('brushstyle') + + if brushstyle in ('LinearGradientPattern', 'ConicalGradientPattern', 'RadialGradientPattern'): + gradient = self._gradient(prop[0]) + brush = self.factory.createQObject("QBrush", "brush", (gradient, ), + is_attribute=False) + else: + color = self._color(prop[0]) + brush = self.factory.createQObject("QBrush", "brush", (color, ), + is_attribute=False) + + brushstyle = getattr(QtCore.Qt, brushstyle) + brush.setStyle(brushstyle) + + return brush + + #@needsWidget + def _sizepolicy(self, prop, widget): + values = [int(child.text) for child in prop] + + if len(values) == 2: + # Qt v4.3.0 and later. + horstretch, verstretch = values + hsizetype = getattr(QtWidgets.QSizePolicy, prop.get('hsizetype')) + vsizetype = getattr(QtWidgets.QSizePolicy, prop.get('vsizetype')) + else: + hsizetype, vsizetype, horstretch, verstretch = values + hsizetype = QtWidgets.QSizePolicy.Policy(hsizetype) + vsizetype = QtWidgets.QSizePolicy.Policy(vsizetype) + + sizePolicy = self.factory.createQObject('QSizePolicy', 'sizePolicy', + (hsizetype, vsizetype), is_attribute=False) + sizePolicy.setHorizontalStretch(horstretch) + sizePolicy.setVerticalStretch(verstretch) + sizePolicy.setHeightForWidth(widget.sizePolicy().hasHeightForWidth()) + return sizePolicy + _sizepolicy = needsWidget(_sizepolicy) + + # font needs special handling/conversion of all child elements. + _font_attributes = (("Family", lambda s: s), + ("PointSize", int), + ("Bold", bool_), + ("Italic", bool_), + ("Underline", bool_), + ("Weight", int), + ("StrikeOut", bool_), + ("Kerning", bool_), + ("StyleStrategy", qfont_enum)) + + def _font(self, prop): + newfont = self.factory.createQObject("QFont", "font", (), + is_attribute = False) + for attr, converter in self._font_attributes: + v = prop.findtext("./%s" % (attr.lower(),)) + if v is None: + continue + + getattr(newfont, "set%s" % (attr,))(converter(v)) + return newfont + + def _cursor(self, prop): + return QtGui.QCursor(QtCore.Qt.CursorShape(int(prop.text))) + + def _cursorShape(self, prop): + return QtGui.QCursor(getattr(QtCore.Qt, prop.text)) + + def convert(self, prop, widget=None): + try: + func = getattr(self, "_" + prop[0].tag) + except AttributeError: + raise UnsupportedPropertyError(prop[0].tag) + else: + args = {} + if getattr(func, "needsWidget", False): + assert widget is not None + args["widget"] = widget + + return func(prop[0], **args) + + + def _getChild(self, elem_tag, elem, name, default=None): + for prop in elem.findall(elem_tag): + if prop.attrib["name"] == name: + return self.convert(prop) + else: + return default + + def getProperty(self, elem, name, default=None): + return self._getChild("property", elem, name, default) + + def getAttribute(self, elem, name, default=None): + return self._getChild("attribute", elem, name, default) + + def setProperties(self, widget, elem): + # Lines are sunken unless the frame shadow is explicitly set. + set_sunken = (elem.attrib.get('class') == 'Line') + + for prop in elem.findall('property'): + prop_name = prop.attrib['name'] + DEBUG("setting property %s" % (prop_name,)) + + if prop_name == 'frameShadow': + set_sunken = False + + try: + stdset = bool(int(prop.attrib['stdset'])) + except KeyError: + stdset = True + + if not stdset: + self._setViaSetProperty(widget, prop) + elif hasattr(self, prop_name): + getattr(self, prop_name)(widget, prop) + else: + prop_value = self.convert(prop, widget) + if prop_value is not None: + getattr(widget, 'set%s%s' % (ascii_upper(prop_name[0]), prop_name[1:]))(prop_value) + + if set_sunken: + widget.setFrameShadow(QtWidgets.QFrame.Sunken) + + # SPECIAL PROPERTIES + # If a property has a well-known value type but needs special, + # context-dependent handling, the default behaviour can be overridden here. + + # Delayed properties will be set after the whole widget tree has been + # populated. + def _delayed_property(self, widget, prop): + prop_value = self.convert(prop) + if prop_value is not None: + prop_name = prop.attrib["name"] + self.delayed_props.append((widget, False, + 'set%s%s' % (ascii_upper(prop_name[0]), prop_name[1:]), + prop_value)) + + # These properties will be set with a widget.setProperty call rather than + # calling the set function. + def _setViaSetProperty(self, widget, prop): + prop_value = self.convert(prop) + if prop_value is not None: + prop_name = prop.attrib['name'] + + # This appears to be a Designer/uic hack where stdset=0 means that + # the viewport should be used. + if prop[0].tag == 'cursorShape': + widget.viewport().setProperty(prop_name, prop_value) + else: + widget.setProperty(prop_name, prop_value) + + # Ignore the property. + def _ignore(self, widget, prop): + pass + + # Define properties that use the canned handlers. + currentIndex = _delayed_property + currentRow = _delayed_property + + showDropIndicator = _setViaSetProperty + intValue = _setViaSetProperty + value = _setViaSetProperty + + objectName = _ignore + margin = _ignore + leftMargin = _ignore + topMargin = _ignore + rightMargin = _ignore + bottomMargin = _ignore + spacing = _ignore + horizontalSpacing = _ignore + verticalSpacing = _ignore + + # tabSpacing is actually the spacing property of the widget's layout. + def tabSpacing(self, widget, prop): + prop_value = self.convert(prop) + if prop_value is not None: + self.delayed_props.append((widget, True, 'setSpacing', prop_value)) + + # buddy setting has to be done after the whole widget tree has been + # populated. We can't use delay here because we cannot get the actual + # buddy yet. + def buddy(self, widget, prop): + buddy_name = prop[0].text + if buddy_name: + self.buddies.append((widget, buddy_name)) + + # geometry is handled specially if set on the toplevel widget. + def geometry(self, widget, prop): + if widget.objectName() == self.uiname: + geom = int_list(prop[0]) + widget.resize(geom[2], geom[3]) + else: + widget.setGeometry(self._rect(prop[0])) + + def orientation(self, widget, prop): + # If the class is a QFrame, it's a line. + if widget.metaObject().className() == 'QFrame': + widget.setFrameShape( + {'Qt::Horizontal': QtWidgets.QFrame.HLine, + 'Qt::Vertical' : QtWidgets.QFrame.VLine}[prop[0].text]) + else: + widget.setOrientation(self._enum(prop[0])) + + # The isWrapping attribute of QListView is named inconsistently, it should + # be wrapping. + def isWrapping(self, widget, prop): + widget.setWrapping(self.convert(prop)) + + # This is a pseudo-property injected to deal with margins. + def pyuicMargins(self, widget, prop): + widget.setContentsMargins(*int_list(prop)) + + # This is a pseudo-property injected to deal with spacing. + def pyuicSpacing(self, widget, prop): + horiz, vert = int_list(prop) + + if horiz == vert: + widget.setSpacing(horiz) + else: + if horiz >= 0: + widget.setHorizontalSpacing(horiz) + + if vert >= 0: + widget.setVerticalSpacing(vert) diff --git a/7.2/Add to ida python folder/PyQt5/uic/pyuic.py b/7.2/Add to ida python folder/PyQt5/uic/pyuic.py new file mode 100644 index 0000000..8f3447a --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/pyuic.py @@ -0,0 +1,96 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +import sys +import optparse + +from PyQt5 import QtCore + +from .driver import Driver +from .exceptions import NoSuchClassError, NoSuchWidgetError + + +Version = "Python User Interface Compiler %s for Qt version %s" % (QtCore.PYQT_VERSION_STR, QtCore.QT_VERSION_STR) + + +def main(): + parser = optparse.OptionParser(usage="pyuic5 [options] ", + version=Version) + parser.add_option("-p", "--preview", dest="preview", action="store_true", + default=False, + help="show a preview of the UI instead of generating code") + parser.add_option("-o", "--output", dest="output", default="-", + metavar="FILE", + help="write generated code to FILE instead of stdout") + parser.add_option("-x", "--execute", dest="execute", action="store_true", + default=False, + help="generate extra code to test and display the class") + parser.add_option("-d", "--debug", dest="debug", action="store_true", + default=False, help="show debug output") + parser.add_option("-i", "--indent", dest="indent", action="store", + type="int", default=4, metavar="N", + help="set indent width to N spaces, tab if N is 0 [default: 4]") + + g = optparse.OptionGroup(parser, title="Code generation options") + g.add_option("--import-from", dest="import_from", metavar="PACKAGE", + help="generate imports of pyrcc5 generated modules in the style 'from PACKAGE import ...'") + g.add_option("--from-imports", dest="from_imports", action="store_true", + default=False, help="the equivalent of '--import-from=.'") + g.add_option("--resource-suffix", dest="resource_suffix", action="store", + type="string", default="_rc", metavar="SUFFIX", + help="append SUFFIX to the basename of resource files [default: _rc]") + parser.add_option_group(g) + + opts, args = parser.parse_args() + + if len(args) != 1: + sys.stderr.write("Error: one input ui-file must be specified\n") + sys.exit(1) + + # Invoke the appropriate driver. + driver = Driver(opts, args[0]) + + exit_status = 1 + + try: + exit_status = driver.invoke() + + except IOError as e: + driver.on_IOError(e) + + except SyntaxError as e: + driver.on_SyntaxError(e) + + except NoSuchClassError as e: + driver.on_NoSuchClassError(e) + + except NoSuchWidgetError as e: + driver.on_NoSuchWidgetError(e) + + except Exception as e: + driver.on_Exception(e) + + sys.exit(exit_status) + + +if __name__ == '__main__': + main() diff --git a/7.2/Add to ida python folder/PyQt5/uic/uiparser.py b/7.2/Add to ida python folder/PyQt5/uic/uiparser.py new file mode 100644 index 0000000..e47e23f --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/uiparser.py @@ -0,0 +1,1036 @@ +############################################################################# +## +## Copyright (C) 2017 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +import sys +import logging +import os.path +import re +from xml.etree.ElementTree import parse, SubElement + +from .objcreator import QObjectCreator +from .properties import Properties + + +logger = logging.getLogger(__name__) +DEBUG = logger.debug + +QtCore = None +QtWidgets = None + + +def _parse_alignment(alignment): + """ Convert a C++ alignment to the corresponding flags. """ + + align_flags = None + for qt_align in alignment.split('|'): + _, qt_align = qt_align.split('::') + align = getattr(QtCore.Qt, qt_align) + + if align_flags is None: + align_flags = align + else: + align_flags |= align + + return align_flags + + +def _layout_position(elem): + """ Return either (), (0, alignment), (row, column, rowspan, colspan) or + (row, column, rowspan, colspan, alignment) depending on the type of layout + and its configuration. The result will be suitable to use as arguments to + the layout. + """ + + row = elem.attrib.get('row') + column = elem.attrib.get('column') + alignment = elem.attrib.get('alignment') + + # See if it is a box layout. + if row is None or column is None: + if alignment is None: + return () + + return (0, _parse_alignment(alignment)) + + # It must be a grid or a form layout. + row = int(row) + column = int(column) + + rowspan = int(elem.attrib.get('rowspan', 1)) + colspan = int(elem.attrib.get('colspan', 1)) + + if alignment is None: + return (row, column, rowspan, colspan) + + return (row, column, rowspan, colspan, _parse_alignment(alignment)) + + +class WidgetStack(list): + topwidget = None + def push(self, item): + DEBUG("push %s %s" % (item.metaObject().className(), + item.objectName())) + self.append(item) + if isinstance(item, QtWidgets.QWidget): + self.topwidget = item + + def popLayout(self): + layout = list.pop(self) + DEBUG("pop layout %s %s" % (layout.metaObject().className(), + layout.objectName())) + return layout + + def popWidget(self): + widget = list.pop(self) + DEBUG("pop widget %s %s" % (widget.metaObject().className(), + widget.objectName())) + for item in reversed(self): + if isinstance(item, QtWidgets.QWidget): + self.topwidget = item + break + else: + self.topwidget = None + DEBUG("new topwidget %s" % (self.topwidget,)) + return widget + + def peek(self): + return self[-1] + + def topIsLayout(self): + return isinstance(self[-1], QtWidgets.QLayout) + + def topIsLayoutWidget(self): + # A plain QWidget is a layout widget unless it's parent is a + # QMainWindow or a container widget. Note that the corresponding uic + # test is a little more complicated as it involves features not + # supported by pyuic. + + if type(self[-1]) is not QtWidgets.QWidget: + return False + + if len(self) < 2: + return False + + parent = self[-2] + + return isinstance(parent, QtWidgets.QWidget) and type(parent) not in ( + QtWidgets.QMainWindow, + QtWidgets.QStackedWidget, + QtWidgets.QToolBox, + QtWidgets.QTabWidget, + QtWidgets.QScrollArea, + QtWidgets.QMdiArea, + QtWidgets.QWizard, + QtWidgets.QDockWidget) + + +class ButtonGroup(object): + """ Encapsulate the configuration of a button group and its implementation. + """ + + def __init__(self): + """ Initialise the button group. """ + + self.exclusive = True + self.object = None + + +class UIParser(object): + def __init__(self, qtcore_module, qtgui_module, qtwidgets_module, creatorPolicy): + self.factory = QObjectCreator(creatorPolicy) + self.wprops = Properties(self.factory, qtcore_module, qtgui_module, + qtwidgets_module) + + global QtCore, QtWidgets + QtCore = qtcore_module + QtWidgets = qtwidgets_module + + self.reset() + + def uniqueName(self, name): + """UIParser.uniqueName(string) -> string + + Create a unique name from a string. + >>> p = UIParser(QtCore, QtGui, QtWidgets) + >>> p.uniqueName("foo") + 'foo' + >>> p.uniqueName("foo") + 'foo1' + """ + try: + suffix = self.name_suffixes[name] + except KeyError: + self.name_suffixes[name] = 0 + return name + + suffix += 1 + self.name_suffixes[name] = suffix + + return "%s%i" % (name, suffix) + + def reset(self): + try: self.wprops.reset() + except AttributeError: pass + self.toplevelWidget = None + self.stack = WidgetStack() + self.name_suffixes = {} + self.defaults = {'spacing': -1, 'margin': -1} + self.actions = [] + self.currentActionGroup = None + self.resources = [] + self.button_groups = {} + + def setupObject(self, clsname, parent, branch, is_attribute=True): + name = self.uniqueName(branch.attrib.get('name') or clsname[1:].lower()) + + if parent is None: + args = () + else: + args = (parent, ) + + obj = self.factory.createQObject(clsname, name, args, is_attribute) + + self.wprops.setProperties(obj, branch) + obj.setObjectName(name) + + if is_attribute: + setattr(self.toplevelWidget, name, obj) + + return obj + + def getProperty(self, elem, name): + for prop in elem.findall('property'): + if prop.attrib['name'] == name: + return prop + + return None + + def createWidget(self, elem): + self.column_counter = 0 + self.row_counter = 0 + self.item_nr = 0 + self.itemstack = [] + self.sorting_enabled = None + + widget_class = elem.attrib['class'].replace('::', '.') + if widget_class == 'Line': + widget_class = 'QFrame' + + # Ignore the parent if it is a container. + parent = self.stack.topwidget + if isinstance(parent, (QtWidgets.QDockWidget, QtWidgets.QMdiArea, + QtWidgets.QScrollArea, QtWidgets.QStackedWidget, + QtWidgets.QToolBox, QtWidgets.QTabWidget, + QtWidgets.QWizard)): + parent = None + + self.stack.push(self.setupObject(widget_class, parent, elem)) + + if isinstance(self.stack.topwidget, QtWidgets.QTableWidget): + if self.getProperty(elem, 'columnCount') is None: + self.stack.topwidget.setColumnCount(len(elem.findall("column"))) + + if self.getProperty(elem, 'rowCount') is None: + self.stack.topwidget.setRowCount(len(elem.findall("row"))) + + self.traverseWidgetTree(elem) + widget = self.stack.popWidget() + + if isinstance(widget, QtWidgets.QTreeView): + self.handleHeaderView(elem, "header", widget.header()) + + elif isinstance(widget, QtWidgets.QTableView): + self.handleHeaderView(elem, "horizontalHeader", + widget.horizontalHeader()) + self.handleHeaderView(elem, "verticalHeader", + widget.verticalHeader()) + + elif isinstance(widget, QtWidgets.QAbstractButton): + bg_i18n = self.wprops.getAttribute(elem, "buttonGroup") + if bg_i18n is not None: + # This should be handled properly in case the problem arises + # elsewhere as well. + try: + # We are compiling the .ui file. + bg_name = bg_i18n.string + except AttributeError: + # We are loading the .ui file. + bg_name = bg_i18n + + # Designer allows the creation of .ui files without explicit + # button groups, even though uic then issues warnings. We + # handle it in two stages by first making sure it has a name + # and then making sure one exists with that name. + if not bg_name: + bg_name = 'buttonGroup' + + try: + bg = self.button_groups[bg_name] + except KeyError: + bg = self.button_groups[bg_name] = ButtonGroup() + + if bg.object is None: + bg.object = self.factory.createQObject("QButtonGroup", + bg_name, (self.toplevelWidget, )) + setattr(self.toplevelWidget, bg_name, bg.object) + + bg.object.setObjectName(bg_name) + + if not bg.exclusive: + bg.object.setExclusive(False) + + bg.object.addButton(widget) + + if self.sorting_enabled is not None: + widget.setSortingEnabled(self.sorting_enabled) + self.sorting_enabled = None + + if self.stack.topIsLayout(): + lay = self.stack.peek() + lp = elem.attrib['layout-position'] + + if isinstance(lay, QtWidgets.QFormLayout): + lay.setWidget(lp[0], self._form_layout_role(lp), widget) + else: + lay.addWidget(widget, *lp) + + topwidget = self.stack.topwidget + + if isinstance(topwidget, QtWidgets.QToolBox): + icon = self.wprops.getAttribute(elem, "icon") + if icon is not None: + topwidget.addItem(widget, icon, self.wprops.getAttribute(elem, "label")) + else: + topwidget.addItem(widget, self.wprops.getAttribute(elem, "label")) + + tooltip = self.wprops.getAttribute(elem, "toolTip") + if tooltip is not None: + topwidget.setItemToolTip(topwidget.indexOf(widget), tooltip) + + elif isinstance(topwidget, QtWidgets.QTabWidget): + icon = self.wprops.getAttribute(elem, "icon") + if icon is not None: + topwidget.addTab(widget, icon, self.wprops.getAttribute(elem, "title")) + else: + topwidget.addTab(widget, self.wprops.getAttribute(elem, "title")) + + tooltip = self.wprops.getAttribute(elem, "toolTip") + if tooltip is not None: + topwidget.setTabToolTip(topwidget.indexOf(widget), tooltip) + + elif isinstance(topwidget, QtWidgets.QWizard): + topwidget.addPage(widget) + + elif isinstance(topwidget, QtWidgets.QStackedWidget): + topwidget.addWidget(widget) + + elif isinstance(topwidget, (QtWidgets.QDockWidget, QtWidgets.QScrollArea)): + topwidget.setWidget(widget) + + elif isinstance(topwidget, QtWidgets.QMainWindow): + if type(widget) == QtWidgets.QWidget: + topwidget.setCentralWidget(widget) + elif isinstance(widget, QtWidgets.QToolBar): + tbArea = self.wprops.getAttribute(elem, "toolBarArea") + + if tbArea is None: + topwidget.addToolBar(widget) + else: + topwidget.addToolBar(tbArea, widget) + + tbBreak = self.wprops.getAttribute(elem, "toolBarBreak") + + if tbBreak: + topwidget.insertToolBarBreak(widget) + + elif isinstance(widget, QtWidgets.QMenuBar): + topwidget.setMenuBar(widget) + elif isinstance(widget, QtWidgets.QStatusBar): + topwidget.setStatusBar(widget) + elif isinstance(widget, QtWidgets.QDockWidget): + dwArea = self.wprops.getAttribute(elem, "dockWidgetArea") + topwidget.addDockWidget(QtCore.Qt.DockWidgetArea(dwArea), + widget) + + def handleHeaderView(self, elem, name, header): + value = self.wprops.getAttribute(elem, name + "Visible") + if value is not None: + header.setVisible(value) + + value = self.wprops.getAttribute(elem, name + "CascadingSectionResizes") + if value is not None: + header.setCascadingSectionResizes(value) + + value = self.wprops.getAttribute(elem, name + "DefaultSectionSize") + if value is not None: + header.setDefaultSectionSize(value) + + value = self.wprops.getAttribute(elem, name + "HighlightSections") + if value is not None: + header.setHighlightSections(value) + + value = self.wprops.getAttribute(elem, name + "MinimumSectionSize") + if value is not None: + header.setMinimumSectionSize(value) + + value = self.wprops.getAttribute(elem, name + "ShowSortIndicator") + if value is not None: + header.setSortIndicatorShown(value) + + value = self.wprops.getAttribute(elem, name + "StretchLastSection") + if value is not None: + header.setStretchLastSection(value) + + def createSpacer(self, elem): + width = elem.findtext("property/size/width") + height = elem.findtext("property/size/height") + + if width is None or height is None: + size_args = () + else: + size_args = (int(width), int(height)) + + sizeType = self.wprops.getProperty(elem, "sizeType", + QtWidgets.QSizePolicy.Expanding) + + policy = (QtWidgets.QSizePolicy.Minimum, sizeType) + + if self.wprops.getProperty(elem, "orientation") == QtCore.Qt.Horizontal: + policy = policy[1], policy[0] + + spacer = self.factory.createQObject("QSpacerItem", + self.uniqueName("spacerItem"), size_args + policy, + is_attribute=False) + + if self.stack.topIsLayout(): + lay = self.stack.peek() + lp = elem.attrib['layout-position'] + + if isinstance(lay, QtWidgets.QFormLayout): + lay.setItem(lp[0], self._form_layout_role(lp), spacer) + else: + lay.addItem(spacer, *lp) + + def createLayout(self, elem): + # We use an internal property to handle margins which will use separate + # left, top, right and bottom margins if they are found to be + # different. The following will select, in order of preference, + # separate margins, the same margin in all directions, and the default + # margin. + margin = -1 if self.stack.topIsLayout() else self.defaults['margin'] + margin = self.wprops.getProperty(elem, 'margin', margin) + left = self.wprops.getProperty(elem, 'leftMargin', margin) + top = self.wprops.getProperty(elem, 'topMargin', margin) + right = self.wprops.getProperty(elem, 'rightMargin', margin) + bottom = self.wprops.getProperty(elem, 'bottomMargin', margin) + + # A layout widget should, by default, have no margins. + if self.stack.topIsLayoutWidget(): + if left < 0: left = 0 + if top < 0: top = 0 + if right < 0: right = 0 + if bottom < 0: bottom = 0 + + if left >= 0 or top >= 0 or right >= 0 or bottom >= 0: + # We inject the new internal property. + cme = SubElement(elem, 'property', name='pyuicMargins') + SubElement(cme, 'number').text = str(left) + SubElement(cme, 'number').text = str(top) + SubElement(cme, 'number').text = str(right) + SubElement(cme, 'number').text = str(bottom) + + # We use an internal property to handle spacing which will use separate + # horizontal and vertical spacing if they are found to be different. + # The following will select, in order of preference, separate + # horizontal and vertical spacing, the same spacing in both directions, + # and the default spacing. + spacing = self.wprops.getProperty(elem, 'spacing', + self.defaults['spacing']) + horiz = self.wprops.getProperty(elem, 'horizontalSpacing', spacing) + vert = self.wprops.getProperty(elem, 'verticalSpacing', spacing) + + if horiz >= 0 or vert >= 0: + # We inject the new internal property. + cme = SubElement(elem, 'property', name='pyuicSpacing') + SubElement(cme, 'number').text = str(horiz) + SubElement(cme, 'number').text = str(vert) + + classname = elem.attrib["class"] + if self.stack.topIsLayout(): + parent = None + else: + parent = self.stack.topwidget + if "name" not in elem.attrib: + elem.attrib["name"] = classname[1:].lower() + self.stack.push(self.setupObject(classname, parent, elem)) + self.traverseWidgetTree(elem) + + layout = self.stack.popLayout() + self.configureLayout(elem, layout) + + if self.stack.topIsLayout(): + top_layout = self.stack.peek() + lp = elem.attrib['layout-position'] + + if isinstance(top_layout, QtWidgets.QFormLayout): + top_layout.setLayout(lp[0], self._form_layout_role(lp), layout) + else: + top_layout.addLayout(layout, *lp) + + def configureLayout(self, elem, layout): + if isinstance(layout, QtWidgets.QGridLayout): + self.setArray(elem, 'columnminimumwidth', + layout.setColumnMinimumWidth) + self.setArray(elem, 'rowminimumheight', + layout.setRowMinimumHeight) + self.setArray(elem, 'columnstretch', layout.setColumnStretch) + self.setArray(elem, 'rowstretch', layout.setRowStretch) + + elif isinstance(layout, QtWidgets.QBoxLayout): + self.setArray(elem, 'stretch', layout.setStretch) + + def setArray(self, elem, name, setter): + array = elem.attrib.get(name) + if array: + for idx, value in enumerate(array.split(',')): + value = int(value) + if value > 0: + setter(idx, value) + + def disableSorting(self, w): + if self.item_nr == 0: + self.sorting_enabled = self.factory.invoke("__sortingEnabled", + w.isSortingEnabled) + w.setSortingEnabled(False) + + def handleItem(self, elem): + if self.stack.topIsLayout(): + elem[0].attrib['layout-position'] = _layout_position(elem) + self.traverseWidgetTree(elem) + else: + w = self.stack.topwidget + + if isinstance(w, QtWidgets.QComboBox): + text = self.wprops.getProperty(elem, "text") + icon = self.wprops.getProperty(elem, "icon") + + if icon: + w.addItem(icon, '') + else: + w.addItem('') + + w.setItemText(self.item_nr, text) + + elif isinstance(w, QtWidgets.QListWidget): + self.disableSorting(w) + item = self.createWidgetItem('QListWidgetItem', elem, w.item, + self.item_nr) + w.addItem(item) + + elif isinstance(w, QtWidgets.QTreeWidget): + if self.itemstack: + parent, _ = self.itemstack[-1] + _, nr_in_root = self.itemstack[0] + else: + parent = w + nr_in_root = self.item_nr + + item = self.factory.createQObject("QTreeWidgetItem", + "item_%d" % len(self.itemstack), (parent, ), False) + + if self.item_nr == 0 and not self.itemstack: + self.sorting_enabled = self.factory.invoke("__sortingEnabled", w.isSortingEnabled) + w.setSortingEnabled(False) + + self.itemstack.append((item, self.item_nr)) + self.item_nr = 0 + + # We have to access the item via the tree when setting the + # text. + titm = w.topLevelItem(nr_in_root) + for child, nr_in_parent in self.itemstack[1:]: + titm = titm.child(nr_in_parent) + + column = -1 + for prop in elem.findall('property'): + c_prop = self.wprops.convert(prop) + c_prop_name = prop.attrib['name'] + + if c_prop_name == 'text': + column += 1 + if c_prop: + titm.setText(column, c_prop) + elif c_prop_name == 'statusTip': + item.setStatusTip(column, c_prop) + elif c_prop_name == 'toolTip': + item.setToolTip(column, c_prop) + elif c_prop_name == 'whatsThis': + item.setWhatsThis(column, c_prop) + elif c_prop_name == 'font': + item.setFont(column, c_prop) + elif c_prop_name == 'icon': + item.setIcon(column, c_prop) + elif c_prop_name == 'background': + item.setBackground(column, c_prop) + elif c_prop_name == 'foreground': + item.setForeground(column, c_prop) + elif c_prop_name == 'flags': + item.setFlags(c_prop) + elif c_prop_name == 'checkState': + item.setCheckState(column, c_prop) + + self.traverseWidgetTree(elem) + _, self.item_nr = self.itemstack.pop() + + elif isinstance(w, QtWidgets.QTableWidget): + row = int(elem.attrib['row']) + col = int(elem.attrib['column']) + + self.disableSorting(w) + item = self.createWidgetItem('QTableWidgetItem', elem, w.item, + row, col) + w.setItem(row, col, item) + + self.item_nr += 1 + + def addAction(self, elem): + self.actions.append((self.stack.topwidget, elem.attrib["name"])) + + @staticmethod + def any_i18n(*args): + """ Return True if any argument appears to be an i18n string. """ + + for a in args: + if a is not None and not isinstance(a, str): + return True + + return False + + def createWidgetItem(self, item_type, elem, getter, *getter_args): + """ Create a specific type of widget item. """ + + item = self.factory.createQObject(item_type, "item", (), False) + props = self.wprops + + # Note that not all types of widget items support the full set of + # properties. + + text = props.getProperty(elem, 'text') + status_tip = props.getProperty(elem, 'statusTip') + tool_tip = props.getProperty(elem, 'toolTip') + whats_this = props.getProperty(elem, 'whatsThis') + + if self.any_i18n(text, status_tip, tool_tip, whats_this): + self.factory.invoke("item", getter, getter_args) + + if text: + item.setText(text) + + if status_tip: + item.setStatusTip(status_tip) + + if tool_tip: + item.setToolTip(tool_tip) + + if whats_this: + item.setWhatsThis(whats_this) + + text_alignment = props.getProperty(elem, 'textAlignment') + if text_alignment: + item.setTextAlignment(text_alignment) + + font = props.getProperty(elem, 'font') + if font: + item.setFont(font) + + icon = props.getProperty(elem, 'icon') + if icon: + item.setIcon(icon) + + background = props.getProperty(elem, 'background') + if background: + item.setBackground(background) + + foreground = props.getProperty(elem, 'foreground') + if foreground: + item.setForeground(foreground) + + flags = props.getProperty(elem, 'flags') + if flags: + item.setFlags(flags) + + check_state = props.getProperty(elem, 'checkState') + if check_state: + item.setCheckState(check_state) + + return item + + def addHeader(self, elem): + w = self.stack.topwidget + + if isinstance(w, QtWidgets.QTreeWidget): + props = self.wprops + col = self.column_counter + + text = props.getProperty(elem, 'text') + if text: + w.headerItem().setText(col, text) + + status_tip = props.getProperty(elem, 'statusTip') + if status_tip: + w.headerItem().setStatusTip(col, status_tip) + + tool_tip = props.getProperty(elem, 'toolTip') + if tool_tip: + w.headerItem().setToolTip(col, tool_tip) + + whats_this = props.getProperty(elem, 'whatsThis') + if whats_this: + w.headerItem().setWhatsThis(col, whats_this) + + text_alignment = props.getProperty(elem, 'textAlignment') + if text_alignment: + w.headerItem().setTextAlignment(col, text_alignment) + + font = props.getProperty(elem, 'font') + if font: + w.headerItem().setFont(col, font) + + icon = props.getProperty(elem, 'icon') + if icon: + w.headerItem().setIcon(col, icon) + + background = props.getProperty(elem, 'background') + if background: + w.headerItem().setBackground(col, background) + + foreground = props.getProperty(elem, 'foreground') + if foreground: + w.headerItem().setForeground(col, foreground) + + self.column_counter += 1 + + elif isinstance(w, QtWidgets.QTableWidget): + if len(elem) != 0: + if elem.tag == 'column': + item = self.createWidgetItem('QTableWidgetItem', elem, + w.horizontalHeaderItem, self.column_counter) + w.setHorizontalHeaderItem(self.column_counter, item) + self.column_counter += 1 + elif elem.tag == 'row': + item = self.createWidgetItem('QTableWidgetItem', elem, + w.verticalHeaderItem, self.row_counter) + w.setVerticalHeaderItem(self.row_counter, item) + self.row_counter += 1 + + def setZOrder(self, elem): + # Designer can generate empty zorder elements. + if elem.text is None: + return + + # Designer allows the z-order of spacer items to be specified even + # though they can't be raised, so ignore any missing raise_() method. + try: + getattr(self.toplevelWidget, elem.text).raise_() + except AttributeError: + # Note that uic issues a warning message. + pass + + def createAction(self, elem): + self.setupObject("QAction", self.currentActionGroup or self.toplevelWidget, + elem) + + def createActionGroup(self, elem): + action_group = self.setupObject("QActionGroup", self.toplevelWidget, elem) + self.currentActionGroup = action_group + self.traverseWidgetTree(elem) + self.currentActionGroup = None + + widgetTreeItemHandlers = { + "widget" : createWidget, + "addaction" : addAction, + "layout" : createLayout, + "spacer" : createSpacer, + "item" : handleItem, + "action" : createAction, + "actiongroup": createActionGroup, + "column" : addHeader, + "row" : addHeader, + "zorder" : setZOrder, + } + + def traverseWidgetTree(self, elem): + for child in iter(elem): + try: + handler = self.widgetTreeItemHandlers[child.tag] + except KeyError: + continue + + handler(self, child) + + def createUserInterface(self, elem): + # Get the names of the class and widget. + cname = elem.attrib["class"] + wname = elem.attrib["name"] + + # If there was no widget name then derive it from the class name. + if not wname: + wname = cname + + if wname.startswith("Q"): + wname = wname[1:] + + wname = wname[0].lower() + wname[1:] + + self.toplevelWidget = self.createToplevelWidget(cname, wname) + self.toplevelWidget.setObjectName(wname) + DEBUG("toplevel widget is %s", + self.toplevelWidget.metaObject().className()) + self.wprops.setProperties(self.toplevelWidget, elem) + self.stack.push(self.toplevelWidget) + self.traverseWidgetTree(elem) + self.stack.popWidget() + self.addActions() + self.setBuddies() + self.setDelayedProps() + + def addActions(self): + for widget, action_name in self.actions: + if action_name == "separator": + widget.addSeparator() + else: + DEBUG("add action %s to %s", action_name, widget.objectName()) + action_obj = getattr(self.toplevelWidget, action_name) + if isinstance(action_obj, QtWidgets.QMenu): + widget.addAction(action_obj.menuAction()) + elif not isinstance(action_obj, QtWidgets.QActionGroup): + widget.addAction(action_obj) + + def setDelayedProps(self): + for widget, layout, setter, args in self.wprops.delayed_props: + if layout: + widget = widget.layout() + + setter = getattr(widget, setter) + setter(args) + + def setBuddies(self): + for widget, buddy in self.wprops.buddies: + DEBUG("%s is buddy of %s", buddy, widget.objectName()) + try: + widget.setBuddy(getattr(self.toplevelWidget, buddy)) + except AttributeError: + DEBUG("ERROR in ui spec: %s (buddy of %s) does not exist", + buddy, widget.objectName()) + + def classname(self, elem): + DEBUG("uiname is %s", elem.text) + name = elem.text + + if name is None: + name = "" + + self.uiname = name + self.wprops.uiname = name + self.setContext(name) + + def setContext(self, context): + """ + Reimplemented by a sub-class if it needs to know the translation + context. + """ + pass + + def readDefaults(self, elem): + self.defaults['margin'] = int(elem.attrib['margin']) + self.defaults['spacing'] = int(elem.attrib['spacing']) + + def setTaborder(self, elem): + lastwidget = None + for widget_elem in elem: + widget = getattr(self.toplevelWidget, widget_elem.text) + + if lastwidget is not None: + self.toplevelWidget.setTabOrder(lastwidget, widget) + + lastwidget = widget + + def readResources(self, elem): + """ + Read a "resources" tag and add the module to import to the parser's + list of them. + """ + try: + iterator = getattr(elem, 'iter') + except AttributeError: + iterator = getattr(elem, 'getiterator') + + for include in iterator("include"): + loc = include.attrib.get("location") + + # Apply the convention for naming the Python files generated by + # pyrcc5. + if loc and loc.endswith('.qrc'): + mname = os.path.basename(loc[:-4] + self._resource_suffix) + if mname not in self.resources: + self.resources.append(mname) + + def createConnections(self, elem): + def name2object(obj): + if obj == self.uiname: + return self.toplevelWidget + else: + return getattr(self.toplevelWidget, obj) + + for conn in iter(elem): + signal = conn.findtext('signal') + signal_name, signal_args = signal.split('(') + signal_args = signal_args[:-1].replace(' ', '') + sender = name2object(conn.findtext('sender')) + bound_signal = getattr(sender, signal_name) + + slot = self.factory.getSlot(name2object(conn.findtext('receiver')), + conn.findtext('slot').split('(')[0]) + + if signal_args == '': + bound_signal.connect(slot) + else: + signal_args = signal_args.split(',') + + if len(signal_args) == 1: + bound_signal[signal_args[0]].connect(slot) + else: + bound_signal[tuple(signal_args)].connect(slot) + + QtCore.QMetaObject.connectSlotsByName(self.toplevelWidget) + + def customWidgets(self, elem): + def header2module(header): + """header2module(header) -> string + + Convert paths to C++ header files to according Python modules + >>> header2module("foo/bar/baz.h") + 'foo.bar.baz' + """ + if header.endswith(".h"): + header = header[:-2] + + mpath = [] + for part in header.split('/'): + # Ignore any empty parts or those that refer to the current + # directory. + if part not in ('', '.'): + if part == '..': + # We should allow this for Python3. + raise SyntaxError("custom widget header file name may not contain '..'.") + + mpath.append(part) + + return '.'.join(mpath) + + for custom_widget in iter(elem): + classname = custom_widget.findtext("class") + self.factory.addCustomWidget(classname, + custom_widget.findtext("extends") or "QWidget", + header2module(custom_widget.findtext("header"))) + + def createToplevelWidget(self, classname, widgetname): + raise NotImplementedError + + def buttonGroups(self, elem): + for button_group in iter(elem): + if button_group.tag == 'buttongroup': + bg_name = button_group.attrib['name'] + bg = ButtonGroup() + self.button_groups[bg_name] = bg + + prop = self.getProperty(button_group, 'exclusive') + if prop is not None: + if prop.findtext('bool') == 'false': + bg.exclusive = False + + # finalize will be called after the whole tree has been parsed and can be + # overridden. + def finalize(self): + pass + + def parse(self, filename, resource_suffix, base_dir=''): + self.wprops.set_base_dir(base_dir) + + self._resource_suffix = resource_suffix + + # The order in which the different branches are handled is important. + # The widget tree handler relies on all custom widgets being known, and + # in order to create the connections, all widgets have to be populated. + branchHandlers = ( + ("layoutdefault", self.readDefaults), + ("class", self.classname), + ("buttongroups", self.buttonGroups), + ("customwidgets", self.customWidgets), + ("widget", self.createUserInterface), + ("connections", self.createConnections), + ("tabstops", self.setTaborder), + ("resources", self.readResources), + ) + + document = parse(filename) + version = document.getroot().attrib["version"] + DEBUG("UI version is %s" % (version,)) + # Right now, only version 4.0 is supported. + assert version in ("4.0",) + for tagname, actor in branchHandlers: + elem = document.find(tagname) + if elem is not None: + actor(elem) + self.finalize() + w = self.toplevelWidget + self.reset() + return w + + @staticmethod + def _form_layout_role(layout_position): + if layout_position[3] > 1: + role = QtWidgets.QFormLayout.SpanningRole + elif layout_position[1] == 1: + role = QtWidgets.QFormLayout.FieldRole + else: + role = QtWidgets.QFormLayout.LabelRole + + return role diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qaxcontainer.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qaxcontainer.py new file mode 100644 index 0000000..74afaa0 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qaxcontainer.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.QAxContainer", ("QAxWidget", ) diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qscintilla.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qscintilla.py new file mode 100644 index 0000000..6013f3d --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qscintilla.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.Qsci", ("QsciScintilla", ) diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtcharts.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtcharts.py new file mode 100644 index 0000000..ac09b11 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtcharts.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.QtChart", ("QChartView", ) diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtprintsupport.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtprintsupport.py new file mode 100644 index 0000000..b321404 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtprintsupport.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return 'PyQt5.QtPrintSupport', ('QAbstractPrintDialog', 'QPageSetupDialog') diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtquickwidgets.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtquickwidgets.py new file mode 100644 index 0000000..b37b3e1 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtquickwidgets.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.QtQuickWidgets", ("QQuickWidget", ) diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebenginewidgets.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebenginewidgets.py new file mode 100644 index 0000000..cf3ff37 --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebenginewidgets.py @@ -0,0 +1,33 @@ +############################################################################# +## +## Copyright (c) 2017 Riverbank Computing Limited +## +## This file is part of PyQt5. +## +## This file may be used under the terms of the GNU General Public License +## version 3.0 as published by the Free Software Foundation and appearing in +## the file LICENSE included in the packaging of this file. Please review the +## following information to ensure the GNU General Public License version 3.0 +## requirements will be met: http://www.gnu.org/copyleft/gpl.html. +## +## If you do not wish to use this file under the terms of the GPL version 3.0 +## then you may purchase a commercial license. For more information contact +## info@riverbankcomputing.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.QtWebEngineWidgets", ("QWebEngineView", ) diff --git a/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebkit.py b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebkit.py new file mode 100644 index 0000000..087ec6e --- /dev/null +++ b/7.2/Add to ida python folder/PyQt5/uic/widget-plugins/qtwebkit.py @@ -0,0 +1,51 @@ +############################################################################# +## +## Copyright (C) 2014 Riverbank Computing Limited. +## Copyright (C) 2006 Thorsten Marek. +## All right reserved. +## +## This file is part of PyQt. +## +## You may use this file under the terms of the GPL v2 or the revised BSD +## license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of the Riverbank Computing Limited nor the names +## of its contributors may be used to endorse or promote products +## derived from this software without specific prior written +## permission. +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +############################################################################# + + +# If pluginType is MODULE, the plugin loader will call moduleInformation. The +# variable MODULE is inserted into the local namespace by the plugin loader. +pluginType = MODULE + + +# moduleInformation() must return a tuple (module, widget_list). If "module" +# is "A" and any widget from this module is used, the code generator will write +# "import A". If "module" is "A[.B].C", the code generator will write +# "from A[.B] import C". Each entry in "widget_list" must be unique. +def moduleInformation(): + return "PyQt5.QtWebKitWidgets", ("QWebView", ) diff --git a/7.2/Add to ida python folder/sip.pyd b/7.2/Add to ida python folder/sip.pyd new file mode 100644 index 0000000..e2400a2 Binary files /dev/null and b/7.2/Add to ida python folder/sip.pyd differ diff --git a/7.2/Add to ida python folder/sip.pyi b/7.2/Add to ida python folder/sip.pyi new file mode 100644 index 0000000..c82fa43 --- /dev/null +++ b/7.2/Add to ida python folder/sip.pyi @@ -0,0 +1,92 @@ +# This file is the Python type hints stub file for the sip extension module. +# +# Copyright (c) 2016 Riverbank Computing Limited +# +# This file is part of SIP. +# +# This copy of SIP is licensed for use under the terms of the SIP License +# Agreement. See the file LICENSE for more details. +# +# This copy of SIP may also used under the terms of the GNU General Public +# License v2 or v3 as published by the Free Software Foundation which can be +# found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package. +# +# SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +from typing import overload, Sequence, Union + + +# Constants. +SIP_VERSION = ... # type: int +SIP_VERSION_STR = ... # type: str + + +# The bases for SIP generated types. +class wrappertype: ... +class simplewrapper: ... +class wrapper(simplewrapper): ... + + +# PEP 484 has no explicit support for the buffer protocol so we just name types +# we know that implement it. +Buffer = Union['array', 'voidptr', str, bytes, bytearray] + + +# The array type. +class array(Sequence): ... + + +# The voidptr type. +class voidptr: + + def __init__(addr: Union[int, Buffer], size: int = -1, writeable: bool = True) -> None: ... + + def __int__(self) -> int: ... + + @overload + def __getitem__(self, i: int) -> bytes: ... + + @overload + def __getitem__(self, s: slice) -> 'voidptr': ... + + def __hex__(self) -> str: ... + + def __len__(self) -> int: ... + + def __setitem__(self, i: Union[int, slice], v: Buffer) -> None: ... + + def asarray(self, size: int = -1) -> array: ... + + # Python doesn't expose the capsule type. + #def ascapsule(self) -> capsule: ... + + def asstring(self, size: int = -1) -> bytes: ... + + def getsize(self) -> int: ... + + def getwriteable(self) -> bool: ... + + def setsize(self, size: int) -> None: ... + + def setwriteable(self, bool) -> None: ... + + +# Remaining functions. +def cast(obj: simplewrapper, type: wrappertype) -> simplewrapper: ... +def delete(obj: simplewrapper) -> None: ... +def dump(obj: simplewrapper) -> None: ... +def enableautoconversion(type: wrappertype, enable: bool) -> bool: ... +def getapi(name: str) -> int: ... +def isdeleted(obj: simplewrapper) -> bool: ... +def ispycreated(obj: simplewrapper) -> bool: ... +def ispyowned(obj: simplewrapper) -> bool: ... +def setapi(name: str, version: int) -> None: ... +def setdeleted(obj: simplewrapper) -> None: ... +def setdestroyonexit(destroy: bool) -> None: ... +def settracemask(mask: int) -> None: ... +def transferback(obj: wrapper) -> None: ... +def transferto(obj: wrapper, owner: wrapper) -> None: ... +def unwrapinstance(obj: simplewrapper) -> None: ... +def wrapinstance(addr: int, type: wrappertype) -> simplewrapper: ... diff --git a/7.2/Add to ida python folder/sipconfig.py b/7.2/Add to ida python folder/sipconfig.py new file mode 100644 index 0000000..2ede91b --- /dev/null +++ b/7.2/Add to ida python folder/sipconfig.py @@ -0,0 +1,2843 @@ +# This module is intended to be used by the build/installation scripts of +# extension modules created with SIP. It provides information about file +# locations, version numbers etc., and provides some classes and functions. +# +# Copyright (c) 2015 Riverbank Computing Limited +# +# This file is part of SIP. +# +# This copy of SIP is licensed for use under the terms of the SIP License +# Agreement. See the file LICENSE for more details. +# +# This copy of SIP may also used under the terms of the GNU General Public +# License v2 or v3 as published by the Free Software Foundation which can be +# found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package. +# +# SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +import sys +import os +import stat +import string +import re + + +# These are installation specific values created when SIP was configured. +_pkg_config = { + 'arch': '', + 'default_bin_dir': 'C:\\python27', + 'default_mod_dir': 'C:\\python27\\Lib\\site-packages', + 'default_sip_dir': 'C:\\python27\\sip', + 'deployment_target': '', + 'platform': 'win32-msvc2008', + 'py_conf_inc_dir': 'C:\\python27\\include', + 'py_inc_dir': 'C:\\python27\\include', + 'py_lib_dir': 'C:\\python27\\libs', + 'py_version': 0x02070e, + 'qt_framework': 0, + 'sip_bin': 'C:\\python27\\sip', + 'sip_config_args': '', + 'sip_inc_dir': 'C:\\python27\\include', + 'sip_mod_dir': 'C:\\python27\\Lib\\site-packages', + 'sip_version': 0x041306, + 'sip_version_str': '4.19.6', + 'universal': '' +} + +_default_macros = { + 'AIX_SHLIB': '', + 'AR': '', + 'CC': 'cl', + 'CFLAGS': '-nologo -Zm200 -Zc:wchar_t-', + 'CFLAGS_APP': '', + 'CFLAGS_CONSOLE': '', + 'CFLAGS_DEBUG': '-Zi -MDd', + 'CFLAGS_EXCEPTIONS_OFF': '', + 'CFLAGS_EXCEPTIONS_ON': '', + 'CFLAGS_MT': '', + 'CFLAGS_MT_DBG': '', + 'CFLAGS_MT_DLL': '', + 'CFLAGS_MT_DLLDBG': '', + 'CFLAGS_RELEASE': '-O2 -MD', + 'CFLAGS_RTTI_OFF': '', + 'CFLAGS_RTTI_ON': '', + 'CFLAGS_SHLIB': '', + 'CFLAGS_STL_OFF': '', + 'CFLAGS_STL_ON': '', + 'CFLAGS_THREAD': '', + 'CFLAGS_WARN_OFF': '-W0', + 'CFLAGS_WARN_ON': '-W3', + 'CHK_DIR_EXISTS': 'if not exist', + 'CONFIG': 'qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe', + 'COPY': 'copy /y', + 'CXX': 'cl', + 'CXXFLAGS': '-nologo -Zm200 -Zc:wchar_t-', + 'CXXFLAGS_APP': '', + 'CXXFLAGS_CONSOLE': '', + 'CXXFLAGS_DEBUG': '-Zi -MDd', + 'CXXFLAGS_EXCEPTIONS_OFF': '', + 'CXXFLAGS_EXCEPTIONS_ON': '-EHsc', + 'CXXFLAGS_MT': '', + 'CXXFLAGS_MT_DBG': '', + 'CXXFLAGS_MT_DLL': '', + 'CXXFLAGS_MT_DLLDBG': '', + 'CXXFLAGS_RELEASE': '-O2 -MD', + 'CXXFLAGS_RTTI_OFF': '', + 'CXXFLAGS_RTTI_ON': '-GR', + 'CXXFLAGS_SHLIB': '', + 'CXXFLAGS_STL_OFF': '', + 'CXXFLAGS_STL_ON': '-EHsc', + 'CXXFLAGS_THREAD': '', + 'CXXFLAGS_WARN_OFF': '-W0', + 'CXXFLAGS_WARN_ON': '-W3 -w34100 -w34189', + 'DEFINES': 'UNICODE WIN32 QT_LARGEFILE_SUPPORT', + 'DEL_FILE': 'del', + 'EXTENSION_PLUGIN': '', + 'EXTENSION_SHLIB': '', + 'INCDIR': '', + 'INCDIR_OPENGL': '', + 'INCDIR_X11': '', + 'LFLAGS': '/NOLOGO /DYNAMICBASE /NXCOMPAT', + 'LFLAGS_CONSOLE': '/SUBSYSTEM:CONSOLE', + 'LFLAGS_CONSOLE_DLL': '', + 'LFLAGS_DEBUG': '/DEBUG', + 'LFLAGS_DLL': '/DLL', + 'LFLAGS_OPENGL': '', + 'LFLAGS_PLUGIN': '', + 'LFLAGS_RELEASE': '/INCREMENTAL:NO', + 'LFLAGS_RPATH': '', + 'LFLAGS_SHLIB': '', + 'LFLAGS_SONAME': '', + 'LFLAGS_THREAD': '', + 'LFLAGS_WINDOWS': '/SUBSYSTEM:WINDOWS', + 'LFLAGS_WINDOWS_DLL': '', + 'LIB': 'lib /NOLOGO', + 'LIBDIR': '', + 'LIBDIR_OPENGL': '', + 'LIBDIR_X11': '', + 'LIBS': '', + 'LIBS_CONSOLE': '', + 'LIBS_CORE': 'kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib', + 'LIBS_GUI': 'gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib', + 'LIBS_NETWORK': 'ws2_32.lib', + 'LIBS_OPENGL': 'glu32.lib opengl32.lib gdi32.lib user32.lib', + 'LIBS_RT': '', + 'LIBS_RTMT': '', + 'LIBS_THREAD': '', + 'LIBS_WEBKIT': '', + 'LIBS_WINDOWS': '', + 'LIBS_X11': '', + 'LINK': 'link', + 'LINK_SHLIB': '', + 'LINK_SHLIB_CMD': '', + 'MAKEFILE_GENERATOR': 'MSVC.NET', + 'MKDIR': 'mkdir', + 'RANLIB': '', + 'RPATH': '', + 'STRIP': '' +} + +# The stack of configuration dictionaries. +_config_stack = [] + + +class Configuration(object): + """The class that represents SIP configuration values. + """ + def __init__(self, sub_cfg=None): + """Initialise an instance of the class. + + sub_cfg is the list of sub-class configurations. It should be None + when called normally. + """ + # Find the build macros in the closest imported module from where this + # was originally defined. + self._macros = None + + for cls in self.__class__.__mro__: + if cls is object: + continue + + mod = sys.modules[cls.__module__] + + if hasattr(mod, "_default_macros"): + self._macros = mod._default_macros + break + + if sub_cfg: + cfg = sub_cfg + else: + cfg = [] + + cfg.append(_pkg_config) + + global _config_stack + _config_stack = cfg + + def __getattr__(self, name): + """Allow configuration values and user options to be handled as + instance variables. + + name is the name of the configuration value or user option. + """ + for cfg in _config_stack: + try: + return cfg[name] + except KeyError: + pass + + raise AttributeError("\"%s\" is not a valid configuration value or user option" % name) + + def build_macros(self): + """Return the dictionary of platform specific build macros. + """ + return self._macros + + def set_build_macros(self, macros): + """Set the dictionary of build macros to be use when generating + Makefiles. + + macros is the dictionary of platform specific build macros. + """ + self._macros = macros + + +class _UniqueList: + """A limited list that ensures all its elements are unique. + """ + def __init__(self, value=None): + """Initialise the instance. + + value is the initial value of the list. + """ + if value is None: + self._list = [] + else: + self._list = value + + def append(self, value): + """Append a value to the list if it isn't already present. + + value is the value to append. + """ + if value not in self._list: + self._list.append(value) + + def lextend(self, value): + """A normal list extend ignoring the uniqueness. + + value is the list of elements to append. + """ + self._list.extend(value) + + def extend(self, value): + """Append each element of a value to a list if it isn't already + present. + + value is the list of elements to append. + """ + for el in value: + self.append(el) + + def as_list(self): + """Return the list as a raw list. + """ + return self._list + + +class _Macro: + """A macro that can be manipulated as a list. + """ + def __init__(self, name, value): + """Initialise the instance. + + name is the name of the macro. + value is the initial value of the macro. + """ + self._name = name + self.set(value) + + def set(self, value): + """Explicitly set the value of the macro. + + value is the new value. It may be a string, a list of strings or a + _UniqueList instance. + """ + self._macro = [] + + if isinstance(value, _UniqueList): + value = value.as_list() + + if type(value) == list: + self.extend(value) + else: + self.append(value) + + def append(self, value): + """Append a value to the macro. + + value is the value to append. + """ + if value: + self._macro.append(value) + + def extend(self, value): + """Append each element of a value to the macro. + + value is the list of elements to append. + """ + for el in value: + self.append(el) + + def remove(self, value): + """Remove a value from the macro. It doesn't matter if the value + wasn't present. + + value is the value to remove. + """ + try: + self._macro.remove(value) + except: + pass + + def as_list(self): + """Return the macro as a list. + """ + return self._macro + + +class Makefile: + """The base class for the different types of Makefiles. + """ + def __init__(self, configuration, console=0, qt=0, opengl=0, python=0, + threaded=0, warnings=1, debug=0, dir=None, + makefile="Makefile", installs=None, universal=None, + arch=None, deployment_target=None): + """Initialise an instance of the target. All the macros are left + unchanged allowing scripts to manipulate them at will. + + configuration is the current configuration. + console is set if the target is a console (rather than windows) target. + qt is set if the target uses Qt. For Qt v4 a list of Qt libraries may + be specified and a simple non-zero value implies QtCore and QtGui. + opengl is set if the target uses OpenGL. + python is set if the target #includes Python.h. + debug is set to generated a debugging version of the target. + threaded is set if the target requires thread support. It is + automatically set if the target uses Qt and Qt has thread support + enabled. + warnings is set if compiler warning messages are required. + debug is set if debugging symbols should be generated. + dir is the directory for build files and Makefiles. + makefile is the name of the Makefile. + installs is a list of extra install targets. Each element is a two + part list, the first of which is the source and the second is the + destination. If the source is another list then it is a set of source + files and the destination is a directory. + universal is the name of the SDK if the target is a MacOS/X universal + binary. If it is None then the value is taken from the configuration. + arch is the space separated MacOS/X architectures to build. If it is + None then it is taken from the configuration. + deployment_target MacOS/X deployment target. If it is None then it is + taken from the configuration. + """ + if qt: + if not hasattr(configuration, "qt_version"): + error("The target uses Qt but pyqtconfig has not been imported.") + + # For Qt v4 interpret Qt support as meaning link against the core + # and GUI libraries (which corresponds to the default qmake + # configuration). Also allow a list of Qt v4 modules to be + # specified. + if configuration.qt_version >= 0x040000: + if type(qt) != list: + qt = ["QtCore", "QtGui"] + + self._threaded = configuration.qt_threaded + else: + self._threaded = threaded + + self.config = configuration + self.console = console + self._qt = qt + self._opengl = opengl + self._python = python + self._warnings = warnings + self._debug = debug + self._makefile = makefile + self._installs = installs + self._infix = "" + + # Make sure the destination directory is an absolute path. + if dir: + self.dir = os.path.abspath(dir) + else: + self.dir = os.getcwd() + + # Assume we are building in the source tree. + self._src_dir = self.dir + + if universal is None: + self._universal = configuration.universal + else: + self._universal = universal + + if arch is None: + self._arch = configuration.arch + else: + self._arch = arch + + if deployment_target is None: + self._deployment_target = configuration.deployment_target + else: + self._deployment_target = deployment_target + + self._finalised = 0 + + # Copy the macros and convert them all to instance lists. + macros = configuration.build_macros() + + for m in list(macros.keys()): + # Allow the user to override the default. + try: + val = getattr(configuration, m) + except AttributeError: + val = macros[m] + + # These require special handling as they are (potentially) a set of + # space separated values rather than a single value that might + # contain spaces. + if m in ("DEFINES", "CONFIG") or m[:6] in ("INCDIR", "LIBDIR"): + val = val.split() + + # We also want to treat lists of libraries in the same way so that + # duplicates get eliminated. + if m[:4] == "LIBS": + val = val.split() + + self.__dict__[m] = _Macro(m, val) + + # This is used to alter the configuration more significantly than can + # be done with just configuration files. + self.generator = self.optional_string("MAKEFILE_GENERATOR", "UNIX") + + # These are what configuration scripts normally only need to change. + self.extra_cflags = [] + self.extra_cxxflags = [] + self.extra_defines = [] + self.extra_include_dirs = [] + self.extra_lflags = [] + self.extra_lib_dirs = [] + self.extra_libs = [] + self.extra_source_dirs = [] + + # Get these once and make them available to sub-classes. + if sys.platform == "win32": + def_copy = "copy" + def_rm = "del" + def_mkdir = "mkdir" + def_chk_dir_exists = "if not exist" + else: + def_copy = "cp -f" + def_rm = "rm -f" + def_mkdir = "mkdir -p" + def_chk_dir_exists = "test -d" + + self.copy = self.optional_string("COPY", def_copy) + self.rm = self.optional_string("DEL_FILE", def_rm) + self.mkdir = self.optional_string("MKDIR", def_mkdir) + self.chkdir = self.optional_string("CHK_DIR_EXISTS", def_chk_dir_exists) + + + def finalise(self): + """Finalise the macros by doing any consolidation that isn't specific + to a Makefile. + """ + # Extract the things we might need from the Windows Qt configuration. + # Note that we used to think that if Qt was built with exceptions, RTTI + # and STL support enabled then anything that linked against it also + # needed the same flags. However, detecting this was broken for some + # time and nobody complained. For the moment we'll leave the code in + # but it will never be used. + if self._qt: + wcfg = self.config.qt_winconfig.split() + win_shared = ("shared" in wcfg) + win_exceptions = ("exceptions" in wcfg) + win_rtti = ("rtti" in wcfg) + win_stl = ("stl" in wcfg) + + qt_version = self.config.qt_version + else: + win_shared = 1 + win_exceptions = 0 + win_rtti = 0 + win_stl = 0 + + qt_version = 0 + + # Get what we are going to transform. + cflags = _UniqueList() + cflags.extend(self.extra_cflags) + cflags.extend(self.optional_list("CFLAGS")) + + cxxflags = _UniqueList() + cxxflags.extend(self.extra_cxxflags) + cxxflags.extend(self.optional_list("CXXFLAGS")) + + defines = _UniqueList() + defines.extend(self.extra_defines) + defines.extend(self.optional_list("DEFINES")) + + incdir = _UniqueList(["."]) + incdir.extend(self.extra_include_dirs) + incdir.extend(self.optional_list("INCDIR")) + + lflags = _UniqueList() + lflags.extend(self.extra_lflags) + lflags.extend(self.optional_list("LFLAGS")) + + libdir = _UniqueList() + libdir.extend(self.extra_lib_dirs) + libdir.extend(self.optional_list("LIBDIR")) + + # Handle MacOS/X specific configuration. + if sys.platform == 'darwin': + mac_cflags = [] + mac_lflags = [] + + for a in self._arch.split(): + aflag = '-arch ' + a + mac_cflags.append(aflag) + mac_lflags.append(aflag) + + if self._universal: + mac_cflags.append('-isysroot %s' % self._universal) + mac_lflags.append('-Wl,-syslibroot,%s' % self._universal) + + cflags.lextend(mac_cflags) + cxxflags.lextend(mac_cflags) + lflags.lextend(mac_lflags) + + # Don't use a unique list as libraries may need to be searched more + # than once. Also MacOS/X uses the form "-framework lib" so we don't + # want to lose the multiple "-framework". + libs = [] + + for l in self.extra_libs: + libs.append(self.platform_lib(l)) + + if self._qt: + libs.extend(self._dependent_libs(l)) + + libs.extend(self.optional_list("LIBS")) + + rpaths = _UniqueList() + + for l in self.extra_lib_dirs: + l_dir = os.path.dirname(l) + + # This is a hack to ignore PyQt's internal support libraries. + if '/qpy/' in l_dir: + continue + + # Ignore relative directories. This is really a hack to handle + # SIP v3 inter-module linking. + if l_dir in ("", ".", ".."): + continue + + rpaths.append(l) + + if self._python: + incdir.append(self.config.py_inc_dir) + incdir.append(self.config.py_conf_inc_dir) + + if sys.platform == "cygwin": + libdir.append(self.config.py_lib_dir) + + py_lib = "python%u.%u" % ((self.config.py_version >> 16), ((self.config.py_version >> 8) & 0xff)) + libs.append(self.platform_lib(py_lib)) + elif sys.platform == "win32": + libdir.append(self.config.py_lib_dir) + + py_lib = "python%u%u" % ((self.config.py_version >> 16), ((self.config.py_version >> 8) & 0xff)) + + # For Borland use the OMF version of the Python library if it + # exists, otherwise assume that Python was built with Borland + # and use the normal library. + if self.generator == "BMAKE": + bpy_lib = py_lib + "_bcpp" + bpy_lib_path = os.path.join(self.config.py_lib_dir, self.platform_lib(bpy_lib)) + + if os.access(bpy_lib_path, os.F_OK): + py_lib = bpy_lib + + if self._debug: + py_lib = py_lib + "_d" + + if self.generator != "MINGW": + cflags.append("/D_DEBUG") + cxxflags.append("/D_DEBUG") + + libs.append(self.platform_lib(py_lib)) + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + if win_exceptions: + cflags_exceptions = "CFLAGS_EXCEPTIONS_ON" + cxxflags_exceptions = "CXXFLAGS_EXCEPTIONS_ON" + else: + cflags_exceptions = "CFLAGS_EXCEPTIONS_OFF" + cxxflags_exceptions = "CXXFLAGS_EXCEPTIONS_OFF" + + cflags.extend(self.optional_list(cflags_exceptions)) + cxxflags.extend(self.optional_list(cxxflags_exceptions)) + + if win_rtti: + cflags_rtti = "CFLAGS_RTTI_ON" + cxxflags_rtti = "CXXFLAGS_RTTI_ON" + else: + cflags_rtti = "CFLAGS_RTTI_OFF" + cxxflags_rtti = "CXXFLAGS_RTTI_OFF" + + cflags.extend(self.optional_list(cflags_rtti)) + cxxflags.extend(self.optional_list(cxxflags_rtti)) + + if win_stl: + cflags_stl = "CFLAGS_STL_ON" + cxxflags_stl = "CXXFLAGS_STL_ON" + else: + cflags_stl = "CFLAGS_STL_OFF" + cxxflags_stl = "CXXFLAGS_STL_OFF" + + cflags.extend(self.optional_list(cflags_stl)) + cxxflags.extend(self.optional_list(cxxflags_stl)) + + if self._debug: + if win_shared: + cflags_mt = "CFLAGS_MT_DLLDBG" + cxxflags_mt = "CXXFLAGS_MT_DLLDBG" + else: + cflags_mt = "CFLAGS_MT_DBG" + cxxflags_mt = "CXXFLAGS_MT_DBG" + + cflags_debug = "CFLAGS_DEBUG" + cxxflags_debug = "CXXFLAGS_DEBUG" + lflags_debug = "LFLAGS_DEBUG" + else: + if win_shared: + cflags_mt = "CFLAGS_MT_DLL" + cxxflags_mt = "CXXFLAGS_MT_DLL" + else: + cflags_mt = "CFLAGS_MT" + cxxflags_mt = "CXXFLAGS_MT" + + cflags_debug = "CFLAGS_RELEASE" + cxxflags_debug = "CXXFLAGS_RELEASE" + lflags_debug = "LFLAGS_RELEASE" + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + if self._threaded: + cflags.extend(self.optional_list(cflags_mt)) + cxxflags.extend(self.optional_list(cxxflags_mt)) + + if self.console: + cflags.extend(self.optional_list("CFLAGS_CONSOLE")) + cxxflags.extend(self.optional_list("CXXFLAGS_CONSOLE")) + + cflags.extend(self.optional_list(cflags_debug)) + cxxflags.extend(self.optional_list(cxxflags_debug)) + lflags.extend(self.optional_list(lflags_debug)) + + if self._warnings: + cflags_warn = "CFLAGS_WARN_ON" + cxxflags_warn = "CXXFLAGS_WARN_ON" + else: + cflags_warn = "CFLAGS_WARN_OFF" + cxxflags_warn = "CXXFLAGS_WARN_OFF" + + cflags.extend(self.optional_list(cflags_warn)) + cxxflags.extend(self.optional_list(cxxflags_warn)) + + if self._threaded: + cflags.extend(self.optional_list("CFLAGS_THREAD")) + cxxflags.extend(self.optional_list("CXXFLAGS_THREAD")) + lflags.extend(self.optional_list("LFLAGS_THREAD")) + + if self._qt: + # Get the name of the mkspecs directory. + try: + specd_base = self.config.qt_data_dir + except AttributeError: + specd_base = self.config.qt_dir + + mkspecs = os.path.join(specd_base, "mkspecs") + + if self.generator != "UNIX" and win_shared: + defines.append("QT_DLL") + + if not self._debug: + defines.append("QT_NO_DEBUG") + + if qt_version >= 0x040000: + for mod in self._qt: + # Note that qmake doesn't define anything for QtHelp. + if mod == "QtCore": + defines.append("QT_CORE_LIB") + elif mod == "QtDeclarative": + defines.append("QT_DECLARATIVE_LIB") + elif mod == "QtGui": + defines.append("QT_GUI_LIB") + elif mod == "QtMultimedia": + defines.append("QT_MULTIMEDIA_LIB") + elif mod == "QtNetwork": + defines.append("QT_NETWORK_LIB") + elif mod == "QtOpenGL": + defines.append("QT_OPENGL_LIB") + elif mod == "QtScript": + defines.append("QT_SCRIPT_LIB") + elif mod == "QtScriptTools": + defines.append("QT_SCRIPTTOOLS_LIB") + elif mod == "QtSql": + defines.append("QT_SQL_LIB") + elif mod == "QtTest": + defines.append("QT_TEST_LIB") + elif mod == "QtWebKit": + defines.append("QT_WEBKIT_LIB") + elif mod == "QtXml": + defines.append("QT_XML_LIB") + elif mod == "QtXmlPatterns": + defines.append("QT_XMLPATTERNS_LIB") + elif mod == "phonon": + defines.append("QT_PHONON_LIB") + + if qt_version >= 0x050000: + if mod == "QtTest": + defines.append("QT_GUI_LIB") + + if mod in ("QtSql", "QtTest"): + defines.append("QT_WIDGETS_LIB") + + elif self._threaded: + defines.append("QT_THREAD_SUPPORT") + + # Handle library directories. + libdir_qt = self.optional_list("LIBDIR_QT") + libdir.extend(libdir_qt) + rpaths.extend(libdir_qt) + + if qt_version >= 0x040000: + # Try and read QT_LIBINFIX from qconfig.pri. + qconfig = os.path.join(mkspecs, "qconfig.pri") + self._infix = self._extract_value(qconfig, "QT_LIBINFIX") + + # For Windows: the macros that define the dependencies on + # Windows libraries. + wdepmap = { + "QtCore": "LIBS_CORE", + "QtGui": "LIBS_GUI", + "QtNetwork": "LIBS_NETWORK", + "QtOpenGL": "LIBS_OPENGL", + "QtWebKit": "LIBS_WEBKIT" + } + + # For Windows: the dependencies between Qt libraries. + qt5_depmap = { + "QtDeclarative": ("QtXmlPatterns", "QtNetwork", "QtSql", "QtScript", "QtWidgets", "QtGui", "QtCore"), + "QtGui": ("QtPrintSupport", "QtWidgets", "QtCore"), + "QtHelp": ("QtNetwork", "QtSql", "QtWidgets", "QtGui", "QtCore"), + "QtMultimedia": ("QtGui", "QtCore"), + "QtNetwork": ("QtCore", ), + "QtOpenGL": ("QtWidgets", "QtGui", "QtCore"), + "QtScript": ("QtCore", ), + "QtScriptTools": ("QtScript", "QtGui", "QtCore"), + "QtSql": ("QtCore", ), + "QtSvg": ("QtXml", "QtWidgets", "QtGui", "QtCore"), + "QtTest": ("QtGui", "QtCore"), + "QtWebKit": ("QtNetwork", "QtWebKitWidgets", "QtWidgets", "QtGui", "QtCore"), + "QtXml": ("QtCore", ), + "QtXmlPatterns": ("QtNetwork", "QtCore"), + "QtDesigner": ("QtGui", "QtCore"), + "QAxContainer": ("Qt5AxBase", "QtWidgets", "QtGui", "QtCore") + } + + qt4_depmap = { + "QtAssistant": ("QtNetwork", "QtGui", "QtCore"), + "QtDeclarative": ("QtNetwork", "QtGui", "QtCore"), + "QtGui": ("QtCore", ), + "QtHelp": ("QtSql", "QtGui", "QtCore"), + "QtMultimedia": ("QtGui", "QtCore"), + "QtNetwork": ("QtCore", ), + "QtOpenGL": ("QtGui", "QtCore"), + "QtScript": ("QtCore", ), + "QtScriptTools": ("QtScript", "QtGui", "QtCore"), + "QtSql": ("QtCore", ), + "QtSvg": ("QtXml", "QtGui", "QtCore"), + "QtTest": ("QtGui", "QtCore"), + "QtWebKit": ("QtNetwork", "QtGui", "QtCore"), + "QtXml": ("QtCore", ), + "QtXmlPatterns": ("QtNetwork", "QtCore"), + "phonon": ("QtGui", "QtCore"), + "QtDesigner": ("QtGui", "QtCore"), + "QAxContainer": ("QtGui", "QtCore") + } + + if qt_version >= 0x050000: + qt_depmap = qt5_depmap + else: + qt_depmap = qt4_depmap + + # The QtSql .prl file doesn't include QtGui as a dependency (at + # least on Linux) so we explcitly set the dependency here for + # everything. + if "QtSql" in self._qt: + if "QtGui" not in self._qt: + self._qt.append("QtGui") + + # With Qt v4.2.0, the QtAssistantClient library is now a shared + # library on UNIX. The QtAssistantClient .prl file doesn't + # include QtGui and QtNetwork as a dependency any longer. This + # seems to be a bug in Qt v4.2.0. We explicitly set the + # dependencies here. + if qt_version >= 0x040200 and "QtAssistant" in self._qt: + if "QtGui" not in self._qt: + self._qt.append("QtGui") + if "QtNetwork" not in self._qt: + self._qt.append("QtNetwork") + + for mod in self._qt: + lib = self._qt_module_to_lib(mod) + libs.append(self.platform_lib(lib, self._is_framework(mod))) + + if sys.platform == "win32": + # On Windows the dependent libraries seem to be in + # qmake.conf rather than the .prl file and the + # inter-dependencies between Qt libraries don't seem to + # be anywhere. + deps = _UniqueList() + + if mod in list(wdepmap.keys()): + deps.extend(self.optional_list(wdepmap[mod])) + + if mod in list(qt_depmap.keys()): + for qdep in qt_depmap[mod]: + # Ignore the dependency if it is explicitly + # linked. + if qdep not in self._qt: + libs.append(self.platform_lib(self._qt_module_to_lib(qdep))) + + if qdep in list(wdepmap.keys()): + deps.extend(self.optional_list(wdepmap[qdep])) + + libs.extend(deps.as_list()) + else: + libs.extend(self._dependent_libs(lib, self._is_framework(mod))) + else: + # Windows needs the version number appended if Qt is a DLL. + qt_lib = self.config.qt_lib + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE") and win_shared: + qt_lib = qt_lib + version_to_string(qt_version).replace(".", "") + + if self.config.qt_edition == "non-commercial": + qt_lib = qt_lib + "nc" + + libs.append(self.platform_lib(qt_lib, self.config.qt_framework)) + libs.extend(self._dependent_libs(self.config.qt_lib)) + + # Handle header directories. + specd = os.path.join(mkspecs, "default") + + if not os.access(specd, os.F_OK): + specd = os.path.join(mkspecs, self.config.platform) + + incdir.append(specd) + + qtincdir = self.optional_list("INCDIR_QT") + + if qtincdir: + if qt_version >= 0x040000: + for mod in self._qt: + if mod == "QAxContainer": + incdir.append(os.path.join(qtincdir[0], "ActiveQt")) + elif self._is_framework(mod): + idir = libdir_qt[0] + + if mod == "QtAssistant" and qt_version < 0x040202: + mod = "QtAssistantClient" + + incdir.append(os.path.join(idir, + mod + ".framework", "Headers")) + + if qt_version >= 0x050000: + if mod == "QtGui": + incdir.append(os.path.join(idir, + "QtWidgets.framework", "Headers")) + incdir.append(os.path.join(idir, + "QtPrintSupport.framework", + "Headers")) + elif mod == "QtWebKit": + incdir.append(os.path.join(idir, + "QtWebKitWidgets.framework", + "Headers")) + else: + idir = qtincdir[0] + + incdir.append(os.path.join(idir, mod)) + + if qt_version >= 0x050000: + if mod == "QtGui": + incdir.append(os.path.join(idir, + "QtWidgets")) + incdir.append(os.path.join(idir, + "QtPrintSupport")) + elif mod == "QtWebKit": + incdir.append(os.path.join(idir, + "QtWebKitWidgets")) + + # This must go after the module include directories. + incdir.extend(qtincdir) + + if self._opengl: + incdir.extend(self.optional_list("INCDIR_OPENGL")) + lflags.extend(self.optional_list("LFLAGS_OPENGL")) + libdir.extend(self.optional_list("LIBDIR_OPENGL")) + libs.extend(self.optional_list("LIBS_OPENGL")) + + if self._qt or self._opengl: + if qt_version < 0x040000 or self._opengl or "QtGui" in self._qt: + incdir.extend(self.optional_list("INCDIR_X11")) + libdir.extend(self.optional_list("LIBDIR_X11")) + libs.extend(self.optional_list("LIBS_X11")) + + if self._threaded: + libs.extend(self.optional_list("LIBS_THREAD")) + libs.extend(self.optional_list("LIBS_RTMT")) + else: + libs.extend(self.optional_list("LIBS_RT")) + + if self.console: + libs.extend(self.optional_list("LIBS_CONSOLE")) + + libs.extend(self.optional_list("LIBS_WINDOWS")) + + lflags.extend(self._platform_rpaths(rpaths.as_list())) + + # Save the transformed values. + self.CFLAGS.set(cflags) + self.CXXFLAGS.set(cxxflags) + self.DEFINES.set(defines) + self.INCDIR.set(incdir) + self.LFLAGS.set(lflags) + self.LIBDIR.set(libdir) + self.LIBS.set(libs) + + # Don't do it again because it has side effects. + self._finalised = 1 + + def _add_manifest(self, target=None): + """Add the link flags for creating a manifest file. + """ + if target is None: + target = "$(TARGET)" + + self.LFLAGS.append("/MANIFEST") + self.LFLAGS.append("/MANIFESTFILE:%s.manifest" % target) + + def _is_framework(self, mod): + """Return true if the given Qt module is a framework. + """ + return (self.config.qt_framework and (self.config.qt_version >= 0x040200 or mod != "QtAssistant")) + + def _qt_module_to_lib(self, mname): + """Return the name of the Qt library corresponding to a module. + + mname is the name of the module. + """ + qt_version = self.config.qt_version + + if mname == "QtAssistant": + if qt_version >= 0x040202 and sys.platform == "darwin": + lib = mname + else: + lib = "QtAssistantClient" + else: + lib = mname + + lib += self._infix + + if self._debug: + if sys.platform == "win32": + lib = lib + "d" + elif sys.platform == "darwin": + if not self._is_framework(mname): + lib = lib + "_debug" + elif qt_version < 0x040200: + lib = lib + "_debug" + + qt5_rename = False + + if sys.platform == "win32" and "shared" in self.config.qt_winconfig.split(): + if (mname in ("QtCore", "QtDeclarative", "QtDesigner", "QtGui", + "QtHelp", "QtMultimedia", "QtNetwork", "QtOpenGL", + "QtScript", "QtScriptTools", "QtSql", "QtSvg", + "QtTest", "QtWebKit", "QtXml", "QtXmlPatterns", + "phonon", "QAxContainer", "QtPrintSupport", + "QtWebKitWidgets", "QtWidgets") or + (qt_version >= 0x040200 and mname == "QtAssistant")): + if mname == "QAxContainer": + if qt_version >= 0x050000: + lib = "Qt5" + lib[1:] + elif qt_version >= 0x050000: + qt5_rename = True + else: + lib = lib + "4" + elif sys.platform.startswith("linux") and qt_version >= 0x050000: + qt5_rename = True + + if qt5_rename: + lib = "Qt5" + lib[2:] + + return lib + + def optional_list(self, name): + """Return an optional Makefile macro as a list. + + name is the name of the macro. + """ + return self.__dict__[name].as_list() + + def optional_string(self, name, default=""): + """Return an optional Makefile macro as a string. + + name is the name of the macro. + default is the default value + """ + s = ' '.join(self.optional_list(name)) + + if not s: + s = default + + return s + + def required_string(self, name): + """Return a required Makefile macro as a string. + + name is the name of the macro. + """ + s = self.optional_string(name) + + if not s: + raise ValueError("\"%s\" must have a non-empty value" % name) + + return s + + def _platform_rpaths(self, rpaths): + """Return a list of platform specific rpath flags. + + rpaths is the cannonical list of rpaths. + """ + flags = [] + prefix = self.optional_string("RPATH") + + if prefix == "": + # This was renamed in Qt v4.7. + prefix = self.optional_string("LFLAGS_RPATH") + + if prefix != "": + for r in rpaths: + flags.append(_quote(prefix + r)) + + return flags + + def platform_lib(self, clib, framework=0): + """Return a library name in platform specific form. + + clib is the library name in cannonical form. + framework is set of the library is implemented as a MacOS framework. + """ + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + plib = clib + ".lib" + elif sys.platform == "darwin" and framework: + plib = "-framework " + clib + else: + plib = "-l" + clib + + return plib + + def _dependent_libs(self, clib, framework=0): + """Return a list of additional libraries (in platform specific form) + that must be linked with a library. + + clib is the library name in cannonical form. + framework is set of the library is implemented as a MacOS framework. + """ + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + prl_name = os.path.join(self.config.qt_lib_dir, clib + ".prl") + elif sys.platform == "darwin" and framework: + prl_name = os.path.join(self.config.qt_lib_dir, clib + ".framework", clib + ".prl") + else: + prl_name = os.path.join(self.config.qt_lib_dir, "lib" + clib + ".prl") + + libs = self._extract_value(prl_name, "QMAKE_PRL_LIBS").split() + + if self.config.qt_version >= 0x050000: + xtra_libs = [] + + if clib in ("QtGui", "Qt5Gui"): + xtra_libs.append("QtWidgets") + xtra_libs.append("QtPrintSupport") + elif clib in ("QtWebKit", "Qt5WebKit"): + xtra_libs.append("QtWebKitWidgets") + + for xtra in xtra_libs: + libs.extend( + self.platform_lib( + self._qt_module_to_lib(xtra), framework).split()) + + return libs + + def _extract_value(self, fname, vname): + """Return the stripped value from a name=value line in a file. + + fname is the name of the file. + vname is the name of the value. + """ + value = "" + + if os.access(fname, os.F_OK): + try: + f = open(fname, "r") + except IOError: + error("Unable to open \"%s\"" % fname) + + line = f.readline() + while line: + line = line.strip() + if line and line[0] != "#": + eq = line.find("=") + if eq > 0 and line[:eq].strip() == vname: + value = line[eq + 1:].strip() + break + + line = f.readline() + + f.close() + + return value + + def parse_build_file(self, filename): + """ + Parse a build file and return the corresponding dictionary. + + filename is the name of the build file. If it is a dictionary instead + then its contents are validated. + """ + if type(filename) == dict: + bfname = "dictionary" + bdict = filename + else: + if os.path.isabs(filename): + # We appear to be building out of the source tree. + self._src_dir = os.path.dirname(filename) + bfname = filename + else: + bfname = os.path.join(self.dir, filename) + + bdict = {} + + try: + f = open(bfname, "r") + except IOError: + error("Unable to open \"%s\"" % bfname) + + line_nr = 1 + line = f.readline() + + while line: + line = line.strip() + + if line and line[0] != "#": + eq = line.find("=") + + if eq <= 0: + error("\"%s\" line %d: Line must be in the form 'name = value value...'." % (bfname, line_nr)) + + bdict[line[:eq].strip()] = line[eq + 1:].strip() + + line_nr = line_nr + 1 + line = f.readline() + + f.close() + + # Check the compulsory values. + for i in ("target", "sources"): + try: + bdict[i] + except KeyError: + error("\"%s\" is missing from \"%s\"." % (i, bfname)) + + # Get the optional values. + for i in ("headers", "moc_headers"): + try: + bdict[i] + except KeyError: + bdict[i] = "" + + # Generate the list of objects. + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + ext = ".obj" + else: + ext = ".o" + + olist = [] + + for f in bdict["sources"].split(): + root, discard = os.path.splitext(f) + olist.append(root + ext) + + for f in bdict["moc_headers"].split(): + if not self._qt: + error("\"%s\" defines \"moc_headers\" for a non-Qt module." % bfname) + + root, discard = os.path.splitext(f) + olist.append("moc_" + root + ext) + + bdict["objects"] = ' '.join(olist) + + return bdict + + def clean_build_file_objects(self, mfile, build): + """Generate the clean target. + + mfile is the file object. + build is the dictionary created from the build file. + """ + mfile.write("\t-%s $(TARGET)\n" % self.rm) + + for f in build["objects"].split(): + mfile.write("\t-%s %s\n" % (self.rm, f)) + + for f in build["moc_headers"].split(): + root, discard = os.path.splitext(f) + mfile.write("\t-%s moc_%s.cpp\n" % (self.rm, root)) + + def ready(self): + """The Makefile is now ready to be used. + """ + if not self._finalised: + self.finalise() + + def generate(self): + """Generate the Makefile. + """ + self.ready() + + # Make sure the destination directory exists. + try: + os.makedirs(self.dir) + except: + pass + + mfname = os.path.join(self.dir, self._makefile) + + try: + mfile = open(mfname, "w") + except IOError: + error("Unable to create \"%s\"" % mfname) + + self.generate_macros_and_rules(mfile) + self.generate_target_default(mfile) + self.generate_target_install(mfile) + + if self._installs: + if type(self._installs) != list: + self._installs = [self._installs] + + for src, dst in self._installs: + self.install_file(mfile, src, dst) + + self.generate_target_clean(mfile) + + mfile.close() + + def generate_macros_and_rules(self, mfile): + """The default implementation of the macros and rules generation. + + mfile is the file object. + """ + if self._deployment_target: + mfile.write("export MACOSX_DEPLOYMENT_TARGET = %s\n" % self._deployment_target) + + mfile.write("CC = %s\n" % self.required_string("CC")) + mfile.write("CXX = %s\n" % self.required_string("CXX")) + mfile.write("LINK = %s\n" % self.required_string("LINK")) + + cppflags = [] + + if not self._debug: + cppflags.append("-DNDEBUG") + + for f in self.optional_list("DEFINES"): + cppflags.append("-D" + f) + + for f in self.optional_list("INCDIR"): + cppflags.append("-I" + _quote(f)) + + libs = [] + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + libdir_prefix = "/LIBPATH:" + else: + libdir_prefix = "-L" + + for ld in self.optional_list("LIBDIR"): + if sys.platform == "darwin" and self.config.qt_framework: + fflag = "-F" + _quote(ld) + libs.append(fflag) + cppflags.append(fflag) + + libs.append(libdir_prefix + _quote(ld)) + + libs.extend(self.optional_list("LIBS")) + + mfile.write("CPPFLAGS = %s\n" % ' '.join(cppflags)) + + mfile.write("CFLAGS = %s\n" % self.optional_string("CFLAGS")) + mfile.write("CXXFLAGS = %s\n" % self.optional_string("CXXFLAGS")) + mfile.write("LFLAGS = %s\n" % self.optional_string("LFLAGS")) + + mfile.write("LIBS = %s\n" % ' '.join(libs)) + + if self._qt: + mfile.write("MOC = %s\n" % _quote(self.required_string("MOC"))) + + vpath = _UniqueList(self.extra_source_dirs) + + if self._src_dir != self.dir: + vpath.append(self._src_dir) + + if vpath.as_list(): + mfile.write("VPATH = %s\n\n" % " ".join(vpath.as_list())) + + # These probably don't matter. + if self.generator == "MINGW": + mfile.write(".SUFFIXES: .cpp .cxx .cc .C .c\n\n") + elif self.generator == "UNIX": + mfile.write(".SUFFIXES: .c .o .cpp .cc .cxx .C\n\n") + else: + mfile.write(".SUFFIXES: .c .cpp .cc .cxx .C\n\n") + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + mfile.write(""" +{.}.cpp{}.obj:: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -Fo @<< +\t$< +<< + +{.}.cc{}.obj:: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -Fo @<< +\t$< +<< + +{.}.cxx{}.obj:: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -Fo @<< +\t$< +<< + +{.}.C{}.obj:: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -Fo @<< +\t$< +<< + +{.}.c{}.obj:: +\t$(CC) -c $(CFLAGS) $(CPPFLAGS) -Fo @<< +\t$< +<< +""") + elif self.generator == "BMAKE": + mfile.write(""" +.cpp.obj: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o$@ $< + +.cc.obj: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o$@ $< + +.cxx.obj: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o$@ $< + +.C.obj: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o$@ $< + +.c.obj: +\t$(CC) -c $(CFLAGS) $(CPPFLAGS) -o$@ $< +""") + else: + mfile.write(""" +.cpp.o: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ $< + +.cc.o: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ $< + +.cxx.o: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ $< + +.C.o: +\t$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -o $@ $< + +.c.o: +\t$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< +""") + + def generate_target_default(self, mfile): + """The default implementation of the default target. + + mfile is the file object. + """ + mfile.write("\nall:\n") + + def generate_target_install(self, mfile): + """The default implementation of the install target. + + mfile is the file object. + """ + mfile.write("\ninstall:\n") + + def generate_target_clean(self, mfile): + """The default implementation of the clean target. + + mfile is the file object. + """ + mfile.write("\nclean:\n") + + def install_file(self, mfile, src, dst, strip=0): + """Install one or more files in a directory. + + mfile is the file object. + src is the name of a single file to install, or the list of a number of + files to install. + dst is the name of the destination directory. + strip is set if the files should be stripped after been installed. + """ + # Help package builders. + if self.generator == "UNIX": + dst = "$(DESTDIR)" + dst + + mfile.write("\t@%s %s " % (self.chkdir, _quote(dst))) + + if self.generator == "UNIX": + mfile.write("|| ") + + mfile.write("%s %s\n" % (self.mkdir, _quote(dst))) + + if type(src) != list: + src = [src] + + # Get the strip command if needed. + if strip: + strip_cmd = self.optional_string("STRIP") + + if not strip_cmd: + strip = 0 + + for sf in src: + target = _quote(os.path.join(dst, os.path.basename(sf))) + + mfile.write("\t%s %s %s\n" % (self.copy, _quote(sf), target)) + + if strip: + mfile.write("\t%s %s\n" % (strip_cmd, target)) + + +class ParentMakefile(Makefile): + """The class that represents a parent Makefile. + """ + def __init__(self, configuration, subdirs, dir=None, makefile="Makefile", + installs=None): + """Initialise an instance of a parent Makefile. + + subdirs is the sequence of subdirectories. + """ + Makefile.__init__(self, configuration, dir=dir, makefile=makefile, installs=installs) + + self._subdirs = subdirs + + def generate_macros_and_rules(self, mfile): + """Generate the macros and rules. + + mfile is the file object. + """ + # We don't want them. + pass + + def generate_target_default(self, mfile): + """Generate the default target. + + mfile is the file object. + """ + self._subdir_target(mfile) + + def generate_target_install(self, mfile): + """Generate the install target. + + mfile is the file object. + """ + self._subdir_target(mfile, "install") + + def generate_target_clean(self, mfile): + """Generate the clean target. + + mfile is the file object. + """ + self._subdir_target(mfile, "clean") + + def _subdir_target(self, mfile, target="all"): + """Create a target for a list of sub-directories. + + mfile is the file object. + target is the name of the target. + """ + if target == "all": + tname = "" + else: + tname = " " + target + + mfile.write("\n" + target + ":\n") + + for d in self._subdirs: + if self.generator == "MINGW": + mfile.write("\t@$(MAKE) -C %s%s\n" % (d, tname)) + elif self.generator == "UNIX": + mfile.write("\t@(cd %s; $(MAKE)%s)\n" % (d, tname)) + else: + mfile.write("\tcd %s\n" % d) + mfile.write("\t$(MAKE)%s\n" % tname) + mfile.write("\t@cd ..\n") + + +class PythonModuleMakefile(Makefile): + """The class that represents a Python module Makefile. + """ + def __init__(self, configuration, dstdir, srcdir=None, dir=None, + makefile="Makefile", installs=None): + """Initialise an instance of a parent Makefile. + + dstdir is the name of the directory where the module's Python code will + be installed. + srcdir is the name of the directory (relative to the directory in which + the Makefile will be created) containing the module's Python code. It + defaults to the same directory. + """ + Makefile.__init__(self, configuration, dir=dir, makefile=makefile, installs=installs) + + if not srcdir: + srcdir = "." + + if dir: + self._moddir = os.path.join(dir, srcdir) + else: + self._moddir = srcdir + + self._srcdir = srcdir + self._dstdir = dstdir + + def generate_macros_and_rules(self, mfile): + """Generate the macros and rules. + + mfile is the file object. + """ + # We don't want them. + pass + + def generate_target_install(self, mfile): + """Generate the install target. + + mfile is the file object. + """ + Makefile.generate_target_install(self, mfile) + + for root, dirs, files in os.walk(self._moddir): + # Do not recurse into certain directories. + for skip in (".svn", "CVS"): + if skip in dirs: + dirs.remove(skip) + + tail = root[len(self._moddir):] + flist = [] + + for f in files: + if f == "Makefile": + continue + + if os.path.isfile(os.path.join(root, f)): + flist.append(os.path.join(self._srcdir + tail, f)) + + self.install_file(mfile, flist, self._dstdir + tail) + + +class ModuleMakefile(Makefile): + """The class that represents a Python extension module Makefile + """ + def __init__(self, configuration, build_file, install_dir=None, static=0, + console=0, qt=0, opengl=0, threaded=0, warnings=1, debug=0, + dir=None, makefile="Makefile", installs=None, strip=1, + export_all=0, universal=None, arch=None, + deployment_target=None): + """Initialise an instance of a module Makefile. + + build_file is the file containing the target specific information. If + it is a dictionary instead then its contents are validated. + install_dir is the directory the target will be installed in. + static is set if the module should be built as a static library. + strip is set if the module should be stripped of unneeded symbols when + installed. The default is 1. + export_all is set if all the module's symbols should be exported rather + than just the module's initialisation function. Exporting all symbols + increases the size of the module and slows down module load times but + may avoid problems with modules that use exceptions. The default is 0. + """ + Makefile.__init__(self, configuration, console, qt, opengl, 1, threaded, warnings, debug, dir, makefile, installs, universal, arch, deployment_target) + + self._build = self.parse_build_file(build_file) + self._install_dir = install_dir + self.static = static + + self._manifest = ("embed_manifest_dll" in self.optional_list("CONFIG")) + + # Don't strip or restrict the exports if this is a debug or static + # build. + if debug or static: + self._strip = 0 + self._limit_exports = 0 + else: + self._strip = strip + self._limit_exports = not export_all + + # Save the target name for later. + self._target = self._build["target"] + + # The name of the module entry point is Python version specific. + if self.config.py_version >= 0x030000: + self._entry_point = "PyInit_%s" % self._target + else: + self._entry_point = "init%s" % self._target + + if sys.platform != "win32" and static: + self._target = "lib" + self._target + + if sys.platform == "win32" and debug: + self._target = self._target + "_d" + + def finalise(self): + """Finalise the macros common to all module Makefiles. + """ + if self.console: + lflags_console = "LFLAGS_CONSOLE" + else: + lflags_console = "LFLAGS_WINDOWS" + + if self.static: + self.DEFINES.append("SIP_STATIC_MODULE") + else: + self.CFLAGS.extend(self.optional_list("CFLAGS_SHLIB")) + self.CXXFLAGS.extend(self.optional_list("CXXFLAGS_SHLIB")) + + lflags_dll = self.optional_list("LFLAGS_DLL") + + if lflags_dll: + self.LFLAGS.extend(lflags_dll) + elif self.console: + lflags_console = "LFLAGS_CONSOLE_DLL" + else: + lflags_console = "LFLAGS_WINDOWS_DLL" + + if self._manifest: + self._add_manifest() + + # We use this to explictly create bundles on MacOS. Apple's Python + # can handle extension modules that are bundles or dynamic + # libraries, but python.org versions need bundles (unless built + # with DYNLOADFILE=dynload_shlib.o). + if sys.platform == "darwin": + lflags_plugin = ["-bundle"] + else: + lflags_plugin = self.optional_list("LFLAGS_PLUGIN") + + if not lflags_plugin: + lflags_plugin = self.optional_list("LFLAGS_SHLIB") + + self.LFLAGS.extend(lflags_plugin) + + self.LFLAGS.extend(self.optional_list(lflags_console)) + + if sys.platform == "darwin": + self.LFLAGS.append("-undefined dynamic_lookup") + + Makefile.finalise(self) + + if not self.static: + if self.optional_string("AIX_SHLIB"): + # AIX needs a lot of special handling. + if self.required_string('LINK') == 'g++': + # g++ is used for linking. + # For SIP v4 and g++: + # 1.) Import the python symbols + aix_lflags = ['-Wl,-bI:%s/python.exp' % self.config.py_lib_dir] + + if self._limit_exports: + aix_lflags.append('-Wl,-bnoexpall') + aix_lflags.append('-Wl,-bnoentry') + aix_lflags.append('-Wl,-bE:%s.exp' % self._target) + else: + # IBM VisualAge C++ is used for linking. + # For SIP v4 and xlC: + # 1.) Create a shared object + # 2.) Import the python symbols + aix_lflags = ['-qmkshrobj', + '-bI:%s/python.exp' % self.config.py_lib_dir] + + if self._limit_exports: + aix_lflags.append('-bnoexpall') + aix_lflags.append('-bnoentry') + aix_lflags.append('-bE:%s.exp' % self._target) + + self.LFLAGS.extend(aix_lflags) + else: + if self._limit_exports: + if sys.platform[:5] == 'linux': + self.LFLAGS.extend(['-Wl,--version-script=%s.exp' % self._target]) + elif sys.platform[:5] == 'sunos': + if self.required_string('LINK') == 'g++': + self.LFLAGS.extend(['-Wl,-z,noversion', '-Wl,-M,%s.exp' % self._target]) + else: + self.LFLAGS.extend(['-z' 'noversion', '-M', '%s.exp' % self._target]) + elif sys.platform[:5] == 'hp-ux': + self.LFLAGS.extend(['-Wl,+e,%s' % self._entry_point]) + elif sys.platform[:5] == 'irix' and self.required_string('LINK') != 'g++': + # Doesn't work when g++ is used for linking on IRIX. + self.LFLAGS.extend(['-Wl,-exported_symbol,%s' % self._entry_point]) + + # Force the shared linker if there is one. + link_shlib = self.optional_list("LINK_SHLIB") + + if link_shlib: + self.LINK.set(link_shlib) + + # This made an appearence in Qt v4.4rc1 and breaks extension modules so + # remove it. It was removed at my request but some stupid distros may + # have kept it. + self.LFLAGS.remove('-Wl,--no-undefined') + + def module_as_lib(self, mname): + """Return the name of a SIP v3.x module when it is used as a library. + This will raise an exception when used with SIP v4.x modules. + + mname is the name of the module. + """ + raise ValueError("module_as_lib() can only be used with SIP v3.x") + + def generate_macros_and_rules(self, mfile): + """Generate the macros and rules generation. + + mfile is the file object. + """ + if self.static: + if sys.platform == "win32": + ext = "lib" + else: + ext = "a" + else: + if sys.platform == "win32": + ext = "pyd" + elif sys.platform == "darwin": + ext = "so" + elif sys.platform == "cygwin": + ext = "dll" + else: + ext = self.optional_string("EXTENSION_PLUGIN") + if not ext: + ext = self.optional_string("EXTENSION_SHLIB", "so") + + mfile.write("TARGET = %s\n" % (self._target + "." + ext)) + mfile.write("OFILES = %s\n" % self._build["objects"]) + mfile.write("HFILES = %s %s\n" % (self._build["headers"], self._build["moc_headers"])) + mfile.write("\n") + + if self.static: + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"): + mfile.write("LIB = %s\n" % self.required_string("LIB")) + elif self.generator == "MINGW": + mfile.write("AR = %s\n" % self.required_string("LIB")) + self._ranlib = None + else: + mfile.write("AR = %s\n" % self.required_string("AR")) + + self._ranlib = self.optional_string("RANLIB") + + if self._ranlib: + mfile.write("RANLIB = %s\n" % self._ranlib) + + Makefile.generate_macros_and_rules(self, mfile) + + def generate_target_default(self, mfile): + """Generate the default target. + + mfile is the file object. + """ + # Do these first so that it's safe for a sub-class to append additional + # commands to the real target, but make sure the default is correct. + mfile.write("\nall: $(TARGET)\n") + mfile.write("\n$(OFILES): $(HFILES)\n") + + for mf in self._build["moc_headers"].split(): + root, discard = os.path.splitext(mf) + cpp = "moc_" + root + ".cpp" + + mfile.write("\n%s: %s\n" % (cpp, mf)) + mfile.write("\t$(MOC) -o %s $<\n" % cpp) + + mfile.write("\n$(TARGET): $(OFILES)\n") + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + if self.static: + mfile.write("\t$(LIB) /OUT:$(TARGET) @<<\n") + mfile.write("\t $(OFILES)\n") + mfile.write("<<\n") + else: + mfile.write("\t$(LINK) $(LFLAGS) /OUT:$(TARGET) @<<\n") + mfile.write("\t $(OFILES) $(LIBS)\n") + mfile.write("<<\n") + + if self._manifest: + mfile.write("\tmt -nologo -manifest $(TARGET).manifest -outputresource:$(TARGET);2\n") + elif self.generator == "BMAKE": + if self.static: + mfile.write("\t-%s $(TARGET)\n" % (self.rm)) + mfile.write("\t$(LIB) $(TARGET) @&&|\n") + + for of in self._build["objects"].split(): + mfile.write("+%s \\\n" % (of)) + + mfile.write("|\n") + else: + mfile.write("\t$(LINK) @&&|\n") + mfile.write("\t$(LFLAGS) $(OFILES) ,$(TARGET),,$(LIBS),%s\n" % (self._target)) + mfile.write("|\n") + + # Create the .def file that renames the entry point. + defname = os.path.join(self.dir, self._target + ".def") + + try: + dfile = open(defname, "w") + except IOError: + error("Unable to create \"%s\"" % defname) + + dfile.write("EXPORTS\n") + dfile.write("%s=_%s\n" % (self._entry_point, self._entry_point)) + + dfile.close() + + else: + if self.static: + mfile.write("\t-%s $(TARGET)\n" % self.rm) + mfile.write("\t$(AR) $(TARGET) $(OFILES)\n") + + if self._ranlib: + mfile.write("\t$(RANLIB) $(TARGET)\n") + else: + if self._limit_exports: + # Create an export file for AIX, Linux and Solaris. + if sys.platform[:5] == 'linux': + mfile.write("\t@echo '{ global: %s; local: *; };' > %s.exp\n" % (self._entry_point, self._target)) + elif sys.platform[:5] == 'sunos': + mfile.write("\t@echo '{ global: %s; local: *; };' > %s.exp\n" % (self._entry_point, self._target)) + elif sys.platform[:3] == 'aix': + mfile.write("\t@echo '#!' >%s.exp" % self._target) + mfile.write("; \\\n\t echo '%s' >>%s.exp\n" % (self._entry_point, self._target)) + + mfile.write("\t$(LINK) $(LFLAGS) -o $(TARGET) $(OFILES) $(LIBS)\n") + + def generate_target_install(self, mfile): + """Generate the install target. + + mfile is the file object. + """ + if self._install_dir is None: + self._install_dir = self.config.default_mod_dir + + mfile.write("\ninstall: $(TARGET)\n") + self.install_file(mfile, "$(TARGET)", self._install_dir, self._strip) + + def generate_target_clean(self, mfile): + """Generate the clean target. + + mfile is the file object. + """ + mfile.write("\nclean:\n") + self.clean_build_file_objects(mfile, self._build) + + if self._manifest and not self.static: + mfile.write("\t-%s $(TARGET).manifest\n" % self.rm) + + # Remove any export file on AIX, Linux and Solaris. + if self._limit_exports and (sys.platform[:5] == 'linux' or + sys.platform[:5] == 'sunos' or + sys.platform[:3] == 'aix'): + mfile.write("\t-%s %s.exp\n" % (self.rm, self._target)) + + +class SIPModuleMakefile(ModuleMakefile): + """The class that represents a SIP generated module Makefile. + """ + def __init__(self, configuration, build_file, install_dir=None, static=0, + console=0, qt=0, opengl=0, threaded=0, warnings=1, debug=0, + dir=None, makefile="Makefile", installs=None, strip=1, + export_all=0, universal=None, arch=None, prot_is_public=0, + deployment_target=None): + """Initialise an instance of a SIP generated module Makefile. + + prot_is_public is set if "protected" is to be redefined as "public". + If the platform's C++ ABI allows it this can significantly reduce the + size of the generated code. + + For all other arguments see ModuleMakefile. + """ + ModuleMakefile.__init__(self, configuration, build_file, install_dir, + static, console, qt, opengl, threaded, warnings, debug, dir, + makefile, installs, strip, export_all, universal, arch, + deployment_target) + + self._prot_is_public = prot_is_public + + def finalise(self): + """Finalise the macros for a SIP generated module Makefile. + """ + if self._prot_is_public: + self.DEFINES.append('SIP_PROTECTED_IS_PUBLIC') + self.DEFINES.append('protected=public') + + self.INCDIR.append(self.config.sip_inc_dir) + + ModuleMakefile.finalise(self) + + +class ProgramMakefile(Makefile): + """The class that represents a program Makefile. + """ + def __init__(self, configuration, build_file=None, install_dir=None, + console=0, qt=0, opengl=0, python=0, threaded=0, warnings=1, + debug=0, dir=None, makefile="Makefile", installs=None, + universal=None, arch=None, deployment_target=None): + """Initialise an instance of a program Makefile. + + build_file is the file containing the target specific information. If + it is a dictionary instead then its contents are validated. + install_dir is the directory the target will be installed in. + """ + Makefile.__init__(self, configuration, console, qt, opengl, python, threaded, warnings, debug, dir, makefile, installs, universal, arch, deployment_target) + + self._install_dir = install_dir + + self._manifest = ("embed_manifest_exe" in self.optional_list("CONFIG")) + self._target = None + + if build_file: + self._build = self.parse_build_file(build_file) + else: + self._build = None + + def build_command(self, source): + """Create a command line that will build an executable. Returns a + tuple of the name of the executable and the command line. + + source is the name of the source file. + """ + # The name of the executable. + self._target, _ = os.path.splitext(source) + + if sys.platform in ("win32", "cygwin"): + exe = self._target + ".exe" + else: + exe = self._target + + self.ready() + + # The command line. + build = [] + + build.append(self.required_string("CXX")) + + for a in self._arch.split(): + build.append('-arch ' + a) + + for f in self.optional_list("DEFINES"): + build.append("-D" + f) + + for f in self.optional_list("INCDIR"): + build.append("-I" + _quote(f)) + + build.extend(self.optional_list("CXXFLAGS")) + + # This is for Qt5. + build.extend(self.optional_list("CXXFLAGS_APP")) + + # Borland requires all flags to precede all file names. + if self.generator != "BMAKE": + build.append(source) + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + build.append("-Fe") + build.append("/link") + libdir_prefix = "/LIBPATH:" + elif self.generator == "BMAKE": + build.append("-e" + exe) + libdir_prefix = "-L" + else: + build.append("-o") + build.append(exe) + libdir_prefix = "-L" + + for ld in self.optional_list("LIBDIR"): + if sys.platform == "darwin" and self.config.qt_framework: + build.append("-F" + _quote(ld)) + + build.append(libdir_prefix + _quote(ld)) + + lflags = self.optional_list("LFLAGS") + + # This is a huge hack demonstrating my lack of understanding of how the + # Borland compiler works. + if self.generator == "BMAKE": + blflags = [] + + for lf in lflags: + for f in lf.split(): + # Tell the compiler to pass the flags to the linker. + if f[-1] == "-": + f = "-l-" + f[1:-1] + elif f[0] == "-": + f = "-l" + f[1:] + + # Remove any explicit object files otherwise the compiler + # will complain that they can't be found, but they don't + # seem to be needed. + if f[-4:].lower() != ".obj": + blflags.append(f) + + lflags = blflags + + build.extend(lflags) + + build.extend(self.optional_list("LIBS")) + + if self.generator == "BMAKE": + build.append(source) + + return (exe, ' '.join(build)) + + def finalise(self): + """Finalise the macros for a program Makefile. + """ + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + self.LFLAGS.append("/INCREMENTAL:NO") + + if self._manifest: + self._add_manifest(self._target) + + if self.console: + lflags_console = "LFLAGS_CONSOLE" + else: + lflags_console = "LFLAGS_WINDOWS" + + self.LFLAGS.extend(self.optional_list(lflags_console)) + + Makefile.finalise(self) + + def generate_macros_and_rules(self, mfile): + """Generate the macros and rules generation. + + mfile is the file object. + """ + if not self._build: + raise ValueError("pass a filename as build_file when generating a Makefile") + + target = self._build["target"] + + if sys.platform in ("win32", "cygwin"): + target = target + ".exe" + + mfile.write("TARGET = %s\n" % target) + mfile.write("OFILES = %s\n" % self._build["objects"]) + mfile.write("HFILES = %s\n" % self._build["headers"]) + mfile.write("\n") + + Makefile.generate_macros_and_rules(self, mfile) + + def generate_target_default(self, mfile): + """Generate the default target. + + mfile is the file object. + """ + # Do these first so that it's safe for a sub-class to append additional + # commands to the real target, but make sure the default is correct. + mfile.write("\nall: $(TARGET)\n") + mfile.write("\n$(OFILES): $(HFILES)\n") + + for mf in self._build["moc_headers"].split(): + root, _ = os.path.splitext(mf) + cpp = "moc_" + root + ".cpp" + + if self._src_dir != self.dir: + mf = os.path.join(self._src_dir, mf) + + mfile.write("\n%s: %s\n" % (cpp, mf)) + mfile.write("\t$(MOC) -o %s $<\n" % cpp) + + mfile.write("\n$(TARGET): $(OFILES)\n") + + if self.generator in ("MSVC", "MSVC.NET", "MSBUILD"): + mfile.write("\t$(LINK) $(LFLAGS) /OUT:$(TARGET) @<<\n") + mfile.write("\t $(OFILES) $(LIBS)\n") + mfile.write("<<\n") + elif self.generator == "BMAKE": + mfile.write("\t$(LINK) @&&|\n") + mfile.write("\t$(LFLAGS) $(OFILES) ,$(TARGET),,$(LIBS),,\n") + mfile.write("|\n") + else: + mfile.write("\t$(LINK) $(LFLAGS) -o $(TARGET) $(OFILES) $(LIBS)\n") + + if self._manifest: + mfile.write("\tmt -nologo -manifest $(TARGET).manifest -outputresource:$(TARGET);1\n") + + def generate_target_install(self, mfile): + """Generate the install target. + + mfile is the file object. + """ + if self._install_dir is None: + self._install_dir = self.config.default_bin_dir + + mfile.write("\ninstall: $(TARGET)\n") + self.install_file(mfile, "$(TARGET)", self._install_dir) + + def generate_target_clean(self, mfile): + """Generate the clean target. + + mfile is the file object. + """ + mfile.write("\nclean:\n") + self.clean_build_file_objects(mfile, self._build) + + if self._manifest: + mfile.write("\t-%s $(TARGET).manifest\n" % self.rm) + + +def _quote(s): + """Return a string surrounded by double quotes it if contains a space. + + s is the string. + """ + # On Qt5 paths often includes forward slashes so convert them. + if sys.platform == "win32": + s = s.replace("/", "\\") + + if s.find(" ") >= 0: + s = '"' + s + '"' + + return s + + +def version_to_string(version, parts=3): + """ Convert an n-part version number encoded as a hexadecimal value to a + string. version is the version number. Returns the string. + """ + + part_list = [str((version >> 16) & 0xff)] + + if parts > 1: + part_list.append(str((version >> 8) & 0xff)) + + if parts > 2: + part_list.append(str(version & 0xff)) + + return '.'.join(part_list) + + +def version_from_string(version_str): + """ Convert a version string of the form m.n or m.n.o to an encoded version + number (or None if it was an invalid format). version_str is the version + string. + """ + + parts = version_str.split('.') + if not isinstance(parts, list): + return None + + if len(parts) == 2: + parts.append('0') + + if len(parts) != 3: + return None + + version = 0 + + for part in parts: + try: + v = int(part) + except ValueError: + return None + + version = (version << 8) + v + + return version + + +def read_version(filename, description, numdefine=None, strdefine=None): + """Read the version information for a package from a file. The information + is specified as #defines of a numeric (hexadecimal or decimal) value and/or + a string value. + + filename is the name of the file. + description is the descriptive name of the package. + numdefine is the name of the #define of the numeric version. It is ignored + if it is None. + strdefine is the name of the #define of the string version. It is ignored + if it is None. + + Returns a tuple of the version as a number and as a string. + """ + need_num = numdefine is not None + need_str = strdefine is not None + + vers = None + versstr = None + + f = open(filename) + l = f.readline() + + while l and (need_num or need_str): + wl = l.split() + if len(wl) >= 3 and wl[0] == "#define": + if need_num and wl[1] == numdefine: + v = wl[2] + + if v[0:2] == "0x": + vers = int(v, 16) + else: + dec = int(v) + maj = dec / 100 + min = (dec % 100) / 10 + bug = (dec % 10) + vers = (maj << 16) + (min << 8) + bug + + need_num = 0 + + if need_str and wl[1] == strdefine: + # Take account of embedded spaces. + versstr = ' '.join(wl[2:])[1:-1] + need_str = 0 + + l = f.readline() + + f.close() + + if need_num or need_str: + error("The %s version number could not be determined by parsing %s." % (description, filename)) + + return (vers, versstr) + + +def create_content(cdict, macros=None): + """Convert a dictionary to a string (typically to use as the content to a + call to create_config_module()). Dictionary values that are strings are + quoted. Dictionary values that are lists are converted to quoted strings. + + dict is the dictionary. + macros is the optional dictionary of platform specific build macros. + """ + content = "_pkg_config = {\n" + + keys = list(cdict.keys()) + keys.sort() + + # Format it nicely. + width = 0 + + for k in keys: + klen = len(k) + + if width < klen: + width = klen + + for k in keys: + val = cdict[k] + vtype = type(val) + delim = None + + if val is None: + val = "None" + elif vtype == list: + val = ' '.join(val) + delim = "'" + elif vtype == int: + if k.find("version") >= 0: + # Assume it's a hexadecimal version number. It doesn't matter + # if it isn't, we are just trying to make it look pretty. + val = "0x%06x" % val + else: + val = str(val) + else: + val = str(val) + delim = "'" + + if delim: + if "'" in val: + delim = "'''" + + val = delim + val + delim + + content = content + " '" + k + "':" + (" " * (width - len(k) + 2)) + val.replace("\\", "\\\\") + + if k != keys[-1]: + content = content + "," + + content = content + "\n" + + content = content + "}\n\n" + + # Format the optional macros. + content = content + "_default_macros = " + + if macros: + content = content + "{\n" + + names = list(macros.keys()) + names.sort() + + width = 0 + for c in names: + clen = len(c) + if width < clen: + width = clen + + for c in names: + if c == names[-1]: + sep = "" + else: + sep = "," + + val = macros[c] + if "'" in val: + delim = "'''" + else: + delim = "'" + + k = "'" + c + "':" + content = content + " %-*s %s%s%s%s\n" % (1 + width + 2, k, delim, val.replace("\\", "\\\\"), delim, sep) + + content = content + "}\n" + else: + content = content + "None\n" + + return content + + +def create_config_module(module, template, content, macros=None): + """Create a configuration module by replacing "@" followed by + "SIP_CONFIGURATION" followed by "@" in a template file with a content + string. + + module is the name of the module file. + template is the name of the template file. + content is the content string. If it is a dictionary it is first converted + to a string using create_content(). + macros is an optional dictionary of platform specific build macros. It is + only used if create_content() is called to convert the content to a string. + """ + if type(content) == dict: + content = create_content(content, macros) + + # Allow this file to used as a template. + key = "@" + "SIP_CONFIGURATION" + "@" + + df = open(module, "w") + sf = open(template, "r") + + line = sf.readline() + while line: + if line.find(key) >= 0: + line = content + + df.write(line) + + line = sf.readline() + + df.close() + sf.close() + + +def version_to_sip_tag(version, tags, description): + """Convert a version number to a SIP tag. + + version is the version number. If it is negative then the latest version + is assumed. (This is typically useful if a development preview is + indicated by a negative version number.) + tags is the dictionary of tags keyed by version number. The tag used is + the one with the smallest key (ie. earliest version) that is greater than + the given version number. + description is the descriptive name of the package used for error messages. + + Returns the corresponding tag. + """ + vl = list(tags.keys()) + vl.sort() + + # For a preview use the latest tag. + if version < 0: + tag = tags[vl[-1]] + else: + for v in vl: + if version < v: + tag = tags[v] + break + else: + error("Unsupported %s version: 0x%06x." % (description, version)) + + return tag + + +def error(msg): + """Display an error message and terminate. + + msg is the text of the error message. + """ + sys.stderr.write(format("Error: " + msg) + "\n") + sys.exit(1) + + +def inform(msg): + """Display an information message. + + msg is the text of the error message. + """ + sys.stdout.write(format(msg) + "\n") + + +def format(msg, leftmargin=0, rightmargin=78): + """Format a message by inserting line breaks at appropriate places. + + msg is the text of the message. + leftmargin is the position of the left margin. + rightmargin is the position of the right margin. + + Return the formatted message. + """ + curs = leftmargin + fmsg = " " * leftmargin + + for w in msg.split(): + l = len(w) + if curs != leftmargin and curs + l > rightmargin: + fmsg = fmsg + "\n" + (" " * leftmargin) + curs = leftmargin + + if curs > leftmargin: + fmsg = fmsg + " " + curs = curs + 1 + + fmsg = fmsg + w + curs = curs + l + + return fmsg + + +def parse_build_macros(filename, names, overrides=None, properties=None): + """Parse a qmake compatible file of build system macros and convert it to a + dictionary. A macro is a name/value pair. The dictionary is returned or + None if any of the overrides was invalid. + + filename is the name of the file to parse. + names is a list of the macro names to extract from the file. + overrides is an optional list of macro names and values that modify those + found in the file. They are of the form "name=value" (in which case the + value replaces the value found in the file) or "name+=value" (in which case + the value is appended to the value found in the file). + properties is an optional dictionary of property name and values that are + used to resolve any expressions of the form "$[name]" in the file. + """ + # Validate and convert the overrides to a dictionary. + orides = {} + + if overrides is not None: + for oride in overrides: + prefix = "" + name_end = oride.find("+=") + + if name_end >= 0: + prefix = "+" + val_start = name_end + 2 + else: + name_end = oride.find("=") + + if name_end >= 0: + val_start = name_end + 1 + else: + return None + + name = oride[:name_end] + + if name not in names: + return None + + orides[name] = prefix + oride[val_start:] + + # This class defines a file like object that handles the nested include() + # directives in qmake files. + class qmake_build_file_reader: + def __init__(self, filename): + self.filename = filename + self.currentfile = None + self.filestack = [] + self.pathstack = [] + self.cond_fname = None + self._openfile(filename) + + def _openfile(self, filename): + try: + f = open(filename, 'r') + except IOError: + # If this file is conditional then don't raise an error. + if self.cond_fname == filename: + return + + error("Unable to open %s" % filename) + + if self.currentfile: + self.filestack.append(self.currentfile) + self.pathstack.append(self.path) + + self.currentfile = f + self.path = os.path.dirname(filename) + + def readline(self): + line = self.currentfile.readline() + sline = line.strip() + + if self.cond_fname and sline == '}': + # The current condition is closed. + self.cond_fname = None + line = self.currentfile.readline() + elif sline.startswith('exists(') and sline.endswith('{'): + # A new condition is opened so extract the filename. + self.cond_fname = self._normalise(sline[:-1].strip()[7:-1].strip()) + line = self.currentfile.readline() + elif sline.startswith('include('): + nextfile = self._normalise(sline[8:-1].strip()) + self._openfile(nextfile) + return self.readline() + + if not line: + self.currentfile.close() + + if self.filestack: + self.currentfile = self.filestack.pop() + self.path = self.pathstack.pop() + return self.readline() + + return line + + # Normalise a filename by expanding any environment variables and + # making sure it is absolute. + def _normalise(self, fname): + if "$(" in fname: + fname = os.path.normpath(self._expandvars(fname)) + + if not os.path.isabs(fname): + fname = os.path.join(self.path, fname) + + return fname + + # Expand the environment variables in a filename. + def _expandvars(self, fname): + i = 0 + while True: + m = re.search(r'\$\((\w+)\)', fname[i:]) + if not m: + break + + i, j = m.span(0) + name = m.group(1) + if name in os.environ: + tail = fname[j:] + fname = fname[:i] + os.environ[name] + i = len(fname) + fname += tail + else: + i = j + + return fname + + f = qmake_build_file_reader(filename) + + # Get everything into a dictionary. + raw = { + "DIR_SEPARATOR": os.sep, + "LITERAL_WHITESPACE": " ", + "LITERAL_DOLLAR": "$", + "LITERAL_HASH": "#" + } + + line = f.readline() + while line: + # Handle line continuations. + while len(line) > 1 and line[-2] == "\\": + line = line[:-2] + + next = f.readline() + + if next: + line = line + next + else: + break + + # Strip comments and surrounding whitespace. + line = line.split('#', 1)[0].strip() + + if line: + assstart = line.find("+") + if assstart > 0 and line[assstart + 1] == '=': + adding = True + assend = assstart + 1 + else: + adding = False + assstart = line.find("=") + assend = assstart + + if assstart > 0: + lhs = line[:assstart].strip() + rhs = line[assend + 1:].strip() + + # Remove the escapes for any quotes. + rhs = rhs.replace(r'\"', '"').replace(r"\'", "'") + + if adding and rhs != "": + orig_rhs = raw.get(lhs) + if orig_rhs is not None: + rhs = orig_rhs + " " + rhs + + raw[lhs] = _expand_macro_value(raw, rhs, properties) + + line = f.readline() + + # Go through the raw dictionary extracting the macros we need and + # resolving any macro expansions. First of all, make sure every macro has + # a value. + refined = {} + + for m in names: + refined[m] = "" + + macro_prefix = "QMAKE_" + + for lhs in list(raw.keys()): + # Strip any prefix. + if lhs.startswith(macro_prefix): + reflhs = lhs[len(macro_prefix):] + else: + reflhs = lhs + + # See if we are interested in this one. + if reflhs not in names: + continue + + rhs = raw[lhs] + + # Expand any POSIX style environment variables. + pleadin = ["$$(", "$("] + + for pl in pleadin: + estart = rhs.find(pl) + + if estart >= 0: + nstart = estart + len(pl) + break + else: + estart = -1 + + while estart >= 0: + eend = rhs[nstart:].find(")") + + if eend < 0: + break + + eend = nstart + eend + + name = rhs[nstart:eend] + + try: + env = os.environ[name] + except KeyError: + env = "" + + rhs = rhs[:estart] + env + rhs[eend + 1:] + + for pl in pleadin: + estart = rhs.find(pl) + + if estart >= 0: + nstart = estart + len(pl) + break + else: + estart = -1 + + # Expand any Windows style environment variables. + estart = rhs.find("%") + + while estart >= 0: + eend = rhs[estart + 1:].find("%") + + if eend < 0: + break + + eend = estart + 1 + eend + + name = rhs[estart + 1:eend] + + try: + env = os.environ[name] + except KeyError: + env = "" + + rhs = rhs[:estart] + env + rhs[eend + 1:] + + estart = rhs.find("%") + + refined[reflhs] = rhs + + # Handle the user overrides. + for lhs in list(orides.keys()): + rhs = refined[lhs] + oride = orides[lhs] + + if oride.find("+") == 0: + if rhs: + rhs = rhs + " " + oride[1:] + else: + rhs = oride[1:] + else: + rhs = oride + + refined[lhs] = rhs + + return refined + + +def _expand_macro_value(macros, rhs, properties): + """Expand the value of a macro based on ones seen so far.""" + estart = rhs.find("$$(") + mstart = rhs.find("$$") + + while mstart >= 0 and mstart != estart: + rstart = mstart + 2 + if rstart < len(rhs) and rhs[rstart] == "{": + rstart = rstart + 1 + term = "}" + elif rstart < len(rhs) and rhs[rstart] == "[": + rstart = rstart + 1 + term = "]" + else: + term = string.whitespace + + mend = rstart + while mend < len(rhs) and rhs[mend] not in term: + mend = mend + 1 + + lhs = rhs[rstart:mend] + + if term in "}]": + mend = mend + 1 + + if term == "]": + # Assume a missing property expands to an empty string. + if properties is None: + value = "" + else: + value = properties.get(lhs, "") + else: + # We used to treat a missing value as an error, but Qt v4.3.0 has + # at least one case that refers to an undefined macro. If qmake + # handles it then this must be the correct behaviour. + value = macros.get(lhs, "") + + rhs = rhs[:mstart] + value + rhs[mend:] + estart = rhs.find("$$(") + mstart = rhs.find("$$") + + return rhs + + +def create_wrapper(script, wrapper, gui=0, use_arch=''): + """Create a platform dependent executable wrapper around a Python script. + + script is the full pathname of the script. + wrapper is the name of the wrapper file to create. + gui is non-zero if a GUI enabled version of the interpreter should be used. + use_arch is the MacOS/X architectures to invoke python with. Several space + separated architectures may be specified. + + Returns the platform specific name of the wrapper. + """ + if sys.platform == "win32": + wrapper = wrapper + ".bat" + + wf = open(wrapper, "w") + + if sys.platform == "win32": + exe = sys.executable + + if gui: + exe = exe[:-4] + "w.exe" + + wf.write("@\"%s\" \"%s\" %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n" % (exe, script)) + elif sys.platform == "darwin": + # The installation of MacOS's python is a mess that changes from + # version to version and where sys.executable is useless. + + version = sys.version_info + py_major = version[0] + py_minor = version[1] + + if gui: + # In Python v3.4 and later there is no pythonw. + if (py_major == 3 and py_minor >= 4) or py_major >= 4: + exe = "python" + else: + exe = "pythonw" + else: + exe = "python" + + exe = "%s%d.%d" % (exe, py_major, py_minor) + + if use_arch: + # Note that this may not work with the "standard" interpreter but + # should with the "pythonX.Y" version. + arch_flags = ' '.join(["-%s" % a for a in use_arch.split()]) + exe = "arch %s %s" % (arch_flags, exe) + + wf.write("#!/bin/sh\n") + wf.write("exec %s %s ${1+\"$@\"}\n" % (exe, script)) + else: + wf.write("#!/bin/sh\n") + wf.write("exec %s %s ${1+\"$@\"}\n" % (sys.executable, script)) + + wf.close() + + if sys.platform != "win32": + sbuf = os.stat(wrapper) + mode = sbuf.st_mode + mode |= (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH) + + os.chmod(wrapper, mode) + + return wrapper diff --git a/7.2/Add to ida python folder/sipdistutils.py b/7.2/Add to ida python folder/sipdistutils.py new file mode 100644 index 0000000..f185122 --- /dev/null +++ b/7.2/Add to ida python folder/sipdistutils.py @@ -0,0 +1,168 @@ +# Subclasses disutils.command.build_ext, replacing it with a SIP version that +# compiles .sip -> .cpp before calling the original build_ext command. +# Based on Pyrex.Distutils, written by Graham Fawcett and Darrel Gallion. +# +# Copyright (c) 2011 Develer Srl. +# +# This file is part of SIP. +# +# This copy of SIP is licensed for use under the terms of the SIP License +# Agreement. See the file LICENSE for more details. +# +# This copy of SIP may also used under the terms of the GNU General Public +# License v2 or v3 as published by the Free Software Foundation which can be +# found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package. +# +# SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +import distutils.command.build_ext +from distutils.dep_util import newer, newer_group +import os +import sys +from hashlib import sha1 + +build_ext_base = distutils.command.build_ext.build_ext + +def replace_suffix(path, new_suffix): + return os.path.splitext(path)[0] + new_suffix + +class build_ext (build_ext_base): + + description = "Compile SIP descriptions, then build C/C++ extensions (compile/link to build directory)" + + user_options = build_ext_base.user_options[:] + user_options = [opt for opt in user_options if not opt[0].startswith("swig")] + user_options += [ + ('sip-opts=', None, + "list of sip command line options"), + ] + + def initialize_options (self): + build_ext_base.initialize_options(self) + self.sip_opts = None + + def finalize_options (self): + build_ext_base.finalize_options(self) + if self.sip_opts is None: + self.sip_opts = [] + else: + self.sip_opts = self.sip_opts.split(' ') + + def _get_sip_output_list(self, sbf): + """ + Parse the sbf file specified to extract the name of the generated source + files. Make them absolute assuming they reside in the temp directory. + """ + for L in open(sbf).readlines(): + key, value = L.split("=", 1) + if key.strip() == "sources": + out = [] + for o in value.split(): + out.append(os.path.join(self._sip_output_dir(), o)) + return out + + raise RuntimeError("cannot parse SIP-generated '%s'" % sbf) + + def _find_sip(self): + import sipconfig + cfg = sipconfig.Configuration() + if os.name == "nt": + if not os.path.splitext(os.path.basename(cfg.sip_bin))[1]: + return cfg.sip_bin + ".exe" + return cfg.sip_bin + + def _sip_inc_dir(self): + import sipconfig + cfg = sipconfig.Configuration() + return cfg.sip_inc_dir + + def _sip_sipfiles_dir(self): + import sipconfig + cfg = sipconfig.Configuration() + return cfg.default_sip_dir + + def _sip_calc_signature(self): + sip_bin = self._find_sip() + return sha1(open(sip_bin, "rb").read()).hexdigest() + + def _sip_signature_file(self): + return os.path.join(self._sip_output_dir(), "sip.signature") + + def _sip_output_dir(self): + return self.build_temp + + def build_extension (self, ext): + oldforce = self.force + + if not self.force: + sip_sources = [source for source in ext.sources if source.endswith('.sip')] + if sip_sources: + sigfile = self._sip_signature_file() + if not os.path.isfile(sigfile): + self.force = True + else: + old_sig = open(sigfile).read() + new_sig = self._sip_calc_signature() + if old_sig != new_sig: + self.force = True + + build_ext_base.build_extension(self, ext) + + self.force = oldforce + + def swig_sources (self, sources, extension=None): + if not self.extensions: + return + + # Add the SIP include directory to the include path + if extension is not None: + # Command line sip_opts take precedence. + if len(self.sip_opts) == 0: + self.sip_opts.extend(extension.swig_opts) + + extension.include_dirs.append(self._sip_inc_dir()) + depends = extension.depends + else: + # pre-2.4 compatibility + self.include_dirs.append(self._sip_inc_dir()) + depends = [] # ? + + # Filter dependencies list: we are interested only in .sip files, + # since the main .sip files can only depend on additional .sip + # files. For instance, if a .h changes, there is no need to + # run sip again. + depends = [f for f in depends if os.path.splitext(f)[1] == ".sip"] + + # Create the temporary directory if it does not exist already + if not os.path.isdir(self._sip_output_dir()): + os.makedirs(self._sip_output_dir()) + + # Collect the names of the source (.sip) files + sip_sources = [] + sip_sources = [source for source in sources if source.endswith('.sip')] + other_sources = [source for source in sources if not source.endswith('.sip')] + generated_sources = [] + + sip_bin = self._find_sip() + + for sip in sip_sources: + # Use the sbf file as dependency check + sipbasename = os.path.basename(sip) + sbf = os.path.join(self._sip_output_dir(), replace_suffix(sipbasename, ".sbf")) + if newer_group([sip]+depends, sbf) or self.force: + self._sip_compile(sip_bin, sip, sbf) + open(self._sip_signature_file(), "w").write(self._sip_calc_signature()) + out = self._get_sip_output_list(sbf) + generated_sources.extend(out) + + return generated_sources + other_sources + + def _sip_compile(self, sip_bin, source, sbf): + self.spawn([sip_bin] + self.sip_opts + + ["-c", self._sip_output_dir(), + "-b", sbf, + "-I", self._sip_sipfiles_dir(), + source]) + diff --git a/7.2/plugins/Code editor/__init__.py b/7.2/plugins/Code editor/__init__.py new file mode 100644 index 0000000..a61dfee --- /dev/null +++ b/7.2/plugins/Code editor/__init__.py @@ -0,0 +1 @@ +__author__ = 'Storm Shadow' \ No newline at end of file diff --git a/7.2/plugins/Code editor/icons/__init__.py b/7.2/plugins/Code editor/icons/__init__.py new file mode 100644 index 0000000..a61dfee --- /dev/null +++ b/7.2/plugins/Code editor/icons/__init__.py @@ -0,0 +1 @@ +__author__ = 'Storm Shadow' \ No newline at end of file diff --git a/7.2/plugins/Code editor/icons/ico.py b/7.2/plugins/Code editor/icons/ico.py new file mode 100644 index 0000000..294cd98 --- /dev/null +++ b/7.2/plugins/Code editor/icons/ico.py @@ -0,0 +1,1867 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt4 (Qt v4.8.6) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = "\ +\x00\x00\x01\x43\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x0a\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x05\x0c\x0c\ +\x3f\x07\x18\x33\xfc\x1f\x60\x3c\xc0\x0e\x60\x65\x65\x55\x62\x61\ +\x61\x19\x30\x3c\xd0\xe9\x6f\x08\x02\x46\x46\xc6\x04\x20\x75\x98\ +\x8a\x18\x3f\xe0\xe2\xe2\x62\x41\x73\x40\x1d\x03\x95\x73\x01\x4e\ +\xc0\xcc\xcc\xac\x01\xa4\x4e\x6b\x68\x68\xb0\xd1\xd5\x01\xfc\xfc\ +\xfc\x4c\x40\x8b\x0a\x80\xcc\xef\x20\x45\xc8\x0e\x00\x3a\x4a\x07\ +\x28\x17\x41\x2d\x8c\xcd\xd7\x0a\x40\x6a\x3f\xb2\x2b\x91\x1d\x40\ +\x53\xc0\xc4\xc4\x94\x02\xa4\x3e\xa2\x07\x13\xcd\x1d\x00\x2c\x10\ +\x24\x80\xc1\xb1\x19\x57\x3c\xa1\xa5\x01\x37\x20\xd5\x4b\x35\x0c\ +\xf4\x75\x18\x90\xf1\x96\x01\x4f\x42\xa1\x69\x22\x04\x3a\x20\x6a\ +\x40\x1d\x00\x8d\x02\x29\xa0\xc1\xdb\x49\x88\x82\x7e\x2a\x62\x04\ +\x00\x1a\x9e\x06\xa4\x3e\xd3\x3d\x11\x22\x03\x60\x36\x04\xd5\x50\ +\x87\x07\xcc\x01\x20\xc0\xc7\xc7\x07\x2a\x88\x4a\x18\xb0\x17\x44\ +\x5a\x40\xb9\x30\x6a\x61\x42\xa1\xa1\x05\xa4\xce\xd2\xbd\x28\x46\ +\x06\x9c\x9c\x9c\x2c\xda\xda\xda\x4c\x03\xe6\x00\x74\x00\x74\x40\ +\x12\x90\x3a\x4a\x45\x3c\xd2\x01\xb0\x51\xaa\x00\x2c\x88\x06\x0c\ +\x83\xdc\x30\xc2\xfb\x05\x40\xf0\x7b\x80\xf1\x08\x07\x00\x04\x9e\ +\xbd\xc2\xaa\xcb\x4a\x30\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x02\x55\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\x1c\x49\x44\x41\x54\x58\xc3\xed\x57\x31\x4b\xc3\x40\ +\x14\xbe\xa6\x29\x2d\x74\x49\xed\xe2\x20\x45\x3a\x74\x90\xd2\xa1\ +\x48\xf1\x27\x88\xa3\x14\x71\x16\x07\x7f\x83\x83\x20\xa5\x48\x11\ +\x27\x11\x71\x96\x52\x3a\x74\x2a\x45\x3a\x74\x92\xe2\x20\x4e\x22\ +\x25\x74\x10\x29\xfd\x15\x52\xf4\x7b\xcd\x6b\xbc\x84\x04\x52\x92\ +\x2b\x0a\x3e\xf8\xb8\xdc\xbb\xe4\x7d\xdf\xbd\xbc\x4b\xee\x84\x60\ +\x4b\x24\x12\x46\x2c\x16\x3b\xc7\xe5\x08\xf8\x04\xbe\x22\x06\xc5\ +\x1c\x81\xa3\x46\x5c\x42\xb6\x78\x3c\xbe\x85\xe6\x43\x01\xa9\x1f\ +\x26\x9a\xa6\x15\xed\x99\xaf\x98\xdc\x16\x31\xe7\xe6\xb4\xdb\x03\ +\xe8\xb7\x91\x91\x9d\x64\x32\x99\x8b\x12\x88\x59\x41\xec\x96\x8b\ +\xab\x2e\xf8\x9d\xdb\xe4\x42\xb1\x81\xa3\x29\x89\x30\x85\x5c\x70\ +\x34\x73\xd5\x02\xc0\xb1\x2d\x09\x98\x09\x39\x25\x94\x2a\xd5\x02\ +\x52\xa9\xd4\x86\x70\xd6\x42\x78\x01\xa8\xe8\x3d\x34\x3d\xb4\xbb\ +\x0b\x1f\xbd\x5f\x7a\xa5\xba\xae\xaf\x2b\x17\x20\x7e\xea\xe8\x95\ +\xd3\x5c\x92\xe2\x9e\x06\x16\x40\x05\x02\xdc\x05\x05\x96\x51\x8e\ +\x67\xfb\xce\xcf\x8f\x39\x23\x15\x29\x6e\x8d\xef\xa9\xf2\x73\x4d\ +\x5f\x01\xcb\x02\xe9\x2d\x07\x15\x00\xbb\xf2\x89\xe3\xe8\x0c\x81\ +\x41\x50\x40\x40\x61\x09\x01\x27\xfc\xdc\xa3\x8a\x1a\x18\x73\x8c\ +\x11\xd7\x40\x59\x8a\x7b\xa6\xbc\x08\x31\xf3\x63\x61\xfd\x68\x8e\ +\xa8\x9f\x4e\xa7\x75\xfe\xa8\x3d\x43\x4c\x41\xb9\x80\x65\xec\x5f\ +\xc0\xdf\x12\x90\xc9\x64\x34\x14\xd3\x0d\x30\x40\x31\xe5\xc9\x87\ +\x76\x93\xfa\xc0\xad\x61\x18\x1a\xf9\x70\x7d\x88\xe6\x09\xcb\xaf\ +\x1a\xa9\x00\xac\xf3\xe2\x62\x8c\xb6\x52\x4c\x56\x5b\xf8\x78\x9c\ +\xcc\x64\xdf\x5b\x28\x01\x08\xfe\x80\xb6\x83\x99\x5c\xb2\x80\xb2\ +\x34\xd6\x60\x01\x0d\x49\x80\xe7\x97\x10\x24\xf4\x03\xea\x78\x01\ +\xf7\xf4\x7c\x05\x48\x64\x2f\x61\x04\x20\x93\x79\xaf\xb8\x3e\x70\ +\x74\xba\x40\x1b\x81\x2e\x42\x0a\xa0\x0c\xb4\x7d\xd0\xfd\xbd\x35\ +\xe0\x16\x90\xcd\x66\x69\x15\x5c\xe3\xb2\x4f\xd5\x4f\x3e\x5e\x05\ +\x7d\xf2\xd3\x38\xf9\x50\x33\x07\x68\x86\x68\xf7\x23\x15\xa0\xc2\ +\xbc\x04\xc8\x9b\xd2\x8a\x6a\x01\x5e\x9b\x52\x79\x5b\xde\x52\x2d\ +\x00\x1c\xf7\x92\x00\xd3\x51\x54\x2c\xa2\x49\x2a\x29\x55\x51\x82\ +\x62\xba\xc8\xad\x83\x09\x1f\xcd\x26\x22\xf8\xba\x8d\x0a\x53\x70\ +\xaf\xcd\xd3\xc2\x07\xc5\x55\x8a\x98\x82\xb3\xe4\x78\x37\x7c\x3c\ +\xaf\x0b\x6b\x4d\xcf\x14\x90\x52\x4c\x93\x38\xec\x99\xc3\xbe\x01\ +\x03\xd2\xe6\x5b\x0d\xb9\x09\x64\x00\x00\x00\x00\x49\x45\x4e\x44\ +\xae\x42\x60\x82\ +\x00\x00\x01\x38\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\xff\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x05\x0c\x0c\ +\x3f\x07\x18\x33\xfc\x1f\x60\x3c\xc0\x0e\x60\x65\x65\x55\x62\x61\ +\x61\x19\x30\x3c\xd0\xe9\x6f\x08\x02\x46\x46\xc6\x04\x20\x75\x98\ +\x6a\x58\x40\x40\x80\x8d\x44\x07\xd4\x31\x50\x33\x11\x02\x0d\x3c\ +\xcb\xcc\xcc\xac\x33\x60\x0e\x80\x12\xdf\x81\x06\x97\xf0\xf2\xf2\ +\x32\x11\x72\x00\xc8\xb1\x40\xb5\x11\xd4\xc2\x0c\x68\xae\x39\x0c\ +\xb4\x80\xee\x59\x03\x3d\x48\x3e\x03\x5d\x96\x36\x90\x0e\x00\x63\ +\xa0\x23\xb6\x03\x0b\x0a\x29\x74\xc5\x40\x71\x37\x20\xd5\x4b\x45\ +\x8c\x37\x81\xbc\x65\x62\x62\x8a\x42\x73\x00\x4d\x12\x21\x2e\xfc\ +\x1e\xe8\x80\xb8\x81\x72\xc0\x6e\x60\x14\xc8\xe0\x88\x82\x7e\x2a\ +\x62\x0c\x8b\xbf\x02\x2d\xc9\x12\x11\x11\x21\x98\x25\xa9\x05\x90\ +\x2d\x3f\x0a\xcc\x86\x2a\xf4\xb2\x18\xd9\x01\x3f\x81\xbe\xae\xe0\ +\xe1\xe1\x61\x21\xa4\x18\xe8\x40\x2d\xa0\xda\x30\x6a\x61\x50\x9c\ +\x9e\x07\x1a\xaa\x47\xac\x6b\xa9\x9e\x08\xf9\xf9\xf9\x07\xb6\x32\ +\x22\x15\x00\x1d\x90\x04\xa4\x8e\x52\x11\x8f\x74\x00\x6c\x94\x2a\ +\x00\x0b\x9c\x01\xc3\x20\x37\x8c\xf0\x7e\x01\x10\xfc\x1e\x60\x3c\ +\xc2\x01\x00\x8a\x91\xb7\xf3\x2b\xf3\x2b\x73\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x00\xdd\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\xa4\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x05\x03\x0d\ +\x98\x98\x98\x0e\x33\x32\x32\x12\xc2\xdd\xb4\x74\xc3\x7f\x62\x30\ +\xd0\xa1\xbd\x03\xea\x00\x10\x06\x86\xc4\x54\x0e\x0e\x0e\xbe\x01\ +\x73\x00\x14\xff\x04\xe2\x9b\x40\x7c\x9d\x52\x0c\xf4\xd0\x75\x72\ +\x1c\x40\x6d\x3c\x04\x1d\x00\x0c\xba\xa5\xc0\x44\x99\x44\x26\x2e\ +\xa3\xc4\x01\xcf\x99\x99\x99\x43\x28\x49\x70\xec\xec\xec\x72\x38\ +\x1d\xc0\xc6\xc6\xe6\x05\xc4\x46\x38\xb0\x8e\x90\x90\x10\x0b\xa5\ +\x29\x1e\xaf\x03\xa0\x92\x34\x05\xa3\x0e\x18\x75\xc0\xa8\x03\x46\ +\x1d\x30\xea\x80\x51\x07\xe0\x75\x00\xb0\xae\xce\x01\xd2\x11\xb4\ +\xc4\x50\x3b\x86\x78\x8b\x88\xaa\x98\xc8\x8e\x09\x4d\x30\xc8\x6e\ +\x5a\xa7\xb9\x51\x40\x10\x00\x00\x3e\x33\x63\xc4\xa7\x50\xaa\x14\ +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x00\xea\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\xb1\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x68\xc0\xc6\ +\xc6\xa6\xc3\xca\xca\x3a\x60\x18\xe4\x86\xff\x03\x8c\x47\x1d\x30\ +\xea\x80\x51\x07\x20\x38\xcc\xcc\xcc\x45\x4c\x4c\x4c\x71\xc4\x60\ +\xa0\xfa\xed\x48\x7a\x77\x12\xab\x0f\x68\x47\x01\x4e\x07\xb0\xb3\ +\xb3\xcb\x31\x10\x0f\x7a\x91\xf4\xf6\x13\xab\x89\x83\x83\x43\x66\ +\xd4\x01\xa3\x0e\x18\xbc\x0e\x00\x66\x93\x2c\x46\x46\xc6\x30\x62\ +\x30\x50\xfd\x66\x24\xbd\x5b\x89\xd5\x07\xb4\x23\x03\xa7\x03\x06\ +\x08\x0f\x22\x07\x00\x83\xe8\x3c\x10\x9f\x24\x06\x03\xd5\x3f\x47\ +\xd2\xfb\x9c\x58\x7d\x20\x3b\x06\x6f\x22\x1c\x75\xc0\xa8\x03\x46\ +\x1d\x00\xc4\x1f\x81\xf8\x3d\x91\xf8\x3b\x92\xbe\xef\x24\xe8\x7b\ +\x8f\xcf\x01\x23\xb0\x28\x06\x76\x4e\x0d\x80\x9d\xc4\x01\xc3\x24\ +\xa4\x39\xda\x00\x00\x78\xfc\x46\x6e\xaf\x13\xee\x7e\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xf2\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\xb9\x49\x44\x41\x54\x58\xc3\x63\x60\x20\x01\xb0\xb3\ +\xb3\xf3\x30\x31\x31\x85\x30\x32\x32\xce\x04\x72\x4f\x02\xf1\x6b\ +\x20\xfe\x0d\xc4\x7f\x81\xf8\x2d\x10\x9f\x07\xca\xcd\x07\xe2\x38\ +\x36\x56\x36\x21\x52\xcc\xc6\x0b\x58\x58\x58\x14\x80\x86\x4e\x07\ +\x32\x3f\x03\xf1\x7f\x22\xf1\x4f\xa0\x9e\xa5\xcc\xcc\xcc\x3a\x64\ +\x5b\xcc\xc5\xc5\xc5\x06\x34\xa4\x19\x64\x18\x09\x16\xa3\xe3\xbf\ +\xa0\x10\x63\x63\x63\xe3\x43\x36\x1b\xe8\xb0\x1c\xbc\x96\xb3\xb2\ +\xb2\xca\x01\x35\x9e\xa6\xc0\x62\x74\x7c\x17\x68\xa9\x1e\xc8\x6c\ +\xa0\xb9\x75\xd0\xe8\xc3\x19\xe4\x1a\x40\xea\x29\x15\x2d\x87\xe1\ +\x8f\x40\xcb\xe7\x42\xd9\xaf\x71\x59\x2e\x03\xa4\x1e\xd3\xc0\x72\ +\x74\x8c\xe9\x00\x1e\x1e\x1e\x50\x9c\x9f\x24\x32\x5e\x0f\x03\x71\ +\x37\x10\xe7\x01\x71\x0e\x10\xb7\x03\xf1\x6e\x12\xd2\x0b\xa6\x03\ +\x80\x59\xac\x86\x80\xa6\xdf\x40\x4b\x26\x03\x13\x94\x1c\xae\xe8\ +\x03\x66\x55\x11\xa0\x39\x8d\x40\xe6\x57\x92\x1c\x00\x4c\x74\x52\ +\x04\x34\x3d\x05\x46\x8f\x05\x03\x91\x00\xa8\x56\x0d\x48\x5d\x25\ +\xda\x01\x40\x9f\xf5\xe2\xb3\x1c\xe8\x40\x25\x62\x2d\x47\x0a\xd1\ +\x4e\x3c\x66\xbe\x85\x2b\x04\xe5\x77\xa8\x00\xd6\xf8\x06\xfa\xc6\ +\x8a\x0c\xcb\x1b\x09\x44\xc1\x7b\x64\xc5\x1e\xb8\x14\x02\x43\x66\ +\x36\xa9\x96\x03\xd3\x88\x11\xb4\x48\x5e\x08\xc3\x40\x3b\x40\x78\ +\x31\x12\x9e\x89\x1c\xfc\xdd\xb8\x1c\x00\x0c\x7a\x35\x52\x1d\x40\ +\x0e\xd8\x8d\xc3\xf7\xe7\xe9\x61\x39\x08\xdc\xc6\xe1\x80\x99\x14\ +\x99\x4a\x02\x78\x8d\xc3\x01\x75\x23\xc6\x01\x03\x1e\x05\x03\x9b\ +\x08\x07\x3c\x1b\x52\xbb\x20\x22\x19\xd0\xa2\x28\x26\x19\xd0\xa2\ +\x32\x22\x09\x50\xbb\x3a\x26\x0b\x50\xa3\x41\x42\x11\x20\xb7\x49\ +\xc6\xc7\xc7\xc7\x41\x35\x47\x90\xd3\x28\xe5\xe5\xe5\xa5\x5e\x2f\ +\x08\xea\x08\x92\x9a\xe5\x54\x77\x00\x08\x90\xd2\x31\xa1\x89\x03\ +\x40\x80\x9b\x9b\x9b\xa8\xae\x19\xcd\x1c\x00\x03\x84\x3a\xa7\x34\ +\x77\x00\x0c\xe0\xea\x9e\x03\x73\x01\xd9\x0e\x00\x00\x2a\x96\x72\ +\xa8\xeb\xb5\x3f\xd7\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ +\x82\ +\x00\x00\x03\x02\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\xc9\x49\x44\x41\x54\x58\xc3\xc5\x57\xcf\x4b\x1b\x41\ +\x14\xde\x24\x9b\xdf\x9b\x1f\x34\x9b\x8d\x07\x29\x1e\xa5\x94\x1e\ +\x3c\x14\xe9\xb9\x14\x11\x91\xd2\x83\x78\x08\x1e\xfc\x0b\x42\x11\ +\x4f\x5e\x4b\x0f\xa5\x94\x52\x44\x4a\x90\x12\x44\xa4\x07\xf1\xd4\ +\x93\x78\xc8\x41\x3c\x94\x12\x44\x7a\x90\xe2\x51\xa4\x94\xe0\x41\ +\x24\x88\x88\xfd\x9e\xcc\xda\xd9\xe9\xce\xec\x64\x13\xe3\x83\x8f\ +\xcd\xee\x9b\xf7\xe6\x9b\xf7\xde\x4c\xde\x18\x86\xa6\x24\x12\x09\ +\x3b\x12\x89\xcc\x01\xab\x78\xfd\x01\xfc\x01\x2e\x81\x2b\xa0\x4d\ +\xdf\xa0\xfb\x02\x54\x31\xb6\xa8\xeb\xf7\x46\x32\x99\x8c\x29\xd3\ +\xc5\x62\xb1\x71\x38\xdd\x64\x93\x5d\x6b\xa2\x03\x9b\x06\x6c\x1f\ +\x69\x11\x20\xd6\x40\x8d\xff\x16\x8f\xc7\x87\xf1\x6d\xab\x8b\x49\ +\xfd\x70\x09\x1f\x9f\x52\xa9\x94\x15\x44\xe0\x1d\x19\xb8\x24\xa2\ +\xd1\xe8\x14\x1e\xa7\x12\xa7\xe7\x18\xd7\x04\x3e\x03\x6f\x18\xe8\ +\x77\x93\x74\x12\x9b\x43\x44\x63\x54\xc5\x61\xdb\x1d\x0c\x47\x5f\ +\x59\x5e\x3d\x4e\xf0\xfd\x1b\x88\x4d\x67\xb3\xd9\x94\x22\x95\x19\ +\x8c\x99\xc1\xd8\x5d\x1f\x12\x6d\x90\x78\x2a\xb3\xfd\xad\x08\x63\ +\x8b\xea\x40\x2b\x97\x9c\x80\xc8\x4b\x3c\x4e\x04\x5f\xa7\xff\xd5\ +\x05\x2a\x76\x48\x36\x39\x56\x52\xc7\xa2\x12\xdd\x4e\xee\x0a\xea\ +\xc8\x81\x8f\x3d\x31\x1d\xc9\x64\xf2\x5f\x4d\x80\xe9\x0b\x19\x01\ +\xe8\x6a\x5d\xcf\x2a\x08\x15\xa0\x48\x02\xef\xcb\xb7\x03\xf0\xb2\ +\xa0\x08\xbf\x2f\x89\x62\xb1\x68\xe3\xf1\xcb\x85\xe3\x38\xca\x7d\ +\x4f\x91\xc0\xe3\x98\xf3\x7b\x85\x54\x3c\x76\xf5\x6b\x86\x7a\x2b\ +\x5d\x9b\xa6\x39\xc7\x3b\x2c\x14\x0a\x9e\xb4\x95\xcb\xe5\x07\x41\ +\x91\xa0\x02\x16\xa2\xb0\xe1\xea\x0e\x38\xc5\x05\x14\xfb\x74\x88\ +\xc0\xe0\x35\x26\x7e\x8e\xaa\x77\x44\x67\x61\x08\xb0\x68\x37\xf9\ +\xb9\x10\x19\x9b\x98\xbd\x05\xaa\x78\x79\x82\x50\x6a\x15\x5c\x58\ +\x02\x6c\x67\xf0\x51\x98\xd7\xb1\xeb\x1b\x01\x44\x93\x16\x78\xc6\ +\x11\x58\x1f\x28\x01\x12\x4c\xba\xcd\xd9\xfe\xbc\x0f\x02\x1f\x39\ +\xdb\x73\x03\x85\x36\x0b\x54\x09\xa8\x83\xb1\x01\x10\x58\x32\xbc\ +\xbb\xcc\x93\x93\xf7\x61\x08\xc0\x4e\x0a\x8c\x75\x82\x08\x1c\x73\ +\x8e\x1a\x61\x08\xa8\x90\xcf\xe7\x45\x02\xde\x14\x60\x6b\xd0\x9e\ +\x5f\xc6\xc9\xf4\x0a\x55\x6a\x0f\x80\x40\xef\x45\x68\xdb\xb6\x89\ +\x7a\x19\xd5\x41\xa9\x54\xba\xed\xb6\xa4\xdb\x30\x97\xcb\x59\x88\ +\xc0\x04\x35\x26\x78\x4e\x87\x62\xa5\x21\xbe\x07\x11\xc2\x49\xac\ +\xda\x9c\xa2\x55\xa9\x54\xa2\x77\x41\xc0\xf7\x28\x66\x8a\x15\x4e\ +\xd1\x86\x62\xe4\x0e\x56\x2f\xfd\x33\xa2\xb3\x80\x26\xa4\x3f\xa2\ +\x1d\x6a\x46\xfb\x3d\x79\xd0\xdf\xb1\x4b\xe2\x19\x8a\xeb\x26\xf4\ +\xd4\x05\x81\xf1\x22\x0c\xb5\x0f\x18\x99\xb0\x8e\x58\xde\x90\x88\ +\x02\x22\xd4\xb3\xb5\xd8\xe0\x7d\xbc\x3f\xec\x65\xe5\x81\x2d\x19\ +\x2f\x96\x65\x51\x41\x1e\x09\xa1\xd2\x3a\x9e\x45\xd1\x6e\x4a\x45\ +\x61\xb9\x39\x61\xa1\xaa\x73\x0e\x3f\x50\xdf\x90\x4e\xa7\xa5\x97\ +\x8c\x5e\xda\x72\x31\x0d\x23\xb4\x65\x58\xf1\x10\xa9\x49\xce\x51\ +\x07\xd8\x25\x72\xfd\xbc\x98\x48\x85\x9d\x5e\x87\x86\xe6\xd1\x2b\ +\x40\xef\x6a\xa6\x12\x76\x2b\xae\x2b\x56\xd7\xfb\xe5\x54\x47\x50\ +\xb9\x79\xe4\x77\x96\x91\xf9\x6e\xf4\xe9\x7a\xfe\x17\x70\xfd\x6e\ +\xb4\xbf\x05\x10\xba\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ +\x82\ +\x00\x00\x01\x8a\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x01\x2c\x49\x44\x41\x54\x58\x85\xed\ +\xd7\xbd\x4a\x03\x41\x18\x85\xe1\x27\x62\xa1\x46\x0b\xc1\xc2\x4a\ +\xb0\xb1\xf1\x02\x62\x3a\xff\xd0\xd2\x5a\xb0\xb4\xb2\xf2\x22\xbc\ +\x90\x80\x85\xa5\x16\x0a\xa6\x13\x41\xc4\xc2\x22\x77\x10\x04\xc1\ +\x22\x62\x8c\xa0\x65\x6c\x76\x31\x86\x64\x93\x35\x63\xb6\xd9\x03\ +\x03\xc3\x9e\x6f\xf6\xbc\xcc\xce\x7e\x30\xd0\x44\x7b\x0c\xa3\x89\ +\x92\x2e\x15\x22\xf3\x0e\x37\xdd\x66\x60\xed\x61\x09\x3b\x78\xe8\ +\x34\xda\x38\xf9\xe7\x70\x58\x40\x0d\xef\x58\x8b\x1f\x4e\x0c\xb9\ +\xb8\x86\xca\x80\x9a\x73\xdc\x46\xf3\x53\x3c\x76\xf9\x0d\x6c\xa1\ +\x8e\x2a\xca\x69\x00\x8a\x98\x1a\x50\x33\x8d\x99\x8e\x79\xb1\x47\ +\x4d\x27\xc4\x35\xca\xc3\x02\x84\x54\x0c\xf1\x84\x6a\x48\x80\x7d\ +\xec\xa6\x80\xb8\xc2\xdc\x64\x40\x80\xb7\xbf\x2c\xca\xe2\x13\xfc\ +\x52\x9a\x1d\xd8\x34\x7c\xaf\x58\xc5\x6b\x48\x80\x4b\x2c\x0e\x59\ +\x0b\x2f\x78\x0e\x09\x70\x9c\x22\x3c\x95\x32\x3f\x03\x39\x40\x0e\ +\x90\x39\x40\xd2\x6f\x78\x86\xf9\x40\x39\x0d\x1c\xa4\x05\xd8\x88\ +\xfc\xfa\x88\xe1\xcb\xf8\xea\x67\x0e\x6a\x44\x17\x38\x1c\x11\xa0\ +\x82\xed\x7e\x66\xe6\x67\x20\x07\xc8\x01\x72\x80\x24\x80\x96\x84\ +\x06\x92\x42\x9f\xd1\xbb\x7a\x2a\xa9\x11\xad\x04\x08\x87\xa3\x24\ +\x33\xbe\x9c\xde\xfb\xb9\x56\x8d\x4b\xeb\x28\x15\xf0\x81\xd9\x31\ +\x87\xc7\x6a\x7d\x03\x61\xec\x48\x16\xd0\x9c\x62\x3f\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x03\x3c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x03\x03\x49\x44\x41\x54\x58\xc3\xed\x96\x3d\x68\x53\x51\ +\x14\xc7\x6f\x3e\x9a\xef\x86\xa4\x84\x34\x84\x10\x8a\x14\x91\x22\ +\x0e\x1d\x1c\xc4\xa1\x88\x88\x43\x07\x91\x22\x22\x1d\x8a\x43\x29\ +\x22\x22\xe2\x20\x22\x05\x27\xe9\x20\x22\x1d\x1c\x8a\x88\x94\x22\ +\xa5\x38\x88\x88\x04\x91\x52\x8a\x38\x14\xa7\x22\x0e\x92\xa1\x88\ +\x38\x14\x07\x09\x41\x42\x29\xf5\x77\x92\x7b\xcb\xed\x23\xef\xe5\ +\x11\xc8\x20\xe4\xc0\x25\xf7\xdd\x7b\xee\xf9\xff\xcf\xc7\x3d\x37\ +\x4a\xf5\xa5\x2f\x3d\x94\x70\x38\x7c\x32\x10\x08\x2c\x31\xad\x32\ +\x6a\x8c\x1d\xbe\x5f\xb2\x7e\xaa\xe7\xe0\xc1\x60\xf0\x3e\x3f\x7b\ +\x8c\x83\x36\x63\x8f\xfd\xeb\xbd\x04\xbf\xeb\x00\xac\xe2\xf9\x3b\ +\xc6\x37\x9b\x44\x28\x14\x3a\xdd\x3c\x90\xcb\xe5\x82\x7c\x5c\x46\ +\xe1\x09\x87\x6f\xc4\xe3\xf1\x54\xb7\xe0\x91\x48\xa4\xc4\xcf\x5f\ +\x0d\x52\xc7\xee\x55\x07\xb9\x39\x43\x02\xbc\xd7\x6a\x60\x60\x20\ +\xc7\x64\xc3\xc1\xf8\x37\x8a\xf3\xb1\x58\x2c\xd3\x85\xf7\xf7\x8c\ +\x1d\xe6\xb3\x2e\x6a\x5f\xb4\xce\x2f\x39\xf0\xdc\x25\x4f\x32\xfe\ +\xb0\xff\x28\x1a\x8d\xe6\xfd\x12\xc0\x99\x57\xfa\xec\x7e\x26\x93\ +\x89\xb9\xe8\x7c\x34\x8e\x36\x17\x08\xd3\x24\x8b\x9f\x3d\x88\xd4\ +\x21\xf2\x14\x22\x25\x1f\x04\x96\xcd\xb9\x44\x22\x31\xe4\xdc\x27\ +\xe2\x65\x2b\x45\xeb\x47\x36\xb9\x1e\xe7\x31\xb0\xee\x41\xa4\x01\ +\x91\x25\x88\x1c\xf3\x48\xc1\x03\x2b\xc7\x2f\xb2\xd9\x6c\xd8\xec\ +\x51\x1f\xc7\x59\xdb\xb6\x52\x34\xdd\xd6\x08\x44\xce\xa0\xf8\xde\ +\x83\x88\x5c\xa3\x65\x0c\x8e\xd9\xe7\x28\x5e\xa9\xa7\x4d\x5b\x97\ +\x6f\xb9\xfb\xab\xda\xb1\x3d\x6b\xfd\x03\xe4\x82\x9e\xe1\x24\x5c\ +\xe3\xcd\x4a\x25\x9f\x2e\x44\xf6\x21\xb2\x86\xde\x39\x7e\x1f\xab\ +\x56\xb3\x39\xe8\x34\xb0\x59\x81\x7c\xda\x6f\x5d\x49\xe8\xc6\x00\ +\x58\x51\xed\x1b\x4b\x03\x83\x5f\x7d\x80\xd6\x24\x0a\xd4\xdb\xb5\ +\x72\xb9\x1c\xf4\x0d\x6e\x0b\xb9\x1f\x95\x1a\x10\x50\x63\x18\x83\ +\xd2\x74\x54\x9b\xd0\x57\x48\xe5\x14\x85\x38\x82\x24\xba\x02\x74\ +\x13\xfa\x43\x09\x22\x8b\x4c\xeb\x72\xa5\x00\xba\xc2\x7c\xd7\x41\ +\x60\x13\x72\xd3\xd4\xc5\x68\xa9\x54\xea\xba\xb1\x35\x85\x1c\x9f\ +\x95\xa2\x94\xc2\x61\x3e\x61\xd6\x31\x5e\x80\xc8\x82\xf2\x91\x7b\ +\xce\xd6\x35\xa9\x99\x7c\x3e\xef\x2f\x05\x78\x76\xa1\x4d\x97\x14\ +\x63\x9f\xd8\xbb\x68\xf4\xe4\xbe\x4b\xe7\x54\xad\xc6\xe2\xa7\x08\ +\x37\xa8\xab\xa1\xb6\xa0\xc5\x62\x51\xde\x85\x4b\x28\x6d\x79\x18\ +\x91\xc6\xb4\x98\x4a\xa5\x8e\x18\x49\x26\x93\x69\xe7\xf5\xe5\xfb\ +\x07\x63\x4d\xa2\xa7\xac\xda\x11\x27\xd0\x3f\xec\x11\x4a\x1a\x86\ +\xe4\xac\x43\x45\x4b\x6b\x5e\xa0\x06\x5c\x5b\x33\xfb\xb7\x2c\x90\ +\xd5\x74\x3a\x1d\x31\x7b\x78\x3d\x62\x3b\xc6\x7c\x4e\xe1\x45\x44\ +\x3f\x1a\x55\x0f\xe0\x5d\xe9\x70\x84\xba\xe3\xe3\x84\xd1\x67\xe6\ +\x1c\x44\xcb\xce\x7d\x48\x14\xac\x9a\xd9\x92\x03\x6f\x3d\x80\x7f\ +\x02\x7c\x07\x60\xdf\x55\xac\xff\x01\x35\xcf\x0f\x0e\x0e\xe6\x5c\ +\x74\xde\x68\x9d\x86\xdb\x73\x5c\x95\xa8\x10\x9d\x98\x5f\x60\x2b\ +\x05\x37\x8d\x1d\x21\xef\x42\xc0\xe0\xd5\x9a\x0b\xc3\xc3\xc3\x52\ +\x78\x93\x1c\x78\xc8\xef\x14\xcf\x68\xd8\x37\xa2\x43\x68\x56\x39\ +\x2b\xc4\xf2\x78\xcd\x14\x0a\x85\xc3\x6b\xa7\x1f\x20\xe3\x68\xa5\ +\x5b\x1c\x4f\xc1\x89\x59\x47\x44\x77\xf4\x5f\xb2\x6d\x6b\x4d\xde\ +\x91\x89\x9e\x10\xd0\x9e\xde\x56\xd6\xb5\x73\x8c\x7d\x9d\xaa\xde\ +\x0a\xcd\xea\x84\xbe\x15\xdf\x55\x2b\x2d\xd2\x13\x56\x88\xd0\x78\ +\xcf\xc1\xfb\xf2\xdf\xc8\x3f\x14\xfc\x29\x02\x41\x99\xce\x76\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x9c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x02\x3e\x49\x44\x41\x54\x58\x85\xb5\ +\xd6\x4b\x88\x8e\x61\x14\x07\xf0\xdf\x77\x91\xdb\x48\x2e\xa1\x24\ +\x13\xb2\xb1\x23\xb7\x30\x61\x4f\x4a\x61\x63\xa3\xd9\x51\x16\x92\ +\xeb\x0a\x0b\x29\xd9\xb0\xc1\xc6\xc2\xce\x65\xb2\x60\x83\x26\x11\ +\xc9\x25\xca\x48\x84\xb2\x60\xc6\xd0\x28\x91\x1a\xc6\xe2\x79\xc7\ +\x7c\x8d\xf9\xde\xef\x7c\x7c\xdf\xbf\xde\x9e\xf7\x72\x9e\xff\xf9\ +\x3f\xcf\x7b\xce\x79\x4e\x41\x1c\xb3\xb1\x0e\x4b\x30\x07\xd3\x30\ +\x36\xfb\xf6\x0d\x3d\x78\x8b\xbb\x38\x8f\x2f\x75\x70\xd7\xc4\x11\ +\xf4\x63\x20\x78\xf5\xa0\xad\x51\xce\xdb\x32\xd2\x5e\xec\xc7\x85\ +\xa0\x88\x3e\xcc\x68\x84\x80\x03\x19\xe1\xf6\xec\xb9\x80\x77\x41\ +\x11\xbb\x6b\x91\x17\x03\x02\x5a\xb2\x71\x56\x36\x4e\xc2\x84\x98\ +\xf6\x3f\x73\xaa\xa2\x1c\x20\x29\x64\xe3\x1e\xac\xc0\x5c\x4c\x0c\ +\x0a\xa8\xb9\xc0\x88\x80\x4a\xac\xac\xd3\xbe\x26\x22\x02\x4e\xa1\ +\x23\xe7\xfb\x6d\x94\x1a\x21\xa0\x80\x4d\xd8\x22\xe5\x7c\x24\x3e\ +\x04\x9c\xb7\x63\x47\x76\xff\x13\x4f\x71\x08\x6f\x2a\x8d\x46\xe1\ +\xb2\x78\x9e\x47\xaf\x93\x38\x38\xc2\xfb\x6e\xcc\x54\xb1\xca\xbd\ +\xd8\x10\x5c\x71\x23\x30\x0d\x87\x07\x05\x94\xb0\xb3\x49\x8e\x7e\ +\x19\xca\xa2\xe1\xd8\x84\x31\x45\x2c\xc4\x94\x26\x09\x78\xad\x7a\ +\x2d\x18\x8f\x65\x45\x2c\x6e\x92\xf3\x3e\x5c\xc4\xfa\x1c\x9b\x45\ +\x45\xcc\x6b\x82\xf3\x0f\x99\xe3\x5d\x98\x9e\x63\x37\xbf\x8c\xc9\ +\x41\xd2\xeb\xb8\x86\xcf\x39\x36\x03\xf8\x88\xc7\x52\xaa\xb5\xd7\ +\xe0\x9c\x5e\x96\x72\x33\x0f\xdf\xb0\x39\x23\xde\x8a\xe5\xaa\x07\ +\x16\x29\x9e\x96\x1a\xea\x15\xf2\x50\x2a\x4b\xdb\x95\x87\x6d\x68\ +\xc5\x95\x1a\x8e\xff\x05\x9f\xca\x78\x9e\x63\xf0\x04\x8f\xd0\xd5\ +\x04\xe7\xf0\xac\x88\x7b\x39\x06\x9d\x52\x81\xaa\xf7\xd0\x8a\xe2\ +\x46\x11\xaf\xf0\xb2\x8a\xc1\x57\xf1\x20\xad\x17\x2f\xf0\x68\xb0\ +\x14\x1f\xcf\x31\x6c\xc6\xd6\xc3\x09\x86\xce\x82\xd3\x38\xd7\x24\ +\x47\x23\xe1\x1a\xce\xf2\xf7\xea\x56\x4b\x4d\xe8\xb8\xec\xf9\x26\ +\xd6\x4a\xdd\x50\x35\x1c\x93\xf2\x3f\x82\x7e\x29\xb0\x2f\xc9\xd2\ +\x7f\x78\x70\x75\x66\x57\x25\xd6\xd6\x20\xfd\x21\x1d\x3a\x23\xe1\ +\x3e\xae\x06\xc5\x55\xc5\x51\xff\xd7\x0f\xe4\x22\xda\xf5\x44\xd1\ +\x81\x7d\x52\xd5\x0c\x21\x92\xdf\xfd\x41\xae\x6e\x6c\x94\x7e\x47\ +\x2f\xce\x44\xe6\x46\x76\xe0\x41\x50\x40\x0b\xa6\x66\xf7\xad\xd9\ +\xf8\x30\x38\x37\x17\x05\x69\x6b\x23\xff\xfc\x3d\x6e\x49\xbb\xd0\ +\xa9\x81\x15\xb4\x24\xa5\x62\x6f\x40\x44\x9f\xd4\xef\x8d\x8e\x10\ +\xd7\x5b\xe5\x46\x63\x0d\x56\x61\x81\xd4\x5c\x0e\xf6\x00\x5d\xb8\ +\x23\xd5\x8e\xef\x51\xc2\xdf\xfa\xb7\xb7\x82\xbb\xe2\xda\xfa\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xa8\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x6f\x49\x44\x41\x54\x58\xc3\x63\x60\x80\x02\x6d\x6d\ +\x6d\x36\x20\xf5\x9f\x1a\x98\x91\x91\x71\x35\x27\x27\x27\x0b\x03\ +\x29\x80\x9a\x0e\x80\x3a\x62\x2d\x37\x37\x37\xf1\x8e\xa0\xb6\x03\ +\x60\x8e\xe0\xe1\xe1\x21\xce\x11\xe8\x0e\xe0\xe0\xe0\x30\x61\x67\ +\x67\x97\x23\x05\x03\x2d\x3c\x89\xcd\x11\xbc\xbc\xbc\x84\x1d\x81\ +\xee\x00\x60\xf0\x49\x90\x14\x87\x40\x00\xb4\xec\x30\xd9\x21\x41\ +\x4b\x07\x10\xe5\x08\x5a\x3b\x00\xc9\x11\x6c\x03\xe6\x00\x98\x23\ +\x74\x75\x75\x99\x06\xcc\x01\x20\x0c\xb5\x8b\x26\x0e\x98\x0e\xa4\ +\x8e\x62\xc1\xa7\xe9\xe2\x00\x5c\x00\x6a\xd6\xa8\x03\x28\x73\x00\ +\x0b\x0b\x8b\x07\x13\x13\x53\x05\x1b\x1b\x9b\x14\xdd\x1d\x00\xb4\ +\xdc\x86\x01\x91\x8d\x2e\xd3\xdd\x01\xcc\xcc\xcc\x31\x48\x0e\xf8\ +\x8c\xae\x57\x40\x40\x00\x18\x30\x6c\x46\x34\x73\x00\x17\x10\x00\ +\x83\x7f\x2d\xd0\xf2\xfb\x40\xc7\x24\xa0\xeb\x05\xca\x75\x02\xe5\ +\xae\x0b\x0a\x0a\xb2\xd1\xc4\x01\xe8\x40\x4c\x4c\x0c\x6e\x00\x2b\ +\x2b\xab\x03\x90\xfa\x0b\xd2\x03\x74\x5c\x11\x5d\x1c\x00\xf4\xf1\ +\x5c\xa0\x65\x8d\xc0\x56\x8f\x00\x90\xfb\x10\x49\xdf\x47\x60\x35\ +\x2e\x41\x53\x07\x00\x2d\x8e\x62\x40\xa4\x87\x9b\xc8\x7a\x40\x18\ +\xe8\xb8\xf9\x34\x73\x00\x30\xa1\xa9\x01\xa9\xcf\xe8\x96\xa2\xe1\ +\xbf\xc0\x68\x31\xa3\xba\x03\x80\xad\x1a\x0e\xa0\x8f\xcf\x13\xb0\ +\x1c\x16\x32\x27\x25\x24\x24\x98\xa8\xea\x00\x60\xd0\x4e\x25\xc6\ +\x72\xa4\xa8\x48\xa0\x9a\x03\x80\x09\x4b\x0d\xe8\xab\xcd\xa4\x60\ +\xa0\x03\x66\xab\xa8\xa8\x30\x51\x3d\x11\x92\x03\x46\x1d\x30\x34\ +\x1d\x40\x4e\xc7\x04\x17\x06\x99\x45\xb2\x03\x68\x89\x47\x1d\x80\ +\xec\x00\x00\x92\x80\xbb\xd0\x84\x84\x70\x58\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x1a\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\xe1\x49\x44\x41\x54\x58\xc3\x63\x60\xa0\x1c\x24\x01\ +\xf1\x7f\x62\x31\x17\x17\x97\x00\x15\xec\x24\xdf\x01\x9c\x9c\x9c\ +\x54\x77\x80\x07\x10\xef\x04\xe2\xd3\x78\x2c\xfe\x09\xc4\x87\x41\ +\xea\x80\x0e\xe0\xa1\xb6\x03\xe0\x80\x91\x91\x71\x39\x16\xcb\x9f\ +\x33\x33\x33\xab\xd1\xcc\x52\x34\x70\x10\xdd\x01\x4c\x4c\x4c\x61\ +\x74\xb1\x19\x68\x91\x1d\x16\xdf\x5f\x14\x16\x16\x66\xa2\x97\xef\ +\xf7\x62\xf1\x7d\xd0\x88\xf1\xfd\xfe\x91\xeb\x7b\x60\xd6\x1b\x50\ +\xdf\x3b\x60\xf3\xbd\x88\x88\xc8\xc8\x88\xfb\x01\xf7\x3d\xb6\x52\ +\x6f\x60\x7d\x2f\x28\x28\x48\xb7\x94\x3f\x82\x7d\xcf\x30\xc0\x71\ +\xef\x34\xea\x7b\x86\x01\xac\xf1\x0e\x8f\xfa\x7e\xa0\x7c\xef\x32\ +\x18\x7d\x1f\x42\x2f\xdf\x7b\x61\xf1\xfd\x65\xba\xe4\x7b\x16\x16\ +\x16\x19\x20\x75\x1f\xdd\x01\xc0\x7a\xa0\x97\x66\x96\xf2\xf0\xf0\ +\x70\x01\xa9\xad\x0c\x90\x86\xc6\x57\x2c\xbe\x07\xe1\xef\x40\xbc\ +\x1b\xa4\x0e\xe8\x98\x08\x6a\x3b\x80\x07\x87\xa5\x58\x31\xd0\x01\ +\x55\x43\xde\x01\x00\x0d\x00\xca\xfb\x24\x53\x09\xff\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x8b\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x52\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x05\x83\x01\ +\xb0\xb1\xb1\xf1\x31\x32\x32\x46\x01\x71\x12\x0b\x0b\x8b\x0c\x5d\ +\x2d\x67\x66\x66\xd6\x02\x52\x4f\x81\xf8\x3f\x14\x7f\x67\x62\x62\ +\x0a\xa2\xa7\x1b\xf6\x23\x59\x0e\xc3\xef\x39\x38\x38\xb8\x90\x15\ +\x01\x43\xe7\x3e\x2d\x30\xc8\xec\xdf\x58\x1c\xf0\x1f\x18\x32\x26\ +\x68\x0e\xfd\x4f\x23\xcc\x70\x1f\x8b\xe0\x5f\x56\x56\x56\x19\xba\ +\x38\x00\x18\xdf\x29\xe8\x82\xc0\xa0\x99\x8b\x1e\x4f\xc0\xc4\x69\ +\x07\x0c\x15\xaa\x63\xb0\xe1\x40\x47\x84\x00\xa9\x9d\x40\x7c\x18\ +\x68\x79\x09\x27\x27\x27\x0b\x3d\x13\xe1\x28\x00\x03\x60\xb0\xf3\ +\xb0\xb3\xb3\x0b\xd1\xdd\x62\x60\x29\xc8\x05\x8c\xf7\xc5\x0c\x88\ +\xec\x78\x18\x98\x38\x14\xe8\xe6\x00\xa0\xe5\xd3\x19\x30\xb3\xc7\ +\x79\x31\x31\x31\x26\x34\xa5\xbd\x34\xc2\x0c\x1f\x19\xb0\x17\x44\ +\x3a\x68\x0e\xa0\x59\x41\x34\xb0\x0e\x00\x46\xc1\x4c\x2c\x12\x17\ +\x45\x45\x45\xd1\xa3\xa0\x9f\x26\x18\x9a\x08\x97\x02\x39\x7f\xa1\ +\x96\x1f\x05\xfa\x5e\x89\xc6\x49\x0f\x13\x00\x6b\x3f\x3e\x60\x36\ +\x14\xa1\xbb\xc5\xa3\x00\x04\x80\x95\x51\x00\x90\xda\x0a\xc4\xfb\ +\x81\xe9\xa1\x80\x9b\x9b\x9b\x7e\x95\x11\xd0\xf2\x24\x06\xcc\xea\ +\x78\x36\xba\x3a\x60\x75\x6c\x03\x4c\x9c\x54\xc7\x20\xb3\x71\x35\ +\x48\xa4\xd0\xdc\x40\xb3\x82\x68\xc0\x9b\x64\x07\xb1\x08\x62\x6b\ +\x94\x3e\xa6\x05\x66\x80\x16\xb9\xcf\x91\x2c\xff\x0e\x6d\x21\xd1\ +\x0f\x00\xe3\x5b\x00\xe8\x9a\x18\x20\x4e\x03\x26\x36\x05\xba\x5a\ +\x3e\x0a\x06\x1a\x00\x00\x4c\x8a\x2c\x83\x8d\x6c\x0e\x90\x00\x00\ +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x66\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x2d\x49\x44\x41\x54\x58\xc3\x63\x60\x62\x62\xea\x64\ +\x60\x60\xf8\x4f\x63\xfc\x97\x91\x91\x31\x8e\x01\x1b\x00\x4a\xd0\ +\xc3\x01\xb8\x1d\x41\x47\x07\x80\x1d\x01\x0c\xf1\x38\x9c\x0e\x00\ +\x4a\x2e\x66\x67\x67\x97\x43\xc6\xcc\xcc\xcc\x8d\xe4\x5a\x08\x34\ +\xfb\x26\x0b\x0b\x8b\x19\x90\xfd\x14\xa7\x23\x90\x1d\x00\x64\x4f\ +\x45\x0f\x21\xa0\xe2\x02\x22\x2d\x3c\x0e\xc4\x20\xb3\x3a\x81\xe6\ +\xac\x87\x9a\x77\x19\x64\x06\xd0\x11\x6a\xe8\x8e\x80\x47\x07\xb5\ +\x1c\x00\xd4\xdb\x0a\xd3\x03\xb4\xd0\x0f\xd9\x01\xb8\x1c\x01\x34\ +\x3b\x80\x6e\x0e\xc0\xe6\x08\xb0\xdd\xf4\x74\x00\x34\xc4\xa7\x8f\ +\x3a\x80\x56\x0e\x78\x08\xc4\x07\xa1\xf8\x2a\xdd\x1d\x80\xc3\x51\ +\x94\x3b\x00\x58\x18\xf1\x01\x83\x54\x81\x1c\xcc\xc6\xc6\x26\x45\ +\xb1\x03\xa8\x0d\x46\x1d\x40\xc8\x01\xd3\x47\x1d\x00\x53\xa8\xaf\ +\xaf\xcf\x02\xe4\xf7\x52\x03\x83\xcc\x22\xd9\x01\x7a\x7a\x7a\x6c\ +\x0c\x64\xe6\x7f\x74\x0c\x35\x8b\xf4\x28\x70\x74\x74\x64\xa1\x06\ +\x26\x37\x0a\x98\x80\xfc\x18\x6a\x60\x90\x59\x43\x2f\x0a\x0c\x0d\ +\x0d\x99\x80\x45\xa9\x09\x35\x30\xc8\x2c\x92\x1d\x60\x60\x60\xc0\ +\xc4\xca\xca\xaa\x47\x0d\x0c\x32\x6b\xe8\x45\x01\x28\xe1\x00\x41\ +\x12\x35\x30\x59\x89\x90\x56\x80\x90\x03\x30\x3a\x26\xd4\xc6\x20\ +\x3b\x70\x3a\x80\xde\x78\x70\x38\x80\x4e\xdd\x73\xac\x18\x64\x37\ +\x00\xac\x71\x43\x6d\x49\xd7\x0f\x9c\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +\x00\x00\x10\x23\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x67\x41\x4d\x41\x00\x00\xb1\x8e\x7c\xfb\x51\x93\ +\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x87\x0f\x00\x00\x8c\x0f\ +\x00\x00\xfd\x52\x00\x00\x81\x40\x00\x00\x7d\x79\x00\x00\xe9\x8b\ +\x00\x00\x3c\xe5\x00\x00\x19\xcc\x73\x3c\x85\x77\x00\x00\x0a\x39\ +\x69\x43\x43\x50\x50\x68\x6f\x74\x6f\x73\x68\x6f\x70\x20\x49\x43\ +\x43\x20\x70\x72\x6f\x66\x69\x6c\x65\x00\x00\x48\xc7\x9d\x96\x77\ +\x54\x54\xd7\x16\x87\xcf\xbd\x77\x7a\xa1\xcd\x30\x02\x52\x86\xde\ +\xbb\xc0\x00\xd2\x7b\x93\x5e\x45\x61\x98\x19\x60\x28\x03\x0e\x33\ +\x34\xb1\x21\xa2\x02\x11\x45\x44\x9a\x22\x48\x50\xc4\x80\xd1\x50\ +\x24\x56\x44\xb1\x10\x14\x54\xb0\x07\x24\x08\x28\x31\x18\x45\x54\ +\x2c\x6f\x46\xd6\x8b\xae\xac\xbc\xf7\xf2\xf2\xfb\xe3\xac\x6f\xed\ +\xb3\xf7\xb9\xfb\xec\xbd\xcf\x5a\x17\x00\x92\xa7\x2f\x97\x97\x06\ +\x4b\x01\x90\xca\x13\xf0\x83\x3c\x9c\xe9\x11\x91\x51\x74\xec\x00\ +\x80\x01\x1e\x60\x80\x29\x00\x4c\x56\x46\xba\x5f\xb0\x7b\x08\x10\ +\xc9\xcb\xcd\x85\x9e\x21\x72\x02\x5f\x04\x01\xf0\x7a\x58\xbc\x02\ +\x70\xd3\xd0\x33\x80\x4e\x07\xff\x9f\xa4\x59\xe9\x7c\x81\xe8\x98\ +\x00\x11\x9b\xb3\x39\x19\x2c\x11\x17\x88\x38\x25\x4b\x90\x2e\xb6\ +\xcf\x8a\x98\x1a\x97\x2c\x66\x18\x25\x66\xbe\x28\x41\x11\xcb\x89\ +\x39\x61\x91\x0d\x3e\xfb\x2c\xb2\xa3\x98\xd9\xa9\x3c\xb6\x88\xc5\ +\x39\xa7\xb3\x53\xd9\x62\xee\x15\xf1\xb6\x4c\x21\x47\xc4\x88\xaf\ +\x88\x0b\x33\xb9\x9c\x2c\x11\xdf\x12\xb1\x46\x8a\x30\x95\x2b\xe2\ +\x37\xe2\xd8\x54\x0e\x33\x03\x00\x14\x49\x6c\x17\x70\x58\x89\x22\ +\x36\x11\x31\x89\x1f\x12\xe4\x22\xe2\xe5\x00\xe0\x48\x09\x5f\x71\ +\xdc\x57\x2c\xe0\x64\x0b\xc4\x97\x72\x49\x4b\xcf\xe1\x73\x13\x12\ +\x05\x74\x1d\x96\x2e\xdd\xd4\xda\x9a\x41\xf7\xe4\x64\xa5\x70\x04\ +\x02\xc3\x00\x26\x2b\x99\xc9\x67\xd3\x5d\xd2\x52\xd3\x99\xbc\x1c\ +\x00\x16\xef\xfc\x59\x32\xe2\xda\xd2\x45\x45\xb6\x34\xb5\xb6\xb4\ +\x34\x34\x33\x32\xfd\xaa\x50\xff\x75\xf3\x6f\x4a\xdc\xdb\x45\x7a\ +\x19\xf8\xb9\x67\x10\xad\xff\x8b\xed\xaf\xfc\xd2\x1a\x00\x60\xcc\ +\x89\x6a\xb3\xf3\x8b\x2d\xae\x0a\x80\xce\x2d\x00\xc8\xdd\xfb\x62\ +\xd3\x38\x00\x80\xa4\xa8\x6f\x1d\xd7\xbf\xba\x0f\x4d\x3c\x2f\x89\ +\x02\x41\xba\x8d\xb1\x71\x56\x56\x96\x11\x97\xc3\x32\x12\x17\xf4\ +\x0f\xfd\x4f\x87\xbf\xa1\xaf\xbe\x67\x24\x3e\xee\x8f\xf2\xd0\x5d\ +\x39\xf1\x4c\x61\x8a\x80\x2e\xae\x1b\x2b\x2d\x25\x4d\xc8\xa7\x67\ +\xa4\x33\x59\x1c\xba\xe1\x9f\x87\xf8\x1f\x07\xfe\x75\x1e\x06\x41\ +\x9c\x78\x0e\x9f\xc3\x13\x45\x84\x89\xa6\x8c\xcb\x4b\x10\xb5\x9b\ +\xc7\xe6\x0a\xb8\x69\x3c\x3a\x97\xf7\x9f\x9a\xf8\x0f\xc3\xfe\xa4\ +\xc5\xb9\x16\x89\xd2\xf8\x11\x50\x63\x8c\x80\xd4\x75\x2a\x40\x7e\ +\xed\x07\x28\x0a\x11\x20\xd1\xfb\xc5\x5d\xff\xa3\x6f\xbe\xf8\x30\ +\x20\x7e\x79\xe1\x2a\x93\x8b\x73\xff\xef\x37\xfd\x67\xc1\xa5\xe2\ +\x25\x83\x9b\xf0\x39\xce\x25\x28\x84\xce\x12\xf2\x33\x17\xf7\xc4\ +\xcf\x12\xa0\x01\x01\x48\x02\x2a\x90\x07\xca\x40\x1d\xe8\x00\x43\ +\x60\x06\xac\x80\x2d\x70\x04\x6e\xc0\x1b\xf8\x83\x10\x10\x09\x56\ +\x03\x16\x48\x04\xa9\x80\x0f\xb2\x40\x1e\xd8\x04\x0a\x41\x31\xd8\ +\x09\xf6\x80\x6a\x50\x07\x1a\x41\x33\x68\x05\xc7\x41\x27\x38\x05\ +\xce\x83\x4b\xe0\x1a\xb8\x01\x6e\x83\xfb\x60\x14\x4c\x80\x67\x60\ +\x16\xbc\x06\x0b\x10\x04\x61\x21\x32\x44\x81\xe4\x21\x15\x48\x13\ +\xd2\x87\xcc\x20\x06\x64\x0f\xb9\x41\xbe\x50\x10\x14\x09\xc5\x42\ +\x09\x10\x0f\x12\x42\x79\xd0\x66\xa8\x18\x2a\x83\xaa\xa1\x7a\xa8\ +\x19\xfa\x1e\x3a\x09\x9d\x87\xae\x40\x83\xd0\x5d\x68\x0c\x9a\x86\ +\x7e\x87\xde\xc1\x08\x4c\x82\xa9\xb0\x12\xac\x05\x1b\xc3\x0c\xd8\ +\x09\xf6\x81\x43\xe0\x55\x70\x02\xbc\x06\xce\x85\x0b\xe0\x1d\x70\ +\x25\xdc\x00\x1f\x85\x3b\xe0\xf3\xf0\x35\xf8\x36\x3c\x0a\x3f\x83\ +\xe7\x10\x80\x10\x11\x1a\xa2\x8a\x18\x22\x0c\xc4\x05\xf1\x47\xa2\ +\x90\x78\x84\x8f\xac\x47\x8a\x90\x0a\xa4\x01\x69\x45\xba\x91\x3e\ +\xe4\x26\x32\x8a\xcc\x20\x6f\x51\x18\x14\x05\x45\x47\x19\xa2\x6c\ +\x51\x9e\xa8\x50\x14\x0b\xb5\x06\xb5\x1e\x55\x82\xaa\x46\x1d\x46\ +\x75\xa0\x7a\x51\x37\x51\x63\xa8\x59\xd4\x47\x34\x19\xad\x88\xd6\ +\x47\xdb\xa0\xbd\xd0\x11\xe8\x04\x74\x16\xba\x10\x5d\x81\x6e\x42\ +\xb7\xa3\x2f\xa2\x6f\xa3\x27\xd0\xaf\x31\x18\x0c\x0d\xa3\x8d\xb1\ +\xc2\x78\x62\x22\x31\x49\x98\xb5\x98\x12\xcc\x3e\x4c\x1b\xe6\x1c\ +\x66\x10\x33\x8e\x99\xc3\x62\xb1\xf2\x58\x7d\xac\x1d\xd6\x1f\xcb\ +\xc4\x0a\xb0\x85\xd8\x2a\xec\x51\xec\x59\xec\x10\x76\x02\xfb\x06\ +\x47\xc4\xa9\xe0\xcc\x70\xee\xb8\x28\x1c\x0f\x97\x8f\xab\xc0\x1d\ +\xc1\x9d\xc1\x0d\xe1\x26\x71\x0b\x78\x29\xbc\x26\xde\x06\xef\x8f\ +\x67\xe3\x73\xf0\xa5\xf8\x46\x7c\x37\xfe\x3a\x7e\x02\xbf\x40\x90\ +\x26\x68\x13\xec\x08\x21\x84\x24\xc2\x26\x42\x25\xa1\x95\x70\x91\ +\xf0\x80\xf0\x92\x48\x24\xaa\x11\xad\x89\x81\x44\x2e\x71\x23\xb1\ +\x92\x78\x8c\x78\x99\x38\x46\x7c\x4b\x92\x21\xe9\x91\x5c\x48\xd1\ +\x24\x21\x69\x07\xe9\x10\xe9\x1c\xe9\x2e\xe9\x25\x99\x4c\xd6\x22\ +\x3b\x92\xa3\xc8\x02\xf2\x0e\x72\x33\xf9\x02\xf9\x11\xf9\x8d\x04\ +\x45\xc2\x48\xc2\x4b\x82\x2d\xb1\x41\xa2\x46\xa2\x43\x62\x48\xe2\ +\xb9\x24\x5e\x52\x53\xd2\x49\x72\xb5\x64\xae\x64\x85\xe4\x09\xc9\ +\xeb\x92\x33\x52\x78\x29\x2d\x29\x17\x29\xa6\xd4\x7a\xa9\x1a\xa9\ +\x93\x52\x23\x52\x73\xd2\x14\x69\x53\x69\x7f\xe9\x54\xe9\x12\xe9\ +\x23\xd2\x57\xa4\xa7\x64\xb0\x32\x5a\x32\x6e\x32\x6c\x99\x02\x99\ +\x83\x32\x17\x64\xc6\x29\x08\x45\x9d\xe2\x42\x61\x51\x36\x53\x1a\ +\x29\x17\x29\x13\x54\x0c\x55\x9b\xea\x45\x4d\xa2\x16\x53\xbf\xa3\ +\x0e\x50\x67\x65\x65\x64\x97\xc9\x86\xc9\x66\xcb\xd6\xc8\x9e\x96\ +\x1d\xa5\x21\x34\x2d\x9a\x17\x2d\x85\x56\x4a\x3b\x4e\x1b\xa6\xbd\ +\x5b\xa2\xb4\xc4\x69\x09\x67\xc9\xf6\x25\xad\x4b\x86\x96\xcc\xcb\ +\x2d\x95\x73\x94\xe3\xc8\x15\xc9\xb5\xc9\xdd\x96\x7b\x27\x4f\x97\ +\x77\x93\x4f\x96\xdf\x25\xdf\x29\xff\x50\x01\xa5\xa0\xa7\x10\xa8\ +\x90\xa5\xb0\x5f\xe1\xa2\xc2\xcc\x52\xea\x52\xdb\xa5\xac\xa5\x45\ +\x4b\x8f\x2f\xbd\xa7\x08\x2b\xea\x29\x06\x29\xae\x55\x3c\xa8\xd8\ +\xaf\x38\xa7\xa4\xac\xe4\xa1\x94\xae\x54\xa5\x74\x41\x69\x46\x99\ +\xa6\xec\xa8\x9c\xa4\x5c\xae\x7c\x46\x79\x5a\x85\xa2\x62\xaf\xc2\ +\x55\x29\x57\x39\xab\xf2\x94\x2e\x4b\x77\xa2\xa7\xd0\x2b\xe9\xbd\ +\xf4\x59\x55\x45\x55\x4f\x55\xa1\x6a\xbd\xea\x80\xea\x82\x9a\xb6\ +\x5a\xa8\x5a\xbe\x5a\x9b\xda\x43\x75\x82\x3a\x43\x3d\x5e\xbd\x5c\ +\xbd\x47\x7d\x56\x43\x45\xc3\x4f\x23\x4f\xa3\x45\xe3\x9e\x26\x5e\ +\x93\xa1\x99\xa8\xb9\x57\xb3\x4f\x73\x5e\x4b\x5b\x2b\x5c\x6b\xab\ +\x56\xa7\xd6\x94\xb6\x9c\xb6\x97\x76\xae\x76\x8b\xf6\x03\x1d\xb2\ +\x8e\x83\xce\x1a\x9d\x06\x9d\x5b\xba\x18\x5d\x86\x6e\xb2\xee\x3e\ +\xdd\x1b\x7a\xb0\x9e\x85\x5e\xa2\x5e\x8d\xde\x75\x7d\x58\xdf\x52\ +\x9f\xab\xbf\x4f\x7f\xd0\x00\x6d\x60\x6d\xc0\x33\x68\x30\x18\x31\ +\x24\x19\x3a\x19\x66\x1a\xb6\x18\x8e\x19\xd1\x8c\x7c\x8d\xf2\x8d\ +\x3a\x8d\x9e\x1b\x6b\x18\x47\x19\xef\x32\xee\x33\xfe\x68\x62\x61\ +\x92\x62\xd2\x68\x72\xdf\x54\xc6\xd4\xdb\x34\xdf\xb4\xdb\xf4\x77\ +\x33\x3d\x33\x96\x59\x8d\xd9\x2d\x73\xb2\xb9\xbb\xf9\x06\xf3\x2e\ +\xf3\x17\xcb\xf4\x97\x71\x96\xed\x5f\x76\xc7\x82\x62\xe1\x67\xb1\ +\xd5\xa2\xc7\xe2\x83\xa5\x95\x25\xdf\xb2\xd5\x72\xda\x4a\xc3\x2a\ +\xd6\xaa\xd6\x6a\x84\x41\x65\x04\x30\x4a\x18\x97\xad\xd1\xd6\xce\ +\xd6\x1b\xac\x4f\x59\xbf\xb5\xb1\xb4\x11\xd8\x1c\xb7\xf9\xcd\xd6\ +\xd0\x36\xd9\xf6\x88\xed\xd4\x72\xed\xe5\x9c\xe5\x8d\xcb\xc7\xed\ +\xd4\xec\x98\x76\xf5\x76\xa3\xf6\x74\xfb\x58\xfb\x03\xf6\xa3\x0e\ +\xaa\x0e\x4c\x87\x06\x87\xc7\x8e\xea\x8e\x6c\xc7\x26\xc7\x49\x27\ +\x5d\xa7\x24\xa7\xa3\x4e\xcf\x9d\x4d\x9c\xf9\xce\xed\xce\xf3\x2e\ +\x36\x2e\xeb\x5c\xce\xb9\x22\xae\x1e\xae\x45\xae\x03\x6e\x32\x6e\ +\xa1\x6e\xd5\x6e\x8f\xdc\xd5\xdc\x13\xdc\x5b\xdc\x67\x3d\x2c\x3c\ +\xd6\x7a\x9c\xf3\x44\x7b\xfa\x78\xee\xf2\x1c\xf1\x52\xf2\x62\x79\ +\x35\x7b\xcd\x7a\x5b\x79\xaf\xf3\xee\xf5\x21\xf9\x04\xfb\x54\xfb\ +\x3c\xf6\xd5\xf3\xe5\xfb\x76\xfb\xc1\x7e\xde\x7e\xbb\xfd\x1e\xac\ +\xd0\x5c\xc1\x5b\xd1\xe9\x0f\xfc\xbd\xfc\x77\xfb\x3f\x0c\xd0\x0e\ +\x58\x13\xf0\x63\x20\x26\x30\x20\xb0\x26\xf0\x49\x90\x69\x50\x5e\ +\x50\x5f\x30\x25\x38\x26\xf8\x48\xf0\xeb\x10\xe7\x90\xd2\x90\xfb\ +\xa1\x3a\xa1\xc2\xd0\x9e\x30\xc9\xb0\xe8\xb0\xe6\xb0\xf9\x70\xd7\ +\xf0\xb2\xf0\xd1\x08\xe3\x88\x75\x11\xd7\x22\x15\x22\xb9\x91\x5d\ +\x51\xd8\xa8\xb0\xa8\xa6\xa8\xb9\x95\x6e\x2b\xf7\xac\x9c\x88\xb6\ +\x88\x2e\x8c\x1e\x5e\xa5\xbd\x2a\x7b\xd5\x95\xd5\x0a\xab\x53\x56\ +\x9f\x8e\x91\x8c\x61\xc6\x9c\x88\x45\xc7\x86\xc7\x1e\x89\x7d\xcf\ +\xf4\x67\x36\x30\xe7\xe2\xbc\xe2\x6a\xe3\x66\x59\x2e\xac\xbd\xac\ +\x67\x6c\x47\x76\x39\x7b\x9a\x63\xc7\x29\xe3\x4c\xc6\xdb\xc5\x97\ +\xc5\x4f\x25\xd8\x25\xec\x4e\x98\x4e\x74\x48\xac\x48\x9c\xe1\xba\ +\x70\xab\xb9\x2f\x92\x3c\x93\xea\x92\xe6\x93\xfd\x93\x0f\x25\x7f\ +\x4a\x09\x4f\x69\x4b\xc5\xa5\xc6\xa6\x9e\xe4\xc9\xf0\x92\x79\xbd\ +\x69\xca\x69\xd9\x69\x83\xe9\xfa\xe9\x85\xe9\xa3\x6b\x6c\xd6\xec\ +\x59\x33\xcb\xf7\xe1\x37\x65\x40\x19\xab\x32\xba\x04\x54\xd1\xcf\ +\x54\xbf\x50\x47\xb8\x45\x38\x96\x69\x9f\x59\x93\xf9\x26\x2b\x2c\ +\xeb\x44\xb6\x74\x36\x2f\xbb\x3f\x47\x2f\x67\x7b\xce\x64\xae\x7b\ +\xee\xb7\x6b\x51\x6b\x59\x6b\x7b\xf2\x54\xf3\x36\xe5\x8d\xad\x73\ +\x5a\x57\xbf\x1e\x5a\x1f\xb7\xbe\x67\x83\xfa\x86\x82\x0d\x13\x1b\ +\x3d\x36\x1e\xde\x44\xd8\x94\xbc\xe9\xa7\x7c\x93\xfc\xb2\xfc\x57\ +\x9b\xc3\x37\x77\x17\x28\x15\x6c\x2c\x18\xdf\xe2\xb1\xa5\xa5\x50\ +\xa2\x90\x5f\x38\xb2\xd5\x76\x6b\xdd\x36\xd4\x36\xee\xb6\x81\xed\ +\xe6\xdb\xab\xb6\x7f\x2c\x62\x17\x5d\x2d\x36\x29\xae\x28\x7e\x5f\ +\xc2\x2a\xb9\xfa\x8d\xe9\x37\x95\xdf\x7c\xda\x11\xbf\x63\xa0\xd4\ +\xb2\x74\xff\x4e\xcc\x4e\xde\xce\xe1\x5d\x0e\xbb\x0e\x97\x49\x97\ +\xe5\x96\x8d\xef\xf6\xdb\xdd\x51\x4e\x2f\x2f\x2a\x7f\xb5\x27\x66\ +\xcf\x95\x8a\x65\x15\x75\x7b\x09\x7b\x85\x7b\x47\x2b\x7d\x2b\xbb\ +\xaa\x34\xaa\x76\x56\xbd\xaf\x4e\xac\xbe\x5d\xe3\x5c\xd3\x56\xab\ +\x58\xbb\xbd\x76\x7e\x1f\x7b\xdf\xd0\x7e\xc7\xfd\xad\x75\x4a\x75\ +\xc5\x75\xef\x0e\x70\x0f\xdc\xa9\xf7\xa8\xef\x68\xd0\x6a\xa8\x38\ +\x88\x39\x98\x79\xf0\x49\x63\x58\x63\xdf\xb7\x8c\x6f\x9b\x9b\x14\ +\x9a\x8a\x9b\x3e\x1c\xe2\x1d\x1a\x3d\x1c\x74\xb8\xb7\xd9\xaa\xb9\ +\xf9\x88\xe2\x91\xd2\x16\xb8\x45\xd8\x32\x7d\x34\xfa\xe8\x8d\xef\ +\x5c\xbf\xeb\x6a\x35\x6c\xad\x6f\xa3\xb5\x15\x1f\x03\xc7\x84\xc7\ +\x9e\x7e\x1f\xfb\xfd\xf0\x71\x9f\xe3\x3d\x27\x18\x27\x5a\x7f\xd0\ +\xfc\xa1\xb6\x9d\xd2\x5e\xd4\x01\x75\xe4\x74\xcc\x76\x26\x76\x8e\ +\x76\x45\x76\x0d\x9e\xf4\x3e\xd9\xd3\x6d\xdb\xdd\xfe\xa3\xd1\x8f\ +\x87\x4e\xa9\x9e\xaa\x39\x2d\x7b\xba\xf4\x0c\xe1\x4c\xc1\x99\x4f\ +\x67\x73\xcf\xce\x9d\x4b\x3f\x37\x73\x3e\xe1\xfc\x78\x4f\x4c\xcf\ +\xfd\x0b\x11\x17\x6e\xf5\x06\xf6\x0e\x5c\xf4\xb9\x78\xf9\x92\xfb\ +\xa5\x0b\x7d\x4e\x7d\x67\x2f\xdb\x5d\x3e\x75\xc5\xe6\xca\xc9\xab\ +\x8c\xab\x9d\xd7\x2c\xaf\x75\xf4\x5b\xf4\xb7\xff\x64\xf1\x53\xfb\ +\x80\xe5\x40\xc7\x75\xab\xeb\x5d\x37\xac\x6f\x74\x0f\x2e\x1f\x3c\ +\x33\xe4\x30\x74\xfe\xa6\xeb\xcd\x4b\xb7\xbc\x6e\x5d\xbb\xbd\xe2\ +\xf6\xe0\x70\xe8\xf0\x9d\x91\xe8\x91\xd1\x3b\xec\x3b\x53\x77\x53\ +\xee\xbe\xb8\x97\x79\x6f\xe1\xfe\xc6\x07\xe8\x07\x45\x0f\xa5\x1e\ +\x56\x3c\x52\x7c\xd4\xf0\xb3\xee\xcf\x6d\xa3\x96\xa3\xa7\xc7\x5c\ +\xc7\xfa\x1f\x07\x3f\xbe\x3f\xce\x1a\x7f\xf6\x4b\xc6\x2f\xef\x27\ +\x0a\x9e\x90\x9f\x54\x4c\xaa\x4c\x36\x4f\x99\x4d\x9d\x9a\x76\x9f\ +\xbe\xf1\x74\xe5\xd3\x89\x67\xe9\xcf\x16\x66\x0a\x7f\x95\xfe\xb5\ +\xf6\xb9\xce\xf3\x1f\x7e\x73\xfc\xad\x7f\x36\x62\x76\xe2\x05\xff\ +\xc5\xa7\xdf\x4b\x5e\xca\xbf\x3c\xf4\x6a\xd9\xab\x9e\xb9\x80\xb9\ +\x47\xaf\x53\x5f\x2f\xcc\x17\xbd\x91\x7f\x73\xf8\x2d\xe3\x6d\xdf\ +\xbb\xf0\x77\x93\x0b\x59\xef\xb1\xef\x2b\x3f\xe8\x7e\xe8\xfe\xe8\ +\xf3\xf1\xc1\xa7\xd4\x4f\x9f\xfe\x05\x03\x98\xf3\xfc\xba\xc4\xe8\ +\xd3\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0e\xc4\x00\x00\x0e\ +\xc4\x01\x95\x2b\x0e\x1b\x00\x00\x05\x54\x49\x44\x41\x54\x58\x47\ +\xc5\x96\x5f\x4c\xd3\x57\x14\xc7\xbf\x6d\x29\xfd\x43\x0b\x4a\x2d\ +\xe3\x8f\x43\xb1\xb4\x80\x14\x16\x13\x9e\x66\x8c\x7f\x62\x32\x86\ +\x32\x67\x32\x70\xe8\x8c\x0f\xc3\x04\x50\x21\x84\xb8\x10\xf6\x62\ +\x50\xe2\x83\x99\x2f\x8a\x31\x41\x09\xd1\x27\x43\x08\x4f\xca\x9b\ +\x53\xa3\x41\x21\xc4\x19\x89\x99\x0f\x30\x15\x42\x85\x04\x08\x7f\ +\x4a\xa1\xfc\xb9\xbb\xe7\x70\xbb\xd1\x40\x5b\x66\x30\xfb\x24\x4d\ +\x7f\xf7\xfc\xee\xef\xde\x73\xcf\x3d\xff\x34\x42\x82\xff\x11\xad\ +\xfa\xff\x6c\x74\x76\x76\xaa\xa7\x10\x90\x05\x36\x92\x33\x67\xce\ +\x90\x45\xc5\xcc\xcc\x8c\x78\xf9\xc7\x4b\x7e\xa6\xdf\xd8\xd8\x98\ +\x9a\x11\xcc\x86\x2b\x60\xb1\x58\x44\x56\x66\x96\xd0\x6a\xb4\xc2\ +\x6c\x32\x8b\x5c\x77\xae\xb0\x6f\xb1\x8b\x85\xc5\x05\x35\x23\x98\ +\x0d\xf7\x81\xcc\x8c\x4c\xe8\x74\x3a\x68\xb5\x5a\xf8\xfd\x7e\x44\ +\x45\x45\x61\x69\x69\x09\xbe\x59\x1f\x4e\x9d\x3a\x85\x83\x07\x0f\ +\x62\xcf\x9e\x3d\x6a\x36\xb0\x61\x0a\xd4\xd5\xd5\xe1\xc9\x93\x27\ +\xf0\x0c\x79\x60\x34\x1a\x79\xd3\xbd\xfb\xf6\xe2\xd1\xef\x8f\x58\ +\x21\x1a\x0f\x0f\x0f\xc3\xe5\x72\xe1\xf9\x8b\xe7\xea\x2b\x09\x29\ +\xb0\x11\xd0\x52\x3b\xd2\x76\x08\x77\xb6\x5b\x24\x25\x26\x89\x37\ +\x6f\xde\xb0\xbc\xab\xab\x4b\x24\x27\x25\x8b\xec\x9d\xd9\x42\x5a\ +\x47\x34\x34\x34\xb0\x3c\xc0\x86\x45\x41\x45\x45\x05\x62\x62\x62\ +\xf8\xa4\xfe\x39\x3f\x32\x32\x33\x58\x9e\x95\x95\x85\x79\xff\x3c\ +\xe6\xe7\xe7\x91\xfb\x55\x2e\x5b\x6a\x25\x9f\xac\xc0\xdc\xdc\x1c\ +\x59\x4f\x8d\x80\xc6\xc6\x46\x1c\x3b\x76\x0c\x3e\x9f\x0f\x09\x5f\ +\x24\x40\x5a\x03\xf2\xb4\xec\x13\x76\xbb\x1d\x3a\xad\x0e\x7d\x7d\ +\x7d\x6a\xf6\xbf\xac\x4b\x81\x07\x0f\x1e\x60\x68\x68\x48\x8d\x96\ +\x29\xfa\xa1\x88\x1d\x4d\xaf\xd7\xa3\xb9\xb9\x99\x65\x1e\x8f\x87\ +\x65\x1a\x8d\x06\x66\xa3\x19\x37\x1a\x6f\x20\x36\x36\x16\x4b\x62\ +\xd9\x09\xdf\xfe\xf9\x16\x37\x6f\xde\xe4\xb9\x01\xc2\x2a\x30\x38\ +\x38\x08\xa7\xd3\x89\x43\x87\x0e\x21\x2f\x2f\x4f\x49\x97\x79\xf8\ +\xf0\x21\x72\x73\x72\x91\x92\x9c\x82\xfe\xbe\x7e\x96\x3d\x7d\xfa\ +\x14\xd3\xd3\xd3\xac\xc4\xd4\xf4\x14\xe2\xe3\xe3\xd9\x4a\x36\x9b\ +\x0d\xe7\x7f\x39\x8f\xc3\x85\x87\x51\x56\x56\xc6\x73\xff\x81\x3d\ +\x21\x04\xd7\xaf\x5f\xe7\x18\x96\x1b\x89\x6d\xa9\xdb\xc4\x91\xef\ +\x8e\x88\xc2\xc2\x42\x91\xee\x4c\x17\x19\xae\x0c\x76\xb8\xd4\x2f\ +\x53\xc5\xbd\x7b\xf7\x78\xfe\xe4\xe4\xa4\x68\x69\x69\xe1\xe7\xf6\ +\xf6\x76\x61\x8b\xb7\x09\x93\xd1\x24\xbc\x5e\x2f\xcb\x16\x17\x17\ +\xf9\x7f\x25\x11\xc3\x50\x6e\x0c\xab\xd5\xca\x66\xf5\xce\x78\xf9\ +\x44\x51\xba\x28\x8e\x6f\x0a\x2f\x92\x7f\xf8\xf0\x01\x97\x1a\x2e\ +\xe1\xdc\xb9\x73\x28\x2e\x2e\x46\x6b\x6b\x2b\x3b\x63\x55\x55\x15\ +\x36\x6d\xda\x84\xfa\xfa\x7a\xb5\xda\x6a\x22\x2a\x20\x4f\xc9\x9b\ +\xd2\x82\xd3\x53\xd3\x30\x18\x0d\xd8\xba\x75\x2b\xe4\x69\xf0\xee\ +\xaf\x77\xd0\xea\xb4\x90\xd9\x8f\x63\x7c\x74\x6c\x14\xdb\xb7\x6d\ +\x87\xc9\x64\xc2\xe8\xe8\x28\x86\x47\x86\xd5\x2a\xa1\x59\xa5\x40\ +\x65\x65\x25\xd2\xd2\xd2\x58\xfb\xf4\xf4\x74\xf6\x5e\xda\x9c\x4e\ +\x52\xf7\x6b\x1d\x67\xb2\xe8\xe8\x68\x56\x4a\x9a\x16\xd2\xfc\xb8\ +\xfa\xdb\x55\x18\xa2\x0d\xd0\x47\xeb\x59\x4e\xca\x79\x3e\x7a\xd0\ +\xdb\xdb\x8b\x94\x94\x14\xb5\x72\x08\x48\x81\x00\x03\x03\x03\x9c\ +\x50\xb6\xd8\xb6\x08\x8d\xd4\xcd\xe5\x74\x09\xc7\x0e\x87\x28\x28\ +\x28\x10\xb3\xb3\xb3\x6a\xd6\x6a\xe4\x15\xb0\x3f\x50\xa2\xd9\x99\ +\xb5\x93\x7f\xdd\xdd\xdd\xea\x6d\x78\x82\x2c\x50\x51\x5e\x81\xfb\ +\xf7\xef\x23\x2e\x2e\x8e\xc7\x0b\x0b\x0b\x7c\xc7\xaf\x7b\x5f\xb3\ +\x67\x87\x83\x62\x7c\xf7\xd7\xbb\xd9\x52\xc9\x29\xc9\x1c\x25\xeb\ +\x21\x68\xd5\xfc\x6f\xf3\x61\x89\xb1\xb0\x69\x49\x2f\x0a\xa9\xda\ +\xda\xda\x88\x9b\x13\x0e\x87\x03\x45\xc5\x45\xac\xf4\xf3\xce\x15\ +\xb9\x3e\x12\x64\x81\x95\xf8\xe7\xfd\xe2\xe4\x4f\x27\x85\x33\xdd\ +\xc9\x61\x24\x17\x54\x6f\x22\xf3\xf8\xd1\x63\x21\xf3\x02\x97\xe3\ +\xd4\xd4\x54\xb1\x7f\xdf\x7e\x71\xe5\xca\x15\xf5\x76\x6d\x56\x1d\ +\x4d\x1f\xa5\x87\xc9\x6c\x62\xc7\x93\x31\xcc\xa1\xb6\x5e\x5c\x19\ +\x2e\x2e\xc1\xf4\x4d\x8c\x39\x06\xfd\xfd\xfd\x68\xbe\xb5\x9c\x25\ +\x43\xb1\xa6\x6d\x3f\x7a\x3e\xf2\x22\x5e\x9f\x57\x49\xd6\x87\xec\ +\x82\xd4\x13\x5b\x96\xd7\xb0\xc6\x59\x95\x64\x6d\x82\x14\xb8\x7c\ +\xf9\x32\x3b\xdd\xab\x57\xaf\x60\x30\x18\x20\xbb\x1a\xbc\x7f\xff\ +\x5e\xbd\x8d\xcc\xb3\x67\xcf\xb8\x17\xa0\xca\x47\x69\x98\xc2\x38\ +\xff\x9b\x7c\xf5\x76\x6d\x82\xa2\x80\x26\x93\xd9\x68\x73\x82\x4e\ +\x74\xe0\xc0\x01\x34\xdd\x6a\xe2\x71\x24\xa8\xf4\x8a\xa5\x65\xe7\ +\x1d\x18\x1c\x60\x45\xa8\x58\xd1\xa1\x42\x11\x64\x81\x13\x27\x4e\ +\x40\x36\x8f\x90\x39\x1d\x13\x13\x13\x30\x9b\xcd\xb8\x7b\xf7\x2e\ +\xba\x5e\x74\xa9\x19\xa1\xb9\x70\xe1\x02\xc6\xc7\xc6\x79\xd3\xf2\ +\x8a\x72\xde\x94\x12\x56\xb8\xcd\x19\xb2\x40\x00\xe9\x40\xa2\xf4\ +\xe7\x52\xd1\xd4\xd4\x24\x64\x09\xe6\x42\x44\x09\x86\xa6\x05\x0a\ +\xce\x5a\xd4\xd4\xd4\x08\xa3\xc1\x28\x72\xdc\x39\x1c\x01\xf4\xcd\ +\x7a\x09\x5b\x0b\x6e\xdf\xba\x8d\x8b\x17\x2f\x72\x4d\xa7\x44\x93\ +\x98\x98\x88\xb2\xf2\x32\xec\xda\xb5\x8b\x1b\x12\xba\xf3\x6b\xd7\ +\xae\x41\x76\xbf\xdc\x74\xd0\x52\x5c\x8a\xa7\xa6\x60\xb1\x5a\x38\ +\x15\x47\x22\xac\x02\x1d\x1d\x1d\x38\x5d\x7a\x1a\x9b\x37\x6f\x66\ +\x53\xd2\xa6\x74\x35\x94\xa8\x34\x5a\x0d\xac\x16\x2b\x67\x3e\x1a\ +\xcb\x9c\x81\x89\xc9\x09\xf6\x7c\xba\xc2\xd2\xd3\xa5\xac\x7c\x24\ +\xc2\x2a\x10\xa8\x6c\xb4\xa8\x6f\xc6\x07\xa3\xc9\x88\xf1\xf1\x71\ +\xb6\x48\xa0\x20\x51\xdc\x97\x1c\x2f\x81\xbc\x06\xc8\x5a\x82\xe3\ +\x25\xc7\xb9\xf7\xbb\x73\xe7\x8e\x5a\x25\x02\xa4\x40\x28\x64\x8f\ +\x27\xec\x36\x3b\x77\xb9\xd5\xd5\xd5\xec\x23\x3d\x3d\x3d\xe2\xe8\ +\xf7\x47\xb9\x50\x51\xa7\x4b\x1d\xef\x4a\xa8\x29\x91\x96\x52\xa3\ +\xc8\x84\x55\x80\x68\x6b\x6b\x13\x25\x3f\x96\xa8\xd1\x32\xe4\xa4\ +\x09\xf6\x04\xe1\x48\x73\x08\x99\x39\x95\xf4\xd3\x08\x7b\x05\x01\ +\x68\xca\xca\x70\x1a\x19\x19\x61\xdf\x48\x4a\x4e\x82\xdb\xed\xc6\ +\xd9\xb3\x67\xd5\x9b\xff\xce\xba\x14\xf8\x7c\x00\x7f\x03\xaa\x81\ +\x77\x9d\xbd\x3c\x07\x01\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x02\x83\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\x4a\x49\x44\x41\x54\x58\xc3\xed\x56\xcf\x2b\x44\x41\ +\x1c\x9f\xdd\x7d\xfb\xeb\xed\xee\xcb\x3a\x68\x93\x83\x83\x24\x07\ +\x49\x72\x70\x90\x24\xc9\x51\xf2\x07\xc8\x1f\x20\xed\x59\x49\x7b\ +\x92\xc3\x1e\xf6\x28\xc9\x49\x92\x1c\x1c\x24\xc9\xc1\x49\x92\x24\ +\x6d\x9b\xe4\x20\x39\x4a\xd2\x26\xf1\x19\xcd\x68\x7c\x77\xde\xbc\ +\x5d\xf6\x29\x65\xea\xd3\x6c\xef\xfb\xeb\x33\xdf\x1f\x33\xcb\xd8\ +\xff\xfa\x0b\xcb\x71\x9c\x48\x32\x99\x6c\x54\x91\x4a\xa5\x1a\x7f\ +\x8d\x40\x20\x10\xc8\x61\x7b\xa3\xb0\x2c\xab\xe3\xb7\x38\x5c\xeb\ +\x08\x80\xd8\x82\xef\x91\x43\xa1\x50\xbf\x2e\xb8\x40\xc9\x77\x02\ +\x38\x65\xc1\x40\xe0\x0d\x04\xfb\x7c\x0b\x8e\x66\xb3\xb0\xdd\x9b\ +\x08\x80\x60\xde\x37\x02\xc1\x60\x70\x54\x13\x70\x97\x7c\xbb\xc3\ +\x94\x58\xbe\x10\x40\xb0\x35\x12\xac\x28\x52\xfe\x85\x14\x88\x0e\ +\xd7\x3d\x78\x2c\x16\xb3\xb1\x3d\x32\x7d\xd7\x5f\x93\xef\x2b\x75\ +\x27\x80\x53\x4d\xb2\xca\x86\xeb\x12\x99\x59\x22\xb2\x87\x78\x3c\ +\x1e\xab\x2b\x01\x04\xd9\x26\x41\x8a\x52\xe6\x52\x86\x89\xba\x05\ +\x8f\x44\x22\xfc\x9a\x2d\x93\x34\xe7\x88\xda\x0d\x91\x6f\x6a\xb2\ +\x38\x80\xef\x73\x1c\x35\x11\x84\xc1\xb4\x5b\xfa\x15\x1d\x5a\x86\ +\x67\x10\x6f\x20\xae\x0e\x14\xf9\x1d\xde\x8f\xaa\xa7\xe5\x80\xb9\ +\xa4\xdf\x54\x06\x90\x9a\x92\x72\xbc\x13\x2d\xd8\x5e\x85\xac\x2c\ +\xca\x34\xe2\x19\x99\x18\x4a\x1c\xc1\xf9\x2c\x41\x96\x96\x09\xd8\ +\x53\x32\x94\x15\xdf\x2e\xf0\x7b\x5d\x10\x5c\xad\x26\xfd\x59\xe2\ +\xb4\x16\xbc\x86\xc3\xe1\x66\xd5\x8f\x52\xff\x8f\x69\xc1\x78\x7b\ +\x4e\xcb\xc9\x0f\x08\xf0\x80\x33\x6a\x26\xb1\x77\xaa\x77\x8a\xb1\ +\x19\xc5\xfb\xfe\xed\xe0\x02\xc7\xd2\x1f\x82\x15\x94\xcc\xca\x32\ +\x6c\x99\xd2\xbf\xa0\x39\xd1\x0e\xb0\xe1\x06\xe8\x9c\x53\x1b\x1c\ +\xa4\x9d\xfb\x4b\x24\x12\xb6\x42\x66\x5c\x36\xa4\x66\x5a\x3e\x57\ +\x89\x38\xbb\xc9\x64\x32\x41\x53\xbd\xe0\x78\x50\x43\x7a\x4e\x12\ +\xc0\xef\x33\xe0\x12\xb8\x52\xe4\x53\x15\x8e\x5c\xc6\x6a\xd1\xab\ +\x61\xd2\xe9\x34\x27\x78\x4b\x6c\x3f\xc7\x56\x5c\x50\xb4\x4c\xfb\ +\xba\xf4\xe7\xa9\x22\x48\xf5\x78\x11\x30\xd8\xf6\x8a\x83\xb5\x22\ +\x4b\x63\x1c\xd0\x9b\x67\x64\x5a\x64\x1a\x87\x18\x79\xf9\x44\x2d\ +\xbb\xab\x24\x40\x6f\x45\x8e\x43\x04\xc9\xa8\x7a\xd1\x68\x34\x89\ +\xed\x49\x64\x77\x56\x1a\xbf\x30\xf7\x8e\xe6\x17\xd2\xba\x21\x36\ +\x6f\xb2\xb2\xc1\x9e\x07\x5a\x96\xca\x78\x31\x1d\x6c\xa7\xb2\x4c\ +\x20\xd8\xc6\x4c\xc6\x02\x9b\x1e\x04\xbc\xee\x05\xf5\xf6\x5b\xab\ +\xd0\x41\xa7\x36\xd9\xb6\xed\x0a\xc8\x1d\x53\xfa\x4d\xb6\x1c\xf8\ +\x5f\xe9\x28\xba\x0e\x95\x57\x53\xe2\xff\xe5\xeb\x7a\x07\xa0\x43\ +\x3d\x16\xb0\x13\x3c\x4e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x00\xa4\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x6b\x49\x44\x41\x54\x58\xc3\xed\x96\xc1\x09\x80\x40\ +\x0c\x04\x93\x90\xf4\x21\x16\x25\xd7\xd4\x61\x51\x62\x51\xe2\xe3\ +\xcc\x55\x31\x07\x71\x60\xfe\xfb\xd8\x0d\x11\xf9\x11\x79\x60\x65\ +\xc0\xc2\x01\x22\x62\x77\x77\x4c\xba\x7f\x6b\x70\xc1\x56\x5f\x81\ +\x99\x35\x55\xc5\xa4\xfb\xb7\x06\x1d\xb6\xfa\x0a\x92\x13\xb6\x3a\ +\x79\x88\x8e\x3c\x08\x98\x33\x03\x5e\x42\x3c\xc0\x0d\x5b\x9d\x7c\ +\x4a\xb7\x7c\x0e\x31\x67\x06\xbc\x84\x78\x80\x17\xb6\x38\x1f\xbf\ +\xf6\xf3\x9c\x22\xdf\x57\x22\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x02\x0b\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\xd2\x49\x44\x41\x54\x58\xc3\x63\x60\x40\x00\x07\x20\ +\xfe\x4f\x6b\xcc\xc4\xc4\xb4\x9b\x01\x07\xa0\x8b\x03\x18\x19\x19\ +\x47\x1d\x40\xb4\x03\xde\x03\x15\xf7\x02\xe3\xac\x00\x88\xf3\x60\ +\x18\x28\xb6\x16\x87\xe1\x5f\x91\xd5\x41\xd5\x96\x01\xc5\x0f\x92\ +\xe3\x80\x8f\xcc\xcc\xcc\x6a\xd8\x14\x01\x0d\xc8\xc1\xe1\x80\xd7\ +\xb8\x0c\x06\xea\x99\x4d\x92\x03\x80\x8a\xa6\xe2\x31\x8c\x64\x07\ +\xb0\xb1\xb1\x49\x11\x74\x00\xd0\xc7\x3c\x40\x6c\x04\xc5\x12\xd4\ +\x74\x00\xd4\x7c\xb0\xd9\x2c\x2c\x2c\x6a\x0c\x94\x00\x72\x1d\x40\ +\x35\x30\xea\x80\x51\x07\x8c\x3a\x80\x14\x07\x00\x8b\x63\x2f\x76\ +\x76\x76\xae\x01\x71\x00\xb0\xc0\x91\x61\x80\xd6\x27\x03\xe2\x00\ +\xa0\xba\xed\x50\xf1\xbf\xc0\x90\xb0\xa2\x87\x03\x2e\xc3\xd4\x00\ +\x2d\x4c\x80\x59\x0e\xa5\xaf\x03\xa3\x82\x83\xa6\x0e\x00\x5a\xea\ +\x06\x0d\x7a\x31\x20\xf5\x16\x2a\x96\x04\xa4\xdf\x33\x40\x2a\xa1\ +\x66\x9a\x39\x00\x1a\xdc\x30\xf9\xf9\x50\xf1\x83\x50\xa1\xcd\x50\ +\xfe\x4f\x5c\x55\x3c\xc5\x0e\x00\x1a\x6c\x02\x92\x03\xd5\x76\xb0\ +\x60\x07\xfa\xde\x05\xaa\x65\x25\x92\x43\x37\xd2\xc2\x01\x87\x91\ +\xe4\x60\xbe\xfd\x2d\x24\x24\xc4\xc2\xc5\xc5\xc5\x02\x64\x3f\xc4\ +\xe6\x58\xaa\x39\x00\xc8\x4f\x03\x89\x03\xe3\x5e\x85\x01\x91\xe8\ +\x40\x21\x50\x00\x94\x5b\x8e\x25\xba\x16\x53\xd5\x01\x50\x8b\x41\ +\xe2\x15\x0c\xd8\x73\x07\x3a\xfe\xcc\xc3\xc3\xc3\x46\x2d\x07\x7c\ +\x57\x50\x50\x60\x82\x4a\xad\x27\xd2\x01\xa0\x68\x30\xa0\xc4\x01\ +\x79\x48\x86\x21\x17\x3e\x28\xad\x5f\x7c\x18\x18\x3d\x4e\x94\x38\ +\x60\x3e\x92\x61\x3f\x45\x45\x45\x99\xa0\xe2\x2b\x19\x88\x0f\x01\ +\x2d\xb2\x2c\x07\xba\x3c\x08\x48\xfd\x46\x33\x4c\x0f\xea\x80\x04\ +\x22\x1d\x70\x1f\xe6\x68\x62\x01\xa8\x85\x0c\x2a\x68\x2e\x62\x33\ +\x10\x68\x71\x3b\x48\x11\x07\x07\x07\x28\x61\x5d\x25\x22\xf8\x63\ +\x48\xf5\xb8\x12\x01\x43\x3f\x02\x73\x02\xb8\x19\x0f\x0c\x0d\x50\ +\x8e\xb8\x8f\x4b\x2d\xb9\xc5\x31\x21\x07\x80\xf0\x4e\x4e\x4e\x4e\ +\x50\xa1\xc3\xc0\xca\xca\xca\x07\xb5\xe8\x26\x03\xa4\x5c\xf8\x08\ +\xc4\x5b\x71\x25\x3c\x00\x91\xf6\x99\x4f\xab\xcc\xd2\x2e\x00\x00\ +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x8c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x53\x49\x44\x41\x54\x58\xc3\x63\x60\x18\x05\x03\x0d\ +\xb8\xb9\xb9\x45\xb8\xb8\xb8\x06\x04\x83\xec\x06\xb9\xe1\xff\x00\ +\xe3\x51\x07\x20\x38\xec\xec\xec\x1a\x1c\x1c\x1c\x5c\xb4\xc4\x20\ +\x3b\xf0\x39\x40\x8e\xd6\x89\x1e\x6a\x07\xf1\x0e\x60\x61\x61\xb1\ +\x61\x64\x64\x6c\x64\x66\x66\x0e\xa0\xbb\x03\x80\x96\x86\x21\xcb\ +\x33\x31\x31\x35\xd3\xd5\x01\x40\x9f\xef\x47\x96\x07\xf2\x5f\xe3\ +\x33\x5c\x43\x43\x83\x89\xda\x0e\x58\x8f\xe6\x80\xdb\xb8\x0c\x66\ +\x65\x65\x35\x02\x86\xd0\x4c\xaa\x3a\x00\x18\xff\x3a\x40\xea\x39\ +\x54\xfe\x2b\x30\x4a\x7c\xb0\x19\xca\xc3\xc3\xc3\x05\x74\xdc\x75\ +\x90\x3a\xa0\x1e\x0f\xaa\x39\x00\x04\xf8\xf8\xf8\xb8\xd8\xd8\xd8\ +\xcc\x80\xc5\xa6\x10\x2e\x43\x81\x3e\x9f\x8a\x64\xce\x63\x60\x31\ +\xcb\x47\x35\x07\x60\x31\x40\x06\xe8\xcb\x08\xa4\x50\xf2\x42\x33\ +\xf0\x3f\xbe\xa8\xa0\xc8\x01\x9c\x9c\x9c\x02\xc0\xa0\xbe\x0c\x64\ +\xfe\x05\x39\x02\x58\xb0\x88\x21\x45\x11\x0a\x06\xca\x3b\x51\xd5\ +\x01\xfc\xfc\xfc\x6c\x40\xcb\xf7\x22\xa9\xff\x0d\xe4\x9f\xc7\x66\ +\x39\x14\xdf\x07\x46\x05\x0f\x55\x1c\x20\x23\x23\x03\x0c\x55\xa6\ +\xa5\x78\x2c\xc3\x8a\xa1\x69\x83\x72\x07\x00\x0d\x6a\x27\xd5\x72\ +\x28\x06\x45\x95\x1d\x45\x0e\x00\x66\xbd\x34\x32\x2d\x87\xe1\xdb\ +\xc0\xa8\xe0\x22\xcb\x01\xd0\x7c\xff\x9b\x42\x07\x80\xa2\xa2\x9f\ +\x2c\x07\x00\x53\xb9\x02\xb0\x0c\xd0\xa2\x14\x03\xcd\x51\xa3\x28\ +\x0d\x50\x13\x10\x72\xc0\xc0\x36\x48\x06\x08\x8f\x74\x07\x0c\x86\ +\x8e\xc9\x28\x18\x50\x00\x00\x32\x25\xbb\xe4\x67\x59\x28\x37\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x51\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x18\x00\x00\x00\x18\x08\x06\x00\x00\x00\xe0\x77\x3d\xf8\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x00\xf3\x49\x44\x41\x54\x48\x89\xed\ +\xd6\xb1\x4a\x03\x41\x10\xc6\xf1\xdf\x49\x48\xa3\x45\x2a\x41\xd0\ +\x26\x08\x82\x0f\x60\x67\x21\x08\xb1\x10\x4b\x5f\xc5\xd6\xc6\x37\ +\xb0\xb3\xb2\x4f\x2b\xa4\xb3\x48\x67\xea\x84\xa4\x31\x8a\x60\x25\ +\xd8\x6a\x15\x8b\xbb\xc8\x21\xe7\x5e\xb2\x77\x16\x42\x3e\x58\x18\ +\x76\x96\xef\x3f\xcb\xc2\xcc\xc2\x27\x66\x35\xae\x4b\x39\x35\xd0\ +\xc4\x31\x9e\x55\xd7\x26\xba\x59\xfc\x0d\x9a\x61\xb7\xe0\xf0\x36\ +\x7a\xbf\x18\x1d\xe0\x26\x8b\x7b\xd8\xca\xe5\xf6\xf0\x3a\x07\x34\ +\x02\xd5\x6c\xa0\x13\xa8\xf4\x30\x8b\x3b\x58\xcf\xe5\x26\x38\xc2\ +\x7d\x19\x20\xa4\x47\xdc\x06\xf2\x13\x9c\xa3\x1f\x0b\x18\x65\x2b\ +\xa4\x37\x16\xbb\x41\x2b\xb2\x08\x8b\x02\xde\xff\x0a\x30\x46\x52\ +\xc5\x1c\xd6\xaa\x1a\xac\x00\x95\x55\xf4\xc8\x6d\xec\x47\xfa\x0d\ +\x31\x2d\x03\x9c\xe1\x0a\x2f\x4b\x9a\xef\xe0\x02\xd7\x65\x00\xd2\ +\x3e\x72\xba\x24\xa0\xb0\x31\xfe\xff\x47\x5e\x01\xa2\x00\x53\x0c\ +\x22\xbc\x1e\xf0\xf4\x73\x33\x91\xce\xe4\x13\xf5\x0c\xfd\xbc\xda\ +\xb8\x4b\xa4\xdf\x96\x66\xcd\xe6\x73\x7d\x7c\x01\x07\xfd\x35\xd5\ +\xab\x42\x2e\x88\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\ +\x00\x00\x01\x4e\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x15\x49\x44\x41\x54\x58\xc3\x63\x60\x40\x03\x4c\x4c\ +\x4c\x37\x81\xd4\x7f\x5a\x60\xa8\xd9\xf8\x01\x23\x23\x23\xcd\x1c\ +\x00\x35\x7b\x08\x39\x80\x85\x85\x25\x86\x9d\x9d\x5d\x8e\x12\x0c\ +\x32\x83\x12\x07\xb8\x11\xd4\x40\x00\x40\xcd\x18\xc4\x0e\x00\x06\ +\x93\x16\x1b\x1b\x1b\x1c\x03\x15\xdd\x47\x72\x40\x0a\xb2\x1c\x39\ +\x18\x64\x06\x92\x03\xee\x23\xcb\x81\xec\x66\x60\xa0\x51\x82\x23\ +\x01\xd3\xdd\xc2\xef\x40\xfc\x7b\xa0\x1c\xf0\x97\x95\x95\x55\x86\ +\x99\x99\xd9\x63\xc0\x42\x00\x68\x79\x1a\xb0\x44\xec\x1c\xc8\x28\ +\x18\xf0\x34\x30\xea\x80\x51\x07\x0c\x21\x07\x00\xcb\xee\x97\x40\ +\xfc\x90\x42\xfc\x92\x6c\x07\x50\xbb\x36\x24\xdb\x01\xc0\xd2\xcb\ +\x01\xe8\x93\x30\x52\x30\xb4\xb8\xa5\x8e\x03\x80\x06\xee\x27\x35\ +\x6e\x81\x7a\xae\x13\xe5\x00\x60\xb9\x3c\x1b\xa8\x18\x8e\x81\x82\ +\xef\xd1\x1d\x00\xa4\x03\x80\xea\x72\x48\xc1\x40\x3d\x51\x58\x1c\ +\xf0\x1e\xd9\x2e\x90\xdd\x18\x71\x86\xad\x45\xc4\xc1\xc1\x21\x06\ +\x6c\x3c\xc8\x10\xc2\x02\x02\x02\x2c\xf8\xd2\x00\xd9\x4d\x32\x62\ +\xa3\x80\x93\x93\x53\x85\x26\x0e\x00\x26\xa8\x1a\xa0\xf8\x52\x42\ +\x98\x8b\x8b\x4b\x8c\x26\x0e\xa0\x04\x0c\x79\x07\x0c\x6c\xc7\x84\ +\xda\x78\x68\x38\x80\xde\xdd\x73\x00\x36\xe3\xb6\x81\x27\x9c\x54\ +\xd5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x4c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\x13\x49\x44\x41\x54\x58\xc3\xc5\x57\x3d\x48\xc3\x40\ +\x14\xbe\xa6\xe9\x5f\x48\x69\x11\x11\x91\x0c\x0e\x0e\x22\x4e\x9d\ +\x1c\x44\x1c\x44\x9c\x44\x8a\x14\x87\x4e\x22\x0e\x0e\x1d\xc4\xc9\ +\x5d\x1c\x9c\x3a\x39\x88\x74\x10\x71\x10\x11\x11\x07\x11\x67\x27\ +\x91\x0e\x22\x45\x3a\x75\x10\x07\xe9\x50\x8a\x14\x09\xfa\x1d\x4d\ +\xa0\xb6\xaf\x6d\xee\x92\xa6\x0f\x3e\x5e\x72\xb9\x7b\xdf\x77\x7f\ +\x2f\x77\x8c\x09\x58\x28\x14\x1a\x0d\x04\x02\x9b\xc0\x19\x5e\x8b\ +\xc0\x17\x60\x5a\xa8\x01\x65\xe0\x01\xdf\xf3\x40\x16\xf5\x27\x45\ +\xe2\x77\x35\x55\x55\xc7\x10\xf0\x18\x8f\xdf\xc0\xaf\x20\xf2\xae\ +\xc8\x15\x45\x99\x87\xfb\x94\x20\xb6\x51\x70\x43\x9e\x82\xab\xf7\ +\x08\x5e\x05\x5e\x81\x12\xd0\xf0\x54\x80\xa6\x69\x2a\xdc\x1b\x11\ +\xd0\xc4\x74\x9c\x06\x83\xc1\x94\x61\x18\x8a\x5d\x3f\x16\x8b\x69\ +\x10\x9c\xc5\x63\xc5\x13\x01\x08\xb6\x41\x90\xff\xa0\x7c\xad\x57\ +\x3b\x08\x33\xe0\x3e\x5c\x0b\x40\x2f\x2f\xdb\x05\xa0\xec\xc4\x61\ +\xdb\x3d\xd7\x02\x58\x73\x5e\xdb\x05\xac\x3b\x69\x18\x89\x44\x74\ +\x6c\xc1\x69\x0b\x13\xb2\x02\x3a\x56\x3e\x04\xa4\x65\x83\xc9\xd8\ +\x3b\x93\x9c\x02\x4f\x8c\x5a\x03\xac\xb9\x08\x97\x7d\x11\x00\xa2\ +\x55\x46\xef\xeb\x06\xc4\xe5\xe2\xf1\xb8\xe2\x26\xbe\xd3\x51\xb8\ +\x67\xdd\x93\x50\x11\x22\xd3\xc9\x64\x72\x70\x42\xf0\x0f\x18\x81\ +\x7b\x61\xbd\x53\x6d\x09\x42\x77\xc2\xe1\xb0\x2e\xcb\xf3\xdc\x07\ +\x54\x36\xec\x96\x96\xfb\xc5\xa2\x20\xfd\x93\xf1\x0a\x43\x16\xc0\ +\x73\x3b\xe6\x70\x68\x18\xd8\x02\x1e\x8a\x61\x34\x67\xe0\xb2\x04\ +\xfc\x49\xe1\xd1\x68\x34\x0c\x47\xe6\x0e\x6c\xe9\x29\x5f\x44\x80\ +\x68\x9c\x11\x67\x47\xcc\xf7\xb6\x2f\x02\x2c\x7b\x24\x04\x1c\xfa\ +\xc6\x0e\xb2\x1b\x42\xc0\x91\x68\x90\x1c\xdc\x35\x07\x16\xd7\xa2\ +\xa0\x86\x32\x21\x60\x57\xb4\x23\x85\x96\xc6\xe7\x4e\x1b\x59\x67\ +\xc6\x8e\x45\x88\xf2\x05\x69\x01\x80\x89\x00\x19\x07\xe4\x7c\xa4\ +\xaa\x84\x80\x8a\xae\xeb\xaa\x1b\x01\xf6\x48\x5c\xf1\x1e\xf2\x2b\ +\x17\x7e\xc3\x5a\x22\x91\xd0\xf9\xf6\x42\x79\x06\xe0\xd3\x65\x52\ +\xbd\xc7\xb7\x2d\x51\x72\x52\x80\x0c\x40\x7e\x21\x43\xee\x89\x00\ +\x7e\x9f\xc4\x85\x45\x78\xe8\xed\xf9\x9c\xb3\xce\x85\x75\x51\x62\ +\xe0\x09\xed\x97\x64\x7b\xfe\xcf\x90\x5e\xf9\x95\x6b\x05\x62\x0e\ +\xf0\x7a\xc7\x9a\xf7\x85\x5a\x0b\x19\x17\xc8\x4f\xd0\xb7\xa8\xb3\ +\x8f\x9b\xd1\xac\x48\xfc\x3f\x0e\x24\x64\xe8\x35\xe2\xd8\x7a\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x0c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\xd3\x49\x44\x41\x54\x58\xc3\x63\x60\x40\x02\x8c\x8c\ +\x8c\xff\x81\x14\xcd\x71\x70\x70\x30\x13\x03\x0e\x30\xea\x80\x41\ +\xe5\x80\xbf\xc0\x34\xb1\x14\x88\x0b\x98\x98\x98\xf2\x90\x70\x2b\ +\x2e\x83\x81\x6a\x7b\x91\xd5\x82\xf4\x02\xf1\x42\xa0\xdc\x6f\x92\ +\x1d\x00\x34\x20\x0e\x9b\x02\x36\x36\x36\x35\x3c\xbe\x33\xc2\xa6\ +\x07\x68\x56\x08\xa9\x0e\xb8\x8d\x4b\x01\x39\x0e\x80\x82\xcb\x04\ +\x1d\xc0\xc2\xc2\x62\xc4\xcc\xcc\x0c\xc2\x6a\xd4\x76\x00\xd0\x6c\ +\x15\xa8\xd9\xf8\x1c\x49\x18\x50\x10\x02\xd4\x01\xa3\x0e\x18\x75\ +\xc0\xa8\x03\x46\x1d\x30\xea\x80\x51\x07\x8c\x3a\x60\xd4\x01\x03\ +\xee\x00\x56\x56\x56\x0d\x5c\x0e\x00\xb6\x80\x4d\x68\xee\x00\x60\ +\x0b\x37\x02\x8f\x03\xd2\x68\x6a\x39\xb4\xb1\xfa\x90\x01\x77\x14\ +\x3c\x07\xaa\xd1\xa3\x85\xdd\x73\x81\xf8\x30\x10\xff\xc4\x63\x39\ +\x0c\x83\x3a\x21\x47\x81\xa1\xd1\x4f\x4d\x07\xdc\x25\xc2\x62\xf4\ +\xe8\x38\x39\x24\x1c\x00\x00\x2b\x7c\x53\x8b\xf2\x87\x13\x16\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xe2\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\xa9\x49\x44\x41\x54\x58\xc3\x63\x60\x20\x02\xb0\xb1\ +\xb1\x09\x31\x32\x32\xc6\x01\xf1\x7c\x20\xf7\x3c\x10\xbf\x05\xe2\ +\xbf\x40\xfc\x1b\x88\x5f\x03\xf1\x49\xa0\xdc\x4c\x26\x26\xa6\x10\ +\x76\x76\x76\x1e\x62\xcc\x24\x0a\x30\x33\x33\xeb\x00\x0d\x5e\x0a\ +\x64\xfe\x04\xe2\xff\x44\xe2\xcf\x40\x3d\xd3\x59\x58\x58\x14\x48\ +\xb1\x28\x07\xcd\xc7\x7c\x20\x1f\x41\x7d\x49\xac\xc5\xe8\xf8\x27\ +\xd0\x8c\x66\x2e\x2e\x2e\x36\x62\xdc\xf0\x1a\xa8\xb8\x0e\xea\x18\ +\x3d\x20\x75\x97\x02\x8b\x51\x30\xd0\xdc\xd3\xac\xac\xac\x72\x04\ +\x1d\x00\x55\x3c\x17\x48\x7f\xa4\x96\xe5\x48\xf8\x29\x30\x4a\x34\ +\x08\x3a\x80\xc6\xf8\x31\xd0\x11\x32\x94\x3a\x00\x14\xaf\xbb\x81\ +\xb8\x1d\x88\x73\x80\x38\x0f\x88\xbb\x81\xf8\x30\x31\xe9\x05\xa8\ +\xee\x24\x0f\x0f\x0f\x1b\x39\x0e\xf8\x0a\xcc\x62\x8d\xc0\x2c\x26\ +\x82\xcb\x07\xc0\x84\x2b\x07\xb4\x60\x32\x03\x24\x6b\xe2\x34\x0b\ +\x68\x4e\x0d\xa9\x0e\xb8\x0a\x0c\x3a\x35\x42\x89\x08\x06\x80\x6a\ +\x2d\x40\x71\x8e\xcf\x33\xc0\x44\x29\x85\xae\xef\x2d\x1e\x17\x77\ +\x12\x6b\x39\x0c\x00\x2d\x50\xc2\xe7\x08\x60\x48\xf5\xa2\xeb\x79\ +\x4f\x20\xd8\x1a\x49\x75\x04\x30\x24\xac\x18\x70\xa7\x8b\xb7\x28\ +\xe5\x03\xd0\x82\xe9\x40\xbc\x18\x86\x81\x2e\x5c\x88\x8c\x81\x4a\ +\xe6\x03\xe3\xd8\x88\x54\x47\x00\xf5\xce\xc6\xe3\x29\x0f\x52\xcd\ +\x23\x19\x00\xa3\x42\x0d\x4f\x34\x74\xd3\xdc\x01\xd0\x50\x38\x8f\ +\xc3\x11\xbb\xe9\xe5\x80\x99\x38\x1c\x70\x9b\x5e\x0e\xa8\xc3\xe1\ +\x80\xd7\x23\xc6\x01\x03\x1e\x05\x03\x97\x08\x07\x3c\x1b\x0e\x68\ +\x41\x44\x52\x51\x4c\x6d\x40\x4e\x65\x44\x4d\x9f\x93\x55\x1d\x53\ +\x0c\x28\x6d\x90\x90\x0c\xf8\xf8\xf8\x38\xa8\xd9\x24\x23\x19\xf0\ +\xf2\xf2\x0a\x11\xb2\x10\x0d\xe3\x6d\x94\xd2\xda\x01\x04\x9b\xe5\ +\x34\x73\x00\xb1\x1d\x13\x5a\x38\x80\xa4\xae\x19\x35\x1d\x40\x7a\ +\xe7\x94\x1c\x00\xcc\x05\x20\x07\x50\xdc\x3d\x07\x00\xc6\x18\x72\ +\x9e\x46\x36\x2c\xe9\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\ +\x82\ +\x00\x00\x03\x8e\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x03\x30\x49\x44\x41\x54\x58\x85\xa5\ +\xd7\x4f\x88\x57\x55\x14\x07\xf0\xcf\xfc\x12\x74\xd4\xb4\x51\x6c\ +\x91\x7f\x6a\x9a\xd1\x36\xea\x90\x81\x2d\x0c\x42\x57\x51\x52\x9b\ +\x8c\xac\x55\x4d\xb4\x92\x36\x6d\xc2\x8d\x1b\xb1\x9a\x62\x54\x22\ +\x48\x0a\x77\xd1\x4e\x41\xb4\x9d\xed\x4a\x52\x44\x8c\x0a\xa4\x7f\ +\x60\x0c\x36\x63\xd1\xa8\x25\xcd\xe8\x38\x2d\xce\x7d\xcd\x6f\x5e\ +\xef\xbd\xdf\x7b\x3f\xbf\xf0\x16\xef\xde\x77\xcf\xf9\xde\x7b\xce\ +\xf9\xde\xf3\x7a\xd4\xc7\xbd\xd8\x89\x1d\x18\xc2\xc3\x58\x96\xe6\ +\xae\xe1\x17\x5c\xc4\x69\x9c\xc2\x8d\x3a\x46\x7b\x6a\x7c\xb3\x01\ +\x6f\xe1\x45\xf4\x62\x0c\x67\xf1\x13\xfe\x4c\xdf\xf4\x61\x10\x5b\ +\xf1\x00\x6e\xe2\x33\xbc\x83\x1f\xeb\x10\x29\x42\x2f\xde\xc7\x2d\ +\x4c\x62\x04\x1b\x3b\x90\xee\xc1\x66\xbc\x27\x4e\x65\x3a\xad\x5b\ +\xd4\xd4\xf9\x7a\x7c\x9b\x9c\x8f\x60\x79\x53\x03\xb8\x0f\xa3\xb8\ +\x2d\x42\x33\x50\x77\xe1\xa3\x98\xc0\x65\x3c\xde\x85\xe3\x3c\xb6\ +\x89\xb0\x8d\x8b\xdc\xa9\xc4\xfa\xe4\xfc\x7b\xac\x4e\x63\x43\xd8\ +\x84\x67\x31\x8c\xfe\x2e\x48\xac\xc3\xa5\x44\xa2\xf4\x24\x16\x8b\ +\x63\xbf\xdc\xe6\x7c\x18\xb3\xb9\xe7\x26\x8e\xe0\x10\xbe\x4c\x46\ +\x3f\xa8\x49\x62\x4c\x84\xa3\x30\x27\xb2\x84\x6b\x3f\xf6\xaf\x0a\ +\x08\xe4\x9f\xaf\xf1\xbc\x48\xc0\x97\x45\xec\xcb\xf0\x04\x66\xf0\ +\x6e\x7e\x62\x83\xb9\x84\xcb\xb0\x1c\x6f\xe3\xd5\x34\x7e\xad\x84\ +\xc0\x7e\xb4\xb0\x2a\xbd\x5f\xc5\x73\x15\x24\x0e\x8b\xea\x98\x17\ +\x8a\xa3\xa2\xd4\xaa\xb2\xfd\xf5\x12\x02\xb3\x22\x14\x7b\xda\xde\ +\xef\x28\x4f\xe0\x15\x42\xa4\x3e\xce\x06\x96\x89\xb8\x8e\x94\x2c\ +\xc8\xb0\xa3\x82\x40\xfb\x73\x1e\x4f\xe2\x19\x2c\x29\xb1\x75\x10\ +\x7f\x61\x29\xec\x4e\x0b\x37\x76\x20\xd0\x23\x76\x5a\xe5\xfc\xb6\ +\x50\xcd\xbe\x0e\xb6\xb6\xa4\xef\x5f\x20\x8e\xe2\x57\xf5\x64\xb9\ +\x1f\x7f\x54\x38\x7f\xa9\x86\x8d\x6c\x33\xe3\xf8\x88\xd0\xf5\x63\ +\x35\x17\xc2\x53\x22\xc6\x99\xe3\x19\x7c\x21\xca\xb2\x09\x4e\xe2\ +\x0c\xfc\x2e\xb4\xbb\x09\x86\xcd\x85\xe3\x0d\x51\x7a\x75\x4e\xb0\ +\x1d\x87\xc4\x29\x98\xc6\xde\x86\x8b\x25\xa7\xd7\x13\x89\x71\xdc\ +\xdf\x70\xfd\x3e\x4c\xb5\xba\x70\x9c\x61\x52\x48\xf7\x83\x42\x09\ +\xbf\xc3\x23\x4d\x8d\xb4\x84\xc0\x74\xca\xda\x32\x8c\x0b\xe9\x1e\ +\xc5\x15\x1c\xc7\x2b\x42\x19\x1f\xea\xb0\xb6\x4f\x6c\xc2\xd9\xb4\ +\xf0\x6e\x70\xd4\xff\xab\xe2\x1f\x71\x89\x95\xe1\x24\xce\xb4\xc4\ +\xe5\xb0\x55\xf3\x24\x6a\xc7\x9a\x82\xb1\x85\xb8\x20\xee\x93\xbc\ +\xed\x56\xf2\x79\x91\x68\xb5\x66\x45\x27\xd3\x2d\xb6\x98\x4b\xc8\ +\xfc\xf3\x66\xc1\xf7\x8f\xa5\xb9\x5d\x44\xb3\xf9\xb7\xe6\xa5\x98\ +\xc7\x66\xf3\xf5\x21\x13\xa7\xc5\x05\xdf\x1e\x16\x52\xfc\x9f\x54\ +\x7f\x22\x92\xb1\xea\x2a\xed\x84\x7b\x72\xce\x6f\x28\xbe\x15\x57\ +\x26\xe7\x47\xda\x07\x07\x85\x1e\x8c\xde\x05\x81\x25\x6d\xce\x27\ +\x44\x6b\x57\x84\x0f\x31\x25\xda\xfa\x79\x18\x11\x47\xb6\xad\x4b\ +\x02\x83\xc9\xf9\xa4\xf2\xec\xdf\x2e\xc2\x74\xa0\x68\xb2\x17\xdf\ +\x88\xb6\x69\x5d\x17\x04\x76\x25\x02\xaf\x95\xcc\xf7\xe3\x37\x51\ +\x19\x0b\xcb\x8c\x0c\x08\x71\xb9\xd4\x05\x89\x7d\x89\xc0\xda\x12\ +\xe7\x3f\x08\xb1\xea\xd8\xd4\x0e\x25\x12\x63\xa2\x87\xab\x8b\xd5\ +\x38\x81\x05\xb9\xf1\xed\x62\xe7\x57\x34\x28\xf5\x01\x21\x12\x33\ +\xa2\x64\x56\x34\x20\x92\x61\xa5\x48\xb8\x3b\xe2\xd8\x1b\xb7\xf3\ +\x8b\x44\xf7\x3a\x2d\x4a\xea\xa0\x10\x9c\x2a\xc5\x6c\x09\x91\xc9\ +\xea\x7c\x4a\x24\x5c\x69\xcc\xeb\xc8\xef\x80\x68\xb3\x76\x8b\x52\ +\x9b\xc0\x39\xf1\xd3\x59\xf4\x73\xba\x4a\x08\xdb\xa7\x69\x03\x3f\ +\x57\x19\x6f\xa2\xff\x4b\xf1\xb4\xf9\xbf\xe7\x99\x70\x4d\x26\x47\ +\xd9\xef\xf9\xe7\x89\x44\x47\xfc\x0b\x57\x67\xf7\x34\xd8\x15\x48\ +\x75\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xd3\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x01\x75\x49\x44\x41\x54\x68\x81\xed\ +\x99\x31\x4a\x04\x31\x14\x40\xdf\x2e\xdb\xdb\x58\x0a\xa2\x60\xe1\ +\x05\xb4\xb5\xb4\x10\x2b\x6f\x20\x82\x20\xc2\x5e\x40\x66\xc4\x03\ +\xd8\x2c\xac\x95\x57\xb0\xd9\x03\x88\xb5\xb5\x58\x08\x82\x8b\x85\ +\x60\xe1\x09\x56\x0b\x13\x19\x70\xc6\xc9\xcf\x64\xe6\x4f\x30\x0f\ +\x02\x93\x21\x3f\xf3\x1f\x49\x20\x93\x00\xcc\x81\xcf\x1e\x97\x9c\ +\x1a\xb4\x13\x6c\x24\x31\x2a\x3c\x9f\x01\xf7\x75\xb6\x1d\x73\x00\ +\x1c\x02\x99\xa9\xe7\x65\x8d\xac\xe5\x6e\x37\x39\x89\x18\x02\x53\ +\x6a\x46\xc2\x47\x60\x0d\x18\x9b\x22\x61\xc7\xc4\xec\x17\xde\xd9\ +\x7e\x56\x2b\x62\x6a\x25\x7c\x04\xf6\x0a\x71\x12\x26\x26\x66\x26\ +\xfc\x7e\xa5\xc4\x50\x98\x80\x16\x0b\xe0\x04\xb8\x32\xf5\x0c\x23\ +\x31\xaa\x08\xe8\x23\x56\x02\xe0\x18\xb3\xb0\x63\x19\x01\x8b\x95\ +\xb8\x36\xf5\xac\x6b\x81\x1c\xd8\x00\x8e\x1a\xf4\xb1\x00\x6e\x6c\ +\xa5\xeb\x29\xf4\x6e\x4a\x30\x62\x9b\x42\xbf\x88\x5e\x20\xc4\x14\ +\x5a\x09\xd0\x87\x37\x21\x04\xe6\x01\xfa\xf0\xe6\xdf\x4e\xa1\x19\ +\x30\x08\x99\x88\x2f\xd1\x8f\x40\x12\xd0\x26\x09\x68\x93\x04\xb4\ +\x49\x02\xda\x44\x2f\xe0\xba\x95\xc8\x81\xe5\x16\xf3\x28\xe3\x0d\ +\xb8\x70\x69\xe8\x72\xac\xf1\x84\xdf\x91\x60\x93\xf2\xf8\x47\x3e\ +\x3f\xc7\x3a\xd2\xcd\xdc\x03\xf0\x2c\x8c\x91\xb2\x0e\x6c\xba\x36\ +\x96\x0a\x4c\xf9\x3e\x9c\x6a\x93\x31\x70\xe9\xda\x38\xfa\x45\x9c\ +\x04\xb4\x49\x02\xda\x24\x01\x6d\x92\x80\x36\x49\x40\x9b\xe8\x05\ +\x5c\x37\x73\xe7\xc0\x12\x70\xd7\x62\x2e\x96\x5b\xe0\x14\xf8\x70\ +\x0d\xe8\xf3\x45\x77\x15\xa5\xff\x03\xdb\xc4\x73\x6b\xb9\x65\x1f\ +\x06\xc8\x2f\xab\x7b\xc5\x10\x78\xd5\x4e\xa2\x01\x2f\x5f\xac\x10\ +\xb0\x87\x39\xa1\xdc\x23\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x02\x5c\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\ +\x00\x00\x02\x23\x49\x44\x41\x54\x38\x8d\xa5\x91\xc1\x4b\x1b\x41\ +\x14\xc6\x7f\x6f\xb3\x64\x96\x90\x14\x0d\xae\xa8\x69\x2b\x82\x65\ +\xa9\x18\x24\x59\xa8\x50\x8b\x47\x7b\x6a\xa1\x37\xf1\x52\xa1\xbd\ +\x78\xe8\xcd\xa3\x52\xda\x83\xa7\x1e\xc5\x8b\xf4\xa0\xbd\x94\x5a\ +\x28\x96\xfe\x05\xde\xa4\x5d\xa2\x20\x1a\xc4\x1c\x2c\x82\x94\xa6\ +\xb5\x6b\x6a\x62\x20\xbb\xd3\x83\x9b\x12\x4a\x72\xea\x83\x61\x66\ +\xde\x7b\xdf\xf7\xbd\xf9\x46\xe8\x10\xd9\x6c\xf6\x76\x3c\x1e\x7f\ +\x0d\xd0\x68\x34\x9e\xec\xee\xee\x1e\xb4\xeb\x8b\x01\x0c\x0d\x0d\ +\x5d\x4b\xa5\x52\xc1\xf9\xf9\x79\x08\xe0\x38\x4e\x8f\x65\x59\x6f\ +\x44\xe4\x1e\x70\x43\x44\xb2\x5d\x5d\x5d\x9f\xca\xe5\x72\x15\x20\ +\x93\xc9\x98\xb6\x6d\x27\xcf\xce\xce\xea\x06\x40\x3a\x9d\xde\xe8\ +\xed\xed\x9d\x03\x18\x1d\x1d\x1d\x49\x26\x93\x07\x22\x32\xd9\x54\ +\x11\x91\xc9\x44\x22\x71\x30\x36\x36\x36\x02\x60\xdb\xf6\x5c\x77\ +\x77\xf7\x06\x80\x11\xf5\x5c\x02\x83\x00\x4a\xa9\x59\xa0\xa7\xcd\ +\xb4\x3d\xa6\x69\xce\x02\xc4\x62\xb1\xc1\x08\x73\x45\xa0\xb5\xde\ +\x06\xa6\xa2\xf3\xf7\x4e\xbe\x00\xcd\xda\x14\xb0\xfd\xd7\x83\x54\ +\x2a\x55\x52\x4a\x2d\x0e\x0c\x0c\x18\xc0\x8a\x88\x64\x80\xeb\x40\ +\x22\x02\xfc\x00\xde\x6b\xad\x5f\xf6\xf7\xf7\xcf\x8b\xc8\x83\x6a\ +\xb5\xfa\xb4\x5c\x2e\x57\xa4\x49\x9d\xcb\xe5\x1e\x1a\x86\xf1\x16\ +\x38\x01\xd6\x80\x2d\xe0\x5b\x54\xb6\x81\xbb\xc0\x0c\xe0\x84\x61\ +\x38\x5d\x28\x14\x3e\x02\xfc\x25\x00\x70\x5d\xf7\x0b\xe0\xb6\xa4\ +\x2e\xa3\xdd\x6a\xc9\x7d\xf6\x3c\xef\x4e\xf3\x22\xf9\x7c\xfe\x58\ +\x44\x6e\x76\x78\xf3\x73\xad\x35\x22\xf2\xa2\x5d\x51\x6b\xfd\xd5\ +\xf4\x7d\xff\x3e\x90\xb6\x2c\x0b\xcb\xb2\xe6\x81\x47\xcd\x86\x20\ +\x08\x4e\x1a\x8d\x06\x4a\xa9\x56\xdc\x87\x7a\xbd\xfe\xaa\x56\xab\ +\x01\xfc\x34\x4b\xa5\x52\x11\x20\x9f\xcf\x3f\x06\x72\xff\x28\xb4\ +\x13\xce\xc5\xe3\xf1\x5b\x7b\x7b\x7b\x6b\x10\x7d\xa3\xeb\xba\x8b\ +\x22\xb2\x02\xac\x72\x65\x5e\xa7\xd8\x02\x56\x45\x64\xc5\x75\xdd\ +\x45\x00\x63\x78\x78\xb8\x0f\x58\x08\xc3\x70\xc6\xf3\xbc\xa5\x8b\ +\x8b\x8b\x69\xe0\xb0\x0d\xf8\xb0\x56\xab\x4d\x7b\x9e\xb7\x14\x04\ +\xc1\x0c\xb0\xe0\x38\x4e\x9f\xa1\x94\x9a\x00\xfc\x42\xa1\xb0\x09\ +\x50\x2c\x16\x4f\x7d\xdf\x1f\x07\x96\x81\xdf\xd1\x5a\xae\x54\x2a\ +\xe3\xfb\xfb\xfb\xa7\x00\x3b\x3b\x3b\x9b\x80\xaf\x94\x9a\x30\xb5\ +\xd6\xc7\xc0\x7a\xab\xd4\xd1\xd1\xd1\x2f\xe0\x59\x4b\xea\x5d\x9b\ +\x89\xd6\x23\xec\xff\xc5\x1f\xd2\xac\xb9\x0d\x10\x87\x3c\x35\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xa5\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x6c\x49\x44\x41\x54\x58\xc3\xed\x95\xbb\x4a\x03\x41\ +\x14\x86\x67\xef\xbb\xc1\x42\xac\x64\x91\x10\x82\x58\x04\x11\x11\ +\x2b\x4b\x91\x20\x29\x52\xa4\x12\x09\x29\x83\xa5\x85\x58\xda\x8a\ +\x95\x58\x5b\x88\x85\x0f\x61\x69\x21\x22\x96\xe2\x53\x58\x07\x09\ +\x12\xe2\x37\xd9\x89\x0c\x41\xed\xe6\x28\xb8\x07\x7e\xf6\x56\x9c\ +\x6f\xff\x73\x19\xa5\xca\x30\x11\x04\x41\x3b\x0c\xc3\x15\xf1\xc4\ +\x71\x1c\xe7\xbe\xef\xef\x73\x3b\xf2\x3c\xef\x58\x1c\x80\xa4\xcf\ +\x5c\xc6\x5a\x5f\x01\x64\x59\x56\x01\xb0\xe3\x4a\x2a\x4d\xd3\x05\ +\x12\x6f\x7f\x07\x80\x43\xf5\x29\xa0\x23\x4d\x62\xfd\xcf\x02\x24\ +\x49\x52\xe3\x32\x70\xa8\x9f\x01\xa4\xa2\x8a\xae\x00\x68\xfd\x16\ +\xc0\x3f\x0e\x36\x60\x15\xeb\x8f\xd0\x19\x73\xd9\x14\x07\x20\xf1\ +\x93\x2a\xba\xf1\x0d\x8d\x81\xd8\x93\x76\x60\x83\x51\xab\x70\x0e\ +\xac\xaa\x62\x12\xae\xed\xef\x66\x51\x9d\xba\x92\xed\x44\xdf\x00\ +\x1c\xda\x00\x22\x8b\x08\xdb\x5b\xa6\x04\x0f\xb8\x91\x8a\x02\x90\ +\xbc\xcb\xcd\x10\xbd\x52\x8e\x2e\xa5\xd8\xb2\x01\x00\xca\x71\xe5\ +\xce\x95\x74\x8e\x91\x4d\xc4\xcb\x7b\xd1\x26\x8c\xa2\x68\x8d\xbf\ +\xfe\x14\x96\x2f\x8b\x02\x94\x81\xed\x8b\xd4\xfd\x00\x9d\xd0\x90\ +\x6d\x71\x00\x12\x5f\xa8\x62\x0a\x26\x9b\x70\x76\x0f\x48\x38\xb0\ +\xc4\xa8\xcd\x99\xf1\xd3\x00\x97\xf6\x77\x36\xa1\x76\xe8\xd6\x95\ +\xa6\x79\xf4\x3c\xbe\xa3\x01\x20\x0d\x1b\x40\x6a\x13\x76\xcc\x5e\ +\xd6\x0e\xdc\x88\x02\x90\x7c\x87\x0d\xd8\x40\x9b\xa6\x17\x5e\x66\ +\x4a\xa0\x0f\xa3\x73\x57\xd2\x4d\xf8\x68\x11\x0d\x79\xee\x89\x36\ +\x21\x16\xcf\xe3\xc2\xae\x1e\x41\xea\x9f\x8b\x26\x2f\x83\xf8\x00\ +\x09\xd5\x1c\xa3\xdd\xb9\x50\xd8\x00\x00\x00\x00\x49\x45\x4e\x44\ +\xae\x42\x60\x82\ +\x00\x00\x01\x57\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x1e\x49\x44\x41\x54\x58\xc3\x63\x60\x64\x64\xfc\xcf\ +\xc0\xc0\x40\x33\xcc\xcb\xcb\x2b\xc5\x40\x00\xd0\xd4\x01\x3c\x3c\ +\x3c\x43\xc8\x01\xec\xec\xec\x56\x40\x2c\x47\x09\xe6\xe3\xe3\x53\ +\xa1\xc4\x01\x72\x84\x14\x13\x02\xb6\xb6\xb6\x2c\xa3\x0e\xa0\x9a\ +\x03\xc4\xc4\xc4\x98\xb8\xb9\xb9\x25\x48\xc1\xc2\xc2\xc2\x32\xc8\ +\x66\x02\xc5\xf4\x70\xa9\x05\x3a\x4e\x02\xaf\x03\xa0\xae\xa7\x69\ +\x2e\x19\x75\x00\x49\x0e\xd0\xd0\xd0\xe0\x91\x90\x90\x60\xa3\x04\ +\x73\x71\x71\xa9\x90\xed\x00\x68\x0a\xa7\x08\x40\xed\x18\x86\x0e\ +\x60\x61\x61\x49\x62\x62\x62\x5a\x0f\xc2\x20\x36\xdd\x1d\x00\xb4\ +\xb8\x1f\xa6\x0e\xc8\x9e\x38\xea\x00\x9a\x3b\x80\x99\x99\x39\x0e\ +\xd8\x9a\xaa\x43\xc2\xc7\x61\xea\x40\x6c\x64\x39\xa0\x83\xe2\xa8\ +\xee\x00\xa0\xc1\x7b\xd1\x0c\xc2\x89\xa1\x6a\x09\x3b\x00\x54\x48\ +\x20\x17\x1a\xc0\xc6\x85\x02\x5d\x1d\x40\x08\xa3\x45\x41\x09\x30\ +\x68\xe7\xc3\x30\xd0\x92\xab\x48\x16\x5e\x45\x96\x03\xa9\xa5\xba\ +\x03\x68\x92\x08\x07\xc4\x01\xa0\x46\x01\x9e\x06\x86\x1e\x3d\x42\ +\x00\x27\x20\xa5\x1c\x00\xc6\x73\x11\x30\xee\xcf\x82\x30\x72\x9c\ +\xd3\xcd\x01\xc4\x82\xa1\xed\x00\x50\xa7\x83\xd2\x8e\x0b\xa8\xf3\ +\x43\xb6\x03\x68\x84\x07\xb1\x03\xa0\x5d\x6b\x9a\x59\x0e\x1a\x1a\ +\x00\x00\xf4\x7c\x0e\x83\x14\x3a\x1a\x91\x00\x00\x00\x00\x49\x45\ +\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xcb\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x92\x49\x44\x41\x54\x58\xc3\x63\x60\x80\x02\x26\x26\ +\xa6\x93\x40\xea\x3f\x21\xcc\xcc\xcc\x9c\xc6\x80\x03\x00\xe5\x92\ +\x88\x31\x03\x68\xd7\x69\x0c\xcd\x8c\x8c\x8c\x44\x39\x00\xa8\x19\ +\xa7\x03\x80\x72\x44\x39\x00\x68\xd7\x59\x6c\x9a\xa7\x02\xa9\xdb\ +\x04\x34\x5f\x04\xfa\xd2\x0b\x4f\x08\x78\x80\xd4\x00\xf1\x5f\x3c\ +\x66\xdc\x06\xda\x35\x13\x97\x19\x20\x87\xc4\x61\xd1\xf4\x11\x68\ +\xb8\x19\x03\x91\x00\xaa\xf6\x3d\x96\xd0\x4b\x22\xa8\x59\x42\x42\ +\x82\x09\x48\xfd\x44\x0b\xb2\xe9\xc4\x5a\x8e\x14\xa5\x93\xd1\x1c\ +\xf0\x5b\x44\x44\x84\x89\x58\xfd\x5f\xd1\x1c\xd0\x49\x86\x03\xda\ +\xd1\x1c\xf0\x9d\x14\xfd\xa3\x0e\x18\x75\xc0\xa8\x03\x46\x1d\x30\ +\xea\x80\x8f\x68\x0e\x98\x48\x86\x03\x7a\xd1\x1c\xf0\x99\x14\xfd\ +\xf7\xd1\x34\x6f\x25\xd5\x01\x40\xb0\x19\xcd\x8c\xc7\xa4\x68\xde\ +\x8b\xa6\xf9\x2b\x1b\x1b\x1b\x1f\xb1\x9a\xa1\x6a\x3f\xa3\x99\x71\ +\x90\x94\xe0\x6b\x45\xd3\x0c\x8a\x86\x6e\x12\xf4\xb7\x63\xd1\x4f\ +\x7c\x3a\x82\x36\x28\xd0\x1b\x25\x7f\x81\x0d\x8a\x2c\x42\x7a\xa1\ +\x4d\x36\x8c\x16\x11\xd0\x4c\x0b\x52\xa2\x00\x04\x8e\x62\x71\x04\ +\xc8\x27\xbb\x81\x96\xf8\x71\x72\x72\xc2\xa3\x04\xc4\x06\x8a\xf9\ +\x00\xe5\x76\x62\xd3\x03\xc4\x27\x49\xb5\x1c\xe4\x13\x13\x06\xb4\ +\x96\x11\x16\xfc\x91\x01\x2d\xc7\x60\xc1\xbf\x81\x66\x11\xdd\x9c\ +\x43\x77\x44\x02\x03\xfe\x06\x26\x21\xfc\x17\x18\x2a\x84\xdb\x81\ +\x04\x1c\xe1\x07\xa4\x5e\x92\x61\xf9\x6b\xa8\x5e\xca\x01\x2b\x2b\ +\xab\x00\xd0\x27\x35\x0c\x84\x9b\xed\x20\x7c\x17\xa4\x16\xa4\x87\ +\x2a\x96\xa3\x03\x16\x16\x16\x25\xa0\xcf\x82\x80\x96\x14\x00\x71\ +\x1d\x14\x17\x80\xc4\x40\x72\x34\xb1\x94\xae\x80\x83\x83\x43\x00\ +\x88\x65\x68\x81\x81\xd9\x95\xa8\x68\x41\xef\x50\x50\x0d\x43\x3b\ +\x2b\xa3\x0e\x40\x01\x00\x7e\xf9\x7c\x0f\xc6\xa0\x49\x4d\x00\x00\ +\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\xda\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\xa1\x49\x44\x41\x54\x58\xc3\xbd\x57\xcf\x4b\x1b\x41\ +\x14\x9e\x6c\x36\xbf\xca\x26\x24\x12\x44\x42\x0e\x22\x3d\x48\x0f\ +\xc5\x83\x07\x4f\xd2\x83\x14\x91\x52\x8a\xa7\xd2\x43\x0f\x22\x9e\ +\x3d\x79\x28\xa5\xff\x80\x07\x29\xa5\x78\x92\x52\x44\x44\x44\x4a\ +\xff\x80\x1e\x8b\x07\x0f\x22\x25\xf4\x14\x24\x14\x29\x22\x52\x4a\ +\x58\x82\x84\x50\xbf\x87\x6f\x93\xe7\xb8\xcd\xee\x66\x33\x3e\x78\ +\x8c\x3b\x9b\x7d\xdf\x7b\xdf\x7c\xf3\x66\x54\xca\x90\x65\xb3\xd9\ +\x74\x22\x91\x78\x8b\x3f\x1b\xf0\x36\xbc\x66\x59\xd6\x92\x29\xbc\ +\x3b\x06\xf0\x7d\x0c\xff\x74\xc7\xfc\x1b\xe3\xe0\xa8\x74\x4e\x80\ +\x9e\x73\x32\x2e\x3f\x5f\xa5\x52\xa9\x51\xd3\xd5\x7f\xf2\x12\x40\ +\x32\x33\x3c\xb7\x22\xe6\x9e\x9b\x26\xa1\x2e\xc0\x9e\x72\x02\x6b\ +\x62\x6e\xc1\x18\x72\x26\x93\x19\x51\xb7\xd7\xbd\x05\x3f\x82\x77\ +\xf8\xb9\x99\x4e\xa7\x8b\xc6\x12\x40\x75\xf3\xca\x47\x7c\xa2\x7a\ +\xb3\x3b\x01\x54\x6f\xfc\x07\xbc\x15\x1b\x3c\x97\xcb\x39\xfd\xde\ +\x43\xdd\x44\xed\x85\x0f\xf8\x8f\x64\x32\x39\x15\x0b\xdc\xb6\xed\ +\x71\x0c\x7f\x51\xe1\x16\x2a\x99\x2d\x14\x0a\xb6\xf6\x7e\x12\xc3\ +\xa1\xba\xbb\xef\xb7\xa0\x8b\xec\x30\xa8\xdd\xd6\x82\x37\xd5\x8d\ +\xb8\xbe\xc1\x7f\x2a\xff\xa6\xf3\x31\x36\x30\x19\xe8\x9b\x56\x3d\ +\x15\x87\x75\x17\x95\x3b\x03\x01\x4a\x2b\x97\xcb\x16\x86\xef\x11\ +\xc1\xc9\x8f\x87\x52\x3d\xd6\xfb\xf5\x00\xe0\xe4\xbf\x62\x83\x43\ +\xd5\xd4\x54\xce\x45\xd0\x76\x94\x24\x62\x2b\x1f\x22\xfa\xcc\xc1\ +\x3a\x60\x62\x11\x09\x55\xa2\x24\x80\xef\x0f\xe2\x50\xbf\x20\x02\ +\x7d\xa0\x39\xb4\xd0\x6a\xd4\xa5\x40\x9c\x57\x83\x52\x7f\xc6\x41\ +\x4e\x01\xec\x30\x23\xab\x5a\x85\x5f\xf8\x7c\xef\xb7\x34\x2e\x92\ +\x78\x12\x95\xfa\x03\x41\xfd\x9c\x78\x55\x13\xe0\x1b\x62\xfe\x34\ +\x80\x09\x97\xcf\x88\x50\xd4\xaf\x08\x90\x6e\x23\x41\xa7\x7b\x28\ +\xe6\x77\x8a\xc5\xa2\xc5\xcb\x42\x6c\x05\xf5\x08\x17\x82\x7c\x1c\ +\x08\xce\xaa\x6d\xf1\x47\x35\x04\x7f\x20\x12\x18\xa7\x40\x24\x4c\ +\xdc\xf7\xba\x6d\x18\x09\xbf\x10\x40\xf4\x6d\xc3\x47\x07\xc1\x87\ +\x10\x00\xa8\x92\xee\x45\x82\x7a\x38\x5d\x2c\xe5\x6f\x4a\xa5\x92\ +\xad\x7f\x87\xe0\xcf\x3c\x3d\x20\x46\x25\x9f\xcf\x13\x33\xbf\x45\ +\x9c\xdd\x50\xd4\x53\xb5\xf8\xf1\xba\xba\x2d\xa8\x9a\x77\xa5\xea\ +\x67\x38\x25\xbb\x17\x0c\x24\x31\x86\xe1\x8a\xbf\x6f\xf0\x09\x19\ +\xde\xb8\xef\x9f\x88\x24\x3a\x24\x38\x6f\x27\x04\x99\x38\xb4\x74\ +\x01\x87\x37\x54\x44\x77\xfa\x77\xa2\x12\xf2\x7a\x50\x40\xad\x77\ +\x6c\x0e\x04\xae\xb1\xf1\x48\x69\x67\x3c\x69\xc3\x8f\x56\x66\xc8\ +\x13\x60\x03\xcf\x85\xd8\x09\x90\x39\x8e\x63\x71\x03\xf2\xee\xf5\ +\xe4\x67\xac\x7e\x49\xfd\x7b\xd5\x53\xfd\xf0\x6f\xbd\x60\x63\x42\ +\xdd\x5c\x3e\x24\x1b\x7b\x10\xdd\x28\x6f\xdf\x36\xcf\xed\x0f\x1d\ +\x5c\xab\x74\x19\xc3\x1f\x91\xc8\xa5\xea\xdd\x88\x9a\x48\xa8\x6a\ +\x34\x01\x32\xda\xef\x48\xe4\xab\xd2\x1a\x0e\xff\xf3\x71\x7f\x86\ +\xb5\x7e\xa9\x7a\xf7\x85\xba\xde\xb8\xee\xc5\xc0\x46\x99\xce\x06\ +\x4e\x26\xb2\x5d\x03\xa0\xda\x29\x57\x80\xb0\x34\xee\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x06\x49\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x05\xeb\x49\x44\x41\x54\x58\x85\xa5\ +\x97\x4d\x6c\x5c\x57\x15\xc7\x7f\xe7\xcc\x8c\xbf\x66\xc6\xb5\x6b\ +\x5c\x88\x88\x30\x71\x66\x3c\x75\x5a\xc5\x50\xdb\x13\xc7\x1b\xab\ +\x01\x5a\xa9\x0d\x48\xa4\x80\xea\xb0\x00\xa9\xa0\x2e\x58\x94\x6e\ +\x20\x9b\x82\x42\x59\xa4\x95\x2a\x65\x01\x12\x02\xd4\xf2\x91\xb4\ +\x85\x08\xb7\xa8\x25\x12\x8a\x22\x14\xf1\x51\xc7\xb6\x42\xec\x26\ +\x46\xb6\xc7\x4e\x2b\xb2\x28\x51\x9b\xc4\x1e\xcf\xc4\x1f\xf3\xce\ +\x61\x31\xe3\xc4\x99\xb1\x1d\x37\x3e\x9b\xa7\x7b\xee\xb9\xff\xff\ +\xff\x9e\x77\xdf\x3d\xe7\x09\x9b\xb4\xa6\x54\x6f\x7c\xd9\x0a\xfb\ +\xdd\xd9\xe7\xd0\xe1\xd0\xaa\x50\x5f\x9a\x9e\x75\xb8\x24\x30\x6a\ +\x22\xa7\x6b\x34\xf4\x97\x8f\x26\xfe\x95\xdd\x0c\xae\xdc\x29\x20\ +\x7e\x7f\x77\x9b\x19\x87\x14\x7f\x12\xb4\xb6\x6c\xda\x4a\x4f\x5d\ +\xed\x74\xc8\x8b\xdb\x6b\x62\xe1\x23\x73\xd3\x83\x99\xbb\x13\xb0\ +\xbd\xa7\x36\x56\x67\xcf\x8b\xd9\x33\xa8\x86\xc1\x02\x77\x3d\xe5\ +\xc2\xdb\x61\x95\xc1\x50\xc1\xa7\xae\x66\x86\xe6\x00\x1a\x5b\x3b\ +\xef\x09\x22\x9a\xc4\xa4\xc7\x60\xbf\x88\x7d\x11\x34\x84\xb1\x6c\ +\xea\x47\x73\x8b\x75\x3f\xe2\xfd\x33\x0b\x9b\x16\x10\x6f\xdf\x93\ +\x24\xf0\x37\x80\x07\x30\x96\x5d\xf9\x45\x60\xbc\x78\x23\x33\x74\ +\x79\xa3\xdd\xac\x58\x63\x6b\xe7\x67\x0a\xaa\x3f\x00\x7f\x1a\xd5\ +\x30\x66\x63\x82\x1d\x98\xcb\x9c\x9b\xbe\xa3\x80\xba\x44\xd7\xe7\ +\x43\xaa\x7f\x05\x9a\x31\x1b\x33\x97\x83\xb9\xe9\xe1\x8b\x9b\x21\ +\x2e\xb7\x68\xdb\x9e\xdd\xea\x7e\x1c\xe1\x41\xb0\x2b\x81\xeb\x23\ +\xf9\xa9\xa1\xd1\x75\x05\x94\x76\xfe\xcf\x12\xf9\x9b\xd9\xe5\x68\ +\xff\x7a\xa9\xdb\xb4\x6d\xef\xa9\x8d\xd6\x06\xaf\xab\xc8\x57\xc0\ +\xae\x88\x59\xef\xea\x4c\xdc\x3c\x3c\xdb\xb6\x75\xd6\x95\xd2\xde\ +\x8c\xfb\x9f\xb3\x99\x1d\x5f\xdb\x32\x39\xc0\xe5\xc1\x1b\xb9\xa9\ +\xcf\x1e\x30\x78\x0b\xf4\x3e\x47\x07\x68\xe9\xab\xa9\x10\x90\x8d\ +\x87\x7e\x02\x3c\x80\x73\x21\x7b\x23\xd4\x0f\x27\x02\x80\x58\xe2\ +\x73\xcd\xf5\x89\x87\x76\x7e\x5c\xde\x78\xfb\x9e\x64\xac\xad\xf3\ +\x13\xc5\xd1\x89\xa0\x3e\x1b\x3c\x09\x36\x8e\xea\xee\x78\x55\xee\ +\xf0\x4a\x9c\x40\xf1\x53\xa3\xe0\x17\x01\x4c\x43\x9d\xb9\xc9\xb3\ +\x63\x37\x81\x12\xdd\x3f\x43\xe5\x7b\x38\x17\x4c\xec\xa7\xb9\xc9\ +\x91\x3f\xd0\xd2\x57\x13\xad\x5e\x68\xc3\x83\xfb\x8a\x28\xa1\x2b\ +\xb9\xc5\x9a\x49\xde\x3f\xb3\x50\x9f\x4c\xf7\xbb\xd8\x73\xa0\xed\ +\xee\x7e\x74\x7e\x6a\xf8\xd9\x15\xac\xe2\xf9\x62\x18\x53\x13\x0a\ +\xed\x73\x99\x73\xd3\x0a\x60\xc6\x21\x54\xc3\x88\xfe\x6a\x35\x79\ +\x31\x47\xbe\xbb\x24\xf5\x41\x45\x5f\x8f\x26\xba\x66\xe2\x91\x5c\ +\x56\xf1\x51\x15\x3d\xa5\xa2\xa7\x14\x1f\x8d\x47\x72\xd9\x68\xa2\ +\x6b\xc6\x85\x57\x41\xdb\x8b\x4b\xbc\x63\x35\x54\x3e\x33\xf2\x6f\ +\xd0\x97\x51\x22\x4e\xf8\x10\x80\xde\x9b\x48\xd7\x17\x2f\x19\x4c\ +\x55\x5e\xac\x4c\xa6\xda\x6d\x23\xd5\x1d\xc5\x7b\xa1\x3c\x4c\xc3\ +\xaa\xba\xe3\x36\x9f\x68\x50\x11\xe6\x76\x04\x70\x83\xfe\xe6\x5d\ +\x7d\x31\x2d\x08\x8f\x83\xd6\x62\xfc\x6d\x76\xe2\xec\x7b\x95\x02\ +\xfc\xc3\x4a\xdf\x26\xcd\xf8\xa8\xdc\x35\x3b\x35\x32\x03\xfc\x5d\ +\x95\x68\xbe\x90\x7f\x4c\xdd\xd9\x57\x92\x76\xb2\x3c\x38\x96\xe8\ +\xea\x03\x79\xe2\xae\x05\x28\xdf\x88\xa7\xba\x7a\xcb\xdd\x4e\x91\ +\x4b\x61\x9f\x3a\x14\xdf\x93\xf8\x60\x79\xa0\xa8\x3e\x73\xd7\xe4\ +\x25\x08\x4c\xbf\x5f\xe1\xb5\x22\x97\xe1\x1d\xea\xd0\x0a\x60\xcb\ +\x91\xca\xa2\x61\xf4\x6c\x51\x00\x2e\xec\x29\xf7\x05\xa1\xaa\x29\ +\x00\x85\x56\x5d\x29\xa9\xb9\xc6\xa5\x6b\x15\xfc\x6a\xd1\x2d\x0b\ +\x30\x2a\x30\x1a\xe6\x16\xaf\x97\x08\x1a\x6e\x95\xd1\x58\xcc\xcb\ +\x03\xc5\xa5\x42\xd4\xc7\x36\xb1\xab\x1b\x4d\x2b\x30\x0b\x10\xfd\ +\xef\xd2\xbd\xe5\x93\x2e\x7e\x61\xab\xfc\x2a\x5a\x81\x71\x3d\x1a\ +\x2a\x72\xa9\x5d\x57\x87\x4b\x00\x12\x5e\x4a\xae\xb1\x78\x60\xab\ +\x02\x80\x37\x2a\x70\x43\x24\x01\x0c\x66\x54\x60\x14\x40\x3c\xb4\ +\xb7\x3c\x30\x1b\x9a\x3f\x86\xb3\x95\x2c\x9c\xcf\x6e\xab\x7d\xad\ +\xdc\x29\xc6\x5e\x00\x45\x46\xd5\x44\x4e\x17\xbd\xec\xaf\x58\x3e\ +\x3e\xbe\x14\x0e\x82\xc7\xef\x4e\x84\x8d\x16\x5c\xf7\x73\xe6\x4c\ +\xa1\x7c\xc6\x4b\x5c\x2e\x72\x5a\x9a\x52\xbd\xf1\x45\x2f\x7c\x20\ +\x50\x2b\x81\xb6\xcd\x4d\x0f\x66\x1a\xda\xf7\xb6\x04\x41\xf0\x1d\ +\x77\x79\x75\x7e\xea\xec\x7f\xe8\xec\x8c\xc4\xb2\xfa\x2d\x71\x3f\ +\x88\xd0\xb3\x46\x6f\x58\x04\x86\xbc\x98\x0d\x12\xd2\xe3\xd9\x4f\ +\xd5\xfe\x6e\x2d\xf2\x58\x22\xbd\x4b\x94\x8b\x66\xe4\x62\x75\x0b\ +\x9f\x2c\x56\xc3\x64\xd7\xaf\x11\x7d\xca\xdc\x5f\xce\x4d\x0d\x3f\ +\x05\x68\xac\x2d\xfd\x9c\x60\x3f\x24\x90\x2f\x64\xa7\x87\xdf\xb9\ +\x89\x90\x48\x54\x47\xa5\xe1\x5d\x15\xbd\xed\xcc\x98\x31\x91\xab\ +\x9a\xdf\xcd\xf8\xf8\xd2\x46\x79\x89\x25\xd3\xc7\x44\xf8\x26\xf8\ +\x2f\xb3\x93\xc3\x4f\x2b\x80\x58\xf8\x08\xc6\xb2\x8a\x7c\xbb\xbe\ +\xad\xab\x1b\xb0\xf9\xc9\xa1\xc3\xee\x3a\x60\x21\x39\x56\x9b\xec\ +\xf9\xf4\x0a\x40\x9c\xc6\x2f\x95\x93\x03\xa8\x92\xaa\x0f\xa2\x0f\ +\x6f\x44\x1e\x4f\x75\xf5\x8a\x70\x10\x63\x49\xdd\x5f\x80\x52\x43\ +\x32\x37\x3d\x98\x31\xf5\xa3\x80\x06\xa6\xbf\x6f\x4a\xf5\xc6\x01\ +\x44\xed\x79\xc5\x5a\x54\x0a\xe3\xf1\x64\xfa\x8f\xf1\xb6\xf4\x9f\ +\x0c\xf9\xcd\xba\x0c\x26\x15\xc2\x56\xec\x9e\x96\x8e\x06\x73\xf9\ +\x2d\x20\xa8\xbf\x54\x2a\x4a\xb7\x3a\xa2\x5c\x3e\xf4\x63\xcc\xdf\ +\x55\x25\xb5\x68\x85\x13\x74\x76\x46\xb2\x13\x23\x13\x58\xe8\xbb\ +\x0a\x11\x84\xaf\x03\x07\x54\x69\x5a\x8f\xc4\x85\xca\x32\x0d\xd0\ +\xd2\x57\x63\x55\x91\x01\x45\x12\xc0\xf9\xac\x5d\xbb\xd9\x11\xdd\ +\xba\x09\x2f\x0f\xde\x10\x82\xaf\x82\x5d\x11\xe1\xd1\xd8\x5c\xe8\ +\xad\xa6\x54\x6f\x3c\x9b\x39\xfb\x8a\x84\xc3\xdb\x31\xff\xb2\xbb\ +\x3d\x81\xf9\xcf\xd7\xcd\xc0\x3a\x3b\x8f\x57\xe5\x4e\x22\xfa\x30\ +\xce\x07\x0a\x07\xc8\x64\x16\x2b\x05\x00\x73\x99\x73\xd3\x81\xeb\ +\x23\x2b\x22\x16\x82\xc2\x70\x7d\xb2\x33\x3d\x37\x3e\x78\x35\x9b\ +\x19\x7e\x7b\x7e\x6a\x64\x00\x91\xf7\x36\x4b\x1e\x4f\x75\xf5\x16\ +\xaa\xab\x47\x56\xc8\x4d\xe4\xd1\xd9\xc9\xa1\x4b\xab\x63\xb4\x7c\ +\x51\x7e\x6a\x68\x54\xcc\x7a\x31\x1b\x53\x25\xe5\x12\x7a\x27\xda\ +\x96\x7e\x25\x7e\x7f\x77\x1b\x80\x43\x64\x5d\x46\xf7\x10\x14\x3f\ +\xb5\x58\x32\x7d\x0c\xd7\x7f\x28\xec\x04\xce\xab\xd0\x5b\xd1\xee\ +\xb1\xd1\xaf\x59\x4b\x5f\x4d\xbc\x2a\x77\x18\xd7\x67\xd1\x22\xa9\ +\x1b\xc3\x2e\x96\x50\xd1\xc6\x35\xd7\x18\x1f\x3a\x5c\x12\xa5\xbb\ +\x34\x5e\x42\xfd\xa5\xac\x5d\x3b\xbc\x3a\xed\x9b\x13\x50\xb2\xfa\ +\xc4\x43\x3b\x9d\xf0\x21\x83\x7e\xd5\xca\xd2\xba\xa6\x0e\x23\xa7\ +\xea\xc7\xd5\xfd\x85\x95\xd3\xbe\x9e\xdd\x51\xc0\x8a\x35\xef\xea\ +\x8b\xe5\x0b\xf9\xc7\x14\xf6\x19\xde\xa1\xd0\x8a\x69\x03\x00\x6a\ +\xd7\x0d\x66\x14\x19\x75\x91\xd3\xd1\xea\x85\x93\xff\x1b\x1b\xcb\ +\x6d\x06\xf7\xff\x0d\x03\x7c\x7f\xf6\x3a\x8e\xd3\x00\x00\x00\x00\ +\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\xee\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x02\x90\x49\x44\x41\x54\x58\x85\xbd\ +\xd7\xbb\x6b\x54\x41\x14\x06\xf0\x5f\x62\x93\xc4\x57\x62\xb0\x51\ +\x08\xa8\x31\x69\x82\x8a\x82\x16\x11\x44\xc1\x46\xac\xd5\xe8\x5f\ +\xa1\x36\x62\x23\x56\x6a\x42\x8c\x16\x16\x4a\xc4\xc6\x47\xa7\x08\ +\x6a\x21\xd8\x8b\x36\x3e\x50\x10\x5f\x10\x09\xc4\x88\x68\x7c\x44\ +\x4c\x7c\x15\xe7\xae\x79\xb8\x9b\x9d\xbd\xbb\xf8\xc1\xc2\x32\x73\ +\x67\xbe\x6f\xce\x9c\x73\xe6\x9c\x3a\xe9\x58\x84\x9d\xd8\x86\xb5\ +\x58\x89\x85\xd9\xdc\x27\xbc\xc6\x43\xdc\xc1\xcd\x6c\xac\x2c\xea\ +\x12\xbe\xe9\xc4\x21\xec\x41\x03\x86\x71\x0f\x2f\xf1\x21\xfb\xa6\ +\x05\xed\xd8\x88\x65\xf8\x86\x2b\x38\x8e\xe7\x29\x42\x8a\xa1\x09\ +\xfd\xf8\x81\x8f\xe8\x45\x57\x19\xd1\x75\x58\x83\x3e\x8c\x61\x32\ +\xfb\xdf\x58\x29\x79\x07\x9e\x64\x1b\xf4\x62\x71\xa5\x1b\xa0\x19\ +\x27\xc5\x01\x1e\x09\x0b\x25\x61\x3d\xde\x61\x08\x9b\x72\x10\xcf\ +\x46\xb7\xb8\xb6\x51\xac\x2b\xf7\x71\x47\x46\xfe\x14\xcb\x6b\x40\ +\x5e\x40\x1b\x9e\x65\x22\x4a\x5a\x62\xbe\x30\xfb\x50\x8d\xc9\xa7\ +\x8b\x18\x16\xd7\x51\xd4\x27\xfa\xc5\x9d\xd7\xc2\xec\xa5\xb0\x19\ +\x3f\x85\x5f\xcd\x40\xa7\x70\x96\x7f\x26\x4a\x60\x1f\xe6\xe5\x14\ +\x71\x5a\x1c\x74\xc6\x55\x5c\x10\xa1\x96\xe2\xed\x03\xf8\x8d\x8b\ +\x39\x45\x2c\xc1\x67\x0c\x16\x06\x16\x8b\xc4\x91\x72\xfa\x2d\x19\ +\x79\xe1\x77\x29\xa7\x88\x01\x7c\x95\x65\xd2\xbd\xd9\x66\x5d\x89\ +\x8b\xf7\xd7\x40\xc4\xfa\x6c\xed\x6e\xc2\x14\x6f\xa4\xa5\xe5\x02\ +\x0e\xcc\x12\x71\xb9\x42\x11\x75\x78\x8b\xb3\x70\x1f\x57\x2b\x58\ +\x5c\x2b\x11\x37\x70\x17\xde\x8b\x7c\x9d\x07\x07\xab\x10\x71\x4a\ +\x24\x26\x13\x38\x9c\x53\x40\x31\x11\x57\x12\x45\x1c\xc1\xf7\xfa\ +\x2a\x88\x0b\xe8\x37\x2d\xa4\xc4\xb3\x7d\x34\x75\x71\xbd\x28\x1c\ +\x5a\xaa\x10\xb0\x5d\x24\xa6\x02\x1e\x8a\x30\x2b\x87\x16\xf1\x64\ +\xbb\x8f\x6b\x55\x90\x8f\x9b\x32\xff\x03\xb4\x26\xae\xfd\xeb\x84\ +\x83\xe2\x91\xa8\x24\x0c\xab\x25\xaf\x17\x0e\x78\x16\x7a\xb2\x0d\ +\xd6\xfc\x27\x72\xd8\x90\xad\xdb\x45\x14\x9b\xe3\xd2\x43\xb1\x5a\ +\x72\xe2\x41\xfa\x8a\x05\x85\x81\xf3\xc2\x21\x9a\x13\x16\x5f\xaf\ +\x92\xbc\x15\x5f\x70\x6e\xfa\xe0\x6a\xf1\x44\x9e\x4c\xd8\xa0\x11\ +\xb7\x73\x92\xc3\x19\x91\x7b\x56\xcd\x9e\xe8\x13\x35\x41\x77\xa2\ +\x88\x25\x39\xc8\xb7\xe2\x17\x8e\x15\x9b\x6c\xc2\x63\x11\x11\x6d\ +\x39\x36\x2f\x87\x15\x18\x11\x96\x6b\x28\xf5\x51\xbb\x08\x8f\x67\ +\x35\x16\xb1\x42\x34\x28\x23\xa2\xa3\x9a\x13\xeb\x32\x11\xc3\xa2\ +\x86\xab\x16\x5b\x33\xe2\x11\xd1\xd2\x25\xa1\x5d\x54\xaf\x3f\x45\ +\xc8\xe4\xb9\xef\x56\xe1\x70\xbf\x84\xd9\xcb\x9e\x7c\x36\x1a\x45\ +\x99\x36\x29\x6a\xb8\x01\x51\xc9\xcc\x95\x31\xeb\x45\x92\x39\x2d\ +\x42\x6d\x42\x38\x5c\xc9\x3b\x4f\x49\xbf\xed\xa2\x39\xed\x11\x8e\ +\x3a\x2a\xde\x8f\x17\x8a\x37\xa7\x4b\x45\xa2\xba\x84\x13\xa2\x89\ +\x2d\x89\x4a\xf2\xff\x42\xec\x30\xb3\x3d\x2f\x54\xd1\x63\x78\x65\ +\xaa\x3d\xbf\x25\x2c\x50\x16\x7f\x00\x09\x86\xb4\xf8\xbd\x26\x21\ +\x0c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\x44\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x0b\x49\x44\x41\x54\x58\xc3\xed\xd7\x3d\x0a\x83\x30\ +\x18\x06\x60\x15\xf1\xdf\x41\x27\x87\x22\xc5\xa1\x8b\xb8\x75\xea\ +\x95\xdc\xbd\x4a\x0f\x51\x7a\x8a\xd2\x41\x7a\xa0\x0e\x1d\xda\x57\ +\x48\x4a\x08\x4a\x62\x1b\x0d\xb4\xf9\xe0\x25\xe2\x4f\xf2\x60\x24\ +\x18\xcb\x22\x55\xd7\xb5\x87\xe6\xa9\x22\xb6\x6d\x9f\xc2\x30\x74\ +\xad\x39\xa5\x12\x40\x11\x71\x1c\xcb\x23\x54\x03\x08\xe2\x9c\x24\ +\x89\x1c\x82\x07\x04\x41\xb0\xf7\x7d\xbf\x9c\x13\x0c\xd8\x8f\x21\ +\xd2\x34\x15\x23\x78\x00\x5e\x5f\x31\x6b\x0e\x51\x18\xec\xf2\xf1\ +\x9b\x58\x12\x20\x85\x58\x1a\xc0\x20\x3c\x6d\x00\x8a\x68\x9a\xc6\ +\xd1\x06\x18\x42\xc6\x5a\x04\x70\x44\x73\x1d\xc9\x6d\x15\xc0\x54\ +\x91\xbe\x0c\xc0\x00\x0c\x40\x1f\x00\xcb\x6f\x81\x35\xe2\x4e\xb3\ +\x3a\x40\xaa\x7e\x0a\x90\xe7\xb9\x8b\x1f\x94\x1d\xcd\xea\x00\xcc\ +\xf9\x86\xed\xab\xeb\x3a\x47\xf8\x90\x01\x7c\x03\xc8\xb2\x6c\x98\ +\xf3\x8a\x06\x7b\x82\x03\xd7\x57\xc5\x5e\x57\x0e\x88\xa2\x68\xcb\ +\x3e\x2b\x8a\xf2\x75\x40\x3b\x00\xf7\x96\x68\x1e\x5c\xd8\xff\xc0\ +\xf7\xf9\xe1\x58\x0a\x20\xda\x98\xe0\x7a\x39\x05\x52\xf2\x11\xca\ +\xa4\x6d\x5b\xe7\x7f\x01\x98\xcb\x49\x00\xf6\x82\xd2\x80\x17\x31\ +\x68\x6c\x3e\x98\x15\x95\x7a\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x02\x9e\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\x65\x49\x44\x41\x54\x58\xc3\xbd\x56\x3d\x48\x23\x41\ +\x14\x9e\x24\x9b\x64\xb3\x31\x89\xb1\xb0\x10\x0b\x91\x14\x72\x95\ +\x88\x58\x5e\x61\x75\x1c\x62\x21\x87\x95\x85\x58\x88\x85\x85\x58\ +\x1c\x62\x2b\x22\x16\x87\x85\xa5\x58\x8a\x58\xc8\x21\x92\x22\x1c\ +\x16\x87\x85\x85\x45\xaa\x14\xe1\x0a\x11\x11\x2b\x11\x09\x12\x24\ +\x88\x7e\x8f\x7b\x91\x65\xf2\xf6\x47\xb3\xbb\x0f\x1e\x93\xcc\xbc\ +\x99\xef\x7b\xdf\xbc\x99\x1d\xa5\x22\xb6\x1e\x58\xa1\x50\x48\x45\ +\x8d\xab\x62\xb1\xd8\x0a\x9a\x2b\xf8\x2b\xbc\x85\xff\xc7\xc9\x64\ +\xb2\x37\x4a\x0e\x7f\xe1\x0d\xf8\x25\xfc\x99\x88\x80\xc4\x5e\x64\ +\xe8\x89\x44\x62\x0c\x19\xf7\xb1\x1a\xab\xac\x44\x2d\x4a\x05\xde\ +\x0d\x04\x76\x99\x40\x39\x72\xf0\x78\x3c\xfe\x1d\x4d\x0b\xfe\x82\ +\xdf\x5f\x15\x64\x29\x19\x86\x31\xae\x3b\xfa\x07\xfd\x2c\x48\x85\ +\xe4\x30\x7f\x54\x00\x9f\x46\xd3\x54\xff\xf7\x7f\xb9\x2d\xc7\x09\ +\xcb\xa1\xfb\x55\x2a\x95\xb2\x7c\xc8\x79\x2a\xcd\x47\xff\x9d\x06\ +\xbe\xc0\x99\xd3\x58\x05\x3e\x4f\xee\x46\x80\x02\x7f\x79\xc8\x39\ +\xeb\x32\xf7\x9d\x40\x2e\x97\xeb\x75\x8a\xa3\xea\x9c\x43\xf0\x16\ +\x13\x79\xd1\x02\x5a\x18\x1f\x77\x90\x9e\x2a\xfa\x4e\x58\xf4\x02\ +\x6b\x6d\x83\xdc\x7a\x3b\x36\x9f\xcf\x5b\xe8\xdb\x90\x5c\xcf\x68\ +\x51\x58\xb0\x6a\x59\x96\x21\x48\xbf\x2f\x64\xbd\xef\xa7\x6e\xbc\ +\xac\x22\x2c\xfc\x53\x23\x3a\x29\x10\xbd\x81\x2a\xf9\xae\xd1\x21\ +\xf9\x30\x9a\x27\x6d\xf1\x26\xfa\x4b\x34\x9e\x4e\xa7\x4d\x34\xff\ +\x74\x02\x5c\xe1\xc1\x18\x67\xac\x67\x78\xc6\x63\x5b\x82\x42\xc7\ +\x81\x81\x93\xf1\x9e\x57\x85\x2c\x77\x14\x1f\x25\x9b\x3f\xe0\xdc\ +\x0f\x04\x4a\x80\x8c\xab\x5f\x07\x93\x8e\xdb\x52\xe0\xe0\x6d\xc3\ +\xe2\x3b\x1e\x04\xce\x8b\xc5\x62\x3c\x34\x02\xb8\x09\x7b\xd0\x5c\ +\x3b\x80\x3f\x43\xa5\x2f\xa1\x81\xdb\x54\x58\x51\xb2\xf4\x87\xa1\ +\x83\x9b\xa6\x49\x4f\xa7\xba\x83\x02\x4f\x50\x60\x28\xec\xec\xd7\ +\x94\x7b\x01\xfe\x0e\x0d\x1c\x47\x8b\x3e\xc7\x0d\xe5\x71\x0a\x70\ +\x34\xbf\x85\x95\xfd\x91\x00\x78\x2f\xf4\xd5\x79\xab\x82\x33\x87\ +\xbb\xbe\x09\x55\xa8\xea\x3b\xae\x61\xde\xaa\x60\x2c\x93\xc9\xd0\ +\x2d\x58\x13\x40\x36\x98\xdc\x94\x40\xae\xc1\x5b\x16\x88\xf4\xed\ +\x17\xab\xdd\xaf\xf1\x11\xb2\x6c\x31\x65\x81\xe0\x51\xd7\xe0\x7c\ +\xa7\x3f\xaa\xce\x42\x9b\xb1\xc7\xf1\x97\xb1\x29\xc4\x4d\x7e\x1a\ +\x9c\x0b\x49\x7a\xdf\xfd\x71\x50\x6a\x53\x88\xad\x23\x89\xfe\x0f\ +\x01\x83\xf5\x01\xcb\x27\x5d\xb9\x74\xdd\x8e\x48\xf3\xf8\xc1\x2a\ +\xcd\x79\xa0\xcf\x33\xfc\x00\x64\x4a\x7e\x38\xb8\x5d\x34\x5e\x8f\ +\xd2\x1f\x6e\xf3\x31\x3e\xd1\x0d\x81\x5b\x64\xe9\xe7\x89\x75\xd6\ +\x15\x81\x6c\x36\xdb\x8f\x07\x48\x87\xa3\xdf\xd7\xfb\x0e\x71\xa6\ +\x34\x9f\x1c\xcf\x71\xc3\x6b\xfe\x1b\xea\x92\x2a\x0c\x69\xe2\xe8\ +\x56\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xd3\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\x9a\x49\x44\x41\x54\x58\xc3\xdd\x97\x3d\x4b\xc3\x40\ +\x18\xc7\x93\xcb\x2b\xa5\x48\x02\x47\x28\x0e\x89\x01\x07\x29\x7e\ +\x04\x71\x70\x96\xe2\x50\x8a\x9f\xa2\x74\x72\x70\x15\x07\x67\x71\ +\x12\x47\x3f\x83\xa3\x88\x38\x38\x75\x90\x92\x59\x1c\x44\xc4\xb1\ +\x73\xfd\xa7\xa4\x10\x8f\x4b\x73\x97\x57\xea\x03\x7f\x12\x72\xf7\ +\x3c\xcf\xef\xee\x9e\x5c\x2e\x8a\xb2\xc6\x6c\xdb\xee\xaa\xaa\xfa\ +\x88\xdb\x45\x9e\xd0\x2f\x32\x4d\xb3\xa7\x54\x65\x08\xb6\x85\xcb\ +\x93\x48\xf2\x94\x22\xc3\x30\xb6\xa5\x12\xe9\xba\xde\x27\x84\x5c\ +\xa5\x85\xd1\xdc\xa0\xe9\x43\x32\xf9\x4a\x3f\xf0\xbf\x65\x63\x42\ +\x07\x5c\x00\x34\x0c\x0a\x26\x92\xd5\x64\x23\x00\x3e\x31\x7d\xd7\ +\x8c\x1e\x44\xd7\x9f\xf5\xc5\xb3\x77\x59\x80\x17\xb6\x9d\x52\x4a\ +\x10\xec\x6e\x5d\x72\xb4\xbf\x59\x96\xe5\xb1\xbe\x0c\x7c\x31\x80\ +\xd8\x3c\xcf\x43\x37\x32\x81\x2e\x39\xba\x40\x72\xca\xf3\xab\x0c\ +\xa0\xa8\xb9\xae\xdb\x71\x1c\xa7\x1b\x0b\xf7\x66\xe3\x00\x42\x26\ +\x03\x80\xa9\x8e\xf7\x8c\xf3\x22\xd2\x34\x6d\x58\x1a\x00\x9b\xd6\ +\x48\x29\xf1\x2a\x22\xd7\xb8\x55\x00\x2e\x44\x09\x80\x6f\x54\xf9\ +\x7d\x9e\xd0\x6f\xce\x42\x60\x39\xc6\xa5\x01\x10\xfc\x55\x11\x33\ +\xee\x37\x25\x7e\xad\x5b\x05\x48\x66\xe2\xb0\x55\x80\x65\xee\xba\ +\x01\x70\x3e\xd8\x83\xf6\x57\xc2\xa3\xa8\x51\x00\x8e\x4d\x2b\x07\ +\xc0\xd1\x8d\x62\x3d\x4f\xb2\x84\x91\xef\xd6\x0a\x80\x04\x47\x59\ +\xeb\x9c\x24\x3a\xfb\xdf\x00\x61\x18\x12\xdf\xf7\x3b\x59\x0a\x82\ +\x40\xaf\x15\x40\xd2\x9a\x5f\x02\x14\xe2\xe6\xd4\xc0\x1c\x81\x67\ +\x69\xa1\xfd\x39\x0f\x00\xe7\x84\x1e\xfa\x9d\x66\x09\x80\x7d\x51\ +\x00\xde\x81\xf3\xab\xc9\x1a\x90\x01\x98\x62\x03\xda\x91\x15\x7c\ +\x67\x7f\x00\x50\x20\xf1\xbf\xdc\x30\x4b\xe8\x74\xcc\x03\xa8\x42\ +\xc9\xe0\xc5\xad\x75\x00\x14\x53\xa5\x00\x98\xfd\xc1\x2f\x50\x90\ +\xea\x21\x4f\xbd\x7c\x30\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x03\x34\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\xfb\x49\x44\x41\x54\x58\xc3\xbd\x97\x4d\x68\x13\x41\ +\x14\x80\x37\x9b\xcd\xff\x86\x98\x1f\x4a\x90\x52\x16\x11\x53\x44\ +\x82\x14\x0f\xe2\x41\x8a\x07\x0f\xe2\x41\x8a\x78\x28\x3d\x14\x4f\ +\x22\x22\x1e\xc4\x83\x88\x50\x7a\x12\x8f\xa5\x88\x14\x11\x91\x22\ +\x22\x52\xc4\x83\x67\x91\x22\x45\x7a\x90\x22\x52\x4a\x90\x22\x22\ +\xa5\x88\x87\x22\x3d\x94\xa0\xdf\xd8\x89\x26\xe3\xce\xce\x6e\x93\ +\x38\xf0\xd8\xb0\xfb\xe6\xbd\xef\xfd\xcc\x4f\x2c\xcb\x30\x1c\xc7\ +\x19\x8c\xc5\x62\xd7\xf8\xf9\x12\xf9\x84\x6c\x23\x3b\xc8\x26\xb2\ +\xc4\xb7\x19\xdb\xb6\x4f\x17\x0a\x05\xdb\x64\x2b\xd2\x88\xc7\xe3\ +\x87\x30\xfe\x54\x3a\xfb\x19\x42\x1a\x80\x5c\x2c\x16\x8b\xdd\x83\ +\x60\xe8\xba\x8c\x34\x8c\xe3\x0e\x01\x7a\x31\x91\x48\x78\x7b\x72\ +\x9c\xcd\x66\x1d\x0c\x3c\xde\x8b\x63\x45\x36\xc8\xe0\x48\x64\x00\ +\x9c\x3f\xd4\x18\x5c\xe7\xdb\x34\x46\x47\x93\xc9\xe4\x50\x26\x93\ +\xa9\xd2\x1b\x47\xc8\xd4\x24\xef\x45\x6f\x34\x7d\xe6\x7c\x43\x67\ +\x38\x4a\xda\x2f\xfb\x18\xf9\xc1\xfb\xab\xb9\x5c\xce\x09\x9a\x2b\ +\x60\x00\x79\xeb\x33\xff\x23\xb0\x59\xa3\x73\xd1\xe9\xc2\x99\x4f\ +\x1a\x8f\xb6\x74\xca\xe5\x32\x6a\xce\x49\x80\xae\xe0\xec\x06\xcf\ +\x89\x54\x2a\xf5\xa7\xd6\xf9\x7c\x5e\x94\xef\x91\x0a\x81\xde\x9d\ +\x30\xa9\xbf\xaf\x4c\xdc\xc6\xf9\xb1\xd6\x77\x7e\x4f\xf2\xf8\x6c\ +\xf9\x37\xdd\x2b\x9a\xee\x77\xaa\x4b\xa5\x92\x2d\x4b\xd2\x61\x8b\ +\xb2\x55\xb5\xce\xf9\xb8\xcf\x52\x3a\x1e\x23\x37\xdb\x4a\x73\x4f\ +\xbe\x5b\x41\xe6\x90\x29\x29\x0f\x90\x0f\x72\xce\x16\x90\xa7\x84\ +\x3e\x59\x19\xe0\xf1\x5d\xc9\xc2\xad\xa0\xe8\xc7\xd5\xe6\x49\xa7\ +\xd3\x59\x19\xb9\x48\xf7\x3c\x11\x1e\xd6\xcd\xe7\x9b\xa8\xff\x13\ +\xe1\x94\x60\x3c\x09\x3d\xa5\x04\xf4\x3e\x08\x60\x4e\x51\x16\xe5\ +\xb0\x3c\xcf\x73\x88\xe6\x84\xb1\x7e\x7f\xfb\xe8\x2c\xc0\xb3\x32\ +\x0b\x07\xd4\x52\xd1\x8c\x25\xdd\xdc\x37\x4a\xba\xc6\xc3\x3a\x55\ +\x07\x99\xab\xd7\x6a\xb5\xd6\x8a\xe9\xe8\x19\xe0\xb4\xc1\xac\x86\ +\x55\x8c\x32\xc4\x8e\xa8\x04\x76\x4e\xa7\xbb\xa6\x00\x1c\xef\x11\ +\xc0\x6b\x05\x60\x4c\xa7\xbb\x14\x96\x34\x22\x80\x1a\xd8\xa8\x4e\ +\x71\xde\xea\x6c\x42\xf3\xc6\x61\x18\x9c\x29\x15\x4b\xd9\x9e\x69\ +\xcc\x41\x1d\x80\xba\x05\x37\x2a\x95\x4a\x57\x47\x2a\x59\xbc\xa4\ +\x04\xb5\xae\x55\x66\x1d\x0f\xa9\xb4\xdd\xac\x04\xb6\xe4\x34\x0e\ +\x1b\x0a\xc0\x4c\xe0\x24\x9f\xed\x73\x23\x70\xfb\x0c\x8e\xfe\xae\ +\x62\xab\x29\x36\xab\xc0\x49\x72\xdf\xef\xc8\x02\x50\xcb\xd4\xad\ +\x12\xc5\x39\x76\xfe\x39\x51\xe5\xad\xca\x3c\x64\x9a\xd4\xc3\x66\ +\x8d\x1d\xce\xb8\x2c\x69\x3a\x97\xc8\x67\x7d\xe6\x0b\x80\x17\x94\ +\x25\x69\x04\xc0\x48\x5a\x73\xa6\x37\x79\xbf\x40\x74\x67\xb8\x78\ +\xba\x2d\xfd\x7a\xbd\x6e\x93\xa1\x61\x79\xd0\x7c\xf5\x73\xde\x06\ +\xb1\xe0\xba\xae\x19\x82\xba\x8b\x94\x2f\x07\x18\x13\x65\xfa\x62\ +\xed\xde\x8e\xb7\x82\x9c\xfa\x41\x10\xa4\x19\x82\xfd\xdc\x45\xf9\ +\x59\x14\xe3\x3d\x87\x10\x83\x94\x5f\xe0\xd1\x88\xe0\x60\x47\x9e\ +\xac\xab\x3d\x83\xe0\x8e\xef\x00\x32\x26\x3a\x19\xd9\xd4\x38\x7d\ +\x27\xfa\x40\x5c\x56\xc5\x1c\x96\xdc\xfe\x9e\x42\xb4\x0f\xce\xf4\ +\x01\x56\x45\x1d\x87\x23\x38\x3a\x08\xa0\xaf\x11\x74\xc2\x40\x3c\ +\xa7\xdc\x4e\x58\xdf\x91\x07\x99\x0b\x03\x71\xbb\x6f\x00\x21\x21\ +\x56\xfa\x0a\x10\x02\x62\xb1\xef\x00\x41\x10\x94\xe0\xfc\x7f\x01\ +\x90\x10\x55\xd1\xfd\xd6\xee\x5f\x80\x06\xbf\x27\xc4\xfb\x5f\xd5\ +\xa1\x7f\x1d\x2f\x53\xe3\xc4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x02\x9d\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x02\x64\x49\x44\x41\x54\x58\xc3\xc5\x56\x3d\x48\x23\x51\ +\x10\x7e\xd9\xfc\x91\xcd\x65\xf3\x67\x21\x56\x16\x72\x88\x58\x1c\ +\x22\xc1\xc2\xc2\xe2\x8a\x2b\xac\x44\x2c\x44\x44\xc4\x5a\xe4\x38\ +\x2c\xe4\xba\x2b\xe4\x0a\x8b\x2b\xae\xb8\x52\x44\x82\xa5\x48\x8a\ +\x70\x48\xb0\xb0\xba\xc2\x22\x88\x85\x88\x48\x8a\x14\x62\x21\x21\ +\x84\x10\x82\x7e\x03\x2f\xb8\x6c\xe6\xed\x6e\xce\xb7\x3a\x30\x0c\ +\xbb\xef\xcd\x7c\xdf\xcc\x9b\xf7\x23\xc4\x7b\x4b\x38\x1c\x5e\x0e\ +\x85\x42\x3f\x9c\x6a\x18\xc6\x82\x4f\xff\x82\xc2\x7f\xdb\x17\x01\ +\x4c\x3e\x86\x79\x62\xb4\x85\xe0\x63\x6e\xbe\xf1\x78\xdc\x84\xb9\ +\xe6\xfc\x11\xb7\xfe\x5a\x02\xa4\xa7\x1e\xbe\x3f\x55\xbe\xbe\x09\ +\x44\xa3\xd1\x71\x64\x3a\x03\x87\x75\x7c\xd6\x9d\x81\x50\xca\x75\ +\x45\xe9\x3f\xc1\x74\x9c\x55\x43\x9c\x1d\x8c\xcd\x22\xee\xb4\x2f\ +\x02\x8e\xa0\x53\x4c\xd0\x87\x48\x24\x32\x6c\x9f\x97\x4c\x26\x23\ +\x30\xff\x18\xb2\x1b\x03\x83\xfa\x29\x2b\xfe\x1d\x39\xe6\x7c\x65\ +\xca\x5e\x79\x35\x38\x49\x2c\x16\xa3\xc6\xba\x61\xb2\x9b\x97\x55\ +\x1a\x85\x69\x8a\xfe\x86\xfd\xa8\x85\x00\x09\xc0\x3e\x33\x19\xd6\ +\x40\xce\x42\xf6\x65\xa6\x42\x3b\xda\xc0\x6d\x65\x3e\x60\x80\x2e\ +\x18\x62\xd5\x44\x22\x11\xd3\x4e\x00\x8d\x37\x04\x73\x2f\xd4\x5b\ +\x94\xb4\x8b\x6a\xcd\x68\x07\xef\x09\x82\xaf\xb8\x11\x40\x45\x7e\ +\x07\x06\x6e\x93\xbf\x0a\x02\x35\xec\x75\x2b\x70\x74\x64\xf9\x5d\ +\x91\xfd\x49\xe0\xe0\xe8\x83\x11\x98\x86\xa2\x02\x4f\x72\xb7\x04\ +\x9a\x7d\x51\xb8\x37\xe1\x55\x20\x3b\x80\x04\xd9\xcd\x79\x80\xf7\ +\x96\xc2\xdf\xb5\x3b\x88\x98\xa6\x49\x67\x7d\x95\x01\xab\x30\x24\ +\x1a\x72\xa9\xf4\x09\x80\xb6\x18\xa0\x3b\x3a\xa6\x31\x56\x62\x88\ +\x15\xb5\x81\xcb\x9b\xef\x51\xf4\x37\xdc\x22\x8d\xcb\x47\x4a\x9b\ +\x19\x9f\xd3\x95\xfd\x3e\x93\xfd\xa9\x63\xce\x2e\x33\xa7\x2a\x97\ +\xee\xff\x05\x59\xcc\xc2\x74\x1d\x81\x3b\xc8\x7a\xc2\x3e\x0f\x4b\ +\xf1\x01\xa6\xc6\x2c\xc5\x96\x17\x46\x3a\x9d\x36\xb3\xd9\x6c\x3f\ +\x51\x7a\x5c\xc2\xdc\x32\x41\xf7\x14\x64\x97\x98\x2a\x34\x69\xa9\ +\x72\xb9\x9c\xc1\x54\x76\x53\xbc\xbc\x1f\xdb\xf4\xc6\xc0\x49\x9a\ +\xa1\x01\x3a\x68\x9a\x82\xdf\x66\x75\x8f\xe3\xb6\xa2\xf0\x6b\x41\ +\x1b\x48\xca\xfe\x2c\x3b\x93\x38\x74\xa3\x76\x64\x72\x7f\x84\x22\ +\x40\xaf\xb1\x56\xdd\xca\x09\x80\x49\xd1\xff\x84\xb3\xfb\x17\x6c\ +\x73\xa7\x91\xcc\x90\xac\xc6\x37\x39\xe7\x92\xbe\xcf\x15\x7a\x98\ +\xcf\xe7\x0d\xe1\x21\xf2\xae\x60\x63\x80\xc0\x84\xc2\xe7\x97\x24\ +\x50\xf2\x8a\xaf\x5d\x40\xea\x8b\xac\x5a\x57\xdb\xd6\x1d\x00\x9c\ +\xde\x95\xd4\x1f\xbe\x76\x8c\x6e\xf0\x35\xf1\xd2\x7c\x65\xe8\x0a\ +\xe9\x9b\x80\xa7\x52\xa9\x8c\x50\x37\x7b\xf0\x62\x59\x16\xdd\x21\ +\xbb\x9c\xbe\x09\x01\x37\x79\x06\x5f\x0b\x28\x18\x16\x1b\xfe\x02\ +\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x01\xee\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\ +\x00\x00\x01\xb5\x49\x44\x41\x54\x58\xc3\xc5\x96\xb1\x4a\xc3\x40\ +\x18\xc7\x2f\xc9\xa5\x24\x21\x08\x19\xe2\x58\xf2\x04\xe2\x20\x9d\ +\x1c\x1c\x44\xc4\x51\x8a\x48\x47\xf1\x11\x7c\x01\x27\x11\x1f\xc0\ +\xc1\xc1\x51\xc4\x27\xf0\x09\xc4\xc9\xc1\xb9\x38\x38\x86\xd2\xa9\ +\x38\x84\xa2\xff\xc3\xef\xca\x71\xa4\x31\x89\xb9\xcb\x07\x1f\xd7\ +\xf6\x7a\xf7\xfb\x7f\xdf\xff\xd2\x2b\x63\x86\xc2\xf3\xbc\x6d\xc7\ +\x71\xee\xc2\x30\xe4\xa6\x18\x95\x70\x0c\x39\xf2\x1b\x22\x9e\xac\ +\x8a\x20\xf8\x4c\xc0\x65\x5a\x13\xa1\x56\xae\xa7\x71\x11\x49\x92\ +\x70\x40\xa6\x65\x70\xe3\x22\xd2\x34\xe5\xd4\x81\x11\x86\xb9\x55\ +\x11\x9c\x73\x71\xda\xa7\x18\x47\xf4\xde\x9e\x08\xdf\xf7\x55\xcf\ +\xe7\x56\x45\x68\x70\x91\x05\x2c\x38\x96\xf3\x35\xed\x78\x68\xdd\ +\xf6\x12\xf8\x98\xe6\x32\xe4\x4e\x0d\x11\x85\xeb\xba\x27\x5d\x55\ +\x3e\xa6\xb9\x0c\xc3\x47\x0d\x3b\x56\x6b\x4c\xc0\xc5\xe7\x0b\x80\ +\xf7\x94\x8e\xa9\x22\xc4\x9a\x6e\x2b\x1f\x0c\x06\xa5\x70\xb1\x46\ +\x76\x82\xec\xc8\x5b\xc1\xab\x3c\xaf\x82\xd3\x9a\x95\x1d\x51\x14\ +\x6d\x18\x85\x03\xaa\xc3\xe5\x9a\x3c\x8e\xe3\xde\xe0\x05\xf6\x31\ +\xeb\x79\xe7\xf0\x5e\x2b\x27\xf8\x8c\xd5\x78\xd4\x34\x78\xe9\x1a\ +\x5b\x70\xbd\xf2\xe6\xf0\x2c\xcb\x5c\x0c\x9f\x6c\xcd\xcf\x2b\xab\ +\x7e\xd4\xfe\x07\x27\xc8\x96\xb2\xd1\xd2\x2a\x5c\x04\x6e\xa6\x0b\ +\x65\xb3\xf7\xa6\xf0\x56\x9e\x6b\x02\x9e\xe5\x86\x78\x7d\x4b\x02\ +\x86\x24\xe0\xaf\xca\x9b\x9f\x76\x35\xf0\xc7\x20\xc0\xf0\x25\x37\ +\xc5\x35\x79\xaa\x58\x33\x44\x75\xbb\xc6\xe0\x22\x00\xdc\x57\x36\ +\x15\x02\xce\xf5\xef\x18\x83\x53\xfb\xaf\x55\x01\xec\xf7\xcf\xc2\ +\x19\xf2\x10\x73\x97\x64\xcf\x82\x75\xe9\xb9\x16\x6f\x9a\x80\xaa\ +\x6c\x77\x9f\xaf\x0b\xb4\x76\x13\xc3\xb2\x17\x38\xb5\x7f\x52\x05\ +\xc4\xfc\x2b\xf2\x06\x76\x1c\xe1\xb0\x36\xbf\x52\x6b\xc4\xbd\x0a\ +\x44\xbe\x88\x33\x21\xfc\x0f\x82\xc0\x08\x50\xef\xc0\x23\xf2\x0a\ +\xc0\x03\x00\x63\xe3\x40\x2d\x7e\x00\x12\x7c\x37\xf1\x04\x5e\xb0\ +\x4e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x02\x90\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x1b\x00\x00\x00\x20\x08\x06\x00\x00\x00\xe3\x69\x03\x3b\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x02\x32\x49\x44\x41\x54\x48\x89\xed\ +\xd7\xcd\x8b\x4e\x71\x14\x07\xf0\xcf\x33\xe3\x65\x66\xbc\xd6\x4c\ +\x13\xc3\x42\x9a\x2c\x48\x34\x31\x8b\x99\xb2\x51\xfc\x03\x58\x10\ +\x9b\x99\xd9\x88\xc8\xdb\x28\x21\x25\x1b\x94\x97\x51\x2c\x28\x7b\ +\x0b\x3b\x84\x32\x45\x34\x8c\x44\x64\x47\xa1\x98\x8c\x97\x05\xa3\ +\x29\x1e\x8b\x73\xa7\x79\x7a\x3c\x2f\xf7\x99\x99\x95\xe6\xd4\x5d\ +\xdc\x7b\xbe\xe7\x7c\x7f\xbf\xf3\xfb\x9e\x73\xef\xcd\x28\x6f\x47\ +\x30\x3b\x05\xee\x1b\x8e\x97\x02\x4c\x49\x91\x64\x25\x5a\x31\x07\ +\xfd\x05\xfc\xab\xf0\x15\x8f\x52\xe4\x4a\x65\x67\xf0\xa4\x88\xef\ +\x19\x4e\xa5\x49\x52\x35\x51\xab\x99\x24\x9b\x24\xfb\x3f\xc9\xaa\ +\xc7\xe9\x4f\x6d\x8b\xc4\x28\x3a\x5b\xc4\x7f\x01\x83\x58\x38\x5e\ +\xa2\x2a\xf4\xe2\x39\x6a\x8a\x60\x6a\xf1\x0a\x77\x91\x19\x0f\xd9\ +\x7e\xfc\xc2\xf2\x32\xb8\x16\x0c\x63\xd7\x58\x89\x96\x25\x44\xfb\ +\x52\xe2\x0f\xe1\x27\x96\x54\x4a\x54\x8d\xc7\xb8\xaf\x32\x11\xf5\ +\xe1\x61\x05\x31\xa0\xdb\xd8\x56\x39\x52\x8d\xbd\x69\x03\x9a\x31\ +\x84\x03\x05\x7c\xd5\xa8\x2b\x13\x7f\x18\x3f\xb0\x38\x0d\xd9\x1d\ +\x3c\xf5\x6f\xef\x6c\x11\x12\xcf\xe2\x36\x1a\x8a\xc4\x4f\xc5\x0b\ +\xdc\x2a\x47\xb4\x19\xbf\xb1\x3a\xef\xf9\x7c\xa1\xb6\x6c\xce\x75\ +\x29\xf1\x75\xe1\x1e\xd6\xe6\xe0\xdb\xf0\x07\x9b\x8a\x11\xcd\xc4\ +\x07\x5c\x2c\xe0\x6b\xcf\x23\xca\x8a\xfe\x83\x8f\xc9\xfd\x8d\xbc\ +\x98\xcb\x78\x87\x19\x85\xc8\x4e\x88\x32\xd5\x17\xf0\xd5\x26\x81\ +\xb9\x64\x7b\x12\xdf\x76\xa1\xc0\xf5\x79\x31\x8d\xf8\x8e\x63\xf9\ +\xc9\x9a\x84\xfa\x4a\x35\x65\x33\xae\x8a\x33\xdd\x29\xe4\x9d\x11\ +\x25\x2f\x36\x5d\xba\x85\x58\xe6\xe5\x3e\xec\xc1\x1b\x4c\x2b\x41\ +\x06\x1d\x62\x17\x47\x13\xa2\x16\xb1\xcb\x83\x45\xf0\x35\x78\x2f\ +\x67\xae\x36\x0a\xa9\x77\xe5\x01\x67\xe1\x01\x5e\x27\xbb\xaa\x17\ +\xe2\x19\x29\x63\xab\xf8\x14\xec\x14\x02\x2a\x66\x3b\x44\xd5\x1a\ +\x24\xab\x1a\xc0\xf4\x3c\x50\x6b\x4e\xe2\x4e\x71\x6e\x03\xc9\xfd\ +\xb0\x38\xa3\xd3\xd8\xaa\xf4\x00\xae\xc3\x17\x31\x67\xf5\xe3\x7c\ +\x01\x50\x46\xd4\xfc\xa4\x51\x45\x35\x27\x41\xed\x46\x7b\x2e\x8b\ +\x0d\x25\xc8\x88\x36\xe9\x23\xc6\xcb\xb6\x32\xe0\x7c\xab\x17\x7d\ +\x34\x42\xb6\xbb\x0c\xbe\x03\x43\x55\x42\x9e\x4d\x15\x92\x0d\x26\ +\x04\x6f\x71\x1d\x57\xca\xe0\x17\x88\x17\xb0\x1e\x7c\xc2\x8a\x0a\ +\x09\xd3\x5a\x0b\x3e\xe3\x5c\x46\x4c\x8e\x6b\x58\x87\x97\x62\xa7\ +\x13\x65\x73\xb1\x14\x37\xb1\x31\x57\x45\x6d\x58\x23\xfe\x56\xc6\ +\xf5\x7a\x4f\x2c\x2b\x16\xde\x2b\x7a\xd3\x5f\xbc\xc6\x7d\xec\xa9\ +\xe7\x28\x2f\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x03\ +\x00\x00\x6f\x9f\ +\x00\x69\ +\x00\x63\x00\x6f\ +\x00\x0a\ +\x0c\x5a\x00\x07\ +\x00\x64\ +\x00\x65\x00\x64\x00\x65\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x0c\x57\x83\x87\ +\x00\x63\ +\x00\x6f\x00\x75\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x0c\x59\x5e\x07\ +\x00\x69\ +\x00\x6e\x00\x64\x00\x65\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x06\xc1\x59\x87\ +\x00\x6f\ +\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x09\x28\xa3\xa7\ +\x00\x74\ +\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x0b\xb2\x58\x47\ +\x00\x72\ +\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x00\x38\x58\x27\ +\x00\x74\ +\x00\x69\x00\x6d\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x08\x6a\x66\xc7\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x33\x00\x32\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x0a\xc7\x57\x87\ +\x00\x63\ +\x00\x75\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x0f\x6e\x56\x07\ +\x00\x70\ +\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0b\ +\x0f\x29\x4e\xc7\ +\x00\x70\ +\x00\x72\x00\x65\x00\x76\x00\x69\x00\x65\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x02\xfc\x42\x47\ +\x00\x69\ +\x00\x74\x00\x61\x00\x6c\x00\x69\x00\x63\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x02\xca\x6f\x27\ +\x00\x62\ +\x00\x75\x00\x6c\x00\x6c\x00\x65\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x08\xc8\x58\x67\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0b\ +\x00\xa2\xa4\xa7\ +\x00\x6d\ +\x00\x61\x00\x63\x00\x68\x00\x69\x00\x6e\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x0b\xce\xbf\xa7\ +\x00\x66\ +\x00\x6f\x00\x6e\x00\x74\x00\x2d\x00\x73\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x11\ +\x0b\xfb\x7d\x87\ +\x00\x61\ +\x00\x6c\x00\x69\x00\x67\x00\x6e\x00\x2d\x00\x6a\x00\x75\x00\x73\x00\x74\x00\x69\x00\x66\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\ +\x00\x0e\ +\x0f\xcb\x27\x47\ +\x00\x66\ +\x00\x6f\x00\x6e\x00\x74\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x07\xd8\xb7\x27\ +\x00\x69\ +\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x08\x58\x66\xc7\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x32\x00\x34\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x00\x57\xb8\x67\ +\x00\x70\ +\x00\x72\x00\x69\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x00\x1b\x00\x67\ +\x00\x73\ +\x00\x74\x00\x72\x00\x69\x00\x6b\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x06\x57\x5a\xe7\ +\x00\x66\ +\x00\x6f\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x04\xb2\x58\xc7\ +\x00\x75\ +\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x0d\xb5\x57\xa7\ +\x00\x77\ +\x00\x65\x00\x62\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x08\x74\x66\xc7\ +\x00\x73\ +\x00\x61\x00\x76\x00\x65\x00\x34\x00\x38\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x0f\xa2\x57\x87\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x08\xcb\xef\x27\ +\x00\x6e\ +\x00\x75\x00\x6d\x00\x62\x00\x65\x00\x72\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x06\x7c\x5a\x07\ +\x00\x63\ +\x00\x6f\x00\x70\x00\x79\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x08\xd5\xc4\xe7\ +\x00\x75\ +\x00\x6e\x00\x64\x00\x65\x00\x72\x00\x6c\x00\x69\x00\x6e\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x00\x0c\xb3\x07\ +\x00\x68\ +\x00\x69\x00\x67\x00\x68\x00\x6c\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x0f\xb8\x96\x07\ +\x00\x67\ +\x00\x69\x00\x74\x00\x68\x00\x75\x00\x62\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x01\x65\xa4\xc7\ +\x00\x72\ +\x00\x75\x00\x6e\x00\x33\x00\x32\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x04\xca\x57\xa7\ +\x00\x6e\ +\x00\x65\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x0d\xe5\x89\x67\ +\x00\x73\ +\x00\x75\x00\x70\x00\x65\x00\x72\x00\x73\x00\x63\x00\x72\x00\x69\x00\x70\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x09\ +\x0a\xa8\xba\x47\ +\x00\x70\ +\x00\x61\x00\x73\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x00\x47\x5a\xe7\ +\x00\x66\ +\x00\x69\x00\x6e\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x05\x04\x63\x87\ +\x00\x73\ +\x00\x75\x00\x62\x00\x73\x00\x63\x00\x72\x00\x69\x00\x70\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x0a\x61\x5a\xa7\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x0c\xab\x5a\x47\ +\x00\x61\ +\x00\x75\x00\x74\x00\x68\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x28\x00\x00\x00\x02\ +\x00\x00\x03\x08\x00\x00\x00\x00\x00\x01\x00\x00\x44\x56\ +\x00\x00\x02\x30\x00\x00\x00\x00\x00\x01\x00\x00\x32\x74\ +\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x08\xa1\ +\x00\x00\x03\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x56\x34\ +\x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x31\x22\ +\x00\x00\x01\x60\x00\x00\x00\x00\x00\x01\x00\x00\x18\xd8\ +\x00\x00\x03\x42\x00\x00\x00\x00\x00\x01\x00\x00\x4d\x81\ +\x00\x00\x01\x30\x00\x00\x00\x00\x00\x01\x00\x00\x15\xdf\ +\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x00\x14\xc1\ +\x00\x00\x02\x60\x00\x00\x00\x00\x00\x01\x00\x00\x35\xd4\ +\x00\x00\x03\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x50\x73\ +\x00\x00\x03\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x59\x6c\ +\x00\x00\x02\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x34\xc4\ +\x00\x00\x02\xd2\x00\x00\x00\x00\x00\x01\x00\x00\x41\x2c\ +\x00\x00\x00\x58\x00\x00\x00\x00\x00\x01\x00\x00\x04\xdc\ +\x00\x00\x01\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x2e\x3d\ +\x00\x00\x01\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x2f\xcd\ +\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x0b\xa7\ +\x00\x00\x02\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x3b\x4c\ +\x00\x00\x01\x4a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x6e\ +\x00\x00\x02\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x83\ +\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x42\x87\ +\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x05\xbd\ +\x00\x00\x03\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x0d\ +\x00\x00\x03\x92\x00\x00\x00\x00\x00\x01\x00\x00\x54\x5d\ +\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x35\ +\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x06\xab\ +\x00\x00\x01\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x28\xff\ +\x00\x00\x01\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x86\ +\x00\x00\x00\x26\x00\x00\x00\x00\x00\x01\x00\x00\x01\x47\ +\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x03\xa0\ +\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x03\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x5d\xff\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\x37\xba\ +\x00\x00\x03\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x51\xbb\ +\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x13\x15\ +\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x10\x75\ +\x00\x00\x02\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x3d\x23\ +\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x00\x47\x34\ +\x00\x00\x01\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x2c\x2e\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/7.2/plugins/Code editor/icons/icon4.py b/7.2/plugins/Code editor/icons/icon4.py new file mode 100644 index 0000000..e54200a --- /dev/null +++ b/7.2/plugins/Code editor/icons/icon4.py @@ -0,0 +1,335 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt5 (Qt v5.9.1) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = b"\ +\x00\x00\x11\x6f\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x11\x21\x49\x44\x41\x54\x78\x9c\xed\ +\x9d\x7f\x90\x54\xd5\x95\xc7\xbf\xe7\x76\xf7\xcc\xf0\x9b\x12\x41\ +\x60\x4d\x54\x6c\xf9\xd5\x3d\x1d\x7a\x1e\xa3\xa2\x4e\xe8\xf9\x21\ +\x3a\x8a\xae\x31\x3b\x81\xcd\x66\xc5\x98\xdd\x2a\x95\x68\x36\x4a\ +\x36\xba\x3f\x22\x65\x52\x71\xb7\x84\x35\xe5\x4a\xd4\xad\x52\x2a\ +\x44\xb7\x88\x6c\x2d\xa8\x41\x5d\x9d\x1f\xad\xf8\x03\x81\x9e\xc1\ +\x99\x6e\x86\x21\x28\x98\xa8\xa0\x02\x91\x41\xa4\x67\xba\xdf\x3d\ +\xfb\xc7\xf4\xe0\x7b\x6f\xba\x19\x66\xfa\xbd\xd7\x3d\x78\x3f\x55\ +\xf3\x47\x9f\x77\xfb\x9e\x33\xef\x7d\xfb\xbe\xfb\xee\x3b\xf7\x5e\ +\x40\xa1\x50\x28\x14\x0a\x85\x42\xa1\x50\x28\x14\x0a\x85\x42\xa1\ +\x50\x28\x14\x0a\x85\x42\xa1\x50\x28\x14\x0a\x85\x42\xa1\x50\x28\ +\x14\x0a\xc5\x99\x00\x15\x3a\x00\x37\x09\x04\x1a\x4a\x4a\x4a\x0e\ +\x4e\x48\x09\xdf\x78\xd6\xe5\x38\x41\x62\x3c\x00\x48\x96\xdd\xe4\ +\x11\xc7\x7c\x32\xd5\xdd\xdb\x3b\xf5\x68\x22\xb1\xa1\xb7\xd0\xb1\ +\xba\xc5\x99\x2a\x00\x9a\xfb\x8d\xea\xb9\x1e\x8f\xb8\x02\xe0\xd9\ +\x00\xcf\x66\xc2\x2c\x30\x9d\x07\x40\x0c\xf2\x5d\x09\x60\x3f\x03\ +\x5d\x02\xe8\x02\xb8\x53\xb2\x78\x3d\xd1\xd6\xd4\x09\x80\x9d\x0f\ +\xdd\x5d\xce\x18\x01\x84\xc3\x55\x93\x53\x28\xb9\x9e\x04\xd7\xb2\ +\x44\x0d\x08\xe7\xd8\xec\xe2\x20\x33\x9a\x09\xd4\xec\x43\xef\x73\ +\x6d\x6d\x5b\x3e\xb5\xb9\xfe\x82\x30\xa2\x05\xe0\xf7\xd7\x97\x96\ +\x8d\x4f\x5e\x4b\xa0\x65\x0c\x5c\x03\xc0\xeb\x92\xeb\x34\x13\x6d\ +\x26\x96\xeb\x92\xdd\x65\x9b\xf7\xee\x7d\xb1\xc7\x25\xbf\xb6\x33\ +\x22\x05\x30\x53\x8b\x9c\xed\x93\x9e\x3b\x09\xbc\x1c\x84\xb3\x86\ +\x51\xc5\x71\x00\xc7\x32\x7f\x00\x30\x2e\xf3\x37\x66\xc8\x35\x31\ +\x8e\x30\x68\x4d\x4a\xe8\x0f\xef\x89\x45\x0f\x0d\x23\x96\x82\x32\ +\xa2\x04\x30\x2b\x7c\xe5\x74\xaf\x48\xdf\x4d\x4c\xb7\x02\x18\x3d\ +\x48\xf1\x5e\x00\x5b\xc1\xd8\xce\x84\x2e\xc1\xbc\xa7\x17\xde\x3f\ +\x84\xfc\x13\x3f\xde\xb0\x61\x83\x9e\xed\x0b\x0d\x0d\x0d\x9e\xf6\ +\xbd\x9f\x9d\x53\x82\xf4\x45\x92\x68\x26\x31\x66\x81\x50\x09\xe0\ +\x52\x00\x25\x83\xf8\x3b\xce\xc4\x8f\xa7\xa5\x77\x75\x57\xdb\x2b\ +\x1f\x0d\xfd\xbf\x2b\x0c\x23\x42\x00\x7d\x4d\x7d\xcf\x0a\x00\xff\ +\x02\xa0\xec\x14\x45\xdf\x63\xc6\x33\x1e\x70\xa3\x4f\x8c\x7d\x2b\ +\x16\x7b\xfe\x0b\x3b\xfc\x6b\xda\x75\xa3\x53\xf2\xf3\x05\x3a\xa8\ +\x8e\x08\xdf\x01\x30\xe3\x14\xc5\x93\x00\x7e\x91\xec\x2e\x5d\x35\ +\x12\x6e\x0d\x45\x2f\x80\xe0\xfc\xda\x2b\x99\xf9\x11\x62\xcc\xcc\ +\x51\xa4\x9b\x41\xeb\x21\xe4\xba\xc4\x8e\x96\x37\xe1\x7c\x4f\x9d\ +\x02\xf3\xab\x2f\x83\x14\x37\x11\x78\x29\x80\xf1\xd9\x0a\x31\x61\ +\x8f\x90\x62\x79\x47\x5b\x63\xa3\xc3\xf1\xe4\x45\xd1\x0a\x20\x14\ +\x5a\x34\x46\xf7\xa6\x1f\x21\xe0\xe6\x1c\x45\x0e\x01\xf4\x50\x29\ +\xd1\x9a\x58\xac\xf1\xa8\x9b\xb1\xf5\xa3\x69\x75\x13\x7a\x98\x97\ +\x03\x7c\x17\x80\x49\x39\x8a\xad\x15\x69\xef\x1d\xed\xed\x2f\x1f\ +\x77\x33\xb6\xd3\xa5\x28\x05\x50\xae\xd5\x95\x33\xcb\x67\x00\xcc\ +\xce\x72\xb8\x1b\x44\xf7\x8b\x94\xe7\xb1\x62\x39\xa9\xa1\xd0\xa2\ +\x31\xd2\xa7\xdf\x0a\xe6\x9f\x21\x7b\x8b\xd0\x49\x24\x96\x74\xc4\ +\x1a\x3b\xdc\x8e\x6d\x30\x8a\x4e\x00\xc1\x70\xf5\x2d\x20\x5a\x83\ +\xac\xf7\x7a\x7e\x9a\x3d\xbc\x22\xb1\x3d\x7a\xd0\xf5\xc0\x4e\x83\ +\x40\x65\x64\x2a\xd2\x62\x35\x11\xbe\x9b\xe5\x70\x92\x80\xdb\x3b\ +\x5a\x9b\xd7\xba\x1e\xd8\x29\x28\x26\x01\x50\xb0\xa2\xe6\x3e\x00\ +\xf7\x0d\x3c\xc4\x7f\x62\xd0\xcd\x89\xd6\xe6\x66\xd7\xa3\x1a\x06\ +\xa1\x70\x75\xad\x24\xac\x05\xe8\x6b\x59\x0e\xaf\x8c\xb7\x36\xdf\ +\x8f\x22\x19\x55\xf4\x14\x3a\x00\xa0\xef\xf1\x4b\x8c\x9a\xba\x06\ +\xc0\x8a\x81\x47\x69\x73\xda\x4b\x57\x77\xee\x68\xde\xe5\x7a\x60\ +\xc3\xe4\xe3\x83\xfb\xf7\x9d\xf5\xb5\x0b\xd7\x09\x49\x01\x60\x40\ +\xe7\x35\x32\x65\xea\x05\x53\x16\x56\xcd\x7f\x69\xd7\xae\x5d\x05\ +\x17\x41\xc1\x05\xd0\xd0\xd0\xe0\xe9\x7c\xf7\xd0\xd3\x00\xdd\x6c\ +\x39\x24\x01\xfe\x69\xbc\xf5\x9b\x77\x1e\xfa\x70\xad\x2d\x8f\x73\ +\x6e\x72\xe8\xc3\x7d\x27\x3e\x39\xb0\x6c\xfd\xe4\x69\x7f\xfc\x82\ +\x80\x5a\x18\x5b\x5b\x42\xe5\xa1\x3f\x7f\x31\x6b\xe1\x15\x95\x1b\ +\x0b\x2d\x82\x42\x0b\x80\xfa\x7e\xf9\x03\x2e\x7e\x0f\x80\x25\xf1\ +\xd6\x96\x27\x80\x68\xc1\x7f\x25\xc3\x27\xca\x9f\x1e\xd8\xf7\xc6\ +\x94\x69\xe7\xc7\x01\xba\x01\xa6\xa1\x6a\x0a\x1e\x3a\x72\x62\xf2\ +\x27\x07\xf7\xbd\x50\xb0\xf0\x50\x60\x01\x64\xee\xf9\xd6\x66\xbf\ +\x9b\x98\xaf\x8d\xb7\xb5\xbc\x54\x88\x98\x9c\xe0\x93\x03\xfb\x3b\ +\xa7\xfc\xc5\x85\xaf\x83\xf9\x46\x00\xa5\x27\x0f\x10\x2a\xcf\x99\ +\x3e\x43\x7e\x72\x60\xdf\xab\x85\x8a\xad\x60\x9d\xc0\x4c\x6f\xff\ +\x09\x8b\xb9\x5b\x10\xaa\xdb\x63\xcd\xad\x05\x09\xca\x61\x42\x5a\ +\x4d\x85\x64\xb4\xc0\xf2\xa8\x48\xc0\x2d\x85\x7a\x3a\x28\x88\x00\ +\x32\xcf\xf9\xdb\x60\x7e\xd4\xeb\x21\xe6\xab\x3a\xda\x5a\x0a\xf6\ +\x6b\x70\x83\xe0\xfc\xba\x08\xa4\x7c\x09\xc6\x96\x00\x48\x0a\x21\ +\x2b\xdb\x77\x44\xe3\x6e\xc7\x33\x58\x72\x84\xed\x84\x42\x8b\xc6\ +\x64\x06\x79\x8c\x17\x5f\x02\xf8\xeb\x33\xfd\xe2\x03\x40\x7c\x47\ +\x63\x14\xe0\xef\xa2\xef\x7f\xee\xa7\x4c\x4a\xf1\x4c\x28\xb4\x68\ +\xe8\x6f\x23\xf3\xc4\x75\x01\x48\x6f\xfa\x3f\x31\x60\x84\x8f\xef\ +\x89\xb7\x36\x6f\x74\x3b\x96\x42\x11\x6f\x6d\xf9\x5f\x06\xdd\x6b\ +\x31\xcf\xc9\x9c\x1b\x57\x71\x55\x00\xe5\xe1\xba\x3a\x00\xdf\xb7\ +\x98\x9f\x8f\xb7\xb6\xac\x72\x33\x8e\x62\x20\xd1\x5a\xb5\x0a\xa0\ +\xcd\x16\xf3\xf7\x43\xe1\xea\x5a\x37\xe3\x70\x4d\x00\x7e\x7f\x7d\ +\xa9\x14\x72\x8d\xc5\xfc\x3e\xa5\x7a\x97\xa1\x48\x46\xc5\xdc\x65\ +\xa5\x4c\x7b\xb1\x0c\x84\x0f\x8c\x56\x49\xb4\xc6\xef\xaf\x2f\xcd\ +\xf5\x2d\xbb\x71\x4d\x00\x65\x13\x92\x77\x59\x5f\xe9\x12\xf3\xb2\ +\x8e\x8e\xd7\xff\xec\x56\x0c\xc5\xc6\xee\x6d\x4d\x87\x99\xb1\xcc\ +\x62\x9e\x35\x6a\x42\xcf\x8f\xdd\x8a\xc1\x95\xa7\x80\x39\x5a\xd5\ +\x34\x0f\xfb\xde\x05\x30\xca\x60\xfe\x6d\xbc\xb5\xf9\x26\x27\xfc\ +\x85\xc3\x55\x93\xd3\xe4\x5b\xdf\xff\x99\x19\x7a\xbc\xad\x79\xd1\ +\x50\xea\x08\x86\x6b\x5e\x26\xfa\x72\x9c\xc4\xcb\xa9\xa5\x4e\x25\ +\x82\x06\xc2\x35\x4f\x5b\x5e\x20\x7d\xa1\x53\xca\xdf\x19\xdb\x72\ +\xc0\x09\x7f\x46\x5c\x49\xa2\xf4\x48\xdf\xdd\x20\xd3\xc5\x3f\x0a\ +\x1f\xfd\xc4\x29\x7f\xba\xee\x29\x65\x2f\x6a\x4e\x1a\x08\xe9\x21\ +\x57\x42\xa8\x66\xc3\xf9\xd1\x75\x8f\x73\xcd\xb2\x57\xde\x0d\x5d\ +\x2c\xc6\x97\xe3\x03\xa3\x3d\xec\xbb\x0b\x80\x63\xe7\xa8\x1f\xc7\ +\x6f\x01\xb3\x2f\xae\x9d\x04\xc2\xad\x26\x23\xd1\xcf\xe3\x6f\x37\ +\x7d\xec\xb4\xef\x91\x42\x62\x7b\xf4\x20\x08\x3f\xb7\x98\x6f\x9b\ +\x7d\x71\x6d\xae\x24\x13\xdb\x70\x5c\x00\x9e\x14\x7e\x04\x73\xb6\ +\xed\x21\x91\xf2\x3c\xe6\xb4\xdf\x91\x86\x48\x79\x1f\x05\x70\xd8\ +\x60\x1a\xe3\x49\xc9\x3b\x1d\xf7\xeb\x64\xe5\x7e\x7f\x7d\x29\x81\ +\x97\x9b\xad\xf4\x50\xb1\x64\xf2\x14\x13\x99\x73\xf2\x90\xd1\x46\ +\xa0\x1f\x06\x02\x0d\x83\x65\x23\xe7\x85\xa3\x02\x28\x1b\xdf\x73\ +\x8d\x25\x6f\xbf\xbb\xb4\x2f\xdb\x47\x91\x85\x52\x12\x8f\x00\xe8\ +\x3e\x69\x20\x9c\x25\xca\x8e\x5c\xe3\xa4\x4f\xa7\x6f\x01\xa6\x5e\ +\x3e\x83\xd6\x17\x2a\x81\x73\x24\x10\x8b\x35\x1e\x25\xe0\x77\x46\ +\x1b\x33\x3b\xf2\xa4\xd4\x8f\x63\x02\x98\xa9\x45\xce\x06\x70\xad\ +\xd9\x9b\x5c\xe7\x94\xbf\x33\x05\x49\xc2\x7a\x8e\x16\x3b\xd9\x19\ +\x74\x4c\x00\x25\x92\xae\x07\xe0\x33\x98\xde\xcb\xe4\xed\x2b\x4e\ +\x41\x22\xd6\xf8\x06\x88\xf7\x19\x4c\x3e\x5f\x9a\xaf\x77\xca\x9f\ +\x63\x02\x60\x90\x69\x4c\x9b\x19\xcf\xe0\x2b\x39\xe4\x3b\x64\x98\ +\x25\x99\x6f\x03\x60\xc7\xde\x0f\x38\x25\x00\x22\x32\x0c\xc4\x00\ +\xf0\x80\x8b\x7a\x86\x4c\x31\x21\x20\x9a\x2c\x96\x1a\x38\x34\x6a\ +\xeb\x88\x00\x02\xe1\xda\x39\x00\xa6\x1a\x4c\xbd\x63\xca\x92\xaa\ +\xf9\x3f\x4d\x4a\xc4\xa8\x37\x01\xa4\xbe\xb4\xf0\xb4\x60\x45\x5d\ +\xb6\x49\x32\x79\xe3\xc8\x50\xb0\x20\x79\x05\x9b\x05\xbb\xf5\xad\ +\xb7\xde\x3a\x61\x57\xfd\x01\xad\xee\xeb\xe0\x74\xce\xe7\x63\x5d\ +\xc7\x54\xcb\xcf\x85\x02\x15\x11\xff\x10\xdd\x98\xaa\xd0\x09\xe7\ +\x07\x2a\x22\xb9\x27\xa6\x92\xb7\x37\x11\x6b\xfc\xe3\x10\x7d\x64\ +\x25\x16\x7b\xfe\x8b\x40\x45\xcd\x56\x02\xaa\xbe\x0c\x46\xaf\x02\ +\xd0\x69\x47\xfd\x46\x1c\x7a\x17\x40\x73\x4c\x1f\x19\xdb\x6d\xad\ +\x9d\xe5\x73\x80\xf8\x46\xce\x02\x03\x53\x5d\x3d\x04\xf1\x87\xbc\ +\x7c\x7a\xc4\x96\x53\x16\x60\xf9\x0e\x80\x79\xf9\xf8\x30\xf9\x63\ +\x6c\x03\x7d\x29\x00\x80\x1c\x69\x01\x1c\xb9\x05\x48\x60\x96\xf1\ +\x33\x13\xba\x9c\xf0\x73\x26\x43\xc4\x7b\x8c\x9f\x99\xcd\xe7\xd4\ +\x2e\x1c\x11\x00\x59\x04\x20\xd8\xfc\xcf\x28\x06\x87\x85\xc7\x7c\ +\xce\xc8\x19\x01\xd8\x7e\x0b\xe8\x1b\xbb\x3e\x7c\x81\xd1\xd6\x0b\ +\x6f\x5e\xcd\xef\x69\xe2\xf6\xfb\x05\x47\x13\x38\x53\x3a\xed\xf1\ +\x99\x3b\x32\x17\x68\x9a\xe6\x8b\xc5\x62\xa9\x1c\x5f\x19\x16\xb6\ +\x0b\xa0\xa4\xe4\xe0\x84\x14\xcc\xa1\x77\xb5\x5d\x7e\x10\x78\xc5\ +\x6e\x57\x27\x61\x50\x7d\xa2\xb5\xc9\xd5\x89\x24\x81\x8a\xda\xab\ +\x09\xfc\xa2\x53\xf5\x87\xfc\x13\x3f\xee\x7c\xd7\xf8\x72\x10\xe2\ +\x18\xc6\x4d\x00\x60\xeb\x3a\x44\xb6\xdf\x02\x52\xc2\x67\x9d\x1f\ +\x7f\x1c\x58\x29\xb3\x16\x56\xe4\x24\xb3\x8e\x91\x69\x4e\x64\xa9\ +\xf0\x66\x5d\x8d\x24\x1f\x6c\x17\x00\xeb\x72\x9c\xc5\x74\x2c\x6b\ +\x41\xc5\xe0\xb0\xf9\xdc\xc9\xb4\x6e\x3d\xb7\x79\x63\xbb\x00\xfa\ +\x97\x5f\x35\xa0\x04\x30\x5c\xc8\x7c\xee\x3c\x03\xcf\x6d\xde\xd8\ +\x2e\x00\x22\xb2\x8e\xf7\x17\xd3\x22\x14\x0a\x0b\xb6\x0b\x40\x67\ +\xd9\x6d\x31\xd9\xae\xda\xaf\x0c\x0c\x53\x93\x9f\xe5\xdc\xe6\x8d\ +\xed\x02\xf0\x31\x5b\x13\x3e\x94\x00\x86\x0b\x99\x05\x20\xbc\x1e\ +\xdb\x6f\xa7\xf6\xb7\x00\x7a\xda\x2a\x80\x32\x07\xf2\xda\xcc\xcf\ +\xfc\x2c\x5d\x9f\x54\x99\xc5\xa7\xad\xe3\x10\x0d\x0d\x0d\x1e\x58\ +\x56\x43\xed\x91\xe9\xe2\x6f\x01\x66\xcf\x9e\x36\x30\xc8\xd1\x9f\ +\x0e\x67\x3d\xdf\x9c\x10\xc1\xbc\x14\xab\xb0\x7d\x65\xf0\xd3\x08\ +\x42\x4c\xb5\x58\x3e\xb4\xb3\xfa\xf6\xbd\x9f\x59\xff\x27\x39\x0e\ +\xc7\x6c\x4f\xa7\xb3\x5d\x00\x99\xe7\x57\xd3\x5b\x31\x91\x26\x5b\ +\x87\x31\x99\x2d\x27\x5b\x0e\xb8\x18\x8e\x23\x88\x4d\x3e\xc9\x66\ +\x01\xf8\x3c\x6c\x5d\x5c\x6a\xbf\xdd\xa3\x80\x80\x73\x09\x21\xed\ +\xc6\x0f\x52\x20\x60\x6b\xed\x96\x09\x95\x44\x1c\xb6\xb5\xfe\xd3\ +\x80\x99\x4c\x3e\x99\xec\x15\x00\x49\xdd\x2c\x00\xc6\x6e\x3b\xeb\ +\xef\xc7\x19\x01\x30\x99\x56\xc4\x24\x49\x41\x5b\xab\xd7\xc9\xba\ +\x90\x44\x9d\x9b\x8b\x2b\x04\x02\x91\xb1\x00\xd7\x99\x8c\x52\x46\ +\xed\xf4\xc1\x4c\xe6\x89\xb4\x0e\xbd\x51\x75\x44\x00\x0c\x36\x09\ +\x80\x09\xb6\x0a\x20\xb1\xb3\x69\x07\xcc\x4d\x6e\x99\xf4\xa6\xae\ +\xb2\xd3\xc7\x29\x29\xa1\xab\x60\x5e\xec\xe9\x83\x78\x5b\x34\x66\ +\xa7\x0b\x26\x5c\x6c\xb1\x8c\xa0\x16\x00\xf4\x8e\xe9\x13\x50\xb9\ +\x60\xc1\x82\x51\xb9\x4a\x0f\x03\x26\xf0\x26\x8b\xcf\x7b\x80\x95\ +\x2e\x4c\x77\x5f\x29\x88\xc4\x3d\xa6\x60\x18\x9b\x60\x63\xc2\xab\ +\xa6\x5d\x37\x9a\xfa\xf6\x28\x38\x89\x64\xf1\xba\x5d\xf5\x1b\x71\ +\xe4\x84\xf5\x6d\xb0\x44\xc6\xa9\xcd\x65\x9f\x27\x47\x45\xec\xf4\ +\x41\xe0\xa7\x2c\xa6\xca\x40\xf8\xb5\x25\x76\xfa\xc8\x46\xb9\xf6\ +\xea\x52\x80\xe7\x1b\x6d\x4c\x03\x62\xc9\x8b\x5e\x79\xe2\x32\x98\ +\x53\xea\x0f\x66\x36\xad\xb2\x1d\xa7\x7e\x31\x0c\x92\x2f\x58\x0c\ +\x57\xdb\xe9\xa0\xbd\x35\xba\x95\x89\x9e\x35\xda\x04\x61\x55\xa0\ +\x32\xe2\xd8\x13\x41\xa0\x32\x32\x15\x4c\x0f\x5a\xcc\x9b\x76\xc5\ +\x5a\xde\xb6\xd3\x8f\x84\xb4\xa6\xd4\x37\xc3\xa1\x94\x7a\xe7\x9a\ +\x4c\xb6\xac\x7f\x43\x5c\x6f\xb7\x0b\x62\xba\x17\x86\xd5\xb6\x18\ +\x98\x4e\xba\x67\xe3\xf9\x91\x53\x24\x6f\x0e\x93\xf3\x23\x91\x32\ +\xa1\x8b\x4d\x0c\x4c\x37\x98\x75\x22\x69\x5d\xec\x29\x5f\x88\x04\ +\x9b\x5a\x32\x02\x39\xb6\x48\xb6\x63\x02\x48\x8d\xea\x69\x84\x29\ +\xb5\x19\x17\x05\xc3\x91\xf9\xb9\xca\x0f\x87\x78\x6b\x63\x27\x81\ +\x1f\x35\x5b\xf9\xd2\xb1\xdd\x62\x9d\x9d\xeb\xec\xf8\xfd\xf5\xa5\ +\x63\xbb\xc5\x3a\x06\x2e\x31\xda\x09\xfc\x58\x47\x2c\x6a\x6b\xe7\ +\x2c\xa0\xd5\x5d\x0e\x26\x63\x46\x55\xaa\x57\xe8\xcf\xe6\xfc\x42\ +\x9e\x38\x26\x80\xae\x37\xde\x38\x06\xd0\xcb\x46\x1b\x93\x58\x9e\ +\xab\xfc\x70\x39\x36\x9e\x57\x80\xb1\xcd\x62\x6e\x28\x1b\x9f\x6c\ +\x0c\x87\xab\x26\xe7\x5b\x7f\x38\x5c\x35\xb9\x6c\x5c\x4f\x13\x80\ +\x06\xa3\x9d\x80\xb7\x8f\x8d\xe7\x2c\xab\x9b\xe7\x87\x60\x69\x9d\ +\x0c\xba\xd9\xc9\xdd\xc8\x9c\xed\x35\x93\x34\xfd\x3a\x09\x58\x6a\ +\xf7\x44\xc7\xfd\xd1\x68\x32\x05\xcf\xb7\x2c\x9d\x4e\x00\x74\x45\ +\x8a\x7c\xdb\xcb\xb5\xda\x1b\x30\xbc\x57\xd2\x54\xae\xd5\xde\x90\ +\x22\xdf\x76\x10\x2e\xb7\x1c\x3a\xd0\xcb\x9e\x1b\xf7\x47\xa3\xc9\ +\xe1\xc6\x9d\x8d\x79\xf3\x22\x13\x19\xb0\x76\x64\x1d\x9d\x50\xeb\ +\xa8\x00\xe6\xcc\x38\xfb\x25\x06\xf6\x1b\x4c\x65\x5e\x9d\xad\xeb\ +\x04\xe6\x4d\x57\xdb\x2b\x1f\x09\xe2\xc5\x60\x58\x97\x9d\x39\x8f\ +\x99\x37\x06\x2a\x6a\x5e\x0d\x6a\x35\x8b\x34\x4d\xf3\x65\xad\xc0\ +\x40\x20\xd0\x50\x12\xd4\x6a\x16\x05\x2b\xaa\x5f\x63\xe6\x8d\x00\ +\xce\x33\x15\x60\x7c\x2c\x88\x17\x3b\xb1\x35\x5c\x5a\x88\xe5\x30\ +\xbe\x3d\x65\x1c\x49\x76\x97\x3a\xba\x9a\xb8\xe3\xc9\x1a\x81\x8a\ +\xda\x7f\x24\xf0\xbf\x1b\x5c\x1e\x10\x69\xcf\x45\x4e\xac\x12\x12\ +\x0a\x45\xce\x95\x5e\xb1\x09\x80\x96\xa3\xc8\x51\x00\x2f\x82\x10\ +\x23\xa6\x03\x32\xf3\x52\x49\x30\xa6\x33\xf1\x34\x30\xcf\x07\xa8\ +\x1e\xb9\x5f\x61\xc7\x44\x5a\xde\xd0\xde\x1e\xfd\x20\xc7\xf1\x3c\ +\x62\x5f\x34\x46\x7a\xd3\xef\xc3\xb0\xf9\x14\x33\xdf\x9f\x68\x6b\ +\xc9\xb2\x83\x8a\x7d\x38\x3e\x70\x92\x22\xfd\x49\xf4\xed\xa5\x97\ +\x81\xa7\xb1\x2f\x75\x97\x13\xbe\xda\xdb\xa3\x1f\x94\xd2\x98\x6f\ +\x02\xf4\x24\xb2\x3f\x36\x4d\x00\xb0\x14\x8c\x07\x19\xfc\x14\x31\ +\x37\x13\x73\x33\x83\x9f\x02\xe3\x41\x80\x96\x20\xfb\xc5\x67\x10\ +\x3f\x31\xae\xf4\x44\x95\x13\x17\x1f\x00\xa4\x2f\x7d\x1b\xcc\x3b\ +\x8f\x1d\xd7\x7d\xe2\x61\x27\x7c\x19\x71\x25\x5d\x2b\x10\xae\x79\ +\x80\x08\xc6\xd1\xb3\xcf\xe1\x23\xbf\x93\x2b\x85\x05\xe6\x45\xe6\ +\x09\x41\x0f\xe4\x3b\xfe\xc0\xc0\x8b\x60\xbe\x37\xd1\xd6\xf2\xce\ +\xe0\xa5\x87\x47\x66\x1d\xc5\xdd\x30\x37\xff\xab\xe3\x6d\xcd\xb6\ +\x77\x32\xad\xb8\xb2\x52\x68\x99\x10\xff\x06\x73\x3e\xfb\x58\x4e\ +\xe1\x7e\x27\x7d\x26\x76\x46\x77\x76\xb4\xb6\xd4\x13\x63\x61\xa6\ +\x45\x18\x4a\x4f\xfa\x10\x40\x4f\x12\x63\x61\xa2\xb5\xf9\x1a\x27\ +\x2f\x3e\x00\x08\xe9\x5b\x05\x73\xcb\x73\x42\x17\xa9\xd5\x4e\xfa\ +\xec\xc7\xb5\x84\xcd\x60\xb8\xe6\x0e\x10\x4c\x4d\x1a\xb1\xb8\xd2\ +\xad\x9d\x35\x23\x91\x88\xf7\xf0\x51\xba\x5c\x02\x35\x44\x34\x03\ +\xc0\xf7\x2c\x45\x9e\x62\xe6\xf7\x04\xd0\x3c\x69\x02\xbf\x11\x8d\ +\x46\x87\xbe\xb8\xe4\x30\xe8\xdb\x61\x8c\x2c\xe7\x80\xfe\x39\xde\ +\xda\xf4\x4b\x37\xfc\xbb\x26\x80\x40\xa0\xa1\x84\x4a\x0f\x27\x00\ +\x9c\x9c\xa6\x4d\xc0\x47\x29\x2f\x85\x76\x6f\x6b\x3a\x7c\x8a\xaf\ +\x3a\x10\x4b\x64\x2c\x95\x0a\x53\x7e\x1d\xf7\xc8\x71\x89\x44\xf4\ +\x73\x37\xe3\x98\x7d\x71\xed\x24\xaf\xce\x3b\xc1\x38\xf7\x64\x1c\ +\x84\x3d\x3d\x47\x4b\x43\x6e\xed\x3b\xec\xda\x62\xd1\x89\xc4\x86\ +\x5e\x62\xfe\x3b\x18\x3a\x67\x0c\x4c\xf7\xa6\xf1\x38\xbe\x92\xa9\ +\xe3\x2b\x85\x37\x8d\xdf\x18\x2f\x3e\x00\x08\x29\x96\xbb\xb9\xe9\ +\xb4\xab\xfb\x05\xf4\xed\x08\x42\x96\xbd\x01\xf8\xdb\x41\xad\xfa\ +\x0e\x37\xe3\x28\x06\x02\x15\x5b\x56\x00\x7c\xad\xc5\xbc\xd6\xed\ +\xcd\xa6\x5d\xdf\x31\x24\xd9\x5d\xf2\xaf\x00\xcc\x9d\x2a\xa6\x5f\ +\x05\xc2\xd5\xdf\x76\x3b\x96\x42\x11\xac\xa8\xbe\x91\xc0\x0f\x58\ +\xcc\x9d\x22\xed\x75\xfd\x87\xe0\xba\x00\xf6\xee\x7d\xb1\x47\x08\ +\xf9\x3d\x98\xc6\x06\x40\x44\xf4\x74\xa8\xa2\xb6\x2a\xd7\xf7\xce\ +\x14\xca\xc3\xd5\x0b\x01\xfa\x6f\x98\xcf\x7d\x52\x08\xf9\x9d\x42\ +\x2c\xa1\xeb\xba\x00\x00\xa0\x7d\x47\x34\xce\x4c\x7f\x0b\xf3\x60\ +\x4d\xa9\x04\x3f\x37\x77\x7e\x9d\xeb\x09\x9e\x6e\x11\x98\x17\x99\ +\x97\xc9\x61\x30\xbd\xa9\x24\xe0\xf6\x42\xec\x18\x06\x14\x48\x00\ +\x00\x90\x68\x6b\xfa\x1f\xd0\x80\x3d\x03\x26\x0a\x29\x5f\x0d\x68\ +\xb5\xd5\x05\x09\xca\x41\xca\xc3\xd5\x0b\x49\x88\x28\xfa\x46\x23\ +\x4f\x42\x44\xf7\x15\x72\x47\xf1\x82\x09\x00\x00\xe2\xb1\xa6\xff\ +\x60\xe0\x11\x8b\x79\x1c\x31\xbf\x14\x08\xd7\xfe\x55\x41\x82\x72\ +\x80\x60\x45\xf5\x8d\x4c\xf4\x7f\xb0\x5c\x7c\x80\x7e\xdd\x11\x6b\ +\xb2\xee\x13\xe0\x2a\x05\x15\x00\x00\x9e\x7b\xe1\xa4\x7f\x00\xb0\ +\xde\x62\x2f\x21\xe2\x67\x82\x5a\xed\xdd\x18\xd1\x8f\x88\x2b\x45\ +\xb0\xa2\xfa\x27\x00\x6d\x80\xa5\xd9\x07\xb0\x7e\xce\x85\x67\xdd\ +\x89\x02\xaf\x9e\x5a\x24\x27\x77\xa5\x08\x6a\xaf\xfd\x0a\x8c\x6c\ +\xbd\xe0\xdf\xa7\xbd\x74\xb3\x9d\x83\x45\x6e\x0c\x04\x05\x16\x5c\ +\x75\x16\xf5\xa4\x7e\x03\x60\xf1\x80\x83\x8c\x47\xe7\xf8\x27\xdd\ +\x91\x99\x45\x55\x50\x0a\xdd\x02\x64\x58\x29\xe3\xb1\xe6\x1f\x81\ +\xf8\x9f\xb2\x1c\x5c\xec\xd5\x79\x67\x79\xb8\xc6\xf6\x9c\x42\xa7\ +\x28\x0f\x57\x2f\xa4\x9e\x54\x1b\xb2\x5c\x7c\x22\xba\x2f\xde\xd6\ +\xbc\xbc\x18\x2e\x3e\x50\x34\x02\x00\x00\x70\x3c\xd6\xf2\x00\x98\ +\x7f\x00\x73\x2e\x21\xc0\x38\x97\x09\x2f\x04\x2b\xaa\xd7\x3b\x99\ +\xf5\x9b\x2f\x81\xca\xc8\xd4\x60\x45\xcd\x6f\x99\x28\x0a\xe0\xeb\ +\x96\xc3\x49\x02\x6e\xe9\x88\x35\xdd\x8f\x22\x5a\x34\xbb\x98\x04\ +\x00\x00\x88\xb7\xb5\x3c\x09\x96\x97\x01\x78\x77\xe0\x51\x5a\x42\ +\xba\xe8\x2a\xd7\x6a\x7f\xe6\xbf\xa4\xbe\x68\xd6\x1d\x08\x85\x16\ +\x8d\x09\x6a\x35\x2b\x48\x17\x5d\x18\xf8\x92\x09\x00\x3a\x85\x90\ +\x95\x85\xec\xed\xe7\xa2\x48\xfa\x00\x03\xf1\x5f\x52\x3f\xbe\x2c\ +\x95\xfc\x35\x40\x7f\x93\xb5\x00\xe3\x08\x04\xaf\x4a\x7b\xc4\x7f\ +\x0d\xb5\x7f\x60\x57\x1f\x60\xde\xbc\xc8\xc4\x4c\x1a\xd7\x8f\x61\ +\x4e\xe6\x30\xb2\x56\xa4\xbd\x77\x14\xeb\x3e\x49\x45\x2b\x80\x7e\ +\x32\xeb\xf1\xad\x01\x30\x23\x47\x91\x1e\x10\xfd\x0e\x3a\x3f\x1e\ +\xdf\xd9\xfc\x16\x4e\xa3\x79\xcd\x53\x00\x14\xd0\xea\x2e\x17\x2c\ +\x6f\xca\x24\x70\xe6\x6a\x89\xba\x88\xc5\x0f\xdd\x1e\xdb\x1f\x2a\ +\x45\x2f\x00\x00\x58\xb0\x60\xc1\xa8\xee\xe4\xe8\x7b\x89\xf8\x6e\ +\x58\x56\xcd\x30\xc3\x7f\x02\xd1\x26\x06\x6d\xec\x39\x5a\xf2\x66\ +\xae\xb7\x6a\x43\x15\x80\xa6\x5d\x37\xba\x57\x9e\xb8\x4c\x42\xd6\ +\x92\xe0\x25\x96\xbc\x7d\x2b\x27\x00\xfa\x45\xb2\xbb\x64\xb5\x9b\ +\x6f\xf5\x86\xcb\x88\x10\x40\x3f\xa1\xd0\xa2\x29\xba\x2f\xf5\x53\ +\x62\xba\x1d\xc0\x60\xb3\x7f\x7a\x09\x68\x63\x60\x2b\x01\xef\xb0\ +\x10\xfb\x74\x5d\xee\x0b\xfa\x27\x7d\xb0\x6b\xd7\xa7\xa3\xb2\x09\ +\x60\xee\xdc\xc9\x27\xda\xf7\x7e\x76\x8e\xcf\xc3\x33\x49\xea\x33\ +\x99\x69\x26\x13\x2e\xce\x4c\xd4\x1c\x2c\xa3\xf8\x38\x18\x8f\xe9\ +\x22\xb5\xda\x8d\x2d\x5f\xed\x62\x44\x09\xa0\x9f\x39\x5a\xd5\x34\ +\x21\x4b\x6e\x23\xe2\xbf\x87\x79\x63\x8a\xd3\xa1\x7f\x2a\x99\x3d\ +\x1d\x60\xc6\x11\x06\x3f\xa2\xfb\xc4\xc3\x6e\x27\xb6\xd8\xc1\x88\ +\x14\x40\x3f\x9a\xa6\xf9\x92\x72\xe2\x5f\x0a\x92\x3f\xc8\xec\x51\ +\x34\x68\xde\xbf\x4d\xa4\x01\xfc\x1e\xc0\x3a\xee\x99\xb4\x39\x91\ +\xd8\xd0\xeb\x92\x5f\xdb\x19\xd1\x02\x30\xa2\x69\x75\x13\x92\x52\ +\x5e\x43\x84\x6f\x01\xa8\x06\x70\xb6\xcd\x2e\x0e\x02\xdc\x04\x16\ +\x2d\xbd\x42\x7f\xd6\xc9\xe9\x5a\x6e\x72\xc6\x08\xc0\x02\xcd\x99\ +\x77\xa5\x5f\x78\xe4\x65\x04\xbe\x14\xcc\x7e\x80\x66\xa0\x6f\x96\ +\xcf\xc0\xfd\x44\xcc\x30\x03\xef\x0b\xf0\x6e\x80\x76\x03\xdc\xc9\ +\xf0\x6c\x89\xb7\x36\xee\x46\x11\x0d\xe0\xd8\xc5\x99\x2a\x80\xac\ +\x68\x9a\xe6\x4b\xa7\x27\x4c\x61\x1f\x8f\x05\xd3\x18\x96\x18\x0b\ +\xc1\xe7\xea\xe4\xe9\x24\x99\x3e\x46\x3e\xcf\xb1\xcf\x47\xe9\x47\ +\xed\x9e\xf3\xa7\x50\x28\x14\x0a\x85\x42\xa1\x50\x28\x14\x0a\x85\ +\x42\xa1\x50\x28\x14\x0a\x85\x42\xa1\x50\x28\x14\x0a\x85\x42\xa1\ +\x50\x28\x14\x0a\x85\x42\xe1\x34\xff\x0f\x58\xb2\x0d\x2b\xa8\xce\ +\xd7\x63\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = b"\ +\x00\x04\ +\x00\x06\xfa\x25\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x35\ +\x00\x0a\ +\x0e\x0f\xb0\x27\ +\x00\x70\ +\x00\x6c\x00\x75\x00\x67\x00\x69\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct_v1 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +qt_resource_struct_v2 = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x5f\x3b\x33\xe7\x5c\ +" + +qt_version = QtCore.qVersion().split('.') +if qt_version < ['5', '8', '0']: + rcc_version = 1 + qt_resource_struct = qt_resource_struct_v1 +else: + rcc_version = 2 + qt_resource_struct = qt_resource_struct_v2 + +def qInitResources(): + QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/7.2/plugins/Code editor/icons/iconf.py b/7.2/plugins/Code editor/icons/iconf.py new file mode 100644 index 0000000..ea16e53 --- /dev/null +++ b/7.2/plugins/Code editor/icons/iconf.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt4 (Qt v4.8.7) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = "\ +\x00\x00\x04\x28\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\ +\x00\x00\x03\xef\x49\x44\x41\x54\x78\x5e\xd5\x99\x7d\x4a\xe3\x40\ +\x14\xc0\xad\x16\x44\x51\x12\x54\x44\x51\x4c\x44\xff\x50\x44\x9b\ +\x7a\x81\xd5\x13\x34\x7b\x83\x78\x82\xcd\x9e\x60\x7b\x84\xf5\x06\ +\xf1\x06\xe9\x09\x36\x5e\x40\x1b\x41\x54\xfc\x20\x11\x45\xf1\xab\ +\x1d\x11\x45\xa8\xba\x2f\x4b\x35\x62\xe6\xb3\xd3\x90\xee\x83\xa1\ +\xc2\xbc\x79\x33\xbf\xd7\xd7\x37\xef\x8d\xb9\xb7\xb7\xb7\xae\x5c\ +\x2e\xd7\xd5\x8a\x2c\x2f\x2f\xff\x80\x8f\xdf\x0c\x35\x6f\x6b\x6b\ +\x6b\xb5\x2b\x25\xc9\xcb\x2c\x06\xf8\x32\x87\xda\x4a\xb1\x58\xd4\ +\xb6\xb7\xb7\xc3\x8e\x02\x30\x0c\xa3\x04\x00\x2a\xa7\xba\x0d\xe3\ +\x67\x47\x01\xc0\xe1\x4d\x01\x75\xf3\x7f\x07\xd0\x97\x96\x96\x0a\ +\x3b\x3b\x3b\x7e\x47\x00\x2c\x2e\x2e\xc6\xe1\xc3\x2f\x56\x1a\x61\ +\x94\x6f\xd1\xfb\x56\x3c\x91\x2d\x80\x70\x1a\x5d\x58\x58\x50\xe0\ +\xa3\x4e\x51\x09\x60\xe8\x84\x39\x73\x77\x77\xb7\x92\x5d\x08\xb1\ +\x63\xbf\xda\x1c\x16\xe5\xc7\xdc\xd1\x00\x5e\x34\x68\x00\xf3\xf3\ +\xf3\xf6\xde\xde\x1e\xca\x04\x60\x6e\x6e\x4e\x61\x00\x38\xfb\xfb\ +\xfb\x3e\xe8\x91\xe6\xd5\x66\x4a\xdd\xc8\x00\x80\xe9\xfd\xfa\xc1\ +\xc1\x81\xdf\xd4\x73\xe1\x03\xab\x9b\x29\xc0\xeb\xeb\xab\x4d\x99\ +\x76\x3f\xe9\x51\x01\x32\x49\xa3\xb3\xb3\xb3\x1a\x78\xd6\xa0\x03\ +\xc4\x30\xa0\x8b\xfd\x96\x20\xe3\x65\x01\xc0\xbe\x79\xe1\x60\xde\ +\xfb\xc4\xe1\xe1\x21\x9a\x99\x99\x89\xb2\x91\xf1\xe5\xf0\x06\xcc\ +\x85\x59\x01\x58\x34\xef\x1f\x1f\x1f\xa3\x2f\xfa\xce\xe7\x52\x3b\ +\xf2\xfc\xd1\xd1\x51\x98\xc9\x4d\x3c\x3d\x3d\xcd\x0a\x1f\x0f\x07\ +\x05\x10\xef\x00\xce\xc9\xc9\xc9\x66\x06\xc5\x1c\xc3\xfb\xb1\x77\ +\xdd\xaf\x13\x70\xe0\x50\xd7\xf5\xf7\x5b\x39\x9e\xef\x40\x80\x6a\ +\x10\x04\x21\x01\x3c\x02\xb3\xc2\x30\x4c\xdc\xbe\x9a\xa6\x29\xcd\ +\xb2\x43\xc5\xd9\x84\x35\xc5\xb6\x00\x4c\x4d\x4d\x15\x00\x40\xa7\ +\xa8\x38\x14\x70\x87\x91\x14\x48\x15\xad\x01\xfb\x7e\x3b\x3d\x3d\ +\xdd\x64\x03\xc8\x57\x9e\x1e\x69\x02\x0e\xe0\xc3\x41\xca\x2d\xda\ +\x8d\xe6\xd9\x00\x92\xe9\x33\x38\x3b\x3b\xa3\x36\x29\x00\x91\xa8\ +\x7b\x26\x27\x27\x35\x00\x58\xe1\xe8\xe2\xd6\xa4\x00\x26\x26\x26\ +\x58\xe1\xe3\xa6\xd8\xcd\xa9\xb0\x7f\xe9\xfc\xfc\xbc\x42\x05\x60\ +\x6c\x64\x33\x36\x71\xda\xd8\x10\xd5\x61\xa8\x98\x30\xa2\x03\xc8\ +\x14\x6f\x17\x17\x17\xc2\x3d\xee\xf8\xf8\x38\xe9\x4e\x29\x63\xde\ +\x98\x4c\xd0\x57\x60\x1f\x24\x0c\x30\x36\x36\xc6\xea\x7b\xeb\xa0\ +\xf3\x8b\x16\x5e\x97\x97\x97\x3e\xa7\xf7\xab\xa0\xbb\x0e\xf6\x22\ +\x08\x55\xa4\x7a\xcd\x4b\xc4\xa9\x0e\xa3\xcc\x0a\x2f\x4e\x00\xaf\ +\x39\xe7\x61\xaa\x55\x4b\x1e\x40\x5c\xaa\x57\x57\x57\x89\xcb\x6d\ +\x74\x74\x94\x94\x14\x1c\x4a\x1f\xb1\x02\xeb\xb4\xc8\x1e\x37\xc0\ +\xc8\xc8\x48\x09\x6a\x7a\x55\x02\xc0\x21\xf4\x13\xd8\x1f\xef\xcd\ +\xcd\xcd\x47\x23\x04\x83\x94\x52\xd7\x29\x00\xe2\xcf\x26\x8c\xda\ +\x88\x14\x3e\x26\x2d\x15\x5f\x5f\x5f\xa3\xe1\xe1\x61\x2f\xf2\x7a\ +\x22\x8c\x78\x01\x86\x86\x86\x14\xc9\xf0\x71\x6f\x6f\x6f\x11\xc6\ +\x6e\x89\x10\x3e\x6e\xa2\x7e\x4a\x02\x18\xb0\xbe\x70\x77\x77\xe7\ +\x33\x01\x38\x0e\x1f\x80\x87\x03\xca\xbc\x88\xf7\xeb\xb5\x5a\xad\ +\x82\x2b\xc3\xc9\x0f\x63\xf2\x00\x65\xd8\x74\x43\xe2\xf6\xa5\xd6\ +\x51\xe0\xe5\x50\x55\xd5\xb8\x9b\x8b\xc5\x64\x02\x28\x20\x1c\xad\ +\xa3\x70\xf9\x00\x66\x49\x77\x4a\x6c\x8b\xd4\xcd\xc5\xa2\x83\x9d\ +\x02\x42\xc8\x4f\x00\x08\x54\x88\x2e\x02\x91\xf0\x3e\xdd\x19\xec\ +\x30\xb2\x61\xac\xc9\x00\x08\x7b\x7f\x70\x70\x50\x21\xd8\x75\xef\ +\xef\xef\xb1\xce\x40\x08\x85\xb0\x0e\xf7\xc6\x6a\x12\x01\x06\x06\ +\x06\x30\x35\x8a\x7c\xf8\x50\x42\xd2\x80\x3d\xff\x90\xc0\x09\x21\ +\xa7\xc2\x9a\xd2\xc3\xc3\x43\x25\x06\xe0\xcf\x3e\x2e\x2c\x44\x6d\ +\x04\xd0\x9b\x83\x22\xec\x07\xe2\x7c\x9a\xe1\xd3\xdf\xdf\x9f\x4c\ +\x0a\xf2\x62\x81\x5d\xfb\xf1\xf1\x11\x7d\x00\xf4\xf5\xf5\xa5\x1c\ +\x3e\xf2\x42\xaa\x50\xf3\x9c\x8d\x8b\xfb\xf4\xf4\xd4\x4a\xf8\xd8\ +\x9c\x7d\x34\xed\x35\xdb\xe0\x01\xa0\xc5\x62\x3d\xce\xc9\xfc\xd2\ +\xdb\xdb\x4b\x4a\x0a\xd5\xe7\xe7\xe7\x55\x01\x3b\x35\x5c\x8f\x10\ +\xd9\x07\x3b\xe1\x3f\x00\x30\xf8\x9d\x65\x48\x3e\x7c\xd8\x6d\x28\ +\xed\x6d\x89\x54\xa1\x02\x80\xbc\x08\x56\xb4\xae\x20\x80\x47\x00\ +\xb0\x52\x03\xe8\xe9\xe9\xd1\xa0\xf6\xc7\x86\xcf\xcb\xcb\x4b\xc8\ +\x0b\xc0\xe8\x11\x8c\x68\x9f\x7c\x4a\xde\xb7\xdb\xf5\x8a\xd1\x68\ +\x34\x50\x77\x77\x37\xe9\x1f\x26\xb6\x04\x80\x44\xed\x23\x6e\x8f\ +\x04\x60\xa6\x00\x40\xcc\x6a\x1e\x80\x31\xc3\x87\x52\xdc\xe1\xde\ +\x8d\xf4\xbf\x17\x73\x56\xa3\x99\xa0\x5b\xa0\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x04\ +\x00\x06\xfa\x24\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x34\ +\x00\x08\ +\x06\x57\x5a\xe7\ +\x00\x66\ +\x00\x6f\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/7.2/plugins/Code editor/icons/icons3.py b/7.2/plugins/Code editor/icons/icons3.py new file mode 100644 index 0000000..604dfcf --- /dev/null +++ b/7.2/plugins/Code editor/icons/icons3.py @@ -0,0 +1,765 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt4 (Qt v4.8.7) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = "\ +\x00\x00\x09\x3f\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x08\xe1\x49\x44\x41\x54\x78\x9c\xed\ +\x9d\x7b\x8c\x5d\x55\x15\x87\xbf\x3b\xd3\x32\xd4\x4a\x2b\x30\x20\ +\x14\x28\x43\x99\x92\x86\x46\xd0\x02\x22\x18\x61\xd2\x00\x4a\x82\ +\x16\x24\x84\x47\x02\x04\x50\x20\x28\xa0\x08\x62\x4c\x08\x31\x22\ +\xd1\x28\x21\x24\x84\x57\x20\x68\x08\x2f\x23\x3e\x42\x0b\xe1\x95\ +\x42\x28\xa1\x56\xde\x2d\xd4\x88\x2d\xad\x88\x3c\x5a\xa8\x54\x6c\ +\x67\xa6\xa5\xe3\x1f\xab\xa3\xd7\x73\xd6\x99\x7b\xf7\xbd\xe7\x9c\ +\x75\x1e\xeb\x4b\x4e\xd2\xd9\x99\xde\xf9\xed\xb5\x7f\x77\x9f\x7d\ +\xf6\x59\x7b\x6f\x70\x1c\xc7\x71\x1c\xc7\x71\x1c\xc7\x71\x6a\x44\ +\xc3\x5a\x40\x0a\x4c\x02\x66\x00\xfd\xc0\x2e\xc0\x14\x60\x07\xe0\ +\x63\x60\x14\xd8\x08\xac\x07\xde\x06\x3e\x34\xd2\x58\x58\xca\x66\ +\x80\x5d\x81\x23\x81\xc3\x81\x83\x81\x03\x81\x7d\x81\xde\x36\xff\ +\xff\x06\xe0\x75\xe0\x15\xe0\x45\xe0\x19\x60\x05\x62\x16\xa7\x80\ +\x34\x80\x43\x81\x6b\x90\x06\x1b\xcb\xe0\xda\x00\xdc\x0f\x9c\x09\ +\x4c\xcf\xa7\x5a\x4e\x2b\x66\x00\x57\x21\xdf\xd6\x2c\x1a\x3d\xe9\ +\x1a\x06\x1e\x00\xbe\x02\xf4\x64\x5e\x4b\x27\xc6\xa1\xc0\x7d\xc0\ +\x56\xf2\x6d\x78\xed\x5a\x05\x5c\x0c\x4c\xcd\xb4\xc6\x0e\x00\x87\ +\x00\x0f\xd3\x7d\x57\xbe\x0a\x58\x0e\xbc\x00\xbc\x04\xac\x04\xfe\ +\x01\x8c\x74\xf1\xb9\xeb\x80\xcb\x90\xc1\xa5\x93\x32\x33\x80\xbb\ +\x08\x6b\x90\x37\x80\x7b\x80\xcb\x81\xe3\x81\x41\xa0\xaf\xc5\xdf\ +\x69\x00\xbb\x01\x87\x01\x67\x01\xbf\x00\x9e\x06\x36\x07\xfc\xdd\ +\xb5\xc0\x29\x94\x6f\xe0\x5c\x48\x7a\x80\x8b\x90\x47\xb4\x56\x81\ +\xdf\x82\xf4\x0e\x17\x02\x03\x29\xeb\xd8\x11\x38\x06\xb8\x1e\xf8\ +\x5b\x1b\x5a\xc6\x80\x47\x33\xd0\x51\x2b\xf6\x01\x16\xd3\x3a\xd0\ +\xaf\x02\x97\x20\x8f\x7e\x79\xd0\x03\x1c\x05\xfc\x0a\x19\x0c\x4e\ +\xa4\xed\x23\xe0\x1b\x78\x6f\x10\xcc\x02\xe4\x5e\x3d\x51\x70\x9f\ +\x00\x8e\xc5\x36\xb8\xbb\x03\x3f\x02\xfe\xc9\xc4\x5a\x7f\x03\x4c\ +\x33\xd2\x58\x2a\x7a\x90\x67\xf9\x89\x82\xf9\x27\xe0\x68\x2b\x81\ +\x09\x7c\x0a\xb8\x96\x89\x7b\x84\x3f\x03\x73\xac\x04\x96\x81\x1d\ +\x81\x5f\x93\x1c\xc0\x0f\x80\x73\x29\xf6\x73\xf7\x00\xb0\x90\x89\ +\x9f\x40\x86\x8c\xb4\x15\x9a\x9d\x80\x27\x49\x0e\xdc\x1f\x80\x4f\ +\x5b\x89\x0b\xa4\x01\x9c\x41\xf2\x6d\x61\x14\x38\xc9\x4c\x5d\x01\ +\x99\x06\x3c\x4b\x72\xb0\x2e\xa2\x9c\x83\xa8\x99\xc0\x52\xf4\x7a\ +\x6d\x05\x4e\xb7\x93\x56\x1c\xa6\x02\x4b\xd0\x83\xf4\x0e\xf2\x32\ +\xa7\xcc\xf4\x01\xb7\x91\x6c\x82\x13\xed\xa4\xd9\x33\x09\x58\x84\ +\x1e\x9c\x95\xc8\xdb\xbb\x2a\xd0\x00\xae\x44\xaf\xe7\x08\xf2\x48\ +\x59\x4b\x6e\x46\x0f\xca\x4b\xc8\x6c\x5c\xd5\x38\x1f\xd8\x86\x3e\ +\xb8\x3d\xc0\x50\x97\x09\xdf\x44\x6f\xfc\xe5\xe4\x37\xa1\x63\xc1\ +\x05\x24\x4f\x66\xed\x64\xa8\x2b\x57\xe6\xa1\xbf\x74\x59\x03\xec\ +\x69\x27\x2b\x37\x7e\x80\x6e\x82\x7b\x29\xe7\x60\x37\x88\xa9\xc8\ +\x84\x48\xb4\xf2\x1b\x81\xb9\x86\xba\xf2\xa4\x01\xdc\x8e\x6e\x82\ +\xb3\x0d\x75\xe5\xc2\x0d\xe8\x15\xaf\xdb\x73\x71\x1f\xb0\x0c\xfd\ +\x8b\xb0\x8f\xa1\xae\x4c\x39\x02\x7d\x10\x74\x83\xa5\x28\x43\x06\ +\xd0\xdf\x72\x3e\x48\x05\x6f\x05\xbd\xe8\xb9\x7a\xaf\x51\xef\x04\ +\x8a\xb3\xd1\x7b\xc4\xaf\x5a\x8a\xca\x82\xa4\x51\xff\x91\x96\xa2\ +\x0a\x40\x03\xc9\x1b\x88\xc6\xe5\x75\x24\x65\xbd\x12\x4c\x01\xde\ +\x22\x5e\xc9\x3b\x2c\x45\x15\x88\x41\x64\xca\x3b\x1a\x9f\x0b\x2c\ +\x45\xa5\xc9\xa5\xc4\x2b\xf7\x11\xb0\x87\xa5\xa8\x82\x71\x1d\xf1\ +\x18\xfd\x9d\xd6\x29\x6c\x85\x67\x32\x92\x23\x17\xad\xdc\xb5\x96\ +\xa2\x0a\x48\x3f\xf0\x2f\xe2\x71\x3a\xc7\x52\x54\x1a\x9c\x4a\xbc\ +\x52\xff\xa6\xda\xb3\x7d\x9d\xf2\x53\xe2\xb1\x5a\x41\xc9\x9f\x08\ +\x9e\x24\x5e\xa9\x9b\x2c\x05\x15\x98\xbd\x90\xc4\xd6\x68\xbc\xbe\ +\x68\x29\xaa\x1b\x66\xa3\x8f\xfc\xeb\x32\xe3\xd7\x09\xf7\x13\x8f\ +\xd7\x9d\xa6\x8a\xba\xe0\x2a\xe2\x95\x79\xd6\x54\x51\xf1\x39\x8e\ +\x78\xcc\x3e\x44\xd2\xe5\x4a\xc7\x2b\xc4\x2b\x73\xb1\xa9\xa2\xe2\ +\x33\x09\x78\x8f\x78\xdc\xbe\x66\x29\xaa\x13\x66\xa2\x77\xff\x7b\ +\x59\x8a\x2a\x09\xb7\x12\x8f\xdb\xad\xa6\x8a\x3a\xe0\x7c\xe2\x95\ +\x78\xd1\x54\x51\x79\x58\x40\x3c\x76\x6b\x4d\x15\x11\x9e\x8a\xfd\ +\x25\xa5\xec\xb1\x34\x84\xd4\x80\xc5\xc8\x4b\xb3\x66\x66\x62\x9c\ +\x22\x17\x6a\x00\x6d\x8e\xff\x99\x34\x84\xd4\x80\x8d\xc8\xf8\x29\ +\x8a\xe9\xe3\x60\x88\x01\xa6\x03\xb3\x94\xf2\x65\x29\x69\xa9\x03\ +\x7f\x54\xca\x3e\x97\xbb\x8a\x26\x42\x0c\xf0\x19\xa5\x6c\x3d\x92\ +\xe6\xed\xb4\xc7\x72\xa5\xec\xa0\xdc\x55\x34\x11\x62\x80\xd9\x4a\ +\xd9\x78\x1a\x98\xd3\x1e\x2b\x95\xb2\xc1\xdc\x55\x34\x11\x62\x80\ +\xfd\x94\xb2\x35\x29\xe9\xa8\x0b\x6b\x94\xb2\x7d\x91\x79\x02\x13\ +\x42\x0c\xa0\xbd\xe6\x7d\x2b\x2d\x21\x35\x41\x8b\x57\x2f\x86\x2f\ +\xd1\x42\x9c\xa7\x89\x7c\x3f\x25\x1d\xf3\x29\x7e\xea\xf8\x63\xc8\ +\x6c\x5e\x37\x8c\x20\x39\x13\x9f\x8c\x94\xef\x06\xbc\xdb\xe5\x67\ +\x77\x44\x88\x01\xb4\x05\x0e\x1b\x53\xd2\x71\x05\xb2\x35\x5b\x91\ +\x39\x8a\xee\x0d\x00\xf2\x0e\x20\x6a\x80\xe8\xcf\xb9\x11\x72\x0b\ +\xd0\x72\xd9\x46\xd2\x12\x52\x23\xb4\x98\x99\x65\x08\x85\x18\x40\ +\xfb\xdd\xe8\xcc\x96\xd3\x1a\x2d\x66\xed\x6e\x75\x9b\x3a\x21\x06\ +\x18\x55\xca\x26\xa7\x25\xa4\x46\x14\xaa\x27\x0d\x19\x03\x0c\x2b\ +\x65\x69\xed\xa2\xb9\x02\xf8\x44\x4a\x9f\x95\x15\x69\xed\x34\xae\ +\xc5\x6c\x73\x4a\x9f\x1d\x4c\x88\x01\xb4\x11\xff\x2e\x29\xe9\xb8\ +\x22\xa5\xcf\x29\x3a\x3d\xc0\xce\x4a\xf9\xfa\xbc\x85\x8c\x13\x72\ +\x0b\x58\xa7\x94\x79\x0a\x78\x18\xfd\xe8\x31\x2f\x85\x01\xb4\x77\ +\xd7\xa6\xaf\x32\x4b\xc8\x80\x52\xf6\x1e\xb0\x29\x67\x1d\xff\x25\ +\xc4\x00\xab\x95\x32\xed\xfd\x80\x93\x8c\x16\xaf\x37\x72\x57\xd1\ +\x44\x88\x01\x5e\x55\xca\x66\x51\xfc\xc1\x5b\x91\xd0\x32\xa7\x57\ +\xe4\xae\xa2\x89\xd0\x5b\x40\x74\x24\xdc\x00\x3e\x9b\x9e\x9c\xca\ +\x73\x88\x52\xa6\x25\x89\xe4\x46\x88\x01\xc6\xd0\x13\x1a\x8e\x48\ +\x49\x4b\xd5\xe9\x05\xbe\xa0\x94\x2f\xcd\x5b\x48\x33\xa1\x29\x61\ +\x4b\x94\xb2\xf9\x69\x08\xa9\x01\xf3\x88\x6f\x2c\xbd\x09\xe3\xa4\ +\xda\x50\x03\x3c\xae\x94\x0d\x51\xd2\x05\x0e\x39\xf3\x65\xa5\x6c\ +\x31\xb2\x6c\xac\x34\xf4\x22\xcf\xac\xa5\x5f\xe0\x60\xc0\x0b\xc4\ +\xe3\xf6\x2d\x53\x45\x1d\x72\x07\xf1\x8a\xdc\x6d\xaa\xa8\xf8\x0c\ +\x12\x8f\xd9\x36\x4a\xba\xa0\xe6\x58\xe2\x95\xd9\x84\xec\xad\xef\ +\xe8\xfc\x84\x78\xcc\x9e\x32\x55\xd4\x05\xbd\xc0\x9b\xf8\xfa\xc0\ +\x76\xd9\x01\x39\xb9\x2c\x1a\xaf\x73\x2d\x45\x75\xcb\xd5\xe8\x1b\ +\x20\x99\xbd\xd7\x2e\x30\x67\xa2\xaf\x0c\x2e\xf5\x79\x84\x7b\xa2\ +\x6f\x0b\x7b\xaa\xa5\xa8\x02\xd2\x8b\x6c\x99\x17\x8d\xd3\x75\x96\ +\xa2\xd2\x42\xdb\x16\xf5\x35\x0c\x53\x9c\x0b\xc8\x19\xc4\x63\xb4\ +\x85\x8a\xec\x1a\xba\x3f\xfa\xd6\x27\x95\xd9\x06\xad\x4b\xa6\xa0\ +\x6f\xa4\x75\x8b\xa5\xa8\xb4\xd1\xd6\xbc\xaf\xc3\x37\x8b\x02\x7d\ +\x9c\x34\x0c\xec\x6d\x29\x2a\x6d\xf6\x40\xdf\x17\xb7\xb4\xfb\xdf\ +\xa4\xc4\x1c\xf4\x31\xd2\x35\x96\xa2\xb2\xe2\x32\xf4\x5d\x43\x16\ +\x58\x8a\x32\x64\x32\x72\x06\x62\x34\x1e\x6f\x62\x98\xff\x9f\x25\ +\x93\x80\xe7\xd0\x6f\x05\x95\xea\xee\xda\xe4\x67\xe8\x5f\x88\x13\ +\x2c\x45\x65\xcd\x41\xe8\x5d\xde\x52\x2a\xb0\x2d\x6a\x00\x27\xa2\ +\x37\xfe\x5d\x96\xa2\xf2\xe2\x3b\xe8\x95\xbf\x9b\x92\xef\x8a\xd9\ +\x26\xf3\x90\xdd\x52\xa3\xf5\x5f\x8d\x6c\xae\x51\x79\x7a\x80\xdf\ +\xa3\x9b\xe0\xe7\x54\xdb\x04\x83\xc0\xdb\xc4\xeb\x3d\x02\x1c\x66\ +\xa8\x2b\x77\xa6\xa3\x9f\x1d\x34\x86\x9c\xc6\x5d\x45\x13\xec\x87\ +\xac\xfb\xd7\xea\x7c\x9e\x9d\x2c\x3b\xf6\x47\x06\x80\x75\xe8\x09\ +\xe6\x20\xdb\xbf\x6b\x75\x5d\x4d\xbd\xc6\x3f\xff\xc7\xe1\xc8\x3a\ +\xf8\xa4\x31\x41\x15\x32\x88\x86\x90\xc3\x21\xb5\x3a\x8e\x5f\x0f\ +\x53\x63\x13\x0c\x21\x6b\xde\xb4\xc0\x2c\x43\xf6\xc8\x2b\x23\x0d\ +\xe4\xb0\x0c\x6d\x1a\xdc\x4d\x10\xe1\x68\xf4\x03\x13\xc6\x90\xb5\ +\x86\x27\xdb\x49\xeb\x88\x7e\xe0\xb7\xb4\xd7\xf0\xcd\xd7\x43\xd4\ +\xd8\x04\x9f\x47\xdf\x28\xb9\xf9\x96\xb0\xbb\x99\xba\xf6\x68\x00\ +\xa7\xa0\x8f\xf4\xdd\x04\x6d\x30\x0b\xd9\x22\x2d\x29\x38\x1f\x00\ +\x97\x50\xcc\xfd\x06\xe6\x02\x8f\x90\xac\x5d\x3b\x33\xd1\x4d\xa0\ +\x30\x8d\xd6\xdd\xe7\x5f\x81\xb3\x28\x46\x4e\xc1\x20\xf0\x4b\xe0\ +\x63\x92\xf5\x26\x8d\x71\xdc\x04\x09\x34\x90\xdc\xc1\x61\x26\x0e\ +\xd2\x5a\xe0\x72\xe4\x9e\x9b\xb7\xbe\x21\xe0\x01\x5a\x7f\xb3\x97\ +\xa0\x1f\x9d\xe3\x26\x68\x83\xb9\xc8\x7b\x82\x56\x81\x1a\x45\x1a\ +\xe3\x34\xb2\x3b\x86\xbd\x01\x1c\x0c\xfc\x18\xe9\x81\x5a\x69\xda\ +\x0c\x7c\x1f\x49\xf7\xea\x43\x46\xf9\x6e\x82\x0e\xe8\x05\xbe\x0d\ +\x6c\xa0\xbd\x80\x6d\x41\xbe\x71\x57\x23\xa9\xe9\x9d\x26\x9d\x4c\ +\x46\x0c\x78\x1e\x92\xb7\x90\x34\x91\xa3\x5d\x8b\x88\x6f\xed\x5a\ +\x6a\x13\x14\x61\x56\xae\x1f\x39\x87\xe8\x42\xc2\x8f\x55\x7d\x17\ +\xf9\xd6\xae\xdd\xfe\xef\xf7\x91\x35\x0a\xa3\xfc\xef\x1b\x3a\x7d\ +\xfb\xdf\xd8\x1b\x99\xb6\x9d\x4d\xf8\x60\xf3\x65\xe0\x87\x48\x83\ +\x69\xf4\x01\xbf\x03\x8e\x0f\xfc\x5c\x10\xf3\x9c\x84\x6f\xb9\xc7\ +\x4c\xe0\x46\xa4\x01\x3b\xf9\x36\x65\x71\x3d\x8f\x3c\xfe\xb5\xb3\ +\x86\xb2\x0f\x31\x48\x29\x7b\x82\x22\xd1\x0f\x5c\x09\xac\xc2\xa6\ +\xd1\x47\x91\x63\xde\xe6\x13\xde\x43\xba\x09\x52\xa4\x07\x39\x4d\ +\xe3\x46\xc2\xee\xd3\x9d\x5c\x5b\x80\x27\x90\x33\x91\xba\x7d\xf2\ +\x70\x13\x64\xc0\xf8\x48\xfd\xbb\xc8\x5c\x82\x76\x6a\x79\xc8\x35\ +\x8c\xe4\xed\x5d\x8f\xdc\x7f\xa3\xeb\xf6\xbb\xa5\x1b\x13\x2c\x22\ +\x47\x13\x14\x61\x10\xd8\x29\xfd\xc0\x81\xc8\x2c\xe3\xc0\xf6\x9f\ +\x77\x45\xde\x34\xf6\x21\x13\x38\x23\x48\xd6\xf2\x3a\xe4\x64\x93\ +\x55\xc8\xa0\xf1\x2f\xc0\xd6\x8c\xf5\x75\x33\x30\x7c\x08\xf8\x3a\ +\x3e\x30\x2c\x3d\xa5\xe9\x09\x9c\xec\x70\x13\x38\x6e\x02\xc7\x4d\ +\xe0\xe0\x26\x70\x70\x13\x38\x48\x23\x2e\xc2\x4d\x50\x6b\xdc\x04\ +\x8e\x9b\xc0\xe9\xce\x04\x0b\x71\x13\x54\x02\x37\x81\xe3\x26\x70\ +\xdc\x04\x0e\x6e\x02\x07\x37\x81\x83\x9b\xc0\xc1\x4d\xe0\x20\x8d\ +\xb8\x90\xce\x4c\xf0\x20\xe1\xa7\xc2\x38\x05\xa4\x13\x13\x6c\x03\ +\xbe\x67\x21\xd6\xc9\x86\x10\x13\x78\xe3\x57\x94\x76\x4c\xe0\x8d\ +\x5f\x71\x26\x32\x81\x37\x7e\x4d\xd0\x4c\xe0\x8d\x5f\x33\x9a\x4d\ +\xe0\x8d\x5f\x53\xc6\x4d\xe0\x8d\x5f\x63\xfc\x39\xdf\x71\x1c\xc7\ +\x71\x1c\xc7\x71\x1c\xc7\x69\x97\xff\x00\x42\xe0\xfb\xca\xc3\xce\ +\x7d\x40\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x0b\xf4\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x0b\x96\x49\x44\x41\x54\x78\x9c\xed\ +\x9d\x7d\x8c\x55\xc5\x15\xc0\x7f\x6f\x71\x97\xed\xb2\x2b\x8a\x44\ +\x68\x4b\xf8\x86\x4d\x81\x20\x94\xb4\x35\xd1\xca\x4a\x6b\x6d\x8d\ +\x6d\x11\xc1\x56\x2c\x0a\xa1\xad\x4d\x9b\x26\x6d\xda\xda\xfa\x87\ +\xa2\xe9\x87\x94\x1a\xb5\x12\xf8\xc3\x26\xc6\xe0\x57\xdb\xb5\x60\ +\xd3\x0f\x1a\x22\x20\xd6\xa4\x2d\x14\xa8\x28\x08\x2e\xb5\x14\xb1\ +\x2e\x8a\x0a\x2c\x2c\x22\xb0\xaf\x7f\x9c\xf7\x96\xb7\xbb\xef\xed\ +\x3b\x73\x3f\xe6\xce\xbd\xcc\x2f\x99\x64\xc5\xfb\x66\xce\xcc\x39\ +\x77\x66\xee\x99\x99\x33\x39\xb2\x47\x1d\x30\x1e\x98\x08\x34\x17\ +\xd2\x30\xa0\xa9\x90\x1a\x4b\xfe\x1e\x08\x1c\x07\x8e\x01\x1d\xbd\ +\xd2\x7e\x60\x4f\x49\x7a\x0d\xc8\x5b\xac\x87\x15\x72\x49\x0b\x10\ +\x92\x1c\x30\x15\x98\x05\xcc\x04\xa6\x00\xa3\x81\x01\x31\x94\xd5\ +\x09\xb4\x01\xdb\x81\x8d\xc0\x7a\xe0\xf5\x18\xca\xb1\x4a\x1a\x0d\ +\x60\x02\x70\x15\xa2\xf4\x16\xe0\xa2\x04\x65\x69\x03\x36\x20\x06\ +\xb1\x0e\x78\x37\x41\x59\x32\xcd\x50\xe0\xdb\xc0\x16\xa4\x1b\x76\ +\x31\x9d\x04\x56\x03\xd7\x21\xc3\x90\x27\x24\x75\xc0\xf5\xc0\xef\ +\x81\xf7\x49\x5e\xc1\x26\xe9\x10\xb0\x02\xb8\x34\xf2\x56\x39\x07\ +\x68\x04\x7e\x00\xbc\x41\xf2\x8a\x8c\x22\x6d\x01\x66\x93\xce\xe1\ +\xd6\x2a\x17\x02\x4b\x80\xb7\x49\x5e\x69\x71\xa4\x17\x81\xf9\xc4\ +\x33\x41\x4d\x35\x83\x81\xa5\xc0\x51\x92\x57\x92\x8d\xd4\x06\x2c\ +\xc4\xf7\x08\x00\x2c\x00\xda\x49\x5e\x29\x49\xa4\xbf\x01\xd3\xc3\ +\x37\x61\x38\x92\xb2\xc2\x49\xc0\x4a\xe4\xdb\xdd\x16\x9d\x88\x83\ +\xa7\xd4\xe9\x73\x12\x18\x44\x4f\xe7\x50\x13\xf6\x66\xf1\x67\x90\ +\x76\xb8\x03\x38\x62\xa9\xcc\x1e\xd8\x36\x80\x06\xe0\x2e\xe0\x3b\ +\x40\x6d\x0c\xf9\xe7\x81\x9d\x85\xb4\xa7\x57\x3a\x66\x90\xcf\x30\ +\xce\x7a\x11\x8b\x69\x3a\xf0\xe1\x28\x85\x2d\xa1\x1d\xf8\x1e\xf0\ +\x44\x4c\xf9\x3b\xc1\x24\x44\x31\x51\x77\xa5\x2f\x23\x6f\xd1\x5c\ +\xc4\x5f\x10\x27\x13\x81\x5b\x81\xdf\x00\x6f\xc6\x50\x97\xc7\x91\ +\xde\x28\x73\x2c\x44\x7c\xee\x51\x35\xd4\x0e\xe0\xfb\xc0\x08\x8b\ +\x75\xe8\x4d\x0e\x98\x01\x3c\x00\x1c\x24\xba\xba\xed\x41\xdc\xdb\ +\x99\x60\x10\xf0\x08\xd1\x34\x4c\x3b\x70\x1f\x30\xcd\x66\x05\x94\ +\x9c\x07\x5c\x0b\xfc\x16\x78\x8f\xf0\x75\x3d\x81\xf4\x34\xa9\x66\ +\x1c\xb0\x8b\xf0\x8d\xf1\x6f\xe0\x6b\xa4\xc7\xbd\x3a\x1c\xf8\x05\ +\x32\xc9\x0c\x5b\xf7\xc7\x48\x4f\xbd\x7b\x30\x8d\xf0\x9f\x77\x3b\ +\x81\x9b\x48\xaf\xe3\x64\x08\x70\x37\xf0\x0e\xe1\xda\x61\x3d\xf2\ +\x65\x92\x1a\x5a\x90\x4f\x9a\xa0\x15\x7e\x03\xf8\x0a\xd9\x71\x94\ +\x9c\x8f\xf4\x08\xa7\x08\xde\x26\xdb\x90\x2f\x13\xe7\x99\x43\xf0\ +\x31\xf0\x34\xb0\x1c\xf1\x0c\x66\x91\x29\xc0\x73\x04\x37\x82\xbd\ +\xc0\x58\xeb\x52\x1b\xb0\x08\x71\x6c\x04\xa9\xdc\x66\xe0\xa3\xf6\ +\x45\x4e\x84\x5b\x08\xfe\x09\xd9\x0e\x4c\xb6\x2f\x72\x75\xe6\x20\ +\x6f\xb0\x69\x85\xba\x80\x9f\x91\xde\x71\x3e\x28\xc3\x91\x8d\x24\ +\x41\x8c\xe0\x00\x30\xd2\xbe\xc8\x95\x69\x21\x58\xb7\xff\x26\x70\ +\xb5\x7d\x71\x9d\xa1\x06\xf1\x8a\x06\xe9\x35\x77\x13\xbf\xd3\x4b\ +\xc5\x34\x82\x4d\xf8\x36\x01\x1f\x4a\x40\x5e\x17\x99\x45\xb0\x2f\ +\xa6\xcd\x24\xec\x35\x1c\x47\x30\xc1\x57\x21\x8e\x13\xcf\x59\x46\ +\x22\x2e\x6d\xd3\xb6\x5c\x47\x3c\x6b\x2a\x55\x19\x44\x30\x27\xcf\ +\xbd\x64\xe7\xf3\x2e\x6a\x2e\x02\xfe\x8e\x79\x9b\xae\x48\x42\xd8\ +\x47\x0c\x85\xec\x42\xb6\x79\xb9\xc2\xa7\x81\xfb\x91\x7a\xdc\x89\ +\xf4\x66\x2e\xd0\x00\xac\xc5\xdc\x08\xe6\xd9\x14\x72\x61\x00\x01\ +\xbf\x6a\x53\xc0\x7e\x18\x04\xfc\x91\xbe\xf2\x9d\x42\x96\x63\x5d\ +\xa0\x16\x68\xc5\xac\x7d\x8f\x60\xc9\x88\x27\x61\xbe\xaa\x77\x9b\ +\x0d\xc1\x94\x3c\x45\xff\xb2\xce\x4f\x4e\xb4\x1e\xd4\x01\xcf\x60\ +\xd6\xce\xff\x24\xe6\x75\x83\x06\xe0\x25\x43\xa1\xee\x8d\x53\x20\ +\x43\x66\x50\x5d\xde\x7d\xb8\x33\x47\x69\x02\xb6\x62\xd6\xde\xcb\ +\xe3\x14\x68\x99\xa1\x30\xab\x70\xa7\x31\x01\x7e\x88\x4e\xee\x09\ +\x49\x09\x58\x86\x8b\x91\x4d\xa4\x26\xed\x7e\x45\x1c\x82\x4c\xc2\ +\xec\x70\xc6\x73\xb8\xf7\xa9\x77\x0f\x3a\xd9\x3f\x91\x94\x80\x15\ +\x18\x8f\x99\xaf\xe5\x25\x0c\xda\xbe\x46\xf9\xdc\x4a\xf4\xdf\x9b\ +\x87\x80\x1b\x11\xd7\xb0\x4b\x68\x7b\x23\x97\x7a\x2d\x90\x45\x20\ +\x93\x49\xf4\x64\x64\xcf\x65\x64\x2c\x40\x6f\x7d\x5d\xc0\x67\xa3\ +\x2c\x3c\x42\x96\xa2\xab\x83\xab\xc7\xb9\x56\xa2\xd7\x43\x07\x11\ +\x6d\x97\x1b\x8c\x99\xb7\xef\x9e\x28\x0a\x8d\x89\xb4\x1b\xc0\x40\ +\x64\x5f\x80\x56\x17\xad\x51\x14\xaa\x6d\xb4\x3c\x72\x06\xce\xb5\ +\x71\xbf\x94\xb4\x1b\x00\xc8\xae\xe4\x13\xe8\x75\x72\x79\x98\xc2\ +\x2e\x44\x7f\x5c\xeb\x0c\xf2\x99\xe5\x32\x59\x30\x00\x90\x15\x44\ +\xad\x01\xac\x0d\x53\xd0\x9d\x06\x05\xad\x0c\x53\x90\x25\xb2\x62\ +\x00\xf5\xc8\xc4\x50\xab\x9b\x40\x2f\x66\x23\xfa\x53\xba\x07\x81\ +\x0b\x82\xd6\xc6\x22\x59\x31\x00\x80\xcf\xa1\x37\x80\xd5\xfd\x65\ +\x54\xe9\x33\xf0\x1b\xc8\xae\x56\x0d\xb7\x01\x87\x95\xcf\x7a\xa2\ +\x61\x2d\xb0\x46\xf9\xec\x6c\x0c\xb7\x91\xd5\xa1\x0f\xce\xf0\x32\ +\x7a\x5f\x42\xd2\x64\xa9\x07\x00\x51\x6a\x17\xba\x3a\x3d\x5a\x29\ +\x93\x72\xca\xfb\x3c\xb2\x67\x4d\xc3\xd2\x82\x10\x1e\xfb\xec\x04\ +\x9e\x56\x3e\x3b\x97\x0a\xc3\x74\x39\x03\xb8\x59\x99\xe9\x3e\xe4\ +\x30\xa3\x27\x39\x7e\xaa\x7c\xae\x1e\xb8\xa1\xdc\xff\xe8\x6d\x00\ +\x43\x91\x09\x86\x86\x65\xb8\xe7\xee\x3d\xd7\xd8\x0a\xfc\x45\xf9\ +\xec\x82\x72\xff\xd8\xdb\x00\x6e\x44\xe7\xf3\x7f\x0b\x78\x58\x59\ +\xb0\x27\x5e\x7e\xae\x7c\xee\x32\xca\x1c\x2c\xe9\x6d\x00\x65\xad\ +\xa4\x0c\x4f\x22\xd1\x35\x3c\xc9\xb3\x09\xf8\x8f\xe2\xb9\x1c\x65\ +\xf4\x5b\x6a\x00\x13\x80\x8f\x29\x0b\xad\x38\xab\xf4\x58\x27\x8f\ +\x9c\x22\xd6\xd0\x67\xc7\x53\xa9\x01\x5c\xa5\xcc\x64\x17\xb2\xfd\ +\xc8\xe3\x0e\xab\x94\xcf\x4d\x04\x46\x95\xfe\x43\xa9\x01\xcc\x52\ +\x66\xe2\xdf\x7e\xf7\xd8\x8b\x6c\x29\xd7\x70\x65\xe9\x7f\x14\x0d\ +\x20\x87\x1c\xf1\xd2\xf0\xa4\xf2\x39\x8f\x5d\xb4\x01\xa6\x7a\xbc\ +\xe8\x45\x03\x98\x8a\x2e\xea\xf6\x5e\xe0\xbf\x06\x42\x79\xec\xb1\ +\x5e\xf9\x5c\xd9\x1e\x40\xdb\xfd\x6f\x50\x8b\xe3\xb1\xcd\x2e\x64\ +\xf3\x4e\x35\x46\x20\x73\x01\xe0\xac\x01\xcc\x54\x16\xb2\xd1\x50\ +\x28\x8f\x5d\xb4\xfa\xe9\xd6\x77\xd1\x00\xa6\x28\x7f\xe8\x7b\x00\ +\xb7\xd1\xea\xa7\x5b\xdf\x35\xc8\xea\xdf\x68\xc5\x8f\x76\x23\x67\ +\xfa\x3d\xee\xf2\xac\xf2\xb9\xe6\xe2\x1f\x35\xc8\x99\x32\x4d\x84\ +\x8e\x9d\x01\x04\xf2\xd8\xe5\x55\x24\x58\x47\x35\x7a\x18\x40\x73\ +\x3f\x0f\x96\xb2\x27\x88\x44\x1e\xab\x74\x21\x5f\x6a\xd5\x18\x89\ +\xac\x10\x7a\x03\xc8\x20\x1a\x3d\xd5\x50\x38\x02\xe7\x0d\x20\x7b\ +\x68\xf5\xd4\x0c\x62\x00\xda\x00\x84\xde\x00\xd2\x81\x56\x4f\xc3\ +\x40\x0e\x72\x68\xc2\x90\xbe\xcf\xb9\xb3\xf1\x73\x01\x7a\xb7\x78\ +\x54\x74\x01\xff\x43\x36\x7b\xbe\x1d\x32\xaf\x83\xca\xe7\x9a\x40\ +\x6f\x00\x1d\x81\xc5\x49\x1f\xdf\x4c\xb0\xec\x4e\x24\x94\x4e\x98\ +\x73\x16\x5a\x5d\x35\x81\x0c\x01\x9a\x50\x63\x26\xb7\x6d\x78\x82\ +\xd3\x80\x04\x7d\x5a\x14\x22\x0f\x63\x03\xf0\x3d\x80\x7b\x2c\x43\ +\x0e\x83\x06\xc1\x1b\x40\x06\x18\x4a\xf0\xf3\x09\xc6\x06\xa0\xb1\ +\xb4\x2c\xec\xff\x3b\x93\xb4\x00\x86\x04\x0d\x05\xab\xf1\x04\x42\ +\x89\x23\xe8\xb8\xe2\xe1\x41\x01\x85\x71\x89\x57\x93\x16\xc0\x90\ +\xa0\xf2\x6a\xc3\xc7\x1e\x03\x31\x00\xcd\x04\x2f\x0b\x37\x59\xad\ +\x21\x3d\x43\xd9\x2e\xe0\x5f\x01\x7f\xab\xbd\x5d\xa4\x03\xc4\x00\ +\x34\x8d\x92\xaa\x2b\x4b\x2a\xf0\x0e\xf0\x2d\x64\x17\xad\xcb\xbc\ +\x07\x2c\x26\xb8\x9c\xde\x00\xfa\xe1\x51\xe0\x8b\x48\xe8\x35\x17\ +\xd9\x02\x7c\x12\xfd\x06\xcf\x72\x18\x19\xc0\x79\xe8\x0c\x20\x0b\ +\x43\x40\x91\x3f\x14\xd2\x04\x24\x0e\x9f\x0b\x51\xc1\xba\x90\x8b\ +\x20\xf6\x47\x90\x57\x2c\x06\x30\x00\xb9\x36\xf5\xf5\x80\x42\xb9\ +\x48\x1b\xee\xf6\x04\x61\xd0\xde\x26\xd2\x3d\x04\x68\xad\x4e\xbb\ +\x6a\xe8\x49\x16\xad\x9e\xf6\x83\x18\x80\xd1\xf2\xa1\xc7\x79\x8c\ +\x96\xf7\xbd\x01\x64\x0f\x8d\x9e\x4e\x22\xf1\x1d\xbc\x01\x64\x8c\ +\x7a\x7a\x9d\xfd\xab\xc0\x5e\x0a\x91\x5d\x6a\x80\xd7\x90\x65\xc8\ +\x6a\xb8\x78\x69\xb3\xa7\x27\x53\xd1\xc5\x6c\xda\x5d\xfc\xa3\x06\ +\x71\x38\x68\x66\xc3\xc3\x91\xa8\xe1\x1e\x77\xd1\x9e\xf0\xea\xee\ +\xf5\x8b\xd6\xb2\x5d\xf9\xc3\x2b\xab\x3f\xe2\x49\x10\xad\x01\xf4\ +\xd1\xf7\xcd\xe8\xc2\x8d\xfd\x2e\x12\x31\x3d\x71\x50\x87\xee\x3a\ +\x9f\x2e\xca\xac\x34\x8e\x50\xfc\x30\x8f\xec\x57\x73\xc1\x73\xe6\ +\xe9\xcb\x15\xe8\x74\xf8\x42\xe9\x8f\x8a\x43\xc0\x01\x74\xf3\x80\ +\x21\xc0\xc7\xa3\x91\xd7\x13\x31\xda\x7b\x1a\x7a\x9c\x1f\x2c\x9d\ +\x31\x6a\x4f\x96\x6a\x03\x49\x79\xec\x91\x03\x6e\x52\x3e\x5b\xf1\ +\x00\xe9\x97\xd0\x75\x21\x87\x48\xe8\xba\x52\x4f\x45\x5a\xd0\xe9\ +\xee\x34\x70\x7e\xa5\x4c\x86\x20\x1e\x22\x4d\x46\xb3\x63\xa9\x86\ +\x27\x28\x0f\xa3\xd3\xdb\xb3\xd5\x32\x5a\xa3\xcc\xc8\x7f\x0d\xb8\ +\xc3\x07\xd0\x5f\xec\xb1\xb8\x5a\x66\xd7\x29\x33\x3a\x89\xbf\xfe\ +\xdd\x15\x16\xa1\xd3\x59\x27\xfd\x74\xff\x45\xea\x90\x31\x5e\x93\ +\xe1\x7d\xd1\xd6\xc3\x13\x80\xe2\x5a\x8e\x46\x5f\xbf\xd6\x66\xba\ +\x42\x99\xe1\x71\x82\x6f\x5d\xf6\x44\xc3\x97\xd1\xe9\x2a\x0f\x5c\ +\xa3\xcd\xf4\x52\x83\x4c\x7f\x12\x4d\x3d\x3c\x01\xc8\x01\x3b\xd0\ +\xe9\xa9\x1d\xc3\x1b\xdd\xb6\x28\x33\x3e\x8c\xdc\x2d\xe8\xb1\xcf\ +\x17\xd0\xbf\xa8\x77\x99\x66\x3e\xdb\x20\x73\x3f\x17\xb0\x4f\x2d\ +\x72\x5d\x8f\x46\x3f\x47\xd1\xdf\xff\xd4\x4d\x0e\x78\x51\x59\xc0\ +\x29\x64\x1d\xda\x63\x8f\xdb\xd1\xbf\xa0\xda\xfb\x04\xfa\x30\xdf\ +\xa0\x90\xe7\xf1\x8b\x44\xb6\x18\x85\x6e\xd5\x2f\x8f\x7c\xfa\x69\ +\x23\xc0\xf4\x61\x00\x66\x77\xd7\x87\x39\xd3\xee\xd1\xf3\x34\x7a\ +\x9d\x3c\x18\xb6\xb0\x85\x06\x85\xbd\x05\x7c\x30\x6c\x81\x9e\x7e\ +\xb9\x1e\xbd\x3e\x3a\x89\xe0\x06\xf1\x1c\x72\x4c\x49\x5b\xe8\x46\ +\x74\x41\x27\x3d\xe6\x8c\x01\xde\x45\xaf\x8b\x3b\xa2\x2a\x78\x3a\ +\xb2\x8a\xa4\x2d\xf8\xee\xa8\x0a\xf6\x74\x53\x07\x6c\x46\xaf\x83\ +\x57\x08\x1e\x61\xa4\x2c\xcb\x0d\x0a\x3f\x03\x7c\x2a\xca\xc2\x3d\ +\xdc\x8f\xbe\xfd\xf3\xc0\x67\xa2\x16\x60\x30\xfa\xeb\x64\xf3\x88\ +\xe7\x49\x7b\x46\xcd\xd3\x3f\xf3\x30\x53\x7e\x6b\x5c\x82\x98\x7c\ +\x16\xe6\x11\x47\x85\xe6\x16\x12\x4f\x65\x5a\x90\x78\x01\xda\x36\ +\x3f\x8a\x1c\xe2\x8d\x8d\xc7\x0d\x84\xc9\x23\x13\xc8\x86\x38\x05\ +\xca\x30\xd3\x80\x23\x98\xb5\x77\x9f\x6b\xe1\xa2\xa6\x11\xfd\xf2\ +\x63\x31\xfd\x19\xc3\x85\x08\x0f\x63\x30\x1b\x72\xf3\xc0\x43\xb6\ +\x84\xbb\x04\x38\x61\x28\x5c\x2b\x32\x93\xf5\x54\x67\x0c\x72\x76\ +\xcf\xa4\x7d\x5f\xa0\x10\xf5\xcb\x16\xb7\x1a\x0a\x98\x07\x9e\x21\ +\x3b\xa1\x66\xe2\xe2\x12\xcc\xdf\xfc\x0e\x12\x3a\xb8\xfb\x98\xa1\ +\xa0\x79\xe4\xc6\xd1\x8b\x93\x10\x36\x05\xb4\x60\x3e\xe6\x5b\x19\ +\xf7\x2b\x31\x10\xd9\x63\x6e\x2a\x70\x1b\x30\x3e\x01\x79\x5d\x66\ +\x1e\x66\xb3\xfd\x62\xba\x3d\x09\x61\x4b\x69\x02\xb6\x61\x2e\xf8\ +\x61\x60\x6e\x02\xf2\xba\x46\x2d\xe6\x4e\x9e\x62\x7a\x20\x01\x79\ +\xcb\x32\x0c\xf3\x49\x4b\x31\xad\x20\x62\x97\x65\x8a\x18\x0d\xfc\ +\x83\x60\xed\xf6\x04\x8e\x2d\xbf\x8f\x43\xbc\x7f\x41\x2a\xb3\x8d\ +\xc2\xfd\x35\xe7\x10\x73\x30\x5b\xd8\x29\x4d\xeb\x70\xf4\x64\xd6\ +\x64\xe4\x90\x69\x90\x4a\x9d\x00\x96\x90\xfd\xde\x60\x24\xfa\xc3\ +\x37\x95\x94\xef\x74\xdc\xe6\x51\x48\xf8\x91\xa0\x15\x6c\x03\xae\ +\xb6\x2e\x75\xfc\xd4\x02\x3f\x42\xbf\x93\xa7\x52\xb7\xef\xe4\x9b\ +\xdf\x9b\xa1\x98\x2d\x5d\x96\x4b\x4f\x01\x1f\xb1\x2d\x78\x4c\x5c\ +\x8b\x04\x7f\x0e\xd3\x1e\xbf\xc4\xb1\x31\xbf\x1a\x8d\x48\x77\x15\ +\xa6\xd2\x67\x10\x43\x48\x63\x70\xaa\x1a\xe0\x06\x24\xe2\x77\x98\ +\x36\xc8\xe3\xc0\xa7\x5e\x50\x6a\xd1\x9f\x32\xaa\x96\xfe\x84\x04\ +\x51\x76\x9d\x7a\xe0\x16\xc2\x0d\x83\xc5\xd4\x41\x82\x4e\x9e\x28\ +\x99\x47\x30\x0f\x57\xa5\x39\xc2\x12\x60\xac\xd5\x1a\xf4\x4f\x0e\ +\x09\xcf\xf2\x2b\xc4\xbf\x11\x45\x3d\x77\x90\xb1\xb8\x8c\xe3\x80\ +\xad\x44\xd3\x38\xc5\xf4\x3c\x12\xff\x3f\x89\x86\xaa\x05\x2e\x03\ +\x7e\x8c\xdc\xec\x11\x65\xbd\x1e\xc2\xf2\xc2\x8e\x2d\x06\x62\xb6\ +\xb5\xcc\x24\x1d\x40\xee\x02\x58\x84\xf4\x0e\x51\x4f\x98\xea\x80\ +\x19\xc8\x9d\x7e\x6b\x91\xee\x39\xea\x3a\x1c\x25\x81\x2e\x3f\x89\ +\x99\xe5\x4c\x64\x6e\x30\x39\xc6\x32\x3a\x91\xe1\x62\x4f\x49\x3a\ +\x88\x28\xae\x03\x69\xec\x0e\xc4\xff\xde\x88\xb8\xb4\x9b\x90\xf3\ +\xf3\x4d\xc8\xf7\x7a\x73\x49\x1a\x43\xbc\xbb\x9d\x5b\x81\xef\x92\ +\xad\x70\xfc\xfd\x52\x8b\xbc\x4d\xc7\x88\xa7\x47\x48\x4b\x7a\x85\ +\x18\x36\x70\xa6\x89\x11\x88\xf5\x27\xad\x08\xdb\xa9\x13\xd9\xb7\ +\x9f\x75\xcf\xa7\x9a\xcb\x91\xb1\x35\x69\xc5\xd8\x50\xfc\x83\x44\ +\x70\x62\x27\xab\xcc\x00\x56\x23\xe1\x4c\x93\x56\x56\x94\xe9\x28\ +\x72\x4a\xd7\x6f\x86\x51\x32\x19\x99\xd5\x07\xd9\x24\xe1\x52\x6a\ +\x47\x82\x33\x18\x9f\xcf\xf7\x08\x17\x00\x5f\x07\xfe\x4a\xf2\xca\ +\xd4\xa6\x13\x48\x40\xa6\x6b\xf0\xbb\xa1\x23\x65\x2c\xe2\x05\x34\ +\xdd\x96\x6e\x23\x9d\x46\x82\x30\x2e\x46\x11\x8a\xcd\x25\x52\xb5\ +\xc2\x54\xc2\x28\xe4\xee\x82\x59\x85\x14\xeb\x69\x98\x32\xe4\x91\ +\x08\x2a\x1b\x0a\x69\x13\x32\xce\xa7\x8e\xb4\x1a\x40\x6f\x26\x22\ +\x0e\xa6\x29\x9c\x75\xde\x8c\x44\x77\x7d\x4a\x35\x4e\x22\x5b\xde\ +\x76\x23\xbd\xcf\x76\xe4\x6d\x3f\x14\x41\xde\x89\x93\x15\x03\x28\ +\x47\x3d\xb2\xd5\xac\x19\xd9\xb7\xd8\x54\x26\xd5\x23\xce\xa8\x8e\ +\x32\x69\x3f\xa2\xf0\x7d\x14\x2e\x58\xf2\x78\x32\xc7\xff\x01\xc4\ +\x29\xb4\x23\x71\x4f\x74\xc6\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x09\x94\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3\x3e\x61\xcb\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x09\x36\x49\x44\x41\x54\x78\x9c\xed\ +\x9d\x7d\x8c\x5d\x45\x19\x87\x9f\xbb\xdb\xb2\x94\x4a\x6b\x60\x41\ +\xa8\xb0\x2c\x65\x6b\x1a\x1a\x40\x0b\x88\xc5\x08\x9b\x46\x04\x82\ +\x04\x8a\x21\x45\x12\x21\x8a\x02\x21\x82\x8a\x44\x8c\x09\x41\x23\ +\x21\x7e\x11\x42\x42\xfc\x8a\x44\x1b\x02\x02\x41\xd0\xd0\x8f\x28\ +\x42\x49\x28\xb1\x16\xd4\x4a\x6b\x6b\xc4\x42\xab\x28\x42\x81\x6a\ +\x45\xda\xdd\xb6\xac\x7f\xbc\xbb\x7a\x7b\xce\x7b\xee\xbd\x73\xef\ +\x39\xe7\x3d\x1f\xef\x93\x9c\xa4\x9d\xb4\xe7\xfe\x66\xe6\x77\xe6\ +\xcc\x99\x79\x67\x06\x1c\xc7\x71\x1c\xc7\x71\x1c\xc7\x71\x9c\x1a\ +\xd1\xb0\x16\x90\x02\xd3\x80\x39\xc0\x20\x70\x08\x30\x03\x38\x00\ +\xd8\x07\x8c\x03\x3b\x81\x57\x81\x97\x80\x7f\x19\x69\x2c\x2c\x65\ +\x33\xc0\xa1\xc0\xe9\xc0\x69\xc0\x49\xc0\xf1\xc0\x31\x40\x7f\x87\ +\xff\x7f\x07\xf0\x1c\xf0\x2c\xf0\x3b\xe0\x29\x60\x23\x62\x16\xa7\ +\x80\x34\x80\x53\x80\x5b\x90\x0a\x9b\xc8\xe0\xda\x01\xdc\x0f\x7c\ +\x0c\x98\x9d\x4f\xb6\x9c\x76\xcc\x01\x6e\x42\x9e\xd6\x2c\x2a\x3d\ +\xe9\xda\x0d\xfc\x04\x38\x07\xe8\xcb\x3c\x97\x4e\x8c\x53\x80\xfb\ +\x80\xbd\xe4\x5b\xf1\xda\xb5\x05\xb8\x16\x98\x99\x69\x8e\x1d\x00\ +\x4e\x06\x56\xd1\x7b\x53\xbe\x05\xd8\x00\xfc\x16\x58\x0f\x6c\x06\ +\xfe\x0e\x8c\xf5\x70\xdf\xed\xc0\xf5\x48\xe7\xd2\x49\x99\x39\xc0\ +\xdd\x84\x55\xc8\x0b\xc0\xbd\xc0\x0d\xc0\xb9\xc0\x08\x30\xd0\xe6\ +\x77\x1a\xc0\x61\xc0\xa9\xc0\x65\xc0\xb7\x80\x27\x81\x5d\x01\xbf\ +\xbb\x0d\xb8\x98\xf2\x75\x9c\x0b\x49\x1f\x70\x0d\xf2\x89\xd6\xae\ +\xe0\xf7\x20\xad\xc3\xd5\xc0\x70\xca\x3a\x0e\x04\x3e\x08\xdc\x0e\ +\xfc\xa5\x03\x2d\x13\xc0\x2f\x32\xd0\x51\x2b\x8e\x06\x56\xd3\xbe\ +\xa0\xff\x00\x5c\x87\x7c\xfa\xe5\x41\x1f\x70\x06\xb0\x0c\xe9\x0c\ +\xb6\xd2\xf6\x06\xf0\x49\xbc\x35\x08\xe6\x02\xe4\x5d\xdd\xaa\x70\ +\x1f\x03\xce\xc2\xb6\x70\x0f\x07\xbe\x02\xfc\x93\xd6\x5a\x1f\x04\ +\x66\x19\x69\x2c\x15\x7d\xc8\xb7\x7c\xab\xc2\x7c\x1a\x38\xd3\x4a\ +\x60\x02\x6f\x07\x6e\xa5\x75\x8b\xf0\x47\x60\xbe\x95\xc0\x32\x70\ +\x20\xf0\x00\xc9\x05\xf8\x3a\xf0\x09\x8a\xfd\xdd\x3d\x0c\x2c\xa7\ +\xf5\x17\xc8\xa8\x91\xb6\x42\x73\x30\xf0\x04\xc9\x05\xf7\x33\xe0\ +\x1d\x56\xe2\x02\x69\x00\x97\x92\xfc\x5a\x18\x07\x96\x98\xa9\x2b\ +\x20\xb3\x80\x5f\x91\x5c\x58\xd7\x50\xce\x4e\xd4\x10\xb0\x16\x3d\ +\x5f\x7b\x81\x8f\xda\x49\x2b\x0e\x33\x81\x35\xe8\x85\xf4\x0f\x64\ +\x32\xa7\xcc\x0c\x00\xdf\x27\xd9\x04\x17\xda\x49\xb3\x67\x1a\xb0\ +\x02\xbd\x70\x36\x23\xb3\x77\x55\xa0\x01\xdc\x88\x9e\xcf\x31\xe4\ +\x93\xb2\x96\x7c\x07\xbd\x50\xd6\x23\xa3\x71\x55\xe3\x4a\xe0\x2d\ +\xf4\xce\xed\xbb\x0c\x75\x99\xf0\x29\xf4\xca\xdf\x40\x7e\x03\x3a\ +\x16\x5c\x45\xf2\x60\xd6\xc1\x86\xba\x72\x65\x21\xfa\xa4\xcb\x56\ +\xe0\x48\x3b\x59\xb9\xf1\x45\x74\x13\xfc\x98\x72\x76\x76\x83\x98\ +\x89\x0c\x88\x44\x33\xbf\x13\x58\x60\xa8\x2b\x4f\x1a\xc0\x0f\xd0\ +\x4d\x70\xb9\xa1\xae\x5c\xb8\x03\x3d\xe3\x75\xfb\x2e\x1e\x00\xd6\ +\xa1\x3f\x08\x47\x1b\xea\xca\x94\x45\xe8\x9d\xa0\x3b\x2c\x45\x19\ +\x32\x8c\x3e\xcb\xf9\x08\x15\x7c\x15\xf4\xa3\xc7\xea\x6d\xa2\xde\ +\x01\x14\x97\xa3\xb7\x88\xe7\x5b\x8a\xca\x82\xa4\x5e\xff\xe9\x46\ +\x7a\x16\x01\x67\x47\xae\xc3\x0d\x74\x34\x90\xb8\x81\x68\xb9\x3c\ +\x87\x84\xac\x57\x82\x19\xc0\xdf\x88\x67\xf2\x2e\x43\x4d\xcf\x28\ +\x7a\xac\xfa\x21\x23\xc8\x90\x77\x54\xcf\x55\x46\x7a\x52\xe7\x33\ +\xc4\x33\xf7\x06\x70\x84\xa1\xa6\x22\x19\x00\xe0\x36\x45\xcf\x8b\ +\xb4\x0f\x61\x2b\x3c\xd3\x91\x18\xb9\x68\xe6\x6e\xb5\x14\x45\xf1\ +\x0c\x30\x08\xfc\x5b\xd1\xf4\x71\x43\x4d\xa9\xb0\x94\x78\xa6\xfe\ +\x83\xfd\x68\x5f\xd1\x0c\x00\xf0\x35\xe2\x9a\x36\x52\xf2\x2f\x82\ +\x27\x88\x67\xea\xdb\x96\x82\x26\x29\xa2\x01\xde\x89\x04\xb6\x46\ +\x75\xbd\xdf\x52\x54\x2f\xcc\x43\xef\xf9\x17\x61\xc4\xaf\x88\x06\ +\x00\x59\x7a\x16\xd5\xf5\x43\x53\x45\x93\x74\x13\x86\x75\x89\x92\ +\xb6\x16\x99\xf8\x70\x74\xb4\x2f\xa3\x8b\x90\x70\x39\x53\xba\x31\ +\xc0\xc5\x4a\xda\xbd\xbd\x0a\xa9\x38\x8f\x23\x2b\x8c\x9a\x99\x05\ +\x7c\xc8\x40\xcb\x7e\x84\x1a\x60\x08\x38\x41\x49\x7f\x28\x05\x2d\ +\x55\x66\x2f\xf0\xb0\x92\x7e\x5e\xde\x42\xa2\x84\x1a\xe0\x1c\x25\ +\x6d\x3d\x32\x20\xe4\xb4\x66\xa5\x92\xa6\x95\x67\xae\x84\x1a\xe0\ +\x03\x4a\xda\xa3\x69\x08\xa9\x01\xab\x91\x49\xb3\x66\x86\x30\x0e\ +\x91\x0b\x35\x80\x36\xc6\xff\x54\x1a\x42\x6a\xc0\x4e\x64\x67\x92\ +\x28\xa6\x9f\x83\x21\x06\x98\x0d\xcc\x55\xd2\xd7\xa5\xa4\xa5\x0e\ +\xfc\x5a\x49\x7b\x4f\xee\x2a\x9a\x08\x31\x80\xd6\xf9\x7b\x15\x09\ +\xf3\x76\x3a\x63\x83\x92\x76\x62\xee\x2a\x9a\x08\x31\xc0\x3c\x25\ +\x6d\x2a\x0c\xcc\xe9\x8c\xcd\x4a\xda\x48\xee\x2a\x9a\x08\x31\xc0\ +\xb1\x4a\xda\xd6\x94\x74\xd4\x85\xad\x4a\xda\x31\xc8\x5a\x0a\x13\ +\x42\x0c\xa0\x4d\xf3\xfa\xe7\x5f\x18\x5a\x79\xf5\x63\x38\x89\x16\ +\xe2\x3c\x4d\xe4\x6b\x29\xe9\x58\x4c\x3a\xa1\xe3\x87\x28\x69\x67\ +\x00\x07\xa5\x70\xef\x47\x81\x57\x7a\xbc\xc7\x18\x12\x33\xf1\xb6\ +\x48\xfa\x61\xc0\xcb\x3d\xde\x3b\x73\xb4\x10\xa7\xb4\xa2\x5b\x7a\ +\xdd\x20\x2a\x8f\x4b\x1b\x03\xe9\x86\x17\x95\x7b\xbf\x2f\xa5\x7b\ +\x07\x13\xf2\x0a\xd0\x62\xd9\xc6\xd2\x12\x52\x23\xb4\x32\x33\x8b\ +\x10\x0a\x31\x80\xf6\x6f\xa3\x23\x5b\x4e\x7b\xb4\x32\xeb\x74\xab\ +\xdb\xd4\x09\x31\xc0\xb8\x92\x36\x3d\x2d\x21\x35\xa2\x50\x2d\x69\ +\x48\x27\x70\xb7\x92\x96\xd6\x2e\x9a\x1b\x49\xa7\xa3\xb6\x90\x78\ +\x07\x6b\x13\x32\x60\xd5\x2b\x69\xed\x34\xae\x95\xd9\xae\x94\xee\ +\x9d\x29\xcb\x88\x77\x5e\xbe\x6c\x29\x48\xa1\xa8\x11\x41\x53\xf4\ +\x21\x3b\x93\x47\x35\x0e\x59\x0a\xea\x94\x68\x40\x03\xd8\x86\x80\ +\x97\x91\x41\xf4\x32\x4f\xa3\x85\xea\x8a\x10\x03\x6c\x53\xd2\x4c\ +\xa7\x32\x4b\xc8\xb0\x92\xf6\x0a\xf0\x66\xce\x3a\xfe\x47\x88\x01\ +\x9e\x57\xd2\xb4\xf9\x01\x27\x19\xad\xbc\x5e\xc8\x5d\x45\x13\x21\ +\x06\xd0\x82\x3e\xe7\x92\x4e\xe7\xad\x2e\x68\x91\xd3\x1b\x73\x57\ +\xd1\x44\xe8\x2b\x20\xda\x13\x6e\x00\xef\x4e\x4f\x4e\xe5\x39\x59\ +\x49\xd3\x82\x44\x72\x23\xc4\x00\x13\xe8\x01\x0d\x8b\x52\xd2\x52\ +\x75\xfa\xd1\x87\x7c\xd7\xe6\x2d\xa4\x99\xd0\x90\xb0\x35\x4a\xda\ +\xe2\x34\x84\xd4\x80\x85\xc4\x37\x96\x7e\x13\xd9\x5f\xc1\x8c\x50\ +\x03\xfc\x52\x49\x1b\xa5\x00\x0b\x1c\x4a\xc0\xd9\x4a\xda\x6a\x64\ +\xd9\x98\x19\xa1\x06\x58\x47\x7c\x0a\xf8\x20\x0a\xb0\xc0\xa1\x04\ +\x5c\xa4\xa4\xad\xca\x5d\x45\x84\x50\x03\xec\x43\x36\x78\x8e\xb2\ +\x34\x05\x2d\x55\x66\x84\x78\xf0\xe7\x04\xf0\x53\x03\x2d\xfb\xd1\ +\xcd\xd2\xb0\xfb\x94\xb4\x25\xc8\xde\xfa\x8e\x8e\xb6\x1f\xc0\x93\ +\x14\x20\xa2\xaa\x1b\x03\x3c\x8e\x04\x35\x34\x33\x03\x39\x78\xd1\ +\x89\x73\x00\xba\x01\x96\xe5\x2d\x44\xa3\x1b\x03\xec\x43\x36\x44\ +\x8c\x72\x1d\x86\xf3\xda\x05\x66\x29\xf1\x70\xb7\x9d\xc8\x92\xf1\ +\xd2\x72\x24\xfa\xb6\xb0\xd6\x7d\x81\xa2\xcd\x06\xf6\x23\xd3\xd1\ +\x51\x4d\xb7\x19\x6a\x4a\x0d\x6d\x5b\xd4\x4d\x18\x86\x38\x53\x3c\ +\x03\x5c\xaa\xe8\xd9\x43\x45\x76\x0d\x3d\x0e\x7d\xeb\x13\xcb\x6d\ +\xd0\x8a\x64\x80\x19\xe8\x1b\x69\x7d\xd7\x48\x4f\x26\x7c\x8f\x78\ +\x06\xb7\x63\x17\xe7\xfe\x0d\xe4\xf0\xe7\xe6\xcb\xea\x74\x92\x9b\ +\x89\x97\xcd\x6e\xe0\x28\x23\x3d\x99\x70\x04\xfa\xbe\xb8\x85\xd8\ +\xff\xc6\x90\xf9\xe8\x7d\xa4\x5b\x2c\x45\x65\xc5\xf5\xe8\x71\xf4\ +\x17\x58\x8a\x32\x64\x3a\x72\x06\x62\xb4\x3c\xfe\x4a\x3c\x5e\xb1\ +\x12\x4c\x43\x7f\xf7\x6e\xa7\x62\xcd\x5d\x87\x7c\x1d\xfd\x81\xf8\ +\xb0\xa5\xa8\xac\x39\x11\xbd\xc9\x5b\x4b\x05\xb6\x45\x0d\xe0\x42\ +\xf4\xca\xbf\xdb\x52\x54\x5e\x7c\x16\x3d\xf3\xf7\x50\xf2\x5d\x31\ +\x3b\x64\x21\xb2\x5b\x6a\x34\xff\xcf\x23\x9b\x6b\x54\x9e\x3e\x64\ +\x72\x43\x33\xc1\x37\xa9\xb6\x09\x46\x80\x97\x88\xe7\x7b\x0c\x38\ +\xd5\x50\x57\xee\xcc\x46\x3f\x3b\x68\x02\x39\x8d\xbb\x8a\x26\x38\ +\x16\x59\xf7\xaf\xe5\xf9\x0a\x3b\x59\x76\x1c\x87\x74\x00\xeb\xd0\ +\x12\xcc\x47\x5f\xed\x3b\xd5\xf4\xd7\xa9\xff\xb3\x1f\xa7\x21\xeb\ +\xe0\x93\xfa\x04\x55\x88\x20\x1a\x45\x0e\x87\xd4\xf2\x38\x75\xad\ +\xa2\xc6\x26\x18\x45\xd6\xbc\x69\x05\xb3\x0e\xc3\xe5\x50\x3d\xd2\ +\x40\x0e\xcb\xd0\x86\xc1\xdd\x04\x11\xce\x44\x3f\x30\x61\x02\x09\ +\x2d\xfb\x88\x9d\xb4\xae\x18\x44\xb6\xc5\xed\xa4\xe2\x9b\xaf\x95\ +\xd4\xd8\x04\xef\x45\x96\x3f\x25\x15\xce\x3d\xd8\x1c\xec\x14\x42\ +\x03\xd9\x24\x5b\xeb\xe9\xbb\x09\x3a\x60\x2e\xb2\x45\x5a\x52\xe1\ +\xbc\x8e\x04\x94\x14\x71\xbf\x81\x05\xc0\xcf\x49\xd6\xae\x9d\x99\ +\xe8\x26\x50\x98\x45\xfb\xe6\xf3\xcf\xc0\x65\xd8\xc6\x14\x4c\x31\ +\x02\xfc\x08\x7d\x39\xf7\xd4\x95\xd4\xc7\x71\x13\x24\xd0\x00\xae\ +\x45\xa6\x45\x5b\x15\xd2\x36\xe0\x06\xe4\x9d\x9b\xb7\xbe\x51\x64\ +\x1a\xb9\xdd\x93\xbd\x06\xfd\xe8\x1c\x37\x41\x07\x2c\x40\xe6\x09\ +\xda\x15\xd4\x38\x52\x19\x97\x90\xdd\x31\xec\x0d\xe0\x24\xe0\xab\ +\x48\x0b\xd4\x4e\xd3\x2e\xe0\x0b\x48\xb8\xd7\x00\xdd\xef\x70\x56\ +\x7b\x13\xf4\x03\x9f\x06\x76\xd0\x59\x81\xed\x41\x9e\xb8\x9b\x81\ +\xb3\xe8\x3e\xe8\x64\x3a\x62\xc0\x2b\x90\xb8\x85\xa4\x81\x1c\xed\ +\x5a\x41\x7c\x6b\xd7\x52\x9b\xa0\x08\xa3\x72\x83\xc0\x4d\xc0\xd5\ +\x84\x1f\xab\xfa\x32\xf2\xd4\x6e\x9b\xfc\xf3\x6b\xc8\x7a\xbb\x71\ +\xfe\xff\x84\xce\x9e\xfc\x8d\xa3\x90\x61\xdb\x79\x84\x77\x36\x7f\ +\x0f\x7c\x09\xfd\xd0\x07\x26\x7f\xe7\x61\xe0\xdc\xc0\xfb\x82\x98\ +\x67\x09\xbe\xe5\x1e\x43\xc0\x9d\x48\x05\x76\xf3\x34\x65\x71\xfd\ +\x06\xf9\xfc\xeb\x24\x7c\x7e\x00\x31\x48\x29\x5b\x82\x22\x31\x08\ +\xdc\x08\x6c\xc1\xa6\xd2\xc7\x91\x98\xfd\xc5\x84\xb7\x90\x6e\x82\ +\x14\xe9\x43\x4e\xd3\xb8\x93\xb0\xf7\x74\x37\xd7\x1e\xe0\x31\xe0\ +\x4a\x7a\xff\xf2\x70\x13\x64\xc0\x54\x4f\xfd\x73\xc8\x58\x82\x76\ +\x6a\x79\xc8\xb5\x1b\x89\xdb\xbb\x1d\x79\xff\x46\xd7\xed\xf7\x4a\ +\x2f\x26\x58\x41\x8e\x26\x28\x42\x27\xb0\x5b\x06\x81\xe3\x91\x51\ +\xc6\xe1\xc9\xbf\x1f\x8a\xcc\x34\x0e\x20\x03\x38\x63\x48\xd4\xf2\ +\x76\xe4\x64\x93\x2d\x48\xa7\xf1\x4f\xc8\x51\x6e\x59\xd2\x4b\xc7\ +\x70\x25\xb2\x9c\xbc\xf6\x1d\xc3\xb2\x53\x9a\x96\xc0\xc9\x0e\x37\ +\x81\xe3\x26\x70\xdc\x04\x0e\x6e\x02\x07\x37\x81\x83\x54\xe2\x0a\ +\xdc\x04\xb5\xc6\x4d\xe0\xb8\x09\x9c\xde\x4c\xb0\x1c\x37\x41\x25\ +\x70\x13\x38\x6e\x02\xc7\x4d\xe0\xe0\x26\x70\x70\x13\x38\xb8\x09\ +\x1c\xdc\x04\x0e\x52\x89\xcb\xe9\xce\x04\x8f\xd0\xdd\x86\xe0\x4e\ +\xc1\xe8\xc6\x04\x6f\x01\x9f\xb7\x10\xeb\x64\x43\x88\x09\xbc\xf2\ +\x2b\x4a\x27\x26\xf0\xca\xaf\x38\xad\x4c\xe0\x95\x5f\x13\x34\x13\ +\x78\xe5\xd7\x8c\x66\x13\x78\xe5\xd7\x94\x29\x13\x78\xe5\xd7\x18\ +\xff\xce\x77\x1c\xc7\x71\x1c\xc7\x71\x1c\xc7\x71\x3a\xe5\xbf\xdd\ +\x07\x2b\xaa\xae\x4f\x39\x9a\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x0d\x26\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x00\x80\x00\x00\x00\x77\x08\x06\x00\x00\x00\xcb\xa9\x48\x6a\ +\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\ +\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x0c\xc8\x49\x44\x41\x54\x78\x9c\xed\ +\x9d\x7b\x94\x55\x55\x1d\xc7\x3f\x77\x98\xe1\x25\x81\xc4\x4b\xa1\ +\xc0\xf0\x09\x9a\x0f\x34\xc0\x04\xa2\x78\xa8\x25\x8a\xd8\xb2\x52\ +\x51\xcb\x07\x69\x99\xf8\xa0\x87\x44\x6a\xb9\x88\x2c\x0c\x4d\x53\ +\x4b\x25\x96\x94\x06\x05\xe5\x23\xd1\x14\xb3\xb5\x8c\x97\x4a\x68\ +\x40\x6a\x22\x05\x82\xa0\xf1\x88\xf7\xc0\xcc\xf4\xc7\x6f\xee\xe2\ +\xce\x9d\x73\xce\xdd\x7b\x9f\xbd\xf7\x39\x07\xcf\x67\xad\xdf\x9a\ +\xb5\xe6\xce\x3d\xe7\xb7\x1f\xb3\xcf\x3e\xbf\xfd\xdb\xdf\x5d\x20\ +\xa7\x94\x2a\x60\x20\x30\xb2\xf1\xe7\xd1\xc0\x21\x40\x6b\x60\x17\ +\xf0\x0e\xf0\x1a\xf0\x3c\x30\x17\x58\x9b\x8c\x9b\x39\xb6\x39\x18\ +\xf8\x36\xb0\x1a\x68\x50\xb4\x7a\xe0\x71\xa4\xa3\xe4\x64\x94\x1a\ +\xe0\x06\x60\x33\xea\x0d\x1f\x64\xbf\x45\x46\x8a\x9c\x0c\x71\x3c\ +\xb0\x8c\x78\x0d\x5f\x6a\xff\x05\xce\xf2\x5a\x82\x1c\x63\x2e\x07\ +\xf6\x60\xaf\xf1\x4b\x6d\x22\x50\xf0\x57\x94\x1c\x1d\x5a\x00\x77\ +\xe2\xa6\xe1\x4b\xed\xfe\xc6\x7b\xe5\xa4\x88\x1a\xe0\x51\xdc\x37\ +\x7e\xd1\xe6\x20\x6f\x0f\x39\x29\xa0\x1a\xf8\x3d\xfe\x1a\xbf\x68\ +\x7f\x45\xde\x30\x72\x12\xa4\x00\x4c\xc7\x7f\xe3\x17\xed\x55\xa0\ +\x7b\x80\x5f\x35\xc0\x55\xe4\x8f\x0a\xe7\xdc\x42\x72\x8d\x5f\xb4\ +\xd5\x48\x50\xa9\x48\x01\x98\xd1\xf8\xd9\xef\xc8\x1f\x15\xce\x38\ +\x9f\xe4\x1b\xbf\x68\xef\x03\x03\x1a\xfd\xba\xad\xec\xb3\xe7\x81\ +\x0e\x2e\x2a\xa0\x12\x71\x5e\x57\x3a\x00\xc3\x81\xd3\x80\xe3\x80\ +\x9e\x40\x7b\x64\x48\xdb\x05\x6c\x00\xde\x00\x96\x00\xcf\x00\xff\ +\x8c\xe5\xa9\x3e\xc7\x02\x8b\x81\xb6\x9e\xef\x1b\xc5\x4e\xe0\xf3\ +\xc0\x56\xe0\x09\xa0\x63\xc9\x67\xcb\x80\x33\x81\xf5\x09\xf8\x65\ +\xc4\xd5\x48\x38\x54\xe7\x59\xf8\x55\xa0\x95\x07\xdf\xda\x02\xcb\ +\xcb\xee\xbf\x17\x78\x1d\xe9\x8c\xbf\x06\x7e\x09\x3c\x08\xcc\x02\ +\xfe\x46\xfc\x68\xa0\xaa\xed\x05\x2e\x06\xfa\x02\x6b\xca\x3e\x5b\ +\x05\x1c\xe9\xa0\x3e\x9c\xf1\x45\xf4\x03\x2a\x6b\x90\xa1\xd9\x25\ +\xf7\x02\x75\xc0\x7c\x60\x02\xd0\x9f\xca\x1d\xaf\x00\xf4\x01\x6e\ +\x44\x3a\xab\xeb\x8e\x70\x23\xf0\x51\x9a\x77\xd4\x8d\xc0\xc9\xb1\ +\x4a\xef\x99\xe1\xc0\xff\xd0\xaf\x80\x59\xc8\x23\xc3\x36\xc7\x20\ +\x95\xdb\x2d\xc6\x35\x0a\x48\xb9\x96\xe0\xb6\x13\x4c\x05\x3a\x03\ +\x2f\x96\xfd\x7e\x1b\x30\x22\x86\xff\xde\xe9\x87\x3c\xf3\x75\x2b\ +\x60\x05\xd0\x2b\x01\x7f\x55\x69\x01\x8c\xc7\x5d\xd8\xb8\x01\x98\ +\x89\xc4\x0a\x1e\x2f\xfb\x7d\x2d\x32\xc2\x66\x86\x23\x80\xb7\xd0\ +\xaf\x80\x35\x40\xef\x04\xfc\xd5\x61\x20\x32\x34\xbb\xea\x04\x4f\ +\x23\x9d\xe0\xa1\x80\xcf\xbe\xe1\xa1\x7c\xd6\xe8\x06\x2c\x45\xbf\ +\x02\xde\x04\x3a\x25\xe0\xaf\x0e\x47\x22\x93\x34\x57\x9d\x60\x31\ +\xd0\x15\x98\x1c\xf0\xd9\x64\x32\xb4\xc0\xd4\x1e\x99\x7c\xe9\x56\ +\xc0\x53\xa4\xbf\x90\x87\x00\x7f\xc7\x5d\x27\x78\x03\xf8\x18\xf2\ +\x5f\x5f\xfe\x86\xf5\x20\x12\xd2\xce\x04\x2d\x91\x49\x9e\x6e\x05\ +\x8c\x4b\xc2\x59\x4d\x3a\x20\x81\x1b\x57\x9d\x60\x3d\x70\x02\xf2\ +\xfc\xaf\x2d\xfb\xec\x31\xd2\x15\xd7\x88\xa4\x0a\xf8\x19\x7a\x85\ +\x7f\x9f\x84\x22\x62\x9a\xb4\x06\x66\xe3\xae\x13\x6c\x05\x86\x22\ +\x6f\x22\xdb\x4a\x7e\xbf\x05\x79\xcb\xc9\x14\x13\xd1\x2b\xfc\x4d\ +\xc9\xb8\xa9\x4d\x0b\xe0\x1e\xdc\x75\x82\x3d\xc0\x79\x48\x4c\x60\ +\x03\xb0\x1b\xf8\x94\x97\x92\x39\xe0\x32\x60\x1f\x6a\x05\xff\x0f\ +\x32\x7a\x64\x81\x02\x30\x09\x77\x9d\xa0\x1e\x59\x31\x3c\x02\xf8\ +\x9c\xa7\x32\x39\xe3\x6c\x24\x16\xae\x52\xf0\x41\x09\xf9\x68\xca\ +\x95\x48\xe4\xd1\x55\x47\xb8\x95\xf4\x4f\x90\x95\x18\x04\x6c\xa2\ +\x72\x81\xbf\x9f\x94\x83\x06\x9c\x89\x2c\xf5\x8e\x46\x86\x69\x57\ +\x9d\xe0\x7e\x32\xf4\x16\x10\x46\x15\xf0\x27\x2a\x17\xf6\xe9\xa4\ +\x1c\xd4\x64\x18\xd2\xe8\xef\x21\x4b\xbd\x43\x90\x89\x9a\xab\x4e\ +\x30\x17\x68\xe3\xa2\x20\xa3\x5c\x5c\x34\x80\x7b\x51\x2b\x68\x16\ +\x76\xdc\x0c\x04\xb6\xb3\xdf\xe7\xed\xc0\x19\xc0\xc7\x81\x75\xb8\ +\xe9\x00\x0d\x38\x4a\x33\xdb\x0c\xdc\x8d\xdb\xc9\x97\xce\x64\xa9\ +\xce\xb1\x2f\x71\x39\x81\xe0\x47\xd9\x5e\x60\x2c\x70\x18\xb2\xf4\ +\xec\xaa\x13\xbc\x06\xf4\x08\xf0\xeb\x20\xe0\x5a\x34\xeb\xae\x73\ +\xc9\x85\x67\xe1\x66\xbd\xfe\x32\xf4\x0b\x99\xd6\x64\xca\xa3\x88\ +\x5e\xf8\xaa\x47\x96\xa0\x3b\x03\x8b\x22\xfe\x2e\xae\xfd\x9b\xa6\ +\x31\x81\x56\xc8\xa3\xb3\x01\x78\x04\x8d\x76\xec\x5b\x76\xe1\xf9\ +\xd8\x5d\xa6\x1d\x85\xfa\x2b\x60\xa9\xa5\x71\x6d\xa0\x27\xf2\x9a\ +\xaa\xe2\xff\x54\xe0\x43\xc0\x3c\xc5\xbf\x37\xb1\x62\x9a\x59\x0b\ +\x9a\x47\x5e\xff\xdc\x78\xff\x8a\xf4\x0b\xb8\xf0\x52\xec\xec\x75\ +\x3b\x15\xf5\x57\xbf\x72\x4b\x5b\xc8\xb3\x1b\x12\xab\xd7\x29\xc3\ +\x4c\xa4\x1c\x0f\x6b\x7e\x4f\xc7\x76\x00\x4f\x86\x7c\xf6\x32\x0a\ +\x79\x11\xe5\x23\x40\xd1\x56\x21\x01\x08\x53\x8e\x41\x7a\xa8\x49\ +\xa1\xb6\xc5\xb8\xaf\x0b\x3a\x62\xbe\x8f\x70\x1e\x32\xa2\xfe\xc4\ +\xf0\xfb\x71\xed\x5f\xc0\xe1\x51\x85\xeb\x16\xf1\xe5\x0d\x98\xa5\ +\x27\x75\x47\x9e\x51\xa6\x4e\xbf\x62\x70\x4f\x57\xb4\x03\x16\x12\ +\xaf\x11\x16\x03\x5d\x90\x4c\xa5\x24\x3a\xc1\x06\x64\xa4\x0f\xa4\ +\x80\x0c\x23\x51\xff\x8d\xc3\x35\x2a\xac\x03\xf1\x73\xea\x56\x02\ +\x1f\xd6\xb8\xa7\x2b\x5a\x01\xcf\x61\xa7\x11\xde\x40\xde\x0e\xc6\ +\x22\x6f\x0b\xbe\x3b\x41\x64\x3b\x56\xea\xe1\x7b\x50\x4b\x4f\x6a\ +\x05\xfc\xc5\x92\xc3\xcb\x91\xa4\xc9\xa4\xa8\x06\xfe\x18\xe0\x57\ +\x1c\x5b\x87\xbc\x42\x9e\x49\xf4\x3f\x9d\x2b\x0b\x4d\x33\xbb\x5d\ +\xe1\xcb\xf5\xc8\x3b\x66\x18\x55\xd8\x5f\x22\x5d\x83\xcc\x51\x7c\ +\x53\x85\xa4\x8e\xbb\x68\x84\x2d\xc8\xaa\xde\x00\xcc\xe7\x48\x71\ +\xad\x59\x3b\x0e\xd2\xf8\xf2\x94\x90\x4a\xd3\x5d\xfb\x57\xb5\x4d\ +\xc0\x27\x43\xee\xe9\x8a\xfb\x2d\xf9\x1e\x66\xb3\x1b\xef\x73\x34\ +\xf1\xe6\x4a\x71\xec\x87\x94\x2c\x30\x15\x90\xbc\x3c\xd5\x2f\x4f\ +\xa7\xe9\xc2\xc4\x4d\x8e\x9d\xdd\x89\x3f\xf5\x0d\x95\xd1\x30\x8e\ +\xbd\x84\x44\xec\x8a\xf4\x40\x22\x7b\xbe\x3b\xc0\x42\xca\xd6\x15\ +\xae\xd6\xbc\xc0\x13\xc8\x3b\xee\x97\x3d\x39\xbc\xb7\xf1\x5e\x2e\ +\xd1\x4d\x5e\xd1\xb5\xd5\x04\xc7\x57\x3a\x22\x31\x7e\x5f\x8d\xbf\ +\x92\x80\x40\x5b\x4b\xf4\x46\x81\x06\xa4\xe7\xfa\x9e\xd1\x7e\x27\ +\xa0\x02\x6d\x70\x8d\x63\xbf\xb7\x10\x3d\x9f\x69\x83\xac\xf6\xb9\ +\xae\xbf\xb5\x48\x44\x33\x90\x61\xe8\xed\xf7\x4b\xca\xa6\x61\x37\ +\x41\xe2\x52\xc7\xe5\xae\x05\x3e\xa3\xe0\x47\x35\xf0\x0b\x87\x7e\ +\x6c\x46\x36\xf2\x46\xf2\x23\x87\x0e\xd8\xb4\x47\x90\x51\x2b\x2e\ +\xe7\x61\xb6\x56\xa1\x63\x97\x68\xf8\x53\x40\x12\x62\x6c\xfb\xb0\ +\x0b\x18\xac\xe2\x40\x15\x7e\x86\x22\x1b\xf6\x0c\x12\xa9\x33\xe5\ +\x74\xdc\x6e\xfb\x6a\x40\xd2\xb9\x4c\xb0\x19\x83\xa8\x03\xce\xd1\ +\xb9\x79\x4b\xcb\x0e\xb8\xb4\x97\x90\x1d\x35\xba\x0c\xc2\x7d\x30\ +\x66\x86\x81\x5f\x60\x7f\x62\x7d\xb9\x89\x13\x2d\x70\xf7\x6e\x6f\ +\xdb\xde\x44\x76\xd4\xa8\xd2\x0f\xc9\xbd\x77\xe9\xd3\x7c\x44\x07\ +\x48\x97\xb3\xb0\xfb\x48\xfa\xae\x81\x0f\x4d\x38\x1f\xc9\x79\x4b\ +\xba\x91\x2b\xd9\x7a\xe0\x44\x85\xf2\xf4\xf1\x50\x9e\x15\x98\x25\ +\xb4\xd4\xa0\xbf\xe4\x1c\x65\x77\x63\x69\xb2\xdc\x09\x99\x79\xef\ +\xb2\xe8\x9c\x0b\xdb\x0a\x7c\x3a\xa2\x1c\x3d\x90\xd7\x20\x97\x3e\ +\xbc\x8b\x2c\xfa\x98\xd2\x0b\x91\xd3\x89\xeb\xc7\x6c\x1c\x28\x90\ +\x15\x97\x34\x17\xa2\x96\x07\xff\x36\xd2\x0b\x17\x58\x28\x90\xaa\ +\xed\x46\x74\x78\x82\xa8\x66\xbf\x3a\x97\x0b\xdb\x01\x7c\x42\xbd\ +\x3a\x43\xe9\x8c\x2c\x21\x9b\xfa\x31\x1f\xc5\x94\xb0\x38\xc3\x43\ +\x7b\xe0\x24\x24\xd9\xa0\x0b\x12\xc8\xd8\x87\x88\x26\xaf\x46\x82\ +\x44\xc5\xec\xde\xb6\x48\xca\x92\xaf\xdd\x2d\xf5\x48\x60\xe7\xe7\ +\x21\x9f\x4f\x01\xbe\xe5\xe0\x9e\x63\x90\xc9\xb3\x0d\xda\x21\xe2\ +\x96\x23\x35\xbf\xb7\x0c\x59\x6c\xda\x6a\xc9\x0f\x6b\x54\xe3\x5f\ +\xb0\xf1\x07\x11\xfe\x5c\x8b\xdd\xe0\x4f\xd4\x4a\xa9\x29\x2d\x91\ +\x78\x87\xaa\x0f\xab\x80\x43\x1d\xf8\x61\x95\x29\xf8\xed\x04\x0f\ +\x13\x1e\x30\xfa\x02\x76\xe2\x00\x77\xc6\xab\x92\x48\xaa\x80\xbb\ +\x14\x7c\xd8\x48\x86\x14\xc6\xc6\xe3\x37\xe4\xfc\x2c\xe1\x19\xb2\ +\xc3\x30\x13\xb9\x2a\xda\x5c\xdc\xef\x61\x28\x10\xbd\x50\xb5\x1d\ +\x38\xc5\xb1\x0f\xd6\xb9\x80\xe6\x02\x08\x2e\xed\x15\xc2\x33\x64\ +\x4f\x42\x66\xef\xba\xd7\x5c\x84\xdf\xec\xe5\x2b\x68\x3e\xf9\xae\ +\x25\x63\x8a\x62\xa5\x0c\xc5\xed\x5e\xba\x72\x7b\x8b\xf0\x4c\xe7\ +\xde\xe8\xad\x86\xae\xc2\x2c\x02\x19\x97\x31\x34\xdd\x84\xfa\xa5\ +\x04\x7c\xb0\xca\xf1\xb8\xdd\x4b\x57\x6e\x51\x99\xce\x5d\x50\xd3\ +\x06\xdc\x44\xb2\x4a\x1d\x43\x91\x59\xfe\xf8\x04\x7d\xb0\x4a\x2f\ +\xec\x04\x3f\x54\x2d\x4a\x88\xb1\x1d\xfb\xb7\x58\x05\xd9\x1e\xa4\ +\x01\x92\x26\xf5\xb3\x7d\x5d\x5c\xef\xa5\x2b\xb7\x5a\x64\x1e\x12\ +\x44\x0d\xb2\xab\x27\xe8\x7b\x17\x59\x2b\x71\x4e\x33\x0e\x42\x4d\ +\x3f\xc0\x96\xd5\x03\xd7\x85\xf8\x52\xa0\xf9\x6e\x9e\xef\x59\x2c\ +\x6b\x4e\x08\xd5\xc0\xaf\xf0\xd7\x09\x1a\x80\x1f\x13\x1e\x15\xbd\ +\x01\xe9\x28\xd3\x6d\x16\x32\xa7\x32\x49\x04\x8c\xc2\x96\x6f\x47\ +\x46\x7c\x96\xe3\x10\xdb\xe1\xda\x4a\x36\x8f\xa6\x29\xdb\x39\x29\ +\xc0\xe4\x4c\x82\x38\x56\xdc\xc8\x99\x93\x22\x4c\xcf\x24\x30\xb5\ +\xa2\x66\x6f\x4e\x8a\xe8\x87\x59\xb8\xd6\xd4\x56\x90\x1f\x08\x9d\ +\x3a\x7a\x23\x82\x07\xbe\x3a\x41\xe6\xce\xf0\xf9\x20\xd0\x15\xc9\ +\x04\xf6\xd5\x09\x36\x62\x27\xcb\x27\xc7\x22\xed\x90\x3d\x01\xbe\ +\x3a\x41\x51\x03\x30\xc7\x33\x1d\x09\x4f\x23\xab\xc1\xdd\x1e\xfe\ +\x20\xab\x45\xd4\x3d\x72\x3c\x51\xd4\xe6\xa9\x03\xbe\x1e\xf2\x37\ +\x05\xe0\x0e\xfc\x75\x82\xa2\x06\x60\x8e\x63\x5a\xd3\xfc\x54\x8e\ +\xc9\x11\x7f\x3f\x01\xbf\x01\xa3\x3b\x38\x40\xd4\xbb\xd3\x48\x0d\ +\xe1\xba\x77\x0f\x11\xae\x98\xed\x5b\x7c\xe9\x37\xd8\xd9\x9c\x9a\ +\x53\x42\x90\xe2\x65\xb9\x15\x85\x29\x82\x38\x83\xa6\x02\xce\xae\ +\x4d\x59\x8d\x33\xa7\x32\x05\x82\xcf\xcd\x0b\xb2\x05\x84\x4b\xc9\ +\xf6\xc7\xef\x56\xb6\x97\x49\x26\x35\xec\x80\xe3\x4e\xf4\x2a\x7e\ +\x25\xe1\xa7\x8e\x1e\x85\xec\x4a\xf2\xd5\x09\x2a\xaa\x71\xe6\x44\ +\x73\x1b\x66\x15\xff\x0e\xa2\xcf\x1f\xc4\xa1\xb8\x3d\xe3\xaf\xdc\ +\x4c\x55\x55\x3f\xf0\x7c\x93\x78\x15\x5f\xd4\xdd\x0b\xc2\xf4\x10\ +\x4b\x53\xcb\xdc\xa1\xcf\x49\x73\x15\x76\x2a\x7e\x37\x22\xf5\x12\ +\x44\x2b\xcc\x0e\xb1\x34\xb5\xa8\x5c\xc3\x9c\x12\xc6\x62\xf7\xdd\ +\xbd\x0e\xe9\x50\x41\x98\x1c\x62\x19\xc7\xa2\x72\x0d\x53\x85\xf5\ +\xfd\xe3\x8a\x8c\x41\xc2\xb8\x36\xb7\x54\x15\x90\xb0\x71\x35\x12\ +\x44\x2a\xa5\x01\x39\x9b\x78\x1f\x6a\x6a\x5d\x36\x7c\x39\x1d\x89\ +\x66\x3e\xdb\xe8\xd3\x89\x8d\xbf\x3b\x17\x19\xad\x46\x23\xaf\xad\ +\x03\x11\x3d\x81\x02\xfb\x4f\x28\x3f\xa0\xf1\x21\xcc\xf4\x00\xe1\ +\x9d\xfb\x2b\xb8\x57\x05\x2b\xb5\xa5\x34\x3d\xfe\x35\xca\x36\x21\ +\x09\xb1\x43\x94\x6b\x33\x63\x0c\xc6\x9f\x4a\xf6\x63\x48\x48\x39\ +\x88\xb3\x30\x3f\xc9\xc4\x97\x2d\x40\x51\xd6\x2d\x2b\x9c\x8c\x7b\ +\x61\xa6\x52\xfb\x03\xd1\x8f\x98\x53\x11\x31\x8b\xa4\x1b\x3a\xca\ +\xea\x81\xfb\x48\xdf\xf1\x39\xda\x1c\x8b\x5f\x69\xf4\xc5\xa8\x55\ +\x5a\x1f\xd4\x0f\x81\x4a\xd2\x96\x11\x1e\xf4\x4a\x3d\x87\xe3\x77\ +\xf3\xe7\xdb\x28\x1c\x94\x54\x42\x52\x6a\xdd\xba\xf6\x0e\x19\x3c\ +\x3a\xfe\x23\x88\x5e\x90\xaf\x4a\xda\x8c\xfc\x57\xeb\x72\x30\x7e\ +\xd5\xba\xe3\x74\x82\x50\xa1\xe7\xb4\xd1\x15\xbf\x3b\x7e\xf7\x10\ +\x2d\x11\x57\x89\xd6\x64\x43\x22\xf7\x15\xc2\x27\xb7\xa9\xa1\x23\ +\x7e\xe3\xf0\x0d\xd8\x49\xd7\x6a\x81\xfb\xd3\x42\x6c\xd8\x54\x0b\ +\x65\x75\x46\x3b\xfc\xea\x02\x36\x00\x37\x5b\x2e\xc3\x2d\x9e\xfd\ +\x7f\x5c\xf3\xef\xeb\x10\x61\x8d\xd4\xd1\x1a\x7b\xc7\xac\xa9\x9a\ +\xa9\x20\x73\x25\xc6\xa1\x26\x86\x19\xd7\x6e\x2d\xb9\x9f\x4e\x80\ +\xca\x96\x1e\xa1\x35\x6a\xd0\xef\xc9\x71\xed\x39\xdc\xee\xda\x3d\ +\x17\xb7\xf2\xb8\xf7\x05\xdc\x6f\xb7\xe2\x77\xeb\x49\x51\x0e\x42\ +\x15\xf0\x28\x7e\x1b\x7f\x39\x7e\x4e\x18\xbf\x08\x37\xb9\x86\x73\ +\x08\x0e\x57\x0f\x41\x5d\x38\xeb\x66\xcb\x65\x35\xa2\x80\xc4\xde\ +\x7d\x36\xfe\xbb\xf8\x0d\x8c\xd8\x3e\xe8\xf1\x05\xa2\x67\xf2\xaa\ +\xc2\x59\x4b\xec\x15\xd1\x9c\x69\xf8\x6d\xfc\x1d\x24\x23\x8a\x68\ +\xeb\xa0\xc7\x57\x51\x1b\xb9\x0e\x03\x5e\xaf\x70\xad\x7d\x24\x1c\ +\x26\x76\x71\xb6\x4d\x94\xd5\x01\x67\x7b\x29\x59\x30\x57\x86\xf8\ +\xa5\x6a\xab\x91\x83\xb5\x55\x51\x51\x0d\x4f\x4c\x21\x74\x42\x05\ +\xc7\x5c\xd8\x35\x5e\x4a\x16\x4e\x9c\xd1\xee\x3d\xe4\xa4\x50\x5d\ +\x2a\xc9\xd6\x85\x65\x42\x39\x65\x5c\x84\x43\xae\x6c\x9a\x97\x92\ +\x45\xf3\x14\x66\xbe\x6f\x47\x1e\x21\xa6\x44\xed\x83\xbc\x32\xc6\ +\x75\x8d\xb8\x10\x3f\xef\xc7\xa5\xe6\x43\x90\x59\x05\x93\xe8\xe6\ +\x5e\xec\xec\x2c\x0e\xdb\x07\x79\xb5\x85\x6b\x2b\x33\x1a\xff\x27\ +\x85\xfa\x16\x64\x8e\x42\xf7\x3c\x9f\x7a\xec\xef\x28\x2e\xcf\xa2\ +\xbe\xd4\xf2\xf5\x43\x19\x81\x7a\x90\xc2\x96\x25\x25\xc8\x1c\xc6\ +\x72\xf4\xfc\x77\xb5\x93\xf8\x12\xf6\xff\x23\x7a\xd1\x2d\x38\x0d\ +\x7f\xa9\x5c\x45\x4b\x5a\x90\x39\x88\x17\x51\xf7\xdf\xf5\x82\xcd\ +\x67\x91\x36\x71\x1e\x0d\xec\x87\x5f\x49\xf7\x06\xd2\x23\xc8\x5c\ +\x8e\x6a\xb4\x73\x26\x7e\xb6\x8f\x9f\xe2\xfa\x3e\x7d\x49\xe6\xcc\ +\xc0\xb4\x0a\x32\x4f\xa2\xb2\xef\x4b\x39\x40\x54\x45\x7b\x23\x19\ +\x28\xbe\x1b\x3f\xcd\x82\xcc\x23\xa8\xec\x7f\x3d\x70\x7d\x52\x0e\ +\xda\xa2\x3b\x32\x01\xf3\xdd\xf8\xd3\x7d\x14\x2e\x06\xad\x51\xd7\ +\x1f\xb8\x9d\x0c\xab\x88\xf8\xde\x54\xd9\x80\xec\xa0\xc9\xc2\xd0\ +\x19\x76\x8e\x40\x90\xcd\x20\x5c\xd1\x24\xf5\xf8\xdc\x54\xf9\x0f\ +\xa0\x83\x9f\x62\xc5\x66\x20\x7a\x65\x7b\x92\xf4\xc4\x31\xb4\xa9\ +\x02\xee\xc1\x6d\xe3\xaf\x23\x43\x99\xae\x8d\x44\xc5\xe6\x83\x6c\ +\x21\xe1\x8a\x26\x99\x40\x65\xf6\x6b\x62\xdb\xc9\xa6\xa8\x42\x1f\ +\xf4\xf7\x37\xae\x24\x7b\x1d\xbd\x09\x57\x60\x77\x53\x65\x1d\x30\ +\xca\x6b\x09\xec\x72\x3d\xfa\x65\x5e\x8b\xec\x92\xca\x2c\xe7\x60\ +\x2f\x47\x2e\x4c\xfc\x31\x4b\x98\x28\x95\x6e\x02\x06\x25\xe1\xac\ +\x2d\x06\x23\x3b\x70\xe2\x34\xfe\x4f\xbd\x7b\xed\x86\x96\x98\x25\ +\xc2\xee\x24\xd9\xc4\x96\xd8\x1c\x87\x0c\x67\x26\x8d\x3f\x87\x74\ +\x2c\xed\xda\xa2\x06\x79\xdd\xd3\xad\x87\x7d\xc0\x65\x09\xf8\x6b\ +\x8d\x9e\xc8\xc4\x46\xa7\xd0\x8b\x80\x36\x49\x38\xeb\x81\xaf\x61\ +\xf6\x78\x9c\x98\x84\xb3\xb6\xe8\x84\xfa\x2e\xa0\xb4\x2d\xed\xba\ +\xe0\x48\x44\xc9\x54\xb7\x13\xdc\x45\x86\x47\xc5\xb6\x84\x6b\xfb\ +\x96\x4e\x7c\xd2\xb6\xb4\xeb\x92\xfe\x48\xc4\x50\x47\xb6\xf6\x81\ +\x24\x1c\xb5\x15\xab\xae\x06\x1e\x04\x2e\x0e\xf8\xac\x16\x39\x77\ +\xef\x05\x4b\xf7\xca\x12\x6d\x90\x19\xff\x00\x24\x76\x70\x08\xa2\ +\x2d\x5c\x40\x0e\xc1\x5a\x87\x9c\x4d\xb4\xa0\xd1\xf6\x24\xe3\xa6\ +\x1d\x0a\xc8\x02\x48\x79\xcf\xbe\x30\x49\xa7\x72\xfc\x73\x1d\xfb\ +\xf5\xff\x26\x25\xec\x4b\x4e\x42\x5c\x80\xec\xb3\xcf\x49\x39\xff\ +\x07\x02\xf1\x21\xff\x8c\x9f\x31\xc4\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x04\ +\x00\x06\xfa\x23\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x33\ +\x00\x07\ +\x06\xc7\x57\xa7\ +\x00\x6f\ +\x00\x75\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x06\ +\x03\x43\x57\x47\ +\x00\x31\ +\x00\x30\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x06\ +\x07\x01\x57\x47\ +\x00\x69\ +\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0c\ +\x0b\xdf\x21\x47\ +\x00\x73\ +\x00\x65\x00\x74\x00\x74\x00\x69\x00\x6e\x00\x67\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x09\x43\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x15\x3b\ +\x00\x00\x00\x46\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xd3\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/7.2/plugins/Code editor/icons/iconsmore.py b/7.2/plugins/Code editor/icons/iconsmore.py new file mode 100644 index 0000000..6a25c0a --- /dev/null +++ b/7.2/plugins/Code editor/icons/iconsmore.py @@ -0,0 +1,700 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created by: The Resource Compiler for PyQt4 (Qt v4.8.7) +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore + +qt_resource_data = "\ +\x00\x00\x16\x15\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x06\x00\x00\x00\x5c\x72\xa8\x66\ +\x00\x00\x15\xdc\x49\x44\x41\x54\x78\xda\xed\xdd\x6d\x68\x1c\xd7\ +\xb9\x07\xf0\xa3\xd5\xce\xee\xec\xec\xab\xd6\xda\x17\xad\x76\x6d\ +\x45\x96\xd6\xb2\x64\xbd\x60\x2b\xce\xb5\x59\x09\xcb\xc8\xf8\x62\ +\x82\xb1\x1c\x53\xdb\x82\x38\xe5\x52\x88\x5f\x8a\x6d\x8c\x3f\x5c\ +\x2e\x21\x10\xf2\xa1\x04\xd3\x0f\xe5\x12\xf2\x21\x18\x7f\x28\x25\ +\x5c\x4a\x09\xa6\x84\x52\x4c\x28\xa5\x1f\x4a\xb9\x18\x53\x4a\xb9\ +\x94\x52\x4c\x09\x21\x04\x53\x4c\x30\x25\x84\x8b\x71\xcf\x83\x8f\ +\x58\xc7\x91\x67\x76\x67\x67\xce\x33\x67\xf5\xff\xc1\xf9\x64\x42\ +\x74\x9e\xe7\x99\xbf\x66\xb4\xb3\x33\x42\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x70\xb9\x70\xe1\x42\x6c\x65\x65\xa5\x36\x36\x36\ +\xb6\x58\xad\x56\x8f\x0d\x0d\x0d\x9d\xcb\x64\x32\x97\xf3\xf9\xfc\ +\x3b\xa9\x54\xea\x46\x2e\x97\xfb\xd0\xb6\xed\x5b\x89\x44\xe2\xa7\ +\xe9\x74\xfa\x63\xf9\x6f\xb7\xeb\xf5\xfa\x79\xee\x9f\x3b\x2a\xa8\ +\x16\x54\x13\xaa\x0d\xd5\x88\x6a\x45\x35\xa3\xda\x51\x0d\xa9\x96\ +\x54\x53\xaa\xed\x4b\x2f\xbd\xb4\x48\xb5\xa6\x9a\x73\xff\xdc\xb0\ +\xc5\x2c\x2d\x2d\x15\x47\x47\x47\x0f\xcb\xa1\xbc\xec\x38\xce\xfb\ +\x72\x40\x3f\x4d\x26\x93\xf7\x2d\xcb\xfa\x46\xfe\xf3\x93\x6e\x56\ +\xb1\x58\x7c\x9f\x7b\x3f\x51\xa1\x6a\xd1\x55\xfd\xa8\xe6\x54\x7b\ +\xea\x01\xf5\x82\x7a\x52\xab\xd5\x0e\x53\x8f\xb8\xf7\x03\x7d\xa2\ +\xd9\x6c\xee\x91\x83\xf5\x43\x39\x64\x1f\xd1\xb0\xc5\x62\xb1\xae\ +\x86\x54\x20\x00\x3a\xe2\x27\x00\x5e\xb4\xa8\x47\x2a\x18\x3e\xa2\ +\xde\x51\x0f\xb9\xf7\x07\x86\x38\x76\xec\x98\x5d\x2a\x95\x8e\xcb\ +\x53\xd1\x9b\x72\x88\x3e\x17\x01\x0d\xa5\x40\x00\xb8\x0a\x32\x00\ +\x36\x5b\xd4\x4b\xea\x29\xf5\x96\x7a\xcc\xbd\x5f\x88\x98\x46\xa3\ +\xb1\x2c\x07\xe4\x56\x3c\x1e\xff\x4a\x84\x38\x88\x02\x01\xb0\xa9\ +\xb0\x03\xe0\xd9\x45\x3d\xa6\x5e\x53\xcf\xb9\xf7\x0d\x8c\x5a\xad\ +\x96\x23\x07\xef\xbc\x6d\xdb\x7f\x16\x9a\x86\x4f\x20\x00\x36\xa5\ +\x33\x00\x9e\x5d\xd4\x7b\x9a\x01\x9a\x05\xee\x1a\x80\x26\x07\x0e\ +\x1c\xb0\x87\x86\x86\xae\x5b\x96\xf5\xa5\x60\x18\x3a\x81\x00\xf8\ +\x0e\xae\x00\xd8\x58\x34\x0b\x34\x13\x34\x1b\xdc\xb5\x80\x10\x95\ +\xcb\xe5\xf5\x44\x22\xf1\x77\xc1\x38\x6c\x02\x01\xf0\x1d\xdc\x01\ +\xb0\xb1\x68\x36\x68\x46\xb8\xeb\x01\x01\x9b\x98\x98\x18\x73\x1c\ +\xe7\x8e\x88\xc0\x90\x6d\x2c\x04\x40\x5b\x54\x02\x60\x63\xd1\xac\ +\xd0\xcc\x70\xd7\x05\x02\x50\x2a\x95\xce\x0d\x0e\x0e\x3e\x12\x11\ +\x18\xac\x67\x17\x02\xa0\x2d\x6a\x01\x40\x8b\x66\x86\x66\x87\xbb\ +\x36\xe0\x93\xbc\x9e\x4b\xe4\xf3\xf9\x0f\x45\x04\x86\x69\xb3\x85\ +\x00\x68\x8b\x62\x00\x6c\x2c\x9a\x21\x9a\x25\xee\x1a\x41\x17\x16\ +\x17\x17\x0b\xa9\x54\xea\x37\x22\x02\x03\xf4\xa2\x85\x00\x68\x8b\ +\x72\x00\xd0\xa2\x59\xa2\x99\xe2\xae\x13\x74\x60\x7e\x7e\x7e\xd8\ +\xb6\xed\xbb\x22\x02\x83\xe3\xb6\x10\x00\x6d\x51\x0f\x00\x5a\x34\ +\x53\x34\x5b\xdc\xb5\x02\x17\x0b\x0b\x0b\x39\x99\xd6\x91\x3f\xf8\ +\x05\x02\xe0\x5b\x4c\x08\x00\xf1\xf4\x4c\xe0\x2e\xcd\x18\x77\xbd\ +\x60\x13\x6b\x6b\x6b\xf1\xa8\xfd\xa5\xdf\x6d\x21\x00\xda\x4c\x09\ +\x00\x5a\x34\x63\x34\x6b\xdc\x35\x83\xe7\xe4\xf3\xf9\x9f\x88\x08\ +\x0c\x48\xa7\x0b\x01\xd0\x66\x52\x00\xd0\x52\xb3\x06\x51\x51\xa9\ +\x54\x4e\x8a\x08\x0c\x46\x37\x0b\x01\xd0\x66\x5a\x00\xd0\x52\x33\ +\x07\xdc\xe6\xe7\xe7\xcb\x96\x65\x3d\x10\x11\x18\x8a\x6e\x16\x02\ +\xa0\xcd\xc4\x00\xa0\x99\xa3\xd9\xe3\xae\xdd\x96\x97\xcd\x66\x7f\ +\x26\x22\x30\x10\xdd\x2e\x04\x40\x9b\x89\x01\x40\x4b\xcd\x1e\x70\ +\x19\x1d\x1d\x3d\x38\x30\x30\xc0\x3e\x08\x7e\x16\x02\xa0\xcd\xd4\ +\x00\xa0\xd9\xa3\x19\xe4\xae\xdf\x96\xe5\x38\xce\x6f\x45\x04\x06\ +\xc1\xcf\x42\x00\xb4\x99\x1a\x00\xb4\xd4\x0c\x82\x6e\x32\x79\x0f\ +\x89\x08\x0c\x80\xdf\x85\x00\x68\x33\x39\x00\x68\xa9\x59\x04\x9d\ +\x64\xf2\x7e\x22\x22\xd0\x7c\xbf\x0b\x01\xd0\x66\x7a\x00\xa8\x59\ +\x04\x5d\x9a\xcd\xe6\x98\xbc\xfe\x7a\x2c\x22\xd0\x7c\xb7\x45\xd7\ +\x88\xc9\x64\xf2\x0b\xba\x97\x9c\x1e\x43\x95\xcd\x66\xdf\xc9\xe5\ +\x72\x17\xcb\xe5\xf2\xb9\x91\x91\x11\x3c\xac\x52\xa1\x5a\x50\x4d\ +\xa8\x36\x54\x23\xaa\x15\xd5\x8c\x6a\x67\xc2\xdf\x78\x68\x16\x69\ +\x26\xb9\xeb\xb8\x65\xc8\x21\x79\x5b\x44\xa0\xf1\xcf\x2f\x7a\x22\ +\x2d\xdd\x2e\x9a\xc9\x64\xde\xab\x54\x2a\xaf\xb6\x5a\x2d\x7c\x4c\ +\xd4\x23\xaa\x21\xd5\x92\x6a\x4a\xb5\x0d\xf2\xc9\xcc\x41\x2e\x35\ +\x93\xa0\x83\x6d\xdb\x7f\x11\x11\x68\xfa\xc6\x92\x83\xf9\xa7\x42\ +\xa1\x70\x6d\x6e\x6e\xae\xce\x5d\x9b\x7e\x47\x35\xa6\x5a\x53\xcd\ +\x45\x04\x7a\xbf\xb1\xd4\x4c\x42\xd8\x76\xed\xda\x35\x2d\x22\xd0\ +\x70\x3a\x35\x95\xa7\xaa\xbf\xde\xbe\x7d\x3b\x9e\x2e\xcb\x84\x6a\ +\x4f\x3d\x88\xca\x65\x82\x9a\x4d\x08\x93\xbc\x4e\xbc\x26\x98\x1b\ +\x2d\xaf\x4d\xff\x58\xab\xd5\x0e\x71\xd7\x02\x9e\xa2\x5e\x50\x4f\ +\x04\xf3\x5c\xa8\xd9\x84\x30\xc9\x53\x3f\xb6\xbf\xfe\xcb\xeb\xcf\ +\xc7\xf4\xae\xba\xe5\xe5\x65\x7c\x1b\x2c\x62\xa8\x27\xd4\x1b\xea\ +\x91\xe0\xbb\x14\xc4\xa7\x01\x61\xba\x72\xe5\x4a\xcc\xb2\xac\x87\ +\x82\xa1\xb9\xf1\x78\xfc\x61\xb5\x5a\x5d\xe5\xae\x01\xb8\xa3\x1e\ +\x51\xaf\x04\xc3\x8c\xd0\x6c\xd2\x8c\x72\xd7\xa0\x6f\xcd\xcc\xcc\ +\x4c\x09\x9e\x83\xff\x81\xbc\xde\x9c\xe3\xde\x3f\x74\x86\x7a\x45\ +\x3d\x13\x0c\xb3\xa2\x66\x14\xc2\x30\x3c\x3c\x7c\x46\x68\x6e\x28\ +\x3d\x1d\xb6\xd1\x68\xec\xe5\xde\x3b\x74\x87\x7a\xc6\xf1\x34\x68\ +\x35\xa3\x10\x86\x4c\x26\xf3\xae\xd0\xdc\xd0\x52\xa9\xf4\x3d\xee\ +\x7d\x83\x3f\xaa\x77\x5a\xe7\x45\xcd\x28\x84\xc1\x71\x9c\x8f\x84\ +\xc6\x66\xe2\xeb\x9e\xe6\xd3\xfd\x75\x71\x35\xa3\x10\x06\xdb\xb6\ +\x7f\x2f\xf4\x5d\xf7\x3f\x9a\x9a\x9a\xaa\x72\xef\x19\x7a\x43\x3d\ +\xa4\x5e\x0a\x4d\x73\xa3\x66\x14\xc2\x90\x4c\x26\xb5\xbd\xd7\x4f\ +\xfe\xe6\x78\x8f\x7b\xbf\x10\x0c\xd5\x4b\x2d\x73\xa3\x66\x14\x82\ +\xb6\xbe\xbe\x1e\x4b\x24\x12\x5f\x0b\x0d\x4d\xa4\xcf\x92\x77\xef\ +\xde\xbd\x9d\x7b\xcf\x10\x0c\xea\xa5\xae\xfb\x03\x68\x46\xcf\x9c\ +\x39\x83\x8f\x02\x83\x76\xf1\xe2\x45\x5b\xd7\x2d\x9f\xea\xad\x42\ +\xd0\x47\x74\xbd\x29\x8a\x66\x94\x66\x95\x7b\xbf\x7d\xe7\xc4\x89\ +\x13\x35\xa1\xe9\x34\xae\x50\x28\x5c\xe7\xde\x2f\x04\x4b\xf5\x54\ +\xcb\xfc\xa8\x59\x85\x20\x4d\x4d\x4d\xd1\x29\xb9\x96\x06\x8e\x8d\ +\x8d\xed\xe7\xde\x2f\x04\x4b\xf5\x54\xcb\xfc\xa8\x59\x85\x20\x55\ +\x2a\x95\x71\xa1\xa1\x79\xf1\x78\xfc\xc9\xda\xda\x9a\xc3\xbd\x5f\ +\x08\x16\xf5\x94\x7a\x2b\x34\xcc\x90\x9a\x55\x08\xd2\xcc\xcc\x0c\ +\xdd\x8a\x1b\x7a\xf3\x6c\xdb\xfe\x82\x7b\xaf\x10\x0e\xd5\xdb\xd0\ +\x67\x48\xcd\x2a\x04\x49\x57\x00\x24\x93\xc9\x7b\xdc\x7b\x85\x70\ +\xa8\xde\x22\x00\x4c\xa4\x2b\x00\xd2\xe9\xf4\x1f\xb8\xf7\x0a\xe1\ +\x50\xbd\x45\x00\x98\x48\x63\x00\xfc\x8e\x7b\xaf\x10\x0e\xd5\x5b\ +\x04\x80\x89\x10\x00\xd0\x2b\x04\x80\xc1\x10\x00\xee\x8e\x1c\x39\ +\xe2\xcc\xcd\xcd\xed\xe5\x58\x6b\x6b\x6b\x09\xee\xfd\x77\x02\x01\ +\x60\x30\x04\x80\xbb\xd9\xd9\xd9\x96\x8e\xfa\x6c\xb6\x56\x56\x56\ +\x8c\x78\x08\x06\x02\xc0\x60\x08\x00\x77\x08\x00\x6f\x08\x00\x83\ +\x21\x00\xdc\x21\x00\xbc\x21\x00\x0c\x86\x00\x70\x87\x00\xf0\x86\ +\x00\x30\x18\x02\xc0\x1d\x02\xc0\x1b\x02\xc0\x60\x08\x00\x77\x08\ +\x00\x6f\x08\x00\x83\x21\x00\xdc\x21\x00\xbc\x21\x00\x0c\x86\x00\ +\x70\x87\x00\xf0\x86\x00\x30\x18\x02\xc0\x1d\x02\xc0\x1b\x02\xc0\ +\x60\x08\x00\x77\x08\x00\x6f\x08\x00\x83\x21\x00\xdc\x21\x00\xbc\ +\x21\x00\x0c\x86\x00\x70\x87\x00\xf0\x86\x00\x30\x18\x02\xc0\x1d\ +\x02\xc0\x1b\x02\xc0\x60\x08\x00\x77\x08\x00\x6f\x08\x00\x83\x21\ +\x00\xdc\x21\x00\xbc\x21\x00\x0c\x86\x00\x70\x87\x00\xf0\x86\x00\ +\x30\x18\x02\xc0\x1d\x02\xc0\x1b\x02\xc0\x60\x08\x00\x77\x08\x00\ +\x6f\x08\x00\x83\x21\x00\xdc\x21\x00\xbc\x21\x00\x0c\x36\x3d\x3d\ +\xbd\x57\x20\x00\x5e\x08\x01\xe0\x4d\x63\x00\xec\xe5\xde\x6b\xdf\ +\xa9\x56\xab\xcb\x42\x43\xf3\x2c\xcb\xfa\x84\x7b\xaf\x7e\x20\x00\ +\xbc\xc9\xde\xfe\x4a\x47\x3d\xd4\xac\x42\x90\x86\x87\x87\xcf\x08\ +\x3d\x67\x00\xb7\xb9\xf7\xea\x07\x02\xc0\x9b\xea\x6d\xe8\xf5\x50\ +\xb3\x0a\x41\xca\x64\x32\x6f\x09\x0d\xcd\x4b\xa5\x52\xb7\xb8\xf7\ +\xea\x07\x02\xc0\x9b\xea\x6d\xe8\xf5\x50\xb3\x0a\x41\x72\x1c\xe7\ +\x17\x42\x4f\xf3\x7e\xcc\xbd\x57\x3f\x10\x00\xde\x54\x6f\x43\xaf\ +\x87\x9a\x55\x08\x52\x32\x99\xd4\xf2\x66\xd7\x7c\x3e\x7f\x9d\x7b\ +\xaf\x7e\x20\x00\xbc\xa9\xde\x86\x5e\x0f\x35\xab\x10\x94\xc9\xc9\ +\xc9\x05\xa1\x69\x98\x4b\xa5\x92\x91\xd7\x6f\x08\x00\x6f\xaa\xb7\ +\x5a\x6a\xa2\x66\x16\x82\x90\xcd\x66\x7f\x24\x34\x35\x6e\xe7\xce\ +\x9d\xfb\xb9\xf7\xeb\x07\x02\xc0\xdb\xf8\xf8\xf8\x7e\x5d\x35\x51\ +\x33\x0b\xbd\x3a\x7e\xfc\x78\x42\xd2\x72\xfa\x3f\x38\x38\xf8\xe4\ +\xe8\xd1\xa3\x39\xee\x3d\xfb\x81\x00\xf0\x46\xbd\xa5\x1e\xeb\xa8\ +\x09\xcd\x2c\xcd\x2e\xf7\x9e\x8d\x57\x2c\x16\x7f\x20\x34\x0d\xb2\ +\x6d\xdb\xf7\xb9\xf7\xeb\x17\x02\xa0\x33\xaa\xc7\x5a\xea\xa2\x66\ +\x17\xfc\x5a\x5a\x5a\x72\x64\x92\x7e\x26\x34\x35\x2c\x9d\x4e\xff\ +\x9c\x7b\xcf\x7e\x21\x00\x3a\xa3\x7a\xac\xeb\x2c\xe0\xb3\x56\xab\ +\xe5\x70\xef\xd9\x58\xf9\x7c\xfe\x86\xd0\x38\xc8\xf2\xff\x77\x95\ +\x7b\xcf\x7e\xc9\x83\x30\x37\x39\x39\x79\x98\x63\xc9\x53\x5d\x63\ +\x86\x5c\xf5\x58\xe7\x4c\xdd\xe0\xde\xb3\x91\xea\xf5\xfa\x6a\x2c\ +\x16\x7b\x2c\x34\x36\xab\xd9\x6c\xe2\x2f\xb7\x7d\x4e\xf5\x58\xdb\ +\x4c\xd1\x0c\xd3\x2c\x73\xef\xdb\x28\x3b\x77\xee\x9c\xb0\x2c\xeb\ +\x81\xd0\xd8\xa8\x64\x32\xf9\x39\xf7\xbe\x41\x0f\xd5\x6b\x6d\xb3\ +\x45\xb3\x4c\x33\xcd\xbd\x6f\x23\x4c\x4f\x4f\x8f\xc9\x06\xdd\x17\ +\x9a\xaf\x63\x33\x99\xcc\x07\xdc\x7b\x07\x3d\x54\xaf\xb5\xce\x17\ +\xcd\x34\xcd\x36\xf7\xde\x23\x6d\x62\x62\x62\x41\xe7\x1f\xfd\x9e\ +\x5d\x8d\x46\xe3\x10\xf7\xfe\x41\x0f\xd5\x6b\xed\x33\x46\xb3\x4d\ +\x33\xce\xbd\xff\x48\xaa\xd5\x6a\xff\x11\x8f\xc7\xff\x29\x18\x1a\ +\x63\xdb\xf6\xdf\x2e\x5d\xba\x14\xe3\xae\x01\xe8\x41\xbd\xa6\x9e\ +\x0b\x86\x59\xa3\x19\xa7\x59\xe7\xae\x41\x64\xec\xd9\xb3\xa7\x99\ +\xcb\xe5\xee\x08\x86\x66\x6c\xac\xa1\xa1\xa1\x6b\xdc\x75\x00\xbd\ +\x8a\xc5\x22\xf5\x9c\x6d\xe6\x68\xe6\x67\x67\x67\x9b\xdc\x75\x60\ +\xb3\xb8\xb8\x38\x26\x0f\xbc\x0f\x64\x22\x7e\xd3\x49\xc1\xc2\x5a\ +\x96\x65\x3d\x7c\xe5\x95\x57\x8c\xbc\xfb\x0f\xfc\xa3\x9e\xcb\xde\ +\x7f\x25\x18\x67\x8f\x66\x9f\x8e\x01\x3a\x16\xb8\xeb\xa1\xc5\xd9\ +\xb3\x67\xed\xf1\xf1\xf1\x93\xf9\x7c\xfe\xf6\xe0\xe0\xe0\xff\xeb\ +\x2e\xf8\x66\x4b\x36\xe0\x5d\xee\xba\x00\x0f\xd5\x7b\xf6\x19\xa4\ +\x63\x81\x8e\x09\x79\x6c\x9c\xa0\x63\x84\xbb\x2e\x81\x39\x7d\xfa\ +\x74\x41\x9e\xe2\x2f\x57\x2a\x95\xeb\xf2\x94\xe7\x97\xf2\xba\xeb\ +\x11\x77\xb1\x9f\x5d\x89\x44\xe2\xcb\xfd\xfb\xf7\xe3\xb7\xff\x16\ +\x45\xbd\xa7\x19\x10\x11\x98\xc5\x8d\x45\xc7\x08\x1d\x2b\x74\xcc\ +\xd0\xb1\x43\xc7\x10\x77\x9d\x3a\x52\xab\xd5\xce\xcb\x14\xfb\x38\ +\x9b\xcd\xde\xc9\x64\x32\xf7\xd2\xe9\xf4\x03\x79\x8a\xc3\x5e\x50\ +\xb7\x55\xad\x56\xbf\xcf\x5d\x37\xe0\xa5\x66\x80\x7d\x16\x5f\xb4\ +\xe8\x18\xa2\x63\x89\x8e\x29\x3a\xb6\xe8\x18\xa3\x63\x8d\xbb\x6e\ +\xdf\xe1\x38\xce\x4d\xee\x62\x75\xb3\x64\x41\xef\x70\xd7\x0c\xa2\ +\x41\xcd\x02\xfb\x4c\x76\xba\xd4\xb1\x16\x2d\x26\x05\x80\x65\x59\ +\xff\x98\x99\x99\xa9\x73\xd7\x0c\xa2\x81\x66\x81\x66\x42\x44\x60\ +\x36\x3b\x59\x08\x80\x1e\x16\xdd\x9b\xdd\x68\x34\xfe\x9d\xbb\x5e\ +\x10\x2d\x34\x13\xba\xbf\x7b\xe2\x77\x21\x00\x7a\x58\xf2\x9a\xef\ +\x32\x77\xad\x20\x9a\xd4\x6c\xb0\xcf\xa8\xd7\x42\x00\xf8\x5c\x95\ +\x4a\x05\x1f\xf9\x81\x2b\x35\x23\xec\xb3\xea\xb6\x10\x00\x5d\xae\ +\x81\x81\x01\xfa\xcd\x8f\x67\xb5\x43\x47\xe4\xac\xbc\x4d\x33\x23\ +\x22\x30\xbb\x9b\x2d\x04\x40\x17\x8b\xee\xb6\x1a\x1d\x1d\xc5\xbd\ +\xd7\xd0\x15\x9a\x19\xee\xbb\x54\x5f\xb4\x10\x00\x1d\x2e\x7a\xfe\ +\xdb\xc4\xc4\xc4\xbf\x71\xd7\x06\xcc\x44\xb3\xa3\xf3\x19\x82\x9d\ +\x2e\x04\x80\xc7\x8a\xc5\x62\xf4\x40\xc6\x9b\x2b\x2b\x2b\x66\xdc\ +\x45\x05\x91\x45\x33\x44\xb3\x44\x33\x25\x22\x30\xdb\x02\x01\xe0\ +\xbe\xb2\xd9\xec\x5d\x99\xdc\x78\x3b\x2b\x04\x8a\x66\x8a\x66\x4b\ +\x44\x60\xc6\x11\x00\x9b\x1f\xf8\xf7\x76\xec\xd8\x71\xea\xf5\xd7\ +\x5f\xc7\xf7\xfa\x21\x14\x34\x5b\x34\x63\x34\x6b\x02\x01\xf0\x6d\ +\x08\x00\xe8\x77\x08\x00\x17\xdc\x01\x20\xda\x41\x80\x4b\x00\x08\ +\x1c\x2e\x01\x3c\x44\x25\x00\x68\xe1\x8f\x80\x10\x14\xfc\x11\xb0\ +\x43\x51\x0a\x80\x8d\x85\x8f\x01\xa1\x17\xf8\x18\xb0\x0b\x51\x0c\ +\x00\x5a\xb8\x11\x08\xfc\xc0\x8d\x40\x5d\x8a\x6a\x00\xd0\x52\xb7\ +\x02\xbf\xcd\x5d\x23\x30\x03\x6e\x05\xf6\x21\xca\x01\xb0\xb1\xf0\ +\x65\x20\xf0\x82\x2f\x03\xf9\x64\x42\x00\x88\xa7\x21\x80\xaf\x03\ +\xc3\xa6\xd4\x6c\xb0\xcf\xa8\xd7\x42\x00\xf4\xb0\xf0\x40\x10\xd8\ +\x0c\x1e\x08\xd2\x23\x53\x02\x80\x16\x1e\x09\x06\xcf\xc2\x23\xc1\ +\x02\x60\x52\x00\xd0\xea\xb7\x87\x82\xee\xdb\xb7\xef\xa0\xdc\xd3\ +\xd7\x1c\xeb\xc8\x91\x23\x46\xbf\xe1\x06\x0f\x05\x0d\x00\x1e\x0b\ +\xce\x6b\x76\x76\xb6\xc5\x55\xc7\x95\x95\x95\x29\xee\xfd\xfb\x85\ +\xc7\x82\x87\xe8\xd9\x17\x83\xc8\x1f\x1c\x2f\x06\x09\x11\x02\xa0\ +\x7b\x51\x7d\x31\x08\x1d\x2b\xc6\xbd\x18\xa4\x13\x78\x35\x58\x78\ +\x10\x00\xdd\x8b\xe0\xab\xc1\x4e\xf6\xd5\xab\xc1\xdc\xbc\xfc\xf2\ +\xcb\xe3\x11\x79\x39\xe8\x57\xfd\xf0\x72\x50\x04\x40\x77\xf0\x72\ +\xd0\x88\x88\xc2\xeb\xc1\xd5\xab\xa2\x8d\x86\x00\xe8\x4e\x14\x5e\ +\x0f\x4e\xb3\xcf\x5d\x87\xc8\xa8\xd5\x6a\x74\xef\xf5\x3f\x05\x43\ +\x33\xe4\x75\xd7\xdf\x2e\x5d\xba\x64\xf4\x73\x04\x10\x00\x9d\xa3\ +\x5e\x53\xcf\x39\x6a\x45\x33\x4e\xb3\xce\x5d\x83\x48\x9a\x98\x98\ +\x58\x48\x24\x12\x9f\x09\x86\xc6\x34\x1a\x8d\x43\xdc\xfb\xef\x05\ +\x02\xa0\x73\xaa\xd7\xda\xeb\x44\xb3\x4d\x33\xce\xbd\xff\x48\x9b\ +\x9e\x9e\x1e\x4b\x26\x93\xf7\x85\xe6\xe6\x64\x32\x99\x0f\xb8\xf7\ +\xde\x0b\x04\x40\xe7\x54\xaf\xb5\xd6\x88\x66\x9a\x66\x9b\x7b\xef\ +\x46\xd8\xb9\x73\xe7\x84\x65\x59\x0f\x84\xde\x06\x7d\xce\xbd\xef\ +\x5e\x20\x00\x3a\xa7\x7a\xad\xad\x3e\x34\xcb\x34\xd3\xdc\xfb\x36\ +\x4a\xbd\x5e\x5f\xd5\x7d\x6f\x76\xb3\xd9\x34\xf6\xf4\x0c\x01\xd0\ +\x19\xd5\x63\x6d\xb5\xa1\x19\xa6\x59\xe6\xde\xb7\x91\xf2\xf9\xfc\ +\x0d\xa1\xb1\x59\xf2\xff\x77\x95\x7b\xcf\x7e\x21\x00\x3a\xa3\x7a\ +\xac\x73\xa6\x6e\x70\xef\xd9\x58\xad\x56\xcb\xd1\xf9\x47\xc1\x74\ +\x3a\xfd\x73\xee\x3d\xfb\x85\x00\xe8\x8c\xea\xb1\x96\xba\xd0\xec\ +\xd2\x0c\x73\xef\xd9\x68\xc5\x62\xf1\x07\x42\x53\xc3\xd4\xf3\xdf\ +\x8c\x84\x00\xe8\x8c\xce\x67\xfc\xa9\xd9\x85\x5e\x1c\x3f\x7e\x5c\ +\x06\x69\xe2\x0b\xa1\xa1\x61\x83\x83\x83\x4f\x8e\x1e\x3d\x6a\xe4\ +\x5d\x81\x08\x00\x6f\xd4\x5b\xea\xb1\x8e\x9a\xd0\xcc\xd2\xec\x72\ +\xef\xb9\x2f\x64\xb3\xd9\x1f\x09\x4d\xc3\x3c\x3e\x3e\xbe\x9f\x7b\ +\xbf\x7e\x20\x00\xbc\xa9\xde\x6a\xa9\x89\x9a\x59\x08\xc2\xe4\xe4\ +\xa4\xb6\xbf\xdc\x96\x4a\xa5\x33\xdc\xfb\xf5\x03\x01\xe0\x4d\xf5\ +\x56\x4b\x4d\xd4\xcc\x42\x50\x92\xc9\xa4\x96\xcb\x80\x7c\x3e\x7f\ +\x9d\x7b\xaf\x7e\x20\x00\xbc\xa9\xde\x86\x5e\x0f\x35\xab\x10\x24\ +\xc7\x71\x7e\x21\x34\x34\x2f\x93\xc9\xfc\x98\x7b\xaf\x7e\x20\x00\ +\xbc\xa9\xde\x86\x5e\x0f\x35\xab\x10\x24\xd9\xbc\xb7\x84\x86\xe6\ +\xa5\x52\xa9\x5b\xdc\x7b\xf5\x03\x01\xe0\x4d\xf5\x56\xc7\x2f\x91\ +\xb7\xb8\xf7\xda\x77\x86\x87\x87\xb5\x5c\xbf\xa5\xd3\xe9\xdb\xdc\ +\x7b\xf5\x83\x33\x00\x8e\x1e\x3d\x6a\xc4\xd7\x5a\x55\x6f\x43\xaf\ +\x87\x9a\x55\x08\x52\xb5\x5a\xa5\x37\xfe\x86\xde\x3c\xcb\xb2\x3e\ +\xe1\xde\xab\x1f\x9c\x01\xb0\xbe\xbe\x6e\xc4\x13\x96\x55\x6f\x43\ +\xaf\x87\x9a\x55\x08\xd2\xf4\xf4\xf4\x5e\xa1\xe7\x0c\xe0\x77\xdc\ +\x7b\xf5\x83\x2b\x00\xe8\xa1\x95\x57\xae\x5c\xc9\x70\xef\xbf\x13\ +\xaa\xb7\xa1\xd7\x44\xcd\x2a\x04\x69\x66\x66\x66\x4e\x20\x00\x5e\ +\x88\x2b\x00\x1c\xc7\x79\xc4\xbd\xf7\x4e\xe9\x0a\x00\x35\xab\x10\ +\x24\x04\x80\x3b\xae\x00\x90\xf5\xfa\x3f\xee\xbd\x77\x0a\x01\x60\ +\x30\x04\x80\x3b\xae\x00\xc8\xe5\x72\xbf\xe4\xde\x7b\xa7\x10\x00\ +\x06\x43\x00\xb8\xe3\x0a\x80\x62\xb1\xf8\x1e\xf7\xde\x3b\x85\x00\ +\x30\x18\x02\xc0\x1d\x57\x00\x34\x1a\x0d\x63\x3e\xf2\x42\x00\x18\ +\x0c\x01\xe0\x6e\x61\x61\xa1\x95\x48\x24\x9e\x74\xb3\x06\x06\x06\ +\x7a\xaa\x15\xfd\xf7\xab\xab\xab\xdb\xb9\xf7\xde\x29\x04\x80\xc1\ +\x10\x00\xee\xae\x5e\xbd\x1a\xbb\x76\xed\x9a\xd3\xcd\xca\x64\x32\ +\x77\x7b\xac\x95\x51\xcf\x51\x44\x00\x18\x0c\x01\x10\x3c\x19\x00\ +\xf7\x7b\xa9\xd5\xd0\xd0\x50\xf4\xde\x52\xeb\x02\x01\x60\x30\x04\ +\x40\xb0\xde\x7c\xf3\xcd\x78\x2a\x95\xea\xe9\xb5\x6c\x93\x93\x93\ +\xaf\x72\xef\xa3\x1b\x08\x00\x83\x21\x00\x82\x75\xe0\xc0\x81\x9e\ +\xea\x29\xc3\xe3\x1f\xe7\xce\x9d\x33\xea\x89\x37\x08\x00\x83\x21\ +\x00\x82\x35\x32\x32\x72\xb1\x97\x3a\x6d\xdb\xb6\xed\xbf\xb9\xf7\ +\xd0\x2d\x04\x80\xc1\x10\x00\xc1\xca\xe7\xf3\xbe\xbf\x18\x13\x8b\ +\xc5\x9e\xec\xdd\xbb\x77\x9a\x7b\x0f\xdd\x42\x00\x18\x0c\x01\x10\ +\x9c\xd5\xd5\xd5\x61\xcb\xb2\x7c\x5f\xff\xcb\xf0\xf8\x15\xf7\x1e\ +\xfc\x40\x00\x18\x0c\x01\x10\x1c\x79\xfa\xef\xfb\xd5\xd8\xf4\xd9\ +\xbf\xec\xc5\x41\xee\x3d\xf8\x81\x00\x30\x18\x02\x20\x18\x67\xcf\ +\x9e\x4d\x38\x8e\x73\xdf\x6f\x7d\x0a\x85\x82\x31\xf7\xfe\x3f\x0f\ +\x01\x60\x30\x04\x40\x30\x46\x47\x47\xcf\xfb\xad\x4d\x3c\x1e\xff\ +\x7a\x76\x76\xd6\x88\xa7\xff\x6c\x06\x01\x60\x30\x04\x40\xef\x96\ +\x97\x97\x8b\xc9\x64\xf2\x4b\xbf\xb5\x29\x97\xcb\x6f\x73\xef\xa1\ +\x17\x08\x00\x83\x21\x00\x7a\x57\x2c\x16\x6f\xf5\x50\x97\x7b\xa7\ +\x4f\x9f\x36\xea\x73\xff\xe7\x21\x00\x0c\x86\x00\xe8\x4d\xbd\x5e\ +\x3f\xe3\xf7\xcb\x3f\x96\x65\x3d\xda\xbd\x7b\xb7\x11\x4f\xfe\x75\ +\x83\x00\x30\x18\x02\xc0\xbf\x89\x89\x89\xbd\x74\x10\xfb\xa9\x07\ +\xbd\xdf\xbe\xd1\x68\x9c\xe2\xde\x43\x10\x10\x00\x06\x43\x00\xf8\ +\xd3\x6c\x36\xa7\x13\x89\x84\xef\xeb\xfe\x6a\xb5\xda\x37\xcf\xb8\ +\x47\x00\x18\x0c\x01\xd0\xbd\x1d\x3b\x76\x1c\x94\x07\xff\x03\xbf\ +\xb5\x18\x1e\x1e\xfe\x09\xf7\x1e\x82\x84\x00\x30\x98\xc6\x00\xf8\ +\x03\xf7\x5e\x7b\xf5\xda\x6b\xaf\xc5\x4a\xa5\xd2\xb5\xc1\xc1\x41\ +\xdf\x77\xfb\xf5\xdb\xc1\x4f\x54\x6f\x11\x00\x26\xd2\x15\x00\xc9\ +\x64\xf2\x1e\xf7\x5e\x7b\x21\x7f\xeb\x1f\x72\x1c\xe7\x7f\xfd\xee\ +\x7f\x60\x60\xe0\x71\xa5\x52\xe9\x9b\xd3\xfe\x67\xa9\xde\x22\x00\ +\x4c\xa4\x2b\x00\x6c\xdb\x36\xf6\xcd\xae\xf2\xb7\xfe\xcd\x5e\xf6\ +\x1e\x8f\xc7\x1f\xd5\xeb\xf5\xef\x71\xef\x23\x2c\xaa\xb7\x08\x00\ +\x13\x8d\x8c\x8c\x8c\x0b\x0d\xcd\xa3\x37\xdd\xac\xad\xad\x39\xdc\ +\xfb\xf5\x63\x6c\x6c\xec\x94\xdf\x7d\xcb\xb3\x86\xbb\xbb\x76\xed\ +\x32\xfe\xa3\xbe\x17\xa1\x9e\x52\x6f\xfd\xd6\xa7\x9b\x25\xcf\xa0\ +\xc6\xb9\xf7\xdb\x77\xa6\xa6\xa6\xe8\xe1\x93\x5a\x1a\x28\x0f\xa4\ +\xfd\xdc\xfb\xf5\xe3\x8d\x37\xde\x88\xc9\xeb\xdc\xbf\x76\xb3\x57\ +\xba\xbd\x57\x5e\xef\xbf\x75\xea\xd4\x29\xa3\x6f\xf2\xf1\xa2\x7a\ +\xaa\x65\x7e\xd4\xac\x42\x90\x4e\x9c\x38\x51\x13\x9a\x1a\x58\x28\ +\x14\xae\x73\xef\xd7\xaf\x5a\xad\xd6\xd1\xbd\xfe\xf4\xf9\x7e\x2e\ +\x97\xfb\x1f\x79\xba\xba\x25\x7e\x5b\xa9\x9e\x6a\x99\x1f\x35\xab\ +\x10\xa4\x8b\x17\x2f\xda\xbd\x3e\xc6\xba\xd3\x95\x4a\xa5\x7e\xc3\ +\xbd\x5f\xbf\x4e\x9e\x3c\x29\x2f\x75\xed\x17\x7e\xee\x4f\x9f\x0c\ +\x64\xb3\xd9\x9f\x35\x9b\xcd\x2d\x75\x9d\xaa\x7a\x1a\xfa\xec\xd0\ +\x8c\xd2\xac\x72\xef\xb7\xef\xac\xaf\xaf\xc7\x12\x89\xc4\xd7\x42\ +\x43\x13\xe9\xb7\xe3\xee\xdd\xbb\x8d\x3d\x8d\x2b\x97\xcb\xff\x25\ +\x9e\x1b\x4a\x79\x00\xfc\xa9\x58\x2c\xfe\xe7\xbe\x7d\xfb\xb6\xdc\ +\x6f\x27\xea\x25\xf5\x54\x68\x98\x1d\x9a\xd1\x33\x67\xce\xc4\xb8\ +\xf7\xdc\x97\x92\xc9\xe4\xdf\x85\xa6\xd3\x38\x79\x7a\x6c\xcc\x2b\ +\xaf\x9e\x77\xf8\xf0\xe1\xa2\xfc\x2d\xff\xd7\x4c\x26\x73\x7b\xdb\ +\xb6\x6d\x97\x17\x16\x16\x8c\xfd\x0a\x6f\x10\x54\x2f\xb5\xcc\x8d\ +\x9a\x51\x08\x83\x3c\xb5\xfd\xbd\xd0\xd4\x48\xfa\x48\x6c\x6a\x6a\ +\xaa\xca\xbd\x67\xe8\x0d\xf5\x90\x7a\x29\x34\xcd\x8d\x9a\x51\x08\ +\x83\xe3\x38\x1f\x09\x4d\x8d\xa4\x45\xd7\xca\xdc\x7b\x86\xde\xa8\ +\x1e\x6a\x9b\x19\x35\xa3\x10\x06\x79\x4a\xfb\xae\xd0\xd8\x4c\x5a\ +\xa5\x52\xa9\x6f\x6f\x8c\xe9\x77\xaa\x77\x5a\xe7\x45\xcd\x28\x84\ +\x61\x78\x78\x98\xde\x44\xab\xb5\xa1\x83\x83\x83\x8f\x1a\x8d\xc6\ +\x5e\xee\xbd\x43\x77\xa8\x67\xd4\x3b\xa1\x79\x5e\xd4\x8c\x42\x18\ +\x66\x66\x66\xe8\x4e\x35\xad\x0d\x15\x4f\xff\x1e\xf0\x60\xfb\xf6\ +\xed\x5b\xea\x63\x33\x93\x51\xaf\xa8\x67\x82\x61\x56\xd4\x8c\x42\ +\x18\xae\x5c\xb9\x12\xb3\x2c\xeb\xa1\xe0\x09\x81\x87\xd5\x6a\x75\ +\x95\xbb\x06\xe0\x8e\x7a\x44\xbd\x12\x0c\x33\x42\xb3\x49\x33\xca\ +\x5d\x83\xbe\x96\x4a\xa5\x7c\xbf\xd1\xa6\xd7\x45\x9f\x25\xe7\xf3\ +\xf9\x77\x96\x97\x97\xe3\xdc\x75\x80\x6f\xa3\x9e\x50\x6f\x74\x7d\ +\xde\xbf\xd9\x52\xb3\x09\x61\xca\xe5\x72\xbe\x5f\x6a\x11\xd4\x4a\ +\x26\x93\x7f\xac\xd5\x6a\x87\xb8\x6b\x01\x4f\x51\x2f\xa8\x27\x82\ +\x79\x2e\xd4\x6c\x42\x98\x76\xed\xda\x45\xef\xa4\x63\x6d\x34\x2d\ +\xba\xbb\xce\x71\x9c\x5f\xcb\xeb\xcd\x65\xee\x9a\x6c\x55\x54\x7b\ +\xea\x81\xae\x5b\xc4\xbd\x96\x9a\x4d\x08\x9b\x6d\xdb\x7f\x11\x11\ +\x68\xf8\xc6\xa2\xdb\x6c\x0b\x85\xc2\xb5\xb9\xb9\xb9\x3a\x77\x6d\ +\xfa\x1d\xd5\x98\x6a\x4d\x35\x17\x11\xe8\xfd\xc6\x52\x33\x09\x3a\ +\x64\xb3\x59\x7a\x41\x05\x7b\xd3\x9f\x5f\xf4\xd6\x5c\x39\x98\x77\ +\x33\x99\xcc\x7b\x95\x4a\xe5\xd5\x56\xab\x55\xe6\xae\x95\xe9\xa8\ +\x86\x54\x4b\xaa\x29\xd5\x96\x6a\x2c\x22\xd0\xeb\xe7\x97\x9a\x49\ +\xd0\xa1\xd9\x6c\x8e\xd1\xa3\xab\x44\x04\x1a\xef\xb6\xe8\xd4\x54\ +\x5e\x9b\x7e\x41\xdf\x44\x4b\xa7\xd3\xb7\xe4\x90\xbc\x23\xaf\x13\ +\x2f\x96\xcb\xe5\x73\x23\x23\x23\x7b\xb8\xeb\x18\x15\x54\x0b\xaa\ +\x09\xd5\x86\x6a\x44\xb5\xa2\x9a\x51\xed\xa2\x72\x7a\x2f\xdc\xfb\ +\xfc\x98\x66\x92\xbb\x8e\x5b\x8a\xbc\xf6\x63\xfb\x34\x20\x88\x55\ +\x2c\x16\xdf\xe7\xae\x61\x54\xa8\x5a\xb0\xf7\xc4\xef\x52\xb3\x08\ +\x3a\x8d\x8e\x8e\x1e\x12\x11\x68\xbe\xdf\x85\x00\x68\x33\x3d\x00\ +\xd4\x2c\x82\x6e\x32\x79\x7f\x2b\x22\x30\x00\x7e\x16\x02\xa0\xcd\ +\xe4\x00\x50\x33\x08\x1c\x64\xf2\x1e\x34\xe1\x1a\x71\xb3\x85\x00\ +\x68\x33\x35\x00\x68\xf6\x68\x06\xb9\xeb\xb7\xa5\x65\x32\x19\xad\ +\x5f\xf7\x0c\x6a\x21\x00\xda\x4c\x0d\x00\x7c\x5d\x3c\x02\xe6\xe7\ +\xe7\xcb\x96\x65\xb1\x7c\xf1\xa3\x97\x85\x00\x68\x33\x31\x00\x68\ +\xe6\x68\xf6\xb8\x6b\x07\x52\xa5\x52\x39\x29\x22\x30\x14\xdd\x2c\ +\x04\x40\x9b\x89\x01\xa0\x66\x0e\xa2\xa2\x50\x28\xd0\xbb\xec\xd8\ +\x07\xa3\xd3\x85\x00\x68\x33\x2d\x00\xf2\xf9\x7c\xdf\xbd\x37\xd1\ +\x78\x6b\x6b\x6b\x71\xc7\x71\xee\x88\x08\x0c\x48\x27\x0b\x01\xd0\ +\x66\x52\x00\xd0\x8c\xd1\xac\x71\xd7\x0c\x36\xb1\xb0\xb0\x90\xb3\ +\x6d\xfb\xae\x88\xc0\xa0\x78\x2d\x04\x40\x9b\x29\x01\x40\xb7\x22\ +\xd3\x8c\x71\xd7\x0b\x5c\xcc\xcf\xcf\x0f\x9b\x10\x02\x08\x80\x36\ +\x13\x02\x80\x66\x8a\x66\x8b\xbb\x56\xd0\x81\xc5\xc5\xc5\x82\xae\ +\x37\xc1\xf8\x5d\x08\x80\xb6\xa8\x07\x00\xcd\x12\xcd\x14\x77\x9d\ +\xa0\x0b\x07\x0e\x1c\x48\xe4\xf3\xf9\x0f\x45\x04\x06\x68\xb3\x85\ +\x00\x68\x8b\x72\x00\xd0\x0c\xd1\x2c\x71\xd7\x08\x7c\x2a\x95\x4a\ +\xe7\x38\x9e\x0e\xeb\xb5\x10\x00\x6d\x51\x0c\x00\x9a\x19\x9a\x1d\ +\xee\xda\x40\x00\x26\x26\x26\xc6\xa2\xf6\x09\x01\x02\xa0\x2d\x6a\ +\x01\x40\xb3\x42\x33\xc3\x5d\x17\x08\x58\xb9\x5c\x5e\x4f\x24\x12\ +\xda\xde\x2f\xe8\xb6\x10\x00\x6d\x51\x09\x00\x9a\x0d\x9a\x11\xee\ +\x7a\x40\x88\x96\x96\x96\x9c\xa1\xa1\xa1\xeb\x96\x65\xbd\xf0\x15\ +\xda\x3a\x16\x02\xa0\x8d\x3b\x00\x68\x16\x68\x26\x68\x36\xb8\x6b\ +\x01\x9a\xb4\x5a\x2d\x47\x0e\xde\x79\xdb\xb6\xff\x2c\x10\x00\xac\ +\xb8\x02\x80\x7a\x4f\x33\x40\xb3\xc0\x5d\x03\x60\xd4\x68\x34\x96\ +\xe9\x31\x54\xf1\x78\xfc\x2b\x81\x00\xd0\x4e\x67\x00\x50\x8f\xa9\ +\xd7\xd4\x73\xee\x7d\x43\xc4\x1c\x3b\x76\xcc\x2e\x95\x4a\xc7\xe5\ +\x80\xdc\x4c\x26\x93\x9f\x0b\x04\x80\x16\x61\x07\x00\xf5\x92\x7a\ +\x4a\xbd\xa5\x1e\x73\xef\x17\x0c\xd1\x6c\x36\xf7\xe4\xf3\xf9\x1f\ +\xa6\x52\xa9\x8f\xe4\x10\xdd\x0f\xf2\x89\xb4\x08\x80\xb6\x20\x03\ +\x80\x7a\x44\xbd\xa2\x9e\x51\xef\xa8\x87\xdc\xfb\x83\x3e\xb1\xb4\ +\xb4\x54\xac\xd5\x6a\x87\xe5\x60\x5d\x76\x1c\xe7\x7d\x39\x64\x9f\ +\xd2\xb0\x59\x96\xf5\x8d\x40\x00\xf8\xe6\x27\x00\xa8\xe6\xea\x40\ +\xff\x94\x7a\x41\x3d\xa1\xde\x50\x8f\xb8\xf7\x03\x5b\xcc\x85\x0b\ +\x17\x62\x2b\x2b\x2b\xb5\xb1\xb1\xb1\xc5\x6a\xb5\x7a\x6c\x68\x68\ +\xe8\x5c\x26\x93\xb9\x4c\xef\xaa\x93\x03\x7a\x23\x97\xcb\x7d\x68\ +\xdb\xf6\xad\x44\x22\xf1\x53\x79\x2a\xfa\xb1\xfc\xb7\xdb\xf5\x7a\ +\xfd\x3c\xf7\xcf\x1d\x15\x54\x0b\xaa\x09\xd5\x86\x6a\x44\xb5\xa2\ +\x9a\x51\xed\xa8\x86\x54\x4b\xaa\x29\xd5\x96\x6a\x4c\xb5\xa6\x9a\ +\x73\xff\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x85\xfd\x0b\ +\xd0\x33\x46\xb1\x36\x6a\x6f\x05\x00\x00\x00\x00\x49\x45\x4e\x44\ +\xae\x42\x60\x82\ +\x00\x00\x12\xb4\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x06\x00\x00\x00\x5c\x72\xa8\x66\ +\x00\x00\x12\x7b\x49\x44\x41\x54\x78\xda\xed\xdd\x4f\x68\x9c\xe7\ +\xb5\xc7\xf1\x47\x33\xa3\xd1\xfc\x1f\x8d\xac\x91\x46\x1a\x59\xb6\ +\x65\xa1\xd8\x96\xa5\xc8\x8e\xa8\x9d\x3a\x0e\x64\x70\x94\x52\x8b\ +\x50\x84\x1d\x6a\x13\xb2\x71\x50\x44\x29\xda\xa4\x98\x52\x42\x76\ +\xa6\x8b\x92\x45\x29\xc6\x64\x11\x4c\xc9\xc2\x18\x53\x4c\xe8\xa2\ +\x84\x2c\xba\xb8\x98\x52\x4a\x16\x59\x78\x71\xb9\x84\xae\x42\xb8\ +\x98\x50\x4a\x08\x17\x63\x42\xee\x73\xe8\xf3\x82\x2d\xe4\xf1\x48\ +\x9a\xf7\x39\xcf\xcc\xfb\xfd\xc0\x21\x18\x02\xf6\x73\xce\x6f\xce\ +\x68\x46\xf3\xbe\x63\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x84\xe8\xca\x95\x2b\x85\xc5\xc5\xc5\xd9\x66\xb3\xf9\xd2\xbe\ +\x7d\xfb\xd6\x6c\xad\x97\xcb\xe5\xab\xa5\x52\xe9\x5a\xb1\x58\xfc\ +\x83\xfd\xef\x47\xd9\x6c\xf6\x66\x3e\x9f\xbf\x6d\xff\x7c\xd7\xfe\ +\xf9\xcf\xad\x56\x6b\x4a\xfb\xdf\xdd\x6d\x72\x26\x39\x9b\x9c\x51\ +\xce\x2a\x67\x96\xb3\xbb\x1e\x5c\x93\x9e\x48\x6f\xa4\x47\xd2\x2b\ +\xe9\x99\xf4\x4e\xfb\xdf\x0d\x3c\xd3\xc6\xc6\x46\x6a\x61\x61\xe1\ +\xc8\xe8\xe8\xe8\x1b\x36\xcc\xef\xdb\x50\xdf\x1a\x1a\x1a\xfa\xbb\ +\xad\x07\xa9\x54\xea\x07\xfb\xbf\xec\xa8\xce\x9e\x3d\x7b\x44\xfb\ +\x4c\xdd\xe6\xce\xb4\xa3\x3e\x48\xef\xa4\x87\xd2\x4b\xe9\xa9\xf4\ +\x56\x7a\x2c\xbd\x96\x9e\x6b\x9f\x09\x09\xb5\xb2\xb2\x52\x98\x98\ +\x98\x58\xb1\xcf\x5a\xd7\x72\xb9\xdc\x5f\xed\xb3\xd9\xb7\x66\x87\ +\xe1\x36\x2c\x80\x3d\x95\xf4\x5c\x7a\x2f\x33\x90\x59\xc8\x4c\xb4\ +\xcf\x88\x3e\x36\x3f\x3f\x3f\x5d\xad\x56\x37\xed\x8f\xaf\x9f\x65\ +\x32\x99\x87\xa6\x8b\x61\x36\x2c\x80\x3d\x97\xcc\x44\x66\x23\x33\ +\x92\x59\x69\x9f\x17\x7d\xe0\xf4\xe9\xd3\x95\x5a\xad\xb6\x6e\x9f\ +\x69\xee\x0d\x0c\x0c\x7c\x6f\x62\x0c\xb0\x61\x01\x74\xad\x64\x56\ +\x32\x33\x99\x9d\xcc\x50\xfb\xec\xe8\x31\x33\x33\x33\x73\xf6\xf5\ +\xe6\x0d\xfb\xac\xd2\xd5\x1f\xed\x3b\x2d\x16\x40\x57\x7f\x32\xf8\ +\x56\x66\x29\x33\xd5\xee\x01\x02\x77\xe8\xd0\xa1\x23\x36\x2c\xb7\ +\x53\xa9\x94\xb7\x67\x7b\xc3\x02\xf0\x52\x32\x53\x99\xad\xcc\x58\ +\xbb\x17\x08\xcc\xe2\xe2\xe2\x88\x3c\x4b\xd8\x90\x3c\x32\x8a\x21\ +\x35\x2c\x00\x1f\x8b\xe0\x91\xcc\x5a\x66\xae\xdd\x13\x04\xa0\x5e\ +\xaf\xbf\x39\x38\x38\xf8\xc0\x04\x10\xce\xa8\x58\x00\xf1\x97\xcc\ +\x5c\x66\xaf\xdd\x17\x28\x39\x71\xe2\xc4\xb0\x7d\x26\xb8\x63\x02\ +\x08\xe3\xd6\x62\x01\xf8\x2b\xc9\x80\x64\x41\xbb\x3f\xf0\x68\x7a\ +\x7a\xfa\x78\x36\x9b\xfd\xd2\x04\x10\xc0\xed\x8a\x05\xe0\xb7\x24\ +\x0b\x92\x09\xed\x1e\xc1\x83\x46\xa3\xb1\x92\xc9\x64\xfe\x6d\x02\ +\x08\xde\xd3\x8a\x05\xe0\xbf\x24\x13\x92\x0d\xed\x3e\x21\x46\x76\ +\xc0\xaf\xa7\x52\xa9\x58\x3f\xc4\xd3\x8d\x62\x01\xe8\x94\x64\x43\ +\x32\xa2\xdd\x2b\xc4\x60\x72\x72\xf2\xa7\xbd\xf0\xe0\x37\x2c\x00\ +\xf5\x25\x20\x59\xd1\xee\x17\xba\x68\xff\xfe\xfd\xcb\xe9\x74\xfa\ +\x3b\x13\x40\xc0\x3a\x29\x16\x80\x6e\x49\x56\x24\x33\xda\x3d\x43\ +\x17\xcc\xcf\xcf\x37\x06\x07\x07\xbf\x32\x01\x04\xab\xd3\x62\x01\ +\xe8\x97\x64\xe6\xf8\xf1\xe3\x0d\xed\xbe\x61\x0f\x36\x37\x37\x53\ +\xc5\x62\xf1\x33\x13\x40\xa0\x76\x52\x2c\x80\x30\x4a\xb2\x23\x19\ +\xd2\xee\x1d\x76\xa9\x5e\xaf\xff\xd2\x04\x10\xa4\x9d\x16\x0b\x20\ +\x9c\x72\x19\x42\xaf\x39\x7a\xf4\xe8\x94\xd6\xc5\x3c\x7b\x2d\x16\ +\x40\x38\x25\x19\x92\x2c\x69\xf7\x0f\x3b\x54\x2e\x97\x6f\x99\x00\ +\x02\xb4\x9b\x62\x01\x84\x55\x2e\x4b\xe8\x15\x87\x0f\x1f\x3e\xe9\ +\xf3\xfa\xfd\x6e\x17\x0b\x20\xac\x92\x2c\x49\xa6\xb4\x7b\x88\x0e\ +\x95\x4a\xa5\x3f\x99\x00\x82\xb3\xdb\x62\x01\x84\x57\x2e\x53\x08\ +\xdd\xb1\x63\xc7\x66\xb5\xaf\xe7\xdf\x6b\xb1\x00\xc2\x2b\xc9\x94\ +\x64\x4b\xbb\x8f\x78\x86\x6a\xb5\xfa\x81\x09\x20\x30\xcf\xaa\x4c\ +\x26\xf3\x28\x9f\xcf\xdf\xb7\x75\xb7\x58\x2c\xfe\xde\xfe\xbb\x7f\ +\x3d\x32\x32\xf2\xf6\xf0\xf0\xf0\x85\x56\xab\x55\xd2\xee\x63\xb7\ +\xc9\x99\xe4\x6c\x72\x46\x39\xab\x9c\x59\xce\x9e\xcb\xe5\xee\x4b\ +\x2f\xb4\xe7\xd1\x49\xb9\x6c\x21\x54\xeb\xeb\xeb\x99\x6c\x36\xfb\ +\xb5\x09\x20\x2c\x5b\x6b\x70\x70\xf0\xdb\x42\xa1\x70\x57\x6e\x5a\ +\x79\xe8\xd0\xa1\xe5\x4b\x97\x2e\x65\xb5\xfb\x15\x0a\xe9\x85\xf4\ +\x44\x7a\x23\x3d\x92\x5e\x99\x00\x66\xb6\xb5\x24\x5b\x92\x31\xed\ +\x7e\xe1\x29\x0e\x1c\x38\x20\x57\x73\xa9\x07\x25\xaa\x74\x3a\xfd\ +\xd0\x3e\xd3\xdd\x9e\x98\x98\x58\x3d\x7f\xfe\x3c\x0f\xf8\x0e\x49\ +\xaf\x6c\xcf\x5e\x97\xde\x49\x0f\x4d\x00\xb3\x8c\xca\x65\x0c\x21\ +\x2a\x97\xcb\x37\x4c\x00\x21\x91\x4b\x4b\xed\xb3\xd9\xb5\x85\x85\ +\x85\x31\xed\x9e\xf4\x3a\xe9\xa1\xf4\x32\x94\x4b\xb8\x5d\xc6\x10\ +\x22\xfb\x9a\xf2\x9f\x46\x31\x1c\xf2\x46\x51\xa5\x52\xb9\x7e\xf2\ +\xe4\xc9\x51\xed\x5e\xf4\x1b\xe9\xa9\xf4\x56\xfb\x0d\x5e\x97\x31\ +\x84\x66\x79\x79\x59\xde\xa1\x55\x0b\xc6\xd0\xd0\xd0\x97\x53\x53\ +\x53\x3f\xd6\xee\x43\xbf\x93\x1e\x4b\xaf\x8d\xe2\xac\x5d\xd6\x10\ +\x92\xd1\xd1\xd1\xb7\x8c\x52\x20\x4a\xa5\xd2\xa7\xf6\x19\x8a\xfb\ +\xca\x79\x22\xbd\x2e\x16\x8b\x9f\x1a\xa5\x79\xbb\xac\x21\x24\xf6\ +\xb5\xd9\x75\xa3\xf3\x9a\xf0\xd6\xea\xea\x2a\xef\x0c\x7b\x26\x3d\ +\xd7\xfa\xb8\xb7\xcb\x1a\x42\x52\x28\x14\xee\x19\xcf\x41\xb0\x7f\ +\xe7\x5f\x78\xf0\xeb\x91\xde\xcb\x0c\x8c\xff\xb9\xdf\xd3\x3e\x3b\ +\x1e\x23\x5f\x15\x9d\xcb\xe5\xfe\x65\x3c\x86\x40\xee\x24\xbb\xb4\ +\xb4\xc4\x8f\xfd\xca\x64\x06\xbe\xef\xf0\x2c\x59\xe3\xeb\xc9\x03\ +\x72\xf1\xe2\xc5\xd1\x81\x81\x01\x6f\x01\x90\x8b\x43\x26\x26\x26\ +\x5e\xd2\x3e\x37\xfe\x43\x66\xe1\xf3\xe2\x2f\xc9\x9a\x64\x4e\xfb\ +\xdc\x70\xe6\xe6\xe6\xe4\xfe\x6d\xde\x16\x40\xa9\x54\xfa\xa3\xf6\ +\x99\xf1\x24\x37\x13\x6f\x19\x70\x99\x43\x08\x26\x27\x27\x7f\x66\ +\x3c\x0d\x5e\xbe\x5b\x6e\x76\x76\x76\x46\xfb\xcc\x78\x92\xcc\xc4\ +\xe7\x77\x3b\xba\xcc\x21\x04\xf5\x7a\x7d\xdd\xf8\x7b\x03\xe8\x13\ +\xed\xf3\x62\x7b\x6e\x36\x5e\x72\xe0\x32\x87\x10\x54\xab\xd5\xab\ +\xc6\xd3\xe0\xc7\xc6\xc6\x2e\x68\x9f\x17\xdb\x73\xb3\xf1\x92\x03\ +\x97\x39\x84\xa0\x56\xab\xfd\xd6\x78\x18\x7a\x3a\x9d\x7e\x74\xe6\ +\xcc\x99\x8a\xf6\x79\xb1\x3d\x99\x8d\xcc\xc8\x78\xc8\x82\xcb\x1c\ +\x42\x90\xcf\xe7\x7f\x67\x3c\x0c\x3d\x97\xcb\x7d\xae\x7d\x56\xb4\ +\xe7\x66\x14\x7b\x16\x5c\xe6\x10\x02\xfb\xe3\x98\x97\xab\x00\x4b\ +\xa5\xd2\x4d\xed\xb3\xa2\x3d\x37\x23\x1f\x2f\x01\xb8\x2a\x30\x14\ +\xbe\x16\x40\xa5\x52\x79\x4f\xfb\xac\x68\xcf\xcd\x88\x05\x90\x24\ +\xbe\x16\xc0\xf0\xf0\xf0\xdb\xda\x67\x45\x7b\x6e\x46\x2c\x80\x24\ +\xf1\xb5\x00\xc6\xc7\xc7\xb9\x0a\x2c\x70\x6e\x46\x2c\x80\x24\xf1\ +\xb8\x00\xde\xd4\x3e\x2b\xda\x73\x33\x62\x01\x24\x09\x0b\x00\x11\ +\x16\x40\x02\xb1\x00\x10\x61\x01\x24\x10\x0b\x00\x11\x16\x40\x02\ +\xb1\x00\x10\x61\x01\x24\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\x10\ +\x61\x01\x24\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\x10\x61\x01\x24\ +\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\x10\x61\x01\x24\x10\x0b\x00\ +\x11\x16\x40\x02\xb1\x00\x10\x61\x01\x24\x10\x0b\x00\x11\x16\x40\ +\x02\xb1\x00\x10\x61\x01\x24\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\ +\x10\x61\x01\x24\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\x10\x61\x01\ +\x24\x10\x0b\x00\x11\x16\x40\x02\xb1\x00\x10\x61\x01\x24\x90\x1d\ +\xc6\x87\x86\x05\x00\xe3\x75\x01\x7c\xa8\x7d\x56\x38\x76\x18\x37\ +\x8d\x87\xa1\xd7\x6a\xb5\x37\xb4\xcf\x8a\xf6\xdc\x8c\x7c\x2c\x80\ +\x9b\xda\x67\x85\x53\x2c\x16\xef\x18\x0f\x43\xaf\x54\x2a\xab\xda\ +\x67\x45\x7b\x6e\x46\xb1\x67\xc1\x65\x0e\x21\x28\x14\x0a\xf7\x8c\ +\x87\xa1\x4f\x4f\x4f\xff\x44\xfb\xac\x68\xcf\xcd\x28\xf6\x2c\xb8\ +\xcc\x21\x04\x43\x43\x43\xff\x6b\x3c\x0c\xbd\xd9\x6c\xfe\x48\xfb\ +\xac\x68\xcf\xcd\x28\xf6\x2c\xb8\xcc\x41\x5b\xab\xd5\x9a\x1c\x18\ +\x18\x88\x7d\xe0\x52\x4b\x4b\x4b\xb3\xda\xe7\x45\x7b\x6e\x46\xb1\ +\x67\x41\x32\x27\xd9\xd3\x3e\x6f\xe2\x35\x1a\x8d\x0b\xc6\xc3\xc0\ +\x53\xa9\xd4\x0f\x97\x2f\x5f\x2e\x69\x9f\x17\xed\xc9\x8c\x64\x56\ +\xc6\x43\x26\x5c\xf6\xa0\xa9\x5c\x2e\x7f\x64\x3c\x0c\x3b\x97\xcb\ +\x7d\xa3\x7d\x56\x74\xc6\xcd\x2a\xf6\x4c\xb8\xec\x41\xcb\xda\xda\ +\x5a\xd6\xf2\x32\x6c\x1b\xaa\x7f\x68\x9f\x17\x9d\x71\xb3\x8a\x3d\ +\x13\x92\x3d\xc9\xa0\xf6\x79\x13\xab\x5e\xaf\x7b\xf9\x9d\xaf\x54\ +\xb1\x58\xfc\x58\xfb\xbc\xe8\x8c\x9b\x95\x97\x5c\xb8\x0c\xc2\xb7\ +\x8d\x8d\x8d\x54\x3e\x9f\xff\xdc\x78\x1a\x74\xb5\x5a\xfd\x95\xf6\ +\x99\xd1\x19\x37\x2b\x2f\xb9\x90\x0c\x4a\x16\xb5\xcf\x9c\x38\xe3\ +\xe3\xe3\x3f\x37\x9e\x86\x2c\xd5\x6c\x36\x5b\xda\x67\x46\x67\xdc\ +\xac\xbc\x65\xc3\x65\x11\xbe\x2c\x2f\x2f\x0f\xdb\xd7\x5f\x5f\x19\ +\x4f\x03\xce\x64\x32\x8f\xce\x9d\x3b\xc7\x6f\x00\x7a\x84\xcc\x4a\ +\x66\x66\x3c\xe5\x43\xb2\x28\x99\xd4\x3e\x77\x62\x94\xcb\x65\x2f\ +\x1f\xfd\x8d\xaa\x50\x28\xfc\x4d\xfb\xcc\xd8\x19\x37\x33\x6f\x19\ +\x71\x99\x44\xdc\xea\xf5\xfa\x6f\x8c\xc7\xc1\x4a\x55\x2a\x95\xf7\ +\xb4\xcf\x8d\x9d\x71\x33\xf3\x9a\x13\x97\x4d\xc4\xa5\xd1\x68\xfc\ +\xc2\xd7\xa7\xfe\x1e\xaf\x99\x99\x99\xe3\xda\x67\xc7\xce\xb8\x99\ +\x79\xcd\x89\x64\x53\x32\xaa\x7d\xf6\xbe\x64\xb7\xeb\xfb\x1a\x0f\ +\xfe\x7c\x3e\x7f\x5f\xfb\xec\xd8\x1d\x37\x3b\xef\x4b\x40\xb2\xaa\ +\x7d\xf6\xbe\x71\xea\xd4\xa9\x91\x6a\xb5\x7a\xd7\x78\x1e\x64\x54\ +\xc3\xc3\xc3\xfc\xfa\xaf\x47\xb9\xd9\xa9\xe4\x46\x32\x2b\xd9\xd5\ +\xee\x41\xcf\x7a\xe7\x9d\x77\x52\xfb\xf7\xef\x7f\xcb\xd7\x95\x7e\ +\xdb\x55\x26\x93\xf9\xee\x85\x17\x5e\x60\x88\x3d\x4a\x66\x27\x33\ +\x34\x4a\xf9\x91\xec\x4a\x86\x25\xcb\xda\xbd\xe8\x19\xeb\xeb\xeb\ +\x29\xfb\xfa\xed\xf5\x72\xb9\xec\xed\x43\x3e\x4f\xab\x4a\xa5\x72\ +\x5d\xbb\x1f\xd8\x1b\x9b\x23\x99\xa1\x6a\x8e\x24\xcb\x92\x69\xc9\ +\xb6\x76\x3f\x82\x75\xf6\xec\xd9\x83\x63\x63\x63\x57\x8b\xc5\xe2\ +\xff\x18\xe5\x81\x49\xa5\xd3\xe9\x87\x47\x8f\x1e\x9d\xd6\xee\x0b\ +\xf6\x46\x66\x28\xb3\x34\x01\x64\x4a\xb2\x2d\x19\x97\xac\x6b\xf7\ +\x45\xd5\x95\x2b\x57\x52\xaf\xbd\xf6\xda\xcc\xc1\x83\x07\xd7\xf6\ +\xed\xdb\xf7\x41\xa9\x54\xfa\xc2\x0e\x49\x7d\x40\x8f\x97\x7d\xfd\ +\xf8\x81\x76\x9f\xd0\x1d\x6e\x96\xea\x99\x8a\x4a\xb2\x2e\x99\x97\ +\xec\xcb\x63\x40\x1e\x0b\xf2\x98\xd0\xee\x53\x2c\x36\x37\x37\x53\ +\xf5\x7a\xfd\x8e\xfd\x31\xe8\x13\xfb\x23\xf5\x7f\xd9\x83\xff\x77\ +\x3e\x9f\xff\x3f\x8d\x77\xf4\x3b\xad\x6c\x36\xfb\xf5\x8b\x2f\xbe\ +\xc8\x27\xbb\xfa\x84\xcc\x52\x66\x6a\x02\xc8\xd6\x76\x25\x8f\x05\ +\x79\x4c\xc8\x63\x43\x1e\x23\xf2\x58\x91\xc7\x8c\x3c\x76\xb4\x7b\ +\xb7\x67\xef\xbe\xfb\x6e\xc6\x52\x6f\xf2\x4e\xaa\xd9\x6c\xae\x69\ +\xf7\x0d\xdd\xe5\x66\xaa\x9e\xad\x4e\x4b\x1e\x33\xf2\xd8\xd1\xee\ +\xdb\x9e\xf5\xda\x02\xb0\x3f\x2e\xde\xd4\xee\x19\xe2\xe1\x66\xab\ +\x9e\xb1\x4e\x8a\x05\xa0\x50\xf6\xc7\xb0\x2f\x5e\x7e\xf9\xe5\x82\ +\x76\xcf\x10\x8f\x57\x5e\x79\xa5\x20\x33\x36\x01\x64\xed\x59\xc5\ +\x02\xf0\x5c\x72\x45\xd7\xfc\xfc\x3c\xef\xfa\xf7\x39\x99\xb1\xcf\ +\x2b\x49\x77\x5b\x2c\x00\xbf\x0f\xfe\x07\x73\x73\x73\x7c\xde\x3f\ +\x21\x64\xd6\x32\x73\x13\x40\xf6\x9e\x56\x2c\x00\x8f\xcf\xfc\xcf\ +\x3d\xf7\x1c\x0f\xfe\x84\x91\x99\x87\xfc\x93\x00\x0b\xc0\x43\x15\ +\x0a\x85\x2f\x16\x16\x16\x0e\x6a\xf7\x08\x3a\x64\xf6\x92\x01\x13\ +\x40\x16\xb7\x16\x0b\x20\xe6\x1a\x19\x19\xf9\xf8\xd5\x57\x5f\xe5\ +\x2e\x3f\x09\x27\x19\xa8\xd5\x6a\xde\x6e\x22\xda\x69\xb1\x00\x62\ +\x2a\x77\x81\x06\x77\x72\xc5\x13\x24\x13\x9a\x17\x9e\x6d\x2d\x16\ +\x40\xf7\x1b\xfa\xc8\x3e\xeb\x5f\x3f\x73\xe6\x0c\x57\xf7\x61\x5b\ +\x92\x0d\xc9\x88\xcf\xfb\x09\x1a\x16\x40\xec\x8d\x7c\x68\x7f\xc4\ +\xbb\xf9\xfc\xf3\xcf\xf3\xbd\x7e\xe8\x88\x64\x45\x32\x23\xd9\x31\ +\x2c\x80\xbd\x61\x01\xa0\xd7\xb0\x00\xba\x48\x7b\x01\x3c\xd6\x50\ +\x5e\x02\xa0\x2d\x5e\x02\xc4\x20\x94\x05\x10\x15\x6f\x02\x62\x3b\ +\xbc\x09\x18\x93\xd0\x16\x40\x54\xf2\xab\x1f\x7e\x0d\x08\x7e\x0d\ +\x18\xb3\x50\x17\x80\x14\x1f\x04\x4a\x36\x3e\x08\xe4\x41\xc8\x0b\ +\x40\x8a\x8f\x02\x27\x13\x1f\x05\xf6\x24\xf4\x05\x60\x0c\x17\x03\ +\x25\x8d\x7b\xf0\x73\x31\x90\x0f\xbd\xb0\x00\x8c\xe1\x72\xe0\xa4\ +\xe0\x72\x60\xcf\x7a\x65\x01\x48\x71\x43\x90\xfe\xc6\x0d\x41\x14\ +\xf4\xd2\x02\x90\xe2\x96\x60\xfd\x8b\x5b\x82\x29\xe8\xb5\x05\x20\ +\xc5\x4d\x41\xfb\x0f\x37\x05\x55\xc2\x6d\xc1\xa1\x8d\xdb\x82\x07\ +\x46\xbe\x04\x61\x65\x65\x85\x2f\x06\x81\x17\xa1\x7f\x31\x88\x3c\ +\x16\xfa\xf6\x8b\x41\x3a\xc5\x57\x83\x21\x0e\x7c\x35\x58\x8f\xe1\ +\xcb\x41\xd1\x4d\x7c\x39\x68\x8f\xe2\xeb\xc1\xb1\x57\x7c\x3d\x78\ +\x1f\x38\x75\xea\xd4\x48\xb5\x5a\xbd\x6b\xf4\xde\x0b\xf8\x95\x76\ +\x0f\xb0\x3b\x6e\x76\x2a\xb9\x91\xcc\x4a\x76\xb5\x7b\xd0\x37\xea\ +\xf5\xfa\xfb\x1a\xbf\x39\xc8\xe7\xf3\xf7\xb5\xcf\x8e\xdd\x71\xb3\ +\xf3\x9a\x17\xc9\xa8\x64\x55\xfb\xec\x7d\xa9\xd1\x68\xfc\x42\x63\ +\x09\xd8\xd7\x6f\x5c\x27\xd0\x63\xdc\xcc\xbc\x3f\xf8\x25\xa3\xda\ +\x67\xef\x6b\x76\xbb\xfe\xc6\x78\x1e\x6c\xa5\x52\x79\x4f\xfb\xdc\ +\xd8\x19\x37\x33\xaf\x39\x71\xd9\x44\xdc\xca\xe5\xf2\x1d\xe3\x71\ +\xb0\x85\x42\xe1\x6f\xda\x67\xc6\xce\xb8\x99\x79\xcb\x88\xcb\x24\ +\x7c\x58\x5e\x5e\x1e\xf6\x79\x45\x97\xdc\x23\xee\xdc\xb9\x73\xdc\ +\x3d\xa8\x47\xc8\xac\x7c\xde\xd7\x4f\xb2\x28\x99\xd4\x3e\x77\xa2\ +\x8c\x8f\x8f\xff\xdc\x78\xdc\xf0\xcd\x66\xb3\xa5\x7d\x66\x74\xc6\ +\xcd\xca\x5b\x36\x5c\x16\xe1\xd3\xc6\xc6\x46\x2a\x9f\xcf\x7b\xfb\ +\xb0\x50\xb5\x5a\xe5\xd7\x81\x3d\xc2\xcd\xca\x4b\x2e\x24\x83\x92\ +\x45\xed\x33\x27\x52\xbd\x5e\x97\xbb\xfb\x7a\x19\x74\xb1\x58\xfc\ +\x58\xfb\xbc\xe8\x8c\x9b\x95\xaf\x37\xfe\xb8\xc3\xb4\x96\xb5\xb5\ +\x35\xfb\xf2\x2b\xfb\x8d\xf1\x30\xe8\x5c\x2e\xf7\x0f\xed\xf3\xa2\ +\x33\x6e\x56\x3e\x5e\xfb\x7f\x23\x19\xd4\x3e\x6f\xa2\x95\xcb\xe5\ +\x8f\x8c\x9f\x05\xf0\x8d\xf6\x59\xd1\x19\x37\xab\xd8\x33\xe1\xb2\ +\x07\x4d\x8d\x46\xe3\x82\xf1\x30\xec\x54\x2a\xf5\xc3\xe5\xcb\x97\ +\xf9\x4d\x40\xe0\x64\x46\x32\x2b\xe3\x21\x13\x2e\x7b\xd0\xd4\x6a\ +\xb5\x26\x7d\x7d\x3a\x70\x69\x69\x89\xef\x17\x0c\x9c\x9b\x51\xec\ +\x59\x90\xcc\x49\xf6\xb4\xcf\x0b\xcb\xd7\x15\x83\xcd\x66\xf3\x47\ +\xda\x67\x45\x7b\x6e\x46\xb1\x67\xc1\x65\x0e\x21\x28\x14\x0a\xf7\ +\x8c\x87\xa1\x4f\x4f\x4f\xff\x44\xfb\xac\x68\xcf\xcd\x28\xf6\x2c\ +\xb8\xcc\x21\x04\xc5\x62\xd1\xcb\x47\x83\x2b\x95\xca\xaa\xf6\x59\ +\xd1\x9e\x9b\x51\xec\x59\x70\x99\x43\x08\xaa\xd5\xea\x4d\xe3\x61\ +\xe8\xb5\x5a\x8d\xdf\xf9\x06\xce\xcd\x28\xf6\x2c\xb8\xcc\x21\x04\ +\x76\x18\x1f\x1a\x0f\x43\x1f\x1f\x1f\x7f\x53\xfb\xac\x68\xcf\xcd\ +\xc8\xc7\x02\xf8\x50\xfb\xac\x70\xec\x30\x6e\x18\x16\x00\x8c\xd7\ +\x05\x70\x43\xfb\xac\x70\x58\x00\x88\xb0\x00\x12\x88\x05\x80\x08\ +\x0b\x20\x81\x58\x00\x88\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\x81\ +\x58\x00\x88\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\x81\x58\x00\x88\ +\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\x81\x58\x00\x88\xb0\x00\x12\ +\x88\x05\x80\x08\x0b\x20\x81\x58\x00\x88\xb0\x00\x12\x88\x05\x80\ +\x08\x0b\x20\x81\x58\x00\x88\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\ +\x81\x58\x00\x88\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\x81\x58\x00\ +\x88\xb0\x00\x12\x88\x05\x80\x08\x0b\x20\x81\x58\x00\x88\xb0\x00\ +\x12\x88\x05\x80\x08\x0b\x20\x81\x3c\x2e\x80\xb7\xb4\xcf\x8a\xf6\ +\xdc\x8c\x58\x00\x49\xe2\x6b\x01\x0c\x0f\x0f\xbf\xad\x7d\x56\xb4\ +\xe7\x66\xc4\x02\x48\x12\x5f\x0b\xa0\x52\xa9\xbc\xa7\x7d\x56\xb4\ +\xe7\x66\xc4\x02\x48\x12\x5f\x0b\xa0\x54\x2a\xdd\xd4\x3e\x2b\xda\ +\x73\x33\x62\x01\x24\x49\x3e\x9f\xff\x9d\xf1\x30\xf4\x5c\x2e\xf7\ +\xb9\xf6\x59\xd1\x9e\x9b\x51\xec\x59\x70\x99\x43\x08\x6a\xb5\xda\ +\x6f\x8d\x87\xa1\xa7\xd3\xe9\x47\x67\xce\x9c\xa9\x68\x9f\x17\xdb\ +\x93\xd9\xc8\x8c\x8c\x87\x2c\xb8\xcc\x21\x04\xf6\xc7\xb1\xab\xc6\ +\xc3\xd0\xa5\xc6\xc6\xc6\x2e\x68\x9f\x17\xdb\x73\xb3\xf1\x92\x03\ +\x97\x39\x84\xa0\x5e\xaf\xaf\x1b\x4f\x83\x2f\x14\x0a\x9f\x68\x9f\ +\x17\xdb\x73\xb3\xf1\x92\x03\x97\x39\x84\x60\x72\x72\xf2\x67\xc6\ +\xd3\xe0\x53\xa9\xd4\xa3\xd9\xd9\xd9\x19\xed\x33\xe3\x49\x32\x13\ +\x99\x8d\xf1\x94\x03\x97\x39\x84\x60\x6e\x6e\x6e\xd9\x78\x1a\xbc\ +\x54\xa9\x54\xfa\xa3\xf6\x99\xf1\x24\x37\x13\x6f\x19\x70\x99\x43\ +\x08\x2e\x5e\xbc\x38\x3a\x30\x30\xe0\x6d\xf8\xf6\xef\xfa\x7e\x62\ +\x62\xe2\x25\xed\x73\xe3\x3f\x64\x16\x32\x13\xe3\x6f\xfe\x3f\x48\ +\xe6\xb4\xcf\x0d\x67\x63\x63\x23\x95\xcb\xe5\xfe\x65\x3c\x3e\x03\ +\x64\xb3\xd9\x2f\x97\x96\x96\x86\xb5\xcf\x9e\x74\x32\x03\x99\x85\ +\xf1\x38\x7b\xc9\x9a\x64\x4e\xfb\xec\x78\x4c\xa1\x50\xb8\x67\x3c\ +\x86\x40\xca\xfe\x9d\x7f\x59\x5d\x5d\xcd\x68\x9f\x3d\xa9\xa4\xf7\ +\x32\x03\xe3\x7f\xee\xf7\xb4\xcf\x8e\x2d\xca\xe5\xf2\x75\xe3\x39\ +\x08\x52\xf6\xef\xbd\xc5\x12\xf0\x4f\x7a\x2e\xbd\x37\x3a\x33\xbf\ +\xae\x7d\x7e\x6c\x31\x3a\x3a\xea\xe5\x2a\xb0\xed\xaa\x54\x2a\x7d\ +\x7a\xf2\xe4\x49\x5e\x0e\x78\x22\xbd\x96\x9e\x1b\xa5\x79\xbb\xac\ +\x21\x24\xcb\xcb\xcb\xb3\x46\x29\x10\x52\x43\x43\x43\x5f\x4e\x4d\ +\x4d\xfd\x58\xbb\x0f\xfd\x4e\x7a\x2c\xbd\x36\x8a\xb3\x76\x59\x43\ +\x68\xf2\xf9\xfc\x3f\x8d\x62\x30\x52\xa9\xd4\xf7\x95\x4a\xe5\xba\ +\x7d\x86\xe2\x1d\xe2\x2e\x93\x9e\x4a\x6f\xa5\xc7\x46\x71\xc6\x2e\ +\x63\x08\x91\x7d\x6d\xe6\xe5\xaa\xc0\x67\x55\x26\x93\xf9\x77\xb5\ +\x5a\xbd\xb6\xb0\xb0\x30\xa6\xdd\x93\x5e\x27\x3d\x94\x5e\x4a\x4f\ +\x4d\x00\xb3\x75\x19\x43\x88\x0e\x1c\x38\xb0\x62\x02\x08\x49\x54\ +\xe9\x74\xfa\x61\xb1\x58\xbc\x3d\x31\x31\xb1\x7a\xfe\xfc\xf9\xac\ +\x76\x7f\x7a\x85\xf4\x4a\x7a\x26\xbd\x93\x1e\x9a\x00\x66\x19\x95\ +\xcb\x18\x42\xb4\xbe\xbe\x9e\xc9\x66\xb3\x5f\x9b\x00\x82\xb2\xb5\ +\x06\x07\x07\xbf\x2d\x14\x0a\x77\xed\xb3\xd9\xe6\xa1\x43\x87\x96\ +\x2f\x5d\xba\xc4\x42\x70\xa4\x17\xd2\x13\xe9\x8d\xf4\x48\x7a\x65\ +\x02\x98\xd9\xd6\x92\x6c\x49\xc6\xb4\xfb\x85\x36\x6c\x88\x3e\x30\ +\x01\x84\xe5\x59\x65\x7f\xa4\x7d\x64\x5f\x4f\xde\xb7\x75\xd7\x3e\ +\xd3\xfd\xde\xfe\xbb\x7f\x3d\x32\x32\xf2\xf6\xf0\xf0\xf0\x85\x56\ +\xab\x55\xd2\xee\x63\xb7\xc9\x99\xe4\x6c\x72\x46\x39\xab\x9c\x59\ +\xce\x2e\x3d\x90\x5e\x68\xcf\xa3\x93\x72\xd9\x42\xc8\x8e\x1d\x3b\ +\x36\xab\xfd\x46\xd1\x5e\xeb\xec\xd9\xb3\x47\xb4\xfb\xd8\x6d\xee\ +\x4c\xea\xbd\xdd\x6d\x49\xa6\x24\x5b\xda\x7d\x44\x07\x4a\xa5\xd2\ +\x9f\x4c\x00\xa1\xd9\x6d\xb1\x00\xc2\x2b\x97\x29\xf4\x82\xc3\x87\ +\x0f\x9f\xf4\x79\x71\x48\xb7\x8b\x05\x10\x56\x49\x96\x24\x53\xda\ +\x3d\xc4\x0e\x68\x7d\x4c\xb4\x1b\xc5\x02\x08\xab\x5c\x96\xd0\x4b\ +\xe6\xe7\xe7\xa7\x32\x99\x4c\x90\xef\x26\x3f\xab\x58\x00\xe1\x94\ +\x64\xe8\xe8\xd1\xa3\x53\xda\xfd\xc3\x2e\xd4\xeb\xf5\x5f\x9a\x00\ +\x42\xb4\xd3\x62\x01\x84\x53\x2e\x43\xe8\x45\x9b\x9b\x9b\xa9\x62\ +\xb1\xf8\x99\x09\x20\x48\x3b\x29\x16\x40\x18\x25\xd9\x91\x0c\x69\ +\xf7\x0e\x7b\x70\xfc\xf8\xf1\xc6\xe0\xe0\xe0\x57\x26\x80\x40\x75\ +\x5a\x2c\x00\xfd\x92\xcc\x48\x76\xb4\xfb\x86\x2e\xd8\xbf\x7f\xff\ +\x72\x3a\x9d\xfe\xce\x04\x10\xac\x4e\x8a\x05\xa0\x5b\x92\x15\xc9\ +\x8c\x76\xcf\xd0\x45\x93\x93\x93\x3f\x4d\xa5\x52\x41\x7d\xae\xfc\ +\x69\xc5\x02\xd0\x2b\xc9\x88\x64\x45\xbb\x5f\x88\x41\xa3\xd1\x78\ +\xbd\x17\x96\x00\x0b\x40\xef\xc1\x2f\x19\xd1\xee\x15\x62\x64\x07\ +\xbc\x12\xca\xa5\xa5\x4f\x2b\x16\x80\xff\x92\x4c\x48\x36\xb4\xfb\ +\x04\x0f\xa6\xa7\xa7\x8f\xfb\xbe\x93\xec\x4e\x8a\x05\xe0\xb7\x24\ +\x0b\x92\x09\xed\x1e\xc1\xa3\x13\x27\x4e\xc8\x7d\xe5\xee\x98\x00\ +\x02\xb8\xb5\x58\x00\xfe\x4a\x32\x20\x59\xd0\xee\x0f\x94\xd4\xeb\ +\xf5\x37\x07\x07\x07\x1f\x98\x00\xc2\x18\x15\x0b\x20\xfe\x92\x99\ +\xcb\xec\xb5\xfb\x82\x00\x2c\x2e\x2e\x8e\xc8\xad\x9e\x7c\x7e\xb7\ +\x5c\xbb\x62\x01\xc4\x57\x32\x63\xfb\xac\x7f\x43\x66\xae\xdd\x13\ +\x04\x66\x66\x66\xe6\x98\x0d\xc7\x6d\xed\xfb\x09\xb0\x00\x62\x79\ +\xe0\x7f\x2f\xb3\xb5\x33\xee\xbb\xde\xa2\xcb\x6c\x48\xe6\xe4\x59\ +\x22\x9d\x4e\xab\x5c\x4c\xc4\x02\xe8\x5e\xc9\x0c\x65\x96\x32\x53\ +\xed\x1e\xa0\xc7\x9c\x3e\x7d\xba\x52\xab\xd5\xd6\x73\xb9\xdc\x3d\ +\x9f\xf7\x17\x60\x01\xec\xad\x64\x56\x32\x33\x99\x9d\xcc\x50\xfb\ +\xec\xe8\x03\xf3\xf3\xf3\xd3\x72\xd3\xca\x7c\x3e\xff\x59\x26\x93\ +\x89\xf5\xc3\x44\x2c\x80\x9d\x97\xcc\x44\x66\x23\x33\x92\x59\x69\ +\x9f\x17\x7d\x6c\x65\x65\xa5\x30\x31\x31\xb1\x52\x2e\x97\xaf\xd9\ +\x67\x9a\xbf\x66\xb3\xd9\xae\xbe\x54\x60\x01\x3c\xbb\xa4\xe7\xd2\ +\x7b\x99\x81\xcc\x42\x66\xa2\x7d\x46\x24\x94\x7c\x55\xf4\xc2\xc2\ +\xc2\x91\xd1\xd1\xd1\x37\xec\xeb\xcd\xf7\x8b\xc5\xe2\xad\xa1\xa1\ +\xa1\xbf\xdb\x7a\x90\x4a\xa5\x58\x00\x66\x77\x0b\x40\x7a\x27\x3d\ +\x94\x5e\x4a\x4f\xa5\xb7\xd2\x63\xe9\x35\x5f\xcf\x8d\x9e\x70\xe5\ +\xca\x95\xc2\xe2\xe2\xe2\x6c\xb3\xd9\x7c\x69\xdf\xbe\x7d\x6b\xb6\ +\xd6\xed\xb3\xd6\x55\x1b\xe6\x6b\x36\xd4\x7f\xb0\xff\xfd\xc8\x3e\ +\x9b\xdd\xb4\x3f\xbe\xde\xb6\x7f\xbe\x6b\xff\xfc\xe7\x56\xab\xd5\ +\x77\x77\xa0\x91\x33\xc9\xd9\xe4\x8c\x72\x56\x39\xb3\x9c\xdd\xf5\ +\xe0\x9a\xf4\x44\x7a\x23\x3d\x92\x5e\x49\xcf\xa4\x77\xda\xff\x6e\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xd6\xff\x03\x58\ +\xf2\xb2\x23\xfe\xc7\x50\x1c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +" + +qt_resource_name = "\ +\x00\x04\ +\x00\x06\xfa\x22\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x32\ +\x00\x0b\ +\x0c\x56\x59\x27\ +\x00\x70\ +\x00\x79\x00\x70\x00\x6c\x00\x75\x00\x73\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0f\ +\x00\x2b\x1f\x67\ +\x00\x70\ +\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x6d\x00\x69\x00\x6e\x00\x75\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\ +\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x16\x19\ +\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/7.2/plugins/Code editor/idaapi.api b/7.2/plugins/Code editor/idaapi.api new file mode 100644 index 0000000..e2ae16c --- /dev/null +++ b/7.2/plugins/Code editor/idaapi.api @@ -0,0 +1,2415 @@ +idaapi._map___contains__(self, key) +idaapi._map___delitem__(self, key) +idaapi._map___getitem__(self, key) +idaapi._map___setitem__(self, key, value) +idaapi.a2funcoff(ea) +idaapi.accepts_udts(op) +idaapi.add_auto_stkpnt(ea, delta) +idaapi.add_auto_stkpnt2(pfn, ea, delta) +idaapi.add_bpt(bpt) -> bool +idaapi.add_bpt(ea, size, type) +idaapi.add_byte(ea, value) +idaapi.add_chooser_command(chooser_caption, cmd_caption, chooser_cb, menu_index=-1, icon=-1, flags=0) +idaapi.add_const(id, name, value, bmask=(bmask_t(-1))) +idaapi.add_cref(frm, to, type) +idaapi.add_custom_viewer_popup_item(custom_viewer, title, hotkey, custom_viewer_popup_item_callback) +idaapi.add_dref(frm, to, type) +idaapi.add_encoding(encoding) +idaapi.add_entry(ord, ea, name, makecode) +idaapi.add_enum(idx, name, flag) +idaapi.add_enum_member(id, name, value, bmask=(bmask_t(-1))) +idaapi.add_frame(pfn, frsize, frregs, argsize) +idaapi.add_func(ea1, ea2) +idaapi.add_func_ex(fn) +idaapi.add_hidden_area(ea1, ea2, description, header, footer, color) +idaapi.add_hotkey(hotkey, pyfunc) +idaapi.add_idc_class(name, super=None) +idaapi.add_idc_gvar(name) +idaapi.add_idc_hotkey(hotkey, idcfunc) +idaapi.add_long(ea, value) +idaapi.add_long_cmt(ea, isprev, format) +idaapi.add_menu_item(menupath, name, hotkey, flags, pyfunc, args) +idaapi.add_output_popup(n, c, u) +idaapi.add_pgm_cmt(format) +idaapi.add_qword(ea, value) +idaapi.add_regarg(pfn, reg, type, name) +idaapi.add_regarg2(pfn, reg, tif, name) +idaapi.add_regvar(pfn, ea1, ea2, canon, user, cmt) +idaapi.add_segm(para, start, end, name, sclass) +idaapi.add_segm_ex(s, name, sclass, flags) +idaapi.add_segment_translation(segstart, mappedseg) +idaapi.add_sourcefile(ea1, ea2, filename) +idaapi.add_spaces(str, bufsize, len) +idaapi.add_stkvar2(pfn, name, off, flags, ti, nbytes) +idaapi.add_stkvar3(py_op, py_v, flags) +idaapi.add_struc(idx, name, is_union=False) +idaapi.add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) +idaapi.add_til(name) +idaapi.add_til2(name, flags) +idaapi.add_user_stkpnt(ea, delta) +idaapi.add_virt_module(mod) +idaapi.add_word(ea, value) +idaapi.addon_count() +idaapi.alignflag() +idaapi.alloc_type_ordinal(ti) +idaapi.alloc_type_ordinals(ti, qty) +idaapi.allocate_selector(segbase) +idaapi.analyze_area(sEA, eEA) +idaapi.analyzer_options() +idaapi.ansi2idb(name) +idaapi.appcall(func_ea, tid, py_type, py_fields, arg_list) +idaapi.append_argloc(out, vloc) +idaapi.append_cmt(ea, str, rptble) +idaapi.append_complex_n(type, n, is_empty) +idaapi.append_da(type, n1, n2) +idaapi.append_de(type, n) +idaapi.append_dt(type, n) +idaapi.append_func_tail(pfn, ea1, ea2) +idaapi.append_name(fields, name) +idaapi.append_struct_fields2(n, path, plen, flags, disp, delta, appzero) +idaapi.append_varloc(out, vloc) +idaapi.apply_callee_tinfo(caller, tif) +idaapi.apply_cdecl(ea, decl) +idaapi.apply_cdecl2(til, ea, decl, flags=0) +idaapi.apply_idasgn(advance) +idaapi.apply_idasgn_to(signame, ea, is_startup) +idaapi.apply_named_type(ea, name) +idaapi.apply_once_tinfo_and_name(dea, tif, name) +idaapi.apply_once_type_and_name(ea, type, name) +idaapi.apply_startup_sig(ea, startup) +idaapi.apply_tinfo(til, ea, type, fields, flags) +idaapi.apply_tinfo_to_stkarg(x, v, tif, name) +idaapi.apply_tinfo2(ea, tif, flags) +idaapi.apply_type(ti, py_type, py_fields, ea, flags) +idaapi.apply_type_to_stkarg(py_op, py_uv, py_type, name) +idaapi.apply_type2(ea, rtype, fields, userti) +idaapi.area_t_print(cb) +idaapi.arglocs_overlap(loc1, w1, loc2, w2) +idaapi.as_cstr(val) +idaapi.as_int32(v) +idaapi.as_signed(v, nbits=32) +idaapi.as_uint32(v) +idaapi.as_unicode(s) +idaapi.asciflag() +idaapi.asgop(cop) +idaapi.asgop_revert(cop) +idaapi.ask_for_feedback(format) +idaapi.ask_selector(selector) +idaapi.askaddr(defval, format) +idaapi.askbuttons_c(Yes, No, Cancel, deflt, format) +idaapi.askfile_c(savefile, defval, format) +idaapi.askfile2_c(forsave, defdir, filters, format) +idaapi.askfile2_cv(forsave, defdir, filters, format, va) +idaapi.askident(defval, format) +idaapi.asklong(defval, format) +idaapi.askqstr(str, format) +idaapi.askseg(defval, format) +idaapi.askstr(hist, defval, format) +idaapi.asktext(max_text, defval, prompt) +idaapi.AskUsingForm(*args) +idaapi.askyn_c(deflt, format) +idaapi.assemble(ea, cs, ip, use32, line) +idaapi.AssembleLine(ea, cs, ip, use32, line) +idaapi.attach_action_to_menu(menupath, name, flags) +idaapi.attach_action_to_popup(form, popup_handle, name, popuppath=None, flags=0) -> bool +idaapi.attach_action_to_popup(tcc, popup_handle, name, popuppath=None, flags=0) +idaapi.attach_action_to_toolbar(toolbar_name, name) +idaapi.attach_dynamic_action_to_popup(form, popup_handle, desc, popuppath=None, flags=0) +idaapi.attach_process(pid, event_id) +idaapi.auto_apply_type(caller, callee) +idaapi.auto_get(lowEA, highEA, type) +idaapi.auto_make_code(ea) +idaapi.auto_make_proc(ea) +idaapi.auto_mark_range(start, end, type) +idaapi.autoCancel(ea1, ea2) +idaapi.autoGetName(type) +idaapi.autoIsOk() +idaapi.autoMark(ea, type) +idaapi.autoStep() +idaapi.autoUnmark(start, end, type) +idaapi.autoWait() +idaapi.banner(wait) +idaapi.base2file(fp, pos, ea1, ea2) +idaapi.beep(beep_type=beep_default) +idaapi.begin_type_updating(utp) +idaapi.bin_search(startEA, endEA, image, mask, len, step, flags) +idaapi.binflag() +idaapi.bnot_data_flag() +idaapi.boundaries_begin(map) +idaapi.boundaries_clear(map) +idaapi.boundaries_end(map) +idaapi.boundaries_erase(map, p) +idaapi.boundaries_find(map, key) +idaapi.boundaries_first(p) +idaapi.boundaries_free(map) +idaapi.boundaries_insert(map, key, val) +idaapi.boundaries_next(p) +idaapi.boundaries_prev(p) +idaapi.boundaries_second(p) +idaapi.boundaries_size(map) +idaapi.bring_debugger_to_front() +idaapi.build_array_type(outtype, type, size) +idaapi.build_func_type(p_type, p_fields, fi) +idaapi.build_func_type2(ti, p_type, p_fields, fi) +idaapi.build_funcarg_info(til, type, fields, info, bfi_flags) +idaapi.build_stkvar_name(pfn, v) +idaapi.build_stkvar_xrefs(out, pfn, mptr) +idaapi.byteflag() +idaapi.bytesize(ea) +idaapi.calc_argloc_info(til, type, arglocs, maxn) +idaapi.calc_bg_color(ea) +idaapi.calc_c_cpp_name4(name, type, ccn_flags) +idaapi.calc_def_align(ea, mina, maxa) +idaapi.calc_default_idaplace_flags() +idaapi.calc_func_nargs(til, type) +idaapi.calc_idasgn_state(n) +idaapi.calc_idc_expr(where, line, rv) +idaapi.calc_max_align(endea) +idaapi.calc_max_children_qty(ea, tif, dont_deref_ptr=False) +idaapi.calc_max_item_end(ea, how=15) +idaapi.calc_max_number_of_children(ea, til, type, fields=None, dont_deref_ptr=False) +idaapi.calc_min_align(length) +idaapi.calc_number_of_children(loc, tif, dont_deref_ptr=False) +idaapi.calc_prefix_color(ea) +idaapi.calc_probable_base_by_value(ea, off) +idaapi.calc_reference_basevalue(frm, ri, opval, target) +idaapi.calc_reference_target(frm, ri, opval) +idaapi.calc_stkvar_struc_offset(pfn, ea, n) +idaapi.calc_switch_cases(insn_ea, py_swi) +idaapi.calc_switch_cases(insn_ea, si, casevec, targets) -> bool +idaapi.calc_target(frm, ea, n, opval) +idaapi.calc_thunk_func_target(fn, fptr) +idaapi.calc_type_size(ti, tp) +idaapi.calc_varloc_info(til, type, varlocs) +idaapi.calcexpr(where, line, rv) +idaapi.call_helper(rettype, args, format) +idaapi.call_idc_method(obj, name, nargs, args, result) +idaapi.call_nav_colorizer(col, ea, nbytes) +idaapi.call_script_method(obj, name, nargs, args, result) +idaapi.call_system(command) +idaapi.callregs_init_regs(_this, request) +idaapi.callregs_t_regcount(request) +idaapi.Calls AskUsingForm() +idaapi.Calls OpenForm() +idaapi.can_be_off32(ea) +idaapi.can_define_item(ea, length, flags) +idaapi.can_exc_continue(ev) +idaapi.cancel_exec_request(req_id) +idaapi.cblock_at(self, index) +idaapi.cblock_find(self, item) +idaapi.cblock_index(self, item) +idaapi.cblock_insert(self, index, item) +idaapi.cblock_iter(self) +idaapi.cblock_remove(self, item) +idaapi.cexpr_operands(self) +idaapi.cfg_get_cc_header_path(compid) +idaapi.cfg_get_cc_parm(compid, name) +idaapi.cfg_get_cc_predefined_macros(compid) +idaapi.cfunc_type(self) +idaapi.change_encoding_name(idx, encoding) +idaapi.change_segment_status(s, is_deb_segm) +idaapi.change_storage_type(startEA, endEA, stt) +idaapi.charflag() +idaapi.check_bpt(ea) +idaapi.check_process_exit(handle, exit_code, msecs=-1) +idaapi.check_skip_type(ti, ptr) +idaapi.check_type_trait(arg1) +idaapi.check_type_trait(arg1) -> bool +idaapi.choose_choose(self, flags, x0, y0, x1, y1, width, deflt, icon) +idaapi.choose_choose(self, flags, x0, y0, x1, y1, width, deflt, icon) -> uint32 +idaapi.choose_enter(self, n) +idaapi.choose_entry(title) +idaapi.choose_enum(title, default_id) +idaapi.choose_enum_by_value(title, default_id, value, nbytes) +idaapi.choose_func(title, default_ea) +idaapi.choose_getl(self, n, buf) +idaapi.choose_idasgn() +idaapi.choose_local_tinfo(ti, title, func, ud) +idaapi.choose_local_type(ti, title, func, ud) +idaapi.choose_name(title) +idaapi.choose_named_type2(root_til, title, ntf_flags, func, sym) +idaapi.choose_segm(title, default_ea) +idaapi.choose_segreg(title) +idaapi.choose_sizer(self) +idaapi.choose_srcp(title) +idaapi.choose_stkvar_xref(pfn, mptr) +idaapi.choose_struc(title) +idaapi.choose_til() +idaapi.choose_trace_file() +idaapi.choose_xref(to) +idaapi.choose2_activate(self) +idaapi.choose2_add_command(self, caption, flags, menu_index, icon) +idaapi.choose2_close(self) +idaapi.choose2_create(self, embedded) +idaapi.choose2_find(title) +idaapi.choose2_get_embedded(self) +idaapi.choose2_get_embedded_selection(self) +idaapi.choose2_refresh(self) +idaapi.chunksize(ea) +idaapi.chunkstart(ea) +idaapi.cinsn_details(self) +idaapi.citem_to_specific_type(self) +idaapi.cleanup_appcall(tid) +idaapi.cleanup_varloc(vloc) +idaapi.clear_cached_cfuncs() +idaapi.clear_func_struct(fn) +idaapi.clear_requests_queue() +idaapi.clear_tinfo_t(_this) +idaapi.clear_trace() +idaapi.clearBreak() +idaapi.close_chooser(title) +idaapi.close_linput(li) +idaapi.close_pseudocode(f) +idaapi.close_tform(form, options) +idaapi.clr__bnot0(ea) +idaapi.clr__bnot1(ea) +idaapi.clr__invsign0(ea) +idaapi.clr__invsign1(ea) +idaapi.clr_abits(ea, bits) +idaapi.clr_align_flow(ea) +idaapi.clr_colored_item(ea) +idaapi.clr_fixed_spd(ea) +idaapi.clr_has_lname(ea) +idaapi.clr_has_ti(ea) +idaapi.clr_has_ti0(ea) +idaapi.clr_has_ti1(ea) +idaapi.clr_libitem(ea) +idaapi.clr_lzero(ea, n) +idaapi.clr_lzero0(ea) +idaapi.clr_lzero1(ea) +idaapi.clr_node_info2(gid, node, flags) +idaapi.clr_noret(ea) +idaapi.clr_notcode(ea) +idaapi.clr_retfp(ea) +idaapi.clr_terse_struc(ea) +idaapi.clr_tilcmt(ea) +idaapi.clr_usemodsp(ea) +idaapi.clr_usersp(ea) +idaapi.clr_userti(ea) +idaapi.clr_zstroff(ea) +idaapi.codeflag() +idaapi.codeSeg(addr, opnum) +idaapi.COLSTR(str, tag) +idaapi.compact_til(ti) +idaapi.compare(a, b) +idaapi.compare_tinfo(t1, t2, tcflags) +idaapi.compare_typsrc(s1, s2) +idaapi.Compile(file) +idaapi.compile_script_file(file) +idaapi.compile_script_func(name, current_ea, expr) +idaapi.CompileEx(file, del_macros) +idaapi.CompileLine(line) +idaapi.construct_macro(enable, build_macro) +idaapi.contains_fixups(ea, size) +idaapi.continue_process() +idaapi.convert_argloc_to_varloc(dst, src) +idaapi.convert_encoding(fromcode, tocode, indata, out, flags=0) +idaapi.convert_pt_flags_to_hti(pt_flags) +idaapi.convert_varloc_to_argloc(dst, src) +idaapi.copy_bits(v, s, e=-1) +idaapi.copy_srareas(dst_rg, src_rg, map_selector=False) +idaapi.copy_tinfo_t(_this, r) +idaapi.copy_varloc(dst, src) +idaapi.create_bytearray_linput(start, size) +idaapi.create_code_viewer(parent, custview, flags=0) +idaapi.create_custom_fixup(name) +idaapi.create_ea_viewer(title, parent, minplace, maxplace, curplace, y, ud, flags=0, fillloc=None, jumploc=None) +idaapi.create_field_name(type, offset=BADADDR) +idaapi.create_generic_linput(gl) +idaapi.create_generic_linput64(gl) +idaapi.create_helper(standalone, type, format) +idaapi.create_insn(ea) +idaapi.create_memory_linput(start, size) +idaapi.create_numbered_type_name(ord) +idaapi.create_numbered_type_reference(out, ord) +idaapi.create_source_viewer(parent, custview, sf, lines, lnnum, colnum, flags) +idaapi.create_switch_table(insn_ea, py_swi) +idaapi.create_switch_xrefs(insn_ea, py_swi) +idaapi.create_tform(caption, handle) +idaapi.create_tinfo(_this, bt, bt2, ptr) +idaapi.create_typedef(n) -> tinfo_t +idaapi.create_typedef(name) +idaapi.custflag() +idaapi.custfmtflag() +idaapi.dataSeg() +idaapi.dataSeg_op(opnum) +idaapi.dataSeg_opreg(opnum, rgnum) +idaapi.dbg_add_bpt_tev(tid, ea, bp) +idaapi.dbg_add_call_tev(tid, caller, callee) +idaapi.dbg_add_debug_event(event) +idaapi.dbg_add_insn_tev(tid, ea, save) +idaapi.dbg_add_many_tevs(new_tevs) +idaapi.dbg_add_ret_tev(tid, ret_insn, return_to) +idaapi.dbg_add_tev(type, tid, address) +idaapi.dbg_add_thread(tid) +idaapi.dbg_appcall(func_ea, tid, tif, argnum, argv, r) +idaapi.dbg_can_query() +idaapi.dbg_del_thread(tid) +idaapi.dbg_get_input_path() +idaapi.dbg_get_memory_info() +idaapi.dbg_get_name() +idaapi.dbg_get_registers() +idaapi.dbg_get_thread_sreg_base(py_tid, py_sreg_value) +idaapi.dbg_is_loaded() +idaapi.dbg_read_memory(py_ea, py_sz) +idaapi.dbg_write_memory(py_ea, py_buf) +idaapi.decflag() +idaapi.decode_insn(ea) +idaapi.decode_preceding_insn(ea) +idaapi.decode_prev_insn(ea) +idaapi.decompile(ea, hf=None) +idaapi.decompile_many(outfile, funcaddrs, flags) +idaapi.default_compiler() +idaapi.define_exception(code, name, desc, flags) +idaapi.del_absbase(ea) +idaapi.del_aflags(ea) +idaapi.del_alignment(ea) +idaapi.del_array_parameters(ea) +idaapi.del_bpt(bptloc) -> bool +idaapi.del_bpt(ea) +idaapi.del_bptgrp(name) +idaapi.del_const(id, value, serial, bmask) +idaapi.del_cref(frm, to, expand) +idaapi.del_custom_data_type_ids(ea) +idaapi.del_debug_names(ea1, ea2) +idaapi.del_dref(frm, to) +idaapi.del_encoding(idx) +idaapi.del_enum(id) +idaapi.del_enum_id(ea, n) +idaapi.del_enum_member(id, value, serial, bmask) +idaapi.del_extra_cmt(ea, what) +idaapi.del_fixup(source) +idaapi.del_frame(pfn) +idaapi.del_func(ea) +idaapi.del_func_cmt(fn, repeatable) +idaapi.del_global_name(ea) +idaapi.del_hidden_area(ea) +idaapi.del_hotkey(pyctx) +idaapi.del_idasgn(n) +idaapi.del_idc_hotkey(hotkey) +idaapi.del_ind_purged(ea) +idaapi.del_item_color(ea) +idaapi.del_jumptable_info(ea) +idaapi.del_local_name(ea) +idaapi.del_member_tinfo(sptr, mptr) +idaapi.del_menu_item(py_ctx) +idaapi.del_named_type(ti, name, ntf_flags) +idaapi.del_node_info2(gid, node) +idaapi.del_numbered_type(ti, ordinal) +idaapi.del_refinfo(ea, n) +idaapi.del_regvar(pfn, ea1, ea2, canon) +idaapi.del_segm(ea, flags) +idaapi.del_segment_cmt(s, repeatable) +idaapi.del_segment_translations(ea) +idaapi.del_selector(selector) +idaapi.del_source_linnum(ea) +idaapi.del_sourcefile(ea) +idaapi.del_srarea(rg, ea) +idaapi.del_stkpnt(pfn, ea) +idaapi.del_stroff_path(ea, n) +idaapi.del_struc(sptr) +idaapi.del_struc_member(sptr, offset) +idaapi.del_struc_members(sptr, off1, off2) +idaapi.del_switch_info_ex(ea) +idaapi.del_switch_parent(ea) +idaapi.del_til(name) +idaapi.del_tinfo_attr(tif, key) +idaapi.del_tinfo2(ea) +idaapi.del_tinfo2(ea, n) +idaapi.del_virt_module(base) +idaapi.delete_extra_cmts(ea, cmtidx) +idaapi.delete_unreferenced_stkvars(pfn) +idaapi.delete_wrong_stkvar_ops(pfn) +idaapi.delValue(ea) +idaapi.demangle_name(name, disable_mask) +idaapi.demangle_name2(name, disable_mask, demreq=DQT_FULL) +idaapi.deref_ptr(ti, type, ptr_ea, closure_obj=None) +idaapi.deref_ptr2(tif, ptr_ea, closure_obj=None) +idaapi.dereference(e, ptrsize, is_float=False) +idaapi.describe(ea, isprev, format) +idaapi.deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) +idaapi.detach_action_from_menu(menupath, name) +idaapi.detach_action_from_popup(form, name) +idaapi.detach_action_from_toolbar(toolbar_name, name) +idaapi.detach_process() +idaapi.diff_trace_file(filename) +idaapi.disable_flags(startEA, endEA) +idaapi.disable_script_timeout() +idaapi.display_complex_call_chart(wait, title, ea1, ea2, flags, recursion_depth=-1) +idaapi.display_copyright_warning() +idaapi.display_flow_graph(title, pfn, ea1, ea2, print_names) +idaapi.display_gdl(fname) +idaapi.display_simple_call_chart(wait, title, ignore_libfuncs) +idaapi.do_data_ex(ea, dataflag, size, tid) +idaapi.do_name_anyway(ea, name, maxlen=0) +idaapi.do_unknown(ea, flags) +idaapi.do_unknown_range(ea, size, flags) +idaapi.do16bit(ea, length) +idaapi.do32bit(ea, length) +idaapi.do3byte(ea, length) +idaapi.doAlign(ea, length, alignment) +idaapi.doASCI(ea, length) +idaapi.doByte(ea, length) +idaapi.doCustomData(ea, length, dtid, fid) +idaapi.doDouble(ea, length) +idaapi.doDwrd(ea, length) +idaapi.doExtra(ea) +idaapi.doFloat(ea, length) +idaapi.doImmd(ea) +idaapi.doOwrd(ea, length) +idaapi.doPackReal(ea, length) +idaapi.doQwrd(ea, length) +idaapi.doStruct(ea, length, tid) +idaapi.dosysfile(complain_if_no_file, file) +idaapi.doTbyt(ea, length) +idaapi.doubleflag() +idaapi.doVar(ea, isvar=True) +idaapi.doWord(ea, length) +idaapi.doYwrd(ea, length) +idaapi.dstr_tinfo(tif) +idaapi.dto_copy_from_inf(arg1, inf) +idaapi.dto_copy_to_inf(arg1, inf) +idaapi.dto_init(dt, for_graph) +idaapi.dummy_ptrtype(ptrsize, isfp) +idaapi.dump_func_type_data(fti, praloc_bits) +idaapi.dwrdflag() +idaapi.ea_array_frompointer(t) +idaapi.ea_pointer_frompointer(t) +idaapi.ea_viewer_history_push_and_jump(v, ea, x, y, lnnum) +idaapi.eamap_begin(map) +idaapi.eamap_clear(map) +idaapi.eamap_end(map) +idaapi.eamap_erase(map, p) +idaapi.eamap_find(map, key) +idaapi.eamap_first(p) +idaapi.eamap_free(map) +idaapi.eamap_insert(map, key, val) +idaapi.eamap_next(p) +idaapi.eamap_prev(p) +idaapi.eamap_second(p) +idaapi.eamap_size(map) +idaapi.echsize(fp, size) +idaapi.echsize64(fp, size) +idaapi.eclose(fp) +idaapi.ecreate(file) +idaapi.ecreateT(file) +idaapi.edit_manual_regions() +idaapi.enable_bblk_trace(enable) +idaapi.enable_bpt(bptloc, enable) -> bool +idaapi.enable_bpt(ea, enable) +idaapi.enable_chooser_item_attrs(chooser_caption, enable) +idaapi.enable_extlang_python(enable) +idaapi.enable_flags(startEA, endEA, stt) +idaapi.enable_func_trace(enable) +idaapi.enable_insn_trace(enable) +idaapi.enable_manual_regions(enable) +idaapi.enable_menu_item(item_name, enable) +idaapi.enable_python_cli(enable) +idaapi.enable_step_trace(enable) +idaapi.encoding_from_strtype(strtype) +idaapi.end_type_updating(utp) +idaapi.enum_decode(code) +idaapi.enum_encode(id, serial) +idaapi.enum_import_names(mod_index, py_cb) +idaapi.enumerate_files(path, fname, callback) +idaapi.enumerate_system_files(subdir, fname, callback) +idaapi.enumflag() +idaapi.equal_bytes(ea, image, mask, len, sense_case) +idaapi.error(format) +idaapi.eseek(fp, pos) +idaapi.eseek64(fp, pos) +idaapi.execute(line) +idaapi.execute_sync(py_callable, reqf) +idaapi.execute_ui_requests(py_list) +idaapi.exit_process() +idaapi.expand_argv(p_argc, argc, argv) +idaapi.expand_struc(sptr, offset, delta, recalc=True) +idaapi.extend_sign(v, nbytes, sign_extend) +idaapi.extlang_call_method_exists() +idaapi.extlang_compile_file_exists(el=None) +idaapi.extlang_run_statements_exists(elang=None) +idaapi.extlang_set_attr_exists() +idaapi.extlang_unload_procmod(file) +idaapi.extract_and_convert_old_argloc(tp) +idaapi.extract_module_from_archive(filename, bufsize, is_remote, temp_file_ptr) +idaapi.extract_name(line, x) +idaapi.extract_name2(line, x) +idaapi.extract_old_argloc(ptr) -> argloc_old_t +idaapi.extract_old_argloc(ptr, p1, p2) +idaapi.extract_varloc(ptype, vloc, is_retval) +idaapi.ExtraFree(ea, start) +idaapi.f_any(arg1, arg2) +idaapi.f_has_dummy_name(f, arg2) +idaapi.f_has_name(f, arg2) +idaapi.f_has_user_name(F, arg2) +idaapi.f_hasRef(f, arg2) +idaapi.f_hasValue(f, arg2) +idaapi.f_is3byte(F, arg2) +idaapi.f_isAlign(F, arg2) +idaapi.f_isASCII(F, arg2) +idaapi.f_isByte(F, arg2) +idaapi.f_isCode(F, arg2) +idaapi.f_isCustom(F, arg2) +idaapi.f_isData(F, arg2) +idaapi.f_isDouble(F, arg2) +idaapi.f_isDwrd(F, arg2) +idaapi.f_isFloat(F, arg2) +idaapi.f_isHead(F, arg2) +idaapi.f_isNotTail(F, arg2) +idaapi.f_isOwrd(F, arg2) +idaapi.f_isPackReal(F, arg2) +idaapi.f_isQwrd(F, arg2) +idaapi.f_isStruct(F, arg2) +idaapi.f_isTail(F, arg2) +idaapi.f_isTbyt(F, arg2) +idaapi.f_isUnknown(F, arg2) +idaapi.f_isWord(F, arg2) +idaapi.f_isYwrd(F, arg2) +idaapi.file2base(li, pos, ea1, ea2, patchable) +idaapi.find_binary(startea, endea, ubinstr, radix, sflag) +idaapi.find_bpt(bptloc, bpt) +idaapi.find_byte(sEA, size, value, bin_search_flags) +idaapi.find_byter(sEA, size, value, bin_search_flags) +idaapi.find_code(ea, sflag) +idaapi.find_custom_data_format(name) +idaapi.find_custom_data_type(name) +idaapi.find_data(ea, sflag) +idaapi.find_defined(ea, sflag) +idaapi.find_error(ea, sflag) +idaapi.find_extlang_by_ext(ext) +idaapi.find_extlang_by_name(name) +idaapi.find_free_selector() +idaapi.find_func_bounds(ea, nfn, flags) +idaapi.find_idc_class(name) +idaapi.find_idc_gvar(name) +idaapi.find_imm(newEA, sflag, srchValue) +idaapi.find_not_func(ea, sflag) +idaapi.find_notype(ea, sflag) +idaapi.find_regvar(pfn, ea, canon) -> regvar_t +idaapi.find_regvar(pfn, ea1, ea2, canon, user) +idaapi.find_selector(base) +idaapi.find_text(startEA, y, x, ustr, sflag) +idaapi.find_tform(caption) +idaapi.find_tinfo_udt_member(typid, strmem_flags, udm) +idaapi.find_unknown(ea, sflag) +idaapi.find_void(ea, sflag) +idaapi.first_named_type(ti, ntf_flags) +idaapi.floatflag() +idaapi.fltflag() +idaapi.flush_buffers() +idaapi.fopenA(file) +idaapi.fopenM(file) +idaapi.fopenRB(file) +idaapi.fopenRT(file) +idaapi.fopenWB(file) +idaapi.fopenWT(file) +idaapi.for_all_arglocs(vv, vloc, size, off=0) +idaapi.for_all_const_arglocs(vv, vloc, size, off=0) +idaapi.for_all_const_varlocs(vv, vloc, size, off=0) +idaapi.for_all_consts(id, cv) +idaapi.for_all_enum_members(id, cv) +idaapi.for_all_types(ptype, tv) +idaapi.for_all_varlocs(vv, vloc, size, off=0) +idaapi.formchgcbfa_close(p_fa, close_normally) +idaapi.formchgcbfa_enable_field(p_fa, fid, enable) +idaapi.formchgcbfa_get_field_value(p_fa, fid, ft, sz) +idaapi.formchgcbfa_get_focused_field(p_fa) +idaapi.formchgcbfa_move_field(p_fa, fid, x, y, w, h) +idaapi.formchgcbfa_refresh_field(p_fa, fid) +idaapi.formchgcbfa_set_field_value(p_fa, fid, ft, py_val) +idaapi.formchgcbfa_set_focused_field(p_fa, fid) +idaapi.formchgcbfa_show_field(p_fa, fid, show) +idaapi.frame_off_args(pfn) +idaapi.frame_off_lvars(pfn) +idaapi.frame_off_retaddr(pfn) +idaapi.frame_off_savregs(pfn) +idaapi.free_argv(argc, argv) +idaapi.free_custom_icon(icon_id) +idaapi.free_til(ti) +idaapi.freechunk(bottom, size, step) +idaapi.func_contains(pfn, ea) +idaapi.func_does_return(callee) +idaapi.func_has_stkframe_hole(ea, fti) +idaapi.func_item_iterator_decode_preceding_insn(fii, visited, p_farref) +idaapi.func_item_iterator_decode_prev_insn(fii) +idaapi.func_item_iterator_next(fii, testf, ud) +idaapi.func_item_iterator_prev(fii, testf, ud) +idaapi.func_parent_iterator_set(fpi, pfn) +idaapi.func_parent_iterator_set2(fpi, pfn) +idaapi.func_setend(ea, newend) +idaapi.func_setstart(ea, newstart) +idaapi.func_tail_iterator_set(fti, pfn, ea) +idaapi.func_tail_iterator_set_ea(fti, ea) +idaapi.func_tail_iterator_set2(fti, pfn, ea) +idaapi.gen_abssym(ea, name) +idaapi.gen_cmt_line(format) +idaapi.gen_collapsed_line(format) +idaapi.gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) +idaapi.gen_comvar(ea, name) +idaapi.gen_decorate_name3(name, mangle, cc) +idaapi.gen_disasm_text(ea1, ea2, text, truncate_lines) +idaapi.gen_exe_file(fp) +idaapi.gen_extern(ea, name) +idaapi.gen_file(otype, fp, ea1, ea2, flags) +idaapi.gen_fix_fixups(frm, to, size) +idaapi.gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) +idaapi.gen_gdl(g, fname) +idaapi.gen_name_decl(ea, name) +idaapi.gen_simple_call_chart(filename, wait, title, gflags) +idaapi.gen_spcdef(ea, segtype) +idaapi.gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) +idaapi.generate_big_comment(cmt, color) +idaapi.generate_disasm_line(ea, flags=0) +idaapi.generate_disassembly(ea, max_lines, as_stack, notags) +idaapi.generate_many_lines(string, color) +idaapi.get_16bit(ea) +idaapi.get_32bit(ea) +idaapi.get_3byte(ea) +idaapi.get_64bit(ea) +idaapi.get_absbase(ea) +idaapi.get_action_checkable(name) +idaapi.get_action_checked(name) +idaapi.get_action_icon(name) +idaapi.get_action_label(name) +idaapi.get_action_shortcut(name) +idaapi.get_action_state(name) +idaapi.get_action_tooltip(name) +idaapi.get_action_visibility(name) +idaapi.get_addon_info(id, info) +idaapi.get_addon_info_idx(index, info) +idaapi.get_aflags(ea) +idaapi.get_alias_target(ti, ordinal) +idaapi.get_alignment(ea) +idaapi.get_argloc_r1(reg_argloc) +idaapi.get_argloc_r2(reg_argloc) +idaapi.get_array_parameters(ea, buf, bufsize) +idaapi.get_ascii_contents(ea, len, type) +idaapi.get_ascii_contents2(ea, len, type, flags=0x00000000) +idaapi.get_asm_inc_file() +idaapi.get_auto_plugins() +idaapi.get_base_type(t) +idaapi.get_basic_file_type(li) +idaapi.get_bblk_trace_options() +idaapi.get_best_fit_member(sptr, offset) +idaapi.get_bmask_cmt(id, bmask, repeatable) +idaapi.get_bmask_name(id, bmask) +idaapi.get_bmask_node(id, bmask) +idaapi.get_bpt(ea, bpt) +idaapi.get_bpt_group(bptloc) +idaapi.get_bpt_qty() +idaapi.get_bpt_tev_ea(n) +idaapi.get_bptloc_string(i) +idaapi.get_byte(ea) +idaapi.get_c_header_path() +idaapi.get_c_macros() +idaapi.get_call_tev_callee(n) +idaapi.get_chooser_obj(chooser_caption) +idaapi.get_cmt(ea, rptble) +idaapi.get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) +idaapi.get_colored_demangled_name(frm, ea, inhibitor, demform, strict) -> char * +idaapi.get_colored_long_name(ea, gtn_flags=0) +idaapi.get_colored_name(ea) +idaapi.get_colored_name(frm, ea) -> char * +idaapi.get_colored_short_name(ea, gtn_flags=0) +idaapi.get_comp(comp) +idaapi.get_compiler_abbr(id) +idaapi.get_compiler_name(id) +idaapi.get_compilers(ids, names, abbrs) +idaapi.get_complex_n(ptype, is_empty_udt) +idaapi.get_const(id, value, serial, mask) +idaapi.get_const_bmask(id) +idaapi.get_const_by_name(name) +idaapi.get_const_cmt(id, repeatable) +idaapi.get_const_enum(id) +idaapi.get_const_name(id) +idaapi.get_const_serial(cid) +idaapi.get_const_value(id) +idaapi.get_ctype_name(op) +idaapi.get_curline() +idaapi.get_current_idasgn() +idaapi.get_current_tform() +idaapi.get_current_thread() +idaapi.get_current_viewer() +idaapi.get_cursor() +idaapi.get_custom_data_format(dtid, fid) +idaapi.get_custom_data_formats(out, dtid) +idaapi.get_custom_data_type(dtid) +idaapi.get_custom_data_type_ids(ea, cdis, bufsize) +idaapi.get_custom_data_types(out, min_size=0, max_size=BADADDR) +idaapi.get_custom_viewer_curline(custom_viewer, mouse) +idaapi.get_custom_viewer_place(custom_viewer, mouse) +idaapi.get_data_elsize(ea, F, ti=None) +idaapi.get_data_type_size(F, ti) +idaapi.get_data_value(ea, v, size) +idaapi.get_db_byte(ea) +idaapi.get_dbg_byte(ea, x) +idaapi.get_dbg_memory_info(areas) +idaapi.get_debug_event() +idaapi.get_debug_name_ea(name) +idaapi.get_debug_name2(ea_ptr, how) +idaapi.get_debug_names(ea1, ea2) +idaapi.get_debugger_event_cond() +idaapi.get_default_encoding_idx(strtype) +idaapi.get_default_reftype(ea) +idaapi.get_defsr(s, reg) +idaapi.get_demangled_name(ea, inhibitor, demform, gtn_flags=0) +idaapi.get_demangled_name(frm, ea, inhibitor, demform, strict) -> char * +idaapi.get_dtyp_by_size(size) +idaapi.get_dtyp_flag(dtype) +idaapi.get_dtyp_size(dtype) +idaapi.get_ea_name(ea, gtn_flags=0) +idaapi.get_ea_viewer_history_info(nback, nfwd, v) +idaapi.get_effective_spd(pfn, ea) +idaapi.get_encoding_name(idx) +idaapi.get_encodings_count() +idaapi.get_entry(ord) +idaapi.get_entry_name(ord) +idaapi.get_entry_ordinal(idx) +idaapi.get_entry_qty() +idaapi.get_enum(name) +idaapi.get_enum_base_type(type) +idaapi.get_enum_cmt(id, repeatable) +idaapi.get_enum_flag(id) +idaapi.get_enum_id(ea, n) +idaapi.get_enum_idx(id) +idaapi.get_enum_member(id, value, serial, mask) +idaapi.get_enum_member_bmask(id) +idaapi.get_enum_member_by_name(name) +idaapi.get_enum_member_cmt(id, repeatable) +idaapi.get_enum_member_enum(id) +idaapi.get_enum_member_expr2(tif, serial, value) +idaapi.get_enum_member_name(id) +idaapi.get_enum_member_serial(cid) +idaapi.get_enum_member_value(id) +idaapi.get_enum_name(id) +idaapi.get_enum_qty() +idaapi.get_enum_size(id) +idaapi.get_enum_type_ordinal(id) +idaapi.get_enum_width(id) +idaapi.get_event_bpt_hea(ev) +idaapi.get_event_exc_code(ev) +idaapi.get_event_exc_ea(ev) +idaapi.get_event_exc_info(ev) +idaapi.get_event_info(ev) +idaapi.get_event_module_base(ev) +idaapi.get_event_module_name(ev) +idaapi.get_event_module_size(ev) +idaapi.get_extlang_fileext() +idaapi.get_extra_cmt(ea, what) +idaapi.get_fchunk(ea) +idaapi.get_fchunk_num(ea) +idaapi.get_fchunk_qty() +idaapi.get_fchunk_referer(ea, idx) +idaapi.get_file_type_name() +idaapi.get_fileregion_ea(offset) +idaapi.get_fileregion_offset(ea) +idaapi.get_first_bmask(id) +idaapi.get_first_const(id, bmask=(bmask_t(-1))) +idaapi.get_first_cref_from(frm) +idaapi.get_first_cref_to(to) +idaapi.get_first_dref_from(frm) +idaapi.get_first_dref_to(to) +idaapi.get_first_enum_member(id, bmask=(bmask_t(-1))) +idaapi.get_first_fcref_from(frm) +idaapi.get_first_fcref_to(to) +idaapi.get_first_fixup_ea() +idaapi.get_first_free_extra_cmtidx(ea, start) +idaapi.get_first_module(modinfo) +idaapi.get_first_seg() +idaapi.get_first_serial_const(id, value, bmask) +idaapi.get_first_serial_enum_member(id, value, bmask) +idaapi.get_first_struc_idx() +idaapi.get_fixup(source, fd) +idaapi.get_fixup_base(source, fd) +idaapi.get_fixup_desc(source, fdp) +idaapi.get_fixup_extdef_ea(ea) -> ea_t +idaapi.get_fixup_extdef_ea(source, fd) +idaapi.get_fixup_segdef_sel(ea) -> sel_t +idaapi.get_fixup_segdef_sel(fd) +idaapi.get_flags_by_size(size) +idaapi.get_flags_ex(ea, how) +idaapi.get_flags_novalue(ea) +idaapi.get_float_type(width) +idaapi.get_forced_operand(ea, n) +idaapi.get_frame(ea) -> struc_t +idaapi.get_frame(pfn) +idaapi.get_frame_part(pfn, part, range) +idaapi.get_frame_retsize(pfn) +idaapi.get_frame_size(pfn) +idaapi.get_full_byte(ea) +idaapi.get_full_data_elsize(ea, F, ti=None) +idaapi.get_full_long(ea) +idaapi.get_full_type(t) +idaapi.get_full_word(ea) +idaapi.get_func(ea) +idaapi.get_func_bitness(pfn) +idaapi.get_func_bits(pfn) +idaapi.get_func_by_frame(frame_id) +idaapi.get_func_bytes(pfn) +idaapi.get_func_cc(til, p_type, p_fields=None) +idaapi.get_func_chunknum(pfn, ea) +idaapi.get_func_cmt(fn, repeatable) +idaapi.get_func_limits(pfn, limits) +idaapi.get_func_name(ea) +idaapi.get_func_name2(ea) +idaapi.get_func_nargs(type) +idaapi.get_func_num(ea) +idaapi.get_func_qty() +idaapi.get_func_rettype(til, type, fields, rettype, retfields=None, p_retloc=None, p_cc=None) +idaapi.get_func_trace_options() +idaapi.get_funcarg_size(til, pptr, lp=None) +idaapi.get_group_selector(grpsel) +idaapi.get_grp_bpts(bpts, grp_name) +idaapi.get_hexdump_ea(hexdump_num) +idaapi.get_hexrays_version() +idaapi.get_hidden_area(ea) +idaapi.get_hidden_area_num(ea) +idaapi.get_hidden_area_qty() +idaapi.get_highlighted_identifier(flags=0) +idaapi.get_idainfo_by_type(rtype, fields, psize, pflags, mt, alsize=None) +idaapi.get_idainfo_by_type2(til, ptype, fields, psize, pflags, mt, alsize=None) +idaapi.get_idainfo_by_type3(tif, psize, pflags, mt, alsize=None) +idaapi.get_idasgn_desc(n) +idaapi.get_idasgn_qty() +idaapi.get_idasgn_title(name) +idaapi.get_idc_filename(file) +idaapi.get_idcpath() +idaapi.get_idp_name() +idaapi.get_ids_modnode() +idaapi.get_imagebase() +idaapi.get_import_module_name(mod_index) +idaapi.get_import_module_qty() +idaapi.get_ind_purged(ea) +idaapi.get_inf_structure() +idaapi.get_input_file_path() +idaapi.get_insn_tev_reg_mem(n, memmap) +idaapi.get_insn_tev_reg_result(n, regname, regval) +idaapi.get_insn_tev_reg_val(n, regname, regval) +idaapi.get_insn_trace_options() +idaapi.get_int_type_by_width_and_sign(srcwidth, sign) +idaapi.get_item_color(ea) +idaapi.get_item_end(ea) +idaapi.get_item_flag(frm, n, ea, appzero) +idaapi.get_item_head(ea) +idaapi.get_item_size(ea) +idaapi.get_jumptable_info(ea, buf, bufsize) +idaapi.get_kernel_version() +idaapi.get_key_code(keyname) +idaapi.get_last_bmask(id) +idaapi.get_last_const(id, bmask=(bmask_t(-1))) +idaapi.get_last_enum_member(id, bmask=(bmask_t(-1))) +idaapi.get_last_seg() +idaapi.get_last_serial_const(id, value, bmask) +idaapi.get_last_serial_enum_member(id, value, bmask) +idaapi.get_last_struc_idx() +idaapi.get_linput_type(li) +idaapi.get_long(ea) +idaapi.get_long_name(ea, gtn_flags=0) +idaapi.get_long_queue_name(type) +idaapi.get_manual_insn(ea) +idaapi.get_manual_regions() +idaapi.get_many_bytes(ea, size) +idaapi.get_many_bytes_ex(ea, buf, size, mask) +idaapi.get_max_ascii_length(ea, strtype, options=0) +idaapi.get_max_offset(sptr) +idaapi.get_member(sptr, offset) +idaapi.get_member_by_fullname(fullname, sptr_place) +idaapi.get_member_by_id(mid, sptr_place) +idaapi.get_member_by_id(mid, sptr_place=None) -> member_t +idaapi.get_member_by_name(sptr, membername) +idaapi.get_member_cmt(mid, repeatable) +idaapi.get_member_fullname(mid) +idaapi.get_member_name(mid) +idaapi.get_member_name2(mid) +idaapi.get_member_size(mptr) +idaapi.get_member_struc(fullname) +idaapi.get_member_ti(mptr, buf, bufsize) +idaapi.get_member_tinfo(mptr, buf, fields) +idaapi.get_member_tinfo2(mptr, tif) +idaapi.get_member_type(mptr, type) +idaapi.get_min_spd_ea(pfn) +idaapi.get_name(frm, ea) +idaapi.get_name_base_ea(frm, to) +idaapi.get_name_color(frm, ea) +idaapi.get_name_ea(frm, name) +idaapi.get_name_expr(frm, n, ea, off, flags=0x0001) +idaapi.get_name_of_named_type(ptr) +idaapi.get_name_value(frm, name) +idaapi.get_named_type(til, name, ntf_flags) +idaapi.get_named_type64(til, name, ntf_flags) +idaapi.get_next_bmask(id, bmask) +idaapi.get_next_const(id, value, bmask=(bmask_t(-1))) +idaapi.get_next_cref_from(frm, current) +idaapi.get_next_cref_to(to, current) +idaapi.get_next_dref_from(frm, current) +idaapi.get_next_dref_to(to, current) +idaapi.get_next_enum_member(id, value, bmask=(bmask_t(-1))) +idaapi.get_next_fchunk(ea) +idaapi.get_next_fcref_from(frm, current) +idaapi.get_next_fcref_to(to, current) +idaapi.get_next_fixup_ea(ea) +idaapi.get_next_func(ea) +idaapi.get_next_func_addr(pfn, ea) +idaapi.get_next_hidden_area(ea) +idaapi.get_next_member_idx(sptr, off) +idaapi.get_next_module(modinfo) +idaapi.get_next_seg(ea) +idaapi.get_next_serial_const(first_cid) +idaapi.get_next_serial_enum_member(first_cid, in_out_serial) +idaapi.get_next_struc_idx(idx) +idaapi.get_nice_colored_name(ea, flags=0) +idaapi.get_nlist_ea(idx) +idaapi.get_nlist_idx(ea) +idaapi.get_nlist_name(idx) +idaapi.get_nlist_size() +idaapi.get_node_info(ea, node, pcolor, pea) +idaapi.get_node_info2(out, gid, node) +idaapi.get_numbered_type(ti, ordinal, type=None, fields=None, cmt=None, fieldcmts=None, sclass=None) +idaapi.get_numbered_type_name(ti, ordinal) +idaapi.get_offbase(ea, n) +idaapi.get_offset_expr(ea, n, ri, frm, offset, getn_flags=0) +idaapi.get_offset_expression(ea, n, frm, offset, getn_flags=0) +idaapi.get_op_signness(op) +idaapi.get_op_tinfo2(ea, n, tif) +idaapi.get_operand_immvals(ea, n, v) +idaapi.get_opinfo(ea, n, flags, buf) +idaapi.get_opnum() +idaapi.get_optype_flags0(F) +idaapi.get_optype_flags1(F) +idaapi.get_or_guess_member_tinfo(mptr, type, fields) +idaapi.get_or_guess_member_tinfo2(mptr, tif) +idaapi.get_or_guess_member_type(mptr, type, tsize) +idaapi.get_ordinal_from_idb_type(name, type) +idaapi.get_ordinal_qty(ti) +idaapi.get_original_byte(ea) +idaapi.get_original_long(ea) +idaapi.get_original_qword(ea) +idaapi.get_original_word(ea) +idaapi.get_output_curline(mouse) +idaapi.get_output_cursor() +idaapi.get_output_selected_text() +idaapi.get_plugin_options(plugin) +idaapi.get_prev_bmask(id, bmask) +idaapi.get_prev_const(id, value, bmask=(bmask_t(-1))) +idaapi.get_prev_enum_member(id, value, bmask=(bmask_t(-1))) +idaapi.get_prev_fchunk(ea) +idaapi.get_prev_fixup_ea(ea) +idaapi.get_prev_func(ea) +idaapi.get_prev_func_addr(pfn, ea) +idaapi.get_prev_hidden_area(ea) +idaapi.get_prev_member_idx(sptr, off) +idaapi.get_prev_seg(ea) +idaapi.get_prev_serial_const(first_cid) +idaapi.get_prev_serial_enum_member(first_cid, in_out_serial) +idaapi.get_prev_srarea(out, ea, rg) +idaapi.get_prev_struc_idx(idx) +idaapi.get_process_info(n, process_info) +idaapi.get_process_options(path, args, sdir, host, _pass, port) +idaapi.get_process_qty() +idaapi.get_process_state() +idaapi.get_ptr_object_size(til, type) +idaapi.get_qword(ea) +idaapi.get_referred_ordinal(ptype) +idaapi.get_refinfo(ea, n, ri) +idaapi.get_reftype_by_size(size) +idaapi.get_reg_info2(regname, bitrange) +idaapi.get_reg_name(reg, width, reghi=-1) +idaapi.get_reg_val(regname, regval) +idaapi.get_reg_vals(tid, clsmask, values) +idaapi.get_ret_tev_return(n) +idaapi.get_root_filename() +idaapi.get_running_notification() +idaapi.get_running_request() +idaapi.get_scattered_varloc(idx) +idaapi.get_screen_ea() +idaapi.get_segm_base(s) +idaapi.get_segm_by_name(name) +idaapi.get_segm_by_sel(selector) +idaapi.get_segm_class(s) +idaapi.get_segm_name(ea) -> ssize_t +idaapi.get_segm_name(s) +idaapi.get_segm_para(s) +idaapi.get_segm_qty() +idaapi.get_segment_alignment(align) +idaapi.get_segment_cmt(s, repeatable) +idaapi.get_segment_combination(comb) +idaapi.get_segment_translations(segstart, buf, bufsize) +idaapi.get_segreg(ea, rg) +idaapi.get_selector_qty() +idaapi.get_short_name(ea, gtn_flags=0) +idaapi.get_short_queue_name(type) +idaapi.get_sig_filename(signame) +idaapi.get_source_linnum(ea) +idaapi.get_sourcefile(ea, bounds=None) +idaapi.get_sp_delta(pfn, ea) +idaapi.get_spd(pfn, ea) +idaapi.get_special_folder(csidl) +idaapi.get_spoil_cnt(t) +idaapi.get_sptr(mptr) +idaapi.get_srarea(ea) +idaapi.get_srarea_num(rg, ea) +idaapi.get_srarea2(out, ea, rg) +idaapi.get_srareas_qty() +idaapi.get_srareas_qty2(rg) +idaapi.get_step_trace_options() +idaapi.get_stkarg_offset() +idaapi.get_stkvar(py_op, py_v) +idaapi.get_stock_tinfo(tif, id) +idaapi.get_str_encoding_idx(strtype) +idaapi.get_str_term1(strtype) +idaapi.get_str_term2(strtype) +idaapi.get_str_type_code(strtype) +idaapi.get_strlist_item(n, si) +idaapi.get_strlist_qty() +idaapi.get_strmem(til, type, fields, offset, delta, name, ftype=None, fnames=None, sname=None) +idaapi.get_strmem_by_name(til, type, fields, name, offset, ftype=None, fnames=None, sname=None) +idaapi.get_strmem2(til, type, fields, info) +idaapi.get_stroff_path(ea, n, path, delta) +idaapi.get_struc(id) +idaapi.get_struc_by_idx(idx) +idaapi.get_struc_cmt(id, repeatable) +idaapi.get_struc_first_offset(sptr) +idaapi.get_struc_id(name) +idaapi.get_struc_idx(id) +idaapi.get_struc_last_offset(sptr) +idaapi.get_struc_name(id) +idaapi.get_struc_next_offset(sptr, offset) +idaapi.get_struc_prev_offset(sptr, offset) +idaapi.get_struc_qty() +idaapi.get_struc_size(id) -> asize_t +idaapi.get_struc_size(sptr) +idaapi.get_switch_info_ex(ea) +idaapi.get_switch_parent(ea) +idaapi.get_tab_size(path) +idaapi.get_tev_ea(n) +idaapi.get_tev_event(n, d) +idaapi.get_tev_info(n, tev_info) +idaapi.get_tev_memory_info(n, mi) +idaapi.get_tev_qty() +idaapi.get_tev_reg_mem_ea(n, idx) +idaapi.get_tev_reg_mem_qty(n) +idaapi.get_tev_reg_val(n, regname) +idaapi.get_tev_tid(n) +idaapi.get_tev_type(n) +idaapi.get_tform_idaview(parent) +idaapi.get_tform_title(form) +idaapi.get_tform_type(form) +idaapi.get_tform_vdui(f) +idaapi.get_thread_qty() +idaapi.get_tilpath(tilbuf, tilbufsize) +idaapi.get_tinfo(ea, type, fields) +idaapi.get_tinfo_attr(typid, key, bv, all_attrs) +idaapi.get_tinfo_attrs(typid, tav, include_ref_attrs) +idaapi.get_tinfo_details(typid, bt2, buf) +idaapi.get_tinfo_pdata(typid, outptr, what) +idaapi.get_tinfo_property(typid, gta_prop) +idaapi.get_tinfo_size(typid, p_effalign, gts_code) +idaapi.get_tinfo2(ea, tif) +idaapi.get_trace_base_address() +idaapi.get_trace_file_desc(filename) +idaapi.get_trace_platform() +idaapi.get_true_name(ea) +idaapi.get_true_name(frm, ea) -> char * +idaapi.get_true_segm_name(s) +idaapi.get_type(id, tif, guess) +idaapi.get_type_flags(t) +idaapi.get_type_ordinal(ti, name) +idaapi.get_type_sign(til, type) +idaapi.get_type_size0(ti, tp) +idaapi.get_typeinfo(ea, n, flags, buf) +idaapi.get_unk_type(size) +idaapi.get_user_idadir() +idaapi.get_user_strlist_options(out) +idaapi.get_utf8_char(pptr) +idaapi.get_view_renderer_type(v) +idaapi.get_viewer_place_type(viewer) +idaapi.get_viewer_user_data(viewer) +idaapi.get_visible_name(ea, gtn_flags=0) +idaapi.get_word(ea) +idaapi.get_zero_areas(zareas, range) +idaapi.getDefaultRadix() +idaapi.getdspace(path) +idaapi.getFlags(ea) +idaapi.getn_bpt(n, bpt) +idaapi.getn_enum(n) +idaapi.getn_fchunk(n) +idaapi.getn_func(n) +idaapi.getn_hidden_area(n) +idaapi.getn_selector(n, sel, base) +idaapi.getn_srarea(n) +idaapi.getn_srarea2(out, rg, n) +idaapi.getn_thread(n) +idaapi.getnseg(n) +idaapi.getRadix(F, n) +idaapi.getRadixEA(ea, n) +idaapi.getseg(ea) +idaapi.getSR(ea, rg) +idaapi.getsysfile(filename, subdir) +idaapi.gettof(F) +idaapi.graph_trace() +idaapi.guess_func_cc(fti, npurged, cc_flags) +idaapi.guess_func_tinfo(pfn, type, fields) +idaapi.guess_func_tinfo2(pfn, tif) +idaapi.guess_table_address() +idaapi.guess_table_size(jump_table) +idaapi.guess_tinfo(id, type, fields) +idaapi.guess_tinfo2(id, tif) +idaapi.handle_debug_event(ev, rqflags) +idaapi.has_any_name(F) +idaapi.has_auto_name(F) +idaapi.has_cached_cfunc(ea) +idaapi.has_cmt(F) +idaapi.has_dummy_name(F) +idaapi.has_external_refs(pfn, ea) +idaapi.has_lname(ea) +idaapi.has_name(F) +idaapi.has_ti(ea) +idaapi.has_ti0(ea) +idaapi.has_ti1(ea) +idaapi.has_user_name(F) +idaapi.hasExtra(F) +idaapi.hasRef(F) +idaapi.hasValue(F) +idaapi.have_set_options(_dbg) +idaapi.hexflag() +idaapi.hide_all_bpts() +idaapi.hide_border(ea) +idaapi.hide_item(ea) +idaapi.hide_name(ea) +idaapi.hide_wait_box() +idaapi.idadir(subdir) +idaapi.IDAPython_ExecScript(script, g) +idaapi.IDAPython_ExecSystem(cmd) +idaapi.IDAPython_FormatExc(etype, value, tb, limit=None) +idaapi.IDAPython_LoadProcMod(script, g) +idaapi.IDAPython_UnLoadProcMod(script, g) +idaapi.idb2scr(name) +idaapi.idc_get_local_type(ordinal, flags, buf, maxsize) +idaapi.idc_get_local_type_name(ordinal) +idaapi.idc_get_local_type_raw(ordinal) +idaapi.idc_get_type(ea) +idaapi.idc_get_type_raw(ea) +idaapi.idc_guess_type(ea) +idaapi.idc_parse_decl(ti, decl, flags) +idaapi.idc_parse_types(input, flags) +idaapi.idc_print_type(py_type, py_fields, name, flags) +idaapi.idc_set_local_type(ordinal, dcl, flags) +idaapi.import_type(til, idx, name, flags=0) +idaapi.info(format) +idaapi.init_hexrays_plugin(flags=0) +idaapi.init_output_buffer(size=1024) +idaapi.init_process(lpi, errbuf) +idaapi.insert(self, p) +idaapi.insn_t_assign(self, other) +idaapi.insn_t_create() +idaapi.insn_t_destroy(py_obj) +idaapi.insn_t_get_auxpref(self) +idaapi.insn_t_get_canon_feature(itype) +idaapi.insn_t_get_canon_mnem(itype) +idaapi.insn_t_get_cs(self) +idaapi.insn_t_get_ea(self) +idaapi.insn_t_get_flags(self) +idaapi.insn_t_get_insnpref(self) +idaapi.insn_t_get_ip(self) +idaapi.insn_t_get_itype(self) +idaapi.insn_t_get_op_link(py_insn_lnk, i) +idaapi.insn_t_get_segpref(self) +idaapi.insn_t_get_size(self) +idaapi.insn_t_is_canon_insn(itype) +idaapi.insn_t_set_auxpref(self, value) +idaapi.insn_t_set_cs(self, value) +idaapi.insn_t_set_ea(self, value) +idaapi.insn_t_set_flags(self, value) +idaapi.insn_t_set_insnpref(self, value) +idaapi.insn_t_set_ip(self, value) +idaapi.insn_t_set_itype(self, value) +idaapi.insn_t_set_segpref(self, value) +idaapi.insn_t_set_size(self, value) +idaapi.install_command_interpreter(py_obj) +idaapi.install_extlang(el) +idaapi.install_hexrays_callback(hx_cblist_callback) +idaapi.InstrIsSet(icode, bit) +idaapi.int_pointer_frompointer(t) +idaapi.intel_data(ea) +idaapi.internal_get_sreg_base(tid, sreg_value) +idaapi.internal_ioctl(fn, buf, size, poutbuf, poutsize) +idaapi.invalidate_dbgmem_config() +idaapi.invalidate_dbgmem_contents(ea, size) +idaapi.is__bnot0(ea) +idaapi.is__bnot1(ea) +idaapi.is__invsign0(ea) +idaapi.is__invsign1(ea) +idaapi.is_action_enabled(s) +idaapi.is_additive(op) +idaapi.is_align_flow(ea) +idaapi.is_align_insn(ea) +idaapi.is_allowed_on_small_struni(op) +idaapi.is_anonymous_member_name(name) +idaapi.is_assignment(op) +idaapi.is_autosync(name, tif) -> bool +idaapi.is_autosync(name, type) +idaapi.is_basic_block_end(call_insn_stops_block) +idaapi.is_bblk_trace_enabled() +idaapi.is_bf(id) +idaapi.is_binary(op) +idaapi.is_bitop(op) +idaapi.is_bnot(ea, F, n) +idaapi.is_bnot_data(F) +idaapi.is_bool_type(type) +idaapi.is_break_consumer(op) +idaapi.is_call_insn(ea) +idaapi.is_castable2(til, frm, to) +idaapi.is_chooser_tform(t) +idaapi.is_code_far(cm) +idaapi.is_colored_item(ea) +idaapi.is_commutative(op) +idaapi.is_comp_unsure(comp) +idaapi.is_control_tty(fd) +idaapi.is_data_far(cm) +idaapi.is_debugger_busy() +idaapi.is_debugger_memory(ea) +idaapi.is_debugger_on() +idaapi.is_dummy_member_name(name) +idaapi.is_enum_fromtil(id) +idaapi.is_enum_hidden(id) +idaapi.is_finally_visible_func(pfn) +idaapi.is_finally_visible_item(ea) +idaapi.is_finally_visible_segm(s) +idaapi.is_fixed_spd(ea) +idaapi.is_forced_operand(ea, n) +idaapi.is_func_entry(pfn) +idaapi.is_func_locked(pfn) +idaapi.is_func_tail(pfn) +idaapi.is_func_trace_enabled() +idaapi.is_funcarg_off(pfn, frameoff) +idaapi.is_gcc() +idaapi.is_gcc32() +idaapi.is_gcc64() +idaapi.is_ghost_enum(id) +idaapi.is_hidden_border(ea) +idaapi.is_hidden_item(ea) +idaapi.is_idaq() +idaapi.is_ident_char(c) +idaapi.is_in_nlist(ea) +idaapi.is_indirect_jump_insn(ea) +idaapi.is_insn_trace_enabled() +idaapi.is_invsign(ea, F, n) +idaapi.is_libitem(ea) +idaapi.is_logical(op) +idaapi.is_loop(op) +idaapi.is_lvalue(op) +idaapi.is_lzero(ea, n) +idaapi.is_lzero0(ea) +idaapi.is_lzero1(ea) +idaapi.is_main_thread() +idaapi.is_manual_insn(ea) +idaapi.is_member_id(mid) +idaapi.is_miniidb() +idaapi.is_msg_inited() +idaapi.is_multiplicative(op) +idaapi.is_name_defined_locally(pfn, name, ignore, ea1=BADADDR, ea2=BADADDR) +idaapi.is_nonbool_type(type) +idaapi.is_noret(ea) +idaapi.is_noret_block(btype) +idaapi.is_notcode(ea) +idaapi.is_one_bit_mask(mask) +idaapi.is_ordinal_name(name, ord) +idaapi.is_paf(t) +idaapi.is_pascal(strtype) +idaapi.is_prepost(op) +idaapi.is_ptr_or_array(t) +idaapi.is_public_name(ea) +idaapi.is_purging_cc(cm) +idaapi.is_reg_argloc(argloc) +idaapi.is_reg_custom(regname) +idaapi.is_reg_float(regname) +idaapi.is_reg_integer(regname) +idaapi.is_reg2_argloc(reg_argloc) +idaapi.is_relational(op) +idaapi.is_resolved_type_struni(type) +idaapi.is_restype_array(til, type) +idaapi.is_restype_bitfld(til, type) +idaapi.is_restype_complex(til, type) +idaapi.is_restype_const(til, type) +idaapi.is_restype_enum(til, type) +idaapi.is_restype_floating(til, type) +idaapi.is_restype_func(til, type) +idaapi.is_restype_ptr(til, type) +idaapi.is_restype_struct(til, type) +idaapi.is_restype_struni(til, type) +idaapi.is_restype_union(til, type) +idaapi.is_restype_void(til, type) +idaapi.is_ret_block(btype) +idaapi.is_ret_insn(ea, strict=True) +idaapi.is_retfp(ea) +idaapi.is_same_data_type(F1, F2) +idaapi.is_sdacl_byte(t) +idaapi.is_segm_locked(segm) +idaapi.is_segreg_locked(arg1) +idaapi.is_signed_data(F) +idaapi.is_small_struni(tif) +idaapi.is_spec_ea(ea) +idaapi.is_spec_segm(seg_type) +idaapi.is_special_member(id) +idaapi.is_stack_argloc(argloc) +idaapi.is_step_trace_enabled() +idaapi.is_tah_byte(t) +idaapi.is_terse_struc(ea) +idaapi.is_tilcmt(ea) +idaapi.is_trusted_idb() +idaapi.is_type_arithmetic(t) +idaapi.is_type_array(t) +idaapi.is_type_bitfld(t) +idaapi.is_type_bool(t) +idaapi.is_type_char(t) +idaapi.is_type_complex(t) +idaapi.is_type_const(t) +idaapi.is_type_correct(ptr) +idaapi.is_type_double(t) +idaapi.is_type_enum(t) +idaapi.is_type_ext_arithmetic(t) +idaapi.is_type_ext_integral(t) +idaapi.is_type_float(t) +idaapi.is_type_floating(t) +idaapi.is_type_func(t) +idaapi.is_type_int(bt) +idaapi.is_type_int128(t) +idaapi.is_type_int16(t) +idaapi.is_type_int32(t) +idaapi.is_type_int64(t) +idaapi.is_type_integral(t) +idaapi.is_type_ldouble(t) +idaapi.is_type_only_size(t) +idaapi.is_type_paf(t) +idaapi.is_type_partial(t) +idaapi.is_type_ptr(t) +idaapi.is_type_ptr_or_array(t) +idaapi.is_type_resolvable(p, namebuf=None) +idaapi.is_type_scalar2(til, type) +idaapi.is_type_struct(t) +idaapi.is_type_struni(t) +idaapi.is_type_sue(t) +idaapi.is_type_typedef(t) +idaapi.is_type_uchar(t) +idaapi.is_type_uint(t) +idaapi.is_type_uint128(t) +idaapi.is_type_uint16(t) +idaapi.is_type_uint32(t) +idaapi.is_type_uint64(t) +idaapi.is_type_union(t) +idaapi.is_type_unk(t) +idaapi.is_type_unknown(t) +idaapi.is_type_void(t) +idaapi.is_type_void_obsolete(t) +idaapi.is_type_voiddef(t) +idaapi.is_type_volatile(t) +idaapi.is_typeid_last(t) +idaapi.is_uname(name) +idaapi.is_unary(op) +idaapi.is_unicode(strtype) +idaapi.is_union(id) +idaapi.is_user_cc(cm) +idaapi.is_usersp(ea) +idaapi.is_userti(ea) +idaapi.is_valid_full_type(ti, ptr) +idaapi.is_valid_trace_file(filename) +idaapi.is_valid_typename(name) +idaapi.is_vararg_cc(cm) +idaapi.is_varmember(mptr) +idaapi.is_varsize_item(ea, F, ti=None, itemsize=None) +idaapi.is_varstr(id) +idaapi.is_visible_char(c) +idaapi.is_visible_func(pfn) +idaapi.is_visible_item(ea) +idaapi.is_visible_segm(s) +idaapi.is_weak_name(ea) +idaapi.is_zstroff(ea) +idaapi.is3byte(F) +idaapi.isAlign(F) +idaapi.isASCII(F) +idaapi.isByte(F) +idaapi.isChar(F, n) +idaapi.isChar0(F) +idaapi.isChar1(F) +idaapi.isCode(F) +idaapi.isCustFmt(F, n) +idaapi.isCustFmt0(F) +idaapi.isCustFmt1(F) +idaapi.isCustom(F) +idaapi.isData(F) +idaapi.isDefArg(F, n) +idaapi.isDefArg0(F) +idaapi.isDefArg1(F) +idaapi.isDouble(F) +idaapi.isDwrd(F) +idaapi.isEnabled(ea) +idaapi.isEnum(F, n) +idaapi.isEnum0(F) +idaapi.isEnum1(F) +idaapi.isFloat(F) +idaapi.isFloat0(F) +idaapi.isFloat1(F) +idaapi.isFlow(F) +idaapi.isFltnum(F, n) +idaapi.isFop(F, n) +idaapi.isFop0(F) +idaapi.isFop1(F) +idaapi.isFunc(F) +idaapi.isHead(F) +idaapi.isident(name) +idaapi.isImmd(F) +idaapi.isLoaded(ea) +idaapi.isNotTail(F) +idaapi.isNum(F, n) +idaapi.isNum0(F) +idaapi.isNum1(F) +idaapi.isOff(F, n) +idaapi.isOff0(F) +idaapi.isOff1(F) +idaapi.isOwrd(F) +idaapi.isPackReal(F) +idaapi.isQwrd(F) +idaapi.isSeg(F, n) +idaapi.isSeg0(F) +idaapi.isSeg1(F) +idaapi.isStkvar(F, n) +idaapi.isStkvar0(F) +idaapi.isStkvar1(F) +idaapi.isStroff(F, n) +idaapi.isStroff0(F) +idaapi.isStroff1(F) +idaapi.isStruct(F) +idaapi.isTail(F) +idaapi.isTbyt(F) +idaapi.isUnknown(F) +idaapi.isVar(F) +idaapi.isVoid(ea, F, n) +idaapi.isWord(F) +idaapi.isYwrd(F) +idaapi.jumpto(custom_viewer, place, x, y) -> bool +idaapi.jumpto(ea, opnum=-1, uijmp_flags=0x0001) +idaapi.leading_zero_important(ea, n) +idaapi.lexcompare_tinfo(t1, t2, arg3) +idaapi.list_bptgrps() -> PyObject * +idaapi.list_bptgrps(bptgrps) +idaapi.lnot(e) +idaapi.load_and_run_plugin(name, arg) +idaapi.load_binary_file(filename, li, _neflags, fileoff, basepara, binoff, nbytes) +idaapi.load_custom_icon(file_name=None, data=None, format=None) +idaapi.load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) +idaapi.load_debugger(dbgname, use_remote) +idaapi.load_ids_module(fname) +idaapi.load_loader_module(li, lname, fname, is_remote) +idaapi.load_plugin(name) +idaapi.load_til(tildir, name) -> til_t +idaapi.load_til(tildir, name, errbuf, bufsize) +idaapi.load_til_header(tildir, name) -> til_t +idaapi.load_til_header(tildir, name, errbuf, bufsize) +idaapi.load_trace_file(filename) +idaapi.loader_input_t_from_cobject(pycobject) +idaapi.loader_input_t_from_fp(fp) +idaapi.loader_input_t_from_linput(linput) +idaapi.lookup_key_code(key, shift, is_qt) +idaapi.lower_type(til, tif, name=None) +idaapi.lower_type2(til, tif, name=None, helper=None) +idaapi.lvar_mapping_begin(map) +idaapi.lvar_mapping_clear(map) +idaapi.lvar_mapping_end(map) +idaapi.lvar_mapping_erase(map, p) +idaapi.lvar_mapping_find(map, key) +idaapi.lvar_mapping_first(p) +idaapi.lvar_mapping_free(map) +idaapi.lvar_mapping_insert(map, key, val) +idaapi.lvar_mapping_next(p) +idaapi.lvar_mapping_prev(p) +idaapi.lvar_mapping_second(p) +idaapi.lvar_mapping_size(map) +idaapi.lvar_off(pfn, frameoff) +idaapi.make_array_type(buf, bufsize, type, size) +idaapi.make_ascii_string(start, len, strtype) +idaapi.make_name_auto(ea) +idaapi.make_name_non_public(ea) +idaapi.make_name_non_weak(ea) +idaapi.make_name_public(ea) +idaapi.make_name_user(ea) +idaapi.make_name_weak(ea) +idaapi.make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) +idaapi.make_old_argloc(r1, r2) +idaapi.make_pointer(type) +idaapi.make_ref(e) +idaapi.make_visible_name(srcname, dstsize) +idaapi.MakeBorder() +idaapi.MakeLine(contents, indent=-1) +idaapi.MakeNull() +idaapi.MakeSolidBorder() +idaapi.mark_cfunc_dirty(ea) +idaapi.may_create_stkvars() +idaapi.may_trace_sp() +idaapi.mem2base(py_mem, ea, fpos=-1) +idaapi.micro_err_format(code) +idaapi.move_bpt_to_grp(bpt, grp_name) +idaapi.move_segm(s, to, flags=0) +idaapi.move_segm_start(ea, newstart, mode) +idaapi.msg(o) +idaapi.nbits(ea) +idaapi.negated_relation(op) +idaapi.new_block() +idaapi.new_til(name, desc) +idaapi.next_head(ea, maxea) +idaapi.next_named_type(ti, name, ntf_flags) +idaapi.next_not_tail(ea) +idaapi.next_unknown(ea, maxea) +idaapi.nextaddr(ea) +idaapi.nextchunk(ea) +idaapi.nextthat(ea, maxea, callable) +idaapi.noExtra(ea) +idaapi.noImmd(ea) +idaapi.nomem(format) +idaapi.notify_when(when, py_callable) +idaapi.noType(ea, n) +idaapi.noUsed(ea) +idaapi.noUsed(sEA, eEA) +idaapi.numflag() +idaapi.octflag() +idaapi.offflag() +idaapi.op_adds_xrefs(F, n) +idaapi.op_bin(ea, n) +idaapi.op_chr(ea, n) +idaapi.op_custfmt(ea, n, fid) +idaapi.op_dec(ea, n) +idaapi.op_enum(ea, n, id, serial) +idaapi.op_flt(ea, n) +idaapi.op_hex(ea, n) +idaapi.op_num(ea, n) +idaapi.op_oct(ea, n) +idaapi.op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) +idaapi.op_offset_ex(ea, n, ri) +idaapi.op_seg(ea, n) +idaapi.op_stkvar(ea, n) +idaapi.op_stroff(ea, n, path, path_len, delta) +idaapi.op_t_assign(self, other) +idaapi.op_t_create() +idaapi.op_t_destroy(py_obj) +idaapi.op_t_get_addr(self) +idaapi.op_t_get_dtyp(self) +idaapi.op_t_get_flags(self) +idaapi.op_t_get_n(self) +idaapi.op_t_get_offb(self) +idaapi.op_t_get_offo(self) +idaapi.op_t_get_reg_phrase(self) +idaapi.op_t_get_specflag1(self) +idaapi.op_t_get_specflag2(self) +idaapi.op_t_get_specflag3(self) +idaapi.op_t_get_specflag4(self) +idaapi.op_t_get_specval(self) +idaapi.op_t_get_type(self) +idaapi.op_t_get_value(self) +idaapi.op_t_set_addr(self, value) +idaapi.op_t_set_dtyp(self, value) +idaapi.op_t_set_flags(self, value) +idaapi.op_t_set_n(self, value) +idaapi.op_t_set_offb(self, value) +idaapi.op_t_set_offo(self, value) +idaapi.op_t_set_reg_phrase(self, value) +idaapi.op_t_set_specflag1(self, value) +idaapi.op_t_set_specflag2(self, value) +idaapi.op_t_set_specflag3(self, value) +idaapi.op_t_set_specflag4(self, value) +idaapi.op_t_set_specval(self, value) +idaapi.op_t_set_type(self, value) +idaapi.op_t_set_value(self, value) +idaapi.op_uses_x(op) +idaapi.op_uses_y(op) +idaapi.op_uses_z(op) +idaapi.open_bpts_window(ea) +idaapi.open_calls_window(ea) +idaapi.open_disasm_window(window_title, ranges=None) +idaapi.open_enums_window(const_id=BADADDR) +idaapi.open_exports_window(ea) +idaapi.open_frame_window(pfn, offset) +idaapi.open_funcs_window(ea) +idaapi.open_hexdump_window(window_title) +idaapi.open_imports_window(ea) +idaapi.open_linput(file, remote) +idaapi.open_loctypes_window(ordinal) +idaapi.open_modules_window() +idaapi.open_names_window(ea) +idaapi.open_navband_window(ea, zoom) +idaapi.open_notepad_window() +idaapi.open_problems_window(ea) +idaapi.open_pseudocode(ea, new_window) +idaapi.open_segments_window(ea) +idaapi.open_segregs_window(ea) +idaapi.open_selectors_window() +idaapi.open_signatures_window() +idaapi.open_stack_window() +idaapi.open_strings_window(ea, selstart=BADADDR, selend=BADADDR) +idaapi.open_structs_window(id=BADADDR, offset=0) +idaapi.open_tform(form, options) +idaapi.open_threads_window() +idaapi.open_tils_window() +idaapi.open_trace_window() +idaapi.open_url(url) +idaapi.open_xrefs_window(ea) +idaapi.OpenForm(*args) +idaapi.openM(file) +idaapi.openR(file) +idaapi.openRT(file) +idaapi.optimize_argloc(vloc, size, gaps) +idaapi.optimize_varloc(vloc, size, gaps) +idaapi.out_addr_tag(ea) +idaapi.out_colored_register_line(str) +idaapi.out_keyword(str) +idaapi.out_line(str, color) +idaapi.out_long(v, radix) +idaapi.out_name_expr(py_op, ea, py_off) +idaapi.out_one_operand(n) +idaapi.out_register(str) +idaapi.out_symbol(c) +idaapi.out_tagoff(tag) +idaapi.out_tagon(tag) +idaapi.OutBadInstruction() +idaapi.OutChar(c) +idaapi.OutImmChar(x) +idaapi.OutLine(s) +idaapi.OutLong(Word, radix) +idaapi.OutMnem(width=8, postfix=None) +idaapi.OutValue(x, outflags=0) +idaapi.owrdflag() +idaapi.pack_idcobj_to_bv(obj, tif, bytes, objoff, pio_flags=0) +idaapi.pack_idcobj_to_idb(obj, tif, ea, pio_flags=0) +idaapi.pack_object_to_bv(py_obj, ti, py_type, py_fields, base_ea, pio_flags=0) +idaapi.pack_object_to_idb(py_obj, ti, py_type, py_fields, ea, pio_flags=0) +idaapi.packrealflag() +idaapi.parse_command_line3(cmdline) +idaapi.parse_dbgopts(ido, r_switch) +idaapi.parse_decl(til, decl, name, type, fields, flags) +idaapi.parse_decl2(til, decl, name, tif, flags) +idaapi.parse_decls(til, input, printer, hti_flags) +idaapi.parse_reg_name(regname, ri) +idaapi.parse_types2(input, printer, hti_flags) +idaapi.partial_type_num(type) +idaapi.patch_byte(ea, x) +idaapi.patch_long(ea, x) +idaapi.patch_many_bytes(ea, buf) +idaapi.patch_qword(ea, x) +idaapi.patch_word(ea, x) +idaapi.peek_auto_queue(low_ea, type) +idaapi.ph_get_cnbits() +idaapi.ph_get_dnbits() +idaapi.ph_get_flag() +idaapi.ph_get_high_fixup_bits() +idaapi.ph_get_icode_return() +idaapi.ph_get_id() +idaapi.ph_get_instruc() +idaapi.ph_get_instruc_end() +idaapi.ph_get_instruc_start() +idaapi.ph_get_operand_info(ea, n) +idaapi.ph_get_regCodeSreg() +idaapi.ph_get_regDataSreg() +idaapi.ph_get_regFirstSreg() +idaapi.ph_get_regLastSreg() +idaapi.ph_get_regnames() +idaapi.ph_get_segreg_size() +idaapi.ph_get_tbyte_size() +idaapi.ph_get_version() +idaapi.place_t_as_enumplace_t(p) +idaapi.place_t_as_idaplace_t(p) +idaapi.place_t_as_simpleline_place_t(p) +idaapi.place_t_as_structplace_t(p) +idaapi.plan_to_apply_idasgn(fname) +idaapi.plgform_close(py_link, options) +idaapi.plgform_new() +idaapi.plgform_show(py_link, py_obj, caption, options=FORM_TAB|FORM_MENU|FORM_RESTORE) +idaapi.prev_head(ea, minea) +idaapi.prev_not_tail(ea) +idaapi.prev_unknown(ea, minea) +idaapi.prevaddr(ea) +idaapi.prevchunk(ea) +idaapi.prevthat(ea, minea, callable) +idaapi.print_argloc(vloc, size=0, vflags=0) +idaapi.print_ascii_string_type(strtype) +idaapi.print_decls(printer, til, py_ordinals, flags) +idaapi.print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) +idaapi.print_type(ea, one_line) +idaapi.print_type_to_qstring(prefix, indent, cmtindent, flags, ti, pt, name=None, cmt=None, field_names=None, field_cmts=None) +idaapi.print_type2(ea, prtype_flags) +idaapi.print_type3(ea, prtype_flags) +idaapi.print_varloc(vloc, size=0, vflags=0) +idaapi.print_vdloc(loc, w) +idaapi.printf_line(indent, format) +idaapi.process_ui_action(name, flags=0) +idaapi.property_op_to_typename(self) +idaapi.put_byte(ea, x) +idaapi.put_dbg_byte(ea, x) +idaapi.put_long(ea, x) +idaapi.put_many_bytes(ea, buf) +idaapi.put_qword(ea, x) +idaapi.put_word(ea, x) +idaapi.py_get_AskUsingForm() +idaapi.py_get_call_idc_func() +idaapi.py_get_global_cmd_link() +idaapi.py_get_OpenForm() +idaapi.py_load_custom_icon_data(data, format) +idaapi.py_load_custom_icon_fn(filename) +idaapi.py_menu_item_callback(userdata) +idaapi.py_register_compiled_form(py_form) +idaapi.py_set_idc_func_ex(name, fp_ptr, args, flags) +idaapi.py_unregister_compiled_form(py_form) +idaapi.pycim_get_tcustom_control(self) +idaapi.pycim_get_tform(self) +idaapi.pyg_add_command(self, title, hotkey) +idaapi.pyg_close(self) +idaapi.pyg_select_node(self, nid) +idaapi.pyg_show(self) +idaapi.pygc_create_groups(self, groups_infos) +idaapi.pygc_del_nodes_infos(self, py_nodes) +idaapi.pygc_delete_groups(self, groups, new_current) +idaapi.pygc_get_current_renderer_type(self) +idaapi.pygc_get_node_info(self, py_node_idx) +idaapi.pygc_refresh(self) +idaapi.pygc_set_current_renderer_type(self, py_rt) +idaapi.pygc_set_groups_visibility(self, groups, expand, new_current) +idaapi.pygc_set_node_info(self, py_node_idx, py_node_info, py_flags) +idaapi.pygc_set_nodes_infos(self, values) +idaapi.pyidag_bind(self) +idaapi.pyidag_unbind(self) +idaapi.pyscv_add_line(py_this, py_sl) +idaapi.pyscv_add_popup_menu(py_this, title, hotkey) +idaapi.pyscv_clear_lines(py_this) +idaapi.pyscv_clear_popup_menu(py_this) +idaapi.pyscv_close(py_this) +idaapi.pyscv_count(py_this) +idaapi.pyscv_del_line(py_this, nline) +idaapi.pyscv_delete(py_this) +idaapi.pyscv_edit_line(py_this, nline, py_sl) +idaapi.pyscv_get_current_line(py_this, mouse, notags) +idaapi.pyscv_get_current_word(py_this, mouse) +idaapi.pyscv_get_line(py_this, nline) +idaapi.pyscv_get_pos(py_this, mouse) +idaapi.pyscv_get_selection(py_this) +idaapi.pyscv_get_tcustom_control(py_this) +idaapi.pyscv_get_tform(py_this) +idaapi.pyscv_init(py_link, title) +idaapi.pyscv_insert_line(py_this, nline, py_sl) +idaapi.pyscv_is_focused(py_this) +idaapi.pyscv_jumpto(py_this, ln, x, y) +idaapi.pyscv_patch_line(py_this, nline, offs, value) +idaapi.pyscv_refresh(py_this) +idaapi.pyscv_refresh_current(py_this) +idaapi.pyscv_show(py_this) +idaapi.pyw_register_idc_func(name, args, py_fp) +idaapi.pyw_unregister_idc_func(ctxptr) +idaapi.qatoll(nptr) +idaapi.qcontrol_tty() +idaapi.qdetach_tty() +idaapi.qexit(code) +idaapi.qfile_t_from_cobject(pycobject) +idaapi.qfile_t_from_fp(fp) +idaapi.qfile_t_tmpfile() +idaapi.qfsize(fp) +idaapi.qfsize64(fp) +idaapi.qlgetz(li, fpos) +idaapi.qlgetz64(li, fpos) +idaapi.qlseek64(li, pos, whence=SEEK_SET) +idaapi.qlsize64(li) +idaapi.qltell64(li) +idaapi.qsplitpath(path, dir, file) +idaapi.qstrvec_t_add(self, s) +idaapi.qstrvec_t_addressof(self, idx) +idaapi.qstrvec_t_assign(self, other) +idaapi.qstrvec_t_clear(self, qclear) +idaapi.qstrvec_t_create() +idaapi.qstrvec_t_destroy(py_obj) +idaapi.qstrvec_t_from_list(self, py_list) +idaapi.qstrvec_t_get(self, idx) +idaapi.qstrvec_t_get_clink(self) +idaapi.qstrvec_t_get_clink_ptr(self) +idaapi.qstrvec_t_insert(self, idx, s) +idaapi.qstrvec_t_remove(self, idx) +idaapi.qstrvec_t_set(self, idx, s) +idaapi.qstrvec_t_size(self) +idaapi.qswap(a, b) +idaapi.QueueDel(type, ea) +idaapi.QueueGetMessage(t, ea) +idaapi.QueueGetType(type, lowea) +idaapi.QueueIsPresent(t, ea) +idaapi.QueueMark(type, ea) +idaapi.QueueSet(*args) +idaapi.QueueSet(type, ea, $ignore=None) +idaapi.quote_cmdline_arg(arg) +idaapi.qvector_reserve(vec, old, cnt, elsize) +idaapi.qwait_timed(child, status, flags, timeout_ms) +idaapi.qwrdflag() +idaapi.read_dbg_memory(ea, buffer, size) +idaapi.read_regargs(pfn) +idaapi.read_selection() +idaapi.read_tinfo_bitfield_value(typid, v, bitoff) +idaapi.readbytes(h, res, size, mf) +idaapi.readsel2(v, p1, p2) +idaapi.reanalyze_callers(ea, noret) +idaapi.reanalyze_function(pfn, ea1=0, ea2=BADADDR, analyze_parents=False) +idaapi.rebase_program(delta, flags) +idaapi.rebuild_nlist() +idaapi.recalc_spd(cur_ea) +idaapi.refresh_chooser(title) +idaapi.refresh_debugger_memory() +idaapi.refresh_idaview() +idaapi.refresh_idaview_anyway() +idaapi.refresh_lists() +idaapi.refresh_navband(force) +idaapi.refresh_strlist(ea1, ea2) +idaapi.reg_data_type(name, subkey=None) +idaapi.reg_delete(name, subkey=None) +idaapi.reg_delete_subkey(name) +idaapi.reg_exists(name, subkey=None) +idaapi.reg_flush() +idaapi.reg_load() +idaapi.reg_read_binary(name, subkey=None) +idaapi.reg_read_bool(name, defval, subkey=None) +idaapi.reg_read_int(name, defval, subkey=None) +idaapi.reg_read_string(name, subkey=None, _def=None) +idaapi.reg_read_strlist(subkey, list) +idaapi.reg_subkey_exists(name) +idaapi.reg_subkey_subkeys(name) +idaapi.reg_subkey_values(name) +idaapi.reg_update_filestrlist(subkey, add, maxrecs, rem=None) +idaapi.reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) +idaapi.reg_write_binary(name, py_bytes, subkey=None) +idaapi.reg_write_bool(name, value, subkey=None) +idaapi.reg_write_int(name, value, subkey=None) +idaapi.reg_write_string(name, utf8, subkey=None) +idaapi.register_action(desc) +idaapi.register_addon(info) +idaapi.register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) +idaapi.register_custom_data_format(dtid, py_df) +idaapi.register_custom_data_type(py_dt) +idaapi.register_data_types_and_formats(formats) +idaapi.register_timer(interval, py_callback) +idaapi.reload_file(file, is_remote) +idaapi.reloc_value(value, size, delta, mf) +idaapi.relocate_relobj(_relobj, ea, mf) +idaapi.remove_command_interpreter(cli_idx) +idaapi.remove_extlang(el) +idaapi.remove_func_tail(pfn, tail_ea) +idaapi.remove_hexrays_callback(hx_cblist_callback) +idaapi.remove_pointer(tif) +idaapi.remove_tinfo_pointer(til, tif, pname) +idaapi.remove_type_pointer(til, ptype, pname) +idaapi.rename_bptgrp(old_name, new_name) +idaapi.rename_entry(ord, name) +idaapi.rename_named_type(ti, frm, to, ntf_flags) +idaapi.rename_regvar(pfn, v, user) +idaapi.reorder_dummy_names() +idaapi.repaint_custom_viewer(custom_viewer) +idaapi.replace_subtypes(type, type_pairs) +idaapi.replace_subtypes2(ti, type, mapper) +idaapi.replace_tabs(str, tabsize) +idaapi.replace_wait_box(format) +idaapi.request_add_bpt(bpt) -> bool +idaapi.request_add_bpt(ea, size, type) +idaapi.request_attach_process(pid, event_id) +idaapi.request_clear_trace() +idaapi.request_continue_process() +idaapi.request_del_bpt(bptloc) -> bool +idaapi.request_del_bpt(ea) +idaapi.request_detach_process() +idaapi.request_enable_bblk_trace(enable) +idaapi.request_enable_bpt(bptloc, enable) -> bool +idaapi.request_enable_bpt(ea, enable) +idaapi.request_enable_func_trace(enable) +idaapi.request_enable_insn_trace(enable) +idaapi.request_enable_step_trace(enable) +idaapi.request_exit_process() +idaapi.request_refresh(mask) +idaapi.request_resume_thread(tid) +idaapi.request_run_to(ea) +idaapi.request_select_thread(tid) +idaapi.request_set_bblk_trace_options(options) +idaapi.request_set_func_trace_options(options) +idaapi.request_set_insn_trace_options(options) +idaapi.request_set_reg_val(regname, regval) +idaapi.request_set_resume_mode(tid, mode) +idaapi.request_set_step_trace_options(options) +idaapi.request_start_process(path, args, sdir) +idaapi.request_step_into() +idaapi.request_step_over() +idaapi.request_step_until_ret() +idaapi.request_suspend_process() +idaapi.request_suspend_thread(tid) +idaapi.require(modulename, package=None) +idaapi.requires_color_esc(c) +idaapi.resolve_complex_type2(til, ptype, fields, type_name, bt, N) +idaapi.resolve_typedef2(ti, p, fields=None, namebuf=None) +idaapi.restore_user_cmts(func_ea) +idaapi.restore_user_iflags(func_ea) +idaapi.restore_user_labels(func_ea) +idaapi.restore_user_lvar_settings(func_ea, ulv) +idaapi.restore_user_numforms(func_ea) +idaapi.restore_user_unions(func_ea) +idaapi.resume_thread(tid) +idaapi.retrieve_exceptions() +idaapi.retrieve_input_file_crc32() +idaapi.retrieve_input_file_md5(hash) +idaapi.retrieve_member_info(mptr, buf) +idaapi.revert_ida_decisions(ea1, ea2) +idaapi.run_plugin(plg, arg) +idaapi.run_requests() +idaapi.run_statements(str, elang=None) +idaapi.run_to(ea) +idaapi.save_database(outfile, delete_unpacked) +idaapi.save_database_ex(outfile, flags, root=None, attr=None) +idaapi.save_struc(sptr) +idaapi.save_struc2(sptr, may_update_ltypes=True) +idaapi.save_tinfo(til, ord, name, ntf_flags, tif) +idaapi.save_trace_file(filename, description) +idaapi.save_user_cmts(func_ea, user_cmts) +idaapi.save_user_iflags(func_ea, iflags) +idaapi.save_user_labels(func_ea, user_labels) +idaapi.save_user_lvar_settings(func_ea, ulv) +idaapi.save_user_numforms(func_ea, numforms) +idaapi.save_user_unions(func_ea, unions) +idaapi.score_tinfo(tif) +idaapi.scr2idb(name) +idaapi.search_down(sflag) +idaapi.See ua.hpp's construct_macro(). +idaapi.segflag() +idaapi.segm_adjust_diff(s, delta) +idaapi.segm_adjust_ea(s, ea) +idaapi.segtype(ea) +idaapi.sel_array_frompointer(t) +idaapi.sel_pointer_frompointer(t) +idaapi.sel2ea(selector) +idaapi.select_extlang(el) +idaapi.select_thread(tid) +idaapi.send_database(err, silent) +idaapi.serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) +idaapi.set__bnot0(ea) +idaapi.set__bnot1(ea) +idaapi.set__invsign0(ea) +idaapi.set__invsign1(ea) +idaapi.set_abits(ea, bits) +idaapi.set_absbase(ea, x) +idaapi.set_aflags(ea, flags) +idaapi.set_align_flow(ea) +idaapi.set_alignment(ea, x) +idaapi.set_array_parameters(ea, oi) +idaapi.set_asm_inc_file(file) +idaapi.set_auto_plugins(list, listsize=0) +idaapi.set_bblk_trace_options(options) +idaapi.set_bmask_cmt(id, bmask, cmt, repeatable) +idaapi.set_bmask_name(id, bmask, name) +idaapi.set_bpt_group(bpt, grp_name) +idaapi.set_bptloc_group(bptloc, grp_name) +idaapi.set_bptloc_string(s) +idaapi.set_c_header_path(incdir) +idaapi.set_c_macros(macros) +idaapi.set_cmt(ea, comm, rptble) +idaapi.set_code_viewer_handler(code_viewer, handler_id, handler_or_data) +idaapi.set_code_viewer_is_source(code_viewer) +idaapi.set_code_viewer_line_handlers(code_viewer, click_handler, popup_handler, dblclick_handler, drawicon_handler, linenum_handler) +idaapi.set_code_viewer_lines_alignment(code_viewer, align) +idaapi.set_code_viewer_lines_icon_margin(code_viewer, margin) +idaapi.set_code_viewer_lines_radix(code_viewer, radix) +idaapi.set_code_viewer_user_data(code_viewer, ud) +idaapi.set_colored_item(ea) +idaapi.set_compiler(cc, flags) +idaapi.set_compiler_id(id) +idaapi.set_complex_n(pt, val, is_empty_udt) +idaapi.set_const_cmt(id, cmt, repeatable) +idaapi.set_const_name(id, name) +idaapi.set_custom_data_type_ids(ea, cdis) +idaapi.set_custom_viewer_qt_aware(custom_viewer) +idaapi.set_dbg_default_options(keyword, value_type, value) +idaapi.set_dbg_options(_dbg, keyword, pri, value_type, value) +idaapi.set_dbg_options(keyword, pri, value_type, value) -> char const * +idaapi.set_debug_name(ea, name) +idaapi.set_debugger_event_cond(cond) +idaapi.set_debugger_options(options) +idaapi.set_default_dataseg(ds_sel) +idaapi.set_default_encoding_idx(strtype, idx) +idaapi.set_default_segreg_value(sg, rg, value) +idaapi.set_defsr(s, reg, value) +idaapi.set_dock_pos(src_ctrl, dest_ctrl, orient, left=0, top=0, right=0, bottom=0) +idaapi.set_dummy_name(frm, ea) +idaapi.set_enum_bf(id, bf) +idaapi.set_enum_cmt(id, cmt, repeatable) +idaapi.set_enum_fromtil(id, fromtil) +idaapi.set_enum_ghost(id, ghost) +idaapi.set_enum_hidden(id, hidden) +idaapi.set_enum_idx(id, idx) +idaapi.set_enum_member_cmt(id, cmt, repeatable) +idaapi.set_enum_member_name(id, name) +idaapi.set_enum_name(id, name) +idaapi.set_enum_type_ordinal(id, ord) +idaapi.set_enum_width(id, width) +idaapi.set_fixed_spd(ea) +idaapi.set_fixup(source, fp) +idaapi.set_fixup_ex(source, fd, offset_base) +idaapi.set_forced_operand(ea, n, op) +idaapi.set_frame_size(pfn, frsize, frregs, argsize) +idaapi.set_func_cmt(fn, cmt, repeatable) +idaapi.set_func_name_if_jumpfunc(fn, oldname) +idaapi.set_func_trace_options(options) +idaapi.set_group_selector(grp, sel) +idaapi.set_has_lname(ea) +idaapi.set_has_ti(ea) +idaapi.set_has_ti0(ea) +idaapi.set_has_ti1(ea) +idaapi.set_header_path(path, add) +idaapi.set_highlight_trace_options(hilight, color, diff) +idaapi.set_idc_func_ex(name, fp=None, args=(), flags=0) +idaapi.set_ids_modnode(id) +idaapi.set_imagebase(base) +idaapi.set_insn_trace_options(options) +idaapi.set_int_dbg_options(keyword, value) +idaapi.set_item_color(ea, color) +idaapi.set_jumptable_info(ea, oi) +idaapi.set_libitem(ea) +idaapi.set_lzero(ea, n) +idaapi.set_lzero0(ea) +idaapi.set_lzero1(ea) +idaapi.set_manual_insn(ea, manual_insn) +idaapi.set_member_cmt(mptr, cmt, repeatable) +idaapi.set_member_name(sptr, offset, name) +idaapi.set_member_ti(sptr, mptr, type, flags) +idaapi.set_member_tinfo(til, sptr, mptr, memoff, type, fields, flags) +idaapi.set_member_tinfo2(sptr, mptr, memoff, tif, flags) +idaapi.set_member_type(sptr, offset, flag, mt, nbytes) +idaapi.set_menu_item_icon(item_name, icon_id) +idaapi.set_name(ea, name) -> bool +idaapi.set_name(ea, name, flag) +idaapi.set_named_type64(ti, name, ntf_flags, ptr, fields=None, cmt=None, fieldcmts=None, sclass=None, value=None) +idaapi.set_nav_colorizer(new_py_colorizer) +idaapi.set_node_info(ea, node, pcolor, pea2, text) +idaapi.set_node_info2(gid, node, ni, flags) +idaapi.set_noret(ea) +idaapi.set_noret_insn(insn_ea, noret) +idaapi.set_notcode(ea) +idaapi.set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) +idaapi.set_offset(ea, n, base) +idaapi.set_op_tinfo2(ea, n, tif) +idaapi.set_op_type(ea, type, n) +idaapi.set_opinfo(ea, n, flag, ti) +idaapi.set_process_options(path, args, sdir, host, _pass, port) +idaapi.set_process_state(newstate, p_thid, dbginv) +idaapi.set_processor_type(procname, level) +idaapi.set_purged(ea, nbytes, override_old_value) +idaapi.set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) +idaapi.set_refinfo_ex(ea, n, ri) +idaapi.set_reg_val(regname, regval) +idaapi.set_reg_val(tid, regidx, value) -> int +idaapi.set_regvar_cmt(pfn, v, cmt) +idaapi.set_remote_debugger(host, _pass, port=-1) +idaapi.set_resume_mode(tid, mode) +idaapi.set_retfp(ea) +idaapi.set_root_filename(file) +idaapi.set_scattered_varloc(ptr) +idaapi.set_script_timeout(timeout) +idaapi.set_segm_addressing(s, bitness) +idaapi.set_segm_base(s, newbase) +idaapi.set_segm_class(s, sclass) +idaapi.set_segm_end(ea, newend, flags) +idaapi.set_segm_name(s, format) +idaapi.set_segm_start(ea, newstart, flags) +idaapi.set_segment_cmt(s, cmt, repeatable) +idaapi.set_segment_translations(segstart, transmap) +idaapi.set_selector(selector, paragraph) +idaapi.set_source_linnum(ea, lnnum) +idaapi.set_spoils(pt, reg, size) +idaapi.set_sreg_at_next_code(ea1, ea2, rg, value) +idaapi.set_step_trace_options(options) +idaapi.set_strlist_options(options) +idaapi.set_stroff_path(ea, n, path, plen, delta) +idaapi.set_struc_align(sptr, shift) +idaapi.set_struc_cmt(id, cmt, repeatable) +idaapi.set_struc_hidden(sptr, is_hidden) +idaapi.set_struc_idx(sptr, idx) +idaapi.set_struc_listed(sptr, is_listed) +idaapi.set_struc_name(id, name) +idaapi.set_switch_info_ex(ea, py_swi) +idaapi.set_switch_parent(ea, x) +idaapi.set_tail_owner(fnt, func_start) +idaapi.set_target_assembler(asmnum) +idaapi.set_terse_struc(ea) +idaapi.set_tilcmt(ea) +idaapi.set_tinfo(ea, ti, fnames) +idaapi.set_tinfo_attr(tif, ta, may_overwrite) +idaapi.set_tinfo_attrs(tif, ta) +idaapi.set_tinfo_property(tif, sta_prop, x) +idaapi.set_tinfo2(ea, tif) +idaapi.set_trace_base_address(ea) +idaapi.set_trace_file_desc(filename, description) +idaapi.set_trace_platform(platform) +idaapi.set_trace_size(size) +idaapi.set_type(id, tif, source, force=False) +idaapi.set_type_alias(ti, src_ordinal, dst_ordinal) +idaapi.set_typeinfo(ea, n, flag, ti) +idaapi.set_usemodsp(ea) +idaapi.set_user_defined_prefix(width, pycb) +idaapi.set_usersp(ea) +idaapi.set_userti(ea) +idaapi.set_view_renderer_type(v, rt) +idaapi.set_visible_func(pfn, visible) +idaapi.set_visible_item(ea, visible) +idaapi.set_visible_segm(s, visible) +idaapi.set_zstroff(ea) +idaapi.setBreak() +idaapi.SetDefaultRegisterValue(sg, rg, value) +idaapi.setFlags(ea, flags) +idaapi.setStat(st) +idaapi.setup_selector(segbase) +idaapi.should_create_stkvars() +idaapi.should_trace_sp() +idaapi.show_name(ea) +idaapi.show_wait_box(format) +idaapi.showAddr(ea) +idaapi.showAllComments() +idaapi.showAuto(ea, type=AU_NONE) +idaapi.showComments() +idaapi.showRepeatables() +idaapi.signed_data_flag() +idaapi.sizeof_ldbl() +idaapi.skip_spoiled_info(ptr) +idaapi.skip_varloc(ptype, is_retval=False) +idaapi.split_old_argloc(al, r1, r2) +idaapi.split_srarea(ea, rg, v, tag, silent=False) +idaapi.splitSRarea1(ea, rg, v, tag, silent=False) +idaapi.start_process(path, args, sdir) +idaapi.std_gen_func_header(pfn) +idaapi.std_gen_segm_footer(ea) +idaapi.step_into() +idaapi.step_over() +idaapi.step_until_ret() +idaapi.stkvarflag() +idaapi.store_exceptions() +idaapi.store_til(ti, tildir, name) +idaapi.str2ea(str, screenEA=BADADDR) +idaapi.str2reg(p) +idaapi.str2regf(p) +idaapi.str2user(str) +idaapi.strarray(array, array_size, code) +idaapi.strlwr(s) +idaapi.stroff_as_size(plen, sptr, value) +idaapi.stroffflag() +idaapi.struct_unpack(buffer, signed=False, offs=0) +idaapi.struflag() +idaapi.strupr(s) +idaapi.suspend_process() +idaapi.suspend_thread(tid) +idaapi.sval_pointer_frompointer(t) +idaapi.switch_info_ex_t_assign(self, other) +idaapi.switch_info_ex_t_create() +idaapi.switch_info_ex_t_destroy(py_obj) +idaapi.switch_info_ex_t_get_custom(self) +idaapi.switch_info_ex_t_get_defjump(self) +idaapi.switch_info_ex_t_get_elbase(self) +idaapi.switch_info_ex_t_get_flags(self) +idaapi.switch_info_ex_t_get_flags2(self) +idaapi.switch_info_ex_t_get_ind_lowcase(self) +idaapi.switch_info_ex_t_get_jcases(self) +idaapi.switch_info_ex_t_get_jumps(self) +idaapi.switch_info_ex_t_get_ncases(self) +idaapi.switch_info_ex_t_get_regdtyp(self) +idaapi.switch_info_ex_t_get_regnum(self) +idaapi.switch_info_ex_t_get_startea(self) +idaapi.switch_info_ex_t_get_values_lowcase(self) +idaapi.switch_info_ex_t_set_custom(self, value) +idaapi.switch_info_ex_t_set_defjump(self, value) +idaapi.switch_info_ex_t_set_elbase(self, value) +idaapi.switch_info_ex_t_set_flags(self, value) +idaapi.switch_info_ex_t_set_flags2(self, value) +idaapi.switch_info_ex_t_set_ind_lowcase(self, value) +idaapi.switch_info_ex_t_set_jcases(self, value) +idaapi.switch_info_ex_t_set_jumps(self, value) +idaapi.switch_info_ex_t_set_ncases(self, value) +idaapi.switch_info_ex_t_set_regdtyp(self, value) +idaapi.switch_info_ex_t_set_regnum(self, value) +idaapi.switch_info_ex_t_set_startea(self, value) +idaapi.switch_info_ex_t_set_values_lowcase(self, value) +idaapi.switchto_tform(form, take_focus) +idaapi.tag_addr(ea) +idaapi.tag_advance(line, cnt) +idaapi.tag_remove(instr) +idaapi.tag_skipcode(line) +idaapi.tag_skipcodes(line) +idaapi.tag_strlen(line) +idaapi.take_memory_snapshot(only_loader_segs) +idaapi.tbytflag() +idaapi.term_hexrays_plugin() +idaapi.term_output_buffer() +idaapi.textctrl_info_t_assign(self, other) +idaapi.textctrl_info_t_create() +idaapi.textctrl_info_t_destroy(py_obj) +idaapi.textctrl_info_t_get_clink(self) +idaapi.textctrl_info_t_get_clink_ptr(self) +idaapi.textctrl_info_t_get_flags(self, flags) +idaapi.textctrl_info_t_get_tabsize(self, tabsize) +idaapi.textctrl_info_t_get_text(self) +idaapi.textctrl_info_t_set_flags(self, flags) +idaapi.textctrl_info_t_set_tabsize(self, tabsize) +idaapi.textctrl_info_t_set_text(self, s) +idaapi.tid_array_frompointer(t) +idaapi.til2idb(idx, name) +idaapi.tinfo_t_get_stock(id) +idaapi.toEA(reg_cs, reg_ip) +idaapi.toggle_bnot(ea, n) +idaapi.toggle_lzero(ea, n) +idaapi.toggle_sign(ea, n) +idaapi.tribyteflag() +idaapi.try_to_add_libfunc(ea) +idaapi.typeflag(ea, oldflag, type, n) +idaapi.ua_add_cref(opoff, to, type) +idaapi.ua_add_dref(opoff, to, type) +idaapi.ua_add_off_drefs(py_op, type) +idaapi.ua_add_off_drefs2(py_op, type, outf) +idaapi.ua_ana0(ea) +idaapi.ua_code(ea) +idaapi.ua_dodata(ea, dtype) +idaapi.ua_dodata2(opoff, ea, dtype) +idaapi.ua_mnem(ea) +idaapi.ua_next_byte() +idaapi.ua_next_long() +idaapi.ua_next_qword() +idaapi.ua_next_word() +idaapi.ua_outop(ea, n) +idaapi.ua_outop2(ea, n, flags=0) +idaapi.ua_stkvar2(x, v, flags) +idaapi.uchar_array_frompointer(t) +idaapi.ui_load_new_file(filename, li, neflags) +idaapi.ui_run_debugger(*args) +idaapi.ui_run_debugger(dbgopts, $ignore, argc, argv) -> bool +idaapi.umsg(o) +idaapi.unhide_border(ea) +idaapi.unhide_item(ea) +idaapi.unmark_selection() +idaapi.unpack_idcobj_from_bv(obj, tif, bytes, pio_flags=0) +idaapi.unpack_idcobj_from_idb(obj, tif, ea, off0, pio_flags=0) +idaapi.unpack_object_from_bv(ti, py_type, py_fields, py_bytes, pio_flags=0) +idaapi.unpack_object_from_idb(ti, py_type, py_fields, ea, pio_flags=0) +idaapi.unregister_action(name) +idaapi.unregister_custom_data_format(dtid, dfid) +idaapi.unregister_custom_data_type(dtid) +idaapi.unregister_data_types_and_formats(formats) +idaapi.unregister_timer(py_timerctx) +idaapi.update_action_checkable(name, checkable) +idaapi.update_action_checked(name, checked) +idaapi.update_action_icon(name, icon) +idaapi.update_action_label(name, label) +idaapi.update_action_shortcut(name, shortcut) +idaapi.update_action_state(name, state) +idaapi.update_action_tooltip(name, tooltip) +idaapi.update_action_visibility(name, visible) +idaapi.update_bpt(bpt) +idaapi.update_extra_cmt(ea, what, str) +idaapi.update_fpd(pfn, fpd) +idaapi.update_func(fn) +idaapi.update_hidden_area(ha) +idaapi.update_segm(s) +idaapi.user_cmts_begin(map) +idaapi.user_cmts_clear(map) +idaapi.user_cmts_end(map) +idaapi.user_cmts_erase(map, p) +idaapi.user_cmts_find(map, key) +idaapi.user_cmts_first(p) +idaapi.user_cmts_free(map) +idaapi.user_cmts_insert(map, key, val) +idaapi.user_cmts_next(p) +idaapi.user_cmts_prev(p) +idaapi.user_cmts_second(p) +idaapi.user_cmts_size(map) +idaapi.user_iflags_begin(map) +idaapi.user_iflags_clear(map) +idaapi.user_iflags_end(map) +idaapi.user_iflags_erase(map, p) +idaapi.user_iflags_find(map, key) +idaapi.user_iflags_first(p) +idaapi.user_iflags_free(map) +idaapi.user_iflags_insert(map, key, val) +idaapi.user_iflags_next(p) +idaapi.user_iflags_prev(p) +idaapi.user_iflags_second(p) +idaapi.user_iflags_size(map) +idaapi.user_labels_begin(map) +idaapi.user_labels_clear(map) +idaapi.user_labels_end(map) +idaapi.user_labels_erase(map, p) +idaapi.user_labels_find(map, key) +idaapi.user_labels_first(p) +idaapi.user_labels_free(map) +idaapi.user_labels_insert(map, key, val) +idaapi.user_labels_next(p) +idaapi.user_labels_prev(p) +idaapi.user_labels_second(p) +idaapi.user_labels_size(map) +idaapi.user_numforms_begin(map) +idaapi.user_numforms_clear(map) +idaapi.user_numforms_end(map) +idaapi.user_numforms_erase(map, p) +idaapi.user_numforms_find(map, key) +idaapi.user_numforms_first(p) +idaapi.user_numforms_free(map) +idaapi.user_numforms_insert(map, key, val) +idaapi.user_numforms_next(p) +idaapi.user_numforms_prev(p) +idaapi.user_numforms_second(p) +idaapi.user_numforms_size(map) +idaapi.user_unions_begin(map) +idaapi.user_unions_clear(map) +idaapi.user_unions_end(map) +idaapi.user_unions_erase(map, p) +idaapi.user_unions_find(map, key) +idaapi.user_unions_first(p) +idaapi.user_unions_free(map) +idaapi.user_unions_insert(map, key, val) +idaapi.user_unions_next(p) +idaapi.user_unions_prev(p) +idaapi.user_unions_second(p) +idaapi.user_unions_size(map) +idaapi.uses_modsp(ea) +idaapi.uval_array_frompointer(t) +idaapi.validate_idb_names() +idaapi.validate_name(name) +idaapi.validate_name2(name, bufsize) +idaapi.validate_name3(name) +idaapi.VarAssign(dst, src) +idaapi.VarCopy(dst, src) +idaapi.VarDelAttr(obj, attr) +idaapi.VarDeref(v, vref_flags) +idaapi.VarFirstAttr(obj) +idaapi.VarGetAttr(obj, attr, res, may_use_getattr=False) +idaapi.VarGetClassName(obj, name) +idaapi.VarGetSlice(v, i1, i2, res, flags=0) +idaapi.VarInt64(v) +idaapi.VarLastAttr(obj) +idaapi.VarMove(dst, src) +idaapi.VarNextAttr(obj, attr) +idaapi.VarObject(v, icls=None) +idaapi.VarPrevAttr(obj, attr) +idaapi.VarPrint(v, name=None, indent=0) +idaapi.VarRef(ref, v) +idaapi.VarSetAttr(obj, attr, value, may_use_setattr=False) +idaapi.VarSetSlice(v, i1, i2, _in, flags=0) +idaapi.VarString2(v) +idaapi.VarSwap(v1, v2) +idaapi.vaskqstr(str, format, va) +idaapi.vcall_helper(rettype, args, format, va) +idaapi.vcreate_helper(standalone, type, format, va) +idaapi.verify_argloc(vloc, size, gaps) +idaapi.verify_tinfo(typid) +idaapi.verify_varloc(vloc, size, gaps) +idaapi.vinterr(file, line, format, va) +idaapi.visit_patched_bytes(ea1, ea2, py_callable) +idaapi.visit_stroff_fields(sfv, path, plen, disp, appzero) +idaapi.visit_subtypes(visitor, out, tif, name, cmt) +idaapi.vumsg(format, va) +idaapi.wait_for_next_event(wfne, timeout_in_secs) +idaapi.warning(format) +idaapi.was_ida_decision(ea) +idaapi.wasBreak() +idaapi.wordflag() +idaapi.write_dbg_memory(ea, buffer, size) +idaapi.write_tinfo_bitfield_value(typid, dst, v, bitoff) +idaapi.writebytes(h, l, size, mf) +idaapi.xrefchar(xrtype) +idaapi.ywrdflag() \ No newline at end of file diff --git a/7.2/plugins/Code editor/idc.api b/7.2/plugins/Code editor/idc.api new file mode 100644 index 0000000..5a9996f --- /dev/null +++ b/7.2/plugins/Code editor/idc.api @@ -0,0 +1,626 @@ +idc.add_dref(From, To, drefType) +idc.AddAutoStkPnt2(func_ea, ea, delta) +idc.AddBpt(ea) +idc.AddBptEx(ea, size, bpttype) +idc.AddCodeXref(From, To, flowtype) +idc.AddConst(enum_id, name, value) +idc.AddConstEx(enum_id, name, value, bmask) +idc.AddEntryPoint(ordinal, ea, name, makecode) +idc.AddEnum(idx, name, flag) +idc.AddHotkey(hotkey, idcfunc) +idc.AddSeg(startea, endea, base, use32, align, comb) +idc.AddSegEx(startea, endea, base, use32, align, comb, flags) +idc.AddSourceFile(ea1, ea2, filename) +idc.AddStruc(index, name) +idc.AddStrucEx(index, name, is_union) +idc.AddStrucMember(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2) +idc.AddUnion(index, name) +idc.AddUserStkPnt(ea, delta) +idc.AltOp(ea, n) +idc.AnalyseArea(sEA, eEA) +idc.Analysis(x) +idc.AnalyzeArea(sEA, eEA) +idc.AppendFchunk(funcea, ea1, ea2) +idc.ApplySig(name) +idc.ApplyType(ea, py_type, flags=1) +idc.ArmForceBLCall(ea) +idc.ArmForceBLJump(ea) +idc.AskAddr(defval, prompt) +idc.AskFile(forsave, mask, prompt) +idc.AskIdent(defval, prompt) +idc.AskLong(defval, prompt) +idc.AskSeg(defval, prompt) +idc.AskSelector(sel) +idc.AskStr(defval, prompt) +idc.AskYN(defval, prompt) +idc.atoa(ea) +idc.atol(s) +idc.AttachProcess(pid, event_id) +idc.AutoMark(ea, qtype) +idc.AutoMark2(start, end, queuetype) +idc.AutoShow(x) +idc.AutoUnmark(start, end, queuetype) +idc.Batch(batch) +idc.Begin type updating. +idc.BeginEA() +idc.BeginTypeUpdating(utp) +idc.Byte(ea) +idc.byteValue(F) +idc.CanExceptionContinue() +idc.ChangeConfig(directive) +idc.CheckBpt(ea) +idc.CheckTraceFile(filename) +idc.ChooseFunction(title) +idc.ClearTraceFile(filename) +idc.CmtIndent(x) +idc.Comment(ea) +idc.CommentEx(ea, repeatable) +idc.Compile(file) +idc.CompileEx(input, isfile) +idc.CreateArray(name) +idc.DbgByte(ea) +idc.DbgDword(ea) +idc.DbgQword(ea) +idc.DbgRead(ea, size) +idc.DbgWord(ea) +idc.DbgWrite(ea, data) +idc.DefineException(code, name, desc, flags) +idc.del_dref(From, To) +idc.DelArrayElement(tag, array_id, idx) +idc.DelBpt(ea) +idc.DelCodeXref(From, To, undef) +idc.DelConst(constid, v, mask) +idc.DelConstEx(enum_id, value, serial, bmask) +idc.DelEnum(enum_id) +idc.DeleteAll() +idc.DeleteArray(array_id) +idc.DelExtLnA(ea, n) +idc.DelExtLnB(ea, n) +idc.DelFixup(ea) +idc.DelFunction(ea) +idc.DelHashElement(hash_id, key) +idc.DelHiddenArea(ea) +idc.DelHotkey(hotkey) +idc.DelLineNumber(ea) +idc.DelSeg(ea, flags) +idc.DelSelector(sel) +idc.DelSourceFile(ea) +idc.DelStkPnt(func_ea, ea) +idc.DelStruc(sid) +idc.DelStrucMember(sid, member_offset) +idc.Demangle(name, disable_mask) +idc.DetachProcess() +idc.Dfirst(From) +idc.DfirstB(To) +idc.DiffTraceFile(filename) +idc.Dnext(From, current) +idc.DnextB(To, current) +idc.Dword(ea) +idc.EnableBpt(ea, enable) +idc.EnableTracing(trace_level, enable) +idc.End type updating. +idc.EndTypeUpdating(utp) +idc.Eval(expr) +idc.EVAL_FAILURE(code) +idc.Exec(command) +idc.Exit(code) +idc.ExpandStruc(sid, offset, delta, recalc) +idc.ExtLinA(ea, n, line) +idc.ExtLinB(ea, n, line) +idc.Fatal(format) +idc.fclose(handle) +idc.fgetc(handle) +idc.filelength(handle) +idc.FindBinary(ea, flag, searchstr, radix=16) +idc.FindCode(ea, flag) +idc.FindData(ea, flag) +idc.FindExplored(ea, flag) +idc.FindFuncEnd(ea) +idc.FindImmediate(ea, flag, value) +idc.FindSelector(val) +idc.FindText(ea, flag, y, x, searchstr) +idc.FindUnexplored(ea, flag) +idc.FindVoid(ea, flag) +idc.FirstFuncFchunk(funcea) +idc.FirstSeg() +idc.fopen(f, mode) +idc.ForgetException(code) +idc.form(format, *args) +idc.fprintf(handle, format, *args) +idc.fputc(byte, handle) +idc.fseek(handle, offset, origin) +idc.ftell(handle) +idc.GenCallGdl(outfile, title, flags) +idc.GenerateFile(filetype, path, ea1, ea2, flags) +idc.GenFuncGdl(outfile, title, ea1, ea2, flags) +idc.Get type of function/variable +idc.GetArrayElement(tag, array_id, idx) +idc.GetArrayId(name) +idc.GetBmaskCmt(enum_id, bmask, repeatable) +idc.GetBmaskName(enum_id, bmask) +idc.GetBptAttr(ea, bptattr) +idc.GetBptEA(n) +idc.GetBptQty() +idc.GetBptTevEa(tev) +idc.GetCharPrm(offset) +idc.GetColor(ea, what) +idc.GetCommentEx(ea, repeatable) +idc.GetConst(constid, v, mask) +idc.GetConstBmask(const_id) +idc.GetConstByName(name) +idc.GetConstCmt(const_id, repeatable) +idc.GetConstEnum(const_id) +idc.GetConstEx(enum_id, value, serial, bmask) +idc.GetConstName(const_id) +idc.GetConstValue(const_id) +idc.GetCurrentLine() +idc.GetCurrentThreadId() +idc.GetDebuggerEvent(wfne, timeout) +idc.GetDebuggerEventCondition() +idc.GetDisasm(ea) +idc.GetDisasmEx(ea, flags) +idc.GetDouble(ea) +idc.GetEntryName(ordinal) +idc.GetEntryOrdinal(index) +idc.GetEntryPoint(ordinal) +idc.GetEntryPointQty() +idc.GetEnum(name) +idc.GetEnumCmt(enum_id, repeatable) +idc.GetEnumFlag(enum_id) +idc.GetEnumIdx(enum_id) +idc.GetEnumName(enum_id) +idc.GetEnumQty() +idc.GetEnumSize(enum_id) +idc.GetEnumWidth(enum_id) +idc.GetEventBptHardwareEa() +idc.GetEventEa() +idc.GetEventExceptionCode() +idc.GetEventExceptionEa() +idc.GetEventExceptionInfo() +idc.GetEventExitCode() +idc.GetEventId() +idc.GetEventInfo() +idc.GetEventModuleBase() +idc.GetEventModuleName() +idc.GetEventModuleSize() +idc.GetEventPid() +idc.GetEventTid() +idc.GetExceptionCode(idx) +idc.GetExceptionFlags(code) +idc.GetExceptionName(code) +idc.GetExceptionQty() +idc.GetFchunkAttr(ea, attr) +idc.GetFchunkReferer(ea, idx) +idc.GetFirstBmask(enum_id) +idc.GetFirstConst(enum_id, bmask) +idc.GetFirstHashKey(hash_id) +idc.GetFirstIndex(tag, array_id) +idc.GetFirstMember(sid) +idc.GetFirstModule() +idc.GetFirstStrucIdx() +idc.GetFixupTgtDispl(ea) +idc.GetFixupTgtOff(ea) +idc.GetFixupTgtSel(ea) +idc.GetFixupTgtType(ea) +idc.GetFlags(ea) +idc.GetFloat(ea) +idc.GetFrame(ea) +idc.GetFrameArgsSize(ea) +idc.GetFrameLvarSize(ea) +idc.GetFrameRegsSize(ea) +idc.GetFrameSize(ea) +idc.GetFuncOffset(ea) +idc.GetFunctionAttr(ea, attr) +idc.GetFunctionCmt(ea, repeatable) +idc.GetFunctionFlags(ea) +idc.GetFunctionName(ea) +idc.GetHashLong(hash_id, key) +idc.GetHashString(hash_id, key) +idc.GetIdaDirectory() +idc.GetIdbPath() +idc.GetInputFile() +idc.GetInputFilePath() +idc.GetInputMD5() +idc.GetLastBmask(enum_id) +idc.GetLastConst(enum_id, bmask) +idc.GetLastHashKey(hash_id) +idc.GetLastIndex(tag, array_id) +idc.GetLastMember(sid) +idc.GetLastStrucIdx() +idc.GetLineNumber(ea) +idc.GetLocalTinfo(ordinal) +idc.GetLocalType(ordinal, flags) +idc.GetLocalTypeName(ordinal) +idc.GetLongPrm(offset) +idc.GetManualInsn(ea) +idc.GetManyBytes(ea, size, use_dbg=False) +idc.GetMarkComment(slot) +idc.GetMarkedPos(slot) +idc.GetMaxLocalType() +idc.GetMaxTev() +idc.GetMemberComment(sid, member_offset, repeatable) +idc.GetMemberFlag(sid, member_offset) +idc.GetMemberId(sid, member_offset) +idc.GetMemberName(sid, member_offset) +idc.GetMemberOffset(sid, member_name) +idc.GetMemberQty(sid) +idc.GetMemberSize(sid, member_offset) +idc.GetMemberStrId(sid, member_offset) +idc.GetMinSpd(func_ea) +idc.GetMnem(ea) +idc.GetModuleName(base) +idc.GetModuleSize(base) +idc.GetnEnum(idx) +idc.GetNextBmask(enum_id, value) +idc.GetNextConst(enum_id, value, bmask) +idc.GetNextFixupEA(ea) +idc.GetNextHashKey(hash_id, key) +idc.GetNextIndex(tag, array_id, idx) +idc.GetNextModule(base) +idc.GetNextStrucIdx(index) +idc.GetOperandValue(ea, n) +idc.GetOpnd(ea, n) +idc.GetOpType(ea, n) +idc.GetOriginalByte(ea) +idc.GetPrevBmask(enum_id, value) +idc.GetPrevConst(enum_id, value, bmask) +idc.GetPrevFixupEA(ea) +idc.GetPrevHashKey(hash_id, key) +idc.GetPrevIndex(tag, array_id, idx) +idc.GetPrevStrucIdx(index) +idc.GetProcessName(idx) +idc.GetProcessPid(idx) +idc.GetProcessQty() +idc.GetProcessState() +idc.GetReg(ea, reg) +idc.GetRegValue(name) +idc.GetSegmentAttr(segea, attr) +idc.GetShortPrm(offset) +idc.GetSourceFile(ea) +idc.GetSpd(ea) +idc.GetSpDiff(ea) +idc.GetStepTraceOptions() +idc.GetString(ea, length=-1, strtype=0) +idc.GetStringType(ea) +idc.GetStrucComment(sid, repeatable) +idc.GetStrucId(index) +idc.GetStrucIdByName(name) +idc.GetStrucIdx(sid) +idc.GetStrucName(sid) +idc.GetStrucNextOff(sid, offset) +idc.GetStrucPrevOff(sid, offset) +idc.GetStrucQty() +idc.GetStrucSize(sid) +idc.GetTevCallee(tev) +idc.GetTevEa(tev) +idc.GetTevRegMem(tev, idx) +idc.GetTevRegMemEa(tev, idx) +idc.GetTevRegMemQty(tev) +idc.GetTevRegVal(tev, reg) +idc.GetTevReturn(tev) +idc.GetTevTid(tev) +idc.GetTevType(tev) +idc.GetThreadId(idx) +idc.GetThreadQty() +idc.GetTinfo(ea) +idc.GetTraceDesc(filename) +idc.GetTrueName(ea) +idc.GetTrueNameEx(fromaddr, ea) +idc.GetType(ea) +idc.GetXML(path) +idc.GuessType(ea) +idc.hasName(F) +idc.hasUserName(F) +idc.hasValue(F) +idc.here() +idc.HideArea(start, end, description, header, footer, color) +idc.HighVoids(x) +idc.IdbByte(ea) +idc.Indent(x) +idc.isAlign(F) +idc.isASCII(F) +idc.isBin0(F) +idc.isBin1(F) +idc.IsBitfield(enum_id) +idc.isByte(F) +idc.isChar0(F) +idc.isChar1(F) +idc.isCode(F) +idc.isData(F) +idc.isDec0(F) +idc.isDec1(F) +idc.isDefArg0(F) +idc.isDefArg1(F) +idc.isDouble(F) +idc.isDwrd(F) +idc.isEnabled(ea) +idc.isEnum0(F) +idc.isEnum1(F) +idc.IsEventHandled() +idc.isExtra(F) +idc.isFloat(F) +idc.IsFloat(var) +idc.isFlow(F) +idc.isFop0(F) +idc.isFop1(F) +idc.IsFunc(var) +idc.isHead(F) +idc.isHex0(F) +idc.isHex1(F) +idc.IsInt64(var) +idc.isLoaded(ea) +idc.IsLong(var) +idc.isOct0(F) +idc.isOct1(F) +idc.isOff0(F) +idc.isOff1(F) +idc.isOwrd(F) +idc.isPackReal(F) +idc.IsPvoid(var) +idc.isQwrd(F) +idc.isRef(F) +idc.isSeg0(F) +idc.isSeg1(F) +idc.isStkvar0(F) +idc.isStkvar1(F) +idc.IsString(var) +idc.isStroff0(F) +idc.isStroff1(F) +idc.isStruct(F) +idc.isTail(F) +idc.isTbyt(F) +idc.IsUnion(sid) +idc.isUnknown(F) +idc.isVar(F) +idc.isWord(F) +idc.ItemEnd(ea) +idc.ItemHead(ea) +idc.ItemSize(ea) +idc.Jump(ea) +idc.LineA(ea, num) +idc.LineB(ea, num) +idc.LoadDebugger(dbgname, use_remote) +idc.LoadFile(filepath, pos, ea, size) +idc.loadfile(filepath, pos, ea, size) +idc.LoadTil(name) +idc.LoadTraceFile(filename) +idc.LocByName(name) +idc.LocByNameEx(fromaddr, name) +idc.LowVoids(x) +idc.ltoa(n, radix) +idc.MakeAlign(ea, count, align) +idc.MakeArray(ea, nitems) +idc.MakeByte(ea) +idc.MakeCode(ea) +idc.MakeComm(ea, comment) +idc.MakeCustomData(ea, size, dtid, fid) +idc.MakeCustomDataEx(ea, size, dtid, fid) +idc.MakeData(ea, flags, size, tid) +idc.MakeDouble(ea) +idc.MakeDword(ea) +idc.MakeFloat(ea) +idc.MakeFrame(ea, lvsize, frregs, argsize) +idc.MakeFunction(start, end=4294967295) +idc.MakeLocal(start, end, location, name) +idc.MakeName(ea, name) +idc.MakeNameEx(ea, name, flags) +idc.MakeOword(ea) +idc.MakePackReal(ea) +idc.MakeQword(ea) +idc.MakeRptCmt(ea, comment) +idc.MakeStr(ea, endea) +idc.MakeStruct(ea, name) +idc.MakeStructEx(ea, size, strname) +idc.MakeTbyte(ea) +idc.MakeUnkn(ea, flags) +idc.MakeUnknown(ea, size, flags) +idc.MakeVar(ea) +idc.MakeWord(ea) +idc.MakeYword(ea) +idc.MarkPosition(ea, lnnum, x, y, slot, comment) +idc.MaxEA() +idc.Message(msg) +idc.MinEA() +idc.MK_FP(seg, off) +idc.MoveSegm(ea, to, flags) +idc.Name(ea) +idc.NameEx(fromaddr, ea) +idc.NextAddr(ea) +idc.NextFchunk(ea) +idc.NextFuncFchunk(funcea, tailea) +idc.NextFunction(ea) +idc.NextHead(ea, maxea=4294967295) +idc.NextNotTail(ea) +idc.NextSeg(ea) +idc.OpAlt(ea, n, opstr) +idc.OpAlt1(ea, opstr) +idc.OpAlt2(ea, opstr) +idc.OpBinary(ea, n) +idc.OpChar(ea) +idc.OpChr(ea, n) +idc.OpDec(ea) +idc.OpDecimal(ea, n) +idc.OpEnum(ea, n, enumid) +idc.OpEnumEx(ea, n, enumid, serial) +idc.OpFloat(ea, n) +idc.OpHex(ea, n) +idc.OpHigh(ea, n, target) +idc.OpNot(ea, n) +idc.OpNum(ea) +idc.OpNumber(ea, n) +idc.OpOctal(ea, n) +idc.OpOff(ea, n, base) +idc.OpOffEx(ea, n, reftype, target, base, tdelta) +idc.OpOffset(ea, base) +idc.OpSeg(ea, n) +idc.OpSegment(ea) +idc.OpSign(ea, n) +idc.OpStkvar(ea, n) +idc.OpStroff(ea, n, strid) +idc.OpStroffEx(ea, n, strid, delta) +idc.ParseType(inputtype, flags) +idc.ParseTypes(inputtype, flags=0) +idc.PatchByte(ea, value) +idc.PatchDbgByte(ea, value) +idc.PatchDword(ea, value) +idc.PatchQword(ea, value) +idc.PatchWord(ea, value) +idc.PauseProcess() +idc.PrevAddr(ea) +idc.PrevFchunk(ea) +idc.PrevFunction(ea) +idc.PrevHead(ea, minea=0) +idc.PrevNotTail(ea) +idc.ProcessUiAction(name, flags=0) +idc.Qword(ea) +idc.readlong(handle, mostfirst) +idc.readshort(handle, mostfirst) +idc.readstr(handle) +idc.rebase_program(delta, flags) +idc.RecalcSpd(cur_ea) +idc.Refresh() +idc.RefreshDebuggerMemory() +idc.RefreshLists() +idc.RemoveFchunk(funcea, tailea) +idc.RenameArray(array_id, newname) +idc.RenameEntryPoint(ordinal, name) +idc.RenameSeg(ea, name) +idc.ResumeProcess() +idc.ResumeThread(tid) +idc.Retrieve function flags +idc.Rfirst(From) +idc.Rfirst0(From) +idc.RfirstB(To) +idc.RfirstB0(To) +idc.Rnext(From, current) +idc.Rnext0(From, current) +idc.RnextB(To, current) +idc.RnextB0(To, current) +idc.rotate_byte(x, count) +idc.rotate_dword(x, count) +idc.rotate_left(value, count, nbits, offset) +idc.rotate_word(x, count) +idc.RptCmt(ea) +idc.RunPlugin(name, arg) +idc.RunTo(ea) +idc.SaveBase(idbname, flags=0) +idc.SaveFile(filepath, pos, ea, size) +idc.savefile(filepath, pos, ea, size) +idc.SaveTraceFile(filename, description) +idc.ScreenEA() +idc.SegAddrng(ea, bitness) +idc.SegAlign(ea, alignment) +idc.SegBounds(ea, startea, endea, flags) +idc.SegByBase(base) +idc.SegByName(segname) +idc.SegClass(ea, segclass) +idc.SegComb(segea, comb) +idc.SegCreate(a1, a2, base, use32, align, comb) +idc.SegDefReg(ea, reg, value) +idc.SegDelete(ea, flags) +idc.SegEnd(ea) +idc.SegName(ea) +idc.SegRename(ea, name) +idc.SegStart(ea) +idc.SelectThread(tid) +idc.SelEnd() +idc.SelStart() +idc.SendDbgCommand(cmd) +idc.set_start_cs(x) +idc.set_start_ip(x) +idc.SetArrayFormat(ea, flags, litems, align) +idc.SetArrayLong(array_id, idx, value) +idc.SetArrayString(array_id, idx, value) +idc.SetBmaskCmt(enum_id, bmask, cmt, repeatable) +idc.SetBmaskName(enum_id, bmask, name) +idc.SetBptAttr(address, bptattr, value) +idc.SetBptCnd(ea, cnd) +idc.SetBptCndEx(ea, cnd, is_lowcnd) +idc.SetCharPrm(offset, value) +idc.SetColor(ea, what, color) +idc.SetConstCmt(const_id, cmt, repeatable) +idc.SetConstName(const_id, name) +idc.SetDebuggerEventCondition(cond) +idc.SetDebuggerOptions(opt) +idc.SetEnumBf(enum_id, flag) +idc.SetEnumCmt(enum_id, cmt, repeatable) +idc.SetEnumFlag(enum_id, flag) +idc.SetEnumIdx(enum_id, idx) +idc.SetEnumName(enum_id, name) +idc.SetEnumWidth(enum_id, width) +idc.SetExceptionFlags(code, flags) +idc.SetFchunkAttr(ea, attr, value) +idc.SetFchunkOwner(tailea, funcea) +idc.SetFixup(ea, fixuptype, targetsel, targetoff, displ) +idc.SetFlags(ea, flags) +idc.SetFunctionAttr(ea, attr, value) +idc.SetFunctionCmt(ea, cmt, repeatable) +idc.SetFunctionEnd(ea, end) +idc.SetFunctionFlags(ea, flags) +idc.SetHashLong(hash_id, key, value) +idc.SetHashString(hash_id, key, value) +idc.SetHiddenArea(ea, visible) +idc.SetInputFilePath(path) +idc.SetLineNumber(ea, lnnum) +idc.SetLocalType(ordinal, input, flags) +idc.SetLongPrm(offset, value) +idc.SetManualInsn(ea, insn) +idc.SetMemberComment(sid, member_offset, comment, repeatable) +idc.SetMemberName(sid, member_offset, name) +idc.SetMemberType(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2) +idc.SetPrcsr(processor) +idc.SetProcessorType(processor, level) +idc.SetReg(ea, reg, value) +idc.SetRegEx(ea, reg, value, tag) +idc.SetRegValue(value, name) +idc.SetRemoteDebugger(hostname, password, portnum) +idc.SetSegAddressing(ea, bitness) +idc.SetSegBounds(ea, startea, endea, flags) +idc.SetSegClass(ea, segclass) +idc.SetSegDefReg(ea, reg, value) +idc.SetSegmentAttr(segea, attr, value) +idc.SetSegmentType(segea, segtype) +idc.SetSelector(sel, value) +idc.SetShortPrm(offset, value) +idc.SetSpDiff(ea, delta) +idc.SetStatus(status) +idc.SetStepTraceOptions(options) +idc.SetStorageType(startEA, endEA, stt) +idc.SetStrucComment(sid, comment, repeatable) +idc.SetStrucIdx(sid, index) +idc.SetStrucName(sid, name) +idc.SetTargetAssembler(asmidx) +idc.SetTraceDesc(filename, description) +idc.SetType(ea, newtype) +idc.SetXML(path, name, value) +idc.SizeOf(typestr) +idc.Sleep(milliseconds) +idc.StartDebugger(path, args, sdir) +idc.StepInto() +idc.StepOver() +idc.StepUntilRet() +idc.StopDebugger() +idc.StringStp(x) +idc.strlen(s) +idc.strstr(s1, s2) +idc.substr(s, x1, x2) +idc.SuspendThread(tid) +idc.Tabs(x) +idc.TailDepth(x) +idc.TakeMemorySnapshot(only_loader_segs) +idc.Til2Idb(idx, type_name) +idc.UMessage(msg) +idc.ValidateNames() +idc.Voids(x) +idc.Wait() +idc.Warning(msg) +idc.Word(ea) +idc.WriteExe(filepath) +idc.writelong(handle, dword, mostfirst) +idc.WriteMap(filepath) +idc.writeshort(handle, word, mostfirst) +idc.writestr(handle, s) +idc.WriteTxt(filepath, ea1, ea2) +idc.XrefShow(x) +idc.XrefType() +idc.xtol(s) diff --git a/7.2/plugins/Code editor/pyeditor.py b/7.2/plugins/Code editor/pyeditor.py new file mode 100644 index 0000000..b783689 --- /dev/null +++ b/7.2/plugins/Code editor/pyeditor.py @@ -0,0 +1,957 @@ +# Created by Storm Shadow www.techbliss.org + +# Created by Storm Shadow www.techbliss.org +print "\n" #getting the box fit +print " ###################################################\n" \ + " # Author Storm Shadow # \n" \ + " # Hotkeys # \n" \ + " # NewFile: Ctrl+N #\n" \ + " # OpenFile: Ctrl+O #\n" \ + " # SaveFile: Ctrl+S #\n" \ + " # RunScript: Ctrl+E #\n" \ + " # Undo: Ctrl+Z #\n" \ + " # Redo: Ctrl+Y #\n" \ + " # SelectALL: Ctrl+A #\n" \ + " # Paste: Ctrl+V #\n" \ + " # Font: Ctrl+F #\n" \ + " # ResetFolding: Ctrl+R #\n" \ + " # CircleFolding: Ctrl+C #\n" \ + " # PlainFolding: Ctrl+P #\n" \ + " # HEX-ray Home: Ctrl+W #\n" \ + " # Ida Pro Python SDK Ctrl+I #\n" \ + " # IDAPROPythonGit: Ctrl+G #\n" \ + " # Author: Ctrl+B #\n" \ + " # Enable Reg: Alt+E #\n" \ + " # Disable Reg: Alt+D #\n" \ + " # Zoom in Ctrl+Shift+ + #\n" \ + " # Zoom Out Ctrl+Shift+ - #\n" \ + " # Profile Code Ctrl+Shift+ E #\n" \ + " ###################################################\n" \ + " # IDA PRO python Editor 7.2 #\n" \ + " ###################################################\n" + +import os +import sys +import ida_idaapi, ida_kernwin, ida_idaapi, ida_loader +import idc +from idc import * +from ida_diskio import * +from ida_idaapi import * +from ida_loader import * + + +try: + dn = ida_diskio.idadir("\plugins\Code editor") +except NameError: + dn = os.getcwd() + +try: + Templatedir = ida_diskio.idadir("\plugins\Code editor\\template\\") + TemplateFile = Templatedir+("\Plugin_temp") + TemplateFile.replace("\\", "\"") + TemplateFile.replace(" ", "") + +except NameError: + TemplateFile = os.getcwd()+r'\template\Plugin_temp' + +sys.path.insert(0, dn) +sys.path.insert(0, os.getcwd()+r'\\icons') + +sys.path.insert(0, os.getcwd()+r'\\template') + + +import PyQt5 +from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt5.Qsci import QsciScintilla, QsciLexerPython +from PyQt5.QtGui import QFont, QFontMetrics, QColor +from PyQt5.QtWidgets import QDialog, QMessageBox, QWizard, QWizardPage +from PyQt5.QtCore import QCoreApplication + +plugin_path = "" +if sys.platform == "win32": + if hasattr(sys, "frozen"): + plugin_path = os.path.join(os.path.dirname(os.path.abspath(sys.executable)), "PyQt5", "plugins") + QCoreApplication.addLibraryPath(plugin_path) + else: + import site + for dir in site.getsitepackages(): + QCoreApplication.addLibraryPath(os.path.join(dir, "PyQt5", "plugins")) + +elif sys.platform == "darwin": + plugin_path = os.path.join(QCoreApplication.getInstallPrefix(), "Resources", "plugins") + +if plugin_path: + QCoreApplication.addLibraryPath(plugin_path) + + +if hasattr(QtCore.Qt, 'AA_EnableHighDpiScaling'): + PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) + +if hasattr(QtCore.Qt, 'AA_UseHighDpiPixmaps'): + PyQt5.QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) +try: + import ico +except ImportError: + import icons.ico + +try: + import iconsmore +except ImportError: + import icons.iconsmore + +try: + import icons3 +except ImportError: + import icons.icons3 + +try: + import iconf +except ImportError: + import icons.iconf + +try: + import icon4 +except ImportError: + pass + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s +try: + _encoding = QtWidgets.QApplication.UnicodeUTF8 + + def _translate(context, text, disambig): + return QtWidgets.QApplication.translate(context, text, + disambig, _encoding) + +except AttributeError: + def _translate(context, text, disambig): + return QtWidgets.QApplication.translate(context, text, disambig) + +class Ui_messageformForm(QtWidgets.QWidget): + def setupUi1(self, messageformForm): + messageformForm.setObjectName("messageformForm") + messageformForm.resize(404, 169) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Ignored, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(messageformForm.sizePolicy().hasHeightForWidth()) + messageformForm.setSizePolicy(sizePolicy) + font = QtGui.QFont() + font.setFamily("Consolas") + messageformForm.setFont(font) + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap(":/icons/twa.gif"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + messageformForm.setWindowIcon(icon2) + self.label = QtWidgets.QLabel(messageformForm) + self.label.setGeometry(QtCore.QRect(40, 20, 341, 111)) + font = QtGui.QFont() + font.setPointSize(19) + self.label.setFont(font) + self.label.setObjectName("label") + + self.retranslateUi(messageformForm) + QtCore.QMetaObject.connectSlotsByName(messageformForm) + + def retranslateUi(self, messageformForm): + _translate = QtCore.QCoreApplication.translate + messageformForm.setWindowTitle(_translate("messageformForm", "Soon to be fixed")) + self.label.setText(_translate("messageformForm", "Soon to be fixed" +)) + +class Ui_Wizard(QtWidgets.QWizard): + def __init__(self, parent=None): + super(Ui_Wizard, self).__init__(parent=None) + Wizard.setObjectName("Wizard") + Wizard.resize(762, 500) + font = QtGui.QFont() + font.setFamily("Calibri Light") + Wizard.setFont(font) + Wizard.setOptions(QtWidgets.QWizard.HelpButtonOnRight) + self.wizardPage1 = QtWidgets.QWizardPage() + font = QtGui.QFont() + font.setFamily("Calibri Light") + font.setPointSize(20) + self.wizardPage1.setFont(font) + self.wizardPage1.setObjectName("wizardPage1") + self.textBrowser_2 = QtWidgets.QTextBrowser(self.wizardPage1) + self.textBrowser_2.setGeometry(QtCore.QRect(130, 140, 421, 131)) + self.textBrowser_2.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_2.setObjectName("textBrowser_2") + Wizard.addPage(self.wizardPage1) + self.wizardPage = QtWidgets.QWizardPage() + self.wizardPage.setTitle("") + self.wizardPage.setSubTitle("") + self.wizardPage.setObjectName("wizardPage") + self.textBrowser_4 = QtWidgets.QTextBrowser(self.wizardPage) + self.textBrowser_4.setGeometry(QtCore.QRect(130, 140, 499, 239)) + self.textBrowser_4.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_4.setObjectName("textBrowser_4") + Wizard.addPage(self.wizardPage) + self.tempwizardPage = QtWidgets.QWizardPage() + self.tempwizardPage.setObjectName("tempwizardPage") + self.verticalLayout = QtWidgets.QVBoxLayout(self.tempwizardPage) + self.verticalLayout.setObjectName("verticalLayout") + self.TemptextEdit = Qsci.QsciScintilla(self.tempwizardPage) + self.TemptextEdit.setToolTip("") + self.TemptextEdit.setWhatsThis("") + self.TemptextEdit.setObjectName("TemptextEdit") + self.verticalLayout.addWidget(self.TemptextEdit) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.temppushButtonopen = QtWidgets.QPushButton(self.tempwizardPage) + self.temppushButtonopen.setObjectName("temppushButtonopen") + self.horizontalLayout.addWidget(self.temppushButtonopen) + self.temppushButtonsave = QtWidgets.QPushButton(self.tempwizardPage) + self.temppushButtonsave.setObjectName("temppushButtonsave") + self.horizontalLayout.addWidget(self.temppushButtonsave) + self.verticalLayout.addLayout(self.horizontalLayout) + Wizard.addPage(self.tempwizardPage) + self.scriptwizardPage = QtWidgets.QWizardPage() + self.scriptwizardPage.setObjectName("scriptwizardPage") + self.textBrowser_5 = QtWidgets.QTextBrowser(self.scriptwizardPage) + self.textBrowser_5.setGeometry(QtCore.QRect(120, 130, 499, 239)) + self.textBrowser_5.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_5.setObjectName("textBrowser_5") + Wizard.addPage(self.scriptwizardPage) + self.wizardPage_3 = QtWidgets.QWizardPage() + self.wizardPage_3.setObjectName("wizardPage_3") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.wizardPage_3) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.script_textEdit = Qsci.QsciScintilla(self.wizardPage_3) + self.script_textEdit.setToolTip("") + self.script_textEdit.setWhatsThis("") + self.script_textEdit.setObjectName("script_textEdit") + self.verticalLayout_2.addWidget(self.script_textEdit) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_2.addItem(spacerItem1) + self.scriptGrabpushButton = QtWidgets.QPushButton(self.wizardPage_3) + self.scriptGrabpushButton.setObjectName("scriptGrabpushButton") + self.horizontalLayout_2.addWidget(self.scriptGrabpushButton) + self.scriptpushButtonopen = QtWidgets.QPushButton(self.wizardPage_3) + self.scriptpushButtonopen.setObjectName("scriptpushButtonopen") + self.horizontalLayout_2.addWidget(self.scriptpushButtonopen) + self.scriptpushButtonsave = QtWidgets.QPushButton(self.wizardPage_3) + self.scriptpushButtonsave.setObjectName("scriptpushButtonsave") + self.horizontalLayout_2.addWidget(self.scriptpushButtonsave) + self.verticalLayout_2.addLayout(self.horizontalLayout_2) + Wizard.addPage(self.wizardPage_3) + self.wizardPage_2 = QtWidgets.QWizardPage() + font = QtGui.QFont() + font.setPointSize(20) + self.wizardPage_2.setFont(font) + self.wizardPage_2.setObjectName("wizardPage_2") + self.textBrowser_6 = QtWidgets.QTextBrowser(self.wizardPage_2) + self.textBrowser_6.setGeometry(QtCore.QRect(170, 140, 411, 191)) + self.textBrowser_6.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_6.setObjectName("textBrowser_6") + Wizard.addPage(self.wizardPage_2) + #font textedit + self.skrift = QFont() + self.skrift.setFamily('Consolas') + self.skrift.setFixedPitch(True) + self.skrift.setPointSize(11) + self.TemptextEdit.setFont(self.skrift) + self.script_textEdit.setFont(self.skrift) + + #python style temp + self.lexer = QsciLexerPython(self.TemptextEdit) + self.lexer.setFont(self.skrift) + self.lexer.setEolFill(True) + #Python style scritps + self.lexer = QsciLexerPython(self.script_textEdit) + self.lexer.setFont(self.skrift) + self.lexer.setEolFill(True) + self.filename = "" + #python style temp + self.TemptextEdit.setAutoCompletionThreshold(0) + self.TemptextEdit.setAutoCompletionThreshold(6) + self.TemptextEdit.setAutoCompletionThreshold(8) + self.TemptextEdit.setAutoCompletionSource(Qsci.QsciScintilla.AcsAPIs) +# self.TemptextEdit.setDefaultFont(self.skrift) + self.TemptextEdit.setLexer(self.lexer) + self.TemptextEdit.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Consolas') + #python style script + self.script_textEdit.setAutoCompletionThreshold(0) + self.script_textEdit.setAutoCompletionThreshold(6) + self.script_textEdit.setAutoCompletionThreshold(8) + self.script_textEdit.setAutoCompletionSource(Qsci.QsciScintilla.AcsAPIs) +# self.script_textEdit.setDefaultFont(self.skrift) + self.script_textEdit.setLexer(self.lexer) + self.script_textEdit.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Consolas') + + #line numbers temp + fontmetrics = QFontMetrics(self.skrift) + self.TemptextEdit.setMarginsFont(self.skrift) + self.TemptextEdit.setMarginWidth(0, fontmetrics.width("00000") + 6) + self.TemptextEdit.setTabWidth(4) + #line numbers script + fontmetrics = QFontMetrics(self.skrift) + self.script_textEdit.setMarginsFont(self.skrift) + self.script_textEdit.setMarginWidth(0, fontmetrics.width("00000") + 6) + self.script_textEdit.setTabWidth(4) + + #brace temp + self.TemptextEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch) + #brace script + self.script_textEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch) + + #auto line tab =4 temp + self.TemptextEdit.setAutoIndent(True) + #auto line tab =4 script + self.TemptextEdit.setAutoIndent(True) + + #scroolbar + self.script_textEdit.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 1) + #try: + bs = open(TemplateFile).read() + bba = QtCore.QByteArray(bs) + self.bts = QtCore.QTextStream(bba) + self.bheysa = self.bts.readAll() + self.TemptextEdit.setText(self.bheysa) + self.TemptextEdit.setMarkerBackgroundColor((QColor(66, 66, 255))) + marker = self.TemptextEdit.markerDefine(PyQt5.Qsci.QsciScintilla.Rectangle, 2) + + try: + self.TemptextEdit.markerAdd(9, 2) + self.TemptextEdit.markerAdd(13, 2) + self.TemptextEdit.markerAdd(14, 2) + self.TemptextEdit.markerAdd(15, 2) + self.TemptextEdit.markerAdd(16, 2) + self.TemptextEdit.markerAdd(17, 2) + self.TemptextEdit.markerAdd(21, 2) + self.TemptextEdit.markerAdd(29, 2) + self.TemptextEdit.markerAdd(36, 2) + self.TemptextEdit.markerAdd(37, 2) + self.TemptextEdit.markerAdd(38, 2) + self.TemptextEdit.markerAdd(44, 2) + self.TemptextEdit.markerAdd(45, 2) + self.TemptextEdit.markerAdd(46, 2) + self.TemptextEdit.markerAdd(47, 2) + self.TemptextEdit.markerAdd(48, 2) + self.TemptextEdit.markerAdd(49, 2) + + self.TemptextEdit.markerAdd(51, 2) + self.TemptextEdit.markerAdd(52, 2) + self.TemptextEdit.markerAdd(53, 2) + self.TemptextEdit.markerAdd(54, 2) + self.TemptextEdit.markerAdd(55, 2) + self.TemptextEdit.markerAdd(56, 2) + self.TemptextEdit.markerAdd(57, 2) + self.TemptextEdit.markerAdd(58, 2) + + self.TemptextEdit.markerAdd(65, 2) + self.TemptextEdit.markerAdd(66, 2) + self.TemptextEdit.markerAdd(67, 2) + + self.TemptextEdit.markerAdd(70, 2) + self.TemptextEdit.markerAdd(92, 2) + + self.TemptextEdit.markerAdd(99, 2) + self.TemptextEdit.markerAdd(100, 2) + self.TemptextEdit.markerAdd(101, 2) + self.TemptextEdit.markerAdd(102, 2) + self.TemptextEdit.markerAdd(105, 2) + + + + + + except: + self.TemptextEdit.setText('Plugin_temp file not found') + pass + + + self.retranslateUi2(Wizard) + QtCore.QMetaObject.connectSlotsByName(Wizard) + + def retranslateUi2(self, Wizard): + _translate = QtCore.QCoreApplication.translate + Wizard.setWindowTitle(_translate("Wizard", " Ida Pro Plugin Wizard")) + self.textBrowser_2.setHtml(_translate("Wizard", "\n" +"\n" +"

Welcome to the plugin wizard.

\n" +"

Please follow the steps in the wizard, to tranform your code, to a full Ida Pro plugin.

")) + self.textBrowser_4.setHtml(_translate("Wizard", "\n" +"\n" +"

First we create the plugin loader

\n" +"

Then we change the higlightet text in the template, and then save the plugin loader in Ida Pro Plugins folder.

")) + self.temppushButtonopen.setText(_translate("Wizard", "Open")) + self.temppushButtonsave.setText(_translate("Wizard", "Save")) + self.textBrowser_5.setHtml(_translate("Wizard", "\n" +"\n" +"

Now we grab the editors current script, or open a new script.
Remember to save this in the right folder.
Plugins\\My_plugin_folder as declared in the template.

\n" +"


")) + self.scriptGrabpushButton.setText(_translate("Wizard", "Grab from Editor")) + self.scriptpushButtonopen.setText(_translate("Wizard", "Open")) + self.scriptpushButtonsave.setText(_translate("Wizard", "Save")) + self.textBrowser_6.setHtml(_translate("Wizard", "\n" +"\n" +"

Loader Template should now be in
ida pro\\plugin
script should be in a subfolder
ida pro\\plugin\\Myplugin\\

\n" +"

If above are correct your good to go!

")) + + self.temppushButtonopen.clicked.connect(self.opentemp) + self.temppushButtonsave.clicked.connect(self.savetemp) + self.scriptpushButtonopen.clicked.connect(self.openscript) + self.scriptpushButtonsave.clicked.connect(self.savescript) + self.scriptGrabpushButton.clicked.connect(self.grapper) + + def grapper(self): + #hellotext = Ui_MainWindow + # hello2= hellotext.sendgrapped +# print str(hello2) + + messageformForm.show() + + + def opentemp(self): + #print "hello" + self.path = QtCore.QFileInfo(self.filename).path() + + # Get filename and show only .writer files + (self.filename, _) = \ + QtWidgets.QFileDialog.getOpenFileName(self.wizardPage_3, + 'Open File', self.path, + 'Python Files (*.py *.pyc *.pyw)', '') + + if self.filename: + with open(self.filename, 'r') as self.file: + self.TemptextEdit.setText(self.file.read()) + os.chdir(str(self.path)) + + + def savetemp(self): + self.path = QtCore.QFileInfo(self.filename).path() + (self.filename, _) = \ + QtWidgets.QFileDialog.getSaveFileName(self, 'Save as' + , self.path, 'Python Files (*.py *.pyc *.pyw)') + if self.filename: + self.savetexttemp(self.filename) + os.chdir(str(self.path)) + + def savetexttemp(self, fileName): + textout = self.TemptextEdit.text() + file = QtCore.QFile(fileName) + if file.open(QtCore.QIODevice.WriteOnly): + QtCore.QTextStream(file) << textout + else: + QtWidgets.QMessageBox.information(self.tempwizardPage, + 'Unable to open file', file.errorString()) + os.chdir(str(self.path)) + + def openscript(self): + print "hello" + self.path = QtCore.QFileInfo(self.filename).path() + + # Get filename and show only .writer files + (self.filename, _) = \ + QtWidgets.QFileDialog.getOpenFileName(self.wizardPage_3, + 'Open File', self.path, + 'Python Files (*.py *.pyc *.pyw)', '') + + if self.filename: + with open(self.filename, 'r') as self.file: + self.script_textEdit.setText(self.file.read()) + os.chdir(str(self.path)) + + + def savescript(self): + self.path = QtCore.QFileInfo(self.filename).path() + (self.filename, _) = \ + QtWidgets.QFileDialog.getSaveFileName(self.wizardPage_3, 'Save as' + , self.path, 'Python Files (*.py *.pyc *.pyw)') + if self.filename: + self.savetextscript(self.filename) + os.chdir(str(self.path)) + + def savetextscript(self, fileName): + textout = self.script_textEdit.text() + file = QtCore.QFile(fileName) + if file.open(QtCore.QIODevice.WriteOnly): + QtCore.QTextStream(file) << textout + else: + QtWidgets.QMessageBox.information(self.wizardPage_3, + 'Unable to open file', file.errorString()) + os.chdir(str(self.path)) + + + +from PyQt5 import Qsci + +import sys +#app2 = QtWidgets.QApplication(sys.argv) + + + + + + +class Ui_MainWindow(QtWidgets.QMainWindow): + ARROW_MARKER_NUM = 8 + + def __init__(self, parent=None): + super(Ui_MainWindow, self).__init__(parent=None) + MainWindow.setObjectName(_fromUtf8("MainWindow")) + MainWindow.resize(640, 480) + self.vindu = QtWidgets.QWidget(MainWindow) + self.vindu.setStyleSheet(_fromUtf8('notusedasyet')) + #MainWindow.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) + self.vindu.setObjectName(_fromUtf8("vindu")) + self.verticalLayout = PyQt5.QtWidgets.QVBoxLayout(self.vindu) + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/ico/python.png")), QtGui.QIcon.Normal, QtGui.QIcon.On) + MainWindow.setWindowIcon(icon) + self.verticalLayout.setContentsMargins(0,0,0,0) + self.verticalLayout.setSpacing(0) + self.verticalLayout.setObjectName(_fromUtf8('verticalLayout')) + self.codebox = Qsci.QsciScintilla(self.vindu) + self.codebox.setToolTip(_fromUtf8("")) + self.codebox.setWhatsThis(_fromUtf8("")) + self.codebox.setAutoFillBackground(False) + self.codebox.setFrameShape(QtWidgets.QFrame.NoFrame) + self.codebox.setObjectName(_fromUtf8("codebox")) + self.verticalLayout.addWidget(self.codebox) + MainWindow.setCentralWidget(self.vindu) + #toolbar + self.toolBar = QtWidgets.QToolBar(MainWindow) + self.toolBar.setAutoFillBackground(False) + self.toolBar.setIconSize(QtCore.QSize(32, 32)) + self.toolBar.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) + self.toolBar.setObjectName(_fromUtf8("toolBar2")) + MainWindow.addToolBar(QtCore.Qt.LeftToolBarArea, self.toolBar) + self.toolBar.addSeparator() + #toolbar2 debugger + #self.toolBar2 = QtGui.QToolBar(MainWindow) + #self.toolBar2.setAutoFillBackground(False) + #self.toolBar2.setIconSize(QtCore.QSize(32, 32)) + #self.toolBar2.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) + #self.toolBar2.setObjectName(_fromUtf8("toolBar")) + # MainWindow.addToolBar(QtCore.Qt.RightToolBarArea, self.toolBar2) +# self.toolBar2.addSeparator() + #getting ready for debugger + self.codebox.setMarginSensitivity(1, True) + self.codebox.marginClicked.connect(self.on_margin_clicked) + self.codebox.markerDefine(QsciScintilla.FullRectangle, self.ARROW_MARKER_NUM) + self.codebox.setMarkerBackgroundColor(QColor("#ee1111"), self.ARROW_MARKER_NUM) + #first action Newfile + self.toolBar.newAction = QtWidgets.QAction(QtGui.QIcon(":/ico/new.png"),"New",self.toolBar) + self.toolBar.newAction.setStatusTip("Clear TextBox or make new document.") + self.toolBar.newAction.setShortcut("Ctrl+N") + self.toolBar.newAction.triggered.connect(self.newfile) + #second Action OpenFile + self.toolBar.secondAction = QtWidgets.QAction(QtGui.QIcon(":/ico/open.png"),"Open",self.toolBar) + self.toolBar.secondAction.setStatusTip("Create a new document from scratch.") + self.toolBar.secondAction.setShortcut("Ctrl+O") + self.toolBar.secondAction.triggered.connect(self.open) + # action 3 save file + self.toolBar.Action3 = QtWidgets.QAction(QtGui.QIcon(":/ico/save.png"),"Save",self.toolBar) + self.toolBar.Action3.setStatusTip("Save Your File.") + self.toolBar.Action3.setShortcut("Ctrl+S") + self.toolBar.Action3.triggered.connect(self.savefile) + #action 4 run file + self.toolBar.Action4 = QtWidgets.QAction(QtGui.QIcon(":/ico/run32.png"),"Run",self.toolBar) + self.toolBar.Action4.setStatusTip("Run") + self.toolBar.Action4.setShortcut("Ctrl+E") + self.toolBar.Action4.triggered.connect(self.runto) + #action 21 debug + #self.toolBar2.Action21 = QtGui.QAction(QtGui.QIcon(":/ico/run32.png"),"Debug",self.toolBar) + #self.toolBar2.Action21.setStatusTip("Debug File.") + #self.toolBar2.Action21.setShortcut("Ctrl+7") + #self.toolBar2.Action21.triggered.connect(self.debugto) + #action 6 undo + self.toolBar.Action6 = QtWidgets.QAction(QtGui.QIcon(":/ico/undo.png"),"Redo",self.toolBar) + self.toolBar.Action6.setStatusTip("Undo.") + self.toolBar.Action6.setShortcut("Ctrl+Z") + self.toolBar.Action6.triggered.connect(self.codebox.undo) + #action 7 redo + self.toolBar.Action7 = QtWidgets.QAction(QtGui.QIcon(":/ico/redo.png"),"Redo",self.toolBar) + self.toolBar.Action7.setStatusTip("Redo.") + self.toolBar.Action7.setShortcut("Ctrl+Y") + self.toolBar.Action7.triggered.connect(self.codebox.redo) + #action8 rerset Folding + self.toolBar.Action8 = QtWidgets.QAction(QtGui.QIcon(":/ico/align-justify.png"),"Reset Folding",self.toolBar) + self.toolBar.Action8.setStatusTip("Reset Folding.") + self.toolBar.Action8.setShortcut("Ctrl+R") + self.toolBar.Action8.triggered.connect(self.nofoldingl) + #actions9 CircledTreeFoldStyle + self.toolBar.Action9 = QtWidgets.QAction(QtGui.QIcon(":/ico/bullet.png"),"Circled Tree Folding",self.toolBar) + self.toolBar.Action9.setStatusTip("Circled Tree Folding.") + self.toolBar.Action9.setShortcut("Ctrl+C") + self.toolBar.Action9.triggered.connect(self.Circledfold) + #actions10 plainFoldStyle + self.toolBar.Action10 = QtWidgets.QAction(QtGui.QIcon(":/ico/number.png"),"Plain Folding",self.toolBar) + self.toolBar.Action10.setStatusTip("Plain Folding") + self.toolBar.Action10.setShortcut("Ctrl+P") + self.toolBar.Action10.triggered.connect(self.plainfold) + # fonts + self.toolBar.Action21 = QtWidgets.QAction(QtGui.QIcon(":/ico4/font.png"), "Fonts", self.toolBar) + self.toolBar.Action21.setStatusTip("Fonts") + self.toolBar.Action21.setShortcut("Ctrl+F") + self.toolBar.Action21.triggered.connect(self.font_choice) + #web baby + self.toolBar.Action11 = QtWidgets.QAction(QtGui.QIcon(":/ico/web.png"),"Hex-rays Homepage",self.toolBar) + self.toolBar.Action11.setStatusTip("Home of Hex-rays") + self.toolBar.Action11.setShortcut("Ctrl+W") + self.toolBar.Action11.triggered.connect(self.webopen) + #irc + self.toolBar.Action12 = QtWidgets.QAction(QtGui.QIcon(":/ico3/settings.png"),"Open Ida Pro Python SDK",self.toolBar) + self.toolBar.Action12.setStatusTip("Ida Pro Python SDK") + self.toolBar.Action12.setShortcut("Ctrl+I") + self.toolBar.Action12.triggered.connect(self.sdkopen) + #github Python + self.toolBar.Action14 = QtWidgets.QAction(QtGui.QIcon(":/ico/github.png"),"Open git python",self.toolBar) + self.toolBar.Action14.setStatusTip("Open git python") + self.toolBar.Action14.setShortcut("Ctrl+G") + self.toolBar.Action14.triggered.connect(self.gitopen) + #auther me :) + self.toolBar.Action15 = QtWidgets.QAction(QtGui.QIcon(":/ico/auth.png"),"Author",self.toolBar) + self.toolBar.Action15.setStatusTip("Author") + self.toolBar.Action15.setShortcut("Ctrl+B") + self.toolBar.Action15.triggered.connect(self.Author) + #toggle off code regonision + self.toolBar.Action16 = QtWidgets.QAction(QtGui.QIcon(":/ico2/pythonminus.png"),"Disable Code recognition",self.toolBar) + self.toolBar.Action16.setStatusTip("Disable Code recognition") + self.toolBar.Action16.setShortcut("Alt+D") + self.toolBar.Action16.triggered.connect(self.Diablecode) + #toogle on + self.toolBar.Action17 = QtWidgets.QAction(QtGui.QIcon(":/ico2/pypluss.png"),"Enable Code recognition",self.toolBar) + self.toolBar.Action17.setStatusTip("Enable Code recognition") + self.toolBar.Action17.setShortcut("Alt+E") + self.toolBar.Action17.triggered.connect(self.Reiablecode) + # zoom in + self.toolBar.Action18 = QtWidgets.QAction(QtGui.QIcon(":/ico3/in.png"),"Zoom In",self.toolBar) + self.toolBar.Action18.setStatusTip("Zoom In") + self.toolBar.Action18.setShortcut("CTRL+SHIFT++") + self.toolBar.Action18.triggered.connect(self.udder) + #zoom out + self.toolBar.Action19 = QtWidgets.QAction(QtGui.QIcon(":/ico3/out.png"),"Zoom Out",self.toolBar) + self.toolBar.Action19.setStatusTip("Zoom Out") + self.toolBar.Action19.setShortcut("CTRL+SHIFT+-") + self.toolBar.Action19.triggered.connect(self.odder) + + self.toolBar.Action20 = QtWidgets.QAction(QtGui.QIcon(":/ico3/10.png"),"Profile Code",self.toolBar) + self.toolBar.Action20.setStatusTip("Profile Code") + self.toolBar.Action20.setShortcut("CTRL+SHIFT+E") + self.toolBar.Action20.triggered.connect(self.runtoprob) + #PLUGINS HERE WE GO + self.toolBar.Action22 = QtWidgets.QAction(QtGui.QIcon(":/ico5/plugin.png"),"Plugin",self.toolBar) + self.toolBar.Action22.setStatusTip("Make plugin") + self.toolBar.Action22.setShortcut("") + self.toolBar.Action22.triggered.connect(self.plugin_make) + self.scriptfile = self.codebox.text() + self.filename = "" + + + #actions + self.toolBar.addAction(self.toolBar.newAction) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.secondAction) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action3) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action4) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action6) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action7) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action8) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action9) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action10) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action21) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action11) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action12) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action14) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action15) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action16) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action17) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action18) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action19) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action20) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action21) + self.toolBar.addSeparator() + self.toolBar.addAction(self.toolBar.Action22) + + self.skrift = QFont() + self.skrift.setFamily('Consolas') + self.skrift.setFixedPitch(True) + self.skrift.setPointSize(12) + self.codebox.setFont(self.skrift) + + #python style + self.lexer = QsciLexerPython(self.codebox) + self.lexer.setFont(self.skrift) + self.lexer.setEolFill(True) + #api test not working + api = Qsci.QsciAPIs(self.lexer) + API_FILE = dn+'\\Python.api' + API_FILE2 = dn+'\\idc.api' + API_FILE3 = dn+'\\idaapi.api' + api.load(API_FILE) + api.load(API_FILE2) + api.load(API_FILE3) + + api.prepare() + self.codebox.setAutoCompletionThreshold(0) + self.codebox.setAutoCompletionThreshold(6) + self.codebox.setAutoCompletionThreshold(8) + self.codebox.setAutoCompletionSource(Qsci.QsciScintilla.AcsAPIs) + self.lexer.setDefaultFont(self.skrift) + self.codebox.setLexer(self.lexer) + self.codebox.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Consolas') + + #line numbers + fontmetrics = QFontMetrics(self.skrift) + self.codebox.setMarginsFont(self.skrift) + self.codebox.setMarginWidth(0, fontmetrics.width("00000") + 6) + self.codebox.setTabWidth(4) + + #brace + self.codebox.setBraceMatching(QsciScintilla.SloppyBraceMatch) + + #auto line tab =4 + self.codebox.setAutoIndent(True) + + #scroolbar + self.codebox.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 1) + + self.retranslateUi(MainWindow) + + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(_translate("MainWindow", "Ida Pro Python Script Editor", None)) + self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar", None)) + + + + def plugin_make(self): + + Wizard.show() + + def sendgrapped(self): + print "hello" + helloclass = Ui_Wizard() + self.bsout = self.codebox.text() + helloclass.script_textEdit.setText(self.bsout) + + + + + def hubba(self): + print "sdfgsdgsgdghsghdg" + #print str(self.codebox.text()) + + + def udder(self): + self.codebox.zoomIn() + + def odder(self): + self.codebox.zoomOut() + + def newfile(self): + self.codebox.clear() + + def open(self): + self.path = QtCore.QFileInfo(self.filename).path() + + # Get filename and show only .writer files + (self.filename, _) = \ + QtWidgets.QFileDialog.getOpenFileName(self.vindu, + 'Open File', self.path, + 'Python Files (*.py *.pyc *.pyw)', '') + + if self.filename: + with open(self.filename, 'r') as self.file: + self.codebox.setText(self.file.read()) + os.chdir(str(self.path)) + + + def savefile(self): + self.path = QtCore.QFileInfo(self.filename).path() + (self.filename, _) = \ + QtWidgets.QFileDialog.getSaveFileName(self.vindu, 'Save as' + , self.path, 'Python Files (*.py *.pyc *.pyw)') + if self.filename: + self.savetext(self.filename) + os.chdir(str(self.path)) + + def savetext(self, fileName): + textout = self.codebox.text() + file = QtCore.QFile(fileName) + if file.open(QtCore.QIODevice.WriteOnly): + QtCore.QTextStream(file) << textout + else: + QtWidgets.QMessageBox.information(self.vindu, + 'Unable to open file', file.errorString()) + os.chdir(str(self.path)) + + def runto(self): + self.path = QtCore.QFileInfo(self.filename).path() + g = globals() + os.chdir(str(self.path)) + script = str(self.codebox.text()) + try: + os.chdir(str(self.path)) + os.path.join(os.path.expanduser('~'), os.path.expandvars(str(self.path))) + sys.path.insert(0, str(self.path)) + exec (script, g) + except Exception as e: + print e.__doc__ + print e.message + else: + pass + #exec (script, g) + + def runtoprob(self): + try: + self.path = QtCore.QFileInfo(self.filename).path() + self.path = QtCore.QFileInfo(self.filename).path() + g = globals() + os.chdir(str(self.path)) + script = str(self.codebox.text()) + import cProfile + cProfile.run(script) + except Exception as e: + print e.__doc__ + print e.message + else: + import cProfile + cProfile.run(script) + + def Diablecode(self): + self.codebox.setAutoCompletionSource(Qsci.QsciScintilla.AcsNone) + + def Reiablecode(self): + self.codebox.setAutoCompletionSource(Qsci.QsciScintilla.AcsAPIs) + + def nofoldingl(self): + self.codebox.setFolding(QsciScintilla.NoFoldStyle) + + def Circledfold(self): + self.codebox.setFolding(QsciScintilla.CircledTreeFoldStyle) + + def plainfold(self): + self.codebox.setFolding(QsciScintilla.PlainFoldStyle) + + def webopen(self): + import webbrowser + webbrowser.open('https://www.hex-rays.com/') + + + def sdkopen(self): + import webbrowser + webbrowser.open('https://www.hex-rays.com/products/ida/support/idapython_docs/') + + def gitopen(self): + import webbrowser + webbrowser.open('https://github.com/idapython/src/tree/build-1.7.2') + + def Author(self): + import webbrowser + webbrowser.open('https://github.com/techbliss') + + def font_choice(self): + self.lbl = self.lexer + font, ok = QtWidgets.QFontDialog.getFont() + if ok: + self.lbl.setFont(font) + + + def on_margin_clicked(self, nmargin, nline, modifiers): + # Toggle marker for the line the margin was clicked on + if self.codebox.markersAtLine(nline) != 0: + self.codebox.markerDelete(nline, self.ARROW_MARKER_NUM) + else: + self.codebox.markerAdd(nline, self.ARROW_MARKER_NUM) + + + + + + + +class MyWindow(QtWidgets.QMainWindow): + ''' + we have to ask user for quiting so we can change back to root dir + ''' + + def closeEvent(self, event): + reply = QMessageBox.question(self, 'Exit', + "Are you sure to quit?", QMessageBox.Yes | + QMessageBox.No, QMessageBox.No) + + if reply == QMessageBox.Yes: +# print dn + os.chdir(dn) + # print dn + #os.chdir('../..') + # print dn + print ''' +################################################### +# Author Storm Shadow # +# # +# Follow me on twitter # +# @zadow28 # +################################################### +# Ida pro python Editor # +################################################### +''' + event.accept() + os.chdir(dn) + else: + event.ignore() + os.chdir(dn) + + + +from PyQt5 import Qsci + + + + +Wizard = QtWidgets.QWizard() +#Wizard = QtWidgets.QWizard() +#app = QtWidgets.QApplication.instance() # enable for usage outside +#if not app: # enable for usage outside +# app = QtWidgets.QApplication([]) # enable for usage outside +MainWindow = MyWindow() +ui = Ui_MainWindow() +messageformForm = QtWidgets.QWidget() +ui2 = Ui_Wizard() +#ui3.setupUi1(messageformForm) +MainWindow.resize(1000, 600) +MainWindow.show() +# app.exec_() + + + + + diff --git a/7.2/plugins/Code editor/python.api b/7.2/plugins/Code editor/python.api new file mode 100644 index 0000000..90038e6 --- /dev/null +++ b/7.2/plugins/Code editor/python.api @@ -0,0 +1,11240 @@ +ArithmeticError +AssertionError +AttributeError +BaseException +BaseHTTPServer.BaseHTTPRequestHandler(??) [doc: HTTP request handler base class.] +BaseHTTPServer.DEFAULT_ERROR_MESSAGE +BaseHTTPServer.HTTPServer(??) [class] +BaseHTTPServer.SocketServer:: [module] +BaseHTTPServer.__all__ +BaseHTTPServer.__builtins__ +BaseHTTPServer.__doc__ +BaseHTTPServer.__file__ +BaseHTTPServer.__name__ +BaseHTTPServer.__version__ +BaseHTTPServer._quote_html(html) +BaseHTTPServer.mimetools:: [module] +BaseHTTPServer.socket:: [module] +BaseHTTPServer.sys:: [module] +BaseHTTPServer.test(??) [doc: Test the HTTP request handler class.] +BaseHTTPServer.time:: [module] +Bastion.Bastion(??) [doc: Create a bastion for an object, using an optional filter.] +Bastion.BastionClass(get, name) [doc: Helper class used by the Bastion() function.] +Bastion.MethodType +Bastion.__all__ +Bastion.__builtins__ +Bastion.__doc__ +Bastion.__file__ +Bastion.__name__ +Bastion._test() [doc: Test the Bastion() function.] +CGIHTTPServer.BaseHTTPServer:: [module] +CGIHTTPServer.CGIHTTPRequestHandler(??) [doc: Complete HTTP server with GET, HEAD and POST commands.] +CGIHTTPServer.SimpleHTTPServer:: [module] +CGIHTTPServer.__all__ +CGIHTTPServer.__builtins__ +CGIHTTPServer.__doc__ +CGIHTTPServer.__file__ +CGIHTTPServer.__name__ +CGIHTTPServer.__version__ +CGIHTTPServer.executable(path) [doc: Test for executable file.] +CGIHTTPServer.nobody +CGIHTTPServer.nobody_uid() [doc: Internal routine to get nobody's uid] +CGIHTTPServer.os:: [module] +CGIHTTPServer.select:: [module] +CGIHTTPServer.sys:: [module] +CGIHTTPServer.test(??) [function] +CGIHTTPServer.urllib:: [module] +ConfigParser.ConfigParser(??) [class] +ConfigParser.DEFAULTSECT +ConfigParser.DuplicateSectionError +ConfigParser.Error +ConfigParser.InterpolationDepthError +ConfigParser.InterpolationError +ConfigParser.InterpolationMissingOptionError +ConfigParser.InterpolationSyntaxError +ConfigParser.MAX_INTERPOLATION_DEPTH +ConfigParser.MissingSectionHeaderError +ConfigParser.NoOptionError +ConfigParser.NoSectionError +ConfigParser.ParsingError +ConfigParser.RawConfigParser(defaults=None) +ConfigParser.SafeConfigParser(??) [class] +ConfigParser.__all__ +ConfigParser.__builtins__ +ConfigParser.__doc__ +ConfigParser.__file__ +ConfigParser.__name__ +ConfigParser.re:: [module] +Cookie.BaseCookie +Cookie.Cookie +Cookie.CookieError +Cookie.Morsel +Cookie.SerialCookie +Cookie.SimpleCookie +Cookie.SmartCookie +Cookie._CookiePattern +Cookie._LegalChars +Cookie._LegalCharsPatt +Cookie._OctalPatt +Cookie._QuotePatt +Cookie._Translator +Cookie.__all__ +Cookie.__builtins__ +Cookie.__doc__ +Cookie.__file__ +Cookie.__name__ +Cookie._getdate(future=0, weekdayname=_weekdayname, monthname=_monthname) +Cookie._idmap +Cookie._monthname +Cookie._nulljoin +Cookie._quote(??) [function] +Cookie._semispacejoin +Cookie._spacejoin +Cookie._test() +Cookie._unquote(str) +Cookie._weekdayname +Cookie.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. +Cookie.loads(string) -- Load a pickle from the given string +Cookie.re:: [module] +Cookie.string:: [module] +Cookie.warnings:: [module] +DeprecationWarning +DocXMLRPCServer.CGIXMLRPCRequestHandler(??) [doc: Simple handler for XML-RPC data passed through CGI.] +DocXMLRPCServer.DocCGIXMLRPCRequestHandler(??) [doc: Handler for XML-RPC data and documentation requests passed through] +DocXMLRPCServer.DocXMLRPCRequestHandler(??) [doc: XML-RPC and documentation request handler class.] +DocXMLRPCServer.DocXMLRPCServer(??) [doc: XML-RPC and HTML documentation server.] +DocXMLRPCServer.ServerHTMLDoc(??) [doc: Class used to generate pydoc HTML document for a server] +DocXMLRPCServer.SimpleXMLRPCRequestHandler(??) [doc: Simple XML-RPC request handler class.] +DocXMLRPCServer.SimpleXMLRPCServer(??) [doc: Simple XML-RPC server.] +DocXMLRPCServer.XMLRPCDocGenerator(??) [doc: Generates documentation for an XML-RPC server.] +DocXMLRPCServer.__builtins__ +DocXMLRPCServer.__doc__ +DocXMLRPCServer.__file__ +DocXMLRPCServer.__name__ +DocXMLRPCServer.inspect:: [module] +DocXMLRPCServer.pydoc:: [module] +DocXMLRPCServer.re:: [module] +DocXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d +DocXMLRPCServer.sys:: [module] +EOFError +Ellipsis +EnvironmentError +Exception +False +FloatingPointError +FutureWarning +GeneratorExit +HTMLParser.HTMLParseError +HTMLParser.HTMLParser(??) [doc: Find tags and other markup and call handler functions.] +HTMLParser.__builtins__ +HTMLParser.__doc__ +HTMLParser.__file__ +HTMLParser.__name__ +HTMLParser.attrfind +HTMLParser.charref +HTMLParser.commentclose +HTMLParser.endendtag +HTMLParser.endtagfind +HTMLParser.entityref +HTMLParser.incomplete +HTMLParser.interesting_cdata +HTMLParser.interesting_normal +HTMLParser.locatestarttagend +HTMLParser.markupbase:: [module] +HTMLParser.piclose +HTMLParser.re:: [module] +HTMLParser.starttagopen +HTMLParser.tagfind +IOError +ImportError +ImportWarning +IndentationError +IndexError +KeyError +KeyboardInterrupt +LookupError +MemoryError +MimeWriter.MimeWriter(fp) [doc: Generic MIME writer.] +MimeWriter.__all__ +MimeWriter.__builtins__ +MimeWriter.__doc__ +MimeWriter.__file__ +MimeWriter.__name__ +MimeWriter.mimetools:: [module] +NameError +None +NotImplemented +NotImplementedError +OSError +OverflowError +PendingDeprecationWarning +PyQt4.Qsci.QSCINTILLA_VERSION +PyQt4.Qsci.QSCINTILLA_VERSION_STR +PyQt4.Qsci.QsciAPIs +PyQt4.Qsci.QsciCommand +PyQt4.Qsci.QsciCommandSet +PyQt4.Qsci.QsciDocument +PyQt4.Qsci.QsciLexer +PyQt4.Qsci.QsciLexerBash +PyQt4.Qsci.QsciLexerBatch +PyQt4.Qsci.QsciLexerCMake +PyQt4.Qsci.QsciLexerCPP +PyQt4.Qsci.QsciLexerCSS +PyQt4.Qsci.QsciLexerCSharp +PyQt4.Qsci.QsciLexerD +PyQt4.Qsci.QsciLexerDiff +PyQt4.Qsci.QsciLexerHTML +PyQt4.Qsci.QsciLexerIDL +PyQt4.Qsci.QsciLexerJava +PyQt4.Qsci.QsciLexerJavaScript +PyQt4.Qsci.QsciLexerLua +PyQt4.Qsci.QsciLexerMakefile +PyQt4.Qsci.QsciLexerPOV +PyQt4.Qsci.QsciLexerPerl +PyQt4.Qsci.QsciLexerProperties +PyQt4.Qsci.QsciLexerPython +PyQt4.Qsci.QsciLexerRuby +PyQt4.Qsci.QsciLexerSQL +PyQt4.Qsci.QsciLexerTeX +PyQt4.Qsci.QsciLexerVHDL +PyQt4.Qsci.QsciMacro +PyQt4.Qsci.QsciPrinter +PyQt4.Qsci.QsciScintilla +PyQt4.Qsci.QsciScintillaBase +PyQt4.Qsci.__doc__ +PyQt4.Qsci.__file__ +PyQt4.Qsci.__name__ +PyQt4.Qsci:: [module] +PyQt4.Qt.MSG +PyQt4.Qt.POINT +PyQt4.Qt.PYQT_VERSION +PyQt4.Qt.PYQT_VERSION_STR +PyQt4.Qt.QAbstractButton +PyQt4.Qt.QAbstractEventDispatcher +PyQt4.Qt.QAbstractExtensionFactory +PyQt4.Qt.QAbstractExtensionManager +PyQt4.Qt.QAbstractFileEngine +PyQt4.Qt.QAbstractFileEngineHandler +PyQt4.Qt.QAbstractFileEngineIterator +PyQt4.Qt.QAbstractFormBuilder +PyQt4.Qt.QAbstractGraphicsShapeItem +PyQt4.Qt.QAbstractItemDelegate +PyQt4.Qt.QAbstractItemModel +PyQt4.Qt.QAbstractItemView +PyQt4.Qt.QAbstractListModel +PyQt4.Qt.QAbstractMessageHandler +PyQt4.Qt.QAbstractPrintDialog +PyQt4.Qt.QAbstractProxyModel +PyQt4.Qt.QAbstractScrollArea +PyQt4.Qt.QAbstractSlider +PyQt4.Qt.QAbstractSocket +PyQt4.Qt.QAbstractSpinBox +PyQt4.Qt.QAbstractTableModel +PyQt4.Qt.QAbstractTextDocumentLayout +PyQt4.Qt.QAbstractUriResolver +PyQt4.Qt.QAbstractXmlNodeModel +PyQt4.Qt.QAbstractXmlReceiver +PyQt4.Qt.QAction +PyQt4.Qt.QActionEvent +PyQt4.Qt.QActionGroup +PyQt4.Qt.QApplication +PyQt4.Qt.QAssistantClient +PyQt4.Qt.QAuthenticator +PyQt4.Qt.QBasicTimer +PyQt4.Qt.QBitArray +PyQt4.Qt.QBitmap +PyQt4.Qt.QBoxLayout +PyQt4.Qt.QBrush +PyQt4.Qt.QBuffer +PyQt4.Qt.QButtonGroup +PyQt4.Qt.QByteArray +PyQt4.Qt.QByteArrayMatcher +PyQt4.Qt.QCalendarWidget +PyQt4.Qt.QChar +PyQt4.Qt.QCheckBox +PyQt4.Qt.QChildEvent +PyQt4.Qt.QClipboard +PyQt4.Qt.QCloseEvent +PyQt4.Qt.QColor +PyQt4.Qt.QColorDialog +PyQt4.Qt.QColumnView +PyQt4.Qt.QComboBox +PyQt4.Qt.QCommandLinkButton +PyQt4.Qt.QCompleter +PyQt4.Qt.QConicalGradient +PyQt4.Qt.QContextMenuEvent +PyQt4.Qt.QCoreApplication +PyQt4.Qt.QCryptographicHash +PyQt4.Qt.QCursor +PyQt4.Qt.QDataStream +PyQt4.Qt.QDataWidgetMapper +PyQt4.Qt.QDate +PyQt4.Qt.QDateEdit +PyQt4.Qt.QDateTime +PyQt4.Qt.QDateTimeEdit +PyQt4.Qt.QDesignerActionEditorInterface +PyQt4.Qt.QDesignerContainerExtension +PyQt4.Qt.QDesignerCustomWidgetCollectionInterface +PyQt4.Qt.QDesignerCustomWidgetInterface +PyQt4.Qt.QDesignerFormEditorInterface +PyQt4.Qt.QDesignerFormWindowCursorInterface +PyQt4.Qt.QDesignerFormWindowInterface +PyQt4.Qt.QDesignerFormWindowManagerInterface +PyQt4.Qt.QDesignerMemberSheetExtension +PyQt4.Qt.QDesignerObjectInspectorInterface +PyQt4.Qt.QDesignerPropertyEditorInterface +PyQt4.Qt.QDesignerPropertySheetExtension +PyQt4.Qt.QDesignerTaskMenuExtension +PyQt4.Qt.QDesignerWidgetBoxInterface +PyQt4.Qt.QDesktopServices +PyQt4.Qt.QDesktopWidget +PyQt4.Qt.QDial +PyQt4.Qt.QDialog +PyQt4.Qt.QDialogButtonBox +PyQt4.Qt.QDir +PyQt4.Qt.QDirIterator +PyQt4.Qt.QDirModel +PyQt4.Qt.QDockWidget +PyQt4.Qt.QDomAttr +PyQt4.Qt.QDomCDATASection +PyQt4.Qt.QDomCharacterData +PyQt4.Qt.QDomComment +PyQt4.Qt.QDomDocument +PyQt4.Qt.QDomDocumentFragment +PyQt4.Qt.QDomDocumentType +PyQt4.Qt.QDomElement +PyQt4.Qt.QDomEntity +PyQt4.Qt.QDomEntityReference +PyQt4.Qt.QDomImplementation +PyQt4.Qt.QDomNamedNodeMap +PyQt4.Qt.QDomNode +PyQt4.Qt.QDomNodeList +PyQt4.Qt.QDomNotation +PyQt4.Qt.QDomProcessingInstruction +PyQt4.Qt.QDomText +PyQt4.Qt.QDoubleSpinBox +PyQt4.Qt.QDoubleValidator +PyQt4.Qt.QDrag +PyQt4.Qt.QDragEnterEvent +PyQt4.Qt.QDragLeaveEvent +PyQt4.Qt.QDragMoveEvent +PyQt4.Qt.QDropEvent +PyQt4.Qt.QDynamicPropertyChangeEvent +PyQt4.Qt.QErrorMessage +PyQt4.Qt.QEvent +PyQt4.Qt.QEventLoop +PyQt4.Qt.QExtensionFactory +PyQt4.Qt.QExtensionManager +PyQt4.Qt.QFSFileEngine +PyQt4.Qt.QFile +PyQt4.Qt.QFileDialog +PyQt4.Qt.QFileIconProvider +PyQt4.Qt.QFileInfo +PyQt4.Qt.QFileOpenEvent +PyQt4.Qt.QFileSystemModel +PyQt4.Qt.QFileSystemWatcher +PyQt4.Qt.QFocusEvent +PyQt4.Qt.QFocusFrame +PyQt4.Qt.QFont +PyQt4.Qt.QFontComboBox +PyQt4.Qt.QFontDatabase +PyQt4.Qt.QFontDialog +PyQt4.Qt.QFontInfo +PyQt4.Qt.QFontMetrics +PyQt4.Qt.QFontMetricsF +PyQt4.Qt.QFormBuilder +PyQt4.Qt.QFormLayout +PyQt4.Qt.QFrame +PyQt4.Qt.QFtp +PyQt4.Qt.QGL +PyQt4.Qt.QGLColormap +PyQt4.Qt.QGLContext +PyQt4.Qt.QGLFormat +PyQt4.Qt.QGLFramebufferObject +PyQt4.Qt.QGLPixelBuffer +PyQt4.Qt.QGLWidget +PyQt4.Qt.QGenericArgument +PyQt4.Qt.QGenericReturnArgument +PyQt4.Qt.QGradient +PyQt4.Qt.QGraphicsEllipseItem +PyQt4.Qt.QGraphicsGridLayout +PyQt4.Qt.QGraphicsItem +PyQt4.Qt.QGraphicsItemAnimation +PyQt4.Qt.QGraphicsItemGroup +PyQt4.Qt.QGraphicsLayout +PyQt4.Qt.QGraphicsLayoutItem +PyQt4.Qt.QGraphicsLineItem +PyQt4.Qt.QGraphicsLinearLayout +PyQt4.Qt.QGraphicsPathItem +PyQt4.Qt.QGraphicsPixmapItem +PyQt4.Qt.QGraphicsPolygonItem +PyQt4.Qt.QGraphicsProxyWidget +PyQt4.Qt.QGraphicsRectItem +PyQt4.Qt.QGraphicsScene +PyQt4.Qt.QGraphicsSceneContextMenuEvent +PyQt4.Qt.QGraphicsSceneDragDropEvent +PyQt4.Qt.QGraphicsSceneEvent +PyQt4.Qt.QGraphicsSceneHelpEvent +PyQt4.Qt.QGraphicsSceneHoverEvent +PyQt4.Qt.QGraphicsSceneMouseEvent +PyQt4.Qt.QGraphicsSceneMoveEvent +PyQt4.Qt.QGraphicsSceneResizeEvent +PyQt4.Qt.QGraphicsSceneWheelEvent +PyQt4.Qt.QGraphicsSimpleTextItem +PyQt4.Qt.QGraphicsSvgItem +PyQt4.Qt.QGraphicsTextItem +PyQt4.Qt.QGraphicsView +PyQt4.Qt.QGraphicsWidget +PyQt4.Qt.QGridLayout +PyQt4.Qt.QGroupBox +PyQt4.Qt.QHBoxLayout +PyQt4.Qt.QHeaderView +PyQt4.Qt.QHelpContentItem +PyQt4.Qt.QHelpContentModel +PyQt4.Qt.QHelpContentWidget +PyQt4.Qt.QHelpEngine +PyQt4.Qt.QHelpEngineCore +PyQt4.Qt.QHelpEvent +PyQt4.Qt.QHelpIndexModel +PyQt4.Qt.QHelpIndexWidget +PyQt4.Qt.QHelpSearchEngine +PyQt4.Qt.QHelpSearchQuery +PyQt4.Qt.QHelpSearchQueryWidget +PyQt4.Qt.QHelpSearchResultWidget +PyQt4.Qt.QHideEvent +PyQt4.Qt.QHostAddress +PyQt4.Qt.QHostInfo +PyQt4.Qt.QHoverEvent +PyQt4.Qt.QHttp +PyQt4.Qt.QHttpHeader +PyQt4.Qt.QHttpRequestHeader +PyQt4.Qt.QHttpResponseHeader +PyQt4.Qt.QIODevice +PyQt4.Qt.QIcon +PyQt4.Qt.QIconDragEvent +PyQt4.Qt.QIconEngine +PyQt4.Qt.QIconEngineV2 +PyQt4.Qt.QImage +PyQt4.Qt.QImageIOHandler +PyQt4.Qt.QImageReader +PyQt4.Qt.QImageWriter +PyQt4.Qt.QInputContext +PyQt4.Qt.QInputDialog +PyQt4.Qt.QInputEvent +PyQt4.Qt.QInputMethodEvent +PyQt4.Qt.QIntValidator +PyQt4.Qt.QItemDelegate +PyQt4.Qt.QItemEditorCreatorBase +PyQt4.Qt.QItemEditorFactory +PyQt4.Qt.QItemSelection +PyQt4.Qt.QItemSelectionModel +PyQt4.Qt.QItemSelectionRange +PyQt4.Qt.QKeyEvent +PyQt4.Qt.QKeySequence +PyQt4.Qt.QLCDNumber +PyQt4.Qt.QLabel +PyQt4.Qt.QLatin1Char +PyQt4.Qt.QLatin1String +PyQt4.Qt.QLayout +PyQt4.Qt.QLayoutItem +PyQt4.Qt.QLibrary +PyQt4.Qt.QLibraryInfo +PyQt4.Qt.QLine +PyQt4.Qt.QLineEdit +PyQt4.Qt.QLineF +PyQt4.Qt.QLinearGradient +PyQt4.Qt.QListView +PyQt4.Qt.QListWidget +PyQt4.Qt.QListWidgetItem +PyQt4.Qt.QLocalServer +PyQt4.Qt.QLocalSocket +PyQt4.Qt.QLocale +PyQt4.Qt.QMainWindow +PyQt4.Qt.QMatrix +PyQt4.Qt.QMdiArea +PyQt4.Qt.QMdiSubWindow +PyQt4.Qt.QMenu +PyQt4.Qt.QMenuBar +PyQt4.Qt.QMessageBox +PyQt4.Qt.QMetaClassInfo +PyQt4.Qt.QMetaEnum +PyQt4.Qt.QMetaMethod +PyQt4.Qt.QMetaObject +PyQt4.Qt.QMetaProperty +PyQt4.Qt.QMetaType +PyQt4.Qt.QMimeData +PyQt4.Qt.QMimeSource +PyQt4.Qt.QModelIndex +PyQt4.Qt.QMouseEvent +PyQt4.Qt.QMoveEvent +PyQt4.Qt.QMovie +PyQt4.Qt.QMutex +PyQt4.Qt.QMutexLocker +PyQt4.Qt.QNetworkAccessManager +PyQt4.Qt.QNetworkAddressEntry +PyQt4.Qt.QNetworkCookie +PyQt4.Qt.QNetworkCookieJar +PyQt4.Qt.QNetworkInterface +PyQt4.Qt.QNetworkProxy +PyQt4.Qt.QNetworkReply +PyQt4.Qt.QNetworkRequest +PyQt4.Qt.QObject +PyQt4.Qt.QObjectCleanupHandler +PyQt4.Qt.QPageSetupDialog +PyQt4.Qt.QPaintDevice +PyQt4.Qt.QPaintEngine +PyQt4.Qt.QPaintEngineState +PyQt4.Qt.QPaintEvent +PyQt4.Qt.QPainter +PyQt4.Qt.QPainterPath +PyQt4.Qt.QPainterPathStroker +PyQt4.Qt.QPalette +PyQt4.Qt.QPen +PyQt4.Qt.QPersistentModelIndex +PyQt4.Qt.QPicture +PyQt4.Qt.QPictureIO +PyQt4.Qt.QPixmap +PyQt4.Qt.QPixmapCache +PyQt4.Qt.QPlainTextDocumentLayout +PyQt4.Qt.QPlainTextEdit +PyQt4.Qt.QPluginLoader +PyQt4.Qt.QPoint +PyQt4.Qt.QPointF +PyQt4.Qt.QPolygon +PyQt4.Qt.QPolygonF +PyQt4.Qt.QPrintDialog +PyQt4.Qt.QPrintEngine +PyQt4.Qt.QPrintPreviewDialog +PyQt4.Qt.QPrintPreviewWidget +PyQt4.Qt.QPrinter +PyQt4.Qt.QPrinterInfo +PyQt4.Qt.QProcess +PyQt4.Qt.QProgressBar +PyQt4.Qt.QProgressDialog +PyQt4.Qt.QProxyModel +PyQt4.Qt.QPushButton +PyQt4.Qt.QPyDesignerContainerExtension +PyQt4.Qt.QPyDesignerCustomWidgetCollectionPlugin +PyQt4.Qt.QPyDesignerCustomWidgetPlugin +PyQt4.Qt.QPyDesignerMemberSheetExtension +PyQt4.Qt.QPyDesignerPropertySheetExtension +PyQt4.Qt.QPyDesignerTaskMenuExtension +PyQt4.Qt.QRadialGradient +PyQt4.Qt.QRadioButton +PyQt4.Qt.QReadLocker +PyQt4.Qt.QReadWriteLock +PyQt4.Qt.QRect +PyQt4.Qt.QRectF +PyQt4.Qt.QRegExp +PyQt4.Qt.QRegExpValidator +PyQt4.Qt.QRegion +PyQt4.Qt.QResizeEvent +PyQt4.Qt.QResource +PyQt4.Qt.QRubberBand +PyQt4.Qt.QRunnable +PyQt4.Qt.QScriptClass +PyQt4.Qt.QScriptClassPropertyIterator +PyQt4.Qt.QScriptContext +PyQt4.Qt.QScriptContextInfo +PyQt4.Qt.QScriptEngine +PyQt4.Qt.QScriptEngineAgent +PyQt4.Qt.QScriptString +PyQt4.Qt.QScriptValue +PyQt4.Qt.QScriptValueIterator +PyQt4.Qt.QScrollArea +PyQt4.Qt.QScrollBar +PyQt4.Qt.QSemaphore +PyQt4.Qt.QSessionManager +PyQt4.Qt.QSettings +PyQt4.Qt.QSharedMemory +PyQt4.Qt.QShortcut +PyQt4.Qt.QShortcutEvent +PyQt4.Qt.QShowEvent +PyQt4.Qt.QSignalMapper +PyQt4.Qt.QSimpleXmlNodeModel +PyQt4.Qt.QSize +PyQt4.Qt.QSizeF +PyQt4.Qt.QSizeGrip +PyQt4.Qt.QSizePolicy +PyQt4.Qt.QSlider +PyQt4.Qt.QSocketNotifier +PyQt4.Qt.QSortFilterProxyModel +PyQt4.Qt.QSound +PyQt4.Qt.QSourceLocation +PyQt4.Qt.QSpacerItem +PyQt4.Qt.QSpinBox +PyQt4.Qt.QSplashScreen +PyQt4.Qt.QSplitter +PyQt4.Qt.QSplitterHandle +PyQt4.Qt.QSql +PyQt4.Qt.QSqlDatabase +PyQt4.Qt.QSqlDriver +PyQt4.Qt.QSqlDriverCreatorBase +PyQt4.Qt.QSqlError +PyQt4.Qt.QSqlField +PyQt4.Qt.QSqlIndex +PyQt4.Qt.QSqlQuery +PyQt4.Qt.QSqlQueryModel +PyQt4.Qt.QSqlRecord +PyQt4.Qt.QSqlRelation +PyQt4.Qt.QSqlRelationalDelegate +PyQt4.Qt.QSqlRelationalTableModel +PyQt4.Qt.QSqlResult +PyQt4.Qt.QSqlTableModel +PyQt4.Qt.QSsl +PyQt4.Qt.QSslCertificate +PyQt4.Qt.QSslCipher +PyQt4.Qt.QSslConfiguration +PyQt4.Qt.QSslError +PyQt4.Qt.QSslKey +PyQt4.Qt.QSslSocket +PyQt4.Qt.QStackedLayout +PyQt4.Qt.QStackedWidget +PyQt4.Qt.QStandardItem +PyQt4.Qt.QStandardItemModel +PyQt4.Qt.QStatusBar +PyQt4.Qt.QStatusTipEvent +PyQt4.Qt.QString +PyQt4.Qt.QStringList +PyQt4.Qt.QStringListModel +PyQt4.Qt.QStringMatcher +PyQt4.Qt.QStringRef +PyQt4.Qt.QStyle +PyQt4.Qt.QStyleFactory +PyQt4.Qt.QStyleHintReturn +PyQt4.Qt.QStyleHintReturnMask +PyQt4.Qt.QStyleHintReturnVariant +PyQt4.Qt.QStyleOption +PyQt4.Qt.QStyleOptionButton +PyQt4.Qt.QStyleOptionComboBox +PyQt4.Qt.QStyleOptionComplex +PyQt4.Qt.QStyleOptionDockWidget +PyQt4.Qt.QStyleOptionDockWidgetV2 +PyQt4.Qt.QStyleOptionFocusRect +PyQt4.Qt.QStyleOptionFrame +PyQt4.Qt.QStyleOptionFrameV2 +PyQt4.Qt.QStyleOptionGraphicsItem +PyQt4.Qt.QStyleOptionGroupBox +PyQt4.Qt.QStyleOptionHeader +PyQt4.Qt.QStyleOptionMenuItem +PyQt4.Qt.QStyleOptionProgressBar +PyQt4.Qt.QStyleOptionProgressBarV2 +PyQt4.Qt.QStyleOptionRubberBand +PyQt4.Qt.QStyleOptionSizeGrip +PyQt4.Qt.QStyleOptionSlider +PyQt4.Qt.QStyleOptionSpinBox +PyQt4.Qt.QStyleOptionTab +PyQt4.Qt.QStyleOptionTabBarBase +PyQt4.Qt.QStyleOptionTabV2 +PyQt4.Qt.QStyleOptionTabWidgetFrame +PyQt4.Qt.QStyleOptionTitleBar +PyQt4.Qt.QStyleOptionToolBar +PyQt4.Qt.QStyleOptionToolBox +PyQt4.Qt.QStyleOptionToolBoxV2 +PyQt4.Qt.QStyleOptionToolButton +PyQt4.Qt.QStyleOptionViewItem +PyQt4.Qt.QStyleOptionViewItemV2 +PyQt4.Qt.QStyleOptionViewItemV3 +PyQt4.Qt.QStyleOptionViewItemV4 +PyQt4.Qt.QStylePainter +PyQt4.Qt.QStyledItemDelegate +PyQt4.Qt.QSvgGenerator +PyQt4.Qt.QSvgRenderer +PyQt4.Qt.QSvgWidget +PyQt4.Qt.QSyntaxHighlighter +PyQt4.Qt.QSysInfo +PyQt4.Qt.QSystemLocale +PyQt4.Qt.QSystemSemaphore +PyQt4.Qt.QSystemTrayIcon +PyQt4.Qt.QT_TRANSLATE_NOOP +PyQt4.Qt.QT_TR_NOOP +PyQt4.Qt.QT_VERSION +PyQt4.Qt.QT_VERSION_STR +PyQt4.Qt.QTabBar +PyQt4.Qt.QTabWidget +PyQt4.Qt.QTableView +PyQt4.Qt.QTableWidget +PyQt4.Qt.QTableWidgetItem +PyQt4.Qt.QTableWidgetSelectionRange +PyQt4.Qt.QTabletEvent +PyQt4.Qt.QTcpServer +PyQt4.Qt.QTcpSocket +PyQt4.Qt.QTemporaryFile +PyQt4.Qt.QTest +PyQt4.Qt.QTextBlock +PyQt4.Qt.QTextBlockFormat +PyQt4.Qt.QTextBlockGroup +PyQt4.Qt.QTextBlockUserData +PyQt4.Qt.QTextBoundaryFinder +PyQt4.Qt.QTextBrowser +PyQt4.Qt.QTextCharFormat +PyQt4.Qt.QTextCodec +PyQt4.Qt.QTextCursor +PyQt4.Qt.QTextDecoder +PyQt4.Qt.QTextDocument +PyQt4.Qt.QTextDocumentFragment +PyQt4.Qt.QTextEdit +PyQt4.Qt.QTextEncoder +PyQt4.Qt.QTextFormat +PyQt4.Qt.QTextFragment +PyQt4.Qt.QTextFrame +PyQt4.Qt.QTextFrameFormat +PyQt4.Qt.QTextImageFormat +PyQt4.Qt.QTextInlineObject +PyQt4.Qt.QTextItem +PyQt4.Qt.QTextLayout +PyQt4.Qt.QTextLength +PyQt4.Qt.QTextLine +PyQt4.Qt.QTextList +PyQt4.Qt.QTextListFormat +PyQt4.Qt.QTextObject +PyQt4.Qt.QTextOption +PyQt4.Qt.QTextStream +PyQt4.Qt.QTextStreamManipulator +PyQt4.Qt.QTextTable +PyQt4.Qt.QTextTableCell +PyQt4.Qt.QTextTableCellFormat +PyQt4.Qt.QTextTableFormat +PyQt4.Qt.QThread +PyQt4.Qt.QThreadPool +PyQt4.Qt.QTime +PyQt4.Qt.QTimeEdit +PyQt4.Qt.QTimeLine +PyQt4.Qt.QTimer +PyQt4.Qt.QTimerEvent +PyQt4.Qt.QToolBar +PyQt4.Qt.QToolBox +PyQt4.Qt.QToolButton +PyQt4.Qt.QToolTip +PyQt4.Qt.QTransform +PyQt4.Qt.QTranslator +PyQt4.Qt.QTreeView +PyQt4.Qt.QTreeWidget +PyQt4.Qt.QTreeWidgetItem +PyQt4.Qt.QTreeWidgetItemIterator +PyQt4.Qt.QUdpSocket +PyQt4.Qt.QUndoCommand +PyQt4.Qt.QUndoGroup +PyQt4.Qt.QUndoStack +PyQt4.Qt.QUndoView +PyQt4.Qt.QUrl +PyQt4.Qt.QUrlInfo +PyQt4.Qt.QUuid +PyQt4.Qt.QVBoxLayout +PyQt4.Qt.QValidator +PyQt4.Qt.QVariant +PyQt4.Qt.QWaitCondition +PyQt4.Qt.QWebFrame +PyQt4.Qt.QWebHistory +PyQt4.Qt.QWebHistoryInterface +PyQt4.Qt.QWebHistoryItem +PyQt4.Qt.QWebHitTestResult +PyQt4.Qt.QWebPage +PyQt4.Qt.QWebPluginFactory +PyQt4.Qt.QWebSettings +PyQt4.Qt.QWebView +PyQt4.Qt.QWhatsThis +PyQt4.Qt.QWhatsThisClickedEvent +PyQt4.Qt.QWheelEvent +PyQt4.Qt.QWidget +PyQt4.Qt.QWidgetAction +PyQt4.Qt.QWidgetItem +PyQt4.Qt.QWindowStateChangeEvent +PyQt4.Qt.QWizard +PyQt4.Qt.QWizardPage +PyQt4.Qt.QWorkspace +PyQt4.Qt.QWriteLocker +PyQt4.Qt.QXmlAttributes +PyQt4.Qt.QXmlContentHandler +PyQt4.Qt.QXmlDTDHandler +PyQt4.Qt.QXmlDeclHandler +PyQt4.Qt.QXmlDefaultHandler +PyQt4.Qt.QXmlEntityResolver +PyQt4.Qt.QXmlErrorHandler +PyQt4.Qt.QXmlFormatter +PyQt4.Qt.QXmlInputSource +PyQt4.Qt.QXmlItem +PyQt4.Qt.QXmlLexicalHandler +PyQt4.Qt.QXmlLocator +PyQt4.Qt.QXmlName +PyQt4.Qt.QXmlNamePool +PyQt4.Qt.QXmlNamespaceSupport +PyQt4.Qt.QXmlNodeModelIndex +PyQt4.Qt.QXmlParseException +PyQt4.Qt.QXmlQuery +PyQt4.Qt.QXmlReader +PyQt4.Qt.QXmlResultItems +PyQt4.Qt.QXmlSerializer +PyQt4.Qt.QXmlSimpleReader +PyQt4.Qt.QXmlStreamAttribute +PyQt4.Qt.QXmlStreamAttributes +PyQt4.Qt.QXmlStreamEntityDeclaration +PyQt4.Qt.QXmlStreamEntityResolver +PyQt4.Qt.QXmlStreamNamespaceDeclaration +PyQt4.Qt.QXmlStreamNotationDeclaration +PyQt4.Qt.QXmlStreamReader +PyQt4.Qt.QXmlStreamWriter +PyQt4.Qt.Q_ARG +PyQt4.Qt.Q_ENUMS +PyQt4.Qt.Q_FLAGS +PyQt4.Qt.Q_RETURN_ARG +PyQt4.Qt.Qt +PyQt4.Qt.QtCriticalMsg +PyQt4.Qt.QtDebugMsg +PyQt4.Qt.QtFatalMsg +PyQt4.Qt.QtMsgType +PyQt4.Qt.QtSystemMsg +PyQt4.Qt.QtWarningMsg +PyQt4.Qt.SIGNAL +PyQt4.Qt.SLOT +PyQt4.Qt.__doc__ +PyQt4.Qt.__file__ +PyQt4.Qt.__license__ +PyQt4.Qt.__name__ +PyQt4.Qt.bin +PyQt4.Qt.bom +PyQt4.Qt.center +PyQt4.Qt.dec +PyQt4.Qt.endl +PyQt4.Qt.fixed +PyQt4.Qt.flush +PyQt4.Qt.forcepoint +PyQt4.Qt.forcesign +PyQt4.Qt.hex +PyQt4.Qt.left +PyQt4.Qt.lowercasebase +PyQt4.Qt.lowercasedigits +PyQt4.Qt.noforcepoint +PyQt4.Qt.noforcesign +PyQt4.Qt.noshowbase +PyQt4.Qt.oct +PyQt4.Qt.pyqtProperty +PyQt4.Qt.pyqtRemoveInputHook +PyQt4.Qt.pyqtRestoreInputHook +PyQt4.Qt.pyqtSignature +PyQt4.Qt.qAbs +PyQt4.Qt.qAddPostRoutine +PyQt4.Qt.qAlpha +PyQt4.Qt.qApp +PyQt4.Qt.qBlue +PyQt4.Qt.qChecksum +PyQt4.Qt.qCompress +PyQt4.Qt.qCritical +PyQt4.Qt.qDebug +PyQt4.Qt.qDrawPlainRect +PyQt4.Qt.qDrawShadeLine +PyQt4.Qt.qDrawShadePanel +PyQt4.Qt.qDrawShadeRect +PyQt4.Qt.qDrawWinButton +PyQt4.Qt.qDrawWinPanel +PyQt4.Qt.qErrnoWarning +PyQt4.Qt.qFatal +PyQt4.Qt.qFuzzyCompare +PyQt4.Qt.qGray +PyQt4.Qt.qGreen +PyQt4.Qt.qInf +PyQt4.Qt.qInstallMsgHandler +PyQt4.Qt.qIsFinite +PyQt4.Qt.qIsGray +PyQt4.Qt.qIsInf +PyQt4.Qt.qIsNaN +PyQt4.Qt.qIsNull +PyQt4.Qt.qQNaN +PyQt4.Qt.qRed +PyQt4.Qt.qRegisterResourceData +PyQt4.Qt.qRemovePostRoutine +PyQt4.Qt.qRgb +PyQt4.Qt.qRgba +PyQt4.Qt.qRound +PyQt4.Qt.qRound64 +PyQt4.Qt.qSNaN +PyQt4.Qt.qScriptConnect +PyQt4.Qt.qScriptDisconnect +PyQt4.Qt.qSetFieldWidth +PyQt4.Qt.qSetPadChar +PyQt4.Qt.qSetRealNumberPrecision +PyQt4.Qt.qSharedBuild +PyQt4.Qt.qSwap +PyQt4.Qt.qUncompress +PyQt4.Qt.qUnregisterResourceData +PyQt4.Qt.qVersion +PyQt4.Qt.qWarning +PyQt4.Qt.qrand +PyQt4.Qt.qsrand +PyQt4.Qt.qstrcmp +PyQt4.Qt.qstrcpy +PyQt4.Qt.qstrdup +PyQt4.Qt.qstricmp +PyQt4.Qt.qstrlen +PyQt4.Qt.qstrncmp +PyQt4.Qt.qstrncpy +PyQt4.Qt.qstrnicmp +PyQt4.Qt.qstrnlen +PyQt4.Qt.qt_set_sequence_auto_mnemonic +PyQt4.Qt.reset +PyQt4.Qt.right +PyQt4.Qt.scientific +PyQt4.Qt.showbase +PyQt4.Qt.uppercasebase +PyQt4.Qt.uppercasedigits +PyQt4.Qt.ws +PyQt4.Qt:: [module] +PyQt4.QtAssistant.QAssistantClient +PyQt4.QtAssistant.__doc__ +PyQt4.QtAssistant.__file__ +PyQt4.QtAssistant.__name__ +PyQt4.QtAssistant:: [module] +PyQt4.QtCore.MSG +PyQt4.QtCore.POINT +PyQt4.QtCore.PYQT_VERSION +PyQt4.QtCore.PYQT_VERSION_STR +PyQt4.QtCore.QAbstractEventDispatcher +PyQt4.QtCore.QAbstractFileEngine +PyQt4.QtCore.QAbstractFileEngineHandler +PyQt4.QtCore.QAbstractFileEngineIterator +PyQt4.QtCore.QAbstractItemModel +PyQt4.QtCore.QAbstractListModel +PyQt4.QtCore.QAbstractTableModel +PyQt4.QtCore.QBasicTimer +PyQt4.QtCore.QBitArray +PyQt4.QtCore.QBuffer +PyQt4.QtCore.QByteArray +PyQt4.QtCore.QByteArrayMatcher +PyQt4.QtCore.QChar +PyQt4.QtCore.QChildEvent +PyQt4.QtCore.QCoreApplication +PyQt4.QtCore.QCryptographicHash +PyQt4.QtCore.QDataStream +PyQt4.QtCore.QDate +PyQt4.QtCore.QDateTime +PyQt4.QtCore.QDir +PyQt4.QtCore.QDirIterator +PyQt4.QtCore.QDynamicPropertyChangeEvent +PyQt4.QtCore.QEvent +PyQt4.QtCore.QEventLoop +PyQt4.QtCore.QFSFileEngine +PyQt4.QtCore.QFile +PyQt4.QtCore.QFileInfo +PyQt4.QtCore.QFileSystemWatcher +PyQt4.QtCore.QGenericArgument +PyQt4.QtCore.QGenericReturnArgument +PyQt4.QtCore.QIODevice +PyQt4.QtCore.QLatin1Char +PyQt4.QtCore.QLatin1String +PyQt4.QtCore.QLibrary +PyQt4.QtCore.QLibraryInfo +PyQt4.QtCore.QLine +PyQt4.QtCore.QLineF +PyQt4.QtCore.QLocale +PyQt4.QtCore.QMetaClassInfo +PyQt4.QtCore.QMetaEnum +PyQt4.QtCore.QMetaMethod +PyQt4.QtCore.QMetaObject +PyQt4.QtCore.QMetaProperty +PyQt4.QtCore.QMetaType +PyQt4.QtCore.QMimeData +PyQt4.QtCore.QModelIndex +PyQt4.QtCore.QMutex +PyQt4.QtCore.QMutexLocker +PyQt4.QtCore.QObject +PyQt4.QtCore.QObjectCleanupHandler +PyQt4.QtCore.QPersistentModelIndex +PyQt4.QtCore.QPluginLoader +PyQt4.QtCore.QPoint +PyQt4.QtCore.QPointF +PyQt4.QtCore.QProcess +PyQt4.QtCore.QReadLocker +PyQt4.QtCore.QReadWriteLock +PyQt4.QtCore.QRect +PyQt4.QtCore.QRectF +PyQt4.QtCore.QRegExp +PyQt4.QtCore.QResource +PyQt4.QtCore.QRunnable +PyQt4.QtCore.QSemaphore +PyQt4.QtCore.QSettings +PyQt4.QtCore.QSharedMemory +PyQt4.QtCore.QSignalMapper +PyQt4.QtCore.QSize +PyQt4.QtCore.QSizeF +PyQt4.QtCore.QSocketNotifier +PyQt4.QtCore.QString +PyQt4.QtCore.QStringList +PyQt4.QtCore.QStringMatcher +PyQt4.QtCore.QStringRef +PyQt4.QtCore.QSysInfo +PyQt4.QtCore.QSystemLocale +PyQt4.QtCore.QSystemSemaphore +PyQt4.QtCore.QT_TRANSLATE_NOOP +PyQt4.QtCore.QT_TR_NOOP +PyQt4.QtCore.QT_VERSION +PyQt4.QtCore.QT_VERSION_STR +PyQt4.QtCore.QTemporaryFile +PyQt4.QtCore.QTextBoundaryFinder +PyQt4.QtCore.QTextCodec +PyQt4.QtCore.QTextDecoder +PyQt4.QtCore.QTextEncoder +PyQt4.QtCore.QTextStream +PyQt4.QtCore.QTextStreamManipulator +PyQt4.QtCore.QThread +PyQt4.QtCore.QThreadPool +PyQt4.QtCore.QTime +PyQt4.QtCore.QTimeLine +PyQt4.QtCore.QTimer +PyQt4.QtCore.QTimerEvent +PyQt4.QtCore.QTranslator +PyQt4.QtCore.QUrl +PyQt4.QtCore.QUuid +PyQt4.QtCore.QVariant +PyQt4.QtCore.QWaitCondition +PyQt4.QtCore.QWriteLocker +PyQt4.QtCore.QXmlStreamAttribute +PyQt4.QtCore.QXmlStreamAttributes +PyQt4.QtCore.QXmlStreamEntityDeclaration +PyQt4.QtCore.QXmlStreamEntityResolver +PyQt4.QtCore.QXmlStreamNamespaceDeclaration +PyQt4.QtCore.QXmlStreamNotationDeclaration +PyQt4.QtCore.QXmlStreamReader +PyQt4.QtCore.QXmlStreamWriter +PyQt4.QtCore.Q_ARG +PyQt4.QtCore.Q_ENUMS +PyQt4.QtCore.Q_FLAGS +PyQt4.QtCore.Q_RETURN_ARG +PyQt4.QtCore.Qt +PyQt4.QtCore.QtCriticalMsg +PyQt4.QtCore.QtDebugMsg +PyQt4.QtCore.QtFatalMsg +PyQt4.QtCore.QtMsgType +PyQt4.QtCore.QtSystemMsg +PyQt4.QtCore.QtWarningMsg +PyQt4.QtCore.SIGNAL +PyQt4.QtCore.SLOT +PyQt4.QtCore.__doc__ +PyQt4.QtCore.__file__ +PyQt4.QtCore.__license__ +PyQt4.QtCore.__name__ +PyQt4.QtCore.bin +PyQt4.QtCore.bom +PyQt4.QtCore.center +PyQt4.QtCore.dec +PyQt4.QtCore.endl +PyQt4.QtCore.fixed +PyQt4.QtCore.flush +PyQt4.QtCore.forcepoint +PyQt4.QtCore.forcesign +PyQt4.QtCore.hex +PyQt4.QtCore.left +PyQt4.QtCore.lowercasebase +PyQt4.QtCore.lowercasedigits +PyQt4.QtCore.noforcepoint +PyQt4.QtCore.noforcesign +PyQt4.QtCore.noshowbase +PyQt4.QtCore.oct +PyQt4.QtCore.pyqtProperty +PyQt4.QtCore.pyqtRemoveInputHook +PyQt4.QtCore.pyqtRestoreInputHook +PyQt4.QtCore.pyqtSignature +PyQt4.QtCore.qAbs +PyQt4.QtCore.qAddPostRoutine +PyQt4.QtCore.qChecksum +PyQt4.QtCore.qCompress +PyQt4.QtCore.qCritical +PyQt4.QtCore.qDebug +PyQt4.QtCore.qErrnoWarning +PyQt4.QtCore.qFatal +PyQt4.QtCore.qFuzzyCompare +PyQt4.QtCore.qInf +PyQt4.QtCore.qInstallMsgHandler +PyQt4.QtCore.qIsFinite +PyQt4.QtCore.qIsInf +PyQt4.QtCore.qIsNaN +PyQt4.QtCore.qIsNull +PyQt4.QtCore.qQNaN +PyQt4.QtCore.qRegisterResourceData +PyQt4.QtCore.qRemovePostRoutine +PyQt4.QtCore.qRound +PyQt4.QtCore.qRound64 +PyQt4.QtCore.qSNaN +PyQt4.QtCore.qSetFieldWidth +PyQt4.QtCore.qSetPadChar +PyQt4.QtCore.qSetRealNumberPrecision +PyQt4.QtCore.qSharedBuild +PyQt4.QtCore.qSwap +PyQt4.QtCore.qUncompress +PyQt4.QtCore.qUnregisterResourceData +PyQt4.QtCore.qVersion +PyQt4.QtCore.qWarning +PyQt4.QtCore.qrand +PyQt4.QtCore.qsrand +PyQt4.QtCore.qstrcmp +PyQt4.QtCore.qstrcpy +PyQt4.QtCore.qstrdup +PyQt4.QtCore.qstricmp +PyQt4.QtCore.qstrlen +PyQt4.QtCore.qstrncmp +PyQt4.QtCore.qstrncpy +PyQt4.QtCore.qstrnicmp +PyQt4.QtCore.qstrnlen +PyQt4.QtCore.reset +PyQt4.QtCore.right +PyQt4.QtCore.scientific +PyQt4.QtCore.showbase +PyQt4.QtCore.uppercasebase +PyQt4.QtCore.uppercasedigits +PyQt4.QtCore.ws +PyQt4.QtCore:: [module] +PyQt4.QtDesigner.QAbstractExtensionFactory +PyQt4.QtDesigner.QAbstractExtensionManager +PyQt4.QtDesigner.QAbstractFormBuilder +PyQt4.QtDesigner.QDesignerActionEditorInterface +PyQt4.QtDesigner.QDesignerContainerExtension +PyQt4.QtDesigner.QDesignerCustomWidgetCollectionInterface +PyQt4.QtDesigner.QDesignerCustomWidgetInterface +PyQt4.QtDesigner.QDesignerFormEditorInterface +PyQt4.QtDesigner.QDesignerFormWindowCursorInterface +PyQt4.QtDesigner.QDesignerFormWindowInterface +PyQt4.QtDesigner.QDesignerFormWindowManagerInterface +PyQt4.QtDesigner.QDesignerMemberSheetExtension +PyQt4.QtDesigner.QDesignerObjectInspectorInterface +PyQt4.QtDesigner.QDesignerPropertyEditorInterface +PyQt4.QtDesigner.QDesignerPropertySheetExtension +PyQt4.QtDesigner.QDesignerTaskMenuExtension +PyQt4.QtDesigner.QDesignerWidgetBoxInterface +PyQt4.QtDesigner.QExtensionFactory +PyQt4.QtDesigner.QExtensionManager +PyQt4.QtDesigner.QFormBuilder +PyQt4.QtDesigner.QPyDesignerContainerExtension +PyQt4.QtDesigner.QPyDesignerCustomWidgetCollectionPlugin +PyQt4.QtDesigner.QPyDesignerCustomWidgetPlugin +PyQt4.QtDesigner.QPyDesignerMemberSheetExtension +PyQt4.QtDesigner.QPyDesignerPropertySheetExtension +PyQt4.QtDesigner.QPyDesignerTaskMenuExtension +PyQt4.QtDesigner.__doc__ +PyQt4.QtDesigner.__file__ +PyQt4.QtDesigner.__name__ +PyQt4.QtDesigner:: [module] +PyQt4.QtGui.QAbstractButton +PyQt4.QtGui.QAbstractGraphicsShapeItem +PyQt4.QtGui.QAbstractItemDelegate +PyQt4.QtGui.QAbstractItemView +PyQt4.QtGui.QAbstractPrintDialog +PyQt4.QtGui.QAbstractProxyModel +PyQt4.QtGui.QAbstractScrollArea +PyQt4.QtGui.QAbstractSlider +PyQt4.QtGui.QAbstractSpinBox +PyQt4.QtGui.QAbstractTextDocumentLayout +PyQt4.QtGui.QAction +PyQt4.QtGui.QActionEvent +PyQt4.QtGui.QActionGroup +PyQt4.QtGui.QApplication +PyQt4.QtGui.QBitmap +PyQt4.QtGui.QBoxLayout +PyQt4.QtGui.QBrush +PyQt4.QtGui.QButtonGroup +PyQt4.QtGui.QCalendarWidget +PyQt4.QtGui.QCheckBox +PyQt4.QtGui.QClipboard +PyQt4.QtGui.QCloseEvent +PyQt4.QtGui.QColor +PyQt4.QtGui.QColorDialog +PyQt4.QtGui.QColumnView +PyQt4.QtGui.QComboBox +PyQt4.QtGui.QCommandLinkButton +PyQt4.QtGui.QCompleter +PyQt4.QtGui.QConicalGradient +PyQt4.QtGui.QContextMenuEvent +PyQt4.QtGui.QCursor +PyQt4.QtGui.QDataWidgetMapper +PyQt4.QtGui.QDateEdit +PyQt4.QtGui.QDateTimeEdit +PyQt4.QtGui.QDesktopServices +PyQt4.QtGui.QDesktopWidget +PyQt4.QtGui.QDial +PyQt4.QtGui.QDialog +PyQt4.QtGui.QDialogButtonBox +PyQt4.QtGui.QDirModel +PyQt4.QtGui.QDockWidget +PyQt4.QtGui.QDoubleSpinBox +PyQt4.QtGui.QDoubleValidator +PyQt4.QtGui.QDrag +PyQt4.QtGui.QDragEnterEvent +PyQt4.QtGui.QDragLeaveEvent +PyQt4.QtGui.QDragMoveEvent +PyQt4.QtGui.QDropEvent +PyQt4.QtGui.QErrorMessage +PyQt4.QtGui.QFileDialog +PyQt4.QtGui.QFileIconProvider +PyQt4.QtGui.QFileOpenEvent +PyQt4.QtGui.QFileSystemModel +PyQt4.QtGui.QFocusEvent +PyQt4.QtGui.QFocusFrame +PyQt4.QtGui.QFont +PyQt4.QtGui.QFontComboBox +PyQt4.QtGui.QFontDatabase +PyQt4.QtGui.QFontDialog +PyQt4.QtGui.QFontInfo +PyQt4.QtGui.QFontMetrics +PyQt4.QtGui.QFontMetricsF +PyQt4.QtGui.QFormLayout +PyQt4.QtGui.QFrame +PyQt4.QtGui.QGradient +PyQt4.QtGui.QGraphicsEllipseItem +PyQt4.QtGui.QGraphicsGridLayout +PyQt4.QtGui.QGraphicsItem +PyQt4.QtGui.QGraphicsItemAnimation +PyQt4.QtGui.QGraphicsItemGroup +PyQt4.QtGui.QGraphicsLayout +PyQt4.QtGui.QGraphicsLayoutItem +PyQt4.QtGui.QGraphicsLineItem +PyQt4.QtGui.QGraphicsLinearLayout +PyQt4.QtGui.QGraphicsPathItem +PyQt4.QtGui.QGraphicsPixmapItem +PyQt4.QtGui.QGraphicsPolygonItem +PyQt4.QtGui.QGraphicsProxyWidget +PyQt4.QtGui.QGraphicsRectItem +PyQt4.QtGui.QGraphicsScene +PyQt4.QtGui.QGraphicsSceneContextMenuEvent +PyQt4.QtGui.QGraphicsSceneDragDropEvent +PyQt4.QtGui.QGraphicsSceneEvent +PyQt4.QtGui.QGraphicsSceneHelpEvent +PyQt4.QtGui.QGraphicsSceneHoverEvent +PyQt4.QtGui.QGraphicsSceneMouseEvent +PyQt4.QtGui.QGraphicsSceneMoveEvent +PyQt4.QtGui.QGraphicsSceneResizeEvent +PyQt4.QtGui.QGraphicsSceneWheelEvent +PyQt4.QtGui.QGraphicsSimpleTextItem +PyQt4.QtGui.QGraphicsTextItem +PyQt4.QtGui.QGraphicsView +PyQt4.QtGui.QGraphicsWidget +PyQt4.QtGui.QGridLayout +PyQt4.QtGui.QGroupBox +PyQt4.QtGui.QHBoxLayout +PyQt4.QtGui.QHeaderView +PyQt4.QtGui.QHelpEvent +PyQt4.QtGui.QHideEvent +PyQt4.QtGui.QHoverEvent +PyQt4.QtGui.QIcon +PyQt4.QtGui.QIconDragEvent +PyQt4.QtGui.QIconEngine +PyQt4.QtGui.QIconEngineV2 +PyQt4.QtGui.QImage +PyQt4.QtGui.QImageIOHandler +PyQt4.QtGui.QImageReader +PyQt4.QtGui.QImageWriter +PyQt4.QtGui.QInputContext +PyQt4.QtGui.QInputDialog +PyQt4.QtGui.QInputEvent +PyQt4.QtGui.QInputMethodEvent +PyQt4.QtGui.QIntValidator +PyQt4.QtGui.QItemDelegate +PyQt4.QtGui.QItemEditorCreatorBase +PyQt4.QtGui.QItemEditorFactory +PyQt4.QtGui.QItemSelection +PyQt4.QtGui.QItemSelectionModel +PyQt4.QtGui.QItemSelectionRange +PyQt4.QtGui.QKeyEvent +PyQt4.QtGui.QKeySequence +PyQt4.QtGui.QLCDNumber +PyQt4.QtGui.QLabel +PyQt4.QtGui.QLayout +PyQt4.QtGui.QLayoutItem +PyQt4.QtGui.QLineEdit +PyQt4.QtGui.QLinearGradient +PyQt4.QtGui.QListView +PyQt4.QtGui.QListWidget +PyQt4.QtGui.QListWidgetItem +PyQt4.QtGui.QMainWindow +PyQt4.QtGui.QMatrix +PyQt4.QtGui.QMdiArea +PyQt4.QtGui.QMdiSubWindow +PyQt4.QtGui.QMenu +PyQt4.QtGui.QMenuBar +PyQt4.QtGui.QMessageBox +PyQt4.QtGui.QMimeSource +PyQt4.QtGui.QMouseEvent +PyQt4.QtGui.QMoveEvent +PyQt4.QtGui.QMovie +PyQt4.QtGui.QPageSetupDialog +PyQt4.QtGui.QPaintDevice +PyQt4.QtGui.QPaintEngine +PyQt4.QtGui.QPaintEngineState +PyQt4.QtGui.QPaintEvent +PyQt4.QtGui.QPainter +PyQt4.QtGui.QPainterPath +PyQt4.QtGui.QPainterPathStroker +PyQt4.QtGui.QPalette +PyQt4.QtGui.QPen +PyQt4.QtGui.QPicture +PyQt4.QtGui.QPictureIO +PyQt4.QtGui.QPixmap +PyQt4.QtGui.QPixmapCache +PyQt4.QtGui.QPlainTextDocumentLayout +PyQt4.QtGui.QPlainTextEdit +PyQt4.QtGui.QPolygon +PyQt4.QtGui.QPolygonF +PyQt4.QtGui.QPrintDialog +PyQt4.QtGui.QPrintEngine +PyQt4.QtGui.QPrintPreviewDialog +PyQt4.QtGui.QPrintPreviewWidget +PyQt4.QtGui.QPrinter +PyQt4.QtGui.QPrinterInfo +PyQt4.QtGui.QProgressBar +PyQt4.QtGui.QProgressDialog +PyQt4.QtGui.QProxyModel +PyQt4.QtGui.QPushButton +PyQt4.QtGui.QRadialGradient +PyQt4.QtGui.QRadioButton +PyQt4.QtGui.QRegExpValidator +PyQt4.QtGui.QRegion +PyQt4.QtGui.QResizeEvent +PyQt4.QtGui.QRubberBand +PyQt4.QtGui.QScrollArea +PyQt4.QtGui.QScrollBar +PyQt4.QtGui.QSessionManager +PyQt4.QtGui.QShortcut +PyQt4.QtGui.QShortcutEvent +PyQt4.QtGui.QShowEvent +PyQt4.QtGui.QSizeGrip +PyQt4.QtGui.QSizePolicy +PyQt4.QtGui.QSlider +PyQt4.QtGui.QSortFilterProxyModel +PyQt4.QtGui.QSound +PyQt4.QtGui.QSpacerItem +PyQt4.QtGui.QSpinBox +PyQt4.QtGui.QSplashScreen +PyQt4.QtGui.QSplitter +PyQt4.QtGui.QSplitterHandle +PyQt4.QtGui.QStackedLayout +PyQt4.QtGui.QStackedWidget +PyQt4.QtGui.QStandardItem +PyQt4.QtGui.QStandardItemModel +PyQt4.QtGui.QStatusBar +PyQt4.QtGui.QStatusTipEvent +PyQt4.QtGui.QStringListModel +PyQt4.QtGui.QStyle +PyQt4.QtGui.QStyleFactory +PyQt4.QtGui.QStyleHintReturn +PyQt4.QtGui.QStyleHintReturnMask +PyQt4.QtGui.QStyleHintReturnVariant +PyQt4.QtGui.QStyleOption +PyQt4.QtGui.QStyleOptionButton +PyQt4.QtGui.QStyleOptionComboBox +PyQt4.QtGui.QStyleOptionComplex +PyQt4.QtGui.QStyleOptionDockWidget +PyQt4.QtGui.QStyleOptionDockWidgetV2 +PyQt4.QtGui.QStyleOptionFocusRect +PyQt4.QtGui.QStyleOptionFrame +PyQt4.QtGui.QStyleOptionFrameV2 +PyQt4.QtGui.QStyleOptionGraphicsItem +PyQt4.QtGui.QStyleOptionGroupBox +PyQt4.QtGui.QStyleOptionHeader +PyQt4.QtGui.QStyleOptionMenuItem +PyQt4.QtGui.QStyleOptionProgressBar +PyQt4.QtGui.QStyleOptionProgressBarV2 +PyQt4.QtGui.QStyleOptionRubberBand +PyQt4.QtGui.QStyleOptionSizeGrip +PyQt4.QtGui.QStyleOptionSlider +PyQt4.QtGui.QStyleOptionSpinBox +PyQt4.QtGui.QStyleOptionTab +PyQt4.QtGui.QStyleOptionTabBarBase +PyQt4.QtGui.QStyleOptionTabV2 +PyQt4.QtGui.QStyleOptionTabWidgetFrame +PyQt4.QtGui.QStyleOptionTitleBar +PyQt4.QtGui.QStyleOptionToolBar +PyQt4.QtGui.QStyleOptionToolBox +PyQt4.QtGui.QStyleOptionToolBoxV2 +PyQt4.QtGui.QStyleOptionToolButton +PyQt4.QtGui.QStyleOptionViewItem +PyQt4.QtGui.QStyleOptionViewItemV2 +PyQt4.QtGui.QStyleOptionViewItemV3 +PyQt4.QtGui.QStyleOptionViewItemV4 +PyQt4.QtGui.QStylePainter +PyQt4.QtGui.QStyledItemDelegate +PyQt4.QtGui.QSyntaxHighlighter +PyQt4.QtGui.QSystemTrayIcon +PyQt4.QtGui.QTabBar +PyQt4.QtGui.QTabWidget +PyQt4.QtGui.QTableView +PyQt4.QtGui.QTableWidget +PyQt4.QtGui.QTableWidgetItem +PyQt4.QtGui.QTableWidgetSelectionRange +PyQt4.QtGui.QTabletEvent +PyQt4.QtGui.QTextBlock +PyQt4.QtGui.QTextBlockFormat +PyQt4.QtGui.QTextBlockGroup +PyQt4.QtGui.QTextBlockUserData +PyQt4.QtGui.QTextBrowser +PyQt4.QtGui.QTextCharFormat +PyQt4.QtGui.QTextCursor +PyQt4.QtGui.QTextDocument +PyQt4.QtGui.QTextDocumentFragment +PyQt4.QtGui.QTextEdit +PyQt4.QtGui.QTextFormat +PyQt4.QtGui.QTextFragment +PyQt4.QtGui.QTextFrame +PyQt4.QtGui.QTextFrameFormat +PyQt4.QtGui.QTextImageFormat +PyQt4.QtGui.QTextInlineObject +PyQt4.QtGui.QTextItem +PyQt4.QtGui.QTextLayout +PyQt4.QtGui.QTextLength +PyQt4.QtGui.QTextLine +PyQt4.QtGui.QTextList +PyQt4.QtGui.QTextListFormat +PyQt4.QtGui.QTextObject +PyQt4.QtGui.QTextOption +PyQt4.QtGui.QTextTable +PyQt4.QtGui.QTextTableCell +PyQt4.QtGui.QTextTableCellFormat +PyQt4.QtGui.QTextTableFormat +PyQt4.QtGui.QTimeEdit +PyQt4.QtGui.QToolBar +PyQt4.QtGui.QToolBox +PyQt4.QtGui.QToolButton +PyQt4.QtGui.QToolTip +PyQt4.QtGui.QTransform +PyQt4.QtGui.QTreeView +PyQt4.QtGui.QTreeWidget +PyQt4.QtGui.QTreeWidgetItem +PyQt4.QtGui.QTreeWidgetItemIterator +PyQt4.QtGui.QUndoCommand +PyQt4.QtGui.QUndoGroup +PyQt4.QtGui.QUndoStack +PyQt4.QtGui.QUndoView +PyQt4.QtGui.QVBoxLayout +PyQt4.QtGui.QValidator +PyQt4.QtGui.QWhatsThis +PyQt4.QtGui.QWhatsThisClickedEvent +PyQt4.QtGui.QWheelEvent +PyQt4.QtGui.QWidget +PyQt4.QtGui.QWidgetAction +PyQt4.QtGui.QWidgetItem +PyQt4.QtGui.QWindowStateChangeEvent +PyQt4.QtGui.QWizard +PyQt4.QtGui.QWizardPage +PyQt4.QtGui.QWorkspace +PyQt4.QtGui.__doc__ +PyQt4.QtGui.__file__ +PyQt4.QtGui.__name__ +PyQt4.QtGui.qAlpha +PyQt4.QtGui.qApp +PyQt4.QtGui.qBlue +PyQt4.QtGui.qDrawPlainRect +PyQt4.QtGui.qDrawShadeLine +PyQt4.QtGui.qDrawShadePanel +PyQt4.QtGui.qDrawShadeRect +PyQt4.QtGui.qDrawWinButton +PyQt4.QtGui.qDrawWinPanel +PyQt4.QtGui.qGray +PyQt4.QtGui.qGreen +PyQt4.QtGui.qIsGray +PyQt4.QtGui.qRed +PyQt4.QtGui.qRgb +PyQt4.QtGui.qRgba +PyQt4.QtGui.qSwap +PyQt4.QtGui.qt_set_sequence_auto_mnemonic +PyQt4.QtGui:: [module] +PyQt4.QtHelp.QHelpContentItem +PyQt4.QtHelp.QHelpContentModel +PyQt4.QtHelp.QHelpContentWidget +PyQt4.QtHelp.QHelpEngine +PyQt4.QtHelp.QHelpEngineCore +PyQt4.QtHelp.QHelpIndexModel +PyQt4.QtHelp.QHelpIndexWidget +PyQt4.QtHelp.QHelpSearchEngine +PyQt4.QtHelp.QHelpSearchQuery +PyQt4.QtHelp.QHelpSearchQueryWidget +PyQt4.QtHelp.QHelpSearchResultWidget +PyQt4.QtHelp.__doc__ +PyQt4.QtHelp.__file__ +PyQt4.QtHelp.__name__ +PyQt4.QtHelp:: [module] +PyQt4.QtNetwork.QAbstractSocket +PyQt4.QtNetwork.QAuthenticator +PyQt4.QtNetwork.QFtp +PyQt4.QtNetwork.QHostAddress +PyQt4.QtNetwork.QHostInfo +PyQt4.QtNetwork.QHttp +PyQt4.QtNetwork.QHttpHeader +PyQt4.QtNetwork.QHttpRequestHeader +PyQt4.QtNetwork.QHttpResponseHeader +PyQt4.QtNetwork.QLocalServer +PyQt4.QtNetwork.QLocalSocket +PyQt4.QtNetwork.QNetworkAccessManager +PyQt4.QtNetwork.QNetworkAddressEntry +PyQt4.QtNetwork.QNetworkCookie +PyQt4.QtNetwork.QNetworkCookieJar +PyQt4.QtNetwork.QNetworkInterface +PyQt4.QtNetwork.QNetworkProxy +PyQt4.QtNetwork.QNetworkReply +PyQt4.QtNetwork.QNetworkRequest +PyQt4.QtNetwork.QSsl +PyQt4.QtNetwork.QSslCertificate +PyQt4.QtNetwork.QSslCipher +PyQt4.QtNetwork.QSslConfiguration +PyQt4.QtNetwork.QSslError +PyQt4.QtNetwork.QSslKey +PyQt4.QtNetwork.QSslSocket +PyQt4.QtNetwork.QTcpServer +PyQt4.QtNetwork.QTcpSocket +PyQt4.QtNetwork.QUdpSocket +PyQt4.QtNetwork.QUrlInfo +PyQt4.QtNetwork.__doc__ +PyQt4.QtNetwork.__file__ +PyQt4.QtNetwork.__name__ +PyQt4.QtNetwork:: [module] +PyQt4.QtOpenGL.QGL +PyQt4.QtOpenGL.QGLColormap +PyQt4.QtOpenGL.QGLContext +PyQt4.QtOpenGL.QGLFormat +PyQt4.QtOpenGL.QGLFramebufferObject +PyQt4.QtOpenGL.QGLPixelBuffer +PyQt4.QtOpenGL.QGLWidget +PyQt4.QtOpenGL.__doc__ +PyQt4.QtOpenGL.__file__ +PyQt4.QtOpenGL.__name__ +PyQt4.QtOpenGL:: [module] +PyQt4.QtScript.QScriptClass +PyQt4.QtScript.QScriptClassPropertyIterator +PyQt4.QtScript.QScriptContext +PyQt4.QtScript.QScriptContextInfo +PyQt4.QtScript.QScriptEngine +PyQt4.QtScript.QScriptEngineAgent +PyQt4.QtScript.QScriptString +PyQt4.QtScript.QScriptValue +PyQt4.QtScript.QScriptValueIterator +PyQt4.QtScript.__doc__ +PyQt4.QtScript.__file__ +PyQt4.QtScript.__name__ +PyQt4.QtScript.qScriptConnect +PyQt4.QtScript.qScriptDisconnect +PyQt4.QtScript:: [module] +PyQt4.QtSql.QSql +PyQt4.QtSql.QSqlDatabase +PyQt4.QtSql.QSqlDriver +PyQt4.QtSql.QSqlDriverCreatorBase +PyQt4.QtSql.QSqlError +PyQt4.QtSql.QSqlField +PyQt4.QtSql.QSqlIndex +PyQt4.QtSql.QSqlQuery +PyQt4.QtSql.QSqlQueryModel +PyQt4.QtSql.QSqlRecord +PyQt4.QtSql.QSqlRelation +PyQt4.QtSql.QSqlRelationalDelegate +PyQt4.QtSql.QSqlRelationalTableModel +PyQt4.QtSql.QSqlResult +PyQt4.QtSql.QSqlTableModel +PyQt4.QtSql.__doc__ +PyQt4.QtSql.__file__ +PyQt4.QtSql.__name__ +PyQt4.QtSql:: [module] +PyQt4.QtSvg.QGraphicsSvgItem +PyQt4.QtSvg.QSvgGenerator +PyQt4.QtSvg.QSvgRenderer +PyQt4.QtSvg.QSvgWidget +PyQt4.QtSvg.__doc__ +PyQt4.QtSvg.__file__ +PyQt4.QtSvg.__name__ +PyQt4.QtSvg:: [module] +PyQt4.QtTest.QTest +PyQt4.QtTest.__doc__ +PyQt4.QtTest.__file__ +PyQt4.QtTest.__name__ +PyQt4.QtTest:: [module] +PyQt4.QtWebKit.QWebFrame +PyQt4.QtWebKit.QWebHistory +PyQt4.QtWebKit.QWebHistoryInterface +PyQt4.QtWebKit.QWebHistoryItem +PyQt4.QtWebKit.QWebHitTestResult +PyQt4.QtWebKit.QWebPage +PyQt4.QtWebKit.QWebPluginFactory +PyQt4.QtWebKit.QWebSettings +PyQt4.QtWebKit.QWebView +PyQt4.QtWebKit.__doc__ +PyQt4.QtWebKit.__file__ +PyQt4.QtWebKit.__name__ +PyQt4.QtWebKit:: [module] +PyQt4.QtXml.QDomAttr +PyQt4.QtXml.QDomCDATASection +PyQt4.QtXml.QDomCharacterData +PyQt4.QtXml.QDomComment +PyQt4.QtXml.QDomDocument +PyQt4.QtXml.QDomDocumentFragment +PyQt4.QtXml.QDomDocumentType +PyQt4.QtXml.QDomElement +PyQt4.QtXml.QDomEntity +PyQt4.QtXml.QDomEntityReference +PyQt4.QtXml.QDomImplementation +PyQt4.QtXml.QDomNamedNodeMap +PyQt4.QtXml.QDomNode +PyQt4.QtXml.QDomNodeList +PyQt4.QtXml.QDomNotation +PyQt4.QtXml.QDomProcessingInstruction +PyQt4.QtXml.QDomText +PyQt4.QtXml.QXmlAttributes +PyQt4.QtXml.QXmlContentHandler +PyQt4.QtXml.QXmlDTDHandler +PyQt4.QtXml.QXmlDeclHandler +PyQt4.QtXml.QXmlDefaultHandler +PyQt4.QtXml.QXmlEntityResolver +PyQt4.QtXml.QXmlErrorHandler +PyQt4.QtXml.QXmlInputSource +PyQt4.QtXml.QXmlLexicalHandler +PyQt4.QtXml.QXmlLocator +PyQt4.QtXml.QXmlNamespaceSupport +PyQt4.QtXml.QXmlParseException +PyQt4.QtXml.QXmlReader +PyQt4.QtXml.QXmlSimpleReader +PyQt4.QtXml.__doc__ +PyQt4.QtXml.__file__ +PyQt4.QtXml.__name__ +PyQt4.QtXml:: [module] +PyQt4.QtXmlPatterns.QAbstractMessageHandler +PyQt4.QtXmlPatterns.QAbstractUriResolver +PyQt4.QtXmlPatterns.QAbstractXmlNodeModel +PyQt4.QtXmlPatterns.QAbstractXmlReceiver +PyQt4.QtXmlPatterns.QSimpleXmlNodeModel +PyQt4.QtXmlPatterns.QSourceLocation +PyQt4.QtXmlPatterns.QXmlFormatter +PyQt4.QtXmlPatterns.QXmlItem +PyQt4.QtXmlPatterns.QXmlName +PyQt4.QtXmlPatterns.QXmlNamePool +PyQt4.QtXmlPatterns.QXmlNodeModelIndex +PyQt4.QtXmlPatterns.QXmlQuery +PyQt4.QtXmlPatterns.QXmlResultItems +PyQt4.QtXmlPatterns.QXmlSerializer +PyQt4.QtXmlPatterns.__doc__ +PyQt4.QtXmlPatterns.__file__ +PyQt4.QtXmlPatterns.__name__ +PyQt4.QtXmlPatterns:: [module] +PyQt4.__builtins__ +PyQt4.__doc__ +PyQt4.__file__ +PyQt4.__name__ +PyQt4.__path__ +PyQt4.pyqtconfig.Configuration +PyQt4.pyqtconfig.QAxContainerModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QAxContainer.] +PyQt4.pyqtconfig.QtAssistantModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtAssistant.] +PyQt4.pyqtconfig.QtCoreModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtCore.] +PyQt4.pyqtconfig.QtDesignerModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtDesigner.] +PyQt4.pyqtconfig.QtGuiModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtGui.] +PyQt4.pyqtconfig.QtHelpModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtHelp.] +PyQt4.pyqtconfig.QtNetworkModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtNetwork.] +PyQt4.pyqtconfig.QtOpenGLModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtOpenGL.] +PyQt4.pyqtconfig.QtScriptModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtScript.] +PyQt4.pyqtconfig.QtSqlModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtSql.] +PyQt4.pyqtconfig.QtSvgModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtSvg.] +PyQt4.pyqtconfig.QtTestModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtTest.] +PyQt4.pyqtconfig.QtWebKitModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtWebKit.] +PyQt4.pyqtconfig.QtXmlModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtXml.] +PyQt4.pyqtconfig.QtXmlPatternsModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import QtXmlPatterns.] +PyQt4.pyqtconfig.__builtins__ +PyQt4.pyqtconfig.__doc__ +PyQt4.pyqtconfig.__file__ +PyQt4.pyqtconfig.__name__ +PyQt4.pyqtconfig._default_macros +PyQt4.pyqtconfig._pkg_config +PyQt4.pyqtconfig.phononModuleMakefile(*args, **kw) [doc: The Makefile class for modules that %Import phonon.] +PyQt4.pyqtconfig.sipconfig:: [module] +PyQt4.pyqtconfig:: [module] +PyQt4.uic.Compiler.__builtins__ +PyQt4.uic.Compiler.__doc__ +PyQt4.uic.Compiler.__file__ +PyQt4.uic.Compiler.__name__ +PyQt4.uic.Compiler.__path__ +PyQt4.uic.Compiler.compiler.CompilerCreatorPolicy +PyQt4.uic.Compiler.compiler.Properties +PyQt4.uic.Compiler.compiler.UICompiler +PyQt4.uic.Compiler.compiler.__builtins__ +PyQt4.uic.Compiler.compiler.__doc__ +PyQt4.uic.Compiler.compiler.__file__ +PyQt4.uic.Compiler.compiler.__name__ +PyQt4.uic.Compiler.compiler.createCodeIndenter(??) [function] +PyQt4.uic.Compiler.compiler.getIndenter(??) [function] +PyQt4.uic.Compiler.compiler.qtproxies:: [module] +PyQt4.uic.Compiler.compiler.sys:: [module] +PyQt4.uic.Compiler.compiler.uiparser:: [module] +PyQt4.uic.Compiler.compiler.write_code(??) [function] +PyQt4.uic.Compiler.compiler:: [module] +PyQt4.uic.Compiler.indenter._IndentedCodeWriter +PyQt4.uic.Compiler.indenter.__builtins__ +PyQt4.uic.Compiler.indenter.__doc__ +PyQt4.uic.Compiler.indenter.__file__ +PyQt4.uic.Compiler.indenter.__name__ +PyQt4.uic.Compiler.indenter._indenter +PyQt4.uic.Compiler.indenter.createCodeIndenter(output) +PyQt4.uic.Compiler.indenter.getIndenter() +PyQt4.uic.Compiler.indenter.indentwidth +PyQt4.uic.Compiler.indenter.write_code(string) +PyQt4.uic.Compiler.indenter:: [module] +PyQt4.uic.Compiler.qobjectcreator.CompilerCreatorPolicy +PyQt4.uic.Compiler.qobjectcreator.DEBUG +PyQt4.uic.Compiler.qobjectcreator.Literal(string) -> new literal +PyQt4.uic.Compiler.qobjectcreator.QtGui +PyQt4.uic.Compiler.qobjectcreator._CustomWidgetLoader +PyQt4.uic.Compiler.qobjectcreator._ModuleWrapper +PyQt4.uic.Compiler.qobjectcreator._QtGuiWrapper +PyQt4.uic.Compiler.qobjectcreator.__builtins__ +PyQt4.uic.Compiler.qobjectcreator.__doc__ +PyQt4.uic.Compiler.qobjectcreator.__file__ +PyQt4.uic.Compiler.qobjectcreator.__name__ +PyQt4.uic.Compiler.qobjectcreator.logger +PyQt4.uic.Compiler.qobjectcreator.logging:: [module] +PyQt4.uic.Compiler.qobjectcreator.set +PyQt4.uic.Compiler.qobjectcreator.strict_getattr(??) [function] +PyQt4.uic.Compiler.qobjectcreator.write_code(??) [function] +PyQt4.uic.Compiler.qobjectcreator:: [module] +PyQt4.uic.Compiler.qtproxies.AS_ARGUMENT +PyQt4.uic.Compiler.qtproxies.Literal(string) -> new literal +PyQt4.uic.Compiler.qtproxies.LiteralProxyClass +PyQt4.uic.Compiler.qtproxies.ProxyClass +PyQt4.uic.Compiler.qtproxies.ProxyClassMember +PyQt4.uic.Compiler.qtproxies.ProxyNamespace +PyQt4.uic.Compiler.qtproxies.ProxyType +PyQt4.uic.Compiler.qtproxies.QtCore +PyQt4.uic.Compiler.qtproxies.QtGui +PyQt4.uic.Compiler.qtproxies.__builtins__ +PyQt4.uic.Compiler.qtproxies.__doc__ +PyQt4.uic.Compiler.qtproxies.__file__ +PyQt4.uic.Compiler.qtproxies.__name__ +PyQt4.uic.Compiler.qtproxies._qwidgets +PyQt4.uic.Compiler.qtproxies.i18n_context +PyQt4.uic.Compiler.qtproxies.i18n_func(name) +PyQt4.uic.Compiler.qtproxies.i18n_print(string) +PyQt4.uic.Compiler.qtproxies.i18n_string(string) +PyQt4.uic.Compiler.qtproxies.i18n_strings +PyQt4.uic.Compiler.qtproxies.i18n_void_func(name) +PyQt4.uic.Compiler.qtproxies.moduleMember(module, name) +PyQt4.uic.Compiler.qtproxies.obj_to_argument(obj) +PyQt4.uic.Compiler.qtproxies.re:: [module] +PyQt4.uic.Compiler.qtproxies.strict_getattr(module, clsname) +PyQt4.uic.Compiler.qtproxies.sys:: [module] +PyQt4.uic.Compiler.qtproxies.write_code(??) [function] +PyQt4.uic.Compiler.qtproxies:: [module] +PyQt4.uic.Compiler:: [module] +PyQt4.uic.Loader.__builtins__ +PyQt4.uic.Loader.__doc__ +PyQt4.uic.Loader.__file__ +PyQt4.uic.Loader.__name__ +PyQt4.uic.Loader.__path__ +PyQt4.uic.Loader.loader.DynamicUILoader +PyQt4.uic.Loader.loader.LoaderCreatorPolicy +PyQt4.uic.Loader.loader.QtCore:: [module] +PyQt4.uic.Loader.loader.QtGui:: [module] +PyQt4.uic.Loader.loader.__builtins__ +PyQt4.uic.Loader.loader.__doc__ +PyQt4.uic.Loader.loader.__file__ +PyQt4.uic.Loader.loader.__name__ +PyQt4.uic.Loader.loader.uiparser:: [module] +PyQt4.uic.Loader.loader:: [module] +PyQt4.uic.Loader.qobjectcreator.LoaderCreatorPolicy +PyQt4.uic.Loader.qobjectcreator.QtGui:: [module] +PyQt4.uic.Loader.qobjectcreator._CustomWidgetLoader +PyQt4.uic.Loader.qobjectcreator._ModuleWrapper +PyQt4.uic.Loader.qobjectcreator._QtGuiWrapper +PyQt4.uic.Loader.qobjectcreator.__builtins__ +PyQt4.uic.Loader.qobjectcreator.__doc__ +PyQt4.uic.Loader.qobjectcreator.__file__ +PyQt4.uic.Loader.qobjectcreator.__name__ +PyQt4.uic.Loader.qobjectcreator.set +PyQt4.uic.Loader.qobjectcreator.sys:: [module] +PyQt4.uic.Loader.qobjectcreator:: [module] +PyQt4.uic.Loader:: [module] +PyQt4.uic.PYQT_VERSION_STR +PyQt4.uic.StringIO([s]) -- Return a StringIO-like stream for reading or writing +PyQt4.uic.__all__ +PyQt4.uic.__builtins__ +PyQt4.uic.__doc__ +PyQt4.uic.__file__ +PyQt4.uic.__name__ +PyQt4.uic.__path__ +PyQt4.uic._display_code +PyQt4.uic._header +PyQt4.uic._pyqt3_wrapper_code +PyQt4.uic.compileUi(uifile, pyfile, execute=False, indent=4, pyqt3_wrapper=False) +PyQt4.uic.compiler:: [module] +PyQt4.uic.exceptions.NoSuchWidgetError +PyQt4.uic.exceptions.UnsupportedPropertyError +PyQt4.uic.exceptions.WidgetPluginError +PyQt4.uic.exceptions.__builtins__ +PyQt4.uic.exceptions.__doc__ +PyQt4.uic.exceptions.__file__ +PyQt4.uic.exceptions.__name__ +PyQt4.uic.exceptions:: [module] +PyQt4.uic.icon_cache.IconCache +PyQt4.uic.icon_cache._IconSet +PyQt4.uic.icon_cache.__builtins__ +PyQt4.uic.icon_cache.__doc__ +PyQt4.uic.icon_cache.__file__ +PyQt4.uic.icon_cache.__name__ +PyQt4.uic.icon_cache:: [module] +PyQt4.uic.indenter:: [module] +PyQt4.uic.loadUi(uifile, baseinstance=None) -> widget +PyQt4.uic.loadUiType(uifile) -> (form class, base class) +PyQt4.uic.objcreator.CW_FILTER +PyQt4.uic.objcreator.MATCH +PyQt4.uic.objcreator.MODULE +PyQt4.uic.objcreator.NO_MATCH +PyQt4.uic.objcreator.NoSuchWidgetError +PyQt4.uic.objcreator.QObjectCreator +PyQt4.uic.objcreator.WidgetPluginError +PyQt4.uic.objcreator.__builtins__ +PyQt4.uic.objcreator.__doc__ +PyQt4.uic.objcreator.__file__ +PyQt4.uic.objcreator.__name__ +PyQt4.uic.objcreator.os:: [module] +PyQt4.uic.objcreator.set +PyQt4.uic.objcreator:: [module] +PyQt4.uic.properties.DEBUG +PyQt4.uic.properties.IconCache +PyQt4.uic.properties.Properties +PyQt4.uic.properties.QtCore +PyQt4.uic.properties.QtGui +PyQt4.uic.properties.UnsupportedPropertyError +PyQt4.uic.properties.__builtins__ +PyQt4.uic.properties.__doc__ +PyQt4.uic.properties.__file__ +PyQt4.uic.properties.__name__ +PyQt4.uic.properties._ascii_trans_table +PyQt4.uic.properties.ascii_upper(s) +PyQt4.uic.properties.bool_(??) [doc: true] +PyQt4.uic.properties.float_list(prop) +PyQt4.uic.properties.int_list(prop) +PyQt4.uic.properties.logger +PyQt4.uic.properties.logging:: [module] +PyQt4.uic.properties.needsWidget(func) +PyQt4.uic.properties.operator:: [module] +PyQt4.uic.properties.string:: [module] +PyQt4.uic.properties:: [module] +PyQt4.uic.time:: [module] +PyQt4.uic.uiparser.DEBUG +PyQt4.uic.uiparser.NoSuchWidgetError +PyQt4.uic.uiparser.Properties +PyQt4.uic.uiparser.QObjectCreator +PyQt4.uic.uiparser.QtCore +PyQt4.uic.uiparser.QtGui +PyQt4.uic.uiparser.SubElement +PyQt4.uic.uiparser.UIParser +PyQt4.uic.uiparser.WidgetStack +PyQt4.uic.uiparser.__builtins__ +PyQt4.uic.uiparser.__doc__ +PyQt4.uic.uiparser.__file__ +PyQt4.uic.uiparser.__name__ +PyQt4.uic.uiparser.count([firstval]) --> count object +PyQt4.uic.uiparser.gridPosition(elem) -> tuple +PyQt4.uic.uiparser.logger +PyQt4.uic.uiparser.logging:: [module] +PyQt4.uic.uiparser.os:: [module] +PyQt4.uic.uiparser.parse(??) [function] +PyQt4.uic.uiparser.re:: [module] +PyQt4.uic.uiparser.sys:: [module] +PyQt4.uic.uiparser:: [module] +PyQt4.uic:: [module] +Queue.Empty +Queue.Full +Queue.Queue(maxsize=0) [doc: Create a queue object with a given maximum size.] +Queue.__all__ +Queue.__builtins__ +Queue.__doc__ +Queue.__file__ +Queue.__name__ +Queue._time +Queue.deque(iterable) --> deque object +ReferenceError +RuntimeError +RuntimeWarning +SimpleHTTPServer.BaseHTTPServer:: [module] +SimpleHTTPServer.SimpleHTTPRequestHandler(??) [doc: Simple HTTP request handler with GET and HEAD commands.] +SimpleHTTPServer.StringIO([s]) -- Return a StringIO-like stream for reading or writing +SimpleHTTPServer.__all__ +SimpleHTTPServer.__builtins__ +SimpleHTTPServer.__doc__ +SimpleHTTPServer.__file__ +SimpleHTTPServer.__name__ +SimpleHTTPServer.__version__ +SimpleHTTPServer.cgi:: [module] +SimpleHTTPServer.mimetypes:: [module] +SimpleHTTPServer.os:: [module] +SimpleHTTPServer.posixpath:: [module] +SimpleHTTPServer.shutil:: [module] +SimpleHTTPServer.test(??) [function] +SimpleHTTPServer.urllib:: [module] +SimpleHTTPServer.urlparse:: [module] +SimpleXMLRPCServer.BaseHTTPServer:: [module] +SimpleXMLRPCServer.CGIXMLRPCRequestHandler(allow_none=False, encoding=None) [doc: Simple handler for XML-RPC data passed through CGI.] +SimpleXMLRPCServer.Fault +SimpleXMLRPCServer.SimpleXMLRPCDispatcher(allow_none, encoding) [doc: Mix-in class that dispatches XML-RPC requests.] +SimpleXMLRPCServer.SimpleXMLRPCRequestHandler(??) [doc: Simple XML-RPC request handler class.] +SimpleXMLRPCServer.SimpleXMLRPCServer(??) [doc: Simple XML-RPC server.] +SimpleXMLRPCServer.SocketServer:: [module] +SimpleXMLRPCServer.__builtins__ +SimpleXMLRPCServer.__doc__ +SimpleXMLRPCServer.__file__ +SimpleXMLRPCServer.__name__ +SimpleXMLRPCServer.fcntl +SimpleXMLRPCServer.list_public_methods(obj) [doc: Returns a list of attribute strings, found in the specified] +SimpleXMLRPCServer.os:: [module] +SimpleXMLRPCServer.remove_duplicates([2,2,2,1,3,3]) => [3,1,2] +SimpleXMLRPCServer.resolve_dotted_attribute(a, 'b.c.d') => a.b.c.d +SimpleXMLRPCServer.sys:: [module] +SimpleXMLRPCServer.xmlrpclib:: [module] +SocketServer.BaseRequestHandler(request, client_address, server) [doc: Base class for request handler classes.] +SocketServer.BaseServer(server_address, RequestHandlerClass) [doc: Base class for server classes.] +SocketServer.DatagramRequestHandler(??) [doc: Define self.rfile and self.wfile for datagram sockets.] +SocketServer.ForkingMixIn(??) [doc: Mix-in class to handle each request in a new process.] +SocketServer.ForkingTCPServer(??) [class] +SocketServer.ForkingUDPServer(??) [class] +SocketServer.StreamRequestHandler(??) [doc: Define self.rfile and self.wfile for stream sockets.] +SocketServer.TCPServer(server_address, RequestHandlerClass) [doc: Base class for various socket-based server classes.] +SocketServer.ThreadingMixIn(??) [doc: Mix-in class to handle each request in a new thread.] +SocketServer.ThreadingTCPServer(??) [class] +SocketServer.ThreadingUDPServer(??) [class] +SocketServer.UDPServer(??) [doc: UDP server class.] +SocketServer.__all__ +SocketServer.__builtins__ +SocketServer.__doc__ +SocketServer.__file__ +SocketServer.__name__ +SocketServer.__version__ +SocketServer.os:: [module] +SocketServer.socket:: [module] +SocketServer.sys:: [module] +StandardError +StopIteration +StringIO.EINVAL +StringIO.StringIO(buf = '') [doc: class StringIO([buffer])] +StringIO.__all__ +StringIO.__builtins__ +StringIO.__doc__ +StringIO.__file__ +StringIO.__name__ +StringIO._complain_ifclosed(closed) +StringIO.test() +SyntaxError +SyntaxWarning +SystemError +SystemExit +TabError +True +TypeError +UnboundLocalError +UnicodeDecodeError +UnicodeEncodeError +UnicodeError +UnicodeTranslateError +UnicodeWarning +UserDict.DictMixin(??) [class] +UserDict.IterableUserDict(??) [class] +UserDict.UserDict(dict=None, **kwargs) +UserDict.__builtins__ +UserDict.__doc__ +UserDict.__file__ +UserDict.__name__ +UserList.UserList(initlist=None) +UserList.__builtins__ +UserList.__doc__ +UserList.__file__ +UserList.__name__ +UserString.MutableString(string="") [doc: mutable string objects] +UserString.UserString(seq) +UserString.__all__ +UserString.__builtins__ +UserString.__doc__ +UserString.__file__ +UserString.__name__ +UserString.sys:: [module] +UserWarning +ValueError +Warning +WindowsError +ZeroDivisionError +__debug__ +__doc__ +__import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module +__name__ +abs(number) -> number +aifc.Aifc_read(f) +aifc.Aifc_write(f) +aifc.Chunk(??) [class] +aifc.Error +aifc._AIFC_version +aifc._HUGE_VAL +aifc.__all__ +aifc.__builtin__:: [module] +aifc.__builtins__ +aifc.__doc__ +aifc.__file__ +aifc.__name__ +aifc._read_float(f) +aifc._read_long(file) +aifc._read_short(file) +aifc._read_string(file) +aifc._read_ulong(file) +aifc._skiplist +aifc._write_float(f, x) +aifc._write_long(f, x) +aifc._write_short(f, x) +aifc._write_string(f, s) +aifc.open(f, mode=None) +aifc.openfp(??) [function] +aifc.struct:: [module] +all(iterable) -> bool +and +any(iterable) -> bool +anydbm.__builtins__ +anydbm.__doc__ +anydbm.__file__ +anydbm.__name__ +anydbm._defaultmod:: [module] +anydbm._errors +anydbm._mod:: [module] +anydbm._name +anydbm._names +anydbm.error +anydbm.open(file, flag = 'r', mode = 0666) +apply(object[, args[, kwargs]]) -> value +array.ArrayType +array.__doc__ +array.__name__ +array.array(typecode [, initializer]) -> array +assert +asynchat.__builtins__ +asynchat.__doc__ +asynchat.__file__ +asynchat.__name__ +asynchat.async_chat(??) [doc: This is an abstract class. You must derive from this class, and add] +asynchat.asyncore:: [module] +asynchat.deque(iterable) --> deque object +asynchat.fifo(??) [class] +asynchat.find_prefix_at_end (haystack, needle) +asynchat.simple_producer(??) [class] +asynchat.socket:: [module] +asyncore.EALREADY +asyncore.ECONNRESET +asyncore.EINPROGRESS +asyncore.EINTR +asyncore.EISCONN +asyncore.ENOTCONN +asyncore.ESHUTDOWN +asyncore.EWOULDBLOCK +asyncore.ExitNow +asyncore.__builtins__ +asyncore.__doc__ +asyncore.__file__ +asyncore.__name__ +asyncore._exception (obj) +asyncore.close_all(map=None) +asyncore.compact_traceback() +asyncore.dispatcher(sock=None, map=None) +asyncore.dispatcher_with_send(sock=None, map=None) +asyncore.errorcode +asyncore.loop(timeout=30.0, use_poll=False, map=None, count=None) +asyncore.os:: [module] +asyncore.poll(timeout=0.0, map=None) +asyncore.poll2(timeout=0.0, map=None) +asyncore.poll3(??) [function] +asyncore.read(obj) +asyncore.readwrite(obj, flags) +asyncore.select:: [module] +asyncore.socket:: [module] +asyncore.socket_map +asyncore.sys:: [module] +asyncore.time:: [module] +asyncore.write(obj) +atexit.__all__ +atexit.__builtins__ +atexit.__doc__ +atexit.__file__ +atexit.__name__ +atexit._exithandlers +atexit._run_exitfuncs() [doc: run any registered exit functions] +atexit.register(func, *targs, **kargs) [doc: register a function to be executed upon normal program termination] +atexit.sys:: [module] +audiodev.AudioDev() +audiodev.Play_Audio_sgi(??) [class] +audiodev.Play_Audio_sun(??) [class] +audiodev.__all__ +audiodev.__builtins__ +audiodev.__doc__ +audiodev.__file__ +audiodev.__name__ +audiodev.error +audiodev.test(fn = None) +audioop.__doc__ +audioop.__name__ +audioop.add +audioop.adpcm2lin +audioop.alaw2lin +audioop.avg +audioop.avgpp +audioop.bias +audioop.cross +audioop.error +audioop.findfactor +audioop.findfit +audioop.findmax +audioop.getsample +audioop.lin2adpcm +audioop.lin2alaw +audioop.lin2lin +audioop.lin2ulaw +audioop.max +audioop.maxpp +audioop.minmax +audioop.mul +audioop.ratecv +audioop.reverse +audioop.rms +audioop.tomono +audioop.tostereo +audioop.ulaw2lin +base64.EMPTYSTRING +base64.MAXBINSIZE +base64.MAXLINESIZE +base64.__all__ +base64.__builtins__ +base64.__doc__ +base64.__file__ +base64.__name__ +base64._b32alphabet +base64._b32rev +base64._b32tab +base64._translate(s, altchars) +base64._translation +base64._x +base64.b16decode(s, casefold=False) [doc: Decode a Base16 encoded string.] +base64.b16encode(s) [doc: Encode a string using Base16.] +base64.b32decode(s, casefold=False, map01=None) [doc: Decode a Base32 encoded string.] +base64.b32encode(s) [doc: Encode a string using Base32.] +base64.b64decode(s, altchars=None) [doc: Decode a Base64 encoded string.] +base64.b64encode(s, altchars=None) [doc: Encode a string using Base64.] +base64.binascii:: [module] +base64.decode(input, output) [doc: Decode a file.] +base64.decodestring(s) [doc: Decode a string.] +base64.encode(input, output) [doc: Encode a file.] +base64.encodestring(s) [doc: Encode a string.] +base64.k +base64.re:: [module] +base64.standard_b64decode(s) [doc: Decode a string encoded with the standard Base64 alphabet.] +base64.standard_b64encode(s) [doc: Encode a string using the standard Base64 alphabet.] +base64.struct:: [module] +base64.test() [doc: Small test program] +base64.test1() +base64.urlsafe_b64decode(s) [doc: Decode a string encoded with the standard Base64 alphabet.] +base64.urlsafe_b64encode(s) [doc: Encode a string using a url-safe Base64 alphabet.] +base64.v +basestring +bdb.Bdb(??) [doc: Generic Python debugger base class.] +bdb.BdbQuit +bdb.Breakpoint(file, line, temporary=0, cond=None, funcname=None) [doc: Breakpoint class] +bdb.Tdb(??) [class] +bdb.__all__ +bdb.__builtins__ +bdb.__doc__ +bdb.__file__ +bdb.__name__ +bdb.bar(a) +bdb.checkfuncname(b, frame) [doc: Check whether we should break here because of `b.funcname`.] +bdb.effective(file, line, frame) [doc: Determine which breakpoint for this file:line is to be acted upon.] +bdb.foo(n) +bdb.os:: [module] +bdb.set_trace() +bdb.sys:: [module] +bdb.test() +bdb.types:: [module] +binascii.Error +binascii.Incomplete +binascii.__doc__ +binascii.__name__ +binascii.a2b_base64 +binascii.a2b_hex(hexstr) -> s; Binary data of hexadecimal representation. +binascii.a2b_hqx +binascii.a2b_qp +binascii.a2b_uu +binascii.b2a_base64 +binascii.b2a_hex(data) -> s; Hexadecimal representation of binary data. +binascii.b2a_hqx +binascii.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; +binascii.b2a_uu +binascii.crc32 +binascii.crc_hqx +binascii.hexlify +binascii.rlecode_hqx +binascii.rledecode_hqx +binascii.unhexlify +binhex.BinHex((name, finfo, dlen, rlen), ofp) +binhex.Error +binhex.FInfo(??) [class] +binhex.HexBin(ifp) +binhex.LINELEN +binhex.REASONABLY_LARGE +binhex.RUNCHAR +binhex._DID_DATA +binhex._DID_HEADER +binhex._DID_RSRC +binhex._Hqxcoderengine(ofp) [doc: Write data to the coder in 3-byte chunks] +binhex._Hqxdecoderengine(ifp) [doc: Read data via the decoder in 4-byte chunks] +binhex._Rlecoderengine(ofp) [doc: Write data to the RLE-coder in suitably large chunks] +binhex._Rledecoderengine(ifp) [doc: Read data via the RLE-coder] +binhex.__all__ +binhex.__builtins__ +binhex.__doc__ +binhex.__file__ +binhex.__name__ +binhex._test() +binhex.binascii:: [module] +binhex.binhex(inp, out) [doc: (infilename, outfilename) - Create binhex-encoded copy of a file] +binhex.getfileinfo(??) [function] +binhex.hexbin(inp, out) [doc: (infilename, outfilename) - Decode binhexed file] +binhex.openrsrc(??) [class] +binhex.os:: [module] +binhex.struct:: [module] +binhex.sys:: [module] +bisect.__builtins__ +bisect.__doc__ +bisect.__file__ +bisect.__name__ +bisect.bisect +bisect.bisect_left(a, x[, lo[, hi]]) -> index +bisect.bisect_right(a, x[, lo[, hi]]) -> index +bisect.insort +bisect.insort_left(a, x[, lo[, hi]]) +bisect.insort_right(a, x[, lo[, hi]]) +bool(x) -> bool +break +bsddb.UserDict:: [module] +bsddb._DBWithCursor(db) [doc: ] +bsddb._DeadlockWrap(??) [doc: DeadlockWrap(function, *_args, **_kwargs) - automatically retries] +bsddb.__builtins__ +bsddb.__doc__ +bsddb.__file__ +bsddb.__name__ +bsddb.__path__ +bsddb.__version__ +bsddb._bsddb:: [module] +bsddb._checkflag(flag, file) +bsddb._db:: [module] +bsddb._iter_mixin(??) [class] +bsddb._openDBEnv(cachesize) +bsddb.btopen(??) [function] +bsddb.db.DB +bsddb.db.DBAccessError +bsddb.db.DBAgainError +bsddb.db.DBBusyError +bsddb.db.DBCursorClosedError +bsddb.db.DBEnv +bsddb.db.DBError +bsddb.db.DBFileExistsError +bsddb.db.DBInvalidArgError +bsddb.db.DBKeyEmptyError +bsddb.db.DBKeyExistError +bsddb.db.DBLockDeadlockError +bsddb.db.DBLockNotGrantedError +bsddb.db.DBNoMemoryError +bsddb.db.DBNoServerError +bsddb.db.DBNoServerHomeError +bsddb.db.DBNoServerIDError +bsddb.db.DBNoSpaceError +bsddb.db.DBNoSuchFileError +bsddb.db.DBNotFoundError +bsddb.db.DBOldVersionError +bsddb.db.DBPageNotFoundError +bsddb.db.DBPermissionsError +bsddb.db.DBRunRecoveryError +bsddb.db.DBSecondaryBadError +bsddb.db.DBSequence +bsddb.db.DBVerifyBadError +bsddb.db.DB_AFTER +bsddb.db.DB_AGGRESSIVE +bsddb.db.DB_APPEND +bsddb.db.DB_ARCH_ABS +bsddb.db.DB_ARCH_DATA +bsddb.db.DB_ARCH_LOG +bsddb.db.DB_ARCH_REMOVE +bsddb.db.DB_AUTO_COMMIT +bsddb.db.DB_BEFORE +bsddb.db.DB_BTREE +bsddb.db.DB_BUFFER_SMALL +bsddb.db.DB_CACHED_COUNTS +bsddb.db.DB_CDB_ALLDB +bsddb.db.DB_CHECKPOINT +bsddb.db.DB_CHKSUM +bsddb.db.DB_CONSUME +bsddb.db.DB_CONSUME_WAIT +bsddb.db.DB_CREATE +bsddb.db.DB_CURRENT +bsddb.db.DB_DIRECT_DB +bsddb.db.DB_DIRECT_LOG +bsddb.db.DB_DIRTY_READ +bsddb.db.DB_DONOTINDEX +bsddb.db.DB_DUP +bsddb.db.DB_DUPSORT +bsddb.db.DB_ENCRYPT +bsddb.db.DB_ENCRYPT_AES +bsddb.db.DB_EXCL +bsddb.db.DB_EXTENT +bsddb.db.DB_FAST_STAT +bsddb.db.DB_FCNTL_LOCKING +bsddb.db.DB_FIRST +bsddb.db.DB_FLUSH +bsddb.db.DB_FORCE +bsddb.db.DB_GET_BOTH +bsddb.db.DB_GET_RECNO +bsddb.db.DB_HASH +bsddb.db.DB_INCOMPLETE +bsddb.db.DB_INIT_CDB +bsddb.db.DB_INIT_LOCK +bsddb.db.DB_INIT_LOG +bsddb.db.DB_INIT_MPOOL +bsddb.db.DB_INIT_REP +bsddb.db.DB_INIT_TXN +bsddb.db.DB_JOINENV +bsddb.db.DB_JOIN_ITEM +bsddb.db.DB_JOIN_NOSORT +bsddb.db.DB_KEYEMPTY +bsddb.db.DB_KEYEXIST +bsddb.db.DB_KEYFIRST +bsddb.db.DB_KEYLAST +bsddb.db.DB_LAST +bsddb.db.DB_LOCKDOWN +bsddb.db.DB_LOCK_CONFLICT +bsddb.db.DB_LOCK_DEADLOCK +bsddb.db.DB_LOCK_DEFAULT +bsddb.db.DB_LOCK_DUMP +bsddb.db.DB_LOCK_GET +bsddb.db.DB_LOCK_INHERIT +bsddb.db.DB_LOCK_IREAD +bsddb.db.DB_LOCK_IWR +bsddb.db.DB_LOCK_IWRITE +bsddb.db.DB_LOCK_MAXLOCKS +bsddb.db.DB_LOCK_MINLOCKS +bsddb.db.DB_LOCK_MINWRITE +bsddb.db.DB_LOCK_NG +bsddb.db.DB_LOCK_NORUN +bsddb.db.DB_LOCK_NOTGRANTED +bsddb.db.DB_LOCK_NOWAIT +bsddb.db.DB_LOCK_OLDEST +bsddb.db.DB_LOCK_PUT +bsddb.db.DB_LOCK_PUT_ALL +bsddb.db.DB_LOCK_PUT_OBJ +bsddb.db.DB_LOCK_RANDOM +bsddb.db.DB_LOCK_READ +bsddb.db.DB_LOCK_READ_UNCOMMITTED +bsddb.db.DB_LOCK_RECORD +bsddb.db.DB_LOCK_SWITCH +bsddb.db.DB_LOCK_UPGRADE +bsddb.db.DB_LOCK_UPGRADE_WRITE +bsddb.db.DB_LOCK_WAIT +bsddb.db.DB_LOCK_WRITE +bsddb.db.DB_LOCK_WWRITE +bsddb.db.DB_LOCK_YOUNGEST +bsddb.db.DB_LOG_AUTOREMOVE +bsddb.db.DB_LOG_INMEMORY +bsddb.db.DB_LSTAT_ABORTED +bsddb.db.DB_LSTAT_FREE +bsddb.db.DB_LSTAT_HELD +bsddb.db.DB_LSTAT_PENDING +bsddb.db.DB_LSTAT_WAITING +bsddb.db.DB_MAX_PAGES +bsddb.db.DB_MAX_RECORDS +bsddb.db.DB_MULTIPLE +bsddb.db.DB_MULTIPLE_KEY +bsddb.db.DB_NEXT +bsddb.db.DB_NEXT_DUP +bsddb.db.DB_NEXT_NODUP +bsddb.db.DB_NODUPDATA +bsddb.db.DB_NOLOCKING +bsddb.db.DB_NOMMAP +bsddb.db.DB_NOORDERCHK +bsddb.db.DB_NOOVERWRITE +bsddb.db.DB_NOPANIC +bsddb.db.DB_NOSERVER +bsddb.db.DB_NOSERVER_HOME +bsddb.db.DB_NOSERVER_ID +bsddb.db.DB_NOSYNC +bsddb.db.DB_NOTFOUND +bsddb.db.DB_ODDFILESIZE +bsddb.db.DB_OLD_VERSION +bsddb.db.DB_OPFLAGS_MASK +bsddb.db.DB_ORDERCHKONLY +bsddb.db.DB_PAGE_NOTFOUND +bsddb.db.DB_PANIC_ENVIRONMENT +bsddb.db.DB_POSITION +bsddb.db.DB_PREV +bsddb.db.DB_PREV_NODUP +bsddb.db.DB_PRIVATE +bsddb.db.DB_PR_PAGE +bsddb.db.DB_PR_RECOVERYTEST +bsddb.db.DB_QUEUE +bsddb.db.DB_RDONLY +bsddb.db.DB_RDWRMASTER +bsddb.db.DB_READ_COMMITTED +bsddb.db.DB_READ_UNCOMMITTED +bsddb.db.DB_RECNO +bsddb.db.DB_RECNUM +bsddb.db.DB_RECORDCOUNT +bsddb.db.DB_RECOVER +bsddb.db.DB_RECOVER_FATAL +bsddb.db.DB_REGION_INIT +bsddb.db.DB_RENUMBER +bsddb.db.DB_REVSPLITOFF +bsddb.db.DB_RMW +bsddb.db.DB_RPCCLIENT +bsddb.db.DB_RUNRECOVERY +bsddb.db.DB_SALVAGE +bsddb.db.DB_SECONDARY_BAD +bsddb.db.DB_SEQ_DEC +bsddb.db.DB_SEQ_INC +bsddb.db.DB_SEQ_WRAP +bsddb.db.DB_SET +bsddb.db.DB_SET_LOCK_TIMEOUT +bsddb.db.DB_SET_RANGE +bsddb.db.DB_SET_RECNO +bsddb.db.DB_SET_TXN_TIMEOUT +bsddb.db.DB_SNAPSHOT +bsddb.db.DB_STAT_CLEAR +bsddb.db.DB_SYSTEM_MEM +bsddb.db.DB_THREAD +bsddb.db.DB_TIME_NOTGRANTED +bsddb.db.DB_TRUNCATE +bsddb.db.DB_TXN_NOSYNC +bsddb.db.DB_TXN_NOT_DURABLE +bsddb.db.DB_TXN_NOWAIT +bsddb.db.DB_TXN_SYNC +bsddb.db.DB_TXN_WRITE_NOSYNC +bsddb.db.DB_UNKNOWN +bsddb.db.DB_UPGRADE +bsddb.db.DB_USE_ENVIRON +bsddb.db.DB_USE_ENVIRON_ROOT +bsddb.db.DB_VERIFY +bsddb.db.DB_VERIFY_BAD +bsddb.db.DB_VERSION_MAJOR +bsddb.db.DB_VERSION_MINOR +bsddb.db.DB_VERSION_PATCH +bsddb.db.DB_VERSION_STRING +bsddb.db.DB_WRITECURSOR +bsddb.db.DB_XA_CREATE +bsddb.db.DB_YIELDCPU +bsddb.db.EACCES +bsddb.db.EAGAIN +bsddb.db.EBUSY +bsddb.db.EEXIST +bsddb.db.EINVAL +bsddb.db.ENOENT +bsddb.db.ENOMEM +bsddb.db.ENOSPC +bsddb.db.EPERM +bsddb.db.__doc__ +bsddb.db.__file__ +bsddb.db.__name__ +bsddb.db.__version__ +bsddb.db.cvsid +bsddb.db.version +bsddb.db:: [module] +bsddb.dbobj.DB(dbenv, *args, **kwargs) +bsddb.dbobj.DBEnv(*args, **kwargs) +bsddb.dbobj.DBSequence(*args, **kwargs) +bsddb.dbobj.DictMixin(??) [class] +bsddb.dbobj.__builtins__ +bsddb.dbobj.__doc__ +bsddb.dbobj.__file__ +bsddb.dbobj.__name__ +bsddb.dbobj.db:: [module] +bsddb.dbobj:: [module] +bsddb.dbrecio.DBRecIO(db, key, txn=None) +bsddb.dbrecio.__builtins__ +bsddb.dbrecio.__doc__ +bsddb.dbrecio.__file__ +bsddb.dbrecio.__name__ +bsddb.dbrecio.errno:: [module] +bsddb.dbrecio.string:: [module] +bsddb.dbrecio:: [module] +bsddb.dbshelve.DBShelf(dbenv=None) [doc: A shelf to hold pickled objects, built upon a bsddb DB object. It] +bsddb.dbshelve.DBShelfCursor(cursor) [doc: ] +bsddb.dbshelve.DBShelveError +bsddb.dbshelve.DictMixin(??) [class] +bsddb.dbshelve.__builtins__ +bsddb.dbshelve.__doc__ +bsddb.dbshelve.__file__ +bsddb.dbshelve.__name__ +bsddb.dbshelve.cPickle:: [module] +bsddb.dbshelve.db:: [module] +bsddb.dbshelve.open(??) [doc: ] +bsddb.dbshelve:: [module] +bsddb.dbtables.Cond(??) [doc: This condition matches everything] +bsddb.dbtables.DB +bsddb.dbtables.DBAccessError +bsddb.dbtables.DBAgainError +bsddb.dbtables.DBBusyError +bsddb.dbtables.DBCursorClosedError +bsddb.dbtables.DBEnv +bsddb.dbtables.DBError +bsddb.dbtables.DBFileExistsError +bsddb.dbtables.DBIncompleteError +bsddb.dbtables.DBInvalidArgError +bsddb.dbtables.DBKeyEmptyError +bsddb.dbtables.DBKeyExistError +bsddb.dbtables.DBLockDeadlockError +bsddb.dbtables.DBLockNotGrantedError +bsddb.dbtables.DBNoMemoryError +bsddb.dbtables.DBNoServerError +bsddb.dbtables.DBNoServerHomeError +bsddb.dbtables.DBNoServerIDError +bsddb.dbtables.DBNoSpaceError +bsddb.dbtables.DBNoSuchFileError +bsddb.dbtables.DBNotFoundError +bsddb.dbtables.DBOldVersionError +bsddb.dbtables.DBPageNotFoundError +bsddb.dbtables.DBPermissionsError +bsddb.dbtables.DBRunRecoveryError +bsddb.dbtables.DBSecondaryBadError +bsddb.dbtables.DBSequence +bsddb.dbtables.DBVerifyBadError +bsddb.dbtables.DB_AFTER +bsddb.dbtables.DB_AGGRESSIVE +bsddb.dbtables.DB_APPEND +bsddb.dbtables.DB_ARCH_ABS +bsddb.dbtables.DB_ARCH_DATA +bsddb.dbtables.DB_ARCH_LOG +bsddb.dbtables.DB_ARCH_REMOVE +bsddb.dbtables.DB_AUTO_COMMIT +bsddb.dbtables.DB_BEFORE +bsddb.dbtables.DB_BTREE +bsddb.dbtables.DB_BUFFER_SMALL +bsddb.dbtables.DB_CACHED_COUNTS +bsddb.dbtables.DB_CDB_ALLDB +bsddb.dbtables.DB_CHECKPOINT +bsddb.dbtables.DB_CHKSUM +bsddb.dbtables.DB_CONSUME +bsddb.dbtables.DB_CONSUME_WAIT +bsddb.dbtables.DB_CREATE +bsddb.dbtables.DB_CURRENT +bsddb.dbtables.DB_DIRECT_DB +bsddb.dbtables.DB_DIRECT_LOG +bsddb.dbtables.DB_DIRTY_READ +bsddb.dbtables.DB_DONOTINDEX +bsddb.dbtables.DB_DUP +bsddb.dbtables.DB_DUPSORT +bsddb.dbtables.DB_ENCRYPT +bsddb.dbtables.DB_ENCRYPT_AES +bsddb.dbtables.DB_EXCL +bsddb.dbtables.DB_EXTENT +bsddb.dbtables.DB_FAST_STAT +bsddb.dbtables.DB_FCNTL_LOCKING +bsddb.dbtables.DB_FIRST +bsddb.dbtables.DB_FLUSH +bsddb.dbtables.DB_FORCE +bsddb.dbtables.DB_GET_BOTH +bsddb.dbtables.DB_GET_RECNO +bsddb.dbtables.DB_HASH +bsddb.dbtables.DB_INCOMPLETE +bsddb.dbtables.DB_INIT_CDB +bsddb.dbtables.DB_INIT_LOCK +bsddb.dbtables.DB_INIT_LOG +bsddb.dbtables.DB_INIT_MPOOL +bsddb.dbtables.DB_INIT_REP +bsddb.dbtables.DB_INIT_TXN +bsddb.dbtables.DB_JOINENV +bsddb.dbtables.DB_JOIN_ITEM +bsddb.dbtables.DB_JOIN_NOSORT +bsddb.dbtables.DB_KEYEMPTY +bsddb.dbtables.DB_KEYEXIST +bsddb.dbtables.DB_KEYFIRST +bsddb.dbtables.DB_KEYLAST +bsddb.dbtables.DB_LAST +bsddb.dbtables.DB_LOCKDOWN +bsddb.dbtables.DB_LOCK_CONFLICT +bsddb.dbtables.DB_LOCK_DEADLOCK +bsddb.dbtables.DB_LOCK_DEFAULT +bsddb.dbtables.DB_LOCK_DUMP +bsddb.dbtables.DB_LOCK_GET +bsddb.dbtables.DB_LOCK_INHERIT +bsddb.dbtables.DB_LOCK_IREAD +bsddb.dbtables.DB_LOCK_IWR +bsddb.dbtables.DB_LOCK_IWRITE +bsddb.dbtables.DB_LOCK_MAXLOCKS +bsddb.dbtables.DB_LOCK_MINLOCKS +bsddb.dbtables.DB_LOCK_MINWRITE +bsddb.dbtables.DB_LOCK_NG +bsddb.dbtables.DB_LOCK_NORUN +bsddb.dbtables.DB_LOCK_NOTGRANTED +bsddb.dbtables.DB_LOCK_NOWAIT +bsddb.dbtables.DB_LOCK_OLDEST +bsddb.dbtables.DB_LOCK_PUT +bsddb.dbtables.DB_LOCK_PUT_ALL +bsddb.dbtables.DB_LOCK_PUT_OBJ +bsddb.dbtables.DB_LOCK_RANDOM +bsddb.dbtables.DB_LOCK_READ +bsddb.dbtables.DB_LOCK_READ_UNCOMMITTED +bsddb.dbtables.DB_LOCK_RECORD +bsddb.dbtables.DB_LOCK_SWITCH +bsddb.dbtables.DB_LOCK_UPGRADE +bsddb.dbtables.DB_LOCK_UPGRADE_WRITE +bsddb.dbtables.DB_LOCK_WAIT +bsddb.dbtables.DB_LOCK_WRITE +bsddb.dbtables.DB_LOCK_WWRITE +bsddb.dbtables.DB_LOCK_YOUNGEST +bsddb.dbtables.DB_LOG_AUTOREMOVE +bsddb.dbtables.DB_LOG_INMEMORY +bsddb.dbtables.DB_LSTAT_ABORTED +bsddb.dbtables.DB_LSTAT_FREE +bsddb.dbtables.DB_LSTAT_HELD +bsddb.dbtables.DB_LSTAT_PENDING +bsddb.dbtables.DB_LSTAT_WAITING +bsddb.dbtables.DB_MAX_PAGES +bsddb.dbtables.DB_MAX_RECORDS +bsddb.dbtables.DB_MULTIPLE +bsddb.dbtables.DB_MULTIPLE_KEY +bsddb.dbtables.DB_NEXT +bsddb.dbtables.DB_NEXT_DUP +bsddb.dbtables.DB_NEXT_NODUP +bsddb.dbtables.DB_NODUPDATA +bsddb.dbtables.DB_NOLOCKING +bsddb.dbtables.DB_NOMMAP +bsddb.dbtables.DB_NOORDERCHK +bsddb.dbtables.DB_NOOVERWRITE +bsddb.dbtables.DB_NOPANIC +bsddb.dbtables.DB_NOSERVER +bsddb.dbtables.DB_NOSERVER_HOME +bsddb.dbtables.DB_NOSERVER_ID +bsddb.dbtables.DB_NOSYNC +bsddb.dbtables.DB_NOTFOUND +bsddb.dbtables.DB_ODDFILESIZE +bsddb.dbtables.DB_OLD_VERSION +bsddb.dbtables.DB_OPFLAGS_MASK +bsddb.dbtables.DB_ORDERCHKONLY +bsddb.dbtables.DB_PAGE_NOTFOUND +bsddb.dbtables.DB_PANIC_ENVIRONMENT +bsddb.dbtables.DB_POSITION +bsddb.dbtables.DB_PREV +bsddb.dbtables.DB_PREV_NODUP +bsddb.dbtables.DB_PRIVATE +bsddb.dbtables.DB_PR_PAGE +bsddb.dbtables.DB_PR_RECOVERYTEST +bsddb.dbtables.DB_QUEUE +bsddb.dbtables.DB_RDONLY +bsddb.dbtables.DB_RDWRMASTER +bsddb.dbtables.DB_READ_COMMITTED +bsddb.dbtables.DB_READ_UNCOMMITTED +bsddb.dbtables.DB_RECNO +bsddb.dbtables.DB_RECNUM +bsddb.dbtables.DB_RECORDCOUNT +bsddb.dbtables.DB_RECOVER +bsddb.dbtables.DB_RECOVER_FATAL +bsddb.dbtables.DB_REGION_INIT +bsddb.dbtables.DB_RENUMBER +bsddb.dbtables.DB_REVSPLITOFF +bsddb.dbtables.DB_RMW +bsddb.dbtables.DB_RPCCLIENT +bsddb.dbtables.DB_RUNRECOVERY +bsddb.dbtables.DB_SALVAGE +bsddb.dbtables.DB_SECONDARY_BAD +bsddb.dbtables.DB_SEQ_DEC +bsddb.dbtables.DB_SEQ_INC +bsddb.dbtables.DB_SEQ_WRAP +bsddb.dbtables.DB_SET +bsddb.dbtables.DB_SET_LOCK_TIMEOUT +bsddb.dbtables.DB_SET_RANGE +bsddb.dbtables.DB_SET_RECNO +bsddb.dbtables.DB_SET_TXN_TIMEOUT +bsddb.dbtables.DB_SNAPSHOT +bsddb.dbtables.DB_STAT_CLEAR +bsddb.dbtables.DB_SYSTEM_MEM +bsddb.dbtables.DB_THREAD +bsddb.dbtables.DB_TIME_NOTGRANTED +bsddb.dbtables.DB_TRUNCATE +bsddb.dbtables.DB_TXN_NOSYNC +bsddb.dbtables.DB_TXN_NOT_DURABLE +bsddb.dbtables.DB_TXN_NOWAIT +bsddb.dbtables.DB_TXN_SYNC +bsddb.dbtables.DB_TXN_WRITE_NOSYNC +bsddb.dbtables.DB_UNKNOWN +bsddb.dbtables.DB_UPGRADE +bsddb.dbtables.DB_USE_ENVIRON +bsddb.dbtables.DB_USE_ENVIRON_ROOT +bsddb.dbtables.DB_VERIFY +bsddb.dbtables.DB_VERIFY_BAD +bsddb.dbtables.DB_VERSION_MAJOR +bsddb.dbtables.DB_VERSION_MINOR +bsddb.dbtables.DB_VERSION_PATCH +bsddb.dbtables.DB_VERSION_STRING +bsddb.dbtables.DB_WRITECURSOR +bsddb.dbtables.DB_XA_CREATE +bsddb.dbtables.DB_YIELDCPU +bsddb.dbtables.EACCES +bsddb.dbtables.EAGAIN +bsddb.dbtables.EBUSY +bsddb.dbtables.EEXIST +bsddb.dbtables.EINVAL +bsddb.dbtables.ENOENT +bsddb.dbtables.ENOMEM +bsddb.dbtables.ENOSPC +bsddb.dbtables.EPERM +bsddb.dbtables.ExactCond(strtomatch) [doc: Acts as an exact match condition function] +bsddb.dbtables.LikeCond(likestr, re_flags=re.IGNORECASE) [doc: ] +bsddb.dbtables.ListType +bsddb.dbtables.PostfixCond(postfix) [doc: Acts as a condition function for matching a string postfix] +bsddb.dbtables.PrefixCond(prefix) [doc: Acts as a condition function for matching a string prefix] +bsddb.dbtables.StringType +bsddb.dbtables.TableAlreadyExists +bsddb.dbtables.TableDBError +bsddb.dbtables.__builtins__ +bsddb.dbtables.__doc__ +bsddb.dbtables.__file__ +bsddb.dbtables.__name__ +bsddb.dbtables._columns +bsddb.dbtables._columns_key(table) +bsddb.dbtables._cvsid +bsddb.dbtables._data +bsddb.dbtables._data_key(table, col, rowid) +bsddb.dbtables._rowid +bsddb.dbtables._rowid_key(table, rowid) +bsddb.dbtables._rowid_str_len +bsddb.dbtables._search_all_data_key(table) +bsddb.dbtables._search_col_data_key(table, col) +bsddb.dbtables._search_rowid_key(table) +bsddb.dbtables._table_names_key +bsddb.dbtables.bsdTableDB(??) [class] +bsddb.dbtables.contains_metastrings(??) [doc: Verify that the given string does not contain any] +bsddb.dbtables.copy:: [module] +bsddb.dbtables.cvsid +bsddb.dbtables.pickle:: [module] +bsddb.dbtables.random:: [module] +bsddb.dbtables.re:: [module] +bsddb.dbtables.struct:: [module] +bsddb.dbtables.sys:: [module] +bsddb.dbtables.version +bsddb.dbtables:: [module] +bsddb.dbutils.DeadlockWrap(function, *_args, **_kwargs) - automatically retries +bsddb.dbutils.__builtins__ +bsddb.dbutils.__doc__ +bsddb.dbutils.__file__ +bsddb.dbutils.__name__ +bsddb.dbutils._deadlock_MaxSleepTime +bsddb.dbutils._deadlock_MinSleepTime +bsddb.dbutils._deadlock_VerboseFile +bsddb.dbutils._sleep +bsddb.dbutils.db:: [module] +bsddb.dbutils:: [module] +bsddb.error +bsddb.hashopen(??) [function] +bsddb.os:: [module] +bsddb.ref +bsddb.rnopen(??) [function] +bsddb.sys:: [module] +buffer(object [, offset[, size]]) +bz2.BZ2Compressor([compresslevel=9]) -> compressor object +bz2.BZ2Decompressor() -> decompressor object +bz2.BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object +bz2.__author__ +bz2.__doc__ +bz2.__file__ +bz2.__name__ +bz2.compress(data [, compresslevel=9]) -> string +bz2.decompress(data) -> decompressed data +cPickle.BadPickleGet +cPickle.HIGHEST_PROTOCOL +cPickle.PickleError +cPickle.Pickler(file, protocol=0) -- Create a pickler. +cPickle.PicklingError +cPickle.UnpickleableError +cPickle.Unpickler(file) -- Create an unpickler. +cPickle.UnpicklingError +cPickle.__builtins__:: [module] +cPickle.__doc__ +cPickle.__name__ +cPickle.__version__ +cPickle.compatible_formats +cPickle.dump(obj, file, protocol=0) -- Write an object in pickle format to the given file. +cPickle.dumps(obj, protocol=0) -- Return a string containing an object in pickle format. +cPickle.format_version +cPickle.load(file) -- Load a pickle from the given file +cPickle.loads(string) -- Load a pickle from the given string +cProfile.Profile(custom_timer=None, time_unit=None, subcalls=True, builtins=True) +cProfile.__all__ +cProfile.__builtins__ +cProfile.__doc__ +cProfile.__file__ +cProfile.__name__ +cProfile._lsprof:: [module] +cProfile.help() +cProfile.label(code) +cProfile.main() +cProfile.run(statement, filename=None, sort=-1) [doc: Run statement under profiler optionally saving results in filename] +cProfile.runctx(statement, globals, locals, filename=None) [doc: Run statement under profiler, supplying your own globals and locals,] +cStringIO.InputType +cStringIO.OutputType +cStringIO.StringIO([s]) -- Return a StringIO-like stream for reading or writing +cStringIO.__doc__ +cStringIO.__name__ +cStringIO.cStringIO_CAPI +calendar.Calendar +calendar.EPOCH +calendar.FRIDAY +calendar.February +calendar.HTMLCalendar +calendar.IllegalMonthError +calendar.IllegalWeekdayError +calendar.January +calendar.LocaleHTMLCalendar +calendar.LocaleTextCalendar +calendar.MONDAY +calendar.SATURDAY +calendar.SUNDAY +calendar.THURSDAY +calendar.TUESDAY +calendar.TextCalendar +calendar.TimeEncoding(locale) +calendar.WEDNESDAY +calendar._EPOCH_ORD +calendar.__all__ +calendar.__builtins__ +calendar.__doc__ +calendar.__file__ +calendar.__name__ +calendar._colwidth +calendar._locale:: [module] +calendar._localized_day(format) +calendar._localized_month(format) +calendar._spacing +calendar.c +calendar.calendar +calendar.datetime:: [module] +calendar.day_abbr +calendar.day_name +calendar.error +calendar.firstweekday +calendar.format(cols, colwidth=_colwidth, spacing=_spacing) [doc: Prints multi-column formatting for year calendars] +calendar.formatstring(cols, colwidth=_colwidth, spacing=_spacing) [doc: Returns a string formatted from n strings, centered within n columns.] +calendar.isleap(year) [doc: Return 1 for leap years, 0 for non-leap years.] +calendar.leapdays(y1, y2) [doc: Return number of leap years in range [y1, y2).] +calendar.main(args) +calendar.mdays +calendar.month +calendar.month_abbr +calendar.month_name +calendar.monthcalendar +calendar.monthrange(year, month) [doc: Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for] +calendar.prcal +calendar.prmonth +calendar.prweek +calendar.setfirstweekday(firstweekday) +calendar.sys:: [module] +calendar.timegm(tuple) [doc: Unrelated but handy function to calculate Unix timestamp from GMT.] +calendar.week +calendar.weekday(year, month, day) [doc: Return weekday (0-6 ~ Mon-Sun) for year (1970-...), month (1-12),] +calendar.weekheader +calendar.with_statement +callable(object) -> bool +cgi.FieldStorage(??) [doc: Store a sequence of fields, reading multipart/form-data.] +cgi.FormContent(??) [doc: This class is present for backwards compatibility only.] +cgi.FormContentDict(environ=os.environ) [doc: Form content as dictionary with a list of values per field.] +cgi.InterpFormContentDict(??) [doc: This class is present for backwards compatibility only.] +cgi.MiniFieldStorage(name, value) [doc: Like FieldStorage, for use when no file uploads are possible.] +cgi.StringIO([s]) -- Return a StringIO-like stream for reading or writing +cgi.SvFormContentDict(??) [doc: Form content as dictionary expecting a single value per field.] +cgi.UserDict:: [module] +cgi.__all__ +cgi.__builtins__ +cgi.__doc__ +cgi.__file__ +cgi.__name__ +cgi.__version__ +cgi.attrgetter(attr, ...) --> attrgetter object +cgi.dolog(fmt, *args) [doc: Write a log message to the log file. See initlog() for docs.] +cgi.escape(s, quote=None) [doc: Replace special characters "&", "<" and ">" to HTML-safe sequences.] +cgi.initlog(*allargs) [doc: Write a log message, if there is a log file.] +cgi.log(??) [doc: Write a log message, if there is a log file.] +cgi.logfile +cgi.logfp +cgi.maxlen +cgi.mimetools:: [module] +cgi.nolog(*allargs) [doc: Dummy function, assigned to log when logging is disabled.] +cgi.os:: [module] +cgi.parse(fp=None, environ=os.environ, keep_blank_values=0, strict_parsing=0) [doc: Parse a query in the environment or from a file (default stdin)] +cgi.parse_header(line) [doc: Parse a Content-type like header.] +cgi.parse_multipart(fp, pdict) [doc: Parse multipart input.] +cgi.parse_qs(qs, keep_blank_values=0, strict_parsing=0) [doc: Parse a query given as a string argument.] +cgi.parse_qsl(qs, keep_blank_values=0, strict_parsing=0) [doc: Parse a query given as a string argument.] +cgi.print_arguments() +cgi.print_directory() [doc: Dump the current directory as HTML.] +cgi.print_environ(environ=os.environ) [doc: Dump the shell environment as HTML.] +cgi.print_environ_usage() [doc: Dump a list of environment variables used by CGI as HTML.] +cgi.print_exception(type=None, value=None, tb=None, limit=None) +cgi.print_form(form) [doc: Dump the contents of a form as HTML.] +cgi.rfc822:: [module] +cgi.sys:: [module] +cgi.test(environ=os.environ) [doc: Robust test CGI script, usable as main program.] +cgi.urllib:: [module] +cgi.valid_boundary(s, _vb_pattern="^[ -~]{0,200}[!-~]$") +cgitb.Hook(??) [doc: A hook to replace sys.excepthook that shows tracebacks in HTML.] +cgitb.__UNDEF__ +cgitb.__author__ +cgitb.__builtins__ +cgitb.__doc__ +cgitb.__file__ +cgitb.__name__ +cgitb.__version__ +cgitb.enable(display=1, logdir=None, context=5, format="html") [doc: Install an exception handler that formats tracebacks as HTML.] +cgitb.grey(text) +cgitb.handler +cgitb.html((etype, evalue, etb), context=5) [doc: Return a nice HTML document describing a given traceback.] +cgitb.lookup(name, frame, locals) [doc: Find the value for a given name in the given environment.] +cgitb.reset() [doc: Return a string that resets the CGI and browser to a known state.] +cgitb.scanvars(reader, frame, locals) [doc: Scan one logical line of Python and look up values of variables used.] +cgitb.small(text) +cgitb.strong(text) +cgitb.sys:: [module] +cgitb.text((etype, evalue, etb), context=5) [doc: Return a plain text document describing a given traceback.] +chr(i) -> character +chunk.Chunk(file, align=True, bigendian=True, inclheader=False) +chunk.__builtins__ +chunk.__doc__ +chunk.__file__ +chunk.__name__ +class +classmethod(function) -> method +cmath.__doc__ +cmath.__name__ +cmath.acos(x) +cmath.acosh(x) +cmath.asin(x) +cmath.asinh(x) +cmath.atan(x) +cmath.atanh(x) +cmath.cos(x) +cmath.cosh(x) +cmath.e +cmath.exp(x) +cmath.log(x[, base]) -> the logarithm of x to the given base. +cmath.log10(x) +cmath.pi +cmath.sin(x) +cmath.sinh(x) +cmath.sqrt(x) +cmath.tan(x) +cmath.tanh(x) +cmd.Cmd(completekey='tab', stdin=None, stdout=None) [doc: A simple framework for writing line-oriented command interpreters.] +cmd.IDENTCHARS +cmd.PROMPT +cmd.__all__ +cmd.__builtins__ +cmd.__doc__ +cmd.__file__ +cmd.__name__ +cmd.string:: [module] +cmp(x, y) -> integer +code.CommandCompiler(??) [doc: Instances of this class have __call__ methods identical in] +code.InteractiveConsole(locals=None, filename="") [doc: Closely emulate the behavior of the interactive Python interpreter.] +code.InteractiveInterpreter(locals=None) [doc: Base class for InteractiveConsole.] +code.__all__ +code.__builtins__ +code.__doc__ +code.__file__ +code.__name__ +code.compile_command(??) [doc: Compile a command and determine whether it is incomplete.] +code.interact(banner=None, readfunc=None, local=None) [doc: Closely emulate the interactive Python interpreter.] +code.softspace(file, newvalue) +code.sys:: [module] +code.traceback:: [module] +codecs.BOM +codecs.BOM32_BE +codecs.BOM32_LE +codecs.BOM64_BE +codecs.BOM64_LE +codecs.BOM_BE +codecs.BOM_LE +codecs.BOM_UTF16 +codecs.BOM_UTF16_BE +codecs.BOM_UTF16_LE +codecs.BOM_UTF32 +codecs.BOM_UTF32_BE +codecs.BOM_UTF32_LE +codecs.BOM_UTF8 +codecs.BufferedIncrementalDecoder +codecs.BufferedIncrementalEncoder +codecs.Codec(??) [doc: Defines the interface for stateless encoders/decoders.] +codecs.CodecInfo +codecs.EncodedFile(file, data_encoding, file_encoding=None, errors='strict') [doc: Return a wrapped version of file which provides transparent] +codecs.IncrementalDecoder +codecs.IncrementalEncoder +codecs.StreamReader(stream, errors='strict') +codecs.StreamReaderWriter(stream, Reader, Writer, errors='strict') [doc: StreamReaderWriter instances allow wrapping streams which] +codecs.StreamRecoder(??) [doc: StreamRecoder instances provide a frontend - backend] +codecs.StreamWriter(stream, errors='strict') +codecs.__all__ +codecs.__builtin__:: [module] +codecs.__builtins__ +codecs.__doc__ +codecs.__file__ +codecs.__name__ +codecs._false +codecs.ascii_decode +codecs.ascii_encode +codecs.backslashreplace_errors +codecs.charbuffer_encode +codecs.charmap_build +codecs.charmap_decode +codecs.charmap_encode +codecs.decode(obj, [encoding[,errors]]) -> object +codecs.encode(obj, [encoding[,errors]]) -> object +codecs.escape_decode +codecs.escape_encode +codecs.getdecoder(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.getencoder(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.getincrementaldecoder(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.getincrementalencoder(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.getreader(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.getwriter(encoding) [doc: Lookup up the codec for the given encoding and return] +codecs.ignore_errors +codecs.iterdecode(iterator, encoding, errors='strict', **kwargs) [doc: ] +codecs.iterencode(iterator, encoding, errors='strict', **kwargs) [doc: ] +codecs.latin_1_decode +codecs.latin_1_encode +codecs.lookup(encoding) -> (encoder, decoder, stream_reader, stream_writer) +codecs.lookup_error(errors) -> handler +codecs.make_encoding_map(decoding_map) [doc: Creates an encoding map from a decoding map.] +codecs.make_identity_dict(rng) -> dict +codecs.mbcs_decode +codecs.mbcs_encode +codecs.open(filename, mode='rb', encoding=None, errors='strict', buffering=1) [doc: Open an encoded file using the given mode and return] +codecs.raw_unicode_escape_decode +codecs.raw_unicode_escape_encode +codecs.readbuffer_encode +codecs.register(search_function) +codecs.register_error(errors, handler) +codecs.replace_errors +codecs.strict_errors +codecs.sys:: [module] +codecs.unicode_escape_decode +codecs.unicode_escape_encode +codecs.unicode_internal_decode +codecs.unicode_internal_encode +codecs.utf_16_be_decode +codecs.utf_16_be_encode +codecs.utf_16_decode +codecs.utf_16_encode +codecs.utf_16_ex_decode +codecs.utf_16_le_decode +codecs.utf_16_le_encode +codecs.utf_7_decode +codecs.utf_7_encode +codecs.utf_8_decode +codecs.utf_8_encode +codecs.xmlcharrefreplace_errors +codeop.CommandCompiler() [doc: Instances of this class have __call__ methods identical in] +codeop.Compile(??) [doc: Instances of this class behave much like the built-in compile] +codeop.PyCF_DONT_IMPLY_DEDENT +codeop.__all__ +codeop.__builtins__ +codeop.__doc__ +codeop.__file__ +codeop.__future__:: [module] +codeop.__name__ +codeop._compile(source, filename, symbol) +codeop._features +codeop._maybe_compile(compiler, source, filename, symbol) +codeop.compile_command(source, filename="", symbol="single") [doc: Compile a command and determine whether it is incomplete.] +codeop.fname +coerce(x, y) -> (x1, y1) +collections.__doc__ +collections.__name__ +collections.defaultdict(default_factory) --> dict with default factory +collections.deque(iterable) --> deque object +colorsys.ONE_SIXTH +colorsys.ONE_THIRD +colorsys.TWO_THIRD +colorsys.__all__ +colorsys.__builtins__ +colorsys.__doc__ +colorsys.__file__ +colorsys.__name__ +colorsys._v(m1, m2, hue) +colorsys.hls_to_rgb(h, l, s) +colorsys.hsv_to_rgb(h, s, v) +colorsys.rgb_to_hls(r, g, b) +colorsys.rgb_to_hsv(r, g, b) +colorsys.rgb_to_yiq(r, g, b) +colorsys.yiq_to_rgb(y, i, q) +commands.__all__ +commands.__builtins__ +commands.__doc__ +commands.__file__ +commands.__name__ +commands.getoutput(cmd) [doc: Return output (stdout or stderr) of executing cmd in a shell.] +commands.getstatus(file) [doc: Return output of "ls -ld " in a string.] +commands.getstatusoutput(cmd) [doc: Return (status, output) of executing cmd in a shell.] +commands.mk2arg(head, x) +commands.mkarg(x) +compile(source, filename, mode[, flags[, dont_inherit]]) -> code object +compileall.__all__ +compileall.__builtins__ +compileall.__doc__ +compileall.__file__ +compileall.__name__ +compileall.compile_dir(??) [doc: Byte-compile all modules in the given directory tree.] +compileall.compile_path(skip_curdir=1, maxlevels=0, force=0, quiet=0) [doc: Byte-compile all module on sys.path.] +compileall.main() [doc: Script main program.] +compileall.os:: [module] +compileall.py_compile:: [module] +compileall.sys:: [module] +compiler.__builtins__ +compiler.__doc__ +compiler.__file__ +compiler.__name__ +compiler.__path__ +compiler.ast.Add((left, right), lineno=None) +compiler.ast.And(nodes, lineno=None) +compiler.ast.AssAttr(expr, attrname, flags, lineno=None) +compiler.ast.AssList(nodes, lineno=None) +compiler.ast.AssName(name, flags, lineno=None) +compiler.ast.AssTuple(nodes, lineno=None) +compiler.ast.Assert(test, fail, lineno=None) +compiler.ast.Assign(nodes, expr, lineno=None) +compiler.ast.AugAssign(node, op, expr, lineno=None) +compiler.ast.Backquote(expr, lineno=None) +compiler.ast.Bitand(nodes, lineno=None) +compiler.ast.Bitor(nodes, lineno=None) +compiler.ast.Bitxor(nodes, lineno=None) +compiler.ast.Break(lineno=None) +compiler.ast.CO_VARARGS +compiler.ast.CO_VARKEYWORDS +compiler.ast.CallFunc(node, args, star_args = None, dstar_args = None, lineno=None) +compiler.ast.Class(name, bases, doc, code, lineno=None) +compiler.ast.Compare(expr, ops, lineno=None) +compiler.ast.Const(value, lineno=None) +compiler.ast.Continue(lineno=None) +compiler.ast.Decorators(nodes, lineno=None) +compiler.ast.Dict(items, lineno=None) +compiler.ast.Discard(expr, lineno=None) +compiler.ast.Div((left, right), lineno=None) +compiler.ast.Ellipsis(lineno=None) +compiler.ast.EmptyNode(??) [class] +compiler.ast.Exec(expr, locals, globals, lineno=None) +compiler.ast.Expression(node) +compiler.ast.FloorDiv((left, right), lineno=None) +compiler.ast.For(assign, list, body, else_, lineno=None) +compiler.ast.From(modname, names, level, lineno=None) +compiler.ast.Function(decorators, name, argnames, defaults, flags, doc, code, lineno=None) +compiler.ast.GenExpr(code, lineno=None) +compiler.ast.GenExprFor(assign, iter, ifs, lineno=None) +compiler.ast.GenExprIf(test, lineno=None) +compiler.ast.GenExprInner(expr, quals, lineno=None) +compiler.ast.Getattr(expr, attrname, lineno=None) +compiler.ast.Global(names, lineno=None) +compiler.ast.If(tests, else_, lineno=None) +compiler.ast.IfExp(test, then, else_, lineno=None) +compiler.ast.Import(names, lineno=None) +compiler.ast.Invert(expr, lineno=None) +compiler.ast.Keyword(name, expr, lineno=None) +compiler.ast.Lambda(argnames, defaults, flags, code, lineno=None) +compiler.ast.LeftShift((left, right), lineno=None) +compiler.ast.List(nodes, lineno=None) +compiler.ast.ListComp(expr, quals, lineno=None) +compiler.ast.ListCompFor(assign, list, ifs, lineno=None) +compiler.ast.ListCompIf(test, lineno=None) +compiler.ast.Mod((left, right), lineno=None) +compiler.ast.Module(doc, node, lineno=None) +compiler.ast.Mul((left, right), lineno=None) +compiler.ast.Name(name, lineno=None) +compiler.ast.Node(??) [doc: Abstract base class for ast nodes.] +compiler.ast.Not(expr, lineno=None) +compiler.ast.Or(nodes, lineno=None) +compiler.ast.Pass(lineno=None) +compiler.ast.Power((left, right), lineno=None) +compiler.ast.Print(nodes, dest, lineno=None) +compiler.ast.Printnl(nodes, dest, lineno=None) +compiler.ast.Raise(expr1, expr2, expr3, lineno=None) +compiler.ast.Return(value, lineno=None) +compiler.ast.RightShift((left, right), lineno=None) +compiler.ast.Slice(expr, flags, lower, upper, lineno=None) +compiler.ast.Sliceobj(nodes, lineno=None) +compiler.ast.Stmt(nodes, lineno=None) +compiler.ast.Sub((left, right), lineno=None) +compiler.ast.Subscript(expr, flags, subs, lineno=None) +compiler.ast.TryExcept(body, handlers, else_, lineno=None) +compiler.ast.TryFinally(body, final, lineno=None) +compiler.ast.Tuple(nodes, lineno=None) +compiler.ast.UnaryAdd(expr, lineno=None) +compiler.ast.UnarySub(expr, lineno=None) +compiler.ast.While(test, body, else_, lineno=None) +compiler.ast.With(expr, vars, body, lineno=None) +compiler.ast.Yield(value, lineno=None) +compiler.ast.__builtins__ +compiler.ast.__doc__ +compiler.ast.__file__ +compiler.ast.__name__ +compiler.ast.flatten(seq) +compiler.ast.flatten_nodes(seq) +compiler.ast.name +compiler.ast.nodes +compiler.ast.obj(??) [class] +compiler.ast:: [module] +compiler.compile(??) [doc: Replacement for builtin compile() function] +compiler.compileFile(??) [function] +compiler.consts.CO_FUTURE_ABSIMPORT +compiler.consts.CO_FUTURE_DIVISION +compiler.consts.CO_FUTURE_WITH_STATEMENT +compiler.consts.CO_GENERATOR +compiler.consts.CO_GENERATOR_ALLOWED +compiler.consts.CO_NESTED +compiler.consts.CO_NEWLOCALS +compiler.consts.CO_OPTIMIZED +compiler.consts.CO_VARARGS +compiler.consts.CO_VARKEYWORDS +compiler.consts.OP_APPLY +compiler.consts.OP_ASSIGN +compiler.consts.OP_DELETE +compiler.consts.SC_CELL +compiler.consts.SC_FREE +compiler.consts.SC_GLOBAL +compiler.consts.SC_LOCAL +compiler.consts.SC_UNKNOWN +compiler.consts.__builtins__ +compiler.consts.__doc__ +compiler.consts.__file__ +compiler.consts.__name__ +compiler.consts:: [module] +compiler.future.BadFutureParser(??) [doc: Check for invalid future statements] +compiler.future.FutureParser(??) [class] +compiler.future.__builtins__ +compiler.future.__doc__ +compiler.future.__file__ +compiler.future.__name__ +compiler.future.ast:: [module] +compiler.future.find_futures(node) +compiler.future.is_future(stmt) [doc: Return true if statement is a well-formed future statement] +compiler.future.walk(??) [function] +compiler.future:: [module] +compiler.misc.MANGLE_LEN +compiler.misc.Set(??) [class] +compiler.misc.Stack(??) [class] +compiler.misc.__builtins__ +compiler.misc.__doc__ +compiler.misc.__file__ +compiler.misc.__name__ +compiler.misc.flatten(tup) +compiler.misc.mangle(name, klass) +compiler.misc.set_filename(filename, tree) [doc: Set the filename attribute to filename on every node in tree] +compiler.misc:: [module] +compiler.parse(??) [function] +compiler.parseFile(??) [function] +compiler.pyassem.Block(label='') +compiler.pyassem.CONV +compiler.pyassem.CO_NEWLOCALS +compiler.pyassem.CO_OPTIMIZED +compiler.pyassem.CO_VARARGS +compiler.pyassem.CO_VARKEYWORDS +compiler.pyassem.DONE +compiler.pyassem.FLAT +compiler.pyassem.FlowGraph(??) [class] +compiler.pyassem.LineAddrTable(??) [doc: lnotab] +compiler.pyassem.PyFlowGraph(name, filename, args=(), optimized=0, klass=None) +compiler.pyassem.RAW +compiler.pyassem.StackDepthTracker(??) [class] +compiler.pyassem.TupleArg(count, names) [doc: Helper for marking func defs with nested tuples in arglist] +compiler.pyassem.__builtins__ +compiler.pyassem.__doc__ +compiler.pyassem.__file__ +compiler.pyassem.__name__ +compiler.pyassem.dfs_postorder(b, seen) [doc: Depth-first search of tree rooted at b, return in postorder] +compiler.pyassem.dis:: [module] +compiler.pyassem.findDepth +compiler.pyassem.getArgCount(args) +compiler.pyassem.isJump(opname) +compiler.pyassem.misc:: [module] +compiler.pyassem.new:: [module] +compiler.pyassem.sys:: [module] +compiler.pyassem.twobyte(val) [doc: Convert an int argument into high and low bytes] +compiler.pyassem:: [module] +compiler.pycodegen.AbstractClassCode(klass, scopes, module) +compiler.pycodegen.AbstractCompileMode(source, filename) +compiler.pycodegen.AbstractFunctionCode(func, scopes, isLambda, class_name, mod) +compiler.pycodegen.AugGetattr(??) [class] +compiler.pycodegen.AugName(??) [class] +compiler.pycodegen.AugSlice(??) [class] +compiler.pycodegen.AugSubscript(??) [class] +compiler.pycodegen.CO_FUTURE_ABSIMPORT +compiler.pycodegen.CO_FUTURE_DIVISION +compiler.pycodegen.CO_FUTURE_WITH_STATEMENT +compiler.pycodegen.CO_GENERATOR +compiler.pycodegen.CO_NESTED +compiler.pycodegen.CO_NEWLOCALS +compiler.pycodegen.CO_VARARGS +compiler.pycodegen.CO_VARKEYWORDS +compiler.pycodegen.ClassCodeGenerator(klass, scopes, module) +compiler.pycodegen.CodeGenerator(??) [doc: Defines basic code generator for Python bytecode] +compiler.pycodegen.Delegator(obj) [doc: Base class to support delegation for augmented assignment nodes] +compiler.pycodegen.END_FINALLY +compiler.pycodegen.EXCEPT +compiler.pycodegen.Expression(??) [class] +compiler.pycodegen.ExpressionCodeGenerator(tree) +compiler.pycodegen.FunctionCodeGenerator(func, scopes, isLambda, class_name, mod) +compiler.pycodegen.GenExprCodeGenerator(gexp, scopes, class_name, mod) +compiler.pycodegen.Interactive(??) [class] +compiler.pycodegen.InteractiveCodeGenerator(tree) +compiler.pycodegen.LOOP +compiler.pycodegen.LocalNameFinder(names=()) [doc: Find local names in scope] +compiler.pycodegen.Module(??) [class] +compiler.pycodegen.ModuleCodeGenerator(tree) +compiler.pycodegen.NestedScopeMixin(??) [doc: Defines initClass() for nested scoping (Python 2.2-compatible)] +compiler.pycodegen.OpFinder(??) [class] +compiler.pycodegen.SC_CELL +compiler.pycodegen.SC_FREE +compiler.pycodegen.SC_GLOBAL +compiler.pycodegen.SC_LOCAL +compiler.pycodegen.StringIO([s]) -- Return a StringIO-like stream for reading or writing +compiler.pycodegen.TRY_FINALLY +compiler.pycodegen.TupleArg(??) [doc: Helper for marking func defs with nested tuples in arglist] +compiler.pycodegen.VERSION +compiler.pycodegen.__builtins__ +compiler.pycodegen.__doc__ +compiler.pycodegen.__file__ +compiler.pycodegen.__name__ +compiler.pycodegen.ast:: [module] +compiler.pycodegen.callfunc_opcode_info +compiler.pycodegen.compile(source, filename, mode, flags=None, dont_inherit=None) [doc: Replacement for builtin compile() function] +compiler.pycodegen.compileFile(filename, display=0) +compiler.pycodegen.findOp(node) [doc: Find the op (DELETE, LOAD, STORE) in an AssTuple tree] +compiler.pycodegen.future:: [module] +compiler.pycodegen.generateArgList(arglist) [doc: Generate an arg list marking TupleArgs] +compiler.pycodegen.imp:: [module] +compiler.pycodegen.is_constant_false(node) +compiler.pycodegen.marshal:: [module] +compiler.pycodegen.misc:: [module] +compiler.pycodegen.os:: [module] +compiler.pycodegen.parse(??) [function] +compiler.pycodegen.pyassem:: [module] +compiler.pycodegen.struct:: [module] +compiler.pycodegen.symbols:: [module] +compiler.pycodegen.syntax:: [module] +compiler.pycodegen.sys:: [module] +compiler.pycodegen.walk(??) [function] +compiler.pycodegen.wrap_aug(node) +compiler.pycodegen.wrapper +compiler.pycodegen:: [module] +compiler.symbols.ClassScope(name, module) +compiler.symbols.FunctionScope(??) [class] +compiler.symbols.GenExprScope(module, klass=None) +compiler.symbols.LambdaScope(module, klass=None) +compiler.symbols.MANGLE_LEN +compiler.symbols.ModuleScope(??) [class] +compiler.symbols.SC_CELL +compiler.symbols.SC_FREE +compiler.symbols.SC_GLOBAL +compiler.symbols.SC_LOCAL +compiler.symbols.SC_UNKNOWN +compiler.symbols.Scope(name, module, klass=None) +compiler.symbols.SymbolVisitor(??) [class] +compiler.symbols.__builtins__ +compiler.symbols.__doc__ +compiler.symbols.__file__ +compiler.symbols.__name__ +compiler.symbols.ast:: [module] +compiler.symbols.list_eq(l1, l2) +compiler.symbols.mangle(??) [function] +compiler.symbols.sys:: [module] +compiler.symbols.types:: [module] +compiler.symbols:: [module] +compiler.syntax.SyntaxErrorChecker(multi=None) [doc: A visitor to find syntax errors in the AST.] +compiler.syntax.__builtins__ +compiler.syntax.__doc__ +compiler.syntax.__file__ +compiler.syntax.__name__ +compiler.syntax.ast:: [module] +compiler.syntax.check(tree, multi=None) +compiler.syntax.walk(??) [function] +compiler.syntax:: [module] +compiler.transformer.Add(??) [class] +compiler.transformer.And(??) [class] +compiler.transformer.AssAttr(??) [class] +compiler.transformer.AssList(??) [class] +compiler.transformer.AssName(??) [class] +compiler.transformer.AssTuple(??) [class] +compiler.transformer.Assert(??) [class] +compiler.transformer.Assign(??) [class] +compiler.transformer.AugAssign(??) [class] +compiler.transformer.Backquote(??) [class] +compiler.transformer.Bitand(??) [class] +compiler.transformer.Bitor(??) [class] +compiler.transformer.Bitxor(??) [class] +compiler.transformer.Break(??) [class] +compiler.transformer.CO_VARARGS +compiler.transformer.CO_VARKEYWORDS +compiler.transformer.CallFunc(??) [class] +compiler.transformer.Class(??) [class] +compiler.transformer.Compare(??) [class] +compiler.transformer.Const(??) [class] +compiler.transformer.Continue(??) [class] +compiler.transformer.Decorators(??) [class] +compiler.transformer.Dict(??) [class] +compiler.transformer.Discard(??) [class] +compiler.transformer.Div(??) [class] +compiler.transformer.Ellipsis(??) [class] +compiler.transformer.EmptyNode(??) [class] +compiler.transformer.Exec(??) [class] +compiler.transformer.Expression(??) [class] +compiler.transformer.FloorDiv(??) [class] +compiler.transformer.For(??) [class] +compiler.transformer.From(??) [class] +compiler.transformer.Function(??) [class] +compiler.transformer.GenExpr(??) [class] +compiler.transformer.GenExprFor(??) [class] +compiler.transformer.GenExprIf(??) [class] +compiler.transformer.GenExprInner(??) [class] +compiler.transformer.Getattr(??) [class] +compiler.transformer.Global(??) [class] +compiler.transformer.If(??) [class] +compiler.transformer.IfExp(??) [class] +compiler.transformer.Import(??) [class] +compiler.transformer.Invert(??) [class] +compiler.transformer.Keyword(??) [class] +compiler.transformer.Lambda(??) [class] +compiler.transformer.LeftShift(??) [class] +compiler.transformer.List(??) [class] +compiler.transformer.ListComp(??) [class] +compiler.transformer.ListCompFor(??) [class] +compiler.transformer.ListCompIf(??) [class] +compiler.transformer.Mod(??) [class] +compiler.transformer.Module(??) [class] +compiler.transformer.Mul(??) [class] +compiler.transformer.Name(??) [class] +compiler.transformer.Node(*args) +compiler.transformer.Not(??) [class] +compiler.transformer.OP_APPLY +compiler.transformer.OP_ASSIGN +compiler.transformer.OP_DELETE +compiler.transformer.Or(??) [class] +compiler.transformer.Pass(??) [class] +compiler.transformer.Power(??) [class] +compiler.transformer.Print(??) [class] +compiler.transformer.Printnl(??) [class] +compiler.transformer.Raise(??) [class] +compiler.transformer.Return(??) [class] +compiler.transformer.RightShift(??) [class] +compiler.transformer.Slice(??) [class] +compiler.transformer.Sliceobj(??) [class] +compiler.transformer.Stmt(??) [class] +compiler.transformer.Sub(??) [class] +compiler.transformer.Subscript(??) [class] +compiler.transformer.Transformer(??) [doc: Utility object for transforming Python parse trees.] +compiler.transformer.TryExcept(??) [class] +compiler.transformer.TryFinally(??) [class] +compiler.transformer.Tuple(??) [class] +compiler.transformer.UnaryAdd(??) [class] +compiler.transformer.UnarySub(??) [class] +compiler.transformer.WalkerError +compiler.transformer.While(??) [class] +compiler.transformer.With(??) [class] +compiler.transformer.Yield(??) [class] +compiler.transformer.__builtins__ +compiler.transformer.__doc__ +compiler.transformer.__file__ +compiler.transformer.__name__ +compiler.transformer._assign_types +compiler.transformer._cmp_types +compiler.transformer._doc_nodes +compiler.transformer._legal_node_types +compiler.transformer._names +compiler.transformer.asList(nodes) +compiler.transformer.debug_tree(tree) +compiler.transformer.extractLineNo(ast) +compiler.transformer.flatten(??) [function] +compiler.transformer.flatten_nodes(??) [function] +compiler.transformer.k +compiler.transformer.name +compiler.transformer.nodes +compiler.transformer.obj(??) [class] +compiler.transformer.parse(buf, mode="exec") +compiler.transformer.parseFile(path) +compiler.transformer.parser:: [module] +compiler.transformer.symbol:: [module] +compiler.transformer.sys:: [module] +compiler.transformer.token:: [module] +compiler.transformer.v +compiler.transformer:: [module] +compiler.visitor.ASTVisitor(??) [doc: Performs a depth-first walk of the AST] +compiler.visitor.ExampleASTVisitor(??) [doc: Prints examples of the nodes that aren't visited] +compiler.visitor.__builtins__ +compiler.visitor.__doc__ +compiler.visitor.__file__ +compiler.visitor.__name__ +compiler.visitor._walker(??) [doc: Performs a depth-first walk of the AST] +compiler.visitor.ast:: [module] +compiler.visitor.dumpNode(node) +compiler.visitor.walk(tree, visitor, walker=None, verbose=None) +compiler.visitor:: [module] +compiler.walk(??) [function] +complex(real[, imag]) -> complex number +contextlib.GeneratorContextManager +contextlib.__all__ +contextlib.__builtins__ +contextlib.__doc__ +contextlib.__file__ +contextlib.__name__ +contextlib.closing +contextlib.contextmanager(func) [doc: @contextmanager decorator.] +contextlib.nested(*managers) [doc: Support multiple context managers in a single with-statement.] +contextlib.sys:: [module] +continue +cookielib.Absent(??) [class] +cookielib.Cookie(??) [doc: HTTP Cookie.] +cookielib.CookieJar(policy=None) [doc: Collection of HTTP cookies.] +cookielib.CookiePolicy(??) [doc: Defines which cookies get accepted from and returned to server.] +cookielib.DAYS +cookielib.DEFAULT_HTTP_PORT +cookielib.DefaultCookiePolicy(??) [doc: Implements the standard rules for accepting and returning cookies.] +cookielib.EPOCH_YEAR +cookielib.ESCAPED_CHAR_RE +cookielib.FileCookieJar(filename=None, delayload=False, policy=None) [doc: CookieJar that can be loaded from and saved to a file.] +cookielib.HEADER_ESCAPE_RE +cookielib.HEADER_JOIN_ESCAPE_RE +cookielib.HEADER_QUOTED_VALUE_RE +cookielib.HEADER_TOKEN_RE +cookielib.HEADER_VALUE_RE +cookielib.HTTP_PATH_SAFE +cookielib.IPV4_RE +cookielib.ISO_DATE_RE +cookielib.LOOSE_HTTP_DATE_RE +cookielib.LWPCookieJar(??) [doc: ] +cookielib.LoadError +cookielib.MISSING_FILENAME_TEXT +cookielib.MONTHS +cookielib.MONTHS_LOWER +cookielib.MozillaCookieJar(??) [doc: ] +cookielib.STRICT_DATE_RE +cookielib.TIMEZONE_RE +cookielib.UTC_ZONES +cookielib.WEEKDAY_RE +cookielib.__all__ +cookielib.__builtins__ +cookielib.__doc__ +cookielib.__file__ +cookielib.__name__ +cookielib._debug(*args) +cookielib._str2time(day, mon, yr, hr, min, sec, tz) +cookielib._threading:: [module] +cookielib._timegm(tt) +cookielib._warn_unhandled_exception() +cookielib.copy:: [module] +cookielib.cut_port_re +cookielib.debug +cookielib.deepvalues(mapping) [doc: Iterates over nested mapping, depth-first, in sorted order by key.] +cookielib.domain_match(A, B) [doc: Return True if domain A domain-matches domain B, according to RFC 2965.] +cookielib.eff_request_host(request) [doc: Return a tuple (request-host, effective request-host name).] +cookielib.escape_path(path) [doc: Escape any invalid characters in HTTP URL, and uppercase all escapes.] +cookielib.http2time(text) [doc: Returns time in seconds since epoch of time represented by a string.] +cookielib.httplib:: [module] +cookielib.is_HDN(text) [doc: Return True if text is a host domain name.] +cookielib.is_third_party(request) [doc: ] +cookielib.iso2time(text) [doc: ] +cookielib.join_header_words(lists) [doc: Do the inverse (almost) of the conversion done by split_header_words.] +cookielib.liberal_is_HDN(text) [doc: Return True if text is a sort-of-like a host domain name.] +cookielib.logger +cookielib.lwp_cookie_str(??) [doc: Return string representation of Cookie in an the LWP cookie file format.] +cookielib.month +cookielib.offset_from_tz_string(tz) +cookielib.parse_ns_headers(ns_headers) [doc: Ad-hoc parser for Netscape protocol cookie-attributes.] +cookielib.re:: [module] +cookielib.reach(h) [doc: Return reach of host h, as defined by RFC 2965, section 1.] +cookielib.request_host(request) [doc: Return request-host, as defined by RFC 2965.] +cookielib.request_path(request) [doc: request-URI, as defined by RFC 2965.] +cookielib.request_port(request) +cookielib.split_header_words(header_values) [doc: Parse header values into a list of lists containing key,value pairs.] +cookielib.time2isoz(t=None) [doc: Return a string representing time in seconds since epoch, t.] +cookielib.time2netscape(t=None) [doc: Return a string representing time in seconds since epoch, t.] +cookielib.time:: [module] +cookielib.timegm(??) [doc: Unrelated but handy function to calculate Unix timestamp from GMT.] +cookielib.unmatched(match) [doc: Return unmatched part of re.Match object.] +cookielib.uppercase_escaped_char(match) +cookielib.urllib:: [module] +cookielib.urlparse:: [module] +cookielib.user_domain_match(A, B) [doc: For blocking/accepting domains.] +cookielib.vals_sorted_by_key(adict) +copy.Error +copy.PyStringMap +copy._EmptyClass(??) [class] +copy.__all__ +copy.__builtins__ +copy.__doc__ +copy.__file__ +copy.__name__ +copy._copy_dispatch +copy._copy_immutable(x) +copy._copy_inst(x) +copy._copy_with_constructor(x) +copy._copy_with_copy_method(x) +copy._deepcopy_atomic(x, memo) +copy._deepcopy_dict(x, memo) +copy._deepcopy_dispatch +copy._deepcopy_inst(x, memo) +copy._deepcopy_list(x, memo) +copy._deepcopy_tuple(x, memo) +copy._keep_alive(x, memo) [doc: Keeps a reference to the object x in the memo.] +copy._reconstruct(x, info, deep, memo=None) +copy._test() +copy.copy(x) [doc: Shallow copy operation on arbitrary Python objects.] +copy.deepcopy(x, memo=None, _nil=[]) [doc: Deep copy operation on arbitrary Python objects.] +copy.dispatch_table +copy.error +copy.name +copy.t +copy_reg._ClassType +copy_reg._HEAPTYPE +copy_reg.__all__ +copy_reg.__builtins__ +copy_reg.__doc__ +copy_reg.__file__ +copy_reg.__name__ +copy_reg.__newobj__(cls, *args) +copy_reg._extension_cache +copy_reg._extension_registry +copy_reg._inverted_registry +copy_reg._reconstructor(cls, base, state) +copy_reg._reduce_ex(self, proto) +copy_reg._slotnames(cls) [doc: Return a list of slot names for a given class.] +copy_reg.add_extension(module, name, code) [doc: Register an extension code.] +copy_reg.clear_extension_cache() +copy_reg.constructor(object) +copy_reg.dispatch_table +copy_reg.pickle(ob_type, pickle_function, constructor_ob=None) +copy_reg.pickle_complex(??) [function] +copy_reg.remove_extension(module, name, code) [doc: Unregister an extension code. For testing only.] +copyright +credits +csv.Dialect(??) [doc: Describe an Excel dialect.] +csv.DictReader(??) [class] +csv.DictWriter(??) [class] +csv.Error +csv.QUOTE_ALL +csv.QUOTE_MINIMAL +csv.QUOTE_NONE +csv.QUOTE_NONNUMERIC +csv.Sniffer(??) [doc: ] +csv.StringIO([s]) -- Return a StringIO-like stream for reading or writing +csv._Dialect +csv.__all__ +csv.__builtins__ +csv.__doc__ +csv.__file__ +csv.__name__ +csv.__version__ +csv.excel(??) [doc: Describe the usual properties of Excel-generated CSV files.] +csv.excel_tab(??) [doc: Describe the usual properties of Excel-generated TAB-delimited files.] +csv.field_size_limit +csv.get_dialect +csv.list_dialects +csv.re:: [module] +csv.reader +csv.register_dialect +csv.unregister_dialect +csv.writer +ctypes.ARRAY(typ, len) +ctypes.ArgumentError +ctypes.Array +ctypes.BigEndianStructure +ctypes.CDLL +ctypes.CFUNCTYPE(restype, *argtypes) -> function prototype. +ctypes.DEFAULT_MODE +ctypes.DllCanUnloadNow(??) [function] +ctypes.DllGetClassObject(??) [function] +ctypes.FormatError([integer]) -> string +ctypes.GetLastError +ctypes.HRESULT +ctypes.LibraryLoader +ctypes.LittleEndianStructure +ctypes.OleDLL +ctypes.POINTER(cls) +ctypes.PYFUNCTYPE(restype, *argtypes) +ctypes.PyDLL +ctypes.RTLD_GLOBAL +ctypes.RTLD_LOCAL +ctypes.SetPointerType(pointer, cls) +ctypes.Structure +ctypes.Union +ctypes.WINFUNCTYPE(??) [function] +ctypes.WinDLL +ctypes.WinError(??) [function] +ctypes._CFuncPtr +ctypes._FUNCFLAG_CDECL +ctypes._FUNCFLAG_PYTHONAPI +ctypes._FUNCFLAG_STDCALL +ctypes._Pointer +ctypes._SimpleCData +ctypes.__builtins__ +ctypes.__doc__ +ctypes.__file__ +ctypes.__name__ +ctypes.__path__ +ctypes.__version__ +ctypes._c_functype_cache +ctypes._calcsize(??) [doc: ] +ctypes._cast +ctypes._cast_addr +ctypes._check_HRESULT +ctypes._check_size(typ, typecode=None) +ctypes._ctypes_version +ctypes._dlopen +ctypes._endian.ARRAY(??) [function] +ctypes._endian.ArgumentError +ctypes._endian.Array +ctypes._endian.BigEndianStructure +ctypes._endian.CDLL +ctypes._endian.CFUNCTYPE(restype, *argtypes) -> function prototype. +ctypes._endian.DEFAULT_MODE +ctypes._endian.DllCanUnloadNow(??) [function] +ctypes._endian.DllGetClassObject(??) [function] +ctypes._endian.FormatError([integer]) -> string +ctypes._endian.GetLastError +ctypes._endian.HRESULT +ctypes._endian.LibraryLoader +ctypes._endian.LittleEndianStructure +ctypes._endian.OleDLL +ctypes._endian.POINTER(??) [function] +ctypes._endian.PYFUNCTYPE(??) [function] +ctypes._endian.PyDLL +ctypes._endian.RTLD_GLOBAL +ctypes._endian.RTLD_LOCAL +ctypes._endian.SetPointerType(??) [function] +ctypes._endian.Structure +ctypes._endian.Union +ctypes._endian.WINFUNCTYPE(??) [function] +ctypes._endian.WinDLL +ctypes._endian.WinError(??) [function] +ctypes._endian._OTHER_ENDIAN +ctypes._endian.__builtins__ +ctypes._endian.__doc__ +ctypes._endian.__file__ +ctypes._endian.__name__ +ctypes._endian._array_type +ctypes._endian._other_endian(typ) [doc: Return the type with the 'other' byte order. Simple types like] +ctypes._endian._swapped_meta +ctypes._endian.addressof(C instance) -> integer +ctypes._endian.alignment(C type) -> integer +ctypes._endian.byref(C instance) -> byref-object +ctypes._endian.c_buffer(??) [function] +ctypes._endian.c_byte +ctypes._endian.c_char +ctypes._endian.c_char_p +ctypes._endian.c_double +ctypes._endian.c_float +ctypes._endian.c_int +ctypes._endian.c_long +ctypes._endian.c_longlong +ctypes._endian.c_short +ctypes._endian.c_size_t +ctypes._endian.c_ubyte +ctypes._endian.c_uint +ctypes._endian.c_ulong +ctypes._endian.c_ulonglong +ctypes._endian.c_ushort +ctypes._endian.c_void_p +ctypes._endian.c_voidp +ctypes._endian.c_wchar +ctypes._endian.c_wchar_p +ctypes._endian.cast(??) [function] +ctypes._endian.cdll +ctypes._endian.create_string_buffer(aString) -> character array +ctypes._endian.create_unicode_buffer(aString) -> character array +ctypes._endian.memmove +ctypes._endian.memset +ctypes._endian.oledll +ctypes._endian.pointer(??) [function] +ctypes._endian.py_object +ctypes._endian.pydll +ctypes._endian.pythonapi +ctypes._endian.resize +ctypes._endian.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) +ctypes._endian.sizeof(C type) -> integer +ctypes._endian.string_at(addr[, size]) -> string +ctypes._endian.sys:: [module] +ctypes._endian.windll +ctypes._endian.wstring_at(addr[, size]) -> string +ctypes._endian:: [module] +ctypes._memmove_addr +ctypes._memset_addr +ctypes._os:: [module] +ctypes._pointer_type_cache +ctypes._string_at +ctypes._string_at_addr +ctypes._sys:: [module] +ctypes._win_functype_cache +ctypes._wstring_at +ctypes._wstring_at_addr +ctypes.addressof(C instance) -> integer +ctypes.alignment(C type) -> integer +ctypes.byref(C instance) -> byref-object +ctypes.c_buffer(init, size=None) +ctypes.c_byte +ctypes.c_char +ctypes.c_char_p +ctypes.c_double +ctypes.c_float +ctypes.c_int +ctypes.c_int16 +ctypes.c_int32 +ctypes.c_int64 +ctypes.c_int8 +ctypes.c_long +ctypes.c_longlong +ctypes.c_short +ctypes.c_size_t +ctypes.c_ubyte +ctypes.c_uint +ctypes.c_uint16 +ctypes.c_uint32 +ctypes.c_uint64 +ctypes.c_uint8 +ctypes.c_ulong +ctypes.c_ulonglong +ctypes.c_ushort +ctypes.c_void_p +ctypes.c_voidp +ctypes.c_wchar +ctypes.c_wchar_p +ctypes.cast(obj, typ) +ctypes.cdll +ctypes.create_string_buffer(aString) -> character array +ctypes.create_unicode_buffer(aString) -> character array +ctypes.macholib.__builtins__ +ctypes.macholib.__doc__ +ctypes.macholib.__file__ +ctypes.macholib.__name__ +ctypes.macholib.__path__ +ctypes.macholib.__version__ +ctypes.macholib.dyld.DEFAULT_FRAMEWORK_FALLBACK +ctypes.macholib.dyld.DEFAULT_LIBRARY_FALLBACK +ctypes.macholib.dyld.__all__ +ctypes.macholib.dyld.__builtins__ +ctypes.macholib.dyld.__doc__ +ctypes.macholib.dyld.__file__ +ctypes.macholib.dyld.__name__ +ctypes.macholib.dyld.chain(*iterables) --> chain object +ctypes.macholib.dyld.count([firstval]) --> count object +ctypes.macholib.dyld.cycle(iterable) --> cycle object +ctypes.macholib.dyld.dropwhile(predicate, iterable) --> dropwhile object +ctypes.macholib.dyld.dyld_default_search(name, env=None) +ctypes.macholib.dyld.dyld_env(env, var) +ctypes.macholib.dyld.dyld_executable_path_search(name, executable_path=None) +ctypes.macholib.dyld.dyld_fallback_framework_path(env=None) +ctypes.macholib.dyld.dyld_fallback_library_path(env=None) +ctypes.macholib.dyld.dyld_find(name, executable_path=None, env=None) [doc: ] +ctypes.macholib.dyld.dyld_framework_path(env=None) +ctypes.macholib.dyld.dyld_image_suffix(env=None) +ctypes.macholib.dyld.dyld_image_suffix_search(iterator, env=None) [doc: For a potential path iterator, add DYLD_IMAGE_SUFFIX semantics] +ctypes.macholib.dyld.dyld_library_path(env=None) +ctypes.macholib.dyld.dyld_override_search(name, env=None) +ctypes.macholib.dyld.dylib_info(??) [doc: ] +ctypes.macholib.dyld.ensure_utf8(s) [doc: Not all of PyObjC and Python understand unicode paths very well yet] +ctypes.macholib.dyld.framework_find(fn, executable_path=None, env=None) [doc: ] +ctypes.macholib.dyld.framework_info(??) [doc: ] +ctypes.macholib.dyld.groupby(iterable[, keyfunc]) -> create an iterator which returns +ctypes.macholib.dyld.ifilter(function or None, sequence) --> ifilter object +ctypes.macholib.dyld.ifilterfalse(function or None, sequence) --> ifilterfalse object +ctypes.macholib.dyld.imap(func, *iterables) --> imap object +ctypes.macholib.dyld.islice(iterable, [start,] stop [, step]) --> islice object +ctypes.macholib.dyld.izip(iter1 [,iter2 [...]]) --> izip object +ctypes.macholib.dyld.os:: [module] +ctypes.macholib.dyld.repeat(element [,times]) -> create an iterator which returns the element +ctypes.macholib.dyld.starmap(function, sequence) --> starmap object +ctypes.macholib.dyld.takewhile(predicate, iterable) --> takewhile object +ctypes.macholib.dyld.tee(iterable, n=2) --> tuple of n independent iterators. +ctypes.macholib.dyld.test_dyld_find() +ctypes.macholib.dyld:: [module] +ctypes.macholib.dylib.DYLIB_RE +ctypes.macholib.dylib.__all__ +ctypes.macholib.dylib.__builtins__ +ctypes.macholib.dylib.__doc__ +ctypes.macholib.dylib.__file__ +ctypes.macholib.dylib.__name__ +ctypes.macholib.dylib.dylib_info(filename) [doc: ] +ctypes.macholib.dylib.re:: [module] +ctypes.macholib.dylib.test_dylib_info() +ctypes.macholib.dylib:: [module] +ctypes.macholib.framework.STRICT_FRAMEWORK_RE +ctypes.macholib.framework.__all__ +ctypes.macholib.framework.__builtins__ +ctypes.macholib.framework.__doc__ +ctypes.macholib.framework.__file__ +ctypes.macholib.framework.__name__ +ctypes.macholib.framework.framework_info(filename) [doc: ] +ctypes.macholib.framework.re:: [module] +ctypes.macholib.framework.test_framework_info() +ctypes.macholib.framework:: [module] +ctypes.macholib:: [module] +ctypes.memmove +ctypes.memset +ctypes.oledll +ctypes.pointer(inst) +ctypes.py_object +ctypes.pydll +ctypes.pythonapi +ctypes.resize +ctypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) +ctypes.sizeof(C type) -> integer +ctypes.string_at(addr[, size]) -> string +ctypes.util.__builtins__ +ctypes.util.__doc__ +ctypes.util.__file__ +ctypes.util.__name__ +ctypes.util.find_library(??) [function] +ctypes.util.os:: [module] +ctypes.util.sys:: [module] +ctypes.util.test() +ctypes.util:: [module] +ctypes.windll +ctypes.wintypes.ARRAY(??) [function] +ctypes.wintypes.ATOM +ctypes.wintypes.ArgumentError +ctypes.wintypes.Array +ctypes.wintypes.BOOL +ctypes.wintypes.BOOLEAN +ctypes.wintypes.BYTE +ctypes.wintypes.BigEndianStructure +ctypes.wintypes.CDLL +ctypes.wintypes.CFUNCTYPE(restype, *argtypes) -> function prototype. +ctypes.wintypes.COLORREF +ctypes.wintypes.DEFAULT_MODE +ctypes.wintypes.DOUBLE +ctypes.wintypes.DWORD +ctypes.wintypes.DllCanUnloadNow(??) [function] +ctypes.wintypes.DllGetClassObject(??) [function] +ctypes.wintypes.FILETIME +ctypes.wintypes.FormatError([integer]) -> string +ctypes.wintypes.GetLastError +ctypes.wintypes.HACCEL +ctypes.wintypes.HANDLE +ctypes.wintypes.HBITMAP +ctypes.wintypes.HBRUSH +ctypes.wintypes.HCOLORSPACE +ctypes.wintypes.HDC +ctypes.wintypes.HDESK +ctypes.wintypes.HDWP +ctypes.wintypes.HENHMETAFILE +ctypes.wintypes.HFONT +ctypes.wintypes.HGDIOBJ +ctypes.wintypes.HGLOBAL +ctypes.wintypes.HHOOK +ctypes.wintypes.HICON +ctypes.wintypes.HINSTANCE +ctypes.wintypes.HKEY +ctypes.wintypes.HKL +ctypes.wintypes.HLOCAL +ctypes.wintypes.HMENU +ctypes.wintypes.HMETAFILE +ctypes.wintypes.HMODULE +ctypes.wintypes.HMONITOR +ctypes.wintypes.HPALETTE +ctypes.wintypes.HPEN +ctypes.wintypes.HRESULT +ctypes.wintypes.HRGN +ctypes.wintypes.HRSRC +ctypes.wintypes.HSTR +ctypes.wintypes.HTASK +ctypes.wintypes.HWINSTA +ctypes.wintypes.HWND +ctypes.wintypes.LANGID +ctypes.wintypes.LARGE_INTEGER +ctypes.wintypes.LCID +ctypes.wintypes.LCTYPE +ctypes.wintypes.LGRPID +ctypes.wintypes.LONG +ctypes.wintypes.LPARAM +ctypes.wintypes.LPCOLESTR +ctypes.wintypes.LPCSTR +ctypes.wintypes.LPCWSTR +ctypes.wintypes.LPOLESTR +ctypes.wintypes.LPSTR +ctypes.wintypes.LPWSTR +ctypes.wintypes.LibraryLoader +ctypes.wintypes.LittleEndianStructure +ctypes.wintypes.MAX_PATH +ctypes.wintypes.MSG +ctypes.wintypes.OLESTR +ctypes.wintypes.OleDLL +ctypes.wintypes.POINT +ctypes.wintypes.POINTER(??) [function] +ctypes.wintypes.POINTL +ctypes.wintypes.PYFUNCTYPE(??) [function] +ctypes.wintypes.PyDLL +ctypes.wintypes.RECT +ctypes.wintypes.RECTL +ctypes.wintypes.RGB(red, green, blue) +ctypes.wintypes.RTLD_GLOBAL +ctypes.wintypes.RTLD_LOCAL +ctypes.wintypes.SC_HANDLE +ctypes.wintypes.SERVICE_STATUS_HANDLE +ctypes.wintypes.SIZE +ctypes.wintypes.SIZEL +ctypes.wintypes.SMALL_RECT +ctypes.wintypes.SetPointerType(??) [function] +ctypes.wintypes.Structure +ctypes.wintypes.UINT +ctypes.wintypes.ULARGE_INTEGER +ctypes.wintypes.ULONG +ctypes.wintypes.Union +ctypes.wintypes.VARIANT_BOOL +ctypes.wintypes.WCHAR +ctypes.wintypes.WIN32_FIND_DATAA +ctypes.wintypes.WIN32_FIND_DATAW +ctypes.wintypes.WINFUNCTYPE(??) [function] +ctypes.wintypes.WORD +ctypes.wintypes.WPARAM +ctypes.wintypes.WinDLL +ctypes.wintypes.WinError(??) [function] +ctypes.wintypes._COORD +ctypes.wintypes._FILETIME +ctypes.wintypes._LARGE_INTEGER +ctypes.wintypes._POINTL +ctypes.wintypes._RECTL +ctypes.wintypes._SMALL_RECT +ctypes.wintypes._SimpleCData +ctypes.wintypes._ULARGE_INTEGER +ctypes.wintypes.__all__ +ctypes.wintypes.__builtins__ +ctypes.wintypes.__doc__ +ctypes.wintypes.__file__ +ctypes.wintypes.__name__ +ctypes.wintypes.addressof(C instance) -> integer +ctypes.wintypes.alignment(C type) -> integer +ctypes.wintypes.byref(C instance) -> byref-object +ctypes.wintypes.c_buffer(??) [function] +ctypes.wintypes.c_byte +ctypes.wintypes.c_char +ctypes.wintypes.c_char_p +ctypes.wintypes.c_double +ctypes.wintypes.c_float +ctypes.wintypes.c_int +ctypes.wintypes.c_int16 +ctypes.wintypes.c_int32 +ctypes.wintypes.c_int64 +ctypes.wintypes.c_int8 +ctypes.wintypes.c_long +ctypes.wintypes.c_longlong +ctypes.wintypes.c_short +ctypes.wintypes.c_size_t +ctypes.wintypes.c_ubyte +ctypes.wintypes.c_uint +ctypes.wintypes.c_uint16 +ctypes.wintypes.c_uint32 +ctypes.wintypes.c_uint64 +ctypes.wintypes.c_uint8 +ctypes.wintypes.c_ulong +ctypes.wintypes.c_ulonglong +ctypes.wintypes.c_ushort +ctypes.wintypes.c_void_p +ctypes.wintypes.c_voidp +ctypes.wintypes.c_wchar +ctypes.wintypes.c_wchar_p +ctypes.wintypes.cast(??) [function] +ctypes.wintypes.cdll +ctypes.wintypes.create_string_buffer(aString) -> character array +ctypes.wintypes.create_unicode_buffer(aString) -> character array +ctypes.wintypes.macholib:: [module] +ctypes.wintypes.memmove +ctypes.wintypes.memset +ctypes.wintypes.oledll +ctypes.wintypes.pointer(??) [function] +ctypes.wintypes.py_object +ctypes.wintypes.pydll +ctypes.wintypes.pythonapi +ctypes.wintypes.resize +ctypes.wintypes.set_conversion_mode(encoding, errors) -> (previous-encoding, previous-errors) +ctypes.wintypes.sizeof(C type) -> integer +ctypes.wintypes.string_at(addr[, size]) -> string +ctypes.wintypes.tagMSG +ctypes.wintypes.tagPOINT +ctypes.wintypes.tagRECT +ctypes.wintypes.tagSIZE +ctypes.wintypes.util:: [module] +ctypes.wintypes.windll +ctypes.wintypes.wstring_at(addr[, size]) -> string +ctypes.wintypes:: [module] +ctypes.wstring_at(addr[, size]) -> string +datetime.MAXYEAR +datetime.MINYEAR +datetime.__doc__ +datetime.__name__ +datetime.date(year, month, day) --> date object +datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) +datetime.datetime_CAPI +datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object +datetime.timedelta +datetime.tzinfo +dbhash.__all__ +dbhash.__builtins__ +dbhash.__doc__ +dbhash.__file__ +dbhash.__name__ +dbhash.bsddb:: [module] +dbhash.error +dbhash.open(file, flag = 'r', mode=0666) +dbhash.sys:: [module] +decimal.BasicContext +decimal.Clamped +decimal.Context +decimal.ConversionSyntax +decimal.Dec_0 +decimal.Dec_n1 +decimal.Dec_p1 +decimal.Decimal +decimal.DecimalException +decimal.DefaultContext +decimal.DivisionByZero +decimal.DivisionImpossible +decimal.DivisionUndefined +decimal.ExtendedContext +decimal.Inexact +decimal.Inf +decimal.Infsign +decimal.InvalidContext +decimal.InvalidOperation +decimal.NaN +decimal.Overflow +decimal.ROUND_05UP +decimal.ROUND_CEILING +decimal.ROUND_DOWN +decimal.ROUND_FLOOR +decimal.ROUND_HALF_DOWN +decimal.ROUND_HALF_EVEN +decimal.ROUND_HALF_UP +decimal.ROUND_UP +decimal.Rounded +decimal.Subnormal +decimal.Underflow +decimal._ContextManager +decimal._Log10Memoize +decimal._WorkRep +decimal.__all__ +decimal.__builtins__ +decimal.__doc__ +decimal.__file__ +decimal.__name__ +decimal._all_zeros +decimal._condition_map +decimal._convert_other(other, raiseit=False) [doc: Convert other to Decimal.] +decimal._copy:: [module] +decimal._dec_from_triple(sign, coefficient, exponent, special=False) [doc: Create a decimal instance directly, without any validation,] +decimal._dexp(c, e, p) [doc: Compute an approximation to exp(c*10**e), with p decimal places of] +decimal._div_nearest(a, b) [doc: Closest integer to a/b, a and b positive integers; rounds to even] +decimal._dlog(c, e, p) [doc: Given integers c, e and p with c > 0, compute an integer] +decimal._dlog10(c, e, p) [doc: Given integers c, e and p with c > 0, p >= 0, compute an integer] +decimal._dpower(xc, xe, yc, ye, p) [doc: Given integers xc, xe, yc and ye representing Decimals x = xc*10**xe and] +decimal._exact_half +decimal._iexp(x, M, L=8) [doc: Given integers x and M, M > 0, such that x/M is small in absolute] +decimal._ilog(x, M, L = 8) [doc: Integer approximation to M*log(x/M), with absolute error boundable] +decimal._log10_digits +decimal._log10_lb(??) [doc: Compute a lower bound for 100*log10(c) for a positive integer c.] +decimal._nbits(??) [doc: Number of bits in binary representation of the positive integer n,] +decimal._normalize(op1, op2, prec = 0) [doc: Normalizes op1, op2 to have the same exp and length of coefficient.] +decimal._parser +decimal._rshift_nearest(x, shift) [doc: Given an integer x and a nonnegative integer shift, return closest] +decimal._signals +decimal._sqrt_nearest(n, a) [doc: Closest integer to the square root of the positive integer n. a is] +decimal.getcontext(??) [doc: Returns this thread's context.] +decimal.localcontext(ctx=None) [doc: Return a context manager for a copy of the supplied context] +decimal.negInf +decimal.setcontext(??) [doc: Set this thread's context to context.] +def +del +delattr(object, name) +dict() -> new empty dictionary. +difflib.Differ(linejunk=None, charjunk=None) [doc: ] +difflib.HtmlDiff +difflib.IS_CHARACTER_JUNK(ch, ws=" \t") [doc: ] +difflib.IS_LINE_JUNK(line, pat=re.compile(r"\s*#?\s*$").match) [doc: ] +difflib.SequenceMatcher(isjunk=None, a='', b='') [doc: ] +difflib.__all__ +difflib.__builtins__ +difflib.__doc__ +difflib.__file__ +difflib.__name__ +difflib._calculate_ratio(matches, length) +difflib._count_leading(line, ch) [doc: ] +difflib._file_template +difflib._legend +difflib._mdiff(??) [doc: Returns generator yielding marked up from/to side by side differences.] +difflib._styles +difflib._table_template +difflib._test() +difflib.context_diff(??) [doc: ] +difflib.get_close_matches(word, possibilities, n=3, cutoff=0.6) [doc: Use SequenceMatcher to return list of the best "good enough" matches.] +difflib.heapq:: [module] +difflib.ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK) [doc: ] +difflib.restore(delta, which) [doc: ] +difflib.unified_diff(??) [doc: ] +dir([object]) -> list of strings +dircache.__all__ +dircache.__builtins__ +dircache.__doc__ +dircache.__file__ +dircache.__name__ +dircache.annotate(head, list) [doc: Add '/' suffixes to directories.] +dircache.cache +dircache.listdir(path) [doc: List directory contents, using cache.] +dircache.opendir(??) [doc: List directory contents, using cache.] +dircache.os:: [module] +dircache.reset() [doc: Reset the cache completely.] +dis.EXTENDED_ARG +dis.HAVE_ARGUMENT +dis.__all__ +dis.__builtins__ +dis.__doc__ +dis.__file__ +dis.__name__ +dis._test() [doc: Simple test program to disassemble a file.] +dis.cmp_op +dis.dis(x=None) [doc: Disassemble classes, methods, functions, or code.] +dis.disassemble(co, lasti=-1) [doc: Disassemble a code object.] +dis.disassemble_string(??) [function] +dis.disco(??) [doc: Disassemble a code object.] +dis.distb(tb=None) [doc: Disassemble a traceback (default: last traceback).] +dis.findlabels(code) [doc: Detect all offsets in a byte code which are jump targets.] +dis.findlinestarts(code) [doc: Find the offsets in a byte code which are start of lines in the source.] +dis.hascompare +dis.hasconst +dis.hasfree +dis.hasjabs +dis.hasjrel +dis.haslocal +dis.hasname +dis.opmap +dis.opname +dis.sys:: [module] +dis.types:: [module] +divmod(x, y) -> (div, mod) +doctest.BLANKLINE_MARKER +doctest.COMPARISON_FLAGS +doctest.DONT_ACCEPT_BLANKLINE +doctest.DONT_ACCEPT_TRUE_FOR_1 +doctest.DebugRunner(??) [doc: Run doc tests but raise an exception as soon as there is a failure.] +doctest.DocFileCase +doctest.DocFileSuite(*paths, **kw) [doc: A unittest suite for one or more doctest files.] +doctest.DocFileTest(??) [function] +doctest.DocTest(examples, globs, name, filename, lineno, docstring) [doc: ] +doctest.DocTestCase +doctest.DocTestFailure +doctest.DocTestFinder(??) [doc: ] +doctest.DocTestParser(??) [doc: ] +doctest.DocTestRunner(checker=None, verbose=None, optionflags=0) [doc: ] +doctest.DocTestSuite(??) [doc: ] +doctest.ELLIPSIS +doctest.ELLIPSIS_MARKER +doctest.Example(??) [doc: ] +doctest.IGNORE_EXCEPTION_DETAIL +doctest.NORMALIZE_WHITESPACE +doctest.OPTIONFLAGS_BY_NAME +doctest.OutputChecker(??) [doc: ] +doctest.REPORTING_FLAGS +doctest.REPORT_CDIFF +doctest.REPORT_NDIFF +doctest.REPORT_ONLY_FIRST_FAILURE +doctest.REPORT_UDIFF +doctest.SKIP +doctest.StringIO(??) [doc: class StringIO([buffer])] +doctest.Tester(mod=None, globs=None, verbose=None, optionflags=0) +doctest.UnexpectedException +doctest._OutputRedirectingPdb(out) [doc: ] +doctest._SpoofOut(??) [class] +doctest._TestClass(val) [doc: ] +doctest.__all__ +doctest.__builtins__ +doctest.__doc__ +doctest.__docformat__ +doctest.__file__ +doctest.__future__:: [module] +doctest.__name__ +doctest.__test__ +doctest._comment_line(line) [doc: Return a commented form of the given line] +doctest._ellipsis_match(want, got) [doc: ] +doctest._exception_traceback(exc_info) [doc: ] +doctest._extract_future_flags(globs) [doc: ] +doctest._indent(s, indent=4) [doc: ] +doctest._load_testfile(filename, package, module_relative) +doctest._module_relative_path(module, path) +doctest._normalize_module(module, depth=2) [doc: ] +doctest._test() +doctest._unittest_reportflags +doctest.debug(module, name, pm=False) [doc: Debug a single doctest docstring.] +doctest.debug_script(src, pm=False, globs=None) [doc: Debug a test script. `src` is the script, as a string.] +doctest.debug_src(src, pm=False, globs=None) [doc: Debug a single doctest docstring, in argument `src`'] +doctest.difflib:: [module] +doctest.inspect:: [module] +doctest.linecache:: [module] +doctest.master +doctest.os:: [module] +doctest.pdb:: [module] +doctest.re:: [module] +doctest.register_optionflag(name) +doctest.run_docstring_examples(??) [doc: ] +doctest.script_from_examples(s) [doc: Extract script from text with examples.] +doctest.set_unittest_reportflags(flags) [doc: Sets the unittest option flags.] +doctest.sys:: [module] +doctest.tempfile:: [module] +doctest.testfile(??) [doc: ] +doctest.testmod(??) [doc: m=None, name=None, globs=None, verbose=None, report=True,] +doctest.testsource(module, name) [doc: Extract the test sources from a doctest docstring as a script.] +doctest.traceback:: [module] +doctest.unittest:: [module] +doctest.warnings:: [module] +dumbdbm.UserDict:: [module] +dumbdbm._BLOCKSIZE +dumbdbm._Database(filebasename, mode) +dumbdbm.__builtin__:: [module] +dumbdbm.__builtins__ +dumbdbm.__doc__ +dumbdbm.__file__ +dumbdbm.__name__ +dumbdbm._open +dumbdbm._os:: [module] +dumbdbm.error +dumbdbm.open(file, flag=None, mode=0666) [doc: Open the database file, filename, and return corresponding object.] +dummy_thread.LockType +dummy_thread.__all__ +dummy_thread.__author__ +dummy_thread.__builtins__ +dummy_thread.__doc__ +dummy_thread.__email__ +dummy_thread.__file__ +dummy_thread.__name__ +dummy_thread._interrupt +dummy_thread._main +dummy_thread._traceback:: [module] +dummy_thread.allocate_lock() [doc: Dummy implementation of thread.allocate_lock().] +dummy_thread.error +dummy_thread.exit() [doc: Dummy implementation of thread.exit().] +dummy_thread.get_ident() [doc: Dummy implementation of thread.get_ident().] +dummy_thread.interrupt_main() [doc: Set _interrupt flag to True to have start_new_thread raise] +dummy_thread.stack_size(size=None) [doc: Dummy implementation of thread.stack_size().] +dummy_thread.start_new_thread(function, args, kwargs={}) [doc: Dummy implementation of thread.start_new_thread().] +dummy_thread.warnings:: [module] +dummy_threading.BoundedSemaphore(??) [function] +dummy_threading.Condition(??) [function] +dummy_threading.Event(??) [function] +dummy_threading.Lock(??) [doc: Dummy implementation of thread.allocate_lock().] +dummy_threading.RLock(??) [function] +dummy_threading.Semaphore(??) [function] +dummy_threading.Thread +dummy_threading.Timer(??) [function] +dummy_threading.__all__ +dummy_threading.__builtins__ +dummy_threading.__doc__ +dummy_threading.__file__ +dummy_threading.__name__ +dummy_threading.activeCount(??) [function] +dummy_threading.currentThread(??) [function] +dummy_threading.enumerate(??) [function] +dummy_threading.local +dummy_threading.setprofile(??) [function] +dummy_threading.settrace(??) [function] +dummy_threading.stack_size(??) [doc: Dummy implementation of thread.stack_size().] +dummy_threading.threading:: [module] +elif +else +email.Charset +email.Encoders +email.Errors +email.FeedParser +email.Generator +email.Header +email.Iterators +email.LazyImporter +email.MIMEAudio +email.MIMEBase +email.MIMEImage +email.MIMEMessage +email.MIMEMultipart +email.MIMENonMultipart +email.MIMEText +email.Message +email.Parser +email.Utils +email._LOWERNAMES +email._MIMENAMES +email.__all__ +email.__builtins__ +email.__doc__ +email.__file__ +email.__name__ +email.__path__ +email.__version__ +email._name +email._parseaddr.AddressList(field) [doc: An AddressList encapsulates a list of parsed RFC 2822 addresses.] +email._parseaddr.AddrlistClass(field) [doc: Address parser class by Ben Escoto.] +email._parseaddr.COMMASPACE +email._parseaddr.EMPTYSTRING +email._parseaddr.SPACE +email._parseaddr.__all__ +email._parseaddr.__builtins__ +email._parseaddr.__doc__ +email._parseaddr.__file__ +email._parseaddr.__name__ +email._parseaddr._daynames +email._parseaddr._monthnames +email._parseaddr._timezones +email._parseaddr.mktime_tz(data) [doc: Turn a 10-tuple as returned by parsedate_tz() into a UTC timestamp.] +email._parseaddr.parsedate(data) [doc: Convert a time string to a time tuple.] +email._parseaddr.parsedate_tz(data) [doc: Convert a date string to a time tuple.] +email._parseaddr.quote(str) [doc: Add quotes around a string.] +email._parseaddr.time:: [module] +email._parseaddr:: [module] +email.base64MIME +email.base64mime.CRLF +email.base64mime.EMPTYSTRING +email.base64mime.MISC_LEN +email.base64mime.NL +email.base64mime.__all__ +email.base64mime.__builtins__ +email.base64mime.__doc__ +email.base64mime.__file__ +email.base64mime.__name__ +email.base64mime.a2b_base64 +email.base64mime.b2a_base64 +email.base64mime.base64_len(s) [doc: Return the length of s when it is encoded with base64.] +email.base64mime.body_decode(??) [doc: Decode a raw base64 string.] +email.base64mime.body_encode(??) [doc: Encode a string with base64.] +email.base64mime.decode(s, convert_eols=None) [doc: Decode a raw base64 string.] +email.base64mime.decodestring(??) [doc: Decode a raw base64 string.] +email.base64mime.encode(s, binary=True, maxlinelen=76, eol=NL) [doc: Encode a string with base64.] +email.base64mime.encodestring(??) [doc: Encode a string with base64.] +email.base64mime.fix_eols(??) [doc: Replace all line-ending characters with] +email.base64mime.header_encode(??) [doc: Encode a single header line with Base64 encoding in a given charset.] +email.base64mime.re:: [module] +email.base64mime:: [module] +email.charset.ALIASES +email.charset.BASE64 +email.charset.CHARSETS +email.charset.CODEC_MAP +email.charset.Charset(input_charset=DEFAULT_CHARSET) [doc: Map character sets to their email properties.] +email.charset.DEFAULT_CHARSET +email.charset.MISC_LEN +email.charset.QP +email.charset.SHORTEST +email.charset.__all__ +email.charset.__builtins__ +email.charset.__doc__ +email.charset.__file__ +email.charset.__name__ +email.charset.add_alias(alias, canonical) [doc: Add a character set alias.] +email.charset.add_charset(charset, header_enc=None, body_enc=None, output_charset=None) [doc: Add character set properties to the global registry.] +email.charset.add_codec(charset, codecname) [doc: Add a codec that map characters in the given charset to/from Unicode.] +email.charset.email:: [module] +email.charset.encode_7or8bit(??) [doc: Set the Content-Transfer-Encoding header to 7bit or 8bit.] +email.charset.errors:: [module] +email.charset:: [module] +email.email:: [module] +email.encoders.__all__ +email.encoders.__builtins__ +email.encoders.__doc__ +email.encoders.__file__ +email.encoders.__name__ +email.encoders._bencode(s) +email.encoders._encodestring(??) [function] +email.encoders._qencode(s) +email.encoders.base64:: [module] +email.encoders.encode_7or8bit(msg) [doc: Set the Content-Transfer-Encoding header to 7bit or 8bit.] +email.encoders.encode_base64(msg) [doc: Encode the message's payload in Base64.] +email.encoders.encode_noop(msg) [doc: Do nothing.] +email.encoders.encode_quopri(msg) [doc: Encode the message's payload in quoted-printable.] +email.encoders:: [module] +email.errors.BoundaryError +email.errors.CharsetError +email.errors.FirstHeaderLineIsContinuationDefect(??) [doc: A message had a continuation line as its first header line.] +email.errors.HeaderParseError +email.errors.MalformedHeaderDefect(??) [doc: Found a header that was missing a colon, or was otherwise malformed.] +email.errors.MessageDefect(line=None) [doc: Base class for a message defect.] +email.errors.MessageError +email.errors.MessageParseError +email.errors.MisplacedEnvelopeHeaderDefect(??) [doc: A 'Unix-from' header was found in the middle of a header block.] +email.errors.MultipartConversionError +email.errors.MultipartInvariantViolationDefect(??) [doc: A message claimed to be a multipart but no subparts were found.] +email.errors.NoBoundaryInMultipartDefect(??) [doc: A message claimed to be a multipart but had no boundary parameter.] +email.errors.StartBoundaryNotFoundDefect(??) [doc: The claimed start boundary was never found.] +email.errors.__builtins__ +email.errors.__doc__ +email.errors.__file__ +email.errors.__name__ +email.errors:: [module] +email.feedparser.BufferedSubFile +email.feedparser.EMPTYSTRING +email.feedparser.FeedParser(_factory=message.Message) [doc: A feed-style parser of email.] +email.feedparser.NL +email.feedparser.NLCRE +email.feedparser.NLCRE_bol +email.feedparser.NLCRE_crack +email.feedparser.NLCRE_eol +email.feedparser.NeedMoreData +email.feedparser.__all__ +email.feedparser.__builtins__ +email.feedparser.__doc__ +email.feedparser.__file__ +email.feedparser.__name__ +email.feedparser.errors:: [module] +email.feedparser.headerRE +email.feedparser.message:: [module] +email.feedparser.re:: [module] +email.feedparser:: [module] +email.generator.DecodedGenerator(outfp, mangle_from_=True, maxheaderlen=78, fmt=None) [doc: Generator a text representation of a message.] +email.generator.Generator(outfp, mangle_from_=True, maxheaderlen=78) [doc: Generates output from a Message object tree.] +email.generator.Header(??) [class] +email.generator.NL +email.generator.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.generator.UNDERSCORE +email.generator._FMT +email.generator.__all__ +email.generator.__builtins__ +email.generator.__doc__ +email.generator.__file__ +email.generator.__name__ +email.generator._fmt +email.generator._is8bitstring(s) +email.generator._make_boundary(text=None) +email.generator._width +email.generator.fcre +email.generator.random:: [module] +email.generator.re:: [module] +email.generator.sys:: [module] +email.generator.time:: [module] +email.generator.warnings:: [module] +email.generator:: [module] +email.header.Charset(??) [doc: Map character sets to their email properties.] +email.header.Header(??) [class] +email.header.HeaderParseError +email.header.MAXLINELEN +email.header.NL +email.header.SPACE +email.header.SPACE8 +email.header.UEMPTYSTRING +email.header.USASCII +email.header.USPACE +email.header.UTF8 +email.header.__all__ +email.header.__builtins__ +email.header.__doc__ +email.header.__file__ +email.header.__name__ +email.header._binsplit(splittable, charset, maxlinelen) +email.header._max_append(??) [function] +email.header._split_ascii(s, firstlen, restlen, continuation_ws, splitchars) +email.header.binascii:: [module] +email.header.decode_header(header) [doc: Decode a message header value without converting charset.] +email.header.ecre +email.header.email:: [module] +email.header.fcre +email.header.make_header(??) [doc: Create a Header from a sequence of pairs as returned by decode_header()] +email.header.re:: [module] +email.header:: [module] +email.importer +email.iterators.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.iterators.__all__ +email.iterators.__builtins__ +email.iterators.__doc__ +email.iterators.__file__ +email.iterators.__name__ +email.iterators._structure(msg, fp=None, level=0, include_default=False) [doc: A handy debugging aid] +email.iterators.body_line_iterator(msg, decode=False) [doc: Iterate over the parts, returning string payloads line-by-line.] +email.iterators.sys:: [module] +email.iterators.typed_subpart_iterator(msg, maintype='text', subtype=None) [doc: Iterate over the subparts with a given MIME type.] +email.iterators.walk(self) [doc: Walk over the message tree, yielding each subpart.] +email.iterators:: [module] +email.message.Message(??) [doc: Basic message object.] +email.message.SEMISPACE +email.message.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.message.__all__ +email.message.__builtins__ +email.message.__doc__ +email.message.__file__ +email.message.__name__ +email.message._formatparam(param, value=None, quote=True) [doc: Convenience function to format and return a key=value pair.] +email.message._parseparam(s) +email.message._unquotevalue(value) +email.message.binascii:: [module] +email.message.email:: [module] +email.message.errors:: [module] +email.message.paramre +email.message.re:: [module] +email.message.tspecials +email.message.utils:: [module] +email.message.uu:: [module] +email.message.warnings:: [module] +email.message:: [module] +email.message_from_file(fp, *args, **kws) [doc: Read a file and parse its contents into a Message object model.] +email.message_from_string(s, *args, **kws) [doc: Parse a string into a Message object model.] +email.mime.Audio +email.mime.Base +email.mime.Image +email.mime.Message +email.mime.Multipart +email.mime.NonMultipart +email.mime.Text +email.mime.__builtins__ +email.mime.__doc__ +email.mime.__file__ +email.mime.__name__ +email.mime.__path__ +email.mime.application.MIMEApplication(??) [doc: Class for generating application/* MIME documents.] +email.mime.application.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.application.__all__ +email.mime.application.__builtins__ +email.mime.application.__doc__ +email.mime.application.__file__ +email.mime.application.__name__ +email.mime.application.encoders:: [module] +email.mime.application:: [module] +email.mime.audio.MIMEAudio(??) [doc: Class for generating audio/* MIME documents.] +email.mime.audio.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.audio.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.mime.audio.__all__ +email.mime.audio.__builtins__ +email.mime.audio.__doc__ +email.mime.audio.__file__ +email.mime.audio.__name__ +email.mime.audio._sndhdr_MIMEmap +email.mime.audio._whatsnd(data) [doc: Try to identify a sound file type.] +email.mime.audio.encoders:: [module] +email.mime.audio.sndhdr:: [module] +email.mime.audio:: [module] +email.mime.base.MIMEBase(_maintype, _subtype, **_params) [doc: Base class for MIME specializations.] +email.mime.base.__all__ +email.mime.base.__builtins__ +email.mime.base.__doc__ +email.mime.base.__file__ +email.mime.base.__name__ +email.mime.base.message:: [module] +email.mime.base:: [module] +email.mime.image.MIMEImage(??) [doc: Class for generating image/* type MIME documents.] +email.mime.image.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.image.__all__ +email.mime.image.__builtins__ +email.mime.image.__doc__ +email.mime.image.__file__ +email.mime.image.__name__ +email.mime.image.encoders:: [module] +email.mime.image.imghdr:: [module] +email.mime.image:: [module] +email.mime.message.MIMEMessage(_msg, _subtype='rfc822') [doc: Class representing message/* MIME documents.] +email.mime.message.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.message.__all__ +email.mime.message.__builtins__ +email.mime.message.__doc__ +email.mime.message.__file__ +email.mime.message.__name__ +email.mime.message.message:: [module] +email.mime.message:: [module] +email.mime.multipart.MIMEBase(??) [doc: Base class for MIME specializations.] +email.mime.multipart.MIMEMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.multipart.__all__ +email.mime.multipart.__builtins__ +email.mime.multipart.__doc__ +email.mime.multipart.__file__ +email.mime.multipart.__name__ +email.mime.multipart:: [module] +email.mime.nonmultipart.MIMEBase(??) [doc: Base class for MIME specializations.] +email.mime.nonmultipart.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.nonmultipart.__all__ +email.mime.nonmultipart.__builtins__ +email.mime.nonmultipart.__doc__ +email.mime.nonmultipart.__file__ +email.mime.nonmultipart.__name__ +email.mime.nonmultipart.errors:: [module] +email.mime.nonmultipart:: [module] +email.mime.text.MIMENonMultipart(??) [doc: Base class for MIME multipart/* type messages.] +email.mime.text.MIMEText(_text, _subtype='plain', _charset='us-ascii') [doc: Class for generating text/* type MIME documents.] +email.mime.text.__all__ +email.mime.text.__builtins__ +email.mime.text.__doc__ +email.mime.text.__file__ +email.mime.text.__name__ +email.mime.text.encode_7or8bit(??) [doc: Set the Content-Transfer-Encoding header to 7bit or 8bit.] +email.mime.text:: [module] +email.mime:: [module] +email.parser.FeedParser(??) [doc: A feed-style parser of email.] +email.parser.HeaderParser(??) [class] +email.parser.Message(??) [doc: Basic message object.] +email.parser.Parser(*args, **kws) +email.parser.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.parser.__all__ +email.parser.__builtins__ +email.parser.__doc__ +email.parser.__file__ +email.parser.__name__ +email.parser.warnings:: [module] +email.parser:: [module] +email.quopriMIME +email.quoprimime.CRLF +email.quoprimime.MISC_LEN +email.quoprimime.NL +email.quoprimime.__all__ +email.quoprimime.__builtins__ +email.quoprimime.__doc__ +email.quoprimime.__file__ +email.quoprimime.__name__ +email.quoprimime._max_append(L, s, maxlen, extra='') +email.quoprimime._unquote_match(match) [doc: Turn a match in the form =AB to the ASCII character with value 0xab] +email.quoprimime.body_decode(??) [doc: Decode a quoted-printable string.] +email.quoprimime.body_encode(??) [doc: Encode with quoted-printable, wrapping at maxlinelen characters.] +email.quoprimime.body_quopri_check(c) [doc: Return True if the character should be escaped with body quopri.] +email.quoprimime.body_quopri_len(str) [doc: Return the length of str when it is encoded with body quopri.] +email.quoprimime.bqre +email.quoprimime.decode(encoded, eol=NL) [doc: Decode a quoted-printable string.] +email.quoprimime.decodestring(??) [doc: Decode a quoted-printable string.] +email.quoprimime.encode(body, binary=False, maxlinelen=76, eol=NL) [doc: Encode with quoted-printable, wrapping at maxlinelen characters.] +email.quoprimime.encodestring(??) [doc: Encode with quoted-printable, wrapping at maxlinelen characters.] +email.quoprimime.fix_eols(??) [doc: Replace all line-ending characters with] +email.quoprimime.header_decode(s) [doc: Decode a string encoded with RFC 2045 MIME header `Q' encoding.] +email.quoprimime.header_encode(??) [doc: Encode a single header line with quoted-printable (like) encoding.] +email.quoprimime.header_quopri_check(c) [doc: Return True if the character should be escaped with header quopri.] +email.quoprimime.header_quopri_len(s) [doc: Return the length of str when it is encoded with header quopri.] +email.quoprimime.hexdigits +email.quoprimime.hqre +email.quoprimime.quote(c) +email.quoprimime.re:: [module] +email.quoprimime.unquote(s) [doc: Turn a string in the form =AB to the ASCII character with value 0xab] +email.quoprimime:: [module] +email.sys:: [module] +email.utils.COMMASPACE +email.utils.CRLF +email.utils.EMPTYSTRING +email.utils.StringIO([s]) -- Return a StringIO-like stream for reading or writing +email.utils.TICK +email.utils.UEMPTYSTRING +email.utils._AddressList(??) [doc: An AddressList encapsulates a list of parsed RFC 2822 addresses.] +email.utils.__all__ +email.utils.__builtins__ +email.utils.__doc__ +email.utils.__file__ +email.utils.__name__ +email.utils._bdecode(s) +email.utils._bencode(??) [function] +email.utils._identity(s) +email.utils._parsedate(??) [doc: Convert a time string to a time tuple.] +email.utils._parsedate_tz(??) [doc: Convert a date string to a time tuple.] +email.utils._qdecode(??) [function] +email.utils._qencode(??) [function] +email.utils.base64:: [module] +email.utils.collapse_rfc2231_value(??) [function] +email.utils.decode_params(params) [doc: Decode parameters list according to RFC 2231.] +email.utils.decode_rfc2231(s) [doc: Decode string according to RFC 2231] +email.utils.ecre +email.utils.encode_rfc2231(s, charset=None, language=None) [doc: Encode string according to RFC 2231.] +email.utils.escapesre +email.utils.fix_eols(s) [doc: Replace all line-ending characters with] +email.utils.formataddr(pair) [doc: The inverse of parseaddr(), this takes a 2-tuple of the form] +email.utils.formatdate(timeval=None, localtime=False, usegmt=False) [doc: Returns a date string as specified by RFC 2822, e.g.:] +email.utils.getaddresses(fieldvalues) [doc: Return a list of (REALNAME, EMAIL) for each fieldvalue.] +email.utils.make_msgid(idstring=None) [doc: Returns a string suitable for RFC 2822 compliant Message-ID, e.g:] +email.utils.mktime_tz(??) [doc: Turn a 10-tuple as returned by parsedate_tz() into a UTC timestamp.] +email.utils.os:: [module] +email.utils.parseaddr(addr) +email.utils.parsedate(data) +email.utils.parsedate_tz(data) +email.utils.quote(??) [doc: Add quotes around a string.] +email.utils.random:: [module] +email.utils.re:: [module] +email.utils.rfc2231_continuation +email.utils.socket:: [module] +email.utils.specialsre +email.utils.time:: [module] +email.utils.unquote(str) [doc: Remove quotes from a string.] +email.utils.urllib:: [module] +email.utils.warnings:: [module] +email.utils:: [module] +enumerate(iterable) -> iterator for index, value of iterable +errno.E2BIG +errno.EACCES +errno.EADDRINUSE +errno.EADDRNOTAVAIL +errno.EAFNOSUPPORT +errno.EAGAIN +errno.EALREADY +errno.EBADF +errno.EBUSY +errno.ECHILD +errno.ECONNABORTED +errno.ECONNREFUSED +errno.ECONNRESET +errno.EDEADLK +errno.EDEADLOCK +errno.EDESTADDRREQ +errno.EDOM +errno.EDQUOT +errno.EEXIST +errno.EFAULT +errno.EFBIG +errno.EHOSTDOWN +errno.EHOSTUNREACH +errno.EILSEQ +errno.EINPROGRESS +errno.EINTR +errno.EINVAL +errno.EIO +errno.EISCONN +errno.EISDIR +errno.ELOOP +errno.EMFILE +errno.EMLINK +errno.EMSGSIZE +errno.ENAMETOOLONG +errno.ENETDOWN +errno.ENETRESET +errno.ENETUNREACH +errno.ENFILE +errno.ENOBUFS +errno.ENODEV +errno.ENOENT +errno.ENOEXEC +errno.ENOLCK +errno.ENOMEM +errno.ENOPROTOOPT +errno.ENOSPC +errno.ENOSYS +errno.ENOTCONN +errno.ENOTDIR +errno.ENOTEMPTY +errno.ENOTSOCK +errno.ENOTTY +errno.ENXIO +errno.EOPNOTSUPP +errno.EPERM +errno.EPFNOSUPPORT +errno.EPIPE +errno.EPROTONOSUPPORT +errno.EPROTOTYPE +errno.ERANGE +errno.EREMOTE +errno.EROFS +errno.ESHUTDOWN +errno.ESOCKTNOSUPPORT +errno.ESPIPE +errno.ESRCH +errno.ESTALE +errno.ETIMEDOUT +errno.ETOOMANYREFS +errno.EUSERS +errno.EWOULDBLOCK +errno.EXDEV +errno.WSABASEERR +errno.WSAEACCES +errno.WSAEADDRINUSE +errno.WSAEADDRNOTAVAIL +errno.WSAEAFNOSUPPORT +errno.WSAEALREADY +errno.WSAEBADF +errno.WSAECONNABORTED +errno.WSAECONNREFUSED +errno.WSAECONNRESET +errno.WSAEDESTADDRREQ +errno.WSAEDISCON +errno.WSAEDQUOT +errno.WSAEFAULT +errno.WSAEHOSTDOWN +errno.WSAEHOSTUNREACH +errno.WSAEINPROGRESS +errno.WSAEINTR +errno.WSAEINVAL +errno.WSAEISCONN +errno.WSAELOOP +errno.WSAEMFILE +errno.WSAEMSGSIZE +errno.WSAENAMETOOLONG +errno.WSAENETDOWN +errno.WSAENETRESET +errno.WSAENETUNREACH +errno.WSAENOBUFS +errno.WSAENOPROTOOPT +errno.WSAENOTCONN +errno.WSAENOTEMPTY +errno.WSAENOTSOCK +errno.WSAEOPNOTSUPP +errno.WSAEPFNOSUPPORT +errno.WSAEPROCLIM +errno.WSAEPROTONOSUPPORT +errno.WSAEPROTOTYPE +errno.WSAEREMOTE +errno.WSAESHUTDOWN +errno.WSAESOCKTNOSUPPORT +errno.WSAESTALE +errno.WSAETIMEDOUT +errno.WSAETOOMANYREFS +errno.WSAEUSERS +errno.WSAEWOULDBLOCK +errno.WSANOTINITIALISED +errno.WSASYSNOTREADY +errno.WSAVERNOTSUPPORTED +errno.__doc__ +errno.__name__ +errno.errorcode +eval(source[, globals[, locals]]) -> value +except +exceptions.ArithmeticError +exceptions.AssertionError +exceptions.AttributeError +exceptions.BaseException +exceptions.DeprecationWarning +exceptions.EOFError +exceptions.EnvironmentError +exceptions.Exception +exceptions.FloatingPointError +exceptions.FutureWarning +exceptions.GeneratorExit +exceptions.IOError +exceptions.ImportError +exceptions.ImportWarning +exceptions.IndentationError +exceptions.IndexError +exceptions.KeyError +exceptions.KeyboardInterrupt +exceptions.LookupError +exceptions.MemoryError +exceptions.NameError +exceptions.NotImplementedError +exceptions.OSError +exceptions.OverflowError +exceptions.PendingDeprecationWarning +exceptions.ReferenceError +exceptions.RuntimeError +exceptions.RuntimeWarning +exceptions.StandardError +exceptions.StopIteration +exceptions.SyntaxError +exceptions.SyntaxWarning +exceptions.SystemError +exceptions.SystemExit +exceptions.TabError +exceptions.TypeError +exceptions.UnboundLocalError +exceptions.UnicodeDecodeError +exceptions.UnicodeEncodeError +exceptions.UnicodeError +exceptions.UnicodeTranslateError +exceptions.UnicodeWarning +exceptions.UserWarning +exceptions.ValueError +exceptions.Warning +exceptions.WindowsError +exceptions.ZeroDivisionError +exceptions.__doc__ +exceptions.__name__ +exec +execfile(filename[, globals[, locals]]) +exit +file(name[, mode[, buffering]]) -> file object +filecmp.BUFSIZE +filecmp.__all__ +filecmp.__builtins__ +filecmp.__doc__ +filecmp.__file__ +filecmp.__name__ +filecmp._cache +filecmp._cmp(a, b, sh, abs=abs, cmp=cmp) +filecmp._do_cmp(f1, f2) +filecmp._filter(flist, skip) +filecmp._sig(st) +filecmp.cmp(f1, f2, shallow=1) [doc: Compare two files.] +filecmp.cmpfiles(a, b, common, shallow=1) [doc: Compare common files in two directories.] +filecmp.demo() +filecmp.dircmp(a, b, ignore=None, hide=None) [doc: A class that manages the comparison of 2 directories.] +filecmp.ifilter(function or None, sequence) --> ifilter object +filecmp.ifilterfalse(function or None, sequence) --> ifilterfalse object +filecmp.imap(func, *iterables) --> imap object +filecmp.izip(iter1 [,iter2 [...]]) --> izip object +filecmp.os:: [module] +filecmp.stat:: [module] +filecmp.warnings:: [module] +fileinput.DEFAULT_BUFSIZE +fileinput.FileInput(??) [doc: class FileInput([files[, inplace[, backup[, mode[, openhook]]]]])] +fileinput.__all__ +fileinput.__builtins__ +fileinput.__doc__ +fileinput.__file__ +fileinput.__name__ +fileinput._state +fileinput._test() +fileinput.close() [doc: Close the sequence.] +fileinput.filelineno() [doc: ] +fileinput.filename() [doc: ] +fileinput.fileno() [doc: ] +fileinput.hook_compressed(filename, mode) +fileinput.hook_encoded(encoding) +fileinput.input([files[, inplace[, backup[, mode[, openhook]]]]]) +fileinput.isfirstline() [doc: ] +fileinput.isstdin() [doc: ] +fileinput.lineno() [doc: ] +fileinput.nextfile() [doc: ] +fileinput.os:: [module] +fileinput.sys:: [module] +filter(function or None, sequence) -> list, tuple, or string +finally +float(x) -> floating point number +fnmatch.__all__ +fnmatch.__builtins__ +fnmatch.__doc__ +fnmatch.__file__ +fnmatch.__name__ +fnmatch._cache +fnmatch.filter(names, pat) [doc: Return the subset of the list NAMES that match PAT] +fnmatch.fnmatch(name, pat) [doc: Test whether FILENAME matches PATTERN.] +fnmatch.fnmatchcase(name, pat) [doc: Test whether FILENAME matches PATTERN, including case.] +fnmatch.re:: [module] +fnmatch.translate(pat) [doc: Translate a shell PATTERN to a regular expression.] +for +formatter.AS_IS +formatter.AbstractFormatter(writer) [doc: The standard formatter.] +formatter.AbstractWriter(??) [doc: A writer which can be used in debugging formatters, but not much else.] +formatter.DumbWriter(file=None, maxcol=72) [doc: Simple writer class which writes output on the file object passed in] +formatter.NullFormatter(writer=None) [doc: A formatter which does nothing.] +formatter.NullWriter(??) [doc: Minimal writer interface to use in testing & inheritance.] +formatter.__builtins__ +formatter.__doc__ +formatter.__file__ +formatter.__name__ +formatter.sys:: [module] +formatter.test(file = None) +fpformat.NotANumber +fpformat.__all__ +fpformat.__builtins__ +fpformat.__doc__ +fpformat.__file__ +fpformat.__name__ +fpformat.decoder +fpformat.extract(s) [doc: Return (sign, intpart, fraction, expo) or raise an exception:] +fpformat.fix(x, digs) [doc: Format x as [-]ddd.ddd with 'digs' digits after the point] +fpformat.re:: [module] +fpformat.roundfrac(intpart, fraction, digs) [doc: Round or extend the fraction to size digs.] +fpformat.sci(x, digs) [doc: Format x as [-]d.dddE[+-]ddd with 'digs' digits after the point] +fpformat.test() [doc: Interactive test run.] +fpformat.unexpo(intpart, fraction, expo) [doc: Remove the exponent by changing intpart and fraction.] +from +frozenset(iterable) --> frozenset object +ftplib.CRLF +ftplib.Error +ftplib.FTP(??) [doc: An FTP client class.] +ftplib.FTP_PORT +ftplib.MSG_OOB +ftplib.Netrc(filename=None) [doc: Class to parse & provide access to 'netrc' format files.] +ftplib._150_re +ftplib._227_re +ftplib.__all__ +ftplib.__builtins__ +ftplib.__doc__ +ftplib.__file__ +ftplib.__name__ +ftplib.all_errors +ftplib.error_perm +ftplib.error_proto +ftplib.error_reply +ftplib.error_temp +ftplib.ftpcp(source, sourcename, target, targetname = '', type = 'I') [doc: Copy file from one FTP-instance to another.] +ftplib.os:: [module] +ftplib.parse150(resp) [doc: Parse the '150' response for a RETR request.] +ftplib.parse227(resp) [doc: Parse the '227' response for a PASV request.] +ftplib.parse229(resp, peer) [doc: Parse the '229' response for a EPSV request.] +ftplib.parse257(resp) [doc: Parse the '257' response for a MKD or PWD request.] +ftplib.print_line(line) [doc: Default retrlines callback to print a line.] +ftplib.socket:: [module] +ftplib.sys:: [module] +ftplib.test() [doc: Test program.] +functools.WRAPPER_ASSIGNMENTS +functools.WRAPPER_UPDATES +functools.__builtins__ +functools.__doc__ +functools.__file__ +functools.__name__ +functools.partial(func, *args, **keywords) - new function with partial application +functools.update_wrapper(??) [doc: Update a wrapper function to look like the wrapped function] +functools.wraps(??) [doc: Decorator factory to apply update_wrapper() to a wrapper function] +gc.DEBUG_COLLECTABLE +gc.DEBUG_INSTANCES +gc.DEBUG_LEAK +gc.DEBUG_OBJECTS +gc.DEBUG_SAVEALL +gc.DEBUG_STATS +gc.DEBUG_UNCOLLECTABLE +gc.__doc__ +gc.__name__ +gc.collect([generation]) -> n +gc.disable() -> None +gc.enable() -> None +gc.garbage +gc.get_count() -> (count0, count1, count2) +gc.get_debug() -> flags +gc.get_objects() -> [...] +gc.get_referents(*objs) -> list +gc.get_referrers(*objs) -> list +gc.get_threshold() -> (threshold0, threshold1, threshold2) +gc.isenabled() -> status +gc.set_debug(flags) -> None +gc.set_threshold(threshold0, [threshold1, threshold2]) -> None +getattr(object, name[, default]) -> value +getopt.GetoptError +getopt.__all__ +getopt.__builtins__ +getopt.__doc__ +getopt.__file__ +getopt.__name__ +getopt.do_longs(opts, opt, longopts, args) +getopt.do_shorts(opts, optstring, shortopts, args) +getopt.error +getopt.getopt(args, options[, long_options]) -> opts, args +getopt.gnu_getopt(args, shortopts, longopts = []) [doc: getopt(args, options[, long_options]) -> opts, args] +getopt.long_has_args(opt, longopts) +getopt.os:: [module] +getopt.short_has_arg(opt, shortopts) +getpass.__all__ +getpass.__builtins__ +getpass.__doc__ +getpass.__file__ +getpass.__name__ +getpass._raw_input(prompt="", stream=None) +getpass.default_getpass(prompt='Password: ', stream=None) +getpass.getpass(??) [doc: Prompt for password with echo off, using Windows getch().] +getpass.getuser() [doc: Get the username from the environment or password database.] +getpass.msvcrt:: [module] +getpass.sys:: [module] +getpass.unix_getpass(prompt='Password: ', stream=None) [doc: Prompt for a password, with echo turned off.] +getpass.win_getpass(prompt='Password: ', stream=None) [doc: Prompt for password with echo off, using Windows getch().] +gettext.Catalog(??) [function] +gettext.ENOENT +gettext.GNUTranslations(??) [class] +gettext.NullTranslations(fp=None) +gettext.__all__ +gettext.__builtins__ +gettext.__doc__ +gettext.__file__ +gettext.__name__ +gettext._current_domain +gettext._default_localedir +gettext._expand_lang(locale) +gettext._localecodesets +gettext._localedirs +gettext._translations +gettext.bind_textdomain_codeset(domain, codeset=None) +gettext.bindtextdomain(domain, localedir=None) +gettext.c2py(plural) [doc: Gets a C expression as used in PO files for plural forms and returns a] +gettext.copy:: [module] +gettext.dgettext(domain, message) +gettext.dngettext(domain, msgid1, msgid2, n) +gettext.find(domain, localedir=None, languages=None, all=0) +gettext.gettext(message) +gettext.install(domain, localedir=None, unicode=False, codeset=None, names=None) +gettext.ldgettext(domain, message) +gettext.ldngettext(domain, msgid1, msgid2, n) +gettext.lgettext(message) +gettext.lngettext(msgid1, msgid2, n) +gettext.locale:: [module] +gettext.ngettext(msgid1, msgid2, n) +gettext.os:: [module] +gettext.re:: [module] +gettext.struct:: [module] +gettext.sys:: [module] +gettext.test(condition, true, false) [doc: ] +gettext.textdomain(domain=None) +gettext.translation(??) [function] +glob.__all__ +glob.__builtins__ +glob.__doc__ +glob.__file__ +glob.__name__ +glob.fnmatch:: [module] +glob.glob(pathname) [doc: Return a list of paths matching a pathname pattern.] +glob.glob0(dirname, basename) +glob.glob1(dirname, pattern) +glob.has_magic(s) +glob.iglob(pathname) [doc: Return a list of paths matching a pathname pattern.] +glob.magic_check +glob.os:: [module] +glob.re:: [module] +global +globals() -> dictionary +gopherlib.A_BINARY +gopherlib.A_CALENDAR +gopherlib.A_CSO +gopherlib.A_DUPLICATE +gopherlib.A_ERROR +gopherlib.A_EVENT +gopherlib.A_GIF +gopherlib.A_HTML +gopherlib.A_IMAGE +gopherlib.A_INDEX +gopherlib.A_MACBINHEX +gopherlib.A_MENU +gopherlib.A_MIME +gopherlib.A_PCBINHEX +gopherlib.A_PLUS_IMAGE +gopherlib.A_PLUS_MOVIE +gopherlib.A_PLUS_SOUND +gopherlib.A_QUERY +gopherlib.A_SOUND +gopherlib.A_TELNET +gopherlib.A_TEXT +gopherlib.A_TN3270 +gopherlib.A_UUENCODED +gopherlib.A_WHOIS +gopherlib.A_WWW +gopherlib.CRLF +gopherlib.DEF_HOST +gopherlib.DEF_PORT +gopherlib.DEF_SELECTOR +gopherlib.TAB +gopherlib.__all__ +gopherlib.__builtins__ +gopherlib.__doc__ +gopherlib.__file__ +gopherlib.__name__ +gopherlib._names +gopherlib._type_to_name_map +gopherlib.get_alt_binary(f, func, blocksize) [doc: Get a binary file and pass each block to a function.] +gopherlib.get_alt_textfile(f, func) [doc: Get a text file and pass each line to a function, with trailing CRLF stripped.] +gopherlib.get_binary(f) [doc: Get a binary file as one solid data block.] +gopherlib.get_directory(f) [doc: Get a directory in the form of a list of entries.] +gopherlib.get_textfile(f) [doc: Get a text file as a list of lines, with trailing CRLF stripped.] +gopherlib.path_to_datatype_name(path) [doc: Takes a path as returned by urlparse and maps it to a string.] +gopherlib.path_to_selector(path) [doc: Takes a path as returned by urlparse and returns the appropriate selector.] +gopherlib.send_query(selector, query, host, port = 0) [doc: Send a selector and a query string.] +gopherlib.send_selector(selector, host, port = 0) [doc: Send a selector to a given host and port, return a file with the reply.] +gopherlib.test() [doc: Trivial test program.] +gopherlib.type_to_name(gtype) [doc: Map all file types to strings; unknown types become TYPE='x'.] +gopherlib.warnings:: [module] +gzip.FCOMMENT +gzip.FEXTRA +gzip.FHCRC +gzip.FNAME +gzip.FTEXT +gzip.GzipFile(??) [doc: The GzipFile class simulates most of the methods of a file object with] +gzip.LOWU32(i) [doc: Return the low-order 32 bits of an int, as a non-negative int.] +gzip.READ +gzip.U32(i) [doc: Return i as an unsigned integer, assuming it fits in 32 bits.] +gzip.WRITE +gzip.__all__ +gzip.__builtin__:: [module] +gzip.__builtins__ +gzip.__doc__ +gzip.__file__ +gzip.__name__ +gzip._test() +gzip.open(filename, mode="rb", compresslevel=9) [doc: Shorthand for GzipFile(filename, mode, compresslevel).] +gzip.read32(input) +gzip.struct:: [module] +gzip.sys:: [module] +gzip.time:: [module] +gzip.write32(output, value) +gzip.write32u(output, value) +gzip.zlib:: [module] +hasattr(object, name) -> bool +hash(object) -> integer +hashlib.__builtins__ +hashlib.__doc__ +hashlib.__file__ +hashlib.__get_builtin_constructor(name) +hashlib.__hash_new(name, string='') [doc: new(name, string='') - Return a new hashing object using the named algorithm;] +hashlib.__name__ +hashlib.__py_new(name, string='') [doc: new(name, string='') - Return a new hashing object using the named algorithm;] +hashlib._hashlib:: [module] +hashlib.md5 +hashlib.new(name, string='') - Return a new hashing object using the named algorithm; +hashlib.sha1 +hashlib.sha224 +hashlib.sha256 +hashlib.sha384 +hashlib.sha512 +heapq.__about__ +heapq.__all__ +heapq.__builtins__ +heapq.__doc__ +heapq.__file__ +heapq.__name__ +heapq._nlargest +heapq._nsmallest +heapq._siftdown(heap, startpos, pos) +heapq._siftup(heap, pos) +heapq.bisect:: [module] +heapq.count([firstval]) --> count object +heapq.heapify +heapq.heappop +heapq.heappush +heapq.heapreplace +heapq.imap(func, *iterables) --> imap object +heapq.islice(iterable, [start,] stop [, step]) --> islice object +heapq.itemgetter(item, ...) --> itemgetter object +heapq.izip(iter1 [,iter2 [...]]) --> izip object +heapq.neg(a) -- Same as -a. +heapq.nlargest(n, iterable, key=None) [doc: Find the n largest elements in a dataset.] +heapq.nsmallest(n, iterable, key=None) [doc: Find the n smallest elements in a dataset.] +heapq.repeat(element [,times]) -> create an iterator which returns the element +heapq.tee(iterable, n=2) --> tuple of n independent iterators. +help +hex(number) -> string +hmac.HMAC(key, msg = None, digestmod = None) [doc: RFC2104 HMAC class.] +hmac.__builtins__ +hmac.__doc__ +hmac.__file__ +hmac.__name__ +hmac._secret_backdoor_key +hmac._strxor(s1, s2) [doc: Utility method. XOR the two strings s1 and s2 (must have same length).] +hmac.digest_size +hmac.new(key, msg = None, digestmod = None) [doc: Create a new hashing object and return it.] +hotshot.Profile(logfn, lineevents=0, linetimings=1) +hotshot.ProfilerError +hotshot.__builtins__ +hotshot.__doc__ +hotshot.__file__ +hotshot.__name__ +hotshot.__path__ +hotshot._hotshot:: [module] +hotshot.log.ENTER +hotshot.log.EXIT +hotshot.log.LINE +hotshot.log.LogReader(logfn) +hotshot.log.WHAT_ADD_INFO +hotshot.log.WHAT_DEFINE_FILE +hotshot.log.WHAT_DEFINE_FUNC +hotshot.log.WHAT_ENTER +hotshot.log.WHAT_EXIT +hotshot.log.WHAT_LINENO +hotshot.log.__all__ +hotshot.log.__builtins__ +hotshot.log.__doc__ +hotshot.log.__file__ +hotshot.log.__name__ +hotshot.log._hotshot:: [module] +hotshot.log.os:: [module] +hotshot.log.parser:: [module] +hotshot.log.symbol:: [module] +hotshot.log.sys:: [module] +hotshot.log:: [module] +hotshot.stats.ENTER +hotshot.stats.EXIT +hotshot.stats.FakeCode(filename, firstlineno, funcname) +hotshot.stats.FakeFrame(code, back) +hotshot.stats.Profile(??) [class] +hotshot.stats.StatsLoader(logfn) +hotshot.stats.__builtins__ +hotshot.stats.__doc__ +hotshot.stats.__file__ +hotshot.stats.__name__ +hotshot.stats._brokentimer() +hotshot.stats.hotshot:: [module] +hotshot.stats.load(filename) +hotshot.stats.profile:: [module] +hotshot.stats.pstats:: [module] +hotshot.stats:: [module] +hotshot.stones.__builtins__ +hotshot.stones.__doc__ +hotshot.stones.__file__ +hotshot.stones.__name__ +hotshot.stones.errno:: [module] +hotshot.stones.hotshot:: [module] +hotshot.stones.main(logfile) +hotshot.stones.os:: [module] +hotshot.stones.sys:: [module] +hotshot.stones.test:: [module] +hotshot.stones:: [module] +htmlentitydefs.__builtins__ +htmlentitydefs.__doc__ +htmlentitydefs.__file__ +htmlentitydefs.__name__ +htmlentitydefs.codepoint2name +htmlentitydefs.entitydefs +htmlentitydefs.name2codepoint +htmllib.AS_IS +htmllib.HTMLParseError +htmllib.HTMLParser(formatter, verbose=0) [doc: This is the basic HTML parser class.] +htmllib.__all__ +htmllib.__builtins__ +htmllib.__doc__ +htmllib.__file__ +htmllib.__name__ +htmllib.sgmllib:: [module] +htmllib.test(args = None) +httplib.ACCEPTED +httplib.BAD_GATEWAY +httplib.BAD_REQUEST +httplib.BadStatusLine +httplib.CONFLICT +httplib.CONTINUE +httplib.CREATED +httplib.CannotSendHeader +httplib.CannotSendRequest +httplib.EXPECTATION_FAILED +httplib.FAILED_DEPENDENCY +httplib.FORBIDDEN +httplib.FOUND +httplib.FakeSocket(sock, ssl) +httplib.GATEWAY_TIMEOUT +httplib.GONE +httplib.HTTP(host='', port=None, strict=None) [doc: Compatibility class with httplib.py from 1.5.] +httplib.HTTPConnection(host, port=None, strict=None) +httplib.HTTPException +httplib.HTTPMessage(??) [class] +httplib.HTTPResponse(sock, debuglevel=0, strict=0, method=None) +httplib.HTTPS(??) [doc: Compatibility with 1.5 httplib interface] +httplib.HTTPSConnection(??) [doc: This class allows communication via SSL.] +httplib.HTTPS_PORT +httplib.HTTP_PORT +httplib.HTTP_VERSION_NOT_SUPPORTED +httplib.IM_USED +httplib.INSUFFICIENT_STORAGE +httplib.INTERNAL_SERVER_ERROR +httplib.ImproperConnectionState +httplib.IncompleteRead +httplib.InvalidURL +httplib.LENGTH_REQUIRED +httplib.LOCKED +httplib.LineAndFileWrapper(line, file) [doc: A limited file-like object for HTTP/0.9 responses.] +httplib.MAXAMOUNT +httplib.METHOD_NOT_ALLOWED +httplib.MOVED_PERMANENTLY +httplib.MULTIPLE_CHOICES +httplib.MULTI_STATUS +httplib.NON_AUTHORITATIVE_INFORMATION +httplib.NOT_ACCEPTABLE +httplib.NOT_EXTENDED +httplib.NOT_FOUND +httplib.NOT_IMPLEMENTED +httplib.NOT_MODIFIED +httplib.NO_CONTENT +httplib.NotConnected +httplib.OK +httplib.PARTIAL_CONTENT +httplib.PAYMENT_REQUIRED +httplib.PRECONDITION_FAILED +httplib.PROCESSING +httplib.PROXY_AUTHENTICATION_REQUIRED +httplib.REQUESTED_RANGE_NOT_SATISFIABLE +httplib.REQUEST_ENTITY_TOO_LARGE +httplib.REQUEST_TIMEOUT +httplib.REQUEST_URI_TOO_LONG +httplib.RESET_CONTENT +httplib.ResponseNotReady +httplib.SEE_OTHER +httplib.SERVICE_UNAVAILABLE +httplib.SSLFile(sock, ssl, bufsize=None) [doc: File-like object wrapping an SSL socket.] +httplib.SWITCHING_PROTOCOLS +httplib.SharedSocket(sock) +httplib.SharedSocketClient(shared) +httplib.StringIO([s]) -- Return a StringIO-like stream for reading or writing +httplib.TEMPORARY_REDIRECT +httplib.UNAUTHORIZED +httplib.UNPROCESSABLE_ENTITY +httplib.UNSUPPORTED_MEDIA_TYPE +httplib.UPGRADE_REQUIRED +httplib.USE_PROXY +httplib.UnimplementedFileMode +httplib.UnknownProtocol +httplib.UnknownTransferEncoding +httplib._CS_IDLE +httplib._CS_REQ_SENT +httplib._CS_REQ_STARTED +httplib._UNKNOWN +httplib.__all__ +httplib.__builtins__ +httplib.__doc__ +httplib.__file__ +httplib.__name__ +httplib.errno:: [module] +httplib.error +httplib.mimetools:: [module] +httplib.responses +httplib.socket:: [module] +httplib.test() [doc: Test this module.] +httplib.urlsplit(??) [doc: Parse a URL into 5 components:] +id(object) -> integer +if +ihooks.BUILTIN_MODULE +ihooks.BasicModuleImporter(loader = None, verbose = VERBOSE) [doc: Basic module importer; uses module loader.] +ihooks.BasicModuleLoader(??) [doc: Basic module loader.] +ihooks.C_BUILTIN +ihooks.C_EXTENSION +ihooks.FROZEN_MODULE +ihooks.FancyModuleLoader(??) [doc: Fancy module loader -- parses and execs the code itself.] +ihooks.Hooks(??) [doc: Hooks into the filesystem and interpreter.] +ihooks.ModuleImporter(??) [doc: A module importer that supports packages.] +ihooks.ModuleLoader(hooks = None, verbose = VERBOSE) [doc: Default module loader; uses file system hooks.] +ihooks.PKG_DIRECTORY +ihooks.PY_COMPILED +ihooks.PY_FROZEN +ihooks.PY_SOURCE +ihooks.VERBOSE +ihooks._Verbose(verbose = VERBOSE) +ihooks.__all__ +ihooks.__builtin__:: [module] +ihooks.__builtins__ +ihooks.__doc__ +ihooks.__file__ +ihooks.__name__ +ihooks.current_importer +ihooks.default_importer +ihooks.imp:: [module] +ihooks.install(importer = None) +ihooks.os:: [module] +ihooks.sys:: [module] +ihooks.uninstall() +imageop.__doc__ +imageop.__name__ +imageop.crop +imageop.dither2grey2 +imageop.dither2mono +imageop.error +imageop.grey22grey +imageop.grey2grey2 +imageop.grey2grey4 +imageop.grey2mono +imageop.grey2rgb +imageop.grey42grey +imageop.mono2grey +imageop.rgb2grey +imageop.rgb2rgb8 +imageop.rgb82rgb +imageop.scale +imageop.tovideo +imaplib.AllowedVersions +imaplib.CRLF +imaplib.Commands +imaplib.Continuation +imaplib.Debug +imaplib.Flags +imaplib.IMAP4(host = '', port = IMAP4_PORT) [doc: IMAP4 client class.] +imaplib.IMAP4_PORT +imaplib.IMAP4_SSL(host = '', port = IMAP4_SSL_PORT, keyfile = None, certfile = None) [doc: IMAP4 client class over SSL connection] +imaplib.IMAP4_SSL_PORT +imaplib.IMAP4_stream(command) [doc: IMAP4 client class over a stream] +imaplib.Int2AP(num) [doc: Convert integer to A-P string representation.] +imaplib.InternalDate +imaplib.Internaldate2tuple(resp) [doc: Convert IMAP4 INTERNALDATE to UT.] +imaplib.Literal +imaplib.MapCRLF +imaplib.Mon2num +imaplib.ParseFlags(resp) [doc: Convert IMAP4 flags response to python tuple.] +imaplib.Response_code +imaplib.Time2Internaldate(date_time) [doc: Convert 'date_time' to IMAP4 INTERNALDATE representation.] +imaplib.Untagged_response +imaplib.Untagged_status +imaplib._Authenticator(mechinst) [doc: Private class to provide en/decoding] +imaplib.__all__ +imaplib.__builtins__ +imaplib.__doc__ +imaplib.__file__ +imaplib.__name__ +imaplib.__version__ +imaplib.binascii:: [module] +imaplib.os:: [module] +imaplib.random:: [module] +imaplib.re:: [module] +imaplib.socket:: [module] +imaplib.sys:: [module] +imaplib.time:: [module] +imghdr.__all__ +imghdr.__builtins__ +imghdr.__doc__ +imghdr.__file__ +imghdr.__name__ +imghdr.test() +imghdr.test_bmp(h, f) +imghdr.test_exif(h, f) [doc: JPEG data in Exif format] +imghdr.test_gif(h, f) [doc: GIF ('87 and '89 variants)] +imghdr.test_jpeg(h, f) [doc: JPEG data in JFIF format] +imghdr.test_pbm(h, f) [doc: PBM (portable bitmap)] +imghdr.test_pgm(h, f) [doc: PGM (portable graymap)] +imghdr.test_png(h, f) +imghdr.test_ppm(h, f) [doc: PPM (portable pixmap)] +imghdr.test_rast(h, f) [doc: Sun raster file] +imghdr.test_rgb(h, f) [doc: SGI image library] +imghdr.test_tiff(h, f) [doc: TIFF (can be in Motorola or Intel byte order)] +imghdr.test_xbm(h, f) [doc: X bitmap (X10 or X11)] +imghdr.testall(list, recursive, toplevel) +imghdr.tests +imghdr.what(file, h=None) +imp.C_BUILTIN +imp.C_EXTENSION +imp.IMP_HOOK +imp.NullImporter +imp.PKG_DIRECTORY +imp.PY_CODERESOURCE +imp.PY_COMPILED +imp.PY_FROZEN +imp.PY_RESOURCE +imp.PY_SOURCE +imp.SEARCH_ERROR +imp.__doc__ +imp.__name__ +imp.acquire_lock() -> None +imp.find_module(name, [path]) -> (file, filename, (suffix, mode, type)) +imp.get_frozen_object +imp.get_magic() -> string +imp.get_suffixes() -> [(suffix, mode, type), ...] +imp.init_builtin +imp.init_frozen +imp.is_builtin +imp.is_frozen +imp.load_compiled +imp.load_dynamic +imp.load_module(name, file, filename, (suffix, mode, type)) -> module +imp.load_package +imp.load_source +imp.lock_held() -> boolean +imp.new_module(name) -> module +imp.release_lock() -> None +import +imputil.BuiltinImporter(??) [class] +imputil.DynLoadSuffixImporter(desc) +imputil.ImportManager(fs_imp=None) [doc: Manage the import process.] +imputil.Importer(??) [doc: Base class for replacing standard import functions.] +imputil._FilesystemImporter(??) [class] +imputil._ModuleType +imputil._StringType +imputil.__all__ +imputil.__builtin__:: [module] +imputil.__builtins__ +imputil.__doc__ +imputil.__file__ +imputil.__name__ +imputil._compile(pathname, timestamp) [doc: Compile (and cache) a Python source file.] +imputil._os_bootstrap() [doc: Set up 'os' module replacement functions for use during import bootstrap.] +imputil._os_path_isdir(pathname) [doc: Local replacement for os.path.isdir().] +imputil._os_path_join +imputil._os_stat +imputil._print_importers() +imputil._suffix +imputil._suffix_char +imputil._test_revamp() +imputil._timestamp(pathname) [doc: Return the file modification time as a Long.] +imputil.imp:: [module] +imputil.marshal:: [module] +imputil.py_suffix_importer(filename, finfo, fqname) +imputil.struct:: [module] +imputil.sys:: [module] +in +input([prompt]) -> value +inspect.BlockFinder(??) [doc: Provide a tokeneater() method to detect the end of a code block.] +inspect.CO_NEWLOCALS +inspect.CO_OPTIMIZED +inspect.CO_VARARGS +inspect.CO_VARKEYWORDS +inspect.EndOfBlock +inspect.__author__ +inspect.__builtins__ +inspect.__date__ +inspect.__doc__ +inspect.__file__ +inspect.__name__ +inspect._filesbymodname +inspect._searchbases(cls, accum) +inspect.attrgetter(attr, ...) --> attrgetter object +inspect.classify_class_attrs(cls) [doc: Return list of attribute-descriptor tuples.] +inspect.currentframe +inspect.dis:: [module] +inspect.findsource(object) [doc: Return the entire source file and starting line number for an object.] +inspect.formatargspec(??) [doc: Format an argument spec from the 4 values returned by getargspec.] +inspect.formatargvalues(??) [doc: Format an argument spec from the 4 values returned by getargvalues.] +inspect.getabsfile(object, _filename=None) [doc: Return an absolute path to the source or compiled file for an object.] +inspect.getargs(co) [doc: Get information about the arguments accepted by a code object.] +inspect.getargspec(func) [doc: Get the names and default values of a function's arguments.] +inspect.getargvalues(frame) [doc: Get information about arguments passed into a particular frame.] +inspect.getblock(lines) [doc: Extract the block of code at the top of the given list of lines.] +inspect.getclasstree(classes, unique=0) [doc: Arrange the given list of classes into a hierarchy of nested lists.] +inspect.getcomments(object) [doc: Get lines of comments immediately preceding an object's source code.] +inspect.getdoc(object) [doc: Get the documentation string for an object.] +inspect.getfile(object) [doc: Work out which source or compiled file an object was defined in.] +inspect.getframeinfo(frame, context=1) [doc: Get information about a frame or traceback object.] +inspect.getinnerframes(tb, context=1) [doc: Get a list of records for a traceback's frame and all lower frames.] +inspect.getlineno(frame) [doc: Get the line number from a frame object, allowing for optimization.] +inspect.getmembers(object, predicate=None) [doc: Return all members of an object as (name, value) pairs sorted by name.] +inspect.getmodule(object, _filename=None) [doc: Return the module an object was defined in, or None if not found.] +inspect.getmoduleinfo(path) [doc: Get the module name, suffix, mode, and module type for a given file.] +inspect.getmodulename(path) [doc: Return the module name for a given file, or None.] +inspect.getmro(cls) [doc: Return tuple of base classes (including cls) in method resolution order.] +inspect.getouterframes(frame, context=1) [doc: Get a list of records for a frame and all higher (calling) frames.] +inspect.getsource(object) [doc: Return the text of the source code for an object.] +inspect.getsourcefile(object) [doc: Return the Python source file an object was defined in, if it exists.] +inspect.getsourcelines(object) [doc: Return a list of source lines and starting line number for an object.] +inspect.imp:: [module] +inspect.indentsize(line) [doc: Return the indent size, in spaces, at the start of a line of text.] +inspect.isbuiltin(object) [doc: Return true if the object is a built-in function or method.] +inspect.isclass(object) [doc: Return true if the object is a class.] +inspect.iscode(object) [doc: Return true if the object is a code object.] +inspect.isdatadescriptor(object) [doc: Return true if the object is a data descriptor.] +inspect.isframe(object) [doc: Return true if the object is a frame object.] +inspect.isfunction(object) [doc: Return true if the object is a user-defined function.] +inspect.isgetsetdescriptor(??) [doc: Return true if the object is a getset descriptor.] +inspect.ismemberdescriptor(??) [doc: Return true if the object is a member descriptor.] +inspect.ismethod(object) [doc: Return true if the object is an instance method.] +inspect.ismethoddescriptor(object) [doc: Return true if the object is a method descriptor.] +inspect.ismodule(object) [doc: Return true if the object is a module.] +inspect.isroutine(object) [doc: Return true if the object is any kind of function or method.] +inspect.istraceback(object) [doc: Return true if the object is a traceback.] +inspect.joinseq(seq) +inspect.linecache:: [module] +inspect.modulesbyfile +inspect.os:: [module] +inspect.re:: [module] +inspect.stack(context=1) [doc: Return a list of records for the stack above the caller's frame.] +inspect.string:: [module] +inspect.strseq(object, convert, join=joinseq) [doc: Recursively walk a sequence, stringifying each element.] +inspect.sys:: [module] +inspect.tokenize:: [module] +inspect.trace(context=1) [doc: Return a list of records for the stack below the current exception.] +inspect.types:: [module] +inspect.walktree(classes, children, parent) [doc: Recursive helper function for getclasstree().] +int(x[, base]) -> integer +intern(string) -> string +is +isinstance(object, class-or-type-or-tuple) -> bool +issubclass(C, B) -> bool +iter(collection) -> iterator +itertools.__doc__ +itertools.__name__ +itertools.chain(*iterables) --> chain object +itertools.count([firstval]) --> count object +itertools.cycle(iterable) --> cycle object +itertools.dropwhile(predicate, iterable) --> dropwhile object +itertools.groupby(iterable[, keyfunc]) -> create an iterator which returns +itertools.ifilter(function or None, sequence) --> ifilter object +itertools.ifilterfalse(function or None, sequence) --> ifilterfalse object +itertools.imap(func, *iterables) --> imap object +itertools.islice(iterable, [start,] stop [, step]) --> islice object +itertools.izip(iter1 [,iter2 [...]]) --> izip object +itertools.repeat(element [,times]) -> create an iterator which returns the element +itertools.starmap(function, sequence) --> starmap object +itertools.takewhile(predicate, iterable) --> takewhile object +itertools.tee(iterable, n=2) --> tuple of n independent iterators. +keyword.__all__ +keyword.__builtins__ +keyword.__doc__ +keyword.__file__ +keyword.__name__ +keyword.iskeyword +keyword.kwlist +keyword.main() +lambda +len(object) -> integer +license +linecache.__all__ +linecache.__builtins__ +linecache.__doc__ +linecache.__file__ +linecache.__name__ +linecache.cache +linecache.checkcache(filename=None) [doc: Discard cache entries that are out of date.] +linecache.clearcache() [doc: Clear the cache entirely.] +linecache.getline(filename, lineno, module_globals=None) +linecache.getlines(filename, module_globals=None) [doc: Get the lines for a file from the cache.] +linecache.os:: [module] +linecache.sys:: [module] +linecache.updatecache(filename, module_globals=None) [doc: Update a cache entry and return its list of lines.] +list() -> new list +locale.CHAR_MAX +locale.Error +locale.LC_ALL +locale.LC_COLLATE +locale.LC_CTYPE +locale.LC_MONETARY +locale.LC_NUMERIC +locale.LC_TIME +locale.__all__ +locale.__builtins__ +locale.__doc__ +locale.__file__ +locale.__name__ +locale._build_localename(localetuple) [doc: Builds a locale code from the given tuple (language code,] +locale._group(s, monetary=False) +locale._parse_localename(localename) [doc: Parses the locale code for localename and returns the] +locale._percent_re +locale._print_locale() [doc: Test function.] +locale._setlocale +locale._test() +locale.atof(string, func=float) [doc: Parses a string as a float according to the locale settings.] +locale.atoi(str) [doc: Converts a string to an integer according to the locale settings.] +locale.currency(val, symbol=True, grouping=False, international=False) [doc: Formats val according to the currency settings] +locale.encodings:: [module] +locale.format(percent, value, grouping=False, monetary=False, *additional) [doc: Returns the locale-aware substitution of a %? specifier] +locale.format_string(f, val, grouping=False) [doc: Formats a string in the same way that the % formatting would use,] +locale.getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')) [doc: Tries to determine the default locale settings and returns] +locale.getlocale(category=LC_CTYPE) [doc: Returns the current setting for the given locale category as] +locale.getpreferredencoding(??) [doc: Return the charset that the user is likely using.] +locale.locale_alias +locale.locale_encoding_alias +locale.localeconv +locale.normalize(localename) [doc: Returns a normalized locale code for the given locale] +locale.operator:: [module] +locale.re:: [module] +locale.resetlocale(category=LC_ALL) [doc: Sets the locale for category to the default setting.] +locale.setlocale(category, locale=None) [doc: Set the locale for the given category. The locale can be] +locale.str(val) [doc: Convert float to integer, taking the locale into account.] +locale.strcoll +locale.strxfrm +locale.sys:: [module] +locale.windows_locale +locals() -> dictionary +logging.BASIC_FORMAT +logging.BufferingFormatter(linefmt=None) [doc: ] +logging.CRITICAL +logging.DEBUG +logging.ERROR +logging.FATAL +logging.FileHandler(filename, mode='a', encoding=None) [doc: ] +logging.Filter(name='') [doc: ] +logging.Filterer(??) [doc: ] +logging.Formatter(fmt=None, datefmt=None) [doc: ] +logging.Handler(level=NOTSET) [doc: ] +logging.INFO +logging.LogRecord(??) [doc: ] +logging.Logger(name, level=NOTSET) [doc: ] +logging.Manager(rootnode) [doc: ] +logging.NOTSET +logging.PlaceHolder(alogger) [doc: ] +logging.RootLogger(level) [doc: ] +logging.StreamHandler(strm=None) [doc: ] +logging.WARN +logging.WARNING +logging.__author__ +logging.__builtins__ +logging.__date__ +logging.__doc__ +logging.__file__ +logging.__name__ +logging.__path__ +logging.__status__ +logging.__version__ +logging._acquireLock() [doc: ] +logging._defaultFormatter +logging._handlerList +logging._handlers +logging._levelNames +logging._lock +logging._loggerClass(??) [doc: ] +logging._releaseLock() [doc: ] +logging._srcfile +logging._startTime +logging.addLevelName(level, levelName) [doc: ] +logging.atexit:: [module] +logging.basicConfig(**kwargs) [doc: ] +logging.cStringIO:: [module] +logging.codecs:: [module] +logging.config.DEFAULT_LOGGING_CONFIG_PORT +logging.config.RESET_ERROR +logging.config.StreamRequestHandler(??) [doc: Define self.rfile and self.wfile for stream sockets.] +logging.config.ThreadingTCPServer(??) [class] +logging.config.__builtins__ +logging.config.__doc__ +logging.config.__file__ +logging.config.__name__ +logging.config._create_formatters(cp) [doc: Create and return formatters] +logging.config._install_handlers(cp, formatters) [doc: Install and return handlers] +logging.config._install_loggers(cp, handlers) [doc: Create and install loggers] +logging.config._listener +logging.config._resolve(name) [doc: Resolve a dotted name to a global object.] +logging.config.fileConfig(fname, defaults=None) [doc: ] +logging.config.listen(port=DEFAULT_LOGGING_CONFIG_PORT) [doc: ] +logging.config.logging:: [module] +logging.config.os:: [module] +logging.config.socket:: [module] +logging.config.stopListening() [doc: ] +logging.config.string:: [module] +logging.config.struct:: [module] +logging.config.sys:: [module] +logging.config.thread:: [module] +logging.config.threading:: [module] +logging.config.traceback:: [module] +logging.config.types:: [module] +logging.config:: [module] +logging.critical(msg, *args, **kwargs) [doc: ] +logging.currentframe() +logging.debug(msg, *args, **kwargs) [doc: ] +logging.disable(level) [doc: ] +logging.error(msg, *args, **kwargs) [doc: ] +logging.exception(msg, *args) [doc: ] +logging.fatal(??) [doc: ] +logging.getLevelName(level) [doc: ] +logging.getLogger(name=None) [doc: ] +logging.getLoggerClass() [doc: ] +logging.handlers.BaseRotatingHandler(filename, mode, encoding=None) [doc: ] +logging.handlers.BufferingHandler(capacity) [doc: ] +logging.handlers.DEFAULT_HTTP_LOGGING_PORT +logging.handlers.DEFAULT_SOAP_LOGGING_PORT +logging.handlers.DEFAULT_TCP_LOGGING_PORT +logging.handlers.DEFAULT_UDP_LOGGING_PORT +logging.handlers.DatagramHandler(host, port) [doc: ] +logging.handlers.HTTPHandler(host, url, method="GET") [doc: ] +logging.handlers.MemoryHandler(capacity, flushLevel=logging.ERROR, target=None) [doc: ] +logging.handlers.NTEventLogHandler(appname, dllname=None, logtype="Application") [doc: ] +logging.handlers.RotatingFileHandler(filename, mode='a', maxBytes=0, backupCount=0, encoding=None) [doc: ] +logging.handlers.SMTPHandler(mailhost, fromaddr, toaddrs, subject) [doc: ] +logging.handlers.SYSLOG_UDP_PORT +logging.handlers.SocketHandler(host, port) [doc: ] +logging.handlers.SysLogHandler(address=('localhost', SYSLOG_UDP_PORT), facility=LOG_USER) [doc: ] +logging.handlers.TimedRotatingFileHandler(filename, when='h', interval=1, backupCount=0, encoding=None) [doc: ] +logging.handlers._MIDNIGHT +logging.handlers.__builtins__ +logging.handlers.__doc__ +logging.handlers.__file__ +logging.handlers.__name__ +logging.handlers.cPickle:: [module] +logging.handlers.codecs:: [module] +logging.handlers.glob:: [module] +logging.handlers.logging:: [module] +logging.handlers.os:: [module] +logging.handlers.socket:: [module] +logging.handlers.string:: [module] +logging.handlers.struct:: [module] +logging.handlers.sys:: [module] +logging.handlers.time:: [module] +logging.handlers.types:: [module] +logging.handlers:: [module] +logging.info(msg, *args, **kwargs) [doc: ] +logging.log(level, msg, *args, **kwargs) [doc: ] +logging.logProcesses +logging.logThreads +logging.makeLogRecord(dict) [doc: ] +logging.os:: [module] +logging.raiseExceptions +logging.root +logging.setLoggerClass(klass) [doc: ] +logging.shutdown(handlerList=_handlerList) [doc: ] +logging.string:: [module] +logging.sys:: [module] +logging.thread:: [module] +logging.threading:: [module] +logging.time:: [module] +logging.traceback:: [module] +logging.types:: [module] +logging.warn(??) [doc: ] +logging.warning(msg, *args, **kwargs) [doc: ] +long(x[, base]) -> integer +macpath.ST_ATIME +macpath.ST_CTIME +macpath.ST_DEV +macpath.ST_GID +macpath.ST_INO +macpath.ST_MODE +macpath.ST_MTIME +macpath.ST_NLINK +macpath.ST_SIZE +macpath.ST_UID +macpath.S_ENFMT +macpath.S_IEXEC +macpath.S_IFBLK +macpath.S_IFCHR +macpath.S_IFDIR +macpath.S_IFIFO +macpath.S_IFLNK +macpath.S_IFMT(??) [function] +macpath.S_IFREG +macpath.S_IFSOCK +macpath.S_IMODE(??) [function] +macpath.S_IREAD +macpath.S_IRGRP +macpath.S_IROTH +macpath.S_IRUSR +macpath.S_IRWXG +macpath.S_IRWXO +macpath.S_IRWXU +macpath.S_ISBLK(??) [function] +macpath.S_ISCHR(??) [function] +macpath.S_ISDIR(??) [function] +macpath.S_ISFIFO(??) [function] +macpath.S_ISGID +macpath.S_ISLNK(??) [function] +macpath.S_ISREG(??) [function] +macpath.S_ISSOCK(??) [function] +macpath.S_ISUID +macpath.S_ISVTX +macpath.S_IWGRP +macpath.S_IWOTH +macpath.S_IWRITE +macpath.S_IWUSR +macpath.S_IXGRP +macpath.S_IXOTH +macpath.S_IXUSR +macpath.__all__ +macpath.__builtins__ +macpath.__doc__ +macpath.__file__ +macpath.__name__ +macpath.abspath(path) [doc: Return an absolute path.] +macpath.altsep +macpath.basename(s) +macpath.commonprefix(m) [doc: Given a list of pathnames, returns the longest common leading component] +macpath.curdir +macpath.defpath +macpath.devnull +macpath.dirname(s) +macpath.exists(s) [doc: Test whether a path exists. Returns False for broken symbolic links] +macpath.expanduser(path) [doc: Dummy to retain interface-compatibility with other operating systems.] +macpath.expandvars(path) [doc: Dummy to retain interface-compatibility with other operating systems.] +macpath.extsep +macpath.getatime(filename) [doc: Return the last access time of a file, reported by os.stat().] +macpath.getctime(filename) [doc: Return the creation time of a file, reported by os.stat().] +macpath.getmtime(filename) [doc: Return the last modification time of a file, reported by os.stat().] +macpath.getsize(filename) [doc: Return the size of a file, reported by os.stat().] +macpath.isabs(s) [doc: Return true if a path is absolute.] +macpath.isdir(s) [doc: Return true if the pathname refers to an existing directory.] +macpath.isfile(s) [doc: Return true if the pathname refers to an existing regular file.] +macpath.islink(s) [doc: Return true if the pathname refers to a symbolic link.] +macpath.ismount(s) +macpath.join(s, *p) +macpath.lexists(path) [doc: Test whether a path exists. Returns True for broken symbolic links] +macpath.norm_error +macpath.normcase(path) +macpath.normpath(s) [doc: Normalize a pathname. Will return the same result for] +macpath.os:: [module] +macpath.pardir +macpath.pathsep +macpath.realpath(path) +macpath.sep +macpath.split(s) [doc: Split a pathname into two parts: the directory leading up to the final] +macpath.splitdrive(p) [doc: Split a pathname into a drive specification and the rest of the] +macpath.splitext(p) [doc: Split a path into root and extension.] +macpath.supports_unicode_filenames +macpath.walk(top, func, arg) [doc: Directory tree walk with callback function.] +macurl2path.__all__ +macurl2path.__builtins__ +macurl2path.__doc__ +macurl2path.__file__ +macurl2path.__name__ +macurl2path._pncomp2url(component) +macurl2path.os:: [module] +macurl2path.pathname2url(pathname) [doc: OS-specific conversion from a file system path to a relative URL] +macurl2path.test() +macurl2path.url2pathname(pathname) [doc: OS-specific conversion from a relative URL of the 'file' scheme] +macurl2path.urllib:: [module] +mailbox.Babyl(path, factory=None, create=True) [doc: An Rmail-style Babyl mailbox.] +mailbox.BabylMailbox(??) [class] +mailbox.BabylMessage(message=None) [doc: Message with Babyl-specific properties.] +mailbox.Error +mailbox.ExternalClashError +mailbox.FormatError +mailbox.MH(path, factory=None, create=True) [doc: An MH mailbox.] +mailbox.MHMailbox(dirname, factory=rfc822.Message) +mailbox.MHMessage(message=None) [doc: Message with MH-specific properties.] +mailbox.MMDF(path, factory=None, create=True) [doc: An MMDF mailbox.] +mailbox.MMDFMessage(??) [doc: Message with MMDF-specific properties.] +mailbox.Mailbox(path, factory=None, create=True) [doc: A group of messages in a particular place.] +mailbox.Maildir(dirname, factory=rfc822.Message, create=True) [doc: A qmail-style Maildir mailbox.] +mailbox.MaildirMessage(message=None) [doc: Message with Maildir-specific properties.] +mailbox.Message(message=None) [doc: Message with mailbox-format-specific properties.] +mailbox.MmdfMailbox(??) [class] +mailbox.NoSuchMailboxError +mailbox.NotEmptyError +mailbox.PortableUnixMailbox(??) [class] +mailbox.StringIO:: [module] +mailbox.UnixMailbox(??) [class] +mailbox._Mailbox(fp, factory=rfc822.Message) +mailbox._PartialFile(f, start=None, stop=None) [doc: A read-only wrapper of part of a file.] +mailbox._ProxyFile(f, pos=None) [doc: A read-only wrapper of a file.] +mailbox.__all__ +mailbox.__builtins__ +mailbox.__doc__ +mailbox.__file__ +mailbox.__name__ +mailbox._create_carefully(path) [doc: Create a file if it doesn't exist and open for reading and writing.] +mailbox._create_temporary(path) [doc: Create a temp file based on path and open for reading and writing.] +mailbox._lock_file(f, dotlock=True) [doc: Lock file f using lockf and dot locking.] +mailbox._mboxMMDF(??) [doc: An mbox or MMDF mailbox.] +mailbox._mboxMMDFMessage(message=None) [doc: Message with mbox- or MMDF-specific properties.] +mailbox._singlefileMailbox(path, factory=None, create=True) [doc: A single-file mailbox.] +mailbox._sync_close(f) [doc: Close file f, ensuring all changes are physically on disk.] +mailbox._sync_flush(f) [doc: Ensure changes to file f are physically on disk.] +mailbox._unlock_file(f) [doc: Unlock file f using lockf and dot locking.] +mailbox.calendar:: [module] +mailbox.copy:: [module] +mailbox.email:: [module] +mailbox.errno:: [module] +mailbox.fcntl +mailbox.mbox(path, factory=None, create=True) [doc: A classic mbox mailbox.] +mailbox.mboxMessage(??) [doc: Message with mbox-specific properties.] +mailbox.os:: [module] +mailbox.rfc822:: [module] +mailbox.socket:: [module] +mailbox.sys:: [module] +mailbox.time:: [module] +mailcap.__all__ +mailcap.__builtins__ +mailcap.__doc__ +mailcap.__file__ +mailcap.__name__ +mailcap.findmatch(caps, MIMEtype, key='view', filename="/dev/null", plist=[]) [doc: Find a match for a mailcap entry.] +mailcap.findparam(name, plist) +mailcap.getcaps() [doc: Return a dictionary containing the mailcap database.] +mailcap.listmailcapfiles() [doc: Return a list of all mailcap files found on the system.] +mailcap.lookup(caps, MIMEtype, key=None) +mailcap.os:: [module] +mailcap.parsefield(line, i, n) [doc: Separate one key-value pair in a mailcap entry.] +mailcap.parseline(line) [doc: Parse one entry in a mailcap file and return a dictionary.] +mailcap.readmailcapfile(fp) [doc: Read a mailcap file and return a dictionary keyed by MIME type.] +mailcap.show(caps) +mailcap.subst(field, MIMEtype, filename, plist=[]) +mailcap.test() +map(function, sequence[, sequence, ...]) -> list +markupbase.ParserBase(??) [doc: Parser base class which provides some common support methods used] +markupbase.__builtins__ +markupbase.__doc__ +markupbase.__file__ +markupbase.__name__ +markupbase._commentclose +markupbase._declname_match +markupbase._declstringlit_match +markupbase._markedsectionclose +markupbase._msmarkedsectionclose +marshal.__doc__ +marshal.__name__ +marshal.dump +marshal.dumps +marshal.load +marshal.loads +marshal.version +math.__doc__ +math.__name__ +math.acos(x) +math.asin(x) +math.atan(x) +math.atan2(y, x) +math.ceil(x) +math.cos(x) +math.cosh(x) +math.degrees(x) -> converts angle x from radians to degrees +math.e +math.exp(x) +math.fabs(x) +math.floor(x) +math.fmod(x,y) +math.frexp(x) +math.hypot(x,y) +math.ldexp(x, i) -> x * (2**i) +math.log(x[, base]) -> the logarithm of x to the given base. +math.log10(x) -> the base 10 logarithm of x. +math.modf(x) +math.pi +math.pow(x,y) +math.radians(x) -> converts angle x from degrees to radians +math.sin(x) +math.sinh(x) +math.sqrt(x) +math.tan(x) +math.tanh(x) +max(iterable[, key=func]) -> value +md5.__builtins__ +md5.__doc__ +md5.__file__ +md5.__name__ +md5.blocksize +md5.digest_size +md5.md5 +md5.new +mhlib.Error +mhlib.FOLDER_PROTECT +mhlib.Folder(mh, name) [doc: Class representing a particular folder.] +mhlib.IntSet(data = None, sep = ',', rng = '-') [doc: Class implementing sets of integers.] +mhlib.MH(path = None, profile = None) [doc: Class representing a particular collection of folders.] +mhlib.MH_PROFILE +mhlib.MH_SEQUENCES +mhlib.Message(f, n, fp = None) +mhlib.PATH +mhlib.SubMessage(f, n, fp) +mhlib.__all__ +mhlib.__builtins__ +mhlib.__doc__ +mhlib.__file__ +mhlib.__name__ +mhlib.bisect +mhlib.isnumeric(str) +mhlib.mimetools:: [module] +mhlib.multifile:: [module] +mhlib.numericprog +mhlib.os:: [module] +mhlib.pickline(file, key, casefold = 1) +mhlib.re:: [module] +mhlib.shutil:: [module] +mhlib.sys:: [module] +mhlib.test() +mhlib.updateline(file, key, value, casefold = 1) +mimetools.Message(fp, seekable = 1) [doc: A derived class of rfc822.Message that knows about MIME headers and] +mimetools.__all__ +mimetools.__builtins__ +mimetools.__doc__ +mimetools.__file__ +mimetools.__name__ +mimetools._counter +mimetools._counter_lock +mimetools._get_next_counter() +mimetools._prefix +mimetools.choose_boundary() [doc: Return a string usable as a multipart boundary.] +mimetools.copybinary(input, output) +mimetools.copyliteral(input, output) +mimetools.decode(input, output, encoding) [doc: Decode common content-transfer-encodings (base64, quopri, uuencode).] +mimetools.decodetab +mimetools.encode(input, output, encoding) [doc: Encode common content-transfer-encodings (base64, quopri, uuencode).] +mimetools.encodetab +mimetools.os:: [module] +mimetools.pipethrough(input, command, output) +mimetools.pipeto(input, command) +mimetools.rfc822:: [module] +mimetools.tempfile:: [module] +mimetools.uudecode_pipe +mimetypes.MimeTypes(filenames=(), strict=True) [doc: MIME-types datastore.] +mimetypes.__all__ +mimetypes.__builtins__ +mimetypes.__doc__ +mimetypes.__file__ +mimetypes.__name__ +mimetypes._default_mime_types() +mimetypes.add_type +mimetypes.common_types +mimetypes.encodings_map +mimetypes.guess_all_extensions +mimetypes.guess_extension +mimetypes.guess_type +mimetypes.init(files=None) +mimetypes.inited +mimetypes.knownfiles +mimetypes.os:: [module] +mimetypes.posixpath:: [module] +mimetypes.read_mime_types(file) +mimetypes.suffix_map +mimetypes.types_map +mimetypes.urllib:: [module] +mimify.CHARSET +mimify.File(file, boundary) [doc: A simple fake file object that knows about limited read-ahead and] +mimify.HeaderFile(file) +mimify.MAXLEN +mimify.QUOTE +mimify.__all__ +mimify.__builtins__ +mimify.__doc__ +mimify.__file__ +mimify.__name__ +mimify.base64_re +mimify.chrset +mimify.cte +mimify.he +mimify.iso_char +mimify.mime_char +mimify.mime_code +mimify.mime_decode(line) [doc: Decode a single line of quoted-printable text to 8bit.] +mimify.mime_decode_header(line) [doc: Decode a header line to 8bit.] +mimify.mime_encode(line, header) [doc: Code a single line as quoted-printable.] +mimify.mime_encode_header(line) [doc: Code a single header line as quoted-printable.] +mimify.mime_head +mimify.mime_header +mimify.mime_header_char +mimify.mimify(infile, outfile) [doc: Convert 8bit parts of a MIME mail message to quoted-printable.] +mimify.mimify_part(ifile, ofile, is_mime) [doc: Convert an 8bit part of a MIME mail message to quoted-printable.] +mimify.mp +mimify.mv +mimify.qp +mimify.re:: [module] +mimify.repl +mimify.sys:: [module] +mimify.unmimify(infile, outfile, decode_base64 = 0) [doc: Convert quoted-printable parts of a MIME mail message to 8bit.] +mimify.unmimify_part(ifile, ofile, decode_base64 = 0) [doc: Convert a quoted-printable part of a MIME mail message to 8bit.] +min(iterable[, key=func]) -> value +mmap.ACCESS_COPY +mmap.ACCESS_READ +mmap.ACCESS_WRITE +mmap.PAGESIZE +mmap.__doc__ +mmap.__name__ +mmap.error +mmap.mmap +modulefinder.AddPackagePath(packagename, path) +modulefinder.IMPORT_NAME +modulefinder.LOAD_CONST +modulefinder.Module(name, file=None, path=None) +modulefinder.ModuleFinder(path=None, debug=0, excludes=[], replace_paths=[]) +modulefinder.READ_MODE +modulefinder.ReplacePackage(oldname, newname) +modulefinder.STORE_GLOBAL +modulefinder.STORE_NAME +modulefinder.STORE_OPS +modulefinder.__builtins__ +modulefinder.__doc__ +modulefinder.__file__ +modulefinder.__name__ +modulefinder.dis:: [module] +modulefinder.imp:: [module] +modulefinder.marshal:: [module] +modulefinder.new:: [module] +modulefinder.os:: [module] +modulefinder.packagePathMap +modulefinder.replacePackageMap +modulefinder.sys:: [module] +modulefinder.test() +msilib.Binary(fname) +msilib.CAB(name) +msilib.Control(dlg, name) +msilib.CreateRecord +msilib.Dialog(db, name, x, y, w, h, attr, title, first, default, cancel) +msilib.Directory(db, cab, basedir, physical, _logical, default, componentflags=None) +msilib.FCICreate +msilib.Feature(??) [class] +msilib.MSICOLINFO_NAMES +msilib.MSICOLINFO_TYPES +msilib.MSIDBOPEN_CREATE +msilib.MSIDBOPEN_CREATEDIRECT +msilib.MSIDBOPEN_DIRECT +msilib.MSIDBOPEN_PATCHFILE +msilib.MSIDBOPEN_READONLY +msilib.MSIDBOPEN_TRANSACT +msilib.MSIError +msilib.MSIMODIFY_ASSIGN +msilib.MSIMODIFY_DELETE +msilib.MSIMODIFY_INSERT +msilib.MSIMODIFY_INSERT_TEMPORARY +msilib.MSIMODIFY_MERGE +msilib.MSIMODIFY_REFRESH +msilib.MSIMODIFY_REPLACE +msilib.MSIMODIFY_SEEK +msilib.MSIMODIFY_UPDATE +msilib.MSIMODIFY_VALIDATE +msilib.MSIMODIFY_VALIDATE_DELETE +msilib.MSIMODIFY_VALIDATE_FIELD +msilib.MSIMODIFY_VALIDATE_NEW +msilib.OpenDatabase(name, flags) -> dbobj +msilib.PID_APPNAME +msilib.PID_AUTHOR +msilib.PID_CHARCOUNT +msilib.PID_CODEPAGE +msilib.PID_COMMENTS +msilib.PID_CREATE_DTM +msilib.PID_KEYWORDS +msilib.PID_LASTAUTHOR +msilib.PID_LASTPRINTED +msilib.PID_LASTSAVE_DTM +msilib.PID_PAGECOUNT +msilib.PID_REVNUMBER +msilib.PID_SECURITY +msilib.PID_SUBJECT +msilib.PID_TEMPLATE +msilib.PID_TITLE +msilib.PID_WORDCOUNT +msilib.RadioButtonGroup(dlg, name, property) +msilib.Table(name) +msilib.UuidCreate() -> string +msilib.Win64 +msilib._Unspecified(??) [class] +msilib.__builtins__ +msilib.__doc__ +msilib.__file__ +msilib.__name__ +msilib.__path__ +msilib._directories +msilib.add_data(db, table, values) +msilib.add_stream(db, name, path) +msilib.add_tables(db, module) +msilib.change_sequence(seq, action, seqno=_Unspecified, cond = _Unspecified) [doc: Change the sequence number of an action in a sequence list] +msilib.datasizemask +msilib.gen_uuid() +msilib.init_database(??) [function] +msilib.knownbits +msilib.make_id(str) +msilib.os:: [module] +msilib.re:: [module] +msilib.schema.ActionText +msilib.schema.AdminExecuteSequence +msilib.schema.AdminUISequence +msilib.schema.AdvtExecuteSequence +msilib.schema.AdvtUISequence +msilib.schema.AppId +msilib.schema.AppSearch +msilib.schema.BBControl +msilib.schema.Billboard +msilib.schema.Binary +msilib.schema.BindImage +msilib.schema.CCPSearch +msilib.schema.CheckBox +msilib.schema.Class +msilib.schema.ComboBox +msilib.schema.CompLocator +msilib.schema.Complus +msilib.schema.Component +msilib.schema.Condition +msilib.schema.Control +msilib.schema.ControlCondition +msilib.schema.ControlEvent +msilib.schema.CreateFolder +msilib.schema.CustomAction +msilib.schema.Dialog +msilib.schema.Directory +msilib.schema.DrLocator +msilib.schema.DuplicateFile +msilib.schema.Environment +msilib.schema.Error +msilib.schema.EventMapping +msilib.schema.Extension +msilib.schema.Feature +msilib.schema.FeatureComponents +msilib.schema.File +msilib.schema.FileSFPCatalog +msilib.schema.Font +msilib.schema.Icon +msilib.schema.IniFile +msilib.schema.IniLocator +msilib.schema.InstallExecuteSequence +msilib.schema.InstallUISequence +msilib.schema.IsolatedComponent +msilib.schema.LaunchCondition +msilib.schema.ListBox +msilib.schema.ListView +msilib.schema.LockPermissions +msilib.schema.MIME +msilib.schema.Media +msilib.schema.MoveFile +msilib.schema.MsiAssembly +msilib.schema.MsiAssemblyName +msilib.schema.MsiDigitalCertificate +msilib.schema.MsiDigitalSignature +msilib.schema.MsiFileHash +msilib.schema.MsiPatchHeaders +msilib.schema.ODBCAttribute +msilib.schema.ODBCDataSource +msilib.schema.ODBCDriver +msilib.schema.ODBCSourceAttribute +msilib.schema.ODBCTranslator +msilib.schema.Patch +msilib.schema.PatchPackage +msilib.schema.ProgId +msilib.schema.Property +msilib.schema.PublishComponent +msilib.schema.RadioButton +msilib.schema.RegLocator +msilib.schema.Registry +msilib.schema.RemoveFile +msilib.schema.RemoveIniFile +msilib.schema.RemoveRegistry +msilib.schema.ReserveCost +msilib.schema.SFPCatalog +msilib.schema.SelfReg +msilib.schema.ServiceControl +msilib.schema.ServiceInstall +msilib.schema.Shortcut +msilib.schema.Signature +msilib.schema.Table(??) [class] +msilib.schema.TextStyle +msilib.schema.TypeLib +msilib.schema.UIText +msilib.schema.Upgrade +msilib.schema.Verb +msilib.schema._Validation +msilib.schema._Validation_records +msilib.schema.__builtins__ +msilib.schema.__doc__ +msilib.schema.__file__ +msilib.schema.__name__ +msilib.schema.tables +msilib.schema:: [module] +msilib.sequence.AdminExecuteSequence +msilib.sequence.AdminUISequence +msilib.sequence.AdvtExecuteSequence +msilib.sequence.InstallExecuteSequence +msilib.sequence.InstallUISequence +msilib.sequence.__builtins__ +msilib.sequence.__doc__ +msilib.sequence.__file__ +msilib.sequence.__name__ +msilib.sequence.tables +msilib.sequence:: [module] +msilib.sets:: [module] +msilib.string:: [module] +msilib.text.ActionText +msilib.text.UIText +msilib.text.__builtins__ +msilib.text.__doc__ +msilib.text.__file__ +msilib.text.__name__ +msilib.text.dirname +msilib.text.msilib:: [module] +msilib.text.os:: [module] +msilib.text.tables +msilib.text:: [module] +msilib.type_binary +msilib.type_key +msilib.type_localizable +msilib.type_long +msilib.type_nullable +msilib.type_short +msilib.type_string +msilib.type_valid +msilib.typemask +msvcrt.LK_LOCK +msvcrt.LK_NBLCK +msvcrt.LK_NBRLCK +msvcrt.LK_RLCK +msvcrt.LK_UNLCK +msvcrt.__doc__ +msvcrt.__name__ +msvcrt.get_osfhandle +msvcrt.getch +msvcrt.getche +msvcrt.heapmin +msvcrt.kbhit +msvcrt.locking +msvcrt.open_osfhandle +msvcrt.putch +msvcrt.setmode +msvcrt.ungetch +multifile.Error +multifile.MultiFile(fp, seekable=1) +multifile.__all__ +multifile.__builtins__ +multifile.__doc__ +multifile.__file__ +multifile.__name__ +mutex.__builtins__ +mutex.__doc__ +mutex.__file__ +mutex.__name__ +mutex.deque(iterable) --> deque object +mutex.mutex(??) [class] +netrc.NetrcParseError +netrc.__all__ +netrc.__builtins__ +netrc.__doc__ +netrc.__file__ +netrc.__name__ +netrc.netrc(file=None) +netrc.os:: [module] +netrc.shlex:: [module] +new.__builtins__ +new.__doc__ +new.__file__ +new.__name__ +new.classobj(name, bases, dict) +new.code +new.function(code, globals[, name[, argdefs[, closure]]]) +new.instance(class[, dict]) +new.instancemethod(function, instance, class) +new.module(name[, doc]) +nntplib.CRLF +nntplib.LONGRESP +nntplib.NNTP(??) [class] +nntplib.NNTPDataError +nntplib.NNTPError +nntplib.NNTPPermanentError +nntplib.NNTPProtocolError +nntplib.NNTPReplyError +nntplib.NNTPTemporaryError +nntplib.NNTP_PORT +nntplib.__all__ +nntplib.__builtins__ +nntplib.__doc__ +nntplib.__file__ +nntplib.__name__ +nntplib.error_data +nntplib.error_perm +nntplib.error_proto +nntplib.error_reply +nntplib.error_temp +nntplib.re:: [module] +nntplib.socket:: [module] +not +nt.F_OK +nt.O_APPEND +nt.O_BINARY +nt.O_CREAT +nt.O_EXCL +nt.O_NOINHERIT +nt.O_RANDOM +nt.O_RDONLY +nt.O_RDWR +nt.O_SEQUENTIAL +nt.O_SHORT_LIVED +nt.O_TEMPORARY +nt.O_TEXT +nt.O_TRUNC +nt.O_WRONLY +nt.P_DETACH +nt.P_NOWAIT +nt.P_NOWAITO +nt.P_OVERLAY +nt.P_WAIT +nt.R_OK +nt.TMP_MAX +nt.W_OK +nt.X_OK +nt.__doc__ +nt.__name__ +nt._exit(status) +nt._getfullpathname +nt.abort() -> does not return! +nt.access(path, mode) -> True if granted, False otherwise +nt.chdir(path) +nt.chmod(path, mode) +nt.close(fd) +nt.dup(fd) -> fd2 +nt.dup2(old_fd, new_fd) +nt.environ +nt.error +nt.execv(path, args) +nt.execve(path, args, env) +nt.fdopen(fd [, mode='r' [, bufsize]]) -> file_object +nt.fstat(fd) -> stat result +nt.fsync(fildes) +nt.getcwd() -> path +nt.getcwdu() -> path +nt.getpid() -> pid +nt.isatty(fd) -> bool +nt.listdir(path) -> list_of_strings +nt.lseek(fd, pos, how) -> newpos +nt.lstat(path) -> stat result +nt.mkdir(path [, mode=0777]) +nt.open(filename, flag [, mode=0777]) -> fd +nt.pipe() -> (read_end, write_end) +nt.popen(command [, mode='r' [, bufsize]]) -> pipe +nt.popen2 +nt.popen3 +nt.popen4 +nt.putenv(key, value) +nt.read(fd, buffersize) -> string +nt.remove(path) +nt.rename(old, new) +nt.rmdir(path) +nt.spawnv(mode, path, args) +nt.spawnve(mode, path, args, env) +nt.startfile(filepath [, operation]) - Start a file with its associated +nt.stat(path) -> stat result +nt.stat_float_times([newval]) -> oldval +nt.stat_result +nt.statvfs_result +nt.strerror(code) -> string +nt.system(command) -> exit_status +nt.tempnam([dir[, prefix]]) -> string +nt.times() -> (utime, stime, cutime, cstime, elapsed_time) +nt.tmpfile() -> file object +nt.tmpnam() -> string +nt.umask(new_mask) -> old_mask +nt.unlink(path) +nt.urandom(n) -> str +nt.utime(path, (atime, mtime)) +nt.waitpid(pid, options) -> (pid, status << 8) +nt.write(fd, string) -> byteswritten +ntpath.__all__ +ntpath.__builtins__ +ntpath.__doc__ +ntpath.__file__ +ntpath.__name__ +ntpath._getfullpathname +ntpath.abspath(??) [doc: Return the absolute version of a path.] +ntpath.altsep +ntpath.basename(p) [doc: Returns the final component of a pathname] +ntpath.commonprefix(m) [doc: Given a list of pathnames, returns the longest common leading component] +ntpath.curdir +ntpath.defpath +ntpath.devnull +ntpath.dirname(p) [doc: Returns the directory component of a pathname] +ntpath.exists(path) [doc: Test whether a path exists] +ntpath.expanduser(path) [doc: Expand ~ and ~user constructs.] +ntpath.expandvars(path) [doc: Expand shell variables of form $var and ${var}.] +ntpath.extsep +ntpath.getatime(filename) [doc: Return the last access time of a file, reported by os.stat()] +ntpath.getctime(filename) [doc: Return the creation time of a file, reported by os.stat().] +ntpath.getmtime(filename) [doc: Return the last modification time of a file, reported by os.stat()] +ntpath.getsize(filename) [doc: Return the size of a file, reported by os.stat()] +ntpath.isabs(s) [doc: Test whether a path is absolute] +ntpath.isdir(path) [doc: Test whether a path is a directory] +ntpath.isfile(path) [doc: Test whether a path is a regular file] +ntpath.islink(path) [doc: Test for symbolic link. On WindowsNT/95 always returns false] +ntpath.ismount(path) [doc: Test whether a path is a mount point (defined as root of drive)] +ntpath.join(a, *p) [doc: Join two or more pathname components, inserting "\" as needed] +ntpath.lexists(??) [doc: Test whether a path exists] +ntpath.normcase(s) [doc: Normalize case of pathname.] +ntpath.normpath(path) [doc: Normalize path, eliminating double slashes, etc.] +ntpath.os:: [module] +ntpath.pardir +ntpath.pathsep +ntpath.realpath(??) [doc: Return the absolute version of a path.] +ntpath.sep +ntpath.split(p) [doc: Split a pathname.] +ntpath.splitdrive(p) [doc: Split a pathname into drive and path specifiers. Returns a 2-tuple] +ntpath.splitext(p) [doc: Split the extension from a pathname.] +ntpath.splitunc(p) [doc: Split a pathname into UNC mount point and relative path specifiers.] +ntpath.stat:: [module] +ntpath.supports_unicode_filenames +ntpath.sys:: [module] +ntpath.walk(top, func, arg) [doc: Directory tree walk with callback function.] +nturl2path.__builtins__ +nturl2path.__doc__ +nturl2path.__file__ +nturl2path.__name__ +nturl2path.pathname2url(p) [doc: OS-specific conversion from a file system path to a relative URL] +nturl2path.url2pathname(url) [doc: OS-specific conversion from a relative URL of the 'file' scheme] +object +oct(number) -> string +opcode.EXTENDED_ARG +opcode.HAVE_ARGUMENT +opcode.__all__ +opcode.__builtins__ +opcode.__doc__ +opcode.__file__ +opcode.__name__ +opcode.cmp_op +opcode.hascompare +opcode.hasconst +opcode.hasfree +opcode.hasjabs +opcode.hasjrel +opcode.haslocal +opcode.hasname +opcode.opmap +opcode.opname +open(name[, mode[, buffering]]) -> file object +operator.__abs__ +operator.__add__ +operator.__and__ +operator.__concat__ +operator.__contains__ +operator.__delitem__ +operator.__delslice__ +operator.__div__ +operator.__doc__ +operator.__eq__ +operator.__floordiv__ +operator.__ge__ +operator.__getitem__ +operator.__getslice__ +operator.__gt__ +operator.__iadd__ +operator.__iand__ +operator.__iconcat__ +operator.__idiv__ +operator.__ifloordiv__ +operator.__ilshift__ +operator.__imod__ +operator.__imul__ +operator.__index__ +operator.__inv__ +operator.__invert__ +operator.__ior__ +operator.__ipow__ +operator.__irepeat__ +operator.__irshift__ +operator.__isub__ +operator.__itruediv__ +operator.__ixor__ +operator.__le__ +operator.__lshift__ +operator.__lt__ +operator.__mod__ +operator.__mul__ +operator.__name__ +operator.__ne__ +operator.__neg__ +operator.__not__ +operator.__or__ +operator.__pos__ +operator.__pow__ +operator.__repeat__ +operator.__rshift__ +operator.__setitem__ +operator.__setslice__ +operator.__sub__ +operator.__truediv__ +operator.__xor__ +operator.abs(a) -- Same as abs(a). +operator.add(a, b) -- Same as a + b. +operator.and_(a, b) -- Same as a & b. +operator.attrgetter(attr, ...) --> attrgetter object +operator.concat(a, b) -- Same as a + b, for a and b sequences. +operator.contains(a, b) -- Same as b in a (note reversed operands). +operator.countOf(a, b) -- Return the number of times b occurs in a. +operator.delitem(a, b) -- Same as del a[b]. +operator.delslice(a, b, c) -- Same as del a[b:c]. +operator.div(a, b) -- Same as a / b when __future__.division is not in effect. +operator.eq(a, b) -- Same as a==b. +operator.floordiv(a, b) -- Same as a // b. +operator.ge(a, b) -- Same as a>=b. +operator.getitem(a, b) -- Same as a[b]. +operator.getslice(a, b, c) -- Same as a[b:c]. +operator.gt(a, b) -- Same as a>b. +operator.iadd(a, b) -- Same as a += b. +operator.iand(a, b) -- Same as a &= b. +operator.iconcat(a, b) -- Same as a += b, for a and b sequences. +operator.idiv(a, b) -- Same as a /= b when __future__.division is not in effect. +operator.ifloordiv(a, b) -- Same as a //= b. +operator.ilshift(a, b) -- Same as a <<= b. +operator.imod(a, b) -- Same as a %= b. +operator.imul(a, b) -- Same as a *= b. +operator.index(a) -- Same as a.__index__() +operator.indexOf(a, b) -- Return the first index of b in a. +operator.inv(a) -- Same as ~a. +operator.invert(a) -- Same as ~a. +operator.ior(a, b) -- Same as a |= b. +operator.ipow(a, b) -- Same as a **= b. +operator.irepeat(a, b) -- Same as a *= b, where a is a sequence, and b is an integer. +operator.irshift(a, b) -- Same as a >>= b. +operator.isCallable(a) -- Same as callable(a). +operator.isMappingType(a) -- Return True if a has a mapping type, False otherwise. +operator.isNumberType(a) -- Return True if a has a numeric type, False otherwise. +operator.isSequenceType(a) -- Return True if a has a sequence type, False otherwise. +operator.is_(a, b) -- Same as a is b. +operator.is_not(a, b) -- Same as a is not b. +operator.isub(a, b) -- Same as a -= b. +operator.itemgetter(item, ...) --> itemgetter object +operator.itruediv(a, b) -- Same as a /= b when __future__.division is in effect. +operator.ixor(a, b) -- Same as a ^= b. +operator.le(a, b) -- Same as a<=b. +operator.lshift(a, b) -- Same as a << b. +operator.lt(a, b) -- Same as a> b. +operator.sequenceIncludes(a, b) -- Same as b in a (note reversed operands; deprecated). +operator.setitem(a, b, c) -- Same as a[b] = c. +operator.setslice(a, b, c, d) -- Same as a[b:c] = d. +operator.sub(a, b) -- Same as a - b. +operator.truediv(a, b) -- Same as a / b when __future__.division is in effect. +operator.truth(a) -- Return True if a is true, False otherwise. +operator.xor(a, b) -- Same as a ^ b. +optparse.AmbiguousOptionError +optparse.BadOptionError +optparse.HelpFormatter(??) [doc: ] +optparse.IndentedHelpFormatter(??) [doc: Format help with indented section bodies.] +optparse.NO_DEFAULT +optparse.OptParseError +optparse.Option(*opts, **attrs) [doc: ] +optparse.OptionConflictError +optparse.OptionContainer(option_class, conflict_handler, description) [doc: ] +optparse.OptionError +optparse.OptionGroup(parser, title, description=None) +optparse.OptionParser(??) [doc: ] +optparse.OptionValueError +optparse.SUPPRESS_HELP +optparse.SUPPRESS_USAGE +optparse.TitledHelpFormatter(??) [doc: Format help with underlined section headers.] +optparse.Values(defaults=None) +optparse._(??) [function] +optparse.__all__ +optparse.__builtins__ +optparse.__copyright__ +optparse.__doc__ +optparse.__file__ +optparse.__name__ +optparse.__version__ +optparse._builtin_cvt +optparse._match_abbrev(s : string, wordmap : {string : Option}) -> string +optparse._parse_int(val) +optparse._parse_long(val) +optparse._parse_num(val, type) +optparse._repr(self) +optparse.check_builtin(option, opt, value) +optparse.check_choice(option, opt, value) +optparse.gettext(??) [function] +optparse.isbasestring(??) [function] +optparse.make_option(??) [doc: ] +optparse.os:: [module] +optparse.sys:: [module] +optparse.textwrap:: [module] +optparse.types:: [module] +or +ord(c) -> integer +os.F_OK +os.O_APPEND +os.O_BINARY +os.O_CREAT +os.O_EXCL +os.O_NOINHERIT +os.O_RANDOM +os.O_RDONLY +os.O_RDWR +os.O_SEQUENTIAL +os.O_SHORT_LIVED +os.O_TEMPORARY +os.O_TEXT +os.O_TRUNC +os.O_WRONLY +os.P_DETACH +os.P_NOWAIT +os.P_NOWAITO +os.P_OVERLAY +os.P_WAIT +os.R_OK +os.SEEK_CUR +os.SEEK_END +os.SEEK_SET +os.TMP_MAX +os.UserDict:: [module] +os.W_OK +os.X_OK +os._Environ(??) [class] +os.__all__ +os.__builtins__ +os.__doc__ +os.__file__ +os.__name__ +os._copy_reg:: [module] +os._execvpe(file, args, env=None) +os._exists(name) +os._exit(status) +os._get_exports_list(module) +os._make_stat_result(tup, dict) +os._make_statvfs_result(tup, dict) +os._pickle_stat_result(sr) +os._pickle_statvfs_result(sr) +os.abort() -> does not return! +os.access(path, mode) -> True if granted, False otherwise +os.altsep +os.chdir(path) +os.chmod(path, mode) +os.close(fd) +os.curdir +os.defpath +os.devnull +os.dup(fd) -> fd2 +os.dup2(old_fd, new_fd) +os.environ +os.errno:: [module] +os.error +os.execl(file, *args) +os.execle(file, *args, env) +os.execlp(file, *args) +os.execlpe(file, *args, env) +os.execv(path, args) +os.execve(path, args, env) +os.execvp(file, args) [doc: execp(file, args)] +os.execvpe(file, args, env) +os.extsep +os.fdopen(fd [, mode='r' [, bufsize]]) -> file_object +os.fstat(fd) -> stat result +os.fsync(fildes) +os.getcwd() -> path +os.getcwdu() -> path +os.getenv(key, default=None) [doc: Get an environment variable, return None if it doesn't exist.] +os.getpid() -> pid +os.isatty(fd) -> bool +os.linesep +os.listdir(path) -> list_of_strings +os.lseek(fd, pos, how) -> newpos +os.lstat(path) -> stat result +os.makedirs(path [, mode=0777]) +os.mkdir(path [, mode=0777]) +os.name +os.open(filename, flag [, mode=0777]) -> fd +os.pardir +os.path:: [module] +os.pathsep +os.pipe() -> (read_end, write_end) +os.popen(command [, mode='r' [, bufsize]]) -> pipe +os.popen2 +os.popen3 +os.popen4 +os.putenv(key, value) +os.read(fd, buffersize) -> string +os.remove(path) +os.removedirs(path) +os.rename(old, new) +os.renames(old, new) +os.rmdir(path) +os.sep +os.spawnl(mode, file, *args) -> integer +os.spawnle(mode, file, *args, env) -> integer +os.spawnv(mode, path, args) +os.spawnve(mode, path, args, env) +os.startfile(filepath [, operation]) - Start a file with its associated +os.stat(path) -> stat result +os.stat_float_times([newval]) -> oldval +os.stat_result +os.statvfs_result +os.strerror(code) -> string +os.sys:: [module] +os.system(command) -> exit_status +os.tempnam([dir[, prefix]]) -> string +os.times() -> (utime, stime, cutime, cstime, elapsed_time) +os.tmpfile() -> file object +os.tmpnam() -> string +os.umask(new_mask) -> old_mask +os.unlink(path) +os.unsetenv(??) [function] +os.urandom(n) -> str +os.utime(path, (atime, mtime)) +os.waitpid(pid, options) -> (pid, status << 8) +os.walk(top, topdown=True, onerror=None) [doc: Directory tree generator.] +os.write(fd, string) -> byteswritten +os2emxpath.__all__ +os2emxpath.__builtins__ +os2emxpath.__doc__ +os2emxpath.__file__ +os2emxpath.__name__ +os2emxpath.abspath(path) [doc: Return the absolute version of a path] +os2emxpath.altsep +os2emxpath.basename(p) [doc: Returns the final component of a pathname] +os2emxpath.commonprefix(m) [doc: Given a list of pathnames, returns the longest common leading component] +os2emxpath.curdir +os2emxpath.defpath +os2emxpath.devnull +os2emxpath.dirname(p) [doc: Returns the directory component of a pathname] +os2emxpath.exists(path) [doc: Test whether a path exists] +os2emxpath.expanduser(path) [doc: Expand ~ and ~user constructs.] +os2emxpath.expandvars(path) [doc: Expand shell variables of form $var and ${var}.] +os2emxpath.extsep +os2emxpath.getatime(filename) [doc: Return the last access time of a file, reported by os.stat()] +os2emxpath.getctime(filename) [doc: Return the creation time of a file, reported by os.stat().] +os2emxpath.getmtime(filename) [doc: Return the last modification time of a file, reported by os.stat()] +os2emxpath.getsize(filename) [doc: Return the size of a file, reported by os.stat()] +os2emxpath.isabs(s) [doc: Test whether a path is absolute] +os2emxpath.isdir(path) [doc: Test whether a path is a directory] +os2emxpath.isfile(path) [doc: Test whether a path is a regular file] +os2emxpath.islink(path) [doc: Test for symbolic link. On OS/2 always returns false] +os2emxpath.ismount(path) [doc: Test whether a path is a mount point (defined as root of drive)] +os2emxpath.join(a, *p) [doc: Join two or more pathname components, inserting sep as needed] +os2emxpath.lexists(??) [doc: Test whether a path exists] +os2emxpath.normcase(s) [doc: Normalize case of pathname.] +os2emxpath.normpath(path) [doc: Normalize path, eliminating double slashes, etc.] +os2emxpath.os:: [module] +os2emxpath.pardir +os2emxpath.pathsep +os2emxpath.realpath(??) [doc: Return the absolute version of a path] +os2emxpath.sep +os2emxpath.split(p) [doc: Split a pathname.] +os2emxpath.splitdrive(p) [doc: Split a pathname into drive and path specifiers. Returns a 2-tuple] +os2emxpath.splitext(p) [doc: Split the extension from a pathname.] +os2emxpath.splitunc(p) [doc: Split a pathname into UNC mount point and relative path specifiers.] +os2emxpath.stat:: [module] +os2emxpath.supports_unicode_filenames +os2emxpath.walk(top, func, arg) [doc: Directory tree walk whth callback function.] +parser.ASTType +parser.ParserError +parser.STType +parser.__copyright__ +parser.__doc__ +parser.__name__ +parser.__version__ +parser._pickler +parser.ast2list +parser.ast2tuple +parser.compileast +parser.compilest +parser.expr +parser.isexpr +parser.issuite +parser.sequence2ast +parser.sequence2st +parser.st2list +parser.st2tuple +parser.suite +parser.tuple2ast +parser.tuple2st +pass +pdb.Pdb(completekey='tab', stdin=None, stdout=None) +pdb.Repr(??) [class] +pdb.TESTCMD +pdb.__all__ +pdb.__builtins__ +pdb.__doc__ +pdb.__file__ +pdb.__name__ +pdb._repr +pdb._saferepr +pdb.bdb:: [module] +pdb.cmd:: [module] +pdb.find_function(funcname, filename) +pdb.help() +pdb.line_prefix +pdb.linecache:: [module] +pdb.main() +pdb.os:: [module] +pdb.pm() +pdb.post_mortem(t) +pdb.pprint:: [module] +pdb.re:: [module] +pdb.run(statement, globals=None, locals=None) +pdb.runcall(*args, **kwds) +pdb.runctx(statement, globals, locals) +pdb.runeval(expression, globals=None, locals=None) +pdb.set_trace() +pdb.sys:: [module] +pdb.test() +pdb.traceback:: [module] +pickle.APPEND +pickle.APPENDS +pickle.BINFLOAT +pickle.BINGET +pickle.BININT +pickle.BININT1 +pickle.BININT2 +pickle.BINPERSID +pickle.BINPUT +pickle.BINSTRING +pickle.BINUNICODE +pickle.BUILD +pickle.BooleanType +pickle.BufferType +pickle.BuiltinFunctionType +pickle.BuiltinMethodType +pickle.ClassType +pickle.CodeType +pickle.ComplexType +pickle.DICT +pickle.DUP +pickle.DictProxyType +pickle.DictType +pickle.DictionaryType +pickle.EMPTY_DICT +pickle.EMPTY_LIST +pickle.EMPTY_TUPLE +pickle.EXT1 +pickle.EXT2 +pickle.EXT4 +pickle.EllipsisType +pickle.FALSE +pickle.FLOAT +pickle.FileType +pickle.FloatType +pickle.FrameType +pickle.FunctionType +pickle.GET +pickle.GLOBAL +pickle.GeneratorType +pickle.GetSetDescriptorType +pickle.HIGHEST_PROTOCOL +pickle.INST +pickle.INT +pickle.InstanceType +pickle.IntType +pickle.LIST +pickle.LONG +pickle.LONG1 +pickle.LONG4 +pickle.LONG_BINGET +pickle.LONG_BINPUT +pickle.LambdaType +pickle.ListType +pickle.LongType +pickle.MARK +pickle.MemberDescriptorType +pickle.MethodType +pickle.ModuleType +pickle.NEWFALSE +pickle.NEWOBJ +pickle.NEWTRUE +pickle.NONE +pickle.NoneType +pickle.NotImplementedType +pickle.OBJ +pickle.ObjectType +pickle.PERSID +pickle.POP +pickle.POP_MARK +pickle.PROTO +pickle.PUT +pickle.PickleError +pickle.Pickler(file, protocol=None) +pickle.PicklingError +pickle.PyStringMap +pickle.REDUCE +pickle.SETITEM +pickle.SETITEMS +pickle.SHORT_BINSTRING +pickle.STOP +pickle.STRING +pickle.SliceType +pickle.StringIO([s]) -- Return a StringIO-like stream for reading or writing +pickle.StringType +pickle.StringTypes +pickle.TRUE +pickle.TUPLE +pickle.TUPLE1 +pickle.TUPLE2 +pickle.TUPLE3 +pickle.TracebackType +pickle.TupleType +pickle.TypeType +pickle.UNICODE +pickle.UnboundMethodType +pickle.UnicodeType +pickle.Unpickler(file) +pickle.UnpicklingError +pickle.XRangeType +pickle._EmptyClass(??) [class] +pickle._Stop +pickle.__all__ +pickle.__builtins__ +pickle.__doc__ +pickle.__file__ +pickle.__name__ +pickle.__version__ +pickle._binascii:: [module] +pickle._extension_cache +pickle._extension_registry +pickle._inverted_registry +pickle._keep_alive(x, memo) [doc: Keeps a reference to the object x in the memo.] +pickle._test() +pickle._tuplesize2code +pickle.classmap +pickle.compatible_formats +pickle.decode_long(data) [doc: Decode a long from a two's complement little-endian binary string.] +pickle.dispatch_table +pickle.dump(obj, file, protocol=None) +pickle.dumps(obj, protocol=None) +pickle.encode_long(x) [doc: Encode a long to a two's complement little-endian binary string.] +pickle.format_version +pickle.load(file) +pickle.loads(str) +pickle.marshal:: [module] +pickle.mloads +pickle.re:: [module] +pickle.struct:: [module] +pickle.sys:: [module] +pickle.whichmodule(func, funcname) [doc: Figure out the module in which a function occurs.] +pickletools.ArgumentDescriptor +pickletools.OpcodeInfo +pickletools.StackObject +pickletools.TAKEN_FROM_ARGUMENT1 +pickletools.TAKEN_FROM_ARGUMENT4 +pickletools.UP_TO_NEWLINE +pickletools._Example(value) +pickletools.__all__ +pickletools.__builtins__ +pickletools.__doc__ +pickletools.__file__ +pickletools.__name__ +pickletools.__test__ +pickletools._dis_test +pickletools._memo_test +pickletools._test() +pickletools._unpack(??) [doc: ] +pickletools.anyobject +pickletools.code2op +pickletools.decimalnl_long +pickletools.decimalnl_short +pickletools.decode_long(??) [doc: Decode a long from a two's complement little-endian binary string.] +pickletools.dis(pickle, out=None, memo=None, indentlevel=4) [doc: Produce a symbolic disassembly of a pickle.] +pickletools.float8 +pickletools.floatnl +pickletools.genops(pickle) [doc: Generate all the opcodes in a pickle.] +pickletools.int4 +pickletools.long1 +pickletools.long4 +pickletools.markobject +pickletools.opcodes +pickletools.pybool +pickletools.pydict +pickletools.pyfloat +pickletools.pyint +pickletools.pyinteger_or_bool +pickletools.pylist +pickletools.pylong +pickletools.pynone +pickletools.pystring +pickletools.pytuple +pickletools.pyunicode +pickletools.read_decimalnl_long(f) [doc: ] +pickletools.read_decimalnl_short(f) [doc: ] +pickletools.read_float8(f) [doc: ] +pickletools.read_floatnl(f) [doc: ] +pickletools.read_int4(f) [doc: ] +pickletools.read_long1(f) [doc: ] +pickletools.read_long4(f) [doc: ] +pickletools.read_string1(f) [doc: ] +pickletools.read_string4(f) [doc: ] +pickletools.read_stringnl(f, decode=True, stripquotes=True) [doc: ] +pickletools.read_stringnl_noescape(f) +pickletools.read_stringnl_noescape_pair(f) [doc: ] +pickletools.read_uint1(f) [doc: ] +pickletools.read_uint2(f) [doc: ] +pickletools.read_unicodestring4(f) [doc: ] +pickletools.read_unicodestringnl(f) [doc: ] +pickletools.stackslice +pickletools.string1 +pickletools.string4 +pickletools.stringnl +pickletools.stringnl_noescape +pickletools.stringnl_noescape_pair +pickletools.uint1 +pickletools.uint2 +pickletools.unicodestring4 +pickletools.unicodestringnl +pipes.FILEIN_FILEOUT +pipes.FILEIN_STDOUT +pipes.SINK +pipes.SOURCE +pipes.STDIN_FILEOUT +pipes.STDIN_STDOUT +pipes.Template(??) [doc: Class representing a pipeline template.] +pipes.__all__ +pipes.__builtins__ +pipes.__doc__ +pipes.__file__ +pipes.__name__ +pipes._funnychars +pipes._safechars +pipes.makepipeline(infile, steps, outfile) +pipes.os:: [module] +pipes.quote(file) +pipes.re:: [module] +pipes.stepkinds +pipes.string:: [module] +pipes.tempfile:: [module] +pipes.test() +pkgutil.ImpImporter(path=None) [doc: PEP 302 Importer that wraps Python's "classic" import algorithm] +pkgutil.ImpLoader(fullname, file, filename, etc) [doc: PEP 302 Loader that wraps Python's "classic" import algorithm] +pkgutil.ModuleType +pkgutil.__all__ +pkgutil.__builtins__ +pkgutil.__doc__ +pkgutil.__file__ +pkgutil.__name__ +pkgutil.extend_path(path, name) [doc: Extend a package's path.] +pkgutil.find_loader(fullname) [doc: Find a PEP 302 "loader" object for fullname] +pkgutil.get_importer(path_item) [doc: Retrieve a PEP 302 importer for the given path item] +pkgutil.get_loader(module_or_name) [doc: Get a PEP 302 "loader" object for module_or_name] +pkgutil.imp:: [module] +pkgutil.iter_importer_modules(importer, prefix='') +pkgutil.iter_importers(fullname="") [doc: Yield PEP 302 importers for the given module name] +pkgutil.iter_modules(path=None, prefix='') [doc: Yields (module_loader, name, ispkg) for all submodules on path,] +pkgutil.iter_zipimport_modules(??) [function] +pkgutil.os:: [module] +pkgutil.read_code(stream) +pkgutil.simplegeneric(func) [doc: Make a trivial single-dispatch generic function] +pkgutil.sys:: [module] +pkgutil.walk_packages(path=None, prefix='', onerror=None) [doc: Yields (module_loader, name, ispkg) for all modules recursively] +pkgutil.zipimport:: [module] +pkgutil.zipimporter(archivepath) -> zipimporter object +platform.__builtins__ +platform.__copyright__ +platform.__doc__ +platform.__file__ +platform.__name__ +platform.__version__ +platform._abspath(??) [doc: Return the absolute version of a path.] +platform._architecture_split +platform._bcd2str(bcd) +platform._default_architecture +platform._dist_try_harder(distname,version,id) [doc: Tries some special tricks to get the distribution] +platform._follow_symlinks(filepath) [doc: In case filepath is a symlink, follow it until a] +platform._java_getprop(name,default) +platform._libc_search +platform._mac_ver_lookup(selectors,default=None) +platform._node(default='') [doc: Helper to determine the node name of this machine.] +platform._norm_version(version,build='') [doc: Normalize the version and build strings and return a single] +platform._platform(*args) [doc: Helper to format the platform string in a filename] +platform._platform_cache +platform._popen(cmd,mode='r',bufsize=None) [doc: Fairly portable (alternative) popen implementation.] +platform._release_filename +platform._release_version +platform._sys_version() [doc: Returns a parsed version of Python's sys.version as tuple] +platform._sys_version_cache +platform._sys_version_parser +platform._syscmd_file(target,default='') [doc: Interface to the system's file command.] +platform._syscmd_uname(option,default='') [doc: Interface to the system's uname command.] +platform._syscmd_ver(??) [doc: Tries to figure out the OS version used and returns] +platform._uname_cache +platform._ver_output +platform._win32_getvalue(key,name,default='') [doc: Read a value for name from the registry key.] +platform.architecture(executable=sys.executable,bits='',linkage='') [doc: Queries the given executable (defaults to the Python interpreter] +platform.dist(??) [doc: Tries to determine the name of the Linux OS distribution name.] +platform.java_ver(release='',vendor='',vminfo=('','',''),osinfo=('','','')) [doc: Version interface for Jython.] +platform.libc_ver(??) [doc: Tries to determine the libc version that the file executable] +platform.mac_ver(release='',versioninfo=('','',''),machine='') [doc: Get MacOS version information and return it as tuple (release,] +platform.machine() [doc: Returns the machine type, e.g. 'i386'] +platform.node() [doc: Returns the computer's network name (which may not be fully] +platform.os:: [module] +platform.platform(aliased=0, terse=0) [doc: Returns a single string identifying the underlying platform] +platform.popen(cmd, mode='r', bufsize=None) [doc: Portable popen() interface.] +platform.processor() [doc: Returns the (true) processor name, e.g. 'amdk6'] +platform.python_build() [doc: Returns a tuple (buildno, builddate) stating the Python] +platform.python_compiler() [doc: Returns a string identifying the compiler used for compiling] +platform.python_version() [doc: Returns the Python version as string 'major.minor.patchlevel'] +platform.python_version_tuple() [doc: Returns the Python version as tuple (major, minor, patchlevel)] +platform.re:: [module] +platform.release() [doc: Returns the system's release, e.g. '2.2.0' or 'NT'] +platform.string:: [module] +platform.sys:: [module] +platform.system() [doc: Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'.] +platform.system_alias(system,release,version) [doc: Returns (system,release,version) aliased to common] +platform.uname() [doc: Fairly portable uname interface. Returns a tuple] +platform.version() [doc: Returns the system's release version, e.g. '#3 on degas'] +platform.win32_ver(release='',version='',csd='',ptype='') [doc: Get additional version information from the Windows Registry] +popen2.MAXFD +popen2.__all__ +popen2.__builtins__ +popen2.__doc__ +popen2.__file__ +popen2.__name__ +popen2._active +popen2._cleanup() +popen2._test() +popen2.os:: [module] +popen2.popen2(??) [doc: Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may] +popen2.popen3(??) [doc: Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may] +popen2.popen4(??) [doc: Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may] +popen2.sys:: [module] +poplib.CR +poplib.CRLF +poplib.LF +poplib.POP3(host, port = POP3_PORT) [doc: This class supports both the minimal and optional command sets.] +poplib.POP3_PORT +poplib.POP3_SSL(host, port = POP3_SSL_PORT, keyfile = None, certfile = None) [doc: POP3 client class over SSL connection] +poplib.POP3_SSL_PORT +poplib.__all__ +poplib.__builtins__ +poplib.__doc__ +poplib.__file__ +poplib.__name__ +poplib.error_proto +poplib.re:: [module] +poplib.socket:: [module] +posixfile.SEEK_CUR +posixfile.SEEK_END +posixfile.SEEK_SET +posixfile.__builtins__ +posixfile.__doc__ +posixfile.__file__ +posixfile.__name__ +posixfile._posixfile_(??) [doc: File wrapper class that provides extra POSIX file routines.] +posixfile.fileopen(file) [doc: Public routine to get a posixfile object from a Python file object.] +posixfile.open(name, mode='r', bufsize=-1) [doc: Public routine to open a file as a posixfile object.] +posixpath.__all__ +posixpath.__builtins__ +posixpath.__doc__ +posixpath.__file__ +posixpath.__name__ +posixpath._resolve_link(path) [doc: Internal helper function. Takes a path and follows symlinks] +posixpath._varprog +posixpath.abspath(path) [doc: Return an absolute path.] +posixpath.altsep +posixpath.basename(p) [doc: Returns the final component of a pathname] +posixpath.commonprefix(m) [doc: Given a list of pathnames, returns the longest common leading component] +posixpath.curdir +posixpath.defpath +posixpath.devnull +posixpath.dirname(p) [doc: Returns the directory component of a pathname] +posixpath.exists(path) [doc: Test whether a path exists. Returns False for broken symbolic links] +posixpath.expanduser(path) [doc: Expand ~ and ~user constructions. If user or $HOME is unknown,] +posixpath.expandvars(path) [doc: Expand shell variables of form $var and ${var}. Unknown variables] +posixpath.extsep +posixpath.getatime(filename) [doc: Return the last access time of a file, reported by os.stat().] +posixpath.getctime(filename) [doc: Return the metadata change time of a file, reported by os.stat().] +posixpath.getmtime(filename) [doc: Return the last modification time of a file, reported by os.stat().] +posixpath.getsize(filename) [doc: Return the size of a file, reported by os.stat().] +posixpath.isabs(s) [doc: Test whether a path is absolute] +posixpath.isdir(path) [doc: Test whether a path is a directory] +posixpath.isfile(path) [doc: Test whether a path is a regular file] +posixpath.islink(path) [doc: Test whether a path is a symbolic link] +posixpath.ismount(path) [doc: Test whether a path is a mount point] +posixpath.join(a, *p) [doc: Join two or more pathname components, inserting '/' as needed] +posixpath.lexists(path) [doc: Test whether a path exists. Returns True for broken symbolic links] +posixpath.normcase(s) [doc: Normalize case of pathname. Has no effect under Posix] +posixpath.normpath(path) [doc: Normalize path, eliminating double slashes, etc.] +posixpath.os:: [module] +posixpath.pardir +posixpath.pathsep +posixpath.realpath(filename) [doc: Return the canonical path of the specified filename, eliminating any] +posixpath.samefile(f1, f2) [doc: Test whether two pathnames reference the same actual file] +posixpath.sameopenfile(fp1, fp2) [doc: Test whether two open file objects reference the same file] +posixpath.samestat(s1, s2) [doc: Test whether two stat buffers reference the same file] +posixpath.sep +posixpath.split(p) [doc: Split a pathname. Returns tuple "(head, tail)" where "tail" is] +posixpath.splitdrive(p) [doc: Split a pathname into drive and path. On Posix, drive is always] +posixpath.splitext(p) [doc: Split the extension from a pathname. Extension is everything from the] +posixpath.stat:: [module] +posixpath.supports_unicode_filenames +posixpath.walk(top, func, arg) [doc: Directory tree walk with callback function.] +pow(x, y[, z]) -> number +pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None) +pprint._StringIO +pprint.__all__ +pprint.__builtins__ +pprint.__doc__ +pprint.__file__ +pprint.__name__ +pprint._commajoin +pprint._id +pprint._len +pprint._perfcheck(object=None) +pprint._recursion(object) +pprint._safe_repr(object, context, maxlevels, level) +pprint._sys:: [module] +pprint._type +pprint.isreadable(object) [doc: Determine if saferepr(object) is readable by eval().] +pprint.isrecursive(object) [doc: Determine if object requires a recursive representation.] +pprint.pformat(object, indent=1, width=80, depth=None) [doc: Format a Python object into a pretty-printed representation.] +pprint.pprint(object, stream=None, indent=1, width=80, depth=None) [doc: Pretty-print a Python object to a stream [default is sys.stdout].] +pprint.saferepr(object) [doc: Version of repr() which can handle recursive data structures.] +print +profile.OptionParser(??) [doc: ] +profile.Profile(timer=None, bias=None) [doc: Profiler class.] +profile.Stats(*args) +profile.__all__ +profile.__builtins__ +profile.__doc__ +profile.__file__ +profile.__name__ +profile._get_time_times(??) [function] +profile._has_res +profile.help() +profile.main() +profile.marshal:: [module] +profile.os:: [module] +profile.run(statement, filename=None, sort=-1) [doc: Run statement under profiler optionally saving results in filename] +profile.runctx(statement, globals, locals, filename=None) [doc: Run statement under profiler, supplying your own globals and locals,] +profile.sys:: [module] +profile.time:: [module] +property(fget=None, fset=None, fdel=None, doc=None) -> property attribute +pstats.Stats(*args, **kwds) [doc: This class is used for creating reports from data generated by the] +pstats.TupleComp(comp_select_list) [doc: This class provides a generic function for comparing any two tuples.] +pstats.__all__ +pstats.__builtins__ +pstats.__doc__ +pstats.__file__ +pstats.__name__ +pstats.add_callers(target, source) [doc: Combine two caller lists in a single list.] +pstats.add_func_stats(target, source) [doc: Add together all the stats for two profile entries.] +pstats.count_calls(callers) [doc: Sum the caller statistics to get total number of calls received.] +pstats.f8(x) +pstats.func_get_function_name(func) +pstats.func_std_string(func_name) +pstats.func_strip_path(func_name) +pstats.marshal:: [module] +pstats.os:: [module] +pstats.re:: [module] +pstats.sys:: [module] +pstats.time:: [module] +py_compile.MAGIC +py_compile.PyCompileError +py_compile.__all__ +py_compile.__builtin__:: [module] +py_compile.__builtins__ +py_compile.__doc__ +py_compile.__file__ +py_compile.__name__ +py_compile.compile(file, cfile=None, dfile=None, doraise=False) [doc: Byte-compile one Python source file to Python bytecode.] +py_compile.imp:: [module] +py_compile.main(args=None) [doc: Compile several source files.] +py_compile.marshal:: [module] +py_compile.os:: [module] +py_compile.set_creator_type(??) [function] +py_compile.sys:: [module] +py_compile.traceback:: [module] +py_compile.wr_long(f, x) [doc: Internal; write a 32-bit int to a file in little-endian order.] +pyclbr.Class(module, name, super, file, lineno) [doc: Class to represent a Python class.] +pyclbr.DEDENT +pyclbr.Function(module, name, file, lineno) [doc: Class to represent a top-level Python function] +pyclbr.NAME +pyclbr.NEWLINE +pyclbr.OP +pyclbr.__all__ +pyclbr.__builtins__ +pyclbr.__doc__ +pyclbr.__file__ +pyclbr.__name__ +pyclbr._getname(g) +pyclbr._getnamelist(g) +pyclbr._main() +pyclbr._modules +pyclbr._readmodule(module, path, inpackage=None) [doc: Do the hard work for readmodule[_ex].] +pyclbr.imp:: [module] +pyclbr.itemgetter(item, ...) --> itemgetter object +pyclbr.readmodule(module, path=[]) [doc: Backwards compatible interface.] +pyclbr.readmodule_ex(module, path=[]) [doc: Read a module file and return a dictionary of classes.] +pyclbr.sys:: [module] +pyclbr.tokenize:: [module] +pydoc.Doc(??) [class] +pydoc.ErrorDuringImport +pydoc.HTMLDoc(??) [doc: Formatter class for HTML documentation.] +pydoc.HTMLRepr(??) [doc: Class for safely making an HTML representation of a Python object.] +pydoc.Helper(input, output) +pydoc.ModuleScanner(??) [doc: An interruptible scanner that searches module synopses.] +pydoc.Repr(??) [class] +pydoc.Scanner(roots, children, descendp) [doc: A generic tree iterator.] +pydoc.TextDoc(??) [doc: Formatter class for text documentation.] +pydoc.TextRepr(??) [doc: Class for safely making a text representation of a Python object.] +pydoc.__author__ +pydoc.__builtin__:: [module] +pydoc.__builtins__ +pydoc.__credits__ +pydoc.__date__ +pydoc.__doc__ +pydoc.__file__ +pydoc.__name__ +pydoc.__version__ +pydoc._is_some_method(obj) +pydoc._re_stripid +pydoc._split_list(s, predicate) [doc: Split sequence s via predicate, and return pair ([true], [false]).] +pydoc.allmethods(cl) +pydoc.apropos(key) [doc: Print all the one-line module summaries that contain a substring.] +pydoc.classify_class_attrs(object) [doc: Wrap inspect.classify_class_attrs, with fixup for data descriptors.] +pydoc.classname(object, modname) [doc: Get a class name and qualify it with a module name if necessary.] +pydoc.cli() [doc: Command-line interface (looks at sys.argv to decide what to do).] +pydoc.cram(text, maxlen) [doc: Omit part of a string if needed to make it fit in a maximum length.] +pydoc.deque(iterable) --> deque object +pydoc.describe(thing) [doc: Produce a short description of the given thing.] +pydoc.doc(thing, title='Python Library Documentation: %s', forceload=0) [doc: Display text documentation, given an object or a path to an object.] +pydoc.expandtabs(s [,tabsize]) -> string +pydoc.find(s, sub [,start [,end]]) -> in +pydoc.getdoc(object) [doc: Get the doc string or comments for an object.] +pydoc.getpager() [doc: Decide what method to use for paging through text.] +pydoc.gui() [doc: Graphical interface (starts web server and pops up a control window).] +pydoc.help +pydoc.html +pydoc.imp:: [module] +pydoc.importfile(path) [doc: Import a Python source file or compiled file given its path.] +pydoc.inspect:: [module] +pydoc.isdata(object) [doc: Check if an object is of a type that probably means it's data.] +pydoc.ispackage(path) [doc: Guess whether a path refers to a package directory.] +pydoc.ispath(x) +pydoc.join(list [,sep]) -> string +pydoc.locate(path, forceload=0) [doc: Locate an object by name or dotted path, importing as necessary.] +pydoc.lower(s) -> string +pydoc.os:: [module] +pydoc.pager(text) [doc: The first time this is called, determine what kind of pager to use.] +pydoc.pathdirs() [doc: Convert sys.path into a list of absolute, existing, unique paths.] +pydoc.pipepager(text, cmd) [doc: Page through text by feeding it to another program.] +pydoc.pkgutil:: [module] +pydoc.plain(text) [doc: Remove boldface formatting from text.] +pydoc.plainpager(text) [doc: Simply print unformatted text. This is the ultimate fallback.] +pydoc.re:: [module] +pydoc.replace(text, *pairs) [doc: Do a series of global replacements on a string.] +pydoc.resolve(thing, forceload=0) [doc: Given an object or a path to an object, get the object and its name.] +pydoc.rfind(s, sub [,start [,end]]) -> int +pydoc.rstrip(s [,chars]) -> string +pydoc.safeimport(path, forceload=0, cache={}) [doc: Import a module; handle errors; return None if the module isn't found.] +pydoc.serve(port, callback=None, completer=None) +pydoc.source_synopsis(file) +pydoc.split(s [,sep [,maxsplit]]) -> list of strings +pydoc.splitdoc(doc) [doc: Split a doc string into a synopsis line (if any) and the rest.] +pydoc.strip(s [,chars]) -> string +pydoc.stripid(text) [doc: Remove the hexadecimal id from a Python object representation.] +pydoc.synopsis(filename, cache={}) [doc: Get the one-line summary out of a module file.] +pydoc.sys:: [module] +pydoc.tempfilepager(text, cmd) [doc: Page through text by invoking a program on a temporary file.] +pydoc.text +pydoc.ttypager(text) [doc: Page through text on a text terminal.] +pydoc.types:: [module] +pydoc.visiblename(name, all=None) [doc: Decide whether to show documentation on a variable.] +pydoc.writedoc(thing, forceload=0) [doc: Write HTML documentation to a file in the current directory.] +pydoc.writedocs(dir, pkgpath='', done=None) [doc: Write out HTML documentation for all modules in a directory tree.] +pyexpat.EXPAT_VERSION +pyexpat.ErrorString(errno) -> string +pyexpat.ExpatError +pyexpat.ParserCreate([encoding[, namespace_separator]]) -> parser +pyexpat.XMLParserType +pyexpat.XML_PARAM_ENTITY_PARSING_ALWAYS +pyexpat.XML_PARAM_ENTITY_PARSING_NEVER +pyexpat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE +pyexpat.__doc__ +pyexpat.__file__ +pyexpat.__name__ +pyexpat.__version__ +pyexpat.error +pyexpat.errors:: [module] +pyexpat.expat_CAPI +pyexpat.features +pyexpat.model:: [module] +pyexpat.native_encoding +pyexpat.version_info +quit +quopri.EMPTYSTRING +quopri.ESCAPE +quopri.HEX +quopri.MAXLINESIZE +quopri.__all__ +quopri.__builtins__ +quopri.__doc__ +quopri.__file__ +quopri.__name__ +quopri.a2b_qp +quopri.b2a_qp(data, quotetabs=0, istext=1, header=0) -> s; +quopri.decode(input, output, header = 0) [doc: Read 'input', apply quoted-printable decoding, and write to 'output'.] +quopri.decodestring(s, header = 0) +quopri.encode(input, output, quotetabs, header = 0) [doc: Read 'input', apply quoted-printable encoding, and write to 'output'.] +quopri.encodestring(s, quotetabs = 0, header = 0) +quopri.ishex(c) [doc: Return true if the character 'c' is a hexadecimal digit.] +quopri.main() +quopri.needsquoting(c, quotetabs, header) [doc: Decide whether a particular character needs to be quoted.] +quopri.quote(c) [doc: Quote a single character.] +quopri.unhex(s) [doc: Get the integer value of a hexadecimal number.] +raise +random.BPF +random.LOG4 +random.NV_MAGICCONST +random.RECIP_BPF +random.Random +random.SG_MAGICCONST +random.SystemRandom +random.TWOPI +random.WichmannHill +random._BuiltinMethodType +random._MethodType +random.__all__ +random.__builtins__ +random.__doc__ +random.__file__ +random.__name__ +random._acos +random._ceil +random._cos +random._e +random._exp +random._hexlify +random._inst +random._log +random._pi +random._random:: [module] +random._sin +random._sqrt +random._test(N=2000) +random._test_generator(n, func, args) +random._urandom +random._warn(??) [doc: Issue a warning, or maybe ignore it or raise an exception.] +random.betavariate +random.choice +random.expovariate +random.gammavariate +random.gauss +random.getrandbits(k) -> x. Generates a long int with k random bits. +random.getstate +random.jumpahead(int) -> None. Create new state from existing state and integer. +random.lognormvariate +random.normalvariate +random.paretovariate +random.randint +random.random() -> x in the interval [0, 1). +random.randrange +random.sample +random.seed +random.setstate +random.shuffle +random.uniform +random.vonmisesvariate +random.weibullvariate +range([start,] stop[, step]) -> list of integers +raw_input([prompt]) -> string +re.DEBUG +re.DOTALL +re.I +re.IGNORECASE +re.L +re.LOCALE +re.M +re.MULTILINE +re.S +re.Scanner(lexicon, flags=0) +re.T +re.TEMPLATE +re.U +re.UNICODE +re.VERBOSE +re.X +re._MAXCACHE +re.__all__ +re.__builtins__ +re.__doc__ +re.__file__ +re.__name__ +re.__version__ +re._alphanum +re._cache +re._cache_repl +re._compile(*key) +re._compile_repl(*key) +re._expand(pattern, match, template) +re._pattern_type +re._pickle(p) +re._subx(pattern, template) +re.compile(pattern, flags=0) [doc: Compile a regular expression pattern, returning a pattern object.] +re.copy_reg:: [module] +re.error +re.escape(pattern) [doc: Escape all non-alphanumeric characters in pattern.] +re.findall(pattern, string, flags=0) [doc: Return a list of all non-overlapping matches in the string.] +re.finditer(??) [doc: Return an iterator over all non-overlapping matches in the] +re.match(pattern, string, flags=0) [doc: Try to apply the pattern at the start of the string, returning] +re.purge() [doc: Clear the regular expression cache] +re.search(pattern, string, flags=0) [doc: Scan through string looking for a match to the pattern, returning] +re.split(pattern, string, maxsplit=0) [doc: Split the source string by the occurrences of the pattern,] +re.sre_compile:: [module] +re.sre_parse:: [module] +re.sub(pattern, repl, string, count=0) [doc: Return the string obtained by replacing the leftmost] +re.subn(pattern, repl, string, count=0) [doc: Return a 2-tuple containing (new_string, number).] +re.sys:: [module] +re.template(pattern, flags=0) [doc: Compile a template pattern, returning a pattern object] +reduce(function, sequence[, initial]) -> value +reload(module) -> module +repr(object) -> string +repr.Repr(??) [class] +repr.__all__ +repr.__builtin__:: [module] +repr.__builtins__ +repr.__doc__ +repr.__file__ +repr.__name__ +repr._possibly_sorted(x) +repr.aRepr +repr.islice(iterable, [start,] stop [, step]) --> islice object +repr.repr +return +reversed(sequence) -> reverse iterator over values of the sequence +rexec.FileBase(??) [class] +rexec.FileDelegate(mod, name) +rexec.FileWrapper(f) +rexec.RExec(hooks = None, verbose = 0) [doc: Basic restricted execution framework.] +rexec.RHooks(*args) +rexec.RModuleImporter(??) [doc: A module importer that supports packages.] +rexec.RModuleLoader(??) [doc: Fancy module loader -- parses and execs the code itself.] +rexec.TEMPLATE +rexec.__all__ +rexec.__builtin__:: [module] +rexec.__builtins__ +rexec.__doc__ +rexec.__file__ +rexec.__name__ +rexec.ihooks:: [module] +rexec.imp:: [module] +rexec.os:: [module] +rexec.sys:: [module] +rexec.test() +rfc822.AddressList(field) [doc: An AddressList encapsulates a list of parsed RFC 2822 addresses.] +rfc822.AddrlistClass(field) [doc: Address parser class by Ben Escoto.] +rfc822.Message(fp, seekable = 1) [doc: Represents a single RFC 2822-compliant message.] +rfc822.__all__ +rfc822.__builtins__ +rfc822.__doc__ +rfc822.__file__ +rfc822.__name__ +rfc822._blanklines +rfc822._daynames +rfc822._monthnames +rfc822._timezones +rfc822.dump_address_pair(pair) [doc: Dump a (name, address) pair in a canonicalized form.] +rfc822.formatdate(timeval=None) [doc: Returns time format preferred for Internet standards.] +rfc822.mktime_tz(data) [doc: Turn a 10-tuple as returned by parsedate_tz() into a UTC timestamp.] +rfc822.parseaddr(address) [doc: Parse an address into a (realname, mailaddr) tuple.] +rfc822.parsedate(data) [doc: Convert a time string to a time tuple.] +rfc822.parsedate_tz(data) [doc: Convert a date string to a time tuple.] +rfc822.quote(s) [doc: Add quotes around a string.] +rfc822.time:: [module] +rfc822.unquote(s) [doc: Remove quotes from a string.] +rgbimg.__doc__ +rgbimg.__name__ +rgbimg.error +rgbimg.longimagedata +rgbimg.longstoimage +rgbimg.sizeofimage +rgbimg.ttob +rlcompleter.Completer(namespace = None) +rlcompleter.__all__ +rlcompleter.__builtin__:: [module] +rlcompleter.__builtins__ +rlcompleter.__doc__ +rlcompleter.__file__ +rlcompleter.__main__:: [module] +rlcompleter.__name__ +rlcompleter.get_class_members(klass) +robotparser.Entry(??) [doc: An entry has one or more user-agents and zero or more rulelines] +robotparser.RobotFileParser(url='') [doc: This class provides a set of methods to read, parse and answer] +robotparser.RuleLine(path, allowance) [doc: A rule line is a single "Allow:" (allowance==True) or "Disallow:"] +robotparser.URLopener(*args) +robotparser.__all__ +robotparser.__builtins__ +robotparser.__doc__ +robotparser.__file__ +robotparser.__name__ +robotparser._check(a,b) +robotparser._debug(msg) +robotparser._test() +robotparser.debug +robotparser.urllib:: [module] +robotparser.urlparse:: [module] +round(number[, ndigits]) -> floating point number +runpy.__all__ +runpy.__builtins__ +runpy.__doc__ +runpy.__file__ +runpy.__name__ +runpy._get_filename(loader, mod_name) +runpy._run_code(??) [doc: Helper for _run_module_code] +runpy._run_module_code(??) [doc: Helper for run_module] +runpy.get_loader(??) [doc: Get a PEP 302 "loader" object for module_or_name] +runpy.imp:: [module] +runpy.run_module(??) [doc: Execute a module's code without importing it] +runpy.sys:: [module] +sched.__all__ +sched.__builtins__ +sched.__doc__ +sched.__file__ +sched.__name__ +sched.heapq:: [module] +sched.scheduler(timefunc, delayfunc) +select.__doc__ +select.__file__ +select.__name__ +select.error +select.select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist) +set(iterable) --> set object +setattr(object, name, value) +sets.BaseSet +sets.ImmutableSet +sets.Set +sets._TemporarilyImmutableSet +sets.__all__ +sets.__builtins__ +sets.__doc__ +sets.__file__ +sets.__name__ +sets.generators +sets.ifilter(function or None, sequence) --> ifilter object +sets.ifilterfalse(function or None, sequence) --> ifilterfalse object +sgmllib.SGMLParseError +sgmllib.SGMLParser(verbose=0) +sgmllib.TestSGMLParser(verbose=0) +sgmllib.__all__ +sgmllib.__builtins__ +sgmllib.__doc__ +sgmllib.__file__ +sgmllib.__name__ +sgmllib.attrfind +sgmllib.charref +sgmllib.endbracket +sgmllib.entityref +sgmllib.incomplete +sgmllib.interesting +sgmllib.markupbase:: [module] +sgmllib.piclose +sgmllib.re:: [module] +sgmllib.shorttag +sgmllib.shorttagopen +sgmllib.starttagopen +sgmllib.tagfind +sgmllib.test(args = None) +sha.__builtins__ +sha.__doc__ +sha.__file__ +sha.__name__ +sha.blocksize +sha.digest_size +sha.digestsize +sha.new +sha.sha +shelve.BsdDbShelf(dict, protocol=None, writeback=False) [doc: Shelf implementation using the "BSD" db interface.] +shelve.DbfilenameShelf(filename, flag='c', protocol=None, writeback=False) [doc: Shelf implementation using the "anydbm" generic dbm interface.] +shelve.Pickler(file, protocol=0) -- Create a pickler. +shelve.Shelf(dict, protocol=None, writeback=False) [doc: Base class for shelf implementations.] +shelve.StringIO([s]) -- Return a StringIO-like stream for reading or writing +shelve.Unpickler(file) -- Create an unpickler. +shelve.UserDict:: [module] +shelve.__all__ +shelve.__builtins__ +shelve.__doc__ +shelve.__file__ +shelve.__name__ +shelve.open(filename, flag='c', protocol=None, writeback=False) [doc: Open a persistent dictionary for reading and writing.] +shelve.warnings:: [module] +shlex.StringIO([s]) -- Return a StringIO-like stream for reading or writing +shlex.__all__ +shlex.__builtins__ +shlex.__doc__ +shlex.__file__ +shlex.__name__ +shlex.deque(iterable) --> deque object +shlex.os:: [module] +shlex.shlex(instream=None, infile=None, posix=False) [doc: A lexical analyzer class for simple shell-like syntaxes.] +shlex.split(s, comments=False) +shlex.sys:: [module] +shutil.Error +shutil.__all__ +shutil.__builtins__ +shutil.__doc__ +shutil.__file__ +shutil.__name__ +shutil._samefile(src, dst) +shutil.abspath(??) [doc: Return the absolute version of a path.] +shutil.copy(src, dst) [doc: Copy data and mode bits ("cp src dst").] +shutil.copy2(src, dst) [doc: Copy data and all stat info ("cp -p src dst").] +shutil.copyfile(src, dst) [doc: Copy data from src to dst] +shutil.copyfileobj(fsrc, fdst, length=16*1024) [doc: copy data from file-like object fsrc to file-like object fdst] +shutil.copymode(src, dst) [doc: Copy mode bits from src to dst] +shutil.copystat(src, dst) [doc: Copy all stat info (mode bits, atime and mtime) from src to dst] +shutil.copytree(src, dst, symlinks=False) [doc: Recursively copy a directory tree using copy2().] +shutil.destinsrc(src, dst) +shutil.move(src, dst) [doc: Recursively move a file or directory to another location.] +shutil.os:: [module] +shutil.rmtree(path, ignore_errors=False, onerror=None) [doc: Recursively delete a directory tree.] +shutil.stat:: [module] +shutil.sys:: [module] +signal.NSIG +signal.SIGABRT +signal.SIGBREAK +signal.SIGFPE +signal.SIGILL +signal.SIGINT +signal.SIGSEGV +signal.SIGTERM +signal.SIG_DFL +signal.SIG_IGN +signal.__doc__ +signal.__name__ +signal.default_int_handler(...) +signal.getsignal(sig) -> action +signal.signal(sig, action) -> action +sip.SIP_VERSION +sip.SIP_VERSION_STR +sip._C_API +sip.__doc__ +sip.__file__ +sip.__name__ +sip._unpickle_enum +sip._unpickle_type +sip.cast +sip.delete +sip.dump +sip.isdeleted +sip.setdeleted +sip.settracemask +sip.transfer +sip.transferback +sip.transferto +sip.unwrapinstance +sip.voidptr +sip.wrapinstance +sip.wrapper +sip.wrappertype +sipconfig.Configuration +sipconfig.Makefile(??) [doc: The base class for the different types of Makefiles.] +sipconfig.ModuleMakefile(??) [doc: The class that represents a Python extension module Makefile] +sipconfig.ParentMakefile(??) [doc: The class that represents a parent Makefile.] +sipconfig.ProgramMakefile(??) [doc: The class that represents a program Makefile.] +sipconfig.PythonModuleMakefile(??) [doc: The class that represents a Python module Makefile.] +sipconfig.SIPModuleMakefile(??) [doc: The class that represents a SIP generated module Makefile.] +sipconfig._Macro(name, value) [doc: A macro that can be manipulated as a list.] +sipconfig._UniqueList(value=None) [doc: A limited list that ensures all its elements are unique.] +sipconfig.__builtins__ +sipconfig.__doc__ +sipconfig.__file__ +sipconfig.__name__ +sipconfig._config_stack +sipconfig._default_macros +sipconfig._pkg_config +sipconfig._quote(s) [doc: Return a string surrounded by double quotes it if contains a space.] +sipconfig.create_config_module(module, template, content, macros=None) [doc: Create a configuration module by replacing "@" followed by] +sipconfig.create_content(dict, macros=None) [doc: Convert a dictionary to a string (typically to use as the content to a] +sipconfig.create_wrapper(script, wrapper, gui=0) [doc: Create a platform dependent executable wrapper around a Python script.] +sipconfig.error(msg) [doc: Display an error message and terminate.] +sipconfig.format(msg, leftmargin=0, rightmargin=78) [doc: Format a message by inserting line breaks at appropriate places.] +sipconfig.inform(msg) [doc: Display an information message.] +sipconfig.os:: [module] +sipconfig.parse_build_macros(filename, names, overrides=None, properties=None) [doc: Parse a qmake compatible file of build system macros and convert it to a] +sipconfig.re:: [module] +sipconfig.read_version(filename, description, numdefine=None, strdefine=None) [doc: Read the version information for a package from a file. The information] +sipconfig.stat:: [module] +sipconfig.string:: [module] +sipconfig.sys:: [module] +sipconfig.types:: [module] +sipconfig.version_to_sip_tag(version, tags, description) [doc: Convert a version number to a SIP tag.] +sipconfig.version_to_string(v) [doc: Convert a 3 part version number encoded as a hexadecimal value to a] +sipdistutils.__builtins__ +sipdistutils.__doc__ +sipdistutils.__file__ +sipdistutils.__name__ +sipdistutils.build_ext(??) [class] +sipdistutils.distutils:: [module] +sipdistutils.newer(??) [doc: Return true if 'source' exists and is more recently modified than] +sipdistutils.newer_group(??) [doc: Return true if 'target' is out-of-date with respect to any file] +sipdistutils.os:: [module] +sipdistutils.replace_suffix(path, new_suffix) +sipdistutils.sys:: [module] +site._Helper +site._Printer +site.__builtin__:: [module] +site.__builtins__ +site.__doc__ +site.__file__ +site.__name__ +site._init_pathinfo() [doc: Return a set containing all existing directory entries from sys.path] +site._test() +site.abs__file__() [doc: Set all module' __file__ attribute to an absolute path] +site.addbuilddir() [doc: Append ./build/lib. in case we're running in the build dir] +site.addpackage(sitedir, name, known_paths) [doc: Add a new path to known_paths by combining sitedir and 'name' or execute] +site.addsitedir(sitedir, known_paths=None) [doc: Add 'sitedir' argument to sys.path if missing and handle .pth files in] +site.addsitepackages(known_paths) [doc: Add site-packages (and possibly site-python) to sys.path] +site.aliasmbcs() [doc: On Windows, some default encodings are not provided by Python,] +site.execsitecustomize() [doc: Run custom site specific code, if available.] +site.main() +site.makepath(*paths) +site.os:: [module] +site.removeduppaths() [doc: Remove duplicate entries from sys.path along with making them] +site.setBEGINLIBPATH() [doc: The OS/2 EMX port has optional extension modules that do double duty] +site.setcopyright() [doc: Set 'copyright' and 'credits' in __builtin__] +site.setencoding() [doc: Set the string encoding used by the Unicode implementation. The] +site.sethelper() +site.setquit() [doc: Define new built-ins 'quit' and 'exit'.] +site.sys:: [module] +slice([start,] stop[, step]) +smtpd.COMMASPACE +smtpd.DEBUGSTREAM +smtpd.DebuggingServer(??) [class] +smtpd.Devnull(??) [class] +smtpd.EMPTYSTRING +smtpd.MailmanProxy(??) [class] +smtpd.NEWLINE +smtpd.Options(??) [class] +smtpd.PureProxy(??) [class] +smtpd.SMTPChannel(server, conn, addr) +smtpd.SMTPServer(localaddr, remoteaddr) +smtpd.__all__ +smtpd.__builtins__ +smtpd.__doc__ +smtpd.__file__ +smtpd.__name__ +smtpd.__version__ +smtpd.asynchat:: [module] +smtpd.asyncore:: [module] +smtpd.errno:: [module] +smtpd.getopt:: [module] +smtpd.os:: [module] +smtpd.parseargs() +smtpd.program +smtpd.socket:: [module] +smtpd.sys:: [module] +smtpd.time:: [module] +smtpd.usage(code, msg='') +smtplib.CRLF +smtplib.OLDSTYLE_AUTH +smtplib.SMTP(host = '', port = 0, local_hostname = None) [doc: This class manages a connection to an SMTP or ESMTP server.] +smtplib.SMTPAuthenticationError +smtplib.SMTPConnectError +smtplib.SMTPDataError +smtplib.SMTPException +smtplib.SMTPHeloError +smtplib.SMTPRecipientsRefused +smtplib.SMTPResponseException +smtplib.SMTPSenderRefused +smtplib.SMTPServerDisconnected +smtplib.SMTP_PORT +smtplib.SSLFakeFile(sslobj) [doc: A fake file like object that really wraps a SSLObject.] +smtplib.SSLFakeSocket(realsock, sslobj) [doc: A fake socket object that really wraps a SSLObject.] +smtplib.__all__ +smtplib.__builtins__ +smtplib.__doc__ +smtplib.__file__ +smtplib.__name__ +smtplib.base64:: [module] +smtplib.email:: [module] +smtplib.encode_base64(??) [doc: Encode a string with base64.] +smtplib.hmac:: [module] +smtplib.quoteaddr(addr) [doc: Quote a subset of the email addresses defined by RFC 821.] +smtplib.quotedata(data) [doc: Quote data for email.] +smtplib.re:: [module] +smtplib.socket:: [module] +smtplib.stderr +sndhdr.__all__ +sndhdr.__builtins__ +sndhdr.__doc__ +sndhdr.__file__ +sndhdr.__name__ +sndhdr.get_long_be(s) +sndhdr.get_long_le(s) +sndhdr.get_short_be(s) +sndhdr.get_short_le(s) +sndhdr.test() +sndhdr.test_8svx(h, f) +sndhdr.test_aifc(h, f) +sndhdr.test_au(h, f) +sndhdr.test_hcom(h, f) +sndhdr.test_sndr(h, f) +sndhdr.test_sndt(h, f) +sndhdr.test_voc(h, f) +sndhdr.test_wav(h, f) +sndhdr.testall(list, recursive, toplevel) +sndhdr.tests +sndhdr.what(filename) [doc: Guess the type of a sound file] +sndhdr.whathdr(filename) [doc: Recognize sound headers] +socket.AF_APPLETALK +socket.AF_DECnet +socket.AF_INET +socket.AF_INET6 +socket.AF_IPX +socket.AF_IRDA +socket.AF_SNA +socket.AF_UNSPEC +socket.AI_CANONNAME +socket.AI_NUMERICHOST +socket.AI_PASSIVE +socket.CAPI +socket.EAI_AGAIN +socket.EAI_BADFLAGS +socket.EAI_FAIL +socket.EAI_FAMILY +socket.EAI_MEMORY +socket.EAI_NODATA +socket.EAI_NONAME +socket.EAI_SERVICE +socket.EAI_SOCKTYPE +socket.EBADF +socket.INADDR_ALLHOSTS_GROUP +socket.INADDR_ANY +socket.INADDR_BROADCAST +socket.INADDR_LOOPBACK +socket.INADDR_MAX_LOCAL_GROUP +socket.INADDR_NONE +socket.INADDR_UNSPEC_GROUP +socket.IPPORT_RESERVED +socket.IPPORT_USERRESERVED +socket.IPPROTO_AH +socket.IPPROTO_DSTOPTS +socket.IPPROTO_ESP +socket.IPPROTO_FRAGMENT +socket.IPPROTO_GGP +socket.IPPROTO_HOPOPTS +socket.IPPROTO_ICMP +socket.IPPROTO_ICMPV6 +socket.IPPROTO_IDP +socket.IPPROTO_IGMP +socket.IPPROTO_IP +socket.IPPROTO_IPV4 +socket.IPPROTO_IPV6 +socket.IPPROTO_MAX +socket.IPPROTO_ND +socket.IPPROTO_NONE +socket.IPPROTO_PUP +socket.IPPROTO_RAW +socket.IPPROTO_ROUTING +socket.IPPROTO_TCP +socket.IPPROTO_UDP +socket.IPV6_HOPLIMIT +socket.IPV6_JOIN_GROUP +socket.IPV6_LEAVE_GROUP +socket.IPV6_MULTICAST_HOPS +socket.IPV6_MULTICAST_IF +socket.IPV6_MULTICAST_LOOP +socket.IPV6_PKTINFO +socket.IPV6_UNICAST_HOPS +socket.IP_ADD_MEMBERSHIP +socket.IP_DROP_MEMBERSHIP +socket.IP_HDRINCL +socket.IP_MULTICAST_IF +socket.IP_MULTICAST_LOOP +socket.IP_MULTICAST_TTL +socket.IP_OPTIONS +socket.IP_TOS +socket.IP_TTL +socket.MSG_DONTROUTE +socket.MSG_OOB +socket.MSG_PEEK +socket.NI_DGRAM +socket.NI_MAXHOST +socket.NI_MAXSERV +socket.NI_NAMEREQD +socket.NI_NOFQDN +socket.NI_NUMERICHOST +socket.NI_NUMERICSERV +socket.RAND_add(string, entropy) +socket.RAND_egd(path) -> bytes +socket.RAND_status() -> 0 or 1 +socket.SHUT_RD +socket.SHUT_RDWR +socket.SHUT_WR +socket.SOCK_DGRAM +socket.SOCK_RAW +socket.SOCK_RDM +socket.SOCK_SEQPACKET +socket.SOCK_STREAM +socket.SOL_IP +socket.SOL_SOCKET +socket.SOL_TCP +socket.SOL_UDP +socket.SOMAXCONN +socket.SO_ACCEPTCONN +socket.SO_BROADCAST +socket.SO_DEBUG +socket.SO_DONTROUTE +socket.SO_ERROR +socket.SO_EXCLUSIVEADDRUSE +socket.SO_KEEPALIVE +socket.SO_LINGER +socket.SO_OOBINLINE +socket.SO_RCVBUF +socket.SO_RCVLOWAT +socket.SO_RCVTIMEO +socket.SO_REUSEADDR +socket.SO_SNDBUF +socket.SO_SNDLOWAT +socket.SO_SNDTIMEO +socket.SO_TYPE +socket.SO_USELOOPBACK +socket.SSLType +socket.SSL_ERROR_EOF +socket.SSL_ERROR_INVALID_ERROR_CODE +socket.SSL_ERROR_SSL +socket.SSL_ERROR_SYSCALL +socket.SSL_ERROR_WANT_CONNECT +socket.SSL_ERROR_WANT_READ +socket.SSL_ERROR_WANT_WRITE +socket.SSL_ERROR_WANT_X509_LOOKUP +socket.SSL_ERROR_ZERO_RETURN +socket.SocketType +socket.TCP_NODELAY +socket.__all__ +socket.__builtins__ +socket.__doc__ +socket.__file__ +socket.__name__ +socket._closedsocket +socket._delegate_methods +socket._fileobject +socket._have_ssl +socket._realsocket +socket._realssl +socket._socket:: [module] +socket._socketmethods +socket._socketobject +socket._ssl:: [module] +socket.error +socket.errorTab +socket.gaierror +socket.getaddrinfo(host, port [, family, socktype, proto, flags]) +socket.getdefaulttimeout() -> timeout +socket.getfqdn(name='') [doc: Get fully qualified domain name from name.] +socket.gethostbyaddr(host) -> (name, aliaslist, addresslist) +socket.gethostbyname(host) -> address +socket.gethostbyname_ex(host) -> (name, aliaslist, addresslist) +socket.gethostname() -> string +socket.getnameinfo(sockaddr, flags) --> (host, port) +socket.getprotobyname(name) -> integer +socket.getservbyname(servicename[, protocolname]) -> integer +socket.getservbyport(port[, protocolname]) -> string +socket.has_ipv6 +socket.herror +socket.htonl(integer) -> integer +socket.htons(integer) -> integer +socket.inet_aton(string) -> packed 32-bit IP representation +socket.inet_ntoa(packed_ip) -> ip_address_string +socket.ntohl(integer) -> integer +socket.ntohs(integer) -> integer +socket.os:: [module] +socket.setdefaulttimeout(timeout) +socket.socket([family[, type[, proto]]]) -> socket object +socket.ssl(??) [function] +socket.sslerror +socket.sys:: [module] +socket.timeout +sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list +sqlite3.Binary +sqlite3.Cache +sqlite3.Connection +sqlite3.Cursor +sqlite3.DataError +sqlite3.DatabaseError +sqlite3.Date +sqlite3.DateFromTicks(??) [function] +sqlite3.Error +sqlite3.IntegrityError +sqlite3.InterfaceError +sqlite3.InternalError +sqlite3.NotSupportedError +sqlite3.OperationalError +sqlite3.OptimizedUnicode +sqlite3.PARSE_COLNAMES +sqlite3.PARSE_DECLTYPES +sqlite3.PrepareProtocol +sqlite3.ProgrammingError +sqlite3.Row +sqlite3.SQLITE_ALTER_TABLE +sqlite3.SQLITE_ANALYZE +sqlite3.SQLITE_ATTACH +sqlite3.SQLITE_CREATE_INDEX +sqlite3.SQLITE_CREATE_TABLE +sqlite3.SQLITE_CREATE_TEMP_INDEX +sqlite3.SQLITE_CREATE_TEMP_TABLE +sqlite3.SQLITE_CREATE_TEMP_TRIGGER +sqlite3.SQLITE_CREATE_TEMP_VIEW +sqlite3.SQLITE_CREATE_TRIGGER +sqlite3.SQLITE_CREATE_VIEW +sqlite3.SQLITE_DELETE +sqlite3.SQLITE_DENY +sqlite3.SQLITE_DETACH +sqlite3.SQLITE_DROP_INDEX +sqlite3.SQLITE_DROP_TABLE +sqlite3.SQLITE_DROP_TEMP_INDEX +sqlite3.SQLITE_DROP_TEMP_TABLE +sqlite3.SQLITE_DROP_TEMP_TRIGGER +sqlite3.SQLITE_DROP_TEMP_VIEW +sqlite3.SQLITE_DROP_TRIGGER +sqlite3.SQLITE_DROP_VIEW +sqlite3.SQLITE_IGNORE +sqlite3.SQLITE_INSERT +sqlite3.SQLITE_OK +sqlite3.SQLITE_PRAGMA +sqlite3.SQLITE_READ +sqlite3.SQLITE_REINDEX +sqlite3.SQLITE_SELECT +sqlite3.SQLITE_TRANSACTION +sqlite3.SQLITE_UPDATE +sqlite3.Statement +sqlite3.Time +sqlite3.TimeFromTicks(??) [function] +sqlite3.Timestamp +sqlite3.TimestampFromTicks(??) [function] +sqlite3.Warning +sqlite3.__builtins__ +sqlite3.__doc__ +sqlite3.__file__ +sqlite3.__name__ +sqlite3.__path__ +sqlite3.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. +sqlite3.adapters +sqlite3.apilevel +sqlite3.complete_statement +sqlite3.connect +sqlite3.converters +sqlite3.datetime:: [module] +sqlite3.dbapi2.Binary +sqlite3.dbapi2.Cache +sqlite3.dbapi2.Connection +sqlite3.dbapi2.Cursor +sqlite3.dbapi2.DataError +sqlite3.dbapi2.DatabaseError +sqlite3.dbapi2.Date +sqlite3.dbapi2.DateFromTicks(ticks) +sqlite3.dbapi2.Error +sqlite3.dbapi2.IntegrityError +sqlite3.dbapi2.InterfaceError +sqlite3.dbapi2.InternalError +sqlite3.dbapi2.NotSupportedError +sqlite3.dbapi2.OperationalError +sqlite3.dbapi2.OptimizedUnicode +sqlite3.dbapi2.PARSE_COLNAMES +sqlite3.dbapi2.PARSE_DECLTYPES +sqlite3.dbapi2.PrepareProtocol +sqlite3.dbapi2.ProgrammingError +sqlite3.dbapi2.Row +sqlite3.dbapi2.SQLITE_ALTER_TABLE +sqlite3.dbapi2.SQLITE_ANALYZE +sqlite3.dbapi2.SQLITE_ATTACH +sqlite3.dbapi2.SQLITE_CREATE_INDEX +sqlite3.dbapi2.SQLITE_CREATE_TABLE +sqlite3.dbapi2.SQLITE_CREATE_TEMP_INDEX +sqlite3.dbapi2.SQLITE_CREATE_TEMP_TABLE +sqlite3.dbapi2.SQLITE_CREATE_TEMP_TRIGGER +sqlite3.dbapi2.SQLITE_CREATE_TEMP_VIEW +sqlite3.dbapi2.SQLITE_CREATE_TRIGGER +sqlite3.dbapi2.SQLITE_CREATE_VIEW +sqlite3.dbapi2.SQLITE_DELETE +sqlite3.dbapi2.SQLITE_DENY +sqlite3.dbapi2.SQLITE_DETACH +sqlite3.dbapi2.SQLITE_DROP_INDEX +sqlite3.dbapi2.SQLITE_DROP_TABLE +sqlite3.dbapi2.SQLITE_DROP_TEMP_INDEX +sqlite3.dbapi2.SQLITE_DROP_TEMP_TABLE +sqlite3.dbapi2.SQLITE_DROP_TEMP_TRIGGER +sqlite3.dbapi2.SQLITE_DROP_TEMP_VIEW +sqlite3.dbapi2.SQLITE_DROP_TRIGGER +sqlite3.dbapi2.SQLITE_DROP_VIEW +sqlite3.dbapi2.SQLITE_IGNORE +sqlite3.dbapi2.SQLITE_INSERT +sqlite3.dbapi2.SQLITE_OK +sqlite3.dbapi2.SQLITE_PRAGMA +sqlite3.dbapi2.SQLITE_READ +sqlite3.dbapi2.SQLITE_REINDEX +sqlite3.dbapi2.SQLITE_SELECT +sqlite3.dbapi2.SQLITE_TRANSACTION +sqlite3.dbapi2.SQLITE_UPDATE +sqlite3.dbapi2.Statement +sqlite3.dbapi2.Time +sqlite3.dbapi2.TimeFromTicks(ticks) +sqlite3.dbapi2.Timestamp +sqlite3.dbapi2.TimestampFromTicks(ticks) +sqlite3.dbapi2.Warning +sqlite3.dbapi2.__builtins__ +sqlite3.dbapi2.__doc__ +sqlite3.dbapi2.__file__ +sqlite3.dbapi2.__name__ +sqlite3.dbapi2.adapt(obj, protocol, alternate) -> adapt obj to given protocol. Non-standard. +sqlite3.dbapi2.adapters +sqlite3.dbapi2.apilevel +sqlite3.dbapi2.complete_statement +sqlite3.dbapi2.connect +sqlite3.dbapi2.converters +sqlite3.dbapi2.datetime:: [module] +sqlite3.dbapi2.enable_callback_tracebacks +sqlite3.dbapi2.enable_shared_cache +sqlite3.dbapi2.paramstyle +sqlite3.dbapi2.register_adapter +sqlite3.dbapi2.register_converter +sqlite3.dbapi2.sqlite_version +sqlite3.dbapi2.sqlite_version_info +sqlite3.dbapi2.threadsafety +sqlite3.dbapi2.time:: [module] +sqlite3.dbapi2.version +sqlite3.dbapi2.version_info +sqlite3.dbapi2.x +sqlite3.dbapi2:: [module] +sqlite3.enable_callback_tracebacks +sqlite3.enable_shared_cache +sqlite3.paramstyle +sqlite3.register_adapter +sqlite3.register_converter +sqlite3.sqlite_version +sqlite3.sqlite_version_info +sqlite3.threadsafety +sqlite3.time:: [module] +sqlite3.version +sqlite3.version_info +sqlite3.x +sre.DOTALL +sre.I +sre.IGNORECASE +sre.L +sre.LOCALE +sre.M +sre.MULTILINE +sre.S +sre.U +sre.UNICODE +sre.VERBOSE +sre.X +sre.__all__ +sre.__builtins__ +sre.__doc__ +sre.__file__ +sre.__name__ +sre._compile(??) [function] +sre.compile(??) [doc: Compile a regular expression pattern, returning a pattern object.] +sre.error +sre.escape(??) [doc: Escape all non-alphanumeric characters in pattern.] +sre.findall(??) [doc: Return a list of all non-overlapping matches in the string.] +sre.finditer(??) [doc: Return an iterator over all non-overlapping matches in the] +sre.match(??) [doc: Try to apply the pattern at the start of the string, returning] +sre.purge(??) [doc: Clear the regular expression cache] +sre.search(??) [doc: Scan through string looking for a match to the pattern, returning] +sre.split(??) [doc: Split the source string by the occurrences of the pattern,] +sre.sub(??) [doc: Return the string obtained by replacing the leftmost] +sre.subn(??) [doc: Return a 2-tuple containing (new_string, number).] +sre.template(??) [doc: Compile a template pattern, returning a pattern object] +sre.warnings:: [module] +sre_compile.ANY +sre_compile.ANY_ALL +sre_compile.ASSERT +sre_compile.ASSERT_NOT +sre_compile.AT +sre_compile.ATCODES +sre_compile.AT_BEGINNING +sre_compile.AT_BEGINNING_LINE +sre_compile.AT_BEGINNING_STRING +sre_compile.AT_BOUNDARY +sre_compile.AT_END +sre_compile.AT_END_LINE +sre_compile.AT_END_STRING +sre_compile.AT_LOCALE +sre_compile.AT_LOC_BOUNDARY +sre_compile.AT_LOC_NON_BOUNDARY +sre_compile.AT_MULTILINE +sre_compile.AT_NON_BOUNDARY +sre_compile.AT_UNICODE +sre_compile.AT_UNI_BOUNDARY +sre_compile.AT_UNI_NON_BOUNDARY +sre_compile.BIGCHARSET +sre_compile.BRANCH +sre_compile.CALL +sre_compile.CATEGORY +sre_compile.CATEGORY_DIGIT +sre_compile.CATEGORY_LINEBREAK +sre_compile.CATEGORY_LOC_NOT_WORD +sre_compile.CATEGORY_LOC_WORD +sre_compile.CATEGORY_NOT_DIGIT +sre_compile.CATEGORY_NOT_LINEBREAK +sre_compile.CATEGORY_NOT_SPACE +sre_compile.CATEGORY_NOT_WORD +sre_compile.CATEGORY_SPACE +sre_compile.CATEGORY_UNI_DIGIT +sre_compile.CATEGORY_UNI_LINEBREAK +sre_compile.CATEGORY_UNI_NOT_DIGIT +sre_compile.CATEGORY_UNI_NOT_LINEBREAK +sre_compile.CATEGORY_UNI_NOT_SPACE +sre_compile.CATEGORY_UNI_NOT_WORD +sre_compile.CATEGORY_UNI_SPACE +sre_compile.CATEGORY_UNI_WORD +sre_compile.CATEGORY_WORD +sre_compile.CHARSET +sre_compile.CHCODES +sre_compile.CH_LOCALE +sre_compile.CH_UNICODE +sre_compile.FAILURE +sre_compile.GROUPREF +sre_compile.GROUPREF_EXISTS +sre_compile.GROUPREF_IGNORE +sre_compile.IN +sre_compile.INFO +sre_compile.IN_IGNORE +sre_compile.JUMP +sre_compile.LITERAL +sre_compile.LITERAL_IGNORE +sre_compile.MAGIC +sre_compile.MARK +sre_compile.MAXCODE +sre_compile.MAXREPEAT +sre_compile.MAX_REPEAT +sre_compile.MAX_UNTIL +sre_compile.MIN_REPEAT +sre_compile.MIN_REPEAT_ONE +sre_compile.MIN_UNTIL +sre_compile.NEGATE +sre_compile.NOT_LITERAL +sre_compile.NOT_LITERAL_IGNORE +sre_compile.OPCODES +sre_compile.OP_IGNORE +sre_compile.RANGE +sre_compile.REPEAT +sre_compile.REPEAT_ONE +sre_compile.SRE_FLAG_DEBUG +sre_compile.SRE_FLAG_DOTALL +sre_compile.SRE_FLAG_IGNORECASE +sre_compile.SRE_FLAG_LOCALE +sre_compile.SRE_FLAG_MULTILINE +sre_compile.SRE_FLAG_TEMPLATE +sre_compile.SRE_FLAG_UNICODE +sre_compile.SRE_FLAG_VERBOSE +sre_compile.SRE_INFO_CHARSET +sre_compile.SRE_INFO_LITERAL +sre_compile.SRE_INFO_PREFIX +sre_compile.STRING_TYPES +sre_compile.SUBPATTERN +sre_compile.SUCCESS +sre_compile._ASSERT_CODES +sre_compile._LITERAL_CODES +sre_compile._REPEATING_CODES +sre_compile._SUCCESS_CODES +sre_compile.__builtins__ +sre_compile.__doc__ +sre_compile.__file__ +sre_compile.__name__ +sre_compile._code(p, flags) +sre_compile._compile(code, pattern, flags) +sre_compile._compile_charset(charset, flags, code, fixup=None) +sre_compile._compile_info(code, pattern, flags) +sre_compile._identityfunction(x) +sre_compile._mk_bitmap(bits) +sre_compile._optimize_charset(charset, fixup) +sre_compile._optimize_unicode(charset, fixup) +sre_compile._simple(av) +sre_compile._sre:: [module] +sre_compile.compile(p, flags=0) +sre_compile.error +sre_compile.isstring(obj) +sre_compile.makedict(??) [function] +sre_compile.set(seq) +sre_compile.sys:: [module] +sre_constants.ANY +sre_constants.ANY_ALL +sre_constants.ASSERT +sre_constants.ASSERT_NOT +sre_constants.AT +sre_constants.ATCODES +sre_constants.AT_BEGINNING +sre_constants.AT_BEGINNING_LINE +sre_constants.AT_BEGINNING_STRING +sre_constants.AT_BOUNDARY +sre_constants.AT_END +sre_constants.AT_END_LINE +sre_constants.AT_END_STRING +sre_constants.AT_LOCALE +sre_constants.AT_LOC_BOUNDARY +sre_constants.AT_LOC_NON_BOUNDARY +sre_constants.AT_MULTILINE +sre_constants.AT_NON_BOUNDARY +sre_constants.AT_UNICODE +sre_constants.AT_UNI_BOUNDARY +sre_constants.AT_UNI_NON_BOUNDARY +sre_constants.BIGCHARSET +sre_constants.BRANCH +sre_constants.CALL +sre_constants.CATEGORY +sre_constants.CATEGORY_DIGIT +sre_constants.CATEGORY_LINEBREAK +sre_constants.CATEGORY_LOC_NOT_WORD +sre_constants.CATEGORY_LOC_WORD +sre_constants.CATEGORY_NOT_DIGIT +sre_constants.CATEGORY_NOT_LINEBREAK +sre_constants.CATEGORY_NOT_SPACE +sre_constants.CATEGORY_NOT_WORD +sre_constants.CATEGORY_SPACE +sre_constants.CATEGORY_UNI_DIGIT +sre_constants.CATEGORY_UNI_LINEBREAK +sre_constants.CATEGORY_UNI_NOT_DIGIT +sre_constants.CATEGORY_UNI_NOT_LINEBREAK +sre_constants.CATEGORY_UNI_NOT_SPACE +sre_constants.CATEGORY_UNI_NOT_WORD +sre_constants.CATEGORY_UNI_SPACE +sre_constants.CATEGORY_UNI_WORD +sre_constants.CATEGORY_WORD +sre_constants.CHARSET +sre_constants.CHCODES +sre_constants.CH_LOCALE +sre_constants.CH_UNICODE +sre_constants.FAILURE +sre_constants.GROUPREF +sre_constants.GROUPREF_EXISTS +sre_constants.GROUPREF_IGNORE +sre_constants.IN +sre_constants.INFO +sre_constants.IN_IGNORE +sre_constants.JUMP +sre_constants.LITERAL +sre_constants.LITERAL_IGNORE +sre_constants.MAGIC +sre_constants.MARK +sre_constants.MAXREPEAT +sre_constants.MAX_REPEAT +sre_constants.MAX_UNTIL +sre_constants.MIN_REPEAT +sre_constants.MIN_REPEAT_ONE +sre_constants.MIN_UNTIL +sre_constants.NEGATE +sre_constants.NOT_LITERAL +sre_constants.NOT_LITERAL_IGNORE +sre_constants.OPCODES +sre_constants.OP_IGNORE +sre_constants.RANGE +sre_constants.REPEAT +sre_constants.REPEAT_ONE +sre_constants.SRE_FLAG_DEBUG +sre_constants.SRE_FLAG_DOTALL +sre_constants.SRE_FLAG_IGNORECASE +sre_constants.SRE_FLAG_LOCALE +sre_constants.SRE_FLAG_MULTILINE +sre_constants.SRE_FLAG_TEMPLATE +sre_constants.SRE_FLAG_UNICODE +sre_constants.SRE_FLAG_VERBOSE +sre_constants.SRE_INFO_CHARSET +sre_constants.SRE_INFO_LITERAL +sre_constants.SRE_INFO_PREFIX +sre_constants.SUBPATTERN +sre_constants.SUCCESS +sre_constants.__builtins__ +sre_constants.__doc__ +sre_constants.__file__ +sre_constants.__name__ +sre_constants.error +sre_constants.makedict(list) +sre_parse.ANY +sre_parse.ANY_ALL +sre_parse.ASSERT +sre_parse.ASSERT_NOT +sre_parse.AT +sre_parse.ATCODES +sre_parse.AT_BEGINNING +sre_parse.AT_BEGINNING_LINE +sre_parse.AT_BEGINNING_STRING +sre_parse.AT_BOUNDARY +sre_parse.AT_END +sre_parse.AT_END_LINE +sre_parse.AT_END_STRING +sre_parse.AT_LOCALE +sre_parse.AT_LOC_BOUNDARY +sre_parse.AT_LOC_NON_BOUNDARY +sre_parse.AT_MULTILINE +sre_parse.AT_NON_BOUNDARY +sre_parse.AT_UNICODE +sre_parse.AT_UNI_BOUNDARY +sre_parse.AT_UNI_NON_BOUNDARY +sre_parse.BIGCHARSET +sre_parse.BRANCH +sre_parse.CALL +sre_parse.CATEGORIES +sre_parse.CATEGORY +sre_parse.CATEGORY_DIGIT +sre_parse.CATEGORY_LINEBREAK +sre_parse.CATEGORY_LOC_NOT_WORD +sre_parse.CATEGORY_LOC_WORD +sre_parse.CATEGORY_NOT_DIGIT +sre_parse.CATEGORY_NOT_LINEBREAK +sre_parse.CATEGORY_NOT_SPACE +sre_parse.CATEGORY_NOT_WORD +sre_parse.CATEGORY_SPACE +sre_parse.CATEGORY_UNI_DIGIT +sre_parse.CATEGORY_UNI_LINEBREAK +sre_parse.CATEGORY_UNI_NOT_DIGIT +sre_parse.CATEGORY_UNI_NOT_LINEBREAK +sre_parse.CATEGORY_UNI_NOT_SPACE +sre_parse.CATEGORY_UNI_NOT_WORD +sre_parse.CATEGORY_UNI_SPACE +sre_parse.CATEGORY_UNI_WORD +sre_parse.CATEGORY_WORD +sre_parse.CHARSET +sre_parse.CHCODES +sre_parse.CH_LOCALE +sre_parse.CH_UNICODE +sre_parse.DIGITS +sre_parse.ESCAPES +sre_parse.FAILURE +sre_parse.FLAGS +sre_parse.GROUPREF +sre_parse.GROUPREF_EXISTS +sre_parse.GROUPREF_IGNORE +sre_parse.HEXDIGITS +sre_parse.IN +sre_parse.INFO +sre_parse.IN_IGNORE +sre_parse.JUMP +sre_parse.LITERAL +sre_parse.LITERAL_IGNORE +sre_parse.MAGIC +sre_parse.MARK +sre_parse.MAXREPEAT +sre_parse.MAX_REPEAT +sre_parse.MAX_UNTIL +sre_parse.MIN_REPEAT +sre_parse.MIN_REPEAT_ONE +sre_parse.MIN_UNTIL +sre_parse.NEGATE +sre_parse.NOT_LITERAL +sre_parse.NOT_LITERAL_IGNORE +sre_parse.OCTDIGITS +sre_parse.OPCODES +sre_parse.OP_IGNORE +sre_parse.Pattern(??) [class] +sre_parse.RANGE +sre_parse.REPEAT +sre_parse.REPEAT_CHARS +sre_parse.REPEAT_ONE +sre_parse.SPECIAL_CHARS +sre_parse.SRE_FLAG_DEBUG +sre_parse.SRE_FLAG_DOTALL +sre_parse.SRE_FLAG_IGNORECASE +sre_parse.SRE_FLAG_LOCALE +sre_parse.SRE_FLAG_MULTILINE +sre_parse.SRE_FLAG_TEMPLATE +sre_parse.SRE_FLAG_UNICODE +sre_parse.SRE_FLAG_VERBOSE +sre_parse.SRE_INFO_CHARSET +sre_parse.SRE_INFO_LITERAL +sre_parse.SRE_INFO_PREFIX +sre_parse.SUBPATTERN +sre_parse.SUCCESS +sre_parse.SubPattern(pattern, data=None) +sre_parse.Tokenizer(string) +sre_parse.WHITESPACE +sre_parse._ASSERTCHARS +sre_parse._LOOKBEHINDASSERTCHARS +sre_parse._PATTERNENDERS +sre_parse._REPEATCODES +sre_parse.__builtins__ +sre_parse.__doc__ +sre_parse.__file__ +sre_parse.__name__ +sre_parse._class_escape(source, escape) +sre_parse._escape(source, escape, state) +sre_parse._parse(source, state) +sre_parse._parse_sub(source, state, nested=1) +sre_parse._parse_sub_cond(source, state, condgroup) +sre_parse.error +sre_parse.expand_template(template, match) +sre_parse.isdigit(char) +sre_parse.isident(char) +sre_parse.isname(name) +sre_parse.makedict(??) [function] +sre_parse.parse(str, flags=0, pattern=None) +sre_parse.parse_template(source, pattern) +sre_parse.set(seq) +sre_parse.sys:: [module] +stat.ST_ATIME +stat.ST_CTIME +stat.ST_DEV +stat.ST_GID +stat.ST_INO +stat.ST_MODE +stat.ST_MTIME +stat.ST_NLINK +stat.ST_SIZE +stat.ST_UID +stat.S_ENFMT +stat.S_IEXEC +stat.S_IFBLK +stat.S_IFCHR +stat.S_IFDIR +stat.S_IFIFO +stat.S_IFLNK +stat.S_IFMT(mode) +stat.S_IFREG +stat.S_IFSOCK +stat.S_IMODE(mode) +stat.S_IREAD +stat.S_IRGRP +stat.S_IROTH +stat.S_IRUSR +stat.S_IRWXG +stat.S_IRWXO +stat.S_IRWXU +stat.S_ISBLK(mode) +stat.S_ISCHR(mode) +stat.S_ISDIR(mode) +stat.S_ISFIFO(mode) +stat.S_ISGID +stat.S_ISLNK(mode) +stat.S_ISREG(mode) +stat.S_ISSOCK(mode) +stat.S_ISUID +stat.S_ISVTX +stat.S_IWGRP +stat.S_IWOTH +stat.S_IWRITE +stat.S_IWUSR +stat.S_IXGRP +stat.S_IXOTH +stat.S_IXUSR +stat.__builtins__ +stat.__doc__ +stat.__file__ +stat.__name__ +staticmethod(function) -> method +statvfs.F_BAVAIL +statvfs.F_BFREE +statvfs.F_BLOCKS +statvfs.F_BSIZE +statvfs.F_FAVAIL +statvfs.F_FFREE +statvfs.F_FILES +statvfs.F_FLAG +statvfs.F_FRSIZE +statvfs.F_NAMEMAX +statvfs.__builtins__ +statvfs.__doc__ +statvfs.__file__ +statvfs.__name__ +str(object) -> string +string.Template +string._TemplateMetaclass +string.__builtins__ +string.__doc__ +string.__file__ +string.__name__ +string._float +string._idmap +string._idmapL +string._int +string._long +string._multimap(primary, secondary) [doc: Helper class for combining multiple mappings.] +string._re:: [module] +string.ascii_letters +string.ascii_lowercase +string.ascii_uppercase +string.atof(s) -> float +string.atof_error +string.atoi(s [,base]) -> int +string.atoi_error +string.atol(s [,base]) -> long +string.atol_error +string.capitalize(s) -> string +string.capwords(s, [sep]) -> string +string.center(s, width[, fillchar]) -> string +string.count(s, sub[, start[,end]]) -> int +string.digits +string.expandtabs(s [,tabsize]) -> string +string.find(s, sub [,start [,end]]) -> in +string.hexdigits +string.index(s, sub [,start [,end]]) -> int +string.index_error +string.join(list [,sep]) -> string +string.joinfields(??) [doc: join(list [,sep]) -> string] +string.letters +string.ljust(s, width[, fillchar]) -> string +string.lower(s) -> string +string.lowercase +string.lstrip(s [,chars]) -> string +string.maketrans(frm, to) -> string +string.octdigits +string.printable +string.punctuation +string.replace (str, old, new[, maxsplit]) -> string +string.rfind(s, sub [,start [,end]]) -> int +string.rindex(s, sub [,start [,end]]) -> int +string.rjust(s, width[, fillchar]) -> string +string.rsplit(s [,sep [,maxsplit]]) -> list of strings +string.rstrip(s [,chars]) -> string +string.split(s [,sep [,maxsplit]]) -> list of strings +string.splitfields(??) [doc: split(s [,sep [,maxsplit]]) -> list of strings] +string.strip(s [,chars]) -> string +string.swapcase(s) -> string +string.translate(s,table [,deletions]) -> string +string.upper(s) -> string +string.uppercase +string.whitespace +string.zfill(x, width) -> string +stringold._StringType +stringold.__builtins__ +stringold.__doc__ +stringold.__file__ +stringold.__name__ +stringold._apply +stringold._float +stringold._idmap +stringold._idmapL +stringold._int +stringold._long +stringold.atof(s) -> float +stringold.atof_error +stringold.atoi(s [,base]) -> int +stringold.atoi_error +stringold.atol(s [,base]) -> long +stringold.atol_error +stringold.capitalize(s) -> string +stringold.capwords(s, [sep]) -> string +stringold.center(s, width) -> string +stringold.count(s, sub[, start[,end]]) -> int +stringold.digits +stringold.expandtabs(s [,tabsize]) -> string +stringold.find(s, sub [,start [,end]]) -> in +stringold.hexdigits +stringold.index(s, sub [,start [,end]]) -> int +stringold.index_error +stringold.join(list [,sep]) -> string +stringold.joinfields(??) [doc: join(list [,sep]) -> string] +stringold.letters +stringold.ljust(s, width) -> string +stringold.lower(s) -> string +stringold.lowercase +stringold.lstrip(s) -> string +stringold.maketrans(frm, to) -> string +stringold.octdigits +stringold.replace (str, old, new[, maxsplit]) -> string +stringold.rfind(s, sub [,start [,end]]) -> int +stringold.rindex(s, sub [,start [,end]]) -> int +stringold.rjust(s, width) -> string +stringold.rstrip(s) -> string +stringold.split(str [,sep [,maxsplit]]) -> list of strings +stringold.splitfields(??) [doc: split(str [,sep [,maxsplit]]) -> list of strings] +stringold.strip(s) -> string +stringold.swapcase(s) -> string +stringold.translate(s,table [,deletechars]) -> string +stringold.upper(s) -> string +stringold.uppercase +stringold.whitespace +stringold.zfill(x, width) -> string +stringprep.__builtins__ +stringprep.__doc__ +stringprep.__file__ +stringprep.__name__ +stringprep.b1_set +stringprep.b3_exceptions +stringprep.c22_specials +stringprep.c6_set +stringprep.c7_set +stringprep.c8_set +stringprep.c9_set +stringprep.in_table_a1(code) +stringprep.in_table_b1(code) +stringprep.in_table_c11(code) +stringprep.in_table_c11_c12(code) +stringprep.in_table_c12(code) +stringprep.in_table_c21(code) +stringprep.in_table_c21_c22(code) +stringprep.in_table_c22(code) +stringprep.in_table_c3(code) +stringprep.in_table_c4(code) +stringprep.in_table_c5(code) +stringprep.in_table_c6(code) +stringprep.in_table_c7(code) +stringprep.in_table_c8(code) +stringprep.in_table_c9(code) +stringprep.in_table_d1(code) +stringprep.in_table_d2(code) +stringprep.map_table_b2(a) +stringprep.map_table_b3(code) +stringprep.unicodedata +strop.__doc__ +strop.__name__ +strop.atof(s) -> float +strop.atoi(s [,base]) -> int +strop.atol(s [,base]) -> long +strop.capitalize(s) -> string +strop.count(s, sub[, start[, end]]) -> int +strop.expandtabs(string, [tabsize]) -> string +strop.find(s, sub [,start [,end]]) -> in +strop.join(list [,sep]) -> string +strop.joinfields +strop.lower(s) -> string +strop.lowercase +strop.lstrip(s) -> string +strop.maketrans(frm, to) -> string +strop.replace (str, old, new[, maxsplit]) -> string +strop.rfind(s, sub [,start [,end]]) -> int +strop.rstrip(s) -> string +strop.split(s [,sep [,maxsplit]]) -> list of strings +strop.splitfields +strop.strip(s) -> string +strop.swapcase(s) -> string +strop.translate(s,table [,deletechars]) -> string +strop.upper(s) -> string +strop.uppercase +strop.whitespace +struct.Struct +struct._MAXCACHE +struct.__builtins__ +struct.__doc__ +struct.__file__ +struct.__name__ +struct.__version__ +struct._cache +struct._compile(fmt) +struct.calcsize(fmt) [doc: ] +struct.error +struct.pack(fmt, *args) [doc: ] +struct.pack_into(fmt, buf, offset, *args) [doc: ] +struct.unpack(fmt, s) [doc: ] +struct.unpack_from(fmt, buf, offset=0) [doc: ] +subprocess.CREATE_NEW_CONSOLE +subprocess.CalledProcessError +subprocess.CreatePipe +subprocess.CreateProcess +subprocess.DUPLICATE_SAME_ACCESS +subprocess.DuplicateHandle +subprocess.GetCurrentProcess +subprocess.GetExitCodeProcess +subprocess.GetModuleFileName +subprocess.GetStdHandle +subprocess.GetVersion +subprocess.INFINITE +subprocess.MAXFD +subprocess.PIPE +subprocess.Popen +subprocess.STARTF_USESHOWWINDOW +subprocess.STARTF_USESTDHANDLES +subprocess.STARTUPINFO(??) [class] +subprocess.STDOUT +subprocess.STD_ERROR_HANDLE +subprocess.STD_INPUT_HANDLE +subprocess.STD_OUTPUT_HANDLE +subprocess.SW_HIDE +subprocess.TerminateProcess +subprocess.WAIT_OBJECT_0 +subprocess.WaitForSingleObject +subprocess.__all__ +subprocess.__builtins__ +subprocess.__doc__ +subprocess.__file__ +subprocess.__name__ +subprocess._active +subprocess._cleanup() +subprocess._demo_posix() +subprocess._demo_windows() +subprocess.call(*popenargs, **kwargs) [doc: Run command with arguments. Wait for command to complete, then] +subprocess.check_call(*popenargs, **kwargs) [doc: Run command with arguments. Wait for command to complete. If] +subprocess.gc:: [module] +subprocess.list2cmdline(seq) [doc: ] +subprocess.msvcrt:: [module] +subprocess.mswindows +subprocess.os:: [module] +subprocess.pywintypes(??) [class] +subprocess.sys:: [module] +subprocess.threading:: [module] +subprocess.traceback:: [module] +subprocess.types:: [module] +sum(sequence, start=0) -> value +sunau.AUDIO_FILE_ENCODING_ADPCM_G721 +sunau.AUDIO_FILE_ENCODING_ADPCM_G722 +sunau.AUDIO_FILE_ENCODING_ADPCM_G723_3 +sunau.AUDIO_FILE_ENCODING_ADPCM_G723_5 +sunau.AUDIO_FILE_ENCODING_ALAW_8 +sunau.AUDIO_FILE_ENCODING_DOUBLE +sunau.AUDIO_FILE_ENCODING_FLOAT +sunau.AUDIO_FILE_ENCODING_LINEAR_16 +sunau.AUDIO_FILE_ENCODING_LINEAR_24 +sunau.AUDIO_FILE_ENCODING_LINEAR_32 +sunau.AUDIO_FILE_ENCODING_LINEAR_8 +sunau.AUDIO_FILE_ENCODING_MULAW_8 +sunau.AUDIO_FILE_MAGIC +sunau.AUDIO_UNKNOWN_SIZE +sunau.Au_read(f) +sunau.Au_write(f) +sunau.Error +sunau.__builtins__ +sunau.__doc__ +sunau.__file__ +sunau.__name__ +sunau._read_u32(file) +sunau._simple_encodings +sunau._write_u32(file, x) +sunau.open(f, mode=None) +sunau.openfp(??) [function] +sunaudio.MAGIC +sunaudio.__builtins__ +sunaudio.__doc__ +sunaudio.__file__ +sunaudio.__name__ +sunaudio.error +sunaudio.get_long_be(s) [doc: Convert a 4-char value to integer.] +sunaudio.gethdr(fp) [doc: Read a sound header from an open file.] +sunaudio.printhdr(file) [doc: Read and print the sound header of a named file.] +super(type) -> unbound super object +symbol.__builtins__ +symbol.__doc__ +symbol.__file__ +symbol.__name__ +symbol._name +symbol._value +symbol.and_expr +symbol.and_test +symbol.arglist +symbol.argument +symbol.arith_expr +symbol.assert_stmt +symbol.atom +symbol.augassign +symbol.break_stmt +symbol.classdef +symbol.comp_op +symbol.comparison +symbol.compound_stmt +symbol.continue_stmt +symbol.decorator +symbol.decorators +symbol.del_stmt +symbol.dictmaker +symbol.dotted_as_name +symbol.dotted_as_names +symbol.dotted_name +symbol.encoding_decl +symbol.eval_input +symbol.except_clause +symbol.exec_stmt +symbol.expr +symbol.expr_stmt +symbol.exprlist +symbol.factor +symbol.file_input +symbol.flow_stmt +symbol.for_stmt +symbol.fpdef +symbol.fplist +symbol.funcdef +symbol.gen_for +symbol.gen_if +symbol.gen_iter +symbol.global_stmt +symbol.if_stmt +symbol.import_as_name +symbol.import_as_names +symbol.import_from +symbol.import_name +symbol.import_stmt +symbol.lambdef +symbol.list_for +symbol.list_if +symbol.list_iter +symbol.listmaker +symbol.main() +symbol.not_test +symbol.old_lambdef +symbol.old_test +symbol.or_test +symbol.parameters +symbol.pass_stmt +symbol.power +symbol.print_stmt +symbol.raise_stmt +symbol.return_stmt +symbol.shift_expr +symbol.simple_stmt +symbol.single_input +symbol.sliceop +symbol.small_stmt +symbol.stmt +symbol.subscript +symbol.subscriptlist +symbol.suite +symbol.sym_name +symbol.term +symbol.test +symbol.testlist +symbol.testlist1 +symbol.testlist_gexp +symbol.testlist_safe +symbol.trailer +symbol.try_stmt +symbol.varargslist +symbol.while_stmt +symbol.with_stmt +symbol.with_var +symbol.xor_expr +symbol.yield_expr +symbol.yield_stmt +symtable.Class(??) [class] +symtable.DEF_BOUND +symtable.DEF_DOUBLESTAR +symtable.DEF_FREE +symtable.DEF_FREE_CLASS +symtable.DEF_FREE_GLOBAL +symtable.DEF_GLOBAL +symtable.DEF_IMPORT +symtable.DEF_INTUPLE +symtable.DEF_LOCAL +symtable.DEF_PARAM +symtable.DEF_STAR +symtable.Function(??) [class] +symtable.OPT_BARE_EXEC +symtable.OPT_EXEC +symtable.OPT_IMPORT_STAR +symtable.Symbol(name, flags, namespaces=None) +symtable.SymbolTable(raw_table, filename) +symtable.SymbolTableFactory(??) [class] +symtable.USE +symtable.__all__ +symtable.__builtins__ +symtable.__doc__ +symtable.__file__ +symtable.__name__ +symtable._symtable:: [module] +symtable.is_free(flags) +symtable.newSymbolTable +symtable.symtable(code, filename, compile_type) +symtable.weakref:: [module] +sys.__displayhook__ +sys.__doc__ +sys.__excepthook__ +sys.__name__ +sys.__stderr__ +sys.__stdin__ +sys.__stdout__ +sys._current_frames() -> dictionary +sys._getframe([depth]) -> frameobject +sys.api_version +sys.argv +sys.builtin_module_names +sys.byteorder +sys.call_tracing(func, args) -> object +sys.callstats() -> tuple of integers +sys.copyright +sys.displayhook(object) -> None +sys.dllhandle +sys.exc_clear() -> None +sys.exc_info() -> (type, value, traceback) +sys.exc_type +sys.excepthook(exctype, value, traceback) -> None +sys.exec_prefix +sys.executable +sys.exit([status]) +sys.getcheckinterval() -> current check interval; see setcheckinterval(). +sys.getdefaultencoding() -> string +sys.getfilesystemencoding() -> string +sys.getrecursionlimit() +sys.getrefcount(object) -> integer +sys.getwindowsversion() +sys.hexversion +sys.maxint +sys.maxunicode +sys.meta_path +sys.modules +sys.path +sys.path_hooks +sys.path_importer_cache +sys.platform +sys.prefix +sys.setcheckinterval(n) +sys.setprofile(function) +sys.setrecursionlimit(n) +sys.settrace(function) +sys.stderr +sys.stdin +sys.stdout +sys.subversion +sys.version +sys.version_info +sys.warnoptions +sys.winver +tabnanny.NannyNag +tabnanny.Whitespace(ws) +tabnanny.__all__ +tabnanny.__builtins__ +tabnanny.__doc__ +tabnanny.__file__ +tabnanny.__name__ +tabnanny.__version__ +tabnanny.check(file_or_dir) +tabnanny.errprint(*args) +tabnanny.filename_only +tabnanny.format_witnesses(w) +tabnanny.getopt:: [module] +tabnanny.main() +tabnanny.os:: [module] +tabnanny.process_tokens(tokens) +tabnanny.sys:: [module] +tabnanny.tokenize:: [module] +tabnanny.verbose +tarfile.AREGTYPE +tarfile.BLKTYPE +tarfile.BLOCKSIZE +tarfile.CHRTYPE +tarfile.CONTTYPE +tarfile.CompressionError +tarfile.DIRTYPE +tarfile.ExFileObject +tarfile.ExtractError +tarfile.FIFOTYPE +tarfile.GNUTYPE_LONGLINK +tarfile.GNUTYPE_LONGNAME +tarfile.GNUTYPE_SPARSE +tarfile.LENGTH_LINK +tarfile.LENGTH_NAME +tarfile.LENGTH_PREFIX +tarfile.LNKTYPE +tarfile.MAGIC +tarfile.MAXSIZE_MEMBER +tarfile.NUL +tarfile.RECORDSIZE +tarfile.REGTYPE +tarfile.REGULAR_TYPES +tarfile.ReadError +tarfile.SUPPORTED_TYPES +tarfile.SYMTYPE +tarfile.S_IFBLK +tarfile.S_IFCHR +tarfile.S_IFDIR +tarfile.S_IFIFO +tarfile.S_IFLNK +tarfile.S_IFREG +tarfile.StreamError +tarfile.TAR_GZIPPED +tarfile.TAR_PLAIN +tarfile.TGEXEC +tarfile.TGREAD +tarfile.TGWRITE +tarfile.TOEXEC +tarfile.TOREAD +tarfile.TOWRITE +tarfile.TSGID +tarfile.TSUID +tarfile.TSVTX +tarfile.TUEXEC +tarfile.TUREAD +tarfile.TUWRITE +tarfile.TarError +tarfile.TarFile +tarfile.TarFileCompat(file, mode="r", compression=TAR_PLAIN) [doc: TarFile class compatible with standard module zipfile's] +tarfile.TarInfo +tarfile.TarIter(tarfile) [doc: Iterator Class.] +tarfile.VERSION +tarfile._BZ2Proxy +tarfile._FileInFile +tarfile._LowLevelFile(name, mode) [doc: Low-level file object. Supports reading and writing.] +tarfile._Stream(name, mode, comptype, fileobj, bufsize) [doc: Class that serves as an adapter between TarFile and] +tarfile._StreamProxy +tarfile.__all__ +tarfile.__author__ +tarfile.__builtins__ +tarfile.__credits__ +tarfile.__cvsid__ +tarfile.__date__ +tarfile.__doc__ +tarfile.__file__ +tarfile.__name__ +tarfile.__version__ +tarfile._data(offset, size, realpos) [doc: Represent a data section in a sparse file.] +tarfile._hole(??) [doc: Represent a hole section in a sparse file.] +tarfile._ringbuffer +tarfile._section(offset, size) [doc: Base class for _data and _hole.] +tarfile.calc_chksums(buf) [doc: Calculate the checksum for a member's header by summing up all] +tarfile.copy:: [module] +tarfile.copyfileobj(src, dst, length=None) [doc: Copy length bytes from fileobj src to fileobj dst.] +tarfile.errno:: [module] +tarfile.filemode(mode) [doc: Convert a file's mode to a string of the form] +tarfile.filemode_table +tarfile.grp +tarfile.is_tarfile(name) [doc: Return True if name points to a tar archive that we] +tarfile.itn(n, digits=8, posix=False) [doc: Convert a python number to a number field.] +tarfile.normpath(??) [doc: /] +tarfile.nti(s) [doc: Convert a number field to a python number.] +tarfile.nts(s) [doc: Convert a null-terminated string field to a python string.] +tarfile.open +tarfile.os:: [module] +tarfile.pwd +tarfile.shutil:: [module] +tarfile.stat:: [module] +tarfile.stn(s, length) [doc: Convert a python string to a null-terminated string buffer.] +tarfile.struct:: [module] +tarfile.sys:: [module] +tarfile.time:: [module] +tarfile.version +telnetlib.AO +telnetlib.AUTHENTICATION +telnetlib.AYT +telnetlib.BINARY +telnetlib.BM +telnetlib.BRK +telnetlib.CHARSET +telnetlib.COM_PORT_OPTION +telnetlib.DEBUGLEVEL +telnetlib.DET +telnetlib.DM +telnetlib.DO +telnetlib.DONT +telnetlib.EC +telnetlib.ECHO +telnetlib.EL +telnetlib.ENCRYPT +telnetlib.EOR +telnetlib.EXOPL +telnetlib.FORWARD_X +telnetlib.GA +telnetlib.IAC +telnetlib.IP +telnetlib.KERMIT +telnetlib.LFLOW +telnetlib.LINEMODE +telnetlib.LOGOUT +telnetlib.NAMS +telnetlib.NAOCRD +telnetlib.NAOFFD +telnetlib.NAOHTD +telnetlib.NAOHTS +telnetlib.NAOL +telnetlib.NAOLFD +telnetlib.NAOP +telnetlib.NAOVTD +telnetlib.NAOVTS +telnetlib.NAWS +telnetlib.NEW_ENVIRON +telnetlib.NOOPT +telnetlib.NOP +telnetlib.OLD_ENVIRON +telnetlib.OUTMRK +telnetlib.PRAGMA_HEARTBEAT +telnetlib.PRAGMA_LOGON +telnetlib.RCP +telnetlib.RCTE +telnetlib.RSP +telnetlib.SB +telnetlib.SE +telnetlib.SEND_URL +telnetlib.SGA +telnetlib.SNDLOC +telnetlib.SSPI_LOGON +telnetlib.STATUS +telnetlib.SUPDUP +telnetlib.SUPDUPOUTPUT +telnetlib.SUPPRESS_LOCAL_ECHO +telnetlib.TELNET_PORT +telnetlib.TLS +telnetlib.TM +telnetlib.TN3270E +telnetlib.TSPEED +telnetlib.TTYLOC +telnetlib.TTYPE +telnetlib.TUID +telnetlib.Telnet(host=None, port=0) [doc: Telnet interface class.] +telnetlib.VT3270REGIME +telnetlib.WILL +telnetlib.WONT +telnetlib.X3PAD +telnetlib.XASCII +telnetlib.XAUTH +telnetlib.XDISPLOC +telnetlib.__all__ +telnetlib.__builtins__ +telnetlib.__doc__ +telnetlib.__file__ +telnetlib.__name__ +telnetlib.select:: [module] +telnetlib.socket:: [module] +telnetlib.sys:: [module] +telnetlib.test() [doc: Test program for telnetlib.] +telnetlib.theNULL +tempfile.NamedTemporaryFile(??) [doc: Create and return a temporary file.] +tempfile.TMP_MAX +tempfile.TemporaryFile(??) [doc: Create and return a temporary file.] +tempfile._Random +tempfile._RandomNameSequence(??) [doc: An instance of _RandomNameSequence generates an endless] +tempfile._TemporaryFileWrapper(file, name) [doc: Temporary file wrapper] +tempfile.__all__ +tempfile.__builtins__ +tempfile.__doc__ +tempfile.__file__ +tempfile.__name__ +tempfile._allocate_lock +tempfile._bin_openflags +tempfile._candidate_tempdir_list() [doc: Generate a list of candidate temporary directories which] +tempfile._errno:: [module] +tempfile._exists(fn) +tempfile._get_candidate_names() [doc: Common setup sequence for all user-callable interfaces.] +tempfile._get_default_tempdir() [doc: Calculate the default directory to use for temporary files.] +tempfile._mkstemp_inner(dir, pre, suf, flags) [doc: Code common to mkstemp, TemporaryFile, and NamedTemporaryFile.] +tempfile._name_sequence +tempfile._once_lock +tempfile._os:: [module] +tempfile._set_cloexec(??) [function] +tempfile._stat +tempfile._text_openflags +tempfile._thread:: [module] +tempfile.gettempdir() [doc: Accessor for tempdir.tempdir.] +tempfile.gettempprefix() [doc: Accessor for tempdir.template.] +tempfile.mkdtemp([suffix, [prefix, [dir]]]) +tempfile.mkstemp([suffix, [prefix, [dir, [text]]]]) +tempfile.mktemp([suffix, [prefix, [dir]]]) +tempfile.tempdir +tempfile.template +textwrap.TextWrapper(??) [doc: ] +textwrap.__all__ +textwrap.__builtins__ +textwrap.__doc__ +textwrap.__file__ +textwrap.__name__ +textwrap.__revision__ +textwrap._leading_whitespace_re +textwrap._whitespace +textwrap._whitespace_only_re +textwrap.dedent(text) [doc: Remove any common leading whitespace from every line in `text`.] +textwrap.fill(text, width=70, **kwargs) [doc: Fill a single paragraph of text, returning a new string.] +textwrap.re:: [module] +textwrap.string:: [module] +textwrap.wrap(text, width=70, **kwargs) [doc: Wrap a single paragraph of text, returning a list of wrapped lines.] +this.__builtins__ +this.__doc__ +this.__file__ +this.__name__ +this.c +this.d +this.i +this.s +thread.LockType +thread.__doc__ +thread.__name__ +thread._local +thread.allocate +thread.allocate_lock() -> lock object +thread.error +thread.exit() +thread.exit_thread +thread.get_ident() -> integer +thread.interrupt_main() +thread.stack_size([size]) -> size +thread.start_new +thread.start_new_thread(function, args[, kwargs]) +threading.BoundedSemaphore(*args, **kwargs) +threading.Condition(*args, **kwargs) +threading.Event(*args, **kwargs) +threading.Lock +threading.RLock(*args, **kwargs) +threading.Semaphore(*args, **kwargs) +threading.Thread +threading.ThreadError +threading.Timer(*args, **kwargs) +threading._BoundedSemaphore +threading._Condition +threading._DummyThread +threading._Event +threading._MainThread +threading._RLock +threading._Semaphore +threading._Timer +threading._VERBOSE +threading._Verbose +threading.__all__ +threading.__builtins__ +threading.__doc__ +threading.__file__ +threading.__name__ +threading._active +threading._active_limbo_lock +threading._allocate_lock +threading._counter +threading._format_exc(??) [doc: Like print_exc() but return a string.] +threading._get_ident +threading._limbo +threading._newname(template="Thread-%d") +threading._pickSomeNonDaemonThread() +threading._profile_hook +threading._shutdown +threading._sleep +threading._start_new_thread +threading._sys:: [module] +threading._test() +threading._time +threading._trace_hook +threading.activeCount() +threading.currentThread() +threading.deque(iterable) --> deque object +threading.enumerate() +threading.local +threading.setprofile(func) +threading.settrace(func) +threading.stack_size([size]) -> size +time.__doc__ +time.__name__ +time.accept2dyear +time.altzone +time.asctime([tuple]) -> string +time.clock() -> floating point number +time.ctime(seconds) -> string +time.daylight +time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min, +time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst) +time.mktime(tuple) -> floating point number +time.sleep(seconds) +time.strftime(format[, tuple]) -> string +time.strptime(string, format) -> struct_time +time.struct_time +time.time() -> floating point number +time.timezone +time.tzname +timeit.Timer(stmt="pass", setup="pass", timer=default_timer) [doc: Class for timing execution speed of small code snippets.] +timeit.__all__ +timeit.__builtins__ +timeit.__doc__ +timeit.__file__ +timeit.__name__ +timeit.default_number +timeit.default_repeat +timeit.default_timer +timeit.dummy_src_name +timeit.gc:: [module] +timeit.itertools:: [module] +timeit.main(args=None) [doc: Main program, used when run as a script.] +timeit.reindent(src, indent) [doc: Helper to reindent a multi-line statement.] +timeit.sys:: [module] +timeit.template +timeit.time:: [module] +toaiff.__all__ +toaiff.__builtins__ +toaiff.__doc__ +toaiff.__file__ +toaiff.__name__ +toaiff._toaiff(filename, temps) +toaiff.error +toaiff.os:: [module] +toaiff.pipes:: [module] +toaiff.sndhdr:: [module] +toaiff.t +toaiff.table +toaiff.tempfile:: [module] +toaiff.toaiff(filename) +toaiff.uncompress +token.AMPER +token.AMPEREQUAL +token.AT +token.BACKQUOTE +token.CIRCUMFLEX +token.CIRCUMFLEXEQUAL +token.COLON +token.COMMA +token.DEDENT +token.DOT +token.DOUBLESLASH +token.DOUBLESLASHEQUAL +token.DOUBLESTAR +token.DOUBLESTAREQUAL +token.ENDMARKER +token.EQEQUAL +token.EQUAL +token.ERRORTOKEN +token.GREATER +token.GREATEREQUAL +token.INDENT +token.ISEOF(x) +token.ISNONTERMINAL(x) +token.ISTERMINAL(x) +token.LBRACE +token.LEFTSHIFT +token.LEFTSHIFTEQUAL +token.LESS +token.LESSEQUAL +token.LPAR +token.LSQB +token.MINEQUAL +token.MINUS +token.NAME +token.NEWLINE +token.NOTEQUAL +token.NT_OFFSET +token.NUMBER +token.N_TOKENS +token.OP +token.PERCENT +token.PERCENTEQUAL +token.PLUS +token.PLUSEQUAL +token.RBRACE +token.RIGHTSHIFT +token.RIGHTSHIFTEQUAL +token.RPAR +token.RSQB +token.SEMI +token.SLASH +token.SLASHEQUAL +token.STAR +token.STAREQUAL +token.STRING +token.TILDE +token.VBAR +token.VBAREQUAL +token.__builtins__ +token.__doc__ +token.__file__ +token.__name__ +token._name +token._value +token.main() +token.tok_name +tokenize.AMPER +tokenize.AMPEREQUAL +tokenize.AT +tokenize.BACKQUOTE +tokenize.Bracket +tokenize.CIRCUMFLEX +tokenize.CIRCUMFLEXEQUAL +tokenize.COLON +tokenize.COMMA +tokenize.COMMENT +tokenize.Comment +tokenize.ContStr +tokenize.DEDENT +tokenize.DOT +tokenize.DOUBLESLASH +tokenize.DOUBLESLASHEQUAL +tokenize.DOUBLESTAR +tokenize.DOUBLESTAREQUAL +tokenize.Decnumber +tokenize.Double +tokenize.Double3 +tokenize.ENDMARKER +tokenize.EQEQUAL +tokenize.EQUAL +tokenize.ERRORTOKEN +tokenize.Expfloat +tokenize.Exponent +tokenize.Floatnumber +tokenize.Funny +tokenize.GREATER +tokenize.GREATEREQUAL +tokenize.Hexnumber +tokenize.INDENT +tokenize.ISEOF(??) [function] +tokenize.ISNONTERMINAL(??) [function] +tokenize.ISTERMINAL(??) [function] +tokenize.Ignore +tokenize.Imagnumber +tokenize.Intnumber +tokenize.LBRACE +tokenize.LEFTSHIFT +tokenize.LEFTSHIFTEQUAL +tokenize.LESS +tokenize.LESSEQUAL +tokenize.LPAR +tokenize.LSQB +tokenize.MINEQUAL +tokenize.MINUS +tokenize.NAME +tokenize.NEWLINE +tokenize.NL +tokenize.NOTEQUAL +tokenize.NT_OFFSET +tokenize.NUMBER +tokenize.N_TOKENS +tokenize.Name +tokenize.Number +tokenize.OP +tokenize.Octnumber +tokenize.Operator +tokenize.PERCENT +tokenize.PERCENTEQUAL +tokenize.PLUS +tokenize.PLUSEQUAL +tokenize.PlainToken +tokenize.Pointfloat +tokenize.PseudoExtras +tokenize.PseudoToken +tokenize.RBRACE +tokenize.RIGHTSHIFT +tokenize.RIGHTSHIFTEQUAL +tokenize.RPAR +tokenize.RSQB +tokenize.SEMI +tokenize.SLASH +tokenize.SLASHEQUAL +tokenize.STAR +tokenize.STAREQUAL +tokenize.STRING +tokenize.Single +tokenize.Single3 +tokenize.Special +tokenize.StopTokenizing +tokenize.String +tokenize.TILDE +tokenize.Token +tokenize.TokenError +tokenize.Triple +tokenize.VBAR +tokenize.VBAREQUAL +tokenize.Whitespace +tokenize.__all__ +tokenize.__author__ +tokenize.__builtins__ +tokenize.__credits__ +tokenize.__doc__ +tokenize.__file__ +tokenize.__name__ +tokenize.any(*choices) +tokenize.double3prog +tokenize.endprogs +tokenize.generate_tokens(readline) [doc: ] +tokenize.group(*choices) +tokenize.main(??) [function] +tokenize.maybe(*choices) +tokenize.printtoken(type, token, (srow, scol), (erow, ecol), line) +tokenize.pseudoprog +tokenize.re:: [module] +tokenize.single3prog +tokenize.single_quoted +tokenize.string:: [module] +tokenize.t +tokenize.tabsize +tokenize.tok_name +tokenize.tokenize(readline, tokeneater=printtoken) [doc: ] +tokenize.tokenize_loop(readline, tokeneater) +tokenize.tokenprog +tokenize.triple_quoted +tokenize.untokenize(iterable) [doc: Transform tokens back into Python source code.] +trace.CoverageResults(??) [class] +trace.Ignore(modules = None, dirs = None) +trace.PRAGMA_NOCOVER +trace.Trace(??) [class] +trace.__builtins__ +trace.__doc__ +trace.__file__ +trace.__name__ +trace._err_exit(msg) +trace.cPickle:: [module] +trace.find_executable_linenos(filename) [doc: Return dict where keys are line numbers in the line number table.] +trace.find_lines(code, strs) [doc: Return lineno dict for all code objects reachable from code.] +trace.find_lines_from_code(code, strs) [doc: Return dict where keys are lines in the line number table.] +trace.find_strings(filename) [doc: Return a dict of possible docstring positions.] +trace.fullmodname(path) [doc: Return a plausible module name for the path.] +trace.gc:: [module] +trace.linecache:: [module] +trace.main(argv=None) +trace.modname(path) [doc: Return a plausible module name for the patch.] +trace.os:: [module] +trace.pickle:: [module] +trace.re:: [module] +trace.rx_blank +trace.sys:: [module] +trace.threading:: [module] +trace.token:: [module] +trace.tokenize:: [module] +trace.types:: [module] +trace.usage(outfile) +traceback.__all__ +traceback.__builtins__ +traceback.__doc__ +traceback.__file__ +traceback.__name__ +traceback._format_final_exc_line(etype, value) [doc: Return a list of a single line -- normal case for format_exception_only] +traceback._print(file, str='', terminator='\n') +traceback._some_str(value) +traceback.extract_stack(f=None, limit = None) [doc: Extract the raw traceback from the current stack frame.] +traceback.extract_tb(tb, limit = None) [doc: Return list of up to limit pre-processed entries from traceback.] +traceback.format_exc(limit=None) [doc: Like print_exc() but return a string.] +traceback.format_exception(etype, value, tb, limit = None) [doc: Format a stack trace and the exception information.] +traceback.format_exception_only(etype, value) [doc: Format the exception part of a traceback.] +traceback.format_list(extracted_list) [doc: Format a list of traceback entry tuples for printing.] +traceback.format_stack(f=None, limit=None) [doc: Shorthand for 'format_list(extract_stack(f, limit))'.] +traceback.format_tb(tb, limit = None) [doc: A shorthand for 'format_list(extract_stack(f, limit)).] +traceback.linecache:: [module] +traceback.print_exc(limit=None, file=None) [doc: Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'.] +traceback.print_exception(etype, value, tb, limit=None, file=None) [doc: Print exception up to 'limit' stack trace entries from 'tb' to 'file'.] +traceback.print_last(limit=None, file=None) [doc: This is a shorthand for 'print_exception(sys.last_type,] +traceback.print_list(extracted_list, file=None) [doc: Print the list of tuples as returned by extract_tb() or] +traceback.print_stack(f=None, limit=None, file=None) [doc: Print a stack trace from its invocation point.] +traceback.print_tb(tb, limit=None, file=None) [doc: Print up to 'limit' stack trace entries from the traceback 'tb'.] +traceback.sys:: [module] +traceback.tb_lineno(tb) [doc: Calculate correct line number of traceback given in tb.] +traceback.types:: [module] +try +tuple() -> an empty tuple +type(object) -> the object's type +types.BooleanType +types.BufferType +types.BuiltinFunctionType +types.BuiltinMethodType +types.ClassType +types.CodeType +types.ComplexType +types.DictProxyType +types.DictType +types.DictionaryType +types.EllipsisType +types.FileType +types.FloatType +types.FrameType +types.FunctionType +types.GeneratorType +types.GetSetDescriptorType +types.InstanceType +types.IntType +types.LambdaType +types.ListType +types.LongType +types.MemberDescriptorType +types.MethodType +types.ModuleType +types.NoneType +types.NotImplementedType +types.ObjectType +types.SliceType +types.StringType +types.StringTypes +types.TracebackType +types.TupleType +types.TypeType +types.UnboundMethodType +types.UnicodeType +types.XRangeType +types.__builtins__ +types.__doc__ +types.__file__ +types.__name__ +unichr(i) -> Unicode character +unicode(string [, encoding[, errors]]) -> object +unicodedata.UCD +unicodedata.__doc__ +unicodedata.__file__ +unicodedata.__name__ +unicodedata.bidirectional(unichr) +unicodedata.category(unichr) +unicodedata.combining(unichr) +unicodedata.decimal(unichr[, default]) +unicodedata.decomposition(unichr) +unicodedata.digit(unichr[, default]) +unicodedata.east_asian_width(unichr) +unicodedata.lookup(name) +unicodedata.mirrored(unichr) +unicodedata.name(unichr[, default]) +unicodedata.normalize(form, unistr) +unicodedata.numeric(unichr[, default]) +unicodedata.ucd_3_2_0 +unicodedata.ucnhash_CAPI +unicodedata.unidata_version +unittest.FunctionTestCase +unittest.TestCase +unittest.TestLoader +unittest.TestProgram +unittest.TestResult +unittest.TestSuite +unittest.TextTestRunner +unittest._TextTestResult +unittest._WritelnDecorator +unittest.__all__ +unittest.__author__ +unittest.__builtins__ +unittest.__doc__ +unittest.__email__ +unittest.__file__ +unittest.__metaclass__ +unittest.__name__ +unittest.__unittest +unittest.__version__ +unittest._makeLoader(prefix, sortUsing, suiteClass=None) +unittest._strclass(cls) +unittest.defaultTestLoader +unittest.findTestCases(module, prefix='test', sortUsing=cmp, suiteClass=TestSuite) +unittest.getTestCaseNames(testCaseClass, prefix, sortUsing=cmp) +unittest.main +unittest.makeSuite(testCaseClass, prefix='test', sortUsing=cmp, suiteClass=TestSuite) +unittest.os:: [module] +unittest.sys:: [module] +unittest.time:: [module] +unittest.traceback:: [module] +unittest.types:: [module] +urllib.ContentTooShortError +urllib.FancyURLopener(*args, **kwargs) [doc: Derived class with handlers for errors we can handle (perhaps).] +urllib.MAXFTPCACHE +urllib.URLopener(proxies=None, **x509) [doc: Class to open URLs.] +urllib.__all__ +urllib.__builtins__ +urllib.__doc__ +urllib.__file__ +urllib.__name__ +urllib.__version__ +urllib._ftperrors +urllib._hextochr +urllib._hostprog +urllib._is_unicode(??) [function] +urllib._localhost +urllib._noheaders +urllib._nportprog +urllib._passwdprog +urllib._portprog +urllib._queryprog +urllib._safemaps +urllib._tagprog +urllib._thishost +urllib._typeprog +urllib._urlopener +urllib._userprog +urllib._valueprog +urllib.addbase(fp) [doc: Base class for addinfo and addclosehook.] +urllib.addclosehook(fp, closehook, *hookargs) [doc: Class to add a close hook to an open file.] +urllib.addinfo(fp, headers) [doc: class to add an info() method to an open file.] +urllib.addinfourl(fp, headers, url) [doc: class to add info() and geturl() methods to an open file.] +urllib.always_safe +urllib.basejoin(??) [doc: Join a base URL and a possibly relative URL to form an absolute] +urllib.ftpcache +urllib.ftperrors() [doc: Return the set of errors raised by the FTP class.] +urllib.ftpwrapper(user, passwd, host, port, dirs) [doc: Class used by open_ftp() for cache of open FTP connections.] +urllib.getproxies(??) [doc: Return a dictionary of scheme -> proxy server URL mappings.] +urllib.getproxies_environment() [doc: Return a dictionary of scheme -> proxy server URL mappings.] +urllib.getproxies_registry(??) [doc: Return a dictionary of scheme -> proxy server URL mappings.] +urllib.localhost() [doc: Return the IP address of the magic hostname 'localhost'.] +urllib.main() +urllib.noheaders() [doc: Return an empty mimetools.Message object.] +urllib.os:: [module] +urllib.pathname2url(??) [doc: OS-specific conversion from a file system path to a relative URL] +urllib.proxy_bypass(??) [function] +urllib.quote('abc def') -> 'abc%20def' +urllib.quote_plus(s, safe = '') [doc: Quote the query fragment of a URL; replacing ' ' with '+'] +urllib.reporthook(blocknum, blocksize, totalsize) +urllib.socket:: [module] +urllib.splitattr('/path;attr1=value1;attr2=value2;...') -> +urllib.splitgophertype('/Xselector') --> 'X', 'selector'. +urllib.splithost('//host[:port]/path') --> 'host[:port]', '/path'. +urllib.splitnport(host, defport=-1) [doc: Split host and port, returning numeric port.] +urllib.splitpasswd('user:passwd') -> 'user', 'passwd'. +urllib.splitport('host:port') --> 'host', 'port'. +urllib.splitquery('/path?query') --> '/path', 'query'. +urllib.splittag('/path#tag') --> '/path', 'tag'. +urllib.splittype('type:opaquestring') --> 'type', 'opaquestring'. +urllib.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. +urllib.splitvalue('attr=value') --> 'attr', 'value'. +urllib.string:: [module] +urllib.sys:: [module] +urllib.test(args=[]) +urllib.test1() +urllib.thishost() [doc: Return the IP address of the current host.] +urllib.time:: [module] +urllib.toBytes(u"URL") --> 'URL'. +urllib.unquote('abc%20def') -> 'abc def'. +urllib.unquote_plus(s) [doc: unquote('%7e/abc+def') -> '~/abc def'] +urllib.unwrap('') --> 'type://host/path'. +urllib.url2pathname(??) [doc: OS-specific conversion from a relative URL of the 'file' scheme] +urllib.urlcleanup() +urllib.urlencode(query,doseq=0) [doc: Encode a sequence of two-element tuples or dictionary into a URL query string.] +urllib.urlopen(url [, data]) -> open file-like object +urllib.urlretrieve(url, filename=None, reporthook=None, data=None) +urllib2.AbstractBasicAuthHandler(password_mgr=None) +urllib2.AbstractDigestAuthHandler(passwd=None) +urllib2.AbstractHTTPHandler(debuglevel=0) +urllib2.BaseHandler(??) [class] +urllib2.CacheFTPHandler(??) [class] +urllib2.FTPHandler(??) [class] +urllib2.FileHandler(??) [class] +urllib2.GopherError +urllib2.GopherHandler(??) [class] +urllib2.HTTPBasicAuthHandler(??) [class] +urllib2.HTTPCookieProcessor(cookiejar=None) +urllib2.HTTPDefaultErrorHandler(??) [class] +urllib2.HTTPDigestAuthHandler(??) [doc: An authentication protocol defined by RFC 2069] +urllib2.HTTPError +urllib2.HTTPErrorProcessor(??) [doc: Process HTTP error responses.] +urllib2.HTTPHandler(??) [class] +urllib2.HTTPPasswordMgr(??) [class] +urllib2.HTTPPasswordMgrWithDefaultRealm(??) [class] +urllib2.HTTPRedirectHandler(??) [class] +urllib2.HTTPSHandler(??) [class] +urllib2.OpenerDirector(??) [class] +urllib2.ProxyBasicAuthHandler(??) [class] +urllib2.ProxyDigestAuthHandler(??) [class] +urllib2.ProxyHandler(proxies=None) +urllib2.Request(??) [class] +urllib2.StringIO([s]) -- Return a StringIO-like stream for reading or writing +urllib2.URLError +urllib2.UnknownHandler(??) [class] +urllib2.__builtins__ +urllib2.__doc__ +urllib2.__file__ +urllib2.__name__ +urllib2.__version__ +urllib2._cut_port_re +urllib2._opener +urllib2._parse_proxy(proxy) [doc: Return (scheme, user, password, host/port) given a URL or an authority.] +urllib2.addinfourl(??) [doc: class to add info() and geturl() methods to an open file.] +urllib2.base64:: [module] +urllib2.bisect:: [module] +urllib2.build_opener(*handlers) [doc: Create an opener object from a list of handlers.] +urllib2.ftpwrapper(??) [doc: Class used by open_ftp() for cache of open FTP connections.] +urllib2.getproxies(??) [doc: Return a dictionary of scheme -> proxy server URL mappings.] +urllib2.hashlib:: [module] +urllib2.httplib:: [module] +urllib2.install_opener(opener) +urllib2.localhost(??) [doc: Return the IP address of the magic hostname 'localhost'.] +urllib2.mimetools:: [module] +urllib2.noheaders(??) [doc: Return an empty mimetools.Message object.] +urllib2.os:: [module] +urllib2.parse_http_list(s) [doc: Parse lists as described by RFC 2068 Section 2.] +urllib2.parse_keqv_list(l) [doc: Parse list of key=value strings where keys are not duplicated.] +urllib2.posixpath:: [module] +urllib2.quote('abc def') -> 'abc%20def' +urllib2.random:: [module] +urllib2.randombytes(n) [doc: Return n random bytes.] +urllib2.re:: [module] +urllib2.request_host(request) [doc: Return request-host, as defined by RFC 2965.] +urllib2.socket:: [module] +urllib2.splitattr('/path;attr1=value1;attr2=value2;...') -> +urllib2.splitgophertype('/Xselector') --> 'X', 'selector'. +urllib2.splithost('//host[:port]/path') --> 'host[:port]', '/path'. +urllib2.splitpasswd('user:passwd') -> 'user', 'passwd'. +urllib2.splitport('host:port') --> 'host', 'port'. +urllib2.splitquery('/path?query') --> '/path', 'query'. +urllib2.splittype('type:opaquestring') --> 'type', 'opaquestring'. +urllib2.splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'. +urllib2.splitvalue('attr=value') --> 'attr', 'value'. +urllib2.sys:: [module] +urllib2.time:: [module] +urllib2.unquote('abc%20def') -> 'abc def'. +urllib2.unwrap('') --> 'type://host/path'. +urllib2.url2pathname(??) [doc: OS-specific conversion from a relative URL of the 'file' scheme] +urllib2.urlopen(url, data=None) +urllib2.urlparse:: [module] +urlparse.BaseResult +urlparse.MAX_CACHE_SIZE +urlparse.ParseResult +urlparse.SplitResult +urlparse.__all__ +urlparse.__builtins__ +urlparse.__doc__ +urlparse.__file__ +urlparse.__name__ +urlparse._parse_cache +urlparse._splitnetloc(url, start=0) +urlparse._splitparams(url) +urlparse.clear_cache() [doc: Clear the parse cache.] +urlparse.non_hierarchical +urlparse.scheme_chars +urlparse.test() +urlparse.test_input +urlparse.urldefrag(url) [doc: Removes any existing fragment from URL.] +urlparse.urljoin(base, url, allow_fragments=True) [doc: Join a base URL and a possibly relative URL to form an absolute] +urlparse.urlparse(url, scheme='', allow_fragments=True) [doc: Parse a URL into 6 components:] +urlparse.urlsplit(url, scheme='', allow_fragments=True) [doc: Parse a URL into 5 components:] +urlparse.urlunparse((scheme, netloc, url, params, query, fragment)) [doc: Put a parsed URL back together again. This may result in a] +urlparse.urlunsplit((scheme, netloc, url, query, fragment)) +urlparse.uses_fragment +urlparse.uses_netloc +urlparse.uses_params +urlparse.uses_query +urlparse.uses_relative +user.__builtins__ +user.__doc__ +user.__file__ +user.__name__ +user.home +user.os:: [module] +user.pythonrc +uu.Error +uu.__all__ +uu.__builtins__ +uu.__doc__ +uu.__file__ +uu.__name__ +uu.binascii:: [module] +uu.decode(in_file, out_file=None, mode=None, quiet=0) [doc: Decode uuencoded file] +uu.encode(in_file, out_file, name=None, mode=None) [doc: Uuencode file] +uu.os:: [module] +uu.sys:: [module] +uu.test() [doc: uuencode/uudecode main program] +uuid.NAMESPACE_DNS +uuid.NAMESPACE_OID +uuid.NAMESPACE_URL +uuid.NAMESPACE_X500 +uuid.RESERVED_FUTURE +uuid.RESERVED_MICROSOFT +uuid.RESERVED_NCS +uuid.RFC_4122 +uuid.UUID +uuid._UuidCreate +uuid.__author__ +uuid.__builtins__ +uuid.__doc__ +uuid.__file__ +uuid.__name__ +uuid._buffer +uuid._find_mac(command, args, hw_identifiers, get_index) +uuid._ifconfig_getnode() [doc: Get the hardware address on Unix by running ifconfig.] +uuid._ipconfig_getnode() [doc: Get the hardware address on Windows by running ipconfig.exe.] +uuid._last_timestamp +uuid._netbios_getnode() [doc: Get the hardware address on Windows using NetBIOS calls.] +uuid._node +uuid._random_getnode() [doc: Get a random node ID, with eighth bit set as suggested by RFC 4122.] +uuid._unixdll_getnode() [doc: Get the hardware address on Unix using ctypes.] +uuid._uuid_generate_random +uuid._uuid_generate_time +uuid._windll_getnode() [doc: Get the hardware address on Windows using ctypes.] +uuid.ctypes:: [module] +uuid.getnode() [doc: Get the hardware address as a 48-bit positive integer.] +uuid.lib +uuid.libname +uuid.uuid1(node=None, clock_seq=None) [doc: Generate a UUID from a host ID, sequence number, and the current time.] +uuid.uuid3(namespace, name) [doc: Generate a UUID from the MD5 hash of a namespace UUID and a name.] +uuid.uuid4() [doc: Generate a random UUID.] +uuid.uuid5(namespace, name) [doc: Generate a UUID from the SHA-1 hash of a namespace UUID and a name.] +vars([object]) -> dictionary +warnings._OptionError +warnings.__all__ +warnings.__builtins__ +warnings.__doc__ +warnings.__file__ +warnings.__name__ +warnings._getaction(action) +warnings._getcategory(category) +warnings._processoptions(args) +warnings._setoption(arg) +warnings.defaultaction +warnings.filters +warnings.filterwarnings(??) [doc: Insert an entry into the list of warnings filters (at the front).] +warnings.formatwarning(message, category, filename, lineno) [doc: Function to format a warning the standard way.] +warnings.linecache:: [module] +warnings.onceregistry +warnings.resetwarnings() [doc: Clear the list of warning filters, so that no filters are active.] +warnings.showwarning(message, category, filename, lineno, file=None) [doc: Hook to write a warning to a file; replace if you like.] +warnings.simplefilter(action, category=Warning, lineno=0, append=0) [doc: Insert a simple entry into the list of warnings filters (at the front).] +warnings.sys:: [module] +warnings.types:: [module] +warnings.warn(message, category=None, stacklevel=1) [doc: Issue a warning, or maybe ignore it or raise an exception.] +warnings.warn_explicit(??) [function] +wave.Chunk(??) [class] +wave.Error +wave.WAVE_FORMAT_PCM +wave.Wave_read(f) [doc: Variables used in this class:] +wave.Wave_write(f) [doc: Variables used in this class:] +wave.__all__ +wave.__builtin__:: [module] +wave.__builtins__ +wave.__doc__ +wave.__file__ +wave.__name__ +wave._array_fmts +wave.big_endian +wave.open(f, mode=None) +wave.openfp(??) [function] +wave.struct:: [module] +weakref.CallableProxyType +weakref.KeyedRef +weakref.ProxyType +weakref.ProxyTypes +weakref.ReferenceError +weakref.ReferenceType +weakref.UserDict:: [module] +weakref.WeakKeyDictionary(dict=None) [doc: Mapping class that references keys weakly.] +weakref.WeakValueDictionary(*args, **kw) [doc: Mapping class that references values weakly.] +weakref.__all__ +weakref.__builtins__ +weakref.__doc__ +weakref.__file__ +weakref.__name__ +weakref.getweakrefcount(object) -- return the number of weak references +weakref.getweakrefs(object) -- return a list of all weak reference objects +weakref.proxy(object[, callback]) -- create a proxy object that weakly +weakref.ref +webbrowser.BackgroundBrowser +webbrowser.BaseBrowser +webbrowser.Elinks +webbrowser.Error +webbrowser.Galeon +webbrowser.GenericBrowser +webbrowser.Grail +webbrowser.Konqueror +webbrowser.Mozilla +webbrowser.Netscape +webbrowser.Opera +webbrowser.UnixBrowser +webbrowser.WindowsDefault +webbrowser.__all__ +webbrowser.__builtins__ +webbrowser.__doc__ +webbrowser.__file__ +webbrowser.__name__ +webbrowser._browsers +webbrowser._iscommand(cmd) [doc: Return True if cmd is executable or can be found on the executable] +webbrowser._isexecutable(??) [function] +webbrowser._synthesize(browser, update_tryorder=1) [doc: Attempt to synthesize a controller base on existing controllers.] +webbrowser._tryorder +webbrowser.browser +webbrowser.get(using=None) [doc: Return a browser launcher instance appropriate for the environment.] +webbrowser.main() +webbrowser.open(url, new=0, autoraise=1) +webbrowser.open_new(url) +webbrowser.open_new_tab(url) +webbrowser.os:: [module] +webbrowser.register(name, klass, instance=None, update_tryorder=1) [doc: Register a browser connector and, optionally, connection.] +webbrowser.register_X_browsers() +webbrowser.shlex:: [module] +webbrowser.stat:: [module] +webbrowser.subprocess:: [module] +webbrowser.sys:: [module] +webbrowser.time:: [module] +whichdb.__builtins__ +whichdb.__doc__ +whichdb.__file__ +whichdb.__name__ +whichdb._dbmerror +whichdb.dbm +whichdb.os:: [module] +whichdb.struct:: [module] +whichdb.sys:: [module] +whichdb.whichdb(filename) [doc: Guess which db package to use to open a db file.] +while +winsound.Beep(frequency, duration) - a wrapper around the Windows Beep API +winsound.MB_ICONASTERISK +winsound.MB_ICONEXCLAMATION +winsound.MB_ICONHAND +winsound.MB_ICONQUESTION +winsound.MB_OK +winsound.MessageBeep(x) - call Windows MessageBeep(x). x defaults to MB_OK. +winsound.PlaySound(sound, flags) - a wrapper around the Windows PlaySound API +winsound.SND_ALIAS +winsound.SND_APPLICATION +winsound.SND_ASYNC +winsound.SND_FILENAME +winsound.SND_LOOP +winsound.SND_MEMORY +winsound.SND_NODEFAULT +winsound.SND_NOSTOP +winsound.SND_NOWAIT +winsound.SND_PURGE +winsound.__doc__ +winsound.__file__ +winsound.__name__ +wsgiref.__builtins__ +wsgiref.__doc__ +wsgiref.__file__ +wsgiref.__name__ +wsgiref.__path__ +wsgiref.handlers.BaseCGIHandler(??) [doc: CGI-like systems using input/output/error streams and environ mapping] +wsgiref.handlers.BaseHandler(??) [doc: Manage the invocation of a WSGI application] +wsgiref.handlers.CGIHandler(??) [doc: CGI-based invocation via sys.stdin/stdout/stderr and os.environ] +wsgiref.handlers.FileWrapper(??) [doc: Wrapper to convert file-like objects to iterables] +wsgiref.handlers.Headers(??) [doc: Manage a collection of HTTP response headers] +wsgiref.handlers.SimpleHandler(??) [doc: Handler that's just initialized with streams, environment, etc.] +wsgiref.handlers.StringType +wsgiref.handlers.__all__ +wsgiref.handlers.__builtins__ +wsgiref.handlers.__doc__ +wsgiref.handlers.__file__ +wsgiref.handlers.__name__ +wsgiref.handlers._monthname +wsgiref.handlers._weekdayname +wsgiref.handlers.format_date_time(timestamp) +wsgiref.handlers.guess_scheme(??) [doc: Return a guess for whether 'wsgi.url_scheme' should be 'http' or 'https'] +wsgiref.handlers.is_hop_by_hop(??) [doc: Return true if 'header_name' is an HTTP/1.1 "Hop-by-Hop" header] +wsgiref.handlers.os:: [module] +wsgiref.handlers.sys:: [module] +wsgiref.handlers.time:: [module] +wsgiref.handlers:: [module] +wsgiref.headers.Headers(headers) [doc: Manage a collection of HTTP response headers] +wsgiref.headers.ListType +wsgiref.headers.TupleType +wsgiref.headers.__builtins__ +wsgiref.headers.__doc__ +wsgiref.headers.__file__ +wsgiref.headers.__name__ +wsgiref.headers._formatparam(param, value=None, quote=1) [doc: Convenience function to format and return a key=value pair.] +wsgiref.headers.re:: [module] +wsgiref.headers.tspecials +wsgiref.headers:: [module] +wsgiref.simple_server.BaseHTTPRequestHandler(??) [doc: HTTP request handler base class.] +wsgiref.simple_server.HTTPServer(??) [class] +wsgiref.simple_server.ServerHandler(??) [class] +wsgiref.simple_server.SimpleHandler(??) [doc: Handler that's just initialized with streams, environment, etc.] +wsgiref.simple_server.WSGIRequestHandler(??) [class] +wsgiref.simple_server.WSGIServer(??) [doc: BaseHTTPServer that implements the Python WSGI protocol] +wsgiref.simple_server.__all__ +wsgiref.simple_server.__builtins__ +wsgiref.simple_server.__doc__ +wsgiref.simple_server.__file__ +wsgiref.simple_server.__name__ +wsgiref.simple_server.__version__ +wsgiref.simple_server.demo_app(environ,start_response) +wsgiref.simple_server.make_server(??) [doc: Create a new WSGI server listening on `host` and `port` for `app`] +wsgiref.simple_server.server_version +wsgiref.simple_server.software_version +wsgiref.simple_server.sys:: [module] +wsgiref.simple_server.sys_version +wsgiref.simple_server.urllib:: [module] +wsgiref.simple_server:: [module] +wsgiref.util.FileWrapper(filelike, blksize=8192) [doc: Wrapper to convert file-like objects to iterables] +wsgiref.util.__all__ +wsgiref.util.__builtins__ +wsgiref.util.__doc__ +wsgiref.util.__file__ +wsgiref.util.__name__ +wsgiref.util._hoppish +wsgiref.util.application_uri(environ) [doc: Return the application's base URI (no PATH_INFO or QUERY_STRING)] +wsgiref.util.guess_scheme(environ) [doc: Return a guess for whether 'wsgi.url_scheme' should be 'http' or 'https'] +wsgiref.util.is_hop_by_hop(header_name) [doc: Return true if 'header_name' is an HTTP/1.1 "Hop-by-Hop" header] +wsgiref.util.posixpath:: [module] +wsgiref.util.request_uri(environ, include_query=1) [doc: Return the full request URI, optionally including the query string] +wsgiref.util.setup_testing_defaults(environ) [doc: Update 'environ' with trivial defaults for testing purposes] +wsgiref.util.shift_path_info(environ) [doc: Shift a name from PATH_INFO to SCRIPT_NAME, returning it] +wsgiref.util:: [module] +wsgiref.validate.DictType +wsgiref.validate.ErrorWrapper(wsgi_errors) +wsgiref.validate.InputWrapper(wsgi_input) +wsgiref.validate.IteratorWrapper(wsgi_iterator, check_start_response) +wsgiref.validate.ListType +wsgiref.validate.PartialIteratorWrapper(wsgi_iterator) +wsgiref.validate.StringType +wsgiref.validate.TupleType +wsgiref.validate.WSGIWarning +wsgiref.validate.WriteWrapper(wsgi_writer) +wsgiref.validate.__all__ +wsgiref.validate.__builtins__ +wsgiref.validate.__doc__ +wsgiref.validate.__file__ +wsgiref.validate.__name__ +wsgiref.validate.assert_(cond, *args) +wsgiref.validate.bad_header_value_re +wsgiref.validate.check_content_type(status, headers) +wsgiref.validate.check_environ(environ) +wsgiref.validate.check_errors(wsgi_errors) +wsgiref.validate.check_exc_info(exc_info) +wsgiref.validate.check_headers(headers) +wsgiref.validate.check_input(wsgi_input) +wsgiref.validate.check_iterator(iterator) +wsgiref.validate.check_status(status) +wsgiref.validate.header_re +wsgiref.validate.re:: [module] +wsgiref.validate.sys:: [module] +wsgiref.validate.validator(application) [doc: ] +wsgiref.validate.warnings:: [module] +wsgiref.validate:: [module] +xdrlib.ConversionError +xdrlib.Error +xdrlib.Packer(??) [doc: Pack various data representations into a buffer.] +xdrlib.Unpacker(data) [doc: Unpacks various data representations from the given buffer.] +xdrlib._StringIO +xdrlib.__all__ +xdrlib.__builtins__ +xdrlib.__doc__ +xdrlib.__file__ +xdrlib.__name__ +xdrlib._test() +xdrlib.struct:: [module] +xml._MINIMUM_XMLPLUS_VERSION +xml.__all__ +xml.__builtins__ +xml.__doc__ +xml.__file__ +xml.__name__ +xml.__path__ +xml.__version__ +xml.dom.DOMException +xml.dom.DOMSTRING_SIZE_ERR +xml.dom.DomstringSizeErr +xml.dom.EMPTY_NAMESPACE +xml.dom.EMPTY_PREFIX +xml.dom.HIERARCHY_REQUEST_ERR +xml.dom.HierarchyRequestErr +xml.dom.INDEX_SIZE_ERR +xml.dom.INUSE_ATTRIBUTE_ERR +xml.dom.INVALID_ACCESS_ERR +xml.dom.INVALID_CHARACTER_ERR +xml.dom.INVALID_MODIFICATION_ERR +xml.dom.INVALID_STATE_ERR +xml.dom.IndexSizeErr +xml.dom.InuseAttributeErr +xml.dom.InvalidAccessErr +xml.dom.InvalidCharacterErr +xml.dom.InvalidModificationErr +xml.dom.InvalidStateErr +xml.dom.NAMESPACE_ERR +xml.dom.NOT_FOUND_ERR +xml.dom.NOT_SUPPORTED_ERR +xml.dom.NO_DATA_ALLOWED_ERR +xml.dom.NO_MODIFICATION_ALLOWED_ERR +xml.dom.NamespaceErr +xml.dom.NoDataAllowedErr +xml.dom.NoModificationAllowedErr +xml.dom.Node(??) [doc: Class giving the NodeType constants.] +xml.dom.NodeFilter.NodeFilter(??) [doc: ] +xml.dom.NodeFilter.__builtins__ +xml.dom.NodeFilter.__doc__ +xml.dom.NodeFilter.__file__ +xml.dom.NodeFilter.__name__ +xml.dom.NodeFilter:: [module] +xml.dom.NotFoundErr +xml.dom.NotSupportedErr +xml.dom.SYNTAX_ERR +xml.dom.SyntaxErr +xml.dom.UserDataHandler(??) [doc: Class giving the operation constants for UserDataHandler.handle().] +xml.dom.VALIDATION_ERR +xml.dom.ValidationErr +xml.dom.WRONG_DOCUMENT_ERR +xml.dom.WrongDocumentErr +xml.dom.XHTML_NAMESPACE +xml.dom.XMLNS_NAMESPACE +xml.dom.XML_NAMESPACE +xml.dom.__builtins__ +xml.dom.__doc__ +xml.dom.__file__ +xml.dom.__name__ +xml.dom.__path__ +xml.dom.domreg.EmptyNodeList +xml.dom.domreg.NodeList +xml.dom.domreg.StringTypes +xml.dom.domreg.__builtins__ +xml.dom.domreg.__doc__ +xml.dom.domreg.__file__ +xml.dom.domreg.__name__ +xml.dom.domreg._good_enough(dom, features) -> Return 1 if the dom offers the features +xml.dom.domreg._parse_feature_string(s) +xml.dom.domreg.defproperty(??) [function] +xml.dom.domreg.getDOMImplementation(name = None, features = ()) -> DOM implementation. +xml.dom.domreg.registerDOMImplementation(name, factory) +xml.dom.domreg.registered +xml.dom.domreg.well_known_implementations +xml.dom.domreg:: [module] +xml.dom.expatbuilder.CDATA_SECTION_NODE +xml.dom.expatbuilder.DOCUMENT_NODE +xml.dom.expatbuilder.EMPTY_NAMESPACE +xml.dom.expatbuilder.EMPTY_PREFIX +xml.dom.expatbuilder.ElementInfo +xml.dom.expatbuilder.EmptyNodeList +xml.dom.expatbuilder.ExpatBuilder(options=None) [doc: Document builder that uses Expat to build a ParsedXML.DOM document] +xml.dom.expatbuilder.ExpatBuilderNS(??) [doc: Document builder that supports namespaces.] +xml.dom.expatbuilder.FILTER_ACCEPT +xml.dom.expatbuilder.FILTER_INTERRUPT +xml.dom.expatbuilder.FILTER_REJECT +xml.dom.expatbuilder.FILTER_SKIP +xml.dom.expatbuilder.FilterCrutch +xml.dom.expatbuilder.FilterVisibilityController +xml.dom.expatbuilder.FragmentBuilder(context, options=None) [doc: Builder which constructs document fragments given XML source] +xml.dom.expatbuilder.FragmentBuilderNS(??) [doc: Fragment builder that supports namespaces.] +xml.dom.expatbuilder.InternalSubsetExtractor(??) [doc: XML processor which can rip out the internal document type subset.] +xml.dom.expatbuilder.Namespaces(??) [doc: Mix-in class for builders; adds support for namespaces.] +xml.dom.expatbuilder.Node(??) [doc: Class giving the NodeType constants.] +xml.dom.expatbuilder.NodeFilter(??) [doc: ] +xml.dom.expatbuilder.NodeList +xml.dom.expatbuilder.ParseEscape +xml.dom.expatbuilder.Rejecter +xml.dom.expatbuilder.Skipper +xml.dom.expatbuilder.StringTypes +xml.dom.expatbuilder.TEXT_NODE +xml.dom.expatbuilder.XMLNS_NAMESPACE +xml.dom.expatbuilder._ALLOWED_FILTER_RETURNS +xml.dom.expatbuilder._FRAGMENT_BUILDER_INTERNAL_SYSTEM_ID +xml.dom.expatbuilder._FRAGMENT_BUILDER_TEMPLATE +xml.dom.expatbuilder.__builtins__ +xml.dom.expatbuilder.__doc__ +xml.dom.expatbuilder.__file__ +xml.dom.expatbuilder.__name__ +xml.dom.expatbuilder._append_child(??) [function] +xml.dom.expatbuilder._intern(builder, s) +xml.dom.expatbuilder._parse_ns_name(builder, name) +xml.dom.expatbuilder._set_attribute_node(??) [function] +xml.dom.expatbuilder._typeinfo_map +xml.dom.expatbuilder.defproperty(??) [function] +xml.dom.expatbuilder.expat:: [module] +xml.dom.expatbuilder.makeBuilder(options) [doc: Create a builder based on an Options object.] +xml.dom.expatbuilder.minidom:: [module] +xml.dom.expatbuilder.parse(file, namespaces=True) [doc: Parse a document, returning the resulting Document node.] +xml.dom.expatbuilder.parseFragment(file, context, namespaces=True) [doc: Parse a fragment of a document, given the context from which it] +xml.dom.expatbuilder.parseFragmentString(string, context, namespaces=True) [doc: Parse a fragment of a document from a string, given the context] +xml.dom.expatbuilder.parseString(string, namespaces=True) [doc: Parse a document from a string, returning the resulting] +xml.dom.expatbuilder.theDOMImplementation +xml.dom.expatbuilder.xmlbuilder:: [module] +xml.dom.expatbuilder:: [module] +xml.dom.getDOMImplementation(name = None, features = ()) -> DOM implementation. +xml.dom.minicompat.EmptyNodeList +xml.dom.minicompat.NodeList +xml.dom.minicompat.StringTypes +xml.dom.minicompat.__all__ +xml.dom.minicompat.__builtins__ +xml.dom.minicompat.__doc__ +xml.dom.minicompat.__file__ +xml.dom.minicompat.__name__ +xml.dom.minicompat.defproperty(klass, name, doc) +xml.dom.minicompat.xml:: [module] +xml.dom.minicompat:: [module] +xml.dom.minidom.Attr(??) [class] +xml.dom.minidom.AttributeList +xml.dom.minidom.CDATASection(??) [class] +xml.dom.minidom.CharacterData(??) [class] +xml.dom.minidom.Childless(??) [doc: Mixin that makes childless-ness easy to implement and avoids] +xml.dom.minidom.Comment(data) +xml.dom.minidom.DOMImplementation(??) [class] +xml.dom.minidom.DOMImplementationLS(??) [class] +xml.dom.minidom.Document(??) [class] +xml.dom.minidom.DocumentFragment(??) [class] +xml.dom.minidom.DocumentLS(??) [doc: Mixin to create documents that conform to the load/save spec.] +xml.dom.minidom.DocumentType(qualifiedName) +xml.dom.minidom.EMPTY_NAMESPACE +xml.dom.minidom.EMPTY_PREFIX +xml.dom.minidom.Element(??) [class] +xml.dom.minidom.ElementInfo +xml.dom.minidom.EmptyNodeList +xml.dom.minidom.Entity(name, publicId, systemId, notation) +xml.dom.minidom.Identified(??) [doc: Mix-in class that supports the publicId and systemId attributes.] +xml.dom.minidom.NamedNodeMap +xml.dom.minidom.Node(??) [class] +xml.dom.minidom.NodeList +xml.dom.minidom.Notation(name, publicId, systemId) +xml.dom.minidom.ProcessingInstruction(target, data) +xml.dom.minidom.ReadOnlySequentialNamedNodeMap +xml.dom.minidom.StringTypes +xml.dom.minidom.Text(??) [class] +xml.dom.minidom.TypeInfo +xml.dom.minidom.XMLNS_NAMESPACE +xml.dom.minidom.__builtins__ +xml.dom.minidom.__doc__ +xml.dom.minidom.__file__ +xml.dom.minidom.__name__ +xml.dom.minidom._append_child(self, node) +xml.dom.minidom._clear_id_cache(node) +xml.dom.minidom._clone_node(node, deep, newOwnerDocument) [doc: ] +xml.dom.minidom._do_pulldom_parse(func, args, kwargs) +xml.dom.minidom._get_StringIO() +xml.dom.minidom._get_containing_element(node) +xml.dom.minidom._get_containing_entref(node) +xml.dom.minidom._get_elements_by_tagName_helper(parent, name, rc) +xml.dom.minidom._get_elements_by_tagName_ns_helper(parent, nsURI, localName, rc) +xml.dom.minidom._in_document(node) +xml.dom.minidom._no_type +xml.dom.minidom._nodeTypes_with_children +xml.dom.minidom._nssplit(qualifiedName) +xml.dom.minidom._set_attribute_node(element, attr) +xml.dom.minidom._write_data(writer, data) [doc: Writes datachars to writer.] +xml.dom.minidom.defproperty(??) [function] +xml.dom.minidom.domreg:: [module] +xml.dom.minidom.getDOMImplementation(features=None) +xml.dom.minidom.parse(file, parser=None, bufsize=None) [doc: Parse a file into a DOM by filename or file object.] +xml.dom.minidom.parseString(string, parser=None) [doc: Parse a file into a DOM from a string.] +xml.dom.minidom.xml:: [module] +xml.dom.minidom:: [module] +xml.dom.pulldom.CHARACTERS +xml.dom.pulldom.COMMENT +xml.dom.pulldom.DOMEventStream(stream, parser, bufsize) +xml.dom.pulldom.END_DOCUMENT +xml.dom.pulldom.END_ELEMENT +xml.dom.pulldom.ErrorHandler(??) [class] +xml.dom.pulldom.IGNORABLE_WHITESPACE +xml.dom.pulldom.PROCESSING_INSTRUCTION +xml.dom.pulldom.PullDOM(documentFactory=None) +xml.dom.pulldom.SAX2DOM(??) [class] +xml.dom.pulldom.START_DOCUMENT +xml.dom.pulldom.START_ELEMENT +xml.dom.pulldom._StringTypes +xml.dom.pulldom.__builtins__ +xml.dom.pulldom.__doc__ +xml.dom.pulldom.__file__ +xml.dom.pulldom.__name__ +xml.dom.pulldom.default_bufsize +xml.dom.pulldom.parse(stream_or_string, parser=None, bufsize=None) +xml.dom.pulldom.parseString(string, parser=None) +xml.dom.pulldom.types:: [module] +xml.dom.pulldom.xml:: [module] +xml.dom.pulldom:: [module] +xml.dom.registerDOMImplementation(name, factory) +xml.dom.xmlbuilder.DOMBuilder(??) [class] +xml.dom.xmlbuilder.DOMBuilderFilter(??) [doc: Element filter which can be used to tailor construction of] +xml.dom.xmlbuilder.DOMEntityResolver +xml.dom.xmlbuilder.DOMImplementationLS(??) [class] +xml.dom.xmlbuilder.DOMInputSource +xml.dom.xmlbuilder.DocumentLS(??) [doc: Mixin to create documents that conform to the load/save spec.] +xml.dom.xmlbuilder.Options(??) [doc: Features object that has variables set for each DOMBuilder feature.] +xml.dom.xmlbuilder.__all__ +xml.dom.xmlbuilder.__builtins__ +xml.dom.xmlbuilder.__doc__ +xml.dom.xmlbuilder.__file__ +xml.dom.xmlbuilder.__name__ +xml.dom.xmlbuilder._name_xform(name) +xml.dom.xmlbuilder.copy:: [module] +xml.dom.xmlbuilder.xml:: [module] +xml.dom.xmlbuilder:: [module] +xml.dom:: [module] +xml.etree.ElementInclude.ElementTree:: [module] +xml.etree.ElementInclude.FatalIncludeError +xml.etree.ElementInclude.XINCLUDE +xml.etree.ElementInclude.XINCLUDE_FALLBACK +xml.etree.ElementInclude.XINCLUDE_INCLUDE +xml.etree.ElementInclude.__builtins__ +xml.etree.ElementInclude.__doc__ +xml.etree.ElementInclude.__file__ +xml.etree.ElementInclude.__name__ +xml.etree.ElementInclude.copy:: [module] +xml.etree.ElementInclude.default_loader(href, parse, encoding=None) +xml.etree.ElementInclude.include(elem, loader=None) +xml.etree.ElementInclude:: [module] +xml.etree.ElementPath.Path(path) +xml.etree.ElementPath.__builtins__ +xml.etree.ElementPath.__doc__ +xml.etree.ElementPath.__file__ +xml.etree.ElementPath.__name__ +xml.etree.ElementPath._cache +xml.etree.ElementPath._compile(path) +xml.etree.ElementPath.find(element, path) +xml.etree.ElementPath.findall(element, path) +xml.etree.ElementPath.findtext(element, path, default=None) +xml.etree.ElementPath.re:: [module] +xml.etree.ElementPath.xpath_descendant_or_self(??) [class] +xml.etree.ElementPath.xpath_tokenizer +xml.etree.ElementPath:: [module] +xml.etree.ElementTree.Comment(text=None) +xml.etree.ElementTree.Element(tag, attrib={}, **extra) +xml.etree.ElementTree.ElementPath:: [module] +xml.etree.ElementTree.ElementTree(element=None, file=None) +xml.etree.ElementTree.PI(??) [function] +xml.etree.ElementTree.ProcessingInstruction(target, text=None) +xml.etree.ElementTree.QName(text_or_uri, tag=None) +xml.etree.ElementTree.SubElement(parent, tag, attrib={}, **extra) +xml.etree.ElementTree.TreeBuilder(element_factory=None) +xml.etree.ElementTree.VERSION +xml.etree.ElementTree.XML(text) +xml.etree.ElementTree.XMLID(text) +xml.etree.ElementTree.XMLParser(??) [class] +xml.etree.ElementTree.XMLTreeBuilder(html=0, target=None) +xml.etree.ElementTree._Element(??) [class] +xml.etree.ElementTree._ElementInterface(tag, attrib) +xml.etree.ElementTree._SimpleElementPath(??) [class] +xml.etree.ElementTree.__all__ +xml.etree.ElementTree.__builtins__ +xml.etree.ElementTree.__doc__ +xml.etree.ElementTree.__file__ +xml.etree.ElementTree.__name__ +xml.etree.ElementTree._encode(s, encoding) +xml.etree.ElementTree._encode_entity(text, pattern=_escape) +xml.etree.ElementTree._escape +xml.etree.ElementTree._escape_attrib(text, encoding=None, replace=string.replace) +xml.etree.ElementTree._escape_cdata(text, encoding=None, replace=string.replace) +xml.etree.ElementTree._escape_map +xml.etree.ElementTree._namespace_map +xml.etree.ElementTree._raise_serialization_error(text) +xml.etree.ElementTree.dump(elem) +xml.etree.ElementTree.fixtag(tag, namespaces) +xml.etree.ElementTree.fromstring(??) [function] +xml.etree.ElementTree.iselement(element) +xml.etree.ElementTree.iterparse(source, events=None) +xml.etree.ElementTree.parse(source, parser=None) +xml.etree.ElementTree.re:: [module] +xml.etree.ElementTree.string:: [module] +xml.etree.ElementTree.sys:: [module] +xml.etree.ElementTree.tostring(element, encoding=None) +xml.etree.ElementTree:: [module] +xml.etree.__builtins__ +xml.etree.__doc__ +xml.etree.__file__ +xml.etree.__name__ +xml.etree.__path__ +xml.etree.cElementTree.Comment(??) [function] +xml.etree.cElementTree.Element +xml.etree.cElementTree.ElementPath:: [module] +xml.etree.cElementTree.ElementTree(??) [class] +xml.etree.cElementTree.PI(??) [function] +xml.etree.cElementTree.ProcessingInstruction(??) [function] +xml.etree.cElementTree.QName(??) [class] +xml.etree.cElementTree.SubElement +xml.etree.cElementTree.TreeBuilder +xml.etree.cElementTree.VERSION +xml.etree.cElementTree.XML(??) [function] +xml.etree.cElementTree.XMLID(??) [function] +xml.etree.cElementTree.XMLParser +xml.etree.cElementTree.XMLParserError +xml.etree.cElementTree.XMLTreeBuilder +xml.etree.cElementTree.__builtins__ +xml.etree.cElementTree.__doc__ +xml.etree.cElementTree.__file__ +xml.etree.cElementTree.__name__ +xml.etree.cElementTree.dump(??) [function] +xml.etree.cElementTree.fromstring(??) [function] +xml.etree.cElementTree.iselement(??) [function] +xml.etree.cElementTree.iterparse +xml.etree.cElementTree.parse(??) [function] +xml.etree.cElementTree.tostring(??) [function] +xml.etree.cElementTree:: [module] +xml.etree:: [module] +xml.parsers.__builtins__ +xml.parsers.__doc__ +xml.parsers.__file__ +xml.parsers.__name__ +xml.parsers.__path__ +xml.parsers.expat.EXPAT_VERSION +xml.parsers.expat.ErrorString(errno) -> string +xml.parsers.expat.ExpatError +xml.parsers.expat.ParserCreate([encoding[, namespace_separator]]) -> parser +xml.parsers.expat.XMLParserType +xml.parsers.expat.XML_PARAM_ENTITY_PARSING_ALWAYS +xml.parsers.expat.XML_PARAM_ENTITY_PARSING_NEVER +xml.parsers.expat.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE +xml.parsers.expat.__builtins__ +xml.parsers.expat.__doc__ +xml.parsers.expat.__file__ +xml.parsers.expat.__name__ +xml.parsers.expat.__version__ +xml.parsers.expat.error +xml.parsers.expat.errors:: [module] +xml.parsers.expat.expat_CAPI +xml.parsers.expat.features +xml.parsers.expat.model:: [module] +xml.parsers.expat.native_encoding +xml.parsers.expat.version_info +xml.parsers.expat:: [module] +xml.parsers:: [module] +xml.sax.ContentHandler(??) [doc: Interface for receiving logical document content events.] +xml.sax.ErrorHandler(??) [doc: Basic interface for SAX error handlers.] +xml.sax.InputSource(??) [doc: Encapsulation of the information needed by the XMLReader to] +xml.sax.SAXException +xml.sax.SAXNotRecognizedException +xml.sax.SAXNotSupportedException +xml.sax.SAXParseException +xml.sax.SAXReaderNotAvailable +xml.sax.__builtins__ +xml.sax.__doc__ +xml.sax.__file__ +xml.sax.__name__ +xml.sax.__path__ +xml.sax._create_parser(??) [function] +xml.sax._exceptions.SAXException +xml.sax._exceptions.SAXNotRecognizedException +xml.sax._exceptions.SAXNotSupportedException +xml.sax._exceptions.SAXParseException +xml.sax._exceptions.SAXReaderNotAvailable +xml.sax._exceptions.__builtins__ +xml.sax._exceptions.__doc__ +xml.sax._exceptions.__file__ +xml.sax._exceptions.__name__ +xml.sax._exceptions:: [module] +xml.sax._false +xml.sax._key +xml.sax.default_parser_list +xml.sax.expatreader.AttributesImpl(??) [class] +xml.sax.expatreader.AttributesNSImpl(??) [class] +xml.sax.expatreader.ExpatLocator(parser) [doc: Locator for use with the ExpatParser class.] +xml.sax.expatreader.ExpatParser(namespaceHandling=0, bufsize=2**16-20) [doc: SAX driver for the pyexpat C module.] +xml.sax.expatreader.SAXException +xml.sax.expatreader.SAXNotRecognizedException +xml.sax.expatreader.SAXNotSupportedException +xml.sax.expatreader.SAXParseException +xml.sax.expatreader.SAXReaderNotAvailable +xml.sax.expatreader.__builtins__ +xml.sax.expatreader.__doc__ +xml.sax.expatreader.__file__ +xml.sax.expatreader.__name__ +xml.sax.expatreader._mkproxy +xml.sax.expatreader.create_parser(*args, **kwargs) +xml.sax.expatreader.expat:: [module] +xml.sax.expatreader.feature_external_ges +xml.sax.expatreader.feature_external_pes +xml.sax.expatreader.feature_namespace_prefixes +xml.sax.expatreader.feature_namespaces +xml.sax.expatreader.feature_string_interning +xml.sax.expatreader.feature_validation +xml.sax.expatreader.handler:: [module] +xml.sax.expatreader.property_interning_dict +xml.sax.expatreader.property_xml_string +xml.sax.expatreader.saxutils:: [module] +xml.sax.expatreader.version +xml.sax.expatreader.xmlreader:: [module] +xml.sax.expatreader:: [module] +xml.sax.handler.ContentHandler(??) [doc: Interface for receiving logical document content events.] +xml.sax.handler.DTDHandler(??) [doc: Handle DTD events.] +xml.sax.handler.EntityResolver(??) [doc: Basic interface for resolving entities. If you create an object] +xml.sax.handler.ErrorHandler(??) [doc: Basic interface for SAX error handlers.] +xml.sax.handler.__builtins__ +xml.sax.handler.__doc__ +xml.sax.handler.__file__ +xml.sax.handler.__name__ +xml.sax.handler.all_features +xml.sax.handler.all_properties +xml.sax.handler.feature_external_ges +xml.sax.handler.feature_external_pes +xml.sax.handler.feature_namespace_prefixes +xml.sax.handler.feature_namespaces +xml.sax.handler.feature_string_interning +xml.sax.handler.feature_validation +xml.sax.handler.property_declaration_handler +xml.sax.handler.property_dom_node +xml.sax.handler.property_encoding +xml.sax.handler.property_interning_dict +xml.sax.handler.property_lexical_handler +xml.sax.handler.property_xml_string +xml.sax.handler.version +xml.sax.handler:: [module] +xml.sax.make_parser(parser_list = []) [doc: Creates and returns a SAX parser.] +xml.sax.parse(source, handler, errorHandler=ErrorHandler()) +xml.sax.parseString(string, handler, errorHandler=ErrorHandler()) +xml.sax.saxutils.XMLFilterBase(parent = None) [doc: This class is designed to sit between an XMLReader and the] +xml.sax.saxutils.XMLGenerator(out=None, encoding="iso-8859-1") +xml.sax.saxutils._StringTypes +xml.sax.saxutils.__builtins__ +xml.sax.saxutils.__dict_replace(s, d) [doc: Replace substrings of a string using a dictionary.] +xml.sax.saxutils.__doc__ +xml.sax.saxutils.__file__ +xml.sax.saxutils.__name__ +xml.sax.saxutils._error_handling +xml.sax.saxutils.escape(data, entities={}) [doc: Escape &, <, and > in a string of data.] +xml.sax.saxutils.handler:: [module] +xml.sax.saxutils.os:: [module] +xml.sax.saxutils.prepare_input_source(source, base = "") [doc: This function takes an InputSource and an optional base URL and] +xml.sax.saxutils.quoteattr(data, entities={}) [doc: Escape and quote an attribute value.] +xml.sax.saxutils.types:: [module] +xml.sax.saxutils.unescape(data, entities={}) [doc: Unescape &, <, and > in a string of data.] +xml.sax.saxutils.urllib:: [module] +xml.sax.saxutils.urlparse:: [module] +xml.sax.saxutils.xmlreader:: [module] +xml.sax.saxutils:: [module] +xml.sax.xmlreader.AttributesImpl(attrs) +xml.sax.xmlreader.AttributesNSImpl(attrs, qnames) +xml.sax.xmlreader.IncrementalParser(bufsize=2**16) [doc: This interface adds three extra methods to the XMLReader] +xml.sax.xmlreader.InputSource(system_id = None) [doc: Encapsulation of the information needed by the XMLReader to] +xml.sax.xmlreader.Locator(??) [doc: Interface for associating a SAX event with a document] +xml.sax.xmlreader.SAXNotRecognizedException +xml.sax.xmlreader.SAXNotSupportedException +xml.sax.xmlreader.XMLReader(??) [doc: Interface for reading an XML document using callbacks.] +xml.sax.xmlreader.__builtins__ +xml.sax.xmlreader.__doc__ +xml.sax.xmlreader.__file__ +xml.sax.xmlreader.__name__ +xml.sax.xmlreader._test() +xml.sax.xmlreader.handler:: [module] +xml.sax.xmlreader:: [module] +xml.sax:: [module] +xmllib.Error +xmllib.TestXMLParser(**kw) +xmllib.XMLParser(**kw) +xmllib._ExternalId +xmllib._NCName +xmllib._Name +xmllib._PublicLiteral +xmllib._QStr +xmllib._S +xmllib._SystemLiteral +xmllib.__builtins__ +xmllib.__doc__ +xmllib.__file__ +xmllib.__name__ +xmllib.__warningregistry__ +xmllib._opS +xmllib.amp +xmllib.attrfind +xmllib.attrtrans +xmllib.cdataclose +xmllib.cdataopen +xmllib.charref +xmllib.commentclose +xmllib.commentopen +xmllib.doctype +xmllib.doubledash +xmllib.endbracket +xmllib.endbracketfind +xmllib.endtagopen +xmllib.entityref +xmllib.illegal +xmllib.interesting +xmllib.ncname +xmllib.newline +xmllib.procclose +xmllib.procopen +xmllib.qname +xmllib.re:: [module] +xmllib.ref +xmllib.space +xmllib.starttagend +xmllib.starttagmatch +xmllib.starttagopen +xmllib.string:: [module] +xmllib.tagfind +xmllib.test(args = None) +xmllib.version +xmllib.xmldecl +xmllib.xmlns +xmlrpclib.APPLICATION_ERROR +xmlrpclib.Binary(data=None) [doc: Wrapper for binary data.] +xmlrpclib.Boolean +xmlrpclib.BooleanType +xmlrpclib.BufferType +xmlrpclib.BuiltinFunctionType +xmlrpclib.BuiltinMethodType +xmlrpclib.ClassType +xmlrpclib.CodeType +xmlrpclib.ComplexType +xmlrpclib.DateTime(value=0) [doc: DateTime wrapper for an ISO 8601 string or time tuple or] +xmlrpclib.DictProxyType +xmlrpclib.DictType +xmlrpclib.DictionaryType +xmlrpclib.EllipsisType +xmlrpclib.Error +xmlrpclib.ExpatParser(??) [class] +xmlrpclib.False +xmlrpclib.FastMarshaller +xmlrpclib.FastParser +xmlrpclib.FastUnmarshaller +xmlrpclib.Fault +xmlrpclib.FileType +xmlrpclib.FloatType +xmlrpclib.FrameType +xmlrpclib.FunctionType +xmlrpclib.GeneratorType +xmlrpclib.GetSetDescriptorType +xmlrpclib.INTERNAL_ERROR +xmlrpclib.INVALID_ENCODING_CHAR +xmlrpclib.INVALID_METHOD_PARAMS +xmlrpclib.INVALID_XMLRPC +xmlrpclib.InstanceType +xmlrpclib.IntType +xmlrpclib.LambdaType +xmlrpclib.ListType +xmlrpclib.LongType +xmlrpclib.MAXINT +xmlrpclib.METHOD_NOT_FOUND +xmlrpclib.MININT +xmlrpclib.Marshaller(encoding=None, allow_none=0) [doc: Generate an XML-RPC params chunk from a Python data structure.] +xmlrpclib.MemberDescriptorType +xmlrpclib.MethodType +xmlrpclib.ModuleType +xmlrpclib.MultiCall(server) [doc: server -> a object used to boxcar method calls] +xmlrpclib.MultiCallIterator(results) [doc: Iterates over the results of a multicall. Exceptions are] +xmlrpclib.NOT_WELLFORMED_ERROR +xmlrpclib.NoneType +xmlrpclib.NotImplementedType +xmlrpclib.ObjectType +xmlrpclib.PARSE_ERROR +xmlrpclib.ProtocolError +xmlrpclib.ResponseError +xmlrpclib.SERVER_ERROR +xmlrpclib.SYSTEM_ERROR +xmlrpclib.SafeTransport(??) [doc: Handles an HTTPS transaction to an XML-RPC server.] +xmlrpclib.Server(??) [doc: uri [,options] -> a logical connection to an XML-RPC server] +xmlrpclib.ServerProxy(??) [doc: uri [,options] -> a logical connection to an XML-RPC server] +xmlrpclib.SgmlopParser +xmlrpclib.SliceType +xmlrpclib.SlowParser(target) [doc: Default XML parser (based on xmllib.XMLParser).] +xmlrpclib.StringIO:: [module] +xmlrpclib.StringType +xmlrpclib.StringTypes +xmlrpclib.TRANSPORT_ERROR +xmlrpclib.TracebackType +xmlrpclib.Transport(use_datetime=0) [doc: Handles an HTTP transaction to an XML-RPC server.] +xmlrpclib.True +xmlrpclib.TupleType +xmlrpclib.TypeType +xmlrpclib.UNSUPPORTED_ENCODING +xmlrpclib.UnboundMethodType +xmlrpclib.UnicodeType +xmlrpclib.Unmarshaller(use_datetime=0) [doc: Unmarshal an XML-RPC response, based on incoming XML event] +xmlrpclib.WRAPPERS +xmlrpclib.XRangeType +xmlrpclib._Method(send, name) +xmlrpclib._MultiCallMethod(call_list, name) +xmlrpclib.__builtins__ +xmlrpclib.__doc__ +xmlrpclib.__file__ +xmlrpclib.__name__ +xmlrpclib.__version__ +xmlrpclib._binary(data) +xmlrpclib._bool_is_builtin +xmlrpclib._datetime(data) +xmlrpclib._datetime_type(data) +xmlrpclib._decode(data, encoding, is8bit=re.compile("[\x80-\xff]").search) +xmlrpclib._stringify(??) [function] +xmlrpclib.base64:: [module] +xmlrpclib.boolean +xmlrpclib.datetime:: [module] +xmlrpclib.dumps(??) [doc: data [,options] -> marshalled data] +xmlrpclib.escape(s, replace=string.replace) +xmlrpclib.expat:: [module] +xmlrpclib.getparser() -> parser, unmarshaller +xmlrpclib.loads(data, use_datetime=0) [doc: data -> unmarshalled data, method name] +xmlrpclib.operator:: [module] +xmlrpclib.re:: [module] +xmlrpclib.string:: [module] +xmlrpclib.time:: [module] +xrange([start,] stop[, step]) -> xrange object +xxsubtype.__doc__ +xxsubtype.__name__ +xxsubtype.bench +xxsubtype.spamdict +xxsubtype.spamlist +zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] +zipfile.BadZipfile +zipfile.LargeZipFile +zipfile.PyZipFile(??) [doc: Class to create ZIP archives with Python library files and packages.] +zipfile.ZIP64_LIMIT +zipfile.ZIP_DEFLATED +zipfile.ZIP_STORED +zipfile.ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False) [doc: Class with methods to open, read, write, close, list zip files.] +zipfile.ZipInfo +zipfile._CD_COMMENT_LENGTH +zipfile._CD_COMPRESSED_SIZE +zipfile._CD_COMPRESS_TYPE +zipfile._CD_CRC +zipfile._CD_CREATE_SYSTEM +zipfile._CD_CREATE_VERSION +zipfile._CD_DATE +zipfile._CD_DISK_NUMBER_START +zipfile._CD_EXTERNAL_FILE_ATTRIBUTES +zipfile._CD_EXTRACT_SYSTEM +zipfile._CD_EXTRACT_VERSION +zipfile._CD_EXTRA_FIELD_LENGTH +zipfile._CD_FILENAME_LENGTH +zipfile._CD_FLAG_BITS +zipfile._CD_INTERNAL_FILE_ATTRIBUTES +zipfile._CD_LOCAL_HEADER_OFFSET +zipfile._CD_SIGNATURE +zipfile._CD_TIME +zipfile._CD_UNCOMPRESSED_SIZE +zipfile._EndRecData(fpin) [doc: Return data from the "End of Central Directory" record, or None.] +zipfile._EndRecData64(fpin, offset, endrec) [doc: ] +zipfile._FH_COMPRESSED_SIZE +zipfile._FH_COMPRESSION_METHOD +zipfile._FH_CRC +zipfile._FH_EXTRACT_SYSTEM +zipfile._FH_EXTRACT_VERSION +zipfile._FH_EXTRA_FIELD_LENGTH +zipfile._FH_FILENAME_LENGTH +zipfile._FH_GENERAL_PURPOSE_FLAG_BITS +zipfile._FH_LAST_MOD_DATE +zipfile._FH_LAST_MOD_TIME +zipfile._FH_SIGNATURE +zipfile._FH_UNCOMPRESSED_SIZE +zipfile.__all__ +zipfile.__builtins__ +zipfile.__doc__ +zipfile.__file__ +zipfile.__name__ +zipfile.binascii:: [module] +zipfile.cStringIO:: [module] +zipfile.error +zipfile.is_zipfile(filename) [doc: Quickly see if file is a ZIP file by checking the magic number.] +zipfile.main(args = None) +zipfile.os:: [module] +zipfile.stringCentralDir +zipfile.stringEndArchive +zipfile.stringEndArchive64 +zipfile.stringEndArchive64Locator +zipfile.stringFileHeader +zipfile.struct:: [module] +zipfile.structCentralDir +zipfile.structEndArchive +zipfile.structEndArchive64 +zipfile.structEndArchive64Locator +zipfile.structFileHeader +zipfile.sys:: [module] +zipfile.time:: [module] +zipfile.zlib:: [module] +zipimport.ZipImportError +zipimport.__doc__ +zipimport.__name__ +zipimport._zip_directory_cache +zipimport.zipimporter(archivepath) -> zipimporter object +zlib.DEFLATED +zlib.DEF_MEM_LEVEL +zlib.MAX_WBITS +zlib.ZLIB_VERSION +zlib.Z_BEST_COMPRESSION +zlib.Z_BEST_SPEED +zlib.Z_DEFAULT_COMPRESSION +zlib.Z_DEFAULT_STRATEGY +zlib.Z_FILTERED +zlib.Z_FINISH +zlib.Z_FULL_FLUSH +zlib.Z_HUFFMAN_ONLY +zlib.Z_NO_FLUSH +zlib.Z_SYNC_FLUSH +zlib.__doc__ +zlib.__name__ +zlib.__version__ +zlib.adler32(string[, start]) -- Compute an Adler-32 checksum of string. +zlib.compress(string[, level]) -- Returned compressed string. +zlib.compressobj([level]) -- Return a compressor object. +zlib.crc32(string[, start]) -- Compute a CRC-32 checksum of string. +zlib.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. +zlib.decompressobj([wbits]) -- Return a decompressor object. +zlib.error diff --git a/7.2/plugins/Code editor/template/Plugin_temp b/7.2/plugins/Code editor/template/Plugin_temp new file mode 100644 index 0000000..d40a2ad --- /dev/null +++ b/7.2/plugins/Code editor/template/Plugin_temp @@ -0,0 +1,106 @@ +# Created by: Storm Shadow http://www.techbliss.org +import os, sys +import ida_idaapi, ida_kernwin, ida_idaapi, ida_loader +import idc +from idc import * +from ida_diskio import * +from ida_idaapi import * +from ida_loader import * +import sys +sys.path.insert(0 , ida_diskio.idadir("plugins\\Code editor\\icons")) +import ico +from ico import * + +PLUGIN_VERSION = "1.6" +IDAVERISONS = "IDA PRO 7.2+" +AUTHORS = "Storm Shadow" +DATE = "2019" +TWITTER = "Twitter @zadow28" + +def banner(): + banner_options = (PLUGIN_VERSION, AUTHORS, DATE, TWITTER, IDAVERISONS) + banner_titles = "Python Editor v%s - (c) %s - %s - %s - %s" % banner_options #change Python editor + +# print plugin banner + print("---[" + banner_titles + "]---\n") + +banner() + +# 1) Create the handler class +class MyEditorHandler(ida_kernwin.action_handler_t): # the class name must be unique for each plugin nb same as line (53) + def __init__(self): + ida_kernwin.action_handler_t.__init__(self) + + # Run editor when invoked. + def activate(self, ctx): + g = globals() + idahome = ida_diskio.idadir("plugins\\My_plugin_path") #change to set plguin path where the main plguin script is + tupac = str(idahome + "\\main_plugin.py")#change for the main plugin script + # ida_kernwin.load_custom_icon(":/ico/icon.png")#if you have a custom icon + load_and_run_plugin(tupac, True) + + def update(self, ctx): + return ida_kernwin.AST_ENABLE_ALWAYS + +class ripeye(idaapi.plugin_t): #change class to unique name for each plugin , also change line (103) + flags = idaapi.PLUGIN_FIX #different flags this is for plugin visible at startup + comment = "Run me" #help me text + help = "Python Editor" #help text + wanted_name = "Python Editor" #change the plugins name + wanted_hotkey = "" #the tooltip goes away in menu when setting it here ,DONT DO it! and only is shown in File/Plugins menu + + def editor_menuaction(self): #change for something unique.also change line (90) + action_desc = ida_kernwin.action_desc_t( + 'my:editoraction', # The action name. This acts like an ID and must be unique same as line (64), (68) + 'Python Editor!', # The action text. + MyEditorHandler(), # The action handler must be unique , also change line (99) + 'Ctrl+H', # Optional: the action shortcut DO IT HERE! + 'Script editor', # Optional: the action tooltip (available in menus/toolbar) + ida_kernwin.load_custom_icon(":/ico/python.png") # hackish load action icon , if no custom icon use number from 1-150 from internal ida + ) + + # 3) Register the action + ida_kernwin.register_action(action_desc) + + ida_kernwin.attach_action_to_menu( + 'File/Editor...', # The relative path of where to add the action + 'my:editoraction', # The action ID (see line(51)) + ida_kernwin.SETMENU_APP) # We want to append the action after the 'Manual instruction... + + form = ida_kernwin.get_current_tform() + ida_kernwin.attach_action_to_popup(form, None, "my:editoraction", None) # The action ID (see line(51) + + def init(self): + """ + This is called by IDA when it is loading the plugin. + """ + #self._icon_id_file = idaapi.BADADDR + # attempt plugin initialization + try: + self._install_plugin() + + # failed to initialize or integrate the plugin, log and skip loading + except Exception as e: + form = ida_kernwin.get_current_tform() + pass + + return PLUGIN_KEEP + + def _install_plugin(self): + """ + Initialize & integrate the plugin into IDA. + """ + self.editor_menuaction() #same as line (49) + self._init() + + def term(self): + pass + + def run(self, arg = 0): + #we need the calls again if we wanna load it via File/Plugins/editor + ida_kernwin.msg("Python Editor Loaded to menu \n use Alt+E hot key to quick load ") + hackish = MyEditorHandler() #must be the same as line (53) change also hackish = must be unique also line (100) + hackish.activate(self) #hackish must the same as line hackish = (99) + +def PLUGIN_ENTRY(): + return ripeye() #must be unique for each plugin and same as line 43 \ No newline at end of file diff --git a/7.2/plugins/Code editor/template/Plugin_temp.py b/7.2/plugins/Code editor/template/Plugin_temp.py new file mode 100644 index 0000000..8198e1f --- /dev/null +++ b/7.2/plugins/Code editor/template/Plugin_temp.py @@ -0,0 +1,105 @@ +# Created by: Storm Shadow http://www.techbliss.org +import os +import ida_idaapi, ida_kernwin +import idc +from idc import * +from idaapi import * +import sys +sys.path.insert(0 , idaapi.idadir("plugins\\Code editor\\icons")) +import ico +from ico import * + + +PLUGIN_VERSION = "1.4" +IDAVERISONS = "IDA PRO 7.0+" +AUTHORS = "Storm Shadow" +DATE = "2017" +TWITTER = "Twitter @zadow28" + +def banner(): + banner_options = (PLUGIN_VERSION, AUTHORS, DATE, TWITTER, IDAVERISONS) + banner_titles = "Python Editor v%s - (c) %s - %s - %s - %s" % banner_options + +# print plugin banner + print("---[" + banner_titles + "]---\n") + +banner() + +# 1) Create the handler class +class MyEditorHandler(idaapi.action_handler_t): + def __init__(self): + idaapi.action_handler_t.__init__(self) + + # Run editor when invoked. + def activate(self, ctx): + g = globals() + idahome = idaapi.idadir("plugins\\Code editor") + IDAPython_ExecScript(idahome + "\\pyeditor.py", g) + + def update(self, ctx): + return idaapi.AST_ENABLE_ALWAYS + +class ripeye(idaapi.plugin_t): + flags = idaapi.PLUGIN_FIX + comment = "Run me" + help = "Python Editor" + wanted_name = "Python Editor" + wanted_hotkey = "" #the tooltip horkey goes away when setting it here DONT DO it! and only is shown in File/Plugins menu + + + def editor_menuaction(self): + action_desc = idaapi.action_desc_t( + 'my:editoraction', # The action name. This acts like an ID and must be unique + 'Python Editor!', # The action text. + MyEditorHandler(), # The action handler. + 'Ctrl+H', # Optional: the action shortcut DO IT HERE! + 'Script editor', # Optional: the action tooltip (available in menus/toolbar) + idaapi.load_custom_icon(":/ico/python.png") # hackish load action icon , if no custom icon use number from 1-150 from internal ida + ) + + # 3) Register the action + idaapi.register_action(action_desc) + + idaapi.attach_action_to_menu( + 'File/Editor...', # The relative path of where to add the action + 'my:editoraction', # The action ID (see above) + idaapi.SETMENU_APP) # We want to append the action after the 'Manual instruction... + + form = idaapi.get_current_tform() + idaapi.attach_action_to_popup(form, None, "my:editoraction", None) + + def init(self): + """ + This is called by IDA when it is loading the plugin. + """ + #self._icon_id_file = idaapi.BADADDR + # attempt plugin initialization + try: + self._install_plugin() + + # failed to initialize or integrate the plugin, log and skip loading + except Exception as e: + form = idaapi.get_current_tform() + pass + + return PLUGIN_KEEP + + + def _install_plugin(self): + """ + Initialize & integrate the plugin into IDA. + """ + self.editor_menuaction() + self._init() + + def term(self): + pass + + def run(self, arg = 0): + #we need the calls again if we wanna load it via File/Plugins/editor + idaapi.msg("Python Editor Loaded to menu \n use Alt+E hot key to quick load ") + hackish = MyEditorHandler() + hackish.activate(self) + +def PLUGIN_ENTRY(): + return ripeye() \ No newline at end of file diff --git a/7.2/plugins/Code editor/template/Plugin_wizard.py b/7.2/plugins/Code editor/template/Plugin_wizard.py new file mode 100644 index 0000000..51c7731 --- /dev/null +++ b/7.2/plugins/Code editor/template/Plugin_wizard.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'pluginwizard.ui' +# +# Created by: PyQt5 UI code generator 5.9 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_Wizard(object): + def setupUi(self, Wizard): + Wizard.setObjectName("Wizard") + Wizard.resize(727, 582) + font = QtGui.QFont() + font.setFamily("Calibri Light") + Wizard.setFont(font) + Wizard.setOptions(QtWidgets.QWizard.HelpButtonOnRight) + self.wizardPage1 = QtWidgets.QWizardPage() + font = QtGui.QFont() + font.setFamily("Calibri Light") + font.setPointSize(20) + self.wizardPage1.setFont(font) + self.wizardPage1.setObjectName("wizardPage1") + self.textBrowser_2 = QtWidgets.QTextBrowser(self.wizardPage1) + self.textBrowser_2.setGeometry(QtCore.QRect(130, 140, 421, 131)) + self.textBrowser_2.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_2.setObjectName("textBrowser_2") + Wizard.addPage(self.wizardPage1) + self.wizardPage = QtWidgets.QWizardPage() + self.wizardPage.setTitle("") + self.wizardPage.setSubTitle("") + self.wizardPage.setObjectName("wizardPage") + self.textBrowser_4 = QtWidgets.QTextBrowser(self.wizardPage) + self.textBrowser_4.setGeometry(QtCore.QRect(130, 140, 499, 239)) + self.textBrowser_4.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_4.setObjectName("textBrowser_4") + Wizard.addPage(self.wizardPage) + self.tempwizardPage = QtWidgets.QWizardPage() + self.tempwizardPage.setObjectName("tempwizardPage") + self.TemptextEdit = Qsci.QsciScintilla(self.tempwizardPage) + self.TemptextEdit.setGeometry(QtCore.QRect(-11, 9, 711, 391)) + self.TemptextEdit.setToolTip("") + self.TemptextEdit.setWhatsThis("") + self.TemptextEdit.setObjectName("TemptextEdit") + self.horizontalLayoutWidget = QtWidgets.QWidget(self.tempwizardPage) + self.horizontalLayoutWidget.setGeometry(QtCore.QRect(560, 410, 141, 51)) + self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.temppushButtonopen = QtWidgets.QPushButton(self.horizontalLayoutWidget) + self.temppushButtonopen.setObjectName("temppushButtonopen") + self.horizontalLayout.addWidget(self.temppushButtonopen) + self.temppushButtonsave = QtWidgets.QPushButton(self.horizontalLayoutWidget) + self.temppushButtonsave.setObjectName("temppushButtonsave") + self.horizontalLayout.addWidget(self.temppushButtonsave) + Wizard.addPage(self.tempwizardPage) + self.scriptwizardPage = QtWidgets.QWizardPage() + self.scriptwizardPage.setObjectName("scriptwizardPage") + self.textBrowser_5 = QtWidgets.QTextBrowser(self.scriptwizardPage) + self.textBrowser_5.setGeometry(QtCore.QRect(120, 130, 499, 239)) + self.textBrowser_5.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_5.setObjectName("textBrowser_5") + Wizard.addPage(self.scriptwizardPage) + self.wizardPage_3 = QtWidgets.QWizardPage() + self.wizardPage_3.setObjectName("wizardPage_3") + self.script_textEdit = Qsci.QsciScintilla(self.wizardPage_3) + self.script_textEdit.setGeometry(QtCore.QRect(-7, -1, 711, 401)) + self.script_textEdit.setToolTip("") + self.script_textEdit.setWhatsThis("") + self.script_textEdit.setObjectName("script_textEdit") + self.horizontalLayoutWidget_2 = QtWidgets.QWidget(self.wizardPage_3) + self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(480, 410, 221, 51)) + self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_2) + self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.scriptGrabpushButton = QtWidgets.QPushButton(self.horizontalLayoutWidget_2) + self.scriptGrabpushButton.setObjectName("scriptGrabpushButton") + self.horizontalLayout_2.addWidget(self.scriptGrabpushButton) + self.scriptpushButtonopen = QtWidgets.QPushButton(self.horizontalLayoutWidget_2) + self.scriptpushButtonopen.setObjectName("scriptpushButtonopen") + self.horizontalLayout_2.addWidget(self.scriptpushButtonopen) + self.scriptpushButtonsave = QtWidgets.QPushButton(self.horizontalLayoutWidget_2) + self.scriptpushButtonsave.setObjectName("scriptpushButtonsave") + self.horizontalLayout_2.addWidget(self.scriptpushButtonsave) + Wizard.addPage(self.wizardPage_3) + self.wizardPage_2 = QtWidgets.QWizardPage() + font = QtGui.QFont() + font.setPointSize(20) + self.wizardPage_2.setFont(font) + self.wizardPage_2.setObjectName("wizardPage_2") + self.textBrowser_6 = QtWidgets.QTextBrowser(self.wizardPage_2) + self.textBrowser_6.setGeometry(QtCore.QRect(170, 140, 411, 191)) + self.textBrowser_6.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textBrowser_6.setObjectName("textBrowser_6") + Wizard.addPage(self.wizardPage_2) + + self.retranslateUi(Wizard) + QtCore.QMetaObject.connectSlotsByName(Wizard) + + def retranslateUi(self, Wizard): + _translate = QtCore.QCoreApplication.translate + Wizard.setWindowTitle(_translate("Wizard", "Ida Pro Plugin Wizard")) + self.textBrowser_2.setHtml(_translate("Wizard", "\n" +"\n" +"

Welcome to the plugin wizard.

\n" +"

Please follow the steps in the wizard, to tranform your code, to a full Ida Pro plugin.

")) + self.textBrowser_4.setHtml(_translate("Wizard", "\n" +"\n" +"

First we create the plugin loader

\n" +"

Then we change the higlightet text in the template, and then save the plugin loader in Ida Pro Plugins folder.

")) + self.temppushButtonopen.setText(_translate("Wizard", "Open")) + self.temppushButtonsave.setText(_translate("Wizard", "Save")) + self.textBrowser_5.setHtml(_translate("Wizard", "\n" +"\n" +"

Now we grab the editors current script, or open a new script.
Remember to save this in the right folder.
Plugins\\My_plugin_folder as declared in the template.

\n" +"


")) + self.scriptGrabpushButton.setText(_translate("Wizard", "Grab from Editor")) + self.scriptpushButtonopen.setText(_translate("Wizard", "Open")) + self.scriptpushButtonsave.setText(_translate("Wizard", "Save")) + self.textBrowser_6.setHtml(_translate("Wizard", "\n" +"\n" +"

Loader Template should now be in
ida pro\\plugin
script should be in a subfolder
ida pro\\plugin\\Myplugin\\

\n" +"

If above are correct your good to go!

")) + +from PyQt5 import Qsci + diff --git a/7.2/plugins/Code editor/template/__init__.py b/7.2/plugins/Code editor/template/__init__.py new file mode 100644 index 0000000..a61dfee --- /dev/null +++ b/7.2/plugins/Code editor/template/__init__.py @@ -0,0 +1 @@ +__author__ = 'Storm Shadow' \ No newline at end of file diff --git a/7.2/plugins/Python_editor.py b/7.2/plugins/Python_editor.py new file mode 100644 index 0000000..7450b1b --- /dev/null +++ b/7.2/plugins/Python_editor.py @@ -0,0 +1,107 @@ +# Created by: Storm Shadow http://www.techbliss.org +import os, sys +import ida_idaapi, ida_kernwin, ida_idaapi, ida_loader +import idc +from idc import * +from ida_diskio import * +from ida_idaapi import * +from ida_loader import * +import sys +sys.path.insert(0 , ida_diskio.idadir("plugins\\Code editor\\icons")) +import ico +from ico import * + +PLUGIN_VERSION = "1.6" +IDAVERISONS = "IDA PRO 7.2+" +AUTHORS = "Storm Shadow" +DATE = "2019" +TWITTER = "Twitter @zadow28" + +def banner(): + banner_options = (PLUGIN_VERSION, AUTHORS, DATE, TWITTER, IDAVERISONS) + banner_titles = "Python Editor v%s - (c) %s - %s - %s - %s" % banner_options + +# print plugin banner + print("---[" + banner_titles + "]---\n") + +banner() + +# 1) Create the handler class +class MyEditorHandler(ida_kernwin.action_handler_t): + def __init__(self): + ida_kernwin.action_handler_t.__init__(self) + + # Run editor when invoked. + def activate(self, ctx): + g = globals() + idahome = ida_diskio.idadir("plugins\\Code editor") + tupac = str(idahome + "\\pyeditor.py") + ida_kernwin.load_custom_icon(":/ico/python.png") + load_and_run_plugin(tupac, True) + def update(self, ctx): + return ida_kernwin.AST_ENABLE_ALWAYS + +class ripeye(ida_idaapi.plugin_t): + flags = ida_idaapi.PLUGIN_FIX + comment = "Run me" + help = "Python Editor" + wanted_name = "Python Editor" + wanted_hotkey = "" #the tooltip horkey goes away when setting it here DONT DO it! and only is shown in File/Plugins menu + + + def editor_menuaction(self): + action_desc = ida_kernwin.action_desc_t( + 'my:editoraction', # The action name. This acts like an ID and must be unique + 'Python Editor!', # The action text. + MyEditorHandler(), # The action handler. + 'Ctrl+H', # Optional: the action shortcut DO IT HERE! + 'Script editor', # Optional: the action tooltip (available in menus/toolbar) + ida_kernwin.load_custom_icon(":/ico/python.png") # hackish load action icon , if no custom icon use number from 1-150 from internal ida + ) + + # 3) Register the action + ida_kernwin.register_action(action_desc) + + ida_kernwin.attach_action_to_menu( + 'Edit/Editor...', # The relative path of where to add the action + 'my:editoraction', # The action ID (see above) + ida_kernwin.SETMENU_APP) # We want to append the action after the 'Manual instruction... + + form = ida_kernwin.get_current_tform() + ida_kernwin.attach_action_to_popup(form, None, "my:editoraction", None) + + def init(self): + """ + This is called by IDA when it is loading the plugin. + """ + #self._icon_id_file = ida_diskio.BADADDR + # attempt plugin initialization + try: + self._install_plugin() + + # failed to initialize or integrate the plugin, log and skip loading + except Exception as e: + form = ida_kernwin.get_current_tform() + pass + + return PLUGIN_KEEP + + + def _install_plugin(self): + """ + Initialize & integrate the plugin into IDA. + """ + self.editor_menuaction() + self._init() + + def term(self): + pass + + def run(self, arg = 0): + #we need the calls again if we wanna load it via File/Plugins/editor + ida_kernwin.msg("Python Editor Loaded to menu \n use Alt+E hot key to quick load ") + hackish = MyEditorHandler() + hackish.activate(self) + +def PLUGIN_ENTRY(): + return ripeye() \ No newline at end of file