§
   Ú‹S…%ä‡Aã                   óÖ   — d Z dddddœZh d£Zh d£Zh d£Zd	d	d	d
d	d
d
ddddddœZd	d
ddddœZdddddddddddddœZdZdZ	d„ Z
d„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zd$„ Zd%„ Zh d&£Zd+d(„Zd)„ Zd*S ),u`   Cards and taste features of TMDb titles (docs/plan/pro-tebe/010 Â§3). Pure: no Kodi, no network.)é   é   )in  é   )é *  )iÿ)  )i*  i*  i*  é
*  >	   é*  é¢(  r   é*  é*  é*  é*  é   éc   >   r   é   é%   éP   >   r	   r
   r   r   é    é   é   é   )zTV-YzTV-Y7zTV-Y7-FVzTV-GÚGzTV-PGÚPGzTV-14zPG-13zTV-MAÚRzNC-17)Ú0Ú6Ú12Ú16Ú18g333333ã?gš™™™™™Ù?g      à?gÍÌÌÌÌÌÜ?ç      ð?gÍÌÌÌÌÌì?g333333ó?gffffffÖ?g      Ð?gš™™™™™É?)ÚcertÚcoÚnetÚocÚgÚkÚcÚdÚcolÚlangÚdecÚmé   é   c                 óH   — d                      | t          |¦  «        ¦  «        S )Nz{}:{})ÚformatÚint)ÚmediaÚtmdb_ids     úa/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/foryou/features.pyÚkeyr3      s   € Ø�>Š>˜%¥ W¡¤Ñ.Ô.Ð.ó    c                 óŠ   — |                       d¦  «        }|€!d„ |                       d¦  «        pg D ¦   «         }d„ |D ¦   «         S )NÚ	genre_idsc                 ób   — g | ],}|                      d ¦  «        ¯|                      d ¦  «        ‘Œ-S ©Úid©Úget)Ú.0r#   s     r2   ú
<listcomp>zgenre_ids.<locals>.<listcomp>   s1   € ÐLÐLÐL˜qÀÇÂÀdÁÄÐLˆq�uŠu�T‰{Œ{ÐLÐLÐLr4   Úgenresc                 ó,   — g | ]}t          |¦  «        ‘ŒS © )r/   )r<   Úis     r2   r=   zgenre_ids.<locals>.<listcomp>   s   € Ð Ð Ð �q�C�‰FŒFÐ Ð Ð r4   r:   )ÚdataÚidss     r2   r6   r6      sP   € Ø
�(Š(�;Ñ
Ô
€CØ
€{ØLÐL D§H¢H¨XÑ$6Ô$6Ð$<¸"ÐLÑLÔLˆØ Ð ˜CÐ Ñ Ô Ð r4   c                 ó„   — g }| D ]:}t                                ||f¦  «        D ]}||vr|                     |¦  «         ŒŒ;|S )N)Ú	TV_GENRESr;   Úappend)rC   ÚoutÚgidÚmappeds       r2   Úfolded_genresrJ   !   s_   € Ø
€CØð #ð #ˆÝ—m’m C¨#¨Ñ0Ô0ð 	#ð 	#ˆFØ˜SÐ Ð Ø—
’
˜6Ñ"Ô"Ð"øð	#ð €Jr4   c                 óÄ   — |                       d¦  «        p|                       d¦  «        pd}|d d…                              ¦   «         rt          |d d…         ¦  «        ndS )NÚrelease_dateÚfirst_air_dateÚ é   r   )r;   Úisdigitr/   )rB   Údates     r2   Úyear_ofrR   *   s[   € Ø�8Š8�NÑ#Ô#ÐG t§x¢xÐ0@Ñ'AÔ'AÐGÀR€DØ   ! œH×,Ò,Ñ.Ô.Ð5�3ˆt�B�Q�BŒx‰=Œ=ˆ=°AÐ5r4   c                 ó&  — d„ }|dk    rÏi }|                       d¦  «        pi                       d¦  «        pg D ]S}|                     |                      d¦  «        g ¦  «                             |                      d¦  «        pd¦  «         ŒT ||                      dg ¦  «        t          ¦  «        }|€% ||                      d
g ¦  «        t          ¦  «        }n´i }|                       d¦  «        pi                       d¦  «        pg D ]9}d„ |                      d¦  «        pg D ¦   «         ||                      d¦  «        <   Œ: ||                      dg ¦  «        t          ¦  «        }|€% ||                      d
g ¦  «        t          ¦  «        }|€dn|S )u[   0 kids â€¦ 3 adult, -1 unknown, from TMDb content_ratings (series) / release_dates (films).c                 óF   ‡— ˆfd„| D ¦   «         }|rt          |¦  «        nd S )Nc                 ó(   •— g | ]}|‰v ¯‰|         ‘ŒS r@   r@   )r<   r%   Útables     €r2   r=   z*audience.<locals>.pick.<locals>.<listcomp>2   s"   ø€ Ð8Ð8Ð8˜q¨Q°%¨Z¨Z�%˜”(¨Z¨Z¨Zr4   )Úmax)ÚcodesrV   Úlevelss    ` r2   Úpickzaudience.<locals>.pick1   s1   ø€ Ø8Ð8Ð8Ð8 EÐ8Ñ8Ô8ˆØ$Ð.�s�6‰{Œ{ˆ{¨$Ð.r4   ÚtvÚcontent_ratingsÚresultsÚ
iso_3166_1ÚratingrN   ÚUSNÚDEÚrelease_datesc                 ó<   — g | ]}|                      d ¦  «        pd‘ŒS )ÚcertificationrN   r:   )r<   r&   s     r2   r=   zaudience.<locals>.<listcomp>>   s)   € Ð)mÐ)mÐ)mÈ1¨!¯%ª%°Ñ*@Ô*@Ð*FÀBÐ)mÐ)mÐ)mr4   éÿÿÿÿ)r;   Ú
setdefaultrF   ÚCERTSÚDE_AGES)rB   r0   rZ   ÚratingsÚrÚfoundÚcertss          r2   Úaudiencerm   /   s¦  € ð/ð /ð /ð �‚}€}ØˆØ—(’(Ð,Ñ-Ô-Ð3°×8Ò8¸ÑCÔCÐIÀrð 	Vð 	VˆAØ×Ò˜qŸušu \Ñ2Ô2°BÑ7Ô7×>Ò>¸q¿uºuÀX¹¼Ð?TÐRTÑUÔUÐUÐUØ��W—[’[  rÑ*Ô*­EÑ2Ô2ˆØˆ=Ø�D˜Ÿš T¨2Ñ.Ô.µÑ8Ô8ˆEøàˆØ—(’(˜?Ñ+Ô+Ð1¨r×6Ò6°yÑAÔAÐGÀRð 	nð 	nˆAØ)mÐ)mÐPQ×PUÒPUÐVeÑPfÔPfÐPlÐjlÐ)mÑ)mÔ)mˆE�!—%’%˜Ñ%Ô%Ñ&Ð&Ø��U—Y’Y˜t RÑ(Ô(­%Ñ0Ô0ˆØˆ=Ø�D˜Ÿš 4¨Ñ,Ô,­gÑ6Ô6ˆEØ�ˆ2ˆ2 EÐ)r4   c                 ó(  — |                       d¦  «        }|€N|dk    rH|                       d¦  «        pdgd         p)|                       d¦  «        pi                       d¦  «        }|                       d¦  «        pi }i d|“d	t          | d	         ¦  «        “d
|                       d
¦  «        p|                       d¦  «        pd“d|                       d¦  «        p|                       d¦  «        pd“dt          | ¦  «        “d|                       d¦  «        p|                       d¦  «        pd“d|                       d¦  «        pd“d|                       d¦  «        pd“d|                       d¦  «        pd“dt          |                       d¦  «        pd¦  «        “dt          |                       d¦  «        pd¦  «        “dt          |                       d¦  «        pd¦  «        “dt	          | ¦  «        “d|                       d¦  «        pd“dt          |pd¦  «        “d |                      d	¦  «        rt          |d	         ¦  «        nd“d!t          |                       d"¦  «        pd¦  «        “t          |                       d#¦  «        ¦  «        |                       d$¦  «        pdt          | |¦  «        |dk    r|                       d%¦  «        pddd&…         nd|dk    r,|                       d$¦  «        r|                       d$¦  «        d'v ndd(œ¥S ))zgEverything a row, the hero and the scorer need from a list item or a detail (detail adds runtime etc.).ÚruntimeNr[   Úepisode_run_timer   Úlast_episode_to_airÚbelongs_to_collectionr0   r9   ÚtitleÚnamerN   Úoriginal_titleÚoriginal_nameÚyearrQ   rL   rM   ÚoverviewÚposterÚposter_pathÚbackdropÚbackdrop_pathr_   Úvote_averageÚvotesÚ
vote_countÚ
popularityr>   ÚlanguageÚoriginal_languageÚ
collectionÚseasonsÚnumber_of_seasonsÚadultÚstatusÚlast_air_daterO   )ÚEndedÚCanceled)r†   r‡   rm   Úend_yearÚended)r;   r/   rR   Úfloatr6   Úboolrm   )rB   r0   ro   rƒ   s       r2   Úcardr�   E   sX  € à�hŠh�yÑ!Ô!€GØ€˜5 Dš=˜=Ø—8’8Ð.Ñ/Ô/Ð9°D°6¸1Ô=ÐwÀ$Ç(Â(ÐK`ÑBaÔBaÐBgÐeg×AlÒAlÐmvÑAwÔAwˆØ—’Ð1Ñ2Ô2Ð8°b€JðØ�ðØ�c $ t¤*™oœoðà�—’˜'Ñ"Ô"Ð< d§h¢h¨vÑ&6Ô&6Ð<¸"ðð 	˜$Ÿ(š(Ð#3Ñ4Ô4ÐW¸¿ºÀÑ8QÔ8QÐWÐUWðð 	•˜‘”ð	ð  & t§x¢x°Ñ'?Ô'?Ð'cÀ4Ç8Â8ÐL\ÑC]ÔC]Ð'cÐacð	ð
 	�D—H’H˜ZÑ(Ô(Ð.¨Bðð
 19¸$¿(º(À=Ñ:QÔ:QÐ:WÐUWðð 	�D—H’H˜_Ñ-Ô-Ð3°ðð 	•%˜Ÿš Ñ0Ô0Ð5°AÑ6Ô6ðð 9@ÅÀTÇXÂXÈlÑE[ÔE[ÐE`Ð_`ÑAaÔAaðð 	•e˜DŸHšH \Ñ2Ô2Ð7°aÑ8Ô8ðð ;CÅIÈdÁOÄOðð 	�D—H’HÐ0Ñ1Ô1Ð7°Rðð :CÅCÈÈÐSTÑDUÔDUðð 	¨z¯~ª~¸dÑ/CÔ/CÐJ•c˜* TÔ*Ñ+Ô+Ð+Èðð 	•3�t—x’xÐ 3Ñ4Ô4Ð9¸Ñ:Ô:ðõ FJÈ$Ï(Ê(ÐSZÑJ[ÔJ[ÑE\ÔE\Ø—(’(˜8Ñ$Ô$Ð*¨½ÀÀuÑ8MÔ8MØ=BÀdº]¸]�T—X’X˜oÑ.Ô.Ð4°"°b°q°bÔ9Ð9ÐPRØBGÈ4Â-À-ÐTX×T\ÒT\Ð]eÑTfÔTfÀ-�$—(’(˜8Ñ$Ô$Ð(=Ð=Ð=Ðlpðð ð ð r4   c                 ó8  — |                       d¦  «        pi }d„ |                      d¦  «        pg D ¦   «         d t          …         }d„ |                      d¦  «        pg D ¦   «         }|dk    r#d„ |                       d¦  «        pg D ¦   «         p|}||d d	…         fS )
NÚcreditsc                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS r8   r:   ©r<   Úps     r2   r=   z_people.<locals>.<listcomp>_   s'   € Ð@Ð@Ð@�!°A·E²E¸$±K´KÐ@ˆAÐ@Ð@Ð@r4   Úcastc                 ój   — g | ]0}|                      d ¦  «        dv ¯|                      d¦  «        ¯.|‘Œ1S )Újob)ÚDirectorr9   r:   r“   s     r2   r=   z_people.<locals>.<listcomp>`   sA   € ÐdÐdÐd�A°a·e²e¸E±l´lÀmÐ6SÐ6SÐXY×X]ÒX]Ð^bÑXcÔXcÐ6SˆaÐ6SÐ6SÐ6Sr4   Úcrewr[   c                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS r8   r:   r“   s     r2   r=   z_people.<locals>.<listcomp>b   s'   € ÐIÐIÐI˜¸Q¿UºUÀ4¹[¼[ÐI�!ÐIÐIÐIr4   Ú
created_byr   )r;   ÚCAST)rB   r0   r‘   r•   Úmakerss        r2   Ú_peoplerž   ]   s®   € Ø�hŠh�yÑ!Ô!Ð' R€GØ@Ð@�w—{’{ 6Ñ*Ô*Ð0¨bÐ@Ñ@Ô@ÀÅ$ÀÔG€DØdÐd˜Ÿš VÑ,Ô,Ð2°ÐdÑdÔd€FØ�‚}€}ØIÐI˜TŸXšX lÑ3Ô3Ð9°rÐIÑIÔIÐSÈVˆØ�˜˜˜”ÐÐr4   c                 ó¶   — |                       d¦  «        pi }d„ |                      d¦  «        p|                      d¦  «        pg D ¦   «         d t          …         S )NÚkeywordsc                 ó<   — g | ]}|                      d ¦  «        ¯|‘ŒS r8   r:   ©r<   r$   s     r2   r=   z_keywords.<locals>.<listcomp>h   s-   € Ð\Ð\Ð\�!ÐPQ×PUÒPUÐVZÑP[ÔP[Ð\ˆAÐ\Ð\Ð\r4   r]   )r;   ÚKEYWORDS)rB   Úblocks     r2   Ú	_keywordsr¥   f   sZ   € Ø�HŠH�ZÑ Ô Ð& B€EØ\Ð\˜Ÿ	š	 *Ñ-Ô-ÐK°·²¸9Ñ1EÔ1EÐKÈÐ\Ñ\Ô\Ð]fÕ^fÐ]fÔgÐgr4   c                 ó  — i }t          t          | ¦  «        ¦  «        D ]%}t          d         |d                     |¦  «        <   Œ&|                      d¦  «        }|rt          d         |d|z   <   |dk    r`|                      d¦  «        pg dd	…         D ]@}|                     d
¦  «        r)t          d         |d                     |d
         ¦  «        <   ŒA|                      d¦  «        pg dd	…         D ]@}|                     d
¦  «        r)t          d         |d                     |d
         ¦  «        <   ŒA|                      d¦  «        pg dd	…         D ]}t          d         |d|z   <   Œt          | ¦  «        }|r)t          d         |d                     |dz  dz  ¦  «        <   t          d         |d|z   <   t          | |¦  «        }	|	dk    r#t          d         |d                     |	¦  «        <   t          | ¦  «        D ]+}
t          d         |d                     |
d
         ¦  «        <   Œ,t          | |¦  «        \  }}t          |¦  «        D ]7\  }}t          d         dd|z  z
  z  |d                      |d
         ¦  «        <   Œ8|D ]+}t          d!         |d"                     |d
         ¦  «        <   Œ,|                      d#¦  «        pi }|                     d
¦  «        r)t          d$         |d%                     |d
         ¦  «        <   |S )&ziSparse feature vector {name: weight}; a list item gives genres, language, decade, a detail adds the rest.r#   zg:{}r‚   r(   zlang:ÚmovieÚproduction_companiesNr   r9   r    zco:{}Únetworksr!   znet:{}Úorigin_countryr"   zoc:r)   zdec:{}é
   r*   zm:r   r   zcert:{}r$   úk:{}r%   r   gš™™™™™¹?zc:{}r&   zd:{}rr   r'   úcol:{})
rJ   r6   ÚWEIGHTSr.   r;   rR   rm   r¥   rž   Ú	enumerate)rB   r0   rG   rH   r(   ÚcompanyÚnetworkÚcountryrw   ÚlevelÚkwr•   r�   ÚrankÚpersonrƒ   s                   r2   Úfeaturesr·   k   s  € à
€CÝ�Y t™_œ_Ñ-Ô-ð /ð /ˆÝ")¨#¤,ˆˆF�MŠM˜#ÑÔÑÐØ�8Š8Ð'Ñ(Ô(€DØð .Ý% fœoˆˆG�d‰NÑØ�ÒÐØŸšÐ!7Ñ8Ô8Ð>¸BÀÀÀÔCð 	Cð 	CˆGØ�{Š{˜4Ñ Ô ð CÝ5<¸T´]��G—N’N 7¨4¤=Ñ1Ô1Ñ2øØ—H’H˜ZÑ(Ô(Ð.¨B°°°Ô3ð Að AˆØ�;Š;�tÑÔð 	AÝ29¸%´.ˆC�—’ ¨¤Ñ.Ô.Ñ/øØ—H’HÐ-Ñ.Ô.Ð4°"°b°q°bÔ9ð -ð -ˆÝ& tœ}ˆˆE�G‰OÑÐÝ�4‰=Œ=€DØð ?Ý07¸´ˆˆH�OŠO˜D B™J¨™OÑ,Ô,Ñ-Ý œ€Cˆˆu‰ÑÝ�T˜5Ñ!Ô!€EØ�‚z€zÝ'.¨v¤ˆˆI×Ò˜UÑ#Ô#Ñ$Ý˜‰oŒoð 4ð 4ˆÝ'.¨s¤|ˆˆF�MŠM˜"˜Tœ(Ñ#Ô#Ñ$Ð$Ý˜4 Ñ'Ô'�L€Dˆ&Ý! $™œð Mð M‰ˆˆfÝ+2°3¬<¸3ÀÀtÁÑ;KÑ+LˆˆF�MŠM˜& œ,Ñ'Ô'Ñ(Ð(Øð 8ð 8ˆÝ+2°3¬<ˆˆF�MŠM˜& œ,Ñ'Ô'Ñ(Ð(Ø—’Ð1Ñ2Ô2Ð8°b€JØ‡~‚~�dÑÔð @Ý18¸´ˆˆH�OŠO˜J tÔ,Ñ-Ô-Ñ.Ø€Jr4   c                 ó   — i }t          | |¦  «        \  }}||z   D ]>}||v rdnd}|                     d¦  «        pd|d                     ||d         ¦  «        <   Œ?t          | ¦  «        D ]5}|                     d¦  «        pd|d                     |d         ¦  «        <   Œ6|                      d¦  «        pi }|                     d¦  «        r3|                     d¦  «        pd|d	                     |d         ¦  «        <   |S )
zTReadable names of the people / keywords / collection features, for the reason texts.zd:zc:rt   rN   z{}{}r9   r¬   rr   r­   )rž   r;   r.   r¥   )	rB   r0   rG   r•   r�   r¶   Úprefixr´   rƒ   s	            r2   Únamesrº   �   s  € à
€CÝ˜4 Ñ'Ô'�L€Dˆ&Ø˜‘-ð Lð LˆØ 6Ð)Ð)��¨tˆØ39·:²:¸fÑ3EÔ3EÐ3KÈˆˆF�MŠM˜& &¨¤,Ñ/Ô/Ñ0Ð0Ý˜‰oŒoð <ð <ˆØ')§v¢v¨f¡~¤~Ð';¸ˆˆF�MŠM˜"˜Tœ(Ñ#Ô#Ñ$Ð$Ø—’Ð1Ñ2Ô2Ð8°b€JØ‡~‚~�dÑÔð NØ1;·²ÀÑ1GÔ1GÐ1MÈ2ˆˆH�OŠO˜J tÔ,Ñ-Ô-Ñ.Ø€Jr4   >
   éI  é2  éU_ é¦  é¿%  éÈ%  éæ¼ éç¼ éñ%  éõ%  rO   c                 óD   — d„ t          | ¦  «        D ¦   «         d|…         S )z8The seed's own keywords that are worth a discover query.c                 ó<   — g | ]}|d          t           v¯|d          ‘ŒS r8   )ÚSTOP_KEYWORDSr¢   s     r2   r=   z!seed_keywords.<locals>.<listcomp>¦   s*   € ÐMÐMÐM˜°°$´½}Ð0LÐ0LˆAˆdŒGÐ0LÐ0LÐ0Lr4   N)r¥   )rB   Úlimits     r2   Úseed_keywordsrÉ   ¤   s%   € àMÐM�Y t™_œ_ÐMÑMÔMÈfÈuÈfÔUÐUr4   c                 ó<   — t          | t          ¦  «        od| v od| v S )Nr‘   r    )Ú
isinstanceÚdict)rB   s    r2   Ú	is_detailrÍ   ©   s&   € Ý�d�DÑ!Ô!ÐN i°4Ð&7ÐN¸JÈ$Ð<NÐNr4   N)rO   )Ú__doc__rE   ÚNICHE_GENRESÚMOOD_GENRESÚBLOCKED_TV_GENRESrg   rh   r®   rœ   r£   r3   r6   rJ   rR   rm   r�   rž   r¥   r·   rº   rÇ   rÉ   rÍ   r@   r4   r2   ú<module>rÒ      s›  ðà fÐ fð  Y°xÈÐQÐQ€	àHÐHÐH€à!Ð!Ð!€à0Ð0Ð0Ð ð ˜Q¨A°q¸qÈ1ÐTUÐ`aÐlmØ˜! að	)ð 	)€à˜ ¨!°1Ð
5Ð
5€Ø˜c¨#°TÀÈ#ÐTXÐ_bÐknÐx|ð  FJð  QTð  Uð  U€Ø€Ø€ð/ð /ð /ð!ð !ð !ðð ð ð6ð 6ð 6ð
*ð *ð *ð,ð ð ð0ð ð ðhð hð hð
"ð "ð "ðJð ð ð  SÐRÐR€ðVð Vð Vð Vð
Oð Oð Oð Oð Or4   