
    o i	=                        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 	 d dlZesJ d d	lm Z  n# e!$ r  G d
 de"          Z Y nw xY w G d de          Z# G d de#          Z$ G d de#          Z% G d de#          Z& G d de#          Z' G d de#          Z( G d de          Z) G d de          Z* G d de#          Z+ G d de#          Z,ed          Z- G d! d"e#          Z.ee.e/f         Z0 G d# d$ed%&          Z1 G d' d(e          Z2 G d) d*e#          Z3 G d+ d,e#          Z4 G d- d.e#          Z5 G d/ d0e5          Z6 G d1 d2e5          Z7 G d3 d4e#          Z8 G d5 d6e#          Z9 G d7 d8e#          Z: G d9 d:e#          Z; G d; d<e#          Z< G d= d>e          Z= G d? d@e#          Z> G dA dBe          Z? G dC dDe>          Z@ G dE dFe>          ZA G dG dHeA          ZB G dI dJe#          ZC G dK dLeC          ZD G dM dNeC          ZE G dO dPeC          ZF G dQ dReC          ZG G dS dTe#          ZH G dU dVe>          ZI G dW dXe>          ZJee@eAeIeJeBf         ZK G dY dZe#          ZL G d[ d\e#          ZM G d] d^e#          ZN e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                       e Zd Zedeedef                  fd            Zededefd            Z	edededefd            Z
ed	ed
edefd            Zedee         d
eegef         defd            ZdS )r   return.c              #      K   | j         V  d S N)validate)clss    M/var/www/findabus/venv/lib/python3.11/site-packages/fastapi/openapi/models.py__get_validators__zEmailStr.__get_validators__   s      ,    vc                 H    t          j        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%   s     r"   r    zEmailStr.validate   s(    N?   q66Mr$   _EmailStr__input_value_c                 H    t          j        d           t          |          S r'   r(   )r!   r+   r,   s      r"   	_validatezEmailStr._validate%   s+    N?   }%%%r$   core_schemahandlerc                     dddS )Nstringemail)typeformat )r!   r/   r0   s      r"   __get_pydantic_json_schema__z%EmailStr.__get_pydantic_json_schema__-   s     %888r$   sourcec                 *    t          | j                  S r   )r   r.   )r!   r8   r0   s      r"   __get_pydantic_core_schema__z%EmailStr.__get_pydantic_core_schema__3   s     6cmDDDr$   N)__name__
__module____qualname__classmethodr   r   r   r#   r*   r    r.   r   r   r   r7   r   r:   r6   r$   r"   r   r      s3       		xc0B'C 	 	 	 
	 
	S 	S 	 	 	 
	 
	&# 	&# 	&# 	& 	& 	& 
	& 
	9(	93G	9	9 	9 	9 
	9
 
	Ec	E-5seZ6G-H	E	E 	E 	E 
	E 	E 	Er$   r   c                   8    e Zd ZerddiZdS  G d d          ZdS )BaseModelWithConfigextraallowc                       e Zd ZdZdS )BaseModelWithConfig.ConfigrB   Nr;   r<   r=   rA   r6   r$   r"   ConfigrD   @           EEEr$   rF   N)r;   r<   r=   r   model_configrF   r6   r$   r"   r@   r@   :   sR         )	 	 	 	 	 	 	 	 	 	r$   r@   c                   ^    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urlr3   )r;   r<   r=   rK   r	   r*   __annotations__rL   r   r3   r   r6   r$   r"   rJ   rJ   D   sP         D(3- C&	    $E8H$$$$$r$   rJ   c                   N    e Zd ZU eed<   dZee         ed<   dZee         ed<   dS )LicenserK   N
identifierrL   )	r;   r<   r=   r*   rM   rP   r	   rL   r   r6   r$   r"   rO   rO   J   sD         
III $J$$$ C&	     r$   rO   c                       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)r;   r<   r=   r*   rM   rT   r	   rU   rV   rW   rJ   rX   rO   r6   r$   r"   rR   rR   P   s         JJJ!GXc]!!!!%K#%%%$(NHSM(((!%GXg%%%!%GXg%%%LLLLLr$   rR   c                   ~    e Zd ZU dZeeee                   ed          f         e	d<   ee	d<   dZ
ee         e	d<   dS )ServerVariableN   )
min_lengthenumdefaultrU   )r;   r<   r=   r^   r   r	   r   r*   r   rM   rU   r6   r$   r"   r[   r[   Z   s_         @DD)HT#Y'!)<)<)<<
=DDDLLL!%K#%%%%%r$   r[   c                   n    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 )ServerrL   NrU   	variables)r;   r<   r=   r   r   r*   rM   rU   r	   rb   r   r[   r6   r$   r"   ra   ra   `   sZ         	vs{	!%K#%%%59IxS.01299999r$   ra   c                   2    e Zd ZU  ed          Zeed<   dS )	Reference$refaliasrefN)r;   r<   r=   r   rh   r*   rM   r6   r$   r"   rd   rd   f   s/         u6"""C"""""r$   rd   c                   D    e Zd ZU eed<   dZeeeef                  ed<   dS )DiscriminatorpropertyNameNmapping)r;   r<   r=   r*   rM   rl   r	   r   r6   r$   r"   rj   rj   j   s;         (,GXd38n%,,,,,r$   rj   c                       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 )XMLNrK   	namespaceprefix	attributewrapped)r;   r<   r=   rK   r	   r*   rM   ro   rp   rq   boolrr   r6   r$   r"   rn   rn   o   sv         D(3-#Ix}### FHSM    $Ix~$$$"GXd^"""""r$   rn   c                   4    e Zd ZU dZee         ed<   eed<   dS )ExternalDocumentationNrU   rL   )r;   r<   r=   rU   r	   r*   rM   r   r6   r$   r"   ru   ru   w   s-         !%K#%%%	KKKKKr$   ru   )arraybooleanintegernullnumberobjectr2   c                   	   e Zd ZU  edd          Zee         ed<    edd          Zee         ed<    edd          Z	ee         ed<    edd	          Z
ee         ed
<    edd          Zee         ed<    edd          Zee         ed<    edd          Zee         ed<    edd          Zeeedf                  ed<    e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          Zed         ed<    edd          Zed         ed<   dZed         ed<    e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-.          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-4          Z/ee0         ed5<    edd-4          Z1ee0         ed6<   dZ2ee         ed7<    edd-4          Z3ee0         ed8<    edd-4          Z4ee0         ed9<   dZ5ee6         ed:<    edd-4          Z7ee0         ed;<    edd-4          Z8ee0         ed<<    edd-4          Z9ee0         ed=<    edd-4          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r_   rg   schema_z$vocabulary
vocabularyz$ididz$anchoranchorz$dynamicAnchordynamicAnchorre   rh   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unevaluatedPropertiesr4   r^   constr   )r_   gt
multipleOfmaximumexclusiveMaximumminimumexclusiveMinimum)r_   ge	maxLength	minLengthpatternmaxItemsminItemsuniqueItemsmaxContainsminContainsmaxPropertiesminPropertiesrequireddependentRequiredr5   contentEncodingcontentMediaTypecontentSchemarS   rU   r_   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)Rr;   r<   r=   r   r   r	   r*   rM   r   r   r   r   rh   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   
SchemaTyper^   r   r   r   floatr   r   r   r   r   intr   r   r   r   r   rs   r   r   r   r   r   r   r
   r5   r   r   r   rS   rU   r_   r   r   r   r   r   rj   r   rn   r   ru   r   r   typing_deprecatedr6   r$   r"   r}   r}      s         #U4yAAAGXc]AAA %d- H H HJHHHd%888B888!E$i@@@FHSM@@@#(5=M#N#N#NM8C=NNNt6:::C#::: %d- H H HJHHH05d'0R0R0RD(4^+,
