
    ai`                        S SK r S SKJrJrJr  S SKJr  S SKJr  S SK	J
rJr   " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S5      r " S S\\5      r " S S\\5      r " S S\\5      rS r " S S\\5      r " S S \\5      r " S! S"\\5      r " S# S$\\5      r " S% S&\\\\5      r " S' S(\\\5      r " S) S*\5      r  " S+ S,\\5      r!S- r" " S. S/5      r# " S0 S1\\#5      r$ " S2 S3\\#5      r% " S4 S5\\5      r&\\\\\\\\ \\\\\&\!\\\\\\$\%4r'\(S6:X  a  S S7K)J*r*  \' H  r+\*" \+5        M     gg)8    N)MenuPanelUIList)PropertyPanel)PropertiesAnimationMixin)pgettext_ifacepgettext_tipc                       \ rS rSrSrS rSrg)!MESH_MT_vertex_group_context_menu   zVertex Group Specialsc                    U R                   nSUR                  SSSS9l        SUR                  SSSS9l        UR                  5         UR                  S	S
S9  UR                  S5        UR                  5         SUR                  SSS9l        SUR                  SSS9l        UR                  5         SUR                  SSSS9l        SUR                  SSS9l        SUR                  SSS9l        SUR                  SSS9l        UR                  5         UR                  SSSS9nSu  Ul	        Ul
        UR                  SSSS9nS u  Ul	        Ul
        UR                  SS!S9nS"u  Ul	        Ul
        g )#NNAMEzobject.vertex_group_sort	SORTALPHAzSort by NameicontextBONE_HIERARCHY	BONE_DATAzSort by Bone Hierarchyzobject.vertex_group_copy	DUPLICATEr   z$object.vertex_group_copy_to_selectedFzobject.vertex_group_mirrorARROW_LEFTRIGHTTzMirror Vertex Group (Topology)r   object.vertex_group_remove_fromXzRemove from All GroupszClear Active Groupobject.vertex_group_removezDelete All Unlocked GroupszDelete All Groupszobject.vertex_group_lockLOCKEDLock All)LOCKALLUNLOCKED
Unlock All)UNLOCKr   zLock Invert All)INVERTr   )layoutoperator	sort_type	separatoruse_topologyuse_all_groupsuse_all_vertsall_unlockedallactionmaskself_contextr$   propss       b/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/startup/bl_ui/properties_data_mesh.pydraw&MESH_MT_vertex_group_context_menu.draw   s    	 	& 	 	
 
 '	 	&) 	 	
 2E>?]b4;LMZlp4;[\i
  	 	-) 	 	
 fj9@TUchl4;WXeVZ4;NOS :PZ[#0 ej :R^_#2 ej :ARS#2 ej     N__name__
__module____qualname____firstlineno__bl_labelr4   __static_attributes__r7   r6   r3   r   r      s    &H"3r6   r   c                       \ rS rSrSrS rSrg)MESH_MT_shape_key_context_menu8   zShape Key Specialsc                 &   U R                   nSUR                  SSSS9l        UR                  SSSS9  UR                  S	S
S9  UR                  5         UR                  SSS9  SUR                  SSS9l        UR                  SSS9  SUR                  SSS9l        UR                  5         SUR                  SSSS9l        SUR                  SSS9l        UR                  5         SUR                  SSSS9l        SUR                  SSSS9l        UR                  5         UR                  SS S9  UR                  S!S"S9  UR                  5         UR                  S#S$S9nSUl        SUl        UR                  S#S%S&S9nSUl        SUl        g )'NTobject.shape_key_addADDzNew Combinedr   object.shape_key_copyr   	Duplicatezobject.shape_key_transferzCopy from Objectsr   zobject.join_shapeszNew from ObjectszNew from Objects Flippedzobject.update_shapesFILE_REFRESHr   zUpdate from Objects FlippedFzobject.shape_key_mirrorr   FlipzFlip (Topology)r   zobject.shape_key_lockr   r   r"   r    r!   object.shape_key_make_basis
Make Basisobject.shape_key_apply_to_basisApply to Basisobject.shape_key_removez	Apply Allr   z
Delete All)	r$   r%   from_mixr'   
use_mirrorr(   r-   r,   	apply_mixr/   s       r3   r4   #MESH_MT_shape_key_context_menu.draw;   s   \`.UPY/kT3:MN,3EF\`,3MNY.^Dae.5RS^gl18IPVWdZ^18IJWZ`/hZPW^f/j|T[5LI9@PQ 9L	 9,W	r6   r7   Nr8   r7   r6   r3   r@   r@   8   s    #H r6   r@   c                       \ rS rSrSrS rSrg)#MESH_MT_shape_key_tree_context_menuX   zShape Key context menuc                     U R                   nUR                  SSS9  UR                  SSS9  UR                  SSSS	9  UR                  5         S
UR                  SSSS	9l        SUR                  SSSS	9l        g )NrI   rJ   r   rK   rL   rE   r   rF   r   TOPobject.shape_key_moveTRIA_UP_BARzMove After BasisBOTTOMTRIA_DOWN_BARzMove to Last)r$   r%   r'   typer0   r1   r$   s      r3   r4   (MESH_MT_shape_key_tree_context_menu.draw[   s~    5LI9@PQ/kTej/mJ\]bck/oN[`r6   r7   Nr8   r7   r6   r3   rS   rS   X   s    'Hlr6   rS   c                       \ rS rSrSrS rSrg)$MESH_MT_color_attribute_context_menue   zColor Attribute Specialsc                 ^    U R                   nUR                  SSS9  UR                  S5        g )Nz"geometry.color_attribute_duplicater   r   z geometry.color_attribute_convertr$   r%   r\   s      r3   r4   )MESH_MT_color_attribute_context_menu.drawh   s1    0 	 	
 	:;r6   r7   Nr8   r7   r6   r3   r_   r_   e   s    )H<r6   r_   c                       \ rS rSrSrS rSrg)MESH_MT_attribute_context_menur   zAttribute Specialsc                 >    U R                   nUR                  S5        g )Nzgeometry.attribute_convertrb   r\   s      r3   r4   #MESH_MT_attribute_context_menu.drawu   s    45r6   r7   Nr8   r7   r6   r3   re   re   r   s    #H6r6   re   c                       \ rS rSrS rSrg)MESH_UL_vgroups{   c	                 ~    Un	UR                  U	SSSUS9  U	R                  (       a  SOSnUR                  U	SSUSS9  g )	Nname F)r   emboss
