§
    ¦˜ºh¼~  ã                   óŽ  — d dl mZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZ d d	lmZmZ d d
lmZm Z  d dl!m"Z"m#Z#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. d dl/m0Z0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8m9Z9 d dl:m;Z;m<Z< dZ=ej>         ?                    de=› d�¦  «        Z@ ejA        ¦   «         ZBejC         D                    d ¦  «        ZEeE F                    eBjG        jH        ¦  «        ZIeBjJ        eI         eB_J        eBjG        eI         eB_G        dZKd„ ZLd„ ZMd„ ZNd„ ZOd„ ZPd„ ZQd„ ZRd „ ZSd!„ ZTd"„ ZUd#„ ZVd$„ ZWd%„ ZXd&„ ZYd'„ ZZd(„ Z[d)„ Z\d*„ Z]d+„ Z^d,„ Z_d-„ Z`d.„ Zad/„ Zbd0„ Zcd1„ Zdd2„ Zed3„ Zfd4„ Zgd5„ Zhd6„ Zid7„ Zjd8„ Zkd9„ Zld:„ Zmd;„ Znd<„ Zod=„ Zpej>         q                    d>e#e"g¦  «        d?„ ¦   «         Zrej>         q                    d>e#e"g¦  «        d@„ ¦   «         Zsej>         q                    d>e#e"g¦  «        dA„ ¦   «         Ztej>         q                    dBeju        ejv        g¦  «        dC„ ¦   «         ZwdD„ ZxdS )Eé    )ÚescapeN)Úassert_allclose)ÚdatasetsÚsvm)Úload_breast_cancer)ÚNotFittedError)ÚSimpleImputer)Ú
ElasticNetÚLassoÚLinearRegressionÚLogisticRegressionÚ
PerceptronÚRidgeÚSGDClassifier)Úprecision_scoreÚrecall_score)ÚGridSearchCVÚcross_val_score)ÚOneVsOneClassifierÚOneVsRestClassifierÚOutputCodeClassifier)ÚMultinomialNB)ÚKNeighborsClassifier)ÚPipelineÚmake_pipeline)ÚSVCÚ	LinearSVC)ÚDecisionTreeClassifierÚDecisionTreeRegressor)Úcheck_arrayÚshuffle)ÚCheckingClassifier)Úassert_almost_equalÚassert_array_equal)Úcheck_classification_targetsÚtype_of_targetz/The default value for `force_alpha` will changezignore:z:FutureWarningé   c                  ó,  — t          t          dd¬¦  «        ¦  «        } t          j        t          ¦  «        5  |                      g ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          t          ¦   «         ¦  «         
                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        ddgddgg¦  «        }t          j        d	d
gddgg¦  «        }t          t          ¦   «         ¦  «         
                    ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚautor   ©ÚdualÚrandom_statez@Multioutput target data is not supported with label binarization©Úmatché   é   r'   g      ø?g333333@gÍÌÌÌÌÌ@çš™™™™™é?)r   r   ÚpytestÚraisesr   ÚpredictÚ
ValueErrorÚnpÚarrayr   Úfit)ÚovrÚmsgÚXÚys       úe/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/tests/test_multiclass.pyÚtest_ovr_exceptionsr>   4   s3  € Ý
�i¨VÀ!ÐDÑDÔDÑ
EÔ
E€Cõ 
Œ•~Ñ	&Ô	&ð ð Ø�Š�B‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð M€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝ�M™OœOÑ,Ô,×0Ò0°°AÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7ÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆÝŒH�s˜C�j 3¨ *Ð-Ñ.Ô.ˆÝ�M™OœOÑ,Ô,×0Ò0°°AÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s7   ¸AÁAÁ!AÂA$C2Ã2C6Ã9C6ÄA$F	Æ	FÆFc                  óÖ   — t          j        g d¢¦  «        } t          | ¦  «        }t          j        t
          |¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ç        gš™™™™™ñ?ç       @g      @r-   )r6   r7   r&   r2   r3   r5   r%   )r<   r:   s     r=   Ú!test_check_classification_targetsrB   H   s¬   € å
ŒÐ%Ð%Ð%Ñ&Ô&€AÝ
˜Ñ
Ô
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð (ð (Ý$ QÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ÁAÁA"Á%A"c                  ób  — t          t          dd¬¦  «        ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «        }t          | j        ¦  «        t          k    sJ ‚t          dd¬¦  «        }|                     t          j        t          j        ¦  «                             t          j        ¦  «        }t          j        t          j        |k    ¦  «        t          j        t          j        |k    ¦  «        k    sJ ‚t          t          ¦   «         ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «        }t          j        t          j        |k    ¦  «        dk    sJ ‚d S )Nr)   r   r*   çÍÌÌÌÌÌä?)r   r   r8   ÚirisÚdataÚtargetr4   ÚlenÚestimators_Ú	n_classesr6   Úmeanr   )r9   ÚpredÚclfÚpred2s       r=   Útest_ovr_fit_predictrO   P   s,  € å
�i¨VÀ!ÐDÑDÔDÑ
EÔ
E€CØ�7Š7•4”9�dœkÑ*Ô*×2Ò2µ4´9Ñ=Ô=€DÝˆsŒÑÔ¥9Ò,Ð,Ð,Ð,å
˜¨aÐ
0Ñ
0Ô
0€CØ�GŠG•D”I�tœ{Ñ+Ô+×3Ò3µD´IÑ>Ô>€EÝŒ7•4”; $Ò&Ñ'Ô'­2¬7µ4´;À%Ò3GÑ+HÔ+HÒHÐHÐHÐHõ �m™oœoÑ
.Ô
.€CØ�7Š7•4”9�dœkÑ*Ô*×2Ò2µ4´9Ñ=Ô=€DÝŒ7•4”; $Ò&Ñ'Ô'¨$Ò.Ð.Ð.Ð.Ð.Ð.ó    c                  ó´  — t          t          j        t          j        d¬¦  «        \  } }t	          t          ¦   «         ¦  «        }|                     | d d…         |d d…         t          j        |¦  «        ¦  «         |                     | dd …         |dd …         ¦  «         | 	                    | ¦  «        }t	          t          ¦   «         ¦  «        }| 
                    | |¦  «         	                    | ¦  «        }t          ||¦  «         t          |j        ¦  «        t          t          j        |¦  «        ¦  «        k    sJ ‚t          j        ||k    ¦  «        dk    sJ ‚t          j        t          j                             dd¦  «        ¦  «        } g d¢}t	          t%          dd d	d¬
¦  «        ¦  «        }|                     | d d…         |d d…         t          j        |¦  «        ¦  «         |                     | dd …         |dd …         ¦  «         | 	                    | ¦  «        }t	          t%          dd d	d¬
¦  «        ¦  «        }| 
                    | |¦  «         	                    | ¦  «        }t          j        ||k    ¦  «        t          j        ||k    ¦  «        k    sJ ‚t	          t'          ¦   «         ¦  «        }t)          |d¦  «        rJ ‚d S )Nr   ©r,   éd   rD   é   r0   ©r/   r/   r/   r/   r0   r'   r'   r   r   r0   r'   r/   r0   r'   r/   F)Úmax_iterÚtolr!   r,   é   Úpartial_fit)r!   rE   rF   rG   r   r   rY   r6   Úuniquer4   r8   r#   rH   rI   rK   ÚabsÚrandomÚrandnr   r   Úhasattr)r;   r<   r9   rL   Úovr2rN   Úovr1Úpred1s           r=   Útest_ovr_partial_fitrb   `   sl  € å•4”9�dœk¸Ð:Ñ:Ô:�D€A€qÝ
�m™oœoÑ
.Ô
.€CØ‡O‚O�A�d�s�d”G˜Q˜t ˜tœW¥b¤i°¡l¤lÑ3Ô3Ð3Ø‡O‚O�A�c�d�d”G˜Q˜s˜t˜tœWÑ%Ô%Ð%Ø�;Š;�q‰>Œ>€DÝ�}™œÑ/Ô/€DØ�HŠH�Q˜‰NŒN×"Ò" 1Ñ%Ô%€Eå˜˜eÑ$Ô$Ð$ÝˆsŒÑÔ¥3¥r¤y°¡|¤|Ñ#4Ô#4Ò4Ð4Ð4Ð4ÝŒ7�1˜’9ÑÔ Ò$Ð$Ð$Ð$õ 	Œ�rŒy�Š˜r 1Ñ%Ô%Ñ&Ô&€AØ2Ð2Ð2€Aå
Ý˜q d°EÈÐJÑJÔJñô €Cð ‡O‚O�A�b�q�b”E˜1˜R˜a˜Rœ5¥"¤)¨A¡,¤,Ñ/Ô/Ð/Ø‡O‚O�A�a�b�b”E˜1˜Q˜R˜Rœ5Ñ!Ô!Ð!Ø�;Š;�q‰>Œ>€DÝÝ˜q d°EÈÐJÑJÔJñô €Dð �HŠH�Q˜‰NŒN×"Ò" 1Ñ%Ô%€EÝŒ7�4˜1’9ÑÔ¥¤¨°!ªÑ!4Ô!4Ò4Ð4Ð4Ð4õ �c™eœeÑ
$Ô
$€CÝ�s˜MÑ*Ô*Ð*Ð*Ð*Ð*Ð*rP   c                  óà  — t          t          ¦   «         ¦  «        } t          j        t          j                             dd¦  «        ¦  «        }g d¢}|                      |d d…         |d d…         t          j        |¦  «        ¦  «         dg|dd…         z   }d}t          j	        t          |¬¦  «        5  |                      |dd …         |¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrT   r0   rU   rX   é   éÿÿÿÿzAMini-batch contains \[.+\] while classes must be subset of \[.+\]r-   )r;   r<   )r   r   r6   r[   r\   r]   rY   rZ   r2   r3   r5   )r9   r;   r<   Úy1r:   s        r=   Útest_ovr_partial_fit_exceptionsrg   „   s  € Ý
�m™oœoÑ
.Ô
.€CÝ
Œ�rŒy�Š˜r 1Ñ%Ô%Ñ&Ô&€AØ2Ð2Ð2€AØ‡O‚O�A�b�q�b”E˜1˜R˜a˜Rœ5¥"¤)¨A¡,¤,Ñ/Ô/Ð/ð ˆˆq��2�Œw‰€BØ
N€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 'ð 'Ø�Š˜!˜A˜B˜Bœ% 2ˆÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   Â6 C#Ã#C'Ã*C'c                  óV  — t          t          ¦   «         ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «        }t          | j        ¦  «        t          k    sJ ‚t          t          j        |¦  «        g d¢¦  «         t          j        |t          j        k    ¦  «        dk    sJ ‚t          t          ¦   «         ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «        }t          | j        ¦  «        t          t          dz
  z  dz  k    sJ ‚t          t          j        |¦  «        g d¢¦  «         t          j        |t          j        k    ¦  «        dk    sJ ‚d S )N)r   r/   r0   çÍÌÌÌÌÌì?r/   r0   )r   r   r8   rE   rF   rG   r4   rH   rI   rJ   r$   r6   rZ   rK   r   )r9   rL   s     r=   Útest_ovr_ovo_regressorrj   ‘   s@  € õ Õ3Ñ5Ô5Ñ
6Ô
6€CØ�7Š7•4”9�dœkÑ*Ô*×2Ò2µ4´9Ñ=Ô=€DÝˆsŒÑÔ¥9Ò,Ð,Ð,Ð,Ý•r”y ‘”¨	¨	¨	Ñ2Ô2Ð2åŒ7�4�4œ;Ò&Ñ'Ô'¨#Ò-Ð-Ð-Ð-å
Õ2Ñ4Ô4Ñ
5Ô
5€CØ�7Š7•4”9�dœkÑ*Ô*×2Ò2µ4´9Ñ=Ô=€DÝˆsŒÑÔ¥9µ	¸A±Ñ#>ÀÑ#BÒBÐBÐBÐBÝ•r”y ‘”¨	¨	¨	Ñ2Ô2Ð2åŒ7�4�4œ;Ò&Ñ'Ô'¨#Ò-Ð-Ð-Ð-Ð-Ð-rP   c            
      óR  — t           j        t           j        t           j        t           j        t           j        fD �]ë} t          d¬¦  «        }t          j        ddddddd	¬
¦  «        \  }}|d d…         |d d…         }}|dd …         }t          |¦  «         
                    ||¦  «        }|                     |¦  «        }t          |¦  «         
                    | | |¦  «        ¦  «        }	|	                     |¦  «        }
|j        sJ ‚t          j        |
¦  «        sJ ‚t          |
                     ¦   «         |¦  «         |	                     |¦  «        }|dk    }t          ||
                     ¦   «         ¦  «         t#          j        ¦   «         }t          |¦  «         
                    | | |¦  «        ¦  «        }	|	                     |¦  «        d	k                         t*          ¦  «        }t          ||	                     |¦  «                             ¦   «         ¦  «         �Œíd S )Nr/   ©ÚalpharS   é   rd   r'   é2   Tr   ©Ú	n_samplesÚ
n_featuresrJ   Ún_labelsÚlengthÚallow_unlabeledr,   éP   ç      à?)ÚspÚ
csr_matrixÚ
csc_matrixÚ
coo_matrixÚ
dok_matrixÚ
lil_matrixr   r   Úmake_multilabel_classificationr   r8   r4   Úmultilabel_Úissparser$   ÚtoarrayÚpredict_probar   r   Údecision_functionÚastypeÚint)ÚsparseÚbase_clfr;   ÚYÚX_trainÚY_trainÚX_testrM   ÚY_predÚclf_sprsÚY_pred_sprsÚY_probarL   Údec_preds                 r=   Útest_ovr_fit_predict_sparser‘   £   s  € å
ŒÝ
ŒÝ
ŒÝ
ŒÝ
Œðð ,Iñ ,Iˆõ ! qÐ)Ñ)Ô)ˆåÔ6ØØØØØØ Øð
ñ 
ô 
‰ˆˆ1ð ˜S˜b˜Sœ6 1 S b S¤6�ˆØ�2�3�3”ˆå! (Ñ+Ô+×/Ò/°¸ÑAÔAˆØ—’˜VÑ$Ô$ˆå& xÑ0Ô0×4Ò4°W¸f¸fÀW¹o¼oÑNÔNˆØ×&Ò& vÑ.Ô.ˆàŒÐÐÐÝŒ{˜;Ñ'Ô'Ð'Ð'Ð'Ý˜;×.Ò.Ñ0Ô0°&Ñ9Ô9Ð9ð ×(Ò(¨Ñ0Ô0ˆð ˜Š}ˆÝ˜4 ×!4Ò!4Ñ!6Ô!6Ñ7Ô7Ð7õ Œg‰iŒiˆÝ& sÑ+Ô+×/Ò/°¸¸À¹¼ÑIÔIˆØ×.Ò.¨vÑ6Ô6¸Ò:×BÒBÅ3ÑGÔGˆÝ˜8 X×%5Ò%5°fÑ%=Ô%=×%EÒ%EÑ%GÔ%GÑHÔHÐHÑHðY,Ið ,IrP   c                  ó¬  — t          j        d¦  «        } d| d d…d d …f<   t          j        d¦  «        }d|dd …df<   d|d d …df<   d|d d …df<   t          t	          ¦   «         ¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    | ¦  «        }t          t          j        |¦  «        t          j        |¦  «        ¦  «         |                     | ¦  «        }t          j        |d d …d	d …f         ¦  «        dk    sJ ‚|                     | ¦  «        }t          |d d …d
f         t          j        | j        d         ¦  «        ¦  «         t          j        d¦  «        }d|dd …df<   t          t	          ¦   «         ¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     | ¦  «        }t          |d d …d
f         t          j        | j        d         ¦  «        ¦  «         d S )N©é
   r0   r   rd   )r”   r'   r/   r0   z,Label .+ is present in all training examplesr-   éþÿÿÿre   z/Label not 1 is present in all training examples)r6   ÚonesÚzerosr   r   r2   ÚwarnsÚUserWarningr8   r4   r$   r7   rƒ   rZ   r‚   Úshape)r;   r<   r9   r:   Úy_preds        r=   Útest_ovr_always_presentrœ   Ó   s©  € õ 	Œ�ÑÔ€AØ€A€b€q€bˆ!ˆ!ˆ!€e�Hõ 	Œ�ÑÔ€AØ€A€a€b€bˆ!€e�HØ€A€a€a€aˆ€d�GØ€A€a€a€aˆ€d�Gå
Õ0Ñ2Ô2Ñ
3Ô
3€CØ
9€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�[Š[˜‰^Œ^€FÝ•r”x Ñ'Ô'­¬°!©¬Ñ5Ô5Ð5Ø×"Ò" 1Ñ%Ô%€FÝŒ9�V˜A˜A˜A˜r˜s˜s˜F”^Ñ$Ô$¨Ò)Ð)Ð)Ð)Ø×Ò˜qÑ!Ô!€FÝ�v˜a˜a˜a ˜e”}¥b¤g¨a¬g°a¬jÑ&9Ô&9Ñ:Ô:Ð:õ 	Œ�ÑÔ€AØ€A€a€b€bˆ!€e�HÝ
Õ0Ñ2Ô2Ñ
3Ô
3€Cà
<€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à×Ò˜qÑ!Ô!€FÝ�v˜a˜a˜a ˜e”}¥b¤h¨q¬w°q¬zÑ&:Ô&:Ñ;Ô;Ð;Ð;Ð;s$   ÂB*Â*B.Â1B.ÇG=Ç=HÈHc                  ó  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        } g d¢}t          j        g d¢g d¢g d	¢g d¢g d	¢g¦  «        }t          d
                     ¦   «         ¦  «        }t	          ¦   «         t          dd¬¦  «        t          ¦   «         t          ¦   «         t          ¦   «         fD ]Ó}t          |¦  «         
                    | |¦  «        }t          |j        ¦  «        |k    sJ ‚|                     t          j        g d¢g¦  «        ¦  «        d         }t          |dg¦  «         t          |¦  «         
                    | |¦  «        }|                     g d¢g¦  «        d         }t          |g d¢¦  «         ŒÔd S )N©r   r   rd   ©r   rd   r   ©r'   r   r   ©r   r   é   ©r¢   r   r   )ÚeggsÚspamÚhamr¤   r¦   )r   r   r/   ©r   r/   r   ©r/   r   r   zham eggs spamr)   r   r*   ©r   r   é   r¤   )r6   r7   ÚsetÚsplitr   r   r   r   r
   r   r8   Úclasses_r4   r$   )r;   r<   rˆ   Úclassesr‡   rM   r›   s          r=   Útest_ovr_multiclassr¯   ÷   s‘  € å
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€AØ.Ð.Ð.€AÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€Aå�/×'Ò'Ñ)Ô)Ñ*Ô*€Gõ 	‰ŒÝ�v¨AÐ.Ñ.Ô.ÝÑÔÝ‰ŒÝ‰Œðð .ð .ˆõ " (Ñ+Ô+×/Ò/°°1Ñ5Ô5ˆÝ�3”<Ñ Ô  GÒ+Ð+Ð+Ð+Ø—’�RœX y y y kÑ2Ô2Ñ3Ô3°AÔ6ˆÝ˜6 F 8Ñ,Ô,Ð,õ " (Ñ+Ô+×/Ò/°°1Ñ5Ô5ˆØ—’˜i˜i˜i˜[Ñ)Ô)¨!Ô,ˆÝ˜6 9 9 9Ñ-Ô-Ð-Ð-ð.ð .rP   c                  óì  ‡‡‡‡— t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        Šg d¢Št          j        g d¢g¦  «        j        Št          d                     ¦   «         ¦  «        Šdˆˆˆˆfd
„	} t          dd¬¦  «        t          ¦   «         t          ¦   «         t          ¦   «         fD ]} | |¦  «         Œt          ¦   «         t          d¬¦  «        t          ¦   «         fD ]} | |d¬¦  «         Œd S )Nrž   rŸ   r    r¡   r£   )r¤   r¥   r¥   r¤   r¥   )r   r/   r/   r   r/   z	eggs spamFc                 ó   •— t          | ¦  «                             ‰‰
¦  «        }t          |j        ¦  «        ‰	k    sJ ‚|                     t          j        g d¢g¦  «        ¦  «        d         }t          |dg¦  «         t          | d¦  «        r"| 	                    ‰¦  «        }|j
        dk    sJ ‚|r�t          j        g d¢g¦  «        }|                     |¦  «        }dt          |d         ¦  «        k    sJ ‚|j        t          j        |d¬¦  «                 |                     |¦  «        k    sJ ‚t          | ¦  «                             ‰‰¦  «        }|                     g d	¢g¦  «        d         }|dk    sJ ‚d S )
Nr©   r   r¤   rƒ   )rd   r0   r/   ©Úaxisr    )r   r8   r«   r­   r4   r6   r7   r$   r^   rƒ   rš   r‚   rH   Úargmax)r‡   Útest_predict_probarM   r›   Údecr‹   Úprobabilitiesr;   rˆ   r®   r<   s          €€€€r=   Úconduct_testz%test_ovr_binary.<locals>.conduct_test  s{  ø€ Ý! (Ñ+Ô+×/Ò/°°1Ñ5Ô5ˆÝ�3”<Ñ Ô  GÒ+Ð+Ð+Ð+Ø—’�RœX y y y kÑ2Ô2Ñ3Ô3°AÔ6ˆÝ˜6 F 8Ñ,Ô,Ð,Ý�8Ð0Ñ1Ô1ð 	%Ø×'Ò'¨Ñ*Ô*ˆCØ”9 Ò$Ð$Ð$Ð$àð 	YÝ”X˜y˜y˜y˜kÑ*Ô*ˆFØ×-Ò-¨fÑ5Ô5ˆMØ�˜M¨!Ô,Ñ-Ô-Ò-Ð-Ð-Ð-Ø”<¥¤	¨-¸aÐ @Ñ @Ô @ÔAÀSÇ[Â[ÐQWÑEXÔEXÒXÐXÐXÐXõ " (Ñ+Ô+×/Ò/°°1Ñ5Ô5ˆØ—’˜i˜i˜i˜[Ñ)Ô)¨!Ô,ˆØ˜Š{ˆ{ˆ{ˆ{ˆ{ˆ{rP   r)   r   r*   T©Úprobability)rµ   )F)r6   r7   ÚTr«   r¬   r   r   r   r
   r   r   r   )r¸   r‡   r;   rˆ   r®   r<   s     @@@@r=   Útest_ovr_binaryr¼     s;  øøøø€ å
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€AØ0Ð0Ð0€AÝ
Œ�/�/�/Ð"Ñ#Ô#Ô%€Aå�+×#Ò#Ñ%Ô%Ñ&Ô&€Gðð ð ð ð ð ð ð ð õ* 	�v¨AÐ.Ñ.Ô.ÝÑÔÝ‰ŒÝ‰Œð	ð ð ˆð 	ˆ�XÑÔÐÐå"‘_”_¥c°dÐ&;Ñ&;Ô&;Õ=OÑ=QÔ=QÐRð 8ð 8ˆØˆ�X°$Ð7Ñ7Ô7Ð7Ð7ð8ð 8rP   c                  óú  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢g d¢g d¢g d	¢g d
¢g¦  «        }t          ¦   «         t          dd¬¦  «        t	          ¦   «         t          ¦   «         t          ¦   «         t          d¬¦  «        fD ]^}t          |¦  «         	                    | |¦  «        }| 
                    g d¢g¦  «        d         }t          |g d¢¦  «         |j        sJ ‚Œ_d S )N)r   rª   rd   rŸ   )r'   r'   r'   )rª   r   r¢   r£   )r   r/   r/   r§   )r/   r/   r/   )r/   r   r/   r¨   r)   r   r*   rw   rl   )r   rª   rª   )r6   r7   r   r   r   r   r
   r   r   r8   r4   r$   r   )r;   r<   r‡   rM   r›   s        r=   Útest_ovr_multilabelr¾   9  s  € å
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€AÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€Aõ 	‰ŒÝ�v¨AÐ.Ñ.Ô.ÝÑÔÝ‰ŒÝ‰ŒÝ�CÐÑÔðð ð ˆõ " (Ñ+Ô+×/Ò/°°1Ñ5Ô5ˆØ—’˜i˜i˜i˜[Ñ)Ô)¨!Ô,ˆÝ˜6 9 9 9Ñ-Ô-Ð-ØŒÐÐÐÐðð rP   c                  ó.  — t          t          j        ¦   «         ¦  «        } |                      t          j        t          j        ¦  «         t          | j        ¦  «        dk    sJ ‚|  	                    t          j        t          j        ¦  «        dk    sJ ‚d S )Nr'   ri   )
r   r   r   r8   rE   rF   rG   rH   rI   Úscore)r9   s    r=   Útest_ovr_fit_predict_svcrÁ   L  sq   € Ý
�cœg™iœiÑ
(Ô
(€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#ÝˆsŒÑÔ 1Ò$Ð$Ð$Ð$Ø�9Š9•T”Y¥¤Ñ,Ô,¨sÒ2Ð2Ð2Ð2Ð2Ð2rP   c            
      óì  — t          d¬¦  «        } t          ddd¦  «        D ]Ñ\  }}}t          j        dddd	d
|d¬¦  «        \  }}|d d…         |d d…         }}|dd …         |dd …         }	}t	          | ¦  «                             ||¦  «        }
|
                     |¦  «        }|
j        sJ ‚t          t          |	|d¬¦  «        |d	¬¦  «         t          t          |	|d¬¦  «        |d	¬¦  «         ŒÒd S )Nr/   rl   )TF)çR¸…ëQà?g…ëQ¸å?)rÃ   r1   rS   rn   rd   r0   ro   r   rp   rv   Úmicro)Úaverage)Údecimal)r   Úzipr   r~   r   r8   r4   r   r#   r   r   )r‡   ÚauÚprecÚrecallr;   rˆ   r‰   rŠ   r‹   ÚY_testrM   rŒ   s               r=   Útest_ovr_multilabel_datasetrÌ   S  s?  € Ý 1Ð%Ñ%Ô%€HÝ ¨|¸\ÑJÔJð 
ð 
ÑˆˆD�&ÝÔ6ØØØØØØØð
ñ 
ô 
‰ˆˆ1ð ˜S˜b˜Sœ6 1 S b S¤6�ˆØ˜2˜3˜3œ  2 3 3¤�ˆÝ! (Ñ+Ô+×/Ò/°¸ÑAÔAˆØ—’˜VÑ$Ô$ˆàŒÐÐÐÝÝ˜F F°GÐ<Ñ<Ô<¸dÈAð	
ñ 	
ô 	
ð 	
õ 	Ý˜ °Ð9Ñ9Ô9¸6È1ð	
ñ 	
ô 	
ð 	
ð 	
ð'
ð 
rP   c            
      óº  — t          d¬¦  «        } dD �]Æ}t          j        ddddd|d	¬
¦  «        \  }}|d d…         |d d…         }}|dd …         }t          | ¦  «                             ||¦  «        }t          t          j        ¦   «         ¦  «                             ||¦  «        }t          |d¦  «        rJ ‚t          t          j        d¬¦  «        ¦  «        }t          |d¦  «        rJ ‚|                     ||¦  «         t          |d¦  «        rJ ‚t          |d¦  «        sJ ‚t          t          j        d¬¦  «        ddgi¬¦  «        }	t          |	¦  «        }
t          |
d¦  «        rJ ‚|
                     ||¦  «         t          |
d¦  «        sJ ‚| 
                    |¦  «        }|                     |¦  «        }|dk    }t          ||¦  «         �ŒÈd S )Nr/   rl   )FTrS   rn   rd   r'   ro   r   rp   rv   r‚   Fr¹   rƒ   rº   T)Ú
param_gridrw   )r   r   r~   r   r8   r   ÚSVRr^   r   r   r4   r‚   r$   )r‡   rÈ   r;   rˆ   r‰   rŠ   r‹   rM   Údecision_onlyÚgsÚproba_after_fitrŒ   r�   rL   s                 r=   Ú!test_ovr_multilabel_predict_probarÓ   m  s  € Ý 1Ð%Ñ%Ô%€HØð ()ñ ()ˆÝÔ6ØØØØØØØð
ñ 
ô 
‰ˆˆ1ð ˜S˜b˜Sœ6 1 S b S¤6�ˆØ�2�3�3”ˆÝ! (Ñ+Ô+×/Ò/°¸ÑAÔAˆõ ,­C¬G©I¬IÑ6Ô6×:Ò:¸7ÀGÑLÔLˆÝ˜=¨/Ñ:Ô:Ð:Ð:Ð:õ ,­C¬GÀÐ,FÑ,FÔ,FÑGÔGˆÝ˜=¨/Ñ:Ô:Ð:Ð:Ð:Ø×Ò˜' 7Ñ+Ô+Ð+Ý˜=¨/Ñ:Ô:Ð:Ð:Ð:Ý�}Ð&9Ñ:Ô:Ð:Ð:Ð:õ ÝŒG Ð&Ñ&Ô&°MÀDÀ6Ð3Jð
ñ 
ô 
ˆõ .¨bÑ1Ô1ˆÝ˜?¨OÑ<Ô<Ð<Ð<Ð<Ø×Ò˜G WÑ-Ô-Ð-Ý�¨Ñ8Ô8Ð8Ð8Ð8à—’˜VÑ$Ô$ˆØ×#Ò# FÑ+Ô+ˆð ˜Š}ˆÝ˜4 Ñ(Ô(Ð(Ñ(ðQ()ð ()rP   c                  ó^  — t          d¬¦  «        } t          j        t          j        }}|d d…         |d d…         }}|dd …         }t	          | ¦  «                             ||¦  «        }t	          t          j        ¦   «         ¦  «                             ||¦  «        }t          |d¦  «        rJ ‚| 	                    |¦  «        }| 
                    |¦  «        }	t          |	                     d¬¦  «        d¦  «         |	                     d¬¦  «        }
|
|z
                       ¦   «         rJ ‚d S )Nr/   rl   rv   r‚   r²   ç      ð?)r   rE   rF   rG   r   r8   r   rÏ   r^   r4   r‚   r#   Úsumr´   Úany)r‡   r;   rˆ   r‰   rŠ   r‹   rM   rÐ   rŒ   r�   rL   s              r=   Ú#test_ovr_single_label_predict_probarØ   š  s  € Ý 1Ð%Ñ%Ô%€HÝŒ9•d”k€q€AØ˜˜"˜”v˜q  " œvˆW€GØˆrˆsˆsŒV€FÝ
˜hÑ
'Ô
'×
+Ò
+¨G°WÑ
=Ô
=€Cõ (­¬©	¬	Ñ2Ô2×6Ò6°wÀÑHÔH€MÝ�} oÑ6Ô6Ð6Ð6Ð6à�[Š[˜Ñ Ô €FØ×Ò Ñ'Ô'€Gå˜Ÿš¨˜Ñ+Ô+¨SÑ1Ô1Ð1ð �>Š>˜qˆ>Ñ!Ô!€DØ�v‘×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$rP   c            	      óŠ  — t          j        ddddddd¬¦  «        \  } }| d d	…         |d d	…         }}| d	d …         }t          t          j        ¦   «         ¦  «                             ||¦  «        }t          |                     |¦  «        dk                         t          ¦  «        | 
                    |¦  «        ¦  «         d S )
NrS   rn   rd   r'   ro   Tr   rp   rv   )r   r~   r   r   r   r8   r$   rƒ   r„   r…   r4   ©r;   rˆ   r‰   rŠ   r‹   rM   s         r=   Ú%test_ovr_multilabel_decision_functionrÛ   ¯  sË   € ÝÔ2ØØØØØØØðñ ô �D€A€qð ˜˜"˜”v˜q  " œvˆW€GØˆrˆsˆsŒV€FÝ
�cœg™iœiÑ
(Ô
(×
,Ò
,¨W°gÑ
>Ô
>€CÝØ	×	Ò	˜vÑ	&Ô	&¨Ò	*×2Ò2µ3Ñ7Ô7¸¿ºÀVÑ9LÔ9Lñô ð ð ð rP   c                  óv  — t          j        ddd¬¦  «        \  } }| d d…         |d d…         }}| dd …         }t          t          j        ¦   «         ¦  «                             ||¦  «        }t          |                     |¦  «                             ¦   «         dk    | 	                    |¦  «        ¦  «         d S )NrS   rn   r   )rq   rr   r,   rv   )
r   Úmake_classificationr   r   r   r8   r$   rƒ   Úravelr4   rÚ   s         r=   Ú'test_ovr_single_label_decision_functionrß   Á  s¨   € ÝÔ'°#À"ÐSTÐUÑUÔU�D€A€qØ˜˜"˜”v˜q  " œvˆW€GØˆrˆsˆsŒV€FÝ
�cœg™iœiÑ
(Ô
(×
,Ò
,¨W°gÑ
>Ô
>€CÝ�s×,Ò,¨VÑ4Ô4×:Ò:Ñ<Ô<¸qÒ@À#Ç+Â+ÈfÑBUÔBUÑVÔVÐVÐVÐVrP   c                  óü   — t          t          dd¬¦  «        ¦  «        } g d¢}t          | d|i¦  «        }|                     t          j        t          j        ¦  «         |j        j        d         j	        }||v sJ ‚d S ©Nr)   r   r*   ©çš™™™™™¹?rw   r1   Úestimator__C)
r   r   r   r8   rE   rF   rG   Úbest_estimator_rI   ÚC)r9   ÚCsÚcvÚbest_Cs       r=   Útest_ovr_gridsearchrê   É  su   € Ý
�i¨VÀ!ÐDÑDÔDÑ
EÔ
E€CØ	ˆˆ€BÝ	�c˜N¨BÐ/Ñ	0Ô	0€BØ‡F‚F�4Œ9•d”kÑ"Ô"Ð"ØÔÔ+¨AÔ.Ô0€FØ�Rˆ<ˆ<ˆ<ˆ<ˆ<ˆ<rP   c                  óÒ  — t          dt          ¦   «         fg¦  «        } t          | ¦  «        }|                     t          j        t          j        ¦  «         t          t          ¦   «         ¦  «        }|                     t          j        t          j        ¦  «         t          |                     t          j        ¦  «        |                     t          j        ¦  «        ¦  «         d S )NÚtree)	r   r   r   r8   rE   rF   rG   r$   r4   )rM   Úovr_piper9   s      r=   Útest_ovr_pipelinerî   Ò  s¥   € õ �VÕ3Ñ5Ô5Ð6Ð7Ñ
8Ô
8€CÝ" 3Ñ'Ô'€HØ‡L‚L•”�DœKÑ(Ô(Ð(Ý
Õ4Ñ6Ô6Ñ
7Ô
7€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#Ý�s—{’{¥4¤9Ñ-Ô-¨x×/?Ò/?ÅÄ	Ñ/JÔ/JÑKÔKÐKÐKÐKrP   c                  óÐ   — t          t          dd¬¦  «        ¦  «        } t          j        t          ¦  «        5  |                      g ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr)   r   r*   )r   r   r2   r3   r   r4   ©Úovos    r=   Útest_ovo_exceptionsró   Þ  sŸ   € Ý
�Y¨FÀÐCÑCÔCÑ
DÔ
D€CÝ	Œ•~Ñ	&Ô	&ð ð Ø�Š�B‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   ¸AÁAÁ"Ac                  óœ  — t          t          dd¬¦  «        ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «        }d„ t          j        D ¦   «         }|                      |t          t          j        ¦  «        ¦  «                             |¦  «        }t          ||¦  «         d S )Nr)   r   r*   c                 ó,   — g | ]}t          |¦  «        ‘ŒS © )Úlist)Ú.0Úas     r=   ú
<listcomp>z(test_ovo_fit_on_list.<locals>.<listcomp>é  s   € Ð1Ð1Ð1 !•d˜1‘g”gÐ1Ð1Ð1rP   )	r   r   r8   rE   rF   rG   r4   rø   r$   )rò   Úprediction_from_arrayÚiris_data_listÚprediction_from_lists       r=   Útest_ovo_fit_on_listrÿ   ä  s¦   € õ �Y¨FÀÐCÑCÔCÑ
DÔ
D€CØŸGšG¥D¤I­t¬{Ñ;Ô;×CÒCÅDÄIÑNÔNÐØ1Ð1¥t¤yÐ1Ñ1Ô1€NØŸ7š7 >µ4½¼Ñ3DÔ3DÑEÔE×MÒMØñô Ðõ Ð,Ð.BÑCÔCÐCÐCÐCrP   c                  óH  — t          t          dd¬¦  «        ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «         t          | j        ¦  «        t          t          dz
  z  dz  k    sJ ‚t          t          ¦   «         ¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «         t          | j        ¦  «        t          t          dz
  z  dz  k    sJ ‚d S )Nr)   r   r*   r/   r0   )r   r   r8   rE   rF   rG   r4   rH   rI   rJ   r   rñ   s    r=   Útest_ovo_fit_predictr  ð  s×   € å
