User:Itzajokee/sandbox

secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks vsecks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks secks