PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  lY7@sdZdZddlZddlZddlZddlZddlZddlZy ejZ Wn0e k rej dkrdZ ndZ YnXd Z ej d ejZejd d d d dZddZej dejZej dejZej dejZdZd#d$Zd d d ed%d&d'Zd(d)Zd d d ed*d+Zd,dd-d.Zd d/d0Zej d1Zd d d dd2d3Zdd5dd6dd8dd9dd;dd<dd=dd?dd@ddBddCi Zdd8ddDddEddFddGddHiZ d d d d dIdJZ!dKdLZ"d dd dMdNZ#dOdPZ$d d dddQdRZ%dSdTZ&dUdVZ'd dWdXZ(dYdZZ)d d[d\Z*d d]d^Z+ddddddiZ,ejd d dbdcZ-ej.dddeZ/da0dfdgZ1dhdiZ2djdkZ3dldmZ4dndoZ5dpdqZ6drdsZ7ej dtejZ8ej duejZ9ej dvZ:ej dwZ;iZ<ddxdyZ=dzd{Z>d|d}Z?d~dZ@ddZAddZBddZCddZDiZEddddZ eFdkrdejGkpZdejGkZHdejGkoxdejGkZIeJe eIeHejKddS)a Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation or portions thereof, including modifications, that you make. EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE ! z1.0.7Ndoswin32win16ZNULz /dev/nullz/etcsC(__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)i@c Csttjdr$tjj|}t|d[}|j|}d}x<d|ksfd|kr{tj||}nd}|s|j|}|sPd}qNdd|jD\}} } } } } |r| rd}n| r|d krd }| }qz| |krz| }n]| rz|d krzd}| rM| |krM| }| rz|t |  d| krz|| }|j }qNWWdQRX||fS) NrealpathrbrslibcsGLIBCcSs1g|]'}|dk r'|jdn|qS)Nlatin1)decode).0sr '/opt/python35/lib/python3.5/platform.py s zlibc_ver..Zlibcglibc) hasattrospathropenread _libc_searchsearchgroupslenend) executablelibversion chunksizefbinaryposmZlibcinitrZ glibcversionZsothreadsZ soversionr r r libc_versD "       # r#c Cstjjdrd}xtdD]v}|j}t|dkr%|\}}nq%|dkrv|j}q%|dkr%|jd}|d}q%W|||fStjjdrxVtdD]H}|jd}t|dkr|dd krd |d |fSqWtjjd rtjd } xEt t| d ddD]'} | | dd d krU| | =qUW| r| j d}| dd d}|||fS|||fS)Nz/var/adm/inst-log/infoSuSEZMIN_DIST_VERSIONZ DIST_IDENT-z/etc/.installedrZ OpenLinuxz/usr/lib/setupzslack-version- slackwarer*r*) rrexistsrsplitrstripisdirlistdirrangesort) distnameridlineZtvtagvaluevaluesZpkgZverfilesnr r r _dist_try_harders:     "#   r9z(\w+)[-_](release|version)z'(.+) release ([\d.]+)[^(]*(?:\((.+)\))?z1([^0-9]+)(?: release )?([\d.]+)[^(]*(?:\((.+)\))?r$debianfedoraredhatcentosmandrakemandrivarocksr) yellowdoggentoo UnitedLinux turbolinuxarchmageiacCsd}d}tj|}|dk r7t|jStj|}|dk rbt|jS|jj}|r|d}t|dkr|d}d||fS)Nrrr')_lsb_release_versionmatchtupler_release_versionr-r,r) firstlinerr3r!lr r r _parse_release_files    rMr'cCs8ddl}|jdtddt|||||S)NrzFdist() and linux_distribution() functions are deprecated in Python 3.5 stacklevelr%)warningswarnPendingDeprecationWarning_linux_distribution)r2rr3supported_distsfull_distribution_namerOr r r linux_distribution,s    rUcCs,ytjt}Wntk r4|||fSYnX|jx^|D]F}tj|}|dk rF|j\}} ||krF|}PqFWt|||St tj j t|ddddd} | j } WdQRXt | \}} } |r|r|}| r| }| r| }|||fS)Nrencodingzutf-8errorssurrogateescape)rr/ _UNIXCONFDIROSErrorr1_release_filenamerHrr9rrjoinreadlinerM)r2rr3rSrTZetcfiler!Z _distnamedummyrrKZ_versionZ_idr r r rR6s0      rRcCs>ddl}|jdtddt|||d|ddS)NrzFdist() and linux_distribution() functions are deprecated in Python 3.5rNr%rSrT)rOrPrQrR)r2rr3rSrOr r r distls    rarVcCs5ddl}|jdtddtj|||S)Nrzuse os.popen insteadrNr%)rOrPDeprecationWarningrpopen)cmdmodebufsizerOr r r rcs rcc Cs|jd}|r"|j|ytt|}Wntk rO|}YnXttt|}dj|dd}|S)N.)r,appendmapint ValueErrorliststrr])rbuildrLZintsstringsr r r _norm_versions   rqz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])c Cs2tj|kr|||fSx~dD]i}y7tj|}|j}|jr_tdWn(tk r}zw#WYdd}~Xq#XPq#W|||fS|j}tj |}|dk r%|j \}}}|ddkr|dd }|d dkr|dd }t |}|||fS) Nvercommand /c ver cmd /c verzcommand failedr'rg)rrrsrtr*r*r*r*) sysplatformrrcrcloser[r- _ver_outputrHrrq) systemreleaserZsupported_platformsrdpipeinfowhyr!r r r _syscmd_vers,        r~Z2000ZXPr%Z 2003ServerZpost2003Vista78rhz8.1zpost8.1 Z10Zpost10Z 2008ServerZ 2008ServerR2Z 2012ServerZ 2012ServerR2Zpost2012ServerR2c(Csyddlm}Wn"tk r8||||fSYnXy&ddlm}m}m}m}Wn4tk rddlm}m}m}m}YnX|} | j p| dd\} } } dj | | | }t j | | fpt j | dfp|}| dd| | fkrwydj | j }Wn<tk rv|ddd krrd |dd}YnXt| d ddkrtj | | fptj | dfp|}d} z5y&||d } || d d}WnYnXWd| r || X||||fS)Nr)getwindowsversion) OpenKeyEx QueryValueExCloseKeyHKEY_LOCAL_MACHINErhz {0}.{1}.{2}r%zSP{} z Service Pack ZSPZ product_typez,SOFTWARE\Microsoft\Windows NT\CurrentVersionZ CurrentType)rur ImportErrorwinregrrrr_winregZ_platform_versionformat_WIN32_CLIENT_RELEASESgetZservice_pack_majorAttributeErrorgetattr_WIN32_SERVER_RELEASES)rzrcsdptyperrrrrZwinverZmajminrokeyr r r win32_versD & ' "    rcCsd}tjj|sdSyddl}Wntk rDdSYnXt|d}|j|}WdQRX|d}d }tjj}|d krd}|||fS) Nz0/System/Library/CoreServices/SystemVersion.plistrrZProductVersionrppcPower MacintoshZPowerPC)rrr)rr) rrr+plistlibrrloadunamemachine)fnrrplrz versioninforr r r _mac_ver_xml%s    rcCs&t}|dk r|S|||fS)N)r)rzrrr|r r r mac_ver;s  rc CsTddlm}y'|j|}|dkr2|S|SWntk rO|SYnXdS)Nr)System) java.langrZ getPropertyr)namedefaultrr6r r r _java_getpropNs  rc Csyddl}Wn"tk r4||||fSYnXtd|}td|}|\}}}td|}td|}td|}|||f}|\}} } td| } td|}td | } || | f}||||fS) Nrz java.vendorz java.versionz java.vm.namezjava.vm.vendorzjava.vm.versionz java.os.archz java.os.namezjava.os.version)rrr) rzvendorvminfoosinfojavaZvm_nameZ vm_releaseZ vm_vendoros_name os_versionos_archr r r java_verYs"  rc Cs|dkrd|||fS|dkr|dkrB|||fS|jd}|ryt|d}Wntk rYn*X|d}t||dsz_platform.. _/\:;"()unknownrz--r'r*r*)r]filterrreplace)argsrvZcleanedr r r _platforms$%  rcCsTyddl}Wntk r(|SYnXy|jSWntk rO|SYnXdS)Nr)socketr gethostnamer[)rrr r r _nodes   rcCsetjj|}xLtjj|r`tjjtjjtjj|tj|}qW|S)N)rrabspathislinknormpathr]dirnamereadlink)filepathr r r _follow_symlinkss  1rc Cstjdkr|Sytjd|tf}Wnttfk rN|SYnX|jj}|j }| sz|r~|S|SdS)Nrrrzuname %s 2> %s)rrr) rurvrrcDEV_NULLrr[rr-rw)optionrroutputrcr r r _syscmd_unames   rc Cstjd kr|St|}y+tjd|gdtjdtj}Wnttfk rh|SYnX|j dj d}|j }| s|r|S|SdS) Nrrrr_stdoutstderrrzlatin-1)rrr) rurvr subprocessPopenPIPESTDOUTrr[ communicater wait)targetrprocrrr r r _syscmd_files     r WindowsPErMSDOSc Cs|s`ddl}y|jd}Wn$|jk rK|jd}YnXt|dd}|rxt|d}nd}| r|tjkrtjtkrttj\}}|r|}|r|}||fSd|kr||fSd|krd }n'd |krd }nd |kr*d }d|kr?d}nTd|krid|kr`d}qd}n*d|kr~d}nd|krd}n||fS)NrPrLZbitrrz32-bit32bitZN32Zn32bitz64-bitrZELFZPErrZCOFFzMS-DOSr) structcalcsizeerrorrnrrurrv_default_architecture)rbitslinkagersizeZfileoutbrLr r r architecture"sL                   r uname_resultz-system node release version machine processorcCs}d}tdk rtSd}ytj\}}}}}Wntk rUd}YnX|sttd|||||f r6|rtj}d}d}t}d}d}|dkrAt \}}}} |r|rd}|s&dtj krtj j dd}ntj j dd}|sAtj j d|}|rt |\}}}|dkrqd }nC|d kr|d krd }d |dd krd }nd}|dkr|s|dkrd}nd}d }nL|dddkr6t \}} } } d}dj| }|s6| }|dkr| sU|dkra|}d}yddl} Wntk rYn4X| jdd\}}|dkrd}nd}|stdd}|dkrd}|dkrd}|dkrd}|dkrd}|dkr(d}|dkr:d}|d kr^|d kr^d }d }t||||||atS)Nrrr'rZPROCESSOR_ARCHITEW6432ZPROCESSOR_ARCHITECTUREZPROCESSOR_IDENTIFIERzMicrosoft WindowsrZ Microsoftz6.0rhrrrZ16bitrJavaz, ZOpenVMS0zSYI$_CPUZAlphaZVAXz-pr)rr) _uname_cacherrrrmrrurvrrenvironrr~rr]vms_librZgetsyirr)Z no_os_uname processorrynoderzrrZuse_syscmd_verrrrrrrZcsidZ cpu_numberr r r r{s    +                      rcCs tjS)N)rryr r r r rysrycCs tjS)N)rrr r r r rsrcCs tjS)N)rrzr r r r rzsrzcCs tjS)N)rrr r r r r!srcCs tjS)N)rrr r r r r*srcCs tjS)N)rrr r r r r3s rzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?z;IronPython\s*([\d\.]+)(?: \(([\d\.]+)\))? on (.NET [\d\.]+)zU([\d.]+)\s*\(IronPython\s*[\d.]+\s*\(([\d.]+)\) on ([\w.]+ [\d.]+(?: \(\d+-bit\))?)\)zE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?cCs|dkrtj}tj|d}|dk r7|Sd|krd}|jdrjtj|}ntj|}|dkrtdt ||j \}}}d}d}natj jdrAd}t j|}|dkrtdt ||j \}}}} } |dkr5d}tj }nd|krd}t j|}|dkrtdt ||j \}}}} d}n{t j|}|dkrtd t ||j \}}}} }d }|dkr d}n| r |d | }ttd rDtj\} } } nTttd rhtj\} } } n0ttdrtj\} } } n d} d} |jd} t| dkr| jddj| }||| | |||f}|t|<|S)NZ IronPythonz*failed to parse IronPython sys.version: %srrZJythonz&failed to parse Jython sys.version: %sZPyPyz$failed to parse PyPy sys.version: %sz'failed to parse CPython sys.version: %sZCPythonr_git _mercurial subversionrgr%r)rur_sys_version_cacher startswith_ironpython_sys_version_parserrH _ironpython26_sys_version_parserrlreprrrv_sys_version_parser_pypy_sys_version_parserrrrrr,rrir]) sys_versionresultrrHrZ alt_versionZcompilerZbuildnoZ builddateZ buildtimerZbranchZrevisionrLr r r _sys_version]s|                 rcCs tdS)Nr)rr r r r python_implementations rcCs tdS)Nr')rr r r r python_versionsrcCsttdjdS)Nr'rg)rIrr,r r r r python_version_tuples rcCs tdS)Nr%)rr r r r python_branchs r cCs tdS)Nrh)rr r r r python_revisions r cCstddS)Nrr)rr r r r python_buildsr cCs tdS)Nr)rr r r r python_compiler sr cCs|tj||fd}|dk r(|St\}}}}}}||krUd}|rvt|||\}}}|dkrt|\} } } } |rt||} qht|||| } n|d krztj-tjddt t d\}}}WdQRX|rC| rCt||||d|||} qht t j \}}t||||d||} n|dkrt\}}}\}}}|s| rt|||} qht|||d|||} n|d kr |r t||} qht|||} nH|r8t||} n0tt j \}}t||||||} | t||f<| S) NrrLinuxignorez?dist\(\) and linux_distribution\(\) functions are deprecated .*withrZonZMacOS)r )_platform_cacherrrrrrOcatch_warningsfilterwarningsrQrar#rurrr)aliasedterserryrrzrrrZrelZversrrrvr2Z distversionZdistidZlibcnameZ libcversionrVvrrrrrrr r r rvs\           rv__main__rz--terseZ nonaliasedz --nonaliased)rrr)r$r:r;r<r=r>r?r@r)rArBrCrDrErFr*)rrr)rr)rr')rr%)rN)rr)rr')rr%)rrh)rN)rr)rN)rr%)rr)rr')rr%)rrh)rN)rrr)rrr)rrr)rr)rr)rr)LZ __copyright__ __version__ collectionsrurrerrOdevnullrrrvrZcompileASCIIrrr#r9r\rGrJZ_supported_distsrMrUrRrarcrqrxr~rrrrrrrrrrrrrrr namedtuplerrrryrrzrrrrrrrrrrrrr r r r r__name__argvrrprintexitr r r r ps 0        7 0       6  0  0  # 6   T       k   [