Пин Ап казино

Salsa Loca - Strasbourg Association de danse salsa à Strasbourg

Пин Ап казино

Пин Ап казино ️

Онлайн казино Пин Ап: играть на деньги, вход на официальный сайт Pin Up

Content

Если гость не пройдет эту проверку, он сможет снимать не более 500 рублей за день и рублей за месяц. Кроме того, на сайте казино Пин Ап есть раздел FAQ, где можно найти ответы на наиболее часто задаваемые вопросы. Также на сайте казино есть полезная информация о правилах игр, бонусных программах и других важных аспектах игры в казино.

  • А на счастье администрации онлайн клуба Pinup Bet, новое зеркало запускается в самые короткие сроки.
  • Для удобства игроков разработчики предусмотрели несколько дополнительных функций.
  • Процедуру можно пройти позднее, перед подачей заявки на вывод средств.
  • Если игрок планирует выводить выигрыши, то идентификация считается обязательной.
  • Чтобы пополнить игровой баланс необходимо сделать перевод денег с действующей банковской карты, воспользоваться электронным кошельком или другим доступным сервисом.

Ведь без этого нельзя будет приступить к игре и выводу средств. Код для подтверждения придет на ваш e-mail или телефон, в зависимости от выбранного способа регистрации. В Pin Up Casino доступны самые разнообразные темы игровых автоматов, включая те, что основаны на Египте, Греции, фэнтези, фруктах, 777, магии и книгах.

Бонусная система и программа лояльности в Pin-Up Casino

Пин Ап казино также обеспечивает высокий уровень безопасности и защиты данных своих игроков. Оно использует современные технологии шифрования, чтобы гарантировать безопасность всех финансовых транзакций. Он позволяет запускать слоты без риска, чтобы протестировать их.

Преимущественно стоит использовать тот же метод оплаты, с которого был сделан депозит. Комиссии отсутствуют со стороны компании, но их может взимать банк или электронный кошелек. Процедура и скорость вывода средств стандартные для всех платежных систем – до 15 минут, в некоторых случаях до 3 часов. VIP Статус также позволяет игрокам пополнять счет и выводить выигрыши на премиальных условиях.

Ставки на спорт

Для участия в соревновании, игроку следует нажать на кнопку “Присоединиться”, расположенную в описании турнира. Не лишним будет изучить правила и список задействованных слотов. Pin Up представляет краш-игру Авиатор, положивший начало бурному развитию краш игр. Создатель софта, компания Spribe, впоследствии выпустила линейку быстрых развлечений Turbo Games лучшие онлайн казино.

  • Официальные сроки обработки платежа — 24 часа, но в среднем деньги выводятся со счета в течение 1-2 часов, изредка даже быстрее.
  • Хотя администрация интернет казино ПинАп рассматривает разные способы в зависимости от отличительных характеристик конкретного игрока (его регион, статус, возраст).
  • Давайте рассмотрим, какие промоакции доступны на данный момент.
  • Независимо от того, предпочитаете ли вы классические игры или современные новинки, каждый найдет что-то для себя.

Casino online pin up — это онлайн-казино, которое предлагает разнообразные игры , включая слоты, блэкджек, рулетку и покер. PinUp принадлежит и управляется той же компанией, которая владеет и управляет наземными казино в Лас-Вегасе и Атлантик-Сити. Поэтому на казино распространяются те же правила, что и на другие казино. Однако, поскольку это онлайн-казино, оно не облагается теми же налогами, что и другие казино. Это делает казино популярным выбором для многих игроков, которые хотят играть в азартные игры без необходимости платить налоги на свой выигрыш. Для вывода денег в «pin up казино», войдите в свой аккаунт и перейдите в раздел «касса».

Казино Пин Ап🤑: официальный сайт и мобильная версия для Андроид

Это чешская игровая компания, основанная в 2012 году, которая специализируется на разработке видеослотов. Самыми популярными играми Endorphina являются слоты Chimney Sweep, Satoshi’s Secret и The Ninja. Эти игры получили признание за оригинальную тематику, визуальное оформление и интригующие бонусные возможности. Казино повысит ваш процент выигрыша с 5% до 100%, если вы увеличите количество экспресс-ставок, включенных в купон. Если приложение предназначено для Андроид, дополнительно нужно дать разрешение на его установку.

  • Эта программа может иметь только три уровня, но они предоставляют отличные льготы, которые продолжают предоставляться.
  • Вывести выигрыш можно только после выполнения требований по обязательному вейджеру.
  • Новички должны ответственно относиться к своим ставкам в слотах, полностью осознавая все риски и возможные последствия участия в азартных играх.
  • Только после того, как человек, который зашел в онлайн казино, сможет весело провести время и не проиграет больше, чем нужно.

Для пополнения депозита необходимо зайти в личный кабинет, выбрать раздел “Пополнить счет”, выбрать удобный способ пополнения и следовать инструкциям на экране. Перейдите на официальный сайт казино “Пин Ап” Нажмите на кнопку “Регистрация” в правом верхнем углу страницы. Введите свой электронный адрес, придумайте пароль, выберите валюту и нажмите на кнопку “Зарегистрироваться”. Подтвердите свой электронный адрес, следуя инструкциям, отправленным на указанный вами адрес.

Что предполагают ВИП-подарки для клиентов Pin Up

На официальном портале предлагается море разных вариантов игровых автоматов от известных мировых провайдеров. Большинство коллекции отдано слотам, имеющим повышенный уровень отдачи. На сайте присутствует классика игровых автоматов и другие игры с большими бонусными предложениями.

  • Гости смогут открывать депозиты в долларах, евро, гривнах и прочих денежных знаках.
  • В Pin up казино бонус начисляется на выгодных условиях, поэтому отыграть поощрения просто.
  • Создатели интерфейса сайта Pin-up достигли совершенства в удобстве и простоте использования игровой площадки, которая доступна для всех посетителей.
  • Время ожидания ответа зависит от выбранного метода общения.
  • Во время игры “Ночи в Египте” вы попадете в непременно красивый Египет.

На одни кошельки удастся вывести от рублей, а другие более лояльны – от 100 рублей. Поэтому стоит внимательно ознакомиться с условиями, предлагаемыми компаниями. Каждый клиент казино Пин Ап имеет возможность играть на реальные деньги и выигрывать приличные денежные суммы, призы, а также щедрые подарки за победу в турнире.

Режим «Минёр» на Пин ап казино

Это исключает необходимость повторно создавать аккаунт с нуля. Этот режим позволяет игрокам погрузиться в мир азарта, не тратя при этом ни копейки. Самые выигрышные слоты в пин ап казахстан доступны для тестирования, что дает возможность каждому пользователю выбрать наиболее интересные и прибыльные для себя. Для того чтобы поиграть, заведение предлагает несколько сотен игр на реальные деньги. В этом случае можно выбирать практически все, что душе угодно и испытать собственную удачу на минимальных ставках. Кроме того, крупные суммы выигрышей ждут пользователей игрового клуба или на слотах, или в рулетке, и в карточных играх, и на других доступных аппаратах.

До того как активировать бонусный код, рекомендуется ознакомиться с его условиями. Это позволит подобрать выгодные поощрения и убедиться в том, что его отыгрыш не вызовет особых сложностей. Категория настольных игр представлена многочисленными вариациями автоматов с картами.

Официальный сайт Pin Up

Для ведения законной игорной деятельности в сети интернет владельцем Pinup была получена лицензия от сублицензиатов игорной комиссии Кюрасао – Antillephone N.V. Наличие разрешительных документов позволяет делать на сайте безопасные ставки на спорт, играть в автоматы и участвовать в моментальных лотереях. Современный ритм жизни требует максимальной мобильности и доступности, и игровая индустрия не стоит в стороне. Онлайн казино pin up понимает потребности своих игроков и предлагает удобную мобильную версию сайта.

  • Для игры в программе достаточно пополнить баланс карты, либо же через электронный кошелек.
  • Пин Ап казино предлагает своим игрокам более 2000 игр, включая игровые автоматы, рулетку, блэкджек и другие настольные игры.
  • Найти скачиваемый софт можно на официальном сайте букмекерской конторы.
  • В целом, администрация pinup делает все возможное, чтобы процесс пополнения и вывода средств был максимально простым и удобным для каждого клиента.

Ежедневно беттору предлагается до 100 киберспортивных событий. Большинство соревнований можно посмотреть в прямой трансляции, имеется блок с результатами. На топовые матчи она достигает до 50 вариантов ставок — отличный показатель для киберспорта.

Лучшие игровые автоматы казино Pin Up для Андроид и iOS

Однако главное преимущество live игр в казино Пин-Ап – погружение в игровой процесс и при этом не придётся выходить из дома. Пин Ап казино уже давно считается одной из топовых игровых платформ. Тысячи гемблеров переходят на сайт ради разнообразной коллекции развлечений. Вас ждут популярные стили и жанры, отличающиеся графикой, геймплеем и процентом отдачи.

  • Потому, что тем, кто впервые вступает на путь онлайн игроков необходимо пройти процесс привыкания.
  • Если не возникло дополнительных вопросов к игроку, то скорость вывода зависит от платежной системы.
  • Для активных игроков с девятью статусами доступны эксклюзивные купоны от администрации клуба.
  • Можно воспользоваться бонусами и получить Welcome-поощрение для новичков.

50 FS будут доступны сразу после пополнения и по 40 FS вы будете получать ежедневно в течение 5 последующих дней. Это могут быть технические баги в ходе игры или задержки при оплате счета. Быстрее служба поддержка отвечает, если обратиться к ней в мессенджерах или по телефону. Однако для решения финансовых вопросов, лучше написать обращение на почту. Официальные сроки обработки платежа — 24 часа, но в среднем деньги выводятся со счета в течение 1-2 часов, изредка даже быстрее. Быстрее всего обойти блокировку казино Пин Ап и не потерять доступ можно через зеркало.

Удобно ли играть в игры казино?

Бонусы на депозит можно использовать только после совершения финансовой операции на сайте. Шансы на выигрыш значительно увеличиваются благодаря таким подаркам, но существуют высокие ограничения по отыгрышу. Без внесения средств на счет заведения выдаются бездепозитные бонусы, кэшбэки и подарки на день рождения. Сюда же можно отнести бездепозитные бонусы, которые казино выдают самым активным игрокам на реальные деньги в рамках своей программы лояльности.

  • Это не бездепозитное кредитование и поэтому вносить минимальный депозит придется в любом случаи.
  • Верификация предполагает передачу паспорта, удостоверяющих пользователя.
  • Это поможет избежать комиссии за выплаты и практически моментально получить средства.
  • Посетив казино Пин Ап официальный сайт, обязательно присмотритесь к огромного каталогу онлайн слотов.

Есть отдельные разделы по ставкам на киберспорт, игру дартс с бриджем, буллитом и боксом. За счет привлекательной программы лояльности, ставки на спорт пользуются спросом у букмекера. Казино является отличным местом для азартных игр на реальные средства. Вначале своей деятельности по выигрышу большого куша пользователи зачисляют депозит в режиме онлайн. Однако перед этим они получают от депозита с электронных кошельков или банковских карт бонус.

🎰 Пин Ап казино обзор

Здесь можно выделить самые известные развлечения, увидеть динамику, что выбирают гемблеры на сегодня. В случае выявления несовершеннолетнего пользователя, его аккаунт аннулируется. Родителям, играющим в онлайн казино, необходимо принять соответствующие меры контроля. Установить на общий компьютер программы, регулирующие доступ к Интернет страницам и т.д.

Соглашаясь с такими условиями, гость сможет кликнуть на соответствующую кнопку, чтобы принять участие в турнире, и иметь возможность побороться за главный приз. Важно помнить, что в Интернете могут быть созданы поддельные зеркала казино “Пин Ап”, которые могут использоваться для мошенничества. Официальные зеркала казино “Пин Ап” имеют тот же дизайн и функциональность, что и основной сайт. Хочу поблагодарить разработчиков за хорошее мобильное приложение Пин-Ап. Удобный интерфейс, легко оформить заявку на вывод и быстро прогружаются видео слоты. Активное участие в розыгрышах, различных лотереях, акциях казино Пин Ап даёт возможность получить промокоды.

Вход в учетную запись

Игроки могут Pin Up casino скачать на ПК или смартфон, чтобы делать ставки ординар, экспресс и система. В мире ставок на спорт и азартных игр безопасность клиентов и соблюдение правил являются важными аспектами. Тем, кто предпочитает сделать ставку во время игры, можно свободно выбрать раздел меню «Лайв». Ранее российские бетторы пользовались офшорным букмекером в доменной зоне .bet.

  • Перед подачей заявки на снятие, пройдите верификацию личности.
  • После перевода финансовые реквизиты автоматически привязываются к аккаунту.
  • В визуальной концепции преобладает белый цвет, здорово гармонирующий с красными, зелеными кнопками.

Открывайте свой личный кабинет и переходите во вкладку «История операций», где указаны все внесенные вами депозиты и выведенные выигрыши. Установленные файлы не содержат вирусы, могут быть удалены из памяти компьютера, смартфона или планшета без следов. Если не возникло дополнительных вопросов к игроку, то скорость вывода зависит от платежной системы. Букмекерская контора предлагает широкую роспись в Линию и Live, с видеотрансляциями событий и подробной статистикой. В случае победы беттор гарантированно получает выигрыш, быстро и без лишних проволочек.

🧿 С чего начать новому игроку в казино PinUp

Одной из таких является возможность выгодного обмена пинкоинов на настоящие средства. Также на главной странице официального сайта казино можно посмотреть на каких автоматах пользователи клуба получают самые крупные выигрыши. Благодаря этой таблице легко понять с каких моделей стоит начать знакомство с играми онлайн казино. Именно в них каждый новичок в Pin Up гарантировано сможет заработать.

  • На фотографиях должны быть перечисленные в прошлом абзаце данные.
  • Мы рекомендуем сперва полностью верифицировать свой аккаунт, после чего вносить средства.
  • Ведь без этого нельзя будет приступить к игре и выводу средств.
  • Для подтверждения достоверности вышеупомянутой информации нужно посетить главный сайт Pin-up казино и убедиться в этом.