�Y¨FÀÐCÑCÔCÑ
DÔ
D€CØ‡G‚G�DŒI•t”{Ñ#Ô#×+Ò+­D¬IÑ6Ô6Ð6ÝˆsŒÑÔ¥9µ	¸A±Ñ#>ÀÑ#BÒBÐBÐBÐBõ �]™_œ_Ñ
-Ô
-€CØ‡G‚G�DŒI•t”{Ñ#Ô#×+Ò+­D¬IÑ6Ô6Ð6ÝˆsŒÑÔ¥9µ	¸A±Ñ#>ÀÑ#BÒBÐBÐBÐBÐBÐBrP   c                  óø  — t          j        ¦   «         } | j        | j        }}t	          t          ¦   «         ¦  «        }|                     |d d…         |d d…         t          j        |¦  «        ¦  «         |                     |dd …         |dd …         ¦  «         | 	                    |¦  «        }t	          t          ¦   «         ¦  «        }| 
                    ||¦  «         | 	                    |¦  «        }t          |j        ¦  «        t          t          dz
  z  dz  k    sJ ‚t          j        ||k    ¦  «        dk    sJ ‚t          ||¦  «         t	          t          ¦   «         ¦  «        }|                     |d d…         |d d…         t          j        |¦  «        ¦  «         |                     |dd …         |dd …         ¦  «         | 	                    |¦  «        }t	          t          ¦   «         ¦  «        }| 
                    ||¦  «         	                    |¦  «        }t          ||¦  «         t          |j        ¦  «        t          t          j        |¦  «        ¦  «        k    sJ ‚t          j        ||k    ¦  «        dk    sJ ‚t	          t          ¦   «         ¦  «        }t          j                             dd¦  «        }g d¢}|                     |d d…         |d d…         g d	¢¦  «         |                     |dd …         |dd …         ¦  «         | 	                    |¦  «        }t	          t          ¦   «         ¦  «        }| 
                    ||¦  «         	                    |¦  «        }t          ||¦  «         t	          t          ¦   «         ¦  «        }g d
¢}	t%          d                     t          j        |	¦  «        t          j        |¦  «        ¦  «        ¦  «        }
t)          j        t,          |
¬¦  «        5  |                     |d d…         |	t          j        |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t/          ¦   «         ¦  «        }t1          |d¦  «        rJ ‚d S )NrS   r/   r0   rD   é<   rT   )r/   r/   r0   r'   r'   r   r   rª   rª   rª   rª   rª   r0   r0   rX   )r   r/   r0   r'   rª   )r   r/   r0   r'   rª   rd   r0   z6Mini-batch contains {0} while it must be subset of {1}r-   rY   )r   Ú	load_irisrF   rG   r   r   rY   r6   rZ   r4   r8   rH   rI   rJ   rK   r#   r\   Úrandr   Úformatr2   r3   r5   r   r^   )Útempr;   r<   Úovo1ra   Úovo2rN   rò   rL   Úerror_yÚ
message_rer9   s               r=   Útest_ovo_partial_fit_predictr  ü  s  € ÝÔÑÔ€DØŒ9�d”k€q€AÝ�m™oœoÑ.Ô.€DØ×Ò�Q�t˜�t”W˜a   œg¥r¤y°¡|¤|Ñ4Ô4Ð4Ø×Ò�Q�s�t�t”W˜a   œgÑ&Ô&Ð&Ø�LŠL˜‰OŒO€Eå�m™oœoÑ.Ô.€DØ‡H‚HˆQ��N„N€NØ�LŠL˜‰OŒO€EÝˆtÔÑ Ô ¥Iµ¸Q±Ñ$?À!Ñ$CÒCÐCÐCÐCÝŒ7�1˜’:ÑÔ Ò%Ð%Ð%Ð%Ý˜˜uÑ%Ô%Ð%õ �m™oœoÑ.Ô.€DØ×Ò�Q�s˜�s”V˜Q˜s ˜sœV¥R¤Y¨q¡\¤\Ñ2Ô2Ð2Ø×Ò�Q�r�s�s”V˜Q˜r˜s˜sœVÑ$Ô$Ð$Ø�LŠL˜‰OŒO€EÝ�m™oœoÑ.Ô.€DØ�HŠH�Q˜‰NŒN×"Ò" 1Ñ%Ô%€Eå˜˜uÑ%Ô%Ð%ÝˆtÔÑ Ô ¥C­¬	°!©¬Ñ$5Ô$5Ò5Ð5Ð5Ð5ÝŒ7�1˜’:ÑÔ Ò%Ð%Ð%Ð%å
�]™_œ_Ñ
-Ô
-€CÝ
Œ	�Š�r˜1ÑÔ€AØ2Ð2Ð2€AØ‡O‚O�A�b�q�b”E˜1˜R˜a˜Rœ5 / / /Ñ2Ô2Ð2Ø‡O‚O�A�a�b�b”E˜1˜Q˜R˜Rœ5Ñ!Ô!Ð!Ø�;Š;�q‰>Œ>€DÝ�m™oœoÑ.Ô.€DØ�HŠH�Q˜‰NŒN×"Ò" 1Ñ%Ô%€EÝ˜˜eÑ$Ô$Ð$õ �]™_œ_Ñ
-Ô
-€CØ#Ð#Ð#€GÝØ@×GÒGÝŒI�gÑÔ¥¤	¨!¡¤ñ	
ô 	
ñô €Jõ
 
Œ•z¨Ð	4Ñ	4Ô	4ð 6ð 6Ø�Š˜˜"˜1˜"œ˜w­¬	°!©¬Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ �S™UœUÑ
#Ô
#€CÝ�s˜MÑ*Ô*Ð*Ð*Ð*Ð*Ð*s   Ð2QÑQÑ	Qc                  ó  — t           j        j        d         } t          t	          dd¬¦  «        ¦  «        }|                     t           j        t           j        dk    ¦  «         |                     t           j        ¦  «        }|j        | fk    sJ ‚|                     t           j        t           j        ¦  «         |                     t           j        ¦  «        }|j        | t          fk    sJ ‚t          | 
                    d¬¦  «        |                     t           j        ¦  «        ¦  «         t          j        | t          f¦  «        }d}t          t          ¦  «        D ]x}t          |dz   t          ¦  «        D ]]}|j        |                              t           j        ¦  «        }||dk    |fxx         dz  cc<   ||dk    |fxx         dz  cc<   |dz  }Œ^Œyt          |t          j        |¦  «        ¦  «         t          t          ¦  «        D ]p}t#          |d d …|f         ¦  «                             t#          g d¢¦  «        ¦  «        sJ ‚t'          t          j        |d d …|f         ¦  «        ¦  «        dk    sJ ‚Œqd S )Nr   r)   r*   r/   r²   )r@   rÕ   rA   é’   )rE   rF   rš   r   r   r8   rG   rƒ   rJ   r$   r´   r4   r6   r—   ÚrangerI   Úroundr«   ÚissubsetrH   rZ   )	rq   Úovo_clfÚ	decisionsÚvotesÚkÚiÚjrL   Ú	class_idxs	            r=   Útest_ovo_decision_functionr  1  sZ  € Ý”	” Ô"€Iå ¥°ÀQÐ!GÑ!GÔ!GÑHÔH€Gà‡K‚K•”	�4œ;¨!Ò+Ñ,Ô,Ð,Ø×)Ò)­$¬)Ñ4Ô4€IØŒ?˜y˜lÒ*Ð*Ð*Ð*ð ‡K‚K•”	�4œ;Ñ'Ô'Ð'Ø×)Ò)­$¬)Ñ4Ô4€IàŒ?˜y­)Ð4Ò4Ð4Ð4Ð4Ý�y×'Ò'¨QÐ'Ñ/Ô/°·²ÅÄÑ1KÔ1KÑLÔLÐLõ ŒH�i¥Ð+Ñ,Ô,€Eà	€AÝ•9ÑÔð ð ˆÝ�q˜1‘u�iÑ(Ô(ð 	ð 	ˆAØÔ& qÔ)×1Ò1µ$´)Ñ<Ô<ˆDØ�$˜!’)˜Q�,ÐÐÔ 1Ñ$ÐÐÑØ�$˜!’)˜Q�,ÐÐÔ 1Ñ$ÐÐÑØ�‰FˆAˆAð		õ �u�bœh yÑ1Ô1Ñ2Ô2Ð2å�9Ñ%Ô%ð =ð =ˆ	õ �5˜˜˜˜I˜Ô&Ñ'Ô'×0Ò0µ°_°_°_Ñ1EÔ1EÑFÔFÐFÐFÐFõ •2”9˜Y q q q¨) |Ô4Ñ5Ô5Ñ6Ô6¸Ò<Ð<Ð<Ð<Ð<ð=ð =rP   c                  óü   — t          t          dd¬¦  «        ¦  «        } g d¢}t          | d|i¦  «        }|                     t          j        t          j        ¦  «         |j        j        d         j	        }||v sJ ‚d S rá   )
