o
    1 i	=                     @   s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ d dlmZ d dlmZmZmZ d dlmZmZmZ d dlmZ zd dlZesUJ d d	lm Z  W n e!ym   G d
d de"Z Y nw G dd deZ#G dd de#Z$G dd de#Z%G dd de#Z&G dd de#Z'G dd de#Z(G dd deZ)G dd deZ*G dd de#Z+G dd de#Z,ed  Z-G d!d" d"e#Z.ee.e/f Z0G d#d$ d$ed%d&Z1G d'd( d(eZ2G d)d* d*e#Z3G d+d, d,e#Z4G d-d. d.e#Z5G d/d0 d0e5Z6G d1d2 d2e5Z7G d3d4 d4e#Z8G d5d6 d6e#Z9G d7d8 d8e#Z:G d9d: d:e#Z;G d;d< d<e#Z<G d=d> d>eZ=G d?d@ d@e#Z>G dAdB dBeZ?G dCdD dDe>Z@G dEdF dFe>ZAG dGdH dHeAZBG dIdJ dJe#ZCG dKdL dLeCZDG dMdN dNeCZEG dOdP dPeCZFG dQdR dReCZGG dSdT dTe#ZHG dUdV dVe>ZIG dWdX dXe>ZJee@eAeIeJeBf ZKG dYdZ dZe#ZLG d[d\ d\e#ZMG d]d^ d^e#ZNee. ee; ee3 dS )_    )Enum)	AnyCallableDictIterableListOptionalSetTypeUnion)PYDANTIC_V2
CoreSchemaGetJsonSchemaHandlerJsonSchemaValue_model_rebuild"with_info_plain_validator_function)logger)AnyUrl	BaseModelField)	AnnotatedLiteral	TypedDict)
deprecatedN)EmailStrc                   @   s   e Zd Zedeedef  fddZededefddZ	eded	edefd
dZ
edededefddZedee deegef defddZdS )r   return.c                 c   s    | j V  d S N)validate)cls r   b/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/fastapi/openapi/models.py__get_validators__   s   zEmailStr.__get_validators__vc                 C      t d t|S Nzpemail-validator not installed, email fields will be treated as str.
To install, run: pip install email-validatorr   warningstr)r   r"   r   r   r    r         zEmailStr.validate_EmailStr__input_value_c                 C   r#   r$   r%   )r   r)   r*   r   r   r    	_validate%   r(   zEmailStr._validatecore_schemahandlerc                 C   s
   dddS )Nstringemail)typeformatr   )r   r,   r-   r   r   r    __get_pydantic_json_schema__-      
z%EmailStr.__get_pydantic_json_schema__sourcec                 C   s
   t | jS r   )r   r+   )r   r4   r-   r   r   r    __get_pydantic_core_schema__3   r3   z%EmailStr.__get_pydantic_core_schema__N)__name__
__module____qualname__classmethodr   r   r   r!   r'   r   r+   r   r   r   r2   r
   r5   r   r   r   r    r      s.    r   c                   @   s*   e Zd ZerddiZdS G dd dZdS )BaseModelWithConfigextraallowc                   @      e Zd ZdZdS )zBaseModelWithConfig.Configr<   Nr6   r7   r8   r;   r   r   r   r    Config@       r?   N)r6   r7   r8   r   Zmodel_configr?   r   r   r   r    r:   :   s    r:   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dS )ContactNnameurlr/   )r6   r7   r8   rB   r   r'   __annotations__rC   r   r/   r   r   r   r   r    rA   D      
 rA   c                   @   6   e Zd ZU eed< dZee ed< dZee ed< dS )LicenserB   N
identifierrC   )	r6   r7   r8   r'   rD   rH   r   rC   r   r   r   r   r    rG   J      
 rG   c                   @   sn   e Zd ZU eed< dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee ed< eed< dS )	InfotitleNsummarydescriptiontermsOfServicecontactlicenseversion)r6   r7   r8   r'   rD   rL   r   rM   rN   rO   rA   rP   rG   r   r   r   r    rJ   P   s   
 rJ   c                   @   sH   e Zd ZU dZeeee  eddf e	d< ee	d< dZ
