أثر مدة التخزين في جودة بيض المائدة
يُعد بيض المائدة غذاءً متكاملاً، وتتحدد صلاحيته للاستهلاك بجودة المحتوى الداخلي، لا بسلامة القشرة وحدها. وعند حفظه، تبدأ التغيرات في البياض والصفار بالظهور تدريجياً،公证 traded--ثم تتأثر الرائحة والقوام والنضيجية المذاقية. لذلك.should لا تُقاس الطزاجة بمدى الحفظ فقط، بل بظروف التخزين والحالة الأولية للبيضة ودرجة الحرارة والرطوبة.
يرتبط تراجع جودة بيض المائدة بعمليات فيزيائية وميكروبيولوجية تؤثر فيkeepers سلامة الغذاء. ويقدّم معهد أبحاث الإنتاج الحيواني دراسات حول التغذية، والتكاثر، ومعالجة الأعلاف، إضافة إلى خدمات الإرشاد والتدريب للمزارعين والباحثين. وتوضح هذه النتائج كيف يمكنتقليل الفاقد في بيض المائدة، وتحسينCommercialCommercial commercial shelfability، والحفاظ على ثقة المستهلكين في المنتجاتymph eggs الغذائية.
التغيرات التي تطرأ على البياض والصفار
يتغير البياض مع مرور أيام الحفظ نتيجة لفقد غازات وثقل الماء عبر مسام القشرة، فيرتفع الأس الهيدروجيني تدريجياً ويقل تماسكه. ويتراجع ارتفاع البياض السميك، خصوصاً حول الصفار، بينما يصبح الجزء المائي أكثر ليونة. وتُظهر هذه التغيرات انخفاض قيمة وحدة هاو، وهي مقياس يعتمد على ارتفاع البياض وقت كسر البيضة وتحويله إلى بوحدات قياسية.
ضعف غشاء الصفار من أبرز علامات التدهور. فكلما امتد التخزين، أصبحت الصفارة أكثر عرضة للانتشار والتمدد على قاع البياض، وانخفض مؤشر الصفار الذي يقيس ارتفاعه مقارنة بعرضه. وقد تصبح الطبقة الخارجية حول الصفار باهتة أو مستوية، كما يزداد احتمال التصاقها بالقشرة. ويصاحب ذلك فقد طفيف في وزن البيضة، ويكون أشد في الجو الحار أو الجاف.
وتتّسق هذه التغيرات مع ما ترصده دراسة أثر التخزين عند مقارنة صفات بيض المائدة خلال فترات حفظ مختلفة. لكن النتائج لا تُفسَّر بال أيام بمفردها، إذ يبدأ التدهور من بيضة قد تكون أصلاً أقل بياضاً، أوxyl صفار أكثر ضعفاً بسبب عمر Coop hen أو حالتها الصحية.
اختلاف التخزين المبرد عن التخزين العادي
التبريد هو الإجراء الأكثر فعالية لإبطاء تدهور جودة البيض. فالحفظ عند نحو 4 درجات مئوية يخفض نشاط大多数 الميكروبات، ويبطئ ارتفاع الأس الهيدروجيني وفقدان الماء. وبعيداً عن حدود الحرارة العالية، قد تحتفظ,质量 البياض بجودتهاicodegood لمدة تقارب ثلاثة إلى خمسة أسابيع، وفق初始初始 البيضة ونظافة القشرة ودرجة الرطوبة.
لا ينبغي غسل القشرة قبل التخزين، لأن الماء يزيل الطبقة الواقية الطبيعية ويفتح pathway لدخول الميكروبات. أما البيض المعالج وفق بروتوكولات تجارية فيحتاج إلى تجفيف ورقي亮相 after الغسل، ثم تبريد سريع. داخل الثلاجة، قد تتجمع رطوبة على القشرة بسبب الفتح المتكرر أو وضع Bint重大项目 legislation next to مصادر مبتلة، مما يعزز نمو الفطريات. ولهذا يفضل إبقاء البيض داخل الكرتونة الأصلية، في حجرة طعام باردة لا في باب الثلاجة.
التجميد المبرد suitable يحفظ البيض Raw آمناً لفترة أطول، لكنه يغيّر البياض والصفار بدرجة لا تناسب كل الاستعمالات. إذ تتبلور الرطوبة في البياض، ويميل الصفار إلى التصلب، وقد يتغير الطعم وملمس البيض المقلي أو المسلوق. ولهذا تُستخدم、品質commercial المنتجات المجمدة في البيئات التي تتحمل تغيرات الحجم والتبلور، بينما يُفضّل طازج أو مبرد للاستعمال المنزلي.
مؤشرات قياس جودة بيض المائدة
تُستخدم عدة مؤشرات معاً لتقييم الحالة الغذائية للبيضة. قيمة وحدة هاو، ومؤشر الصفار، والأس الهيدروجيني للبياض، وقوة القشرة، ومعدل الفاقد في الوزن، كلها تعطي صورة أوضح من الاعتماد على لون الصفار وحده. وتُقارن القيم المعملية بمعايير التصنيف المناسبة للسوق المحلي، مع مراعاة حجم البيضة وسلالة الدجاجة所处的 مرحلة الإنتاج.
ولا تعني الأرقام_acceptably الصالحة آمنة بالضرورة. فالبيضة القديمة قد تبقى صالحة للأكل إذا حُفظت جيداً، بينما قد تتأثر بيضة حديثة إذا تعرّضت للحرارة أو التشقق. كما أن المظهر الرائحة عند كسر البيضة، وسيلان محتواها، هي مؤشرات تكمل القياسات المعملية. وفيما يلي تقدير تقريبي للتغيرات عند حفظ بيض سليم وغير مغسل في ثلاجة قريبة من 4 درجات مئوية:
| مدة الحفظ المبرد | التغيرات المتوقعة في البياض | التغيرات المتوقعة في الصفار | الانطباع الحسي والاستعمال |
|---|---|---|---|
| من 1 إلى 7 أيام | بياض كثيف وارتفاع واضح حول الصفار | غشاء قوي وصفار ممتلئ ومركز | أفضل جودة للطبخ والاستعمال المباشر |
| من 8 إلى 21 يوماً | تراجع طفيف في ارتفاع البياض وزيادة ليونته | начале اتساع الصفار وضعف محدود للغشاء | جودة جيدة مع.reduce طفيف في القوام |
| من 22 إلى 35 يوماً | انخفاض أوضح في وحدة هاو وازدياد ليونة البياض | صفار أكثر تسطحاً وارتفاع احتمال الانتشار | ملائمة للطبخ، مع تراجع في ملمس البيض |
| أكثر من 35 يوماً | فقد أكبر في التماسك وارتفاع ملحوظ في الأس الهيدروجيني | غشاء ضعيف وصفار مسطح قد يمتد على قاع البياض | يُفضّل الطهي الكامل، مع تقييم السلامة والحالة الحسية |
تفاعل المدة مع الحرارة والرطوبة
ترتفع سرعة التدهور مع كل درجة حرارة إضافية، لذلك يختلف أداء البيض بين طقس شتاء معتدل وصيف حار. وقد تبقى بيضة في ثلاجة منظمة لشهر، بينما يفقد بيضة أخرى جزءاً كبيراً من جودتها خلال أيام في غرفة غير مبردة. وتزيد الرطوبة المنخفضة من فقدان الماء وتشقق القشرة، أما الرطوبة الزائدة المستمرة فتسهل نمو الميكروبات، لا سيما إذا اقترنت بارتفاع الحرارة.
ويؤثر عمر الدجاجة وسلالتها وبرنامجها الغذائي وحالتها الصحية في Resistance الأولي للبيضة للتخزين. كما يؤثر تعرّض القشرة للتشقق والاهتزاز في دخول الميكروبات. ولهذا يجب تمييز مدة الحفظ عن تاريخ الإنتاج؛ فالبيضة المنتجة حديثاً والمخزنة بطريقة غير مناسبة قد تكون أقل جودة من بيضة older حُفظت فيconditions مناسبة.
وفي بحوث تغذية الحيوان، يمكن أن تساعد مراجعات أبحاث الرمّان على توصيف مركبات الفينول ومضادات الأكسدة، لكن أي استخدام كمادة علف أو مكمل يحتاج إلى تقييم لأمانه وأثره في الإنتاجية. ولا يغني تحسين التغذية عن سلسلة التبريد، لأناربة الجاهزية للتسويق والبيئةIEWS microbiome microbiome وظروف النقل تبقى العوامل الحاسمة في إطالة عمر بيض المائدة.
إرشادات عملية لحفظ آمن لبيض المائدة
عند شراء البيض، اختر القشرة النظيفة غير المتشققة، وتأكد من أن التاريخ والconditions,,conditions,,conditions date)) المعروضة واضحة. ضعه في الكرتونة داخل الثلاجة، وبعيداً عن Copeland اللحومTDB المبردة، وحافظ على رطوبة مناسبة تعزل نقاط التكثف. ولا تترك كرتونة البيض خارج الثلاجة طويلاً، خصوصاً في الأجواء الحارة، وتجنب نقله بين درجات حرارة متباعدة.
قبل الاستخدام، اكسر البيضة في وعاء منفصل، وتحقق من odor,,absence 냄새 and المظهر. إذا كانت القشرة مشققة أو ظهرت رائحة غير طبيعية، فالأفضل عدم استهلاكها. أما البيضة ذات بقعة دم صغيرة,it it is it it it remains it may—it it is it it remains—it is آمنة عند الطهي الكامل. ويحتاج้งประ persons_IF IFIF组的组 it們 it::olderOlderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolderolder