§
    ‚Štj¦;  ã                   ó8  — d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZmZmZmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZ  ej        e¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z  G d„ dej        ¦  «        Z!e G d„ de¦  «        ¦   «         Z"e G d„ de"¦  «        ¦   «         Z# ed¬¦  «         G d„ de"¦  «        ¦   «         Z$ ed¬¦  «         G d„ d e
e"¦  «        ¦   «         Z%g d!¢Z&dS )"zPyTorch TextNet model.é    )ÚAnyN)ÚTensoré   )ÚACT2CLS)ÚBackboneMixinÚfilter_output_hidden_states)ÚBackboneOutputÚBaseModelOutputWithNoAttentionÚ(BaseModelOutputWithPoolingAndNoAttentionÚ$ImageClassifierOutputWithNoAttention)ÚPreTrainedModel)Úauto_docstringÚlogging)Úcan_return_tupleé   )ÚTextNetConfigc                   óH   ‡ — e Zd Zdefˆ fd„Zdej        dej        fd„Zˆ xZS )ÚTextNetConvLayerÚconfigc                 óD  •— t          ¦   «                              ¦   «          |j        | _        |j        | _        |j        | _        t          |j        t          ¦  «        r |j        d         dz  |j        d         dz  fn	|j        dz  }t          j        |j        |j        |j        |j        |d¬¦  «        | _        t          j        |j        |j        ¦  «        | _        t          j        ¦   «         | _        | j        � t)          | j                 ¦   «         | _        d S d S )Nr   é   r   F)Úkernel_sizeÚstrideÚpaddingÚbias)ÚsuperÚ__init__Ústem_kernel_sizer   Ústem_strider   Ústem_act_funcÚactivation_functionÚ
isinstanceÚtupleÚnnÚConv2dÚstem_num_channelsÚstem_out_channelsÚconvÚBatchNorm2dÚbatch_norm_epsÚ
batch_normÚIdentityÚ
activationr   )Úselfr   r   Ú	__class__s      €új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/textnet/modeling_textnet.pyr   zTextNetConvLayer.__init__(   s  ø€ Ý‰Œ×ÒÑÔÐà!Ô2ˆÔØÔ(ˆŒØ#)Ô#7ˆÔ õ ˜&Ô1µ5Ñ9Ô9ð.ˆVÔ Ô" aÑ'¨Ô);¸AÔ)>À!Ñ)CÐDÐDàÔ(¨AÑ-ð 	õ ”IØÔ$ØÔ$ØÔ/ØÔ%ØØð
ñ 
ô 
ˆŒ	õ œ.¨Ô)AÀ6ÔCXÑYÔYˆŒåœ+™-œ-ˆŒØÔ#Ð/Ý% dÔ&>Ô?ÑAÔAˆDŒOˆOˆOð 0Ð/ó    Úhidden_statesÚreturnc                 ó€   — |                       |¦  «        }|                      |¦  «        }|                      |¦  «        S ©N)r(   r+   r-   )r.   r2   s     r0   ÚforwardzTextNetConvLayer.forwardC   s6   € ØŸ	š	 -Ñ0Ô0ˆØŸš¨Ñ6Ô6ˆØ�Š˜}Ñ-Ô-Ð-r1   )	Ú__name__Ú
__module__Ú__qualname__r   r   Útorchr   r6   Ú__classcell__©r/   s   @r0   r   r   '   sq   ø€ € € € € ðB˜}ð Bð Bð Bð Bð Bð Bð6. U¤\ð .°e´lð .ð .ð .ð .ð .ð .ð .ð .r1   r   c            
       ó\   ‡ — e Zd ZdZdededededef
ˆ fd„Zdej        d	ej        fd
„Z	ˆ xZ
S )ÚTextNetRepConvLayera›  
    This layer supports re-parameterization by combining multiple convolutional branches
    (e.g., main convolution, vertical, horizontal, and identity branches) during training.
    At inference time, these branches can be collapsed into a single convolution for
    efficiency, as per the re-parameterization paradigm.

    The "Rep" in the name stands for "re-parameterization" (introduced by RepVGG).
    r   Úin_channelsÚout_channelsr   r   c                 óŽ  •— t          ¦   «                              ¦   «          || _        || _        || _        || _        |d         dz
  dz  |d         dz
  dz  f}t          j        ¦   «         | _        t          j	        |||||d¬¦  «        | _
        t          j        ||j        ¬¦  «        | _        |d         dz
  dz  df}d|d         dz
  dz  f}|d         dk    rHt          j	        |||d         df||d¬¦  «        | _        t          j        ||j        ¬¦  «        | _        nd\  | _        | _        |d         dk    rHt          j	        ||d|d         f||d¬¦  «        | _        t          j        ||j        ¬¦  «        | _        nd\  | _        | _        ||k    r!|dk    rt          j        ||j        ¬¦  «        nd | _        d S )Nr   r   r   F)r?   r@   r   r   r   r   )Únum_featuresÚeps©NN)r   r   Únum_channelsr@   r   r   r$   ÚReLUr!   r%   Ú	main_convr)   r*   Úmain_batch_normÚvertical_convÚvertical_batch_normÚhorizontal_convÚhorizontal_batch_normÚrbr_identity)
