Essential of Probability

Assignment ~ Week 10

Logo


1 1. Basic Concept of Probability

Klik gambar untuk menonton video

Rangkuman Penjelasan Probabilitas merupakan ukuran tentang seberapa besar kemungkinan sebuah peristiwa terjadi, dan konsep ini dihitung dengan membandingkan jumlah hasil yang diinginkan dengan jumlah seluruh hasil yang mungkin terjadi. Misalnya saat kita membalik sebuah koin, hanya ada dua hasil yaitu kepala (H) atau ekor (T), sehingga peluang munculnya kepala adalah 1 dari 2 kemungkinan atau 0,5 (50%).

Ketika koin dibalik dua kali, setiap lemparan dianggap sebagai kejadian independen, artinya hasil lemparan pertama tidak memengaruhi lemparan kedua. Karena peluang mendapatkan satu kepala adalah 0,5, maka peluang mendapatkan dua kepala berturut- turut adalah 0,5 × 0,5 = 0,25 atau 25%.

Untuk memudahkan analisis, kita dapat membuat ruang sampel, yaitu daftar seluruh kemungkinan yang bisa terjadi. Pada dua kali lemparan koin, ruang sampelnya berisi HH, HT, TH, dan TT, dan masing-masing hasil tersebut memiliki peluang 0,25. Dari ruang sampel ini kita bisa menentukan berbagai probabilitas, misalnya peluang mendapatkan setidaknya satu kepala adalah jumlah probabilitas HH, HT, dan TH yang totalnya 0,75.

Probabilitas juga memiliki dua syarat penting: nilainya harus berada antara 0 sampai 1, dan jumlah seluruh probabilitas dari semua hasil harus sama dengan 1. Selain itu, terdapat aturan komplement yang menyatakan bahwa peluang suatu kejadian tidak terjadi adalah 1 dikurangi peluang kejadian tersebut. Contohnya, peluang tidak mendapatkan dua ekor (TT) adalah 1 – 0,25 = 0,75.

Aturan komplement mempermudah perhitungan terutama ketika lebih mudah menghitung kebalikan dari kejadian utama. Secara keseluruhan, konsep probabilitas dapat dipahami melalui rumus dasar, ruang sampel, kejadian independen, dan aturan komplement.

References [1] Khan Academy. (n.d.). Probability and statistics.
https://www.khanacademy.org/math/statistics-probability

[2] Kemdikbud. (2017). Buku Matematika SMP/MTs Kelas VIII (Kurikulum 2013 Revisi).
Bab Peluang.

[3] Blitzstein, J. K., & Hwang, J. (2014). Introduction to Probability. Chapman & Hall/CRC.
https://projects.iq.harvard.edu/stat110

[4] Ross, S. (2010). A First Course in Probability. Pearson.

[5] SimpleLearningPro. (n.d.). Basic probability lessons.
https://simplelearningpro.com

2 2. Independent and Dependent Events

Klik gambar untuk menonton video

Rangkuman Penjelasan Dalam probabilitas, terdapat dua jenis kejadian penting yang perlu dipahami, yaitu acara independen dan acara bergantungan. Keduanya berhubungan dengan bagaimana suatu peristiwa memengaruhi peristiwa lain dalam konteks kemungkinan. Acara independen adalah kejadian-kejadian yang hasilnya tidak saling memengaruhi. Artinya, apa yang terjadi pada peristiwa pertama sama sekali tidak mengubah peluang hasil dari peristiwa kedua. Contoh yang paling sederhana adalah ketika kita menggulung dadu dan melempar koin secara bersamaan. Menggulung angka tertentu pada dadu tidak memengaruhi peluang koin jatuh pada sisi kepala atau ekor. Peluang mendapatkan angka 5 pada dadu tetap 1/6, dan peluang mendapatkan kepala pada koin tetap 1/2, tanpa saling mengubah. Untuk menghitung peluang dua acara independen terjadi secara bersamaan, kita menggunakan rumus P(A dan B) = P(A) × P(B). Misalnya peluang menggulung angka 5 dan mendapatkan kepala secara bersamaan adalah 1/6 × 1/2 = 1/12.

Berbeda dengan itu, acara bergantungan adalah kejadian-kejadian yang hasilnya saling memengaruhi. Artinya, hasil dari peristiwa pertama akan mengubah peluang dari peristiwa kedua. Situasi seperti ini sering muncul ketika kita mengambil benda tanpa penggantian, sehingga jumlah total pilihan berubah setelah satu item diambil. Misalnya, terdapat sebuah kotak berisi 10 kelereng, dengan 7 berwarna merah dan 3 berwarna biru. Peluang mengambil kelereng merah pada pengambilan pertama adalah 7/10. Tetapi jika kita mengambil satu kelereng merah dan tidak mengembalikannya ke dalam kotak, jumlah kelereng berubah menjadi 9, dan jumlah kelereng merah berubah menjadi 6. Kini peluang mengambil kelereng merah pada pengambilan berikutnya menjadi 6/9. Karena peluang berubah setelah pengambilan pertama, kejadian ini disebut acara bergantungan. Untuk menghitung peluang dua acara bergantungan terjadi secara berturut-turut, digunakan rumus P(A dan B) = P(A) × P(B setelah A terjadi). Misalnya peluang mengambil dua kelereng merah berturut-turut tanpa penggantian adalah 7/10 × 6/9 = 7/15.

Konsep acara bergantungan juga berlaku untuk item berwarna lain. Jika kita ingin menghitung peluang mengambil kelereng biru lalu biru lagi tanpa penggantian, peluang pertama adalah 3/10, dan setelah satu kelereng biru diambil, peluang berikutnya menjadi 2/9. Karena peluang kedua berubah setelah peristiwa pertama terjadi, ini menunjukkan bahwa prosesnya bersifat bergantungan. Inilah karakter utama acara bergantungan: peristiwa pertama mengubah peluang peristiwa selanjutnya.

Secara keseluruhan, perbedaan mendasar antara kedua konsep ini dapat dilihat dari apakah suatu peristiwa mengubah peluang peristiwa lain. Pada acara independen, peristiwa tidak saling memengaruhi, sehingga rumus yang digunakan cukup perkalian langsung antara peluang masing-masing kejadian. Sementara pada acara bergantungan, peluang berubah setelah peristiwa terjadi, sehingga peluang pada langkah berikutnya harus dihitung ulang berdasarkan kondisi baru. Pemahaman tentang acara independen dan bergantungan sangat penting dalam statistik karena membantu kita menentukan strategi perhitungan yang tepat, terutama dalam kasus yang melibatkan pengambilan sampel, permainan peluang, dan penghitungan kombinasi kejadian berturut-turut.

References [1] Montgomery, D. C., & Runger, G. C. (2014). Applied Statistics and Probability for Engineers (6th ed.). Wiley.

[2] Blitzstein, J., & Hwang, J. (2019). Introduction to Probability. Chapman & Hall/CRC.

[3] Sullivan, M. (2019). Statistics: Informed Decisions Using Data (5th ed.). Pearson.

[4] Ross, S. (2014). A First Course in Probability (9th ed.). Pearson.

[5] SimpleLearningPro. (n.d.). Basic probability lessons. https://simplelearningpro.com

3 3. Union of Events

Klik gambar untuk menonton video

Rangkuman Penjelasan Ruang sampel adalah keseluruhan kumpulan hasil yang mungkin terjadi dalam sebuah percobaan statistik dan menjadi dasar dalam memahami probabilitas. Ketika kita menggulung satu dadu, ada enam kemungkinan hasil dari angka 1 sampai 6. Namun, ketika menggulung dua dadu, jumlah kemungkinan bertambah menjadi 36 karena setiap dadu memiliki enam angka yang dapat berpasangan satu sama lain. Semua kombinasi inilah yang membentuk ruang sampel dua dadu. Dengan memahami ruang sampel, kita dapat menentukan probabilitas suatu kejadian dengan membagi jumlah hasil yang memenuhi kejadian tersebut dengan total seluruh kemungkinan hasil.

Probabilitas sederhana digunakan untuk menghitung peluang satu kejadian tertentu, misalnya peluang munculnya dua angka 4 adalah 1/36 karena hanya ada satu kombinasi (4,4) dari 36 hasil yang mungkin. Contoh lainnya, peluang muncul dua angka yang sama adalah 9/36, sedangkan peluang munculnya setidaknya satu angka 2 adalah 11/36. Ketika dua kejadian ingin dilihat secara bersamaan, kita menggunakan konsep interseksi, yaitu area di mana hasil suatu percobaan berada dalam kedua kejadian secara sekaligus. Misalnya, hasil yang memenuhi kejadian “dua angka yang sama” dan “setidaknya satu angka 2” adalah 5 dari 36 hasil. Kesalahan yang sering terjadi dalam konteks ini adalah mengalikan probabilitas dua kejadian padahal kejadian tersebut tidak independen, sehingga cara yang tepat tetap dengan memeriksa ruang sampel dan mencari hasil yang benar-benar berada dalam perpotongan kedua kejadian.

Untuk kejadian gabungan atau union yang ditandai dengan kata “atau”, kita menggunakan rumus P(A ∪ B) = P(A) + P(B) − P(A ∩ B). Pengurangan interseksi ini penting agar hasil yang berada di kedua kejadian tidak terhitung dua kali. Contohnya, peluang mendapatkan dua angka yang sama atau setidaknya satu angka 2 adalah 9/36 + 11/36 − 5/36 = 15/36 atau sekitar 0,4167. Konsep ini juga dapat terlihat melalui diagram Venn, di mana ruang sampel digambarkan sebagai sebuah area besar, dan dua kejadian digambarkan sebagai dua lingkaran yang saling tumpang tindih. Area tumpang tindih tersebut menunjukkan interseksi, yang harus dikurangi dalam perhitungan union. Melalui pendekatan ini, kita dapat memahami bahwa perhitungan probabilitas tidak hanya mengandalkan angka, tetapi juga memerlukan pemahaman visual terhadap struktur ruang sampel.

