¡Ú¥Û¥ë¥â¥ó@€ª€µ€ä€ó¡Û ¡ÊGORRY¡Ë
¡Úº£Æü€Ï€³€Îžå±¿ÅŸ€·€Æµ¢€é€Ê€€€È€€€±€Ê€€€Î€Ç¥Î¥ó¥¢¥ë¡Ä¡÷ŒÂ²È¡Û ¡ÊGORRY¡Ë
¡Ú¿·ÅìÌŸ¡¢ÁêÌÏÀîÅÏ€ë€È€³€Þ€Ç¹©»ö¿Ê€ó€À€ó€À€Ê¡Û ¡ÊGORRY¡Ë
¡ÚÃëÈÓ¡Û ¡ÊGORRY¡Ë
¡Ú¥é¡Œ¥á¥ó¥Á¥ã¡Œ¥Ï¥ó¡÷ëµ¡Û ¡ÊGORRY¡Ë
¡ÚPoD: Potion of Death¡Û ¡ÊGORRY¡Ë
¡ÚPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoD = Potion of Death¡Û ¡ÊGORRY¡Ë
¡Ú€«€ó€Ñ€Á»É¡Û ¡ÊGORRY¡Ë
¡Ú»ÞÆŠ¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€¢€³€Š€À€€¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë