knitr::opts_chunk$set(echo = TRUE)

1 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:

  1. Daftar kabupaten/kota berdasarkan persentase kemiskinan tertinggi;

  2. Daftar kabupaten/kota berdasarkan jumlah penduduk miskin terbanyak;

  3. Daftar kabupaten/kota berdasarkan tingkat ketimpangan (gini ratio) tertinggi;

  4. Daftar kabupaten/kota berdasarkan tingkat kedalaman kemiskinan tertinggi;

  5. 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)
)

2 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

3 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,

LS0tDQp0aXRsZTogIlByb2dyYW0gQmFudHVhbiBTdGltdWxhbiBQZXJ1bWFoYW4gU3dhZGF5YSINCnN1YnRpdGxlOiAiS2FqaWFuIFNhc2FyYW4gV2lsYXlhaCBQcmlvcml0YXMiDQphdXRob3I6ICJTYXB0YSBIYXN0aG8gUG9uY28iDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY29kZV9mb2xkaW5nOiBzaG93DQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogam91cm5hbA0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KLS0tDQoNCmBgYHs9aHRtbH0NCjxzdHlsZT4NCmJvZHl7DQp0ZXh0LWFsaWduOiBqdXN0aWZ5fQ0KPC9zdHlsZT4NCmBgYA0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPVRSVUV9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyBQZW5kYWh1bHVhbg0KDQpQcm9ncmFtIEJhbnR1YW4gU3RpbXVsYW4gUGVydW1haGFuIFN3YWRheWEgKEJTUFMpIG1lcnVwYWthbiBzYWxhaCBzYXR1IGluc3RydW1lbiBrZWJpamFrYW4gcGVtZXJpbnRhaCBkYWxhbSByYW5na2EgbWVuaW5na2F0a2FuIGt1YWxpdGFzIGh1bmlhbiBtYXN5YXJha2F0IGJlcnBlbmdoYXNpbGFuIHJlbmRhaCAoTUJSKSwga2h1c3VzbnlhIHlhbmcgbWVuZW1wYXRpIHJ1bWFoIHRpZGFrIGxheWFrIGh1bmkgKFJUTEgpLiBQcm9ncmFtIGluaSBkaXJhbmNhbmcgc2ViYWdhaSBiZW50dWsgc3RpbXVsYW4sIGJ1a2FuIGJhbnR1YW4gcGVudWgsIGRlbmdhbiB0dWp1YW4gbWVuZG9yb25nIHBhcnRpc2lwYXNpIGFrdGlmIG1hc3lhcmFrYXQgZGFsYW0gcGVtYmFuZ3VuYW4gYXRhdSBwZW5pbmdrYXRhbiBrdWFsaXRhcyBydW1haG55YSBzZWNhcmEgc3dhZGF5YS4NCg0KTWVsYWx1aSBwZW5kZWthdGFuIHRlcnNlYnV0LCBCU1BTIHRpZGFrIGhhbnlhIGJlcmZva3VzIHBhZGEgcGVyYmFpa2FuIGZpc2lrIGJhbmd1bmFuLCB0ZXRhcGkganVnYSBtZW51bWJ1aGthbiBrZW1hbmRpcmlhbiwgZ290b25nIHJveW9uZywgZGFuIHBlbWJlcmRheWFhbiBtYXN5YXJha2F0LiBQZW5lcmltYSBiYW50dWFuIGRpZG9yb25nIHVudHVrIGJlcmtvbnRyaWJ1c2kgYmFpayBkYWxhbSBiZW50dWsgdGVuYWdhLCBtYXRlcmlhbCB0YW1iYWhhbiwgbWF1cHVuIGR1a3VuZ2FuIHNvc2lhbCBkYXJpIGxpbmdrdW5nYW4gc2VraXRhciwgc2VoaW5nZ2EgdGVyY2lwdGEgcmFzYSBtZW1pbGlraSB0ZXJoYWRhcCBoYXNpbCBwZW1iYW5ndW5hbiB5YW5nIGRpbGFrdWthbi4NCg0KU2VjYXJhIHN1YnN0YW5zaSwgcHJvZ3JhbSBCU1BTIG1lbnlhc2FyIHJ1bWFoIHRhbmdnYSBwYWRhIGtlbG9tcG9rIGRlc2lsIHRlcmJhd2FoIChkZXNpbCAxIHNhbXBhaSBkZW5nYW4gZGVzaWwgNCkgeWFuZyB0aW5nZ2FsIGRpIGh1bmlhbiBkZW5nYW4ga29uZGlzaSB0aWRhayBsYXlhay4gS3JpdGVyaWEga2VsYXlha2FuIG1lbmNha3VwIGFzcGVrIGtldGFoYWhhbiBiYW5ndW5hbiwga2VjdWt1cGFuIGx1YXMgbGFudGFpLCBha3NlcyBmYXNpbGl0YXMgZGFzYXIgc2VwZXJ0aSBha3NlcyBhaXIgbWludW0gbGF5YWsgZGFuIGFrc2VzIHNhbml0YXNpIGxheWFrLiBEZW5nYW4gZGVtaWtpYW4sIGludGVydmVuc2kgeWFuZyBkaWxha3VrYW4gZGloYXJhcGthbiBtYW1wdSBtZW5pbmdrYXRrYW4ga3VhbGl0YXMgaGlkdXAgbWFzeWFyYWthdCBzZWNhcmEgbWVueWVsdXJ1aCwgdGlkYWsgaGFueWEgZGFyaSBzaXNpIHRlbXBhdCB0aW5nZ2FsLCB0ZXRhcGkganVnYSBrZXNlaGF0YW4gZGFuIHByb2R1a3Rpdml0YXMuDQoNCkRhbGFtIGltcGxlbWVudGFzaW55YSwgcGVuZW50dWFuIHNhc2FyYW4gQlNQUyBkaWxha3VrYW4gc2VjYXJhIGJlcnRhaGFwIGRhbiBiZXJiYXNpcyBkYXRhLiBUYWhhcCBhd2FsIGRpZm9rdXNrYW4gcGFkYSBpZGVudGlmaWthc2kgd2lsYXlhaCBwcmlvcml0YXMgbWVuZ2d1bmFrYW4gaW5kaWthdG9yIGtlbWlza2luYW4sIGtldGltcGFuZ2FuLCBrZWRhbGFtYW4ga2VtaXNraW5hbiwgc2VydGEganVtbGFoIGtlbHVhcmdhIG1pc2tpbiB5YW5nIG1lbmVtcGF0aSBSVExILiBTZWxhbmp1dG55YSwgZGlsYWt1a2FuIHBlbnllc3VhaWFuIGRpc3RyaWJ1c2kgcHJvZ3JhbSBhZ2FyIHNlbGFyYXMgZGVuZ2FuIGtlYmlqYWthbiBwZW1iYW5ndW5hbiB3aWxheWFoLiBUYWhhcCBha2hpciBhZGFsYWggcGVuZXRhcGFuIHJ1bWFoIHRhbmdnYSBwZW5lcmltYSBtYW5mYWF0IHNlY2FyYSBzcGVzaWZpayBtZW5nZ3VuYWthbiBiYXNpcyBEYXRhIFR1bmdnYWwgU29zaWFsIEVrb25vbWkgTmFzaW9uYWwgKERUU0VOKS4NCg0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgZWNobz1GQUxTRX0NCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkob3Blbnhsc3gpDQpgYGANCg0KYGBge3IsIGVjaG89RkFMU0V9DQpzZXR3ZCgiRDpcXDIuIFBlbmdlbWJhbmdhbiBkaXJpXFwxIEV4ZXJjaXNlIEJhZ3VzXFxIb3VzaW5nIEFuYWx5c2lzXFxLYWppYW4gUHJpb3JpdGFzIEJTUFMiKQ0KYGBgDQoNCmBgYHtyLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBlY2hvPUZBTFNFfQ0KZGYgPC0gcmVhZF9leGNlbCgiTWlza2luIFRpbXBhbmcgM1Qga2Frby54bHN4IikNCmBgYA0KDQpWYXJpYWJlbCB5YW5nIGRpZ3VuYWthbjoNCg0KMS4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHBlcnNlbnRhc2Uga2VtaXNraW5hbiB0ZXJ0aW5nZ2k7DQoNCjIuIERhZnRhciBrYWJ1cGF0ZW4va290YSBiZXJkYXNhcmthbiBqdW1sYWggcGVuZHVkdWsgbWlza2luIHRlcmJhbnlhazsNCg0KMy4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHRpbmdrYXQga2V0aW1wYW5nYW4gKGdpbmkgcmF0aW8pIHRlcnRpbmdnaTsNCg0KNC4gRGFmdGFyIGthYnVwYXRlbi9rb3RhIGJlcmRhc2Fya2FuIHRpbmdrYXQga2VkYWxhbWFuIGtlbWlza2luYW4gdGVydGluZ2dpOw0KDQo1LiBEYWZ0YXIga2FidXBhdGVuL2tvdGEgZGVuZ2FuIGp1bWxhaCBrZWx1YXJnYSBwYWRhIGRlc2lsIDEtNCBEVFNFTiB5YW5nIG1lbmVtcGF0aSBydW1haCB0aWRhayBsYXlhayBodW5pLg0KDQpgYGB7cn0NCmRmIDwtIGRmICU+JQ0KICByZW5hbWUoDQogICAga29kZSAgICAgICAgICAgID0ga29kZSwNCiAgICBwcm92aW5zaSAgICAgICAgPSBuYW1hX3Byb3YsDQogICAga29kZV9rYWtvICAgICAgID0ga29kZV9rYWtvLA0KICAgIGthYmtvdGEgICAgICAgICA9IG5hbWFfa2FrbywNCiAgICBqdW1sYWhfbWlza2luICAgPSBqdW1sYWhfbWlza2luLA0KICAgIHBlcnNlbl9taXNraW4gICA9IHBlcnNlbl9taXNraW4sDQogICAgZ2luaV9yYXRpbyAgICAgID0gZ2luaV9yYXRpbzIwMjUsDQogICAga2VkYWxhbWFuICAgICAgID0gcDEsDQogICAgZGVzaWwxNGJzcHMgICAgID0ganVtbGFoX2tlbHVhcmdhDQogICkgJT4lDQogIHNlbGVjdCgtanVtbGFoX2Rlc2FfdGVydGluZ2dhbCkNCg0KYGBgDQoNCg0KKipOb3JtYWxpc2FzaSoqDQoNCg0KYGBge3IsIGVjaG89RkFMU0V9DQpub3JtYWxpemUgPC0gZnVuY3Rpb24oeCkgew0KICAoeCAtIG1pbih4LCBuYS5ybSA9IFRSVUUpKSAvDQogICAgKG1heCh4LCBuYS5ybSA9IFRSVUUpIC0gbWluKHgsIG5hLnJtID0gVFJVRSkpDQp9DQpgYGANCg0KYGBge3J9DQpkZl9ub3JtIDwtIGRmICU+JSBtdXRhdGUoDQogIHNrb3JfanVtbGFoX21pc2tpbiA9IG5vcm1hbGl6ZShqdW1sYWhfbWlza2luKSwNCiAgc2tvcl9wZXJzZW5fbWlza2luID0gbm9ybWFsaXplKHBlcnNlbl9taXNraW4pLA0KICBza29yX2dpbmkgICAgICAgICAgPSBub3JtYWxpemUoZ2luaV9yYXRpbyksDQogIHNrb3Jfa2VkYWxhbWFuICAgICA9IG5vcm1hbGl6ZShrZWRhbGFtYW4pLA0KICBza29yX2Rlc2lsMTRic3BzICAgPSBub3JtYWxpemUoZGVzaWwxNGJzcHMpDQopDQpgYGANCg0KIyBQZW5lbnR1YW4gUHJpb3JpdGFzIFdpbGF5YWgNCg0KKipTa29yIFByaW9yaXRhcyoqDQoNClBlbWJlbnR1a2FuIHNrb3IgcHJpb3JpdGFzIGRpbGFrdWthbiBtZWxhbHVpIGFncmVnYXNpIGJlcmJvYm90IGF0YXMgbGltYSBpbmRpa2F0b3IgeWFuZyB0ZWxhaCBkaW5vcm1hbGlzYXNpLiBCb2JvdCB0ZXJiZXNhciBtYXNpbmctbWFzaW5nIHNlYmVzYXIgMjUlIGRpYmVyaWthbiBwYWRhIGp1bWxhaCBkYW4gcGVyc2VudGFzZSBwZW5kdWR1ayBtaXNraW4gc2VydGEganVtbGFoIGtlbHVhcmdhIGRlc2lsIDHigJM0IGRpIFJUTEgga2FyZW5hIGluZGlrYXRvci1pbmRpa2F0b3IgdGVyc2VidXQgc2VjYXJhIGxhbmdzdW5nIG1lbmNlcm1pbmthbiBiZXNhcm55YSBrZWJ1dHVoYW4gcmlpbCBkYW4gc2FzYXJhbiBpbnRlcnZlbnNpIHByb2dyYW0sIGJhaWsgZGFyaSBzaXNpIHNrYWxhIG1hdXB1biBpbnRlbnNpdGFzLiBIYWwgaW5pIHNlamFsYW4gZGVuZ2FuIGthcmFrdGVyIFByb2dyYW0gQlNQUyB5YW5nIGJlcnNpZmF0IF9wcm8tcG9vcl8sIHNlaGluZ2dhIHByaW9yaXRhcyBkaWFyYWhrYW4gcGFkYSB3aWxheWFoIGRlbmdhbiBrb25zZW50cmFzaSBtYXN5YXJha2F0IGJlcnBlbmdoYXNpbGFuIHJlbmRhaCB5YW5nIHRpbmdnaS4gU2VtZW50YXJhIGl0dSwgaW5kaWthdG9yIGtldGltcGFuZ2FuIGRpYmVyaWthbiBib2JvdCAxNSUgc2ViYWdhaSBmYWt0b3IgeWFuZyBtZW5nZ2FtYmFya2FuIGRpc3RyaWJ1c2kga2VzZWphaHRlcmFhbiwgZGFuIGtlZGFsYW1hbiBrZW1pc2tpbmFuIHNlYmVzYXIgMTAlIHNlYmFnYWkgaW5kaWthdG9yIHBlbGVuZ2thcCB5YW5nIG1lbmNlcm1pbmthbiB0aW5na2F0IGtlcGFyYWhhbiBrZW1pc2tpbmFuLiANCg0KU3RydWt0dXIgcGVtYm9ib3RhbiBpbmkgZGlyYW5jYW5nIHVudHVrIG1lbmVrYW5rYW4gcHJpbnNpcCBfbmVlZC1iYXNlZCB0YXJnZXRpbmdfLCBzZWhpbmdnYSBwcmlvcml0YXMgd2lsYXlhaCBkaWZva3Vza2FuIHBhZGEgZGFlcmFoIGRlbmdhbiBrZWJ1dHVoYW4gcGFsaW5nIG1lbmRlc2FrIHRhbnBhIG1lbmdhYmFpa2FuIGRpbWVuc2kga2VyZW50YW5hbiBzb3NpYWwtZWtvbm9taSBsYWlubnlhLiBEZW5nYW4gcGVuZGVrYXRhbiBpbmksIHJpc2lrbyB3aWxheWFoIGRlbmdhbiB0aW5na2F0IGtlbWlza2luYW4gdGluZ2dpIHRlcmxld2F0IGRhcmkgcHJpb3JpdGFzIGRhcGF0IGRpbWluaW1hbGthbiwgc2VrYWxpZ3VzIG1lbWFzdGlrYW4gYmFod2EgaW5kaWthdG9yIGxhaW4gdGV0YXAgYmVycGVyYW4gc2ViYWdhaSBmYWt0b3IgcGVuZ3VhdCBkYWxhbSBtZW5naGFzaWxrYW4gcGVuZW50dWFuIHNhc2FyYW4geWFuZyBsZWJpaCBrb21wcmVoZW5zaWYgZGFuIHRlcGF0IHNhc2FyYW4uDQoNCg0KYGBge3J9DQpkZl9ub3JtIDwtIGRmX25vcm0gJT4lDQogIG11dGF0ZSgNCiAgICBza29yX3ByaW9yaXRhcyA9DQogICAgICAoMC4yNSkgKiBza29yX2p1bWxhaF9taXNraW4gKw0KICAgICAgKDAuMjUpICogc2tvcl9wZXJzZW5fbWlza2luICsNCiAgICAgICgwLjE1KSAqIHNrb3JfZ2luaSArDQogICAgICAoMC4xMCkgKiBza29yX2tlZGFsYW1hbiArDQogICAgICAoMC4yNSkgKiBza29yX2Rlc2lsMTRic3BzDQogICkNCmBgYA0KDQpCZXJkYXNhcmthbiBza29yLCBzZWx1cnVoIGthYnVwYXRlbi9rb3RhIGRpdXJ1dGthbiB1bnR1ayBtZW5naGFzaWxrYW4gcGVyaW5na2F0IHByaW9yaXRhcyBuYXNpb25hbC4gV2lsYXlhaCBkZW5nYW4gc2tvciB0ZXJ0aW5nZ2kgZGlrYXRlZ29yaWthbiBzZWJhZ2FpIHByaW9yaXRhcyB1dGFtYSBrYXJlbmEgbWVtaWxpa2kga29tYmluYXNpIHRpbmdrYXQga2VtaXNraW5hbiB5YW5nIHRpbmdnaSwganVtbGFoIHNhc2FyYW4geWFuZyBiZXNhciwgc2VydGEga29uZGlzaSBodW5pYW4geWFuZyByZWxhdGlmIGxlYmloIHJlbnRhbi4NCg0KYGBge3IsIGVjaG89RkFMU0V9DQpkZl9yYW5rX25hc2lvbmFsIDwtIGRmX25vcm0gJT4lDQogIGFycmFuZ2UoZGVzYyhza29yX3ByaW9yaXRhcykpICU+JQ0KICBtdXRhdGUocmFua2luZ19uYXNpb25hbCA9IHJvd19udW1iZXIoKSkNCg0KZGZfcmluZ2thcyA8LSBkZl9yYW5rX25hc2lvbmFsICU+JQ0KICBzZWxlY3QocHJvdmluc2ksIGthYmtvdGEsIHNrb3JfcHJpb3JpdGFzLCByYW5raW5nX25hc2lvbmFsKQ0KDQpoZWFkKGRmX3JpbmdrYXMpDQpgYGANCg0KYGBge3IsIGVjaG89RkFMU0V9DQp3cml0ZS54bHN4KGRmX3JhbmtfbmFzaW9uYWwsIA0KICAgICAgICAgICAiUHJpb3JpdGFzX0JTUFNfUmFua2luZ19OYXNpb25hbF9qdW1sYWggcGVyc2VuIG1pc2tpbl9ib2JvdCBiZWRhIDEwMDIyNiBGSU5BTC54bHN4IiwNCiAgICAgICAgICAgb3ZlcndyaXRlID0gVFJVRSkNCg0KYGBgDQoNCiMgUGVudXR1cA0KDQpTZWNhcmEga2VzZWx1cnVoYW4sIGhhc2lsIGthamlhbiBpbmkgbWVudW5qdWtrYW4gYmFod2EgcGVuZGVrYXRhbiBiZXJiYXNpcyBkYXRhIGRhbGFtIHBlbmVudHVhbiBwcmlvcml0YXMgd2lsYXlhaCBQcm9ncmFtIEJTUFMgbWFtcHUgbWVtYmVyaWthbiBkYXNhciB5YW5nIG9iamVrdGlmIGRhbiB0ZXJ1a3VyIGRhbGFtIG1lbmR1a3VuZyBwZW5nYW1iaWxhbiBrZWJpamFrYW4uIE1lbGFsdWkgcGVtYW5mYWF0YW4gaW5kaWthdG9yIGtlbWlza2luYW4sIGtldGltcGFuZ2FuLCBzZXJ0YSBrb25kaXNpIGh1bmlhbiBtYXN5YXJha2F0LCBwZW1lcmludGFoIGRhcGF0IGxlYmloIHRlcGF0IGRhbGFtIG1lbmdhcmFoa2FuIGludGVydmVuc2kga2VwYWRhIHdpbGF5YWggeWFuZyBtZW1pbGlraSBrZWJ1dHVoYW4gcGFsaW5nIG1lbmRlc2FrLiBEZW5nYW4gZGVtaWtpYW4sIHByb2dyYW0gdGlkYWsgaGFueWEgbWVuamFuZ2thdSBsZWJpaCBiYW55YWsgc2FzYXJhbiwgdGV0YXBpIGp1Z2EgbWVuaW5na2F0a2FuIGVmZWt0aXZpdGFzIGRhbGFtIG1lbmRvcm9uZyBwZXJiYWlrYW4ga3VhbGl0YXMgaGlkdXAgbWFzeWFyYWthdCBiZXJwZW5naGFzaWxhbiByZW5kYWguDQoNCktlIGRlcGFuLCBkaXBlcmx1a2FuIHBlbmd1YXRhbiBzaW5lcmdpIGFudGFyYSBwZW1lcmludGFoIHB1c2F0LCBwZW1lcmludGFoIGRhZXJhaCwgZGFuIEJhZGFuIFB1c2F0IFN0YXRpc3RpayBkYWxhbSBtZW1hc3Rpa2FuIGFrdXJhc2kgZGF0YSBzZXJ0YSBrb25zaXN0ZW5zaSBpbXBsZW1lbnRhc2kgZGkgbGFwYW5nYW4uIFNlbGFpbiBpdHUsIGZsZWtzaWJpbGl0YXMgZGFsYW0gbWVtcGVydGltYmFuZ2thbiBhc3BlayBwZW1lcmF0YWFuIHdpbGF5YWgsIGtlc2lhcGFuIGRhZXJhaCwgZGFuIGtvbmRpc2kgZ2VvZ3JhZmlzIHRldGFwIG1lbmphZGkgZmFrdG9yIHBlbnRpbmcgZGFsYW0gcGVuZXRhcGFuIGFraGlyIGxva2FzaSBpbnRlcnZlbnNpLiBEZW5nYW4ga29tYmluYXNpIGFudGFyYSBwZW5kZWthdGFuIGt1YW50aXRhdGlmIGRhbiBwZXJ0aW1iYW5nYW4ga2ViaWpha2FuIHlhbmcga29tcHJlaGVuc2lmLCBQcm9ncmFtIEJTUFMgZGloYXJhcGthbiBkYXBhdCBiZXJwZXJhbiBsZWJpaCBvcHRpbWFsIGRhbGFtIG1lbmR1a3VuZyBwZXJjZXBhdGFuIHBlbmdlbnRhc2FuIGtlbWlza2luYW4gZGFuIHBlbnllZGlhYW4gaHVuaWFuIHlhbmcgbGF5YWsgYmFnaSBtYXN5YXJha2F0Lg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IERpcmVrdG9yYXQgU3RhdGlzdGlrIEtlc2VqYWh0ZXJhYW4gUmFreWF0LCBCUFMsIHNhcHRhaGFzQGJwcy5nby5pZA0KDQoNCg0KDQo=