PageSourceSearch

https://mundovestibular.com.br/__arcadia-journey/xdZQ0UIa.js

js mundovestibular.com.br collected 2026-09-24 23:34:53 UTC 42,218 bytes, 314 lines download raw bytes

1import{jt as e}from"./BxR1oLWR.js";import{ca as t}from"./M-W19bnO.js";import{S as n,_ as r,f as i,g as a,l as o,s,t as c,u as l,w as u,x as d}from"./Blkf_UJD.js";function f(e){let t=e.split(`.`);if(t.length<=2)return e;let n=[`com.br`];if(t.length>=3){let e=t.slice(-2).join(`.`);if(n.includes(e))return t.slice(-3).join(`.`)}return t.slice(-2).join(`.`)}function p(){let e=u.get(n);if(e===void 0){e=c();let t=window.location.protocol===`https:`;u.set(n,e,{secure:t,sameSite:t?`Strict`:`Lax`,path:`/`,domain:`.${f(window.location.hostname)}`})}return e}function m(e){let t=Object.entries(e??{}).filter(([e,t])=>e&&t);return t.length?t.map(([e,t])=>`${e}=${t}`).join(`;`):void 0}async function h(e){let t=l.config?.clientKey;if(!t)return null;let n=l.config?.app?.environment??`production`,o=(l.config?.ads?.url??i[n]).replace(/\/$/,``),s=new URL(`${o}${r}`);s.searchParams.set(`key`,t),s.searchParams.set(`slot`,e.slot);let c=typeof window<`u`?window.location.href:void 0,u={pageType:e.pageType,routePattern:e.routePattern,q:e.query,tags:e.tags?.length?e.tags.join(`,`):void 0,vars:m(e.vars),device:e.device,geo:e.geo,limit:e.limit===void 0?void 0:String(e.limit),url:c};for(let[e,t]of Object.entries(u))t!==void 0&&t!==``&&s.searchParams.set(e,t);try{let e=await fetch(s.toString(),{headers:{[a]:p()}});return e.ok?await e.json():null}catch{return null}}async function g(){let e=l.config?.clientKey;if(!e)return[];let t=l.config?.app?.environment??`production`,n=(l.config?.ads?.url??i[t]).replace(/\/$/,``),r=new URL(`${n}${o}`);r.searchParams.set(`key`,e);try{let e=await fetch(r.toString());if(!e.ok)return[];let t=await e.json();return Array.isArray(t?.slots)?t.slots:[]}catch{return[]}}var _=`clamp(-14px, calc((var(--mads-popup-vw, 100vw) - 100%) / 2 - 30px), 0px)`;function v(e){return[`${e}{max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}`,`${e} .mads-popup__box{width:100%;height:100%;display:flex;align-items:center;justify-content:center}`,`${e} > .mads{max-height:100vh}`,`${e} .mads-popup__close{top:0;right:0}`].join(``)}function ee(e,t){return[`${e}{--mads-popup-w:${t}px;width:auto;height:auto;max-width:min(var(--mads-popup-vw, 100vw), var(--mads-popup-w, 100vw));max-height:88vh;margin:auto}`,`${e} .mads-popup__box{width:auto;height:auto;display:block}`,`${e} > .mads{max-height:88vh}`,`${e} .mads-popup__close{top:${_};right:${_}}`].join(``)}var y=`
2:host { all: initial; display: block; contain: content; }
3* { box-sizing: border-box; margin: 0; padding: 0; }
4.mads {
5  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
6  color: #1a1a2e;
7  position: relative;
8}
9.mads__label {
10  font-size: 10px; text-transform: uppercase; letter-spacing: .08em;
11  color: #8a8fa3; margin-bottom: 6px;
12}
13.mads__track {
14  display: flex; gap: 12px; overflow-x: auto;
15  scroll-snap-type: x mandatory; scrollbar-width: none;
16  -webkit-overflow-scrolling: touch;
17}
18.mads__track::-webkit-scrollbar { display: none; }
19.mads--grid .mads__track {
20  display: grid; overflow: visible;
21  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
22}
23/* Sem crases neste comentário: o CSS vive num template literal e uma crase
24 * fecharia a string.
25 *
26 * O overflow visível vem junto com o display block, e não só ele: um banner é UM
27 * card, então o trilho não tem o que rolar — e como container de rolagem ele
28 * recortaria o que passa da caixa. Quem paga isso é o pack cujas setas ficam
29 * FORA do conteúdo (o padrão do design system as põe em -left-6/-right-6):
30 * sumiriam, sem nada indicando por quê. */
31.mads--banner .mads__track { display: block; overflow: visible; }
32.mads__card {
33  scroll-snap-align: start; flex: 0 0 220px;
34  display: flex; flex-direction: column; gap: 8px;
35  border: 1px solid #e4e6ef; border-radius: 12px; padding: 14px;
36  background: #fff; text-decoration: none; color: inherit;
37  transition: box-shadow .15s ease;
38}
39.mads__card:hover { box-shadow: 0 4px 16px rgba(26,26,46,.12); }
40.mads--banner .mads__card { flex-direction: row; align-items: center; flex-basis: auto; }
41.mads__logo {
42  width: 40px; height: 40px; border-radius: 8px; object-fit: contain;
43  border: 1px solid #eef0f6; background: #fafbfe;
44}
45.mads__course { font-size: 14px; font-weight: 600; line-height: 1.25; }
46.mads__uni { font-size: 12px; color: #6b7085; }
47.mads__rating { font-size: 12px; color: #6b7085; }
48.mads__rating strong { color: #1a1a2e; }
49.mads__badge {
50  align-self: flex-start; font-size: 11px; font-weight: 600;
51  color: #0d6e4f; background: #e2f6ee; border-radius: 999px; padding: 2px 8px;
52}
53.mads__price { margin-top: auto; display: flex; align-items: baseline; gap: 6px; }
54.mads__price-full { font-size: 11px; color: #9aa0b5; text-decoration: line-through; }
55.mads__price-offered { font-size: 16px; font-weight: 700; }
56.mads__price-offered small { font-size: 11px; font-weight: 400; color: #6b7085; }
57.mads__cta {
58  margin-top: 10px; display: block; text-align: center;
59  font-size: 13px; font-weight: 600; color: #fff;
60  background: #1351d8; border-radius: 8px; padding: 8px 12px;
61}
62/* Raw image banner: no card chrome — the art IS the creative.
63 *
64 * NO RADIUS BY DEFAULT. The SDK used to round the corners at 20px, copied from
65 * one production banner, and that was the SDK deciding the look of somebody
66 * else's art: a square banner came out with rounded corners nobody asked for,
67 * and the only way out was for the SITE to override the token — the wrong owner
68 * for a decision that belongs to the piece.
69 *
70 * The radius is now declared by the CREATIVE (image.radius, applied inline,
71 * same as fit and maxWidth), and the token stays as the site-wide default for a
72 * host that wants every banner rounded. */
73.mads__card--image { padding: 0; border: none; background: none; display: block; flex-basis: auto; }
74.mads__card--image picture { display: block; }
75.mads__card--image img {
76  display: block; width: 100%; object-fit: cover;
77  border-radius: var(--mads-image-radius, 0);
78}
79/* Plain text hyperlink: underline on hover, no box. */
80.mads__card--link {
81  padding: 0; border: none; background: none; display: inline-block;
82  font-size: 14px; font-weight: 600; color: #1351d8;
83  text-decoration: none;
84}
85.mads__card--link:hover { text-decoration: underline; box-shadow: none; }
86/* Component pack: o pack traz o próprio CSS (Tailwind do design system, via
87 * adoptedStyleSheets no mesmo shadow root), então aqui só cedemos o espaço —
88 * qualquer chrome nosso brigaria com o estilo do componente. */
89.mads__card--component {
90  padding: 0; border: none; background: none; display: block;
91  flex-basis: 100%; width: 100%;
92}
93.mads__card--component:hover { box-shadow: none; }
94.mads__nav {
95  position: absolute; top: 50%; transform: translateY(-50%);
96  width: 32px; height: 32px; border-radius: 50%;
97  border: 1px solid #e4e6ef; background: #fff; color: #1a1a2e;
98  font-size: 16px; line-height: 1; cursor: pointer;
99  display: flex; align-items: center; justify-content: center;
100  box-shadow: 0 2px 8px rgba(26,26,46,.14);
101}
102.mads__nav--prev { left: -8px; }
103.mads__nav--next { right: -8px; }
104.mads__nav[disabled] { opacity: .35; cursor: default; }
105
106/* Reserved slot (fixed IAB size, anti-CLS box): the host carries a min-height
107 * (the format's intrinsic height) set before the fetch. The slate fills that
108 * height via a flex chain so banners are full-bleed, but nothing is force-cut —
109 * if the creative is taller the box grows (min-height floor). Fluid slots keep
110 * their content-driven height. */
111/* Popup — o slate dentro de um dialog no top layer.
112 *
113 * Sem position nem z-index aqui: o showModal() ancora na viewport e o navegador
114 * empilha acima de tudo. Posicionar a mao reintroduziria o problema que o dialog
115 * resolve (o host do slot tem contain: content, que prenderia um fixed).
116 *
117 * Limites em vh/vw e nao px: a arte e de terceiro, e um popup mais alto que a
118 * tela deixaria o botao de fechar fora de alcance — dai o scroll interno.
119 *
120 * A LARGURA nao esta escrita aqui. Ela chega em duas variaveis que o popup.ts
121 * escreve a partir da decisao: --mads-popup-w (teto em px) e --mads-popup-vw
122 * (fatia da tela). Enquanto o 640 e o 92 moravam neste arquivo, eram dois
123 * numeros de desenho longe de quem desenha — e a previa do admin tinha de
124 * copia-los para nao mentir.
125 *
126 * Os fallbacks sao 100vw, e nao um tamanho: eles existem para a expressao
127 * continuar valida quando so uma das duas vem. Com as duas, min() escolhe; com
128 * so a fatia, ela vence; com so o teto, ele vence; sem nenhuma, 100vw — que e
129 * "sem teto", e nao um default disfarcado. */
130.mads-popup {
131  padding: 0; border: 0; background: transparent; overflow: visible;
132  max-width: min(var(--mads-popup-vw, 100vw), var(--mads-popup-w, 100vw));
133  max-height: 88vh;
134  /* Margem automática DE VOLTA: o reset universal lá em cima zera a margem de
135   * tudo, inclusive deste dialog — e é ela, sobre o inset zero da UA, que
136   * centraliza um dialog modal. Com margem zero ele desabava no canto superior
137   * esquerdo, do tamanho do conteúdo. (Sem crases neste comentário: o CSS vive
138   * num template literal e uma crase fecharia a string.) */
139  margin: auto;
140}
141/* O botão ancora AQUI, e não no <dialog>: a UA posiciona o dialog modal para
142 * centralizar (inset: 0; margin: auto), e declarar position: relative nele
143 * para servir de containing block quebraria essa centralização. */
144.mads-popup__box { position: relative; }
145.mads-popup::backdrop { background: rgba(26,26,46,.62); }
146
147/* Tela cheia. Nao e "a caixa mais larga": e outra apresentacao — sem
148 * arredondamento, sem folga, e o backdrop deixa de aparecer porque nao sobra
149 * borda para ele. O fechar entra para dentro, que e o unico lugar que existe.
150 *
151 * As declaracoes vem de regrasDeTelaCheia, e nao escritas aqui, porque a MESMA
152 * apresentacao precisa sair tambem dentro de media query: a caixa por faixa pode
153 * pedir takeover so a partir de uma largura. Uma fonte para as duas saidas —
154 * classe e media query — e o que impede as duas de divergirem. (Sem crases neste
155 * comentario, como o de cima avisa: o CSS vive num template literal.) */
156${v(`.mads-popup--full`)}
157
158/* Entrada do modal.
159 *
160 * display e overlay entram na transicao com allow-discrete, e o estado
161 * inicial vem do @starting-style — sem os dois o dialog aparece de estalo,
162 * porque ele salta de display: none para o top layer sem estado intermediario
163 * para interpolar. overlay e o que segura a saida: sem ele o navegador tira o
164 * dialog do top layer no instante do close e a animacao de saida roda invisivel.
165 *
166 * Navegador que nao conhece @starting-style ignora o bloco e mostra o modal
167 * direto — que e exatamente o comportamento de hoje, entao nao ha regressao. */
168.mads-popup, .mads-popup::backdrop {
169  transition: opacity .18s ease, transform .18s ease, display .18s allow-discrete, overlay .18s allow-discrete;
170}
171.mads-popup { opacity: 1; transform: translateY(0); }
172.mads-popup::backdrop { opacity: 1; }
173.mads-popup:not([open]) { opacity: 0; transform: translateY(6px); }
174.mads-popup:not([open])::backdrop { opacity: 0; }
175@starting-style {
176  .mads-popup[open] { opacity: 0; transform: translateY(6px); }
177  .mads-popup[open]::backdrop { opacity: 0; }
178}
179
180/* Movimento reduzido: a caixa ainda aparece, so nao desliza nem desvanece.
181 * Remover a transicao inteira e o certo aqui — um fade curto ainda e movimento
182 * para quem pediu para nao ter. */
183@media (prefers-reduced-motion: reduce) {
184  .mads-popup, .mads-popup::backdrop { transition: none; }
185  .mads-popup:not([open]) { opacity: 1; transform: none; }
186}
187/* Fora da caixa e ACIMA dela: arte sangrada não deixa espaço para o botão, e
188 * sobrepor cobriria o criativo. */
189/* 44x44 e o minimo de alvo de toque. O botao continua FORA da caixa, mas agora
190 * ele so sai inteiro quando ha folga: clamp colapsa o deslocamento para dentro
191 * em tela estreita, onde a caixa ocupa a fatia inteira e um botao pendurado para
192 * fora ficaria cortado pela borda da viewport.
193 *
194 * A fatia entra por --mads-popup-vw, escrita pelo popup.ts. O fallback de 100vw
195 * nao e um default de desenho: e o caso em que ninguem mandou fatia nenhuma, e
196 * aí nao ha folga a calcular — o botao entra para dentro, que e o certo. */
197.mads-popup__close {
198  position: absolute; z-index: 1;
199  top: ${_};
200  right: ${_};
201  width: 44px; height: 44px; border-radius: 50%;
202  border: 1px solid #e4e6ef; background: #fff; color: #1a1a2e;
203  font-size: 22px; line-height: 1; cursor: pointer;
204  display: flex; align-items: center; justify-content: center;
205  box-shadow: 0 2px 8px rgba(26,26,46,.24);
206}
207.mads-popup > .mads { max-height: 88vh; overflow: auto; }
208
209:host([data-montilla-reserved]) { display: flex; flex-direction: column; }
210:host([data-montilla-reserved]) .mads { flex: 1 0 auto; min-height: 0; display: flex; flex-direction: column; }
211:host([data-montilla-reserved]) .mads__track { flex: 1 0 auto; min-height: 0; }
212:host([data-montilla-reserved]) .mads--banner .mads__track { display: flex; }
213:host([data-montilla-reserved]) .mads--banner .mads__card,
214:host([data-montilla-reserved]) .mads__card--html { flex: 1 0 auto; }
215/* Lista EXPLÍCITA dos cards desenhados pelo SDK, e não um seletor img genérico.
216 * O genérico também alcançava a arte de dentro de um pack de componente, e por
217 * especificidade (:host([attr]) img vence .object-cover) atropelava a classe
218 * que o próprio pack emite — deixando o fit do pack inerte em TODO slot
219 * reservado, que é justamente onde uma faixa de banner vive. Aqui o SDK governa
220 * só o que ele mesmo renderiza; quem traz o próprio componente governa a
221 * própria arte.
222 *
223 * O criativo image fica de fora por ter regra própria logo abaixo, e o pack
224 * component por não ter nenhuma — é essa ausência que o faz funcionar. */
225:host([data-montilla-reserved]) .mads__card--card img,
226:host([data-montilla-reserved]) .mads__card--text img,
227:host([data-montilla-reserved]) .mads__card--html img,
228:host([data-montilla-reserved]) .mads__card--link img { max-height: 100%; object-fit: contain; }
229/* Reserved image banners keep cover (full-bleed art), not contain. */
230:host([data-montilla-reserved]) .mads__card--image img { height: 100%; object-fit: cover; }
231`;function b(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});t.replaceChildren();let n=document.createElement(`style`);return n.textContent=y,t.appendChild(n),t}var x=`montilla-ads-light-styles`;function S(e){if(e.replaceChildren(),!document.getElementById(x)){let e=document.createElement(`style`);e.id=x,e.textContent=y.replace(/:host/g,`.mads`).replace(/(^|\})\s*\*\s*\{/g,`$1 .mads, .mads *{`),document.head.appendChild(e)}return e}var te=8,ne=3e4,re=2e4,ie=50,ae=[`pointerdown`,`pointermove`,`keydown`,`scroll`,`touchstart`,`wheel`],oe=e=>`montilla.popup.seen.${e}`;function se(e){try{return window.sessionStorage.getItem(oe(e))!==null}catch{return!1}}function ce(e){try{window.sessionStorage.setItem(oe(e),`1`)}catch{}}var le=0;function ue(e,t,n,r){let i=[...n].sort((e,t)=>e.minWidth-t.minWidth);if(!i.some(e=>e.fullBleed===!0||typeof e.maxWidth==`number`&&e.maxWidth>0))return!1;let a=`mads-box-${++le}`;e.setAttribute(`data-mads-box`,a);let o=`[data-mads-box="${a}"]`,s=i.map(e=>{let t=t=>`@media (min-width:${e.minWidth}px){${t}}`;if(e.fullBleed===!0)return t(v(o));let n=typeof e.maxWidth==`number`&&e.maxWidth>0?e.maxWidth:r;return n===void 0?``:t(ee(o,n))}).join(``);if(!s)return!1;let c=document.createElement(`style`);return c.textContent=s,t.appendChild(c),!0}function de(e,t,n,r=[]){if(t.maxWidth===`full`){e.classList.add(`mads-popup--full`);return}t.viewportPercent!==void 0&&e.style.setProperty(`--mads-popup-vw`,`${t.viewportPercent}vw`),!(r.length>0&&ue(e,n,r,typeof t.maxWidth==`number`?t.maxWidth:void 0))&&t.maxWidth!==void 0&&e.style.setProperty(`--mads-popup-w`,`${t.maxWidth}px`)}function fe(e){for(let t of e.querySelectorAll(`img[loading="lazy"]`))t.setAttribute(`loading`,`eager`),t.setAttribute(`fetchpriority`,`high`)}function pe(e,t,n,r,i,a){let o=document.createElement(`dialog`);o.className=`mads-popup`,o.setAttribute(`aria-label`,n.label??`Publicidade`),de(o,n,e,a);let s=document.createElement(`div`);if(s.className=`mads-popup__box`,n.dismissible!==!1){let e=document.createElement(`button`);
231e.type=`button`,e.className=`mads-popup__close`,e.setAttribute(`aria-label`,n.closeLabel??`Fechar`),e.textContent=`×`,e.addEventListener(`click`,()=>o.close(`dismiss`)),s.appendChild(e)}fe(t),s.appendChild(t),o.appendChild(s),e.appendChild(o);let c=!1,l=!1,u,d=[],f=null;function p(){f===null&&(f=document.documentElement.style.overflow,document.documentElement.style.overflow=`hidden`)}function m(){f!==null&&(document.documentElement.style.overflow=f,f=null)}function h(){if(!(c||l||!o.isConnected)){if(n.oncePerSession&&i&&se(i)){g();return}c=!0,g();try{o.showModal()}catch{c=!1;return}p(),n.oncePerSession&&i&&ce(i),r.onOpen()}}if(o.addEventListener(`close`,()=>{m(),c&&r.onDismiss()}),n.dismissible!==!1){let e=!1;o.addEventListener(`pointerdown`,t=>{e=t.target===o}),o.addEventListener(`click`,t=>{t.target===o&&e&&o.close(`backdrop`),e=!1})}function g(){for(clearTimeout(u),u=void 0;d.length;)d.pop()?.()}return me(n,h,d,e=>{u=setTimeout(h,e)}),{open:h,dispose:()=>{l=!0,g(),c=!1,o.open&&o.close(),m(),o.remove()}}}function me(e,t,n,r){let i=e.trigger??`immediate`;if(i===`immediate`){t();return}if(i===`timeout`){r(Math.max(0,e.delayMs??5e3));return}if(i===`idle`){he(e,t,n);return}if(i===`scroll`){ge(e,t,n);return}let a=e=>{e.clientY<=te&&!e.relatedTarget&&t()};document.addEventListener(`mouseout`,a),n.push(()=>document.removeEventListener(`mouseout`,a));let o=null,s=()=>{if(document.visibilityState===`hidden`){o=Date.now();return}if(o===null)return;let e=Date.now()-o;o=null,e>=ne&&t()};document.addEventListener(`visibilitychange`,s),n.push(()=>document.removeEventListener(`visibilitychange`,s))}function he(e,t,n){let r=Math.max(0,e.idleMs??re),i,a=()=>{clearTimeout(i),document.visibilityState!==`hidden`&&(i=setTimeout(t,r))};for(let e of ae)document.addEventListener(e,a,{passive:!0}),n.push(()=>document.removeEventListener(e,a));document.addEventListener(`visibilitychange`,a),n.push(()=>document.removeEventListener(`visibilitychange`,a)),n.push(()=>clearTimeout(i)),a()}function ge(e,t,n){let r=Math.min(100,Math.max(1,e.scrollPercent??ie)),i=()=>{let e=document.documentElement.scrollHeight-window.innerHeight;if(e<=0)return t();window.scrollY/e*100>=r&&t()};window.addEventListener(`scroll`,i,{passive:!0}),n.push(()=>window.removeEventListener(`scroll`,i)),i()}function _e(e,t,n){try{let r=new URL(e);return r.searchParams.set(t,n),r.toString()}catch{return`${e}${e.includes(`?`)?`&`:`?`}${t}=${encodeURIComponent(n)}`}}function C(e,t){return _e(e.href,t,e.tracking.mad)}function w(e){try{return new Intl.NumberFormat(`pt-BR`,{style:`currency`,currency:`BRL`}).format(e)}catch{return`R$ ${e.toFixed(2)}`}}function ve(e){let t=document.createElement(`template`);t.innerHTML=e;let n=new Set([`SCRIPT`,`IFRAME`,`OBJECT`,`EMBED`,`LINK`,`META`,`STYLE`]);for(let e of Array.from(t.content.querySelectorAll(`*`))){if(n.has(e.tagName)){e.remove();continue}for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value.trim().toLowerCase();(n.startsWith(`on`)||(n===`href`||n===`src`)&&r.startsWith(`javascript:`))&&e.removeAttribute(t.name)}}return t.innerHTML}function ye(e){let t=document.createElement(`div`);return t.className=`mads__card mads__card--html`,t.dataset.offerId=e.tracking.offerId,t.dataset.position=String(e.tracking.position),t.innerHTML=ve(e.html??``),t}function be(e,t){let n=document.createElement(`a`);if(n.className=`mads__card mads__card--${e.creativeType}`,n.href=C(e,t),n.rel=`sponsored noopener`,n.dataset.offerId=e.tracking.offerId,n.dataset.position=String(e.tracking.position),e.logoUrl){let t=document.createElement(`img`);t.className=`mads__logo`,t.src=e.logoUrl,t.alt=e.universityName,t.loading=`lazy`,n.appendChild(t)}let r=document.createElement(`div`);r.className=`mads__course`,r.textContent=e.courseName,n.appendChild(r);let i=document.createElement(`div`);if(i.className=`mads__uni`,i.textContent=e.universityName,n.appendChild(i),e.rating){let t=document.createElement(`div`);t.className=`mads__rating`;let r=document.createElement(`strong`);r.textContent=`★ ${e.rating.score.toFixed(1)}`,t.appendChild(r),t.appendChild(document.createTextNode(` (${e.rating.reviewsCount})`)),n.appendChild(t)}let a=e.badges[0];if(a){let e=document.createElement(`span`);e.className=`mads__badge`,e.textContent=a.label,n.appendChild(e)}if(e.price){let t=document.createElement(`div`);if(t.className=`mads__price`,e.price.fullPrice!==null&&e.price.fullPrice>e.price.offeredPrice){let n=document.createElement(`span`);n.className=`mads__price-full`,n.textContent=w(e.price.fullPrice),t.appendChild(n)}let r=document.createElement(`span`);
231r.className=`mads__price-offered`,r.textContent=w(e.price.offeredPrice);let i=document.createElement(`small`);i.textContent=`/mês`,r.appendChild(i),t.appendChild(r),n.appendChild(t)}let o=document.createElement(`span`);return o.className=`mads__cta`,o.textContent=`Ver oferta`,n.appendChild(o),n}function xe(e,t){if(e?.arts?.length)return e.arts.filter(e=>e?.url&&Number.isFinite(e.minWidth)&&e.minWidth>=0).sort((e,t)=>t.minWidth-e.minWidth);let n=[];return e?.srcDesktop&&n.push({minWidth:t+1,url:e.srcDesktop}),e?.src&&n.push({minWidth:0,url:e.src}),n}function Se(e,t){return e.find(e=>e.alt?.trim()&&(e.minWidth<=0||globalThis.matchMedia?.(`(min-width: ${e.minWidth}px)`)?.matches))?.alt?.trim()||t}function Ce(e,t,n){let r=document.createElement(`a`);r.className=`mads__card mads__card--image`,r.href=C(e,t),r.rel=`sponsored noopener`,r.dataset.offerId=e.tracking.offerId,r.dataset.position=String(e.tracking.position);let i=xe(e.image,n),a=i[i.length-1],o=document.createElement(`picture`);for(let e of i.slice(0,-1)){let t=document.createElement(`source`);t.media=`(min-width: ${e.minWidth}px)`,t.srcset=e.url,o.appendChild(t)}let s=document.createElement(`img`);return s.loading=`lazy`,s.src=a?.url??``,s.alt=Se(i,e.image?.alt??e.courseName),o.appendChild(s),r.appendChild(o),Te(r,s,e.image,i),r}var T=new Set([`contain`,`scale-down`,`none`]),we=0;function Te(e,t,n,r){if(!r.some(e=>e.fit!==void 0||e.maxWidth!==void 0||e.radius!==void 0)){De(t,n);return}let i=`mads-art-${++we}`;e.classList.add(i);let a=`.${i}.${i}.${i} img`,o=[...r].sort((e,t)=>e.minWidth-t.minWidth).map(e=>{let t=`${a}{${Ee({fit:e.fit??n?.fit,maxWidth:e.maxWidth??n?.maxWidth,radius:e.radius??n?.radius})}}`;return e.minWidth>0?`@media (min-width:${e.minWidth}px){${t}}`:t}),s=document.createElement(`style`);s.textContent=o.join(``),e.appendChild(s)}function Ee(e){let t=e.fit??`cover`,n=T.has(t)?`auto`:`100%`;return[`object-fit:${t}`,`height:${n}`,`max-width:${e.maxWidth?`${e.maxWidth}px`:`none`}`,`margin-inline:${e.maxWidth?`auto`:`0`}`,`border-radius:${e.radius===void 0?`var(--mads-image-radius, 0)`:`${e.radius}px`}`].join(`;`)}function De(e,t){t&&(t.fit&&(e.style.setProperty(`object-fit`,t.fit),T.has(t.fit)&&e.style.setProperty(`height`,`auto`)),t.radius!==void 0&&e.style.setProperty(`border-radius`,`${t.radius}px`),t.maxWidth&&(e.style.setProperty(`max-width`,`${t.maxWidth}px`),e.style.setProperty(`margin-inline`,`auto`)))}function Oe(e,t){let n=document.createElement(`a`);return n.className=`mads__card mads__card--link`,n.href=C(e,t),n.rel=`sponsored noopener`,n.dataset.offerId=e.tracking.offerId,n.dataset.position=String(e.tracking.position),n.textContent=e.courseName,n}var ke=e=>t(()=>import(e),[],import.meta.url);function Ae(){}var je=`https://montilla-sdk.quero.space/ad-packs/v1`;function Me(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).toLowerCase()}function Ne(e,t){return`${t.replace(/\/+$/,``)}/${Me(e)}.pack.mjs`}var E=new WeakMap;function D(e){for(let t of e){let e=E.get(t);if(e){E.delete(t);try{e()}catch{}}}}function Pe(e){let t=e?.itemId;return typeof t==`string`&&t?t:null}function Fe(t,n,r,i,a,o,s){let c=document.createElement(`div`);c.className=`mads__card mads__card--component`,c.dataset.offerId=t.tracking.offerId,c.dataset.position=String(t.tracking.position);let l=t.component;return l?.name&&(c.dataset.component=l.name,a(Ne(l.name,r)).then(r=>{if(typeof r?.mount!=`function`)return;let a=new Set,u=r.mount(c,{props:s?e(l.props??{},s):l.props??{},onEvent:(e,r)=>{let s=Pe(r);if(e===`impression`){if(!s||a.has(s))return;a.add(s),o?.(t,s);return}if(e!==`finish`)return;s?i(t,{item_id:s}):i(t);let c=r?.url;typeof c==`string`&&c&&window.location.assign(_e(c,n,t.tracking.mad))}});E.set(c,u)}).catch(()=>{c.dataset.packError=`1`})),c}function O(e,t){let n=document.createElement(`button`);return n.type=`button`,n.className=`mads__nav mads__nav--${e}`,n.setAttribute(`aria-label`,e===`prev`?`Anterior`:`Próximo`),n.textContent=e===`prev`?`‹`:`›`,n.addEventListener(`click`,()=>{let n=e===`prev`?-t.clientWidth:t.clientWidth;t.scrollBy({left:n,behavior:`smooth`})}),n}var Ie=`Publicidade`;function Le(e){if(e===!0)return Ie;if(typeof e==`string`){let t=e.trim();return t===``?null:t}return null}function k(e,t,n,r={}){let i=document.createElement(`div`);i.className=`mads mads--${t.unit}`,t.theme&&(i.dataset.theme=t.theme);let a=Le(r.adLabel);
231if(a){let e=document.createElement(`div`);e.className=`mads__label`,e.textContent=a,i.appendChild(e)}let o=document.createElement(`div`);o.className=`mads__track`;let s=t.offers.map(e=>e.creativeType===`html`?ye(e):e.creativeType===`image`?Ce(e,n,r.mobileBreakpoint??768):e.creativeType===`link`?Oe(e,n):e.creativeType===`component`?Fe(e,n,r.packsUrl??je,r.onConversion??Ae,r.loadPack??ke,r.onItemImpression,r.extraProps):be(e,n));for(let e of s)o.appendChild(e);return i.appendChild(o),t.unit===`carousel`&&s.length>1&&(i.appendChild(O(`prev`,o)),i.appendChild(O(`next`,o))),e.appendChild(i),s}function Re(e,t){let n=e.component?.props?.items;if(Array.isArray(n))for(let e of n){let n=e;if(n?.id===t)return typeof n.campaignId==`string`&&n.campaignId?n.campaignId:void 0}}function A(e,t,n){let r=n?Re(t,n):void 0;return{decision_id:e.id,slot:e.slotSlug,campaign_id:e.campaignId,campaign_name:e.campaignName,ad_set_id:e.adSetId??e.campaignId,offer_campaign_id:r??t.tracking.campaignId??``,ad_id:t.tracking.adId??``,offer_id:t.tracking.offerId,creative_type:t.creativeType,position:String(t.tracking.position),mad:t.tracking.mad}}function j(e,t,n,r,{impressions:i=!0}={}){let a=new WeakSet,o=new Map;e.forEach((e,n)=>{let r=t[n];r&&o.set(e,r)});let s=i&&typeof IntersectionObserver<`u`?new IntersectionObserver((e,t)=>{for(let i of e){if(!i.isIntersecting||a.has(i.target))continue;a.add(i.target),t.unobserve(i.target);let e=o.get(i.target);e&&r(`ad_impression`,A(n,e))}},{threshold:.5}):null;if(s)for(let t of e)s.observe(t);let c=new Map;for(let[e,t]of o){if(t.creativeType===`component`)continue;let i=()=>r(`ad_click`,A(n,t));e.addEventListener(`click`,i),c.set(e,i)}return()=>{s?.disconnect();for(let[e,t]of c)e.removeEventListener(`click`,t);c.clear()}}var M=`data-montilla-slot`,N=`data-montilla-size`,P=`data-montilla-height`,F=`data-montilla-ratio`,ze=`data-montilla-size-mobile`,Be=`data-montilla-height-mobile`,Ve=`data-montilla-ratio-mobile`,He=`data-montilla-tags`,I=`data-montilla-props`,L=`data-montilla-vars`;function R(e){let t={};for(let n of(e??``).split(`;`)){let e=n.indexOf(`=`);if(e<=0)continue;let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r&&i&&(t[r]=i)}return t}function Ue(e){if(e)try{let t=JSON.parse(e);return!t||typeof t!=`object`||Array.isArray(t)?void 0:t}catch{return}}var z={};function We(e){z={...z,...e}}var Ge=`data-montilla-collapse`,Ke=`data-montilla-ad-label`,qe=`data-montilla-mount`,Je=`data-montilla-mount-position`,B=`data-montilla-injected`,V=`data-montilla-reserved`,Ye=`montilla:ads:debug`,H=`data-montilla-debug-outline`,U=`data-montilla-debug-tag`,W=new WeakMap;function G(e){if(typeof e!=`string`)return e;if(/^\s*(\/|\(|\.\.?\/)/.test(e))try{let t=document.evaluate(e,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;return t instanceof HTMLElement?t:null}catch{return null}return document.querySelector(e)}function Xe(e){return e.decision!==null}var Ze=[`before`,`after`,`prepend`,`append`,`replace`];function Qe(e){return Ze.includes(e)?e:`append`}function K(e,t,n){switch(n){case`before`:e.before(t);break;case`after`:e.after(t);break;case`prepend`:e.prepend(t);break;case`replace`:e.replaceWith(t);break;default:e.append(t)}}var q=null;async function $e(){return q??=(async()=>{let e=await g();for(let t of e){let e=t.slug.replace(/["\\\]]/g,``);if(!e||document.querySelector(`[data-montilla-slot="${e}"]`))continue;let n=G(t.mount.target);if(!n)continue;let r=document.createElement(`div`);r.setAttribute(`data-montilla-slot`,e),t.size&&!s(t.size)&&r.setAttribute(`data-montilla-size`,t.size),r.setAttribute(B,``),K(n,r,t.mount.position)}})(),q}function et(){q=null}function tt(e){if(e.hasAttribute(B))return!0;let t=e.getAttribute(qe);if(!t)return!0;let n=G(t);return!n||n===e?!1:(K(n,e,Qe(e.getAttribute(Je))),e.setAttribute(B,``),!0)}function J(e,t,n,r){let i=t&&!s(t)?d(t):null;if(i)return e.setAttribute(V,``),e.style.setProperty(`min-height`,`${i.height}px`),e.style.setProperty(`max-width`,`${i.width}px`),!0;let a=nt(n);return a?(e.setAttribute(V,``),e.style.setProperty(`min-height`,a),!0):r?(e.setAttribute(V,``),e.style.setProperty(`aspect-ratio`,r),!0):!1}function nt(e){if(e==null||e===``)return null;let t=String(e).trim();return/^\d+(\.\d+)?$/.test(t)?`${t}px`:t}function rt(e){e.hasAttribute(V)&&(e.style.removeProperty(`min-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`aspect-ratio`),e.style.setProperty(`height`,`0`),e.style.setProperty(`overflow`,`hidden`))}function Y(e){e.hasAttribute(V)&&(e.removeAttribute(V),e.style.removeProperty(`min-height`),e.style.removeProperty(`max-width`),e.style.removeProperty(`aspect-ratio`))}function it(){return l.config?.ads?.mobileBreakpoint??768}function at(){return typeof window>`u`||typeof window.matchMedia!=`function`?null:window.matchMedia(`(max-width: ${it()}px)`)}function ot(){return typeof navigator>`u`?!1:/Android|iPhone|iPad|iPod|Mobi/i.test(navigator.userAgent)}function X(){return typeof window<`u`&&window.innerWidth===0?ot()?`mobile`:`desktop`:at()?.matches?`mobile`:`desktop`}var Z=new Map,st=!1;function ct(e,t){return t===`mobile`?e.mobile:e.desktop}
231function lt(){if(st)return;let e=at();!e||typeof e.addEventListener!=`function`||(st=!0,e.addEventListener(`change`,()=>{let e=X();for(let[t,n]of Z){if(!t.isConnected){Z.delete(t);continue}if(!t.hasAttribute(V)||t.style.height===`0px`)continue;let r=ct(n,e);Y(t),J(t,r.size,r.height,r.ratio)}}))}var Q=`data-montilla-debug`;function ut(){let e=l.config?.ads?.debug;if(e)return e===!0?`asset`:e;try{if(typeof localStorage>`u`)return`off`;let e=localStorage.getItem(Ye);return e===`1`||e===`box`?`box`:e===`asset`?`asset`:e===`asset-box`?`asset-box`:`off`}catch{return`off`}}var dt=`
232.mads-dbg {
233  box-sizing: border-box; flex: 1 0 auto; overflow: hidden;
234  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
235  border: 2px dashed #E5007A; border-radius: 8px; background: rgba(229,0,122,.06);
236  color: #E5007A; text-align: center; padding: 8px;
237  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
238}
239/* O piso de 88px vale SÓ para slot sem reserva. Quando a reserva existe, a
240 * moldura tem de caber nela: um piso aqui empurraria o host (min-height é piso,
241 * não teto) e a moldura passaria a mostrar uma área maior que a real — numa
242 * faixa de 64px ela media 88, 37% a mais, e cobria o que vem embaixo. O
243 * overflow hidden acima é o par disto: em reserva baixa o rótulo é cortado em
244 * vez de esticar a caixa. */
245.mads-dbg--dynamic { min-height: 88px; }
246.mads-dbg__name { font-size: .95rem; font-weight: 700; letter-spacing: .01em; word-break: break-word; }
247.mads-dbg__meta { font-size: .68rem; opacity: .8; text-transform: uppercase; letter-spacing: .08em; }
248
249/* Absoluto no canto porque a moldura corta o que transborda e a reserva pode
250 * ser baixa: no fluxo, este botão roubaria a linha do rótulo numa faixa de
251 * 64px. */
252.mads-dbg { position: relative; }
253.mads-dbg__more {
254  position: absolute; top: 4px; right: 4px;
255  width: 18px; height: 18px; padding: 0;
256  display: flex; align-items: center; justify-content: center;
257  border: 1px solid currentColor; border-radius: 50%; background: transparent;
258  color: inherit; font: inherit; font-size: .62rem; font-weight: 700;
259  line-height: 1; cursor: pointer; opacity: .65;
260}
261.mads-dbg__more:hover, .mads-dbg__more:focus-visible { opacity: 1; }
262
263.mads-dbg-panel {
264  max-width: min(30rem, 92vw); max-height: 80vh; overflow: auto;
265  border: 2px solid #E5007A; border-radius: 10px; padding: 16px;
266  background: #fff; color: #1a1a1a;
267  font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: .78rem;
268  /* Centralizar um dialog modal depende do trio inset:0 + width:fit-content +
269   * margin:auto, e o margin:auto vem SO do user-agent — que o proprio reset do
270   * SDK atropela: AD_STYLES (cms/styles.ts) abre zerando margin no seletor
271   * universal, e isso vale para tudo no shadow root, dialog incluido. Sem esta linha o painel
272   * abria grudado no canto superior esquerdo da viewport, longe de onde se
273   * clicou e fora da area visivel com a pagina rolada — e, sendo rosa
274   * tracejado, ainda se confundia com outra moldura de debug. Lia-se como "o
275   * botao nao faz nada".
276   *
277   * Vai aqui e nao no reset porque o reset esta certo para o resto do slot: o
278   * criativo nao deve herdar margem de lugar nenhum. Quem precisa de excecao e
279   * o dialog. */
280  margin: auto;
281}
282.mads-dbg-panel::backdrop { background: rgba(0,0,0,.45); }
283.mads-dbg-panel__title {
284  margin: 0 0 12px; font-size: .9rem; color: #E5007A; word-break: break-word;
285}
286.mads-dbg-panel__list {
287  display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0;
288}
289.mads-dbg-panel__list dt { opacity: .6; text-transform: uppercase; font-size: .62rem; letter-spacing: .06em; }
290/* A moldura centraliza o próprio rótulo, e o painel herda isso por estar
291 * dentro dela — numa lista de pares, centralizar torna a leitura penosa. */
292.mads-dbg-panel, .mads-dbg-panel__list dt, .mads-dbg-panel__list dd { text-align: left; }
293/* pre-line para a lista de tags, que sai com uma por linha. */
294.mads-dbg-panel__list dd { margin: 0; white-space: pre-line; word-break: break-word; }
295.mads-dbg-panel__close {
296  margin-top: 16px; padding: 6px 12px; cursor: pointer;
297  border: 1px solid #E5007A; border-radius: 6px;
298  background: transparent; color: #E5007A; font: inherit;
299}
300`,ft=`montilla-ads-debug-styles`;function pt(e){if(e instanceof ShadowRoot){let t=document.createElement(`style`);t.textContent=dt,e.appendChild(t);return}if(document.getElementById(ft))return;let t=document.createElement(`style`);t.id=ft,t.textContent=dt,document.head.appendChild(t)}function mt(e,t,n=!1){let{slot:r,size:i,height:a,ratio:o}=t,c=J(e,i,a,o);c||(e.setAttribute(Q,``),e.style.setProperty(`min-height`,`88px`));let l=t.shadow===!1?S(e):b(e);pt(l);let u=document.createElement(`div`);u.className=c?`mads-dbg`:`mads-dbg mads-dbg--dynamic`;let d=document.createElement(`div`);d.className=`mads-dbg__name`,d.textContent=r;let f=document.createElement(`div`);f.className=`mads-dbg__meta`;let p=i&&!s(i)?i:a||o?`full-width`:`dynamic`;f.textContent=n?`${p} · sem peça`:p,u.append(d,f),u.append(ht(t,p,n)),l.appendChild(u);let m={slot:r,decision:null,unmount:()=>{vt(e),l.replaceChildren(),W.delete(e)}};return W.set(e,m),m}function ht(e,t,n){let r=document.createElement(`div`),i=document.createElement(`dialog`);i.className=`mads-dbg-panel`;let a=document.createElement(`h2`);a.className=`mads-dbg-panel__title`,a.textContent=e.slot;let o=document.createElement(`dl`);o.className=`mads-dbg-panel__list`;
300for(let[r,i]of gt(e,t,n)){let e=document.createElement(`dt`);e.textContent=r;let t=document.createElement(`dd`);t.textContent=i,o.append(e,t)}let s=document.createElement(`button`);s.type=`button`,s.className=`mads-dbg-panel__close`,s.textContent=`fechar`,s.addEventListener(`click`,()=>i.close()),i.append(a,o,s);let c=document.createElement(`button`);return c.type=`button`,c.className=`mads-dbg__more`,c.textContent=`i`,c.setAttribute(`aria-label`,`Detalhes do slot ${e.slot}`),c.addEventListener(`click`,()=>{typeof i.showModal==`function`?i.showModal():i.open=!0}),r.append(c,i),r}function gt(e,t,n){let{tags:r,device:i,routePattern:a,pageType:o,shadow:s,collapse:c,adLabel:l,extraProps:u,popup:d,mountPosition:f,vars:p}=e,m=[[`modo`,n?`asset — pediu e não veio peça`:`box — não pediu nada`],[`reserva`,t],[`tags`,r?.length?r.join(`
301`):`—`],[`device`,i??`—`],[`página`,a??o??`—`]];return p&&Object.keys(p).length&&m.push([`vars`,JSON.stringify(p)]),d&&m.push([`popup`,JSON.stringify(d)]),f&&m.push([`injeção`,f]),m.push([`shadow DOM`,s===!1?`não`:`sim`]),c!==void 0&&m.push([`colapsa no vazio`,c?`sim`:`não`]),l!==void 0&&m.push([`rótulo de anúncio`,String(l)]),u&&m.push([`props do host`,JSON.stringify(u)]),m}function _t(e,t=!1){yt(),e.setAttribute(H,``),t&&e.setAttribute(U,``)}function vt(e){e.removeAttribute(H),e.removeAttribute(U),e.hasAttribute(Q)&&(e.removeAttribute(Q),e.style.removeProperty(`min-height`))}var $=`montilla-ads-debug-outline`;function yt(){if(typeof document>`u`||document.getElementById($))return;let e=document.createElement(`style`);e.id=$,e.textContent=`
302[${H}] { outline: 2px dashed #c75d08; outline-offset: -2px; }
303/* position relative só no modo com carimbo: é o containing block do ::after.
304   O host de um slot contém apenas o que o SDK monta, então posicioná-lo não
305   alcança nada da página. (Sem crases: isto vive num template literal.) */
306[${U}] { position: relative; }
307[${U}]::after {
308  content: attr(data-montilla-slot);
309  position: absolute; top: 0; left: 0; z-index: 2147483000;
310  padding: 1px 6px; border-radius: 0 0 4px 0;
311  background: #c75d08; color: #fff;
312  font: 600 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
313  pointer-events: none; white-space: nowrap;
314}`,document.head.appendChild(e)}function bt(e,t,n){return{packsUrl:l.config?.ads?.packsUrl,adLabel:t.adLabel??l.config?.ads?.adLabel,mobileBreakpoint:it(),extraProps:t.extraProps,onConversion:(t,r)=>n(`ad_click`,{...A(e.decision,t,xt(r)),...r}),onItemImpression:(t,r)=>n(`ad_item_impression`,{...A(e.decision,t,r),item_id:r})}}function xt(e){let t=e?.item_id;return typeof t==`string`&&t?t:void 0}async function St(e,t,n){let r=G(e);if(!r)return null;if(t.mountPosition){let e=document.createElement(`div`);e.setAttribute(B,``),K(r,e,t.mountPosition);let i=await Ct(e,{...t,mountPosition:void 0},n);if(!i)return e.remove(),null;let a=i.unmount;return i.unmount=()=>{a(),e.remove()},i}return Ct(r,t,n)}async function Ct(e,t,n){W.get(e)?.unmount();let r=ut(),i=r===`asset`||r===`asset-box`;if(r===`box`)return mt(e,t);vt(e);let a={...t,device:t.device??X()},o=!t.popup&&J(e,a.size,a.height,a.ratio),s=await h(a);if(!s||!Xe(s)||s.offers.length===0){if(i)return mt(e,t,!0);let n=t.collapse??l.config?.ads?.collapseEmpty??!0;return o&&n&&rt(e),null}i&&_t(e,r===`asset-box`);let c=l.config?.ads?.param??`mad`;if(s.renderMode===`custom`){o&&Y(e);let n={slot:t.slot,decision:s.decision,renderMode:`custom`,offers:s.offers,unmount:()=>{W.delete(e)}};return W.set(e,n),n}if(s.renderMode===`swap`){o&&Y(e);let r=wt(e,s,c,n),i={slot:t.slot,decision:s.decision,renderMode:`swap`,unmount:()=>{r(),W.delete(e)}};return W.set(e,i),i}let u=t.popup??s.popup??null;if(u){o&&rt(e);let r=b(e),i=k(r,s,c,bt(s,t,n)),a=document.createElement(`div`);for(let e of i)a.appendChild(e);let l=pe(r,a,u,{onOpen:()=>{for(let e of s.offers)n(`ad_impression`,A(s.decision,e))},onDismiss:()=>{for(let e of s.offers)n(`ad_dismiss`,A(s.decision,e))}},s.decision.adSetId??s.decision.campaignId,s.offers[0]?.image?.arts?.map(e=>({minWidth:e.minWidth,maxWidth:e.popup?.maxWidth,fullBleed:e.popup?.boxMode===`full`}
314))),d=j(i,s.offers,s.decision,n,{impressions:!1}),f={slot:t.slot,decision:s.decision,renderMode:`render`,unmount:()=>{d(),l.dispose(),D(i),r.replaceChildren(),W.delete(e)}};return W.set(e,f),f}let d=t.shadow===!1?S(e):b(e),f=k(d,s,c,bt(s,t,n)),p=j(f,s.offers,s.decision,n),m={slot:t.slot,decision:s.decision,renderMode:`render`,unmount:()=>{p(),D(f),d.replaceChildren(),W.delete(e)}};return W.set(e,m),m}function wt(e,t,n,r){let i=t.offers[0],a=e instanceof HTMLAnchorElement?e:e.querySelector(`a`),o=e instanceof HTMLImageElement?e:e.querySelector(`img`);a&&(a.href=C(i,n),a.rel=`sponsored noopener`),o&&i.logoUrl&&(o.src=i.logoUrl);let s=a??o??e;return s.dataset.offerId=i.tracking.offerId,j([s],[i],t.decision,r)}function Tt(e){let t=G(e);t&&W.get(t)?.unmount()}async function Et(e){lt(),await $e();let t=X(),n=Array.from(document.querySelectorAll(`[${M}]`));return(await Promise.all(n.map(n=>{let r=n.getAttribute(M);if(!r||!tt(n))return Promise.resolve(null);let i=e=>n.getAttribute(e)??void 0,a={size:i(N),height:i(P),ratio:i(F)},o={size:i(`data-montilla-size-mobile`)??a.size,height:i(`data-montilla-height-mobile`)??a.height,ratio:i(`data-montilla-ratio-mobile`)??a.ratio};Z.set(n,{desktop:a,mobile:o});let s=ct({desktop:a,mobile:o},t),c=(i(`data-montilla-tags`)??``).split(`,`).map(e=>e.trim()).filter(Boolean),l=[...new Set([...z.tags??[],...c])],u=n.getAttribute(Ge),d=u===null?void 0:u!==`false`,f=n.getAttribute(`data-montilla-shadow`)!==`false`,p=n.getAttribute(Ke),m=p===null?void 0:p===`true`||p!==`false`&&p,h=Ue(i(I)),g=R(i(L)),_={...z.vars??{},...g};return St(n,{slot:r,size:s.size,height:s.height,ratio:s.ratio,device:t,collapse:d,shadow:f,adLabel:m,extraProps:h,routePattern:z.routePattern,tags:l.length?l:void 0,vars:Object.keys(_).length?_:void 0},e)}))).filter(e=>e!==null)}export{Ge as AD_COLLAPSE_ATTR,Ye as AD_DEBUG_KEY,P as AD_HEIGHT_ATTR,Be as AD_HEIGHT_MOBILE_ATTR,Ke as AD_LABEL_ATTR,qe as AD_MOUNT_ATTR,Je as AD_MOUNT_POSITION_ATTR,I as AD_PROPS_ATTR,F as AD_RATIO_ATTR,Ve as AD_RATIO_MOBILE_ATTR,N as AD_SIZE_ATTR,ze as AD_SIZE_MOBILE_ATTR,M as AD_SLOT_ATTR,He as AD_TAGS_ATTR,L as AD_VARS_ATTR,Ue as parseExtraProps,R as parseVars,St as render,et as resetInjectedBindings,Et as scan,We as setPageContext,Tt as unmount};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.