r   r   r   r8   rE   rF   rG   rå   rI   ræ   )rò   rç   rè   ré   s       r=   Útest_ovo_gridsearchr  `  su   € Ý
�Y¨FÀÐCÑCÔCÑ
DÔ
D€CØ	ˆˆ€BÝ	�c˜N¨BÐ/Ñ	0Ô	0€BØ‡F‚F�4Œ9•d”kÑ"Ô"Ð"ØÔÔ+¨AÔ.Ô0€FØ�Rˆ<ˆ<ˆ<ˆ<ˆ<ˆ<rP   c                  óF  — t          j        ddgddgddgddgg¦  «        } t          j        g d¢¦  «        }t          t          ddd ¬¦  «        ¦  «        }|                     | |¦  «                             | ¦  «        }|                     | ¦  «        }t          j        |¦  «        }||z
  }t          |d	d d …f         d¦  «         t          t          j	        |dd …         d¬
¦  «        |dd …         ¦  «         |d	         |d	          	                    ¦   «         k    sJ ‚d S )Nr/   r0   r•   re   ©r0   r   r/   r0   Frª   ©r!   rV   rW   r   r²   )
r6   r7   r   r   r8   r4   rƒ   r  r$   r´   )r;   r<   Ú	multi_clfÚovo_predictionÚovo_decisionr  Únormalized_confidencess          r=   Útest_ovo_tiesr#  i  s'  € õ 	Œ�1�a�&˜1˜a˜& 2 q '¨B°¨8Ð4Ñ5Ô5€AÝ
Œ���ÑÔ€AÝ"¥:°eÀaÈTÐ#RÑ#RÔ#RÑSÔS€IØ—]’] 1 aÑ(Ô(×0Ò0°Ñ3Ô3€NØ×.Ò.¨qÑ1Ô1€Lõ ŒH�\Ñ"Ô"€EØ)¨EÑ1Ðõ �u˜Q   ˜T”{ AÑ&Ô&Ð&å•r”y  q r r¤°Ð3Ñ3Ô3°^ÀAÀBÀBÔ5GÑHÔHÐHà˜!ÔÐ 6°qÔ 9× @Ò @Ñ BÔ BÒBÐBÐBÐBÐBÐBrP   c                  óX  — t          j        ddgddgddgddgg¦  «        } t          j        g d¢¦  «        }t          d¦  «        D ]c}||z   dz  }t          t	          ddd ¬	¦  «        ¦  «        }|                     | |¦  «                             | ¦  «        }|d
         |dz  k    sJ ‚Œdd S )Nr/   r0   r•   re   r  r'   Frª   r  r   )r6   r7   r  r   r   r8   r4   )r;   Úy_refr  r<   r  r   s         r=   Útest_ovo_ties2r&  �  sÆ   € å
Œ�1�a�&˜1˜a˜& 2 q '¨B°¨8Ð4Ñ5Ô5€AÝŒH�\�\�\Ñ"Ô"€Eõ �1‰XŒXð *ð *ˆØ�Q‰Y˜!‰OˆÝ&¥z¸%È!ÐQUÐ'VÑ'VÔ'VÑWÔWˆ	Ø"Ÿš q¨!Ñ,Ô,×4Ò4°QÑ7Ô7ˆØ˜aÔ  A¨¡EÒ)Ð)Ð)Ð)Ð)ð	*ð *rP   c                  ó  — t          j        d¦  «        } t          j        g d¢¦  «        }t          t	          d¬¦  «        ¦  «        }|                     | |¦  «         t          ||                     | ¦  «        ¦  «         d S )Nrª   )rú   ÚbÚcÚdr)   ©r+   )r6   Úeyer7   r   r   r8   r$   r4   )r;   r<   rò   s      r=   Útest_ovo_string_yr-  Ž  sn   € å
Œˆq‰	Œ	€AÝ
ŒÐ%Ð%Ð%Ñ&Ô&€Aå
�Y¨FÐ3Ñ3Ô3Ñ
4Ô
4€CØ‡G‚GˆAˆq�M„M€MÝ�q˜#Ÿ+š+ a™.œ.Ñ)Ô)Ð)Ð)Ð)rP   c                  ó0  — t          j        d¦  «        } t          j        dgdz  ¦  «        }t          t	          d¬¦  «        ¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrª   rú   r)   r+  zwhen only one classr-   )	r6   r,  r7   r   r   r2   r3   r5   r8   ©r;   r<   rò   r:   s       r=   Útest_ovo_one_classr0  ˜  sË   € å
Œˆq‰	Œ	€AÝ
Œ�#�˜‘ÑÔ€Aå
�Y¨FÐ3Ñ3Ô3Ñ
4Ô
4€CØ
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á'BÂBÂBc                  ó  — t           j        } t           j        d d …df         }t          t          d¬¦  «        ¦  «        }d}t	          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr   r)   r+  zUnknown label typer-   )rE   rF   r   r   r2   r3   r5   r8   r/  s       r=   Útest_ovo_float_yr3  £  sÃ   € åŒ	€AÝŒ	�!�!�!�Q�$Œ€Aå
�Y¨FÐ3Ñ3Ô3Ñ
4Ô
4€CØ
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   ÁBÂBÂBc                  óÐ   — t          t          dd¬¦  «        ¦  «        } t          j        t          ¦  «        5  |                      g ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rð   )r   r   r2   r3   r   r4   ©Úecocs    r=   Útest_ecoc_exceptionsr8  ®  s¢   € Ý¥	¨vÀAÐ FÑ FÔ FÑGÔG€DÝ	Œ•~Ñ	&Ô	&ð ð Ø�Š�RÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rô   c                  ó(  — t          t          dd¬¦  «        dd¬¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «         t          | j        ¦  «        t          dz  k    sJ ‚t          t          ¦   «         dd¬¦  «        } |                      t          j        t          j        ¦  «                             t          j        ¦  «         t          | j        ¦  «        t          dz  k    sJ ‚d S )Nr)   r   r*   r0   )Ú	code_sizer,   )r   r   r8   rE   rF   rG   r4   rH   rI   rJ   r   r6  s    r=   Útest_ecoc_fit_predictr;  ´  sÜ   € åÝ�v¨AÐ.Ñ.Ô.¸!È!ðñ ô €Dð 	‡H‚H�TŒY�œÑ$Ô$×,Ò,­T¬YÑ7Ô7Ð7ÝˆtÔÑ Ô ¥I°¡MÒ1Ð1Ð1Ð1õ  ¥¡¤¸1È1ÐMÑMÔM€DØ‡H‚H�TŒY�œÑ$Ô$×,Ò,­T¬YÑ7Ô7Ð7ÝˆtÔÑ Ô ¥I°¡MÒ1Ð1Ð1Ð1Ð1Ð1rP   c                  ó   — t          t          dd¬¦  «        d¬¦  «        } g d¢}t          | d|i¦  «        }|                     t          j        t          j        ¦  «         |j        j        d         j	        }||v sJ ‚d S )Nr)   r   r*   rR   râ   rä   )
r   r   r   r8   rE   rF   rG   rå   rI   ræ   )r7  rç   rè   ré   s       r=   Útest_ecoc_gridsearchr=  Â  s{   € Ý¥	¨vÀAÐ FÑ FÔ FÐUVÐWÑWÔW€DØ	ˆˆ€BÝ	�d˜^¨RÐ0Ñ	1Ô	1€BØ‡F‚F�4Œ9•d”kÑ"Ô"Ð"ØÔÔ+¨AÔ.Ô0€FØ�Rˆ<ˆ<ˆ<ˆ<ˆ<ˆ<rP   c                  ó  — t           j        } t           j        d d …df         }t          t          d¬¦  «        ¦  «        }d}t	          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r2  )rE   rF   r   r   r2   r3   r5   r8   r/  s       r=   Útest_ecoc_float_yr?  Ë  sÃ   € åŒ	€AÝŒ	�!�!�!�Q�$Œ€Aå
�y¨fÐ5Ñ5Ô5Ñ
6Ô
6€CØ
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð r4  c                  óÂ  — t           j        t           j        }} t          j        | ¦  «        }t          t          dddœ¬¦  «        }t          |d¬¦  «        }t          j	        t          d¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     | |¦  «         t          j	        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d	d¬
¦  «        ¦  «        }|                     ||¦  «                             |¦  «         t          |j        ¦  «        dk    sJ ‚d S )NTF)Ú	ensure_2dÚaccept_sparse)Úcheck_XÚcheck_X_paramsr   rR   zA sparse matrix was passedr-   r)   r*   rª   )rE   rF   rG   rx   rz   r"   r    r   r2   r3   Ú	TypeErrorr8   r4   r   rH   rI   )r;   r<   ÚX_spÚbase_estimatorr7  s        r=   Ú(test_ecoc_delegate_sparse_base_estimatorrH  Ö  sÇ  € õ Œ9•d”k€q€AÝŒ=˜ÑÔ€Dõ (ÝØ%)¸EÐBÐBðñ ô €Nõ   ¸QÐ?Ñ?Ô?€Då	Œ•yÐ(DÐ	EÑ	EÔ	Eð ð Ø�Š��qÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	‡H‚HˆQ��N„N€NÝ	Œ•yÐ(DÐ	EÑ	EÔ	Eð ð Ø�Š�TÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ¥	¨vÀAÐ FÑ FÔ FÑGÔG€DØ‡H‚HˆT�1ÑÔ×Ò˜dÑ#Ô#Ð#ÝˆtÔÑ Ô  AÒ%Ð%Ð%Ð%Ð%Ð%s$   Á2BÂBÂBÃC3Ã3C7Ã:C7c                  ól  — t          j        d¬¦  «        } t          j        t          j        }}t          | ¦  «        }t          j        ||j        ¦  «        }| 	                    ||¦  «         t          |j        ¦  «        }|j        }|D ])}|j        d         |z  |dz
  z  |j        d         k    sJ ‚Œ*d S )NÚprecomputed©Úkernelr   r/   )r   r   rE   rF   rG   r   r6   Údotr»   r8   rH   rI   Úpairwise_indices_rš   )Úclf_precomputedr;   r<   Ú	ovr_falseÚlinear_kernelÚn_estimatorsÚprecomputed_indicesÚidxs           r=   Útest_pairwise_indicesrU  ð  s·   € Ý”g ]Ð3Ñ3Ô3€OÝŒ9•d”k€q€Aå" ?Ñ3Ô3€IÝ”F˜1˜aœc‘N”N€MØ‡M‚M�- Ñ#Ô#Ð#å�yÔ,Ñ-Ô-€LØ#Ô5Ðà"ð 
ð 
ˆàŒI�aŒL˜<Ñ'¨<¸!Ñ+;Ñ<ÀÔ@SÐTUÔ@VÒVÐVÐVÐVÐVð
ð 
rP   c                  ó  — t           j        t           j        }} |d         dk    sJ ‚| dd…         } |dd…         }| j        dk    sJ ‚t	          j        d¬¦  «                             | |¦  «        }|j        dk    sJ ‚t          |¦  «                             | |¦  «        }|j        dk    sJ ‚|j	        D ]}|j        dk    sJ ‚Œt          |¦  «                             | |¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          |j	        ¦  «        dk    sJ ‚|j	        D ]}|j        dk    sJ ‚Œ| | j        z  }|j        d	k    sJ ‚t	          j        d
¬¦  «                             ||¦  «        }|j        dk    sJ ‚t          |¦  «                             ||¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          |j	        ¦  «        dk    sJ ‚|j	        D ]}|j        dk    sJ ‚Œt          |¦  «                             ||¦  «        }	|	j        dk    sJ ‚|j        dk    sJ ‚t          |j	        ¦  «        dk    sJ ‚|	j	        d         j        dk    sJ ‚|	j	        d         j        dk    sJ ‚|	j	        d         j        dk    sJ ‚dS )aÜ  Check the n_features_in_ attributes of the meta and base estimators

    When the training data is a regular design matrix, everything is intuitive.
    However, when the training data is a precomputed kernel matrix, the
    multiclass strategy can resample the kernel matrix of the underlying base
    estimator both row-wise and column-wise and this has a non-trivial impact
    on the expected value for the n_features_in_ of both the meta and the base
    estimators.
    re   r   N)é•   rª   ÚlinearrK  rª   r'   )rW  rW  rJ  rW  éc   r/   r0   rS   )rE   rF   rG   rš   r   r   r8   Ún_features_in_r   rI   r   Ú
n_classes_rH   r»   )
r;   r<   Úclf_notprecomputedÚovr_notprecomputedÚestÚovo_notprecomputedÚKrO  Úovr_precomputedÚovo_precomputeds
             r=   Útest_pairwise_n_features_inrc    s  € õ Œ9•d”k€q€Að ˆRŒ5�AŠ:ˆ:ˆ:ˆ:Ø	ˆ#ˆ2ˆ#Œ€AØ	ˆ#ˆ2ˆ#Œ€Að Œ7�hÒÐÐÐåœ¨Ð1Ñ1Ô1×5Ò5°a¸Ñ;Ô;ÐØÔ,°Ò1Ð1Ð1Ð1å,Ð-?Ñ@Ô@×DÒDÀQÈÑJÔJÐØÔ,°Ò1Ð1Ð1Ð1Ø!Ô-ð 'ð 'ˆØÔ! QÒ&Ð&Ð&Ð&Ð&å+Ð,>Ñ?Ô?×CÒCÀAÀqÑIÔIÐØÔ,°Ò1Ð1Ð1Ð1ØÔ(¨AÒ-Ð-Ð-Ð-ÝÐ!Ô-Ñ.Ô.°!Ò3Ð3Ð3Ð3Ø!Ô-ð 'ð 'ˆØÔ! QÒ&Ð&Ð&Ð&Ð&ð 	
ˆAŒC‰€AØŒ7�jÒ Ð Ð Ð å”g ]Ð3Ñ3Ô3×7Ò7¸¸1Ñ=Ô=€OØÔ)¨SÒ0Ð0Ð0Ð0å)¨/Ñ:Ô:×>Ò>¸qÀ!ÑDÔD€OØÔ)¨SÒ0Ð0Ð0Ð0ØÔ%¨Ò*Ð*Ð*Ð*ÝˆÔ*Ñ+Ô+¨qÒ0Ð0Ð0Ð0ØÔ*ð )ð )ˆØÔ! SÒ(Ð(Ð(Ð(Ð(õ )¨Ñ9Ô9×=Ò=¸aÀÑCÔC€OØÔ)¨SÒ0Ð0Ð0Ð0ØÔ%¨Ò*Ð*Ð*Ð*ÝˆÔ*Ñ+Ô+¨qÒ0Ð0Ð0Ð0ØÔ& qÔ)Ô8¸BÒ>Ð>Ð>Ð>ØÔ& qÔ)Ô8¸BÒ>Ð>Ð>Ð>ØÔ& qÔ)Ô8¸CÒ?Ð?Ð?Ð?Ð?Ð?rP   ÚMultiClassClassifierc                 óò   — t          j        d¬¦  «        }t          j        ¦   «         } | |¦  «        }|                     ¦   «         d         rJ ‚ | |¦  «        }|                     ¦   «         d         sJ ‚d S )NrJ  rK  Úpairwise)r   r   Ú	_get_tags)rd  rO  r\  rP  Úovr_trues        r=   Útest_pairwise_tagri  F  sƒ   € õ ”g ]Ð3Ñ3Ô3€OÝœ™œÐà$Ð$Ð%7Ñ8Ô8€IØ×"Ò"Ñ$Ô$ ZÔ0Ð0Ð0Ð0à#Ð# OÑ4Ô4€HØ×ÒÑÔ 
Ô+Ð+Ð+Ð+Ð+Ð+rP   c                 óV  — t          j        d¬¦  «        }t          j        d¬¦  «        }t          j        t          j        }} | |¦  «        } | |¦  «        }t          j        ||j        ¦  «        }t          |||d¬¦  «        }t          |||d¬¦  «        }	t          |	|¦  «         d S )NrJ  rK  rX  Úraise)Úerror_score)
r   r   rE   rF   rG   r6   rM  r»   r   r$   )
rd  rO  r\  r;   r<   Úmulticlass_clf_notprecomputedÚmulticlass_clf_precomputedrQ  Úscore_not_precomputedÚscore_precomputeds
             r=   Útest_pairwise_cross_val_scorerq  T  sÂ   € õ ”g ]Ð3Ñ3Ô3€OÝœ¨Ð1Ñ1Ô1ÐåŒ9•d”k€q€Aà$8Ð$8Ð9KÑ$LÔ$LÐ!Ø!5Ð!5°oÑ!FÔ!FÐå”F˜1˜aœc‘N”N€MÝ+Ø% q¨!¸ðñ ô Ðõ (Ø" M°1À'ðñ ô Ðõ Ð(Ð*?Ñ@Ô@Ð@Ð@Ð@rP   c                 óæ  — t           j                             d¦  «        }t          j        t          j        }}t          j        |¦  «        }|                     ddg|j        ddg¬¦  «         	                    t          ¦  «        }t           j        ||<   t          t          ¦   «         t          |¬¦  «        ¦  «        } | |¦  «                             ||¦  «                             ||¦  «         d S )Né*   r/   r   rã   ri   )ÚprR   )r6   r\   ÚRandomStaterE   rF   rG   ÚcopyÚchoicerš   r„   ÚboolÚnanr   r	   r   r8   rÀ   )rd  Úrngr;   r<   ÚmaskÚlrs         r=   Útest_support_missing_valuesr}  j  sÃ   € õ Œ)×
Ò
 Ñ
#Ô
#€CÝŒ9•d”k€q€AÝ
Œ�‰
Œ
€AØ�:Š:�q˜!�f˜aœg¨#¨s¨ˆ:Ñ4Ô4×;Ò;½DÑAÔA€DÝŒf€A€d�GÝ	•}‘”Õ(:ÈÐ(LÑ(LÔ(LÑ	MÔ	M€BàÐ˜ÑÔ× Ò   AÑ&Ô&×,Ò,¨Q°Ñ2Ô2Ð2Ð2Ð2rP   Úmake_yc                 ó\  — t          j        d¦  «        } | dt           j        ¬¦  «        }t          t	          ¦   «         ¦  «        }|                     ||¦  «         |                     |¦  «        }t          j        |j        d         df¦  «        }d|dd…df<   t          ||¦  «         dS )zUCheck that constant y target does not raise.

    Non-regression test for #21869
    r“   )r”   r/   )Údtyper   r0   r/   N)
r6   r–   Úint32r   r   r8   r‚   r—   rš   r   )r~  r;   r<   r9   r›   Úexpecteds         r=   Útest_constant_int_targetrƒ  }  s¡   € õ 	Œ�ÑÔ€AØˆˆw�bœhÐ'Ñ'Ô'€AÝ
Õ0Ñ2Ô2Ñ
3Ô
3€Cà‡G‚GˆAˆq�M„M€MØ×Ò˜qÑ!Ô!€FÝŒx˜œ œ Q˜Ñ(Ô(€HØ€HˆQˆQˆQ�ˆT�NÝ�F˜HÑ%Ô%Ð%Ð%Ð%rP   c                  ó0  — t          d¬¦  «        \  } }t          dd¬¦  «        }t          |¦  «        }|                     | |¦  «         |                     | |¦  «         t	          |                     | ¦  «        |                     | ¦  «        ¦  «         dS )z^Check that ovo is consistent with binary classifier.

    Non-regression test for #13617.
    T)Ú
return_X_yé   Údistance)Ún_neighborsÚweightsN)r   r   r   r8   r$   r4   )r;   r<   rM   rò   s       r=   Ú)test_ovo_consistent_binary_classificationrŠ  Ž  sƒ   € õ
 ¨Ð.Ñ.Ô.�D€A€qå
¨1°jÐ
AÑ
AÔ
A€CÝ
˜SÑ
!Ô
!€Cà‡G‚GˆAˆq�M„M€MØ‡G‚GˆAˆq�M„M€Må�s—{’{ 1‘~”~ s§{¢{°1¡~¤~Ñ6Ô6Ð6Ð6Ð6rP   )yÚrer   Únumpyr6   r2   Úscipy.sparser†   rx   Únumpy.testingr   Úsklearnr   r   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.imputer	   Úsklearn.linear_modelr
   r   r   r   r   r   r   Úsklearn.metricsr   r   Úsklearn.model_selectionr   r   Úsklearn.multiclassr   r   r   Úsklearn.naive_bayesr   Úsklearn.neighborsr   Úsklearn.pipeliner   r   Úsklearn.svmr   r   Úsklearn.treer   r   Úsklearn.utilsr    r!   Úsklearn.utils._mockingr"   Úsklearn.utils._testingr#   r$   Úsklearn.utils.multiclassr%   r&   r:   ÚmarkÚfilterwarningsÚ
pytestmarkr  rE   r\   ru  rz  ÚpermutationrG   ÚsizeÚpermrF   rJ   r>   rB   rO   rb   rg   rj   r‘   rœ   r¯   r¼   r¾   rÁ   rÌ   rÓ   rØ   rÛ   rß   rê   rî   ró   rÿ   r  r  r  r  r#  r&  r-  r0  r3  r8  r;  r=  r?  rH  rU  rc  Úparametrizeri  rq  r}  r–   r—   rƒ  rŠ  r÷   rP   r=   ú<module>r§     s	  ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø /Ð /Ð /Ð /Ð /Ð /Ø -Ð -Ð -Ð -Ð -Ð -Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð
 .Ð -Ð -Ð -Ð -Ð -Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ Qà7€ØŒ[×'Ò'Ð(E°#Ð(EÐ(EÐ(EÑFÔF€
à€xÔÑÔ€Ø„i×Ò˜AÑÔ€Ø
‡‚�t”{Ô'Ñ(Ô(€ØŒI�dŒO€„	ØŒk˜$Ô€„Ø€	ð7ð 7ð 7ð((ð (ð (ð/ð /ð /ð !+ð !+ð !+ðH
'ð 
'ð 
'ð.ð .ð .ð$-Ið -Ið -Ið`!<ð !<ð !<ðH.ð .ð .ð4%8ð %8ð %8ðPð ð ð&3ð 3ð 3ð
ð 
ð 
ð4*)ð *)ð *)ðZ%ð %ð %ð*ð ð ð$Wð Wð Wðð ð ð	Lð 	Lð 	Lðð ð ð	Dð 	Dð 	Dð	Cð 	Cð 	Cð2+ð 2+ð 2+ðj,=ð ,=ð ,=ð^ð ð ðCð Cð Cð0
*ð 
*ð 
*ð*ð *ð *ðð ð ðð ð ðð ð ð2ð 2ð 2ðð ð ðð ð ð&ð &ð &ð4
ð 
ð 
ð"B@ð B@ð B@ðJ „×ÒØÐ0Ð2DÐEñô ð,ð ,ñô ð,ð „×ÒØÐ0Ð2DÐEñô ðAð Añô ðAð& „×ÒØÐ0Ð2DÐEñô ð
3ð 3ñô ð
3ð „×Ò˜ B¤G¨R¬XÐ#6Ñ7Ô7ð&ð &ñ 8Ô7ð&ð 7ð 7ð 7ð 7ð 7rP   