XjR>ddlmZddlZddlZddlmZmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZmZdd lmZdd lmZe d Zdd Z d dd ZGddeZGddZGddZGddZGddeZGddeZ y)) annotationsN)CallableSequence)Any ParamSpec) urlencode)is_async_callable) HTTPException)HTTPConnectionRequest)RedirectResponse) WebSocket_PcF|D]}||jjvsyy)NFT)authscopes)connrscopes l/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/starlette/authentication.pyhas_required_scopers+  (( ( c`t|tr|gn t| dfd }|S)Nctj}t|jj D]1\}|j dk(s|j dk(s%|j }nt dd|dk(r"tjd fd }|Str$tjd  fd }|Stjd  fd }|S) Nrequest websocketz2No "request" or "websocket" argument on function ""c&K|jdt|kr|nd}t|tsJdt |j dt |s|jd{y|i|d{y77w)NrzKParameter with name 'websocket' is required to be of type 'WebSocket' not '')getlen isinstancertype__name__rclose)argskwargsrfuncidx scopes_lists rwebsocket_wrapperz6requires..decorator..websocket_wrapper-s"JJ{s4yDIVZ[ !)Y7!)_556a97 *)[A#//+++////,/s$A3B6B 7BBBBcK|jdt|kr|nd}t|tsJdt |j dt |sQCtdt|ji}|jd|}t|dSt |i|d{S7w NrzGParameter with name 'request' is required to be of type 'Request' not 'rnext?i/)url status_code)r0 rr r!r r"r#rrstrr/url_forr r r%r&rorig_request_qparamnext_urlr'r(redirectr)r0s r async_wrapperz2requires..decorator..async_wrapper>s **YS3t9_S RVW!'73]^bcj^k^t^t]uuvw3*';?+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@!4262222sB.decorator..sync_wrapperQs **YS3t9_S RVW!'73]^bcj^k^t^t]uuvw3*';?+.7W[[AQ8R.S+&-ooh&?%@BUAV#W/H#NN'K@@T,V,,r)r%_P.argsr& _P.kwargsreturnNone)r%r;r&r<r=r) inspect signature enumerate parametersvaluesname Exception functoolswrapsr ) r'sig parametertype_r*r8r:r(r7r)r0s ` @r decoratorzrequires..decorator s%'(=(=(?@ ZNC~~*inn .K! Z PQUPVVWXY Y K  __T " 0# 0% $ t $ __T " 3 3# 3! __T " - -# - r)r'Callable[_P, Any]r=rL)r!r2list)rr0r7rKr)s `` @rrequiresrNs< )56(4rjrl)r#rQrRr_rmrdrgrSrrroros/!rroc0eZdZeddZeddZy)UnauthenticatedUsercy)NFrSrcs rrdz$UnauthenticatedUser.is_authenticatedsrcy)NrSrcs rrgz UnauthenticatedUser.display_namesrNrjrl)r#rQrRrmrdrgrSrrrvrvs( rrv)rr rz Sequence[str]r=rk)iN)rzstr | Sequence[str]r0intr7z str | Noner=z0Callable[[Callable[_P, Any]], Callable[_P, Any]])! __future__rrFr?collections.abcrrtypingrr urllib.parserstarlette._utilsr starlette.exceptionsr starlette.requestsr r starlette.responsesr starlette.websocketsrrrrNrErPrUr]rarorvrSrrrs".!"..60*t_I III6 IX ) $$ == $ $  (r