ee e	d< dS )ServerVariableN   )
min_lengthenumdefaultrM   )r6   r7   r8   rU   r   r   r   r'   r   rD   rM   r   r   r   r    rR   Z   s   
 "rR   c                   @   sF   e Zd ZU eeef ed< dZee ed< dZ	ee
eef  ed< dS )ServerrC   NrM   	variables)r6   r7   r8   r   r   r'   rD   rM   r   rX   r   rR   r   r   r   r    rW   `   s   
 rW   c                   @   s    e Zd ZU eddZeed< dS )	Reference$refaliasrefN)r6   r7   r8   r   r]   r'   rD   r   r   r   r    rY   f   s   
 rY   c                   @   s.   e Zd ZU eed< dZeeeef  ed< dS )DiscriminatorZpropertyNameNmapping)r6   r7   r8   r'   rD   r_   r   r   r   r   r   r    r^   j   s   
 r^   c                   @   s^   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee
 ed< dS )XMLNrB   	namespaceprefix	attributewrapped)r6   r7   r8   rB   r   r'   rD   ra   rb   rc   boolrd   r   r   r   r    r`   o   s   
 r`   c                   @   s&   e Zd ZU dZee ed< eed< dS )ExternalDocumentationNrM   rC   )r6   r7   r8   rM   r   r'   rD   r   r   r   r   r    rf   w   s   
 rf   )arraybooleanintegernullnumberobjectr.   c                   @   s  e Zd ZU edddZee ed< edddZee ed< edddZ	ee ed< edd	dZ
ee ed
< edddZee ed< edddZee ed< edddZee ed< edddZeeedf  ed< edddZee ed< dZeed  ed< dZeed  ed< dZeed  ed< edddZed ed< edddZed ed< dZed ed< edddZed ed< dZeeedf  ed < dZeed  ed!< dZeeded f  ed"< dZed ed#< dZeeedf  ed$< dZeeedf  ed%< dZ ed ed&< dZ!ed ed'< dZ"ed ed(< dZ#ed ed)< dZ$eee%ee% f  ed*< dZ&eee'  ed+< dZ(ee' ed,< edd-d.Z)ee* ed/< dZ+ee* ed0< dZ,ee* ed1< dZ-ee* ed2< dZ.ee* ed3< edd-d4Z/ee0 ed5< edd-d4Z1ee0 ed6< dZ2ee ed7< edd-d4Z3ee0 ed8< edd-d4Z4ee0 ed9< dZ5ee6 ed:< edd-d4Z7ee0 ed;< edd-d4Z8ee0 ed<< edd-d4Z9ee0 ed=< edd-d4Z:ee0 ed>< dZ;eee  ed?< dZ<eeee=e f  ed@< dZ>ee edA< dZ?ee edB< dZ@ee edC< dZAed edD< dZBee edE< dZCee edF< dZDee' edG< dZEee6 edH< dZFee6 edI< dZGee6 edJ< dZHeee'  edK< dZIeeJ edL< dZKeeL edM< dZMeeN edN< dZOePee' eQdOf edP< dS )QSchemaNz$schemarV   r\   schema_z$vocabulary
vocabularyz$ididz$anchoranchorz$dynamicAnchordynamicAnchorrZ   r]   z$dynamicRef
dynamicRefz$defsSchemaOrBooldefsz$commentcommentallOfanyOfoneOfnotnot_ifif_thenelseelse_dependentSchemasprefixItemsitemscontains
propertiespatternPropertiesadditionalPropertiespropertyNamesunevaluatedItemsunevaluatedPropertiesr0   rU   constr   )rV   gt
multipleOfmaximumexclusiveMaximumminimumexclusiveMinimum)rV   ge	maxLength	minLengthpatternmaxItemsminItemsuniqueItemsmaxContainsminContainsmaxPropertiesminPropertiesrequireddependentRequiredr1   contentEncodingcontentMediaTypecontentSchemarK   rM   rV   r   readOnly	writeOnlyexamplesdiscriminatorxmlexternalDocsznDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.example)Rr6   r7   r8   r   ro   r   r'   rD   rp   rq   rr   rs   r]   rt   rv   r   rw   rx   r   ry   rz   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   
SchemaTyperU   r   r   r   floatr   r   r   r   r   intr   r   r   r   r   re   r   r   r   r   r   r   r	   r1   r   r   r   rK   rM   rV   r   r   r   r   r   r^   r   r`   r   rf   r   r   typing_deprecatedr   r   r   r    rm      s   
  rm   c                   @   s\   e Zd ZU ee ed< ee ed< ee ed< ee ed< er%ddiZ	d	S G dd dZ