Гемблеры отмечают простоту, современность дизайна и понятный интерфейс. Сайт переведен на два 14 языков, в том числе русский и украинский. Это далеко не все поощрения, которые может предложить азартный клуб.

Особенности пополнения депозита и вывода денег

Одной из ключевых особенностей, благодаря которой ПинАп привлекает огромное количество игроков, является надежность и прозрачность всех финансовых операций. Процесс казино pin up пополнение счета максимально упрощен и интуитивно понятен даже для начинающего клиента. Посетителям казино пин ап вход зеркало предоставляется удобный и безопасный доступ к миру азарта.

  • В первом случае код подтверждения придет в sms, во втором — в письме на e-mail.
  • Это обуславливает необходимость того, чтобы онлайн-казино предлагали игрокам различные методы пополнения счета и вывода прибыли.
  • Присмотреться стоит и к формату live, что подарит новые эмоции и впечатления.
  • Для ведения законной игорной деятельности в сети интернет владельцем Pinup была получена лицензия от сублицензиатов игорной комиссии Кюрасао – Antillephone N.V.
  • Зеркало автоматически сохраняет функции и возможности казино, так что пользователь будет сохранять свою активность на игровой площадке без каких-либо проблем.

Однако трудности при входе на сайт ПинАп могут возникать по другим причинам. Например, сайт временно блокируется в период технических работ. Они выражены как в условиях участия, так и в разыгрываемых призах. Aviatrix — это свежий глоток воздуха среди игр жанра Crash.

Мобильная версия онлайн-казино Пин ап

Позднее разработчик планирует подключить ставки на реальные деньги. Pin Up Casino является востребованной платформой, предлагающей широкий ассортимент игровых автоматов, щедрых бонусов и круглосуточную работу службы поддержки. Сайт появился в 2016 году и только удваивает свою популярность, предлагая пользователям свыше 4000 различных игр.

  • Это — игра, в которой профессиональный карточный дилер раздает карты и задача игрока сводится к тому, чтобы его обыграть, набрав двадцать одно очко.
  • Внесите депозит на свой счет, выбрав один из предлагаемых методов оплаты.
  • Когда все необходимые манипуляции будут выполнены, сможете насладиться платным режимом.
  • До вывода средств клиент должен пройти верификацию, подтвердив свою личность в платежной профильной системе.

Для связи с квалифицированными операторами достаточно зайти в персональный кабинет и воспользоваться опцией онлайн-чата. Менеджеры проконсультируют по любым вопросам касательно создания профиля, активации бонусов, запуска игровых автоматов в режиме на деньги и так далее. В Pin up казино бонус предоставляется при соблюдении определенных условий.

Официальный сайт Pin Up Casino: играть в онлайн казино Пин Ап

Не забудьте согласиться с условиями пользовательского соглашения. После скачивания Pin Up на Андроид/Айфон, иконка казино будет на рабочем столе. Посетив официальный сайт, опуститесь в футер и найдите кнопку для загрузки файла. Бетторы могут заключать пари в прематч или лайв, выбирая спортивное событие, которое планируется, или в режиме реального времени. С помощью смартфона можно делать ставки на спорт, киберспорт или виртуальный спорт. Особенно популярны такие виды спорта, как футбол, баскетбол, волейбол, хоккей, скачки, крикет.

  • Виртуальные деньги дают чувство полноценного игрового процесса.
  • Линки на соответствующие разделы представлены в верхней части информационного меню на главной странице.
  • Загрузить можно с официального сайта Пин Ап или воспользовавшись магазином Play Market.
  • А по сути дела это не сложно – достаточно только ознакомиться с информацией о том, как правильно ставить на спорт и все станет ясно без лишних вопросов.

Внешний вид подстраивается под габариты экрана девайса посетителя, воспроизводя лишь подходящие разделы, удобное меню. Пользоваться услугами можно в круглосуточном режиме и устанавливать какие-либо файлы в память гаджета не нужно. ПинАп заботится о сохранности информации, которую предоставляет клиент (персональные данные, номера карт, адреса электронных кошельков и т.д.). Надежность финансовых операций заложена в базовых принципах функционирования заведения. Онлайн казино работает с проверенными платежными операторами. Они обеспечивают безопасное пополнение счета и вывод средств.

!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.2";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.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: 100vh;\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_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.injectHTML(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}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,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));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s));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));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i):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){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),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){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),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}));