r.   r   r?   r@   r   r   r   Úvertical_paddingÚhorizontal_paddingr/   s
            €r0   r   zTextNetRepConvLayer.__init__S   s
  ø€ Ý‰Œ×ÒÑÔÐà'ˆÔØ(ˆÔØ&ˆÔØˆŒà ”N QÑ&¨1Ñ,¨{¸1¬~ÀÑ/AÀaÑ.GÐHˆå#%¤7¡9¤9ˆÔ åœØ#Ø%Ø#ØØØð
ñ 
ô 
ˆŒõ  "œ~¸<ÈVÔMbÐcÑcÔcˆÔà(¨œ^¨aÑ/°AÑ5°qÐ9ÐØ +¨a¤.°1Ñ"4¸Ñ!:Ð;Ðà�qŒ>˜QÒÐÝ!#¤Ø'Ø)Ø(¨œ^¨QÐ/ØØ(Øð"ñ "ô "ˆDÔõ (*¤~À<ÐU[ÔUjÐ'kÑ'kÔ'kˆDÔ$Ð$à;EÑ8ˆDÔ Ô 8à�qŒ>˜QÒÐÝ#%¤9Ø'Ø)Ø ¨A¤Ð/ØØ*Øð$ñ $ô $ˆDÔ õ *,¬À\ÐW]ÔWlÐ)mÑ)mÔ)mˆDÔ&Ð&à?IÑ<ˆDÔ  $Ô"<ð ˜{Ò*Ð*¨v¸ª{¨{õ ŒN¨¸Ô9NÐOÑOÔOÐOàð 	ÔÐÐr1   r2   r3   c                 óš  — |                       |¦  «        }|                      |¦  «        }| j        �/|                      |¦  «        }|                      |¦  «        }||z   }| j        �/|                      |¦  «        }|                      |¦  «        }||z   }| j        �|                      |¦  «        }||z   }|                      |¦  «        S r5   )rG   rH   rI   rJ   rK   rL   rM   r!   )r.   r2   Úmain_outputsÚvertical_outputsÚhorizontal_outputsÚid_outs         r0   r6   zTextNetRepConvLayer.forwardŒ   sÞ   € Ø—~’~ mÑ4Ô4ˆØ×+Ò+¨LÑ9Ô9ˆð ÔÐ)Ø#×1Ò1°-Ñ@Ô@ÐØ#×7Ò7Ð8HÑIÔIÐØ'Ð*:Ñ:ˆLð ÔÐ+Ø!%×!5Ò!5°mÑ!DÔ!DÐØ!%×!;Ò!;Ð<NÑ!OÔ!OÐØ'Ð*<Ñ<ˆLàÔÐ(Ø×&Ò& }Ñ5Ô5ˆFØ'¨&Ñ0ˆLà×'Ò'¨Ñ5Ô5Ð5r1   )r7   r8   r9   Ú__doc__r   Úintr   r:   r   r6   r;   r<   s   @r0   r>   r>   I   s“   ø€ € € € € ðð ð7
˜}ð 7
¸3ð 7
Ècð 7
Ð`cð 7
Ðmpð 7
ð 7
ð 7
ð 7
ð 7
ð 7
ðr6 U¤\ð 6°e´lð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r1   r>   c                   ó.   ‡ — e Zd Zdedefˆ fd„Zd„ Zˆ xZS )ÚTextNetStager   Údepthc                 óš  •— t          ¦   «                              ¦   «          |j        |         }|j        |         }t	          |¦  «        }|j        |         }|j        |dz            }|g|g|dz
  z  z   }|g|z  }	g }
t          ||	||¦  «        D ]"}|
                     t          |g|¢R Ž ¦  «         Œ#t          j
        |
¦  «        | _        d S )Nr   )r   r   Úconv_layer_kernel_sizesÚconv_layer_stridesÚlenÚhidden_sizesÚzipÚappendr>   r$   Ú
ModuleListÚstage)r.   r   rY   r   r   Ú
num_layersÚstage_in_channel_sizeÚstage_out_channel_sizer?   r@   rb   Ústage_configr/   s               €r0   r   zTextNetStage.__init__¤   sç   ø€ Ý‰Œ×ÒÑÔÐØÔ4°UÔ;ˆØÔ*¨5Ô1ˆå˜Ñ%Ô%ˆ
Ø &Ô 3°EÔ :ÐØ!'Ô!4°U¸Q±YÔ!?Ðà,Ð-Ð1GÐ0HÈJÐYZÉNÑ0[Ñ[ˆØ.Ð/°*Ñ<ˆàˆÝ ¨\¸;ÈÑOÔOð 	Eð 	EˆLØ�LŠLÕ,¨VÐC°lÐCÐCÐCÑDÔDÐDÐDÝ”] 5Ñ)Ô)ˆŒ
ˆ
ˆ
r1   c                 ó0   — | j         D ]} ||¦  «        }Œ|S r5   )rb   )r.   Úhidden_stateÚblocks      r0   r6   zTextNetStage.forwardµ   s*   € Ø”Zð 	/ð 	/ˆEØ ˜5 Ñ.Ô.ˆLˆLØÐr1   )r7   r8   r9   r   rV   r   r6   r;   r<   s   @r0   rX   rX   £   sZ   ø€ € € € € ð*˜}ð *°Sð *ð *ð *ð *ð *ð *ð"ð ð ð ð ð ð r1   rX   c            	       óX   ‡ — e Zd Zdefˆ fd„Z	 	 d	dej        dedz  dedz  defd„Z	ˆ xZ
S )
ÚTextNetEncoderr   c                 ó  •— t          ¦   «                              ¦   «          g }t          |j        ¦  «        }t	          |¦  «        D ]%}|                     t          ||¦  «        ¦  «         Œ&t          j        |¦  «        | _	        d S r5   )
r   r   r]   r[   Úranger`   rX   r$   ra   Ústages)r.   r   rn   Ú
num_stagesÚstage_ixr/   s        €r0   r   zTextNetEncoder.__init__¼   sy   ø€ Ý‰Œ×ÒÑÔÐàˆÝ˜Ô7Ñ8Ô8ˆ
Ý˜jÑ)Ô)ð 	:ð 	:ˆHØ�MŠM�, v¨xÑ8Ô8Ñ9Ô9Ð9Ð9å”m FÑ+Ô+ˆŒˆˆr1   Nrh   Úoutput_hidden_statesÚreturn_dictr3   c                 óœ   — |g}| j         D ]"} ||¦  «        }|                     |¦  «         Œ#|s|f}|r||fz   n|S t          ||¬¦  «        S )N)Úlast_hidden_stater2   )rn   r`   r
   )r.   rh   rq   rr   r2   rb   Úoutputs          r0   r6   zTextNetEncoder.forwardÆ   s~   € ð &˜ˆØ”[ð 	/ð 	/ˆEØ ˜5 Ñ.Ô.ˆLØ× Ò  Ñ.Ô.Ð.Ð.àð 	QØ"�_ˆFØ0DÐP�6˜]Ð,Ñ,Ð,È&ÐPå-ÀÐ\iÐjÑjÔjÐjr1   rD   )r7   r8   r9   r   r   r:   r   Úboolr
   r6   r;   r<   s   @r0   rk   rk   »   s¢   ø€ € € € € ð,˜}ð ,ð ,ð ,ð ,ð ,ð ,ð -1Ø#'ð	kð kà”lðkð # T™kðkð ˜D‘[ð	kð
 
(ðkð kð kð kð kð kð kð kr1   rk   c                   ó"   — e Zd ZU eed<   dZdZdS )ÚTextNetPreTrainedModelr   ÚtextnetÚpixel_valuesN)r7   r8   r9   r   Ú__annotations__Úbase_model_prefixÚmain_input_name© r1   r0   rx   rx   Ø   s'   € € € € € € àÐÐÑØ!ÐØ$€O€O€Or1   rx   c                   óŒ   ‡ — e Zd Zˆ fd„Ze	 	 ddededz  dedz  deee	e         f         ee         z  e
z  fd„¦   «         Zˆ xZS )	ÚTextNetModelc                 óô   •— t          ¦   «                              |¦  «         t          |¦  «        | _        t	          |¦  «        | _        t          j        d¦  «        | _        |  	                    ¦   «          d S )N)r   r   )
r   r   r   Ústemrk   Úencoderr$   ÚAdaptiveAvgPool2dÚpoolerÚ	post_init©r.   r   r/   s     €r0   r   zTextNetModel.__init__á   sa   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ý$ VÑ,Ô,ˆŒ	Ý% fÑ-Ô-ˆŒÝÔ*¨6Ñ2Ô2ˆŒØ�ŠÑÔÐÐÐr1   Nrz   rq   rr   r3   c                 ó:  — |�|n| j         j        }|�|n| j         j        }|                      |¦  «        }|                      |||¬¦  «        }|d         }|                      |¦  «        }|s||f}	|r|	|d         fz   n|	S t          |||r|d         nd ¬¦  «        S )N©rq   rr   r   r   )rt   Úpooler_outputr2   )r   rr   rq   r‚   rƒ   r…   r   )
r.   rz   rq   rr   Úkwargsrh   Úencoder_outputsrt   Úpooled_outputru   s
             r0   r6   zTextNetModel.forwardè   sá   € ð &1Ð%<�k�kÀ$Ä+ÔBYˆà$8Ð$DÐ Ð È$Ì+ÔJjð 	ð —y’y Ñ.Ô.ˆàŸ,š,ØÐ/CÐQ\ð 'ñ 
ô 
ˆð ,¨AÔ.ÐØŸšÐ$5Ñ6Ô6ˆàð 	VØ'¨Ð7ˆFØ5IÐU�6˜_¨QÔ/Ð1Ñ1Ð1ÈvÐUå7Ø/Ø'Ø0DÐN˜/¨!Ô,Ð,È$ð
ñ 
ô 
ð 	
r1   rD   )r7   r8   r9   r   r   r   rv   r#   r   Úlistr   r6   r;   r<   s   @r0   r€   r€   ß   s¯   ø€ € € € € ðð ð ð ð ð ð -1Ø#'ð	
ð 
àð
ð # T™kð
ð ˜D‘[ð	
ð 
ˆs�D˜”Iˆ~Ô	  s¤Ñ	+Ð.VÑ	Vð
ð 
ð 
ñ „^ð
ð 
ð 
ð 
ð 
r1   r€   z‡
    TextNet Model with an image classification head on top (a linear layer on top of the pooled features), e.g. for
    ImageNet.
    )Úcustom_introc                   ó€   ‡ — e Zd Zˆ fd„Ze	 	 	 	 d	dej        dz  dej        dz  dedz  dedz  de	f
d„¦   «         Z
ˆ xZS )
ÚTextNetForImageClassificationc                 óî  •— t          ¦   «                              |¦  «         |j        | _        t          |¦  «        | _        t          j        d¦  «        | _        t          j        ¦   «         | _	        |j        dk    r%t          j
        |j        d         |j        ¦  «        nt          j        ¦   «         | _        t          j        | j        | j	        g¦  «        | _        |                      ¦   «          d S )N)r   r   r   éÿÿÿÿ)r   r   Ú
num_labelsr€   ry   r$   r„   Úavg_poolÚFlattenÚflattenÚLinearr^   r,   Úfcra   Ú
classifierr†   r‡   s     €r0   r   z&TextNetForImageClassification.__init__  sÂ   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ø Ô+ˆŒÝ# FÑ+Ô+ˆŒÝÔ,¨VÑ4Ô4ˆŒÝ”z‘|”|ˆŒØKQÔK\Ð_`ÒK`ÐK`•"”)˜FÔ/°Ô3°VÔ5FÑGÔGÐGÕfhÔfqÑfsÔfsˆŒõ œ-¨¬¸¼Ð(EÑFÔFˆŒð 	�ŠÑÔÐÐÐr1   Nrz   Úlabelsrq   rr   r3   c                 óX  — |�|n| j         j        }|                      |||¬¦  «        }|d         }| j        D ]} ||¦  «        }Œ|                      |¦  «        }	d}
|�|                      ||	| j         ¦  «        }
|s|	f|dd…         z   }|
�|
f|z   n|S t          |
|	|j        ¬¦  «        S )a½  
        labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):
            Labels for computing the image classification/regression loss. Indices should be in `[0, ...,
            config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If
            `config.num_labels > 1` a classification loss is computed (Cross-Entropy).

        Examples:
        ```python
        >>> import torch
        >>> import httpx
        >>> from io import BytesIO
        >>> from transformers import TextNetForImageClassification, TextNetImageProcessor
        >>> from PIL import Image

        >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
        >>> with httpx.stream("GET", url) as response:
        ...     image = Image.open(BytesIO(response.read()))

        >>> processor = TextNetImageProcessor.from_pretrained("czczup/textnet-base")
        >>> model = TextNetForImageClassification.from_pretrained("czczup/textnet-base")

        >>> inputs = processor(images=image, return_tensors="pt")
        >>> with torch.no_grad():
        ...     outputs = model(**inputs)
        >>> outputs.logits.shape
        torch.Size([1, 2])
        ```Nr‰   r   r   )ÚlossÚlogitsr2   )r   rr   ry   rš   r™   Úloss_functionr   r2   )r.   rz   r›   rq   rr   r‹   Úoutputsrt   Úlayerrž   r�   ru   s               r0   r6   z%TextNetForImageClassification.forward  sã   € ðH &1Ð%<�k�kÀ$Ä+ÔBYˆà—,’,˜|ÐBVÐdo�,ÑpÔpˆØ# AœJÐØ”_ð 	9ð 	9ˆEØ % Ð&7Ñ 8Ô 8ÐÐØ—’Ð*Ñ+Ô+ˆØˆàÐØ×%Ò% f¨f°d´kÑBÔBˆDàð 	DØ�Y ¨¨¨¤Ñ,ˆFØ'+Ð'7�D�7˜VÑ#Ð#¸VÐCå3¸ÀfÐ\cÔ\qÐrÑrÔrÐrr1   )NNNN)r7   r8   r9   r   r   r:   ÚFloatTensorÚ
LongTensorrv   r   r6   r;   r<   s   @r0   r‘   r‘   	  sÁ   ø€ € € € € ðð ð ð ð ð ð 26Ø*.Ø,0Ø#'ð3sð 3sàÔ'¨$Ñ.ð3sð Ô  4Ñ'ð3sð # T™kð	3sð
 ˜D‘[ð3sð 
.ð3sð 3sð 3sñ „^ð3sð 3sð 3sð 3sð 3sr1   r‘   zP
    TextNet backbone, to be used with frameworks like DETR and MaskFormer.
    c                   óŽ   ‡ — e Zd ZdZˆ fd„Zeee	 	 d	dede	dz  de	dz  de
e
         ez  fd„¦   «         ¦   «         ¦   «         Zˆ xZS )
ÚTextNetBackboneFc                 ó²   •— t          ¦   «                              |¦  «         t          |¦  «        | _        |j        | _        |                      ¦   «          d S r5   )r   r   r€   ry   r^   rB   r†   r‡   s     €r0   r   zTextNetBackbone.__init__]  sM   ø€ Ý‰Œ×Ò˜Ñ Ô Ð å# FÑ+Ô+ˆŒØ"Ô/ˆÔð 	�ŠÑÔÐÐÐr1   Nrz   rq   rr   r3   c                 ól  — |�|n| j         j        }|�|n| j         j        }|                      |d|¬¦  «        }|r|j        n|d         }d}t          | j        ¦  «        D ]\  }}	|	| j        v r|||         fz  }Œ|s|f}
|r|r|j        n|d         }|
|fz  }
|
S t          ||r|j        ndd¬¦  «        S )aÑ  
        Examples:

        ```python
        >>> import torch
        >>> import httpx
        >>> from io import BytesIO
        >>> from PIL import Image
        >>> from transformers import AutoImageProcessor, AutoBackbone

        >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
        >>> with httpx.stream("GET", url) as response:
        ...     image = Image.open(BytesIO(response.read()))

        >>> processor = AutoImageProcessor.from_pretrained("czczup/textnet-base")
        >>> model = AutoBackbone.from_pretrained("czczup/textnet-base")

        >>> inputs = processor(image, return_tensors="pt")
        >>> with torch.no_grad():
        >>>     outputs = model(**inputs)
        ```NTr‰   r   r~   )Úfeature_mapsr2   Ú
attentions)	r   rr   rq   ry   r2   Ú	enumerateÚstage_namesÚout_featuresr	   )r.   rz   rq   rr   r‹   r    r2   r¨   Úidxrb   ru   s              r0   r6   zTextNetBackbone.forwardf  s  € ð> &1Ð%<�k�kÀ$Ä+ÔBYˆà$8Ð$DÐ Ð È$Ì+ÔJjð 	ð —,’,˜|À$ÐT_�,Ñ`Ô`ˆà1<ÐL˜Ô-Ð-À'È!Ä*ˆàˆÝ# DÔ$4Ñ5Ô5ð 	6ð 	6‰JˆC�Ø˜Ô)Ð)Ð)Ø ¨sÔ!3Ð 5Ñ5�øàð 	Ø"�_ˆFØ#ð +Ø9DÐ T Ô 5Ð 5È'ÐRSÌ*�Ø˜=Ð*Ñ*�ØˆMåØ%Ø3GÐQ˜'Ô/Ð/ÈTØð
ñ 
ô 
ð 	
r1   rD   )r7   r8   r9   Úhas_attentionsr   r   r   r   r   rv   r#   r	   r6   r;   r<   s   @r0   r¥   r¥   U  s¹   ø€ € € € € ð €Nðð ð ð ð ð Ø Øð -1Ø#'ð	5
ð 5
àð5
ð # T™kð5
ð ˜D‘[ð	5
ð 
ˆuŒ˜Ñ	&ð5
ð 5
ð 5
ñ „^ñ !Ô ñ Ôð5
ð 5
ð 5
ð 5
ð 5
r1   r¥   )r¥   r€   rx   r‘   )'rU   Útypingr   r:   Útorch.nnr$   r   Úactivationsr   Úbackbone_utilsr   r   Úmodeling_outputsr	   r
   r   r   Úmodeling_utilsr   Úutilsr   r   Úutils.genericr   Úconfiguration_textnetr   Ú
get_loggerr7   ÚloggerÚModuler   r>   rX   rk   rx   r€   r‘   r¥   Ú__all__r~   r1   r0   ú<module>r¼      s  ðð Ð à Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hðð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð 
ˆÔ	˜HÑ	%Ô	%€ð.ð .ð .ð .ð .�r”yñ .ô .ð .ðDW6ð W6ð W6ð W6ð W6˜"œ)ñ W6ô W6ð W6ðtð ð ð ð �2”9ñ ô ð ð0kð kð kð kð k�R”Yñ kô kð kð: ð%ð %ð %ð %ð %˜_ñ %ô %ñ „ð%ð ð&
ð &
ð &
ð &
ð &
Ð)ñ &
ô &
ñ „ð&
ðR €ððñ ô ðCsð Csð Csð Csð CsÐ$:ñ Csô Csñô ðCsðL €ððñ ô ð
D
ð D
ð D
ð D
ð D
�mÐ%;ñ D
ô D
ñô ð
D
ðN iÐ
hÐ
h€€€r1   