References [1] Simple Learning Pro. (n.d.). Probability: Union of Events – dari isi penjelasan video pembelajaran probabilitas.

[2] Siregar, B. (n.d.). Introduction to Statistics. dsciencelabs. https://bookdown.org/dsciencelabs/intro_statistics/Preface.html

[3] Triola, M. F. (2018). Elementary Statistics. Pearson Education — konsep ruang sampel, interseksi, dan union pada probabilitas.

4 4. Exclusive and Exhaustive

Klik gambar untuk menonton video

Rangkuman Penjelasan Kejadian saling eksklusif dan kejadian saling melengkapi adalah dua konsep penting dalam probabilitas yang menjelaskan hubungan antara dua kejadian di dalam satu ruang sampel. Kejadian disebut saling eksklusif apabila keduanya tidak memiliki hasil yang sama sehingga tidak dapat terjadi secara bersamaan; misalnya pada lempar dua dadu, kejadian A berupa muncul minimal satu angka 5 dan kejadian B berupa jumlah dadu kurang dari 4 tidak memiliki hasil yang tumpang tindih, sehingga peluang A dan B terjadi bersamaan adalah 0 yang menunjukkan sifat eksklusif. Di sisi lain, kejadian disebut saling melengkapi (exhaustive) apabila gabungan keduanya mencakup seluruh kemungkinan hasil di dalam ruang sampel, seperti kejadian minimal satu angka 6 dan kejadian jumlah dadu kurang dari 11 yang jika digabungkan menutupi semua 36 kemungkinan hasil, sehingga peluang A ∪ B = 1 yang membuktikan bahwa keduanya melengkapi satu sama lain. Menariknya, suatu pasangan kejadian bisa bersifat eksklusif sekaligus saling melengkapi, contohnya kejadian jumlah dadu genap dan jumlah dadu ganjil; keduanya tidak pernah terjadi bersamaan karena suatu jumlah tidak mungkin sekaligus genap dan ganjil, namun ketika digabungkan, keduanya mencakup seluruh ruang sampel sehingga peluang gabungannya sama dengan 1. Dari sini dapat disimpulkan bahwa kejadian saling eksklusif menekankan ketidakmungkinan terjadi bersama, sedangkan kejadian saling melengkapi menekankan kelengkapan cakupan seluruh hasil, dan kedua konsep ini dapat terjadi bersamaan dalam kondisi tertentu.

References [1] SimpleLearningPro. (n.d.). Basic probability lessons. https://simplelearningpro.com

[2] Ross, S. M. (2014). Introduction to Probability and Statistics for Engineers and Scientists (5th ed.). Academic Press.

[3] Walpole, R. E., Myers, R. H., Myers, S. L., & Ye, K. (2012). Probability and Statistics for Engineers and Scientists (9th ed.). Pearson Education.

[4] Levine, D. M., Stephan, D. F., & Szabat, K. A. (2020). Statistics for Managers Using Microsoft Excel (9th ed.). Pearson.

[5] Freedman, D., Pisani, R., & Purves, R. (2007). Statistics (4th ed.). W. W. Norton & Company.

5 5. Binomial Experiment and the Formula

Klik gambar untuk menonton video

Rangkuman Penjelasan Binomial adalah konsep dasar dalam probabilitas yang digunakan ketika suatu percobaan memiliki dua hasil, yaitu sukses atau gagal, dan dilakukan berulang dengan jumlah percobaan yang tetap. Suatu percobaan disebut percobaan binomial jika memenuhi empat syarat penting: jumlah percobaan tetap, setiap percobaan hanya memiliki dua kemungkinan hasil, peluang sukses selalu konstan pada setiap percobaan, dan setiap percobaan bersifat independen satu sama lain. Contohnya, ketika koin dilempar tiga kali, kita ingin mengetahui peluang munculnya tepat satu kepala. Ada tiga urutan berbeda yang dapat menghasilkan satu kepala, yaitu KEE, EKE, dan EEK; masing-masing memiliki probabilitas 0,125 sehingga totalnya 0,375. Percobaan ini memenuhi seluruh syarat binomial: jumlah percobaan tetap (3 kali), dua hasil (kepala atau ekor), peluang kepala selalu 0,5, dan setiap lemparan independen. Contoh lain adalah mengambil lima kelereng dari kotak berisi sepuluh kelereng dengan penggantian, di mana dua di antaranya berwarna hijau. Peluang sukses, yaitu mengambil kelereng hijau, adalah 2/10 = 0,2 dan peluang gagal adalah 0,8. Karena dilakukan dengan penggantian, peluangnya tetap konstan dan percobaan independen. Untuk mendapatkan tepat dua kelereng hijau, ada sepuluh susunan keberhasilan dan kegagalan yang mungkin, dan setiap susunan memiliki probabilitas 0,02048 sehingga totalnya 0,2048. Perhitungan ini bisa dipersingkat menggunakan rumus binomial: \[P(k) = C(n,k) * p^k * (1-p)^(n-k)\] Dengan memasukkan n = 5, k = 2, dan p = 0,2 ke dalam rumus, hasilnya tetap 0,2048. Rumus binomial menjadi metode cepat dan efisien untuk menghitung peluang dalam percobaan binomial selama empat syarat binomial dipenuhi.

References [1] SimpleLearningPro. (n.d.). Basic probability lessons. https://simplelearningpro.com

[2] Siregar, B. (n.d.). Introduction to Statistics. DScienceLabs.Diakses dari https://bookdown.org/dsciencelabs/intro_statistics/Preface.html

[3] Khan Academy. (n.d.). Binomial probability. https://www.khanacademy.org/math/statistics-probability

[4] OpenStax. (n.d.). Introductory Statistics – Binomial Distribution. https://openstax.org/books/introductory-statistics/pages/4-4-binomial-distribution

[5] Larson, R., & Farber, B. (2015). Elementary Statistics (8th ed.). Pearson Education

6 6. Binomal Distribution

Klik gambar untuk menonton video

Rangkuman Penjelasan Distribusi binomial adalah distribusi probabilitas yang menunjukkan peluang terjadinya sejumlah keberhasilan tertentu dalam sejumlah percobaan yang tetap, di mana setiap percobaan hanya memiliki dua hasil (sukses atau gagal) dan probabilitas sukses tetap konstan. Distribusi ini menggunakan rumus binomial (P(k)= \[\binom{n}{k}p^{k}(1-p)^{n-k})\] , di mana (k) adalah jumlah keberhasilan, (n) adalah jumlah percobaan, dan (p) adalah peluang keberhasilan. Contoh sederhana adalah melempar koin dua kali, sehingga nilai (k) dapat 0, 1, atau 2, dan dari perhitungan rumus binomial diperoleh probabilitas 0,25; 0,50; dan 0,25. Ketika divisualisasikan dalam diagram batang, distribusi menunjukkan pola simetris karena peluang keberhasilan 0,5. Jika jumlah percobaan (n) ditingkatkan, misalnya menjadi 10, distribusi binomial mulai menyerupai distribusi normal karena data semakin mengelompok di sekitar nilai rata-rata. Parameter distribusi binomial dapat dihitung menggunakan rumus mean \[(\mu = np)\], varians \[(np(1-p)\], dan standar deviasi \[(\sigma = \sqrt{np(1-p)})\]. Perubahan nilai (p) memengaruhi bentuk distribusi: apabila (p = 0,5), distribusi bersifat simetris; jika (p < 0,5), distribusi miring ke kanan; sebaliknya jika (p > 0,5), distribusi miring ke kiri. Nilai (p) yang jauh dari 0,5 membuat distribusi semakin miring karena jumlah keberhasilan yang mungkin cenderung sedikit atau banyak. Untuk membuat distribusi binomial mendekati distribusi normal, diperlukan nilai (n) yang cukup besar, dan pendekatan normal dapat digunakan apabila dua syarat terpenuhi yaitu \[(np \geq 10)\] dan \[(n(1-p) \geq 10)\]. Secara keseluruhan, bentuk distribusi binomial bergantung pada kombinasi nilai (p) dan (n), dan semakin besar nilai (n), semakin halus dan simetris distribusinya sehingga mendekati bentuk distribusi normal.

References [1] SimpleLearningPro. (n.d.). Basic probability lessons. https://simplelearningpro.com

[2] Siregar, B. (n.d.). Introduction to Statistics. DScienceLabs. https://bookdown.org/dsciencelabs/intro_statistics

[3] Khan Academy. (n.d.). Binomial distribution. https://www.khanacademy.org/math/statistics-probability

[4] OpenStax. (n.d.). Introductory Statistics – Binomial Distribution. https://openstax.org/books/introductory-statistics/pages/4-4-binomial-distribution

[5] Larson, R., & Farber, B. (2015). Elementary Statistics (8th ed.). Pearson Education.


LS0tDQp0aXRsZTogIkVzc2VudGlhbCBvZiBQcm9iYWJpbGl0eSIgICAgICAgIyBNYWluIHRpdGxlIG9mIHRoZSBkb2N1bWVudA0Kc3VidGl0bGU6ICJBc3NpZ25tZW50ICB+IFdlZWsgMTAiICAjIFN1YnRpdGxlIG9yIHRvcGljIGZvciB3ZWVrIDEwDQphdXRob3I6ICJTYWZpbmEgWmFocmEiIA0KZGF0ZTogICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVCICVkLCAlWScpYCIgIyBBdXRvIGRpc3BsYXlzIHRoZSBjdXJyZW50IGRhdGUNCm91dHB1dDoNCiMgT3V0cHV0IHNlY3Rpb24gZGVmaW5lcyB0aGUgZm9ybWF0IGFuZCBsYXlvdXQgDQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlICAgICAgICAjIEVtYmVkcyBhbGwgcmVzb3VyY2VzIChDU1MsIEpTLCBpbWFnZXMpIA0KICAgIHRodW1ibmFpbHM6IHRydWUgICAgICAgICAgICAjIERpc3BsYXlzIGltYWdlIHRodW1ibmFpbHMgaW4gdGhlIGRvYw0KICAgIGxpZ2h0Ym94OiB0cnVlICAgICAgICAgICAgICAjIEVuYWJsZXMgY2xpY2sgdG8gZW5sYXJnZSBpbWFnZXMNCiAgICBnYWxsZXJ5OiB0cnVlICAgICAgICAgICAgICAgIyBHcm91cHMgaW1hZ2VzIGludG8gYW4gaW50ZXJhY3RpdmUgZ2FsbGVyeQ0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZSAgICAgICAjIEF1dG9tYXRpY2FsbHkgbnVtYmVycyBhbGwgc2VjdGlvbnMNCiAgICBsaWJfZGlyOiBsaWJzICAgICAgICAgICAgICAgIyBEaXJlY3Rvcnkgd2hlcmUgSmF2YVNjcmlwdC9DU1MgbGlicmFyaWVzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCIgICAgICAgICAgICMgRGlzcGxheXMgZGF0YSBmcmFtZXMgYXMgaW50ZXJhY3RpdmUgcGFnZWQgDQogICAgY29kZV9mb2xkaW5nOiAic2hvdyIgICAgICAgICMgQWxsb3dzIGZvbGRpbmcvdW5mb2xkaW5nIFIgY29kZSBibG9ja3MgDQogICAgY29kZV9kb3dubG9hZDogeWVzICAgICAgICAgICMgQWRkcyBhIGJ1dHRvbiB0byBkb3dubG9hZCBhbGwgUiBjb2RlDQotLS0NCg0KDQo8aW1nIGlkPSJGb3RvIiBzcmM9IkM6L1VzZXJzL0xlbm92by9PbmVEcml2ZS9EZXNrdG9wL2NvZGluZy9zYXBpbmEuanBnIiBhbHQ9IkxvZ28iIHN0eWxlPSJ3aWR0aDoyMDBweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogYXV0bzsiPg0KDQotLS0NCg0KIyAxLiBCYXNpYyBDb25jZXB0IG9mIFByb2JhYmlsaXR5IA0KDQo8cCBhbGlnbj0iY2VudGVyIj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eW5qSEtCQ2lHWFkmdD00cyIgdGFyZ2V0PSJfYmxhbmsiPg0KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnlvdXR1YmUuY29tL3ZpL3luakhLQkNpR1hZLzAuanBnIiB3aWR0aD0iNjAlIj4NCjwvYT4NCjwvcD4NCg0KPHAgYWxpZ249ImNlbnRlciI+PGk+S2xpayBnYW1iYXIgdW50dWsgbWVub250b24gdmlkZW88L2k+PC9wPg0KDQoqKlJhbmdrdW1hbiBQZW5qZWxhc2FuKioNClByb2JhYmlsaXRhcyBtZXJ1cGFrYW4gdWt1cmFuIHRlbnRhbmcgc2ViZXJhcGEgYmVzYXIga2VtdW5na2luYW4gc2VidWFoIHBlcmlzdGl3YQ0KdGVyamFkaSwgZGFuIGtvbnNlcCBpbmkgZGloaXR1bmcgZGVuZ2FuIG1lbWJhbmRpbmdrYW4ganVtbGFoIGhhc2lsIHlhbmcgZGlpbmdpbmthbg0KZGVuZ2FuIGp1bWxhaCBzZWx1cnVoIGhhc2lsIHlhbmcgbXVuZ2tpbiB0ZXJqYWRpLiBNaXNhbG55YSBzYWF0IGtpdGEgbWVtYmFsaWsgc2VidWFoDQprb2luLCBoYW55YSBhZGEgZHVhIGhhc2lsIHlhaXR1IGtlcGFsYSAoSCkgYXRhdSBla29yIChUKSwgc2VoaW5nZ2EgcGVsdWFuZyBtdW5jdWxueWENCmtlcGFsYSBhZGFsYWggMSBkYXJpIDIga2VtdW5na2luYW4gYXRhdSAwLDUgKDUwJSkuDQoNCktldGlrYSBrb2luIGRpYmFsaWsgZHVhIGthbGksIHNldGlhcCBsZW1wYXJhbiBkaWFuZ2dhcCBzZWJhZ2FpIGtlamFkaWFuIGluZGVwZW5kZW4sDQphcnRpbnlhIGhhc2lsIGxlbXBhcmFuIHBlcnRhbWEgdGlkYWsgbWVtZW5nYXJ1aGkgbGVtcGFyYW4ga2VkdWEuIEthcmVuYSBwZWx1YW5nDQptZW5kYXBhdGthbiBzYXR1IGtlcGFsYSBhZGFsYWggMCw1LCBtYWthIHBlbHVhbmcgbWVuZGFwYXRrYW4gZHVhIGtlcGFsYSBiZXJ0dXJ1dC0NCnR1cnV0IGFkYWxhaCAwLDUgw5cgMCw1ID0gMCwyNSBhdGF1IDI1JS4NCg0KVW50dWsgbWVtdWRhaGthbiBhbmFsaXNpcywga2l0YSBkYXBhdCBtZW1idWF0IHJ1YW5nIHNhbXBlbCwgeWFpdHUgZGFmdGFyIHNlbHVydWgNCmtlbXVuZ2tpbmFuIHlhbmcgYmlzYSB0ZXJqYWRpLiBQYWRhIGR1YSBrYWxpIGxlbXBhcmFuIGtvaW4sIHJ1YW5nIHNhbXBlbG55YSBiZXJpc2kNCkhILCBIVCwgVEgsIGRhbiBUVCwgZGFuIG1hc2luZy1tYXNpbmcgaGFzaWwgdGVyc2VidXQgbWVtaWxpa2kgcGVsdWFuZyAwLDI1LiBEYXJpDQpydWFuZyBzYW1wZWwgaW5pIGtpdGEgYmlzYSBtZW5lbnR1a2FuIGJlcmJhZ2FpIHByb2JhYmlsaXRhcywgbWlzYWxueWEgcGVsdWFuZw0KbWVuZGFwYXRrYW4gc2V0aWRha255YSBzYXR1IGtlcGFsYSBhZGFsYWgganVtbGFoIHByb2JhYmlsaXRhcyBISCwgSFQsIGRhbiBUSCB5YW5nDQp0b3RhbG55YSAwLDc1Lg0KDQpQcm9iYWJpbGl0YXMganVnYSBtZW1pbGlraSBkdWEgc3lhcmF0IHBlbnRpbmc6IG5pbGFpbnlhIGhhcnVzIGJlcmFkYSBhbnRhcmEgMCBzYW1wYWkgMSwNCmRhbiBqdW1sYWggc2VsdXJ1aCBwcm9iYWJpbGl0YXMgZGFyaSBzZW11YSBoYXNpbCBoYXJ1cyBzYW1hIGRlbmdhbiAxLiBTZWxhaW4gaXR1LA0KdGVyZGFwYXQgYXR1cmFuIGtvbXBsZW1lbnQgeWFuZyBtZW55YXRha2FuIGJhaHdhIHBlbHVhbmcgc3VhdHUga2VqYWRpYW4gdGlkYWsNCnRlcmphZGkgYWRhbGFoIDEgZGlrdXJhbmdpIHBlbHVhbmcga2VqYWRpYW4gdGVyc2VidXQuIENvbnRvaG55YSwgcGVsdWFuZyB0aWRhaw0KbWVuZGFwYXRrYW4gZHVhIGVrb3IgKFRUKSBhZGFsYWggMSDigJMgMCwyNSA9IDAsNzUuDQoNCkF0dXJhbiBrb21wbGVtZW50IG1lbXBlcm11ZGFoIHBlcmhpdHVuZ2FuIHRlcnV0YW1hIGtldGlrYSBsZWJpaCBtdWRhaCBtZW5naGl0dW5nDQprZWJhbGlrYW4gZGFyaSBrZWphZGlhbiB1dGFtYS4gU2VjYXJhIGtlc2VsdXJ1aGFuLCBrb25zZXAgcHJvYmFiaWxpdGFzIGRhcGF0IGRpcGFoYW1pDQptZWxhbHVpIHJ1bXVzIGRhc2FyLCBydWFuZyBzYW1wZWwsIGtlamFkaWFuIGluZGVwZW5kZW4sIGRhbiBhdHVyYW4ga29tcGxlbWVudC4NCg0KKipSZWZlcmVuY2VzKioNClsxXSBLaGFuIEFjYWRlbXkuIChuLmQuKS4gUHJvYmFiaWxpdHkgYW5kIHN0YXRpc3RpY3MuICANCiAgICBodHRwczovL3d3dy5raGFuYWNhZGVteS5vcmcvbWF0aC9zdGF0aXN0aWNzLXByb2JhYmlsaXR5DQoNClsyXSBLZW1kaWtidWQuICgyMDE3KS4gQnVrdSBNYXRlbWF0aWthIFNNUC9NVHMgS2VsYXMgVklJSSAoS3VyaWt1bHVtIDIwMTMgUmV2aXNpKS4gIA0KICAgIEJhYiBQZWx1YW5nLg0KDQpbM10gQmxpdHpzdGVpbiwgSi4gSy4sICYgSHdhbmcsIEouICgyMDE0KS4gSW50cm9kdWN0aW9uIHRvIFByb2JhYmlsaXR5LiBDaGFwbWFuICYgSGFsbC9DUkMuICANCiAgICBodHRwczovL3Byb2plY3RzLmlxLmhhcnZhcmQuZWR1L3N0YXQxMTANCg0KWzRdIFJvc3MsIFMuICgyMDEwKS4gQSBGaXJzdCBDb3Vyc2UgaW4gUHJvYmFiaWxpdHkuIFBlYXJzb24uDQoNCls1XSBTaW1wbGVMZWFybmluZ1Byby4gKG4uZC4pLiBCYXNpYyBwcm9iYWJpbGl0eSBsZXNzb25zLiAgDQogICAgaHR0cHM6Ly9zaW1wbGVsZWFybmluZ3Byby5jb20NCg0KDQojIDIuIEluZGVwZW5kZW50IGFuZCBEZXBlbmRlbnQgRXZlbnRzDQoNCjxwIGFsaWduPSJjZW50ZXIiPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1MUy1faWhES3IyTSIgdGFyZ2V0PSJfYmxhbmsiPg0KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnlvdXR1YmUuY29tL3ZpL0xTLV9paERLcjJNLzAuanBnIiB3aWR0aD0iNjAlIj4NCjwvYT4NCjwvcD4gDQoNCjxwIGFsaWduPSJjZW50ZXIiPjxpPktsaWsgZ2FtYmFyIHVudHVrIG1lbm9udG9uIHZpZGVvPC9pPjwvcD4NCg0KKipSYW5na3VtYW4gUGVuamVsYXNhbioqDQpEYWxhbSBwcm9iYWJpbGl0YXMsIHRlcmRhcGF0IGR1YSBqZW5pcyBrZWphZGlhbiBwZW50aW5nIHlhbmcgcGVybHUgZGlwYWhhbWksIHlhaXR1IGFjYXJhIGluZGVwZW5kZW4gZGFuIGFjYXJhIGJlcmdhbnR1bmdhbi4gS2VkdWFueWEgYmVyaHVidW5nYW4gZGVuZ2FuIGJhZ2FpbWFuYSBzdWF0dSBwZXJpc3Rpd2EgbWVtZW5nYXJ1aGkgcGVyaXN0aXdhIGxhaW4gZGFsYW0ga29udGVrcyBrZW11bmdraW5hbi4gQWNhcmEgaW5kZXBlbmRlbiBhZGFsYWgga2VqYWRpYW4ta2VqYWRpYW4geWFuZyBoYXNpbG55YSB0aWRhayBzYWxpbmcgbWVtZW5nYXJ1aGkuIEFydGlueWEsIGFwYSB5YW5nIHRlcmphZGkgcGFkYSBwZXJpc3Rpd2EgcGVydGFtYSBzYW1hIHNla2FsaSB0aWRhayBtZW5ndWJhaCBwZWx1YW5nIGhhc2lsIGRhcmkgcGVyaXN0aXdhIGtlZHVhLiBDb250b2ggeWFuZyBwYWxpbmcgc2VkZXJoYW5hIGFkYWxhaCBrZXRpa2Ega2l0YSBtZW5nZ3VsdW5nIGRhZHUgZGFuIG1lbGVtcGFyIGtvaW4gc2VjYXJhIGJlcnNhbWFhbi4gTWVuZ2d1bHVuZyBhbmdrYSB0ZXJ0ZW50dSBwYWRhIGRhZHUgdGlkYWsgbWVtZW5nYXJ1aGkgcGVsdWFuZyBrb2luIGphdHVoIHBhZGEgc2lzaSBrZXBhbGEgYXRhdSBla29yLiBQZWx1YW5nIG1lbmRhcGF0a2FuIGFuZ2thIDUgcGFkYSBkYWR1IHRldGFwIDEvNiwgZGFuIHBlbHVhbmcgbWVuZGFwYXRrYW4ga2VwYWxhIHBhZGEga29pbiB0ZXRhcCAxLzIsIHRhbnBhIHNhbGluZyBtZW5ndWJhaC4gVW50dWsgbWVuZ2hpdHVuZyBwZWx1YW5nIGR1YSBhY2FyYSBpbmRlcGVuZGVuIHRlcmphZGkgc2VjYXJhIGJlcnNhbWFhbiwga2l0YSBtZW5nZ3VuYWthbiBydW11cyBQKEEgZGFuIEIpID0gUChBKSDDlyBQKEIpLiBNaXNhbG55YSBwZWx1YW5nIG1lbmdndWx1bmcgYW5na2EgNSBkYW4gbWVuZGFwYXRrYW4ga2VwYWxhIHNlY2FyYSBiZXJzYW1hYW4gYWRhbGFoIDEvNiDDlyAxLzIgPSAxLzEyLg0KDQpCZXJiZWRhIGRlbmdhbiBpdHUsIGFjYXJhIGJlcmdhbnR1bmdhbiBhZGFsYWgga2VqYWRpYW4ta2VqYWRpYW4geWFuZyBoYXNpbG55YSBzYWxpbmcgbWVtZW5nYXJ1aGkuIEFydGlueWEsIGhhc2lsIGRhcmkgcGVyaXN0aXdhIHBlcnRhbWEgYWthbiBtZW5ndWJhaCBwZWx1YW5nIGRhcmkgcGVyaXN0aXdhIGtlZHVhLiBTaXR1YXNpIHNlcGVydGkgaW5pIHNlcmluZyBtdW5jdWwga2V0aWthIGtpdGEgbWVuZ2FtYmlsIGJlbmRhIHRhbnBhIHBlbmdnYW50aWFuLCBzZWhpbmdnYSBqdW1sYWggdG90YWwgcGlsaWhhbiBiZXJ1YmFoIHNldGVsYWggc2F0dSBpdGVtIGRpYW1iaWwuIE1pc2FsbnlhLCB0ZXJkYXBhdCBzZWJ1YWgga290YWsgYmVyaXNpIDEwIGtlbGVyZW5nLCBkZW5nYW4gNyBiZXJ3YXJuYSBtZXJhaCBkYW4gMyBiZXJ3YXJuYSBiaXJ1LiBQZWx1YW5nIG1lbmdhbWJpbCBrZWxlcmVuZyBtZXJhaCBwYWRhIHBlbmdhbWJpbGFuIHBlcnRhbWEgYWRhbGFoIDcvMTAuIFRldGFwaSBqaWthIGtpdGEgbWVuZ2FtYmlsIHNhdHUga2VsZXJlbmcgbWVyYWggZGFuIHRpZGFrIG1lbmdlbWJhbGlrYW5ueWEga2UgZGFsYW0ga290YWssIGp1bWxhaCBrZWxlcmVuZyBiZXJ1YmFoIG1lbmphZGkgOSwgZGFuIGp1bWxhaCBrZWxlcmVuZyBtZXJhaCBiZXJ1YmFoIG1lbmphZGkgNi4gS2luaSBwZWx1YW5nIG1lbmdhbWJpbCBrZWxlcmVuZyBtZXJhaCBwYWRhIHBlbmdhbWJpbGFuIGJlcmlrdXRueWEgbWVuamFkaSA2LzkuIEthcmVuYSBwZWx1YW5nIGJlcnViYWggc2V0ZWxhaCBwZW5nYW1iaWxhbiBwZXJ0YW1hLCBrZWphZGlhbiBpbmkgZGlzZWJ1dCBhY2FyYSBiZXJnYW50dW5nYW4uIFVudHVrIG1lbmdoaXR1bmcgcGVsdWFuZyBkdWEgYWNhcmEgYmVyZ2FudHVuZ2FuIHRlcmphZGkgc2VjYXJhIGJlcnR1cnV0LXR1cnV0LCBkaWd1bmFrYW4gcnVtdXMgUChBIGRhbiBCKSA9IFAoQSkgw5cgUChCIHNldGVsYWggQSB0ZXJqYWRpKS4gTWlzYWxueWEgcGVsdWFuZyBtZW5nYW1iaWwgZHVhIGtlbGVyZW5nIG1lcmFoIGJlcnR1cnV0LXR1cnV0IHRhbnBhIHBlbmdnYW50aWFuIGFkYWxhaCA3LzEwIMOXIDYvOSA9IDcvMTUuDQoNCktvbnNlcCBhY2FyYSBiZXJnYW50dW5nYW4ganVnYSBiZXJsYWt1IHVudHVrIGl0ZW0gYmVyd2FybmEgbGFpbi4gSmlrYSBraXRhIGluZ2luIG1lbmdoaXR1bmcgcGVsdWFuZyBtZW5nYW1iaWwga2VsZXJlbmcgYmlydSBsYWx1IGJpcnUgbGFnaSB0YW5wYSBwZW5nZ2FudGlhbiwgcGVsdWFuZyBwZXJ0YW1hIGFkYWxhaCAzLzEwLCBkYW4gc2V0ZWxhaCBzYXR1IGtlbGVyZW5nIGJpcnUgZGlhbWJpbCwgcGVsdWFuZyBiZXJpa3V0bnlhIG1lbmphZGkgMi85LiBLYXJlbmEgcGVsdWFuZyBrZWR1YSBiZXJ1YmFoIHNldGVsYWggcGVyaXN0aXdhIHBlcnRhbWEgdGVyamFkaSwgaW5pIG1lbnVuanVra2FuIGJhaHdhIHByb3Nlc255YSBiZXJzaWZhdCBiZXJnYW50dW5nYW4uIEluaWxhaCBrYXJha3RlciB1dGFtYSBhY2FyYSBiZXJnYW50dW5nYW46IHBlcmlzdGl3YSBwZXJ0YW1hIG1lbmd1YmFoIHBlbHVhbmcgcGVyaXN0aXdhIHNlbGFuanV0bnlhLg0KDQpTZWNhcmEga2VzZWx1cnVoYW4sIHBlcmJlZGFhbiBtZW5kYXNhciBhbnRhcmEga2VkdWEga29uc2VwIGluaSBkYXBhdCBkaWxpaGF0IGRhcmkgYXBha2FoIHN1YXR1IHBlcmlzdGl3YSBtZW5ndWJhaCBwZWx1YW5nIHBlcmlzdGl3YSBsYWluLiBQYWRhIGFjYXJhIGluZGVwZW5kZW4sIHBlcmlzdGl3YSB0aWRhayBzYWxpbmcgbWVtZW5nYXJ1aGksIHNlaGluZ2dhIHJ1bXVzIHlhbmcgZGlndW5ha2FuIGN1a3VwIHBlcmthbGlhbiBsYW5nc3VuZyBhbnRhcmEgcGVsdWFuZyBtYXNpbmctbWFzaW5nIGtlamFkaWFuLiBTZW1lbnRhcmEgcGFkYSBhY2FyYSBiZXJnYW50dW5nYW4sIHBlbHVhbmcgYmVydWJhaCBzZXRlbGFoIHBlcmlzdGl3YSB0ZXJqYWRpLCBzZWhpbmdnYSBwZWx1YW5nIHBhZGEgbGFuZ2thaCBiZXJpa3V0bnlhIGhhcnVzIGRpaGl0dW5nIHVsYW5nIGJlcmRhc2Fya2FuIGtvbmRpc2kgYmFydS4gUGVtYWhhbWFuIHRlbnRhbmcgYWNhcmEgaW5kZXBlbmRlbiBkYW4gYmVyZ2FudHVuZ2FuIHNhbmdhdCBwZW50aW5nIGRhbGFtIHN0YXRpc3RpayBrYXJlbmEgbWVtYmFudHUga2l0YSBtZW5lbnR1a2FuIHN0cmF0ZWdpIHBlcmhpdHVuZ2FuIHlhbmcgdGVwYXQsIHRlcnV0YW1hIGRhbGFtIGthc3VzIHlhbmcgbWVsaWJhdGthbiBwZW5nYW1iaWxhbiBzYW1wZWwsIHBlcm1haW5hbiBwZWx1YW5nLCBkYW4gcGVuZ2hpdHVuZ2FuIGtvbWJpbmFzaSBrZWphZGlhbiBiZXJ0dXJ1dC10dXJ1dC4NCg0KKipSZWZlcmVuY2VzKioNClsxXSBNb250Z29tZXJ5LCBELiBDLiwgJiBSdW5nZXIsIEcuIEMuICgyMDE0KS4gQXBwbGllZCBTdGF0aXN0aWNzIGFuZCBQcm9iYWJpbGl0eSBmb3IgRW5naW5lZXJzICg2dGggZWQuKS4gV2lsZXkuDQoNClsyXSBCbGl0enN0ZWluLCBKLiwgJiBId2FuZywgSi4gKDIwMTkpLiBJbnRyb2R1Y3Rpb24gdG8gUHJvYmFiaWxpdHkuIENoYXBtYW4gJiBIYWxsL0NSQy4NCg0KWzNdIFN1bGxpdmFuLCBNLiAoMjAxOSkuIFN0YXRpc3RpY3M6IEluZm9ybWVkIERlY2lzaW9ucyBVc2luZyBEYXRhICg1dGggZWQuKS4gUGVhcnNvbi4NCg0KWzRdIFJvc3MsIFMuICgyMDE0KS4gQSBGaXJzdCBDb3Vyc2UgaW4gUHJvYmFiaWxpdHkgKDl0aCBlZC4pLiBQZWFyc29uLg0KDQpbNV0gU2ltcGxlTGVhcm5pbmdQcm8uIChuLmQuKS4gQmFzaWMgcHJvYmFiaWxpdHkgbGVzc29ucy4gaHR0cHM6Ly9zaW1wbGVsZWFybmluZ3Byby5jb20NCg0KDQojIDMuIFVuaW9uIG9mIEV2ZW50cw0KDQo8cCBhbGlnbj0iY2VudGVyIj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dnFLQWJoQ3FTVGMiIHRhcmdldD0iX2JsYW5rIj4NCjxpbWcgc3JjPSJodHRwczovL2ltZy55b3V0dWJlLmNvbS92aS92cUtBYmhDcVNUYy8wLmpwZyIgd2lkdGg9IjYwJSI+DQo8L2E+DQo8L3A+DQoNCjxwIGFsaWduPSJjZW50ZXIiPjxpPktsaWsgZ2FtYmFyIHVudHVrIG1lbm9udG9uIHZpZGVvPC9pPjwvcD4NCg0KKipSYW5na3VtYW4gUGVuamVsYXNhbioqDQpSdWFuZyBzYW1wZWwgYWRhbGFoIGtlc2VsdXJ1aGFuIGt1bXB1bGFuIGhhc2lsIHlhbmcgbXVuZ2tpbiB0ZXJqYWRpIGRhbGFtIHNlYnVhaCBwZXJjb2JhYW4gc3RhdGlzdGlrIGRhbiBtZW5qYWRpIGRhc2FyIGRhbGFtIG1lbWFoYW1pIHByb2JhYmlsaXRhcy4gS2V0aWthIGtpdGEgbWVuZ2d1bHVuZyBzYXR1IGRhZHUsIGFkYSBlbmFtIGtlbXVuZ2tpbmFuIGhhc2lsIGRhcmkgYW5na2EgMSBzYW1wYWkgNi4gTmFtdW4sIGtldGlrYSBtZW5nZ3VsdW5nIGR1YSBkYWR1LCBqdW1sYWgga2VtdW5na2luYW4gYmVydGFtYmFoIG1lbmphZGkgMzYga2FyZW5hIHNldGlhcCBkYWR1IG1lbWlsaWtpIGVuYW0gYW5na2EgeWFuZyBkYXBhdCBiZXJwYXNhbmdhbiBzYXR1IHNhbWEgbGFpbi4gU2VtdWEga29tYmluYXNpIGluaWxhaCB5YW5nIG1lbWJlbnR1ayBydWFuZyBzYW1wZWwgZHVhIGRhZHUuIERlbmdhbiBtZW1haGFtaSBydWFuZyBzYW1wZWwsIGtpdGEgZGFwYXQgbWVuZW50dWthbiBwcm9iYWJpbGl0YXMgc3VhdHUga2VqYWRpYW4gZGVuZ2FuIG1lbWJhZ2kganVtbGFoIGhhc2lsIHlhbmcgbWVtZW51aGkga2VqYWRpYW4gdGVyc2VidXQgZGVuZ2FuIHRvdGFsIHNlbHVydWgga2VtdW5na2luYW4gaGFzaWwuDQoNClByb2JhYmlsaXRhcyBzZWRlcmhhbmEgZGlndW5ha2FuIHVudHVrIG1lbmdoaXR1bmcgcGVsdWFuZyBzYXR1IGtlamFkaWFuIHRlcnRlbnR1LCBtaXNhbG55YSBwZWx1YW5nIG11bmN1bG55YSBkdWEgYW5na2EgNCBhZGFsYWggMS8zNiBrYXJlbmEgaGFueWEgYWRhIHNhdHUga29tYmluYXNpICg0LDQpIGRhcmkgMzYgaGFzaWwgeWFuZyBtdW5na2luLiBDb250b2ggbGFpbm55YSwgcGVsdWFuZyBtdW5jdWwgZHVhIGFuZ2thIHlhbmcgc2FtYSBhZGFsYWggOS8zNiwgc2VkYW5na2FuIHBlbHVhbmcgbXVuY3VsbnlhIHNldGlkYWtueWEgc2F0dSBhbmdrYSAyIGFkYWxhaCAxMS8zNi4gS2V0aWthIGR1YSBrZWphZGlhbiBpbmdpbiBkaWxpaGF0IHNlY2FyYSBiZXJzYW1hYW4sIGtpdGEgbWVuZ2d1bmFrYW4ga29uc2VwIGludGVyc2Vrc2ksIHlhaXR1IGFyZWEgZGkgbWFuYSBoYXNpbCBzdWF0dSBwZXJjb2JhYW4gYmVyYWRhIGRhbGFtIGtlZHVhIGtlamFkaWFuIHNlY2FyYSBzZWthbGlndXMuIE1pc2FsbnlhLCBoYXNpbCB5YW5nIG1lbWVudWhpIGtlamFkaWFuIOKAnGR1YSBhbmdrYSB5YW5nIHNhbWHigJ0gZGFuIOKAnHNldGlkYWtueWEgc2F0dSBhbmdrYSAy4oCdIGFkYWxhaCA1IGRhcmkgMzYgaGFzaWwuIEtlc2FsYWhhbiB5YW5nIHNlcmluZyB0ZXJqYWRpIGRhbGFtIGtvbnRla3MgaW5pIGFkYWxhaCBtZW5nYWxpa2FuIHByb2JhYmlsaXRhcyBkdWEga2VqYWRpYW4gcGFkYWhhbCBrZWphZGlhbiB0ZXJzZWJ1dCB0aWRhayBpbmRlcGVuZGVuLCBzZWhpbmdnYSBjYXJhIHlhbmcgdGVwYXQgdGV0YXAgZGVuZ2FuIG1lbWVyaWtzYSBydWFuZyBzYW1wZWwgZGFuIG1lbmNhcmkgaGFzaWwgeWFuZyBiZW5hci1iZW5hciBiZXJhZGEgZGFsYW0gcGVycG90b25nYW4ga2VkdWEga2VqYWRpYW4uDQoNClVudHVrIGtlamFkaWFuIGdhYnVuZ2FuIGF0YXUgdW5pb24geWFuZyBkaXRhbmRhaSBkZW5nYW4ga2F0YSDigJxhdGF14oCdLCBraXRhIG1lbmdndW5ha2FuIHJ1bXVzIFAoQSDiiKogQikgPSBQKEEpICsgUChCKSDiiJIgUChBIOKIqSBCKS4gUGVuZ3VyYW5nYW4gaW50ZXJzZWtzaSBpbmkgcGVudGluZyBhZ2FyIGhhc2lsIHlhbmcgYmVyYWRhIGRpIGtlZHVhIGtlamFkaWFuIHRpZGFrIHRlcmhpdHVuZyBkdWEga2FsaS4gQ29udG9obnlhLCBwZWx1YW5nIG1lbmRhcGF0a2FuIGR1YSBhbmdrYSB5YW5nIHNhbWEgYXRhdSBzZXRpZGFrbnlhIHNhdHUgYW5na2EgMiBhZGFsYWggOS8zNiArIDExLzM2IOKIkiA1LzM2ID0gMTUvMzYgYXRhdSBzZWtpdGFyIDAsNDE2Ny4gS29uc2VwIGluaSBqdWdhIGRhcGF0IHRlcmxpaGF0IG1lbGFsdWkgZGlhZ3JhbSBWZW5uLCBkaSBtYW5hIHJ1YW5nIHNhbXBlbCBkaWdhbWJhcmthbiBzZWJhZ2FpIHNlYnVhaCBhcmVhIGJlc2FyLCBkYW4gZHVhIGtlamFkaWFuIGRpZ2FtYmFya2FuIHNlYmFnYWkgZHVhIGxpbmdrYXJhbiB5YW5nIHNhbGluZyB0dW1wYW5nIHRpbmRpaC4gQXJlYSB0dW1wYW5nIHRpbmRpaCB0ZXJzZWJ1dCBtZW51bmp1a2thbiBpbnRlcnNla3NpLCB5YW5nIGhhcnVzIGRpa3VyYW5naSBkYWxhbSBwZXJoaXR1bmdhbiB1bmlvbi4gTWVsYWx1aSBwZW5kZWthdGFuIGluaSwga2l0YSBkYXBhdCBtZW1haGFtaSBiYWh3YSBwZXJoaXR1bmdhbiBwcm9iYWJpbGl0YXMgdGlkYWsgaGFueWEgbWVuZ2FuZGFsa2FuIGFuZ2thLCB0ZXRhcGkganVnYSBtZW1lcmx1a2FuIHBlbWFoYW1hbiB2aXN1YWwgdGVyaGFkYXAgc3RydWt0dXIgcnVhbmcgc2FtcGVsLg0KDQoqKlJlZmVyZW5jZXMqKg0KWzFdIFNpbXBsZSBMZWFybmluZyBQcm8uIChuLmQuKS4gUHJvYmFiaWxpdHk6IFVuaW9uIG9mIEV2ZW50cyDigJMgZGFyaSBpc2kgcGVuamVsYXNhbiB2aWRlbyBwZW1iZWxhamFyYW4gcHJvYmFiaWxpdGFzLg0KDQpbMl0gU2lyZWdhciwgQi4gKG4uZC4pLiBJbnRyb2R1Y3Rpb24gdG8gU3RhdGlzdGljcy4gZHNjaWVuY2VsYWJzLiBodHRwczovL2Jvb2tkb3duLm9yZy9kc2NpZW5jZWxhYnMvaW50cm9fc3RhdGlzdGljcy9QcmVmYWNlLmh0bWwNCg0KWzNdIFRyaW9sYSwgTS4gRi4gKDIwMTgpLiBFbGVtZW50YXJ5IFN0YXRpc3RpY3MuIFBlYXJzb24gRWR1Y2F0aW9uIOKAlCBrb25zZXAgcnVhbmcgc2FtcGVsLCBpbnRlcnNla3NpLCBkYW4gdW5pb24gcGFkYSBwcm9iYWJpbGl0YXMuDQoNCg0KIyA0LiBFeGNsdXNpdmUgYW5kIEV4aGF1c3RpdmUNCg0KPHAgYWxpZ249ImNlbnRlciI+DQo8YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWY3YWdUdjluQTVrIiB0YXJnZXQ9Il9ibGFuayI+DQo8aW1nIHNyYz0iaHR0cHM6Ly9pbWcueW91dHViZS5jb20vdmkvZjdhZ1R2OW5BNWsvMC5qcGciIHdpZHRoPSI2MCUiPg0KPC9hPg0KPC9wPg0KDQo8cCBhbGlnbj0iY2VudGVyIj48aT5LbGlrIGdhbWJhciB1bnR1ayBtZW5vbnRvbiB2aWRlbzwvaT48L3A+DQoNCioqUmFuZ2t1bWFuIFBlbmplbGFzYW4qKg0KS2VqYWRpYW4gc2FsaW5nIGVrc2tsdXNpZiBkYW4ga2VqYWRpYW4gc2FsaW5nIG1lbGVuZ2thcGkgYWRhbGFoIGR1YSBrb25zZXAgcGVudGluZyBkYWxhbSBwcm9iYWJpbGl0YXMgeWFuZyBtZW5qZWxhc2thbiBodWJ1bmdhbiBhbnRhcmEgZHVhIGtlamFkaWFuIGRpIGRhbGFtIHNhdHUgcnVhbmcgc2FtcGVsLiBLZWphZGlhbiBkaXNlYnV0IHNhbGluZyBla3NrbHVzaWYgYXBhYmlsYSBrZWR1YW55YSB0aWRhayBtZW1pbGlraSBoYXNpbCB5YW5nIHNhbWEgc2VoaW5nZ2EgdGlkYWsgZGFwYXQgdGVyamFkaSBzZWNhcmEgYmVyc2FtYWFuOyBtaXNhbG55YSBwYWRhIGxlbXBhciBkdWEgZGFkdSwga2VqYWRpYW4gQSBiZXJ1cGEgbXVuY3VsIG1pbmltYWwgc2F0dSBhbmdrYSA1IGRhbiBrZWphZGlhbiBCIGJlcnVwYSBqdW1sYWggZGFkdSBrdXJhbmcgZGFyaSA0IHRpZGFrIG1lbWlsaWtpIGhhc2lsIHlhbmcgdHVtcGFuZyB0aW5kaWgsIHNlaGluZ2dhIHBlbHVhbmcgQSBkYW4gQiB0ZXJqYWRpIGJlcnNhbWFhbiBhZGFsYWggMCB5YW5nIG1lbnVuanVra2FuIHNpZmF0IGVrc2tsdXNpZi4gRGkgc2lzaSBsYWluLCBrZWphZGlhbiBkaXNlYnV0IHNhbGluZyBtZWxlbmdrYXBpIChleGhhdXN0aXZlKSBhcGFiaWxhIGdhYnVuZ2FuIGtlZHVhbnlhIG1lbmNha3VwIHNlbHVydWgga2VtdW5na2luYW4gaGFzaWwgZGkgZGFsYW0gcnVhbmcgc2FtcGVsLCBzZXBlcnRpIGtlamFkaWFuIG1pbmltYWwgc2F0dSBhbmdrYSA2IGRhbiBrZWphZGlhbiBqdW1sYWggZGFkdSBrdXJhbmcgZGFyaSAxMSB5YW5nIGppa2EgZGlnYWJ1bmdrYW4gbWVudXR1cGkgc2VtdWEgMzYga2VtdW5na2luYW4gaGFzaWwsIHNlaGluZ2dhIHBlbHVhbmcgQSDiiKogQiA9IDEgeWFuZyBtZW1idWt0aWthbiBiYWh3YSBrZWR1YW55YSBtZWxlbmdrYXBpIHNhdHUgc2FtYSBsYWluLiBNZW5hcmlrbnlhLCBzdWF0dSBwYXNhbmdhbiBrZWphZGlhbiBiaXNhIGJlcnNpZmF0IGVrc2tsdXNpZiBzZWthbGlndXMgc2FsaW5nIG1lbGVuZ2thcGksIGNvbnRvaG55YSBrZWphZGlhbiBqdW1sYWggZGFkdSBnZW5hcCBkYW4ganVtbGFoIGRhZHUgZ2FuamlsOyBrZWR1YW55YSB0aWRhayBwZXJuYWggdGVyamFkaSBiZXJzYW1hYW4ga2FyZW5hIHN1YXR1IGp1bWxhaCB0aWRhayBtdW5na2luIHNla2FsaWd1cyBnZW5hcCBkYW4gZ2FuamlsLCBuYW11biBrZXRpa2EgZGlnYWJ1bmdrYW4sIGtlZHVhbnlhIG1lbmNha3VwIHNlbHVydWggcnVhbmcgc2FtcGVsIHNlaGluZ2dhIHBlbHVhbmcgZ2FidW5nYW5ueWEgc2FtYSBkZW5nYW4gMS4gRGFyaSBzaW5pIGRhcGF0IGRpc2ltcHVsa2FuIGJhaHdhIGtlamFkaWFuIHNhbGluZyBla3NrbHVzaWYgbWVuZWthbmthbiBrZXRpZGFrbXVuZ2tpbmFuIHRlcmphZGkgYmVyc2FtYSwgc2VkYW5na2FuIGtlamFkaWFuIHNhbGluZyBtZWxlbmdrYXBpIG1lbmVrYW5rYW4ga2VsZW5na2FwYW4gY2FrdXBhbiBzZWx1cnVoIGhhc2lsLCBkYW4ga2VkdWEga29uc2VwIGluaSBkYXBhdCB0ZXJqYWRpIGJlcnNhbWFhbiBkYWxhbSBrb25kaXNpIHRlcnRlbnR1Lg0KDQoqKlJlZmVyZW5jZXMqKg0KWzFdIFNpbXBsZUxlYXJuaW5nUHJvLiAobi5kLikuIEJhc2ljIHByb2JhYmlsaXR5IGxlc3NvbnMuDQpodHRwczovL3NpbXBsZWxlYXJuaW5ncHJvLmNvbQ0KDQpbMl0gUm9zcywgUy4gTS4gKDIwMTQpLiBJbnRyb2R1Y3Rpb24gdG8gUHJvYmFiaWxpdHkgYW5kIFN0YXRpc3RpY3MgZm9yIEVuZ2luZWVycyBhbmQgU2NpZW50aXN0cyAoNXRoIGVkLikuIEFjYWRlbWljIFByZXNzLg0KDQpbM10gV2FscG9sZSwgUi4gRS4sIE15ZXJzLCBSLiBILiwgTXllcnMsIFMuIEwuLCAmIFllLCBLLiAoMjAxMikuIFByb2JhYmlsaXR5IGFuZCBTdGF0aXN0aWNzIGZvciBFbmdpbmVlcnMgYW5kIFNjaWVudGlzdHMgKDl0aCBlZC4pLiBQZWFyc29uIEVkdWNhdGlvbi4NCg0KWzRdIExldmluZSwgRC4gTS4sIFN0ZXBoYW4sIEQuIEYuLCAmIFN6YWJhdCwgSy4gQS4gKDIwMjApLiBTdGF0aXN0aWNzIGZvciBNYW5hZ2VycyBVc2luZyBNaWNyb3NvZnQgRXhjZWwgKDl0aCBlZC4pLiBQZWFyc29uLg0KDQpbNV0gRnJlZWRtYW4sIEQuLCBQaXNhbmksIFIuLCAmIFB1cnZlcywgUi4gKDIwMDcpLiBTdGF0aXN0aWNzICg0dGggZWQuKS4gVy4gVy4gTm9ydG9uICYgQ29tcGFueS4NCg0KIyA1LiBCaW5vbWlhbCBFeHBlcmltZW50IGFuZCB0aGUgRm9ybXVsYQ0KDQo8cCBhbGlnbj0iY2VudGVyIj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9blJ1UUF0YWpKWWsiIHRhcmdldD0iX2JsYW5rIj4NCjxpbWcgc3JjPSJodHRwczovL2ltZy55b3V0dWJlLmNvbS92aS9uUnVRQXRhakpZay8wLmpwZyIgd2lkdGg9IjYwJSI+DQo8L2E+DQo8L3A+DQoNCjxwIGFsaWduPSJjZW50ZXIiPjxpPktsaWsgZ2FtYmFyIHVudHVrIG1lbm9udG9uIHZpZGVvPC9pPjwvcD4NCg0KKipSYW5na3VtYW4gUGVuamVsYXNhbioqDQpCaW5vbWlhbCBhZGFsYWgga29uc2VwIGRhc2FyIGRhbGFtIHByb2JhYmlsaXRhcyB5YW5nIGRpZ3VuYWthbiBrZXRpa2Egc3VhdHUgcGVyY29iYWFuIG1lbWlsaWtpIGR1YSBoYXNpbCwgeWFpdHUgc3Vrc2VzIGF0YXUgZ2FnYWwsIGRhbiBkaWxha3VrYW4gYmVydWxhbmcgZGVuZ2FuIGp1bWxhaCBwZXJjb2JhYW4geWFuZyB0ZXRhcC4gU3VhdHUgcGVyY29iYWFuIGRpc2VidXQgcGVyY29iYWFuIGJpbm9taWFsIGppa2EgbWVtZW51aGkgZW1wYXQgc3lhcmF0IHBlbnRpbmc6IGp1bWxhaCBwZXJjb2JhYW4gdGV0YXAsIHNldGlhcCBwZXJjb2JhYW4gaGFueWEgbWVtaWxpa2kgZHVhIGtlbXVuZ2tpbmFuIGhhc2lsLCBwZWx1YW5nIHN1a3NlcyBzZWxhbHUga29uc3RhbiBwYWRhIHNldGlhcCBwZXJjb2JhYW4sIGRhbiBzZXRpYXAgcGVyY29iYWFuIGJlcnNpZmF0IGluZGVwZW5kZW4gc2F0dSBzYW1hIGxhaW4uIENvbnRvaG55YSwga2V0aWthIGtvaW4gZGlsZW1wYXIgdGlnYSBrYWxpLCBraXRhIGluZ2luIG1lbmdldGFodWkgcGVsdWFuZyBtdW5jdWxueWEgdGVwYXQgc2F0dSBrZXBhbGEuIEFkYSB0aWdhIHVydXRhbiBiZXJiZWRhIHlhbmcgZGFwYXQgbWVuZ2hhc2lsa2FuIHNhdHUga2VwYWxhLCB5YWl0dSBLRUUsIEVLRSwgZGFuIEVFSzsgbWFzaW5nLW1hc2luZyBtZW1pbGlraSBwcm9iYWJpbGl0YXMgMCwxMjUgc2VoaW5nZ2EgdG90YWxueWEgMCwzNzUuIFBlcmNvYmFhbiBpbmkgbWVtZW51aGkgc2VsdXJ1aCBzeWFyYXQgYmlub21pYWw6IGp1bWxhaCBwZXJjb2JhYW4gdGV0YXAgKDMga2FsaSksIGR1YSBoYXNpbCAoa2VwYWxhIGF0YXUgZWtvciksIHBlbHVhbmcga2VwYWxhIHNlbGFsdSAwLDUsIGRhbiBzZXRpYXAgbGVtcGFyYW4gaW5kZXBlbmRlbi4gQ29udG9oIGxhaW4gYWRhbGFoIG1lbmdhbWJpbCBsaW1hIGtlbGVyZW5nIGRhcmkga290YWsgYmVyaXNpIHNlcHVsdWgga2VsZXJlbmcgZGVuZ2FuIHBlbmdnYW50aWFuLCBkaSBtYW5hIGR1YSBkaSBhbnRhcmFueWEgYmVyd2FybmEgaGlqYXUuIFBlbHVhbmcgc3Vrc2VzLCB5YWl0dSBtZW5nYW1iaWwga2VsZXJlbmcgaGlqYXUsIGFkYWxhaCAyLzEwID0gMCwyIGRhbiBwZWx1YW5nIGdhZ2FsIGFkYWxhaCAwLDguIEthcmVuYSBkaWxha3VrYW4gZGVuZ2FuIHBlbmdnYW50aWFuLCBwZWx1YW5nbnlhIHRldGFwIGtvbnN0YW4gZGFuIHBlcmNvYmFhbiBpbmRlcGVuZGVuLiBVbnR1ayBtZW5kYXBhdGthbiB0ZXBhdCBkdWEga2VsZXJlbmcgaGlqYXUsIGFkYSBzZXB1bHVoIHN1c3VuYW4ga2ViZXJoYXNpbGFuIGRhbiBrZWdhZ2FsYW4geWFuZyBtdW5na2luLCBkYW4gc2V0aWFwIHN1c3VuYW4gbWVtaWxpa2kgcHJvYmFiaWxpdGFzIDAsMDIwNDggc2VoaW5nZ2EgdG90YWxueWEgMCwyMDQ4LiBQZXJoaXR1bmdhbiBpbmkgYmlzYSBkaXBlcnNpbmdrYXQgbWVuZ2d1bmFrYW4gcnVtdXMgYmlub21pYWw6IA0KJCRQKGspID0gQyhuLGspICogcF5rICogKDEtcCleKG4taykkJA0KRGVuZ2FuIG1lbWFzdWtrYW4gbiA9IDUsIGsgPSAyLCBkYW4gcCA9IDAsMiBrZSBkYWxhbSBydW11cywgaGFzaWxueWEgdGV0YXAgMCwyMDQ4LiBSdW11cyBiaW5vbWlhbCBtZW5qYWRpIG1ldG9kZSBjZXBhdCBkYW4gZWZpc2llbiB1bnR1ayBtZW5naGl0dW5nIHBlbHVhbmcgZGFsYW0gcGVyY29iYWFuIGJpbm9taWFsIHNlbGFtYSBlbXBhdCBzeWFyYXQgYmlub21pYWwgZGlwZW51aGkuDQoNCioqUmVmZXJlbmNlcyoqDQpbMV0gU2ltcGxlTGVhcm5pbmdQcm8uIChuLmQuKS4gQmFzaWMgcHJvYmFiaWxpdHkgbGVzc29ucy4NCmh0dHBzOi8vc2ltcGxlbGVhcm5pbmdwcm8uY29tDQoNClsyXSBTaXJlZ2FyLCBCLiAobi5kLikuIEludHJvZHVjdGlvbiB0byBTdGF0aXN0aWNzLiBEU2NpZW5jZUxhYnMuRGlha3NlcyBkYXJpIGh0dHBzOi8vYm9va2Rvd24ub3JnL2RzY2llbmNlbGFicy9pbnRyb19zdGF0aXN0aWNzL1ByZWZhY2UuaHRtbA0KDQpbM10gS2hhbiBBY2FkZW15LiAobi5kLikuIEJpbm9taWFsIHByb2JhYmlsaXR5Lg0KaHR0cHM6Ly93d3cua2hhbmFjYWRlbXkub3JnL21hdGgvc3RhdGlzdGljcy1wcm9iYWJpbGl0eQ0KDQpbNF0gT3BlblN0YXguIChuLmQuKS4gSW50cm9kdWN0b3J5IFN0YXRpc3RpY3Mg4oCTIEJpbm9taWFsIERpc3RyaWJ1dGlvbi4NCmh0dHBzOi8vb3BlbnN0YXgub3JnL2Jvb2tzL2ludHJvZHVjdG9yeS1zdGF0aXN0aWNzL3BhZ2VzLzQtNC1iaW5vbWlhbC1kaXN0cmlidXRpb24NCg0KWzVdIExhcnNvbiwgUi4sICYgRmFyYmVyLCBCLiAoMjAxNSkuIEVsZW1lbnRhcnkgU3RhdGlzdGljcyAoOHRoIGVkLikuIFBlYXJzb24gRWR1Y2F0aW9uDQoNCg0KIyA2LiBCaW5vbWFsIERpc3RyaWJ1dGlvbg0KDQo8cCBhbGlnbj0iY2VudGVyIj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WTItdlNXRm1neUkmdD0zcyIgdGFyZ2V0PSJfYmxhbmsiPg0KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnlvdXR1YmUuY29tL3ZpL1kyLXZTV0ZtZ3lJLzAuanBnIiB3aWR0aD0iNjAlIj4NCjwvYT4NCjwvcD4NCg0KPHAgYWxpZ249ImNlbnRlciI+PGk+S2xpayBnYW1iYXIgdW50dWsgbWVub250b24gdmlkZW88L2k+PC9wPg0KDQoqKlJhbmdrdW1hbiBQZW5qZWxhc2FuKioNCkRpc3RyaWJ1c2kgYmlub21pYWwgYWRhbGFoIGRpc3RyaWJ1c2kgcHJvYmFiaWxpdGFzIHlhbmcgbWVudW5qdWtrYW4gcGVsdWFuZyB0ZXJqYWRpbnlhIHNlanVtbGFoIGtlYmVyaGFzaWxhbiB0ZXJ0ZW50dSBkYWxhbSBzZWp1bWxhaCBwZXJjb2JhYW4geWFuZyB0ZXRhcCwgZGkgbWFuYSBzZXRpYXAgcGVyY29iYWFuIGhhbnlhIG1lbWlsaWtpIGR1YSBoYXNpbCAoc3Vrc2VzIGF0YXUgZ2FnYWwpIGRhbiBwcm9iYWJpbGl0YXMgc3Vrc2VzIHRldGFwIGtvbnN0YW4uIERpc3RyaWJ1c2kgaW5pIG1lbmdndW5ha2FuIHJ1bXVzIGJpbm9taWFsIChQKGspPQ0KJCRcYmlub217bn17a31wXntrfSgxLXApXntuLWt9KSQkDQosIGRpIG1hbmEgKGspIGFkYWxhaCBqdW1sYWgga2ViZXJoYXNpbGFuLCAobikgYWRhbGFoIGp1bWxhaCBwZXJjb2JhYW4sIGRhbiAocCkgYWRhbGFoIHBlbHVhbmcga2ViZXJoYXNpbGFuLiBDb250b2ggc2VkZXJoYW5hIGFkYWxhaCBtZWxlbXBhciBrb2luIGR1YSBrYWxpLCBzZWhpbmdnYSBuaWxhaSAoaykgZGFwYXQgMCwgMSwgYXRhdSAyLCBkYW4gZGFyaSBwZXJoaXR1bmdhbiBydW11cyBiaW5vbWlhbCBkaXBlcm9sZWggcHJvYmFiaWxpdGFzIDAsMjU7IDAsNTA7IGRhbiAwLDI1LiBLZXRpa2EgZGl2aXN1YWxpc2FzaWthbiBkYWxhbSBkaWFncmFtIGJhdGFuZywgZGlzdHJpYnVzaSBtZW51bmp1a2thbiBwb2xhIHNpbWV0cmlzIGthcmVuYSBwZWx1YW5nIGtlYmVyaGFzaWxhbiAwLDUuIEppa2EganVtbGFoIHBlcmNvYmFhbiAobikgZGl0aW5na2F0a2FuLCBtaXNhbG55YSBtZW5qYWRpIDEwLCBkaXN0cmlidXNpIGJpbm9taWFsIG11bGFpIG1lbnllcnVwYWkgZGlzdHJpYnVzaSBub3JtYWwga2FyZW5hIGRhdGEgc2VtYWtpbiBtZW5nZWxvbXBvayBkaSBzZWtpdGFyIG5pbGFpIHJhdGEtcmF0YS4gUGFyYW1ldGVyIGRpc3RyaWJ1c2kgYmlub21pYWwgZGFwYXQgZGloaXR1bmcgbWVuZ2d1bmFrYW4gcnVtdXMgbWVhbiAkJChcbXUgPSBucCkkJCwgdmFyaWFucyAkJChucCgxLXApJCQsIGRhbiBzdGFuZGFyIGRldmlhc2kgJCQoXHNpZ21hID0gXHNxcnR7bnAoMS1wKX0pJCQuIA0KUGVydWJhaGFuIG5pbGFpIChwKSBtZW1lbmdhcnVoaSBiZW50dWsgZGlzdHJpYnVzaTogYXBhYmlsYSAocCA9IDAsNSksIGRpc3RyaWJ1c2kgYmVyc2lmYXQgc2ltZXRyaXM7IGppa2EgKHAgPCAwLDUpLCBkaXN0cmlidXNpIG1pcmluZyBrZSBrYW5hbjsgc2ViYWxpa255YSBqaWthIChwID4gMCw1KSwgZGlzdHJpYnVzaSBtaXJpbmcga2Uga2lyaS4gTmlsYWkgKHApIHlhbmcgamF1aCBkYXJpIDAsNSBtZW1idWF0IGRpc3RyaWJ1c2kgc2VtYWtpbiBtaXJpbmcga2FyZW5hIGp1bWxhaCBrZWJlcmhhc2lsYW4geWFuZyBtdW5na2luIGNlbmRlcnVuZyBzZWRpa2l0IGF0YXUgYmFueWFrLiBVbnR1ayBtZW1idWF0IGRpc3RyaWJ1c2kgYmlub21pYWwgbWVuZGVrYXRpIGRpc3RyaWJ1c2kgbm9ybWFsLCBkaXBlcmx1a2FuIG5pbGFpIChuKSB5YW5nIGN1a3VwIGJlc2FyLCBkYW4gcGVuZGVrYXRhbiBub3JtYWwgZGFwYXQgZGlndW5ha2FuIGFwYWJpbGEgZHVhIHN5YXJhdCB0ZXJwZW51aGkgeWFpdHUgJCQobnAgXGdlcSAxMCkkJCBkYW4gJCQobigxLXApIFxnZXEgMTApJCQuIFNlY2FyYSBrZXNlbHVydWhhbiwgYmVudHVrIGRpc3RyaWJ1c2kgYmlub21pYWwgYmVyZ2FudHVuZyBwYWRhIGtvbWJpbmFzaSBuaWxhaSAocCkgZGFuIChuKSwgZGFuIHNlbWFraW4gYmVzYXIgbmlsYWkgKG4pLCBzZW1ha2luIGhhbHVzIGRhbiBzaW1ldHJpcyBkaXN0cmlidXNpbnlhIHNlaGluZ2dhIG1lbmRla2F0aSBiZW50dWsgZGlzdHJpYnVzaSBub3JtYWwuDQoNCioqUmVmZXJlbmNlcyoqDQpbMV0gU2ltcGxlTGVhcm5pbmdQcm8uIChuLmQuKS4gQmFzaWMgcHJvYmFiaWxpdHkgbGVzc29ucy4NCmh0dHBzOi8vc2ltcGxlbGVhcm5pbmdwcm8uY29tDQoNClsyXSBTaXJlZ2FyLCBCLiAobi5kLikuIEludHJvZHVjdGlvbiB0byBTdGF0aXN0aWNzLiBEU2NpZW5jZUxhYnMuDQpodHRwczovL2Jvb2tkb3duLm9yZy9kc2NpZW5jZWxhYnMvaW50cm9fc3RhdGlzdGljcw0KDQpbM10gS2hhbiBBY2FkZW15LiAobi5kLikuIEJpbm9taWFsIGRpc3RyaWJ1dGlvbi4NCmh0dHBzOi8vd3d3LmtoYW5hY2FkZW15Lm9yZy9tYXRoL3N0YXRpc3RpY3MtcHJvYmFiaWxpdHkNCg0KWzRdIE9wZW5TdGF4LiAobi5kLikuIEludHJvZHVjdG9yeSBTdGF0aXN0aWNzIOKAkyBCaW5vbWlhbCBEaXN0cmlidXRpb24uDQpodHRwczovL29wZW5zdGF4Lm9yZy9ib29rcy9pbnRyb2R1Y3Rvcnktc3RhdGlzdGljcy9wYWdlcy80LTQtYmlub21pYWwtZGlzdHJpYnV0aW9uDQoNCls1XSBMYXJzb24sIFIuLCAmIEZhcmJlciwgQi4gKDIwMTUpLiBFbGVtZW50YXJ5IFN0YXRpc3RpY3MgKDh0aCBlZC4pLiBQZWFyc29uIEVkdWNhdGlvbi4NCg0KDQotLS0NCg0KDQo=