-RRR"U4zBBBGXc]BBB -1E8D()000,0E8D()000,0E8D()000%*U4u%E%E%ED(>
"EEE$)E$d$C$C$CC.	!CCC%)D(>
")))&+eD&G&G&GE8N#GGG<@htC$789@@@26K$~./666 DHE8E.$~*>>?@GGG)-Hh~&---6:Jc>123:::=AxS.%8 9:AAA59(>2999.2M8N+22215h~.5556:8N3::: ;?D(5T*%556
7>>> $D(49
$$$E8C="'%";";";J;;;#GXe_###(,huo,,,#GXe_###(,huo,,,$uTa888Ix}888$uTa888Ix}888!GXc]!!!#eDQ777Hhsm777#eDQ777Hhsm777"&K$&&&!&t!:!:!:K#:::!&t!:!:!:K#:::#(5!#<#<#<M8C=<<<#(5!#<#<#<M8C=<<<$(HhtCy!(((7;xS#c(] 34;;; !FHSM    &*OXc])))&*hsm***.2M8N+222  E8C=!%K#%%%!GXc]!!!!%J%%%#Hhtn### $Ix~$$$$(HhtCy!((( .2M8M*111C#48L(01888 	 Y>	
 	
	     r$   r}   c                       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          Z
d	S )
ExamplerT   rU   valueexternalValuerA   rB   c                       e Zd ZdZdS )Example.ConfigrB   NrE   r6   r$   r"   rF   r      rG   r$   rF   N)r;   r<   r=   r	   r*   rM   r   r   r   __pydantic_config__rF   r6   r$   r"   r   r      s         c]#C=F#### &0	 	 	 	 	 	 	 	 	 	r$   r   F)totalc                       e Zd ZdZdZdZdZdS )ParameterInTypequeryheaderpathcookieN)r;   r<   r=   r   r   r   r   r6   r$   r"   r   r      s"        EFDFFFr$   r   c                       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)r;   r<   r=   r   r	   r*   rM   r   r   r   rd   r   r   rs   r   r6   r$   r"   r   r      s         !%K#%%%?CGXd3h	&9 ::;<CCCE8C="GXd^"""$(M8D>(((((r$   r   c                       e Zd ZU  e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schemar~   r   r   r   encoding)r;   r<   r=   r   r   r	   r   r}   rd   rM   r   r   r   r   r*   r   r   r   r6   r$   r"   r   r      s         27%H2U2U2UGXeFI-./UUU!GXc]!!!?CHhtCw	'9!::;<CCC.2HhtCM*+22222r$   r   c                   j   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	          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 )ParameterBaseNrU   r   r   r   r   r   r   r~   r   r   r   content)r;   r<   r=   rU   r	   r*   rM   r   rs   r   r   r   r   r   r   r   r}   rd   r   r   r   r   r   r   r   r6   r$   r"   r   r     s        !%K#%%%#Hhtn###!%J%%%E8C="GXd^"""$(M8D>(((27%H2U2U2UGXeFI-./UUU!GXc]!!!?CHhtCw	'9!::;<CCC.2GXd3	>*+22222r$   r   c                   <    e Zd ZU eed<    ed          Zeed<   dS )	ParameterrK   inrf   in_N)r;   r<   r=   r*   rM   r   r   r   r6   r$   r"   r   r     s8         
III 5t,,,C,,,,,r$   r   c                       e Zd ZdS )r   N)r;   r<   r=   r6   r$   r"   r   r     s        Dr$   r   c                   ^    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 )RequestBodyNrU   r   r   )r;   r<   r=   rU   r	   r*   rM   r   r   r   rs   r6   r$   r"   r   r     sO         !%K#%%%#y.!!!!#Hhtn#####r$   r   c                       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requestBodyrU   server)r;   r<   r=   r   r	   r*   rM   r   r   r   r   r   r   rU   r   ra   r6   r$   r"   r   r   !  s         "&L(3-&&&!%K#%%%7;Jc5c?234;;;-1K%S/*111!%K#%%%#FHV#####r$   r   c                       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 )ResponserU   Nr   r   links)r;   r<   r=   r*   rM   r   r	   r   r   r   rd   r   r   r   r   r6   r$   r"   r   r   *  s         =AGXd3fi&7 889:AAA.2GXd3	>*+2229=E8DeD)O4456=====r$   r   c                      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tagsrT   rU   r   r   r   r   	responsesPathItem	callbacksr   securityservers)r;   r<   r=   r   r	   r   r*   rM   rT   rU   r   ru   r   r   r   r   rd   r   r   r   r   r   r   r   r   rs   r   r   ra   r6   r$   r"   r   r   1  sn         $D(49
$$$!GXc]!!!!%K#%%%48L(01888!%K#%%%>BJeIy$89:;BBB;?K%Y 678???;?IxS%#"6678???NRIxS%S*_(=y(H"IIJKRRR!%J%%%59HhtDd3i012999&*GXd6l#*****r$   r   c                      e Zd ZU  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d<   dZeee                  ed<   dZeeeeef                           ed<   dS )r   Nre   r~   rh   rT   rU   getputpostdeleteoptionsheadpatchtracer   r   )r;   r<   r=   r   rh   r	   r*   rM   rT   rU   r   r   r   r   r   r   r   r   r   r   r   ra   r   r   r   rd   r6   r$   r"   r   r   A  sB        t6:::C#:::!GXc]!!!!%K#%%%#C)	####C)	### $D(9
$$$"&FHY&&&#'GXi ''' $D(9
$$$!%E8I%%%!%E8I%%%&*GXd6l#***>BJeIy$89:;BBBBBr$   r   c                       e Zd ZdZdZdZdZdS )SecuritySchemeTypeapiKeyhttpoauth2openIdConnectN)r;   r<   r=   r   r   r  r  r6   r$   r"   r   r   Q  s"        FDF#MMMr$   r   c                   L    e Zd ZU  ed          Zeed<   dZee	         ed<   dS )SecurityBaser4   rf   type_NrU   )
r;   r<   r=   r   r  r   rM   rU   r	   r*   r6   r$   r"   r  r  X  sD          %F 3 3 3E333!%K#%%%%%r$   r  c                       e Zd ZdZdZdZdS )APIKeyInr   r   r   N)r;   r<   r=   r   r   r   r6   r$   r"   r  r  ]  s        EFFFFr$   r  c                   j    e Zd ZU  eej        d          Zeed<    ed          Ze	ed<   e
ed<   dS )	APIKeyr4   r~   r  r   rf   r   rK   N)r;   r<   r=   r   r   r   r  rM   r   r  r*   r6   r$   r"   r	  r	  c  sZ          %.@.Gv V V VEVVVE%%%C%%%
IIIIIr$   r	  c                   H    e Zd ZU  eej        d          Zeed<   eed<   dS )HTTPBaser4   r~   r  schemeN)	r;   r<   r=   r   r   r   r  rM   r*   r6   r$   r"   r  r  i  s=          %.@.EV T T TETTTKKKKKr$   r  c                   D    e Zd ZU dZed         ed<   dZee         ed<   dS )
HTTPBearerbearerr  NbearerFormat)	r;   r<   r=   r  r   rM   r  r	   r*   r6   r$   r"   r  r  n  s;          (FGH((("&L(3-&&&&&r$   r  c                   H    e Zd ZU dZee         ed<   i Zeeef         ed<   dS )	OAuthFlowN
refreshUrlscopes)	r;   r<   r=   r  r	   r*   rM   r  r   r6   r$   r"   r  r  s  s>          $J$$$FDcNr$   r  c                       e Zd ZU eed<   dS )OAuthFlowImplicitauthorizationUrlNr;   r<   r=   r*   rM   r6   r$   r"   r  r  x  s         r$   r  c                       e Zd ZU eed<   dS )OAuthFlowPasswordtokenUrlNr  r6   r$   r"   r  r  |           MMMMMr$   r  c                       e Zd ZU eed<   dS )OAuthFlowClientCredentialsr  Nr  r6   r$   r"   r  r    r  r$   r  c                   $    e Zd ZU eed<   eed<   dS )OAuthFlowAuthorizationCoder  r  Nr  r6   r$   r"   r   r     s%         MMMMMr$   r   c                   x    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)r;   r<   r=   r#  r	   r  rM   r$  r  r%  r  r&  r   r6   r$   r"   r"  r"    sl         ,0Hh()000,0Hh()000>Bx :;BBB>Bx :;BBBBBr$   r"  c                   H    e Zd ZU  eej        d          Zeed<   eed<   dS )OAuth2r4   r~   r  flowsN)	r;   r<   r=   r   r   r  r  rM   r"  r6   r$   r"   r(  r(    sB          %.@.Gv V V VEVVVr$   r(  c                   H    e Zd ZU  eej        d          Zeed<   eed<   dS )OpenIdConnectr4   r~   r  openIdConnectUrlN)	r;   r<   r=   r   r   r  r  rM   r*   r6   r$   r"   r+  r+    sP          %"0! ! !E    r$   r+  c                   f   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)r;   r<   r=   r/  r	   r   r*   r   r}   rd   rM   r   r   r   r   r   r   r0  r   r   r   r1  SecuritySchemer   r   r   r   r   r2  r6   r$   r"   r.  r.    s        =AGXd3fi&7 889:AAAAEIxS%)(;"<<=>EEECGJc5I)=#>>?@GGG?CHhtCw	'9!::;<CCCHLM8DeK,B&C!CDELLL=AGXd3fi&7 889:AAAMQOXd3ni.G(H#HIJQQQ9=E8DeD)O4456===QUIxS%S(](;Y(K"LLMNUUUAEIxS%)(;"<<=>EEEEEr$   r.  c                   N    e Zd ZU eed<   dZee         ed<   dZee         ed<   dS )TagrK   NrU   r   )	r;   r<   r=   r*   rM   rU   r	   r   ru   r6   r$   r"   r5  r5    sE         
III!%K#%%%48L(0188888r$   r5  c                   t   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 )OpenAPIopenapiinfoNjsonSchemaDialectr   pathswebhooks
componentsr   r   r   )r;   r<   r=   r*   rM   rR   r:  r	   r   r   ra   r;  r   r   r   r   r<  rd   r=  r.  r   r   r5  r   ru   r6   r$   r"   r7  r7    s        LLL
JJJ'+x}+++&*GXd6l#***7;E8DeHcM2234;;;@DHhtCx':!;;<=DDD'+J$+++59HhtDd3i012999 $D(49
$$$48L(0188888r$   r7  )Or^   r   typingr   r   r   r   r   r	   r
   r   r   fastapi._compatr   r   r   r   r   r   fastapi.loggerr   pydanticr   r   r   typing_extensionsr   r   r   r   r   email_validatorr   ImportErrorr*   r@   rJ   rO   rR   r[   ra   rd   rj   rn   ru   r   r}   rs   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+  r3  r.  r5  r7  r6   r$   r"   <module>rE     s         R R R R R R R R R R R R R R R R R R R R R R                " ! ! ! ! ! - - - - - - - - - - ; ; ; ; ; ; ; ; ; ; = = = = = =&E!!!!!!! !E !E !EE E E E E3 E E E E E!EH    )   % % % % %! % % %! ! ! ! !! ! ! !       & & & & &( & & &: : : : :  : : :# # # # #	 # # #- - - - -I - - -
# # # # #
 # # #    /    G

T T T T T  T T Tr VT\"    iu        d   ) ) ) ) )" ) ) )3 3 3 3 3# 3 3 33 3 3 3 3' 3 3 3- - - - - - - -
	 	 	 	 	] 	 	 	$ $ $ $ $% $ $ $$ $ $ $ $ $ $ $> > > > >" > > >+ + + + +# + + + C C C C C" C C C $ $ $ $ $ $ $ $& & & & && & & &
    t       \       |   
' ' ' ' ' ' ' '
         #      
    	       	                 
C C C C C$ C C C    \   
    L    vx
JKF F F F F$ F F F9 9 9 9 9
 9 9 99 9 9 9 9! 9 9 9 v    y    x     s   A A32A3