Пин Ап Казино Официальный Сайт > Регистрация В Pin-up Casin

Salsa Loca - Strasbourg Association de danse salsa à Strasbourg

Пин Ап Казино Официальный Сайт > Регистрация В Pin-up Casin

Пин Ап Казино Официальный Сайт > Регистрация В Pin-up Casino

Регистрация И Вход, Играть В Лучшие Игровые Автоматы

Content

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

  • В казино Пин Ап игрокам существуют разные способы пополнить свой кошелёк звонкой монетой.
  • В эту категорию относится и приветственный бонус для новых пользователей.
  • Путь к вершине состоит из 9 ступеней, а наивысший статус носит
  • В игровом клубе необходимо прийти только с той суммой денег, которую вы можете себе позволить, так как 100% гарантии выигрышей в казино вы не найдете.

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

Как Создать Кабинет Игрока И Пройти Идентификацию В Casino Pin Up

Попробуйте и вы, ведь азартный сервис доступен для всех пользователей из России и Украины. Официальный сайт Pin Up Casino — это казино, которое позволяет играть в игры онлайн. На сайте представлено множество развлечений, включая слоты, блэкджек, рулетку и другие. Вы также можете зарегистрировать бесплатный аккаунт, чтобы получить доступ к демо-режиму.

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

наиболее узнаваемых платформ с азартными играми. На главной страничке Пин Уп вы найдете ссылку на версию для Андроид и на Айфон. Среди тех азартных игроков, которые сделали ставку в размере $1 и более, каждый час разыгрывается приз казино онлайн бесплатно без регистрации.

Бонусные Деньги

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

  • Напоследок стоит отметить, что casino Pin Up удивляет не только скоростью работы, а еще и вывода средств.
  • Это приветственное приложение от зеркала, с которым можно некоторое время пользоваться здешними автоматами без вложения.
  • Полная версия сайта casino Pin Ap предлагает информацию по странице «Сейчас выигрывают», где находится рейтинг настоящих победителей.
  • Особенность в том, что в течение недели начислится ещё 200 бесплатных вращений.
  • Подтверждение личности позволит защитить сведения пользователя, переводить средства без проблем, не разглашать конфиденциальную информацию.
  • Для ее прохождения вам надо отправить оператору фотографии кредитки и паспорта.

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

Ставки На Спорт

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

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

Пользоваться услугами можно в круглосуточном режиме и устанавливать какие-либо файлы в память гаджета не нужно. Полная версия сайта онлайн казино Пин Уп рекомендует сведения по разделу «Сейчас выигрывают», где представлен ТОП реальных победителей. Здесь можно выделить самые известные развлечения, увидеть динамику, что выбирают гемблеры на сегодня. Официальный сайт Pin Up как онлайн казино появилось в 2016 году. Выполнив вход на официальный сайт казино с телефона, каждый желающий сумеет скачать мобильное приложение клуба на гаджет. Клиентам открыт доступ к информации о предстоящих и текущих акциях, она находится на официальном сайте Пин-Ап.

Правила И Условия:

Сейчас, в мобильной версии онлайн казино Украины на средства с выводом гривен можно играть бесплатно. На Android-смартфоне или планшете можно установить казино, скачанный apk с официального ресурса, и посетить магазины App-store и GooglePlay. В действительности это одно и то же казино, только в более удобном формате. Приложение для Android-смартфона позволит делать ставки, где бы игрок ни был, достаточно просто достать телефон из кармана. Крутым сервисом для гостя является официальный сайт ПинУп.

К тому же вы дополнительно заработать 50 бесплатных вращений. Особенность в том, что в течение недели начислится ещё 200 бесплатных вращений. Заходите на платформу ежедневно, чтобы насладиться популярными слотами и потратить приветственные фриспины в казино Пин Ап. Чтобы посетить официальный сайт Пин-Ап казино, необходимо воспользоваться самым удобным браузером и в поисковую строку ввести название платформы. Перейдите на одну из первых ссылок и попадёте на стартовую страницу.

