§ ]<ˆj_ã ó—ddlZddlmZddlmZddlmZmZmZm Z ej dkrddlm Z nddl m Z Gd„de ¦«Z d ed e e d eefd „Zd ed eedeedeed eef d„Z dd ed eedeeed eefd„ZedkraddlmZeGd„d¦«¦«Zededdd¦«eddd¦«eddd¦«g¦«Zeee¦«¦«dSdS)éN)ÚFraction)Úceil)ÚcastÚListÚOptionalÚSequence)éé)ÚProtocolcóJ—eZdZUdZdZeeed<dZeed<dZ eed<dS)ÚEdgez1Any object that defines an edge (such as Layout).NÚsizeéÚratioÚ minimum_size) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrÚintÚ__annotations__rr©óúi/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pip/_vendor/rich/_ratio.pyr r sI€€€€€€Ø;Ð;à€Dˆ(�3Œ-ÐÐÑØ€Eˆ3€N€N�NØ€L�#ÐÐÑÐÐrr ÚtotalÚedgesÚreturncó@—d„|D¦«}t}d|vrèd„tt||¦«¦«D¦«}|td„|D¦«¦«z }|dkrd„t||¦«D¦«S||td„|D¦«¦«¦«}|D]$\}}||jz|jkr |j||<n8Œ%|d¦«} |D](\}}t ||jz| zd¦«\} } | ||<Œ)nd|v°èttt|¦«S) aŒDivide total space to satisfy size, ratio, and minimum_size, constraints. The returned list of integers should add up to total in most cases, unless it is impossible to satisfy all the constraints. For instance, if there are two edges with a minimum size of 20 each and `total` is 30 then the returned list will be greater than total. In practice, this would mean that a Layout object would clip the rows that would overflow the screen height. Args: total (int): Total number of characters. edges (List[Edge]): Edges within total space. Returns: List[int]: Number of characters for each edge. có —g|] }|jpd‘Œ S©N)r)Ú.0Úedges rú z!ratio_resolve..%s€Ð 3Ð 3Ð 3 TˆdŒiИ4Ð 3Ð 3Ð 3rNcó&—g|]\}\}}|­ ||f‘ŒSr r)r!Úindexrr"s rr#z!ratio_resolve..,s1€ð ð ð á#�‘|˜˜d؈|ð�DˆMàˆ|ˆ|rc3óK—|]}|pdV—Œ dS)rNr)r!rs rú z ratio_resolve..2s&èè€Ð<Ð<¨d   ¨Ð<Ð<Ð<Ð<Ð<Ð.5s;€ðððá�D˜$ð.2¨\�$Ô#Ð( qø¸tðððrc3ó.K—|]\}}|jpdV—ŒdS)rN)r)r!Ú_r"s rr'z ratio_resolve..;s,èè€ÐKÐK±°°D˜DœJ˜O¨!ÐKÐKÐKÐKÐKÐKrr) rÚ enumerateÚzipÚsumrrÚdivmodrrr) rrÚsizesÚ _FractionÚflexible_edgesÚ remainingÚportionr%r"Ú remainderrs rÚ ratio_resolver5s�€ð" 4Ð 3¨UÐ 3Ñ 3Ô 3€Eå€Ið �%ˆ-ˆ-ð ð å'0µ°U¸EÑ1BÔ1BÑ'CÔ'Cð ñ ô ˆð �CÐ<Ð<°eÐ<Ñ<Ô<Ñ<Ô<Ñ<ˆ Ø ˜Š>ˆ>ððå"% e¨UÑ"3Ô"3ðñôð ð �)Ø •sÐKÐK¸NÐKÑKÔKÑKÔKñ ô ˆð *ð ð ‰KˆE�4ؘœÑ# tÔ'8Ò8Ð8Ø#Ô0��e‘ à�ð9ð"˜  !™ œ ˆIØ-ð $ð $‘ ��tÝ"(¨°4´:Ñ)=À Ñ)IÈ1Ñ"MÔ"M‘��iØ#��e‘ � Ø ðE �%ˆ-ˆ-õH ••S” ˜5Ñ !Ô !Ð!rÚratiosÚmaximumsÚvaluescóT—d„t||¦«D¦«}t|¦«}|s |dd…S|}g}|j}t|||¦«D]U\}} } |rB|dkr._s%€Ð LÐ LÐ L¡{ u¨d�tÐ"ˆeˆe Ð LÐ LÐ LrNr)r,r-ÚappendÚminÚround) rr6r7r8Ú total_ratioÚtotal_remainingÚresultr=rÚmaximumÚvalueÚ distributeds rÚ ratio_reducerFQsæ€ðMÐ Lµc¸&À(Ñ6KÔ6KÐ LÑ LÔ L€FÝ�f‘+”+€KØ ðØ�a�a�aŒyÐØ€OØ€FØ Œ]€FÝ!$ V¨X°vÑ!>Ô!>ððшˆw˜Ø ð �[ 1’_�_ݘg¥u¨U°_Ñ-DÀ{Ñ-RÑ'SÔ'SÑTÔTˆKØ ˆF�5˜;Ñ&Ñ 'Ô 'Ð 'Ø ˜{Ñ *ˆOØ ˜5Ñ ˆKˆKà ˆF�5‰MŒMˆMˆMØ €MrÚminimumscóp—|rd„t||¦«D¦«}t|¦«}|dks Jd¦«‚|}g}|j}|€dgt|¦«z}n|}t||¦«D]F\}} |dkr$t | t ||z|z ¦«¦«} n|} || ¦«||z}|| z}ŒG|S)a<Distribute an integer total in to parts based on ratios. Args: total (int): The total to divide. ratios (List[int]): A list of integer ratios. minimums (List[int]): List of minimum values for each slot. Returns: List[int]: A list of integers guaranteed to sum to total. có —g|] \}}|r|nd‘Œ Sr;r)r!rÚ_mins rr#z$ratio_distribute..s%€ÐPÐPÐP©;¨5°$˜4Ð&�%�% QÐPÐPÐPrrzSum of ratios must be > 0)r,r-r=ÚlenÚmaxr) rr6rGr@rAÚdistributed_totalr=Ú _minimumsrÚminimumrEs rÚratio_distributerPqsõ€ððQØPÐP½#¸fÀhÑ:OÔ:OÐPÑPÔPˆÝ�f‘+”+€KØ ˜Š?ˆ?ˆ?Ð7‰?Œ?ˆ?à€OØ#%ÐØ Ô %€FØÐØ�C�#˜f™+œ+Ñ%ˆ ˆ àˆ Ý˜f iÑ0Ô0ð'ð'‰ˆˆwØ ˜Š?ˆ?ݘg¥t¨E°OÑ,CÀkÑ,QÑ'RÔ'RÑSÔSˆKˆKà)ˆK؈ˆ{ÑÔÐØ�uш ؘ;Ñ&ˆˆØ ÐrÚ__main__)Ú dataclasscóF—eZdZUdZeeed<dZeed<dZeed<dS)ÚENrrrr) rrrrrrrrrrrrrTrT˜sC€€€€€€à"ˆˆh�sŒmÐ"Ð"Ñ"؈ˆsˆˆ‰Øˆ �cÐÐÑÐÐrrTénrr )ÚsysÚ fractionsrÚmathrÚtypingrrrrÚ version_infor Úpip._vendor.typing_extensionsr rr5rFrPrÚ dataclassesrRrTÚresolvedÚprintr-rrrúr_s;ðØ € € € ØÐÐÐÐÐØÐÐÐÐÐØ1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1àÔ�vÒÐØÐÐÐÐÐÐà6Ð6Ð6Ð6Ð6Ð6ðððððˆ8ñôðð:"˜ð:" X¨d¤^ð:"¸¸S¼ ð:"ð:"ð:"ð:"ðzØ ðؘSœ ðØ-1°#¬YðØ@DÀSÄ ðà ˆ#„YðððððBDHð!ð!Ø ð!ؘSœ ð!Ø-5°d¸3´iÔ-@ð!à ˆ#„Yð!ð!ð!ð!ðH ˆzÒÐØ%Ð%Ð%Ð%Ð%Ð%àðððððñôñ„Yðð ˆ}˜S 1 1 T¨1¨a¡=¤=°!°!°D¸!¸Q±-´-ÀÀÀ4ÈÈAÁÄÐ"OÑPÔP€HØ €Eˆ#ˆ#ˆh‰-Œ-ÑÔÐÐÐðÐr