الأفضل
5 أفضل ألعاب مثل Venba
Venba التي تأتي إلى Xbox Game Passmanaged managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed managed