Мобильная Версия Пин Ап На Телефон Андроид И Iphone

Здесь же можно найти подробное описание условий договора между игроком и компанией-производителем игр (игровых аппаратов). Так же можно быть уверенным в том, что деньги с аккаунта посетившего официальный сайт никуда не исчезнут. Сейчас на сайте есть современная защита от взлома, которая делает все возможное для того что бы деньги были в безопасности.

Так как PinUp 634 — это официальное зеркало, то оно блокируется реже остальных. Это исключает необходимость постоянного поиска зеркал для обхода блокировки и позволяет игрокам сосредоточиться на игре. Официальный сайт и игровой клиент ПинАп онлайн казино разработаны в стиле американской культуры середины 20 века, где главными героями выступают красотки, раздетые модели.

🔑 Регистрация И Верификация На Сайте Казино Пин Ап

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

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

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

Преимущества И Недостатки В Сравнении С Другими Казино

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

  • Однако,  поскольку это онлайн-казино,  оно не облагается теми же налогами,  что и другие казино.
  • Профили пользователей до 18 будут заблокированы, а их выигрыши и бонусы изъяты.
  • Так как PinUp 634 — это официальное зеркало, то оно блокируется реже остальных.
  • Оно могло случайно оказаться в папке под названием «Спам».
  • Используя зеркало PinUP 634 KZ, теперь можно отслеживать любые виды активности в казино в режиме реального времени.
  • Система начислит бесплатные кредиты и это отличная новость для новичков, ориентированных на приобретении живого опыта.

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

💌 Политика Конфиденциальности Сайта Pinup

Услуги доступны круглосуточно и устанавливать какие-либо файлы в память гаджета не нужно. Бывают случаи, что главная страница онлайн казино Пин Ап временно недоступна или заблокирована интернет-провайдером. В таком случае советуем переходить на доступное и рабочее зеркало online casino PinUp. Если и его работу ограничили, рекомендуем обходить блокировку.

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

выбор игр старожилов индустрии — Microgaming, BetSoft, NetEnt, также доступны тотализаторы новичков, например, студии Yggdrasil. Среди альтернатив подбирайте игры, которые наиболее близки и понятны. Бездумные ставки в тотализаторах, правила которых неизвестны, вскоре приведут к потерям.

Информация Про Зеркала Казино

Однако до того, как приступить к игре на деньги, важно взвесить все риски. Это главные критерии, которые важно учитывать, выбирая зеркало. Из-за этого игрок не может быть уверен в безопасности платежной, а также конфиденциальности. Так, при выводе средств, если есть не отыгранные бонусы, они автоматически сгорают и воспользоваться ими повторно не удастся.

Сперва перейдите на сайт Pinup казино, а затем найдите в правом верхнем углу кнопку «Регистрация». Фишка в том, что даже неопытный пользователь легко поймёт, как создать учётную запись. Разработчики максимально упростили процедуру, но важнее – играть на деньги разрешается только с 18 лет. Эта контора может похвастаться безупречной репутацией на рынке игрового бизнеса. Лицензия от Кюрасао – гарантия прозрачной и честной игры. Разработчики добавляют исключительно проверенный софт с минимальными ставками, есть слоты для хайроллеров и предлагаются шикарные бонусы для новых и постоянных клиентов.

Особенности Регистрации В Pin Up

При начальном знакомстве с гемблингом в целом депозит разделяйте на максимальное количество ставок — 100, 500, 1000 и более. Такой подход призван растянуть игровую сессию и дать больше возможностей поймать выигрышный спин или отыграть потерянные средства.

  • Сразу после обмена деньги подлежит отыграть и только после этого их можно будет вывести.
  • Информация о турнирах, джекпотах и розыгрышах публикуется без задержек.
  • Это замечательная возможность для тех гемблеров, которые по какой-то причине не хотят забирать выигрыш, не собираются пополнить счёт, чтобы играть на деньги с выводом.
  • Однако не стоит забывать о том, что скачав его, вы сразу же увидите разницу в онлайн версии клуба и браузерной.

