MZ@ !L!This program cannot be run in DOS mode. $E5[[[Ț[SZ[S^ [S_ [SX[Z[dZ[Z[S[[[[Y[Rich[PELU^! rr @P H T@.textXpr `.rdata ]^v@@.data< @.rsrc  @@.reloc @BUEu E]%]̅t uQYU(3ʼnEVhDžjPDžDžDžDžn5L 3fEEjj jjjjPPfERPRPRPj#DžDžPfMDM^3k^]U,3ʼnEVhDžjPDžDžDžDžn5L 3fEEjj jjjjPPfERPRPRPj#DžDžPfMDM^3]]U3ʼnESVWQ؃hhjPkm5L DžXDž\ Dž`jjjjjjRPjjRP֋ȉPTT3FRQdXjPXu;VStVS$tȑTP`rM_^3[\]̡h(0h3 tP0,á0tVhDQhT tV54u V3^Vh|QhT tV50u V3^UQSVWh3EEPh~fwSDt  P1,_^[]U(3ʼnESىVWCM |(UrjPQRC3}DžDžtDžhKAVPtPjjPQWDy_^[M3tZ]u_^[M3\Z]ËM3_^3[IZ]USVWUUM}|t EE]5 EEE}u}G}t|M+ȋEE|MEEЉUuUPQ6 u*t։='uZMUdhu uUWD 5 t։='u"t_^[]Ë}$|/ v'֋MU=3'=3'u MUuJGЃ_^[]Åt3_^[]Åt3'_^[]h5(h_^[]USىUVWK$C EM| t3ɋ5 33҉M}}Ut|+ȋE"E|M‰}EEEUjPQ^ u&='MUs$hu SUWD 5 ='ută_^[]Ã{$|2{ v*֋}MU=3'=3'u MUCЃ_^[]h5(h_^[]_^3[]UEW @G E GEGDWGO G$|\rVVhEEPh~fwVD^t P0,u _]3_]U$3SVWىGGG 8/EEEEEE EEEhj5,EPEPhjVD5,tCh|ShT tV50u V_^[]ËuFt2t&Vh0h_^[]û~tVhƋNE;sPvWe V_^[]ùÊ:utP:Quu3ZÍd$:utP:Quu3"u tuGPSjtuIj%S|u9GGG GGGGPSj~f_^[]3uE܉EEEEEEhj5,EPEPjSVD5,ty_^[]ËuEN;sPvW(d Vt8OhE tt hGf_^[]U3ʼnEjEPAPju 0t3M3R]ÍEP(M3R]UH3ʼnEjAEPAPju 0t3M3OR]ÍEP(M34R]U}Vu^]SWt[tjFPQh@_[^]ËC3ۅtkvv PFPܐPWh8-3ۅt/NQܐQWh4 u W_[^]̋tuPYUVuu"M t1u P^]W} F@TtV\VG 4;QPxF@TtxFuVN`<`u* t@Ƀ$ΉOVkN$OV`jhDV uhLtHOP7p hh0` 3_^]VpVGOЃqAu+;t6tu Ph0h_3^]_^]USVWC 7t!uh0` 3_^[]ËBEEEE@Tu$p uh<0`3_^[]ÍEPEPEPEPhPhpRu֋MjjMtEu QM}v uhfC QfufFFEFE _^[]ËBEE@Tup uhEPEPhPhRu50tuh 0` 3_^[]Ëu֋MjjMtEu QxE=wPffFE _^[]̋A t)th0h3UEVu 6vp3ɉF^]U3ĉ$VuWD$F t7t+h0h3_^$3L]øPD$D$$jP\D$ D$3ҍD$ ΉD$D$Ph`"y3_^$36L]Ët$jjV\u)PVD$_^$3K]VtQt$T$(tVWj  D$u Wtu V$D$_^3K]UQSu ؃u XuoVWQuF V$h3ɍEPh~fvMWDt P0,_^u3[]á[]UEH H$t  ]ádd]USV;ujV3^[]jRV xxN$|s`h0h^[]jURQP@jv3ۅ6 |=wth,0h^[]UU L$ SVW(}D$L$O G$ |s3h\$ D$ Ph~fwVDt P0,t_^[]_^3[]UEH @$|s]PQl$x]U@EVu W=PEPEPhPV׃tuEjPuuvȑEPEPpEPEPh`V׃tuujuuvNȑEPEPEPhtV׃u_^]uȋuuuuvEP0y F_^]á_^]UVEEPEEPEPhu Mu6uEPEEPuuvx^u^]ÍA=weQjEtguMQPuuvyEu PF^]uEPE^]áh0h3^]U3ĉ$S]D$Vu WhܖPD$P t~VShhxeht$ D$PsWDyC_^[$3&F]á_^[$3F]Ë$3_^[3E]US]W{t;VChWVD^yT8ltC_[]ࡄ_[]UMAPA]UEEPEPEhhpuEqtt P3]ø]USVًW]huVsWD[ Ӌ='uP}O W$ ‰MUt3uA} VGЃ_^[]Ë}W$O MU|tǁ3'u} \| t3ɋu33M}}E|tWt ҋ+ȋEEҋM‰}EEE|(s$h5(h_^[]ËMEjPQL u"='uEM_thjVWD ='uvuu~$|8~ v0Ӌ}=3'EM|=3'u EMFЃ_^[]Å| t3ɋ|33M3u}EEM|d$utEt ҋ+ȋEEM}EE}|s3'_^[]ËMEujPQ u+Ӌ='d_^[]ÃtIhjVWD utӋ='uuuċEx$Z x NӋ}=3'EM|=3'%]CЋ_^[]_^3[]U3ĉ$VuD$W} hPD$P tQWVhhx8jt$T$x _^$3@]Ë$3_^3@]U3ĉ$VuD$W} h PD$P tOWVhhx6jt$T$ExP_^$3%@]Ë$3_^3@]UEp]U3ĉ$S]VWC t8t,h0h3_^[$3?]øPD$D$jPO hD$ PD$PsĐWDyC_^[$3'?]Qt$T$$_^[3?]U3ĉ$S]VWC t8t,h0h3_^[$3>]øPD$D$jPN hD$ PD$PsWDyC_^[$37>]Qt$T$$_^[3>]UQEEPhu  u]SVWhM3ҋ]ɋJ#RsUWDy C_^[]á_^[]UEVu vv6pF ^]UEu]ÉD$E D$$PT$3h2y]ËD$ ]U EEPEPh$u tEy`h00h3]PjEtuMPu@yEuP3];EtPEPE]U4EEPEEPEPhhduu ܑt&Ey%EP0ht`0h 3]u3EԉEŰMVuPEP0y 3^]9E}΍EP0hVP^]UVu F 0jvKE v vvv6pF^]U3ĉ$VuA t7t+h0h^$3:]øD$ED$ E D$D$ D$D$D$D$PT$ 3h4QxQt$T$(lt$D$^3q:]USEEPEEPhu 3ۉ]tEy`hЗ0h3[]PjEtVMQuMPuu x(;EtPEPxVuj  ؋Mtu Qtu V^[]U8VEEPEEPEEPhhuu ܑt&Ey&EP0h`0h 3^]uLEЉEUȍMQuMP EP0y6EtuP3^];E~EP0h,uVh\^]UEVu vv6pԐF ^]U@$$PD$Ph`u tCD$MD$D$D$$D$ D$Ph7D$Py03]0t$P]UtSVuWD$4N$F D$ L$|t D$$D$$D$4D$,PD$XD$4Phlu D$8D$Pu_^[]ËD$T= D$D$\D$ |$$|tY|$(tҋL$,+ȋD$0L$ ‰D$"D$(F ʉD$,N$D$L$0L$ ||$D$D$DD$ D$HD$4D$L||$ v33L$D$8D$<D$tҋL$8+ȋD$<"D$D$ ʉD$8D$ȉL$5 =F't/օtP0,^_]á0t^_]á^_]Ux3ʼnEE VPuXPHPVtI t P0,^M3l]á0t^M3M]jjPjjjtjjV\u#Vj3^M3]WVuVM_3^]UQEPhu  tEyh0h3]=~jh80 u؋EPܐPH]UE HATt5VPuXt3^]V PH^]q h0` ]UQEPhu  tEyhȝ0h3]=~jh0 u؋EPPH]UE HATt5VPuXt3^]VPH^]q h0` ]UEPh|u  tqE:utP:Quu3uEEjP]uEuܡh0h3]U,EPhu  t%}t%hȞ0hEP0 3]VuԍEP60VP(^]U3ʼnEE MQMQhPEPuuy 0t3M3_]uhLEuEjPM31]ÃuEjPM3]h0hM33]Ux3ʼnEE MQMQh0Pt-Eu5}t:`h@0hEP0 3M3z]Ãud}VjAMQuPEP0u!0t3^M3*]V(^M3]P`hl0`EP0M33]Ut3ĉD$pSVET$,WRM T$,RT$,D$$RT$,D$RT$$D$$RT$$D$@RhhPQD$XD$PD$LD$Hܑ(1L$; u D$ NA@Tt$jhDQ؃ \$,CQ\L$D$ T$\$B;puCRuXJVhܟD$djPL$ |$lT$$B@TtRL$T$tz;3t$(t$(t$(RQhhD$ D$@D$$D$DD$(D$HD$0D$LD$PD$TD$XD$<hj5,D$PD$@PWt$VD5,t |%j|$  t$=̑|$8D$4VQv؃FuSPv vvh׃u S\$Ӄ\$tnWt$T$<IuOuWӃv|$8u|$ D$,t uPӃD$tP_^[L$p3]ÅuWӃ|$ \$uWӃh0hD$,t uPӃD$t0P3_^[L$p3!]áh0hL$|3_^[3]Ul3ĉ$hE L$SV5WQL$D$Q3D$hP|$(|$$|$,փt%L$ A@Tu,h,0h3_^[$h3\]ÍD$PD$PD$(PD$0PhXQփtƁ|$v ht$ hh xt$ D$Lh̠j P|$D|$H|$L|$P|$T|$]ÍPM3 ]%U3ʼnEhPh=k'5t,t=&'-hp_8M3]h2=l't&Ph0` 3M3w]h0hM33R]U3ĉ$SVWD$ Ph=k'  t =&' hp_8L=hD$8D$$jPD$0D$4D$8D$< 3f$4$6f$:jj jjjjPPRPRPRPj#D$,D$0D$4Pf$DDأ<hht$  1h Vӡ =đj0h׃ 4 Ph$Vӡ j0h,׃ 0l Ph<Vӡ j0hH׃ (> PhT$V hhXVӃ  hhdVӃ  PhlVӃ jhxhؑ PhVӃ  =PhV׃ jhV׃ jhV׃ jhV׃ jhV׃ j hȣV׃ j hԣV׃ jhܣV׃ jhV׃ jhV׃ jhV׃ jhV׃ jhV׃ jh$V׃ jh0V׃ jh@V׃ jhPV׃ jhdV׃ jhtV׃ j hV׃ j@hV׃ hhV׃ hhV׃ hhV׃ hh̤V׃ hhؤV׃ hhV׃ hhV׃ hhV׃ hhV׃ hhV׃ hhV׃ jh(V׃ jh0V׃ jh<V׃ hhLV׃ hhXV׃ jhdV׃ hhpV׃ hhV׃ hhV׃ hhV׃ jhV׃ jhV׃ jhV׃ jhV׃ jhȥV׃ jhإV׃ jhV׃ jhV׃ jhV׃ j)hV׃ jh$V׃ jh0V׃ j h<V׃ jhHV׃ jhTV׃ jMh`V׃ j+hlV׃ j,h|V׃ j2hV׃ j3hV׃ j:hV׃ j;hV׃ jtVYtu ju6В3@Md Y_^[Ê]u? Yj j h(E 3RHEe=uVZ %E%juYY3ɄMd Y_^[6uYjp j hH } u9=3et t]1]SWuuSWuuSWuuu"uSPu|SVuSVujtuHSWubut5SWuD$MQ0houu uËe3uEƋMd Y_^[UV5u3@uu uВ^] U]U} uquu u ] Uj0u@h P]U$j tjY) 5=ff fff%f-EEE jXkǀjXk LjX LhUj]Uj tM) 5=ff fff%f-EEE jXkMhU j! tM) 5=ff fff%f-EEE } v }ue } vE HE E @jXkMeE@EE;E sEMU hUeEeP,E3EE(1EH1EEP$EM3E3E3Ë VWN@;tu&;uO@u G ȉ _ ^U} u=u u`3@] h4hYøøHHHHU3E]Uj Y+ȋE3]UEM ]QPYUEVH<AQAk(;tM ;J r BB ;r (;u3^]ËFUEt&MZf9uH<ȁ9PEu f9Au]2]dVt dP;t3u2^ð^t~PYt2jYu2u U*u} uuMPuВUuu8YY]t h?YBjYU}utu2]gu jeY]U =tVutu}pt&u"hYuhYtF2KuWj Y+ȃ3EEEEEuE_^jajhheMZf9u]<PEuL f9u>E+PQUYYt'x$|!EE3Ɂ8ËeE2Md Y_^[UTt}u 3]U=t} uuuYY]U3uȃuO h7YY#E]U3ȃu]uhYY]UuYH]ø8U$Sj tM)j$jPr |xffftfpflfhEEDž@jPEjPE E@EE8jXۍEEۉE0EP@u ujY[UDjDEjP{ EPdEtEj XR3j<t4MZf9u*H<ȁ9PEu f9Auytv t2h|03UE8csmu%xu@= t=!t="t =@t3]̃%SV;sW>t В׃;r_^[SV;sW>t В׃;r_^[h}d5D$l$l$+SVW1E3PeuEEEEdËMd Y__^[]QUuuu uhoh]UE]UE]Ë В3}U% $S3C j le3 3VW }S[wO3ɉW E܋}EGenuE5ineIEE5ntelE3@S[]܉E E ljsKS uCE%?=t#=`t=pt=Pt=`t=pu=$=$=$}EE|2jX3S[]܉EsKS ]t=$]_^tf  tNtG3ЉEUEMu.  t  3[3@39%|%p%l%x%T%P%L%H%D%@%<%8%4%0%,%(%X%@%0%%% %$%(%,%`%4%8%d%<ðððð3%t 0Lf|pZD,zZP4t ptfs 358 7Z J <orZ>"T$:N^t,<Nbz&Bft ,@P`t*:$v^L2 zhx\B0}d:\a\1\s\include\object.hunable to select on sockethost not found(is)d:\a\1\s\modules\socketmodule.cgetaddrinfo failedtimed out0unsupported address familywildcard resolved to multiple address255.255.255.255address family mismatchedunknown address familyOiOiIIiy#idnaencoding of hostname failedstr, bytes or bytearray expected, not %shost name must not contain null character%s(): AF_INET address must be tuple, not %.500sO&i;AF_INET address must be a pair (host, port)%s(): port must be 0-65535.%s(): AF_INET6 address must be tuple, not %.500sO&i|II;AF_INET6 address must be a tuple (host, port[, flowinfo[, scopeid]])%s(): flowinfo must be 0-1048575.%s(): bad familygetsockaddrlen: bad familyTimeout value out of rangetimeout doesn't fit into C timevaliii:setsockoptiiO!I:setsockoptiiy*:setsockoptsocket option is larger than %i bytesii|i:getsockoptgetsockopt buflen out of rangebindOOsocket.bindconnectsocket.connectconnect_ex|i:listenn|i:recvnegative buffersize in recvbuffernbytesflagsw*|ni:recv_intonegative buffersize in recv_intobuffer too small for requested bytesn|i:recvfromnegative buffersize in recvfromw*|ni:recvfrom_intonegative buffersize in recvfrom_intonbytes is greater than the length of the buffernNy*|i:sendy*|i:sendally*O:sendtoy*iO:sendtosendto() takes 2 or 3 arguments (%zd given)sendtosocket.sendtokO:ioctlkI:ioctlk(kkk):ioctlinvalid ioctl command %luI_acceptclosedetachfilenogetpeernamegetsocknamegetsockoptioctlsharelistenrecvrecv_intorecvfromrecvfrom_intosendsendallsetblockinggetblockingsettimeoutgettimeoutsetsockoptshutdownfamilythe socket familytypethe socket typeprotothe socket protocoltimeoutthe socket timeoutunclosed %R|iiiO:socketOiiisocket.__new__socket descriptor string has wrong size, should be %zu bytes.iiisocket()integer argument expected, got floatnegative file descriptor_socket.socketsocket.gethostnameet:gethostbynameOsocket.gethostbynameNOOet:gethostbyname_exet:gethostbyaddrsocket.gethostbyaddrs|s:getservbynamesssocket.getservbynameservice/proto not foundi|s:getservbyportgetservbyport: port must be 0-65535.issocket.getservbyportport/proto not founds:getprotobynameprotocol not foundi:ntohsntohs: can't convert negative Python int to C 16-bit unsigned integerntohs: Python int too large to convert to C 16-bit unsigned integer (The silent truncation is deprecated)expected int, %s foundi:htonshtons: can't convert negative Python int to C 16-bit unsigned integerhtons: Python int too large to convert to C 16-bit unsigned integer (The silent truncation is deprecated)s:inet_atonillegal IP address string passed to inet_atony*:inet_ntoapacked IP wrong length for inet_ntoais:inet_ptonillegal IP address string passed to inet_ptoniy*:inet_ntopinvalid length of packed IP address stringunknown address family %dhostportOO|iiii:getaddrinfogetaddrinfo() argument 1 must be string or None%ldInt or String expectedOOiiisocket.getaddrinfoiiisOOi:getnameinfogetnameinfo() argument 1 must be a tuplesi|II;getnameinfo(): illegal sockaddr argumentgetnameinfo(): flowinfo must be 0-1048575.(O)socket.getnameinfo%dsockaddr resolved to multiple addressesIPv4 sockaddr must be 2 tupleNsIuO&:if_nametoindexno interface with this namegethostbynamegethostbyname_exgethostbyaddrgethostnamegetservbynamegetservbyportgetprotobynamedupntohsntohlhtonshtonlinet_atoninet_ntoainet_ptoninet_ntopgetaddrinfogetnameinfogetdefaulttimeoutsetdefaulttimeoutif_nameindexif_nametoindexif_indextonameWSAStartup failed: network not readyWSAStartup failed: requested version not supportedWSAStartup failed: error code %d_socketerrorsocket.herrorherrorsocket.gaierrorgaierrorsocket.timeoutSocketTypesockethas_ipv6_socket.CAPICAPIAF_UNSPECAF_INETAF_IPXAF_APPLETALKAF_INET6AF_DECnetAF_SNAAF_IRDASOCK_STREAMSOCK_DGRAMSOCK_RAWSOCK_SEQPACKETSOCK_RDMSO_DEBUGSO_ACCEPTCONNSO_REUSEADDRSO_EXCLUSIVEADDRUSESO_KEEPALIVESO_DONTROUTESO_BROADCASTSO_USELOOPBACKSO_LINGERSO_OOBINLINESO_SNDBUFSO_RCVBUFSO_SNDLOWATSO_RCVLOWATSO_SNDTIMEOSO_RCVTIMEOSO_ERRORSO_TYPESOMAXCONNMSG_OOBMSG_PEEKMSG_DONTROUTEMSG_TRUNCMSG_CTRUNCMSG_WAITALLMSG_ERRQUEUEMSG_BCASTMSG_MCASTSOL_SOCKETSOL_IPSOL_TCPSOL_UDPIPPROTO_IPIPPROTO_HOPOPTSIPPROTO_ICMPIPPROTO_IGMPIPPROTO_GGPIPPROTO_IPV4IPPROTO_IPV6IPPROTO_TCPIPPROTO_EGPIPPROTO_PUPIPPROTO_UDPIPPROTO_IDPIPPROTO_NDIPPROTO_ROUTINGIPPROTO_FRAGMENTIPPROTO_ESPIPPROTO_AHIPPROTO_ICMPV6IPPROTO_NONEIPPROTO_DSTOPTSIPPROTO_PIMIPPROTO_SCTPIPPROTO_RAWIPPROTO_MAXIPPROTO_ICLFXBMIPPROTO_STIPPROTO_CBTIPPROTO_IGPIPPROTO_RDPIPPROTO_PGMIPPROTO_L2TPIPPORT_RESERVEDIPPORT_USERRESERVEDINADDR_ANYINADDR_BROADCASTINADDR_LOOPBACKINADDR_UNSPEC_GROUPINADDR_ALLHOSTS_GROUPINADDR_MAX_LOCAL_GROUPINADDR_NONEIP_OPTIONSIP_HDRINCLIP_TOSIP_TTLIP_RECVDSTADDRIP_MULTICAST_IFIP_MULTICAST_TTLIP_MULTICAST_LOOPIP_ADD_MEMBERSHIPIP_DROP_MEMBERSHIPIPV6_JOIN_GROUPIPV6_LEAVE_GROUPIPV6_MULTICAST_HOPSIPV6_MULTICAST_IFIPV6_MULTICAST_LOOPIPV6_UNICAST_HOPSIPV6_V6ONLYIPV6_CHECKSUMIPV6_DONTFRAGIPV6_HOPLIMITIPV6_HOPOPTSIPV6_PKTINFOIPV6_RECVRTHDRIPV6_RECVTCLASSIPV6_RTHDRIPV6_TCLASSTCP_NODELAYTCP_MAXSEGTCP_KEEPIDLETCP_KEEPINTVLTCP_KEEPCNTTCP_FASTOPENEAI_AGAINEAI_BADFLAGSEAI_FAILEAI_FAMILYEAI_MEMORYEAI_NODATAEAI_NONAMEEAI_SERVICEEAI_SOCKTYPEAI_PASSIVEAI_CANONNAMEAI_NUMERICHOSTAI_NUMERICSERVAI_ALLAI_ADDRCONFIGAI_V4MAPPEDNI_MAXHOSTNI_MAXSERVNI_NOFQDNNI_NUMERICHOSTNI_NAMEREQDNI_NUMERICSERVNI_DGRAMSHUT_RDSHUT_WRSHUT_RDWRSIO_RCVALLSIO_KEEPALIVE_VALSSIO_LOOPBACK_FAST_PATHRCVALL_OFFRCVALL_ONRCVALL_SOCKETLEVELONLYRCVALL_MAXsendto(data[, flags], address) -> count Like send(data, flags) but allows specifying the destination address. For IP sockets, the address is a pair (hostaddr, port).send(data[, flags]) -> count Send a data string to the socket. For the optional flags argument, see the Unix manual. Return the number of bytes sent; this may be less than len(data) if the network is busy.getservbyname(servicename[, protocolname]) -> integer Return a port number from a service name and protocol name. The optional protocol name, if given, should be 'tcp' or 'udp', otherwise any protocol will match.close(integer) -> None Close an integer socket file descriptor. This is like os.close(), but for sockets; on some platforms os.close() won't work for socket file descriptors.recvfrom(buffersize[, flags]) -> (data, address info) Like recv(buffersize, flags) but also return the sender's address info.if_nametoindex(if_name) Returns the interface index corresponding to the interface name if_name.inet_ntoa(packed_ip) -> ip_address_string Convert an IP address from 32-bit packed binary format to string formatfileno() -> integer Return the integer file descriptor of the socket.getblocking() Returns True if socket is in blocking mode, or False if it is in non-blocking mode.detach() Close the socket object without closing the underlying file descriptor. The object cannot be used after this call, but the file descriptor can be reused for other purposes. The file descriptor is returned.getprotobyname(name) -> integer Return the protocol number for the named protocol. (Rarely used.)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 [,addr]]])listen([backlog]) Enable a server to accept connections. If backlog is specified, it must be at least 0 (if it is lower, it is set to 0); it specifies the number of unaccepted connections that the system will allow before refusing new connections. If not specified, a default reasonable value is chosen.close() Close the socket. It cannot be used after this call.getservbyport(port[, protocolname]) -> string Return the service name from a port number and protocol name. The optional protocol name, if given, should be 'tcp' or 'udp', otherwise any protocol will match.if_indextoname(if_index) Returns the interface name corresponding to the interface index if_index.inet_aton(string) -> bytes giving 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.ntohl(integer) -> integer Convert a 32-bit integer from network to host byte order.settimeout(timeout) Set a timeout on socket operations. 'timeout' can be a float, giving in seconds, or None. Setting a timeout of None disables the timeout feature and is equivalent to setblocking(1). Setting a timeout of zero is the same as setblocking(0).htonl(integer) -> integer Convert a 32-bit integer from host to network byte order.socket(family=AF_INET, type=SOCK_STREAM, proto=0) -> socket object socket(family=-1, type=-1, proto=-1, fileno=None) -> socket object Open a socket of the given type. The family argument specifies the address family; it defaults to AF_INET. The type argument specifies whether this is a stream (SOCK_STREAM, this is the default) or datagram (SOCK_DGRAM) socket. The protocol argument defaults to 0, specifying the default protocol. Keyword arguments are accepted. The socket is created as non-inheritable. When a fileno is passed in, family, type and proto are auto-detected, unless they are explicitly set. A socket object represents one endpoint of a network connection. Methods of socket objects (keyword arguments not allowed): _accept() -- accept connection, returning new socket fd and client address bind(addr) -- bind the socket to a local address close() -- close the socket connect(addr) -- connect the socket to a remote address connect_ex(addr) -- connect, return an error code instead of an exception dup() -- return a new socket fd duplicated from fileno() fileno() -- return underlying file descriptor getpeername() -- return remote address [*] getsockname() -- return local address getsockopt(level, optname[, buflen]) -- get socket options gettimeout() -- return timeout or None listen([n]) -- start listening for incoming connections recv(buflen[, flags]) -- receive data recv_into(buffer[, nbytes[, flags]]) -- receive data (into a buffer) recvfrom(buflen[, flags]) -- receive data and sender's address recvfrom_into(buffer[, nbytes, [, flags]) -- receive data and sender's address (into a buffer) sendall(data[, flags]) -- send all data send(data[, flags]) -- send data, may not send all of it sendto(data[, flags], addr) -- send data to a given address setblocking(0 | 1) -- set or clear the blocking I/O flag getblocking() -- return True if socket is blocking, False if non-blocking setsockopt(level, optname, value[, optlen]) -- set socket options settimeout(None | float) -- set or clear the timeout shutdown(how) -- shut down traffic in one or both directions if_nameindex() -- return all network interface indices and names if_nametoindex(name) -- return the corresponding interface index if_indextoname(index) -- return the corresponding interface name [*] not available on all platforms!htons(integer) -> integer Convert a 16-bit unsigned integer from host to network byte order. Note that in case the received integer does not fit in 16-bit unsigned integer, but does fit in a positive C int, it is silently truncated to 16-bit unsigned integer. However, this silent truncation feature is deprecated, and will raise an exception in future versions of Python.shutdown(flag) Shut down the reading side of the socket (flag == SHUT_RD), the writing side of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).getnameinfo(sockaddr, flags) --> (host, port) Get host and port for a sockaddr.setdefaulttimeout(timeout) Set the default timeout in seconds (float) for new socket objects. A value of None indicates that new socket objects have no timeout. When the socket module is first imported, the default is None.gethostbyname(host) -> address Return the IP address (a string of the form '255.255.255.255') for a host.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.gethostname() -> string Return the current host name.inet_ntop(af, packed_ip) -> string formatted IP address Convert a packed IP address of the given family to string format.ioctl(cmd, option) -> long Control the socket with WSAIoctl syscall. Currently supported 'cmd' values are SIO_RCVALL: 'option' must be one of the socket.RCVALL_* constants. SIO_KEEPALIVE_VALS: 'option' is a tuple of (onoff, timeout, interval). SIO_LOOPBACK_FAST_PATH: 'option' is a boolean value, and is disabled by defaultgetsockopt(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.inet_pton(af, ip) -> packed IP address string Convert an IP address from string format to a packed string suitable for use with low-level network functions.recv_into(buffer, [nbytes[, flags]]) -> nbytes_read A version of recv() that stores its data into a buffer rather than creating a new string. Receive up to buffersize bytes from the socket. If buffersize is not specified (or 0), receive up to the size available in the given buffer. See recv() for documentation about the flags.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._accept() -> (integer, address info) Wait for an incoming connection. Return a new socket file descriptor representing the connection, and the address of the client. 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).getdefaulttimeout() -> timeout Returns the default timeout in seconds (float) for new socket objects. A value of None indicates that new socket objects have no timeout. When the socket module is first imported, the default is None.getaddrinfo(host, port [, family, type, proto, flags]) -> list of (family, type, proto, canonname, sockaddr) Resolve host and port into addrinfo struct.sendall(data[, flags]) Send a data string to the socket. For the optional flags argument, see the Unix manual. This calls send() repeatedly until all data is sent. If an error occurs, it's impossible to tell how much data has been sent.if_nameindex() Returns a list of network interface information (index, name) tuples.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.share(process_id) -> bytes Share the socket with another process. The target process id must be provided and the resulting bytes object passed to the target process. There the shared socket can be instantiated by calling socket.fromshare().setblocking(flag) Set the socket to blocking (flag is true) or non-blocking (false). setblocking(True) is equivalent to settimeout(None); setblocking(False) is equivalent to settimeout(0.0).connect_ex(address) -> errno This is like connect(address), but returns an error code (the errno value) instead of raising an exception when an error occurs.Implementation module for socket operations. See the socket module for documentation.dup(integer) -> integer Duplicate an integer socket file descriptor. This is like os.dup(), but for sockets; on some platforms os.dup() won't work for socket file descriptors.recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info) Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.getsockname() -> address info Return the address of the local endpoint. For IP sockets, the address info is a pair (hostaddr, port).ntohs(integer) -> integer Convert a 16-bit unsigned integer from network to host byte order. Note that in case the received integer does not fit in 16-bit unsigned integer, but does fit in a positive C int, it is silently truncated to 16-bit unsigned integer. However, this silent truncation feature is deprecated, and will raise an exception in future versions of Python.setsockopt(level, option, value: int) setsockopt(level, option, value: buffer) setsockopt(level, option, None, optlen: int) Set a socket option. See the Unix manual for level and option. The value argument can either be an integer, a string buffer, or None, optlen.gettimeout() -> timeout Returns the timeout in seconds (float) associated with socket operations. A timeout of None indicates that timeouts on socket operations are disabled.connect(address) Connect the socket to a remote address. For IP sockets, the address is a pair (host, port).U^7U^ U^ (В}RSDS3MryA{%&iD:\a\1\b\bin\win32\_socket.pdbGCTLXp.text$mn.idata$5В.00cfgԒ.CRT$XCAؒ.CRT$XCZܒ.CRT$XIA.CRT$XIZ.CRT$XPA.CRT$XPZ.CRT$XTA.CRT$XTZG.rdata.rdata$sxdatat.rdata$zzzdbg.rtc$IAA.rtc$IZZ.rtc$TAA.rtc$TZZ.xdata$xP.edatax.idata$2X.idata$3l.idata$4< .idata$6.data.bss.rsrc$01 .rsrc$02pjqGrfryz@`_socket.pydPyInit__socketlB`l( 0Lf|pZD,zZP4t ptfs 358 7Z J <orZ>"T$:N^t,<Nbz&Bft ,@P`t*:$v^L2 zhx\B0getnameinfofreeaddrinfoinet_ntopgetaddrinfoinet_ptonWWSASocketW&WSADuplicateSocketW:WSAIoctlWS2_32.dll@FreeMibTableConvertInterfaceLuidToNameWZGetIfTable2Ex#if_nametoindex"if_indextonameIPHLPAPI.DLL.SetHandleInformationVerifyVersionInfoAGetComputerNameExWaGetLastErrorVerSetConditionMaskGetCurrentProcessIdVerifyVersionInfoWKERNEL32.dllPyErr_ResourceWarningqPyUnicode_AsEncodedStringJPyOS_snprintfo_PyTime_FromSecondsObjectPyErr_SetObjecte_PyTime_AsMillisecondsPyUnicode_DecodeFSDefault_Py_BuildValue_SizeTPyLong_AsUnsignedLongPyModule_AddIntConstantPyErr_WarnExPyExc_DeprecationWarning%PyBytes_AsStringPyErr_Occurred:PyExc_WarningPyLong_FromSsize_tiPyObject_GenericGetAttrPyEval_SaveThreadPyLong_FromLongPyErr_SetFromWindowsErrPyThread_allocate_lock_Py_NoneStructPyThread_acquire_lockp_PyTime_GetMonotonicClockOPyFloat_FromDoublePyUnicode_NewPyByteArray_AsStringPyUnicode_FromWideCharPyErr_SetStringPyErr_WriteUnraisable9PyExc_ValueErrorPyLong_FromUnsignedLongF_PyArg_ParseTupleAndKeywords_SizeTPyErr_Format_Py_FalseStructTPyFloat_Typeg_PyTime_AsSecondsDoublePyLong_TypePyErr_SetFromErrnoKPyType_IsSubtypePyErr_Restore PyExc_OverflowError_Py_Deallocn_PyTime_FromSecondsPyModule_GetDictePyObject_FreePyErr_ExceptionMatches(PyThread_release_lockPyModule_AddObjectG_PyArg_ParseTuple_SizeTPyErr_FetchPyLong_AsLong__PyBytes_ResizezPyUnicode_AsUTF8PyUnicode_FromFormatPySys_AuditPyList_NewPyModule_Create2PyErr_NewExceptionPyErr_ClearPyList_AppendBPyTuple_SizePyUnicode_FSConverterBPyCapsule_New0PyBytes_Sizej_PyTime_AsTimeval_noraiseWPyObject_CallFinalizerFromDeallocPyMem_FreeGPyType_GenericAllocPyErr_NoMemoryPyDict_GetItemStringPyExc_OSErrorPyErr_CheckSignals.PyBytes_FromStringAndSize"PyByteArray_Size1PyExc_TypeError@PyTuple_Pack_PyUnicode_ReadyPyMem_Malloc_PyLong_AsIntPyExc_ImportError _Py_TrueStructPyDict_DelItemStringPyUnicode_FromStringPyErr_SetExcFromWindowsErrPyBuffer_Release#PyByteArray_TypePy_AtExitNPyType_Typeh_PyTime_AsTimevalPyEval_RestoreThreadpython38.dllJstrchr%__std_type_info_destroy_listHmemset5_except_handler4_commonVCRUNTIME140.dll#_errno8_initterm9_initterm_eA_seh_filter_dll_configure_narrow_argv5_initialize_narrow_environment6_initialize_onexit_table>_register_onexit_function$_execute_onexit_table_crt_atexit_crt_at_quick_exit_cexitjterminateapi-ms-win-crt-runtime-l1-1-0.dllUnhandledExceptionFiltermSetUnhandledExceptionFilterGetCurrentProcessTerminateProcessIsProcessorFeaturePresentMQueryPerformanceCounterGetCurrentThreadIdGetSystemTimeAsFileTimeDisableThreadLibraryCallscInitializeSListHeadIsDebuggerPresentGetStartupInfoWxGetModuleHandleWFmemcpyDN@TP&\PF`KPtKpPEtM@MN(OOġP̡@QԡQhܡ0RRȵ@SS`TU Y,[@@\T\dp^Pt^` " ܖ((()L . .0*8/0@0L/HX'xd=0lP>@t1|2003 5Ю607h7 ;$8ș$xԙ%P&X&H<   (8@p(?@nH @o@@n@?H 8\LT\LT\ 886e?TCP_KEEPIDLE?TCP_KEEPINTVL:TCP_KEEPCNT98TCP_FASTOPENu(@X?p    ,8E true 4VS_VERSION_INFOff?StringFileInfo000004b0VCompanyNamePython Software Foundation@ FileDescriptionPython Core,FileVersion3.8.26 InternalNamePython DLL0LegalCopyrightCopyright 2001-2016 Python Software Foundation. Copyright 2000 BeOpen.com. Copyright 1995-2001 CNRI. Copyright 1991-1995 SMC.@ OriginalFilename_socket.pyd.ProductNamePython0ProductVersion3.8.2DVarFileInfo$Translation3.8-32@!0<0Z001*1{111 2/2}2222222233$3-353B3H3N3^3d3s33333333334 44:4w4444v555676K6\6s67 77_77778$858D88888889+969D9J9R999999999:: ::":1:U:Z:_:g::::::B;\;;;;;;;;;0>>D>n>>>>>>(?/?;?R?W?_?o?y????? L00 0L0Q0Y0z000000 1O1a1f1m1y1111111.232;2t22222)3Z3e3o33333 44-4?4]4h4u4{44444444445+50585R5f555555 666%62696j6q6}6666666 7+757F7n7z777778868Z8m88888889 99919:9`9g9999999:G:^:::::: ;o;;;;;<(I>d>i>o>>>>>???E??????0<000900000 1 1)111111112Z222222233Q3V3b3z33333333/4M4r4w444>5L5_5d5l55555596>6J6b6g6l6t66666667J7S77777,8E8]8c8z889999:+:H:a:|:::::::: ;-;B;G;O;|;;;;;;;;=1>Z>r>y>>>>>>>>>?U?g?p?|????????@+010f0x000001 1 1%1;1A1o1y1111112T2d2y2222223E3e3j3333333444!4)4J4X4c4k444444445 55W5c5i555555636;6X6a6|66666666*7S7j777777777788=8Y888888T9\999:':N:X:]:e::::: ;%;*;3;T;Y;_;;;;;;< <<6<;>>(>4>9>A>T>b>g>o>>>>>>>>>> ??)?2?;?H?]?e?q?y??????????P00"0K0]0h0p00000000111'111V1f1v1}1111111111122!2F2V2f2m2{222222233!3)3K3T3f3k3s3}3333333344)4?4a4w4|444444444#5/5;5C5^5v5{5555 6696N6n6u666666667>7Y7^7d77777777 80858b8r8899'9L9e9j9r99999: :>:W:\:g:l:r::::::::::;$;,;N;};;;;;;;; <<<(A>H>z>>>>>>>>>> ??(?0?P?r?????????`000M0i00000B1M1R1\1a1g1~1111111111111222(2-282@2E2Y2^2c2v2|22222222222233!3.3;3H3U3b3o3|3333333333 44-4=4M4]4m4z444444444555(555B5O5\5i5v55555555555666,696I6Y6i6v6666666666777.7>7N7[7h7u77777777777888+888E8R8_8l8y88888888888 99+9;9H9X9h9x9999999999 ::#:0:=:J:W:d:q:::::::;;;(;.;4;Z;;;;;;<$<)<1 >>>>!>'>->3>9>?>E>K>Q>W>]>c>i>o>u>{>>>>>>>>>>>>>>>>>>>>>>>? ????#?)?/?5?;?A?G?M?S?Y?_?e?k?q?w?}???p0$0E0J0c0h0u00000 114111P2222223 3&3,32383>3E3L3S3Z3a3h3o3w3333333333333%4+41474=4C4J4Q4X4_4f4m4t4|44444444444445 5555&5-545;5B5J5R5Z5e5j5p5z55555666&6<6v6666666666777l88889(9;9G9W9h9~99999999:F:m:u::::::;;;&>>>>>??J?S?\?j?s????????????????????? 00 0000$0*00060<0T0233:: : =@=\=`=|== 0$0,0H0L0T0X0\0d0h0l0t0x0|000000000000000000000000011 1111$1(1,14181<1D1H1L1T1X1\1d1h1l1t1x1|111111111111111111111122 2222$2(2,24282<2D2H2L2T2X2\2d2h2l2t2x2|222222222222222222222222233 3333$3(3,34383<3D3H3L3T3X3\3d3h3l3t3333333334 404L4P4T4l4p4t4x444444444444455 555(5,50545H09 *H *0&10  `He0\ +7N0L0 +70 010  `He 7g%? *BEV+w4Ҷ~-00W~|NYKw;0  *H 01 0 UZA10U Western Cape10U Durbanville10 U Thawte10U Thawte Certification10UThawte Timestamping CA0 121221000000Z 201230235959Z0^1 0 UUS10U Symantec Corporation100.U'Symantec Time Stamping Services CA - G20"0  *H 0 ITK %y"W*oܸ&Csk¿.PZvC%CE{t"״MD$k_E;DCsi+˙r&Mq1QaSI,xE/W?=ƒJ{3y uAQlie)`; tޒ"t|'JÞ-'}aqPK],e ؖ|NHDD h]jxdE`F~T|yq00U_n\t}?L.02+&0$0"+0http://ocsp.thawte.com0U00?U8060420.http://crl.thawte.com/ThawteTimestampingCA.crl0U% 0 +0U0(U!0010UTimeStamp-2048-10  *H  yY0h O]7_R DnmX|0i#s oG9*ÎY M1\*zzWLey@b%n7j!AW?wI*^8j"Q~0085njP0  *H 0^1 0 UUS10U Symantec Corporation100.U'Symantec Time Stamping Services CA - G20 121018000000Z 201229235959Z0b1 0 UUS10U Symantec Corporation1402U+Symantec Time Stamping Services Signer - G40"0  *H 0 c 9D#DIa Sۭ,Jn"hcSit<üu000 _ջfuSCoP0  *H  0e1 0 UUS10U  DigiCert Inc10U www.digicert.com1$0"UDigiCert Assured ID Root CA0 131022120000Z 281022120000Z0r1 0 UUS10U  DigiCert Inc10U www.digicert.com110/U(DigiCert SHA2 Assured ID Code Signing CA0"0  *H 0 ӳgw 1IE:D娝2qv.C7׶𜆥%y(:~g)'{##w#fT3Pt(&$iRgE-, J M`IJp1f3q>p|˒;1 WJt+l~t96 Nj gN %#d>RŎ,QsbsA8js ds<3%00U00U0U% 0 +0y+m0k0$+0http://ocsp.digicert.com0C+07http://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt0Uz0x0:864http://crl4.digicert.com/DigiCertAssuredIDRootCA.crl0:864http://crl3.digicert.com/DigiCertAssuredIDRootCA.crl0OU H0F08 `Hl0*0(+https://www.digicert.com/CPS0 `Hl0UZĹ{* q`-euX0U#0E뢯˂1-Q!m0  *H  > Z$",|%)v]-:0a~ `=į* U7ђuQnZ^$N?qcK_Dy6FN\Q$$'*)(:q(<.%Gzhh\ \q h@@Dd %B26$/r~IEYtdkfCڳ  Ι1c=OƓIbnS.hlD2fdQ0G0/>eѸ*l0  *H  0r1 0 UUS10U  DigiCert Inc10U www.digicert.com110/U(DigiCert SHA2 Assured ID Code Signing CA0 181218000000Z 211222120000Z01 0 UUS10U New Hampshire10U Wolfeboro1#0!U Python Software Foundation1#0!UPython Software Foundation0"0  *H 0 Kun%eLjO>"iU/{Wܜ:*~|JV!w"Sg~ʳVY&MKE $]P!7[ې踔qan}{Sޜ?>+$ijvrKiEu{ϟX$I$yt>$~TUM&LYU[)K (<̾a<ͽPLZ:6|YNwq)m| ኄsF|##Շ U|"ѣ/AL5,Zkb[(VpiW#o-7ݸ^Q,2S~MR?@Lx`3¤:hPf{00U#0ZĹ{* q`-euX0U*~Ծ󂜤{";0U0U% 0 +0wUp0n0531/http://crl3.digicert.com/sha2-assured-cs-g1.crl0531/http://crl4.digicert.com/sha2-assured-cs-g1.crl0LU E0C07 `Hl0*0(+https://www.digicert.com/CPS0g 0+x0v0$+0http://ocsp.digicert.com0N+0Bhttp://cacerts.digicert.com/DigiCertSHA2AssuredIDCodeSigningCA.crt0 U00  *H  Ku-_FϏ&>V*bR JZDPNf9U!VV:4G?R]>}ERZž{.S@b5AbK@>6ƇYg!X[J xPV$>?o6Uڕ㏕J2``MRDzӳηm&S<,3K l5e yTM0G&R+um()#z7i~s r G"S1000r1 0 UUS10U  DigiCert Inc10U www.digicert.com110/U(DigiCert SHA2 Assured ID Code Signing CA>eѸ*l0  `He0 *H  1  +70 +7 10  +70/ *H  1" g/|A; aRy40d +7 1V0TRPBuilt: Release_master_v3.8.2_20200225.010  *H T9 2\~u NdcA˝ mT`q^Bl*`zU.|M'l2*15*Q#E7_j L,4Ie%JllP>$Fꓻ|RQ/fcϠ:B|g:bSUY+g7UO/j0;?!GKp,$ewF4X\mdD_;<}A!\~.ŕqN^V5 qO@UN i.׺ݑ_ꡱ'5Ã]ʅ{o"#`ÐJʡI7bmhQ`k v<"lupBQnC4.*\ajy@W,^{q~R6m"4)1?*P6)2fE=F!@]f{0<[7ͯa$ 0 *H  100r0^1 0 UUS10U Symantec Corporation100.U'Symantec Time Stamping Services CA - G285njP0 +]0 *H  1  *H 0 *H  1 200225232757Z0# *H  1^²fgpO#%RdeŮ0  *H 5Snb0 3ײ.p+1=ikNՊQ43y/ɠƩڇXPI]`uY@qQϵ "8S+$&tO?'לv.Mg0Y"Л9]\8?xsG+ER:Y |ut=x72F swV^wGݽ^]fxI19!M|T{pLPX:= ddӳm [ ~