Skip to content
  • الرئيسية
  • من نحن
  • أنشطة الحملة
  • عن فلسطين
  • فعاليات تضامنية
  • الإنتاج الإعلامي
    • التصاميم
    • معرض الصور
    • الفيديو
  • اتصل بنا
  • EN
  • تطوع معنا
  • الرئيسية
  • من نحن
  • أنشطة الحملة
  • عن فلسطين
  • فعاليات تضامنية
  • الإنتاج الإعلامي
    • التصاميم
    • معرض الصور
    • الفيديو
  • اتصل بنا
  • EN
  • تطوع معنا
  • تطوع معنا

آخر الأخبار
الحملة العالميّة للعودة إلى فلسطين تدعو إلى تصعيد التحركات وصولًا إلى «أسبوع الانتفاضة»
يوم النكبة، والوضع الاستثنائي للدولة الصهيونية، وحق اللاجئين الفلسطينيين في العودة
إطلاق “جمعة الدفاع عن الأسرى” ودعوة إلى تصعيد التحركات الشعبية لمواجهة “قانون إعدام الأسرى”
معبر رفح.. أملٌ يمرُّ بين الأسلاك والرقابة
هدم مقر الأونروا في القدس… ضربة للذاكرة واللاجئين
حين تنطق الأرض.. فلسطين تستحق
القدس تُغتصب.. خرائط الاستيطان تتحول إلى سلاح اقتلاع ومعركة وجود
Latest News
Nakba Day, the Exceptional Status of the Zionist State, and the Palestinians’ Right of Return
Rafah Crossing.. Hope Threading Through Wires and Surveillance
Demolition of UNRWA Headquarters in Al-Quds… A Blow to Memory and Refugees
When the Land Speaks… Palestine Deserves
Al-Quds Is Being Violated: Settlement Maps Turn into Weapons of Uprooting and a Battle for Existence
القدس تُغتصب.. خرائط الاستيطان تتحول إلى سلاح اقتلاع ومعركة وجود
The Global Campaign to Return to Palestine Releases Its 2026 Annual Calendar “Triumph of Will over Tyranny”

آخر الأخبار
الحملة العالميّة للعودة إلى فلسطين تدعو إلى تصعيد التحركات وصولًا إلى «أسبوع الانتفاضة»
يوم النكبة، والوضع الاستثنائي للدولة الصهيونية، وحق اللاجئين الفلسطينيين في العودة
إطلاق “جمعة الدفاع عن الأسرى” ودعوة إلى تصعيد التحركات الشعبية لمواجهة “قانون إعدام الأسرى”
معبر رفح.. أملٌ يمرُّ بين الأسلاك والرقابة
هدم مقر الأونروا في القدس… ضربة للذاكرة واللاجئين
حين تنطق الأرض.. فلسطين تستحق
القدس تُغتصب.. خرائط الاستيطان تتحول إلى سلاح اقتلاع ومعركة وجود

منذ عام ٢٠١٣ · رابطة أخوّة إنسانيّة

الحملة العالمية للعودة إلى فلسطين

عودة إلى الأرض والقضية

إطارٌ مدنيّ عالميّ مستقلّ يُنسّق جهود المؤسّسات والناشطين حول فلسطين وحقّ العودة، ويحوّل التضامن إلى مبادراتٍ مشتركة.إطارٌ مدنيّ عالميّ مستقلّ يُنسّق الجهود حول فلسطين وحقّ العودة، ويحوّل التضامن إلى مبادراتٍ مشتركة.

تعرّف إلى الحملةساهم في أنشطة الحملة

ننسّق لأداء شيءٍ من واجبنا.

أخبار فلسطين

أحدث المستجدّات من فلسطين

المستجدّات الموثّقة من موقع الحملة. يجري تحميل أحدث المواد…

اقرأ المادّة ←
١ / ٥

الحملة في أرقام

منذ ٢٠١٣مسيرةٌ من العمل المتواصل
أكثر من ١٠ملتقيات ومؤتمرات دوليّة
قرابة ٨٠ دولةمئات الأعضاء حول العالم
أكثر من ١٠٠٠نشاط وفعاليّة

من التحرّك الميدانيّ إلى التعاون العالميّ

أنشطة الحملة

مبادراتٌ وفعاليّاتٌ وحملاتٌ تُترجم التضامن مع فلسطين إلى عملٍ مشترك، وتربط جهود المؤسّسات والناشطين عبر البلدان.

جميع الأنشطة ←
فعاليّة الحملة في صيدا احتفاءً بيوم الأرض الفلسطيني فعاليّة ميدانيّة · لبنان
٢٨ آذار ٢٠٢٥•من ذاكرة أنشطة الحملة

قلعة صيدا تتوشّح بألوان فلسطين في يوم الأرض

فعاليّةٌ تضامنيّة نظّمتها الحملة بالتعاون مع بلديّة صيدا، جمعت الحضور الشعبيّ والرسميّ حول فلسطين وحقّ العودة.

تفاصيل الفعاليّة ←
دعوةٌ إلى عملٍ مشترك·٣ أيلول ٢٠٢٦

الحملة تدعو إلى تصعيد التحرّكات وصولًا إلى «أسبوع الانتفاضة»

دعوةٌ إلى توسيع التحرّكات الشعبيّة والإعلاميّة والحقوقيّة في بلدان العالم.

مشهد من فعاليّات موكب نداء الأقصى في العراق
من الميدان · العراق١٣ آب ٢٠٢٥

ختام فعاليّات موكب «نداء الأقصى»

زيارة وفد سفراء العودة إلى مؤسّسات تشيلي
من شبكة الحملة · تشيلي٩ آذار ٢٠٢٤

سفراء العودة يعزّزون التواصل مع مؤسّسات تشيلي

فلسطين في يوم · الرصد اليوميّ

كي لا تصبح فلسطين خبرًا عابرًا

ما يمرّ على فلسطين في يومٍ واحد يترك أثرًا لا ينتهي بانتهاء الأخبار. نرصد الوقائع، ونصل بينها، ونحفظها في الذاكرة والوعي.

سلسلةٌ يوميّةٌ موثّقة
الحملة العالميّة للعودة إلى فلسطين فلسطين في يوم ذاكرةٌ حيّةٌ لما يجري على الأرض
صورة أرشيفيّة من موسم الزيتون الفلسطيني في الضفّة الغربيّة

أحدث تقرير منشور

نُشر في ٢٢ تشرين الأوّل/أكتوبر ٢٠٢٦

فلسطين في يوم ـ الخميس ٢٢ تشرين الأوّل/أكتوبر ٢٠٢٦

غزّة تسجّل ٤ شهداء و١٢ مصابًا مع تهديد توقّف المخابز، والضفّة تشهد ٤٠٩ اعتداءات على موسم الزيتون، وفي القدس هدم سبع شقق وتشريد ٣٥ مقدسيًّا، فيما تتواصل الاعتقالات وصمود المزارعين.

أحدث تقرير موثّق من سلسلة «فلسطين في يوم».

  • غزّة
  • الضفّة والقدس
  • الأسرى
  • الصمود
  • حقّ العودة
اقرأ التقرير الكامل ←أرشيف «فلسطين في يوم» ←
من الإصدارات السابقة
    شعار الحملة العالمية للعودة إلى فلسطين
    • رابطةُ أُخوّةٍ إنسانيّةٍ
    • تنسيقُ الجهود
    • أولويّةُ حقِّ العودةِ
    • عدالةٌ كاملةٌ لفلسطين

    مساران يجمعهما الوفاء لفلسطين

    تكريمُ العطاء... وتعزيزُ صوتِ العودة

    تحتفي الحملة بمن صنعوا أثرًا في نصرة فلسطين، وتُفعِّل حضور شخصيّاتٍ دوليّةٍ تحمل رسالة العودة إلى فضاءات التأثير والعمل المدنيّ.

    جائزةٌ اعتباريّة · منذ ٢٠١٤

    ريادةُ العطاء لفلسطين

    وفاءٌ لأصحاب الأثر

    جائزةٌ تُكرِّم أفرادًا ومؤسّساتٍ تركوا أثرًا ملموسًا في التضامن العالميّ مع فلسطين، وتوثِّق تجاربهم لتُلهم المزيد من العمل.

    من المكرَّمين عبر السنوات
    • مؤسّسة فلسطين باكستانباكستان · ٢٠١٤
    • نيكولا هدوةتشيلي · ٢٠١٤
    • العربيّة لحماية الطبيعةالأردن · ٢٠١٥
    المكرَّمون وقصص العطاء
    شخصيّاتٌ تحمل رسالة العودة

    سفيرُ العودة إلى فلسطين

    صوتٌ عالميّ لحقِّ العودة

    مبادرةٌ تجمع شخصيّاتٍ دوليّةً داعمةً لفلسطين، وتسعى إلى تحويل حضورها وعلاقاتها إلى أثرٍ ثقافيّ وحقوقيّ وتضامنيّ يتجاوز الحدود.

    لقطةٌ من الملتقى الدولي لسفراء العودة إلى فلسطين سنة ٢٠٢٣
    من الملتقى الدولي لسفراء العودة · ٢٠٢٣
    تعرَّف إلى مبادرة سفير العودة

    عن فلسطين

    From Mohammed Al-Durrah to the Children of Gaza: One Bloodline Exposes an Ongoing Crime

    من محمد الدرة إلى أطفال غزة.. دمٌ واحد يفضح الجريمة المستمرة

    سبتمبر 29, 2025
    إقرأ المزيد
    Ghada Rabah… A New Cry Beneath the Rubble

    غادة رباح.. صرخة جديدة تحت الركام

    سبتمبر 26, 2025
    إقرأ المزيد
    The Intifada … The Palestinian People’s Answer to the World’s Forgetfulness of their Cause

    الانتفاضة.. ردّ الشعب الفلسطيني على نسيان قضيته

    سبتمبر 25, 2025
    إقرأ المزيد
    • «
    • ‹
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • ›
    • »

    ذاكرة الحملة · من البدايات إلى الامتداد العالميّ

    من الأرشيف

    محطّاتٌ من مسيرة الحملة العالميّة للعودة إلى فلسطين، تستعيد وجوه التضامن وتحوّله إلى عملٍ متّصل عبر السنوات.

    تصفَّح الأرشيف الكامل ←
    مختارات من سنوات الحملة
    ١ من ٣
    ٢٠١٣
    من الملتقى الدولي الأوّل للتضامن مع فلسطين
    بيروت · ٢٧–٢٩ تشرين الثاني

    الملتقى الدوليّ الأوّل وإطلاق الإطار العالميّ للحملة

    انطلاقة العمل المشترك بين مؤسّسات وناشطين من مختلف أنحاء العالم.

    اقرأ المحطّة ←
    ٢٠١٧
    من فعاليّات الحملة في جاكرتا عام ٢٠١٧
    إندونيسيا · ٩ كانون الأوّل

    «نداء جاكرتا» دفاعًا عن القدس

    محطّة من امتداد الحملة وتعاونها مع الفاعلين في آسيا.

    اقرأ المحطّة ←
    ٢٠٢٣
    من الملتقى الدولي الخامس للتضامن مع فلسطين
    نُشرت المادّة في ١٢ كانون الأوّل

    الملتقى الدوليّ الخامس للتضامن مع فلسطين

    لقاءاتٌ ومواقف تُوثِّق تواصل التضامن العالميّ مع فلسطين.

    اقرأ المحطّة ←

    فلسطين في الصورة والكلمة

    الإنتاج الإعلاميّ

    صورٌ توثِّق، ومرئيّاتٌ تنقل، وتصاميمُ تُبقي فلسطين حاضرةً في الوعي والعمل.

    صخرة الروشة مضاءة بألوان العلم الفلسطيني
    ذاكرة العمل الميدانيّ

    معرض الصور

    صخرة الروشة على بحر بيروت؛ مُضاءة بألوان العلم الفلسطيني

    تصفّح معرض الصور ←
    ١ من ٣
    مشاهد تُروى

    الفيديو

    جميع المرئيّات ←
    ▶
    مشاهد من موكب نداء الأقصى على طريق المشايةمختارات من مرئيّات الحملة
    رسائل بصريّة

    التصاميم

    ملصقات وموادّ بصريّة للقضيّة الفلسطينيّة.

    شاهد التصاميم ←
    تصميم الاحتلال ينهب قلب الخليل
    جميع الموادّ الإعلاميّة ←
    PHN0eWxlIGlkPSJnY3JwLW1lbW9yeS1yZWRlc2lnbi12MSI+CiNnY3JwLW1lbW9yeXstLWZtLWluazojMjUzMDI5Oy0tZm0tZ29sZDojYzQ5ODM2Oy0tZm0tbGluZTojZTVkZmQwOy0tZm0tY3JlYW06I2Y3ZjRlYzstLWZtLW11dGVkOiM2ODcwNjg7Ym94LXNpemluZzpib3JkZXItYm94O2RpcmVjdGlvbjpydGw7YmFja2dyb3VuZDojZmFmOWY2O3BhZGRpbmc6Y2xhbXAoMjlweCwzLjN2dyw0NXB4KSBjbGFtcCgxNXB4LDMuNHZ3LDQycHgpIDQycHg7Y29sb3I6dmFyKC0tZm0taW5rKTtmb250LWZhbWlseToiSUJNIFBsZXggU2FucyBBcmFiaWMiLFRhaG9tYSxBcmlhbCxzYW5zLXNlcmlmO2lzb2xhdGlvbjppc29sYXRlO2NsZWFyOmJvdGh9CiNnY3JwLW1lbW9yeSAqLCNnY3JwLW1lbW9yeSAqOjpiZWZvcmUsI2djcnAtbWVtb3J5ICo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveH0KI2djcnAtbWVtb3J5IC5mbS1zaGVsbHt3aWR0aDptaW4oMTIyMHB4LDEwMCUpO21hcmdpbjowIGF1dG99CiNnY3JwLW1lbW9yeSAuZm0taGVhZHt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvIDI2cHg7bWF4LXdpZHRoOjc0MHB4fQojZ2NycC1tZW1vcnkgLmZtLWtpY2tlcnttYXJnaW46MCAwIDlweCFpbXBvcnRhbnQ7Zm9udDo3MDAgMTJweC8xLjY1ICJJQk0gUGxleCBTYW5zIEFyYWJpYyIsVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50O2NvbG9yOiM5MjZlMmIhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgaDIuZm0tdGl0bGV7bWFyZ2luOjAhaW1wb3J0YW50O2ZvbnQ6ODAwIGNsYW1wKDI4cHgsM3Z3LDM4cHgpLzEuMzUgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudDtjb2xvcjojMjUzMDI5IWltcG9ydGFudH0KI2djcnAtbWVtb3J5IGgyLmZtLXRpdGxlOjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO3dpZHRoOjM4cHg7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiNkNmE0NDA7bWFyZ2luOjAgYXV0byAxMnB4fQojZ2NycC1tZW1vcnkgaDIuZm0tdGl0bGUgc3Bhbntjb2xvcjojYzA4ZDJlIWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1sZWRle21hcmdpbjoxMXB4IGF1dG8gMCFpbXBvcnRhbnQ7Y29sb3I6IzYyNjY1YyFpbXBvcnRhbnQ7Zm9udDo0MDAgMTRweC8xLjkgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLWxheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDEuMjVmcikgbWlubWF4KDMwMHB4LC43NWZyKTtnYXA6MThweDthbGlnbi1pdGVtczpzdHJldGNofQojZ2NycC1tZW1vcnkgLmZtLWZlYXR1cmV7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczozOSUgbWlubWF4KDAsNjElKTtkaXJlY3Rpb246bHRyO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MzY1cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlNWRmZDI7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCA3cHggMjBweCAjMjAyNzFmMGF9CiNnY3JwLW1lbW9yeSAuZm0tdmlzdWFse3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMyMzM5MzE7bWluLXdpZHRoOjB9CiNnY3JwLW1lbW9yeSAuZm0tdmlzdWFsIGltZ3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudDttaW4taGVpZ2h0OjEwMCUhaW1wb3J0YW50O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnQ7bWF4LXdpZHRoOm5vbmUhaW1wb3J0YW50O29iamVjdC1maXQ6Y292ZXIhaW1wb3J0YW50O29iamVjdC1wb3NpdGlvbjpjZW50ZXIhaW1wb3J0YW50O2ZpbHRlcjpzYXR1cmF0ZSguNzIpIGNvbnRyYXN0KDEuMDQpfQojZ2NycC1tZW1vcnkgLmZtLXZpc3VhbDo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiYSg5LDMwLDIzLC45MikscmdiYSg5LDMwLDIzLC4zKSA0MiUscmdiYSg5LDMwLDIzLC4wOCkgMTAwJSk7cG9pbnRlci1ldmVudHM6bm9uZX0KI2djcnAtbWVtb3J5IC5mbS1waG90by1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OmF1dG8gMCAwO3otaW5kZXg6MTtwYWRkaW5nOjI0cHggMTlweDtjb2xvcjojZmZmO2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH0KI2djcnAtbWVtb3J5IC5mbS1tYXJre2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgMCA4cHg7Y29sb3I6I2Y0ZDk5YTtmb250OjcwMCAxMXB4LzEuNjUgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZn0KI2djcnAtbWVtb3J5IC5mbS15ZWFye2Rpc3BsYXk6YmxvY2s7Zm9udDo4MDAgY2xhbXAoMzVweCw1dncsNTVweCkvMS4yIENhaXJvLFRhaG9tYSxzYW5zLXNlcmlmO2NvbG9yOiNmZmY7bGV0dGVyLXNwYWNpbmc6MDttaW4taGVpZ2h0OjUycHh9CiNnY3JwLW1lbW9yeSAuZm0tcGhvdG8tY3JlZGl0e2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo0cHggNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNzIpO2ZvbnQ6NzAwIDEycHgvMS40NSAiSUJNIFBsZXggU2FucyBBcmFiaWMiLFRhaG9tYSxzYW5zLXNlcmlmO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAxcHggM3B4ICMwMDB9CiNnY3JwLW1lbW9yeSAuZm0tcGhvdG8tY3JlZGl0W2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1jb3B5e2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nOmNsYW1wKDIycHgsMi41dncsMzJweCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDowfQojZ2NycC1tZW1vcnkgLmZtLW5vdGV7Y29sb3I6IzhlNmEyNSFpbXBvcnRhbnQ7Zm9udDo3MDAgMTFweC8xLjc1ICJJQk0gUGxleCBTYW5zIEFyYWJpYyIsVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50O21hcmdpbjowIDAgMTBweCFpbXBvcnRhbnR9CiNnY3JwLW1lbW9yeSAuZm0tbWFpbi1kYXRle2NvbG9yOiM2OTcxNjg7Zm9udDo3MDAgMTRweC8xLjcgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZjttYXJnaW4tYm90dG9tOjZweH0KI2djcnAtbWVtb3J5IGgzLmZtLWZlYXR1cmUtdGl0bGV7Zm9udDo4MDAgY2xhbXAoMjNweCwyLjZ2dywzMHB4KS8xLjUyIENhaXJvLFRhaG9tYSxzYW5zLXNlcmlmIWltcG9ydGFudDtjb2xvcjojMjYzMTJiIWltcG9ydGFudDttYXJnaW46MCAwIDEycHghaW1wb3J0YW50O3RleHQtd3JhcDpwcmV0dHl9CiNnY3JwLW1lbW9yeSAuZm0tc3VtbWFyeXtmb250OjQwMCBjbGFtcCgxM3B4LDEuMnZ3LDE1cHgpLzEuOTUgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7Y29sb3I6IzUyNWI1MyFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAyMHB4IWltcG9ydGFudDttYXgtd2lkdGg6NDcwcHh9CiNnY3JwLW1lbW9yeSAuZm0tcmVhZHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLXNlbGY6ZmxleC1zdGFydDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweDtwYWRkaW5nOjEwcHggMTVweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MXB4IHNvbGlkICNiODk0NDU7YmFja2dyb3VuZDojZjhmMWRjO3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudDtjb2xvcjojNGQzYjE5IWltcG9ydGFudDtmb250OjcwMCAxMnB4LzEuNjUgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzfQojZ2NycC1tZW1vcnkgLmZtLXJlYWQ6aG92ZXJ7YmFja2dyb3VuZDojZWFkOGFhO2NvbG9yOiMyYjI4MWUhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLW5hdntib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyOjFweCBzb2xpZCAjZTNkY2NkO2JhY2tncm91bmQ6I2Y1ZjFlODtwYWRkaW5nOjIycHggMjBweCAxOHB4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtbmF2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjlweDtkaXJlY3Rpb246cnRsfQojZ2NycC1tZW1vcnkgLmZtLW1vbnRoLXRpdGxle2ZvbnQ6ODAwIGNsYW1wKDE5cHgsMnZ3LDIzcHgpLzEuNSBDYWlybyxUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7Y29sb3I6IzI5MzAyOSFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAhaW1wb3J0YW50O2ZsZXg6MX0KI2djcnAtbWVtb3J5IC5mbS1tb250aC1idXR0b257ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCAzNXB4O3dpZHRoOjM1cHg7aGVpZ2h0OjM1cHg7Ym9yZGVyOjFweCBzb2xpZCAjZDhjYmE4O2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojNjY1MzMwO2JvcmRlci1yYWRpdXM6N3B4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjF9CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6I2VkZGRiOX0KI2djcnAtbWVtb3J5IC5mbS1tb250aC1idXR0b246ZGlzYWJsZWR7b3BhY2l0eTouNDI7Y3Vyc29yOndhaXR9CiNnY3JwLW1lbW9yeSAuZm0tZ3VpZGFuY2V7Zm9udDo0MDAgMTJweC8xLjggIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7Y29sb3I6IzY2Njk1ZSFpbXBvcnRhbnQ7bWFyZ2luOjExcHggMCAxMnB4IWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlcn0KI2djcnAtbWVtb3J5IC5mbS1kYXlze3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo5cHg7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87b3ZlcnNjcm9sbC1iZWhhdmlvci1pbmxpbmU6Y29udGFpbjtzY3JvbGwtc25hcC10eXBlOnggcHJveGltaXR5O3Njcm9sbGJhci13aWR0aDp0aGluO3BhZGRpbmc6MjFweCAzcHggMTNweDttaW4taGVpZ2h0OjExM3B4fQojZ2NycC1tZW1vcnkgLmZtLWRheXM6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O3JpZ2h0OjEzcHg7bGVmdDoxM3B4O2hlaWdodDoycHg7YmFja2dyb3VuZDojZDRiNjY5O3BvaW50ZXItZXZlbnRzOm5vbmV9CiNnY3JwLW1lbW9yeSAuZm0tZGF5e3Njcm9sbC1zbmFwLWFsaWduOmNlbnRlcjtmbGV4OjAgMCA4NnB4O21pbi1oZWlnaHQ6OTBweDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTNkOWM0O2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOiM0MTRhNDI7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxM3B4IDdweCA5cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweH0KI2djcnAtbWVtb3J5IC5mbS1kYXk6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMThweDtyaWdodDpjYWxjKDUwJSAtIDVweCk7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNjNjlhMzk7Ym9yZGVyOjJweCBzb2xpZCAjZjVmMWU4O2JveC1zaGFkb3c6MCAwIDAgMXB4ICNjNjlhMzl9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW51bWJlcntmb250OjgwMCAyMnB4LzEuMjUgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWZ9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW5hbWV7Zm9udDo0MDAgMTBweC8xLjQgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZjttYXgtd2lkdGg6MTAwJTtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47d29yZC1icmVhazpub3JtYWx9CiNnY3JwLW1lbW9yeSAuZm0tZGF5OmhvdmVye2JvcmRlci1jb2xvcjojYzA5NjM2O2JhY2tncm91bmQ6I2ZkZjllZX0KI2djcnAtbWVtb3J5IC5mbS1kYXlbYXJpYS1wcmVzc2VkPSJ0cnVlIl17YmFja2dyb3VuZDojMjQzNTJkO2JvcmRlci1jb2xvcjojMjQzNTJkO2NvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDNweCA5cHggIzAwMDAwMDFifQojZ2NycC1tZW1vcnkgLmZtLWRheVthcmlhLXByZXNzZWQ9InRydWUiXTo6YmVmb3Jle2JhY2tncm91bmQ6IzI0MzUyZDtib3gtc2hhZG93OjAgMCAwIDFweCAjMjQzNTJkfQojZ2NycC1tZW1vcnkgLmZtLWRheVthcmlhLXByZXNzZWQ9InRydWUiXSAuZm0tZGF5LW5hbWV7Y29sb3I6I2Y3ZWRkOH0KI2djcnAtbWVtb3J5IC5mbS1kYXktaXRlbXN7bWFyZ2luLXRvcDoxMnB4O3BhZGRpbmctdG9wOjEycHg7Ym9yZGVyLXRvcDoxcHggc29saWQgI2UyZGFjN30KI2djcnAtbWVtb3J5IC5mbS1kYXktbGFiZWx7Zm9udDo3MDAgMTFweC8xLjY1ICJJQk0gUGxleCBTYW5zIEFyYWJpYyIsVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50O2NvbG9yOiM4MDY0MmIhaW1wb3J0YW50O21hcmdpbjowIDAgOHB4IWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1ldmVudC1jaG9pY2V7ZGlzcGxheTpibG9jaztib3JkZXI6MXB4IHNvbGlkICNlMGQ3Yzg7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6OXB4IDExcHg7bWFyZ2luOjdweCAwO3dpZHRoOjEwMCU7Zm9udDo2MDAgMTJweC8xLjY1ICJJQk0gUGxleCBTYW5zIEFyYWJpYyIsVGFob21hLHNhbnMtc2VyaWY7Y29sb3I6IzM0NDAzOTt0ZXh0LWFsaWduOnJpZ2h0O2N1cnNvcjpwb2ludGVyfQojZ2NycC1tZW1vcnkgLmZtLWV2ZW50LWNob2ljZVthcmlhLXByZXNzZWQ9InRydWUiXXtib3JkZXItY29sb3I6I2I2OGIzNTtiYWNrZ3JvdW5kOiNmZmY4ZTk7Zm9udC13ZWlnaHQ6ODAwfQojZ2NycC1tZW1vcnkgLmZtLWJvdHRvbXtmb250OjQwMCAxMXB4LzEuNzUgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7Y29sb3I6IzY2Njc1ZiFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOmF1dG8gMCAwIWltcG9ydGFudDtwYWRkaW5nLXRvcDoxNXB4fQojZ2NycC1tZW1vcnkgLmZtLXN0YXR1c3tmb250OjUwMCAxMnB4LzEuOCAiSUJNIFBsZXggU2FucyBBcmFiaWMiLFRhaG9tYSxzYW5zLXNlcmlmIWltcG9ydGFudDtjb2xvcjojNjY3MDYzIWltcG9ydGFudDttYXJnaW46OXB4IDAgMCFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXJ9CiNnY3JwLW1lbW9yeSAuZm0tZW1wdHl7Zm9udDo1MDAgMTNweC8xLjggIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZiFpbXBvcnRhbnQ7Y29sb3I6IzVlNjI1OCFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoyMHB4fQpodG1sW2xhbmc9ImFyIl0gYm9keS5ob21lICNtZWNfc2tpbl8yODg3Mi5mbS1tZW1vcnktaGlkZGVue3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDt3aWR0aDoxcHghaW1wb3J0YW50O2hlaWdodDoxcHghaW1wb3J0YW50O21heC13aWR0aDoxcHghaW1wb3J0YW50O21heC1oZWlnaHQ6MXB4IWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O2NsaXAtcGF0aDppbnNldCgxMDAlKSFpbXBvcnRhbnQ7b3BhY2l0eTowIWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudDt6LWluZGV4Oi0xIWltcG9ydGFudH0KQG1lZGlhKG1heC13aWR0aDoxMDUwcHgpeyNnY3JwLW1lbW9yeSAuZm0tbGF5b3V0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9I2djcnAtbWVtb3J5IC5mbS1mZWF0dXJle21pbi1oZWlnaHQ6MzA1cHh9I2djcnAtbWVtb3J5IC5mbS1uYXZ7bWluLWhlaWdodDowfX0KQG1lZGlhKG1heC13aWR0aDo2NTBweCl7I2djcnAtbWVtb3J5e3BhZGRpbmc6MjdweCAxM3B4IDMycHh9I2djcnAtbWVtb3J5IC5mbS1oZWFke21hcmdpbi1ib3R0b206MjBweH0jZ2NycC1tZW1vcnkgLmZtLWxlZGV7Zm9udC1zaXplOjEzcHghaW1wb3J0YW50fSNnY3JwLW1lbW9yeSAuZm0tbGF5b3V0e2dhcDoxMnB4fSNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO21pbi1oZWlnaHQ6MH0jZ2NycC1tZW1vcnkgLmZtLXZpc3VhbHtoZWlnaHQ6MTcwcHh9I2djcnAtbWVtb3J5IC5mbS1waG90by1vdmVybGF5e3BhZGRpbmc6MTNweCAxN3B4fSNnY3JwLW1lbW9yeSAuZm0tbWFya3ttYXJnaW4tYm90dG9tOjNweH0jZ2NycC1tZW1vcnkgLmZtLXllYXJ7Zm9udC1zaXplOjM1cHg7bWluLWhlaWdodDozNnB4fSNnY3JwLW1lbW9yeSAuZm0tY29weXtwYWRkaW5nOjIwcHggMTlweCAyMnB4fSNnY3JwLW1lbW9yeSBoMy5mbS1mZWF0dXJlLXRpdGxle2ZvbnQtc2l6ZToyM3B4IWltcG9ydGFudH0jZ2NycC1tZW1vcnkgLmZtLXN1bW1hcnl7Zm9udC1zaXplOjEzcHghaW1wb3J0YW50fSNnY3JwLW1lbW9yeSAuZm0tbmF2e3BhZGRpbmc6MThweCAxM3B4fSNnY3JwLW1lbW9yeSAuZm0tZGF5e2ZsZXgtYmFzaXM6NzhweDttaW4taGVpZ2h0OjgxcHh9I2djcnAtbWVtb3J5IC5mbS1kYXktbnVtYmVye2ZvbnQtc2l6ZToyMXB4fX0KQG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsjZ2NycC1tZW1vcnkgKnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O3Njcm9sbC1iZWhhdmlvcjphdXRvIWltcG9ydGFudH19CgovKiBFeGFjdCwgdW5hYnJpZGdlZCBldmVudCB0aXRsZXM7IGRlZGljYXRlZCBtb250aCBwaWNrZXIgYW5kIGFjY2Vzc2libGUgc291cmNlIGF0dHJpYnV0aW9ucy4gKi8KI2djcnAtbWVtb3J5IC5mbS1waWNrLWxpbmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMnB4O21hcmdpbjoxMnB4IDAgNHB4fQojZ2NycC1tZW1vcnkgLmZtLXBpY2stbGluZSBsYWJlbHtmb250OjcwMCAxMXB4LzEuNiAiSUJNIFBsZXggU2FucyBBcmFiaWMiLFRhaG9tYSxzYW5zLXNlcmlmO2NvbG9yOiM3NzZjNGN9CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtcGlja2Vye21heC13aWR0aDoxODVweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZDdjNDlkO2JvcmRlci1yYWRpdXM6N3B4O3BhZGRpbmc6NXB4IDExcHg7Zm9udDo2MDAgMTJweC8xLjYgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZjtjb2xvcjojMzQzYjMyO2N1cnNvcjpwb2ludGVyfQojZ2NycC1tZW1vcnkgLmZtLWRheXtmbGV4LWJhc2lzOjEzNHB4O21pbi1oZWlnaHQ6MTI5cHg7aGVpZ2h0OmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9CiNnY3JwLW1lbW9yeSAuZm0tZGF5c3ttaW4taGVpZ2h0OjE2MXB4O2FsaWduLWl0ZW1zOnN0cmV0Y2h9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW5hbWV7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7LXdlYmtpdC1saW5lLWNsYW1wOnVuc2V0IWltcG9ydGFudDstd2Via2l0LWJveC1vcmllbnQ6aW5pdGlhbCFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudDt3b3JkLWJyZWFrOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEuNTU7dGV4dC13cmFwOnByZXR0eX0KI2djcnAtbWVtb3J5IC5mbS12aXN1YWx7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDM1ZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgNDVweCxyZ2JhKDIxOCwxODAsMTA1LC4wNikgNDZweCxyZ2JhKDIxOCwxODAsMTA1LC4wNikgNDdweCksbGluZWFyLWdyYWRpZW50KDE2MGRlZywjMjk0NjM4LCMxNTMzMjgpfQojZ2NycC1tZW1vcnkgLmZtLXZpc3VhbCBpbWdbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLXBob3RvLWNyZWRpdCBwe21hcmdpbjoycHggMDtmb250OjQwMCAxMHB4LzEuNiAiSUJNIFBsZXggU2FucyBBcmFiaWMiLFRhaG9tYSxzYW5zLXNlcmlmIWltcG9ydGFudDtjb2xvcjojZjJlYmRmIWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1waG90by1jcmVkaXQgYXtjb2xvcjojZjdkODg4IWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIWltcG9ydGFudH0KQG1lZGlhKG1heC13aWR0aDo2NTBweCl7I2djcnAtbWVtb3J5IC5mbS1kYXl7ZmxleC1iYXNpczoxMThweDttaW4taGVpZ2h0OjEyNHB4fSNnY3JwLW1lbW9yeSAuZm0tZGF5c3ttaW4taGVpZ2h0OjE1NHB4fSNnY3JwLW1lbW9yeSAuZm0tcGljay1saW5le21hcmdpbjo5cHggMCAzcHg7Z2FwOjhweH19CgovKiBDb21wYWN0IGdyaWQtYmFzZWQgUGFsZXN0aW5pYW4gbWVtb3J5IHNlY3Rpb246IGV4YWN0IHRpdGxlcyByZW1haW4gaW4gdGhlIERPTS4gKi8KI2djcnAtbWVtb3J5e3BhZGRpbmc6Y2xhbXAoMTNweCwydmgsMjRweCkgY2xhbXAoMTNweCwyLjZ2dywzMHB4KSBjbGFtcCgxNHB4LDJ2aCwyNHB4KX0KI2djcnAtbWVtb3J5IC5mbS1zaGVsbHt3aWR0aDptaW4oMTM5MHB4LDEwMCUpfQojZ2NycC1tZW1vcnkgLmZtLWhlYWR7bWFyZ2luLWJvdHRvbTpjbGFtcCgxMHB4LDEuNXZoLDE2cHgpfQojZ2NycC1tZW1vcnkgLmZtLWtpY2tlcnttYXJnaW4tYm90dG9tOjNweCFpbXBvcnRhbnR9CiNnY3JwLW1lbW9yeSBoMi5mbS10aXRsZXtmb250LXNpemU6Y2xhbXAoMjZweCwyLjV2dywzNXB4KSFpbXBvcnRhbnR9CiNnY3JwLW1lbW9yeSBoMi5mbS10aXRsZTo6YmVmb3Jle21hcmdpbi1ib3R0b206N3B4fQojZ2NycC1tZW1vcnkgLmZtLWxlZGV7bWFyZ2luLXRvcDo1cHghaW1wb3J0YW50O2ZvbnQtc2l6ZTpjbGFtcCgxMnB4LDEuMXZ3LDE0cHgpIWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1sYXlvdXR7ZGlyZWN0aW9uOnJ0bDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMS4wNGZyKSBtaW5tYXgoMCwuOTZmcik7Z2FwOjE0cHh9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZXtoZWlnaHQ6Y2xhbXAoMzE4cHgsNThzdmgsNDU1cHgpO21pbi1oZWlnaHQ6MDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDIlIG1pbm1heCgwLDU4JSk7cG9zaXRpb246cmVsYXRpdmV9CiNnY3JwLW1lbW9yeSAuZm0tY29weXtwYWRkaW5nOmNsYW1wKDE2cHgsMnZ3LDI1cHgpO2p1c3RpZnktY29udGVudDpjZW50ZXJ9CiNnY3JwLW1lbW9yeSAuZm0tbm90ZXttYXJnaW4tYm90dG9tOjNweCFpbXBvcnRhbnQ7Zm9udC1zaXplOjEwcHghaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLW1haW4tZGF0ZXtmb250LXNpemU6MTNweDttYXJnaW4tYm90dG9tOjNweH0KI2djcnAtbWVtb3J5IGgzLmZtLWZlYXR1cmUtdGl0bGV7Zm9udC1zaXplOmNsYW1wKDIxcHgsMi4xdncsMjlweCkhaW1wb3J0YW50O21hcmdpbi1ib3R0b206OXB4IWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjM2IWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1zdW1tYXJ5e2ZvbnQtc2l6ZTpjbGFtcCgxMnB4LDEuMDN2dywxNHB4KSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS44NSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbToxM3B4IWltcG9ydGFudDttYXgtd2lkdGg6bm9uZTtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW59CiNnY3JwLW1lbW9yeSAuZm0tcmVhZHtwYWRkaW5nOjhweCAxMnB4O2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjZ9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1oaXR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjU7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOjEycHh9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1oaXQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCAjYmM4ZDMxO291dGxpbmUtb2Zmc2V0Oi00cHh9CiNnY3JwLW1lbW9yeSAuZm0tcGhvdG8tb3ZlcmxheXt6LWluZGV4Ojc7cG9pbnRlci1ldmVudHM6bm9uZX0KI2djcnAtbWVtb3J5IC5mbS1waG90by1jcmVkaXQgYXtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OH0gCiNnY3JwLW1lbW9yeSAuZm0tbmF2e2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDttYXgtaGVpZ2h0OmNsYW1wKDMxOHB4LDU4c3ZoLDQ1NXB4KTtwYWRkaW5nOmNsYW1wKDEycHgsMS4zdncsMThweCk7b3ZlcmZsb3c6aGlkZGVufQojZ2NycC1tZW1vcnkgLmZtLW1vbnRoLW5hdntnYXA6N3B4fQojZ2NycC1tZW1vcnkgLmZtLXBpY2stbGluZXttYXJnaW46N3B4IDAgM3B4fQojZ2NycC1tZW1vcnkgLmZtLWd1aWRhbmNle21hcmdpbjozcHggMCA3cHghaW1wb3J0YW50O2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS1kYXlze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSk7Z3JpZC1hdXRvLXJvd3M6bWlubWF4KDc1cHgsYXV0byk7YWxpZ24tY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo4cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjtzY3JvbGwtc25hcC10eXBlOm5vbmU7bWluLWhlaWdodDowO2hlaWdodDphdXRvO2ZsZXg6MSAxIGF1dG87cGFkZGluZzozcHggM3B4IDZweDtzY3JvbGxiYXItd2lkdGg6dGhpbn0KI2djcnAtbWVtb3J5IC5mbS1kYXlzOjpiZWZvcmV7ZGlzcGxheTpub25lfQojZ2NycC1tZW1vcnkgLmZtLWRheXtmbGV4Om5vbmU7bWluLXdpZHRoOjA7bWluLWhlaWdodDo3NXB4O2hlaWdodDphdXRvO3BhZGRpbmc6OXB4IDVweCA3cHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9CiNnY3JwLW1lbW9yeSAuZm0tZGF5OjpiZWZvcmV7ZGlzcGxheTpub25lfQojZ2NycC1tZW1vcnkgLmZtLWRheS1udW1iZXJ7Zm9udC1zaXplOjIxcHh9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW5hbWV7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7LXdlYmtpdC1saW5lLWNsYW1wOjIhaW1wb3J0YW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuNDJ9CiNnY3JwLW1lbW9yeSAuZm0tZGF5W2RhdGEtY291bnRdOm5vdChbZGF0YS1jb3VudD0iMSJdKTo6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtY291bnQpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozcHg7bGVmdDo0cHg7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOiNlYWQyOWI7Y29sb3I6IzU1NDIxYztmb250OjcwMCAxMHB4LzEgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWZ9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LWl0ZW1ze21hcmdpbi10b3A6NnB4O3BhZGRpbmctdG9wOjdweDttYXgtaGVpZ2h0OjEwM3B4O292ZXJmbG93LXk6YXV0bztmbGV4LXNocmluazowfQojZ2NycC1tZW1vcnkgLmZtLWRheS1sYWJlbHttYXJnaW4tYm90dG9tOjNweCFpbXBvcnRhbnR9CiNnY3JwLW1lbW9yeSAuZm0tZXZlbnQtY2hvaWNle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6NXB4IDhweDttYXJnaW46NHB4IDB9CiNnY3JwLW1lbW9yeSAuZm0tYm90dG9te3BhZGRpbmctdG9wOjZweCFpbXBvcnRhbnQ7Zm9udC1zaXplOjEwcHghaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNDUhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLXN0YXR1c3ttYXJnaW46M3B4IDAgMCFpbXBvcnRhbnR9CkBtZWRpYSAobWluLXdpZHRoOjEwNjFweCkgYW5kIChtaW4taGVpZ2h0OjUzMHB4KXsjZ2NycC1tZW1vcnl7bWF4LWhlaWdodDoxMDBzdmg7b3ZlcmZsb3c6Y2xpcH19IApAbWVkaWEgKG1pbi13aWR0aDo4MjBweCkgYW5kIChtYXgtd2lkdGg6MTA1MHB4KXsjZ2NycC1tZW1vcnkgLmZtLWxheW91dHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMS4wNGZyKSBtaW5tYXgoMCwuOTZmcil9I2djcnAtbWVtb3J5IC5mbS1mZWF0dXJle21pbi1oZWlnaHQ6MH19CkBtZWRpYSAobWF4LXdpZHRoOjgxOXB4KXsjZ2NycC1tZW1vcnkgLmZtLWxheW91dHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfSNnY3JwLW1lbW9yeSAuZm0tbmF2e29yZGVyOjE7aGVpZ2h0OmF1dG87bWF4LWhlaWdodDpub25lfSNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZXtvcmRlcjoyO2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzA1cHh9I2djcnAtbWVtb3J5IC5mbS1kYXlze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKTttYXgtaGVpZ2h0OjM1MHB4O21pbi1oZWlnaHQ6MH0jZ2NycC1tZW1vcnkgLmZtLWRheXttaW4taGVpZ2h0Ojc3cHh9fQpAbWVkaWEgKG1heC13aWR0aDo2NTBweCl7I2djcnAtbWVtb3J5e3BhZGRpbmc6MjBweCAxMnB4IDIycHh9I2djcnAtbWVtb3J5IC5mbS1oZWFke21hcmdpbi1ib3R0b206MTVweH0jZ2NycC1tZW1vcnkgLmZtLWRheXN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpO21heC1oZWlnaHQ6MjkwcHh9I2djcnAtbWVtb3J5IC5mbS1mZWF0dXJle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7bWluLWhlaWdodDowO2hlaWdodDphdXRvfSNnY3JwLW1lbW9yeSAuZm0tdmlzdWFse2hlaWdodDoxNzVweH0jZ2NycC1tZW1vcnkgLmZtLWNvcHl7cGFkZGluZzoxNnB4IDE4cHggMTlweH0jZ2NycC1tZW1vcnkgLmZtLXN1bW1hcnl7LXdlYmtpdC1saW5lLWNsYW1wOjR9I2djcnAtbWVtb3J5IC5mbS1kYXl7bWluLWhlaWdodDo3N3B4O2ZsZXgtYmFzaXM6YXV0b30jZ2NycC1tZW1vcnkgLmZtLW5hdntwYWRkaW5nOjE0cHggMTJweH19Ci8qIDMxIE9jdCAyMDI2IOKAlCBjb21wYWN0IHVuaWZpZWQgbW9udGggdG9vbGJhcjsgbW9udGgvZGF5IGdyaWQgUklHSFQsIGhpc3RvcmljIGZlYXR1cmUgTEVGVCAqLwpAbWVkaWEgKG1pbi13aWR0aDo4MjBweCl7CiAgI2djcnAtbWVtb3J5IC5mbS1sYXlvdXR7CiAgICBkaXJlY3Rpb246bHRyOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLC45NGZyKSBtaW5tYXgoMCwxLjA2ZnIpOwogIH0KICAjZ2NycC1tZW1vcnkgLmZtLWZlYXR1cmV7Z3JpZC1jb2x1bW46MTtncmlkLXJvdzoxO30KICAjZ2NycC1tZW1vcnkgLmZtLW5hdntncmlkLWNvbHVtbjoyO2dyaWQtcm93OjE7ZGlyZWN0aW9uOnJ0bDt9Cn0KI2djcnAtbWVtb3J5IC5mbS1uYXZ7CiAgZGlzcGxheTpncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIGNsYW1wKDEwMHB4LDl2dywxMjJweCk7CiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOjM0cHggYXV0byBtaW5tYXgoMCwxZnIpIGF1dG8gYXV0bzsKICBjb2x1bW4tZ2FwOjlweDsKICByb3ctZ2FwOjNweDsKICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgYWxpZ24tY29udGVudDpzdHJldGNoOwp9CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtbmF2ewogIGdyaWQtY29sdW1uOjE7CiAgZ3JpZC1yb3c6MTsKICBtYXJnaW46MDsKICBnYXA6NHB4OwogIG1pbi13aWR0aDowOwogIGFsaWduLWl0ZW1zOmNlbnRlcjsKfQojZ2NycC1tZW1vcnkgLmZtLW1vbnRoLXRpdGxlewogIGZvbnQ6ODAwIGNsYW1wKDE1cHgsMS41NXZ3LDE5cHgpLzEuMzUgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50OwogIG1pbi13aWR0aDowOwogIG1hcmdpbjowIWltcG9ydGFudDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgb3ZlcmZsb3c6aGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Cn0KI2djcnAtbWVtb3J5IC5mbS1tb250aC1idXR0b257CiAgZmxleDowIDAgMjlweDsKICB3aWR0aDoyOXB4OwogIGhlaWdodDoyOXB4OwogIGZvbnQtc2l6ZToxOHB4OwogIGJvcmRlci1yYWRpdXM6NnB4Owp9CiNnY3JwLW1lbW9yeSAuZm0tcGljay1saW5lewogIGdyaWQtY29sdW1uOjI7CiAgZ3JpZC1yb3c6MTsKICBkaXNwbGF5OmJsb2NrOwogIG1hcmdpbjowOwogIG1pbi13aWR0aDowOwp9CiNnY3JwLW1lbW9yeSAuZm0tcGljay1saW5lIGxhYmVsewogIHBvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDsKICB3aWR0aDoxcHghaW1wb3J0YW50OwogIGhlaWdodDoxcHghaW1wb3J0YW50OwogIG92ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnQ7CiAgY2xpcC1wYXRoOmluc2V0KDUwJSkhaW1wb3J0YW50OwogIHdoaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnQ7Cn0KI2djcnAtbWVtb3J5IC5mbS1tb250aC1waWNrZXJ7CiAgZGlzcGxheTpibG9jazsKICB3aWR0aDoxMDAlOwogIG1heC13aWR0aDpub25lOwogIG1pbi13aWR0aDowOwogIGhlaWdodDozMnB4OwogIHBhZGRpbmc6M3B4IDZweDsKICBmb250OjcwMCAxMXB4LzEuNDUgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZjsKICBib3JkZXItcmFkaXVzOjZweDsKfQojZ2NycC1tZW1vcnkgLmZtLWd1aWRhbmNlewogIGdyaWQtY29sdW1uOjEvLTE7CiAgZ3JpZC1yb3c6MjsKICBtYXJnaW46MCAwIDNweCFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOjEwcHghaW1wb3J0YW50OwogIGxpbmUtaGVpZ2h0OjEuNiFpbXBvcnRhbnQ7Cn0KI2djcnAtbWVtb3J5IC5mbS1kYXlzewogIGdyaWQtY29sdW1uOjEvLTE7CiAgZ3JpZC1yb3c6MzsKICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSk7CiAgZ3JpZC1hdXRvLXJvd3M6bWlubWF4KDY4cHgsMWZyKTsKICBnYXA6N3B4OwogIHBhZGRpbmc6MnB4IDJweCAzcHg7CiAgd2lkdGg6MTAwJTsKICBtaW4taGVpZ2h0OjA7CiAgaGVpZ2h0OjEwMCU7CiAgYWxpZ24tc2VsZjpzdHJldGNoOwogIG92ZXJmbG93LXk6YXV0bzsKICBvdmVyZmxvdy14OmhpZGRlbjsKfQojZ2NycC1tZW1vcnkgLmZtLWRheXsKICBtaW4taGVpZ2h0OjY4cHg7CiAgcGFkZGluZzo3cHggNXB4IDVweDsKICBnYXA6MnB4Owp9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW51bWJlcntmb250LXNpemU6MTlweDt9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LW5hbWV7Zm9udC1zaXplOjEwLjVweDtsaW5lLWhlaWdodDoxLjQ7fQojZ2NycC1tZW1vcnkgLmZtLWRheS1pdGVtc3sKICBncmlkLWNvbHVtbjoxLy0xOwogIGdyaWQtcm93OjQ7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6NHB4Owp9CiNnY3JwLW1lbW9yeSAuZm0tc3RhdHVzewogIGdyaWQtY29sdW1uOjEvLTE7CiAgZ3JpZC1yb3c6NTsKICBtYXJnaW46MCFpbXBvcnRhbnQ7Cn0KI2djcnAtbWVtb3J5IC5mbS1ib3R0b217ZGlzcGxheTpub25lIWltcG9ydGFudDt9CkBtZWRpYSAobWluLXdpZHRoOjgyMHB4KSBhbmQgKG1heC13aWR0aDoxMDUwcHgpewogICNnY3JwLW1lbW9yeSAuZm0tbGF5b3V0e2RpcmVjdGlvbjpsdHI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLC45NGZyKSBtaW5tYXgoMCwxLjA2ZnIpO30KfQpAbWVkaWEgKG1heC13aWR0aDo4MTlweCl7CiAgI2djcnAtbWVtb3J5IC5mbS1sYXlvdXR7ZGlyZWN0aW9uOnJ0bDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKTt9CiAgI2djcnAtbWVtb3J5IC5mbS1uYXZ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsMWZyKSAxMTRweDsKICAgIGdyaWQtdGVtcGxhdGUtcm93czozNHB4IGF1dG8gbWlubWF4KDAsMWZyKSBhdXRvIGF1dG87CiAgfQogICNnY3JwLW1lbW9yeSAuZm0tZGF5c3toZWlnaHQ6YXV0bztncmlkLWF1dG8tcm93czptaW5tYXgoNjhweCxhdXRvKTt9Cn0KQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpewogICNnY3JwLW1lbW9yeSAuZm0tbmF2ewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgOTZweDsKICAgIGNvbHVtbi1nYXA6NXB4OwogICAgcGFkZGluZzoxMXB4IDEwcHg7CiAgfQogICNnY3JwLW1lbW9yeSAuZm0tbW9udGgtdGl0bGV7CiAgICBmb250LXNpemU6Y2xhbXAoMTJweCwzLjd2dywxNnB4KSFpbXBvcnRhbnQ7CiAgfQogICNnY3JwLW1lbW9yeSAuZm0tbW9udGgtYnV0dG9uewogICAgZmxleC1iYXNpczoyNXB4OwogICAgd2lkdGg6MjVweDsKICAgIGhlaWdodDoyN3B4OwogICAgZm9udC1zaXplOjE2cHg7CiAgfQogICNnY3JwLW1lbW9yeSAuZm0tbW9udGgtbmF2e2dhcDoycHg7fQogICNnY3JwLW1lbW9yeSAuZm0tbW9udGgtcGlja2VyewogICAgZm9udC1zaXplOjEwcHg7CiAgICBoZWlnaHQ6MjlweDsKICAgIHBhZGRpbmc6M3B4IDNweDsKICB9CiAgI2djcnAtbWVtb3J5IC5mbS1kYXlzewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpOwogICAgZ3JpZC1hdXRvLXJvd3M6bWlubWF4KDY0cHgsYXV0byk7CiAgICBnYXA6NnB4OwogIH0KICAjZ2NycC1tZW1vcnkgLmZtLWRheXttaW4taGVpZ2h0OjY0cHg7fQp9CgovKiBNZW1vcnkgY29udHJvbHMgcmVmaW5lbWVudCDigJQgc291cmNlIHRleHQgYW5kIGV2ZW50IHJlY29yZHMgc3RheSB1bmNoYW5nZWQuICovCiNnY3JwLW1lbW9yeSAuZm0tbmF2ewogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgY2xhbXAoOTRweCw4LjR2dywxMTZweCk7CiBncmlkLXRlbXBsYXRlLXJvd3M6MzZweCBtaW5tYXgoMCwxZnIpIGF1dG8gYXV0bzsKIGdhcDo3cHggOHB4Owp9CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtbmF2ewogZ3JpZC1jb2x1bW46MTtncmlkLXJvdzoxOwoganVzdGlmeS1jb250ZW50OmNlbnRlcjsKIG1pbi13aWR0aDowOwogcGFkZGluZzowIDRweCAwIDA7Cn0KI2djcnAtbWVtb3J5IC5mbS1tb250aC10aXRsZXsKIGZvbnQ6ODAwIGNsYW1wKDEzcHgsMS4xN3Z3LDE3cHgpLzEuNDUgQ2Fpcm8sVGFob21hLHNhbnMtc2VyaWYhaW1wb3J0YW50OwogY29sb3I6IzI5MzMyZCFpbXBvcnRhbnQ7CiB3aGl0ZS1zcGFjZTpub3dyYXA7CiBsZXR0ZXItc3BhY2luZzotLjI1cHg7CiB0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7CiBvdmVyZmxvdzp2aXNpYmxlOwogdGV4dC1vdmVyZmxvdzpjbGlwOwp9CiNnY3JwLW1lbW9yeSAuZm0tcGljay1saW5le2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MTttYXJnaW46MDt9CiNnY3JwLW1lbW9yeSAuZm0tbW9udGgtcGlja2Vye2hlaWdodDozMXB4O21heC13aWR0aDpub25lO3dpZHRoOjEwMCU7cGFkZGluZzozcHggNnB4O2ZvbnQtc2l6ZToxMXB4O30KI2djcnAtbWVtb3J5IC5mbS1ndWlkYW5jZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50O30KI2djcnAtbWVtb3J5IC5mbS1kYXlzewogZ3JpZC1jb2x1bW46MS8tMTtncmlkLXJvdzoyOwogaGVpZ2h0OjEwMCU7bWF4LWhlaWdodDpub25lO21pbi1oZWlnaHQ6MDsKIG92ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjsKIHNjcm9sbGJhci13aWR0aDphdXRvO3Njcm9sbGJhci1jb2xvcjojYWU5NTY1ICNlOWUxZDI7CiBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6Y29udGFpbjsKIHNjcm9sbC1iZWhhdmlvcjpzbW9vdGg7Cn0KI2djcnAtbWVtb3J5IC5mbS1kYXlzOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDoxMHB4O30KI2djcnAtbWVtb3J5IC5mbS1kYXlzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOiNlYWUyZDQ7Ym9yZGVyLXJhZGl1czo5cHg7fQojZ2NycC1tZW1vcnkgLmZtLWRheXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6I2FiOTE2Mjtib3JkZXI6MnB4IHNvbGlkICNlYWUyZDQ7Ym9yZGVyLXJhZGl1czo5cHg7fQojZ2NycC1tZW1vcnkgLmZtLWRheXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6IzdjNjU0MTt9CiNnY3JwLW1lbW9yeSAuZm0tZGF5czpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkICNiNjhiMzU7b3V0bGluZS1vZmZzZXQ6MXB4O30KI2djcnAtbWVtb3J5IC5mbS1kYXktaXRlbXN7CiBncmlkLWNvbHVtbjoxLy0xO2dyaWQtcm93OjM7CiBkaXNwbGF5OmdyaWQ7CiBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7CiBhbGlnbi1pdGVtczpzdGFydDsKIGdhcDo2cHg7CiBtYXJnaW46MDsKIHBhZGRpbmc6N3B4IDAgMDsKIG1heC1oZWlnaHQ6MTIycHg7bWluLWhlaWdodDowOwogb3ZlcmZsb3cteTphdXRvOwogYm9yZGVyLXRvcDoxcHggc29saWQgI2RlZDJiYjsKfQojZ2NycC1tZW1vcnkgLmZtLWRheS1pdGVtc1toaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQojZ2NycC1tZW1vcnkgLmZtLWRheS1sYWJlbHsKIGdyaWQtY29sdW1uOjEvLTE7CiBtYXJnaW46MCFpbXBvcnRhbnQ7CiBmb250LXNpemU6MTFweCFpbXBvcnRhbnQ7Cn0KI2djcnAtbWVtb3J5IC5mbS1ldmVudC1jaG9pY2V7CiBkaXNwbGF5OmJsb2NrOwogd2lkdGg6MTAwJTsKIG1pbi13aWR0aDowOwogbWFyZ2luOjA7CiBwYWRkaW5nOjZweCA4cHg7CiBib3JkZXItcmFkaXVzOjZweDsKIGZvbnQtc2l6ZToxMXB4IWltcG9ydGFudDsKIGxpbmUtaGVpZ2h0OjEuNSFpbXBvcnRhbnQ7CiBvdmVyZmxvdy13cmFwOmFueXdoZXJlOwp9CiNnY3JwLW1lbW9yeSAuZm0tc3RhdHVze2dyaWQtY29sdW1uOjEvLTE7Z3JpZC1yb3c6NDt9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1uYXZ7CiBkaXNwbGF5OmZsZXg7CiBmbGV4LWRpcmVjdGlvbjpyb3c7CiBmbGV4LXdyYXA6bm93cmFwOwogYWxpZ24taXRlbXM6Y2VudGVyOwoganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7CiBnYXA6N3B4OwogZGlyZWN0aW9uOnJ0bDsKIGFsaWduLXNlbGY6ZmxleC1zdGFydDsKIHBvc2l0aW9uOnJlbGF0aXZlOwogei1pbmRleDo4OwogbWFyZ2luOjRweCAwIDEwcHg7CiBwYWRkaW5nOjA7Cn0KI2djcnAtbWVtb3J5IC5mbS1mZWF0dXJlLW5hdltoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQojZ2NycC1tZW1vcnkgLmZtLWZlYXR1cmUtcG9zewogZm9udDo3MDAgMTFweC8xLjUgIklCTSBQbGV4IFNhbnMgQXJhYmljIixUYWhvbWEsc2Fucy1zZXJpZjsKIGNvbG9yOiM4NTY2Mjg7CiB3aGl0ZS1zcGFjZTpub3dyYXA7CiBwYWRkaW5nLWlubGluZS1lbmQ6NHB4Owp9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1hcnJvd3sKIGRpc3BsYXk6Z3JpZDsKIHBsYWNlLWl0ZW1zOmNlbnRlcjsKIHdpZHRoOjI5cHg7aGVpZ2h0OjI5cHg7CiBwYWRkaW5nOjA7CiBib3JkZXItcmFkaXVzOjZweDsKIGJvcmRlcjoxcHggc29saWQgI2QwYjQ3YTsKIGJhY2tncm91bmQ6I2ZmZjhlOTsKIGNvbG9yOiM2YjU0Mjg7CiBmb250OjcwMCAyMnB4LzEgQXJpYWwsc2Fucy1zZXJpZjsKIGN1cnNvcjpwb2ludGVyOwogcG9zaXRpb246cmVsYXRpdmU7CiB6LWluZGV4Ojk7Cn0KI2djcnAtbWVtb3J5IC5mbS1mZWF0dXJlLWFycm93OmhvdmVye2JhY2tncm91bmQ6I2VjZDdhNDtib3JkZXItY29sb3I6I2I4OTI0MDt9CiNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1hcnJvdzpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkICNiYjhmMzA7b3V0bGluZS1vZmZzZXQ6MnB4O30KQG1lZGlhIChtYXgtd2lkdGg6ODE5cHgpewogI2djcnAtbWVtb3J5IC5mbS1uYXZ7CiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgMTAzcHg7CiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOjM2cHggbWlubWF4KDAsMWZyKSBhdXRvIGF1dG87CiB9CiAjZ2NycC1tZW1vcnkgLmZtLWRheXN7bWF4LWhlaWdodDozNDBweDtoZWlnaHQ6YXV0bzt9Cn0KQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpewogI2djcnAtbWVtb3J5IC5mbS1uYXZ7CiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgOTBweDsKICBncmlkLXRlbXBsYXRlLXJvd3M6MzRweCBtaW5tYXgoMCwxZnIpIGF1dG8gYXV0bzsKICBjb2x1bW4tZ2FwOjRweDsKIH0KICNnY3JwLW1lbW9yeSAuZm0tbW9udGgtbmF2e3BhZGRpbmc6MDt9CiAjZ2NycC1tZW1vcnkgLmZtLW1vbnRoLXRpdGxlewogIGZvbnQ6ODAwIGNsYW1wKDEwcHgsMi44dncsMTJweCkvMS4zIENhaXJvLFRhaG9tYSxzYW5zLXNlcmlmIWltcG9ydGFudDsKICBsZXR0ZXItc3BhY2luZzotLjNweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7CiB9CiAjZ2NycC1tZW1vcnkgLmZtLW1vbnRoLXBpY2tlcntmb250LXNpemU6MTBweDtwYWRkaW5nOjNweCAycHg7aGVpZ2h0OjI5cHg7fQogI2djcnAtbWVtb3J5IC5mbS1kYXlze21heC1oZWlnaHQ6MzAwcHg7fQogI2djcnAtbWVtb3J5IC5mbS1kYXktaXRlbXN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjttYXgtaGVpZ2h0OjE2NXB4O30KICNnY3JwLW1lbW9yeSAuZm0tZmVhdHVyZS1uYXZ7bWFyZ2luOjNweCAwIDdweDt9Cn0KCi8qIFJlZmluZWQgUGFsZXN0aW5pYW4gbWVtb3J5IHByZXNlbnRhdGlvbiwgMzEgT2N0b2JlciAyMDI2ICovCiNnY3JwLW1lbW9yeXsKIHBhZGRpbmctdG9wOmNsYW1wKDExcHgsMS4zNXZoLDE5cHgpOwogcGFkZGluZy1ib3R0b206Y2xhbXAoMTNweCwxLjY1dmgsMjJweCk7Cn0KI2djcnAtbWVtb3J5IC5mbS1oZWFke21hcmdpbi1ib3R0b206Y2xhbXAoOXB4LDEuMXZoLDEzcHgpfQojZ2NycC1tZW1vcnkgLmZtLWtpY2tlcntmb250LXNpemU6MTFweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS40NSFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAycHghaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgaDIuZm0tdGl0bGV7Zm9udC1zaXplOmNsYW1wKDI1cHgsMi4zNXZ3LDM0cHgpIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjI2IWltcG9ydGFudH0KI2djcnAtbWVtb3J5IGgyLmZtLXRpdGxlOjpiZWZvcmV7d2lkdGg6MzJweDtoZWlnaHQ6MnB4O21hcmdpbjowIGF1dG8gNXB4fQojZ2NycC1tZW1vcnkgLmZtLWxlZGV7bWFyZ2luOjNweCBhdXRvIDAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNiFpbXBvcnRhbnQ7Zm9udC1zaXplOmNsYW1wKDEycHgsMXZ3LDEzcHgpIWltcG9ydGFudH0KI2djcnAtbWVtb3J5IC5mbS12aXN1YWw6OmFmdGVyewogYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2JhKDgsMjksMjEsLjczKSAwJSxyZ2JhKDgsMjksMjEsLjE2KSAzNSUscmdiYSg4LDI5LDIxLDApIDY3JSk7Cn0KI2djcnAtbWVtb3J5IC5mbS1waG90by1vdmVybGF5ewogcGFkZGluZzoxM3B4IDE3cHggMTZweDsKIGJvdHRvbTowO3JpZ2h0OjA7bGVmdDowOwogei1pbmRleDo3OwogcG9pbnRlci1ldmVudHM6bm9uZTsKfQojZ2NycC1tZW1vcnkgLmZtLXllYXJ7CiBmb250OjgwMCBjbGFtcCgzM3B4LDMuMjV2dyw0NXB4KS8xLjE1IENhaXJvLFRhaG9tYSxzYW5zLXNlcmlmOwogbWluLWhlaWdodDowOwogY29sb3I6I2ZmZjsKIHRleHQtc2hhZG93OjAgMnB4IDlweCByZ2JhKDAsMCwwLC40KTsKfQojZ2NycC1tZW1vcnkgLmZtLXZpc3VhbCBpbWd7CiBvYmplY3QtZml0OmNvdmVyIWltcG9ydGFudDsKIG9iamVjdC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyIWltcG9ydGFudDsKfQojZ2NycC1tZW1vcnkgLmZtLWRheXN7CiBncmlkLWF1dG8tcm93czo2MHB4OwogZ2FwOjZweDsKIHNjcm9sbGJhci13aWR0aDp0aGluOwogc2Nyb2xsYmFyLWNvbG9yOiNiN2E1OGIgI2VlZThkZDsKIHBhZGRpbmc6M3B4IDNweCA0cHg7Cn0KI2djcnAtbWVtb3J5IC5mbS1kYXlzOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo2cHh9CiNnY3JwLW1lbW9yeSAuZm0tZGF5czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDojZWVlOGRkO2JvcmRlci1yYWRpdXM6OXB4fQojZ2NycC1tZW1vcnkgLmZtLWRheXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6I2I3YTU4Yjtib3JkZXI6MXB4IHNvbGlkICNlZWU4ZGQ7Ym9yZGVyLXJhZGl1czo5cHh9CiNnY3JwLW1lbW9yeSAuZm0tZGF5czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOWE3ZDRlfQojZ2NycC1tZW1vcnkgLmZtLWRheXsKIGhlaWdodDo2MHB4OwogbWluLWhlaWdodDo2MHB4OwogcGFkZGluZzo0cHggNnB4IDVweDsKIGdhcDoxcHg7CiBib3JkZXItcmFkaXVzOjhweDsKfQojZ2NycC1tZW1vcnkgLmZtLWRheS1udW1iZXJ7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4yMn0KI2djcnAtbWVtb3J5IC5mbS1kYXktbmFtZXtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxLjMyfQojZ2NycC1tZW1vcnkgLmZtLWRheVthcmlhLXByZXNzZWQ9InRydWUiXXsKIGJhY2tncm91bmQ6IzI0M2EzMDsKIGJvcmRlcjoycHggc29saWQgI2M1OWI0MzsKIGNvbG9yOiNmZmY7CiBib3gtc2hhZG93OjAgMnB4IDlweCByZ2JhKDMwLDUwLDM1LC4xMyk7Cn0KI2djcnAtbWVtb3J5IC5mbS1kYXlbYXJpYS1wcmVzc2VkPSJ0cnVlIl0gLmZtLWRheS1uYW1le2NvbG9yOiNmZmZ9CiNnY3JwLW1lbW9yeSAuZm0tZGF5LWl0ZW1zewogZGlzcGxheTpmbGV4OwogZmxleC1kaXJlY3Rpb246cm93OwogZmxleC13cmFwOndyYXA7CiBhbGlnbi1pdGVtczpjZW50ZXI7CiBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDsKIGFsaWduLWNvbnRlbnQ6Y2VudGVyOwogZ2FwOjVweCA3cHg7CiBwYWRkaW5nOjZweCAwIDA7CiBtYXJnaW46MDsKIG1pbi1oZWlnaHQ6MDsKIG1heC1oZWlnaHQ6OTRweDsKIG92ZXJmbG93LXk6YXV0bzsKIGJvcmRlci10b3A6MXB4IHNvbGlkICNlMWQ4Yzg7Cn0KI2djcnAtbWVtb3J5IC5mbS1kYXktaXRlbXNbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fQojZ2NycC1tZW1vcnkgLmZtLWRheS1sYWJlbHsKIGZsZXg6MCAwIGF1dG87CiBtYXJnaW46MCFpbXBvcnRhbnQ7CiBmb250LXNpemU6MTFweCFpbXBvcnRhbnQ7CiBsaW5lLWhlaWdodDoxLjY1IWltcG9ydGFudDsKIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQojZ2NycC1tZW1vcnkgLmZtLWV2ZW50LWNob2ljZXsKIGRpc3BsYXk6YmxvY2s7CiBmbGV4OjEgMSAxMzVweDsKIHdpZHRoOmF1dG87CiBtaW4td2lkdGg6MTEwcHg7CiBtYXgtd2lkdGg6MTAwJTsKIGhlaWdodDphdXRvOwogbWluLWhlaWdodDozMHB4OwogbWFyZ2luOjA7CiBwYWRkaW5nOjVweCA5cHg7CiBmb250LXNpemU6MTAuNXB4IWltcG9ydGFudDsKIGxpbmUtaGVpZ2h0OjEuNSFpbXBvcnRhbnQ7CiB0ZXh0LWFsaWduOnJpZ2h0OwogYm9yZGVyLXJhZGl1czo2cHg7Cn0KI2djcnAtbWVtb3J5IC5mbS1ldmVudC1jaG9pY2VbYXJpYS1wcmVzc2VkPSJ0cnVlIl17CiBib3JkZXItY29sb3I6I2I2OGIzNTsKIGJhY2tncm91bmQ6I2ZmZjhlOTsKIGJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMTg1LDE0MCw1NywuMTYpOwp9CkBtZWRpYSAobWF4LXdpZHRoOjgxOXB4KXsKICNnY3JwLW1lbW9yeSAuZm0tZGF5c3tncmlkLWF1dG8tcm93czo2MHB4fQogI2djcnAtbWVtb3J5IC5mbS1kYXl7aGVpZ2h0OjYwcHg7bWluLWhlaWdodDo2MHB4fQogI2djcnAtbWVtb3J5IC5mbS1waG90by1vdmVybGF5e3BhZGRpbmc6MTFweCAxNXB4IDEzcHh9CiAjZ2NycC1tZW1vcnkgLmZtLXllYXJ7Zm9udC1zaXplOjM1cHh9Cn0KQG1lZGlhIChtYXgtd2lkdGg6NDgwcHgpewogI2djcnAtbWVtb3J5IC5mbS1kYXktaXRlbXN7bWF4LWhlaWdodDoxMDVweDtnYXA6NXB4fQogI2djcnAtbWVtb3J5IC5mbS1kYXktbGFiZWx7ZmxleDowIDAgYXV0b30KICNnY3JwLW1lbW9yeSAuZm0tZXZlbnQtY2hvaWNle2ZsZXg6MSAxIDE2MHB4fQogI2djcnAtbWVtb3J5IC5mbS1kYXlze2dyaWQtYXV0by1yb3dzOjYwcHh9Cn0KLyogT3JpZ2luYWwgMjAxMyBkb2N1bWVudGFyeSBwaG90b2dyYXBoOiBjcm9wIG9ubHkgZm9yIGZvdW5kaW5nIGNvbmZlcmVuY2UuICovCiNnY3JwLW1lbW9yeVtkYXRhLWZtLWN1cnJlbnQtZXZlbnQ9IjI4NzcwIl0gLmZtLXZpc3VhbCBpbWd7b2JqZWN0LXBvc2l0aW9uOjQ5JSBjZW50ZXIhaW1wb3J0YW50O30KPC9zdHlsZT4KPHNlY3Rpb24gaWQ9ImdjcnAtbWVtb3J5IiAgZGlyPSJydGwiIGxhbmc9ImFyIiBhcmlhLWxhYmVsbGVkYnk9ImZtLXRpdGxlIj4KPGRpdiBjbGFzcz0iZm0tc2hlbGwiPgo8aGVhZGVyIGNsYXNzPSJmbS1oZWFkIj48cCBjbGFzcz0iZm0ta2lja2VyIj7Zhdit2LfZkdin2Kog2KrZj9io2YLZiiDYp9mE2KrYp9ix2YrYriDYrdin2LbYsdmL2Kc8L3A+PGgyIGNsYXNzPSJmbS10aXRsZSIgaWQ9ImZtLXRpdGxlIj7YsNin2YPYsdipIDxzcGFuPtmB2YTYs9i32YrZhjwvc3Bhbj48L2gyPjxwIGNsYXNzPSJmbS1sZWRlIj7ZhdmGINiq2KfYsdmK2K4g2KfZhNij2LHYtiDZiNin2YTZgtiv2LMg2YjYp9mE2LnZiNiv2KnYjCDZhtiu2KrYp9ixINij2YrZkdin2YUg2KfZhNi02YfYsSDYp9mE2KrZiiDYqtit2YXZhCDZiNmC2KfYpti5INmI2YXZhtin2LPYqNin2Kog2YHZhNiz2LfZitmG2YrZkdip2Ysg2YXZiNir2ZHZjtmC2KkuPC9wPjwvaGVhZGVyPgo8ZGl2IGNsYXNzPSJmbS1sYXlvdXQiPgo8YXJ0aWNsZSBjbGFzcz0iZm0tZmVhdHVyZSIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtbGFiZWw9Itin2YTZhdit2LfZkdipINin2YTYqtin2LHZitiu2YrZkdipINin2YTZhdiu2KrYp9ix2KkiPjxhIGNsYXNzPSJmbS1mZWF0dXJlLWhpdCIgZGF0YS1mbS1vcGVuIGhyZWY9Imh0dHBzOi8vdG9wYWxlc3RpbmUub3JnLyIgYXJpYS1sYWJlbD0i2KfZgdiq2K0g2KrZgdin2LXZitmEINin2YTZhdmG2KfYs9io2KkiPjwvYT4gIAo8ZGl2IGNsYXNzPSJmbS12aXN1YWwiPjxpbWcgY2xhc3M9InNraXAtbGF6eSIgZGF0YS1uby1sYXp5PSIxIiBkYXRhLWZtLWltYWdlIGhpZGRlbiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4gPGRpdiBjbGFzcz0iZm0tcGhvdG8tb3ZlcmxheSI+PHN0cm9uZyBjbGFzcz0iZm0teWVhciIgZGF0YS1mbS15ZWFyPuKAlDwvc3Ryb25nPjxzcGFuIGNsYXNzPSJmbS1waG90by1jcmVkaXQiIGRhdGEtZm0tcGhvdG8tY3JlZGl0IGhpZGRlbj48L3NwYW4+PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImZtLWNvcHkiPjxzcGFuIGNsYXNzPSJmbS1ub3RlIj7Zhdit2LfZkdipINiq2KfYsdmK2K7ZitmR2Kkg2YXZhiDYo9ix2LTZitmBINin2YTZhdmG2KfYs9io2KfYqjwvc3Bhbj48dGltZSBjbGFzcz0iZm0tbWFpbi1kYXRlIiBkYXRhLWZtLWRhdGU+PC90aW1lPjxkaXYgY2xhc3M9ImZtLWZlYXR1cmUtbmF2IiBkYXRhLWZtLWZlYXR1cmUtbmF2IGhpZGRlbiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0i2KfZhNiq2YbZgtmR2YQg2KjZitmGINmF2K3Yt9mR2KfYqiDYp9mE2YrZiNmFINin2YTZhdit2K/ZkdivIj48c3BhbiBjbGFzcz0iZm0tZmVhdHVyZS1wb3MiIGRhdGEtZm0tZmVhdHVyZS1wb3M+PC9zcGFuPjxidXR0b24gY2xhc3M9ImZtLWZlYXR1cmUtYXJyb3ciIHR5cGU9ImJ1dHRvbiIgZGF0YS1mbS1mZWF0dXJlLXByZXYgYXJpYS1sYWJlbD0i2KfZhNmF2K3Yt9mR2Kkg2KfZhNiz2KfYqNmC2Kkg2YXZhiDZh9iw2Kcg2KfZhNmK2YjZhSI+4oC6PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZm0tZmVhdHVyZS1hcnJvdyIgdHlwZT0iYnV0dG9uIiBkYXRhLWZtLWZlYXR1cmUtbmV4dCBhcmlhLWxhYmVsPSLYp9mE2YXYrdi32ZHYqSDYp9mE2KrYp9mE2YrYqSDZhdmGINmH2LDYpyDYp9mE2YrZiNmFIj7igLk8L2J1dHRvbj48L2Rpdj48aDMgY2xhc3M9ImZtLWZlYXR1cmUtdGl0bGUiICAgZGF0YS1mbS10aXRsZT7YqtmP2LPYqti52KfYryDYp9mE2YXYrdi32ZHYp9iqINin2YTYqtin2LHZitiu2YrZkdipINmF2YYg2LDYp9mD2LHYqSDZgdmE2LPYt9mK2YY8L2gzPjxwIGNsYXNzPSJmbS1zdW1tYXJ5IiBkYXRhLWZtLXN1bW1hcnk+2KfYrtiq2LEg2YrZiNmF2YvYpyDZhdmGINi02KjZg9ipINin2YTZhdmG2KfYs9io2KfYqtiMINmB2KrYuNmH2LEg2YfZhtinINi12YjYsdiq2Ycg2YjYrtmE2KfYtdiq2Ycg2YjYsdin2KjYtyDYqtmB2KfYtdmK2YTZhy48L3A+PGEgY2xhc3M9ImZtLXJlYWQiIGRhdGEtZm0tcmVhZCBocmVmPSJodHRwczovL3RvcGFsZXN0aW5lLm9yZy8iPtin2YLYsdijINin2YTZhdit2LfZkdipIOKGkDwvYT48L2Rpdj4KPC9hcnRpY2xlPgo8YXNpZGUgY2xhc3M9ImZtLW5hdiIgYXJpYS1sYWJlbD0i2KfYrtiq2LEg2LTZh9ix2YvYpyDZiNmK2YjZhdmL2Kcg2YXZhiDYsNin2YPYsdipINmB2YTYs9i32YrZhiI+PGRpdiBjbGFzcz0iZm0tbW9udGgtbmF2Ij48aDMgY2xhc3M9ImZtLW1vbnRoLXRpdGxlIiBkYXRhLWZtLW1vbnRoPtmF2YbYp9iz2KjYp9iqINiq2LTYsdmK2YYg2KfZhNij2YjZkdmEICjYo9mD2KrZiNio2LEpINmi2aDZotmmPC9oMz48L2Rpdj4gPGRpdiBjbGFzcz0iZm0tcGljay1saW5lIj48bGFiZWwgZm9yPSJmbS1tb250aC1waWNrZXIiPtin2YTYp9mG2KrZgtin2YQg2KXZhNmJINi02YfYsTwvbGFiZWw+PHNlbGVjdCBpZD0iZm0tbW9udGgtcGlja2VyIiBjbGFzcz0iZm0tbW9udGgtcGlja2VyIiBkYXRhLWZtLW1vbnRoLXBpY2tlciBhcmlhLWxhYmVsPSLYp9mE2KfZhtiq2YLYp9mEINil2YTZiSDYtNmH2LEg2KLYrtixIj48L3NlbGVjdD48L2Rpdj4gIDxkaXYgY2xhc3M9ImZtLWRheXMiIGRhdGEtZm0tZGF5cyByb2xlPSJncm91cCIgdGFiaW5kZXg9IjAiIGFyaWEtbGFiZWw9ItmF2K3Yt9mR2KfYqiDYp9mE2LTZh9ix2Iwg2K3YsdmR2YMg2LTYsdmK2Lcg2KfZhNiq2YXYsdmK2LEg2YTYudix2LYg2KjZgtmK2Kkg2KfZhNij2YrYp9mFIj48L2Rpdj4gIDxkaXYgY2xhc3M9ImZtLWRheS1pdGVtcyIgZGF0YS1mbS1pdGVtcyBoaWRkZW4+PC9kaXY+PHAgY2xhc3M9ImZtLXN0YXR1cyIgZGF0YS1mbS1zdGF0dXMgcm9sZT0ic3RhdHVzIj7YrNin2LHZjSDYqtit2YXZitmEINiw2KfZg9ix2Kkg2KfZhNi02YfYseKApjwvcD48cCBjbGFzcz0iZm0tYm90dG9tIj7Yp9iu2KrYsSDZitmI2YXZi9inINmF2YYg2KfZhNi02KjZg9ip2Iwg2YjYrdix2ZHZgyDYtNix2YrYtyDYp9mE2KrZhdix2YrYsSDZhNi52LHYtiDYqNmC2YrYqSDYo9mK2KfZhSDYp9mE2LTZh9ix2Iwg2KvZhSDYp9iz2KrYrtiv2YUg2KfZhNij2LPZh9mFINiv2KfYrtmEINin2YTZhdit2LfZkdipINin2YTYqtin2LHZitiu2YrZkdipINmE2YTYqtmG2YLZkdmEINio2YrZhiDYo9it2K/Yp9irINin2YTZitmI2YUuPC9wPjwvYXNpZGU+CjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4KPHNjcmlwdCBpZD0iZ2NycC1tZW1vcnktZHluYW1pYy12MSI+CihmdW5jdGlvbigpewogJ3VzZSBzdHJpY3QnOwogdmFyIGJsb2NrPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnY3JwLW1lbW9yeScpO2lmKCFibG9ja3x8YmxvY2suZGF0YXNldC5ib3VuZD09PSd5ZXMnKXJldHVybjsKIGJsb2NrLmRhdGFzZXQuYm91bmQ9J3llcyc7CiB2YXIgZG9tPXttb250aDpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1tb250aF0nKSxmZWF0dXJlUHJldjpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1mZWF0dXJlLXByZXZdJyksZmVhdHVyZU5leHQ6YmxvY2sucXVlcnlTZWxlY3RvcignW2RhdGEtZm0tZmVhdHVyZS1uZXh0XScpLGZlYXR1cmVOYXY6YmxvY2sucXVlcnlTZWxlY3RvcignW2RhdGEtZm0tZmVhdHVyZS1uYXZdJyksZmVhdHVyZVBvczpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1mZWF0dXJlLXBvc10nKSxwaWNrZXI6ICBibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1tb250aC1waWNrZXJdJyksZGF5czpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1kYXlzXScpICxpdGVtczpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS1pdGVtc10nKSxkYXRlOmJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLWRhdGVdJykseWVhcjpibG9jay5xdWVyeVNlbGVjdG9yKCdbZGF0YS1mbS15ZWFyXScpLHRpdGxlOmJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLXRpdGxlXScpLHN1bW1hcnk6YmxvY2sucXVlcnlTZWxlY3RvcignW2RhdGEtZm0tc3VtbWFyeV0nKSxsaW5rOmJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLXJlYWRdJyksaGl0OmJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLW9wZW5dJyksaW1hZ2U6YmxvY2sucXVlcnlTZWxlY3RvcignW2RhdGEtZm0taW1hZ2VdJyksY3JlZGl0OmJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLXBob3RvLWNyZWRpdF0nKSxzdGF0dXM6YmxvY2sucXVlcnlTZWxlY3RvcignW2RhdGEtZm0tc3RhdHVzXScpfTsKIC8qIEV4YWN0IG9yaWdpbmFsIHRpdGxlcyBhbmQgZGF0ZXMgZnJvbSAxMDggQXJhYmljIE1FQyBldmVudHM7IHNuYXBzaG90IHN5bmNocm9uaXplZCAyMDI2LTEwLTMwLiAqLwogdmFyIG1lbW9yeUluZGV4PVtdO21lbW9yeUluZGV4LnB1c2guYXBwbHkobWVtb3J5SW5kZXgsW1syODg2NywxLDEsItin2YbYt9mE2KfZgtipINin2YTYq9mR2YjYsdipINin2YTZgdmE2LPYt9mK2YbZitmR2KkiLCLYp9mG2LfZhNin2YLYqS3Yp9mE2KvZkdmI2LHYqS3Yp9mE2YHZhNiz2LfZitmG2YrZkdipIl0sWzI4ODY0LDEsMywi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYr9ipINmC2KfYs9mFINiz2YTZitmF2KfZhtmKIFwi2LTZh9mK2K8g2KfZhNmC2K/Ys1wiINmI2KPYqNmIINmF2YfYr9mKINin2YTZhdmH2YbYr9izINmI2LHZgdin2YLZh9mF2KciLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9iv2Kkt2YLYp9iz2YUt2LPZhNmK2YXYp9mG2Yot2LTZh9mK2K8t2KfZhNmC2K8iXSxbMjg4NjUsMSwzLCLZitmI2YUg2KfZhNmF2YLYp9mI2YXYqSDYp9mE2LnYp9mE2YXZiiIsItmK2YjZhS3Yp9mE2YXZgtin2YjZhdipLdin2YTYudin2YTZhdmKIl0sWzI4ODUyLDEsNSwi2KfYs9iq2LTZh9in2K8g2KfZhNmF2YfZhtiv2LMg2YrYrdmK2Ykg2LnZitmR2KfYtCIsItin2LPYqti02YfYp9ivLdin2YTZhdmH2YbYr9izLdmK2K3ZitmJLdi52YrZkdin2LQiXSxbMjg4NTEsMSw3LCLZitmI2YUg2KfZhNi02ZHZh9mK2K8g2KfZhNmB2YTYs9i32YrZhtmKIiwi2YrZiNmFLdin2YTYtNmR2YfZitivLdin2YTZgdmE2LPYt9mK2YbZiiJdLFsyODg1MCwxLDEzLCLYp9iz2KrYtNmH2KfYryDYp9mE2YbYp9i02Lcg2KfZhNio2LHZiti32KfZhtmKINiq2YjZhSDZh9in2LHZhtiv2YQiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YbYp9i02Lct2KfZhNio2LHZiti32KfZhtmKLdiq2YjZhS3Zh9in2LHZhtiv2YQiXSxbMzIzNzEsMSwxNCwi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYr9ipOiDYtdmE2KfYrSDYrtmE2YEsINmH2KfZitmEINi52KjYr9in2YTYrdmF2YrYryzZgdiu2LHZiiDYp9mE2LnZhdix2YoiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9iv2Kkt2LXZhNin2K0t2K7ZhNmBLdmH2KfZitmELdi52KjYr9in2YTYrdmF2YoiXSxbMjg4NDgsMSwxOSwi2YXYrNiy2LHYqSDYtdmB2K8iLCLZhdis2LLYsdipLdi12YHYryJdLFsyODg0NiwxLDI4LCLYpdi52YTYp9mGINiq2LHYp9mF2Kgg2LnZhiDYtdmB2YLYqSDYp9mE2YLYsdmGIiwi2KXYudmE2KfZhi3Yqtix2KfZhdioLdi52YYt2LXZgdmC2Kkt2KfZhNmC2LHZhiJdLFsyODg0MywyLDUsItmF2LDZg9ix2Kkg2YfYsdio2LHYqiDYtdmF2YjYptmK2YQg2YTYr9i52YUg2KfZhNi12YfYp9mK2YbYqSIsItmF2LDZg9ix2Kkt2YfYsdio2LHYqi3YtdmF2YjYptmK2YQt2YTYr9i52YUt2KfZhNi12YfYp9mK2YbYqSJdLFsyODg0NCwyLDcsItmF2KzYstix2Kkg2YLYsdmK2Kkg2LTYsdmB2KfZhiAxMCDYtNmH2K/Yp9ihIiwi2YXYrNiy2LHYqS3Zgtix2YrYqS3YtNix2YHYp9mGLTEwLdi02YfYr9in2KEiXSxbMjg3NjAsMiw4LCLYsNmD2LHZiSDYp9mE2KXYs9ix2KfYoSDZiNin2YTZhdi52LHYp9isIiwi2LDZg9ix2Ykt2KfZhNil2LPYsdin2KEt2YjYp9mE2YXYudix2KfYrCJdLFsyODg0MiwyLDE1LCLZhdis2LLYsdipINmC2LHZitipINiz2LnYs9i5IDYwINi02YfZitiv2KfZiyIsItmF2KzYstix2Kkt2YLYsdmK2Kkt2LPYudiz2LktNjAt2LTZh9mK2K/Yp9mLIl0sWzI4ODQxLDIsMjUsItmF2KzYstix2Kkg2KfZhNit2LHZhSDYp9mE2KXYqNix2KfZh9mK2YXZiiIsItmF2KzYstix2Kkt2KfZhNit2LHZhS3Yp9mE2KXYqNix2KfZh9mK2YXZiiJdLFsyODg0NSwyLDI4LCLZhdis2LLYsdipINi62LLZkdipINin2YTYo9mI2YTZiSAzOSDYtNmH2YrYr9in2YsiLCLZhdis2LLYsdipLdi62LLZkdipLdin2YTYo9mI2YTZiS0zOS3YtNmH2YrYr9in2YsiXSxbMjg4NDAsMyw2LCLYp9iz2KrYtNmH2KfYryBcItin2YTZhdir2YLZkdmBINin2YTZhdi02KrYqNmDXCIg2KjYp9iz2YQg2KfZhNij2LnYsdisIiwi2KfYs9iq2LTZh9in2K8t2KfZhNmF2KvZgtmR2YEt2KfZhNmF2LTYqtio2YMt2KjYp9iz2YQt2KfZhNij2LnYsdisIl0sWzI4ODM5LDMsMTYsItin2LPYqti02YfYp9ivINin2YTZhtmR2KfYtNi32Kkg2LHZitiq2LTZitmEINmD2YjYsdmKIiwi2KfYs9iq2LTZh9in2K8t2KfZhNmG2ZHYp9i02LfYqS3YsdmK2KrYtNmK2YQt2YPZiNix2YoiXSxbMjg4MzgsMywyMSwi2YXYudix2YPYqSDYp9mE2YPYsdin2YXYqSDZgdmKINi62YjYsSDYp9mE2KPYsdiv2YYiLCLZhdi52LHZg9ipLdin2YTZg9ix2KfZhdipLdmB2Yot2LrZiNixLdin2YTYo9ix2K/ZhiJdXSk7CiBtZW1vcnlJbmRleC5wdXNoLmFwcGx5KG1lbW9yeUluZGV4LFtbMjg4MzcsMywyMiwi2KfYs9iq2LTZh9in2K8g2KfZhNi02ZHZitiuINij2K3ZhdivINmK2KfYs9mK2YYiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2LTZkdmK2K4t2KPYrdmF2K8t2YrYp9iz2YrZhiJdLFsyODgzNiwzLDI2LCLYp9iz2KrYtNmH2KfYryDZhdmI2LPZiSDZg9in2LjZhSDYp9mE2K3Ys9mK2YbZiiIsItin2LPYqti02YfYp9ivLdmF2YjYs9mJLdmD2KfYuNmFLdin2YTYrdiz2YrZhtmKIl0sWzI4ODM1LDMsMjcsItin2LPYqti02YfYp9ivINi52KjYryDYp9mE2LHYrdmK2YUg2KfZhNit2KfYrCDZhdit2YXYryIsItin2LPYqti02YfYp9ivLdi52KjYry3Yp9mE2LHYrdmK2YUt2KfZhNit2KfYrC3Zhdit2YXYryJdLFsyODgzMywzLDMwLCLYp9mG2LfZhNin2YIg2YXYs9mK2LHYp9iqINin2YTYudmI2K/YqSDYp9mE2YPYqNix2Ykg2YHZiiDYutiy2KkiLCLYp9mG2LfZhNin2YIt2YXYs9mK2LHYp9iqLdin2YTYudmI2K/YqS3Yp9mE2YPYqNix2Ykt2YHZii3Yutiy2KkiXSxbMjg4MzQsMywzMCwi2YrZiNmFINin2YTYo9ix2LYg2KfZhNmB2YTYs9i32YrZhtmKIiwi2YrZiNmFLdin2YTYo9ix2LYt2KfZhNmB2YTYs9i32YrZhtmKIl0sWzI4ODYzLDQsMSwi2YXZhNit2YXYqSDYrNmG2YrZhiIsItmF2YTYrdmF2Kkt2KzZhtmK2YYiXSxbMjg4NjIsNCw0LCLYp9mG2K/ZhNin2Lkg2KvZiNix2Kkg2KfZhNmG2ZHYqNmKINmF2YjYs9mJIiwi2KfZhtiv2YTYp9i5Ldir2YjYsdipLdin2YTZhtmR2KjZii3ZhdmI2LPZiSJdLFsyODg2MSw0LDUsItmF2KzYstix2Kkg2LrYstmR2Kkg2KfZhNir2KfZhtmK2KkgNjAg2LTZh9mK2K/Yp9mLIiwi2YXYrNiy2LHYqS3Yutiy2ZHYqS3Yp9mE2KvYp9mG2YrYqS02MC3YtNmH2YrYr9in2YsiXSxbMjg4NzAsNCw1LCLZitmI2YUg2KfZhNmC2K/YsyDYp9mE2LnYp9mE2YXZiiIsItmK2YjZhS3Yp9mE2YLYr9izLdin2YTYudin2YTZhdmKIl0sWzI4ODYwLDQsOCwi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYptivINi52KjYryDYp9mE2YLYp9iv2LEg2KfZhNit2LPZitmG2YoiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9im2K8t2LnYqNivLdin2YTZgtin2K/YsS3Yp9mE2K3Ys9mK2YbZiiJdLFsyODg1OSw0LDksItmF2KzYstix2Kkg2K/ZitixINmK2KfYs9mK2YYiLCLZhdis2LLYsdipLdiv2YrYsS3Zitin2LPZitmGIl0sWzI4ODU4LDQsMTAsItin2LPYqti02YfYp9ivINin2YTZgtin2K/YqSDZg9mF2KfZhCDYudiv2YjYp9mG2Iwg2YPZhdin2YQg2YbYp9i12LHYjCDYo9io2Ygg2YrZiNiz2YEg2KfZhNmG2KzYp9ixIiwi2KfYs9iq2LTZh9in2K8t2KfZhNmC2KfYr9ipLdmD2YXYp9mELdi52K/ZiNin2YbYjC3Zg9mF2KfZhC3Zhtin2LXYsdiMIl0sWzI4ODQ5LDQsMTQsItin2LPYqti02YfYp9ivINin2YTZgtin2K/YqSDYtdmE2KfYrSDYrtmE2YHYjCDZh9in2YrZhCDYudio2K8g2KfZhNit2YXZitiv2Iwg2YHYrtix2Yog2KfZhNi52YXYsdmKIiwi2KfYs9iq2LTZh9in2K8t2KfZhNmC2KfYr9ipLdi12YTYp9itLdiu2YTZgdiMLdmH2KfZitmELdi52KjYry3Yp9mE2K3ZhSJdLFsyODg2OCw0LDE1LCLZhdiz2YrYsdipINmB2Yog2KjZitix2YjYqiDYr9i52YXYp9mLINmE2YHZhNiz2LfZitmGIiwi2YXYs9mK2LHYqS3ZgdmKLdio2YrYsdmI2Kot2K/YudmF2KfZiy3ZhNmB2YTYs9i32YrZhiJdLFsyODg1Nyw0LDE2LCLYp9iz2KrYtNmH2KfYryDYp9mE2YLYp9im2K8g2K7ZhNmK2YQg2KfZhNmI2LLZitixINmB2Yog2KrZiNmG2LMiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9im2K8t2K7ZhNmK2YQt2KfZhNmI2LLZitixLdmB2Yot2KrZiNmG2LMiXSxbMjg4NTUsNCwxNywi2KfYs9iq2LTZh9in2K8g2K8uINi52KjYryDYp9mE2LnYstmK2LIg2KfZhNix2YbYqtmK2LPZiiIsItin2LPYqti02YfYp9ivLdivLdi52KjYry3Yp9mE2LnYstmK2LIt2KfZhNix2YbYqtmK2LPZiiJdLFsyODg1Niw0LDE3LCLZitmI2YUg2KfZhNij2LPZitixINin2YTZgdmE2LPYt9mK2YbZiiIsItmK2YjZhS3Yp9mE2KPYs9mK2LEt2KfZhNmB2YTYs9i32YrZhtmKIl0sWzI4ODU0LDQsMTgsItmF2KzYstix2Kkg2YLYp9mG2KcgLSDYrNmG2YjYqCDZhNio2YbYp9mGIiwi2YXYrNiy2LHYqS3Zgtin2YbYpy3YrNmG2YjYqC3ZhNio2YbYp9mGIl1dKTsKIG1lbW9yeUluZGV4LnB1c2guYXBwbHkobWVtb3J5SW5kZXgsW1syODg1Myw0LDIwLCLYqNiv2KEg2KfZhNil2LbYsdin2Kgg2KfZhNi52KfZhSDZgdmKINmB2YTYs9i32YrZhiIsItio2K/YoS3Yp9mE2KXYttix2KfYqC3Yp9mE2LnYp9mFLdmB2Yot2YHZhNiz2LfZitmGIl0sWzI4ODQ3LDQsMjIsItin2LPYqti02YfYp9ivINin2YTZgtin2KbYryDYudmE2Yog2K3Ys9mGINiz2YTYp9mF2KkiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9im2K8t2LnZhNmKLdit2LPZhi3Ys9mE2KfZhdipIl0sWzI4ODMxLDUsMiwi2KfYs9iq2LTZh9in2K8g2KfZhNmG2KfYtNi3INis2YrZhdizINmF2YrZhNixIiwi2KfYs9iq2LTZh9in2K8t2KfZhNmG2KfYtNi3Ldis2YrZhdizLdmF2YrZhNixIl0sWzI4ODMwLDUsNywi2KfZhti32YTYp9mCINin2YTYq9mI2LHYqSDYp9mE2YPYqNix2Ykg2KjZgtmK2KfYr9ipINi52KjYryDYp9mE2YLYp9iv2LEg2KfZhNit2LPZitmG2YoiLCLYp9mG2LfZhNin2YIt2KfZhNir2YjYsdipLdin2YTZg9io2LHZiS3YqNmC2YrYp9iv2Kkt2LnYqNivLdin2YTZgtin2K8iXSxbMjg4MjksNSwxMCwi2KjYr9ihINmF2LnYsdmD2Kkg2LPZitmBINin2YTZgtiv2LMiLCLYqNiv2KEt2YXYudix2YPYqS3Ys9mK2YEt2KfZhNmC2K/YsyJdLFsyODgyNSw1LDE1LCLYp9mG2LfZhNin2YIg2YXYs9mK2LHYp9iqINmK2YjZhSDYp9mE2LnZiNiv2Kkg2YHZiiDYs9mI2LHZitipINmI2YTYqNmG2KfZhiDZiNmB2YTYs9i32YrZhiIsItin2YbYt9mE2KfZgi3Zhdiz2YrYsdin2Kot2YrZiNmFLdin2YTYudmI2K/YqS3ZgdmKLdiz2YjYsdmK2Kkt2YjZhNio2YYiXSxbMjg4MjYsNSwxNSwi2YrZiNmFINin2YTYudmI2K/YqSBcItiw2YPYsdmJINin2YTZhtmD2KjYqVwiIiwi2YrZiNmFLdin2YTYudmI2K/YqS3YsNmD2LHZiS3Yp9mE2YbZg9io2KkiXSxbMjg4MjQsNSwxNiwi2KfYqtmB2KfZgtmK2Kkg2LPYp9mK2YPYsyDYqNmK2YPZiCIsItin2KrZgdin2YLZitipLdiz2KfZitmD2LMt2KjZitmD2YgiXSxbMjg4MjMsNSwyMCwi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYptivINis2YfYp9ivINis2KjYsdmK2YQiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9im2K8t2KzZh9in2K8t2KzYqNix2YrZhCJdLFsyODgyNyw1LDIxLCLYp9mG2KrYtdin2LEg2KfZhNmF2YLYp9mI2YXYqSDYp9mE2YHZhNiz2LfZitmG2YrYqSDZgdmKINmF2LnYsdmD2Kkg2LPZitmBINin2YTZgtiv2LMiLCLYp9mG2KrYtdin2LEt2KfZhNmF2YLYp9mI2YXYqS3Yp9mE2YHZhNiz2LfZitmG2YrYqS3ZgdmKLdmF2LnYsdmD2Kkt2LMiXSxbMjg4MzIsNSwyMSwi2KvZiNix2Kkg2YrYp9mB2KciLCLYq9mI2LHYqS3Zitin2YHYpyJdLFsyODgyMiw1LDI1LCLYqtit2LHZitixINis2YbZiNioINmE2KjZhtin2YYiLCLYqtit2LHZitixLdis2YbZiNioLdmE2KjZhtin2YYiXSxbMjg4MjEsNSwyOCwi2KfZhti52YLYp9ivINin2YTZhdis2YTYsyDYp9mE2YjYt9mG2Yog2KfZhNmB2YTYs9i32YrZhtmKINin2YTYo9mI2YQiLCLYp9mG2LnZgtin2K8t2KfZhNmF2KzZhNizLdin2YTZiNi32YbZii3Yp9mE2YHZhNiz2LfZitmG2Yot2KfZhNij2YjZhCJdLFsyODgyMCw1LDMxLCLYp9mE2KfYudiq2K/Yp9ihINi52YTZiSDYo9iz2LfZiNmEINin2YTYrdix2YrYqSIsItin2YTYp9i52KrYr9in2KEt2LnZhNmJLdij2LPYt9mI2YQt2KfZhNit2LHZitipIl0sWzI4ODE5LDYsMiwi2KXYudmE2KfZhiDYpdmG2LTYp9ihINmF2YbYuNmF2Kkg2KfZhNiq2K3YsdmK2LEg2KfZhNmB2YTYs9i32YrZhtmK2KkiLCLYpdi52YTYp9mGLdil2YbYtNin2KEt2YXZhti42YXYqS3Yp9mE2KrYrdix2YrYsS3Yp9mE2YHZhNiz2LfZitmG2YrYqSJdLFsyODgxNyw2LDUsItit2LHYqCAxOTY3ICnYp9it2KrZhNin2YQg2LTYsdmCINin2YTZgtiv2LMoIiwi2K3YsdioLTE5Njct2KfYrdiq2YTYp9mELdi02LHZgi3Yp9mE2YLYr9izIl0sWzI4ODE2LDYsNiwi2KfZhNi52K/ZiNin2YYg2KfZhNi12ZHZh9mK2YjZhtmKINi52YTZiSDZhNio2YbYp9mGIiwi2KfZhNi52K/ZiNin2YYt2KfZhNi12ZHZh9mK2YjZhtmKLdi52YTZiS3ZhNio2YbYp9mGIl0sWzI4ODE4LDYsOCwi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYptivINis2YXYp9mEINij2KjZiCDYs9mF2YfYr9in2YbYqSIsItin2LPYqti02YfYp9ivLdin2YTZgtin2KbYry3YrNmF2KfZhC3Yo9io2Ygt2LPZhdmH2K/Yp9mG2KkiXV0pOwogbWVtb3J5SW5kZXgucHVzaC5hcHBseShtZW1vcnlJbmRleCxbWzI4ODE1LDYsMTcsItil2LnYr9in2YUg2LnYt9inINin2YTYstmR2YrYsdiMINmF2K3ZhdmR2K8g2KzZhdis2YjZhdiMINmB2KTYp9ivINit2KzYp9iy2YoiLCLYpdi52K/Yp9mFLdi52LfYpy3Yp9mE2LLZkdmK2LHYjC3Zhdit2YXZkdivLdis2YXYrNmI2YXYjC3Zgdik2KfYry3YrdisIl0sWzI4ODE0LDYsMjQsItin2LPYqti02YfYryDYp9mE2YbYp9i02Lcg2KfZhNmF2KvZgtmBINmG2LLYp9ixINio2YbYp9iqIiwi2KfYs9iq2LTZh9ivLdin2YTZhtin2LTYty3Yp9mE2YXYq9mC2YEt2YbYstin2LEt2KjZhtin2KoiXSxbMjg4MTIsNyw4LCLYp9mE2K3YsdioINin2YTYq9mR2KfZhNir2Kkg2LnZhNmJINi62LLYqSIsItin2YTYrdix2Kgt2KfZhNir2ZHYp9mE2KvYqS3YudmE2Ykt2LrYstipIl0sWzI4ODEzLDcsOCwi2KfYs9iq2LTZh9in2K8g2LrYs9mR2KfZhiDZg9mG2YHYp9mG2YoiLCLYp9iz2KrYtNmH2KfYry3Yutiz2ZHYp9mGLdmD2YbZgdin2YbZiiJdLFsyODgxMSw3LDEyLCLYrdix2Kgg2KrZhdmR2YjYstiMINin2YTYudiv2YjYp9mGINin2YTYtdmR2YfZitmI2YbZiiDYudmE2Ykg2YTYqNmG2KfZhiIsItit2LHYqC3YqtmF2ZHZiNiy2Iwt2KfZhNi52K/ZiNin2YYt2KfZhNi12ZHZh9mK2YjZhtmKLdi52YTZiS3ZhNio2YbYpyJdLFsyODgxMCw3LDE4LCLYqNiv2KEg2YfYqNipINin2YTZhdmC2K/Ys9mK2YrZhiDYsdmB2LbYp9mLINmE2YTYqNmI2KfYqNin2Kog2KfZhNin2YTZg9iq2LHZiNmG2YrYqSDYo9mF2KfZhSDYp9mE2YXYs9is2K8g2KfZhNij2YLYtdmJIiwi2KjYr9ihLdmH2KjYqS3Yp9mE2YXZgtiv2LPZitmK2YYt2LHZgdi22KfZiy3ZhNmE2KjZiNin2KjYp9iqLdin2YTYp9mEIl0sWzI4ODA5LDcsMTksItil2YLYsdin2LEg2YLYp9mG2YjZhiDZitmH2YjYr9mK2Kkg2KfZhNiv2YjZhNipINin2YTYudmG2LXYsdmKINmB2Yog2KfZhNmD2YbZitiz2KoiLCLYpdmC2LHYp9ixLdmC2KfZhtmI2YYt2YrZh9mI2K/ZitipLdin2YTYr9mI2YTYqS3Yp9mE2LnZhti12LHZii3ZgdmKLdinIl0sWzI4ODA4LDcsMjAsItmF2KzYstix2Kkg2KfZhNi02Y/YrNin2LnZitmR2KkgNzQg2LTZh9mK2K/Yp9mLIiwi2YXYrNiy2LHYqS3Yp9mE2LTZj9is2KfYudmK2ZHYqS03NC3YtNmH2YrYr9in2YsiXSxbMjg4MDcsNywyNSwi2K3YsdioINin2YTYo9mK2KfZhSDYp9mE2LPYqNi52KkgXCLYp9mE2LnYr9mI2KfZhiDYp9mE2LXZh9mK2YjZhtmKINi52YTZiSDZhNio2YbYp9mGXCIiLCLYrdix2Kgt2KfZhNij2YrYp9mFLdin2YTYs9io2LnYqS3Yp9mE2LnYr9mI2KfZhi3Yp9mE2LXZh9mK2YjZhtmKLdi52YQiXSxbMjg4MDYsNywyNywi2KfZhNin2K3YqtmE2KfZhCDZitiy2YrZhCDZg9mEINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDZgdix2LbZh9inINi52YbYryDYqNmI2KfYqNin2Kog2KfZhNmF2LPYrNivINin2YTYo9mC2LXZiSIsItin2YTYp9it2KrZhNin2YQt2YrYstmK2YQt2YPZhC3Yp9mE2KXYrNix2KfYodin2Kot2KfZhNiq2Yot2YHYsdi22YfYpyJdLFsyODgwNSw4LDE0LCLYp9mG2KrYtdin2LEg2KrZhdmI2ZHYsiIsItin2YbYqti12KfYsS3YqtmF2YjZkdiyIl0sWzI4ODA0LDgsMTUsItir2YjYsdipINin2YTYqNix2KfZgiIsItir2YjYsdipLdin2YTYqNix2KfZgiJdLFsyODgwMyw4LDIxLCLYpdit2LHYp9mCINin2YTZhdiz2KzYryDYp9mE2KPZgti12YkiLCLYpdit2LHYp9mCLdin2YTZhdiz2KzYry3Yp9mE2KPZgti12YkiXSxbMjg4MDIsOCwyNywi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYptivINij2KjZiCDYudmE2Yog2YXYtdi32YHZiSIsItin2LPYqti02YfYp9ivLdin2YTZgtin2KbYry3Yo9io2Ygt2LnZhNmKLdmF2LXYt9mB2YkiXSxbMjg4MDAsOCwyOSwi2KfYs9iq2LTZh9in2K8g2KfZhNmB2YbYp9mGINmG2KfYrNmKINin2YTYudmE2YoiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YHZhtin2YYt2YbYp9is2Yot2KfZhNi52YTZiiJdLFsyODgwMSw4LDI5LCLYp9mE2YXYpNiq2YXYsSDYp9mE2LXZkdmH2YrZiNmG2Yog2KfZhNij2YjZkdmEINio2LHYptin2LPYqSDZh9ix2KrYstmEIiwi2KfZhNmF2KTYqtmF2LEt2KfZhNi12ZHZh9mK2YjZhtmKLdin2YTYo9mI2ZHZhC3YqNix2KbYp9iz2Kkt2YfYsdiq2LIiXSxbMjg3OTksOCwzMCwi2K7YsdmI2Kwg2YUu2Kou2YEuINmF2YYg2KjZitix2YjYqiDYpdmE2Ykg2KrZiNmG2LMiLCLYrtix2YjYrC3ZhS3Yqi3ZgS3ZhdmGLdio2YrYsdmI2Kot2KXZhNmJLdiq2YjZhtizIl0sWzI4Nzk3LDksNiwi2LnZhdmE2YrYqSBcItmG2YHZgiDYp9mE2K3YsdmK2KlcIiDZhdmGINiz2KzZhiDYrNmE2KjZiNi5Iiwi2LnZhdmE2YrYqS3ZhtmB2YIt2KfZhNit2LHZitipLdmF2YYt2LPYrNmGLdis2YTYqNmI2LkiXV0pOwogbWVtb3J5SW5kZXgucHVzaC5hcHBseShtZW1vcnlJbmRleCxbWzI4Nzk4LDksMTIsItin2YTYp9mG2K/Yrdin2LEg2KfZhNi12ZHZh9mK2YjZhtmKINmF2YYg2YLYt9in2LkgINi62LLYqSIsItin2YTYp9mG2K/Yrdin2LEt2KfZhNi12ZHZh9mK2YjZhtmKLdmF2YYt2YLYt9in2Lkt2LrYstipIl0sWzI4Nzk2LDksMTMsItiq2YjZgtmK2Lkg2KfYqtmR2YHYp9mCINij2YjYs9mE2YgiLCLYqtmI2YLZiti5Ldin2KrZkdmB2KfZgi3Yo9mI2LPZhNmIIl0sWzI4Nzk0LDksMTUsItiq2YjZgtmK2Lkg2KfYqtmB2KfZgtmK2KfYqiDYp9mE2KrYt9io2YrYuSDYqNmK2YYg2KfZhNil2YXYp9ix2KfYqiDZiNin2YTYqNit2LHZitmGINmI2YPZitin2YYg2KfZhNin2K3YqtmE2KfZhCIsItiq2YjZgtmK2Lkt2KfYqtmB2KfZgtmK2KfYqi3Yp9mE2KrYt9io2YrYuS3YqNmK2YYt2KfZhNil2YXYp9ix2KfYqi3ZiCJdLFsyODc5Myw5LDE2LCLZhdis2LLYsdipINi12KjYsdinINmI2LTYp9iq2YrZhNinIiwi2YXYrNiy2LHYqS3Ytdio2LHYpy3ZiNi02KfYqtmK2YTYpyJdLFsyODc5Miw5LDE3LCLZhdi52KfZh9iv2Kkg2YPYp9mF2Kgg2K/ZitmB2YrYryIsItmF2LnYp9mH2K/YqS3Zg9in2YXYqC3Yr9mK2YHZitivIl0sWzI4NzkwLDksMjIsItin2YbYqtmB2KfYttipINin2YTZgtiv2LMiLCLYp9mG2KrZgdin2LbYqS3Yp9mE2YLYr9izIl0sWzI4NzkxLDksMjIsItij2LPYqNmI2Lkg2KfZhNin2YbYqtmB2KfYttipIiwi2KPYs9io2YjYuS3Yp9mE2KfZhtiq2YHYp9i22KkiXSxbMjg3ODksOSwyOCwi2KfZhtiq2YHYp9i22Kkg2KfZhNij2YLYtdmJIiwi2KfZhtiq2YHYp9i22Kkt2KfZhNij2YLYtdmJIl0sWzI4Nzg4LDksMzAsItin2LPYqti02YfYp9ivINmF2K3ZhdivINin2YTYr9ix2ZHYqSIsItin2LPYqti02YfYp9ivLdmF2K3ZhdivLdin2YTYr9ix2ZHYqSJdLFsyODc4NywxMCw2LCLYrdix2Kgg2KrYtNix2YrZhiDYp9mE2KrYrdix2YrYsdmK2KkiLCLYrdix2Kgt2KrYtNix2YrZhi3Yp9mE2KrYrdix2YrYsdmK2KkiXSxbMjg3ODYsMTAsOCwi2YXYrNiy2LHYqSDYp9mE2YXYs9is2K8g2KfZhNij2YLYtdmJIiwi2YXYrNiy2LHYqS3Yp9mE2YXYs9is2K8t2KfZhNij2YLYtdmJIl0sWzI4Nzg1LDEwLDEzLCLZhdi42KfZh9ix2Kkg2KfZhNmC2K/YsyDYp9mE2YPYqNix2YkiLCLZhdi42KfZh9ix2Kkt2KfZhNmC2K/Ysy3Yp9mE2YPYqNix2YkiXSxbMjg3ODQsMTAsMTQsItmF2KzYstix2Kkg2YLYqNmK2ZHYqSA2NyDYtNmH2YrYr9in2YsiLCLZhdis2LLYsdipLdmC2KjZitmR2KktNjct2LTZh9mK2K/Yp9mLIl0sWzI4NzgzLDEwLDIzLCLYqtmI2YLZiti5INin2KrZgdin2YIg2KfZhNiq2LfYqNmK2Lkg2KjZitmGINin2YTYs9mI2K/Yp9mGINmI2YPZitin2YYg2KfZhNin2K3YqtmE2KfZhCIsItiq2YjZgtmK2Lkt2KfYqtmB2KfZgi3Yp9mE2KrYt9io2YrYuS3YqNmK2YYt2KfZhNiz2YjYr9in2YYt2YjZg9mK2KfZhiJdLFsyODc4MiwxMCwyNiwi2KfYs9iq2LTZh9in2K8g2KfZhNmC2KfYptivINmB2KrYrdmKINin2YTYtNmR2YLYp9mC2YoiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2YLYp9im2K8t2YHYqtit2Yot2KfZhNi02ZHZgtin2YLZiiJdLFsyODc4MCwxMCwyOSwi2YXYrNiy2LHYqSDZg9mB2LEg2YLYp9iz2YUiLCLZhdis2LLYsdipLdmD2YHYsS3Zgtin2LPZhSJdLFsyODc4MSwxMCwyOSwi2KjYr9ihINin2YTYudiv2YjYp9mGINin2YTYq9mE2KfYq9mKINi52YTZiSDZhdi12LEiLCLYqNiv2KEt2KfZhNi52K/ZiNin2YYt2KfZhNir2YTYp9ir2Yot2LnZhNmJLdmF2LXYsSJdLFsyODc3OSwxMSwyLCLYpdi52YTYp9mGINmI2LnYryDYqNmE2YHZiNixINin2YTZhdi02KTZiNmFIiwi2KXYudmE2KfZhi3ZiNi52K8t2KjZhNmB2YjYsS3Yp9mE2YXYtNik2YjZhSJdXSk7CiBtZW1vcnlJbmRleC5wdXNoLmFwcGx5KG1lbW9yeUluZGV4LFtbMjg3NzcsMTEsMTEsItmF2LnYsdmD2Kkg2K3YryDYp9mE2LPZitmBINmB2Yog2LrYstipIiwi2YXYudix2YPYqS3YrdivLdin2YTYs9mK2YEt2YHZii3Yutiy2KkiXSxbMjg3NzgsMTEsMTEsItin2LPYqti02YfYp9ivINin2YTYsdim2YrYsyDZitin2LPYsSDYudix2YHYp9iqIiwi2KfYs9iq2LTZh9in2K8t2KfZhNix2KbZitizLdmK2KfYs9ixLdi52LHZgdin2KoiXSxbMjg3NzYsMTEsMTIsItin2LPYqti02YfYp9ivINin2YTZgtin2KbYryDYqNmH2KfYoSDYo9io2Ygg2KfZhNi52LfYpyIsItin2LPYqti02YfYp9ivLdin2YTZgtin2KbYry3YqNmH2KfYoS3Yo9io2Ygt2KfZhNi52LfYpyJdLFsyODc3NSwxMSwxMywi2YXYrNiy2LHYqSDZgtix2YrYqSDYp9mE2LPZhdmR2YjYuSIsItmF2KzYstix2Kkt2YLYsdmK2Kkt2KfZhNiz2YXZkdmI2LkiXSxbMjg3NzQsMTEsMTQsItmF2LnYsdmD2Kkg2K3YrNin2LHYqSDYp9mE2LPYrNmK2YQg2YHZiiDYutiy2KkiLCLZhdi52LHZg9ipLdit2KzYp9ix2Kkt2KfZhNiz2KzZitmELdmB2Yot2LrYstipIl0sWzI4NzczLDExLDIwLCLYp9iz2KrYtNmH2KfYryDYp9mE2LTZkdmK2K4g2LnYstmRINin2YTYr9mK2YYg2KfZhNmC2LPZkdin2YUiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2LTZkdmK2K4t2LnYstmRLdin2YTYr9mK2YYt2KfZhNmC2LPZkdin2YUiXSxbMjg3NzIsMTEsMjIsItil2LnYr9in2YUg2KfZhNi02ZHZitiuINmB2LHYrdin2YYg2KfZhNiz2ZHYudiv2YoiLCLYpdi52K/Yp9mFLdin2YTYtNmR2YrYri3Zgdix2K3Yp9mGLdin2YTYs9mR2LnYr9mKIl0sWzI4NzcwLDExLDI5LCLYp9mE2YXYpNiq2YXYsSDYp9mE2KrYo9iz2YrYs9mK2ZEg2KfZhNij2YjZkdmEINmE2YTYrdmF2YTYqSDYp9mE2LnYp9mE2YXZitmR2Kkg2YTZhNi52YjYr9ipINil2YTZiSDZgdmE2LPYt9mK2YYiLCLYp9mE2YXYpNiq2YXYsS3Yp9mE2KrYo9iz2YrYs9mK2ZEt2KfZhNij2YjZkdmELdmE2YTYrdmF2YTYqS3Yp9mE2LnYpyJdLFsyODc3MSwxMSwyOSwi2KfZhNmK2YjZhSDYp9mE2LnYp9mE2YXZitmRINmE2YTYqtmR2LbYp9mF2YYg2YXYuSDYp9mE2LTZkdi52Kgg2KfZhNmB2YTYs9i32YrZhtmKIiwi2KfZhNmK2YjZhS3Yp9mE2LnYp9mE2YXZitmRLdmE2YTYqtmR2LbYp9mF2YYt2YXYuS3Yp9mE2LTZkdi52Kgt2KfZhNmBIl0sWzI4NzY5LDEyLDYsItil2LnZhNin2YYg2KrYsdin2YXYqCDZhtmC2YQg2KfZhNiz2YHYp9ix2Kkg2KfZhNij2YXYsdmK2YPZitipINil2YTZiSDYp9mE2YLYr9izIiwi2KXYudmE2KfZhi3Yqtix2KfZhdioLdmG2YLZhC3Yp9mE2LPZgdin2LHYqS3Yp9mE2KPZhdix2YrZg9mK2Kkt2KXZhNmJIl0sWzI4NzY4LDEyLDcsItin2YTZhdik2KrZhdixINin2YTYpdiz2YTYp9mF2Yog2KfZhNi52KfZhSDZgdmKINin2YTZgtiv2LMiLCLYp9mE2YXYpNiq2YXYsS3Yp9mE2KXYs9mE2KfZhdmKLdin2YTYudin2YUt2YHZii3Yp9mE2YLYr9izIl0sWzI4NzY3LDEyLDgsItin2YTYp9mG2KrZgdin2LbYqSDYp9mE2KPZiNmE2YkiLCLYp9mE2KfZhtiq2YHYp9i22Kkt2KfZhNij2YjZhNmJIl0sWzI4NzY2LDEyLDksItin2YTYp9it2KrZhNin2YQg2KfZhNio2LHZiti32KfZhtmKINmE2YTZgtiv2LMiLCLYp9mE2KfYrdiq2YTYp9mELdin2YTYqNix2YrYt9in2YbZii3ZhNmE2YLYr9izIl0sWzI4NzY1LDEyLDEwLCLYqtmI2YLZiti5INin2KrZgdin2YIg2KfZhNiq2LfYqNmK2Lkg2KjZitmGINin2YTZhdi62LHYqCDZiNmD2YrYp9mGINin2YTYp9it2KrZhNin2YQiLCLYqtmI2YLZiti5Ldin2KrZgdin2YIt2KfZhNiq2LfYqNmK2Lkt2KjZitmGLdin2YTZhdi62LHYqC3ZiNmD2YrYp9mGLdinIl0sWzI4NzY0LDEyLDE3LCLYpdio2LnYp9ivIDQxNSDZgdmE2LPYt9mK2YbZitin2Ysg2KXZhNmJINmF2LHYrCDYp9mE2LLZh9mI2LEiLCLYpdio2LnYp9ivLTQxNS3ZgdmE2LPYt9mK2YbZitin2Yst2KXZhNmJLdmF2LHYrC3Yp9mE2LLZh9mI2LEiXSxbMjg3NjMsMTIsMTksItin2LPYqti02YfYp9ivINin2YTYo9iz2YrYsSDYp9mE2YXYrdix2LEg2LPZhdmK2LEg2KfZhNmC2YbYt9in2LEiLCLYp9iz2KrYtNmH2KfYry3Yp9mE2KPYs9mK2LEt2KfZhNmF2K3YsdixLdiz2YXZitixLdin2YTZgtmG2LfYp9ixIl0sWzI4NzYyLDEyLDI1LCLYqtij2LPZitizINis2YrYtCDYp9mE2KzZh9in2K8g2KfZhNmF2YLYr9mR2LMg2KjZgtmK2KfYr9ipINi52KjYryDYp9mE2YLYp9iv2LEg2KfZhNit2LPZitmG2YoiLCLYqtij2LPZitizLdis2YrYtC3Yp9mE2KzZh9in2K8t2KfZhNmF2YLYr9mR2LMt2KjZgtmK2KfYr9ipLdi52KjYry3Yp9mEIl0sWzI4NzYxLDEyLDI3LCLYp9mE2K3YsdioINin2YTYo9mI2YTZiSDYudmE2Ykg2LrYstmR2KkiLCLYp9mE2K3YsdioLdin2YTYo9mI2YTZiS3YudmE2Ykt2LrYstmR2KkiXV0pOwogdmFyIHJlbmRlcmVkQ29kZT0nJzsgICAgICAgCiB2YXIgbWVtb3J5Q29ycmVjdGlvbnM9W1syODgxMCw3LDE4LCLYqNiv2KEg2YfYqNipINin2YTZhdmC2K/Ys9mK2YrZhiDYsdmB2LbYp9mLINmE2YTYqNmI2KfYqNin2Kog2KfZhNin2YTZg9iq2LHZiNmG2YrYqSJdLFsyODgwNyw3LDI1LCLYudiv2YjYp9mGINin2YTYo9mK2KfZhSDYp9mE2LPYqNi52Kkg2KfZhNi12YfZitmI2YbZiiDYudmE2Ykg2YTYqNmG2KfZhiJdLFsyODgwNiw3LDI3LCLYp9mE2YPZitin2YYg2YrYstmK2YQg2YPZhCDYp9mE2KXYrNix2KfYodin2Kog2KfZhNiq2Yog2YHYsdi22YfYpyDYudmG2K8g2KjZiNin2KjYp9iqINin2YTZhdiz2KzYryDYp9mE2KPZgti12YkiXSxbMjg4MDUsOCwxNCwi2KfZhNin2YbYqti12KfYsSDZgdmKINit2LHYqCDYqtmF2YjZkdiyIC0g2YTYqNmG2KfZhiJdLFsyODc5OCw5LDEyLCLYp9mE2KfZhtiv2K3Yp9ixINin2YTYtdmR2YfZitmI2YbZiiDZhdmGINmC2LfYp9i5INi62LLYqSJdLFsyODc4NywxMCw2LCLYrdix2Kgg2KPZg9iq2YjYqNixIC0g2KrYtNix2YrZhiDYp9mE2KrYrdix2YrYsdmK2KkiXSxbMjg3NjksMTIsNiwi2KfZhNij2YXYsdmK2YPZiiDZitmG2YLZhCDYs9mB2KfYsdiq2Ycg2YTYr9mJINin2YTZg9mK2KfZhiDYpdmE2Ykg2KfZhNmC2K/YsyDYp9mE2YXYrdiq2YTYqSJdXTttZW1vcnlDb3JyZWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKHUpe3ZhciB4PW1lbW9yeUluZGV4LmZpbmQoZnVuY3Rpb24oeSl7cmV0dXJuIHlbMF09PT11WzBdfSk7aWYoeCl7eFsxXT11WzFdO3hbMl09dVsyXTt4WzNdPXVbM119fSk7CiBtZW1vcnlJbmRleC5wdXNoLmFwcGx5KG1lbW9yeUluZGV4LFtbMzc0OTYsMiwyOSwi2YXYrNiy2LHYqSDYp9mE2LfYrdmK2YYiLCLZhdis2LLYsdipLdin2YTYt9it2YrZhiJdLFszNzQ5NywzLDE4LCLZhdis2LLYsdipINmF2LPYqti02YHZiSDYp9mE2LTZgdin2KEiLCLZhdis2LLYsdipLdmF2LPYqti02YHZiS3Yp9mE2LTZgdin2KEiXSxbMzc0OTgsNiw4LCLZhdis2LLYsdipINin2YTZhti12YrYsdin2KoiLCLZhdis2LLYsdipLdin2YTZhti12YrYsdin2KoiXSxbMzc0OTksNywxMywi2YXYrNiy2LHYqSDYrtin2YYg2YrZiNmG2LMiLCLZhdis2LLYsdipLdiu2KfZhi3ZitmI2YbYsyJdLFszNzUwMCw3LDEzLCLZhdis2LLYsdipINin2YTZhdmI2KfYtdmKIiwi2YXYrNiy2LHYqS3Yp9mE2YXZiNin2LXZiiJdLFszNzUwMSw4LDEwLCLZhdis2LLYsdipINmF2K/Ysdiz2Kkg2KfZhNiq2KfYqNi52YrZhiIsItmF2KzYstix2Kkt2YXYr9ix2LPYqS3Yp9mE2KrYp9io2LnZitmGIl0sWzM3NTAyLDksNiwi2KfYs9iq2LTZh9in2K8g2KfZhNmG2KfYtNi32Kkg2YjYp9mE2YXYqti22KfZhdmG2Kkg2LnYp9im2LTYqSDZhtmI2LEg2KXZitiy2LrZiiIsItin2LPYqti02YfYp9ivLdin2YTZhtin2LTYt9ipLdmI2KfZhNmF2KrYttin2YXZhtipLdi52KfYpti02Kkt2YbZiNixIl0sWzM3NTAzLDksMTUsItin2KzYqtmK2KfYrSDYqNmK2LHZiNiqIiwi2KfYrNiq2YrYp9itLdio2YrYsdmI2KoiXSxbMzc1MDQsOSwyMCwi2YXYrNiy2LHYqSDYqNmK2Kog2YTYp9mH2YrYpyIsItmF2KzYstix2Kkt2KjZitiqLdmE2KfZh9mK2KciXSxbMzc1MDUsMTAsNywi2YXYudix2YPYqSDYt9mI2YHYp9mGINin2YTYo9mC2LXZiSIsItmF2LnYsdmD2Kkt2LfZiNmB2KfZhi3Yp9mE2KPZgti12YkiXSxbMzc1MDYsMTAsMTcsIijZhdis2LLYsdipINmF2LPYqti02YHZiSDYp9mE2YXYudmF2K/Yp9mG2YopIiwi2YXYrNiy2LHYqS3Zhdiz2KrYtNmB2Ykt2KfZhNmF2LnZhdiv2KfZhtmKIl0sWzM3NTA3LDEwLDMxLCLZhdis2LLYsdipINis2KjYp9mE2YrYpyIsItmF2KzYstix2Kkt2KzYqNin2YTZitinIl0sWzM3NDk1LDExLDE4LCLZhdis2KfYstixINmF2K/Ysdiz2KrZiiDYp9mE2YHYp9iu2YjYsdipINmI2KrZhCDYp9mE2LLYudiq2LEiLCLZhdis2KfYstixLdmF2K/Ysdiz2KrZii3Yp9mE2YHYp9iu2YjYsdipLdmI2KrZhC3Yp9mE2LLYudiq2LEiXSxbMzc1MDksMTIsMTYsItmF2KzYstix2Kkg2YXYs9iq2LTZgdmJINmD2YXYp9mEINi52K/ZiNin2YYiLCLZhdis2LLYsdipLdmF2LPYqti02YHZiS3Zg9mF2KfZhC3Yudiv2YjYp9mGIl0sWzM3NTEwLDEyLDI0LCLZhdis2LLYsdipINmF2K7ZitmFINin2YTZhdi62KfYstmKIiwi2YXYrNiy2LHYqS3Zhdiu2YrZhS3Yp9mE2YXYutin2LLZiiJdXSk7CiAKIC8qIERlY2VtYmVyIDIwMjYgYXJjaGl2ZSBsYWJlbHMgcmVmbGVjdCB0aGUgcmV2aWV3ZWQgcHVibGlzaGVkIHRpdGxlczsgZXZlbnQgcGVybWFsaW5rcyBwcmVzZXJ2ZWQuICovCiB2YXIgZGVjZW1iZXJUaXRsZUZpeD17Mjg3Njk6Ilx1MDYyNVx1MDYzOVx1MDY0NFx1MDYyN1x1MDY0NiBcdTA2MmFcdTA2MzFcdTA2MjdcdTA2NDVcdTA2MjggXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjM5XHUwNjJhXHUwNjMxXHUwNjI3XHUwNjQxIFx1MDYyOFx1MDYyN1x1MDY0NFx1MDY0Mlx1MDYyZlx1MDYzMyBcdTA2MzlcdTA2MjdcdTA2MzVcdTA2NDVcdTA2MjlcdTA2NGIgXHUwNjQ0XHUwNjI1XHUwNjMzXHUwNjMxXHUwNjI3XHUwNjI2XHUwNjRhXHUwNjQ0IFx1MDY0OFx1MDY0Mlx1MDYzMVx1MDYyN1x1MDYzMSBcdTA2NDZcdTA2NDJcdTA2NDQgXHUwNjI3XHUwNjQ0XHUwNjMzXHUwNjQxXHUwNjI3XHUwNjMxXHUwNjI5IiwyODc2ODoiXHUwNjI3XHUwNjQ0XHUwNjQ1XHUwNjI0XHUwNjJhXHUwNjQ1XHUwNjMxIFx1MDYyN1x1MDY0NFx1MDYyNVx1MDYzM1x1MDY0NFx1MDYyN1x1MDY0NVx1MDY0YVx1MDY1MSBcdTA2MjdcdTA2NDRcdTA2MzlcdTA2MjdcdTA2NDUgXHUwNjQxXHUwNjRhIFx1MDYyN1x1MDY0NFx1MDY0Mlx1MDYyZlx1MDYzMyIsMjg3Njc6Ilx1MDYyN1x1MDY0NFx1MDYyN1x1MDY0Nlx1MDYyYVx1MDY0MVx1MDYyN1x1MDYzNlx1MDYyOSBcdTA2MjdcdTA2NDRcdTA2NDFcdTA2NDRcdTA2MzNcdTA2MzdcdTA2NGFcdTA2NDZcdTA2NGFcdTA2NTFcdTA2MjkgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjQ4XHUwNjQ0XHUwNjQ5IiwyODc2NjoiXHUwNjI3XHUwNjQ0XHUwNjI3XHUwNjJkXHUwNjJhXHUwNjQ0XHUwNjI3XHUwNjQ0IFx1MDYyN1x1MDY0NFx1MDYyOFx1MDYzMVx1MDY0YVx1MDYzN1x1MDYyN1x1MDY0Nlx1MDY0YVx1MDY1MSBcdTA2NDRcdTA2NDRcdTA2NDJcdTA2MmZcdTA2MzMiLDI4NzY1OiJcdTA2MjdcdTA2NDRcdTA2MjVcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDYgXHUwNjM5XHUwNjQ2IFx1MDYyYVx1MDYzN1x1MDYyOFx1MDY0YVx1MDYzOSBcdTA2MjdcdTA2NDRcdTA2MzlcdTA2NDRcdTA2MjdcdTA2NDJcdTA2MjdcdTA2MmEgXHUwNjI4XHUwNjRhXHUwNjQ2IFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYzYVx1MDYzMVx1MDYyOCBcdTA2NDhcdTA2MjVcdTA2MzNcdTA2MzFcdTA2MjdcdTA2MjZcdTA2NGFcdTA2NDQiLDM3NTA5OiJcdTA2MjdcdTA2NDJcdTA2MmFcdTA2MmRcdTA2MjdcdTA2NDUgXHUwNjQ1XHUwNjMzXHUwNjJhXHUwNjM0XHUwNjQxXHUwNjQ5IFx1MDY0M1x1MDY0NVx1MDYyN1x1MDY0NCBcdTA2MzlcdTA2MmZcdTA2NDhcdTA2MjdcdTA2NDYgXHUwNjQ4XHUwNjJhXHUwNjM2XHUwNjMxXHUwNjUxXHUwNjMxXHUwNjQ3IFx1MDY0MVx1MDY0YSBcdTA2MjhcdTA2NGFcdTA2MmEgXHUwNjQ0XHUwNjI3XHUwNjQ3XHUwNjRhXHUwNjI3IiwyODc2NDoiXHUwNjI1XHUwNjI4XHUwNjM5XHUwNjI3XHUwNjJmIFx1MDY2NFx1MDY2MVx1MDY2NSBcdTA2NDFcdTA2NDRcdTA2MzNcdTA2MzdcdTA2NGFcdTA2NDZcdTA2NGFcdTA2NTFcdTA2NGJcdTA2MjcgXHUwNjI1XHUwNjQ0XHUwNjQ5IFx1MDY0NVx1MDYzMVx1MDYyYyBcdTA2MjdcdTA2NDRcdTA2MzJcdTA2NDdcdTA2NDhcdTA2MzEiLDI4NzYzOiJcdTA2MjdcdTA2MzNcdTA2MmFcdTA2MzRcdTA2NDdcdTA2MjdcdTA2MmYgXHUwNjI3XHUwNjQ0XHUwNjIzXHUwNjMzXHUwNjRhXHUwNjMxIFx1MDYyN1x1MDY0NFx1MDY0NVx1MDYyZFx1MDYzMVx1MDY1MVx1MDY0ZVx1MDYzMSBcdTA2MzNcdTA2NDVcdTA2NGFcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjQyXHUwNjQ2XHUwNjM3XHUwNjI3XHUwNjMxIiwzNzUxMDoiXHUwNjQ1XHUwNjJjXHUwNjMyXHUwNjMxXHUwNjI5IFx1MDY0NVx1MDYyZVx1MDY0YVx1MDY1MVx1MDY0NSBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2M2FcdTA2MjdcdTA2MzJcdTA2NGEiLDI4NzYyOiJcdTA2MmFcdTA2MzRcdTA2NDNcdTA2NGFcdTA2NDQgXHUwNjQzXHUwNjJhXHUwNjI3XHUwNjI2XHUwNjI4IFx1MDYyN1x1MDY0NFx1MDYyY1x1MDY0N1x1MDYyN1x1MDYyZiBcdTA2MjdcdTA2NDRcdTA2NDVcdTA2NDJcdTA2MmZcdTA2NTFcdTA2MzMgXHUwNjI4XHUwNjQyXHUwNjRhXHUwNjI3XHUwNjJmXHUwNjI5IFx1MDYzOVx1MDYyOFx1MDYyZiBcdTA2MjdcdTA2NDRcdTA2NDJcdTA2MjdcdTA2MmZcdTA2MzEgXHUwNjI3XHUwNjQ0XHUwNjJkXHUwNjMzXHUwNjRhXHUwNjQ2XHUwNjRhIiwyODc2MToiXHUwNjI4XHUwNjJmXHUwNjIxIFx1MDYyN1x1MDY0NFx1MDYyZFx1MDYzMVx1MDYyOCBcdTA2MzlcdTA2NDRcdTA2NDkgXHUwNjNhXHUwNjMyXHUwNjUxXHUwNjI5IFx1MDYzOVx1MDYyN1x1MDY0NSBcdTA2NjJcdTA2NjBcdTA2NjBcdTA2NjgifTsKIG1lbW9yeUluZGV4LmZvckVhY2goZnVuY3Rpb24oaXRlbSl7aWYoaXRlbVsxXT09PTEyJiZkZWNlbWJlclRpdGxlRml4W2l0ZW1bMF1dKWl0ZW1bM109ZGVjZW1iZXJUaXRsZUZpeFtpdGVtWzBdXTt9KTsKIHZhciBzb3VyY2U9IG51bGwsb2JzZXJ2ZXI9bnVsbCxtb250aElkPScnICAsZ3JvdXBzPVtdLHNlbGVjdGVkRGF5PTAsc2VsZWN0ZWRJZD0wLGRldGFpbFJlcXVlc3Q9MCxxdWV1ZWQ9ZmFsc2UscmVhZHk9ZmFsc2UsYnVzeT1mYWxzZSxwZW5kaW5nRGF5RGlyZWN0aW9uPTAsanVtcFRhcmdldD0nJyxqdW1wRGlyZWN0aW9uPTAsbmF2VG9rZW49MDsKIHZhciBtb250aHM9WyfZg9in2YbZiNmGINin2YTYq9in2YbZiicsJ9i02KjYp9i3Jywn2KLYsNin2LEnLCfZhtmK2LPYp9mGJywn2KPZitmR2KfYsScsJ9it2LLZitix2KfZhicsJ9iq2YXZkdmI2LInLCfYotioJywn2KPZitmE2YjZhCcsJ9iq2LTYsdmK2YYg2KfZhNij2YjZkdmEJywn2KrYtNix2YrZhiDYp9mE2KvYp9mG2YonLCfZg9in2YbZiNmGINin2YTYo9mI2ZHZhCddOwogdmFyIG1vbnRoQWxpYXNlcz1bJ9mK2YbYp9mK2LEnLCfZgdio2LHYp9mK2LEnLCfZhdin2LHYsycsJ9ij2KjYsdmK2YQnLCfZhdin2YrZiCcsJ9mK2YjZhtmK2YgnLCfZitmI2YTZitmIJywn2KPYutiz2LfYsycsJ9iz2KjYqtmF2KjYsScsJ9ij2YPYqtmI2KjYsScsJ9mG2YjZgdmF2KjYsScsJ9iv2YrYs9mF2KjYsSddOwogdmFyIGV2ZW50Q2FjaGU9bmV3IE1hcCgpOwogdmFyIGNvbnRleHR1YWxDYXB0aW9ucz17Mjg3Nzc6Itiu2KfZhiDZitmI2YbYsyDYudin2YUg2aLZoNmh2akg4oCUINi12YjYsdipINij2LHYtNmK2YHZitmR2KkiLDI4Nzc2OiLYrdmK2ZEg2KfZhNi02KzYp9i52YrZkdipINi52KfZhSDZotmg2aHZpyDigJQg2LXZiNix2Kkg2KPYsdi02YrZgdmK2ZHYqSIsMjg3NzQ6Iti62LLZkdipINmB2Yog2aLZoSDYqti02LHZitmGINin2YTYq9in2YbZiiDZotmg2aHZoiDigJQg2LXZiNix2Kkg2KPYsdi02YrZgdmK2ZHYqSIsMzc0OTU6Itin2YTZgdin2K7ZiNix2Kkg2K7ZhNin2YQg2LnYr9mI2KfZhiDZotmg2aDZqSDigJQg2LXZiNix2Kkg2KPYsdi02YrZgdk=itipIn07CiB2YXIgYXI9ZnVuY3Rpb24obnVtKXtyZXR1cm4gU3RyaW5nKG51bSkucmVwbGFjZSgvWzAtOV0vZyxmdW5jdGlvbihjKXtyZXR1cm4gJ9mg2aHZotmj2aTZpdmm2afZqNmpJ1srY119KX07CiBmdW5jdGlvbiB0ZXh0KGh0bWwpe3ZhciBlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtlbC5pbm5lckhUTUw9U3RyaW5nKGh0bWx8fCcnKTtyZXR1cm4oZWwudGV4dENvbnRlbnR8fCcnKS5yZXBsYWNlKC9ccysvZywnICcpLnRyaW0oKX0KIGZ1bmN0aW9uIGxvY2FsRGF5KCl7dmFyIHBhcnRzPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1HQicse3RpbWVab25lOidBc2lhL0JlaXJ1dCcsZGF5OicyLWRpZ2l0Jyxtb250aDonMi1kaWdpdCcseWVhcjonbnVtZXJpYyd9KS5mb3JtYXRUb1BhcnRzKG5ldyBEYXRlKCkpO3ZhciBvPXt9O3BhcnRzLmZvckVhY2goZnVuY3Rpb24ocCl7b1twLnR5cGVdPXAudmFsdWV9KTtyZXR1cm4ge2RheTpOdW1iZXIoby5kYXkpLG1vbnRoOk51bWJlcihvLm1vbnRoKSx5ZWFyOk51bWJlcihvLnllYXIpfX0KIGZ1bmN0aW9uIHNhZmVMaW5rKHVybCl7dHJ5e3ZhciBwPW5ldyBVUkwodXJsLGxvY2F0aW9uLmhyZWYpO3JldHVybiBwLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbiYmcC5wYXRobmFtZS5pbmRleE9mKCcvZXZlbnRzLycpPT09MD9wLmhyZWY6bnVsbH1jYXRjaChfKXtyZXR1cm4gbnVsbH19CiBmdW5jdGlvbiBzb3VyY2VSb290KCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWNfc2tpbl8yODg3MicpfQogZnVuY3Rpb24gZ2V0TW9udGgoKXt2YXIgZWw9c291cmNlJiZzb3VyY2UucXVlcnlTZWxlY3RvcignLm1lYy1tb250aC1jb250YWluZXItc2VsZWN0ZWRbZGF0YS1tb250aC1pZF0nKTtpZighZWwpZWw9c291cmNlJiZzb3VyY2UucXVlcnlTZWxlY3RvcignLm1lYy1tb250aC1jb250YWluZXJbZGF0YS1tb250aC1pZF0nKTtyZXR1cm4gZWx9CiBmdW5jdGlvbiBleHRyYWN0KCl7CiAgdmFyIGNvZGU9bW9udGhJZDtpZighL15cZHs2fSQvLnRlc3QoY29kZSkpcmV0dXJuIG51bGw7CiAgdmFyIG1tPU51bWJlcihjb2RlLnNsaWNlKDQsNikpLG1hcD1uZXcgTWFwKCk7CiAgbWVtb3J5SW5kZXguZm9yRWFjaChmdW5jdGlvbihlbnRyeSl7CiAgIGlmKGVudHJ5WzFdIT09bW0pcmV0dXJuOwogICB2YXIgaWQ9TnVtYmVyKGVudHJ5WzBdKSxkYXk9TnVtYmVyKGVudHJ5WzJdKSx0aXRsZT1lbnRyeVszXSxzbHVnPWVudHJ5WzRdOwogICBpZighaWR8fCFkYXl8fCF0aXRsZXx8IXNsdWcpcmV0dXJuOwogICB2YXIgdXJsPXNhZmVMaW5rKCcvZXZlbnRzLycrZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpKycvJyk7aWYoIXVybClyZXR1cm47CiAgIHZhciBldmVudHM9bWFwLmdldChkYXkpfHxbXTsKICAgZXZlbnRzLnB1c2goe2lkOmlkLHRpdGxlOnRpdGxlLHVybDp1cmwsZGF5OmRheX0pOwogICBtYXAuc2V0KGRheSxldmVudHMpOwogIH0pOwogIHJldHVybiB7Y29kZTpjb2RlLGRheXM6Wy4uLm1hcF0uc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue2RheTplWzBdLGV2ZW50czplWzFdfX0pfTsKIH0KICAgZnVuY3Rpb24gc2V0U3RhdHVzKG1lc3NhZ2Upe2RvbS5zdGF0dXMudGV4dENvbnRlbnQ9bWVzc2FnZXx8Jyc7ZG9tLnN0YXR1cy5oaWRkZW49IW1lc3NhZ2V9CiBmdW5jdGlvbiB5ZWFyRnJvbSh0KXsKICB2YXIgbT1TdHJpbmcodHx8JycpLm1hdGNoKC8oPzpefFxzKShcZHsxLDJ9KVxzKltcL1wtXVxzKihcZHsxLDJ9KVxzKltcL1wtXVxzKigoPzoxOHwxOXwyMClcZHsyfSkoPz1cRHwkKS8pO2lmKG0pcmV0dXJuIE51bWJlcihtWzNdKTsKICBtPVN0cmluZyh0fHwnJykubWF0Y2goLyg/Oti52KfZhXzYs9mG2Kl82YHZiilccysoKD86MTh8MTl8MjApXGR7Mn0pLyk7aWYobSlyZXR1cm4gTnVtYmVyKG1bMV0pO209U3RyaW5nKHR8fCcnKS5tYXRjaCgvKD86MTh8MTl8MjApXGR7Mn0vKTtyZXR1cm4gbT9OdW1iZXIobVswXSk6bnVsbDsgCiB9CgogdmFyIGN1cmF0ZWRTdW1tYXJpZXM9e307CiAgZnVuY3Rpb24gc3VtbWFyeUZyb20oYm9keSx0aXRsZSxpZCxkYXksbW9udGgseWVhcil7CiAgdmFyIHBsYWluPVN0cmluZyhib2R5fHwnJykucmVwbGFjZSgvXHMrL2csJyAnKS50cmltKCk7CiAgdmFyIGRldGFpbHM9cGxhaW4ucmVwbGFjZSgvXig/OlxkezR9XHMqWy1cL11ccypcZHsxLDJ9XHMqWy1cL11ccypcZHsxLDJ9fFxkezEsMn0oPzotXGR7MSwyfSk/XHMqWy1cL11ccypcZHsxLDJ9KD86XHMqWy1cL11ccypcZHs0fSk/KSg/OlxzK3wkKS8sJycpLnRyaW0oKTsKICBpZihkZXRhaWxzLmxlbmd0aD4wJiZkZXRhaWxzIT09dGl0bGUpewogICBpZihkZXRhaWxzLmxlbmd0aDw9MjQ1KXJldHVybiBkZXRhaWxzOwogICB2YXIgY3V0PWRldGFpbHMuc2xpY2UoMCwyNDUpLHN0b3A9TWF0aC5tYXgoY3V0Lmxhc3RJbmRleE9mKCfYjCcpLGN1dC5sYXN0SW5kZXhPZign2JsnKSxjdXQubGFzdEluZGV4T2YoJy4nKSk7CiAgIHJldHVybiBjdXQuc2xpY2UoMCxzdG9wPjEyNT9zdG9wOjIzMCkudHJpbSgpKyfigKYnCiAgfQogIGlmKGlkPT09Mzc1MDUpcmV0dXJuICcnOwogIGlmKGN1cmF0ZWRTdW1tYXJpZXNbaWRdKXJldHVybiBjdXJhdGVkU3VtbWFyaWVzW2lkXTsKICB2YXIgd2hlbj0oZGF5JiZtb250aD9hcihkYXkpKycgJyttb250aHNbbW9udGgtMV06J9mH2LDYpyDYp9mE2YrZiNmFJykrKHllYXI/JyAnK2FyKHllYXIpOicnKTsKICByZXR1cm4gJ9mK2Y/Ys9is2ZHZhCDYqtmC2YjZitmFINin2YTYrdmF2YTYqSDZgdmKICcrd2hlbisnINmF2YbYp9iz2KjYqSDCqycrdGl0bGUrJ8K7Lic7CiB9CiAgCiBmdW5jdGlvbiBzaG93RXZlbnQoZXZlbnQpewogIGlmKCFldmVudClyZXR1cm47CiAgc2VsZWN0ZWRJZD1ldmVudC5pZDsKICBibG9jay5zZXRBdHRyaWJ1dGUoJ2RhdGEtZm0tY3VycmVudC1ldmVudCcsU3RyaW5nKGV2ZW50LmlkKSk7ICAKICB2YXIgdGhpc1JlcXVlc3Q9KytkZXRhaWxSZXF1ZXN0OwogIGRvbS50aXRsZS50ZXh0Q29udGVudD1ldmVudC50aXRsZTsKICBkb20uZGF0ZS50ZXh0Q29udGVudD1hcihzZWxlY3RlZERheSkrJyAnK21vbnRoc1tOdW1iZXIobW9udGhJZC5zbGljZSg0KSktMV07CiAgZG9tLnllYXIudGV4dENvbnRlbnQ9J+KAlCc7CiAgZG9tLnN1bW1hcnkudGV4dENvbnRlbnQ9J9is2KfYsdmKINin2LPYqti52KfYr9ipINiq2YHYp9i12YrZhCDYp9mE2YXYrdi32ZHYqSDYp9mE2KrYp9ix2YrYrtmK2ZHYqeKApic7CiAgZG9tLmxpbmsuaHJlZj1ldmVudC51cmw7CiAgZG9tLmhpdC5ocmVmPWV2ZW50LnVybDtkb20uaGl0LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ9in2YLYsdijINiq2YHYp9i12YrZhCAnK2V2ZW50LnRpdGxlKTsKICBkb20ubGluay5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCfYp9mC2LHYoyDYqtmB2KfYtdmK2YQgJytldmVudC50aXRsZSk7IAogIGRvbS5pbWFnZS5oaWRkZW49dHJ1ZTtkb20uaW1hZ2UucmVtb3ZlQXR0cmlidXRlKCdzcmMnKTtkb20uaW1hZ2UuYWx0PScnOwogIGRvbS5jcmVkaXQudGV4dENvbnRlbnQ9Jyc7ZG9tLmNyZWRpdC5oaWRkZW49dHJ1ZTsKICByZW5kZXJDaG9pY2VzKCk7CiAgdmFyIHByb21pc2U9ZXZlbnRDYWNoZS5nZXQoZXZlbnQuaWQpOwogIGlmKCFwcm9taXNlKXsKICAgcHJvbWlzZT1mZXRjaCgnL3dwLWpzb24vd3AvdjIvbWVjLWV2ZW50cy8nK2V2ZW50LmlkKyc/X2ZpZWxkcz1pZCx0aXRsZSxjb250ZW50LGV4Y2VycHQsZmVhdHVyZWRfbWVkaWEnLHtjcmVkZW50aWFsczonc2FtZS1vcmlnaW4nfSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlLm9rKXRocm93IEVycm9yKCdldmVudCcpO3JldHVybiByZXNwb25zZS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGRhdGEpewogICAgdmFyIGh0bWw9ZGF0YS5jb250ZW50JiZkYXRhLmNvbnRlbnQucmVuZGVyZWR8fGRhdGEuZXhjZXJwdCYmZGF0YS5leGNlcnB0LnJlbmRlcmVkfHwnJztodG1sPWh0bWwucmVwbGFjZSgvPHBbXj5dKmNsYXNzPVsiJ11bXiInXSpnY3JwLWFyY2hpdmUtbmF2W14iJ10qWyInXVtePl0qPltcc1xTXSo/PFwvcD4vZ2ksJycpO3ZhciBib2R5PXRleHQoaHRtbCk7ICAKICAgIHJldHVybiB7eWVhcjp5ZWFyRnJvbShib2R5KSxzdW1tYXJ5OnN1bW1hcnlGcm9tKGJvZHksZXZlbnQudGl0bGUsZXZlbnQuaWQsZXZlbnQuZGF5LE51bWJlcihtb250aElkLnNsaWNlKDQpKSx5ZWFyRnJvbShib2R5KSksbWVkaWFJZDpOdW1iZXIoZGF0YS5mZWF0dXJlZF9tZWRpYSl8fDB9IAogICB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiB7eWVhcjpudWxsLHN1bW1hcnk6c3VtbWFyeUZyb20oJycsZXZlbnQudGl0bGUsZXZlbnQuaWQsZXZlbnQuZGF5LE51bWJlcihtb250aElkLnNsaWNlKDQpKSxudWxsKSxtZWRpYUlkOjB9fSk7CiAgIGV2ZW50Q2FjaGUuc2V0KGV2ZW50LmlkLHByb21pc2UpOwogIH0KICBwcm9taXNlLnRoZW4oZnVuY3Rpb24oZGV0YWlscyl7CiAgIGlmKHRoaXNSZXF1ZXN0IT09ZGV0YWlsUmVxdWVzdClyZXR1cm47CiAgIGRvbS55ZWFyLnRleHRDb250ZW50PWRldGFpbHMueWVhcj9hcihkZXRhaWxzLnllYXIpOifYs9mG2YjZitmR2KknOyAKICAgZG9tLnN1bW1hcnkudGV4dENvbnRlbnQ9ZGV0YWlscy5zdW1tYXJ5OwogICBpZighZGV0YWlscy5tZWRpYUlkKXJldHVybjsKICAgZmV0Y2goJy93cC1qc29uL3dwL3YyL21lZGlhLycrZGV0YWlscy5tZWRpYUlkKyc/X2ZpZWxkcz1zb3VyY2VfdXJsLGFsdF90ZXh0LGNhcHRpb24sbWVkaWFfZGV0YWlscycgICx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIub2s/ci5qc29uKCk6bnVsbH0pLnRoZW4oZnVuY3Rpb24obWVkaWEpewogICAgaWYodGhpc1JlcXVlc3QhPT1kZXRhaWxSZXF1ZXN0fHwhbWVkaWF8fCFtZWRpYS5zb3VyY2VfdXJsKXJldHVybjsKICAgIHZhciBpbWc9bmV3IFVSTChtZWRpYS5zb3VyY2VfdXJsLGxvY2F0aW9uLmhyZWYpOwogICAgaWYoaW1nLm9yaWdpbiE9PWxvY2F0aW9uLm9yaWdpbnx8aW1nLnBhdGhuYW1lLmluZGV4T2YoJy93cC1jb250ZW50L3VwbG9hZHMvJyk8MClyZXR1cm47CiAgICB2YXIgc2l6ZXM9bWVkaWEubWVkaWFfZGV0YWlscyYmbWVkaWEubWVkaWFfZGV0YWlscy5zaXplc3x8e30sbXc9TnVtYmVyKG1lZGlhLm1lZGlhX2RldGFpbHMmJm1lZGlhLm1lZGlhX2RldGFpbHMud2lkdGgpfHwxLG1oPU51bWJlcihtZWRpYS5tZWRpYV9kZXRhaWxzJiZtZWRpYS5tZWRpYV9kZXRhaWxzLmhlaWdodCl8fDEsYmVzdD1udWxsLGJlc3RBcmVhPTA7CiAgICBPYmplY3Qua2V5cyhzaXplcykuZm9yRWFjaChmdW5jdGlvbihrKXt2YXIgaXRlbT1zaXplc1trXSx3PU51bWJlcihpdGVtJiZpdGVtLndpZHRoKXx8MCxoPU51bWJlcihpdGVtJiZpdGVtLmhlaWdodCl8fDAscmF0aW89dyYmaD93L2g6MDtpZighaXRlbXx8IWl0ZW0uc291cmNlX3VybHx8IXd8fCFofHxNYXRoLmFicyhyYXRpby1tdy9taCk+LjEzKXJldHVybjt2YXIgYXJlYT13Kmg7aWYoYXJlYT5iZXN0QXJlYSl7YmVzdEFyZWE9YXJlYTtiZXN0PWl0ZW19fSk7CiAgICB2YXIgY2hvc2VuPWJlc3QmJmJlc3Quc291cmNlX3VybCYmYmVzdEFyZWE+bXcqbWg/YmVzdC5zb3VyY2VfdXJsOmltZy5ocmVmOyAKICAgIHZhciBsb2M9bmV3IFVSTChjaG9zZW4sbG9jYXRpb24uaHJlZik7aWYobG9jLm9yaWdpbiE9PWxvY2F0aW9uLm9yaWdpbnx8bG9jLnBhdGhuYW1lLmluZGV4T2YoJy93cC1jb250ZW50L3VwbG9hZHMvJyk8MClyZXR1cm47CiAgICBkb20uaW1hZ2Uuc3JjPWxvYy5ocmVmO2RvbS5pbWFnZS5oaWRkZW49ZmFsc2U7CiAgICBkb20uaW1hZ2UuYWx0PW1lZGlhLmFsdF90ZXh0fHxldmVudC50aXRsZTsKICAgIHZhciBjb250ZXh0dWFsQ2FwdGlvbj1jb250ZXh0dWFsQ2FwdGlvbnNbZXZlbnQuaWRdfHwnJztkb20uY3JlZGl0LnRleHRDb250ZW50PWNvbnRleHR1YWxDYXB0aW9uO2RvbS5jcmVkaXQuaGlkZGVuPSFjb250ZXh0dWFsQ2FwdGlvbjsKICAgICAgCiAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgfSk7CiB9IAogZnVuY3Rpb24gcmVuZGVyQ2hvaWNlcygpewogIGRvbS5pdGVtcy5yZXBsYWNlQ2hpbGRyZW4oKTsKICB2YXIgZ3JvdXA9Z3JvdXBzLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHguZGF5PT09c2VsZWN0ZWREYXl9KTsKICBpZighZ3JvdXB8fCFncm91cC5ldmVudHMubGVuZ3RoKXtkb20uaXRlbXMuaGlkZGVuPXRydWU7ZG9tLmZlYXR1cmVOYXYuaGlkZGVuPXRydWU7cmV0dXJufQogIGRvbS5pdGVtcy5oaWRkZW49ZmFsc2U7ZG9tLmZlYXR1cmVOYXYuaGlkZGVuPWdyb3VwLmV2ZW50cy5sZW5ndGg8MjsKICB2YXIgd2hpY2g9Z3JvdXAuZXZlbnRzLmZpbmRJbmRleChmdW5jdGlvbih4KXtyZXR1cm4geC5pZD09PXNlbGVjdGVkSWR9KTsKICBkb20uZmVhdHVyZVBvcy50ZXh0Q29udGVudD0n2KfZhNmF2K3Yt9mR2KkgJythcih3aGljaDwwPzE6d2hpY2grMSkrJyDZhdmGICcrYXIoZ3JvdXAuZXZlbnRzLmxlbmd0aCk7IAogIHZhciBsYWJlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7bGFiZWwuY2xhc3NOYW1lPSdmbS1kYXktbGFiZWwnO2xhYmVsLnRleHRDb250ZW50PSfZhdit2LfZkdin2Kog2YfYsNinINin2YTZitmI2YUgKCcrYXIoZ3JvdXAuZXZlbnRzLmxlbmd0aCkrJyknO2RvbS5pdGVtcy5hcHBlbmRDaGlsZChsYWJlbCk7CiAgZ3JvdXAuZXZlbnRzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgIHZhciBidG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7YnRuLnR5cGU9J2J1dHRvbic7YnRuLmNsYXNzTmFtZT0nZm0tZXZlbnQtY2hvaWNlJztidG4udGV4dENvbnRlbnQ9ZS50aXRsZTtidG4uc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLFN0cmluZyhlLmlkPT09c2VsZWN0ZWRJZCkpO2J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZXYpe2V2LnByZXZlbnREZWZhdWx0KCk7ZXYuc3RvcFByb3BhZ2F0aW9uKCk7c2hvd0V2ZW50KGUpfSk7ZG9tLml0ZW1zLmFwcGVuZENoaWxkKGJ0bikKICB9KQogfQogZnVuY3Rpb24gcmV2ZWFsU2VsZWN0ZWREYXkoKXsKICB2YXIgbGlzdD1kb20uZGF5czsKICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7CiAgIHZhciBzZWxlY3RlZD1saXN0LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWZtLWRheV1bYXJpYS1wcmVzc2VkPSJ0cnVlIl0nKTsKICAgaWYoIXNlbGVjdGVkfHwhbGlzdC5jbGllbnRIZWlnaHR8fCFsaXN0LmNvbnRhaW5zKHNlbGVjdGVkKSlyZXR1cm47CiAgIHZhciB2aWV3PWxpc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscmVjdD1zZWxlY3RlZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgaWYocmVjdC50b3A+PXZpZXcudG9wKzUmJnJlY3QuYm90dG9tPD12aWV3LmJvdHRvbS01KXJldHVybjsKICAgdmFyIHRhcmdldD1saXN0LnNjcm9sbFRvcCsocmVjdC50b3Atdmlldy50b3ApLShsaXN0LmNsaWVudEhlaWdodC1yZWN0LmhlaWdodCkvMjsKICAgdmFyIG1heD1NYXRoLm1heCgwLGxpc3Quc2Nyb2xsSGVpZ2h0LWxpc3QuY2xpZW50SGVpZ2h0KTsKICAgdGFyZ2V0PU1hdGgubWF4KDAsTWF0aC5taW4obWF4LHRhcmdldCkpOwogICBpZih0eXBlb2YgbGlzdC5zY3JvbGxUbz09PSdmdW5jdGlvbicpbGlzdC5zY3JvbGxUbyh7dG9wOnRhcmdldCxiZWhhdmlvcjonc21vb3RoJ30pOwogICBlbHNlIGxpc3Quc2Nyb2xsVG9wPXRhcmdldDsKICB9KTsKIH0KIGZ1bmN0aW9uIGNob29zZShkYXksZXZJZCl7CiAgdmFyIGdyb3VwPWdyb3Vwcy5maW5kKGZ1bmN0aW9uKGcpe3JldHVybiBnLmRheT09PWRheX0pO2lmKCFncm91cClyZXR1cm47CiAgc2VsZWN0ZWREYXk9ZGF5OwogIGRvbS5kYXlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWZtLWRheV0nKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2Iuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLFN0cmluZyhOdW1iZXIoYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtZm0tZGF5JykpPT09ZGF5KSl9KTsKICB2YXIgZXZlbnQ9Z3JvdXAuZXZlbnRzLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHguaWQ9PT1ldklkfSl8fGdyb3VwLmV2ZW50c1swXTsKICBzaG93RXZlbnQoZXZlbnQpOwogIHJldmVhbFNlbGVjdGVkRGF5KCkKIH0KIGZ1bmN0aW9uIHJlbmRlcigpewogIHZhciBkYXRhPWV4dHJhY3QoKTtpZighZGF0YSlyZXR1cm47CiAgaWYocmVhZHkmJnJlbmRlcmVkQ29kZT09PWRhdGEuY29kZSYmIWJ1c3kpcmV0dXJuOyAKICB2YXIgY2hhbmdlZD1yZW5kZXJlZENvZGUhPT1kYXRhLmNvZGU7cmVuZGVyZWRDb2RlPWRhdGEuY29kZTsKICBtb250aElkPWRhdGEuY29kZTtncm91cHM9ZGF0YS5kYXlzO3JlYWR5PXRydWU7YnVzeT1mYWxzZTsKICBpZihzb3VyY2Upc291cmNlLmNsYXNzTGlzdC5hZGQoJ2ZtLW1lbW9yeS1oaWRkZW4nKTsgCiAgLyogTmF2aWdhdGlvbiBieSBtb250aCBzZWxlY3RvciBhbmQgZ3JpZCBzY3JvbGxiYXIuICovCiAgdmFyIHllYXI9TnVtYmVyKG1vbnRoSWQuc2xpY2UoMCw0KSksbW9udGg9TnVtYmVyKG1vbnRoSWQuc2xpY2UoNCkpOwogIGRvbS5tb250aC50ZXh0Q29udGVudD0n2YXZhtin2LPYqNin2KogJyttb250aHNbbW9udGgtMV0rJyAoJyttb250aEFsaWFzZXNbbW9udGgtMV0rJykgJythcih5ZWFyKTsgIAogIGlmKGRvbS5waWNrZXIpZG9tLnBpY2tlci52YWx1ZT1TdHJpbmcobW9udGgpOwogIGRvbS5kYXlzLnJlcGxhY2VDaGlsZHJlbigpOwogIGlmKCFncm91cHMubGVuZ3RoKXsKICAgZG9tLmRheXMuY2xhc3NMaXN0LmFkZCgnZm0tZW1wdHknKTtkb20uZGF5cy50ZXh0Q29udGVudD0n2YTYpyDYqtmI2KzYryDZhdmG2KfYs9io2KfYqiDZhdiz2KzZkdmO2YTYqSDZgdmKINmH2LDYpyDYp9mE2LTZh9ixLic7CiAgIGRvbS5pdGVtcy5oaWRkZW49dHJ1ZTtkb20uZmVhdHVyZU5hdi5oaWRkZW49dHJ1ZTtkb20udGl0bGUudGV4dENvbnRlbnQ9J9iw2KfZg9ix2Kkg2YHZhNiz2LfZitmGINi52KjYsSDYp9mE2LTZh9mI2LEnO2RvbS5kYXRlLnRleHRDb250ZW50PScnO2RvbS5zdW1tYXJ5LnRleHRDb250ZW50PSfZitmF2YPZhtmDINin2YTYp9mG2KrZgtin2YQg2KXZhNmJINi02YfYsdmNINii2K7YsSDZhNin2YPYqti02KfZgSDZhdit2LfZkdin2KrZhyDYp9mE2KrYp9ix2YrYrtmK2ZHYqS4nO2RvbS55ZWFyLnRleHRDb250ZW50PSfigJQnO2RvbS5saW5rLmhyZWY9Jy8nO2RvbS5saW5rLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7ZG9tLmhpdC5oaWRkZW49dHJ1ZTtzZXRTdGF0dXMoJycpOyAKICAgaWYoanVtcFRhcmdldCYmZGF0YS5jb2RlIT09anVtcFRhcmdldCl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe21vbnRoU3RlcChqdW1wRGlyZWN0aW9uKX0pO3JldHVybn0KICAgaWYocGVuZGluZ0RheURpcmVjdGlvbil7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe21vbnRoU3RlcChwZW5kaW5nRGF5RGlyZWN0aW9uKX0pO3JldHVybn0KICAganVtcFRhcmdldD0nJztyZXR1cm47CiAgfQogIGRvbS5saW5rLnN0eWxlLnZpc2liaWxpdHk9J3Zpc2libGUnO2RvbS5oaXQuaGlkZGVuPWZhbHNlO2RvbS5kYXlzLmNsYXNzTGlzdC5yZW1vdmUoJ2ZtLWVtcHR5Jyk7CiAgZ3JvdXBzLmZvckVhY2goZnVuY3Rpb24oZyl7CiAgIHZhciBidG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7YnRuLnR5cGU9J2J1dHRvbic7YnRuLmNsYXNzTmFtZT0nZm0tZGF5JztidG4uc2V0QXR0cmlidXRlKCdkYXRhLWZtLWRheScsU3RyaW5nKGcuZGF5KSk7YnRuLnNldEF0dHJpYnV0ZSgnZGF0YS1jb3VudCcsU3RyaW5nKGcuZXZlbnRzLmxlbmd0aCkpO2J0bi50aXRsZT1nLmV2ZW50cy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGl0bGV9KS5qb2luKCfYjCAnKTtidG4uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyxhcihnLmRheSkrJyAnK21vbnRoc1ttb250aC0xXSsnIOKAlCAnK2cuZXZlbnRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50aXRsZX0pLmpvaW4oJ9iMICcpKTsgYnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTsKICAgdmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3Ryb25nJyk7bi5jbGFzc05hbWU9J2ZtLWRheS1udW1iZXInO24udGV4dENvbnRlbnQ9YXIoZy5kYXkpOwogICB2YXIgbmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7bmFtZS5jbGFzc05hbWU9J2ZtLWRheS1uYW1lJztuYW1lLnRleHRDb250ZW50PWcuZXZlbnRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50aXRsZX0pLmpvaW4oJ9iMICcpOwogICBidG4uYXBwZW5kKG4sbmFtZSk7YnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKTtjaG9vc2UoZy5kYXkpfSk7ZG9tLmRheXMuYXBwZW5kQ2hpbGQoYnRuKQogIH0pOwogIHZhciB0b2RheT1sb2NhbERheSgpOwogIHZhciBjdXJyPXllYXI9PT10b2RheS55ZWFyJiZtb250aD09PXRvZGF5Lm1vbnRoOwogIHZhciBwcmVmZXJyZWQ9Y3Vycj8oZ3JvdXBzLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGcuZGF5PT09dG9kYXkuZGF5fSl8fGdyb3Vwcy5maW5kKGZ1bmN0aW9uKGcpe3JldHVybiBnLmRheT50b2RheS5kYXl9KXx8Z3JvdXBzW2dyb3Vwcy5sZW5ndGgtMV0pOmdyb3Vwc1swXTsKICB2YXIgc2F2ZWQ9Z3JvdXBzLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGcuZGF5PT09c2VsZWN0ZWREYXl9KTsKICB2YXIgdGFyZ2V0PWNoYW5nZWQmJnBlbmRpbmdEYXlEaXJlY3Rpb24/KHBlbmRpbmdEYXlEaXJlY3Rpb24+MD9ncm91cHNbMF06Z3JvdXBzW2dyb3Vwcy5sZW5ndGgtMV0pOihjaGFuZ2VkP3ByZWZlcnJlZDooc2F2ZWR8fHByZWZlcnJlZCkpOwogIHZhciBjaG9zZW5JZD1jaGFuZ2VkP251bGw6c2VsZWN0ZWRJZDtwZW5kaW5nRGF5RGlyZWN0aW9uPTA7CiAgY2hvb3NlKHRhcmdldC5kYXksY2hvc2VuSWQpOwogIGlmKGp1bXBUYXJnZXQmJmRhdGEuY29kZSE9PWp1bXBUYXJnZXQpe3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXttb250aFN0ZXAoanVtcERpcmVjdGlvbil9KTtyZXR1cm59CiAganVtcFRhcmdldD0nJztzZXRTdGF0dXMoJycpOyAKIH0KICBmdW5jdGlvbiBxdWV1ZSgpewogIGlmKHF1ZXVlZClyZXR1cm47cXVldWVkPXRydWU7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3F1ZXVlZD1mYWxzZTtyZW5kZXIoKX0pCiB9CiBmdW5jdGlvbiBzdGVwRXZlbnQoZGlyKXsKICB2YXIgZ3JvdXA9Z3JvdXBzLmZpbmQoZnVuY3Rpb24oZyl7cmV0dXJuIGcuZGF5PT09c2VsZWN0ZWREYXl9KTsKICBpZighZ3JvdXB8fGdyb3VwLmV2ZW50cy5sZW5ndGg8MilyZXR1cm47CiAgdmFyIGlkeD1ncm91cC5ldmVudHMuZmluZEluZGV4KGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09c2VsZWN0ZWRJZH0pOwogIGlmKGlkeDwwKWlkeD0wOwogIHNob3dFdmVudChncm91cC5ldmVudHNbKGlkeCtkaXIrZ3JvdXAuZXZlbnRzLmxlbmd0aCklZ3JvdXAuZXZlbnRzLmxlbmd0aF0pOwogfQogZnVuY3Rpb24gbW9udGhTdGVwKGRpcil7ICAKICBpZihidXN5fHwhbW9udGhJZClyZXR1cm47CiAgdmFyIGRhdGU9bmV3IERhdGUoRGF0ZS5VVEMoTnVtYmVyKG1vbnRoSWQuc2xpY2UoMCw0KSksTnVtYmVyKG1vbnRoSWQuc2xpY2UoNCkpLTErZGlyLDEpKTsKICBtb250aElkPVN0cmluZyhkYXRlLmdldFVUQ0Z1bGxZZWFyKCkpK1N0cmluZyhkYXRlLmdldFVUQ01vbnRoKCkrMSkucGFkU3RhcnQoMiwnMCcpOwogIHBlbmRpbmdEYXlEaXJlY3Rpb249ZGlyOwogIHJlbmRlcigpOwogfQogZnVuY3Rpb24gc3RlcERheShkaXIpewogIGlmKGJ1c3kpcmV0dXJuOwogIGlmKCFncm91cHMubGVuZ3RoKXttb250aFN0ZXAoZGlyKTtyZXR1cm59CiAgdmFyIGk9Z3JvdXBzLmZpbmRJbmRleChmdW5jdGlvbihnKXtyZXR1cm4gZy5kYXk9PT1zZWxlY3RlZERheX0pO2lmKGk8MClpPTA7CiAgdmFyIGFkamFjZW50PWdyb3Vwc1tpK2Rpcl07CiAgaWYoYWRqYWNlbnQpe2Nob29zZShhZGphY2VudC5kYXkpO3JldHVybn0KICBtb250aFN0ZXAoZGlyKQogfQogZnVuY3Rpb24gc2VsZWN0TW9udGgodmFsdWUpewogIHZhciBtb250aD1OdW1iZXIodmFsdWUpLGN1cnJlbnQ9TnVtYmVyKG1vbnRoSWQuc2xpY2UoNCkpLHllYXI9TnVtYmVyKG1vbnRoSWQuc2xpY2UoMCw0KSk7CiAgaWYoIXJlYWR5fHwheWVhcnx8bW9udGg8MXx8bW9udGg+MTJ8fG1vbnRoPT09Y3VycmVudClyZXR1cm47CiAgbW9udGhJZD1TdHJpbmcoeWVhcikrU3RyaW5nKG1vbnRoKS5wYWRTdGFydCgyLCcwJyk7CiAgcGVuZGluZ0RheURpcmVjdGlvbj0wOwogIHJlbmRlcigpCiB9CiBkb20uZmVhdHVyZVByZXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtlLnN0b3BQcm9wYWdhdGlvbigpO3N0ZXBFdmVudCgtMSl9KTsgCiBkb20uZmVhdHVyZU5leHQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtlLnN0b3BQcm9wYWdhdGlvbigpO3N0ZXBFdmVudCgxKX0pOyAgICAgICAgICAgICAKIGlmKGRvbS5waWNrZXIpZG9tLnBpY2tlci5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLGZ1bmN0aW9uKGUpe3NlbGVjdE1vbnRoKGUudGFyZ2V0LnZhbHVlKX0pOwogZnVuY3Rpb24gaW5pdCgpewogIGlmKGRvbS5waWNrZXImJiFkb20ucGlja2VyLm9wdGlvbnMubGVuZ3RoKW1vbnRocy5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUsaSl7dmFyIG9wdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtvcHQudmFsdWU9U3RyaW5nKGkrMSk7b3B0LnRleHRDb250ZW50PW5hbWU7ZG9tLnBpY2tlci5hcHBlbmRDaGlsZChvcHQpfSk7CiAgc291cmNlPXNvdXJjZVJvb3QoKTsKICBpZihzb3VyY2Upe3NvdXJjZS5jbGFzc0xpc3QuYWRkKCdmbS1tZW1vcnktaGlkZGVuJyk7c291cmNlLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCd0cnVlJyk7c291cmNlLnNldEF0dHJpYnV0ZSgnaW5lcnQnLCcnKTt9ICAKICB2YXIgbm93PWxvY2FsRGF5KCk7CiAgbW9udGhJZD1TdHJpbmcobm93LnllYXIpK1N0cmluZyhub3cubW9udGgpLnBhZFN0YXJ0KDIsJzAnKTsKICByZW5kZXIoKQogfSAKIGlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nbG9hZGluZycpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsaW5pdCx7b25jZTp0cnVlfSk7ZWxzZSBpbml0KCk7Cn0pKCk7Cjwvc2NyaXB0Pg==
    أكتوبر

    نوفمبر 2026

    ديسمبر
    MO
    TU
    WE
    TH
    FR
    SA
    SU
    26
    27
    28
    29
    30
    31
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    1
    2
    3
    4
    5
    6

    شبكةٌ تجمعها فلسطين

    الحملة حول العالم

    تجمع الحملة مؤسّساتٍ وناشطين وأصدقاء يعملون لفلسطين وحقّ العودة في بلدانٍ مختلفة. اختر بلدًا لاستكشاف الموادّ المنشورة المرتبطة به.

    خريطة تفاعليّة

    أثرُ فلسطين في العالم

    حرّك المؤشّر فوق بلدٍ مضيءٍ لاستكشافه

    روسياالولايات المتحدةكنداالصينالبرازيلالهندإندونيسياالأرجنتينالمكسيكالجزائرالكونغو - كينشاساالنرويجالمملكة العربية السعوديةتشيليإسبانياإيرانمالياليابانباكستانالسودانجنوب أفريقياكولومبياالنيجرالسويدموزمبيقإثيوبيابوليفيافنزويلاموريتانياأوكرانيافرنساأفغانستانإيطالياالفلبينتنزانياتايلاندمصرتركيانيجيريازامبياماليزيافنلنداالمغربالكاميرونكينياالعراقالمملكة المتحدةألمانيااليمنعُمانالكونغو - برازافيلبولندازيمبابوياليونانبوركينا فاسورومانياغينياساحل العاجكوباآيسلنداسورياطاجيكستاننيبالأوغنداتونسغاناأورغوايالسنغالكرواتياالنمساهنغارياالأردنالبرتغالأيرلنداغواتيمالاصربياالتشيككوريا الجنوبيةالدانمركهولنداالبوسنة والهرسكسيراليونسويسراتوغوبلجيكافلسطينكاليدونيا الجديدةتايوانألبانيابورونديمقدونيا الشماليةروانداالكويتالسلفادورلبنانقبرصفلسطينقطرغامبياالبحرينمالطا
    بلدان مدرجة في الخريطةالبلد المختاربلدان غير مدرجة في الخريطة
    البلد المختارالبرازيل
    تصفّح موادّ البلد ←

    العودة هي البوصلة. وفلسطين تجمع الجهود أينما امتدّت.

    تطوّع معنا ←

    بيانات الخريطة الأصلية: amCharts

    استكشف الخريطة

    اختر بلدًا من الخريطة. على الهاتف، اسحب أفقيًّا لرؤية بقيّتها.

    فلسطين تجمعنا

    ننسّق لأداء شيءٍ من واجبنا

    تطوّع معنا
    الشعار الرسميّ للحملة العالمية للعودة إلى فلسطين

    عودةٌ إلى الأرض والقضيّة

    إطارٌ مدنيّ عالميّ مستقلّ، يجمع المؤسّسات والناشطين للعمل من أجل فلسطين وحقّ العودة.

    الحملة

    • من نحن
    • أنشطة الحملة
    • فعاليّات تضامنيّة
    • اتصل بنا

    فلسطين والذاكرة

    • عن فلسطين
    • فلسطين في يوم
    • ذاكرة فلسطين
    • من الأرشيف
    • الإنتاج الإعلاميّ

    لنبقَ على تواصل

    تابع أخبار الحملة وأنشطتها عبر منصّاتها.

    info@topalestine.org

    تابعنا

    فيسبوكإكسإنستغراميوتيوبواتسابتلغرام

    © ٢٠١٧–٢٠٢٦ الحملة العالمية للعودة إلى فلسطين. جميع الحقوق محفوظة.

    إلى أعلى الصفحة ↑
    Page load link
    اذهب إلى الأعلى