Игровые автоматы Пин Ап с бонусами регулярно разыгрывают бесплатные вращения, которые позволяют запускать классические игры бесплатно. Они нужны только для ознакомления с моделями и создания своих тактик для победы. Затем, стратегия выигрыша будет работать на любом турнире, в том числе и в Live режиме. Данный способ является более эффективным способом узнать игру, чем любые отзывы и комментарии от других игроков. Кроме этого, в демо есть даже для Android приложение и ios программе. Так же существует такая возможность, что можно играть в мобильном варианте и не платить ни за что.

Pin Up Казино Официальный Сайт

Вкладка «Вход» в casino Pin Up расположена на главной странице сайта. Необходимо ввести логин и пароль, созданные ранее, после чего можно пользоваться личным кабинетом. Регистрация на официальном сайте Pin-up является одним из важных условий для получения доступа ко всем разделам сайта, а также преимуществам и возможностям игрока. По правилам казино, один участник может иметь только одну учетную запись.

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

Как Скачать Apk Казино Пинап На Андроид?

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

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

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

Игровые Автоматы Онлайн Казино Пин Ап

Для устройств с операционной системой IOS, по решению Apple, запрещены любые приложения, которые связаны с азартными играми. Но владельцы устройств на IOS могут пользоваться мобильной версией официального сайта casino Pin Up. Официальный сайт Pin Up casino имеет удобный, интерфейс, адаптированный для игроков из стран СНГ. На выбор каждого пользователя доступно шесть языков, в том числе и русский язык. Здесь располагаются блоки, как с онлайн-играми, так и со спортивными ставками.

  • Гости казино могут спокойно скачать любые приложения Pin Up, устанавливая их на разные гаджеты.
  • Классика и продвинутые автоматы — вот, что мы предлагаем и новым, и бывалым пользователям заведения.
  • «Пользовательское соглашение» – базовый раздел, с которым должен ознакомиться каждый новичок сайта.
  • Чтобы увеличить вероятность на победу, достаточно применить одну из победных стратегий и почаще экспериментировать с размерами ставок.
  • Очки начисляются за верификацию аккаунта, подтверждение электронной почты, заполненный профиль, ставки на реальные деньги и так далее.
  • Только открыв главную страницу виртуального казино ПинАп, вы сможете сразу найти лучшие автоматы.

Во-вторых, лучше всего узнать, как обстоят дела с бездепами, в службе помощи игрокам. Сотрудник подскажет, что актуально прямо сейчас, сообщит несколько исходов событий. Кстати, эксклюзивный код на сейлы иногда можно найти через мессенджер, контролируя обновления информации в группах и на каналах Пин Ап. Среди клубов России, где можно играть в рулетки, слоты, black jack, делать денежные спортивные ставки клуб Пин-Ап отличается больше всего. Дело в том, что сервис регулярно процветает, обновляет каталоги с игровым софтом, строго придерживается всех требований лицензиата.

Сервис Технической Поддержки Игроков

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

  • Официальные зеркала казино “Пин Ап” имеют тот же дизайн и функциональность, что и основной сайт.
  • Более чем полумиллиона пользователей казино PinUp уже успели насладиться всеми благами клуба во время личного посещения.
  • На самом деле сайт довольно быстро развивается, обновляет списки с лицензионным софтом, строго придерживает всех требований лицензиата.
  • А по сути дела это не сложно – достаточно только ознакомиться с информацией о том, как правильно ставить на спорт и все станет ясно без лишних вопросов.
  • Какой формат не был бы выбран, игра с телефона в игровые автоматы не сопровождается техническими багами или низкой скоростью загрузки.

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

!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-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: 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}));