icon_valuer   r    lock_weightr   r   ro   )proprq   )
r0   r1   r$   _dataitemr   _active_data__active_propname_indexvgroups
             r3   	draw_itemMESH_UL_vgroups.draw_item|   sB    FFEdK!--x:FMeLr6   r7   Nr9   r:   r;   r<   rz   r>   r7   r6   r3   rj   rj   {   s    Mr6   rj   c                       \ rS rSrS rSrg)MESH_UL_uvmaps   c	                 z    UR                  USSSSS9  UR                  (       a  SOSnUR                  USSUSS	9  g )
Nrm   rn   F	GROUP_UVS)r   ro   r   RESTRICT_RENDER_OFFRESTRICT_RENDER_ONactive_renderrr   )rs   r   )	r0   r1   r$   rt   ru   r   _active_datarw   rx   s	            r3   rz   MESH_UL_uvmaps.draw_item   s?    D&r%kJ(,(:(:$@TD/eLr6   r7   Nr|   r7   r6   r3   r~   r~      s    Mr6   r~   c                   0    \ rS rSrSrSrSr\S 5       rSr	g)MeshButtonsPanel   
PROPERTIESWINDOWdatac                 \    UR                   nUR                  =(       a    X R                  ;   $ )N)enginemeshCOMPAT_ENGINES)clscontextr   s      r3   pollMeshButtonsPanel.poll   s#    ||>+=+=!=>r6   r7   N)
r9   r:   r;   r<   bl_space_typebl_region_type
bl_contextclassmethodr   r>   r7   r6   r3   r   r      s#     MNJ? ?r6   r   c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_context_mesh   rn   HIDE_HEADER>   BLENDER_EEVEEBLENDER_RENDERBLENDER_WORKBENCHc                     U R                   nUR                  nUR                  nUR                  nU(       a  UR	                  US5        g U(       a  UR	                  US5        g g )Nr   pin_id)r$   objectr   
space_datatemplate_ID)r0   r   r$   obr   spaces         r3   r4   DATA_PT_context_mesh.draw   sS    ^^||""r6*uh/ r6   r7   N	r9   r:   r;   r<   r=   
bl_optionsr   r4   r>   r7   r6   r3   r   r      s    HJN
0r6   r   c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_texture_space   zTexture SpaceDEFAULT_CLOSED>   r   r   r   c                     U R                   nSUl        UR                  nUR                  US5        UR	                  5         UR                  US5        UR                  USSS9  UR                  USSS9  g )	NTtexture_meshuse_auto_texspacetexspace_locationLocationr   texspace_sizeSize)r$   use_property_splitr   rs   r'   )r0   r   r$   r   s       r3   r4   DATA_PT_texture_space.draw   sj    $(!||D.)D-.D-J?D/7r6   r7   Nr   r7   r6   r3   r   r      s    H"#JN8r6   r   c                   6    \ rS rSrSr1 Skr\S 5       rS rSr	g)DATA_PT_vertex_groups   zVertex Groups>   r   r   r   c                     UR                   nUR                  nU=(       a$    UR                  S;   =(       a    X R                  ;   $ )N>   MESHLATTICEGREASEPENCILr   r   r[   r   r   r   r   objs       r3   r   DATA_PT_vertex_groups.poll   s7    nnj$GGjVWiWiMikr6   c           
         U R                   nUR                  nUR                  R                  nSnU(       a  SnUR	                  5       nUR                  SSUSUR                  SUS9  UR                  SS	9nUR                  S
SSS9  UR                  SSSS9nS=Ul        Ul	        UR                  5         UR                  SSSS9  U(       a<  UR                  5         SUR                  SSSS9l        SUR                  SSSS9l        UR                  (       Ga  UR                  S:X  d;  UR                  S:X  a  UR                  S:X  a  UR                  R                   (       a  UR	                  5       nUR	                  SS	9n	U	R                  SSS9  U	R                  SSS9  UR	                  SS	9n	U	R                  SS S9  U	R                  S!S"S9  UR                  SS	9nUR                  5         SUl        SUl        UR'                  UR(                  S#S$S9  UR'                  UR(                  S%S&S9  [+        XS 5        g )'N      rj   rn   vertex_groupsactive_indexrowsTalignzobject.vertex_group_addrD   r   r   REMOVEFr   DOWNARROW_HLTUPzobject.vertex_group_moveTRIA_UPDOWN	TRIA_DOWNEDITWEIGHT_PAINTr   zobject.vertex_group_assignAssignr   r   Removezobject.vertex_group_selectSelectzobject.vertex_group_deselectDeselectvertex_group_weightWeightuse_auto_normalizezAuto Normalize)r$   r   r   activerowtemplate_listcolumnr%   r+   r,   r'   menu	directionmoder[   r   use_paint_mask_vertexr   use_property_decoraters   tool_settingsdraw_attribute_warnings)
r0   r   r$   r   groupr   r   colr2   subs
             r3   r4   DATA_PT_vertex_groups.draw   s   ^^  ''Djjl+R_bFVFVXfmqrjjtj$.UD9rR)..UY4?QSTMMOZ^CLL3)"LMW\bCLL3+BLOY    F"''^+60AbggFcFc**,C'''%CLL5HLELL:LJ'''%CLL5HLELL7jLI--d-+CMMO%)C"(-C%HHW**,AHQHHW**,@GWHX6r6   r7   N
r9   r:   r;   r<   r=   r   r   r   r4   r>   r7   r6   r3   r   r      s)    HN l l
27r6   r   c                    SUl         U R                  nUR                  R                  nUR                  nUR
                  S:g  nSnU(       d!  UR                  (       a!  UR                  S:X  a  UR                  SL a  SnSUl         UR                  (       a  UR                  S:w  a  UR                  5       nXgl        UR                  US5        UR                  5       nUR                  SS9n	Xil        U	R                  USS	S
9  U	R                  USSS
9  UR                  USUSSS
9  UR                  USUSSS
9  g g UR                  US5        UR                  5       nXgl        UR                  US5        g )NTr   Fr   r   valuer   
slider_minz	Range Minr   
slider_maxMaxvertex_groupr   zVertex Grouprelative_key
key_blockszRelative Tointerpolation	eval_time)r   r   r   
shape_keysactive_shape_keyr   use_shape_key_edit_moder[   show_only_shape_keyuse_relativeactive_shape_key_indexr   r   rs   r   prop_search)
r   r$   r   keykbenable_editenable_edit_valuer   r   r   s
             r3   draw_shape_key_propertiesr   	  sK    $F	B
''

C			B''V#Kr11bgg6G!!U* $ $F
$$)**,C*JHHR!--/C**4*(C*JHHRKH8HHREH2OOBO.OYOOB\OV * 	B(mmo&
k"r6   c                   6    \ rS rSrSr1 Skr\S 5       rS rSr	g)DATA_PT_shape_keysi,  
Shape Keys>   r   r   r   c                     UR                   nUR                  nU=(       a$    UR                  S;   =(       a    X R                  ;   $ )N>   r   CURVEr   SURFACEr   r   s       r3   r   DATA_PT_shape_keys.poll4  s8    nnn$KKnQW[m[mQmor6   c                    U R                   nUR                  nUR                  R                  nUR                  nUR
                  S:g  nSnU(       d!  UR                  (       a  UR                  S:X  a  SnUR                  5       nUR                  5         UR                  SS9n	SU	R                  SSSS	9l        SU	R                  S
SSS	9l        U	R                  5         U	R                  SSSS	9  UR                  S:X  a/  UR                  SS9nSUl        SUl        UR%                  US5        U(       Ga?  U	R                  5         U	R                  SS9n
SU
R                  SSSS	9l        SU
R                  SSSS	9l        UR'                  SS9nUR                  5       nXhl        UR%                  US5        UR                  5       nSUl        UR                  SS9n
U
R+                  5         U
R                  SS9nX|l        UR%                  USSS9  U
R%                  USSS9  UR                  5       n
UR.                  (       a  U
R                  SSSS	9  OU
R                  SSSS	9  [1        X5        g g ) Nr   Fr   Tr   rC   rD   rn   r   rM   r   r@   r   LEFTadd_rest_position_attributer   rW   r   r   r   g?factorr   RIGHTr   r   r   zobject.shape_key_clearr   zobject.shape_key_retimeRECOVER_LAST)r$   r   r   r   r   r   r   r[   r   template_shape_key_treer   r%   rN   r,   r'   r   r   	alignmentrs   splitenabledlabelr   r   r   )r0   r   r$   r   r   r   r   
enable_pinr   r   r   r  subsubs                r3   r4   DATA_PT_shape_keys.draw:  s1   ^^gg    gg'
255"''V:KJjjl##%jjtj$MR+%bAJNS.XBGK1bQ77f**4*(C%*C""CMHHR67MMO**4*(CRVCLL0yrLJOTZCLL0{LLQLLL,E))+C%KHHS.)))+C#CM'''%CIIKWW4W(F&MKK1K;HHR2H<'')C5CbI6^RTU%g69 r6   r7   Nr   r7   r6   r3   r  r  ,  s)    HN p p
<7r6   r  c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_uv_textureiy  zUV Mapsr   >   r   r   r   c           
      @   U R                   nUR                  nUR                  5       nUR                  5       nUR	                  SSUSUR
                  SSS9  UR                  SS9nUR                  S	S
SS9  UR                  SSSS9  [        XUR
                  5        g )Nr~   uvmaps	uv_layersr      r   Tr   zmesh.uv_texture_addrD   rn   r   zmesh.uv_texture_remover   )r$   r   r   r   r   r  r%   r   )r0   r   r$   mer   r   s         r3   r4   DATA_PT_uv_texture.draw  s    \\jjljjl*Hb+r||Ucjkljjtj$*R@-H2F>r6   r7   Nr   r7   r6   r3   r  r  y  s    H"#JN?r6   r  c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_remeshi  Remeshr   >   r   r   r   c                    U R                   nSUl        SUl        UR                  5       nUR                  nUR                  USSSS9  UR                  5       nUR                  S:X  ax  UR                  US5        UR                  US5        UR                  US	5        UR                  S
S9nUR                  USSS9  UR                  USSS9  UR                  SSS9  g UR                  SSS9  g )NTFremesh_modeMode)r   expandVOXELremesh_voxel_sizeremesh_voxel_adaptivityuse_remesh_fix_polesPreserve)headinguse_remesh_preserve_volumeVolumer   use_remesh_preserve_attributes
Attributeszobject.voxel_remeshzVoxel Remeshzobject.quadriflow_remeshzQuadriFlow Remesh)	r$   r   r   r   r   rs   r   r"  r%   )r0   r   r$   r   r   r   s         r3   r4   DATA_PT_remesh.draw  s    $(!',$jjl||}6$?mmow&HHT./HHT45HHT12--
-3CHHT7hHGHHT;,HOLL.^LDLL3:MLNr6   r7   Nr   r7   r6   r3   r  r    s    H"#JNOr6   r  c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_customdatai  zGeometry Datar   >   r   r   r   c                 6   U R                   nSUl        SUl        UR                  nUR	                  5       nUR                  SSS9  UR                  SSS9  UR                  S5        UR                  (       a  UR                  SSS9  g UR                  S	S
S9  g )NTFzmesh.customdata_mask_clearr   r   zmesh.customdata_skin_clearzmesh.reorder_vertices_spatialz)mesh.customdata_custom_splitnormals_clearz'mesh.customdata_custom_splitnormals_addrD   )r$   r   r   r   r   r%   has_custom_normals)r0   r   r$   r  r   s        r3   r4   DATA_PT_customdata.draw  s    $(!',$\\mmo1<1<45  LLD3LOLLBLOr6   r7   Nr   r7   r6   r3   r1  r1    s    H"#JNPr6   r1  c                   "    \ rS rSr1 SkrS rSrg)DATA_PT_mesh_animationi  >   r   r   r   c                 8   U R                   nSUl        SUl        UR                  nUR	                  SS9nUR                  SS9  U R                  XU5        UR                  =n(       a1  UR	                  SS9nUR                  SS9  U R                  XU5        g g )NTFr   Meshr   r  )r$   r   r   r   r   r  draw_action_and_slot_selectorr   )r0   r   r$   r   r   r   s         r3   r4   DATA_PT_mesh_animation.draw  s    $(!',$ ||mm$m'		v	**7>(:(--d-+CII<I(..wZH )r6   r7   N)r9   r:   r;   r<   r   r4   r>   r7   r6   r3   r6  r6    s    NIr6   r6  c                   L    \ rS rSr1 SkrSr\R                  R                  r	Sr
g)DATA_PT_custom_props_meshi  >   r   r   r   zobject.datar7   N)r9   r:   r;   r<   r   _context_pathbpytypesr8  _property_typer>   r7   r6   r3   r<  r<    s    N
 "MYY^^Nr6   r<  c                   .    \ rS rSrSSSSS.rS rS rS	rg
)MESH_UL_attributesi  VertexEdgeFaceFace CornerPOINTEDGEFACECORNERc                 J   [        X#5      n/ n[        [        U5      5       Vs/ s H  ofPM     nnU R                  (       aI  [        R
                  R                  R                  U R                  U R                  USU R                  S9nU(       d  U R                  /[        U5      -  n[        U5       H(  u  pU	R                  (       a  U R                  OXX   XX'   M*     U R                  (       a*  [        R
                  R                  R                  US5      nXW4$ s  snf )Nrm   reverse)getattrrangelenfilter_namer>  r?  
UI_UL_listfilter_items_by_namebitflag_filter_itemuse_filter_invert	enumerateis_internalbitflag_item_never_showuse_filter_sort_alphasort_items_by_name)
r0   r1   r   property
attributesflagsiindicesidxru   s
             r3   filter_itemsMESH_UL_attributes.filter_items  s    T,
#C
O454145 II((==  $":":JX\XnXn > E --.Z@E #:.IC9=9I9I55uzEJ / %%ii**==j&QG~% 6s   D c	                    UR                   R                  S   R                  UR                     n	U R                  R                  UR                  S5      n
UR                  SS9nSUl        UR                  USSS9  UR                  5       nSUl        S	Ul        UR                  S
R                  [        U
5      [        U	R                   5      5      S	S9  g )N	data_typern         ?r
  NONErm   r   r  F{:s} - {:s}r   	translate)bl_rna
properties
enum_itemsre  display_domain_namesgetdomainr  ro   rs   r   r  r   r  formatiface_rm   )r0   r1   r$   rt   	attribute_iconr   rw   rx   re  domain_namer  r   s                r3   rz   MESH_UL_attributes.draw_item  s    $$//<GG	H[H[\	//33I4D4DbID)

9f2
.iik
		%%f[&96)..;QR 	 	
r6   r7   N)r9   r:   r;   r<   rn  rb  rz   r>   r7   r6   r3   rB  rB    s     	.
r6   rB  c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_mesh_attributesi   r.  r   >   r   r   r   c           
      n   UR                   nU R                  nUR                  5       nUR                  5       nUR	                  SSUSUR
                  SSS9  UR                  SS9nUR                  SS	S
S9  UR                  SSS
S9  UR                  5         UR                  SSS
S9  [        XS 5        g )NrB  r]  r   r   r   Tr   zgeometry.attribute_addrD   rn   r   zgeometry.attribute_remover   re   r   )
r   r$   r   r   r   r]  r%   r'   r   r   r0   r   r   r$   r   r   s         r3   r4   DATA_PT_mesh_attributes.draw)  s    ||jjljjl OO 	 	
 jjtj$-EC0xbI1bQ6r6   r7   Nr   r7   r6   r3   rx  rx     s    H"#JN7r6   rx  c                 2   U R                   nU R                  nU(       d  g [        5       n/ nUR                  Uc  S OUR                  4 H  nUc  UR                  S5        M  UR                  5        H`  n[        U5      n	UR                  U5        [        U5      U	:X  d  M0  U(       a  UR                  U5      (       d  MO  UR                  U5        Mb     M     U(       d  g UR                  [        S5      SR                  [        U5      5      -   SSS9  g )Nz7Cannot check for object vertex groups when pinning meshzName collisions: z, ERRORF)r   r   rj  )r   r   setr]  r   appendkeysrQ  addro  r  rpt_join)
r   r$   r]  r   r   unique_namescolliding_names
collectionrm   unique_names_lens
             r3   r   r   G  s    	B<<D5LOOOJDB$4$4
 ""#\]OO%D"<0T"L!%55"jnnT&:&:#**40 & 
LLd./$))C<P2QQX_kpLqr6   c                   (    \ rS rSrSSSSS.rS rSrg	)
ColorAttributesListBaseie  rC  rD  rE  rF  rG  c                    [        X#5      n/ n[        [        U5      5       Vs/ s H  ofPM     nnU R                  (       aI  [        R
                  R                  R                  U R                  U R                  USU R                  S9nU(       d  U R                  /[        U5      -  n[        U5       HL  u  pU	R                  S;  =(       d"    U	R                  S;  =(       d    U	R                  n
U
(       a  SOXX   XX'   MN     U R                  (       a*  [        R
                  R                  R                  US5      nXW4$ s  snf )Nrm   rM  >   rH  rK  >   
BYTE_COLORFLOAT_COLORr   )rO  rP  rQ  rR  r>  r?  rS  rT  rU  rV  rW  rp  re  rX  rZ  r[  )r0   r1   r   r\  r]  r^  r_  r`  ra  ru   skips              r3   rb  $ColorAttributesListBase.filter_itemsm  s   T,
#C
O454145 II((==  $":":JX\XnXn > E --.Z@E":.IC$77 !'DD!   
 #
EJ / %%ii**==j&QG~- 6s   Er7   N)r9   r:   r;   r<   rn  rb  r>   r7   r6   r3   r  r  e  s    	r6   r  c                       \ rS rSrS rSrg)MESH_UL_color_attributesi  c	                 h   UR                   R                  S   R                  UR                     n	U R                  R                  UR                  S5      n
UR                  SS9nSUl        UR                  USSSS9  UR                  5       nS	Ul        S
Ul        UR                  SR                  [        U
5      [        U	R                   5      5      S
S9  XR"                  R$                  :H  nUR                  5       nSUl        UR'                  SSU(       a  SOSS9nUR                   Ul        g )Nre  rn   rf  r
  rg  rm   
GROUP_VCOLr   r   r  Frh  ri  z#geometry.color_attribute_render_setr   r   )rk  rl  rm  re  rn  ro  rp  r  ro   rs   r   r  r   r  rq  rr  rm   color_attributesrender_color_indexr%   )r0   r1   r$   r   rs  rt  r   rw   rx   re  ru  r  r   r   r   r2   s                   r3   rz   "MESH_UL_color_attributes.draw_item  s   $$//<GG	H[H[\	//33I4D4DbID)

9f2L
Aiik
		}++F;,?	AWXdi	j"7"7"J"JJjjl
1*7&=Q  

 ^^
r6   r7   Nr|   r7   r6   r3   r  r    s    $r6   r  c                       \ rS rSrS rSrg)!MESH_UL_color_attributes_selectori  c	                 6    SUl         UR                  USSSS9  g )Nrg  rm   rn   r  r  )ro   rs   )	r0   r1   r$   rt   rs  rt  r   rw   rx   s	            r3   rz   +MESH_UL_color_attributes_selector.draw_item  s    IvB\Br6   r7   Nr|   r7   r6   r3   r  r    s    Cr6   r  c                   ,    \ rS rSrSrS1r1 SkrS rSrg)DATA_PT_vertex_colorsi  zColor Attributesr   >   r   r   r   c           
         UR                   nU R                  nUR                  5       nUR                  5       nUR	                  SSUSUR
                  SSS9  UR                  SS9nUR                  SS	S
S9  UR                  SSS
S9  UR                  5         UR                  SSS
S9  [        XUR
                  5        g )Nr  r  active_color_indexr   r   Tr   zgeometry.color_attribute_addrD   rn   r   zgeometry.color_attribute_remover   r_   r   )
r   r$   r   r   r   r  r%   r'   r   r   rz  s         r3   r4   DATA_PT_vertex_colors.draw  s    ||jjljjl&!!  	 	
 jjtj$3%bI6XBO7oTVW1F1FGr6   r7   Nr   r7   r6   r3   r  r    s    !H"#JNHr6   r  __main__)register_class),r>  	bpy.typesr   r   r   rna_prop_uir   bl_ui.space_propertiesr   bpy.app.translationsr   rr  r	   r  r   r@   rS   r_   re   rj   r~   r   r   r   r   r   r  r  r  r1  r6  r<  rB  rx  r   r  r  r  r  classesr9   	bpy.utilsr  r   r7   r6   r3   <module>r     s  
  ) ) % ;%3 %3P T  @
l$ 
l
<4 
<6T 6Mf MMV M? ?0+U 0,8,e 82@7,e @7F #FJ7)5 J7Z?)5 ?4O%u O@P)5 P4I-/GX] I2$ 0- $-
 -
`"7. "7Nr<! !H$v'> $6C0G C"H,e "HL &"'("%+0 z(s  r6   