g8" xdZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd l mZddl mZddl mZe j.dk\Ze j.dk\Ze j.dk\Ze j.dk\Ze j.dk\Ze j.dk\Zej<dk(Zej<dk(Z e jjCdZ"e jjCdZ#dejHjKvZ&e jNdkDZ(e)e Z*ejVZ,eddZ-Gdd e j\Z/d7d!Z0erd8d"Z1nd8d#Z1e jdserdd$l3m4Z5nddl5Z5e jdser ejlZ7nd9d%Z7ere8Z9ne:Z;dd&ld)Z?d:d*Z@d;d+ZAdd4ZFd?d5ZGd?d6ZHy)@z1Handle Python version/platform incompatibilities.) annotationsN)Any)Callable)Dict)Iterable)List)Mapping)Optional)Sequence)Set)Tuple)Type)TypeVar) )r )r )r )r )rPyPyCPythonwindarwinaarchl_T_coT) covariantcTeZdZUded<ded<ded<ded<ded<d ed <d ed <y ) FullArgSpec List[str]args Optional[str]varargsvarkwzOptional[Tuple[Any, ...]]defaults kwonlyargszOptional[Dict[str, Any]]kwonlydefaultszDict[str, Any]rN)__name__ __module__ __qualname____annotations__G/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/util/compat.pyrr8s+ O  '',,r-rc tj|r |j}tj|st |d|j }tj |st |d|j}|j}|j}t|d|}t||||z}||z }d}|jtjzr|j|}|dz}d}|jtjzr|j|}t||||j||j |j"S)z9Fully vendored version of getfullargspec from Python 3.3.z is not a Python functionz is not a code objectN)inspectismethod__func__ isfunction TypeError__code__iscode co_argcount co_varnamesco_kwonlyargcountlistco_flags CO_VARARGSCO_VARKEYWORDSr __defaults____kwdefaults__r+) funcconargsnamesnkwargsr!r&r#r$s r.inspect_getfullargspecrFBs7}}   d #4(";<== B >>" 2& 5677 NNE NNE""G fu DeEEGO45J WEG {{W'''..'  E {{W+++u%       r-c.tjdS)NF)usedforsecurityhashlibmd5r,r-r.md5_not_for_securityrLks{{511r-c*tjSNrIr,r-r.rLrLps{{}r-)metadatacH|j}|j||SrN)copyupdateabs r. dict_unionrVs FFH  r-) AsyncIteratorcKt|tstdt|t|j} ||d{S7#t $r|t ur|cYSwxYww)z9vendored from https://github.com/python/cpython/pull/8895z%anext expected an AsyncIterator, got N) isinstancerWr5type __anext__StopAsyncIteration _NOT_PROVIDED)async_iteratordefaultanxts r.anext_rasu.-87^8L7MN N#-- n-- --! -'N s;=A, A A AA,AA)&A,(A))A,ctj}tjs t |dr|j |S|j |dS)Nselect)groupr,)importlib_metadata entry_pointstyping TYPE_CHECKINGhasattrrcget)rdeps r.importlib_metadata_getrlsD  ( ( *B wr84yyuy%%vveR  r-c$|jdS)Nzlatin-1)encode)ss r.rUrUs 88I r-cJtj|jdSNascii)base64 b64decodernxs r.rtrts   AHHW- ..r-cJtj|jdSrq)rs b64encodedecoderus r.rxrxs   A  % %g ..r-c(|j|dS)Nbackslashreplace)errors)ry)textencodings r.decode_backslashreplacers ;;x(:; ;;r-c||kD||kz SrNr,rSs r.cmprs Ea!e r-ct|tr|St|dddk(r+t|j ddj ddSt|t rA|j d|fvrt|jS|j dz|jzSt|tjrt|j ddSt|j ddS) zvendored from python 3.7r)Nrgztyping.~builtins.) rYstrgetattrreprreplacerZr)r*rgr) annotation base_modules r._formatannotationrs*c"z<.(:J'' 26>>sBGG*d#  Z$= = //0 0$$s*Z-D-DDD J /J''R00   # #C ,,r-r,c d|zS)N*r,names r.rssTzr-c d|zS)Nz**r,rs r.rrsTD[r-cdt|zS)N=)r)values r.rrs cDK6Gr-cdt|zS)Nz -> )r)r}s r.rrs vD 7Ir-c d |xsi}xsi fd} g}|rt|t|z }nd}t|D]6\}}| |}|r||k\r|| |||z z}|j|8||j|| |n|r|jd|r4|D]/}| |}|r||vr|| ||z }|j|1||j| | |ddj|zdz}dvr||  dz }|S)a>Copy formatargspec from python 3.7 standard library. Python 3 has deprecated formatargspec and requested that Signature be used instead, however this requires a full reimplementation of formatargspec() in terms of creating Parameter objects and such. Instead of introducing all the object-creation overhead and having to reinvent from scratch, just copy their compatibility routine. Ultimately we would need to rewrite our "decorator" routine completely which is not really worth it right now, until all Python 2.x support is dropped. cB|}|vr|d|zz }|S)Nz: r,)argresultrformatannotation formatargs r.formatargandannotationz5inspect_formatargspec..formatargandannotations33 +  d-k#.>?? ?F r-r(z, )return)len enumerateappendjoin)r!r#r$r%r&r'rr formatvarargs formatvarkw formatvalue formatreturnsrrspecs firstdefaultirspec kwonlyargrs `` ` r.inspect_formatargspecrsW:$)rN#K E4y3x=0  D/3%c* \)+hq> LL  $   [!7!>?@ 499U# #c )F;- 0X1F GHH Mr-cZtj|rtj|SgS)zReturn a sequence of all dataclasses.Field objects associated with a class as an already processed dataclass. The class must **already be a dataclass** for Field objects to be returned. ) dataclasses is_dataclassfields)clss r.dataclass_fieldsrs($!!#&& r-ctj|r]t}|jD]}|j t |tj |Dcgc] }||vs| c}SgScc}w)zReturn a sequence of all dataclasses.Field objects associated with an already processed dataclass, excluding those that originate from a superclass. The class must **already be a dataclass** for Field objects to be returned. )rrset __bases__rRrr)r super_fieldssupfs r.local_dataclass_fieldsrso$47E ==C    0 5 6!&--c2L2aa|6K2LL Ms " A5,A5)rAzCallable[..., Any]rr)rr)rTdictrUrrr)rvrrbytes)rvrrr)r}rr~rrrrN)r!r r#r"r$r"r%zOptional[Sequence[Any]]r&zOptional[Sequence[str]]r'zOptional[Mapping[str, Any]]rzMapping[str, Any]rCallable[[str], str]rrrrrCallable[[Any], str]rrrrrr)rz Type[Any]rz Iterable[dataclasses.Field[Any]])I__doc__ __future__rrsrrJr1operatorplatformsysrgrrrrrr r r r r rr version_infopy313py312py311py310py39py38python_implementationpypycpython startswithwin32osxmachinelowerarmmaxsizeis64bitboolhas_refcount_gc attrgetter dottedgetterr NamedTuplerrFrLrh importlibrOreor_rVanextraobjectr]collections.abcrWrlrUrtrxrrrrrrrr,r-r.rs8"   G# G# G# G# 6! 6!%x%%'61 (( ( ( *i 7 & llh' !!!#))++ ++ w-"" 4( &## #L2  48 4J  FHM--:  !//<-&"(,*,24%'&)*A(@(G*I->E E E E& E ( E 0 E#E$E(E&E&E(E+E EP r-