0 $ˆl–äY>” je¶…8 Cq§nµ1hß „ !eÏÁÀ¿3Pa ´iPLã@sžddlmZmZddlmZddlmZddlZddlZddl Z dZ dZ dd„Z ed gd ¢ƒZ d e _e jd krŽd e j_de j_de j_de j_Gdd„deƒZGdd„ded�ZGdd„deƒZGdd„deƒZGdd„deƒZeedƒrúGdd„deƒZeedƒ�rGd d!„d!eƒZeed"ƒ�r2Gd#d$„d$eƒZeed%ƒ�rNGd&d'„d'eƒZd(d)„Zed%ƒ�rfeZn4edƒ�rveZn$ed"ƒ�r†eZnedƒ�r–eZneZdS)*é)ÚABCMetaÚabstractmethod)Ú namedtuple)ÚMappingNééc Csdt|tƒr|}n:zt| ¡ƒ}Wn(tttfyHtd |¡ƒd‚Yn0|dkr`td |¡ƒ‚|S)NzInvalid file object: {!r}rzInvalid file descriptor: {})Ú isinstanceÚintÚfilenoÚAttributeErrorÚ TypeErrorÚ ValueErrorÚformat)ÚfileobjÚfd©rú!/usr/lib64/python3.9/selectors.pyÚ_fileobj_to_fds ÿÿrÚ SelectorKey)rrÚeventsÚdatazŸSelectorKey(fileobj, fd, events, data) Object used to associate a file object to its backing file descriptor, selected event mask, and attached data. )éézFile object registered.zUnderlying file descriptor.z3Events that must be waited for on this file object.zzOptional opaque data associated to this file object. For example, this could be used to store a per-client session ID.c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú_SelectorMappingcCs ||_dS©N)Ú _selector)ÚselfÚselectorrrrÚ__init__@sz_SelectorMapping.__init__cCs t|jjƒSr)ÚlenrÚ _fd_to_key©rrrrÚ__len__Csz_SelectorMapping.__len__cCsBz|j |¡}|jj|WSty<td |¡ƒd‚Yn0dS©Nú{!r} is not registered)rÚ_fileobj_lookupr ÚKeyErrorr)rrrrrrÚ __getitem__Fs   z_SelectorMapping.__getitem__cCs t|jjƒSr)Úiterrr r!rrrÚ__iter__Msz_SelectorMapping.__iter__N)Ú__name__Ú __module__Ú __qualname__rr"r'r)rrrrr=src@sjeZdZeddd„ƒZedd„ƒZddd„Zeddd „ƒZd d „Zd d „Z edd„ƒZ dd„Z dd„Z dS)Ú BaseSelectorNcCst‚dSr©ÚNotImplementedError©rrrrrrrÚregister`szBaseSelector.registercCst‚dSrr.)rrrrrÚ unregisterwszBaseSelector.unregistercCs| |¡| |||¡Sr)r2r1r0rrrÚmodifyŠs zBaseSelector.modifycCst‚dSrr.)rÚtimeoutrrrÚselect›szBaseSelector.selectcCsdSrrr!rrrÚclose®szBaseSelector.closecCsJ| ¡}|durtdƒ‚z ||WStyDtd |¡ƒd‚Yn0dS)NzSelector is closedr$)Úget_mapÚ RuntimeErrorr&r)rrÚmappingrrrÚget_keyµs  zBaseSelector.get_keycCst‚dSrr.r!rrrr7ÃszBaseSelector.get_mapcCs|Srrr!rrrÚ __enter__ÈszBaseSelector.__enter__cGs | ¡dSr)r6)rÚargsrrrÚ__exit__ËszBaseSelector.__exit__)N)N)N) r*r+r,rr1r2r3r5r6r:r7r;r=rrrrr-Qs     r-)Ú metaclassc@sPeZdZdd„Zdd„Zddd„Zdd „Zdd d „Zd d „Zdd„Z dd„Z dS)Ú_BaseSelectorImplcCsi|_t|ƒ|_dSr)r rÚ_mapr!rrrrÒsz_BaseSelectorImpl.__init__c