Prosfek Kerja Prodi Sains Data ITSB

Group Sinar Mas

Target Profil Lulusan

1. Data Scientist

Deskripsi: Data Scientist mengumpulkan, menganalisis, dan menginterpretasikan data dalam jumlah besar untuk membantu pengambilan keputusan bisnis. Mereka menggunakan teknik statistik, algoritma machine learning, dan visualisasi data untuk menemukan pola dan tren.

Kompetensi:

  • Pemodelan data dan analisis statistik.
  • Penerapan algoritma machine learning.
  • Pengembangan model prediktif.
  • Visualisasi data dan komunikasi hasil analisis.
  • Penerapan big data tools seperti Hadoop dan Spark.
  • Penggunaan bahasa pemrograman seperti Python dan R.

2. Data Engineer

Deskripsi: Data Engineer membangun, memelihara, dan mengoptimalkan infrastruktur data yang diperlukan untuk analisis. Mereka bertanggung jawab untuk mengembangkan pipeline data, mengelola database, dan memastikan data dapat diakses oleh Data Scientist dan Data Analyst.

Kompetensi:

  • Desain dan implementasi arsitektur data.
  • Pengelolaan dan optimisasi database.
  • Pembangunan pipeline ETL (Extract, Transform, Load).
  • Integrasi data dari berbagai sumber.
  • Pengelolaan data warehousing.
  • Penggunaan SQL dan NoSQL database systems.

3. Data Analyst

Deskripsi: Data Analyst fokus pada analisis data untuk menghasilkan wawasan bisnis yang actionable. Mereka menggunakan alat analitik untuk mengolah data dan membuat laporan, dashboard, dan visualisasi untuk membantu pengambilan keputusan.

Kompetensi:

  • Analisis data deskriptif dan inferensial.
  • Pembuatan laporan dan dashboard.
  • Visualisasi data.
  • Interpretasi hasil analisis untuk rekomendasi bisnis.
  • Penggunaan alat BI (Business Intelligence) seperti Tableau, Power BI.
  • Penggunaan bahasa query seperti SQL.

4. Financial Engineer

Deskripsi: Financial Engineer mengaplikasikan metode matematika, statistik, dan teknik komputasi untuk memecahkan masalah di bidang keuangan. Mereka bekerja pada pengembangan model untuk manajemen risiko, penilaian aset, dan strategi investasi.

Kompetensi:

  • Pemodelan keuangan dan kuantitatif.
  • Manajemen risiko keuangan.
  • Pengembangan dan implementasi algoritma perdagangan.
  • Penilaian dan pemodelan derivatif.
  • Analisis portofolio dan optimisasi.
  • Penggunaan bahasa pemrograman seperti Python, R, dan MATLAB.

5. Konsultan Investor

Deskripsi: Konsultan Investor memberikan saran investasi kepada individu atau organisasi berdasarkan analisis data pasar dan keuangan. Mereka membantu klien mengelola portofolio investasi untuk mencapai tujuan keuangan mereka.

Kompetensi Utama:

  • Analisis pasar keuangan dan tren investasi.
  • Evaluasi kinerja portofolio.
  • Penyusunan strategi investasi.
  • Pemahaman produk investasi dan risiko terkait.
  • Komunikasi dan presentasi rekomendasi investasi.
  • Penggunaan alat dan software analisis investasi.

6. Business Analyst

Deskripsi: Business Analyst bekerja untuk mengidentifikasi kebutuhan bisnis dan mencari solusi berbasis data. Mereka menjembatani komunikasi antara pemangku kepentingan bisnis dan tim teknis, serta memastikan solusi yang diimplementasikan sesuai dengan kebutuhan bisnis.

Kompetensi:

  • Pemahaman proses bisnis.
  • Pengumpulan dan analisis kebutuhan.
  • Penyusunan dokumentasi spesifikasi.
  • Evaluasi solusi bisnis dan teknis.
  • Komunikasi dan koordinasi antar tim.
  • Analisis biaya-manfaat dan ROI (Return on Investment).

7. Credit Analyst

Deskripsi: Credit Analyst mengevaluasi kelayakan kredit individu atau organisasi dengan menganalisis data keuangan dan sejarah kredit. Mereka memberikan rekomendasi mengenai persetujuan atau penolakan aplikasi kredit.

Kompetensi Utama:

  • Analisis laporan keuangan.
  • Evaluasi risiko kredit.
  • Penilaian skor kredit dan sejarah pembayaran.
  • Penyusunan rekomendasi kredit.
  • Pemahaman regulasi dan kebijakan kredit.
  • Penggunaan alat dan software analisis kredit.

8. Aktuaris

Deskripsi: Aktuaris menggunakan matematika, statistik, dan teori keuangan untuk menganalisis dan mengelola risiko dalam industri asuransi dan keuangan. Mereka merancang dan mengelola program asuransi, pensiun, dan investasi untuk meminimalkan risiko dan memaksimalkan keuntungan.

Kompetensi:

  • Pemodelan risiko asuransi dan keuangan.
  • Analisis data statistik untuk prediksi klaim dan kerugian.
  • Pengembangan dan penilaian produk asuransi.
  • Manajemen risiko dan strategi mitigasi.
  • Penilaian dan pengelolaan kewajiban aktuaria.
  • Penggunaan perangkat lunak aktuaria dan pemrograman.

9. Ekonom

Deskripsi: Ekonom bertanggung jawab untuk mengumpulkan dan menganalisis data ekonomi dan keuangan yang diperlukan untuk kebijakan moneter dan makroprudensial. Mereka mendukung tugas-tugas penelitian dan analisis untuk stabilitas ekonomi nasional.

Kompetensi: - Pengumpulan dan analisis data ekonomi dan keuangan. - Penyusunan laporan dan publikasi ekonomi. - Analisis kebijakan moneter dan makroprudensial. - Penggunaan alat analisis ekonomi dan keuangan. - Kerjasama dengan institusi keuangan dan pemerintah. - Presentasi hasil analisis kepada pembuat kebijakan.

10. Researcher

Deskripsi: Researcher dalam bidang data science melakukan penelitian untuk mengembangkan metode baru atau meningkatkan metode yang ada dalam analisis data. Mereka bekerja di berbagai sektor seperti akademisi, industri, dan pemerintah.

Kompetensi:

  • Pengembangan metodologi analisis data.
  • Pelaksanaan eksperimen dan pengujian hipotesis.
  • Publikasi hasil penelitian di jurnal ilmiah.
  • Kolaborasi dengan peneliti lain di bidang terkait.
  • Penggunaan alat dan teknik analisis data mutakhir.
  • Presentasi hasil penelitian di konferensi ilmiah.

Capaian Pembelajaran Lulusan (CPL)

A. Pengetahuan

  • A1: Memahami konsep dasar statistik, matematika, dan ilmu komputer yang menjadi dasar analisis data.
  • A2: Menguasai teori dan aplikasi machine learning dan kecerdasan buatan.
  • A3: Menguasai teknik pengelolaan dan integrasi data dari berbagai sumber.
  • A4: Memahami konsep big data dan teknologi terkait seperti Hadoop, Spark.
  • A5: Menguasai dasar-dasar pemrograman dalam bahasa seperti Python, R, dan SQL.
  • A6: Menguasai teori keuangan dan teknik kuantitatif untuk analisis keuangan.
  • A7: Menguasai prinsip dan praktik aktuaria untuk pengelolaan risiko keuangan dan asuransi.
  • A8: Memahami prinsip dan regulasi kredit serta pengelolaan risiko kredit.
  • A9: Menguasai konsep dan strategi investasi serta manajemen portofolio.
  • A10: Memahami metodologi penelitian dalam analisis data.
  • A11: Menguasai konsep dan teknik pengumpulan data statistik dan ekonomi.

B. Keterampilan

  • B1: Merancang, mengembangkan, dan mengimplementasikan model prediktif dan analitik.
  • B2: Membangun pipeline data yang efisien dan scalable.
  • B3: Menganalisis data secara kritis dan menghasilkan visualisasi yang informatif.
  • B4: Mengembangkan dashboard dan laporan yang membantu pengambilan keputusan.
  • B5: Menggunakan alat BI untuk analisis data.
  • B6: Mengoptimalkan dan mengelola infrastruktur data.
  • B7: Mengaplikasikan model matematika dan statistik untuk masalah keuangan.
  • B8: Menggunakan perangkat lunak aktuaria untuk analisis risiko dan manajemen asuransi.
  • B9: Melakukan analisis kelayakan kredit dan memberikan rekomendasi.
  • B10: Menyusun strategi investasi dan melakukan analisis pasar keuangan.
  • B11: Melaksanakan penelitian dan mengembangkan metodologi baru dalam analisis data.

C. Sikap

  • C1: Menunjukkan sikap profesional dalam setiap kegiatan analisis dan pengambilan keputusan.
  • C2: Menjunjung tinggi etika dalam pengelolaan dan analisis data, termasuk dalam menjaga kerahasiaan data.
  • C3: Mampu bekerja secara mandiri maupun dalam tim dengan baik.
  • C4: Mengembangkan kemampuan komunikasi yang efektif, baik lisan maupun tulisan, untuk menyampaikan hasil analisis kepada pemangku kepentingan.
  • C5: Beradaptasi dengan cepat terhadap perkembangan teknologi dan metode baru dalam analisis data.
  • C6: Menunjukkan komitmen terhadap pembelajaran sepanjang hayat untuk terus mengembangkan keterampilan dan pengetahuan di bidang analisis data.
  • C7: Menerapkan prinsip-prinsip keberlanjutan dan tanggung jawab sosial dalam setiap aktivitas profesional.

D. Keterampilan Khusus

  • D1: Mengembangkan algoritma machine learning yang inovatif dan efisien untuk berbagai aplikasi industri.
  • D2: Mengelola proyek data besar yang melibatkan tim multidisiplin dan berbagai pemangku kepentingan.
  • D3: Menerapkan teknik analisis data geospasial untuk menyelesaikan masalah-masalah yang berkaitan dengan lokasi.
  • D4: Mengembangkan aplikasi analitik yang dapat diakses dan digunakan oleh pengguna non-teknis.
  • D5: Melakukan evaluasi dan validasi model prediktif dengan data aktual untuk memastikan akurasi dan keandalannya.
  • D6: Mengembangkan sistem rekomendasi yang dapat diintegrasikan ke dalam platform e-commerce atau media sosial.
  • D7: Menggunakan teknik deep learning untuk analisis citra, suara, dan teks.
  • D8: Mengembangkan model keuangan untuk manajemen portofolio, penilaian risiko, dan pengambilan keputusan investasi.
  • D9: Menerapkan teknik simulasi dan optimisasi untuk perencanaan dan pengelolaan operasi bisnis.
  • D10: Melakukan analisis sentimen dan penggalian opini dari media sosial dan sumber data tidak terstruktur lainnya.
  • D11: Mengembangkan sistem pengambilan keputusan berbasis data untuk mendukung kebijakan publik dan tata kelola pemerintahan.

Sebaran Matakuliah

Semester 1

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-1001 Pengantar Sains Data 3 Wajib -
SD-1002 Matematika Dasar 3 Wajib -
SD-1003 Statistika Dasar 3 Wajib -
SD-1004 Algoritma dan Pemrograman 3 Wajib -
SD-1005 Bahasa Inggris 2 MKU -
SD-1006 Pendidikan Agama 2 MKU -
SD-1007 Kewarganegaraan 2 MKU -
SD-1008 Metode Penelitian Awal 2 Wajib -
SD-1009 Praktikum Pengantar Data 2 Praktikum SD-1001, SD-1004

Semester 2

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-2001 Aljabar Linear 3 Wajib SD-1002
SD-2002 Probabilitas dan Statistik 3 Wajib SD-1003
SD-2003 Struktur Data 3 Wajib SD-1004
SD-2004 Basis Data 3 Praktikum SD-2003
SD-2005 Matematika Diskrit 3 Wajib SD-1002
SD-2006 Pendidikan Pancasila 2 MKU -
SD-2007 Praktikum Aljabar dan Statistik 3 Praktikum SD-2001, SD-2002
SD-2008 Teknik Data 3 Praktikum SD-2004
SD-2009 Etika Teknologi 2 MKU -

Semester 3

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-3001 Analisis Data Eksplorasi 3 Praktikum SD-2004
SD-3002 Pemrograman Statistik 3 Praktikum SD-1004
SD-3003 Sistem Operasi 3 Wajib -
SD-3004 Pengolahan Data Berbasis Objek 3 Praktikum SD-2003
SD-3005 Pemrograman Berbasis Objek 3 Wajib SD-1004
SD-3006 Kewarganegaraan 2 MKU -
SD-3007 Praktikum Sistem Operasi 3 Praktikum SD-3003

Semester 4

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-4001 Machine Learning 3 Praktikum SD-3001
SD-4002 Data Mining 3 Praktikum SD-3001
SD-4003 Big Data 3 Praktikum SD-3001
SD-4004 Visualisasi Data 3 Praktikum SD-3001
SD-4005 Etika Profesi 2 Wajib -
SD-4006 Praktikum Machine Learning 3 Praktikum SD-4001
SD-4007 Analisis Data Terapan 3 Praktikum SD-4001, SD-4002
SD-4008 Metodologi Penelitian Lanjut 3 Wajib SD-4007

Semester 5

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-5001 Analisis Regresi 3 Praktikum SD-4007
SD-5002 Metodologi Penelitian 3 Wajib SD-4008
SD-5003 Pengolahan Data Terdistribusi 3 Praktikum SD-4003
SD-5004 Pemrograman Web 3 Wajib SD-1004
SD-5005 Mata Kuliah Pilihan 1 3 Pilihan -
SD-5006 Mata Kuliah Pilihan 2 3 Pilihan -
SD-5007 Mata Kuliah Pilihan 3 3 Pilihan -

Semester 6

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-6001 Proyek Sains Data 3 Praktikum SD-5002
SD-6002 Kecerdasan Buatan 3 Wajib SD-4001
SD-6003 Pengolahan Bahasa Alami 3 Wajib SD-3001
SD-6004 Sistem Informasi Manajemen 3 Wajib SD-2004
SD-6005 Mata Kuliah Pilihan 4 3 Pilihan -
SD-6006 Mata Kuliah Pilihan 5 3 Pilihan -
SD-6007 Mata Kuliah Pilihan 6 3 Pilihan -

Semester 7

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-7001 Praktik Kerja Lapangan (PKL) 3 Praktikum SD-6001
SD-7002 Seminar Proposal 2 Wajib -
SD-7003 Penulisan Ilmiah 2 Wajib SD-7002
SD-7004 Mata Kuliah Pilihan 7 3 Pilihan -
SD-7005 Mata Kuliah Pilihan 8 3 Pilihan -

Semester 8

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-8001 Skripsi 6 Praktikum SD-7003
SD-8002 Mata Kuliah Pilihan 9 3 Pilihan -

Konsentrasi Big Data Analytics

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-6101A Pembelajaran Mesin Lanjutan 3 Praktikum SD-4001
SD-6102A Pengolahan Big Data 3 Praktikum SD-4003
SD-6103A Kecerdasan Buatan 3 Praktikum SD-4001
SD-6104A Manajemen Big Data 3 Kuliah SD-6102A
SD-6105A Visualisasi Big Data 3 Praktikum SD-6102A
SD-6106A Analisisi Jaringan Sosial 3 Kuliah SD-6102A
SD-6107A Big Data Cloud Computing 3 Kuliah SD-6104A
SD-6108A Analisis Sentimen 3 Praktikum SD-6102A

Konsentrasi Financial Engineering

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-5103B Analisis Risiko Keuangan 3 Kuliah SD-5001, SD-5005
SD-5104B Ekonometrika 3 Kuliah SD-5001, SD-5002
SD-5105B Teori Portofolio 3 Kuliah SD-5001, SD-5005
SD-5106B Keuangan Kuantitatif 3 Kuliah SD-5001, SD-5002
SD-5107B Model Risiko Kredit 3 Kuliah SD-5103B
SD-5108B Derivatif dan Instrumen Keuangan 3 Kuliah SD-5104B, SD-5105B
SD-5109B Analisis Kinerja Investasi 3 Kuliah SD-5106B
SD-5110B Pengelolaan Risiko Portofolio 3 Kuliah SD-5108B, SD-5109B

Konsentrasi Sawit

Kode Mata Kuliah Nama Mata Kuliah SKS Kategori Prasyarat
SD-5201C Statistik dan Analisis Kualitas Tanah 3 Kuliah SD-1003
SD-5202C Pengolahan Data Pengindeksan 3 Kuliah SD-2004
SD-5203C Analisis Data Kualitas CPO 3 Kuliah SD-4004
SD-5204C Pemodelan Tanaman Sawit 3 Kuliah SD-4001
SD-5205C Manajemen Risiko dalam Industri Sawit 3 Kuliah SD-5103B
SD-5206C Implementasi Sistem Informasi Sawit 3 Kuliah SD-6004
SD-5207C Analisis dan Prediksi Harga Sawit 3 Kuliah SD-5003
SD-5208C Sistem Monitoring dan Evaluasi 3 Kuliah SD-5204C
LS0tDQp0aXRsZTogIlByb3NmZWsgS2VyamEgUHJvZGkgU2FpbnMgRGF0YSBJVFNCIg0Kc3VidGl0bGU6ICJHcm91cCBTaW5hciBNYXMiDQphdXRob3I6ICJCYWt0aSBTaXJlZ2FyLCBTLlNpLiwgTS5TYyINCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlDQogICAgdGh1bWJuYWlsczogdHJ1ZQ0KICAgIGxpZ2h0Ym94OiB0cnVlDQogICAgZ2FsbGVyeTogdHJ1ZQ0KICAgIGxpYl9kaXI6IGxpYnMNCiAgICBkZl9wcmludDogInBhZ2VkIg0KICAgIGNvZGVfZm9sZGluZzogInNob3ciDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY3NzOiAic3R5bGUuY3NzIg0KDQotLS0NCg0KYGBge3IgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChjbGFzcy5zb3VyY2UgPSAibm9jb3B5IiwNCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcy5vdXRwdXQgPSAibm9jb3B5IiwNCiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRiwNCiAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nID0gRikNCmBgYA0KDQojIFRhcmdldCBQcm9maWwgTHVsdXNhbg0KDQojIyAxLiBEYXRhIFNjaWVudGlzdA0KKipEZXNrcmlwc2k6KiogRGF0YSBTY2llbnRpc3QgbWVuZ3VtcHVsa2FuLCBtZW5nYW5hbGlzaXMsIGRhbiBtZW5naW50ZXJwcmV0YXNpa2FuIGRhdGEgZGFsYW0ganVtbGFoIGJlc2FyIHVudHVrIG1lbWJhbnR1IHBlbmdhbWJpbGFuIGtlcHV0dXNhbiBiaXNuaXMuIE1lcmVrYSBtZW5nZ3VuYWthbiB0ZWtuaWsgc3RhdGlzdGlrLCBhbGdvcml0bWEgbWFjaGluZSBsZWFybmluZywgZGFuIHZpc3VhbGlzYXNpIGRhdGEgdW50dWsgbWVuZW11a2FuIHBvbGEgZGFuIHRyZW4uDQoNCioqS29tcGV0ZW5zaToqKg0KDQotIFBlbW9kZWxhbiBkYXRhIGRhbiBhbmFsaXNpcyBzdGF0aXN0aWsuDQotIFBlbmVyYXBhbiBhbGdvcml0bWEgbWFjaGluZSBsZWFybmluZy4NCi0gUGVuZ2VtYmFuZ2FuIG1vZGVsIHByZWRpa3RpZi4NCi0gVmlzdWFsaXNhc2kgZGF0YSBkYW4ga29tdW5pa2FzaSBoYXNpbCBhbmFsaXNpcy4NCi0gUGVuZXJhcGFuIGJpZyBkYXRhIHRvb2xzIHNlcGVydGkgSGFkb29wIGRhbiBTcGFyay4NCi0gUGVuZ2d1bmFhbiBiYWhhc2EgcGVtcm9ncmFtYW4gc2VwZXJ0aSBQeXRob24gZGFuIFIuDQoNCiMjIDIuIERhdGEgRW5naW5lZXINCioqRGVza3JpcHNpOioqIERhdGEgRW5naW5lZXIgbWVtYmFuZ3VuLCBtZW1lbGloYXJhLCBkYW4gbWVuZ29wdGltYWxrYW4gaW5mcmFzdHJ1a3R1ciBkYXRhIHlhbmcgZGlwZXJsdWthbiB1bnR1ayBhbmFsaXNpcy4gTWVyZWthIGJlcnRhbmdndW5nIGphd2FiIHVudHVrIG1lbmdlbWJhbmdrYW4gcGlwZWxpbmUgZGF0YSwgbWVuZ2Vsb2xhIGRhdGFiYXNlLCBkYW4gbWVtYXN0aWthbiBkYXRhIGRhcGF0IGRpYWtzZXMgb2xlaCBEYXRhIFNjaWVudGlzdCBkYW4gRGF0YSBBbmFseXN0Lg0KDQoqKktvbXBldGVuc2k6KioNCg0KLSBEZXNhaW4gZGFuIGltcGxlbWVudGFzaSBhcnNpdGVrdHVyIGRhdGEuDQotIFBlbmdlbG9sYWFuIGRhbiBvcHRpbWlzYXNpIGRhdGFiYXNlLg0KLSBQZW1iYW5ndW5hbiBwaXBlbGluZSBFVEwgKEV4dHJhY3QsIFRyYW5zZm9ybSwgTG9hZCkuDQotIEludGVncmFzaSBkYXRhIGRhcmkgYmVyYmFnYWkgc3VtYmVyLg0KLSBQZW5nZWxvbGFhbiBkYXRhIHdhcmVob3VzaW5nLg0KLSBQZW5nZ3VuYWFuIFNRTCBkYW4gTm9TUUwgZGF0YWJhc2Ugc3lzdGVtcy4NCg0KIyMgMy4gRGF0YSBBbmFseXN0DQoqKkRlc2tyaXBzaToqKiBEYXRhIEFuYWx5c3QgZm9rdXMgcGFkYSBhbmFsaXNpcyBkYXRhIHVudHVrIG1lbmdoYXNpbGthbiB3YXdhc2FuIGJpc25pcyB5YW5nIGFjdGlvbmFibGUuIE1lcmVrYSBtZW5nZ3VuYWthbiBhbGF0IGFuYWxpdGlrIHVudHVrIG1lbmdvbGFoIGRhdGEgZGFuIG1lbWJ1YXQgbGFwb3JhbiwgZGFzaGJvYXJkLCBkYW4gdmlzdWFsaXNhc2kgdW50dWsgbWVtYmFudHUgcGVuZ2FtYmlsYW4ga2VwdXR1c2FuLg0KDQoqKktvbXBldGVuc2k6KioNCg0KLSBBbmFsaXNpcyBkYXRhIGRlc2tyaXB0aWYgZGFuIGluZmVyZW5zaWFsLg0KLSBQZW1idWF0YW4gbGFwb3JhbiBkYW4gZGFzaGJvYXJkLg0KLSBWaXN1YWxpc2FzaSBkYXRhLg0KLSBJbnRlcnByZXRhc2kgaGFzaWwgYW5hbGlzaXMgdW50dWsgcmVrb21lbmRhc2kgYmlzbmlzLg0KLSBQZW5nZ3VuYWFuIGFsYXQgQkkgKEJ1c2luZXNzIEludGVsbGlnZW5jZSkgc2VwZXJ0aSBUYWJsZWF1LCBQb3dlciBCSS4NCi0gUGVuZ2d1bmFhbiBiYWhhc2EgcXVlcnkgc2VwZXJ0aSBTUUwuDQoNCiMjIDQuIEZpbmFuY2lhbCBFbmdpbmVlcg0KKipEZXNrcmlwc2k6KiogRmluYW5jaWFsIEVuZ2luZWVyIG1lbmdhcGxpa2FzaWthbiBtZXRvZGUgbWF0ZW1hdGlrYSwgc3RhdGlzdGlrLCBkYW4gdGVrbmlrIGtvbXB1dGFzaSB1bnR1ayBtZW1lY2Foa2FuIG1hc2FsYWggZGkgYmlkYW5nIGtldWFuZ2FuLiBNZXJla2EgYmVrZXJqYSBwYWRhIHBlbmdlbWJhbmdhbiBtb2RlbCB1bnR1ayBtYW5hamVtZW4gcmlzaWtvLCBwZW5pbGFpYW4gYXNldCwgZGFuIHN0cmF0ZWdpIGludmVzdGFzaS4NCg0KKipLb21wZXRlbnNpOioqDQoNCi0gUGVtb2RlbGFuIGtldWFuZ2FuIGRhbiBrdWFudGl0YXRpZi4NCi0gTWFuYWplbWVuIHJpc2lrbyBrZXVhbmdhbi4NCi0gUGVuZ2VtYmFuZ2FuIGRhbiBpbXBsZW1lbnRhc2kgYWxnb3JpdG1hIHBlcmRhZ2FuZ2FuLg0KLSBQZW5pbGFpYW4gZGFuIHBlbW9kZWxhbiBkZXJpdmF0aWYuDQotIEFuYWxpc2lzIHBvcnRvZm9saW8gZGFuIG9wdGltaXNhc2kuDQotIFBlbmdndW5hYW4gYmFoYXNhIHBlbXJvZ3JhbWFuIHNlcGVydGkgUHl0aG9uLCBSLCBkYW4gTUFUTEFCLg0KDQojIyA1LiBLb25zdWx0YW4gSW52ZXN0b3INCioqRGVza3JpcHNpOioqIEtvbnN1bHRhbiBJbnZlc3RvciBtZW1iZXJpa2FuIHNhcmFuIGludmVzdGFzaSBrZXBhZGEgaW5kaXZpZHUgYXRhdSBvcmdhbmlzYXNpIGJlcmRhc2Fya2FuIGFuYWxpc2lzIGRhdGEgcGFzYXIgZGFuIGtldWFuZ2FuLiBNZXJla2EgbWVtYmFudHUga2xpZW4gbWVuZ2Vsb2xhIHBvcnRvZm9saW8gaW52ZXN0YXNpIHVudHVrIG1lbmNhcGFpIHR1anVhbiBrZXVhbmdhbiBtZXJla2EuDQoNCioqS29tcGV0ZW5zaSBVdGFtYToqKg0KDQotIEFuYWxpc2lzIHBhc2FyIGtldWFuZ2FuIGRhbiB0cmVuIGludmVzdGFzaS4NCi0gRXZhbHVhc2kga2luZXJqYSBwb3J0b2ZvbGlvLg0KLSBQZW55dXN1bmFuIHN0cmF0ZWdpIGludmVzdGFzaS4NCi0gUGVtYWhhbWFuIHByb2R1ayBpbnZlc3Rhc2kgZGFuIHJpc2lrbyB0ZXJrYWl0Lg0KLSBLb211bmlrYXNpIGRhbiBwcmVzZW50YXNpIHJla29tZW5kYXNpIGludmVzdGFzaS4NCi0gUGVuZ2d1bmFhbiBhbGF0IGRhbiBzb2Z0d2FyZSBhbmFsaXNpcyBpbnZlc3Rhc2kuDQoNCiMjIDYuIEJ1c2luZXNzIEFuYWx5c3QNCioqRGVza3JpcHNpOioqIEJ1c2luZXNzIEFuYWx5c3QgYmVrZXJqYSB1bnR1ayBtZW5naWRlbnRpZmlrYXNpIGtlYnV0dWhhbiBiaXNuaXMgZGFuIG1lbmNhcmkgc29sdXNpIGJlcmJhc2lzIGRhdGEuIE1lcmVrYSBtZW5qZW1iYXRhbmkga29tdW5pa2FzaSBhbnRhcmEgcGVtYW5na3Uga2VwZW50aW5nYW4gYmlzbmlzIGRhbiB0aW0gdGVrbmlzLCBzZXJ0YSBtZW1hc3Rpa2FuIHNvbHVzaSB5YW5nIGRpaW1wbGVtZW50YXNpa2FuIHNlc3VhaSBkZW5nYW4ga2VidXR1aGFuIGJpc25pcy4NCg0KKipLb21wZXRlbnNpOioqDQoNCi0gUGVtYWhhbWFuIHByb3NlcyBiaXNuaXMuDQotIFBlbmd1bXB1bGFuIGRhbiBhbmFsaXNpcyBrZWJ1dHVoYW4uDQotIFBlbnl1c3VuYW4gZG9rdW1lbnRhc2kgc3Blc2lmaWthc2kuDQotIEV2YWx1YXNpIHNvbHVzaSBiaXNuaXMgZGFuIHRla25pcy4NCi0gS29tdW5pa2FzaSBkYW4ga29vcmRpbmFzaSBhbnRhciB0aW0uDQotIEFuYWxpc2lzIGJpYXlhLW1hbmZhYXQgZGFuIFJPSSAoUmV0dXJuIG9uIEludmVzdG1lbnQpLg0KDQojIyA3LiBDcmVkaXQgQW5hbHlzdA0KKipEZXNrcmlwc2k6KiogQ3JlZGl0IEFuYWx5c3QgbWVuZ2V2YWx1YXNpIGtlbGF5YWthbiBrcmVkaXQgaW5kaXZpZHUgYXRhdSBvcmdhbmlzYXNpIGRlbmdhbiBtZW5nYW5hbGlzaXMgZGF0YSBrZXVhbmdhbiBkYW4gc2VqYXJhaCBrcmVkaXQuIE1lcmVrYSBtZW1iZXJpa2FuIHJla29tZW5kYXNpIG1lbmdlbmFpIHBlcnNldHVqdWFuIGF0YXUgcGVub2xha2FuIGFwbGlrYXNpIGtyZWRpdC4NCg0KKipLb21wZXRlbnNpIFV0YW1hOioqDQoNCi0gQW5hbGlzaXMgbGFwb3JhbiBrZXVhbmdhbi4NCi0gRXZhbHVhc2kgcmlzaWtvIGtyZWRpdC4NCi0gUGVuaWxhaWFuIHNrb3Iga3JlZGl0IGRhbiBzZWphcmFoIHBlbWJheWFyYW4uDQotIFBlbnl1c3VuYW4gcmVrb21lbmRhc2kga3JlZGl0Lg0KLSBQZW1haGFtYW4gcmVndWxhc2kgZGFuIGtlYmlqYWthbiBrcmVkaXQuDQotIFBlbmdndW5hYW4gYWxhdCBkYW4gc29mdHdhcmUgYW5hbGlzaXMga3JlZGl0Lg0KDQojIyA4LiBBa3R1YXJpcw0KKipEZXNrcmlwc2k6KiogQWt0dWFyaXMgbWVuZ2d1bmFrYW4gbWF0ZW1hdGlrYSwgc3RhdGlzdGlrLCBkYW4gdGVvcmkga2V1YW5nYW4gdW50dWsgbWVuZ2FuYWxpc2lzIGRhbiBtZW5nZWxvbGEgcmlzaWtvIGRhbGFtIGluZHVzdHJpIGFzdXJhbnNpIGRhbiBrZXVhbmdhbi4gTWVyZWthIG1lcmFuY2FuZyBkYW4gbWVuZ2Vsb2xhIHByb2dyYW0gYXN1cmFuc2ksIHBlbnNpdW4sIGRhbiBpbnZlc3Rhc2kgdW50dWsgbWVtaW5pbWFsa2FuIHJpc2lrbyBkYW4gbWVtYWtzaW1hbGthbiBrZXVudHVuZ2FuLg0KDQoqKktvbXBldGVuc2k6KioNCg0KLSBQZW1vZGVsYW4gcmlzaWtvIGFzdXJhbnNpIGRhbiBrZXVhbmdhbi4NCi0gQW5hbGlzaXMgZGF0YSBzdGF0aXN0aWsgdW50dWsgcHJlZGlrc2kga2xhaW0gZGFuIGtlcnVnaWFuLg0KLSBQZW5nZW1iYW5nYW4gZGFuIHBlbmlsYWlhbiBwcm9kdWsgYXN1cmFuc2kuDQotIE1hbmFqZW1lbiByaXNpa28gZGFuIHN0cmF0ZWdpIG1pdGlnYXNpLg0KLSBQZW5pbGFpYW4gZGFuIHBlbmdlbG9sYWFuIGtld2FqaWJhbiBha3R1YXJpYS4NCi0gUGVuZ2d1bmFhbiBwZXJhbmdrYXQgbHVuYWsgYWt0dWFyaWEgZGFuIHBlbXJvZ3JhbWFuLg0KDQojIyA5LiBFa29ub20NCioqRGVza3JpcHNpOioqIEVrb25vbSBiZXJ0YW5nZ3VuZyBqYXdhYiB1bnR1ayBtZW5ndW1wdWxrYW4gZGFuIG1lbmdhbmFsaXNpcyBkYXRhIGVrb25vbWkgZGFuIGtldWFuZ2FuIHlhbmcgZGlwZXJsdWthbiB1bnR1ayBrZWJpamFrYW4gbW9uZXRlciBkYW4gbWFrcm9wcnVkZW5zaWFsLiBNZXJla2EgbWVuZHVrdW5nIHR1Z2FzLXR1Z2FzIHBlbmVsaXRpYW4gZGFuIGFuYWxpc2lzIHVudHVrIHN0YWJpbGl0YXMgZWtvbm9taSBuYXNpb25hbC4NCg0KKipLb21wZXRlbnNpOioqDQotIFBlbmd1bXB1bGFuIGRhbiBhbmFsaXNpcyBkYXRhIGVrb25vbWkgZGFuIGtldWFuZ2FuLg0KLSBQZW55dXN1bmFuIGxhcG9yYW4gZGFuIHB1Ymxpa2FzaSBla29ub21pLg0KLSBBbmFsaXNpcyBrZWJpamFrYW4gbW9uZXRlciBkYW4gbWFrcm9wcnVkZW5zaWFsLg0KLSBQZW5nZ3VuYWFuIGFsYXQgYW5hbGlzaXMgZWtvbm9taSBkYW4ga2V1YW5nYW4uDQotIEtlcmphc2FtYSBkZW5nYW4gaW5zdGl0dXNpIGtldWFuZ2FuIGRhbiBwZW1lcmludGFoLg0KLSBQcmVzZW50YXNpIGhhc2lsIGFuYWxpc2lzIGtlcGFkYSBwZW1idWF0IGtlYmlqYWthbi4NCg0KDQojIyAxMC4gUmVzZWFyY2hlcg0KKipEZXNrcmlwc2k6KiogUmVzZWFyY2hlciBkYWxhbSBiaWRhbmcgZGF0YSBzY2llbmNlIG1lbGFrdWthbiBwZW5lbGl0aWFuIHVudHVrIG1lbmdlbWJhbmdrYW4gbWV0b2RlIGJhcnUgYXRhdSBtZW5pbmdrYXRrYW4gbWV0b2RlIHlhbmcgYWRhIGRhbGFtIGFuYWxpc2lzIGRhdGEuIE1lcmVrYSBiZWtlcmphIGRpIGJlcmJhZ2FpIHNla3RvciBzZXBlcnRpIGFrYWRlbWlzaSwgaW5kdXN0cmksIGRhbiBwZW1lcmludGFoLg0KDQoqKktvbXBldGVuc2k6KioNCg0KLSBQZW5nZW1iYW5nYW4gbWV0b2RvbG9naSBhbmFsaXNpcyBkYXRhLg0KLSBQZWxha3NhbmFhbiBla3NwZXJpbWVuIGRhbiBwZW5ndWppYW4gaGlwb3Rlc2lzLg0KLSBQdWJsaWthc2kgaGFzaWwgcGVuZWxpdGlhbiBkaSBqdXJuYWwgaWxtaWFoLg0KLSBLb2xhYm9yYXNpIGRlbmdhbiBwZW5lbGl0aSBsYWluIGRpIGJpZGFuZyB0ZXJrYWl0Lg0KLSBQZW5nZ3VuYWFuIGFsYXQgZGFuIHRla25payBhbmFsaXNpcyBkYXRhIG11dGFraGlyLg0KLSBQcmVzZW50YXNpIGhhc2lsIHBlbmVsaXRpYW4gZGkga29uZmVyZW5zaSBpbG1pYWguDQoNCiMgQ2FwYWlhbiBQZW1iZWxhamFyYW4gTHVsdXNhbiAoQ1BMKQ0KDQojIyBBLiBQZW5nZXRhaHVhbg0KDQotICoqQTE6KiogTWVtYWhhbWkga29uc2VwIGRhc2FyIHN0YXRpc3RpaywgbWF0ZW1hdGlrYSwgZGFuIGlsbXUga29tcHV0ZXIgeWFuZyBtZW5qYWRpIGRhc2FyIGFuYWxpc2lzIGRhdGEuDQotICoqQTI6KiogTWVuZ3Vhc2FpIHRlb3JpIGRhbiBhcGxpa2FzaSBtYWNoaW5lIGxlYXJuaW5nIGRhbiBrZWNlcmRhc2FuIGJ1YXRhbi4NCi0gKipBMzoqKiBNZW5ndWFzYWkgdGVrbmlrIHBlbmdlbG9sYWFuIGRhbiBpbnRlZ3Jhc2kgZGF0YSBkYXJpIGJlcmJhZ2FpIHN1bWJlci4NCi0gKipBNDoqKiBNZW1haGFtaSBrb25zZXAgYmlnIGRhdGEgZGFuIHRla25vbG9naSB0ZXJrYWl0IHNlcGVydGkgSGFkb29wLCBTcGFyay4NCi0gKipBNToqKiBNZW5ndWFzYWkgZGFzYXItZGFzYXIgcGVtcm9ncmFtYW4gZGFsYW0gYmFoYXNhIHNlcGVydGkgUHl0aG9uLCBSLCBkYW4gU1FMLg0KLSAqKkE2OioqIE1lbmd1YXNhaSB0ZW9yaSBrZXVhbmdhbiBkYW4gdGVrbmlrIGt1YW50aXRhdGlmIHVudHVrIGFuYWxpc2lzIGtldWFuZ2FuLg0KLSAqKkE3OioqIE1lbmd1YXNhaSBwcmluc2lwIGRhbiBwcmFrdGlrIGFrdHVhcmlhIHVudHVrIHBlbmdlbG9sYWFuIHJpc2lrbyBrZXVhbmdhbiBkYW4gYXN1cmFuc2kuDQotICoqQTg6KiogTWVtYWhhbWkgcHJpbnNpcCBkYW4gcmVndWxhc2kga3JlZGl0IHNlcnRhIHBlbmdlbG9sYWFuIHJpc2lrbyBrcmVkaXQuDQotICoqQTk6KiogTWVuZ3Vhc2FpIGtvbnNlcCBkYW4gc3RyYXRlZ2kgaW52ZXN0YXNpIHNlcnRhIG1hbmFqZW1lbiBwb3J0b2ZvbGlvLg0KLSAqKkExMDoqKiBNZW1haGFtaSBtZXRvZG9sb2dpIHBlbmVsaXRpYW4gZGFsYW0gYW5hbGlzaXMgZGF0YS4NCi0gKipBMTE6KiogTWVuZ3Vhc2FpIGtvbnNlcCBkYW4gdGVrbmlrIHBlbmd1bXB1bGFuIGRhdGEgc3RhdGlzdGlrIGRhbiBla29ub21pLg0KDQojIyBCLiBLZXRlcmFtcGlsYW4NCg0KLSAqKkIxOioqIE1lcmFuY2FuZywgbWVuZ2VtYmFuZ2thbiwgZGFuIG1lbmdpbXBsZW1lbnRhc2lrYW4gbW9kZWwgcHJlZGlrdGlmIGRhbiBhbmFsaXRpay4NCi0gKipCMjoqKiBNZW1iYW5ndW4gcGlwZWxpbmUgZGF0YSB5YW5nIGVmaXNpZW4gZGFuIHNjYWxhYmxlLg0KLSAqKkIzOioqIE1lbmdhbmFsaXNpcyBkYXRhIHNlY2FyYSBrcml0aXMgZGFuIG1lbmdoYXNpbGthbiB2aXN1YWxpc2FzaSB5YW5nIGluZm9ybWF0aWYuDQotICoqQjQ6KiogTWVuZ2VtYmFuZ2thbiBkYXNoYm9hcmQgZGFuIGxhcG9yYW4geWFuZyBtZW1iYW50dSBwZW5nYW1iaWxhbiBrZXB1dHVzYW4uDQotICoqQjU6KiogTWVuZ2d1bmFrYW4gYWxhdCBCSSB1bnR1ayBhbmFsaXNpcyBkYXRhLg0KLSAqKkI2OioqIE1lbmdvcHRpbWFsa2FuIGRhbiBtZW5nZWxvbGEgaW5mcmFzdHJ1a3R1ciBkYXRhLg0KLSAqKkI3OioqIE1lbmdhcGxpa2FzaWthbiBtb2RlbCBtYXRlbWF0aWthIGRhbiBzdGF0aXN0aWsgdW50dWsgbWFzYWxhaCBrZXVhbmdhbi4NCi0gKipCODoqKiBNZW5nZ3VuYWthbiBwZXJhbmdrYXQgbHVuYWsgYWt0dWFyaWEgdW50dWsgYW5hbGlzaXMgcmlzaWtvIGRhbiBtYW5hamVtZW4gYXN1cmFuc2kuDQotICoqQjk6KiogTWVsYWt1a2FuIGFuYWxpc2lzIGtlbGF5YWthbiBrcmVkaXQgZGFuIG1lbWJlcmlrYW4gcmVrb21lbmRhc2kuDQotICoqQjEwOioqIE1lbnl1c3VuIHN0cmF0ZWdpIGludmVzdGFzaSBkYW4gbWVsYWt1a2FuIGFuYWxpc2lzIHBhc2FyIGtldWFuZ2FuLg0KLSAqKkIxMToqKiBNZWxha3NhbmFrYW4gcGVuZWxpdGlhbiBkYW4gbWVuZ2VtYmFuZ2thbiBtZXRvZG9sb2dpIGJhcnUgZGFsYW0gYW5hbGlzaXMgZGF0YS4NCg0KIyMgQy4gU2lrYXANCg0KLSAqKkMxOioqIE1lbnVuanVra2FuIHNpa2FwIHByb2Zlc2lvbmFsIGRhbGFtIHNldGlhcCBrZWdpYXRhbiBhbmFsaXNpcyBkYW4gcGVuZ2FtYmlsYW4ga2VwdXR1c2FuLg0KLSAqKkMyOioqIE1lbmp1bmp1bmcgdGluZ2dpIGV0aWthIGRhbGFtIHBlbmdlbG9sYWFuIGRhbiBhbmFsaXNpcyBkYXRhLCB0ZXJtYXN1ayBkYWxhbSBtZW5qYWdhIGtlcmFoYXNpYWFuIGRhdGEuDQotICoqQzM6KiogTWFtcHUgYmVrZXJqYSBzZWNhcmEgbWFuZGlyaSBtYXVwdW4gZGFsYW0gdGltIGRlbmdhbiBiYWlrLg0KLSAqKkM0OioqIE1lbmdlbWJhbmdrYW4ga2VtYW1wdWFuIGtvbXVuaWthc2kgeWFuZyBlZmVrdGlmLCBiYWlrIGxpc2FuIG1hdXB1biB0dWxpc2FuLCB1bnR1ayBtZW55YW1wYWlrYW4gaGFzaWwgYW5hbGlzaXMga2VwYWRhIHBlbWFuZ2t1IGtlcGVudGluZ2FuLg0KLSAqKkM1OioqIEJlcmFkYXB0YXNpIGRlbmdhbiBjZXBhdCB0ZXJoYWRhcCBwZXJrZW1iYW5nYW4gdGVrbm9sb2dpIGRhbiBtZXRvZGUgYmFydSBkYWxhbSBhbmFsaXNpcyBkYXRhLg0KLSAqKkM2OioqIE1lbnVuanVra2FuIGtvbWl0bWVuIHRlcmhhZGFwIHBlbWJlbGFqYXJhbiBzZXBhbmphbmcgaGF5YXQgdW50dWsgdGVydXMgbWVuZ2VtYmFuZ2thbiBrZXRlcmFtcGlsYW4gZGFuIHBlbmdldGFodWFuIGRpIGJpZGFuZyBhbmFsaXNpcyBkYXRhLg0KLSAqKkM3OioqIE1lbmVyYXBrYW4gcHJpbnNpcC1wcmluc2lwIGtlYmVybGFuanV0YW4gZGFuIHRhbmdndW5nIGphd2FiIHNvc2lhbCBkYWxhbSBzZXRpYXAgYWt0aXZpdGFzIHByb2Zlc2lvbmFsLg0KDQojIyBELiBLZXRlcmFtcGlsYW4gS2h1c3VzDQoNCi0gKipEMToqKiBNZW5nZW1iYW5na2FuIGFsZ29yaXRtYSBtYWNoaW5lIGxlYXJuaW5nIHlhbmcgaW5vdmF0aWYgZGFuIGVmaXNpZW4gdW50dWsgYmVyYmFnYWkgYXBsaWthc2kgaW5kdXN0cmkuDQotICoqRDI6KiogTWVuZ2Vsb2xhIHByb3llayBkYXRhIGJlc2FyIHlhbmcgbWVsaWJhdGthbiB0aW0gbXVsdGlkaXNpcGxpbiBkYW4gYmVyYmFnYWkgcGVtYW5na3Uga2VwZW50aW5nYW4uDQotICoqRDM6KiogTWVuZXJhcGthbiB0ZWtuaWsgYW5hbGlzaXMgZGF0YSBnZW9zcGFzaWFsIHVudHVrIG1lbnllbGVzYWlrYW4gbWFzYWxhaC1tYXNhbGFoIHlhbmcgYmVya2FpdGFuIGRlbmdhbiBsb2thc2kuDQotICoqRDQ6KiogTWVuZ2VtYmFuZ2thbiBhcGxpa2FzaSBhbmFsaXRpayB5YW5nIGRhcGF0IGRpYWtzZXMgZGFuIGRpZ3VuYWthbiBvbGVoIHBlbmdndW5hIG5vbi10ZWtuaXMuDQotICoqRDU6KiogTWVsYWt1a2FuIGV2YWx1YXNpIGRhbiB2YWxpZGFzaSBtb2RlbCBwcmVkaWt0aWYgZGVuZ2FuIGRhdGEgYWt0dWFsIHVudHVrIG1lbWFzdGlrYW4gYWt1cmFzaSBkYW4ga2VhbmRhbGFubnlhLg0KLSAqKkQ2OioqIE1lbmdlbWJhbmdrYW4gc2lzdGVtIHJla29tZW5kYXNpIHlhbmcgZGFwYXQgZGlpbnRlZ3Jhc2lrYW4ga2UgZGFsYW0gcGxhdGZvcm0gZS1jb21tZXJjZSBhdGF1IG1lZGlhIHNvc2lhbC4NCi0gKipENzoqKiBNZW5nZ3VuYWthbiB0ZWtuaWsgZGVlcCBsZWFybmluZyB1bnR1ayBhbmFsaXNpcyBjaXRyYSwgc3VhcmEsIGRhbiB0ZWtzLg0KLSAqKkQ4OioqIE1lbmdlbWJhbmdrYW4gbW9kZWwga2V1YW5nYW4gdW50dWsgbWFuYWplbWVuIHBvcnRvZm9saW8sIHBlbmlsYWlhbiByaXNpa28sIGRhbiBwZW5nYW1iaWxhbiBrZXB1dHVzYW4gaW52ZXN0YXNpLg0KLSAqKkQ5OioqIE1lbmVyYXBrYW4gdGVrbmlrIHNpbXVsYXNpIGRhbiBvcHRpbWlzYXNpIHVudHVrIHBlcmVuY2FuYWFuIGRhbiBwZW5nZWxvbGFhbiBvcGVyYXNpIGJpc25pcy4NCi0gKipEMTA6KiogTWVsYWt1a2FuIGFuYWxpc2lzIHNlbnRpbWVuIGRhbiBwZW5nZ2FsaWFuIG9waW5pIGRhcmkgbWVkaWEgc29zaWFsIGRhbiBzdW1iZXIgZGF0YSB0aWRhayB0ZXJzdHJ1a3R1ciBsYWlubnlhLg0KLSAqKkQxMToqKiBNZW5nZW1iYW5na2FuIHNpc3RlbSBwZW5nYW1iaWxhbiBrZXB1dHVzYW4gYmVyYmFzaXMgZGF0YSB1bnR1ayBtZW5kdWt1bmcga2ViaWpha2FuIHB1YmxpayBkYW4gdGF0YSBrZWxvbGEgcGVtZXJpbnRhaGFuLg0KDQojIFNlYmFyYW4gTWF0YWt1bGlhaCANCg0KIyMgU2VtZXN0ZXIgMQ0KDQp8IEtvZGUgTWF0YSBLdWxpYWggfCBOYW1hIE1hdGEgS3VsaWFoICAgICAgICAgICAgICB8IFNLUyB8IEthdGVnb3JpIHwgUHJhc3lhcmF0IHwNCnwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfA0KfCBTRC0xMDAxICAgICAgICAgIHwgUGVuZ2FudGFyIFNhaW5zIERhdGEgICAgICAgICAgfCAzICAgfCBXYWppYiAgICB8IC0gICAgICAgICB8DQp8IFNELTEwMDIgICAgICAgICAgfCBNYXRlbWF0aWthIERhc2FyICAgICAgICAgICAgICB8IDMgICB8IFdhamliICAgIHwgLSAgICAgICAgIHwNCnwgU0QtMTAwMyAgICAgICAgICB8IFN0YXRpc3Rpa2EgRGFzYXIgICAgICAgICAgICAgIHwgMyAgIHwgV2FqaWIgICAgfCAtICAgICAgICAgfA0KfCBTRC0xMDA0ICAgICAgICAgIHwgQWxnb3JpdG1hIGRhbiBQZW1yb2dyYW1hbiAgICAgfCAzICAgfCBXYWppYiAgICB8IC0gICAgICAgICB8DQp8IFNELTEwMDUgICAgICAgICAgfCBCYWhhc2EgSW5nZ3JpcyAgICAgICAgICAgICAgICB8IDIgICB8IE1LVSAgICAgIHwgLSAgICAgICAgIHwNCnwgU0QtMTAwNiAgICAgICAgICB8IFBlbmRpZGlrYW4gQWdhbWEgICAgICAgICAgICAgIHwgMiAgIHwgTUtVICAgICAgfCAtICAgICAgICAgfA0KfCBTRC0xMDA3ICAgICAgICAgIHwgS2V3YXJnYW5lZ2FyYWFuICAgICAgICAgICAgICAgfCAyICAgfCBNS1UgICAgICB8IC0gICAgICAgICB8DQp8IFNELTEwMDggICAgICAgICAgfCBNZXRvZGUgUGVuZWxpdGlhbiBBd2FsICAgICAgICB8IDIgICB8IFdhamliICAgIHwgLSAgICAgICAgIHwNCnwgU0QtMTAwOSAgICAgICAgICB8IFByYWt0aWt1bSBQZW5nYW50YXIgRGF0YSAgICAgIHwgMiAgIHwgUHJha3Rpa3VtfCBTRC0xMDAxLCBTRC0xMDA0IHwNCg0KIyMgU2VtZXN0ZXIgMg0KDQp8IEtvZGUgTWF0YSBLdWxpYWggfCBOYW1hIE1hdGEgS3VsaWFoICAgICAgICAgICAgICB8IFNLUyB8IEthdGVnb3JpIHwgUHJhc3lhcmF0IHwNCnwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfA0KfCBTRC0yMDAxICAgICAgICAgIHwgQWxqYWJhciBMaW5lYXIgICAgICAgICAgICAgICAgfCAzICAgfCBXYWppYiAgICB8IFNELTEwMDIgICB8DQp8IFNELTIwMDIgICAgICAgICAgfCBQcm9iYWJpbGl0YXMgZGFuIFN0YXRpc3RpayAgICB8IDMgICB8IFdhamliICAgIHwgU0QtMTAwMyAgIHwNCnwgU0QtMjAwMyAgICAgICAgICB8IFN0cnVrdHVyIERhdGEgICAgICAgICAgICAgICAgIHwgMyAgIHwgV2FqaWIgICAgfCBTRC0xMDA0ICAgfA0KfCBTRC0yMDA0ICAgICAgICAgIHwgQmFzaXMgRGF0YSAgICAgICAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTIwMDMgICB8DQp8IFNELTIwMDUgICAgICAgICAgfCBNYXRlbWF0aWthIERpc2tyaXQgICAgICAgICAgICB8IDMgICB8IFdhamliICAgIHwgU0QtMTAwMiAgIHwNCnwgU0QtMjAwNiAgICAgICAgICB8IFBlbmRpZGlrYW4gUGFuY2FzaWxhICAgICAgICAgIHwgMiAgIHwgTUtVICAgICAgfCAtICAgICAgICAgfA0KfCBTRC0yMDA3ICAgICAgICAgIHwgUHJha3Rpa3VtIEFsamFiYXIgZGFuIFN0YXRpc3Rpa3wgMyAgIHwgUHJha3Rpa3VtfCBTRC0yMDAxLCBTRC0yMDAyIHwNCnwgU0QtMjAwOCAgICAgICAgICB8IFRla25payBEYXRhICAgICAgICAgICAgICAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC0yMDA0ICAgfA0KfCBTRC0yMDA5ICAgICAgICAgIHwgRXRpa2EgVGVrbm9sb2dpICAgICAgICAgICAgICAgfCAyICAgfCBNS1UgICAgICB8IC0gICAgICAgICB8DQoNCiMjIFNlbWVzdGVyIDMNCg0KfCBLb2RlIE1hdGEgS3VsaWFoIHwgTmFtYSBNYXRhIEt1bGlhaCAgICAgICAgICAgICAgfCBTS1MgfCBLYXRlZ29yaSB8IFByYXN5YXJhdCB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwNCnwgU0QtMzAwMSAgICAgICAgICB8IEFuYWxpc2lzIERhdGEgRWtzcGxvcmFzaSAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC0yMDA0ICAgfA0KfCBTRC0zMDAyICAgICAgICAgIHwgUGVtcm9ncmFtYW4gU3RhdGlzdGlrICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTEwMDQgICB8DQp8IFNELTMwMDMgICAgICAgICAgfCBTaXN0ZW0gT3BlcmFzaSAgICAgICAgICAgICAgICB8IDMgICB8IFdhamliICAgIHwgLSAgICAgICAgIHwNCnwgU0QtMzAwNCAgICAgICAgICB8IFBlbmdvbGFoYW4gRGF0YSBCZXJiYXNpcyBPYmpla3wgMyAgIHwgUHJha3Rpa3VtfCBTRC0yMDAzICAgfA0KfCBTRC0zMDA1ICAgICAgICAgIHwgUGVtcm9ncmFtYW4gQmVyYmFzaXMgT2JqZWsgICAgfCAzICAgfCBXYWppYiAgICB8IFNELTEwMDQgICB8DQp8IFNELTMwMDYgICAgICAgICAgfCBLZXdhcmdhbmVnYXJhYW4gICAgICAgICAgICAgICB8IDIgICB8IE1LVSAgICAgIHwgLSAgICAgICAgIHwNCnwgU0QtMzAwNyAgICAgICAgICB8IFByYWt0aWt1bSBTaXN0ZW0gT3BlcmFzaSAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC0zMDAzICAgfA0KDQojIyBTZW1lc3RlciA0DQoNCnwgS29kZSBNYXRhIEt1bGlhaCB8IE5hbWEgTWF0YSBLdWxpYWggICAgICAgICAgICAgIHwgU0tTIHwgS2F0ZWdvcmkgfCBQcmFzeWFyYXQgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18DQp8IFNELTQwMDEgICAgICAgICAgfCBNYWNoaW5lIExlYXJuaW5nICAgICAgICAgICAgICB8IDMgICB8IFByYWt0aWt1bXwgU0QtMzAwMSAgIHwNCnwgU0QtNDAwMiAgICAgICAgICB8IERhdGEgTWluaW5nICAgICAgICAgICAgICAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC0zMDAxICAgfA0KfCBTRC00MDAzICAgICAgICAgIHwgQmlnIERhdGEgICAgICAgICAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTMwMDEgICB8DQp8IFNELTQwMDQgICAgICAgICAgfCBWaXN1YWxpc2FzaSBEYXRhICAgICAgICAgICAgICB8IDMgICB8IFByYWt0aWt1bXwgU0QtMzAwMSAgIHwNCnwgU0QtNDAwNSAgICAgICAgICB8IEV0aWthIFByb2Zlc2kgICAgICAgICAgICAgICAgIHwgMiAgIHwgV2FqaWIgICAgfCAtICAgICAgICAgfA0KfCBTRC00MDA2ICAgICAgICAgIHwgUHJha3Rpa3VtIE1hY2hpbmUgTGVhcm5pbmcgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTQwMDEgICB8DQp8IFNELTQwMDcgICAgICAgICAgfCBBbmFsaXNpcyBEYXRhIFRlcmFwYW4gICAgICAgICB8IDMgICB8IFByYWt0aWt1bXwgU0QtNDAwMSwgU0QtNDAwMiB8DQp8IFNELTQwMDggICAgICAgICAgfCBNZXRvZG9sb2dpIFBlbmVsaXRpYW4gTGFuanV0ICB8IDMgICB8IFdhamliICAgIHwgU0QtNDAwNyAgIHwNCg0KIyMgU2VtZXN0ZXIgNQ0KDQp8IEtvZGUgTWF0YSBLdWxpYWggfCBOYW1hIE1hdGEgS3VsaWFoICAgICAgICAgICAgICB8IFNLUyB8IEthdGVnb3JpIHwgUHJhc3lhcmF0IHwNCnwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfA0KfCBTRC01MDAxICAgICAgICAgIHwgQW5hbGlzaXMgUmVncmVzaSAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTQwMDcgICB8DQp8IFNELTUwMDIgICAgICAgICAgfCBNZXRvZG9sb2dpIFBlbmVsaXRpYW4gICAgICAgICB8IDMgICB8IFdhamliICAgIHwgU0QtNDAwOCAgIHwNCnwgU0QtNTAwMyAgICAgICAgICB8IFBlbmdvbGFoYW4gRGF0YSBUZXJkaXN0cmlidXNpIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC00MDAzICAgfA0KfCBTRC01MDA0ICAgICAgICAgIHwgUGVtcm9ncmFtYW4gV2ViICAgICAgICAgICAgICAgfCAzICAgfCBXYWppYiAgICB8IFNELTEwMDQgICB8DQp8IFNELTUwMDUgICAgICAgICAgfCBNYXRhIEt1bGlhaCBQaWxpaGFuIDEgICAgICAgICB8IDMgICB8IFBpbGloYW4gIHwgLSAgICAgICAgIHwNCnwgU0QtNTAwNiAgICAgICAgICB8IE1hdGEgS3VsaWFoIFBpbGloYW4gMiAgICAgICAgIHwgMyAgIHwgUGlsaWhhbiAgfCAtICAgICAgICAgfA0KfCBTRC01MDA3ICAgICAgICAgIHwgTWF0YSBLdWxpYWggUGlsaWhhbiAzICAgICAgICAgfCAzICAgfCBQaWxpaGFuICB8IC0gICAgICAgICB8DQoNCiMjIFNlbWVzdGVyIDYNCg0KfCBLb2RlIE1hdGEgS3VsaWFoIHwgTmFtYSBNYXRhIEt1bGlhaCAgICAgICAgICAgICAgfCBTS1MgfCBLYXRlZ29yaSB8IFByYXN5YXJhdCB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwNCnwgU0QtNjAwMSAgICAgICAgICB8IFByb3llayBTYWlucyBEYXRhICAgICAgICAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC01MDAyICAgfA0KfCBTRC02MDAyICAgICAgICAgIHwgS2VjZXJkYXNhbiBCdWF0YW4gICAgICAgICAgICAgfCAzICAgfCBXYWppYiAgICB8IFNELTQwMDEgICB8DQp8IFNELTYwMDMgICAgICAgICAgfCBQZW5nb2xhaGFuIEJhaGFzYSBBbGFtaSAgICAgICB8IDMgICB8IFdhamliICAgIHwgU0QtMzAwMSAgIHwNCnwgU0QtNjAwNCAgICAgICAgICB8IFNpc3RlbSBJbmZvcm1hc2kgTWFuYWplbWVuICAgIHwgMyAgIHwgV2FqaWIgICAgfCBTRC0yMDA0ICAgfA0KfCBTRC02MDA1ICAgICAgICAgIHwgTWF0YSBLdWxpYWggUGlsaWhhbiA0ICAgICAgICAgfCAzICAgfCBQaWxpaGFuICB8IC0gICAgICAgICB8DQp8IFNELTYwMDYgICAgICAgICAgfCBNYXRhIEt1bGlhaCBQaWxpaGFuIDUgICAgICAgICB8IDMgICB8IFBpbGloYW4gIHwgLSAgICAgICAgIHwNCnwgU0QtNjAwNyAgICAgICAgICB8IE1hdGEgS3VsaWFoIFBpbGloYW4gNiAgICAgICAgIHwgMyAgIHwgUGlsaWhhbiAgfCAtICAgICAgICAgfA0KDQojIyBTZW1lc3RlciA3DQoNCnwgS29kZSBNYXRhIEt1bGlhaCB8IE5hbWEgTWF0YSBLdWxpYWggICAgICAgICAgICAgIHwgU0tTIHwgS2F0ZWdvcmkgfCBQcmFzeWFyYXQgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18DQp8IFNELTcwMDEgICAgICAgICAgfCBQcmFrdGlrIEtlcmphIExhcGFuZ2FuIChQS0wpICB8IDMgICB8IFByYWt0aWt1bXwgU0QtNjAwMSAgIHwNCnwgU0QtNzAwMiAgICAgICAgICB8IFNlbWluYXIgUHJvcG9zYWwgICAgICAgICAgICAgIHwgMiAgIHwgV2FqaWIgICAgfCAtICAgICAgICAgfA0KfCBTRC03MDAzICAgICAgICAgIHwgUGVudWxpc2FuIElsbWlhaCAgICAgICAgICAgICAgfCAyICAgfCBXYWppYiAgICB8IFNELTcwMDIgICB8DQp8IFNELTcwMDQgICAgICAgICAgfCBNYXRhIEt1bGlhaCBQaWxpaGFuIDcgICAgICAgICB8IDMgICB8IFBpbGloYW4gIHwgLSAgICAgICAgIHwNCnwgU0QtNzAwNSAgICAgICAgICB8IE1hdGEgS3VsaWFoIFBpbGloYW4gOCAgICAgICAgIHwgMyAgIHwgUGlsaWhhbiAgfCAtICAgICAgICAgfA0KDQojIyBTZW1lc3RlciA4DQoNCnwgS29kZSBNYXRhIEt1bGlhaCB8IE5hbWEgTWF0YSBLdWxpYWggICAgICAgICAgICAgIHwgU0tTIHwgS2F0ZWdvcmkgfCBQcmFzeWFyYXQgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18DQp8IFNELTgwMDEgICAgICAgICAgfCBTa3JpcHNpICAgICAgICAgICAgICAgICAgICAgICB8IDYgICB8IFByYWt0aWt1bXwgU0QtNzAwMyAgIHwNCnwgU0QtODAwMiAgICAgICAgICB8IE1hdGEgS3VsaWFoIFBpbGloYW4gOSAgICAgICAgIHwgMyAgIHwgUGlsaWhhbiAgfCAtICAgICAgICAgfA0KDQojIyBLb25zZW50cmFzaSBCaWcgRGF0YSBBbmFseXRpY3MNCg0KfCBLb2RlIE1hdGEgS3VsaWFoIHwgTmFtYSBNYXRhIEt1bGlhaCAgICAgICAgICAgICAgICAgICAgfCBTS1MgfCBLYXRlZ29yaSB8IFByYXN5YXJhdCB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwNCnwgU0QtNjEwMUEgICAgICAgICB8IFBlbWJlbGFqYXJhbiBNZXNpbiBMYW5qdXRhbiAgICAgICAgIHwgMyAgIHwgUHJha3Rpa3VtfCBTRC00MDAxICAgfA0KfCBTRC02MTAyQSAgICAgICAgIHwgUGVuZ29sYWhhbiAqQmlnIERhdGEqICAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTQwMDMgICB8DQp8IFNELTYxMDNBICAgICAgICAgfCBLZWNlcmRhc2FuIEJ1YXRhbiAgICAgICAgICAgICAgICAgICB8IDMgICB8IFByYWt0aWt1bXwgU0QtNDAwMSAgIHwNCnwgU0QtNjEwNEEgICAgICAgICB8IE1hbmFqZW1lbiAqQmlnIERhdGEqICAgICAgICAgICAgICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC02MTAyQSAgfA0KfCBTRC02MTA1QSAgICAgICAgIHwgVmlzdWFsaXNhc2kgKkJpZyBEYXRhKiAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTYxMDJBICB8DQp8IFNELTYxMDZBICAgICAgICAgfCBBbmFsaXNpc2kgSmFyaW5nYW4gU29zaWFsICAgICAgICAgICB8IDMgICB8IEt1bGlhaCAgIHwgU0QtNjEwMkEgIHwNCnwgU0QtNjEwN0EgICAgICAgICB8ICpCaWcgRGF0YSBDbG91ZCBDb21wdXRpbmcqICAgICAgICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC02MTA0QSAgfA0KfCBTRC02MTA4QSAgICAgICAgIHwgQW5hbGlzaXMgU2VudGltZW4gICAgICAgICAgICAgICAgICAgfCAzICAgfCBQcmFrdGlrdW18IFNELTYxMDJBICB8DQoNCiMjIEtvbnNlbnRyYXNpIEZpbmFuY2lhbCBFbmdpbmVlcmluZw0KDQp8IEtvZGUgTWF0YSBLdWxpYWggfCBOYW1hIE1hdGEgS3VsaWFoICAgICAgICAgICAgICAgICAgICB8IFNLUyB8IEthdGVnb3JpIHwgUHJhc3lhcmF0IHwNCnwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tfA0KfCBTRC01MTAzQiAgICAgICAgIHwgQW5hbGlzaXMgUmlzaWtvIEtldWFuZ2FuICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUwMDEsIFNELTUwMDUgfA0KfCBTRC01MTA0QiAgICAgICAgIHwgRWtvbm9tZXRyaWthICAgICAgICAgICAgICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUwMDEsIFNELTUwMDIgfA0KfCBTRC01MTA1QiAgICAgICAgIHwgVGVvcmkgUG9ydG9mb2xpbyAgICAgICAgICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUwMDEsIFNELTUwMDUgfA0KfCBTRC01MTA2QiAgICAgICAgIHwgS2V1YW5nYW4gS3VhbnRpdGF0aWYgICAgICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUwMDEsIFNELTUwMDIgfA0KfCBTRC01MTA3QiAgICAgICAgIHwgTW9kZWwgUmlzaWtvIEtyZWRpdCAgICAgICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUxMDNCIHwNCnwgU0QtNTEwOEIgICAgICAgICB8IERlcml2YXRpZiBkYW4gSW5zdHJ1bWVuIEtldWFuZ2FuICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC01MTA0QiwgU0QtNTEwNUIgfA0KfCBTRC01MTA5QiAgICAgICAgIHwgQW5hbGlzaXMgS2luZXJqYSBJbnZlc3Rhc2kgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUxMDZCIHwNCnwgU0QtNTExMEIgICAgICAgICB8IFBlbmdlbG9sYWFuIFJpc2lrbyBQb3J0b2ZvbGlvICAgICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC01MTA4QiwgU0QtNTEwOUIgfA0KDQojIyBLb25zZW50cmFzaSBTYXdpdA0KDQp8IEtvZGUgTWF0YSBLdWxpYWggfCBOYW1hIE1hdGEgS3VsaWFoICAgICAgICAgICAgICAgICAgICAgIHwgU0tTIHwgS2F0ZWdvcmkgfCBQcmFzeWFyYXQgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwNCnwgU0QtNTIwMUMgICAgICAgICB8IFN0YXRpc3RpayBkYW4gQW5hbGlzaXMgS3VhbGl0YXMgVGFuYWggfCAzICAgfCBLdWxpYWggICB8IFNELTEwMDMgICB8DQp8IFNELTUyMDJDICAgICAgICAgfCBQZW5nb2xhaGFuIERhdGEgUGVuZ2luZGVrc2FuICAgICAgICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC0yMDA0ICAgfA0KfCBTRC01MjAzQyAgICAgICAgIHwgQW5hbGlzaXMgRGF0YSBLdWFsaXRhcyBDUE8gICAgICAgICAgICB8IDMgICB8IEt1bGlhaCAgIHwgU0QtNDAwNCAgIHwNCnwgU0QtNTIwNEMgICAgICAgICB8IFBlbW9kZWxhbiBUYW5hbWFuIFNhd2l0ICAgICAgICAgICAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTQwMDEgICB8DQp8IFNELTUyMDVDICAgICAgICAgfCBNYW5hamVtZW4gUmlzaWtvIGRhbGFtIEluZHVzdHJpIFNhd2l0IHwgMyAgIHwgS3VsaWFoICAgfCBTRC01MTAzQiAgfA0KfCBTRC01MjA2QyAgICAgICAgIHwgSW1wbGVtZW50YXNpIFNpc3RlbSBJbmZvcm1hc2kgU2F3aXQgICB8IDMgICB8IEt1bGlhaCAgIHwgU0QtNjAwNCAgIHwNCnwgU0QtNTIwN0MgICAgICAgICB8IEFuYWxpc2lzIGRhbiBQcmVkaWtzaSBIYXJnYSBTYXdpdCAgICAgfCAzICAgfCBLdWxpYWggICB8IFNELTUwMDMgICB8DQp8IFNELTUyMDhDICAgICAgICAgfCBTaXN0ZW0gTW9uaXRvcmluZyBkYW4gRXZhbHVhc2kgICAgICAgIHwgMyAgIHwgS3VsaWFoICAgfCBTRC01MjA0QyAgfA0KDQo=