sanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssansgastersanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssans.
The Undertale community be like (Yes gaster is in here he's just hidden).
Next up
Made a new thumbnail for @AULordII
's and @Short_Monqey
's 'Love Struck in the rain' about a week ago
-
Please follow the gamepage and the team, they're hype asf!!
https://gamejolt.com/games/love-struck-in-the-rain/556663
Don't think I ever posted the full/isolated version of the intro panels for Twisted Will (my Undertale AU) by themself so here they are
Dusttale AU challenge, but SP! Dusttale
So here's the first of the zodiac signs i will make for the next weeks.
I-Buki
Mio-Da!
Ibuki Mioda!
I worked so hard to get all four of them to the end safely, but then...
Made my first ever animation.
Only true badasses may pass! #conceptart #art #gamedesign
Path of Kami, running around the shrine area












2 comments