d	S )
ExamplerL   rM   valueZexternalValuer;   r<   c                   @   r=   )zExample.Configr<   Nr>   r   r   r   r    r?      r@   r?   N)r6   r7   r8   r   r'   rD   r   r   r   Z__pydantic_config__r?   r   r   r   r    r      s   
 r   F)totalc                   @      e Zd ZdZdZdZdZdS )ParameterInTypequeryheaderpathcookieN)r6   r7   r8   r   r   r   r   r   r   r   r    r      
    r   c                   @   sn   e Zd ZU dZee ed< dZeeee	de
f f  ed< dZee ed< dZee ed< dZee ed< dS )EncodingNcontentTypeHeaderheadersstyleexplodeallowReserved)r6   r7   r8   r   r   r'   rD   r   r   r   rY   r   r   re   r   r   r   r   r    r      s   
  r   c                   @   sv   e Zd ZU edddZeeeef  e	d< dZ
ee e	d< dZeeeeeef f  e	d< dZeeeef  e	d< dS )	MediaTypeNschemarn   ro   r   r   encoding)r6   r7   r8   r   ro   r   r   rm   rY   rD   r   r   r   r   r'   r   r   r   r   r   r   r    r      s
   
   r   c                   @   s   e Zd ZU dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed< eddd	Zeeeef  ed
< dZee ed< dZeeeeeef f  ed< dZeeeef  ed< dS )ParameterBaseNrM   r   r   r   r   r   r   rn   ro   r   r   content)r6   r7   r8   rM   r   r'   rD   r   re   r   r   r   r   r   ro   r   rm   rY   r   r   r   r   r   r   r   r   r   r   r    r     s   
   r   c                   @   s(   e Zd ZU eed< eddZeed< dS )	ParameterrB   inr[   in_N)r6   r7   r8   r'   rD   r   r   r   r   r   r   r    r     s   
 r   c                   @   s   e Zd ZdS )r   N)r6   r7   r8   r   r   r   r    r     s    r   c                   @   s>   e Zd ZU dZee ed< eeef ed< dZ	ee
 ed< dS )RequestBodyNrM   r   r   )r6   r7   r8   rM   r   r'   rD   r   r   r   re   r   r   r   r    r     rE   r   c                   @   s   e Zd ZU dZee ed< dZee ed< dZee	ee
eef f  ed< dZee
eef  ed< dZee ed< dZee ed< dS )LinkNoperationRefoperationId
parametersrequestBodyrM   server)r6   r7   r8   r   r   r'   rD   r   r   r   r   r   r   rM   r   rW   r   r   r   r    r   !  s   
  r   c                   @   sn   e Zd ZU eed< dZeeeee	e
f f  ed< dZeeeef  ed< dZeeeeee
f f  ed< dS )ResponserM   Nr   r   links)r6   r7   r8   r'   rD   r   r   r   r   r   rY   r   r   r   r   r   r   r   r    r   *  s
   
  $r   c                   @   s"  e Zd ZU dZeee  ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZeeeeef   ed< dZeeeef  ed< dZeeeeeef f  ed	< dZeeeeeed
f ef f  ed< dZee ed< dZeeeeee f   ed< dZeee  ed< dS )	OperationNtagsrL   rM   r   r   r   r   	responsesPathItem	callbacksr   securityservers)r6   r7   r8   r   r   r   r'   rD   rL   rM   r   rf   r   r   r   r   rY   r   r   r   r   r   r   r   r   re   r   r   rW   r   r   r   r    r   1  s   
  ( r   c                   @   s   e Zd ZU edddZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed	< dZee ed
< dZee ed< dZee ed< dZee ed< dZee ed< dZeee  ed< dZeeeeef   ed< dS )r   NrZ   rn   r]   rL   rM   getputpostdeleteoptionsheadpatchtracer   r   )r6   r7   r8   r   r]   r   r'   rD   rL   rM   r   r   r   r   r   r   r   r   r   r   r   rW   r   r   r   rY   r   r   r   r    r   A  s   
  r   c                   @   r   )SecuritySchemeTypeapiKeyhttpoauth2openIdConnectN)r6   r7   r8   r   r   r   r   r   r   r   r    r   Q  r   r   c                   @   s0   e Zd ZU eddZeed< dZee	 ed< dS )SecurityBaser0   r[   type_NrM   )
r6   r7   r8   r   r   r   rD   rM   r   r'   r   r   r   r    r   X  s   
 r   c                   @   s   e Zd ZdZdZdZdS )APIKeyInr   r   r   N)r6   r7   r8   r   r   r   r   r   r   r    r   ]  s    r   c                   @   s>   e Zd ZU eejddZeed< eddZe	ed< e
ed< dS )	APIKeyr0   rn   r   r   r[   r   rB   N)r6   r7   r8   r   r   r   r   rD   r   r   r'   r   r   r   r    r   c  s   
 r   c                   @   ,   e Zd ZU eejddZeed< eed< dS )HTTPBaser0   rn   r   schemeN)	r6   r7   r8   r   r   r   r   rD   r'   r   r   r   r    r   i     
 r   c                   @   s.   e Zd ZU dZed ed< dZee ed< dS )
HTTPBearerZbearerr   NbearerFormat)	r6   r7   r8   r   r   rD   r   r   r'   r   r   r   r    r   n  s   
 r   c                   @   s2   e Zd ZU dZee ed< i Zeeef ed< dS )	OAuthFlowN
refreshUrlscopes)	r6   r7   r8   r   r   r'   rD   r   r   r   r   r   r    r   s  s   
 r   c                   @      e Zd ZU eed< dS )OAuthFlowImplicitauthorizationUrlNr6   r7   r8   r'   rD   r   r   r   r    r   x     
 r   c                   @   r   )OAuthFlowPasswordtokenUrlNr   r   r   r   r    r   |  r   r   c                   @   r   )OAuthFlowClientCredentialsr   Nr   r   r   r   r    r     r   r   c                   @   s   e Zd ZU eed< eed< dS )OAuthFlowAuthorizationCoder   r   Nr   r   r   r   r    r     s   
 r   c                   @   sN   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dZee ed< dS )
OAuthFlowsNimplicitpasswordclientCredentialsauthorizationCode)r6   r7   r8   r   r   r   rD   r   r   r   r   r   r   r   r   r   r    r     s
   
 r   c                   @   r   )OAuth2r0   rn   r   ZflowsN)	r6   r7   r8   r   r   r   r   rD   r   r   r   r   r    r     r   r   c                   @   r   )OpenIdConnectr0   rn   r   ZopenIdConnectUrlN)	r6   r7   r8   r   r   r   r   rD   r'   r   r   r   r    r     s
   
 r   c                   @   sX  e Zd ZU dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d	< dZeeeeeeef e	ef f  e
d
< dZeeeeee	f f  e
d< dS )
ComponentsNschemasr   r   r   requestBodiesr   securitySchemesr   r   	pathItems)r6   r7   r8   r  r   r   r'   r   rm   rY   rD   r   r   r   r   r   r   r  r   r   r   r  SecuritySchemer   r   r   r   r   r  r   r   r   r    r    s   
         *$r  c                   @   rF   )TagrB   NrM   r   )	r6   r7   r8   r'   rD   rM   r   r   rf   r   r   r   r    r    rI   r  c                   @   s   e Zd ZU eed< eed< dZee ed< dZee	e
  ed< dZeeeeeef f  ed< dZeeeeeef f  ed< dZee ed< dZee	eee	e f   ed	< dZee	e  ed
< dZee ed< dS )OpenAPIZopenapiinfoNjsonSchemaDialectr   pathswebhooks
componentsr   r   r   )r6   r7   r8   r'   rD   rJ   r
  r   r   r   rW   r  r   r   r   r   r  rY   r  r  r   r   r  r   rf   r   r   r   r    r    s   
    r  )OrU   r   typingr   r   r   r   r   r   r	   r
   r   Zfastapi._compatr   r   r   r   r   r   Zfastapi.loggerr   Zpydanticr   r   r   Ztyping_extensionsr   r   r   r   r   Zemail_validatorr   ImportErrorr'   r:   rA   rG   rJ   rR   rW   rY   r^   r`   rf   r   rm   re   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r    <module>   s|    , $

Y	