sanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssansgastersanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssanssans.
The Undertale community be like (Yes gaster is in here he's just hidden).
Next up
After 7 long years, the wait is finally over. Chapters 1-4 of DELTARUNE are out now!
Celebrate the parallel story to Undertale by completing these quests.
We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!
#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday
An infected room from the second part of Cybel ! Are you up for some cleansing?
Alone Together....
Cash Banooca
Who's is this little cutey👸 here? Thanks🙏 for a gorgeous fanart @WheNa! Feel free to share your arts, screenshots, or videos with #playzelter or #zelter hashtags! #pixelart #animating #unity3d #animated #indiegames #unrealengine #animate #conceptart
Coming Soon...
We're knee deep in multiple large features and "game feel". Quick peek behind the scenes in this weeks Dev Blog: https://bit.ly/2QmmaQM
0 comments