*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
*********---*********---*********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********
**********---*********---*********---*********