B Y,@sdZddlmZddlZddlZddlZejddkZejddkZerde fZ e fZ e fZe ZeZn efZ e efZ e ejfZeZe ZyeZWnek rddZYnXeZyeZWnek rdd ZYnXereZnGd d d eZerd d ZddZddZddZn dd ZddZddZddZerbddZ ddZ!ddl"Z"e"j#Z#e"j$Z$n"ddZ ddZ!ddl#Z#e#j#Z#Z$ere%e&ddZ'd3d d!Z(nd4d"d#Z'e'd$ejddd%kre'd&n&ejddd%kre'd'nd(d)Z)erJdd*l*m+Z+dd+l,m-Z.ddl/m0Z1dd,l2m3Z3dd-l4m5Z6dd.l7m8Z9nCszcallable..)anytype__mro__)objrrrcallableBsrc@seZdZddZdS)IteratorcCst||S)N)r__next__)selfrrrrJsz Iterator.nextN)__name__ __module__ __qualname__rrrrrrHsrcKst|jf|S)N)iterkeys)dkwrrriterkeysOsrcKst|jf|S)N)rvalues)rrrrr itervaluesRsr cKst|jf|S)N)ritems)rrrrr iteritemsUsr"cKst|jf|S)N)rZlists)rrrrr iterlistsXsr#cKs |jf|S)N)r)rrrrrr[scKs |jf|S)N)r )rrrrrr ^scKs |jf|S)N)r")rrrrrr"ascKs |jf|S)N)r#)rrrrrr#dscCs |dS)Nzlatin-1)encode)srrrbisr&cCs|S)Nr)r%rrrulsr'cCs|S)Nr)r%rrrr&rscCst|dddS)Nz\\z\\\\Zunicode_escape)unicodereplace)r%rrrr'vsbuiltinsexeccCs:z*|dkr|}|j|k r$|||Wdd}d}XdS)N) __traceback__with_traceback)tpvaluetbrrrreraises  r1cCsB|dkr*td}|j}|dkr&|j}~n |dkr6|}tddS)zExecute code in a namespace.Nzexec _code_ in _globs_, _locs_)sys _getframe f_globalsf_localsr+)Z_code_Z_globs_Z_locs_framerrrexec_s r8zedef reraise(tp, value, tb=None): try: raise tp, value, tb finally: tb = None )rrzdef raise_from(value, from_value): try: if from_value is None: raise value raise value from from_value finally: value = None zrdef raise_from(value, from_value): try: raise value from from_value finally: value = None cCs|dS)Nr)r/Z from_valuerrr raise_fromsr9) HTTPError)client)Queue)quote)parsecCs2t|dt|dd}|dkr.tdt|j|S)N__code__ func_codezCould not get code from %r)getattr TypeErrorrr)funcrvrrrget_codesrEcCsfyddlm}Wntk r$dSXd|kr2dSt|dddkrbddlm}|tddS) Nr)optthreadszenable-threads0)falseoffnorH)warnzWe 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).) ZuwsgirF ImportErrorstrgetlowerwarningsrLWarning)rFrLrrr check_threadss rS)N)NN)<__doc__ __future__roperatorr3types version_infoPY2PY3rN string_typesintZ integer_typesrZ class_typesZ text_typebytesZ binary_type basestringlongZ ClassTyper(rr NameErrorrobjectrrr r"r#r&r'ioStringIOBytesIOrA __import__r8r1r9Z urllib.errorr:httpr;httplibZurllib.requestZrequesturllib2queuer< urllib.parser=Z urllib_quoteurllibr>urlparserErSrrrr s