felixfung / skippy-xd

A window selector for X11 with Exposé and live preview Alt-Tab effects and more
GNU General Public License v2.0
23 stars 2 forks source link

fitlers out _NET_WM_WINDOW_TYPE_POPUP_MENU #59

Closed felixfung closed 7 months ago

felixfung commented 8 months ago

Follows https://specifications.freedesktop.org/wm-spec/1.5/ar01s05.html

ahmeteid7 commented 8 months ago

there is no problem in that, i used it in ignore certain window: xprop -id $(xwininfo -root -tree | grep "Zorin Menu Lite" | awk '{print $1}') -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_DOCK my problem with some app's window when i closed it, skippy still show them as a minimize window, like gnome-software(work in the background even you closed it's window) and all the apps which has icon in the tray like(fdm,stacer,jdownloader,etc)

felixfung commented 8 months ago

This PR (in its current state) fixes _NET_WM_WINDOW_TYPE_DOCK windows so your custom setting is not necessary. Can you please test it for other users benefit? Thank you!

For your GNOME problem, I am guessing it has a similar root cause. Are you possible to find its _NET_WM_WINDOW_TYPE and/or _NET_WM_STATE?

ahmeteid7 commented 8 months ago

i uninstalled the previous one and installed this one, it's good, it fixes _NET_WM_WINDOW_TYPE_DOCK windows. so that problem is solved.

but the problem of software store and stacer and fdm and jdownloader, not solved, when i closed it's window ,skippy show them as minimize windows note the tray: image note : skippy show the closed windows which in the tray, and show software store which still run in the background image

felixfung commented 8 months ago

This is as I expected.

Are you possible to find the GNOME windows' _NET_WM_WINDOW_TYPE and/or _NET_WM_STATE?

ahmeteid7 commented 8 months ago

jdownloader

xprop | grep -i "_NET_WM_WINDOW_TYPE\|_NET_WM_STATE"
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_FOCUSED
software sotre
xprop | grep -i "_NET_WM_WINDOW_TYPE\|_NET_WM_STATE"
_NET_WM_STATE(ATOM) = 
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL

stacer

xprop | grep -i "_NET_WM_WINDOW_TYPE\|_NET_WM_STATE"
_NET_WM_STATE(ATOM) = 
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL

fdm

xprop | grep -i "_NET_WM_WINDOW_TYPE\|_NET_WM_STATE"
_NET_WM_STATE(ATOM) = 
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
felixfung commented 8 months ago

Hmmm given these props, skippy-xd won't filter these windows away.

Do you see any props that suggests "invisibility"/"inactivity"?

ahmeteid7 commented 8 months ago

these are all the props

eid@eid-HP-Compaq-6005-Pro-SFF-PC:~$ xprop
_NET_WM_ICON_GEOMETRY(CARDINAL) = 313, 737, 31, 31
_NET_FRAME_EXTENTS(CARDINAL) = 1, 1, 26, 1
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0xabc6a900
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = 
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x6400013
_NET_WM_ICON_NAME(UTF8_STRING) = 
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = "Stacer"
_NET_WM_NAME(UTF8_STRING) = "Stacer"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x6400008
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        window id # of group leader: 0x6400008
WM_CLIENT_MACHINE(STRING) = "eid-HP-Compaq-6005-Pro-SFF-PC"
_NET_WM_PID(CARDINAL) = 2151
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 104857618
WM_CLASS(STRING) = "stacer", "stacer"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        user specified location: 87, 83
        user specified size: 850 by 570
        program specified minimum size: 710 by 533
        window gravity: Static
eid@eid-HP-Compaq-6005-Pro-SFF-PC:~$ xprop
_NET_WM_ICON_GEOMETRY(CARDINAL) = 375, 737, 31, 31
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0xabc6a900
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = 
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        bitmap id # to use for icon: 0x6a0002b
        bitmap id # of mask for icon: 0x6a00032
        window id # of group leader: 0x6a00001
_GTK_THEME_VARIANT(UTF8_STRING) = 
XdndAware(ATOM) = BITMAP
_NET_WM_ICON(CARDINAL) =    Icon (48 x 48):

                          ░░░░                      
                       ░░░░░░░░░░                   
                      ░░░░░░░░░░░░                  
                     ░░░░░░░░░░░░░░                 
                    ░░░░░      ░░░░░                
                   ░░░░░        ░░░░░               
                   ░░░░          ░░░░               
                   ░░░░          ░░░░               
                   ░░░░          ░░░░               
                   ░░░░          ░░░░               
                   ░░░░          ░░░░               
                   ░░░░          ░░░░               
         ░░░░░░░░░░░░░░     ░░░░░░░░░░░░░░░░░░░     
       ░░░░░░░░░░░░░░░░    ░░░░░░░░░░░░░░░░░░░░░░   
      ░░░░░░░░░░░░░░░░░    ░░░░░░░░░░░░░░░░░░░░░░░  
      ░░░░░░░░░░░░░░░░░     ░░░░░░░░░░░░░░░░░░░░░░  
     ░░░░          ░░░░          ░░░░          ░░░░ 
     ░░░░          ░░░░          ░░░░          ░░░░ 
     ░░░░          ░░░░          ░░░░          ░░░░ 
     ░░░░           ░░            ░░           ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                   ░░░░ 
     ░░░░                 ░░                    ░░  
     ░░░░                 ░░                        
     ░░░░             ░░  ░░  ░░                    
     ░░░░             ░░░ ░░ ░░░                    
     ░░░░             ░░░░░░░░░░                    
     ░░░░              ░░░░░░░░                 ░░  
     ░░░░               ░░░░░░                 ░░░░ 
     ░░░░                ░░░░                  ░░░░ 
     ░░░░                                      ░░░░ 
     ░░░░                                      ░░░░ 
     ░░░░░                                    ░░░░░ 
      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  
      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  
       ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   
         ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     

_GTK_WINDOW_OBJECT_PATH(UTF8_STRING) = "/org/gnome/Software/window/1"
_GTK_APPLICATION_OBJECT_PATH(UTF8_STRING) = "/org/gnome/Software"
_GTK_UNIQUE_BUS_NAME(UTF8_STRING) = ":1.83"
_GTK_APPLICATION_ID(UTF8_STRING) = "org.gnome.Software"
_NET_WM_OPAQUE_REGION(CARDINAL) = 26, 15, 1044, 3, 23, 18, 1050, 640
_GTK_FRAME_EXTENTS(CARDINAL) = 23, 23, 15, 31
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 111149065, 111149066
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x6a00008
WM_CLIENT_LEADER(WINDOW): window id # 0x6a00001
_NET_WM_PID(CARDINAL) = 2943
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "eid-HP-Compaq-6005-Pro-SFF-PC"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 570 by 404
        program specified base size: 0 by 0
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "org.gnome.Software", "Org.gnome.Software"
WM_ICON_NAME(STRING) = "Software"
_NET_WM_ICON_NAME(UTF8_STRING) = "Software"
WM_NAME(STRING) = "Software"
_NET_WM_NAME(UTF8_STRING) = "Software"
eid@eid-HP-Compaq-6005-Pro-SFF-PC:~$ xprop
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x7, 0x0, 0xc0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
XdndAware(ATOM) = BITMAP
_NET_WM_ICON_GEOMETRY(CARDINAL) = 406, 737, 31, 31
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0xabc6a900
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x1, 0x1, 0x0, 0x0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: False
        Initial state is Normal State.
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 26, 0
_NET_WM_ICON(CARDINAL) =    Icon (14 x 14):
        ▒▓▒░░     
      ░▓▓▓▒▒ ▒    
     ░▒░▒▒▒▓▒ ░   
     ▒ ░░▒▓▓▓  ░  
    ▒░ ░░▒▒▓▓░ ░░ 
    ▒░░▒▒▒▒▓▓▒ ▒▒ 
    ▓▒▒▒▒▒▓▓▓▒ ▒▒ 
    ▓▓▒▒▓▓▓▓▓░ ▒░ 
    ▒▓▒░▒▓▓▓░░░░  
     ▓▒▒▒▒▒▒ ▒▒   
     ░▓▓▒▒░░▒▒░ ░░
      ░▓▒▒░▒▓░  ░ 
       ░▒▒▒▒▒ ░░░ 
               ░  

    Icon (15 x 15):
         ░░        
       ░▓▓▓▒░░     
      ▒▒▒▒▒▒▒ ▒    
     ▒░░▒▒▒▓▓░░░   
    ░▒ ░░░▒▓▓▒  ▒  
    ▒░ ░░▒▒▓▓▓  ▒  
    ▒▒░▒▒▒▒▓▓▓░ ▒░ 
    ▓▒▒▒▒▒▓▓▓▓░ ▓░ 
    ▓▓▒▒▓▓▓▓▓▒░ ▒░ 
    ▒▓▒░▒▓▓▓▓ ░ ▒  
     ▓▒▒▒▒▒▓░░▓░░  
     ░▓▓▒▒▒░░▒▒░░░ 
      ░▓▓▒░░▒▓  ░░ 
       ░▒▒▒▓▓▒░░ ░ 
         ░░░    ░  

    Icon (16 x 16):
        ░▒▓▒ ░      
       ▒▓▓▓▒▒ ░░    
      ▒▒▒▒▒▒▓▒ ▒    
     ▒░ ░▒▒▓▓▓ ░░░  
    ░▒ ░░░▒▓▓▓░  ▒  
    ▒░ ░░▒▒▒▓▓▒ ░▒  
    ▒▒░▒▒▒▒▓▓▓▓ ░▓░ 
    ▓▒▓▒▒▒▒▓▓▓▓ ░▓░ 
    ▓▓▒▒▒▓▓▓▓▓░  ▒░ 
    ▒▓▒░░▒▓▓▓▒ ░ ▒  
     ▓▓▒░▒▒▓▓ ░▒ ░  
     ░▓▓▒▒▒▒░░▒▓░  ░
      ▒▓▓▒▒░░▒▒  ░░ 
       ░▒▒░▒▓▓▒░ ░░ 
        ░░▒▒▒░  ░░░ 
                 ░  

    Icon (17 x 17):
          ░░         
        ▒▓▓▓▒░░░     
       ▓▓▒▓▒▒▒ ▒░    
      ▓░░▒▒▒▒▓░ ▒    
     ▓░ ░░░▓▓▓▒ ░ ░  
    ░░ ░░░▒▒▓▓▓░  ▒  
    ▒░  ░▒▒▒▓▓▓░ ░▓  
    ▒▒▒▒▒▒▒▒▓▓▓▒ ░▓  
    ▓▒▓▒▒▒▒▓▓▓▓▒ ░▓░ 
    ▓▓▒▒▒▓▓▓▓▓▓░ ░▓  
    ▒▓▒░░▒▓▓▓▓░ ░ ▒  
     ▓▓▒░▒▒▓▓▒ ░▒ ░  
     ▒▓▓▒▒▒▒▒ ░▓▒    
      ▒▓▓▒▒▒░░▒░░ ░░ 
       ▒▓▒▒░▒▓▓▒  ░░ 
        ░▒▒▓▓▓▒  ░░░ 
           ░     ░░  

    Icon (18 x 18):
         ░▒▓▒         
       ░▓▓▓▓▒▒ ░░     
      ░▒▒▒▒▒▒▓▒ ▒░    
     ░▓░░▒▒▒▒▓▓░░░    
     ▓░ ░▒░▒▓▓▓▒ ░░░  
    ░░ ░░░▒▒▓▓▓▓ ░ ▒  
    ▒░  ░▒▒▒▓▓▓▓░ ░▓  
    ▒▒▒▒▒▒▒▒▓▓▓▓░ ▒▓  
    ▓▒▓▒▒▒▒▓▓▓▓▓░ ▒▓  
    ▓▓▒▒▒▓▓▓▓▓▓▒░ ░▓  
    ▒▓▓░░▒▓▓▓▓▓░░ ░▒  
     ▓▓▒░░▒▓▓▓░ ▒░ ░  
     ▒▓▓▒▒▒▒▒▒ ░▓▒    
      ▒▓▓▒▒▒░░░▒▒░ ░░░
       ▒▓▓▒░░▒▓▓░  ░░ 
        ▒▒▒▒▒▓▓▒░░ ░░ 
         ░░▒▒▒░   ░░  

    Icon (19 x 19):
          ░░░          
        ░▓▓▓▓▒ ░░      
       ▒▓▓▓▓▒▒▒ ░▒     
      ▒▒▒▒▒▒▒▒▓░ ▒░    
     ▒▒░ ▒▒▒▓▓▓▒ ░░░   
     ▓░ ░░░▒▓▓▓▓░  ░░  
    ▒░ ░░ ▒▒▒▓▓▓▒ ░░▒  
    ▒░░ ░▒▒▒▒▓▓▓▒ ░▒▓  
    ▒▒▒▒▒▒▒▒▒▓▓▓▓░ ▒▓  
    ▓▒▓▒▒▒▒▒▓▓▓▓▓░ ▒▓  
    ▓▓▒▒▒▓▒▓▓▓▓▓░░ ▒▓  
    ▒▓▓░░▒▓▓▓▓▓▒ ░ ░▒  
    ░▓▓▒░░▒▓▓▓▒  ▒ ░░  
     ▒▓▒▒▒▒▒▒▒░ ▒▓░░   
      ▓▓▓▒▒▒▒░░░▒▒░ ░░ 
       ▓▓▓▒▒░░▒▓░  ░░░ 
        ▒▒▒░░▒▓▓▒░  ░░ 
         ░▒▒▓▓▒░  ░░░  
                   ░░  

    Icon (20 x 20):
          ░▒▒▒          
         ▒▓▓▓▓▓░░▒      
       ░▓▓▓▓▒▒▒▒ ░▒     
      ░▒░▒▒▒▒▒▒▓░ ▒░    
      ▓░ ░▒▒▒▓▓▓▓ ░░░   
     ▒░ ░░░░▒▓▓▓▓░ ░ ░  
     ▒░ ░░░▒▒▒▓▓▓▒ ░░▓  
    ░▒░  ░▒▒▒▒▓▓▓▓ ░░▓  
    ▒▒▒▒▒▒▒▒▒▓▓▓▓▓░ ▒▓░ 
    ▒▒▒▒▒▒▒▒▓▓▓▓▓▓░ ▒▓░ 
    ▒▓▓▓▒▒▒▒▓▓▓▓▓░░ ░▓  
    ░▓▓▒░▒▒▓▓▓▓▓▒ ░ ░▓  
     ▓▓▒░░░▒▓▓▓▓░ ░░░▒  
     ░▓▓▒▒▒▒▒▒▓░ ░▓░    
      ▒▓▓▒▒▒▒▒░ ░▓▓░   ░
       ▓▓▓▒▒▒░░░▒░░  ░░░
        ▒▓▓▒░░░▓▓▒   ░░ 
         ▒▒▒▒▒▓▓▓░ ░ ░░ 
          ░░▒▒▒░░   ░░  
                     ░  

    Icon (64 x 64):
                           ░░▒▒▒▒░                                  
                        ▒▓▓▓▓▓▓▓▓▓▓░   ░░                           
                     ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓░    ░░▒░                       
                   ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒     ░▒▒░                     
                  ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░▒▓▒                    
                ░▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▒▒▓▓▓░    ░░▒▓▓░                  
               ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓░    ░░▒▓▓░                 
              ▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▒▓▒▒▒▒▒▒▒▓▓▒    ░░░▒▓▓░                
             ▓▓▒▒▒▓▓▓▓▒▒▒▓▓▒▓▓▓▓▒░░▒▒▒▓▓▓░    ░░▒▓▓▒░               
            ▓▓▒▒░░▒▒▒▓▒░▓▒▓▒▒▒▓▓▓░░▒▒▓▓▓▓▓░    ░░▒▓▓░░              
           ▓▓▓▒░░░░▒▒▒▒▓▒▒▒▓▒░▒▓▒▒▒▒▒▓▓▒▓▓▒    ░░░▒▓░ ░             
          ▒▓▓▓▒░░░░▒░░░░░▒▒▒░▒▒▓▒░▒▒▓▓▓▓▓▓▓░    ░░▒▓░               
         ▒▓▓▓▓░░░░░ ░░░░▒▒▓▒▒▓▒▒▓▒▒▓▓▓▓▓▓▓▓▒    ░░░▓░   ░           
        ░▓▓▓▓░░░░    ░▒▒▒▒▒▒▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓     ░░▒░   ░           
        ▓▓▓▓▒░░░    ░▒▒▒▒░░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░░    ▒          
       ▒▓▓▓▒░░       ▒▓▒░ ░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓     ░░░    ▒░         
       ▓▓▓▒░░░       ▒▓▒░   ░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓░    ░░░    ▒▓         
      ░▓▓▒░░░    ░░  ░▒░   ░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░    ▒▓░        
      ▓▓▒░░░░    ▒▒░    ░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓     ░░░   ▒▓▒        
     ░▓▓░░░░     ▒▒▒░   ░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓░    ░░░   ▒▓▓        
     ▒▓▒░░░░    ░░▒▒░   ░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░   ▒▓▓░       
     ▓▓▒░░░       ░   ░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓     ░░░  ▒▓▓▒       
     ▓▓▒░░░         ░▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓░    ░░░  ▒▓▓▓       
    ░▓▓▒░░░        ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░ ░▓▓▓▓       
    ▒▓▓▒░░░░     ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓    ░░░░░▓▓▓▓░      
    ▒▓▓▒░▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓     ░░░░▓▓▓▓▒      
    ▓▓▓▒░▒▓▓▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒░    ░░░▒▓▓▓▓▒      
    ▓▓▓▒▒▓▓▓▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░▓▓▓▓▓▒      
    ▓▓▓▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒    ░░░▓▓▓▓▓▒      
    ▓▓▓▒▒▓▒▒▓▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░    ░░░▓▓▓▓▓▒      
    ▓▓▓▓▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░   ░░░▒▓▓▓▓▒      
    ▓▓▓▓▓▒▒▓▓▓▓▒▓░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ░░    ░░▒▓▓▓▓▒      
    ▒▓▓▓▓▓▒▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░░    ░░░▓▓▓▓▒      
    ▒▓▓▓▓▓▓▒▒▓▓▓▓▓▓▒▒▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░▒    ░░░▓▓▓▓░      
    ▒▓▓▓▓▓▓▓▒▒▓▓▒▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░▒    ░░░▓▓▓▓░      
    ░▓▓▓▓▓▓▓▓▒▒▒░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ░  ▒░   ░░░▒▓▓▓       
     ▓▓▓▓▓▓▓▓▓▒░░░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓     ▒░    ░░▒▓▓▓       
     ▒▓▓▓▓▓▓▓▓▒░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░     ▒▒    ░░▒▓▓▒       
     ▒▓▓▓▓▓▓▓▓▒░░░░░░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒      ░▒    ░░░▓▓░       
      ▓▓▓▓▓▓▓▒░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒      ░░▒    ░░░▒▓        
      ▒▓▓▓▓▓▓▒▒▒░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░   ░░▒▓░   ░░░▒▒        
       ▓▓▓▓▓▓▒▒▒▒▒░░░░░░▒▒▒▓▒▒▒▓▓▓▓▓▓▓▓▓░ ░   ░░░▓▓░   ░░░▒         
       ▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒ ░   ░░░▒▓▓▒   ░░░░         
        ▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒ ░   ░░░░▓▓▓▒   ░░░░         
        ▒▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒ ░░  ░░░░▓▓▓▓▓   ░░░░         
         ▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒ ░░░░░░░░▓▓▓▓▓▓░   ░░░       ░ 
         ░▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒░░░░░░░░░▒▓▓▓▓▓▓░   ░░░░░░░░░░░░
          ░▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒░░░░░░░░░▒▓▓▓▓▓▓▓░   ░░░░░░░░░░░ 
           ▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▒░░░░░░░░░▒▓▓▒▒░░░░    ░░░░░░░░░░░ 
            ▒▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▓░░░░░░░░░░▒▒░           ░░░░░░░░░░  
             ▒▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▒░░░░░░░░░░▒▓▓▒           ░░░░░░░░░░  
              ░▓▓▓▓▓▓▓▓▓▒▒▒▓▓▒░░░░░░░░░░▒▓▓▓▓▓░          ░░░░░░░░   
                ▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░▒▓▓▓▓▓▓▓▓▒        ░░░░░░░░░   
                 ▒▓▓▓▓▓▓▓▒░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓░       ░░░░░░░░    
                  ░▒▒▒▒▒░░▒▒▒░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓░ ░░     ░░░░░░░░    
                 ░░░▒▒▒▒▒▒▒▒▒▒▒░░▒▒▓▓▓▓▓▓▓▓▓▓▒░░   ░    ░░░░░░░     
                  ░░░▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒░░░    ░  ░░░░░░░░     
                   ░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒░░░      ░░ ░░░░░░      
                     ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░         ░░░░░░░░      
                       ░░░░░░░░░░▒░░░░░░░░           ░░░░░░░░░      
                              ░░░░░░                  ░░▒▒░░░       
                                                        ░░▒▒░       

    Icon (128 x 128):

                                                          ░░░                                                                       
                                                  ░░▒▒▓▓▓▓▓▓▓▓▓░                                                                    
                                              ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░       ░░░░                                                       
                                           ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░        ░░░░                                                    
                                        ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░▒░                                                 
                                      ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░         ░░░░▓▒░                                              
                                    ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░▓▓▒░                                            
                                  ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░▒▓▓▒░                                          
                                ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░▒▓▓▓▒                                         
                               ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓░        ░░░░░▒▓▓▓▓░                                       
                             ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓░        ░░░░░▓▓▓▓▓▒                                      
                            ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒░        ░░░░░▓▓▓▓▓▓░                                    
                          ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒         ░░░░░▓▓▓▓▓▓░                                   
                         ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒        ░░░░░▒▓▓▓▓▓▓░                                  
                        ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓░        ░░░░░▒▓▒▓▓▓▒░                                 
                       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░▒▓▓▒▓▓▓▓▒▒▓▓▓▓▒░▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒         ░░░░░▒▒▓▓▓▓▒░                                
                      ▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▒▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓░        ░░░░░▒▓▒▓▓▓▒░░                               
                     ▓▓▓▓▓▒▒▒░▒▓▒▓▓▓▓▓▓▓▒░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓░        ░░░░░▒▓▒▓▓▓░░░                              
                    ▓▓▓▓▒▒▒▒░░▒▒▒▓▓▓▓▓▒▓▒░░░▒▓▒▒▓▒░▒▒▒▓▓▓▓▓▓▓▒░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒        ░░░░░░▒▒▓▓▓▒ ░░                             
                   ▓▓▓▓▒▒▒▒▒░░░░░▒▒░▒▓▒▒░░░▒▓▓▒▒▓▓▒▒▒░▒▓▓▓▓▓▓▓▒░░▒▒▒▒▒▓▓▓▓▒▒▒▓▓▓░        ░░░░░▒▒▒▓▓▒░░░░                            
                  ▒▓▓▓▒▒▒▒░░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▒░░▒▓▓▓▓▓▒░░▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▒        ░░░░░░▒▒▓▓▓░ ░░░                           
                 ▒▓▓▓▓▓▓▒░░░░░░░░░▒▒▒░▒▒▒▓▓▓▓▒░▒▒░▒▓▒░░░▒▓▓▓▓▒░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▒▓▓▓░ ░░ ░                          
                ░▓▓▓▓▓▓▓▒░░░░░░░░▒▒▒░░░░░░░▒░░▒▒░▒▓▒░░░░▒▓▓▓▓▒░▒▒░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒        ░░░░░░▒▓▓▓▒ ░   ░                         
               ░▓▓▓▓▓▓▓▓▒░░░░░░░░▒░░░░░░░░░░░▒▒▓▒▒▒▒░▒▒▒▒▓▓▓▓▒░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▒▓▓▒     ░░                        
               ▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░▒▓▒▒▒▒▓▓▓▒░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒        ░░░░░░▒▓▓▒       ░                       
              ▒▓▓▓▓▓▓▓▓▒░░░░░░░░░░░ ░░░░░░░▒▒▒▒▒▒▓▓▓▒▓▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░         ░░░░░▒▓▒       ░░                      
             ░▓▓▓▓▓▓▓▓▒░░░░░░░  ░   ░░░░░▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░▒▓▒        ░                      
             ▓▓▓▓▓▓▓▓▒░░░░░░░░        ░▒▒▒▒▒▒▒▒▓▒▒▓▒▒▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▓▒        ░▒                     
            ▒▓▓▓▓▓▓▓▒░░░░░░          ░▒▓▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░▒▒        ░▓░                    
           ░▓▓▓▓▓▓▓▒░░░░░░░          ░▓▓▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▒         ▒▓                    
           ▓▓▓▓▓▓▓▒░░░░░░ ░           ▒▓▒▒▒▒▒░░░░ ░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░         ░▓░                   
          ░▓▓▓▓▓▓▓▒░░░░░░             ▒▓▓▒▒▒░░░░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓         ░░░░░░         ░▓▓                   
          ▓▓▓▓▓▓▓▒░░░░░░              ░▓▓▒▒▒░░ ░░░░░░░░▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░         ░▓▓░                  
         ░▓▓▓▓▓▓▒▒░░░░░░              ░▓▓▓▒░        ░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░        ░▓▓▓                  
         ▓▓▓▓▓▓▒░░░░░░░               ░▒▓▓▒░       ░░░░▒▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓         ░░░░░░        ░▓▓▓░                 
        ░▓▓▓▓▓▒▒░░░░░░         ░░░     ░░░░    ░   ░░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░         ░░░░░░        ▓▓▓▒                 
        ▓▓▓▓▓▒░░░░░░░         ▒▒▒▒░            ░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░        ▓▓▓▓                 
        ▓▓▓▓▒░░░░░░░░        ░▒▒▒▒▒░         ░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓          ░░░░░        ▓▓▓▓▒                
       ▒▓▓▓▒░░░░░░░░          ░▒▒▒▒░        ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░         ░░░░░░       ▓▓▓▓▓                
       ▓▓▓▓▒▒░░░░░░░          ▒▒░▒▒▒░        ░░ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░      ░▓▓▓▓▓░               
      ░▓▓▓▓▒▒░░░░░░          ▒▒░░▒▒▒░       ░ ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓         ░░░░░░      ░▓▓▓▓▓▒               
      ▒▓▓▓▓▒░░░░░░░         ░▒▒ ▒▒▒░        ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░         ░░░░░░     ░▓▓▓▓▓▓               
      ▓▓▓▓▒░░░░░░░░          ░ ░▒▒      ░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░     ░▓▓▓▓▓▓░              
      ▓▓▓▓▒▒░░░░░░░                    ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓         ░░░░░░     ░▓▓▓▓▓▓▒              
     ░▓▓▓▓▒▒░░░░░░░                  ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░     ▒▓▓▓▓▓▓▓              
     ▒▓▓▓▒▒░░░░░░░                  ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒        ░░░░░░░    ▒▓▓▓▓▓▓▓              
     ▓▓▓▓▒▒░░░░░░░                 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒         ░░░░░░   ░▒▓▓▓▓▓▓▓░             
     ▓▓▓▓▒▒░░░░░░░░               ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░   ░▓▓▓▓▓▓▓▓░             
    ░▓▓▓▒▓▒░░░░░░░              ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░░  ░▓▓▓▓▓▓▓▓▒             
    ░▓▓▓▒▓▒░░░░░░░░ ░          ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒        ░░░░░░░  ░▓▓▓▓▓▓▓▓▓             
    ▒▓▓▓▓▓▒░░░░▒▒▒▒░░░░      ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒        ░░░░░░░ ░▒▓▓▓▓▓▓▓▓▓             
    ▒▓▓▓▓▓▒▒░░▒▓▓▓▓▓▒▒▒░░░ ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░        ░░░░░░░░▓▓▓▓▓▓▓▓▓▓             
    ▓▓▓▓▓▓░▒░░▒▓▓▓▓▓▓▒▒▒▒░░▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓░        ░░░░░░░░▓▓▓▓▓▓▓▓▓▓             
    ▓▓▓▓▓▓░▒▒░▒▓▓▓▓▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▒        ░░░░░░░░▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▒░▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒        ░░░░░░░▒▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▒▒░▒▓▓▓▓▓▓▓▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░       ░░░░░░░▓▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▓▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░        ░░░░░░▓▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░        ░░░░░░▓▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▒▒▒▒▓▓▓▒▒▓▓▓▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░▒        ░░░░░░▒▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▓▒▒░▒▓▒░▒▓▓▓▓▒▒░░▒▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▒░        ░░░░░▒▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▓▓▒░░░░▒▓▓▓▓▓▓▓▒░░▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒ ░▒░        ░░░░░░▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▓▓▓▒░░░▒▓▓▓▓▓▓▓▓▓▒▒▓▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  ░▒░        ░░░░░░▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▓▓▓▓▒▒░▒▓▓▓▓▓▓▓▓▒▓▓▓▒░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░▒▒        ░░░░░░▓▓▓▓▓▓▓▓▓▓░            
    ▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   ░▒▒        ░░░░░░▒▓▓▓▒▓▓▓▓▓             
    ▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░   ░▒▒░        ░░░░░▒▓▓▓▓▓▓▓▓▓             
    ▒▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░  ░▒░        ░░░░░▒▓▓▓▓▓▓▓▓▓             
    ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░     ░▒░        ░░░░░░▓▓▓▓▓▓▓▓▒             
    ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░   ░▒▒        ░░░░░░▓▓▓▓▓▓▓▓▒             
     ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▓▓▓▒▒▓▒▒▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░░   ░▒▒        ░░░░░░▒▓▓▓▓▓▓▓░             
     ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒░░▒▒▓▒▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░    ░▒▒░       ░░░░░░▒▓▓▓▓▓▓▓              
     ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░     ░▒▒░        ░░░░░▒▓▓▓▓▓▓▓              
     ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░▒░░░░░░░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░     ░░▒░        ░░░░░░▓▓▓▒▓▓▒              
      ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░      ░░▒▒        ░░░░░░▓▓▓▓▓▓░              
      ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░       ░░▒▒        ░░░░░░▒▓▓▓▓▓               
      ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░       ░░▒▒░       ░░░░░░▒▓▓▓▓▓               
       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░        ░░▒▒░       ░░░░░░▒▓▓▓▓▒               
       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░         ░░▒▒░       ░░░░░░░▓▓▓▓                
       ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ ░░        ░░░▒▒▒       ░░░░░░░▓▓▓▓                
        ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░▒░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░        ░░░░▒▓▒       ░░░░░░░▒▓▓▒                
        ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░        ░░░░░▒▓▓░      ░░░░░░░▒▓▓                 
        ░▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒  ░        ░░░░░░▓▓▓░       ░░░░░░▒▓▒                 
         ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░▒░░░░░░░░░░░░░░░░▒▒▒▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░        ░░░░░▒▓▓▓▒       ░░░░░░░▓                  
         ░▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒░▒▒░░░░░░▒▒░▒▒▒▒▒▒▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░        ░░░░░░▓▓▓▓▒       ░░░░░░░▒                  
          ▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░  ░       ░░░░░░░▒▓▓▓▓▒       ░░░░░░░                   
          ░▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒  ░░      ░░░░░░░▒▓▓▓▓▓▓░      ░░░░░░░                   
           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒  ░░      ░░░░░░░░▓▓▓▓▓▓▓░      ░░░░░░░                   
           ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒  ░░░     ░░░░░░░░▓▓▓▓▓▓▓▓▒      ░░░░░░░░                  
            ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░ ░░░░   ░░░░░░░░░▒▓▓▓▓▓▓▓▓▒       ░░░░░░░                  
             ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓░ ░░░░░░ ░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▒       ░░░░░░░                  
             ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓░ ░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▒░      ░░░░░░░                  
              ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓░ ░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓░      ░░░░░░░           ░░░░░░░
               ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓░ ░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓░      ░░░░░░░░    ░░░░░░░░░░░░░
               ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓░ ░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒      ░░░░░░░░░░░░░░░░░░░░░░░░ 
                ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒░ ░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒       ░░░░░░░░░░░░░░░░░░░░░░░ 
                 ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░ ░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░      ░░░░░░░░░░░░░░░░░░░░░░  
                  ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░ ░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▒▒▒▒░░░░░        ░░░░░░░░░░░░░░░░░░░░░  
                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░░░░░░░░░░░░░░░░░░░▒▓▓▓▒▒▒▒░░░░░             ░░░░░░░░░░░░░░░░░░░░░   
                    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓░ ░░░░░░░░░░░░░░░░░░▒▒░░░░░░                    ░░░░░░░░░░░░░░░░░░░░   
                     ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░░░░░░░░░░░░░░░░░░░░▒▓▓▒                        ░░░░░░░░░░░░░░░░░░░░    
                      ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▒░                      ░░░░░░░░░░░░░░░░░░░░    
                       ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓░                      ░░░░░░░░░░░░░░░░░░     
                        ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▒░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓░░                    ░░░░░░░░░░░░░░░░░      
                         ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▒▒▒▒▒▓▓▓▒░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▒░                   ░░░░░░░░░░░░░░░░░      
                          ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░                  ░░░░░░░░░░░░░░░░       
                            ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░                ░░░░░░░░░░░░░░░░░       
                             ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░              ░░░░░░░░░░░░░░░░        
                              ░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░▒▒░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░             ░░░░░░░░░░░░░░░░        
                               ░░▒▓▓▓▓▓▓▓▒▒▒░░░░▒▒▒▒▒░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░  ░░░          ░░░░░░░░░░░░░░░░         
                              ░░░░░░▒▒░░░░░░▒▒▒▒▒▒▒▒▒░▒▒░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░  ░░░         ░░░░░░░░░░░░░░░░         
                              ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░    ░░        ░░░░░░░░░░░░░░░          
                               ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░░     ░░░      ░░░░░░░░░░░░░░░          
                               ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒░░░░░       ░░░    ░░░░░░░░░░░░░░░           
                                ░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒░░░░░░         ░░    ░░░░░░░░░░░░░░           
                                 ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒░░░░░░            ░░   ░░░░░░░░░░░░░            
                                  ░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒░░░░░░              ░░░ ░░░░░░░░░░░░░            
                                    ░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░                 ░░░ ░░░░░░░░░░░░            
                                      ░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░                    ░░░░░░░░░░░░░░             
                                         ░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░                      ░ ░▒░░░░░░░░░░░             
                                             ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░                      ░░░░░░░▒▒░░░░░░░▒░             
                                                  ░░░░░░░░░░░░░░░░░░░░░░░                             ░░░░░░░▒▒░░░░░░░░             
                                                                                                        ░░░░░░▒▒░░░░▒░              
                                                                                                          ░░░░░▒▒▒░▒░               
                                                                                                              ░░░░▒░                

