Kampusgw.com

Menu

Liku-Liku Mojang Bogor Menimba Ilmu di Banyak Negara

Hani Sulastri Hamid

Hani Sulastri Hamid

Jamak kita temui teman-teman di sekeliling kita bercita-cita kuliah di luar negeri, jalan-jalan ke banyak negara, ataupun menjadi duta bangsa. Seringkali cita-cita tersebut pupus sebelum tercapai karena satu dan lain hal. Di antaranya karena penguasaan bahasa Inggris yang minim, kurangnya motivasi sampai karakter yang kurang “open minded.” Kali ini Kampusgw.com mendapatkan kesempatan eksklusif dengan Hani Sulastri Hamid, mojang yang asal Bogor Jawa Barat yang berpengalaman belajar di banyak negara. Sepanjang perjalanan Hani, ada begitu banyak hikmah yang didapatkan dari “keliling dunia” tersebut. Apa yang dapat kita pelajari dari cerita Hani? 

Bagaimana pengalaman Hani mengarungi pendidikan dasar dan menengah?

Sebenarnya saya tinggal bukan di kota, akan tetapi sekitar satu jam dari pusat kota Bogor. Alahmdulillah, orang tua saya memasukkan saya di salah satu Sekolah Dasar di pusat kota sehingga saya mendapatkan fasilitas yang baik daripada SD di desa saya. Pada saat kelas 2 dan 3 SD, saya belajar di dua tempat yaitu di SD Pengdailan 2 Bogor (pusat kota) dan di Madrasah Aliyah di dekat rumah saya yang masing-masing di pagi dan sore hari. Namun karena pertimbangan jadwal SD, khususnya di kelas 4 hingga 6, saya memutuskan hanya meneruskan di SD.

Alhamdulillah NEM saya lumayan tinggi untuk masuk di SMP Negeri 1 Bogor. Di situ, banyak sekali teman-teman yang pintar dan saya banyak belajar dari mereka. Saya aktif di kegiatan ekstrakurikuler Basket dan pernah menjabat sebagai kapten di jenjang ini. Kemudian saat kelas 3 SMP saya fokus untuk Ujian Nasional, dan alhmdulillah mendapat NEM yang tinggi dan sehingga mengantarkan masuk di SMA Negeri 1 Bogor. Mungkin, saya sebagai siswa pertama dari kampung saya yang bisa sekolah di SMP Negeri 1 dan SMA Negeri 1 Bogor. Rata-rata teman saya saat masih kecil, hanya belajar sampai di jenjang SMP atau SMA dan telah menikah saat ini.

Saya beruntung punya orang tua yang kondisi keuangannya lebih baik dari tetangga saya di kampung sehingga dapat mensekolahkan saya di kota, sehingga memotivasi saya untuk masuk ke sekolah terbaik di kota saya. Saya juga memiliki teman-teman yang pintar yang mau mentransfer ilmu-nya kepada saya. Di rumah saya selalu belajar sendiri. Saat SD, saya masih ingat saya suka memberikan pelajaran yang saya dapatkan kepada teman-teman saya di rumah seperti matematika atau bahasa inggris. Saat itu, saya senang mentransfer ilmu yang saya dapatkan di sekolah kepada teman-teman saya di kampung.

Setelah lulus SMA, apakah Hani sempat mengalami kegalauan dalam memilih jurusan dan kampus? Lalu, apa motivasi Hani hingga akhirnya memutuskan untuk mendalami ilmu hubungan internasional di Universitas Indonesia?

Saat lulus SMA, saya tidak tahu mau kuliah di mana. Saya lulus dari kelas IPS sehingga saya hanya dapat belajar di Fakultas Ilmu Sosial dan Ilmu Politik (FISIP). Yang saya tahu, saya ingin kuliah di tempat yang sulit untuk diterima, yang passing grade-nya tinggi. Karena saya selalu percaya bahwa ketika saya memimpikan sesuatu yang sangat tinggi, apabila saya tidak dapat meraihnya, saya tetap mendapatkan hal yang baik.

