U „á§\²ã@sÄddlZejddkZerbddlZeZ ddl Z e e fZ eeefZeefZdd„Zdd„ZedƒnNddlmZddl Z e Z e fZ eefZefZdd„Zd d „Zd d„Zdd d „Zdd„Zdd„ZdS)éNécCs| ¡S©N)Ú iteritems©Úx©rú /_compat.pyÚór cCs|j|_dd„|_|S)NcSst|ƒ d¡S)Nzutf-8)ÚunicodeÚencoderrrrr r z implements_str..)Ú__str__Z __unicode__)ÚclsrrrÚimplements_strs rz5def reraise(tp, value, tb=None): raise tp, value, tbcCs| ¡Sr)Úitemsrrrrr 'r cCs|SrrrrrrÚ _identity)srcCs|Srrrrrrr,scCs|j|k r| |¡‚|‚dSr)Ú __traceback__Úwith_traceback)ÚtpÚvalueÚtbrrrÚreraise/s  rcs&G‡‡fdd„dtƒ}t |ddi¡S)NcseZdZ‡‡fdd„ZdS)z!with_metaclass..metaclasscs ˆ|ˆ|ƒSrr)rÚnameZ this_basesÚd©ÚbasesÚmetarrÚ__new__9sz)with_metaclass..metaclass.__new__N)Ú__name__Ú __module__Ú __qualname__rrrrrÚ metaclass8sr!Ztemporary_classr)Útyper)rrr!rrrÚwith_metaclass7sr#cCshzddlm}Wntk r&YdSXd|kr4dSt| dd¡ƒ ¡dkrdddlm}|tdƒƒdS) Nr)ÚoptZthreadszenable-threadsÚ0)ZfalseZoffZnor%)Úwarnz¾We detected the use of uwsgi with disabled threads. This will cause issues with the transport you are trying to use. Please enable threading for uwsgi. (Enable the "enable-threads" flag).) Zuwsgir$Ú ImportErrorÚstrÚgetÚlowerÚwarningsr&ÚWarning)r$r&rrrÚcheck_thread_support?s ÿÿr-)N)ÚsysZOptionalZTupleZAnyZTypeÚ version_infoZPY2Zurlparser Z text_typeZQueueZqueuer(Z string_typesÚintZlongÚfloatZ number_typesZ int_typesrrÚexecZ urllib.parseÚparserrr#r-rrrrÚs.