MZ@ !L!This program cannot be run in DOS mode. $AԈAԈAԈ#˛EԈAԉԈ˂GԈˌKԈRichAԈPELN;! 0Ps4@FJA0A@.textN%0 `.rdata @@@@.data0+P0P@.relocH@BD$SUVWhLrP3tAu _^][Ë$L$QVu _^][xANT$D$RPQ!W|Au_^][ËVFN RPQSuS!_^][ËT$ND$RPQ! tVWhHrA Hu WWRtHu FVP_^][Ð!toV5PP\r {t;t {quQRPhTrA t!{VPlAHu NVQ3^Ë{RpAÐdAhx]|]hAtL$T$HL$ P T$HPÐD$ Wu`A_A`AË|$ 3fȃtjWPhprA_SVWG3ۅt2fGP%PVhlrA؋ Hu NVQ^[_ÐdD$hHQ3ɁD$hR33T$nD$oQRPL$htrQ@T$R\AĀÐD$@ t {hrQXA3ËT$ÐL$D$PhrQtA uVxAL$D$ 3҅D$ T$ QPh~fRV|A`A^A`AÐD$ L$T$Vt$W=tAPQRhrV׃t@D$D$ D$T$ D$L$ RT$PD$$QRHQd}:)_^TAL$ T$QD$RL$PQhrV׃u_^á`A_^A`AÐD$L$PD$ T$QRhrPD$tAD$uLL$T$QL$D$D$ RT$ PQBD$ P} ]ËL$QA=PjHAD$T$RPLAT$ L$PD$PBQP/}%D$JD$8u HPQËT$D$RPPAD$$Ë {hrQXA3ÐL$D$WPhrQtA u_ËL$|$T$D$RPQWbu_VxAT$OD$ RPQhV|A^} _á`A_A`AÐL$VA t{hTsPXA3^ËAqL$ A;tAH QhsPA 3^ÍT$ D$RPhsQtAu^ËL$VQ>}3^ËT$ fRL$fFD$0^Ð 3SUl$VW|$ AAA u_E^][ <jhyV1jhyV$HjhyVjhyVj hxyVj@hhyVhh\yVhhLyVHhh@yVhh4yVhh(yVhhyVhhyVzhhyVjHhhxVWhhxVGjhxV:jhxV-jhxV jhxVHhhxVjhxVjhxVjhxVjhxVjhxVHjhpxVjhdxVjhXxVj hLxVjh@xV{jh4xVnHjMh(xV^hhxVNhhxV>hhxV.hhwVjhwVHjhwVhhwVhhwVhhwVhhxwVjhlwVHjh`wVjhXwVjhPwVjh@wV}jh,wVpjhwVcHjhwVSjhvVFjhvV9jhvV,jhvVjhvVH_^ÐD$ VPAtL$ T$VQR4A tTAtHu FVP^ÐD$dPh=k'/t&t =&'tZ'h1hz==l't1PD$hzP@DAL$ QPXA3hz DARXA3Ð7%@%@% @%@%|@%@%@%x@%@%@%l@%h@%d@%`@%\@%P@%X@%T@%L@%t@%p@%@%@%@%@%@%@%@%@%@%@%A%@%@%@%A%@%@%@%@%@%@%@%@%@%@%@%A%@%@%@%A%|A%xA%tA%pA%lA%hA%\A%XA%TA%PA%LA%HA%A%A% A%$A%(A%,A%0A%4A%8A%_PyObject_NewPyType_Type\_Py_NoneStructPyString_FromStringUPyErr_SetString@PyErr_ClearB_PyString_ResizePyString_AsStringPyString_FromStringAndSizePyInt_FromLongDPyErr_FormatPyExc_TypeErrorPyTuple_Type<_PyObject_Del Py_FindMethodPyList_AppendPyList_New6PyDict_New9PyDict_SetItemStringFPyErr_NewExceptionPyModule_GetDictPy_InitModule4vPyExc_ImportErrorpython21.dllsprintfsscanf_errnoOfflush_iobMSVCRT.dllU__dllonexit_onexit^free_inittermmalloc_adjust_fdiv]DisableThreadLibraryCallsKERNEL32.dllN;FFFF+F_socket.pydinit_socket'0r'r'r'q&'q('q3'q4'|q5'\q6''dp?'Dp@',pA' pB'oC'oD'oE'oF'oG'doH'HoI'0oJ' oK'nL'nM'nN'nO'nP'xnQ'dnR'PnS' (socket object, address info) Wait for an incoming connection. Return a new socket representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port).setblocking(flag) Set the socket to blocking (flag is true) or non-blocking (false). This uses the FIONBIO ioctl with the O_NDELAY flag.setsockopt(level, option, value) Set a socket option. See the Unix manual for level and option. The value argument can either be an integer or a string.getsockopt(level, option[, buffersize]) -> value Get a socket option. See the Unix manual for level and option. If a nonzero buffersize argument is given, the return value is a string of that length; otherwise it is an integer.bind(address) Bind the socket to a local address. For IP sockets, the address is a pair (host, port); the host must refer to the local host. For raw packet sockets the address is a tuple (ifname, proto [,pkttype [,hatype]])close() Close the socket. It cannot be used after this call.connect(address) Connect the socket to a remote address. For IP sockets, the address is a pair (host, port).connect_ex(address) This is like connect(address), but returns an error code (the errno value) instead of raising an exception when an error occurs.fileno() -> integer Return the integer file descriptor of the socket.getsockname() -> address info Return the address of the local endpoint. For IP sockets, the address info is a pair (hostaddr, port).getpeername() -> address info Return the address of the remote endpoint. For IP sockets, the address info is a pair (hostaddr, port).listen(backlog) Enable a server to accept connections. The backlog argument must be at least 1; it specifies the number of unaccepted connection that the system will allow before refusing new connections.recv(buffersize[, flags]) -> data Receive up to buffersize bytes from the socket. For the optional flags argument, see the Unix manual. When no data is available, block until at least one byte is available or until the remote end is closed. When the remote end is closed and all data is read, return the empty string.recvfrom(buffersize[, flags]) -> (data, address info) Like recv(buffersize, flags) but also return the sender's address info.send(data[, flags]) Send a data string to the socket. For the optional flags argument, see the Unix manual.sendto(data[, flags], address) Like send(data, flags) but allows specifying the destination address. For IP sockets, the address is a pair (hostaddr, port).shutdown(flag) Shut down the reading side of the socket (flag == 0), the writing side of the socket (flag == 1), or both ends (flag == 2).lQlTlpUlU|lp8VtlVhlW\l0WPlPSHl(X@lX4l string Return the current host name.gethostbyname(host) -> address Return the IP address (a string of the form '255.255.255.255') for a host.gethostbyname_ex(host) -> (name, aliaslist, addresslist) Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number.gethostbyaddr(host) -> (name, aliaslist, addresslist) Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number.getservbyname(servicename, protocolname) -> integer Return a port number from a service name and protocol name. The protocol name should be 'tcp' or 'udp'.getprotobyname(name) -> integer Return the protocol number for the named protocol. (Rarely used.)socket(family, type[, proto]) -> socket object Open a socket of the given type. The family argument specifies the address family; it is normally AF_INET, sometimes AF_UNIX. The type argument specifies whether this is a stream (SOCK_STREAM) or datagram (SOCK_DGRAM) socket. The protocol argument defaults to 0, specifying the default protocol.ntohs(integer) -> integer Convert a 16-bit integer from network to host byte order.ntohl(integer) -> integer Convert a 32-bit integer from network to host byte order.htons(integer) -> integer Convert a 16-bit integer from host to network byte order.htonl(integer) -> integer Convert a 32-bit integer from host to network byte order.inet_aton(string) -> packed 32-bit IP representation Convert an IP address in string format (123.45.67.89) to the 32-bit packed binary format used in low-level network functions.inet_ntoa(packed_ip) -> ip_address_string Convert an IP address from 32-bit packed binary format to string formatssl(socket, keyfile, certfile) -> sslobjectk*k*k)k)k **k`!^k!^k#X_k ]k $(`tk$`k %,alk%bdk&b\k@&8cTk&cHk&c:closeO:connectO:connect_ex:fileno:getsockname:getpeernamei:listeni|i:recvi|i:recvfroms#|i:sends#iO:sendtos#O:sendtoi:shutdown:gethostnames:gethostbynames:gethostbyname_exsOOs:gethostbyaddrservice/proto not foundss:getservbynameprotocol not founds:getprotobynameii|i:socketi:ntohsi:ntohli:htonsi:htonlillegal IP address string passed to inet_atons:inet_atonpacked IP wrong length for inet_ntoas#:inet_ntoaO!zz:sslSSL_connect errorSSL_CTX_use_certificate_chain_file errorBoth the key & certificate files must be specifiedSSL_CTX_use_PrivateKey_file errorSSL_CTX_new errornewSSLObject errors#:write|i:readTCP_NODELAYIP_MAX_MEMBERSHIPSIP_DEFAULT_MULTICAST_LOOPIP_DEFAULT_MULTICAST_TTLIP_DROP_MEMBERSHIPIP_ADD_MEMBERSHIPIP_MULTICAST_LOOPIP_MULTICAST_TTLIP_MULTICAST_IFIP_TTLIP_TOSIP_OPTIONSINADDR_NONEINADDR_MAX_LOCAL_GROUPINADDR_ALLHOSTS_GROUPINADDR_UNSPEC_GROUPINADDR_LOOPBACKINADDR_BROADCASTINADDR_ANYIPPORT_USERRESERVEDIPPORT_RESERVEDIPPROTO_MAXIPPROTO_RAWIPPROTO_NDIPPROTO_IDPIPPROTO_UDPIPPROTO_PUPIPPROTO_TCPIPPROTO_GGPIPPROTO_IGMPIPPROTO_ICMPIPPROTO_IPSOL_UDPSOL_TCPSOL_IPSOL_SOCKETMSG_DONTROUTEMSG_PEEKMSG_OOBSOMAXCONNSO_TYPESO_ERRORSO_RCVTIMEOSO_SNDTIMEOSO_RCVLOWATSO_SNDLOWATSO_RCVBUFSO_SNDBUFSO_OOBINLINESO_LINGERSO_USELOOPBACKSO_BROADCASTSO_DONTROUTESO_KEEPALIVESO_REUSEADDRSO_ACCEPTCONNSO_DEBUGSOCK_RDMSOCK_SEQPACKETSOCK_RAWSOCK_DGRAMSOCK_STREAMAF_APPLETALKAF_IPXAF_INETAF_UNSPECSocketTypeerrorSSLTypesslerrorsocket.sslerrorsocket.error_socketWSAStartup failed: requested version not supportedWSAStartup failed: error code %dWSAStartup failed: network not ready 00T0r000,11161>1M1`1f1t1|111111112"2(2V2\2222222*313@3o3t333334-494g4v444 5^5o5t5{5555566>6C6J6W6k6t6}666-777 88)8.858u8|88888889;9R9]9~999999: :":<:C::::;;;Y;;;;;; <#<2;>A>>>>> ?/???W?p????  00!0>0Q0[0v000000001"1J1m1t1111252:2A2S2223J3P333331484I4c4q4v4}444444445595H5[5z5555 66*6J6Q6o66666666670777L7Q7X7r7777777777)8F8L8R8888888888%9+91999@999i::::::: ;;7;c;j;v;;;;;;;<< <<<<'<3=K=X=e=r========== >>,>?>O>\>i>v>>>>>>>>>>???(?8?H?X?h?x??????????0 00&030C0P0]0j0w00000151H1O1U1c1t1z11111111111111122 2222$2*20262<2B2H2N2T2Z2`2f2l2r2x2~222222222222222222222233333 3&3,32383>3D3J3P3V3\3b3h3n3t3z33333333333344444(454?4T4`4f4444555$515>5J5P00$0,040<0D0L0T0\0d0l0t0|000000000000000001 111$1,141<1D1L1T1\1d1l1t1|1111111X<\