Saya mendaftar di jurusan Akuntansi Universitas Indonesia (UI) jalur raport sekolah karena nilai Ekonomi saya baik di kelas, termasuk “lima besar”. Tetapi saya tidak diterima. Pada periode saya, UI hanya membuka dua jalur yaitu SPMB dan raport (saya lupa namanya), belum ada jalur Ujian Mandiri. Jadi apabila saya gagal di SPMB, saya harus mengulang satu tahun kemudian.

Saya tidak mengikuti ujian mandiri di Universitas Gadjah Mada dan Universitas Padjajaran karena saya ingin fokus masuk UI. Saya memilih Hubungan Internasional (HI) karena saya bercita-cita menjadi Duta Besar dan “keliling dunia”. Tentu saja saat itu karena prestige. HI UI termasuk 3 besar dalam passing grade di SPMB. Saya memilih HI UI sebagai pilihan pertama, dan Hukum sebagai pilihan kedua.

Orang tua saya sangat khawatir seandainya saya gagal masuk UI karena saat itu mereka yakin bahwa saya tidak akan mampu lulus ujian dengan hasil yang tinggi. Sebagai informasi, saat duduk di bangku SMA saya bukan siswa yang cemerlang dibandingkan siswa-siswa IP. Namun dengan keyakinan yang penuh dan usaha selama 3 bulan belajar di tiga tempat dari jam 7 pagi hingga jam 11 malam, Saya lulus SPMB dan diterima di HI UI. Antara percaya dan tidak percaya. Saat membaca pengumuman, mama saya menangis karena tidak percaya saya diterima di HI UI.

Pengalaman apa yang paling berkesan dan sulit dilupakan selama menjadi mahasiswa ilmu hubungan internasional Universitas Indonesia?

Saat pertama kali masuk HI, saya sangat takut karena bahasa Inggris saya jelek. Apalagi jika dibandingkan teman-teman saya yang kemampuannya lebih baik karena mereka pernah belajar di luar negeri atau mengikuti organisasi debat bahasa Inggris di sekolahnya. Hampir semua mata kuliah di HI UI berbahasa Inggris dan pada awal semester saya harus menerjemahkan artikel atau buku perkata, dan tetap saja saya tidak menegerti.

Namun, banyak cara untuk memperbaiki kekurangan. Saya selalu betanya ke teman saya yang mengerti, pun ke kakak kelas. Setiap hari saya selalu berbincang-bincang dengan teman dan senior saya. Kami berdiskusi tentang apa yang kami pelajari di kelas. Saya bukan termasuk mahasiswa tipe “kupu-kupu” (kuliah pulang – kuliah pulang), oleh karena itu walau terkadang saya tidak mengerti materi yang saya harus dibaca, saya mendapatkan informasi dari teman.

Selain itu, banyak orang yang pintar tetapi nilainya jelek. Bukan karena bodoh, tetapi karena kurang persiapan saat ujian atau selalu mengerjakan tugas saat deadline. Saya menghindari hal itu karena saya sadar bahwa saya bukan mahasiswa yang cemerlang. Saya termasuk mahasiswa yang rajin. Sebelum ujian, saya selalu bertanya kepada senior atau dosen tentang materi ujian tahun sebelumnya dan saya belajar dari pengalaman-pengalaman tahun sebelumnya. Saya juga selalu mengerjakan tugas jauh dari deadline sehingga saya tidak terburu-buru menulisnya.

Walaupun kita punya otak cemerlang, tapi jika menulis terburu-buru, kita tidak punya waktu untuk membaca kembali dan memperbaikinya. Saya yakin, IPK saya tertinggi ke-2 di HI UI pada angkatan kelulusan saya dan peringkat ke 5 se-FISIP UI bukan karena kepintaran saya tetapi karena ketekunan. Saya selalu membuat strategi agar nilai saya meningkat dari tahun ke tahun.

Berdasarkan pengalaman Hani dan teman-teman, apa yang menjadi kekuatan atau kelebihan lulusan ilmu hubungan internasional dibandingkan dengan jurusan lainnya?

Saya tidak tahu kelebihan lulusan HI dibandingkan jurusan lain karena saya tidak bisa membuatnya “general”. Mungkin lulusan HI lebih memiliki informasi mengenai kejadian-kejadian di luar negeri. Karena mempelajari sejarah dan apa yang terjadi di negara lain, mungkin anak HI lebih open minded.

Apakah saran dan masukan Hani untuk teman-teman SMA/MA/sederajat yang nantinya ingin menceburi ilmu hubungan internasional?

Masuk HI itu tidak mudah, tetapi kalau punya kemauan dan usaha pasti bisa. Saya bisa masuk HI karena saya belajar dari jam 7 pagi hingga jam 11 malam. Selain itu, belajar HI susah tapi saat lulus belum tentu mudah mendapatkan pekerjaan karena HI itu bukan practical skill seperti Hukum, Akuntansi atau Kedokteran. Namun, dengan belajar HI, kalian bisa mendapatkan motivasi untuk meraih cita-cita yang lebih tinggi karena pengetahuan kalian tidak hanya bersifat lokal tapi juga internasional.

Hani telah mendapatkan beragam beasiswa bergelar dan non-gelar dari dalam maupun luar negeri. Bisa diceritakan lebih rinci?

Saya sebenarnya bukan siswa yang cemerlang saat di sekolah. Sehingga saya tidak mendapatkan banyak piala yang dapat diceritakan pada saat di sekolah kecuali piala basket pada saat saya belajar SMP dan SMA. Namun, saya mulai mendaftar beasiswa sejak saya semester 6 di kampus. IPK saya lumayan tinggi sehingga saya dapat mendaftar di berbagai beasiswa. Sebenanya di FISIP UI terdapat aturan bahwa saya tidak boleh mendapatkan beasiswa lebih dari satu, namun pada saat semester 6 saya tidak punya beasiswa satu pun dan kemudian saya mendaftar 4 beasiswa dan semuanya berhasil (diterima) walaupun bukan beasiswa yang cukup besar.

Saat lulus saya tidak langsung melamar pekerjaan. Saya bertanya ke dosen saya, lebih baik saya mencari pekerjaan atau persiapan S2. Dosen saya mengatakan bahwa lebih baik saya mengambil liburan selama satu tahun dan juga mempersiapkan persyaratan beasiswa di luar negeri karena beliau yakin bahwa saya bisa mendapatkan uang yang banyak di usia 40 tahun. Beliau juga menyarankan kepada saya agar tidak terburu-buru atau langsung bekerja, namun lebih baik saya beristirahat dan memikirkan apa yang sebenarnya saya inginkan.

Karena saya memiliki uang dari beasiswa yang saya dapatkan, saya memutuskan berkeliling ke beberapa negara (menjadi backpacker) dan juga bekerja part time di berbagai proyek. Saya juga mempersiapakan persyaratan S2 seperti IELTS, motivation letter, dan recommendation letter. Saya mendaftar ke lebih dari 10 universitas dan berbagai beasiswa dari pemerintah negara lain seperti Belanda, Jerman, China.

Saat menungguu hasil, saya backpacking ke Vietnam, Laos, Kamboja, Thailand, dan Malaysia. Saya menulis pengalaman travelling saya di berbagi majalah, dan saya mendapatkan bayaran yang lumayan, satu artikel saya dibayar minimal 700 ribu bahkan hingga 1,5 juta. Sehingga, uang yang saya keluarkan saat backpacking, terbayar kembali.

Kemudian, saya mendapatkan beberapa admission letter dan beberapa beasiswa seperti beasiswa dari universitas di Swedia, Belanda dan China. Saya memilih beasiswa dari Central European University (CEU) karena mereka memberikan dana yang lebih banyak dari kampus lainnya. Setelah lulus saya mendapatkan beasiswa dari pemerintah Korea, namun tidak dilanjutkan karena saya mendapatkan beasiswa dari LPDP untuk sekolah di the Graduate Institute Geneva.

Apa saja kendala dan tantangan paling berat selama Hani belajar di luar negeri?

Kendalanya mungkin bahasa Inggris yah. Soalnya saya belajar ilmu politik yang memang harus “jago” menulis makalah. Berdasarkan pengalaman saya di Central European University, menulis makalah diharuskan singkat dan jelas. Ini berbeda dengan di Indonesia yang biasanya mementingkan panjangnya sebuah tulisan. Lagipula, saya dimudahkan oleh adanya bimbingan penulisan makalah dari profesor sebelum diserahkan di CEU (proof reading). Jadi, saya tak perlu takut karena semuanya proses pembelajaran. Hal ini memudahkan mahasiswa yang bukan penutur asing.

Selain itu, saat awal-awal susah fokus karena sebelum kuliah dimulai sudah ada pikiran untuk jalan-jalan ke sana dan kemari. Namun, kenyataannya sangat sibuk di tengah masa perkuliahan. Program Master di sini hanya sembilan bulan dengan libur musim dingin selama tiga minggu. Selebihnya, tidak ada masalah sama sekali. Karena di Budapest jadang ada mahasiswa asal Indonesia, saya didorong untuk pandai berbaur dengan mahasiswa dari negara lain, kebanyakan yang datang dari Eropa Timur atau Asia Tengah. Adapun selama kuliah di Korea, saya memiliki teman dekat asal Indonesia. Jadi, saya dan dia bisa ke mana-mana bersamaan. Sedangkan di Jenewa, pada umumnya mahasiswa bersifat individual. Kalau sudah terbiasa hidup sendiri, hal ini bukan menjadi masalah.

Beasiswa LPDP ialah beasiswa terkini yang Hani dapatkan. Banyak sekali teman-teman Kampusgw.com yang penasaran dengan beasiswa yang satu ini. Apa sih plus dan minus Beasiswa LPDP dibandingkan dengan program beasiswa lainnya?

Saya belum tahu apa plus-minusnya dibandingkan dengan beasiswa dari Korea dan CEU secara lebih mendalam. Kalau plusnya, jumlah uang yang didapatkan lebih banyak dibandingkan beasiswa lainnya. Kedua, pencarian uangnya sangat cepat. Ketiga, dapat biaya untuk research dan conference. Keempat, lebih flexible dibandingkan beasiswa lain dari pemerintah. LPDP juga sangat terbuka terhadap saran dari awardee-nya.

Apa saja sih tips dan trik khusus untuk memenangkan beragam beasiswa tersebut?

Saya tidak tahu tips dan trik khusus, karena setiap orang pasti memiliki pengalaman yang berbeda-beda. Kalau dari pengalaman saya, pastikan nilai IPK tinggi untuk S1, aktif di kampus, dan pernah ikut acara berskala internasional. Lalu persiapkan seluruh persyaratan jauh-jauh hari seperti ijazah, transkrip nilai, surat rekomendasi, IELTS, dan motivation letter. Jangan pernah “milih-milih” beasiswa sebelum daftar, karena belum tentu diterima. Jadi daftar aja semua beasiswa kalau mampu (tapi sesuai jurusan yang pasti), lalu mulai pilih yang sudah diterima. Karena banyak orang yang tidak dapat beasiswa bukan karena tidak ada kesempatan tapi karena tidak aktif menangkap kesempatan tersebut. Jadi saran saya, pilih beasiswanya nanti saja setelah diterima, bukan sebelum daftar. Kalau dapat mendaftar, kenapa tidak? Semakin banyak mendaftar, semakin besar pula kesempatan mendapatkan beasiswa.

Apa saran dan masukan Hani bagi teman-teman yang ingin kuliah di luar negeri?

Saran saya seperti yang pada pertanyaan sebelumnya, perbanyak kesempatan!

Hani telah memutuskan untuk mengambil program Master(S2) lebih dari satu. Apa sih motivasinya? Apakah ada saran Hani untuk teman-teman yang ingin menempuh lebih dari satu gelar Master?

Di Eropa, memiliki gelar Master lebih dari satu bukan sesuatu yang aneh. Kalau mendapatkan beasiswa atau sekolahnya gratis mengapa tidak. Tapi kalau menggunakan biaya sendiri, ya dipikir ulang. Motivasi saya karena saya ingin belajar hal yang lain, yakni development studies. Belajar tidak pernah ada batasannya. Selain itu juga memperbanyak networking. Master pertama saya di political science hanya 9 bulan, jadi saya merasa pengalaman riset masih kurang. Jadi, Master untuk kedua kalinya why not? Dan saat itu juga saya belum tahu fokus untuk PhD di bidang apa, sehingga saya tunda niat untuk mengambil PhD.

Apa saran dan masukan Hani untuk pemerintah demi kemajuan pendidikan tinggi di Indonesia?

Perbanyak Riset dan aktif di jejaring perguruan tinggi internasional. Lebih open terhadap mahasiswa internasional sehingga terjadi transfer knowledge. Dana labih banyak digunakan untuk penelitian bukan untuk membangun gedung ini itu. Di Eropa, kampusnya kecil-kecil tapi produktif dalam menghasilkan penelitian.

Kalau di jurusan saya ilmu sosial, banyak banget researcher yang referensi tulisannya dari India karena saat ini penelitian mengenai negara berkembang tengah populer. Sehingga, lebih baik perguruan tinggi di indonesia fokus untuk pengembangan research dan juga membangun sistem agar research tersebut memberikan sumbangsih bukan saja untuk Indonesia tetapi juga ilmu pengetahun di dunia.

Hani merupakan salah satu raveler sejati. Apa lessons-learned yang Hani dapatkan setelah menjelajahi berbagai negara?

Saya mempunya motto bahwa belajar itu tidak hanya di institusi formal tetapi juga di institusi informal. Institusi informal yang saya maksud ini ialah travelling atau hidup di negara lain. Karena travelling juga memberikan pelajaran kepada pelajar untuk lebih open-minded, manajemen waktu, manajemen finansial, komunikasi, dan diplomasi secara informal. Pelajar khususnya di ilmu sosial harus travelling, karena dengan ini kita dapat melihat realitas yang sebenarnya, tidak hanya dari buku atau koran. Kita lebih terbuka akan informasi dan dapat menjauhkan kita dari bias conclusion. Kita dapat mengobservasi suatu lingkungan dengan mata kita sendiri, tidak dari third parties. Selain itu, travelling juga bagus untuk mencari inspirasi untuk research.

Dari pengalaman Hani menjelajahi beragam negara, apa sih yang membuat Hani bersyukur lahir di dan menjadi orang Indonesia?

Well, saya bertemu dengan orang dari Asia Tengah dan Afrika yang kotanya jarang ada hujan dan susah air. Kurang bersyukur apa bagi saya yang lahir di kota Bogor yang airnya berlimpah. Selain itu, di negara Eropa mereka ada 4 musim, kalau mau menanam pohon cuma bisa dalam bulan-bulan tertentu. Nah, kita di Indonesia bisa menanam pohon kapan saja kita mau. Selain itu, saya punya teman yang belum pernah lihat laut seumur hidupnya, kurang bersyukur apa lagi? Indonesia punya laut, gunung, danau, sungai, dll. Selain itu, kita punya budaya yang begitu kaya, sampai saya bingung mau cerita yang mana ke teman saya heheheh. 

Categories:   Sosok

Comments

error: Content is protected !!
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.5.5";const APP_ENV="production",TRACKING_DOMAIN="https://click-use1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 75vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_TARGET="main",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com","https://syndicatedsearch.goog","https://googleadservices.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC=`https://www.google.com/adsense/domains/caf.js?${GOOGLE_MV3_URL_PARAMS}`,TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM="caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return new URLSearchParams(window.location.search).has(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class App{main(){var e,t;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i,n));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s,n));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s,n));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i,n):yield this.transitionToParking(n)}}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`➡ Redirecting [${e.url}]`)}))}transitionToFailed(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return this.adblock.state!==Blocking.BLOCKED&&(!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason))))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));