kerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokerokeroke