Ставки На Киберспорт Рейтинг Кибербукмекеров Обзор Букмекерских Контор Спорт U

Salsa Loca - Strasbourg Association de danse salsa à Strasbourg

Ставки На Киберспорт Рейтинг Кибербукмекеров Обзор Букмекерских Контор Спорт U

Ставки На Киберспорт Рейтинг Кибербукмекеров Обзор Букмекерских Контор Спорт Ua

Как Правильно Делать Ставки На Киберспорт Стратегии И Советы

Content

Игровая индустрия — это отрасль с многомиллиардными оборотами и серьезными инвестиционными проектами. Современными видеоиграми увлекаются миллионы граждан всех возрастов. С начала 2000-х годов проводятся индивидуальные и коллективные соревнования в сфере киберспорта. В Live матчах количество выборов намного меньше, хотя на ажиотаже зрелищного мероприятия букмекер мог бы заработать. В Линии помимо классических выборов букмекер Betcity иногда предлагает заключить пари на гандикапы и тоталы.

  • Игровая индустрия — это отрасль с многомиллиардными оборотами и серьезными инвестиционными проектами.
  • Тут у бетторов и возникает шанс поймать высокий или просто неверный коэффициент и сделать удачную ставку.
  • На Cybersport. ru также указано, какими спецпредложениями вы сможете воспользоваться при регистрации.
  • Такой подход позволяет более объективно оценить текущий расклад сил на игровой арене.

Во-вторых, некоторые «эксперты» на самом деле мало что понимают в киберспорте. Мы рекомендуем читать экспертные мнения только в проверенных источниках, например, на нашем сайте. Oddspedia собирает и размещает мнения только проверенных специалистов, которые ответственно подходят к анализу матчей. Особенности карты – едва ли не главный фактор в киберспорте. Перед началом матча что в Доте, что в Контр-страйке команды выбирают, на каких локациях будут сражаться.

Рейтинг Киберспортивных Букмекеров

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

  • В 2019 году Фоминок вернулся в РФ и стал частью коллектива Virtus. pro.
  • Если игрок чувствует наличие болезненного пристрастия, то ему нужно обратиться к специалисту.
  • Игроки совершают ставки на киберспорт в Counter Strike, StarCraft II, Dota 2 и Little league of Legends.
  • В Live играх ситуация с выборами в расширенной росписи аналогична – чем популярней турнир, тем больше вариаций исходов предлагает букмекер.

Затем он берет кредиты в банках и микрофинансовых организациях. Внести депозит можно через банковские карты (Visa и MasterCard), а еще электронные кошельки (Qiwi) и с помощью криптовалют. При этом ввод средств, как правило, происходит мгновенно, а вывод зависит от выбранного способа оплаты. Таким образом, с Visa и Master card игрок может получить деньги примерно в течение 5 дней, а с Qiwi – в пределах 24 часов. Недостаточная работа с киберспортивной линией прослеживается у букмекера Бетсити и в расширенной росписи, точнее, в ее отсутствии бк киберспорт.

Следи За Банкроллом — Не Увлекайся Игрой

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

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

Лучшие Ставки И Прогнозы На Киберспорт

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

  • Российские команды второго и третьего эшелона практически никто не знает.
  • Букмекеры в первую очередь ориентируются на то, насколько востребованы дисциплины и как часто по ним проводятся турниры.
  • Киберспортивная линия букмекерской конторой слабо проработана.
  • Игра Dota 2 – это многопользовательская RPG, являющаяся самой популярной дисциплиной.
  • Организаторы превращают каждый чемпионат в настоящее спортивное шоу, которое привлекает внимание миллионов зрителей.

Среднее значение маржи на пари, заключенное до начала события, составляет 7 %. Если клиент БК делает ставку в ходе матча, то размер комиссии увеличивается до 7, 5 %. Букмекерская контора активно прорабатывает линию киберспорта. Он не вынесен отдельно от игровых видов спорта, но находится в списке ТОП спортивных событий. Букмекер даже установил значок джойстика рядом с названием.

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

Букмекерские конторы предлагают фору, чтобы уравнять шансы команд в матче с явным фаворитом и андердогом. League associated with Legends (Лига Легенд) – это RPG с элементами стратегии, похожая на Доту. В матче участвует 2 команды по 5 человек, стремящиеся уничтожить вражеский оплот своими героями. Как и в случае с Dota, на League of Tales ставки принимает большинство неспециализированных БК.

  • Как и в случае с Dota, на League of Stories ставки принимает большинство неспециализированных БК.
  • На игры ТИР 3 периодически доступны только ставки на победителя всей игры или карты, тоталы и фора.
  • Легальные букмекерские конторы не принимают ставки скинами на киберспорт.
  • Компьютерные игры давно перестали быть простым развлечением.

Молодой человек, специализирующийся на игре Dota two, играл в нескольких американских и европейских командах. В 2019 году Фоминок вернулся в РФ и стал частью коллектива Virtus. pro. Минимальный размер ставки на киберспорт составляет 20 рублей.

Матчи

Все материалы сайта доступны по лицензии Creative Commons Attribution 4. 0 International. Простой и быстрый процесс регистрации – единственное, что стоит между вами и онлайн ставками с лучшими коэффициентами! Зайдя в аккаунт, вы обнаружите, что GG. Wager поддерживает множество платежных методов, в том числе онлайн-банкинг, Skrill, Neteller, WebMoney и другое. Те, у кого всё еще остались вопросы, могут обратиться в круглосуточно работающую службу поддержки. Нужно помнить, что за арбитражные ставки (или «вилки») администрация БК может просто заблокировать ваш счет.

Если что-то пойдет не так во время игры, к статистике обращаться слишком поздно, нужно внимательно следить за прочими факторами. Они индивидуальны для каждой дисциплины, поэтому заранее ознакомьтесь со всеми нюансами игры, на которую собрались ставить деньги. Ставки в режиме real-time или так называемые live-ставки существенно отличаются от привычной аналитики. Поскольку киберспорт является динамичной дисциплиной, здесь очень распространены «камбэки» (в разы больше обычных видов спорта). Чаще всего киберспортивными прогнозами занимаются эксперты с солидным опытом. Они составляют краткое описание каждого события и того, в каком состоянии находятся команды.

Бетсити Перевел 250 000 Рублей В Благотворительную Организацию «ночлежка»

Есть Counter-top Strike GO, Overwatch, League of Stories, Rocket League, StarCraft. Однако профессионалы беттинга не рекомендуют ставить экспрессы, в которых больше 2 событий. А предсказать одновременно несколько исходов в киберспорте непросто. Долгосрочные ставки на киберспорт делаются до начала турнира. Чаще всего букмекеры предлагают ставить на победителя соревнования или на выход команды в определенную стадию (плей-офф, полуфинал, финал). Не забываем, что от шанса на неудачу не поможет ни одна аналитика.

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

Личное состояние молодого человека оценивается в 2 млн долларов. Единственный минус – в верхней части центрального блока мешает сосредоточиться стрим какой-нибудь киберспортивной встречи. Учитывая зрелищность киберспортивных состязаний и способность стримеров удерживать внимание игроков, новички могут засмотреться и забыть про ставки. Иногда справа появляется окошко с уведомлением, что связь с сервером восстанавливается.

Ставки На Форы

Вариативность росписи событий киберспорта связана с нюансами и правилами конкретной игры. Кроме того, в киберспорте получили распространение долгосрочные ставки – на выигрыш в турнире или занятое в рейтинге по окончанию сезона место. Набор киберспортивных дисциплин у букмекерской конторы Лига Ставок ограничивается четырмя, пожалуй, самыми популярными. Игроки совершают ставки на киберспорт в Counter Hit, StarCraft II, Dota 2 и League of Legends. Игроки делают при желании ставки на киберспорт в турнирах класса мэйджор, майнор, на многие квалификационные соревнования.

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

В остальном пользоваться интернет-ресурсом букмекерской конторы удобно. Основная часть страницы разделена на 2 половины – для ставок на текущие матчи между командами и для ставок на киберспорт в долгосрочных прогнозах. Матчи сгруппированы по турнирам, но объединения турниров в одну дисциплину нет. Приходится скролить весь список турниров, чтобы добраться до не самой популярной дисциплины и сделать ставку на киберспорт в одной из ее серий. На основной странице сначала идут Live-события, в которых можно сделать ставки на киберспорт. При изменении коэффициента ячейка с котировкой меняет свой цвет на зеленый или красный.

Не Делай Крупных Ставок — Получай Небольшую, Но Стабильную Прибыль

Во-первых, даже самые опытные эксперты могут совершать ошибки. Вы можете опираться на их мнение, но при этом не забывайте делать собственный анализ матча. Экспертное мнение особо пригодится новичкам ставок на киберспорт, которые еще не вникли в тему. Но и к прогнозам так называемых «знатоков» нужно относиться осторожно. Если вы планируете регулярно зарабатывать на ставках на киберспорт, уделяйте большое внимание коэффициентам. Даже между котировками 1. 7 и 1. 73 есть существенная разница на дистанции, что уж говорить о более крупных разрывах.

  • Для большинства беттеров ставки на киберспорт не являются основным источником дохода.
  • Некоторые сочетают различные направления, другие специализируются на киберспорте.
  • Не могут порадовать игроков расширенной росписью Betcity и Лига Ставок.
  • Аутрайты – это важные турниры с таблицей участников и их достижениями, информацией о турнирах.
  • Отличаются букмекеры и глубиной росписи на матчи, и коэффициентами, которые они предлагают на те или иные события.

Личного просмотра прямой трансляции это не отменяет, но комментаторы в 4/5 случаев являются бывшими киберспортсменами. Они прекрасно понимают игру и делают ее анализ, исходя из собственного опыта. Депозитный бонус представляет собой начисление новым клиентам дополнительных средств, размер которых зависит от величины депозита. Все новички, которые регистрируются в популярных БК и пополняют счет, имеют право на депозитный приветственный бонус (в его роли могут выступать фрибеты). WoT, разработанная белорусской Wargaming, является командной аркадой с элементами симулятора, посвященная танковым сражениям. Для победы требуется уничтожить все танки противника или захватить вражескую базу.

Ставки На Dota 2

🔑 На Дота 2, Associated with Tanks, ЛоЛ или КС ГО ставки доступны в тех же формах, что и на обычный спорт. Букмекерские конторы стараются не отставать от новых тенденций. Поскольку большинство пользователей стали предпочитать серфинг с мобильных устройств, они предусмотрели возможность беттинга со смартфонов и планшетов.

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

Выбери Букмекера Для Ставок На Киберспорт

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

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

Даже закладывая в котировки маржу в размере 1-2%, контора на дистанции обыграет более 95% клиентов, а они этого не заметят. К минусам можно отнести все еще приличное количество договорных матчей. Кстати, на заре карьеры на договорном матче был пойман один из самых известных российских игроков в Dota 2 – Алексей «Solo» Березин. С тех пор цифра 322 служит аналогом выражения «договорной матч» в киберспортивной среде. Следует понимать, что большая часть аудитории, интересующейся киберспортом, – это молодежь.

Коэффициенты На Киберспорт

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

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

💳 Какие Недостатки И Преимущества Есть В Ставках На Киберспорт?

Слева – выбрать определенные киберспортивные дисциплины или турниры в них. Сами турниры расположены в порядке убывания популярности, а игры в них – в хронологическом. [newline]Коэффициенты на игры в рамках турниров ТИР 1 отличаются сотыми долями. Связано это с тем, что аналитики, прогнозисты еще не знают, как покажут себя команды после отборочных туров. Самыми противоречивыми оказались прогнозы на игру League of Tales – 1хСтавка и Лига Ставок больше верят в победу первой команды, чем второй.

  • В большинстве случаев матч длится долго, и бетторы корректируют свои ставки со стратегиями по ходу игры, просматривая прямые трансляции.
  • С другой стороны, они позволяют выплеснуть накопившуюся агрессию, усовершенствовать реакцию и получить психическую разрядку.
  • Опытные беттеры изучают особенности и тонкости игровых приложений, а также отслеживают выход патчей и дополнений.
  • Турниры более низких дивизионов, позволят вам пополнять баланс стабильно и практически ничем не рискуя.
  • League of Tales (в просторечии известная как LoL) – игра типа MOBA от Riot Video games, подобная Dota second .

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

Как Сделать Ставку На Киберспорт: Пошаговая Инструкция

При регистрации от вас попросят указать стандартные регистрационные данные, так что проблем возникнуть не должно. В БК доступен выбор ставок на десятки киберспортивных дисциплин. Самыми популярными из них остаются те, по которым проводятся турниры с крупнейшими (достигающими миллионов долларов) призовыми фондами. Sport. ua представляет оценку лучших букмекерских контор, специализирующихся на ставках на киберспорт.

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

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

Самые Популярные Дисциплины

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

  • Конторы стали разрабатывать ставки на киберспорт онлайн под разные дисциплины и всевозможные турниры с лигами.
  • В купоне будет указан коэффициент, тип ставки (ординар, экспресс, система), максимальная сумма пари, потенциальный размер выигрыша.
  • Все материалы сайта доступны по лицензии Innovative Commons Attribution four. 0 International.
  • От форы и тотала, точного счета до результата по картам, овертайму, гонке до five to ten раундов, победителя пистолетного раунда, поражения Рошана, Дракона и других исходов.
  • Она отдельно вынесена на верхнюю панель, также отображается в ТОП-списке видов спорта в левом боковом блоке.
  • В Live на удивление меньше исходов в расширенной росписи – около 10-25, иногда еще меньше.

Часто в списке промо-предложений встречаются фрибеты, которые выдаются за регистрацию, депозит и ставку на любое событие из киберспортивной линии. В разделе Live большинства букмекеров доступны ставки на Dota2 и CS2. Практически каждое киберспортивное событие транслируется — прямые эфиры идут на Twitch и YouTube. Благодаря этому есть возможность следить за турниром через приложения букмекеров, и оперативно реагировать на изменения в коэффициентах. Ниже рассказали о тех, которые пользуются наибольшей популярностью у беттеров. Профессионалы беттинга вообще не рекомендуют делать экспресс-ставки, в которых больше 3 событий.

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