_NET_WM_PID(CARDINAL) = 2
WM_CLIENT_MACHINE(STRING) = "eid-HP-Compaq-6005-Pro-SFF-PC"
WM_PROTOCOLS(ATOM): protocols  WM_TAKE_FOCUS, WM_DELETE_WINDOW
WM_CLASS(STRING) = "org-jdownloader-update-launcher-JDLauncher", "org-jdownloader-update-launcher-JDLauncher"
WM_CLIENT_LEADER(WINDOW): window id # 0x6c00008
_NET_WM_ICON_NAME(UTF8_STRING) = "JDownloader 2"
WM_ICON_NAME(STRING) = "JDownloader 2"
_NET_WM_NAME(UTF8_STRING) = "JDownloader 2"
WM_NAME(STRING) = "JDownloader 2"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        user specified location: 0, 0
        program specified location: 0, 0
        program specified size: 398 by 686
        program specified minimum size: 398 by 73
        window gravity: NorthWest
felixfung commented 8 months ago

Hmm what if you try a different WM/environment/panel?

ahmeteid7 commented 8 months ago

i tried that tool ,but i can't get these props xwininfo

xwininfo: Please select the window about which you would like information by clicking the mouse in that window.

xwininfo: Window id: 0x6000007 "Software"

Absolute upper-left X: -49 Absolute upper-left Y: 13 Relative upper-left X: 0 Relative upper-left Y: 0 Width: 1096 Height: 689 Depth: 32 Visual: 0x68e Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x6000006 (not installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +-49+13 --23+13 --23-66 +-49-66 -geometry 1096x689--23+13

stacer app

xwininfo

xwininfo: Please select the window about which you would like information by clicking the mouse in that window.

xwininfo: Window id: 0x6400011 "Stacer"

Absolute upper-left X: 87 Absolute upper-left Y: 114 Relative upper-left X: 1 Relative upper-left Y: 26 Width: 850 Height: 570 Depth: 24 Visual: 0x4ec Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x6400010 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +87+114 -87+114 -87-84 +87-84 -geometry 850x570+87-84

jdownloader xwininfo

xwininfo: Please select the window about which you would like information by clicking the mouse in that window.

xwininfo: Window id: 0x6c00026 "JDownloader 2"

Absolute upper-left X: 0 Absolute upper-left Y: 26 Relative upper-left X: 0 Relative upper-left Y: 26 Width: 1024 Height: 710 Depth: 24 Visual: 0x21 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +0+26 -0+26 -0-32 +0-32 -geometry 1024x710+0+0

felixfung commented 8 months ago

I see these entries in the windows:

 Map State: IsViewable

This is why skippy-xd is displaying them.

What other environments have you been trying on?

ahmeteid7 commented 8 months ago

i only know the two tools, xprop and xwininfo

felixfung commented 8 months ago

I mean would it be possible for you to try a different panel or window manager/desktop environment?

felixfung commented 7 months ago

@ahmeteid7 do you have any updates?

ahmeteid7 commented 7 months ago

i'm using xfce , i tried to test other desktop like lxqt ,flubox , but i get crash with my system, so i can't test them with other desktops

felixfung commented 7 months ago

It looks like to me there is something wrong with your system, including window management/panel. When you fix that, please check if skippy-xd still has the current behaviour; my prediction is it would not. Please file a new bug if it does.

Meanwhile, this current PR fixes the original problem. Closing #57

ahmeteid7 commented 7 months ago

you mean you have tested these apps: stacer,gnome-store,fdm,Jdownloader on xfce, and you don't face that problem?

felixfung commented 7 months ago

You turn out to be correct :)

I tried jdownloader in xfce and I can reproduce the bug.

I will open a new issue on this.