knitr::opts_chunk$set(echo = TRUE)
Pendahuluan
Program Bantuan Stimulan Perumahan Swadaya (BSPS) merupakan salah
satu instrumen kebijakan pemerintah dalam rangka meningkatkan kualitas
hunian masyarakat berpenghasilan rendah (MBR), khususnya yang menempati
rumah tidak layak huni (RTLH). Program ini dirancang sebagai bentuk
stimulan, bukan bantuan penuh, dengan tujuan mendorong partisipasi aktif
masyarakat dalam pembangunan atau peningkatan kualitas rumahnya secara
swadaya.
Melalui pendekatan tersebut, BSPS tidak hanya berfokus pada perbaikan
fisik bangunan, tetapi juga menumbuhkan kemandirian, gotong royong, dan
pemberdayaan masyarakat. Penerima bantuan didorong untuk berkontribusi
baik dalam bentuk tenaga, material tambahan, maupun dukungan sosial dari
lingkungan sekitar, sehingga tercipta rasa memiliki terhadap hasil
pembangunan yang dilakukan.
Secara substansi, program BSPS menyasar rumah tangga pada kelompok
desil terbawah (desil 1 sampai dengan desil 4) yang tinggal di hunian
dengan kondisi tidak layak. Kriteria kelayakan mencakup aspek ketahahan
bangunan, kecukupan luas lantai, akses fasilitas dasar seperti akses air
minum layak dan akses sanitasi layak. Dengan demikian, intervensi yang
dilakukan diharapkan mampu meningkatkan kualitas hidup masyarakat secara
menyeluruh, tidak hanya dari sisi tempat tinggal, tetapi juga kesehatan
dan produktivitas.
Dalam implementasinya, penentuan sasaran BSPS dilakukan secara
bertahap dan berbasis data. Tahap awal difokuskan pada identifikasi
wilayah prioritas menggunakan indikator kemiskinan, ketimpangan,
kedalaman kemiskinan, serta jumlah keluarga miskin yang menempati RTLH.
Selanjutnya, dilakukan penyesuaian distribusi program agar selaras
dengan kebijakan pembangunan wilayah. Tahap akhir adalah penetapan rumah
tangga penerima manfaat secara spesifik menggunakan basis Data Tunggal
Sosial Ekonomi Nasional (DTSEN).
Variabel yang digunakan:
Daftar kabupaten/kota berdasarkan persentase kemiskinan
tertinggi;
Daftar kabupaten/kota berdasarkan jumlah penduduk miskin
terbanyak;
Daftar kabupaten/kota berdasarkan tingkat ketimpangan (gini
ratio) tertinggi;
Daftar kabupaten/kota berdasarkan tingkat kedalaman kemiskinan
tertinggi;
Daftar kabupaten/kota dengan jumlah keluarga pada desil 1-4 DTSEN
yang menempati rumah tidak layak huni.
df <- df %>%
rename(
kode = kode,
provinsi = nama_prov,
kode_kako = kode_kako,
kabkota = nama_kako,
jumlah_miskin = jumlah_miskin,
persen_miskin = persen_miskin,
gini_ratio = gini_ratio2025,
kedalaman = p1,
desil14bsps = jumlah_keluarga
) %>%
select(-jumlah_desa_tertinggal)
Normalisasi
df_norm <- df %>% mutate(
skor_jumlah_miskin = normalize(jumlah_miskin),
skor_persen_miskin = normalize(persen_miskin),
skor_gini = normalize(gini_ratio),
skor_kedalaman = normalize(kedalaman),
skor_desil14bsps = normalize(desil14bsps)
)
Penentuan Prioritas
Wilayah
Skor Prioritas
Pembentukan skor prioritas dilakukan melalui agregasi berbobot atas
lima indikator yang telah dinormalisasi. Bobot terbesar masing-masing
sebesar 25% diberikan pada jumlah dan persentase penduduk miskin serta
jumlah keluarga desil 1–4 di RTLH karena indikator-indikator tersebut
secara langsung mencerminkan besarnya kebutuhan riil dan sasaran
intervensi program, baik dari sisi skala maupun intensitas. Hal ini
sejalan dengan karakter Program BSPS yang bersifat pro-poor,
sehingga prioritas diarahkan pada wilayah dengan konsentrasi masyarakat
berpenghasilan rendah yang tinggi. Sementara itu, indikator ketimpangan
diberikan bobot 15% sebagai faktor yang menggambarkan distribusi
kesejahteraan, dan kedalaman kemiskinan sebesar 10% sebagai indikator
pelengkap yang mencerminkan tingkat keparahan kemiskinan.
Struktur pembobotan ini dirancang untuk menekankan prinsip
need-based targeting, sehingga prioritas wilayah difokuskan
pada daerah dengan kebutuhan paling mendesak tanpa mengabaikan dimensi
kerentanan sosial-ekonomi lainnya. Dengan pendekatan ini, risiko wilayah
dengan tingkat kemiskinan tinggi terlewat dari prioritas dapat
diminimalkan, sekaligus memastikan bahwa indikator lain tetap berperan
sebagai faktor penguat dalam menghasilkan penentuan sasaran yang lebih
komprehensif dan tepat sasaran.
df_norm <- df_norm %>%
mutate(
skor_prioritas =
(0.25) * skor_jumlah_miskin +
(0.25) * skor_persen_miskin +
(0.15) * skor_gini +
(0.10) * skor_kedalaman +
(0.25) * skor_desil14bsps
)
Berdasarkan skor, seluruh kabupaten/kota diurutkan untuk menghasilkan
peringkat prioritas nasional. Wilayah dengan skor tertinggi
dikategorikan sebagai prioritas utama karena memiliki kombinasi tingkat
kemiskinan yang tinggi, jumlah sasaran yang besar, serta kondisi hunian
yang relatif lebih rentan.
## # A tibble: 6 × 4
## provinsi kabkota skor_prioritas ranking_nasional
## <chr> <chr> <dbl> <int>
## 1 Jawa Barat Bogor 0.624 1
## 2 Papua Supiori 0.509 2
## 3 Jawa Barat Garut 0.493 3
## 4 Jawa Barat Cianjur 0.465 4
## 5 Jawa Barat Bandung 0.423 5
## 6 Jawa Barat Tasikmalaya 0.404 6
Penutup
Secara keseluruhan, hasil kajian ini menunjukkan bahwa pendekatan
berbasis data dalam penentuan prioritas wilayah Program BSPS mampu
memberikan dasar yang objektif dan terukur dalam mendukung pengambilan
kebijakan. Melalui pemanfaatan indikator kemiskinan, ketimpangan, serta
kondisi hunian masyarakat, pemerintah dapat lebih tepat dalam
mengarahkan intervensi kepada wilayah yang memiliki kebutuhan paling
mendesak. Dengan demikian, program tidak hanya menjangkau lebih banyak
sasaran, tetapi juga meningkatkan efektivitas dalam mendorong perbaikan
kualitas hidup masyarakat berpenghasilan rendah.
Ke depan, diperlukan penguatan sinergi antara pemerintah pusat,
pemerintah daerah, dan Badan Pusat Statistik dalam memastikan akurasi
data serta konsistensi implementasi di lapangan. Selain itu,
fleksibilitas dalam mempertimbangkan aspek pemerataan wilayah, kesiapan
daerah, dan kondisi geografis tetap menjadi faktor penting dalam
penetapan akhir lokasi intervensi. Dengan kombinasi antara pendekatan
kuantitatif dan pertimbangan kebijakan yang komprehensif, Program BSPS
diharapkan dapat berperan lebih optimal dalam mendukung percepatan
pengentasan kemiskinan dan penyediaan hunian yang layak bagi
masyarakat.
Direktorat Statistik Kesejahteraan Rakyat, BPS, saptahas@bps.go.id
LS0tDQp0aXRsZTogIlByb2dyYW0gQmFudHVhbiBTdGltdWxhbiBQZXJ1bWFoYW4gU3dhZGF5YSINCnN1YnRpdGxlOiAiS2FqaWFuIFNhc2FyYW4gV2lsYXlhaCBQcmlvcml0YXMiDQphdXRob3I6ICJTYXB0YSBIYXN0aG8gUG9uY28iDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY29kZV9mb2xkaW5nOiBzaG93DQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogam91cm5hbA0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KLS0tDQoNCmBgYHs9aHRtbH0NCjxzdHlsZT4NCmJvZHl7DQp0ZXh0LWFsaWduOiBqdXN0aWZ5fQ0KPC9zdHlsZT4NCmBgYA0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPVRSVUV9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyBQZW5kYWh1bHVhbg0KDQpQcm9ncmFtIEJhbnR1YW4gU3RpbXVsYW4gUGVydW1haGFuIFN3YWRheWEgKEJTUFMpIG1lcnVwYWthbiBzYWxhaCBzYXR1IGluc3RydW1lbiBrZWJpamFrYW4gcGVtZXJpbnRhaCBkYWxhbSByYW5na2EgbWVuaW5na2F0a2FuIGt1YWxpdGFzIGh1bmlhbiBtYXN5YXJha2F0IGJlcnBlbmdoYXNpbGFuIHJlbmRhaCAoTUJSKSwga2h1c3VzbnlhIHlhbmcgbWVuZW1wYXRpIHJ1bWFoIHRpZGFrIGxheWFrIGh1bmkgKFJUTEgpLiBQcm9ncmFtIGluaSBkaXJhbmNhbmcgc2ViYWdhaSBiZW50dWsgc3RpbXVsYW4sIGJ1a2FuIGJhbnR1YW4gcGVudWgsIGRlbmdhbiB0dWp1YW4gbWVuZG9yb25nIHBhcnRpc2lwYXNpIGFrdGlmIG1hc3lhcmFrYXQgZGFsYW0gcGVtYmFuZ3VuYW4gYXRhdSBwZW5pbmdrYXRhbiBrdWFsaXRhcyBydW1haG55YSBzZWNhcmEgc3dhZGF5YS4NCg0KTWVsYWx1aSBwZW5kZWthdGFuIHRlcnNlYnV0LCBCU1BTIHRpZGFrIGhhbnlhIGJlcmZva3VzIHBhZGEgcGVyYmFpa2FuIGZpc2lrIGJhbmd1bmFuLCB0ZXRhcGkganVnYSBtZW51bWJ1aGthbiBrZW1hbmRpcmlhbiwgZ290b25nIHJveW9uZywgZGFuIHBlbWJlcmRheWFhbiBtYXN5YXJha2F0LiBQZW5lcmltYSBiYW50dWFuIGRpZG9yb25nIHVudHVrIGJlcmtvbnRyaWJ1c2kgYmFpayBkYWxhbSBiZW50dWsgdGVuYWdhLCBtYXRlcmlhbCB0YW1iYWhhbiwgbWF1cHVuIGR1a3VuZ2FuIHNvc2lhbCBkYXJpIGxpbmdrdW5nYW4gc2VraXRhciwgc2VoaW5nZ2EgdGVyY2lwdGEgcmFzYSBtZW1pbGlraSB0ZXJoYWRhcCBoYXNpbCBwZW1iYW5ndW5hbiB5YW5nIGRpbGFrdWthbi4NCg0KU2VjYXJhIHN1YnN0YW5zaSwgcHJvZ3JhbSBCU1BTIG1lbnlhc2FyIHJ1bWFoIHRhbmdnYSBwYWRhIGtlbG9tcG9rIGRlc2lsIHRlcmJhd2FoIChkZXNpbCAxIHNhbXBhaSBkZW5nYW4gZGVzaWwgNCkgeWFuZyB0aW5nZ2FsIGRpIGh1bmlhbiBkZW5nYW4ga29uZGlzaSB0aWRhayBsYXlhay4gS3JpdGVyaWEga2VsYXlha2FuIG1lbmNha3VwIGFzcGVrIGtldGFoYWhhbiBiYW5ndW5hbiwga2VjdWt1cGFuIGx1YXMgbGFudGFpLCBha3NlcyBmYXNpbGl0YXMgZGFzYXIgc2VwZXJ0aSBha3NlcyBhaXIgbWludW0gbGF5YWsgZGFuIGFrc2VzIHNhbml0YXNpIGxheWFrLiBEZW5nYW4gZGVtaWtpYW4sIGludGVydmVuc2kgeWFuZyBkaWxha3VrYW4gZGloYXJhcGthbiBtYW1wdSBtZW5pbmdrYXRrYW4ga3VhbGl0YXMgaGlkdXAgbWFzeWFyYWthdCBzZWNhcmEgbWVueWVsdXJ1aCwgdGlkYWsgaGFueWEgZGFyaSBzaXNpIHRlbXBhdCB0aW5nZ2FsLCB0ZXRhcGkganVnYSBrZXNlaGF0YW4gZGFuIHByb2R1a3Rpdml0YXMuDQoNCkRhbGFtIGltcGxlbWVudGFzaW55YSwgcGVuZW50dWFuIHNhc2FyYW4gQlNQUyBkaWxha3VrYW4gc2VjYXJhIGJlcnRhaGFwIGRhbiBiZXJiYXNpcyBkYXRhLiBUYWhhcCBhd2FsIGRpZm9rdXNrYW4gcGFkYSBpZGVudGlmaWthc2kgd2lsYXlhaCBwcmlvcml0YXMgbWVuZ2d1bmFrYW4gaW5kaWthdG9yIGtlbWlza2luYW4sIGtldGltcGFuZ2FuLCBrZWRhbGFtYW4ga2VtaXNraW5hbiwgc2VydGEganVtbGFoIGtlbHVhcmdhIG1pc2tpbiB5YW5nIG1lbmVtcGF0aSBSVExILiBTZWxhbmp1dG55YSwgZGlsYWt1a2FuIHBlbnllc3VhaWFuIGRpc3RyaWJ1c2kgcHJvZ3JhbSBhZ2FyIHNlbGFyYXMgZGVuZ2FuIGtlYmlqYWthbiBwZW1iYW5ndW5hbiB3aWxheWFoLiBUYWhhcCBha2hpciBhZGFsYWggcGVuZXRhcGFuIHJ1bWFoIHRhbmdnYSBwZW5lcmltYSBtYW5mYWF0IHNlY2FyYSBzcGVzaWZpayBtZW5nZ3VuYWthbiBiYXNpcyBEYXRhIFR1bmdnYWwgU29zaWFsIEVrb25vbWkgTmFzaW9uYWwgKERUU0VOKS4NCg0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgZWNobz1GQUxTRX0NCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkob3Blbnhsc3gpDQpgYGANCg0KYGBge3IsIGVjaG89RkFMU0V9DQpzZXR3ZCgiRDpcXDIuIFBlbmdlbWJhbmdhbiBkaXJpXFwxIEV4ZXJjaXNlIEJhZ3VzXFxIb3VzaW5nIEFuYWx5c2lzXFxLYWppYW4gUHJpb3JpdGFzIEJTUFMiKQ0KYGBgDQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBlY2hvPUZBTFNFfQ0KZGYgPC0gcmVhZF9leGNlbCgiTWlza2luIFRpbXBhbmcgM1Qga2Frby54bHN4IikNCmBgYA0KDQpWYXJpYWJlbCB5YW5nIGRpZ3VuYWthbjoNCg0KMS4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHBlcnNlbnRhc2Uga2VtaXNraW5hbiB0ZXJ0aW5nZ2k7DQoNCjIuIERhZnRhciBrYWJ1cGF0ZW4va290YSBiZXJkYXNhcmthbiBqdW1sYWggcGVuZHVkdWsgbWlza2luIHRlcmJhbnlhazsNCg0KMy4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHRpbmdrYXQga2V0aW1wYW5nYW4gKGdpbmkgcmF0aW8pIHRlcnRpbmdnaTsNCg0KNC4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHRpbmdrYXQga2VkYWxhbWFuIGtlbWlza2luYW4gdGVydGluZ2dpOw0KDQo1LiBEYWZ0YXIga2FidXBhdGVuL2tvdGEgZGVuZ2FuIGp1bWxhaCBrZWx1YXJnYSBwYWRhIGRlc2lsIDEtNCBEVFNFTiB5YW5nIG1lbmVtcGF0aSBydW1haCB0aWRhayBsYXlhayBodW5pLg0KDQpgYGB7cn0NCmRmIDwtIGRmICU+JQ0KICByZW5hbWUoDQogICAga29kZSAgICAgICAgICAgID0ga29kZSwNCiAgICBwcm92aW5zaSAgICAgICAgPSBuYW1hX3Byb3YsDQogICAga29kZV9rYWtvICAgICAgID0ga29kZV9rYWtvLA0KICAgIGthYmtvdGEgICAgICAgICA9IG5hbWFfa2FrbywNCiAgICBqdW1sYWhfbWlza2luICAgPSBqdW1sYWhfbWlza2luLA0KICAgIHBlcnNlbl9taXNraW4gICA9IHBlcnNlbl9taXNraW4sDQogICAgZ2luaV9yYXRpbyAgICAgID0gZ2luaV9yYXRpbzIwMjUsDQogICAga2VkYWxhbWFuICAgICAgID0gcDEsDQogICAgZGVzaWwxNGJzcHMgICAgID0ganVtbGFoX2tlbHVhcmdhDQogICkgJT4lDQogIHNlbGVjdCgtanVtbGFoX2Rlc2FfdGVydGluZ2dhbCkNCg0KYGBgDQoNCg0KKipOb3JtYWxpc2FzaSoqDQoNCg0KYGBge3IsIGVjaG89RkFMU0V9DQpub3JtYWxpemUgPC0gZnVuY3Rpb24oeCkgew0KICAoeCAtIG1pbih4LCBuYS5ybSA9IFRSVUUpKSAvDQogICAgKG1heCh4LCBuYS5ybSA9IFRSVUUpIC0gbWluKHgsIG5hLnJtID0gVFJVRSkpDQp9DQpgYGANCg0KYGBge3J9DQpkZl9ub3JtIDwtIGRmICU+JSBtdXRhdGUoDQogIHNrb3JfanVtbGFoX21pc2tpbiA9IG5vcm1hbGl6ZShqdW1sYWhfbWlza2luKSwNCiAgc2tvcl9wZXJzZW5fbWlza2luID0gbm9ybWFsaXplKHBlcnNlbl9taXNraW4pLA0KICBza29yX2dpbmkgICAgICAgICAgPSBub3JtYWxpemUoZ2luaV9yYXRpbyksDQogIHNrb3Jfa2VkYWxhbWFuICAgICA9IG5vcm1hbGl6ZShrZWRhbGFtYW4pLA0KICBza29yX2Rlc2lsMTRic3BzICAgPSBub3JtYWxpemUoZGVzaWwxNGJzcHMpDQopDQpgYGANCg0KIyBQZW5lbnR1YW4gUHJpb3JpdGFzIFdpbGF5YWgNCg0KKipTa29yIFByaW9yaXRhcyoqDQoNClBlbWJlbnR1a2FuIHNrb3IgcHJpb3JpdGFzIGRpbGFrdWthbiBtZWxhbHVpIGFncmVnYXNpIGJlcmJvYm90IGF0YXMgbGltYSBpbmRpa2F0b3IgeWFuZyB0ZWxhaCBkaW5vcm1hbGlzYXNpLiBCb2JvdCB0ZXJiZXNhciBtYXNpbmctbWFzaW5nIHNlYmVzYXIgMjUlIGRpYmVyaWthbiBwYWRhIGp1bWxhaCBkYW4gcGVyc2VudGFzZSBwZW5kdWR1ayBtaXNraW4gc2VydGEganVtbGFoIGtlbHVhcmdhIGRlc2lsIDHigJM0IGRpIFJUTEgga2FyZW5hIGluZGlrYXRvci1pbmRpa2F0b3IgdGVyc2VidXQgc2VjYXJhIGxhbmdzdW5nIG1lbmNlcm1pbmthbiBiZXNhcm55YSBrZWJ1dHVoYW4gcmlpbCBkYW4gc2FzYXJhbiBpbnRlcnZlbnNpIHByb2dyYW0sIGJhaWsgZGFyaSBzaXNpIHNrYWxhIG1hdXB1biBpbnRlbnNpdGFzLiBIYWwgaW5pIHNlamFsYW4gZGVuZ2FuIGthcmFrdGVyIFByb2dyYW0gQlNQUyB5YW5nIGJlcnNpZmF0IF9wcm8tcG9vcl8sIHNlaGluZ2dhIHByaW9yaXRhcyBkaWFyYWhrYW4gcGFkYSB3aWxheWFoIGRlbmdhbiBrb25zZW50cmFzaSBtYXN5YXJha2F0IGJlcnBlbmdoYXNpbGFuIHJlbmRhaCB5YW5nIHRpbmdnaS4gU2VtZW50YXJhIGl0dSwgaW5kaWthdG9yIGtldGltcGFuZ2FuIGRpYmVyaWthbiBib2JvdCAxNSUgc2ViYWdhaSBmYWt0b3IgeWFuZyBtZW5nZ2FtYmFya2FuIGRpc3RyaWJ1c2kga2VzZWphaHRlcmFhbiwgZGFuIGtlZGFsYW1hbiBrZW1pc2tpbmFuIHNlYmVzYXIgMTAlIHNlYmFnYWkgaW5kaWthdG9yIHBlbGVuZ2thcCB5YW5nIG1lbmNlcm1pbmthbiB0aW5na2F0IGtlcGFyYWhhbiBrZW1pc2tpbmFuLiANCg0KU3RydWt0dXIgcGVtYm9ib3RhbiBpbmkgZGlyYW5jYW5nIHVudHVrIG1lbmVrYW5rYW4gcHJpbnNpcCBfbmVlZC1iYXNlZCB0YXJnZXRpbmdfLCBzZWhpbmdnYSBwcmlvcml0YXMgd2lsYXlhaCBkaWZva3Vza2FuIHBhZGEgZGFlcmFoIGRlbmdhbiBrZWJ1dHVoYW4gcGFsaW5nIG1lbmRlc2FrIHRhbnBhIG1lbmdhYmFpa2FuIGRpbWVuc2kga2VyZW50YW5hbiBzb3NpYWwtZWtvbm9taSBsYWlubnlhLiBEZW5nYW4gcGVuZGVrYXRhbiBpbmksIHJpc2lrbyB3aWxheWFoIGRlbmdhbiB0aW5na2F0IGtlbWlza2luYW4gdGluZ2dpIHRlcmxld2F0IGRhcmkgcHJpb3JpdGFzIGRhcGF0IGRpbWluaW1hbGthbiwgc2VrYWxpZ3VzIG1lbWFzdGlrYW4gYmFod2EgaW5kaWthdG9yIGxhaW4gdGV0YXAgYmVycGVyYW4gc2ViYWdhaSBmYWt0b3IgcGVuZ3VhdCBkYWxhbSBtZW5naGFzaWxrYW4gcGVuZW50dWFuIHNhc2FyYW4geWFuZyBsZWJpaCBrb21wcmVoZW5zaWYgZGFuIHRlcGF0IHNhc2FyYW4uDQoNCg0KYGBge3J9DQpkZl9ub3JtIDwtIGRmX25vcm0gJT4lDQogIG11dGF0ZSgNCiAgICBza29yX3ByaW9yaXRhcyA9DQogICAgICAoMC4yNSkgKiBza29yX2p1bWxhaF9taXNraW4gKw0KICAgICAgKDAuMjUpICogc2tvcl9wZXJzZW5fbWlza2luICsNCiAgICAgICgwLjE1KSAqIHNrb3JfZ2luaSArDQogICAgICAoMC4xMCkgKiBza29yX2tlZGFsYW1hbiArDQogICAgICAoMC4yNSkgKiBza29yX2Rlc2lsMTRic3BzDQogICkNCmBgYA0KDQpCZXJkYXNhcmthbiBza29yLCBzZWx1cnVoIGthYnVwYXRlbi9rb3RhIGRpdXJ1dGthbiB1bnR1ayBtZW5naGFzaWxrYW4gcGVyaW5na2F0IHByaW9yaXRhcyBuYXNpb25hbC4gV2lsYXlhaCBkZW5nYW4gc2tvciB0ZXJ0aW5nZ2kgZGlrYXRlZ29yaWthbiBzZWJhZ2FpIHByaW9yaXRhcyB1dGFtYSBrYXJlbmEgbWVtaWxpa2kga29tYmluYXNpIHRpbmdrYXQga2VtaXNraW5hbiB5YW5nIHRpbmdnaSwganVtbGFoIHNhc2FyYW4geWFuZyBiZXNhciwgc2VydGEga29uZGlzaSBodW5pYW4geWFuZyByZWxhdGlmIGxlYmloIHJlbnRhbi4NCg0KYGBge3IsIGVjaG89RkFMU0V9DQpkZl9yYW5rX25hc2lvbmFsIDwtIGRmX25vcm0gJT4lDQogIGFycmFuZ2UoZGVzYyhza29yX3ByaW9yaXRhcykpICU+JQ0KICBtdXRhdGUocmFua2luZ19uYXNpb25hbCA9IHJvd19udW1iZXIoKSkNCg0KZGZfcmluZ2thcyA8LSBkZl9yYW5rX25hc2lvbmFsICU+JQ0KICBzZWxlY3QocHJvdmluc2ksIGthYmtvdGEsIHNrb3JfcHJpb3JpdGFzLCByYW5raW5nX25hc2lvbmFsKQ0KDQpoZWFkKGRmX3JpbmdrYXMpDQpgYGANCg0KYGBge3IsIGVjaG89RkFMU0V9DQp3cml0ZS54bHN4KGRmX3JhbmtfbmFzaW9uYWwsIA0KICAgICAgICAgICAiUHJpb3JpdGFzX0JTUFNfUmFua2luZ19OYXNpb25hbF9qdW1sYWggcGVyc2VuIG1pc2tpbl9ib2JvdCBiZWRhIDEwMDIyNiBGSU5BTC54bHN4IiwNCiAgICAgICAgICAgb3ZlcndyaXRlID0gVFJVRSkNCg0KYGBgDQoNCiMgUGVudXR1cA0KDQpTZWNhcmEga2VzZWx1cnVoYW4sIGhhc2lsIGthamlhbiBpbmkgbWVudW5qdWtrYW4gYmFod2EgcGVuZGVrYXRhbiBiZXJiYXNpcyBkYXRhIGRhbGFtIHBlbmVudHVhbiBwcmlvcml0YXMgd2lsYXlhaCBQcm9ncmFtIEJTUFMgbWFtcHUgbWVtYmVyaWthbiBkYXNhciB5YW5nIG9iamVrdGlmIGRhbiB0ZXJ1a3VyIGRhbGFtIG1lbmR1a3VuZyBwZW5nYW1iaWxhbiBrZWJpamFrYW4uIE1lbGFsdWkgcGVtYW5mYWF0YW4gaW5kaWthdG9yIGtlbWlza2luYW4sIGtldGltcGFuZ2FuLCBzZXJ0YSBrb25kaXNpIGh1bmlhbiBtYXN5YXJha2F0LCBwZW1lcmludGFoIGRhcGF0IGxlYmloIHRlcGF0IGRhbGFtIG1lbmdhcmFoa2FuIGludGVydmVuc2kga2VwYWRhIHdpbGF5YWggeWFuZyBtZW1pbGlraSBrZWJ1dHVoYW4gcGFsaW5nIG1lbmRlc2FrLiBEZW5nYW4gZGVtaWtpYW4sIHByb2dyYW0gdGlkYWsgaGFueWEgbWVuamFuZ2thdSBsZWJpaCBiYW55YWsgc2FzYXJhbiwgdGV0YXBpIGp1Z2EgbWVuaW5na2F0a2FuIGVmZWt0aXZpdGFzIGRhbGFtIG1lbmRvcm9uZyBwZXJiYWlrYW4ga3VhbGl0YXMgaGlkdXAgbWFzeWFyYWthdCBiZXJwZW5naGFzaWxhbiByZW5kYWguDQoNCktlIGRlcGFuLCBkaXBlcmx1a2FuIHBlbmd1YXRhbiBzaW5lcmdpIGFudGFyYSBwZW1lcmludGFoIHB1c2F0LCBwZW1lcmludGFoIGRhZXJhaCwgZGFuIEJhZGFuIFB1c2F0IFN0YXRpc3RpayBkYWxhbSBtZW1hc3Rpa2FuIGFrdXJhc2kgZGF0YSBzZXJ0YSBrb25zaXN0ZW5zaSBpbXBsZW1lbnRhc2kgZGkgbGFwYW5nYW4uIFNlbGFpbiBpdHUsIGZsZWtzaWJpbGl0YXMgZGFsYW0gbWVtcGVydGltYmFuZ2thbiBhc3BlayBwZW1lcmF0YWFuIHdpbGF5YWgsIGtlc2lhcGFuIGRhZXJhaCwgZGFuIGtvbmRpc2kgZ2VvZ3JhZmlzIHRldGFwIG1lbmphZGkgZmFrdG9yIHBlbnRpbmcgZGFsYW0gcGVuZXRhcGFuIGFraGlyIGxva2FzaSBpbnRlcnZlbnNpLiBEZW5nYW4ga29tYmluYXNpIGFudGFyYSBwZW5kZWthdGFuIGt1YW50aXRhdGlmIGRhbiBwZXJ0aW1iYW5nYW4ga2ViaWpha2FuIHlhbmcga29tcHJlaGVuc2lmLCBQcm9ncmFtIEJTUFMgZGloYXJhcGthbiBkYXBhdCBiZXJwZXJhbiBsZWJpaCBvcHRpbWFsIGRhbGFtIG1lbmR1a3VuZyBwZXJjZXBhdGFuIHBlbmdlbnRhc2FuIGtlbWlza2luYW4gZGFuIHBlbnllZGlhYW4gaHVuaWFuIHlhbmcgbGF5YWsgYmFnaSBtYXN5YXJha2F0Lg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IERpcmVrdG9yYXQgU3RhdGlzdGlrIEtlc2VqYWh0ZXJhYW4gUmFreWF0LCBCUFMsIHNhcHRhaGFzQGJwcy5nby5pZA0KDQoNCg0KDQo=