X           X      X   X XX      X      X      X      X      X      X      X      X      X     XX  XXXXX XXX  X   XX X      X   XXXX   XXXX XXXXXX   XXXX   XX X   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX    XXX   XXXX   XXX
X   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX
X           X      X   X XX      X      X      X      X      X      X      X      X      X     XX  XXXXX XXX  X   XX X      X   XXXX   XXXX XXXXXX   XXXX   XX X   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX    XXX   XXXX   XXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX