@funnel10x/tracking 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -100
- package/dist/direct-init.js +13 -0
- package/dist/direct-rewrites.json +7 -0
- package/dist/gtm-fallback.html +24 -0
- package/dist/gtm-official.html +17 -0
- package/dist/gtm.html +4 -4
- package/dist/index.js +7 -7
- package/dist/tag.js +7 -7
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -28,6 +28,9 @@ CDN, no canal 1.x, e o SDK não vem neste ficheiro. O que faz numa página:
|
|
|
28
28
|
acrescentados), no URL do iframe de um form, inquérito ou calendário do GHL,
|
|
29
29
|
e nos links do checkout. O email, o `token` e o resto do URL não seguem: iam
|
|
30
30
|
para o URL do Stripe e para os campos do GHL, que é entregá-los a terceiros;
|
|
31
|
+
- **o `checkout` no clique num link do checkout** (desde a 2.2.0, Fase A41),
|
|
32
|
+
uma vez por link e por página: o início do checkout, do contrato dos
|
|
33
|
+
eventos (abaixo);
|
|
31
34
|
- **o identify pelo id do contacto** num link de email ou de SMS
|
|
32
35
|
(`?contact_id={{contact.id}}`);
|
|
33
36
|
- **o email e o telefone que a pessoa envia** (desde a 1.1.0, como a HYROS;
|
|
@@ -97,10 +100,13 @@ cada evento:
|
|
|
97
100
|
`supabase/verify/atr2b.sql` do admin guarda o resto: num host com este
|
|
98
101
|
snippet, nenhum `$pageview` de outra instalação no mesmo minuto.
|
|
99
102
|
|
|
100
|
-
Num contentor GTM partilhado por vários sites, a tag oficial
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
Num contentor GTM partilhado por vários sites, a tag oficial dispara nos hosts
|
|
104
|
+
que ainda não passaram ao snippet: em All Pages, com o acionador *Snippet hosts*
|
|
105
|
+
(o da tag do snippet) como **excepção**, e o *Direct hosts* (os sites `direct`,
|
|
106
|
+
com o snippet no build) como outra (Fase A2d do admin, que revê a lista de
|
|
107
|
+
inclusão da A2c: passar um host é uma edição da RegEx, e um host que ninguém
|
|
108
|
+
listou fica medido pela oficial, em vez de calado). A reserva é outra tag.
|
|
109
|
+
**Dentro de um
|
|
104
110
|
domínio registável, todas as instalações levam a mesma data de `defaults`**: o
|
|
105
111
|
cookie do PostHog é partilhado pelos subdomínios, e a data muda a regra entre o
|
|
106
112
|
cookie e o `localStorage` (`cookieWinsOnConflict`). A deste pacote é
|
|
@@ -152,7 +158,7 @@ de vir no ficheiro. É uma das razões de a 2.0.0 ser major.
|
|
|
152
158
|
O `package.json` do repo pina a versão exacta (sem `^`), e o build embute-o:
|
|
153
159
|
|
|
154
160
|
```json
|
|
155
|
-
{ "dependencies": { "@funnel10x/tracking": "2.
|
|
161
|
+
{ "dependencies": { "@funnel10x/tracking": "2.2.0" } }
|
|
156
162
|
```
|
|
157
163
|
|
|
158
164
|
```js
|
|
@@ -217,53 +223,57 @@ init({
|
|
|
217
223
|
Uma página cujo caminho acaba em `_` seguido de algarismos (a pré-visualização
|
|
218
224
|
de uma versão) não mede nada nem mexe nos forms.
|
|
219
225
|
|
|
226
|
+
## Num site com build próprio que não é da base, ou só com o header
|
|
227
|
+
|
|
228
|
+
O cartão PostHog do Account Settings dá as três maneiras, pela ordem do que é
|
|
229
|
+
melhor, já com a chave do projeto:
|
|
230
|
+
|
|
231
|
+
- **No build do site** (um Next.js ou um Vite na Vercel que não nasceu da
|
|
232
|
+
base `direct`): o `dist/direct-init.js` (o `init` com o `apiHost: '/_t'`) e
|
|
233
|
+
o `dist/direct-rewrites.json` (os três rewrites de cima, para o
|
|
234
|
+
`vercel.json`), que o build do pacote escreve e o
|
|
235
|
+
`tests/api/gtm-tags.test.mjs` compara com o bloco da secção de cima. O
|
|
236
|
+
`/_t` é o proxy no domínio do site, e por isso não leva o proxy gerido.
|
|
237
|
+
- **Colado no header** (um funil do GHL, um Webflow): a tag do snippet, o
|
|
238
|
+
`dist/gtm.html`, tal como está. Não depende do GTM, que a EasyPrivacy
|
|
239
|
+
bloqueia inteiro (`||googletagmanager.com^`), mas só passa pelas listas com o
|
|
240
|
+
proxy gerido no `apiHost`: sem ele, vai para o `i.posthog.com`, que a mesma
|
|
241
|
+
lista bloqueia (o `array.js` e o `/i/`). A reserva só corre pelo GTM (o
|
|
242
|
+
`f10x_tracking_failed` é um evento do `dataLayer`), e por isso um site sem
|
|
243
|
+
contentor não mede a visita em que o snippet falha.
|
|
244
|
+
- **Pelo GTM**: só a tag do snippet em All Pages, que é a mais simples (sem
|
|
245
|
+
a reserva, a visita em que o `tag.js` não carrega não se mede), ou as três
|
|
246
|
+
tags, abaixo.
|
|
247
|
+
|
|
248
|
+
Um host das duas primeiras num contentor com a oficial do PostHog entra no
|
|
249
|
+
acionador *Direct hosts*, que é a excepção dela, no dia em que passa.
|
|
250
|
+
|
|
220
251
|
## Num site que não é repo nosso: a tag do GTM
|
|
221
252
|
|
|
222
253
|
Num funil do GHL, num site institucional ou num site em Webflow, onde não há
|
|
223
|
-
build, o mesmo pacote carrega-se por uma tag Custom HTML do GTM
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
window.f10xTracking = window.__f10xTracking
|
|
247
|
-
return
|
|
248
|
-
}
|
|
249
|
-
if (window.__f10xTrackingFailed) return
|
|
250
|
-
window.__f10xTrackingFailed = true
|
|
251
|
-
;(window.dataLayer = window.dataLayer || []).push({ event: 'f10x_tracking_failed' })
|
|
252
|
-
}
|
|
253
|
-
var script = document.createElement('script')
|
|
254
|
-
script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.1.0/dist/tag.js'
|
|
255
|
-
script.integrity = 'sha384-…'
|
|
256
|
-
script.crossOrigin = 'anonymous'
|
|
257
|
-
script.onload = function () {
|
|
258
|
-
clearTimeout(timer)
|
|
259
|
-
if (!(window.f10xTracking && window.f10xTracking.version)) failed()
|
|
260
|
-
}
|
|
261
|
-
script.onerror = failed
|
|
262
|
-
timer = setTimeout(failed, 10000)
|
|
263
|
-
document.head.appendChild(script)
|
|
264
|
-
})()
|
|
265
|
-
</script>
|
|
266
|
-
```
|
|
254
|
+
build, o mesmo pacote carrega-se por uma tag Custom HTML do GTM, **em vez da tag
|
|
255
|
+
oficial do PostHog, que fica só como reserva** (*Uma instalação activa por
|
|
256
|
+
página*, acima, e *A reserva*, abaixo), **pela versão fixa** no URL do jsDelivr
|
|
257
|
+
e com o hash do ficheiro no `integrity`. **As três tags de um contentor geram-se
|
|
258
|
+
no admin**, já com a chave do projeto e o proxy gerido da account: em Account
|
|
259
|
+
Settings › Integrations, no cartão PostHog, *Install the tracking on a site*
|
|
260
|
+
(Fase A2d do plano da atribuição), com os acionadores e os passos de
|
|
261
|
+
instalar, de passar um host e de ligar o proxy. O que o cartão gera são os
|
|
262
|
+
ficheiros do `dist/` sem o comentário de cabeça, com os marcadores trocados, e
|
|
263
|
+
mais nada:
|
|
264
|
+
|
|
265
|
+
| ficheiro | a tag | dispara |
|
|
266
|
+
| --- | --- | --- |
|
|
267
|
+
| `dist/gtm.html` | o snippet, desta versão | no acionador *Snippet hosts* (Page View, *Page Hostname* corresponde à RegEx) |
|
|
268
|
+
| `dist/gtm-fallback.html` | a oficial do PostHog como reserva, com o `tracking_fallback` | só no evento personalizado `f10x_tracking_failed` |
|
|
269
|
+
| `dist/gtm-official.html` | a oficial do PostHog, para os hosts que ainda não passaram | em All Pages, com o *Snippet hosts* e o *Direct hosts* como excepção |
|
|
270
|
+
|
|
271
|
+
As três levam a condição de consentimento de analytics do site, quando ele tem
|
|
272
|
+
banner. Só se trocam a chave, o host (o `apiHost` no snippet, o `api_host` nas
|
|
273
|
+
oficiais: o proxy gerido da account, abaixo, ou o PostHog directo), os hosts do
|
|
274
|
+
checkout, os domínios ligados (*O cross-domain*, abaixo; vazio, desligado) e,
|
|
275
|
+
numa emergência, o `sdkVersion`. Uma oficial que já exista no contentor
|
|
276
|
+
substitui-se pela gerada, que traz a data dos `defaults` do pacote.
|
|
267
277
|
|
|
268
278
|
**Desde a 2.1.0 a tag diz quando o snippet não arrancou**: empurra para o
|
|
269
279
|
`dataLayer` o evento `f10x_tracking_failed`, uma vez por página, quando o
|
|
@@ -295,7 +305,9 @@ organização, *Managed reverse proxy*) que recebe os envios e os passa ao
|
|
|
295
305
|
PostHog, e serve também o `array.js`. Com ele, o `apiHost` da tag é esse
|
|
296
306
|
subdomínio: na IR,
|
|
297
307
|
`https://p.infinityresponse.com`, e na IMO Circle, `https://p.imocircle.com`
|
|
298
|
-
(os dois válidos, lidos no PostHog a 2026-10-08; o Piko ainda não tem).
|
|
308
|
+
(os dois válidos, lidos no PostHog a 2026-10-08; o Piko ainda não tem). O
|
|
309
|
+
admin guarda o de cada projeto (o *Managed proxy* do mesmo cartão, que só grava
|
|
310
|
+
um host que sirva o SDK do PostHog), e gera as três tags com ele. As listas que bloqueiam pelo nome do domínio deixam de o apanhar;
|
|
299
311
|
o uBlock Origin no Firefox, que lê o CNAME, apanha na mesma, e quanto se
|
|
300
312
|
recupera não se mede, porque o que é bloqueado não chega para se contar. O
|
|
301
313
|
subdomínio é de outra origem que a página, e por isso o browser só lhe manda a
|
|
@@ -332,57 +344,35 @@ Num site com a tag do snippet, a tag oficial do PostHog passa a reserva
|
|
|
332
344
|
(decisão 1 da A2c): uma tag Custom HTML (o template da galeria não tem onde pôr
|
|
333
345
|
uma função) com o snippet oficial do PostHog, que dispara **só no evento
|
|
334
346
|
personalizado `f10x_tracking_failed`**, e por isso só quando o snippet tentou e
|
|
335
|
-
não conseguiu, nunca antes dele.
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
posthog.init('{{PostHog project key}}', {
|
|
352
|
-
api_host: 'https://us.i.posthog.com',
|
|
353
|
-
ui_host: 'https://us.posthog.com',
|
|
354
|
-
defaults: '2026-08-30',
|
|
355
|
-
person_profiles: 'identified_only',
|
|
356
|
-
custom_campaign_params: ['a_campaign_id', 'a_adset_id', 'a_ad_id', 'h_ad_id', 'fbc_id', 'utm_id', 'utm_placement', 'lp', 'narrative'],
|
|
357
|
-
before_send: function (event) {
|
|
358
|
-
if (event && event.event !== '$snapshot') {
|
|
359
|
-
event.properties = event.properties || {}
|
|
360
|
-
event.properties.tracking_fallback = true
|
|
361
|
-
}
|
|
362
|
-
return event
|
|
363
|
-
}
|
|
364
|
-
})
|
|
365
|
-
</script>
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
O `custom_campaign_params` é o do pacote, para os ids de anúncio irem como
|
|
369
|
-
propriedades nas duas instalações. **O trigger é um evento personalizado**, com
|
|
370
|
-
o nome `f10x_tracking_failed`, e **a mesma condição de consentimento da tag do
|
|
371
|
-
snippet**. Nunca All Pages nem *Window Loaded*: em All Pages a oficial dispara
|
|
372
|
-
antes de o `tag.js` chegar e toma o arranque (o `conflict`), e num site com
|
|
373
|
-
banner o `load` chega antes do sim, a reserva media sem ele, e quando o sim
|
|
347
|
+
não conseguiu, nunca antes dele. É o `dist/gtm-fallback.html`, que o build
|
|
348
|
+
escreve e o Account Settings gera já preenchido: o stub do snippet oficial (a
|
|
349
|
+
forma que as definições do projeto dão hoje, a do `snippetFunctions` do
|
|
350
|
+
PostHog, que insere o `array.js` uma vez só e deixa repetir depois de uma
|
|
351
|
+
falha, com a lista de métodos do posthog-js da devDependency), a mesma chave e o mesmo `api_host` da tag do snippet, a data de
|
|
352
|
+
`defaults` e o `custom_campaign_params` do pacote (para os ids de anúncio irem
|
|
353
|
+
como propriedades nas duas instalações), `person_profiles: 'identified_only'`,
|
|
354
|
+
e um **`before_send` que carimba `tracking_fallback: true` em cada evento**, que
|
|
355
|
+
é o que distingue uma visita pela reserva nos dados (o admin guarda-o). Pelo
|
|
356
|
+
`before_send` e não pelo `register`, que persistia e marcava os `$pageview` do
|
|
357
|
+
snippet nas páginas seguintes.
|
|
358
|
+
|
|
359
|
+
**O trigger é um evento personalizado**, com a mesma condição de consentimento
|
|
360
|
+
da tag do snippet. Nunca All Pages nem *Window Loaded*: em All Pages a oficial
|
|
361
|
+
dispara antes de o `tag.js` chegar e toma o arranque (o `conflict`), e num site
|
|
362
|
+
com banner o `load` chega antes do sim, a reserva media sem ele, e quando o sim
|
|
374
363
|
fizesse correr a tag do snippet ela dava `conflict`. Pelo evento, a reserva já
|
|
375
364
|
é segura contra duplicados: com o snippet carregado o evento não sai, e se
|
|
376
365
|
saísse o `init` dela era um no-op no stub do snippet.
|
|
377
366
|
|
|
378
367
|
**Num contentor partilhado** (o `GTM-PM4T6FGX` do Piko) são duas tags oficiais:
|
|
379
|
-
a
|
|
380
|
-
|
|
381
|
-
outra tag, só no `f10x_tracking_failed`, com o `before_send`. Uma tag
|
|
382
|
-
as duas coisas disparava em All Pages antes do `tag.js` nos hosts do
|
|
383
|
-
`conflict`) e carimbava `tracking_fallback`
|
|
384
|
-
reserva nenhuma. A tag do snippet
|
|
385
|
-
o snippet vai no build)
|
|
368
|
+
a dos hosts que ainda não passaram (o `dist/gtm-official.html`), em All Pages,
|
|
369
|
+
sem `before_send`, com o *Snippet hosts* e o *Direct hosts* como excepção; e a
|
|
370
|
+
reserva, outra tag, só no `f10x_tracking_failed`, com o `before_send`. Uma tag
|
|
371
|
+
só a fazer as duas coisas disparava em All Pages antes do `tag.js` nos hosts do
|
|
372
|
+
snippet (o `conflict`) e carimbava `tracking_fallback` nos hosts da oficial, que
|
|
373
|
+
não é reserva nenhuma. A tag do snippet dispara só no *Snippet hosts*, e por
|
|
374
|
+
isso nunca nos hosts `direct` (onde o snippet vai no build) nem nos que ainda
|
|
375
|
+
estão na oficial.
|
|
386
376
|
|
|
387
377
|
**O que a reserva cobre**: o jsDelivr em baixo ou bloqueado, um `integrity` que
|
|
388
378
|
não bata, e um erro nosso no arranque. **O que não cobre**: uma versão do SDK
|
|
@@ -506,6 +496,31 @@ O que se sabe e se aceitou:
|
|
|
506
496
|
- **um relógio adiantado no browser de origem perde a sessão, e não a
|
|
507
497
|
pessoa**: o posthog-js ignora um `sessionID` com mais de 1 minuto no futuro.
|
|
508
498
|
|
|
499
|
+
## O contrato dos eventos
|
|
500
|
+
|
|
501
|
+
Um funil manda três eventos custom, e só estes (Fase A41 do plano da
|
|
502
|
+
atribuição, 2026-10-16):
|
|
503
|
+
|
|
504
|
+
| evento | quando | quem o manda |
|
|
505
|
+
| --- | --- | --- |
|
|
506
|
+
| `contact_captured` | o email ou o telefone sai num form, ou chega no URL (`contact_source`: `form` ou `url`), cada valor uma vez por página | o snippet |
|
|
507
|
+
| `checkout` | o **início** do checkout: o clique num link para um host do Stripe ou do `checkoutHosts`, uma vez por link e por página, com o `checkout_host` | o snippet, desde a 2.2.0; um checkout aberto por código (um botão com redirect, um checkout embebido) chama `f10xTracking.capture('checkout')` |
|
|
508
|
+
| `purchase` | o pagamento confirmado, com o `session_id` (o `cs_…` da sessão de checkout do Stripe), o `currency`, o `amount_total` e o `product` | o código do funil, na página de obrigado |
|
|
509
|
+
|
|
510
|
+
- O `contact_captured` é a ponte para o contacto, e **não uma etapa do funil**:
|
|
511
|
+
dispara também num form de checkout, e um opt-in, uma marcação e uma compra
|
|
512
|
+
dão o mesmo. O lead é o contacto no CRM.
|
|
513
|
+
- O `checkout` vai já, e não na fila (o `send_instantly` do posthog-js), porque
|
|
514
|
+
a página sai a seguir. Um site cujo código já mande o seu `checkout` tira-o
|
|
515
|
+
quando passar ao snippet, senão conta dois.
|
|
516
|
+
- O `purchase` liga a venda pelo `cs_…`, por isso tem de disparar em todas as
|
|
517
|
+
compras: no Piko, a 2026-10-16, o `purchase` ligava 78% das vendas e o
|
|
518
|
+
`checkout_completed` todas.
|
|
519
|
+
- Não há evento de marcação: o calendário do GHL vem num iframe, onde o
|
|
520
|
+
PostHog não arranca, e a marcação, a presença e o no-show vêm do GHL.
|
|
521
|
+
- O `lead` e o `checkout_completed` deixaram de ser contrato; o admin continua
|
|
522
|
+
a aceitá-los, pelo histórico e pelos funis que ainda os mandam.
|
|
523
|
+
|
|
509
524
|
## A API
|
|
510
525
|
|
|
511
526
|
`init(options)` (ou a tag) devolve, e põe em `window.f10xTracking`:
|
|
@@ -517,8 +532,9 @@ O que se sabe e se aceitou:
|
|
|
517
532
|
- `fields()`: os valores de cima, agora;
|
|
518
533
|
- `grant()`, `deny()`, `consent()`: o interruptor de um site `direct`;
|
|
519
534
|
- `onReady(fn)`: quando o PostHog estiver a medir;
|
|
520
|
-
- `capture(event, properties)`: um evento pelo mesmo PostHog (o `
|
|
521
|
-
|
|
535
|
+
- `capture(event, properties)`: um evento pelo mesmo PostHog (o `purchase` da
|
|
536
|
+
página de obrigado, o `checkout` de um checkout aberto por código), que sem
|
|
537
|
+
consentimento não faz nada;
|
|
522
538
|
- `posthog`: a instância do PostHog depois de o SDK arrancar, e o stub até lá
|
|
523
539
|
(o que se lhe chamar fica na fila, como no stub oficial). O
|
|
524
540
|
`window.posthog` é o mesmo, e é por ele que as tags do GTM o usam.
|
|
@@ -626,7 +642,10 @@ Antes de ligar o tráfego:
|
|
|
626
642
|
campos de atribuição da tabela, com o *query key* igual ao nome.
|
|
627
643
|
5. **Os links de email e de SMS** levam `contact_id={{contact.id}}`.
|
|
628
644
|
6. **O checkout**: o host em `checkoutHosts` (o Stripe já lá está), e num
|
|
629
|
-
checkout em código os `fields()` na metadata
|
|
645
|
+
checkout em código os `fields()` na metadata e o `capture('checkout')` no
|
|
646
|
+
clique. Um clique de teste num link do checkout deixa um `checkout` no
|
|
647
|
+
PostHog, e a página de obrigado manda o `purchase` com o `cs_…` em todas as
|
|
648
|
+
compras (*O contrato dos eventos*, acima); nenhum outro evento custom.
|
|
630
649
|
7. **Os anúncios**: o texto do gerador de links nos anúncios da Meta e da
|
|
631
650
|
Google, e os links orgânicos gerados por ele, com as UTMs da Traffic Sources.
|
|
632
651
|
8. **A prova**: na consola, com a reserva instalada,
|
|
@@ -660,7 +679,10 @@ serve nesse dia, e abre uma issue quando falha.
|
|
|
660
679
|
|
|
661
680
|
Uma versão nova: subir a `version` no `package.json` (semver: uma mudança no
|
|
662
681
|
que os forms ou os eventos levam é minor, uma que parte uma integração é
|
|
663
|
-
major), `npm run build`,
|
|
682
|
+
major), `npm run build`, e no mesmo PR, em `apps-src/account-settings`, o
|
|
683
|
+
`npm install` e o `npm run install-build` (o Account Settings importa as três
|
|
684
|
+
tags do `dist/` pelo nome do pacote, e a CI falha se o bundle não for o que
|
|
685
|
+
elas dão); depois do merge, da `main`, nesta pasta:
|
|
664
686
|
|
|
665
687
|
```bash
|
|
666
688
|
npm publish --dry-run
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
@funnel10x/tracking@2.2.0: o arranque num site com build próprio, uma vez por carregamento da página, no browser (num Next.js, um
|
|
3
|
+
componente 'use client' no layout de raiz, como o Tracking.tsx da base direct). Só se muda a chave; o consent, os checkoutHosts e os
|
|
4
|
+
linkedDomains são do site (o README do pacote). O /_t só existe com os rewrites do dist/direct-rewrites.json no vercel.json do site.
|
|
5
|
+
*/
|
|
6
|
+
import { init } from '@funnel10x/tracking'
|
|
7
|
+
|
|
8
|
+
init({
|
|
9
|
+
key: '{{PostHog project key}}',
|
|
10
|
+
apiHost: '/_t',
|
|
11
|
+
checkoutHosts: [],
|
|
12
|
+
linkedDomains: []
|
|
13
|
+
})
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"rewrites": [
|
|
3
|
+
{ "source": "/_t/static/:path(.*)", "destination": "https://us-assets.i.posthog.com/static/:path" },
|
|
4
|
+
{ "source": "/_t/array/:path(.*)", "destination": "https://us-assets.i.posthog.com/array/:path" },
|
|
5
|
+
{ "source": "/_t/:path(.*)", "destination": "https://us.i.posthog.com/:path" }
|
|
6
|
+
]
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@funnel10x/tracking@2.2.0: a tag de reserva do GTM (Custom HTML), num site com a tag do gtm.html (decisão 1 da A2c).
|
|
3
|
+
Dispara só no evento personalizado f10x_tracking_failed, com a mesma condição de consentimento da tag do snippet; nunca em All Pages
|
|
4
|
+
nem em Window Loaded. O before_send carimba tracking_fallback em cada evento, que é o que distingue uma visita pela reserva nos dados.
|
|
5
|
+
Só se mudam a chave e o api_host (o proxy gerido da account, se o tiver, e senão o PostHog directo), os mesmos da tag do gtm.html.
|
|
6
|
+
O Account Settings do admin (Integrations, no cartão PostHog) gera-a já preenchida, com a do snippet e os acionadores.
|
|
7
|
+
-->
|
|
8
|
+
<script>
|
|
9
|
+
!function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}p||((p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",p.onerror=function(){p=null},(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r));var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],Object.defineProperty(u,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e}}),Object.defineProperty(u.people,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(){return u.toString(1)+".people (stub)"}}),o="addExceptionStep alias calculateEventProperties canRenderSurvey canRenderSurveyAsync cancelPendingSurvey capture captureException captureLog captureTraceFeedback captureTraceMetric clearIdentity clear_opt_in_out_capturing createPersonProfile debug displaySurvey getActiveMatchingSurveys getAllFeatureFlags getEarlyAccessFeatures getExtension getFeatureFlag getFeatureFlagPayload getFeatureFlagResult getGroups getPageViewId getSessionProperty getSurveys get_distinct_id get_explicit_consent_status get_property get_session_id get_session_replay_url group has_opted_in_capturing has_opted_out_capturing identify init isFeatureEnabled is_capturing loadToolbar on onActiveMatchingSurveysChanged onFeatureFlags onSessionId onSurveysLoaded opt_in_capturing opt_out_capturing register register_for_session register_once reloadFeatureFlags renderSurvey reset resetGroupPropertiesForFlags resetGroups resetPersonPropertiesForFlags sessionRecordingStarted setGroupPropertiesForFlags setIdentity setInternalOrTestUser setPersonProperties setPersonPropertiesForFlags set_config shutdown startExceptionAutocapture startSessionRecording stopExceptionAutocapture stopSessionRecording unregister unregister_for_session unsetPersonProperties updateEarlyAccessFeatureEnrollment updateFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
|
|
10
|
+
posthog.init('{{PostHog project key}}', {
|
|
11
|
+
api_host: 'https://us.i.posthog.com',
|
|
12
|
+
ui_host: 'https://us.posthog.com',
|
|
13
|
+
defaults: '2026-08-30',
|
|
14
|
+
person_profiles: 'identified_only',
|
|
15
|
+
custom_campaign_params: ['a_campaign_id', 'a_adset_id', 'a_ad_id', 'h_ad_id', 'fbc_id', 'utm_id', 'utm_placement', 'lp', 'narrative'],
|
|
16
|
+
before_send: function (event) {
|
|
17
|
+
if (event && event.event !== '$snapshot') {
|
|
18
|
+
event.properties = event.properties || {}
|
|
19
|
+
event.properties.tracking_fallback = true
|
|
20
|
+
}
|
|
21
|
+
return event
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
</script>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@funnel10x/tracking@2.2.0: a tag oficial do PostHog (Custom HTML) para os hosts que ainda não passaram ao snippet, num contentor com a tag do gtm.html.
|
|
3
|
+
Dispara em All Pages, com o acionador Snippet hosts (os hosts da tag do snippet) como excepção, e o Direct hosts (os sites direct, com o
|
|
4
|
+
snippet no build) como outra. Passar um host ao snippet é acrescentá-lo à RegEx do Snippet hosts, numa só publicação.
|
|
5
|
+
Só se mudam a chave e o api_host (o proxy gerido da account, se o tiver, e senão o PostHog directo), os mesmos da tag do gtm.html.
|
|
6
|
+
O Account Settings do admin (Integrations, no cartão PostHog) gera-a já preenchida, com a do snippet e os acionadores.
|
|
7
|
+
-->
|
|
8
|
+
<script>
|
|
9
|
+
!function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}p||((p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",p.onerror=function(){p=null},(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r));var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],Object.defineProperty(u,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e}}),Object.defineProperty(u.people,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(){return u.toString(1)+".people (stub)"}}),o="addExceptionStep alias calculateEventProperties canRenderSurvey canRenderSurveyAsync cancelPendingSurvey capture captureException captureLog captureTraceFeedback captureTraceMetric clearIdentity clear_opt_in_out_capturing createPersonProfile debug displaySurvey getActiveMatchingSurveys getAllFeatureFlags getEarlyAccessFeatures getExtension getFeatureFlag getFeatureFlagPayload getFeatureFlagResult getGroups getPageViewId getSessionProperty getSurveys get_distinct_id get_explicit_consent_status get_property get_session_id get_session_replay_url group has_opted_in_capturing has_opted_out_capturing identify init isFeatureEnabled is_capturing loadToolbar on onActiveMatchingSurveysChanged onFeatureFlags onSessionId onSurveysLoaded opt_in_capturing opt_out_capturing register register_for_session register_once reloadFeatureFlags renderSurvey reset resetGroupPropertiesForFlags resetGroups resetPersonPropertiesForFlags sessionRecordingStarted setGroupPropertiesForFlags setIdentity setInternalOrTestUser setPersonProperties setPersonPropertiesForFlags set_config shutdown startExceptionAutocapture startSessionRecording stopExceptionAutocapture stopSessionRecording unregister unregister_for_session unsetPersonProperties updateEarlyAccessFeatureEnrollment updateFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
|
|
10
|
+
posthog.init('{{PostHog project key}}', {
|
|
11
|
+
api_host: 'https://us.i.posthog.com',
|
|
12
|
+
ui_host: 'https://us.posthog.com',
|
|
13
|
+
defaults: '2026-08-30',
|
|
14
|
+
person_profiles: 'identified_only',
|
|
15
|
+
custom_campaign_params: ['a_campaign_id', 'a_adset_id', 'a_ad_id', 'h_ad_id', 'fbc_id', 'utm_id', 'utm_placement', 'lp', 'narrative']
|
|
16
|
+
})
|
|
17
|
+
</script>
|
package/dist/gtm.html
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
@funnel10x/tracking@2.
|
|
2
|
+
@funnel10x/tracking@2.2.0: a tag do GTM (Custom HTML, em All Pages, com a condição de consentimento do site, se ele tiver banner).
|
|
3
3
|
Num site com esta tag, a tag oficial do PostHog só existe como reserva (decisão 1 da A2c): outra tag Custom HTML, com a mesma chave, que dispara
|
|
4
4
|
só no evento personalizado f10x_tracking_failed, que esta empurra para o dataLayer, uma vez, quando o tag.js não carrega (o jsDelivr em baixo ou
|
|
5
|
-
bloqueado, um integrity que não bate) ou carrega e não arranca (o window.f10xTracking sem version). A
|
|
5
|
+
bloqueado, um integrity que não bate) ou carrega e não arranca (o window.f10xTracking sem version). A reserva é o dist/gtm-fallback.html, ao lado.
|
|
6
6
|
Só se mudam a chave, o apiHost (o proxy gerido da account, se o tiver), os checkoutHosts, os linkedDomains (o cross-domain, desligado com a
|
|
7
7
|
lista vazia) e, numa emergência, o sdkVersion (uma versão exacta do posthog-js); uma versão nova do pacote é um ficheiro novo.
|
|
8
8
|
O script do jsDelivr cria-se por código, com o onload e o onerror como propriedades: um atributo onload no HTML é um handler inline, que o GTM
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
;(window.dataLayer = window.dataLayer || []).push({ event: 'f10x_tracking_failed' })
|
|
32
32
|
}
|
|
33
33
|
var script = document.createElement('script')
|
|
34
|
-
script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.
|
|
35
|
-
script.integrity = 'sha384-
|
|
34
|
+
script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.2.0/dist/tag.js'
|
|
35
|
+
script.integrity = 'sha384-2j0oWs30fSU+6UtXb4WcrJ0Gi3Ezss5xWEwZ+jFI+8tqVvyJa3zwOPP5n+l99Ksn'
|
|
36
36
|
script.crossOrigin = 'anonymous'
|
|
37
37
|
script.onload = function () {
|
|
38
38
|
clearTimeout(timer)
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var D=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var ot="5.3.0";function
|
|
2
|
-
`),...e}}function tn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function it(){let e=window,t=navigator;return S(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function nn(){let e=window,t=navigator;return S(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!it()}function X(){let e=window,t=navigator;return S(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function F(){let e=window,t=navigator;return S(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function ve(){let e=window,{HTMLElement:t,Document:n}=e;return S(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function B(){let e=window;return tn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function J(){var e,t;let n=window;return S(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function on(){let e=window,t=navigator,{CSS:n}=e;return S(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function st(){let{CSS:e}=window;return S([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function rn(){let e=window;return S([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function sn(){let e=window,{URLPattern:t}=e;return S(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function an(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return S([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function cn(){let e=window;return S(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function U(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return S([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function un(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return S(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function ln(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function dn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ce(){var e,t;let n=X(),o=J(),r=window,a=navigator;return n?S([mn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?S(["onorientationchange"in r,"orientation"in r,/android/i.test(a.appVersion)])>=2:!1}function fn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return S(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function mn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var pn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function hn(e){let t=gn(e),n=yn(t);return{score:t,comment:pn.replace(/\$/g,`${n}`)}}function gn(e){if(ce())return .4;if(F())return ve()&&!(U()&&B())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function yn(e){return rt(.99+.01*e,1e-4)}function ae(e,t){return new Promise(n=>setTimeout(n,e,t))}function bn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function wn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):ae(Math.min(e,t))}function at(e){return!!e&&typeof e.then=="function"}function Ye(e,t){try{let n=e();at(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function Xe(e,t,n=16){let o=Array(e.length),r=Date.now();for(let a=0;a<e.length;++a){o[a]=t(e[a],a);let c=Date.now();c>=r+n&&(r=c,await bn())}return o}function z(e){return e.then(void 0,()=>{}),e}function _n(e){return typeof e!="function"}function vn(e,t){let n=z(new Promise(o=>{let r=Date.now();Ye(e.bind(null,t),(...a)=>{let c=Date.now()-r;if(!a[0])return o(()=>({error:a[1],duration:c}));let l=a[1];if(_n(l))return o(()=>({value:l,duration:c}));o(()=>new Promise(d=>{let u=Date.now();Ye(l,(...s)=>{let i=c+Date.now()-u;if(!s[0])return d({error:s[1],duration:i});d({value:s[1],duration:i})})}))})}));return function(){return n.then(r=>r())}}function Sn(e,t,n,o){let r=Object.keys(e).filter(c=>Kt(n,c)),a=z(Xe(r,c=>vn(e[c],t),o));return async function(){let l=await a,d=await Xe(l,i=>z(i()),o),u=await Promise.all(d),s={};for(let i=0;i<r.length;++i)s[r[i]]=u[i];return s}}async function ct(e,t,n=50){var o,r,a;let c=document;for(;!c.body;)await ae(n);let l=c.createElement("iframe");try{for(await new Promise((d,u)=>{let s=!1,i=()=>{s=!0,d()},p=g=>{s=!0,u(g)};l.onload=i,l.onerror=p;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",c.body.appendChild(l);let h=()=>{var g,R;s||(((R=(g=l.contentWindow)===null||g===void 0?void 0:g.document)===null||R===void 0?void 0:R.readyState)==="complete"?i():setTimeout(h,10))};h()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await ae(n);return await e(l,l.contentWindow)}finally{(a=l.parentNode)===null||a===void 0||a.removeChild(l)}}function kn(e){let[t,n]=Qt(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let a=n[r].join(" ");r==="style"?xn(o.style,a):o.setAttribute(r,a)}return o}function xn(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,a,,c]=o;e.setProperty(r,a,c||"")}}}function Ln(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function An(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Pn())return-3;try{return e.canMakePayments()?1:0}catch(t){return In(t)}}var Pn=Ln;function In(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Fn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Cn(){return Rn()?-4:En()}function En(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Mn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),a=r.createOscillator();a.type="triangle",a.frequency.value=1e4;let c=r.createDynamicsCompressor();c.threshold.value=-50,c.knee.value=40,c.ratio.value=12,c.attack.value=0,c.release.value=.25,a.connect(c),c.connect(r.destination),a.start(0);let[l,d]=Vn(r),u=z(l.then(s=>Tn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(d(),u)}function Mn(){return F()&&!ve()&&!cn()}function Rn(){return F()&&U()&&B()||X()&&fn()&&sn()}function Vn(e){let a=()=>{};return[new Promise((l,d)=>{let u=!1,s=0,i=0;e.oncomplete=h=>l(h.renderedBuffer);let p=()=>{setTimeout(()=>d($e("timeout")),Math.min(500,i+5e3-Date.now()))},m=()=>{try{let h=e.startRendering();switch(at(h)&&z(h),e.state){case"running":i=Date.now(),u&&p();break;case"suspended":document.hidden||s++,u&&s>=3?d($e("suspended")):setTimeout(m,500);break}}catch(h){d(h)}};m(),a=()=>{u||(u=!0,i>0&&p())}}),a]}function Tn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function $e(e){let t=new Error(e);return t.name=e,t}function Wn(){if(!(ce()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Dn(){return Nn(Xn())}function Nn(e){let t=!1,n,o,[r,a]=Gn();return Zn(r,a)?(t=Hn(a),e?n=o="skipped":[n,o]=On(r,a)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Gn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function Zn(e,t){return!!(t&&e.toDataURL)}function Hn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function On(e,t){jn(e,t);let n=he(e),o=he(e);return n!==o?["unstable","unstable"]:(Yn(e,t),[he(e),n])}function jn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function Yn(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function he(e){return e.toDataURL()}function Xn(){let e=F()&&U()&&B(),t=J()&&on();return e||t}function $n(){return window.screen.colorDepth}function zn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function Bn(){if(O("no-preference"))return 0;if(O("high")||O("more"))return 1;if(O("low")||O("less"))return-1;if(O("forced"))return 10}function O(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function Jn(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function Un(){return navigator.cpuClass}function Kn(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function Qn(){return E(I(navigator.deviceMemory),void 0)}function qn(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function eo({debug:e}={}){if(!to())return;let t=qn(),n=Object.keys(t),o=[].concat(...n.map(c=>t[c])),r=await no(o);e&&oo(t,r);let a=n.filter(c=>{let l=t[c];return S(l.map(u=>r[u]))>l.length*.6});return a.sort(),a}function to(){return F()||ce()}async function no(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),a={};ze(o);for(let c=0;c<e.length;++c){let l=kn(e[c]);l.tagName==="DIALOG"&&l.show();let d=n.createElement("div");ze(d),d.appendChild(l),o.appendChild(d),r[c]=l}for(;!n.body;)await ae(50);n.body.appendChild(o);try{for(let c=0;c<e.length;++c)r[c].offsetParent||(a[e[c]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return a}function ze(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function oo(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
1
|
+
var D=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var ot="5.3.0";function Kt(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function Qt(e,t){return!Kt(e,t)}function _e(e){return parseInt(e)}function F(e){return parseFloat(e)}function M(e,t){return typeof e=="number"&&isNaN(e)?t:e}function k(e){return e.reduce((t,n)=>t+(n?1:0),0)}function rt(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function qt(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),s=r[1]||void 0,a={},l=/([.:#][\w-]+|\[.+?\])/gi,d=(u,i)=>{a[u]=a[u]||[],a[u].push(i)};for(;;){let u=l.exec(r[2]);if(!u)break;let i=u[0];switch(i[0]){case".":d("class",i.slice(1));break;case"#":d("id",i.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(i);if(c)d(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[s,a]}function en(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function tn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
|
|
2
|
+
`),...e}}function nn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function it(){let e=window,t=navigator;return k(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function on(){let e=window,t=navigator;return k(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!it()}function X(){let e=window,t=navigator;return k(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function C(){let e=window,t=navigator;return k(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function ve(){let e=window,{HTMLElement:t,Document:n}=e;return k(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function B(){let e=window;return nn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function J(){var e,t;let n=window;return k(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function rn(){let e=window,t=navigator,{CSS:n}=e;return k(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function st(){let{CSS:e}=window;return k([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function sn(){let e=window;return k([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function cn(){let e=window,{URLPattern:t}=e;return k(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function an(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return k([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function un(){let e=window;return k(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function U(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return k([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function ln(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return k(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function dn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function fn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ae(){var e,t;let n=X(),o=J(),r=window,s=navigator;return n?k([pn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?k(["onorientationchange"in r,"orientation"in r,/android/i.test(s.appVersion)])>=2:!1}function mn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return k(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function pn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var hn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function gn(e){let t=yn(e),n=bn(t);return{score:t,comment:hn.replace(/\$/g,`${n}`)}}function yn(e){if(ae())return .4;if(C())return ve()&&!(U()&&B())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function bn(e){return rt(.99+.01*e,1e-4)}function ce(e,t){return new Promise(n=>setTimeout(n,e,t))}function wn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function _n(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):ce(Math.min(e,t))}function ct(e){return!!e&&typeof e.then=="function"}function Ye(e,t){try{let n=e();ct(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function Xe(e,t,n=16){let o=Array(e.length),r=Date.now();for(let s=0;s<e.length;++s){o[s]=t(e[s],s);let a=Date.now();a>=r+n&&(r=a,await wn())}return o}function z(e){return e.then(void 0,()=>{}),e}function vn(e){return typeof e!="function"}function kn(e,t){let n=z(new Promise(o=>{let r=Date.now();Ye(e.bind(null,t),(...s)=>{let a=Date.now()-r;if(!s[0])return o(()=>({error:s[1],duration:a}));let l=s[1];if(vn(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(d=>{let u=Date.now();Ye(l,(...i)=>{let c=a+Date.now()-u;if(!i[0])return d({error:i[1],duration:c});d({value:i[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function Sn(e,t,n,o){let r=Object.keys(e).filter(a=>Qt(n,a)),s=z(Xe(r,a=>kn(e[a],t),o));return async function(){let l=await s,d=await Xe(l,c=>z(c()),o),u=await Promise.all(d),i={};for(let c=0;c<r.length;++c)i[r[c]]=u[c];return i}}async function at(e,t,n=50){var o,r,s;let a=document;for(;!a.body;)await ce(n);let l=a.createElement("iframe");try{for(await new Promise((d,u)=>{let i=!1,c=()=>{i=!0,d()},h=g=>{i=!0,u(g)};l.onload=c,l.onerror=h;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",a.body.appendChild(l);let p=()=>{var g,L;i||(((L=(g=l.contentWindow)===null||g===void 0?void 0:g.document)===null||L===void 0?void 0:L.readyState)==="complete"?c():setTimeout(p,10))};p()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await ce(n);return await e(l,l.contentWindow)}finally{(s=l.parentNode)===null||s===void 0||s.removeChild(l)}}function xn(e){let[t,n]=qt(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let s=n[r].join(" ");r==="style"?Ln(o.style,s):o.setAttribute(r,s)}return o}function Ln(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,s,,a]=o;e.setProperty(r,s,a||"")}}}function An(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Pn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(In())return-3;try{return e.canMakePayments()?1:0}catch(t){return Fn(t)}}var In=An;function Fn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Cn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function En(){return Vn()?-4:Mn()}function Mn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Rn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),s=r.createOscillator();s.type="triangle",s.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,s.connect(a),a.connect(r.destination),s.start(0);let[l,d]=Tn(r),u=z(l.then(i=>Wn(i.getChannelData(0).subarray(n)),i=>{if(i.name==="timeout"||i.name==="suspended")return-3;throw i}));return()=>(d(),u)}function Rn(){return C()&&!ve()&&!un()}function Vn(){return C()&&U()&&B()||X()&&mn()&&cn()}function Tn(e){let s=()=>{};return[new Promise((l,d)=>{let u=!1,i=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>d($e("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(ct(p)&&z(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||i++,u&&i>=3?d($e("suspended")):setTimeout(m,500);break}}catch(p){d(p)}};m(),s=()=>{u||(u=!0,c>0&&h())}}),s]}function Wn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function $e(e){let t=new Error(e);return t.name=e,t}function Dn(){if(!(ae()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Nn(){return Gn($n())}function Gn(e){let t=!1,n,o,[r,s]=Zn();return Hn(r,s)?(t=On(s),e?n=o="skipped":[n,o]=jn(r,s)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Zn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function Hn(e,t){return!!(t&&e.toDataURL)}function On(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function jn(e,t){Yn(e,t);let n=he(e),o=he(e);return n!==o?["unstable","unstable"]:(Xn(e,t),[he(e),n])}function Yn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function Xn(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function he(e){return e.toDataURL()}function $n(){let e=C()&&U()&&B(),t=J()&&rn();return e||t}function zn(){return window.screen.colorDepth}function Bn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function Jn(){if(O("no-preference"))return 0;if(O("high")||O("more"))return 1;if(O("low")||O("less"))return-1;if(O("forced"))return 10}function O(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function Un(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function Kn(){return navigator.cpuClass}function Qn(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function qn(){return M(F(navigator.deviceMemory),void 0)}function eo(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function to({debug:e}={}){if(!no())return;let t=eo(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await oo(o);e&&ro(t,r);let s=n.filter(a=>{let l=t[a];return k(l.map(u=>r[u]))>l.length*.6});return s.sort(),s}function no(){return C()||ae()}async function oo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),s={};ze(o);for(let a=0;a<e.length;++a){let l=xn(e[a]);l.tagName==="DIALOG"&&l.show();let d=n.createElement("div");ze(d),d.appendChild(l),o.appendChild(d),r[a]=l}for(;!n.body;)await ce(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(s[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return s}function ze(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function ro(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
3
3
|
${o}:`;for(let r of e[o])n+=`
|
|
4
4
|
${t[r]?"\u{1F6AB}":"\u27A1\uFE0F"} ${r}`}console.log(`${n}
|
|
5
|
-
\`\`\``)}var ro="mmMwWLliI0fiflO&1",ge={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function io(){return ao((e,t,n)=>{let o={},r={};for(let c of Object.keys(ge)){let[l={},d=ro]=ge[c],u=e.createElement("span");u.textContent=d,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let i=l[s];i!==void 0&&(u.style[s]=i)}o[c]=u,t.append(e.createElement("br"),u)}let a=X()&&an();for(let c of Object.keys(ge)){let l=o[c].getBoundingClientRect().width;r[c]=a?so(l*n.devicePixelRatio):l}return r})}function so(e){let t=ce()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function ao(e,t=4e3){return ct((n,o)=>{let r=o.document,a=r.body,c=a.style;c.width=`${t}px`,c.webkitTextSizeAdjust=c.textSizeAdjust="none",X()?a.style.zoom=`${1/o.devicePixelRatio}`:F()&&(a.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),a.appendChild(l),e(r,a,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var co="mmMwWLliI0O&1",uo="48px",j=["monospace","sans-serif","serif"],Be=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function lo(){return ct((e,{document:t})=>{let n=t.body;n.style.fontSize=uo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},a={},c=m=>{let h=t.createElement("span"),{style:g}=h;return g.position="absolute",g.top="0",g.left="0",g.fontFamily=m,h.textContent=co,o.appendChild(h),h},l=(m,h)=>c(`'${m}',${h}`),d=()=>j.map(c),u=()=>{let m={};for(let h of Be)m[h]=j.map(g=>l(h,g));return m},s=m=>j.some((h,g)=>m[g].offsetWidth!==r[h]||m[g].offsetHeight!==a[h]),i=d(),p=u();n.appendChild(o);for(let m=0;m<j.length;m++)r[j[m]]=i[m].offsetWidth,a[j[m]]=i[m].offsetHeight;return Be.filter(m=>s(p[m]))})}function fo(){if(Je("active"))return!0;if(Je("none"))return!1}function Je(e){return matchMedia(`(forced-colors: ${e})`).matches}function mo(){let e=po();return e!==void 0&&J()&&st()?e>=8?8:4:e}function po(){return E(_e(navigator.hardwareConcurrency),void 0)}function ho(){if(Ue("high"))return!0;if(Ue("standard"))return!1}function Ue(e){return matchMedia(`(dynamic-range: ${e})`).matches}function go(){if(!(it()||nn()))try{return!!window.indexedDB}catch{return!0}}function yo(){if(Ke("inverted"))return!0;if(Ke("none"))return!1}function Ke(e){return matchMedia(`(inverted-colors: ${e})`).matches}function bo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&rn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function wo(){try{return!!window.localStorage}catch{return!0}}var y=Math,x=()=>0;function _o(){let e=y.acos||x,t=y.acosh||x,n=y.asin||x,o=y.asinh||x,r=y.atanh||x,a=y.atan||x,c=y.sin||x,l=y.sinh||x,d=y.cos||x,u=y.cosh||x,s=y.tan||x,i=y.tanh||x,p=y.exp||x,m=y.expm1||x,h=y.log1p||x,g=b=>y.pow(y.PI,b),R=b=>y.log(b+y.sqrt(b*b-1)),G=b=>y.log(b+y.sqrt(b*b+1)),Q=b=>y.log((1+b)/(1-b))/2,Z=b=>y.exp(b)-1/y.exp(b)/2,T=b=>(y.exp(b)+1/y.exp(b))/2,A=b=>y.exp(b)-1,q=b=>(y.exp(2*b)-1)/(y.exp(2*b)+1),C=b=>y.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:R(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:Q(.5),atan:a(.5),sin:c(-1e300),sinh:l(1),sinhPf:Z(1),cos:d(10.000000000123),cosh:u(1),coshPf:T(1),tan:s(-1e300),tanh:i(1),tanhPf:q(1),exp:p(1),expm1:m(1),expm1Pf:A(1),log1p:h(10),log1pPf:C(10),powPI:g(-100)}}var vo=100;function So(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=vo;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function ko(){return!!window.openDatabase}function xo(){return navigator.oscpu}function Lo(){return navigator.pdfViewerEnabled}function Ao(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!ve()?un()?"iPad":"iPhone":e}function Po(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let a=0;a<o.length;++a){let c=o[a];r.push({type:c.type,suffixes:c.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Io(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Fo(){if(Qe("reduce"))return!0;if(Qe("no-preference"))return!1}function Qe(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Co(){if(qe("reduce"))return!0;if(qe("no-preference"))return!1}function qe(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Eo=2500,Mo=10,se,ye;function Ro(){if(ye!==void 0)return;let e=()=>{let t=be();we(t)?ye=setTimeout(e,Eo):(se=t,ye=void 0)};e()}function Vo(){return Ro(),async()=>{let e=be();if(we(e)){if(se)return[...se];ln()&&(await dn(),e=be())}return we(e)||(se=e),e}}function To(){let e=F()&&U()&&B(),t=J()&&st();if(e||t)return()=>Promise.resolve(void 0);let n=Vo();return async()=>{let o=await n(),r=a=>a===null?null:rt(a,Mo);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function be(){let e=screen;return[E(I(e.availTop),null),E(I(e.width)-I(e.availWidth)-E(I(e.availLeft),0),null),E(I(e.height)-I(e.availHeight)-E(I(e.availTop),0),null),E(I(e.availLeft),null)]}function we(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Wo(){if(!(F()&&U()&&B()))return Do()}function Do(){let e=screen,t=o=>E(_e(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function No(){try{return!!window.sessionStorage}catch{return!0}}function Go(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-Zo();return`UTC${n>=0?"+":""}${n}`}function Zo(){let e=new Date().getFullYear();return Math.max(I(new Date(e,0,1).getTimezoneOffset()),I(new Date(e,6,1).getTimezoneOffset()))}function Ho(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=_e(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function Oo(e){return/not/i.test(e)}async function jo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Oo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function Yo(){return navigator.vendor||""}function Xo(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var ut=-1,lt=-2,$o=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),zo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),Bo=["FRAGMENT_SHADER","VERTEX_SHADER"],Jo=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],dt="WEBGL_debug_renderer_info",Uo="WEBGL_polygon_mode";function Ko({cache:e}){var t,n,o,r,a,c;let l=ft(e);if(!l)return ut;if(!pt(l))return lt;let d=mt()?null:l.getExtension(dt);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:d?(o=l.getParameter(d.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:d?(a=l.getParameter(d.UNMASKED_RENDERER_WEBGL))===null||a===void 0?void 0:a.toString():"",shadingLanguageVersion:((c=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||c===void 0?void 0:c.toString())||""}}function Qo({cache:e}){let t=ft(e);if(!t)return ut;if(!pt(t))return lt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],a=[],c=[],l=[],d=[];if(o)for(let s of Object.keys(o))a.push(`${s}=${o[s]}`);let u=et(t);for(let s of u){let i=t[s];c.push(`${s}=${i}${$o.has(i)?`=${t.getParameter(i)}`:""}`)}if(n)for(let s of n){if(s===dt&&mt()||s===Uo&&tr())continue;let i=t.getExtension(s);if(!i){r.push(s);continue}for(let p of et(i)){let m=i[p];l.push(`${p}=${m}${zo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of Bo)for(let i of Jo){let p=qo(t,s,i);d.push(`${s}.${i}=${p.join(",")}`)}return l.sort(),c.sort(),{contextAttributes:a,parameters:c,shaderPrecisions:d,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function ft(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function qo(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function et(e){return Object.keys(e.__proto__).filter(er)}function er(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function mt(){return J()}function tr(){return X()||F()}function pt(e){return typeof e.getParameter=="function"}var nr={userAgentData:jo,fonts:lo,domBlockers:eo,fontPreferences:io,audio:Cn,screenFrame:To,canvas:Dn,osCpu:xo,languages:bo,colorDepth:$n,deviceMemory:Qn,screenResolution:Wo,hardwareConcurrency:mo,timezone:Go,sessionStorage:No,localStorage:wo,indexedDB:go,openDatabase:ko,cpuClass:Un,platform:Ao,plugins:Po,touchSupport:Ho,vendor:Yo,vendorFlavors:Xo,cookiesEnabled:Jn,colorGamut:zn,invertedColors:yo,forcedColors:fo,monochrome:So,contrast:Bn,reducedMotion:Fo,reducedTransparency:Co,hdr:ho,math:_o,pdfViewerEnabled:Lo,architecture:Fn,applePay:An,privateClickMeasurement:Io,audioBaseLatency:Wn,dateTimeLocale:Kn,webGlBasics:Ko,webGlExtensions:Qo};function or(e){return Sn(nr,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,a=e[1]&65535,c=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,s=0,i=0,p=0,m=0;m+=a+u,p+=m>>>16,m&=65535,p+=r+d,i+=p>>>16,p&=65535,i+=o+l,s+=i>>>16,i&=65535,s+=n+c,s&=65535,e[0]=s<<16|i,e[1]=p<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,a=e[1]&65535,c=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,s=0,i=0,p=0,m=0;m+=a*u,p+=m>>>16,m&=65535,p+=r*u,i+=p>>>16,p&=65535,p+=a*d,i+=p>>>16,p&=65535,i+=o*u,s+=i>>>16,i&=65535,i+=r*d,s+=i>>>16,i&=65535,i+=a*l,s+=i>>>16,i&=65535,s+=n*u+o*d+r*l+a*c,s&=65535,e[0]=s<<16|i,e[1]=p<<16|m}function Y(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function L(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function _(e,t){e[0]^=t[0],e[1]^=t[1]}var rr=[4283543511,3981806797],ir=[3301882366,444984403];function tt(e){let t=[0,e[0]>>>1];_(e,t),P(e,rr),t[1]=e[0]>>>1,_(e,t),P(e,ir),t[1]=e[0]>>>1,_(e,t)}var re=[2277735313,289559509],ie=[1291169091,658871167],nt=[0,5],sr=[0,1390208809],ar=[0,944331445];function cr(e,t){let n=qt(e);t=t||0;let o=[0,n.length],r=o[1]%16,a=o[1]-r,c=[0,t],l=[0,t],d=[0,0],u=[0,0],s;for(s=0;s<a;s=s+16)d[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,d[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,P(d,re),Y(d,31),P(d,ie),_(c,d),Y(c,27),V(c,l),P(c,nt),V(c,sr),P(u,ie),Y(u,33),P(u,re),_(l,u),Y(l,31),V(l,c),P(l,nt),V(l,ar);d[0]=0,d[1]=0,u[0]=0,u[1]=0;let i=[0,0];switch(r){case 15:i[1]=n[s+14],L(i,48),_(u,i);case 14:i[1]=n[s+13],L(i,40),_(u,i);case 13:i[1]=n[s+12],L(i,32),_(u,i);case 12:i[1]=n[s+11],L(i,24),_(u,i);case 11:i[1]=n[s+10],L(i,16),_(u,i);case 10:i[1]=n[s+9],L(i,8),_(u,i);case 9:i[1]=n[s+8],_(u,i),P(u,ie),Y(u,33),P(u,re),_(l,u);case 8:i[1]=n[s+7],L(i,56),_(d,i);case 7:i[1]=n[s+6],L(i,48),_(d,i);case 6:i[1]=n[s+5],L(i,40),_(d,i);case 5:i[1]=n[s+4],L(i,32),_(d,i);case 4:i[1]=n[s+3],L(i,24),_(d,i);case 3:i[1]=n[s+2],L(i,16),_(d,i);case 2:i[1]=n[s+1],L(i,8),_(d,i);case 1:i[1]=n[s],_(d,i),P(d,re),Y(d,31),P(d,ie),_(c,d)}return _(c,o),_(l,o),V(c,l),V(l,c),tt(c),tt(l),V(c,l),V(l,c),`00000000${(c[0]>>>0).toString(16)}`.slice(-8)+`00000000${(c[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function ur(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function ht(e){return JSON.stringify(e,(t,n)=>n instanceof Error?en(n):n,2)}function gt(e){return cr(ur(e))}function lr(e){let t,n=hn(e);return{get visitorId(){return t===void 0&&(t=gt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:ot}}function dr(e=50){return wn(e,e*2)}function fr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),a=await e(),c=lr(a);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
5
|
+
\`\`\``)}var io="mmMwWLliI0fiflO&1",ge={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function so(){return ao((e,t,n)=>{let o={},r={};for(let a of Object.keys(ge)){let[l={},d=io]=ge[a],u=e.createElement("span");u.textContent=d,u.style.whiteSpace="nowrap";for(let i of Object.keys(l)){let c=l[i];c!==void 0&&(u.style[i]=c)}o[a]=u,t.append(e.createElement("br"),u)}let s=X()&&an();for(let a of Object.keys(ge)){let l=o[a].getBoundingClientRect().width;r[a]=s?co(l*n.devicePixelRatio):l}return r})}function co(e){let t=ae()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function ao(e,t=4e3){return at((n,o)=>{let r=o.document,s=r.body,a=s.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?s.style.zoom=`${1/o.devicePixelRatio}`:C()&&(s.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),s.appendChild(l),e(r,s,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var uo="mmMwWLliI0O&1",lo="48px",j=["monospace","sans-serif","serif"],Be=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function fo(){return at((e,{document:t})=>{let n=t.body;n.style.fontSize=lo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},s={},a=m=>{let p=t.createElement("span"),{style:g}=p;return g.position="absolute",g.top="0",g.left="0",g.fontFamily=m,p.textContent=uo,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),d=()=>j.map(a),u=()=>{let m={};for(let p of Be)m[p]=j.map(g=>l(p,g));return m},i=m=>j.some((p,g)=>m[g].offsetWidth!==r[p]||m[g].offsetHeight!==s[p]),c=d(),h=u();n.appendChild(o);for(let m=0;m<j.length;m++)r[j[m]]=c[m].offsetWidth,s[j[m]]=c[m].offsetHeight;return Be.filter(m=>i(h[m]))})}function mo(){if(Je("active"))return!0;if(Je("none"))return!1}function Je(e){return matchMedia(`(forced-colors: ${e})`).matches}function po(){let e=ho();return e!==void 0&&J()&&st()?e>=8?8:4:e}function ho(){return M(_e(navigator.hardwareConcurrency),void 0)}function go(){if(Ue("high"))return!0;if(Ue("standard"))return!1}function Ue(e){return matchMedia(`(dynamic-range: ${e})`).matches}function yo(){if(!(it()||on()))try{return!!window.indexedDB}catch{return!0}}function bo(){if(Ke("inverted"))return!0;if(Ke("none"))return!1}function Ke(e){return matchMedia(`(inverted-colors: ${e})`).matches}function wo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&sn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function _o(){try{return!!window.localStorage}catch{return!0}}var y=Math,x=()=>0;function vo(){let e=y.acos||x,t=y.acosh||x,n=y.asin||x,o=y.asinh||x,r=y.atanh||x,s=y.atan||x,a=y.sin||x,l=y.sinh||x,d=y.cos||x,u=y.cosh||x,i=y.tan||x,c=y.tanh||x,h=y.exp||x,m=y.expm1||x,p=y.log1p||x,g=b=>y.pow(y.PI,b),L=b=>y.log(b+y.sqrt(b*b-1)),G=b=>y.log(b+y.sqrt(b*b+1)),Q=b=>y.log((1+b)/(1-b))/2,Z=b=>y.exp(b)-1/y.exp(b)/2,T=b=>(y.exp(b)+1/y.exp(b))/2,P=b=>y.exp(b)-1,q=b=>(y.exp(2*b)-1)/(y.exp(2*b)+1),E=b=>y.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:L(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:Q(.5),atan:s(.5),sin:a(-1e300),sinh:l(1),sinhPf:Z(1),cos:d(10.000000000123),cosh:u(1),coshPf:T(1),tan:i(-1e300),tanh:c(1),tanhPf:q(1),exp:h(1),expm1:m(1),expm1Pf:P(1),log1p:p(10),log1pPf:E(10),powPI:g(-100)}}var ko=100;function So(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=ko;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function xo(){return!!window.openDatabase}function Lo(){return navigator.oscpu}function Ao(){return navigator.pdfViewerEnabled}function Po(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!ve()?ln()?"iPad":"iPhone":e}function Io(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let s=0;s<o.length;++s){let a=o[s];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Fo(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Co(){if(Qe("reduce"))return!0;if(Qe("no-preference"))return!1}function Qe(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Eo(){if(qe("reduce"))return!0;if(qe("no-preference"))return!1}function qe(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Mo=2500,Ro=10,se,ye;function Vo(){if(ye!==void 0)return;let e=()=>{let t=be();we(t)?ye=setTimeout(e,Mo):(se=t,ye=void 0)};e()}function To(){return Vo(),async()=>{let e=be();if(we(e)){if(se)return[...se];dn()&&(await fn(),e=be())}return we(e)||(se=e),e}}function Wo(){let e=C()&&U()&&B(),t=J()&&st();if(e||t)return()=>Promise.resolve(void 0);let n=To();return async()=>{let o=await n(),r=s=>s===null?null:rt(s,Ro);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function be(){let e=screen;return[M(F(e.availTop),null),M(F(e.width)-F(e.availWidth)-M(F(e.availLeft),0),null),M(F(e.height)-F(e.availHeight)-M(F(e.availTop),0),null),M(F(e.availLeft),null)]}function we(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Do(){if(!(C()&&U()&&B()))return No()}function No(){let e=screen,t=o=>M(_e(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function Go(){try{return!!window.sessionStorage}catch{return!0}}function Zo(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-Ho();return`UTC${n>=0?"+":""}${n}`}function Ho(){let e=new Date().getFullYear();return Math.max(F(new Date(e,0,1).getTimezoneOffset()),F(new Date(e,6,1).getTimezoneOffset()))}function Oo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=_e(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function jo(e){return/not/i.test(e)}async function Yo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!jo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function Xo(){return navigator.vendor||""}function $o(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var ut=-1,lt=-2,zo=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),Bo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),Jo=["FRAGMENT_SHADER","VERTEX_SHADER"],Uo=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],dt="WEBGL_debug_renderer_info",Ko="WEBGL_polygon_mode";function Qo({cache:e}){var t,n,o,r,s,a;let l=ft(e);if(!l)return ut;if(!pt(l))return lt;let d=mt()?null:l.getExtension(dt);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:d?(o=l.getParameter(d.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:d?(s=l.getParameter(d.UNMASKED_RENDERER_WEBGL))===null||s===void 0?void 0:s.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function qo({cache:e}){let t=ft(e);if(!t)return ut;if(!pt(t))return lt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],s=[],a=[],l=[],d=[];if(o)for(let i of Object.keys(o))s.push(`${i}=${o[i]}`);let u=et(t);for(let i of u){let c=t[i];a.push(`${i}=${c}${zo.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let i of n){if(i===dt&&mt()||i===Ko&&nr())continue;let c=t.getExtension(i);if(!c){r.push(i);continue}for(let h of et(c)){let m=c[h];l.push(`${h}=${m}${Bo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let i of Jo)for(let c of Uo){let h=er(t,i,c);d.push(`${i}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:s,parameters:a,shaderPrecisions:d,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function ft(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function er(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function et(e){return Object.keys(e.__proto__).filter(tr)}function tr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function mt(){return J()}function nr(){return X()||C()}function pt(e){return typeof e.getParameter=="function"}var or={userAgentData:Yo,fonts:fo,domBlockers:to,fontPreferences:so,audio:En,screenFrame:Wo,canvas:Nn,osCpu:Lo,languages:wo,colorDepth:zn,deviceMemory:qn,screenResolution:Do,hardwareConcurrency:po,timezone:Zo,sessionStorage:Go,localStorage:_o,indexedDB:yo,openDatabase:xo,cpuClass:Kn,platform:Po,plugins:Io,touchSupport:Oo,vendor:Xo,vendorFlavors:$o,cookiesEnabled:Un,colorGamut:Bn,invertedColors:bo,forcedColors:mo,monochrome:So,contrast:Jn,reducedMotion:Co,reducedTransparency:Eo,hdr:go,math:vo,pdfViewerEnabled:Ao,architecture:Cn,applePay:Pn,privateClickMeasurement:Fo,audioBaseLatency:Dn,dateTimeLocale:Qn,webGlBasics:Qo,webGlExtensions:qo};function rr(e){return Sn(or,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,s=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,i=0,c=0,h=0,m=0;m+=s+u,h+=m>>>16,m&=65535,h+=r+d,c+=h>>>16,h&=65535,c+=o+l,i+=c>>>16,c&=65535,i+=n+a,i&=65535,e[0]=i<<16|c,e[1]=h<<16|m}function I(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,s=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,i=0,c=0,h=0,m=0;m+=s*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=s*d,c+=h>>>16,h&=65535,c+=o*u,i+=c>>>16,c&=65535,c+=r*d,i+=c>>>16,c&=65535,c+=s*l,i+=c>>>16,c&=65535,i+=n*u+o*d+r*l+s*a,i&=65535,e[0]=i<<16|c,e[1]=h<<16|m}function Y(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function A(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function _(e,t){e[0]^=t[0],e[1]^=t[1]}var ir=[4283543511,3981806797],sr=[3301882366,444984403];function tt(e){let t=[0,e[0]>>>1];_(e,t),I(e,ir),t[1]=e[0]>>>1,_(e,t),I(e,sr),t[1]=e[0]>>>1,_(e,t)}var re=[2277735313,289559509],ie=[1291169091,658871167],nt=[0,5],cr=[0,1390208809],ar=[0,944331445];function ur(e,t){let n=en(e);t=t||0;let o=[0,n.length],r=o[1]%16,s=o[1]-r,a=[0,t],l=[0,t],d=[0,0],u=[0,0],i;for(i=0;i<s;i=i+16)d[0]=n[i+4]|n[i+5]<<8|n[i+6]<<16|n[i+7]<<24,d[1]=n[i]|n[i+1]<<8|n[i+2]<<16|n[i+3]<<24,u[0]=n[i+12]|n[i+13]<<8|n[i+14]<<16|n[i+15]<<24,u[1]=n[i+8]|n[i+9]<<8|n[i+10]<<16|n[i+11]<<24,I(d,re),Y(d,31),I(d,ie),_(a,d),Y(a,27),V(a,l),I(a,nt),V(a,cr),I(u,ie),Y(u,33),I(u,re),_(l,u),Y(l,31),V(l,a),I(l,nt),V(l,ar);d[0]=0,d[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[i+14],A(c,48),_(u,c);case 14:c[1]=n[i+13],A(c,40),_(u,c);case 13:c[1]=n[i+12],A(c,32),_(u,c);case 12:c[1]=n[i+11],A(c,24),_(u,c);case 11:c[1]=n[i+10],A(c,16),_(u,c);case 10:c[1]=n[i+9],A(c,8),_(u,c);case 9:c[1]=n[i+8],_(u,c),I(u,ie),Y(u,33),I(u,re),_(l,u);case 8:c[1]=n[i+7],A(c,56),_(d,c);case 7:c[1]=n[i+6],A(c,48),_(d,c);case 6:c[1]=n[i+5],A(c,40),_(d,c);case 5:c[1]=n[i+4],A(c,32),_(d,c);case 4:c[1]=n[i+3],A(c,24),_(d,c);case 3:c[1]=n[i+2],A(c,16),_(d,c);case 2:c[1]=n[i+1],A(c,8),_(d,c);case 1:c[1]=n[i],_(d,c),I(d,re),Y(d,31),I(d,ie),_(a,d)}return _(a,o),_(l,o),V(a,l),V(l,a),tt(a),tt(l),V(a,l),V(l,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function lr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function ht(e){return JSON.stringify(e,(t,n)=>n instanceof Error?tn(n):n,2)}function gt(e){return ur(lr(e))}function dr(e){let t,n=gn(e);return{get visitorId(){return t===void 0&&(t=gt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:ot}}function fr(e=50){return _n(e,e*2)}function mr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),s=await e(),a=dr(s);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
6
6
|
|
|
7
7
|
\`\`\`
|
|
8
|
-
version: ${
|
|
8
|
+
version: ${a.version}
|
|
9
9
|
userAgent: ${navigator.userAgent}
|
|
10
10
|
timeBetweenLoadAndGet: ${r-n}
|
|
11
|
-
visitorId: ${
|
|
12
|
-
components: ${ht(
|
|
13
|
-
\`\`\``),c}}}function mr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${ot}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function pr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&mr(),await dr(t);let r=or({cache:{},debug:n});return fr(r,n)}var yt={load:pr,hashComponents:gt,componentsToDebugString:ht};var hr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],gr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Se=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],ke=["lp","narrative"],bt=[...hr,...gr,...Se,...ke],yr=new Set(bt);function xe(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let a=o.toLowerCase();yr.has(a)&&r!==""&&!(a in t)&&(t[a]=r)}return t}var br=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,wr=["email"],_r=["phone","phonenumber","phone_number","tel","telefone"];function Le(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return br.test(t)&&t.length<=254?t:null}function Ae(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let a=String(t).replace(/\D/g,""),c=["39","378","379"].includes(a);a&&!o.startsWith(a)&&(o=a+(c?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function wt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let a=o.toLowerCase();!t.email&&wr.includes(a)&&(t.email=Le(r)||void 0),!t.phone&&_r.includes(a)&&(t.phone=Ae(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ie=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],vr=/\/widget\/(form|survey|booking)\//,xt=["buy.stripe.com","checkout.stripe.com"],Lt=e=>new Set([...xt,...e||[]].map(t=>String(t).toLowerCase())),M=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Sr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",ue="data-f10x-field";function _t(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Sr);for(let[r,a]of Object.entries(t)){let c=e.querySelector(`[name="${CSS.escape(r)}"]`);if(c)c.tagName==="INPUT"&&(c.type==="hidden"||c.value===""||c.hasAttribute(ue))&&(c.value=a);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=a,l.setAttribute(ue,""),e.appendChild(l)}}}var vt=new WeakMap;function kr(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=vt.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,vt.set(t,n),t.setAttribute(ue,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Pe(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[a,c]of Object.entries(t))Ie.includes(a)?o.searchParams.set(a,c):o.searchParams.has(a)||o.searchParams.set(a,c);return xt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var St=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Fe({values:e,checkoutHosts:t,addFields:n,onError:o}){let r=Lt(t),a=!1,c=0,l=i=>{for(let p of document.querySelectorAll("a[href]")){if(!r.has(St(p.getAttribute("href"))))continue;let m=Pe(p.getAttribute("href"),i,location.href);m&&p.setAttribute("href",m)}},d=i=>{for(let p of document.querySelectorAll("iframe[src]")){let m=p.getAttribute("src");if(!vr.test(m))continue;let h=Pe(m,i,location.href);h&&p.setAttribute("src",h)}},u=(i={})=>{i.iframes&&(a=!0);let p=e();for(let m of document.forms)_t(m,p,n);kr(p),l(p),a&&d(p)},s=()=>{c||(c=setTimeout(M(()=>{c=0,u()},o),50))};return new MutationObserver(s).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",M(i=>_t(i.target,e(),n),o),!0),document.addEventListener("click",M(i=>{let p=i.target instanceof Element?i.target.closest("a[href]"):null;if(!p||!r.has(St(p.getAttribute("href"))))return;let m=Pe(p.getAttribute("href"),e(),location.href);m&&p.setAttribute("href",m)},o),!0),M(u,o)(),{refresh:u}}var N="_f10x",xr=120*1e3,Lr=200;function At({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Pt(e,t){let n;try{n=new URL(e).searchParams.get(N)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),a=n.lastIndexOf(".");if(o<1||r!==o+2||a<=r+1)return null;let c=n.slice(0,o),l=n.slice(o+1,r),d=n.slice(r+1,a),u=n.slice(a+1);if(!/^[0-9a-z]{1,12}$/.test(c)||l!=="i"&&l!=="a"||d.length>Lr||/\s/.test(d))return null;let s=t-parseInt(c,36);return Math.abs(s)<xr?{distinctID:d,sessionID:u||null,identified:l==="i"}:null}var Ar=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function It(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let a=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Ar.test(a)?n.push(a):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Lt(t),a=(u,s)=>s===u||s.endsWith(`.${u}`),c=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(i=>a(i,u))&&!e.some(i=>a(i,u)&&a(i,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&c(s.hostname.toLowerCase())?s:null}catch{return null}},d=M(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,i=s&&l(s.getAttribute("href")),p=i&&n();p&&(i.searchParams.set(N,p),s.setAttribute("href",i.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,d,!0);document.addEventListener("contextmenu",M(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let i;try{i=new URL(s.getAttribute("href"),location.href)}catch{return}i.searchParams.has(N)&&(i.searchParams.delete(N),s.setAttribute("href",i.href))},o),!0),document.addEventListener("submit",M(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let i=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,p=l((i||s).getAttribute(i?"formaction":"action")||""),m=p&&n();if(!m)return;let h=(i&&i.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let g=s.querySelector(`input[name="${N}"]`);g||(g=document.createElement("input"),g.type="hidden",g.name=N,g.setAttribute(ue,""),s.appendChild(g)),g.value=m}else h==="post"&&(p.searchParams.set(N,m),(i||s).setAttribute(i?"formaction":"action",p.href))},o),!0)}var Pr=/e-?mail/i,Ir=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Ct=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Et=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Mt=e=>e.type==="email"||Pr.test(Et(e)),Rt=e=>e.type==="tel"||e.type!=="email"&&Ir.test(Et(e));function Fr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),a=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return a?a[1]:null}function Cr(e){if(!(e instanceof HTMLInputElement)||Ct.has(e.type))return{};if(Mt(e)){let t=Le(e.value);return t?{email:t}:{}}if(Rt(e)){let t=Ae(e.value,Fr(e));return t?{phone:t}:{}}return{}}function kt(e){let t={};for(let n of e){let o=Cr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Er(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Ct.has(r.type)&&(Mt(r)||Rt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Mr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Vt(e,t){document.addEventListener("submit",M(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=kt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",M(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Er(o);if(!r||Mr(r))return;let a=kt(r.querySelectorAll("input"));(a.email||a.phone)&&e(a,"form")},t),!0)}var Ve="2.1.0",Ce="f10x_consent",Rr=typeof D=="object"?D:[],Vr="1",Tr=/^\d+\.\d+\.\d+$/,Te="f10x_contact_id",Wr="contact_id",Dr=/^[A-Za-z0-9_-]{6,128}$/,Tt=1e3,Wt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Nr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",We=e=>e&&e.message||String(e),Gr=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${We(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Zr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Hr(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function Or(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(le("local",e)))||t(n(le("session",e)))}var jr={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},De=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},le=(e,t)=>{var n,o;try{return(o=(n=De(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Ee=(e,t,n)=>{var o;try{(o=De(e))==null||o.setItem(t,n)}catch{}};function Dt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ie){let r=n.get(o);r&&Dr.test(r)&&(t[o]=r)}}catch{}return t}var Me=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Nt(){for(let n of["local","session"]){let o=De(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===Te)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function Yr(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Gt=e=>e==null||e==="posthog";function Xr(e){let t=[],n=o=>{for(let r of Rr)o[r]=(...a)=>{o.push([r,...a])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,a)=>{Gt(a)?e():t[a]||(t[a]=[],n(t[a])),t._i.push([o,r,a])},t}function $r(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Vr;return t&&(Tr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function ai(e={}){if(window.__f10xTracking)return K(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Re("preview"),K(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let f=Me({...xe(o),...Dt(o)}),w=!1,v=k=>{w||console.warn(`[@funnel10x/tracking] the dom extra failed (${We(k)}): the form in this frame may miss the fields from its URL.`),w=!0};try{Fe({values:()=>f,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:v})}catch(k){v(k)}return t=Re("frame",()=>f),K(t)}if(Yr())return console.warn(Wt),t=Re("conflict"),K(t);let a=xe(o),c=Dt(o)[Wr]||null,l=[],d="idle",u=null,s=!1,i=null,p=null,m=null,h=!1,g=null,R=!1,G=!1,Q=$r(e.apiHost,e.sdkVersion),Z=[],T=(f,w)=>{Z.includes(f)||(Z.push(f),console.warn(Gr(f,w)))},A=(f,w,v)=>{try{return w()}catch(k){return T(f,k),v}},q=()=>{h||console.warn(Nr),h=!0},C=Xr(q),b=window.posthog;window.posthog=C;let Ne=()=>{let f={...a};return s&&(f.ph_anon_id=u.get_property("$device_id"),f.ph_distinct_id=u.get_distinct_id(),f.ph_session_id=u.get_session_id(),g&&(f.contact_id=g)),Me(f)},Ge=A("dom",()=>Fe({values:Ne,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:f=>T("dom",f)}),null),ee=f=>{Ge&&A("dom",()=>Ge.refresh(f))},Ze=new Set,de=[],fe=(f,w)=>{if(!s){n&&oe()==="denied"||de.push([f,w]);return}let v=Object.fromEntries(Object.entries(f).filter(([k,H])=>H&&!Ze.has(`${k}:${H}`)));if(Object.keys(v).length){for(let[k,H]of Object.entries(v))Ze.add(`${k}:${H}`);u.capture("contact_captured",{...v,contact_source:w})}},Zt=A("contact",()=>wt(o),{});A("contact",()=>Vt((f,w)=>fe(f,w),f=>T("contact",f)));let me=A("linker",()=>It(e.linkedDomains),[]),W=me.length?A("linker",()=>Pt(o,Zr()),null):null,He=!1,te=null,ne=null,Ht=()=>s?At({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;me.length&&A("linker",()=>Ft({hosts:me,checkoutHosts:e.checkoutHosts,value:Ht,onError:f=>T("linker",f)}));let Ot=f=>{!W||He||(He=!0,A("linker",()=>{let w=f.bootstrap&&typeof f.bootstrap=="object"?f.bootstrap:{};if(w.distinctID||f.identity_distinct_id||Or(Hr(e.key,f))){ne=W.distinctID;return}te={...w,distinctID:W.distinctID,isIdentifiedID:W.identified,...W.sessionID&&!w.sessionID?{sessionID:W.sessionID}:{}}}))},jt=Me({tracking_version:Ve,page_version:n?e.pageVersion||1:void 0,ab_test:n&&e.test||void 0}),Yt=f=>(!f||f.event==="$snapshot"||(f.properties={...f.properties,...jt,...i?{fingerprint:i}:{},fingerprint_ms:p,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...ne?{linked_distinct_id:ne}:{}}),f),oe=()=>{let f=le("local",Ce);return f==="granted"||f==="denied"?f:null},$=!n||e.consent===!1||oe()==="granted",pe=n?"direct":"tag",Xt=()=>{if(m)return m;let f=Date.now(),w=(async()=>{let k=await(await yt.load({monitoring:!1})).get();i=(k==null?void 0:k.visitorId)||null,p=Date.now()-f})().catch(v=>{p===null&&(p=Date.now()-f),T("fingerprint",v)});return m=Promise.race([w,new Promise(v=>setTimeout(v,Tt))]).then(()=>{p===null&&(p=Tt)}),m},$t=()=>{if(R)return;R=!0;let f=document.createElement("link");f.rel="preload",f.as="script",f.crossOrigin="anonymous",f.href=Q,document.head.appendChild(f)},Oe=()=>{let f=e.posthog||{};return Ot(f),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...jr,custom_campaign_params:[...Se,"utm_id","utm_placement",...ke],...f,...te?{bootstrap:te}:{},before_send:Yt,loaded:Bt}},zt=()=>{let f=window.posthog;if(f===C){if(C._i.unshift([e.key,Oe()]),d="injected",G)return;G=!0;let w=document.createElement("script");w.async=!0,w.crossOrigin="anonymous",w.src=Q,document.head.appendChild(w);return}if(G&&f&&!f.__loaded&&typeof f.init=="function"){d="injected",f.init(e.key,Oe()),u&&typeof u._execute_array=="function"&&u._execute_array(C);return}console.warn(Wt),pe="conflict",d="idle"},je=()=>{d!=="idle"||pe==="conflict"||(d="waiting",Promise.resolve().then(async()=>{if(!$){d="idle";return}if($t(),await A("fingerprint",Xt,null),!$){d="idle";return}zt()}).catch(f=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${We(f)}): nothing is tracked by this snippet on this page.`),!G&&(d="idle",window.posthog===C&&(window.posthog=b))}))};function Bt(f){u=f,d="loaded";let w=f.init;f.init=function(v,k,H){return Gt(H)&&q(),w.apply(this,arguments)},f.has_opted_out_capturing()&&f.opt_in_capturing({captureEventName:!1}),g=c||le("session",Te),c&&(Ee("session",Te,c),f.get_distinct_id()!==c&&f.identify(c)),s=!0,ee({iframes:!0}),A("contact",()=>{fe(Zt,"url");for(let[v,k]of de.splice(0))fe(v,k)});for(let v of l.splice(0))v(!0)}return $?je():(oe()==="denied"&&Nt(),ee({iframes:!0})),t={version:Ve,get mode(){return pe},consent:()=>n&&e.consent?oe():null,grant(){Ee("local",Ce,"granted"),$=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),ee({iframes:!0})):je()},deny(){var f;if(Ee("local",Ce,"denied"),$=!1,de=[],W=null,te=null,ne=null,!u){C._i.length=0,d==="injected"&&(d="idle");return}u.opt_out_capturing(),(f=u.stopSessionRecording)==null||f.call(u),u.set_config({disable_persistence:!0}),Nt(),s=!1,g=null,ee()},onReady(f){s?f(!0):l.push(f)},fields:Ne,capture(f,w){s&&u.capture(f,w)},get posthog(){return u||(window.posthog===C?C:null)}},K(t)}function K(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Re(e,t=()=>({})){return{version:Ve,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},posthog:null}}export{bt as ALLOWED_PARAMS,Ce as CONSENT_KEY,Ve as VERSION,ai as init};
|
|
11
|
+
visitorId: ${a.visitorId}
|
|
12
|
+
components: ${ht(s)}
|
|
13
|
+
\`\`\``),a}}}function pr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${ot}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function hr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&pr(),await fr(t);let r=rr({cache:{},debug:n});return mr(r,n)}var yt={load:hr,hashComponents:gt,componentsToDebugString:ht};var gr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],yr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],ke=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Se=["lp","narrative"],bt=[...gr,...yr,...ke,...Se],br=new Set(bt);function xe(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let s=o.toLowerCase();br.has(s)&&r!==""&&!(s in t)&&(t[s]=r)}return t}var wr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,_r=["email"],vr=["phone","phonenumber","phone_number","tel","telefone"];function Le(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return wr.test(t)&&t.length<=254?t:null}function Ae(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let s=String(t).replace(/\D/g,""),a=["39","378","379"].includes(s);s&&!o.startsWith(s)&&(o=s+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function wt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let s=o.toLowerCase();!t.email&&_r.includes(s)&&(t.email=Le(r)||void 0),!t.phone&&vr.includes(s)&&(t.phone=Ae(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ie=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],kr=/\/widget\/(form|survey|booking)\//,xt=["buy.stripe.com","checkout.stripe.com"],Lt=e=>new Set([...xt,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Sr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",ue="data-f10x-field";function _t(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Sr);for(let[r,s]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(ue))&&(a.value=s);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=s,l.setAttribute(ue,""),e.appendChild(l)}}}var vt=new WeakMap;function xr(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=vt.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,vt.set(t,n),t.setAttribute(ue,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Pe(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[s,a]of Object.entries(t))Ie.includes(s)?o.searchParams.set(s,a):o.searchParams.has(s)||o.searchParams.set(s,a);return xt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var kt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Fe({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let s=Lt(t),a=new WeakSet,l=!1,d=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!s.has(kt(p.getAttribute("href"))))continue;let g=Pe(p.getAttribute("href"),m,location.href);g&&p.setAttribute("href",g)}},i=m=>{for(let p of document.querySelectorAll("iframe[src]")){let g=p.getAttribute("src");if(!kr.test(g))continue;let L=Pe(g,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let g of document.forms)_t(g,p,n);xr(p),u(p),l&&i(p)},h=()=>{d||(d=setTimeout(R(()=>{d=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>_t(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,g=p?kt(p.getAttribute("href")):"";if(!p||!s.has(g))return;let L=Pe(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(g)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var N="_f10x",Lr=120*1e3,Ar=200;function At({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Pt(e,t){let n;try{n=new URL(e).searchParams.get(N)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),s=n.lastIndexOf(".");if(o<1||r!==o+2||s<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),d=n.slice(r+1,s),u=n.slice(s+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||d.length>Ar||/\s/.test(d))return null;let i=t-parseInt(a,36);return Math.abs(i)<Lr?{distinctID:d,sessionID:u||null,identified:l==="i"}:null}var Pr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function It(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let s=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Pr.test(s)?n.push(s):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Lt(t),s=(u,i)=>i===u||i.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let i=location.hostname.toLowerCase();return e.some(c=>s(c,u))&&!e.some(c=>s(c,u)&&s(c,i))},l=u=>{try{let i=new URL(u,location.href);return(i.protocol==="http:"||i.protocol==="https:")&&a(i.hostname.toLowerCase())?i:null}catch{return null}},d=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let i=u.target instanceof Element?u.target.closest("a[href]"):null,c=i&&l(i.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(N,h),i.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,d,!0);document.addEventListener("contextmenu",R(u=>{let i=u.target instanceof Element?u.target.closest("a[href]"):null;if(!i)return;let c;try{c=new URL(i.getAttribute("href"),location.href)}catch{return}c.searchParams.has(N)&&(c.searchParams.delete(N),i.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let i=u.target;if(!(i instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||i).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||i.getAttribute("method")||"get").toLowerCase();if(p==="get"){let g=i.querySelector(`input[name="${N}"]`);g||(g=document.createElement("input"),g.type="hidden",g.name=N,g.setAttribute(ue,""),i.appendChild(g)),g.value=m}else p==="post"&&(h.searchParams.set(N,m),(c||i).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Ir=/e-?mail/i,Fr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Ct=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Et=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Mt=e=>e.type==="email"||Ir.test(Et(e)),Rt=e=>e.type==="tel"||e.type!=="email"&&Fr.test(Et(e));function Cr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),s=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return s?s[1]:null}function Er(e){if(!(e instanceof HTMLInputElement)||Ct.has(e.type))return{};if(Mt(e)){let t=Le(e.value);return t?{email:t}:{}}if(Rt(e)){let t=Ae(e.value,Cr(e));return t?{phone:t}:{}}return{}}function St(e){let t={};for(let n of e){let o=Er(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Mr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Ct.has(r.type)&&(Mt(r)||Rt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Rr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Vt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=St(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",R(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Mr(o);if(!r||Rr(r))return;let s=St(r.querySelectorAll("input"));(s.email||s.phone)&&e(s,"form")},t),!0)}var Ve="2.2.0",Ce="f10x_consent",Vr=typeof D=="object"?D:[],Tr="1",Wr=/^\d+\.\d+\.\d+$/,Te="f10x_contact_id",Dr="contact_id",Nr=/^[A-Za-z0-9_-]{6,128}$/,Tt=1e3,Wt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Gr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",We=e=>e&&e.message||String(e),Zr=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${We(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Hr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Or(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function jr(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(le("local",e)))||t(n(le("session",e)))}var Yr={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},De=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},le=(e,t)=>{var n,o;try{return(o=(n=De(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Ee=(e,t,n)=>{var o;try{(o=De(e))==null||o.setItem(t,n)}catch{}};function Dt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ie){let r=n.get(o);r&&Nr.test(r)&&(t[o]=r)}}catch{}return t}var Me=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Nt(){for(let n of["local","session"]){let o=De(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===Te)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function Xr(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Gt=e=>e==null||e==="posthog";function $r(e){let t=[],n=o=>{for(let r of Vr)o[r]=(...s)=>{o.push([r,...s])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,s)=>{Gt(s)?e():t[s]||(t[s]=[],n(t[s])),t._i.push([o,r,s])},t}function zr(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Tr;return t&&(Wr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function ai(e={}){if(window.__f10xTracking)return K(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Re("preview"),K(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let f=Me({...xe(o),...Dt(o)}),w=!1,v=S=>{w||console.warn(`[@funnel10x/tracking] the dom extra failed (${We(S)}): the form in this frame may miss the fields from its URL.`),w=!0};try{Fe({values:()=>f,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:v})}catch(S){v(S)}return t=Re("frame",()=>f),K(t)}if(Xr())return console.warn(Wt),t=Re("conflict"),K(t);let s=xe(o),a=Dt(o)[Dr]||null,l=[],d="idle",u=null,i=!1,c=null,h=null,m=null,p=!1,g=null,L=!1,G=!1,Q=zr(e.apiHost,e.sdkVersion),Z=[],T=(f,w)=>{Z.includes(f)||(Z.push(f),console.warn(Zr(f,w)))},P=(f,w,v)=>{try{return w()}catch(S){return T(f,S),v}},q=()=>{p||console.warn(Gr),p=!0},E=$r(q),b=window.posthog;window.posthog=E;let Ne=()=>{let f={...s};return i&&(f.ph_anon_id=u.get_property("$device_id"),f.ph_distinct_id=u.get_distinct_id(),f.ph_session_id=u.get_session_id(),g&&(f.contact_id=g)),Me(f)},Zt=f=>i?(u.capture("checkout",{checkout_host:f},{send_instantly:!0}),!0):!1,Ge=P("dom",()=>Fe({values:Ne,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:f=>T("dom",f),onCheckout:Zt}),null),ee=f=>{Ge&&P("dom",()=>Ge.refresh(f))},Ze=new Set,de=[],fe=(f,w)=>{if(!i){n&&oe()==="denied"||de.push([f,w]);return}let v=Object.fromEntries(Object.entries(f).filter(([S,H])=>H&&!Ze.has(`${S}:${H}`)));if(Object.keys(v).length){for(let[S,H]of Object.entries(v))Ze.add(`${S}:${H}`);u.capture("contact_captured",{...v,contact_source:w})}},Ht=P("contact",()=>wt(o),{});P("contact",()=>Vt((f,w)=>fe(f,w),f=>T("contact",f)));let me=P("linker",()=>It(e.linkedDomains),[]),W=me.length?P("linker",()=>Pt(o,Hr()),null):null,He=!1,te=null,ne=null,Ot=()=>i?At({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;me.length&&P("linker",()=>Ft({hosts:me,checkoutHosts:e.checkoutHosts,value:Ot,onError:f=>T("linker",f)}));let jt=f=>{!W||He||(He=!0,P("linker",()=>{let w=f.bootstrap&&typeof f.bootstrap=="object"?f.bootstrap:{};if(w.distinctID||f.identity_distinct_id||jr(Or(e.key,f))){ne=W.distinctID;return}te={...w,distinctID:W.distinctID,isIdentifiedID:W.identified,...W.sessionID&&!w.sessionID?{sessionID:W.sessionID}:{}}}))},Yt=Me({tracking_version:Ve,page_version:n?e.pageVersion||1:void 0,ab_test:n&&e.test||void 0}),Xt=f=>(!f||f.event==="$snapshot"||(f.properties={...f.properties,...Yt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...ne?{linked_distinct_id:ne}:{}}),f),oe=()=>{let f=le("local",Ce);return f==="granted"||f==="denied"?f:null},$=!n||e.consent===!1||oe()==="granted",pe=n?"direct":"tag",$t=()=>{if(m)return m;let f=Date.now(),w=(async()=>{let S=await(await yt.load({monitoring:!1})).get();c=(S==null?void 0:S.visitorId)||null,h=Date.now()-f})().catch(v=>{h===null&&(h=Date.now()-f),T("fingerprint",v)});return m=Promise.race([w,new Promise(v=>setTimeout(v,Tt))]).then(()=>{h===null&&(h=Tt)}),m},zt=()=>{if(L)return;L=!0;let f=document.createElement("link");f.rel="preload",f.as="script",f.crossOrigin="anonymous",f.href=Q,document.head.appendChild(f)},Oe=()=>{let f=e.posthog||{};return jt(f),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...Yr,custom_campaign_params:[...ke,"utm_id","utm_placement",...Se],...f,...te?{bootstrap:te}:{},before_send:Xt,loaded:Jt}},Bt=()=>{let f=window.posthog;if(f===E){if(E._i.unshift([e.key,Oe()]),d="injected",G)return;G=!0;let w=document.createElement("script");w.async=!0,w.crossOrigin="anonymous",w.src=Q,document.head.appendChild(w);return}if(G&&f&&!f.__loaded&&typeof f.init=="function"){d="injected",f.init(e.key,Oe()),u&&typeof u._execute_array=="function"&&u._execute_array(E);return}console.warn(Wt),pe="conflict",d="idle"},je=()=>{d!=="idle"||pe==="conflict"||(d="waiting",Promise.resolve().then(async()=>{if(!$){d="idle";return}if(zt(),await P("fingerprint",$t,null),!$){d="idle";return}Bt()}).catch(f=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${We(f)}): nothing is tracked by this snippet on this page.`),!G&&(d="idle",window.posthog===E&&(window.posthog=b))}))};function Jt(f){u=f,d="loaded";let w=f.init;f.init=function(v,S,H){return Gt(H)&&q(),w.apply(this,arguments)},f.has_opted_out_capturing()&&f.opt_in_capturing({captureEventName:!1}),g=a||le("session",Te),a&&(Ee("session",Te,a),f.get_distinct_id()!==a&&f.identify(a)),i=!0,ee({iframes:!0}),P("contact",()=>{fe(Ht,"url");for(let[v,S]of de.splice(0))fe(v,S)});for(let v of l.splice(0))v(!0)}return $?je():(oe()==="denied"&&Nt(),ee({iframes:!0})),t={version:Ve,get mode(){return pe},consent:()=>n&&e.consent?oe():null,grant(){Ee("local",Ce,"granted"),$=!0,u?i||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),i=!0,u.capture("$pageview"),ee({iframes:!0})):je()},deny(){var f;if(Ee("local",Ce,"denied"),$=!1,de=[],W=null,te=null,ne=null,!u){E._i.length=0,d==="injected"&&(d="idle");return}u.opt_out_capturing(),(f=u.stopSessionRecording)==null||f.call(u),u.set_config({disable_persistence:!0}),Nt(),i=!1,g=null,ee()},onReady(f){i?f(!0):l.push(f)},fields:Ne,capture(f,w){i&&u.capture(f,w)},get posthog(){return u||(window.posthog===E?E:null)}},K(t)}function K(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Re(e,t=()=>({})){return{version:Ve,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},posthog:null}}export{bt as ALLOWED_PARAMS,Ce as CONSENT_KEY,Ve as VERSION,ai as init};
|
package/dist/tag.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
(()=>{var T=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var rt="5.3.0";function
|
|
2
|
-
`),...e}}function nn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function st(){let e=window,t=navigator;return k(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function on(){let e=window,t=navigator;return k(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!st()}function X(){let e=window,t=navigator;return k(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function F(){let e=window,t=navigator;return k(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function ke(){let e=window,{HTMLElement:t,Document:n}=e;return k(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function J(){let e=window;return nn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function U(){var e,t;let n=window;return k(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function rn(){let e=window,t=navigator,{CSS:n}=e;return k(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function at(){let{CSS:e}=window;return k([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function sn(){let e=window;return k([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function an(){let e=window,{URLPattern:t}=e;return k(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function cn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return k([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function un(){let e=window;return k(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function K(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return k([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function ln(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return k(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function dn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function fn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ue(){var e,t;let n=X(),o=U(),r=window,a=navigator;return n?k([pn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?k(["onorientationchange"in r,"orientation"in r,/android/i.test(a.appVersion)])>=2:!1}function mn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return k(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function pn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var hn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function gn(e){let t=yn(e),n=bn(t);return{score:t,comment:hn.replace(/\$/g,`${n}`)}}function yn(e){if(ue())return .4;if(F())return ke()&&!(K()&&J())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function bn(e){return it(.99+.01*e,1e-4)}function ce(e,t){return new Promise(n=>setTimeout(n,e,t))}function wn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function _n(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):ce(Math.min(e,t))}function ct(e){return!!e&&typeof e.then=="function"}function Xe(e,t){try{let n=e();ct(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function $e(e,t,n=16){let o=Array(e.length),r=Date.now();for(let a=0;a<e.length;++a){o[a]=t(e[a],a);let c=Date.now();c>=r+n&&(r=c,await wn())}return o}function B(e){return e.then(void 0,()=>{}),e}function vn(e){return typeof e!="function"}function kn(e,t){let n=B(new Promise(o=>{let r=Date.now();Xe(e.bind(null,t),(...a)=>{let c=Date.now()-r;if(!a[0])return o(()=>({error:a[1],duration:c}));let l=a[1];if(vn(l))return o(()=>({value:l,duration:c}));o(()=>new Promise(d=>{let u=Date.now();Xe(l,(...s)=>{let i=c+Date.now()-u;if(!s[0])return d({error:s[1],duration:i});d({value:s[1],duration:i})})}))})}));return function(){return n.then(r=>r())}}function Sn(e,t,n,o){let r=Object.keys(e).filter(c=>Qt(n,c)),a=B($e(r,c=>kn(e[c],t),o));return async function(){let l=await a,d=await $e(l,i=>B(i()),o),u=await Promise.all(d),s={};for(let i=0;i<r.length;++i)s[r[i]]=u[i];return s}}async function ut(e,t,n=50){var o,r,a;let c=document;for(;!c.body;)await ce(n);let l=c.createElement("iframe");try{for(await new Promise((d,u)=>{let s=!1,i=()=>{s=!0,d()},p=g=>{s=!0,u(g)};l.onload=i,l.onerror=p;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",c.body.appendChild(l);let h=()=>{var g,R;s||(((R=(g=l.contentWindow)===null||g===void 0?void 0:g.document)===null||R===void 0?void 0:R.readyState)==="complete"?i():setTimeout(h,10))};h()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await ce(n);return await e(l,l.contentWindow)}finally{(a=l.parentNode)===null||a===void 0||a.removeChild(l)}}function xn(e){let[t,n]=qt(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let a=n[r].join(" ");r==="style"?Ln(o.style,a):o.setAttribute(r,a)}return o}function Ln(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,a,,c]=o;e.setProperty(r,a,c||"")}}}function An(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function Pn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(In())return-3;try{return e.canMakePayments()?1:0}catch(t){return Fn(t)}}var In=An;function Fn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Cn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function En(){return Tn()?-4:Mn()}function Mn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Rn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),a=r.createOscillator();a.type="triangle",a.frequency.value=1e4;let c=r.createDynamicsCompressor();c.threshold.value=-50,c.knee.value=40,c.ratio.value=12,c.attack.value=0,c.release.value=.25,a.connect(c),c.connect(r.destination),a.start(0);let[l,d]=Vn(r),u=B(l.then(s=>Wn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(d(),u)}function Rn(){return F()&&!ke()&&!un()}function Tn(){return F()&&K()&&J()||X()&&mn()&&an()}function Vn(e){let a=()=>{};return[new Promise((l,d)=>{let u=!1,s=0,i=0;e.oncomplete=h=>l(h.renderedBuffer);let p=()=>{setTimeout(()=>d(ze("timeout")),Math.min(500,i+5e3-Date.now()))},m=()=>{try{let h=e.startRendering();switch(ct(h)&&B(h),e.state){case"running":i=Date.now(),u&&p();break;case"suspended":document.hidden||s++,u&&s>=3?d(ze("suspended")):setTimeout(m,500);break}}catch(h){d(h)}};m(),a=()=>{u||(u=!0,i>0&&p())}}),a]}function Wn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function ze(e){let t=new Error(e);return t.name=e,t}function Dn(){if(!(ue()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Nn(){return Gn($n())}function Gn(e){let t=!1,n,o,[r,a]=Zn();return Hn(r,a)?(t=On(a),e?n=o="skipped":[n,o]=jn(r,a)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Zn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function Hn(e,t){return!!(t&&e.toDataURL)}function On(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function jn(e,t){Yn(e,t);let n=ge(e),o=ge(e);return n!==o?["unstable","unstable"]:(Xn(e,t),[ge(e),n])}function Yn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function Xn(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function ge(e){return e.toDataURL()}function $n(){let e=F()&&K()&&J(),t=U()&&rn();return e||t}function zn(){return window.screen.colorDepth}function Bn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function Jn(){if(O("no-preference"))return 0;if(O("high")||O("more"))return 1;if(O("low")||O("less"))return-1;if(O("forced"))return 10}function O(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function Un(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function Kn(){return navigator.cpuClass}function Qn(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function qn(){return E(I(navigator.deviceMemory),void 0)}function eo(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function to({debug:e}={}){if(!no())return;let t=eo(),n=Object.keys(t),o=[].concat(...n.map(c=>t[c])),r=await oo(o);e&&ro(t,r);let a=n.filter(c=>{let l=t[c];return k(l.map(u=>r[u]))>l.length*.6});return a.sort(),a}function no(){return F()||ue()}async function oo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),a={};Be(o);for(let c=0;c<e.length;++c){let l=xn(e[c]);l.tagName==="DIALOG"&&l.show();let d=n.createElement("div");Be(d),d.appendChild(l),o.appendChild(d),r[c]=l}for(;!n.body;)await ce(50);n.body.appendChild(o);try{for(let c=0;c<e.length;++c)r[c].offsetParent||(a[e[c]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return a}function Be(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function ro(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
1
|
+
(()=>{var T=["addExceptionStep","alias","calculateEventProperties","canRenderSurvey","canRenderSurveyAsync","cancelPendingSurvey","capture","captureException","captureLog","captureTraceFeedback","captureTraceMetric","clearIdentity","clear_opt_in_out_capturing","createPersonProfile","debug","displaySurvey","getActiveMatchingSurveys","getAllFeatureFlags","getEarlyAccessFeatures","getExtension","getFeatureFlag","getFeatureFlagPayload","getFeatureFlagResult","getGroups","getPageViewId","getSessionProperty","getSurveys","get_distinct_id","get_explicit_consent_status","get_property","get_session_id","get_session_replay_url","group","has_opted_in_capturing","has_opted_out_capturing","identify","init","isFeatureEnabled","is_capturing","loadToolbar","on","onActiveMatchingSurveysChanged","onFeatureFlags","onSessionId","onSurveysLoaded","opt_in_capturing","opt_out_capturing","register","register_for_session","register_once","reloadFeatureFlags","renderSurvey","reset","resetGroupPropertiesForFlags","resetGroups","resetPersonPropertiesForFlags","sessionRecordingStarted","setGroupPropertiesForFlags","setIdentity","setInternalOrTestUser","setPersonProperties","setPersonPropertiesForFlags","set_config","shutdown","startExceptionAutocapture","startSessionRecording","stopExceptionAutocapture","stopSessionRecording","unregister","unregister_for_session","unsetPersonProperties","updateEarlyAccessFeatureEnrollment","updateFlags"];var rt="5.3.0";function Qt(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function qt(e,t){return!Qt(e,t)}function ve(e){return parseInt(e)}function F(e){return parseFloat(e)}function M(e,t){return typeof e=="number"&&isNaN(e)?t:e}function k(e){return e.reduce((t,n)=>t+(n?1:0),0)}function it(e,t=1){if(Math.abs(t)>=1)return Math.round(e/t)*t;{let n=1/t;return Math.round(e*n)/n}}function en(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),s=r[1]||void 0,a={},l=/([.:#][\w-]+|\[.+?\])/gi,d=(u,i)=>{a[u]=a[u]||[],a[u].push(i)};for(;;){let u=l.exec(r[2]);if(!u)break;let i=u[0];switch(i[0]){case".":d("class",i.slice(1));break;case"#":d("id",i.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(i);if(c)d(c[1],(n=(t=c[4])!==null&&t!==void 0?t:c[5])!==null&&n!==void 0?n:"");else throw new Error(o);break}default:throw new Error(o)}}return[s,a]}function tn(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);if(o>127)return new TextEncoder().encode(e);t[n]=o}return t}function nn(e){var t;return{name:e.name,message:e.message,stack:(t=e.stack)===null||t===void 0?void 0:t.split(`
|
|
2
|
+
`),...e}}function on(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function st(){let e=window,t=navigator;return k(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function rn(){let e=window,t=navigator;return k(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!st()}function X(){let e=window,t=navigator;return k(["webkitPersistentStorage"in t,"webkitTemporaryStorage"in t,(t.vendor||"").indexOf("Google")===0,"webkitResolveLocalFileSystemURL"in e,"BatteryManager"in e,"webkitMediaStream"in e,"webkitSpeechGrammar"in e])>=5}function C(){let e=window,t=navigator;return k(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function ke(){let e=window,{HTMLElement:t,Document:n}=e;return k(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function J(){let e=window;return on(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function U(){var e,t;let n=window;return k(["buildID"in navigator,"MozAppearance"in((t=(e=document.documentElement)===null||e===void 0?void 0:e.style)!==null&&t!==void 0?t:{}),"onmozfullscreenchange"in n,"mozInnerScreenX"in n,"CSSMozDocumentRule"in n,"CanvasCaptureMediaStream"in n])>=4}function sn(){let e=window,t=navigator,{CSS:n}=e;return k(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function ct(){let{CSS:e}=window;return k([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function cn(){let e=window;return k([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function an(){let e=window,{URLPattern:t}=e;return k(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function un(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return k([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function ln(){let e=window;return k(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function K(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return k([!("getStorageUpdates"in t),o&&"popover"in o.prototype,"CSSCounterStyleRule"in e,n.supports("font-size-adjust: ex-height 0.5"),n.supports("text-transform: full-width")])>=4}function dn(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return k(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function fn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function mn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ue(){var e,t;let n=X(),o=U(),r=window,s=navigator;return n?k([hn(),"HTMLInputElement"in r&&"capture"in HTMLInputElement.prototype,"NetworkInformation"in r&&"ontypechange"in((t=(e=r.NetworkInformation)===null||e===void 0?void 0:e.prototype)!==null&&t!==void 0?t:{}),!("sinkId"in new Audio)])>=2:o?k(["onorientationchange"in r,"orientation"in r,/android/i.test(s.appVersion)])>=2:!1}function pn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return k(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function hn(){var e,t;try{return!!(!((t=(e=window.Intl)===null||e===void 0?void 0:e.supportedValuesOf)===null||t===void 0)&&t.call(e,"collation").includes("dict"))}catch{return!1}}var gn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function yn(e){let t=bn(e),n=wn(t);return{score:t,comment:gn.replace(/\$/g,`${n}`)}}function bn(e){if(ue())return .4;if(C())return ke()&&!(K()&&J())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function wn(e){return it(.99+.01*e,1e-4)}function ae(e,t){return new Promise(n=>setTimeout(n,e,t))}function _n(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function vn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):ae(Math.min(e,t))}function at(e){return!!e&&typeof e.then=="function"}function Xe(e,t){try{let n=e();at(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function $e(e,t,n=16){let o=Array(e.length),r=Date.now();for(let s=0;s<e.length;++s){o[s]=t(e[s],s);let a=Date.now();a>=r+n&&(r=a,await _n())}return o}function B(e){return e.then(void 0,()=>{}),e}function kn(e){return typeof e!="function"}function Sn(e,t){let n=B(new Promise(o=>{let r=Date.now();Xe(e.bind(null,t),(...s)=>{let a=Date.now()-r;if(!s[0])return o(()=>({error:s[1],duration:a}));let l=s[1];if(kn(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(d=>{let u=Date.now();Xe(l,(...i)=>{let c=a+Date.now()-u;if(!i[0])return d({error:i[1],duration:c});d({value:i[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function xn(e,t,n,o){let r=Object.keys(e).filter(a=>qt(n,a)),s=B($e(r,a=>Sn(e[a],t),o));return async function(){let l=await s,d=await $e(l,c=>B(c()),o),u=await Promise.all(d),i={};for(let c=0;c<r.length;++c)i[r[c]]=u[c];return i}}async function ut(e,t,n=50){var o,r,s;let a=document;for(;!a.body;)await ae(n);let l=a.createElement("iframe");try{for(await new Promise((d,u)=>{let i=!1,c=()=>{i=!0,d()},h=g=>{i=!0,u(g)};l.onload=c,l.onerror=h;let{style:m}=l;m.setProperty("display","block","important"),m.position="absolute",m.top="0",m.left="0",m.visibility="hidden",t&&"srcdoc"in l?l.srcdoc=t:l.src="about:blank",a.body.appendChild(l);let p=()=>{var g,L;i||(((L=(g=l.contentWindow)===null||g===void 0?void 0:g.document)===null||L===void 0?void 0:L.readyState)==="complete"?c():setTimeout(p,10))};p()});!(!((r=(o=l.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await ae(n);return await e(l,l.contentWindow)}finally{(s=l.parentNode)===null||s===void 0||s.removeChild(l)}}function Ln(e){let[t,n]=en(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let s=n[r].join(" ");r==="style"?An(o.style,s):o.setAttribute(r,s)}return o}function An(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,s,,a]=o;e.setProperty(r,s,a||"")}}}function Pn(){let e=window;for(;;){let t=e.parent;if(!t||t===e)return!1;try{if(t.location.origin!==e.location.origin)return!0}catch(n){if(n instanceof Error&&n.name==="SecurityError")return!0;throw n}e=t}}function In(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Fn())return-3;try{return e.canMakePayments()?1:0}catch(t){return Cn(t)}}var Fn=Pn;function Cn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function En(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Mn(){return Vn()?-4:Rn()}function Rn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Tn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),s=r.createOscillator();s.type="triangle",s.frequency.value=1e4;let a=r.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,s.connect(a),a.connect(r.destination),s.start(0);let[l,d]=Wn(r),u=B(l.then(i=>Dn(i.getChannelData(0).subarray(n)),i=>{if(i.name==="timeout"||i.name==="suspended")return-3;throw i}));return()=>(d(),u)}function Tn(){return C()&&!ke()&&!ln()}function Vn(){return C()&&K()&&J()||X()&&pn()&&an()}function Wn(e){let s=()=>{};return[new Promise((l,d)=>{let u=!1,i=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>d(ze("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(at(p)&&B(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||i++,u&&i>=3?d(ze("suspended")):setTimeout(m,500);break}}catch(p){d(p)}};m(),s=()=>{u||(u=!0,c>0&&h())}}),s]}function Dn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function ze(e){let t=new Error(e);return t.name=e,t}function Nn(){if(!(ue()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Gn(){return Zn(zn())}function Zn(e){let t=!1,n,o,[r,s]=Hn();return On(r,s)?(t=jn(s),e?n=o="skipped":[n,o]=Yn(r,s)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Hn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function On(e,t){return!!(t&&e.toDataURL)}function jn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function Yn(e,t){Xn(e,t);let n=ge(e),o=ge(e);return n!==o?["unstable","unstable"]:($n(e,t),[ge(e),n])}function Xn(e,t){e.width=240,e.height=60,t.textBaseline="alphabetic",t.fillStyle="#f60",t.fillRect(100,1,62,20),t.fillStyle="#069",t.font='11pt "Times New Roman"';let n="Cwm fjordbank gly \u{1F603}";t.fillText(n,2,15),t.fillStyle="rgba(102, 204, 0, 0.2)",t.font="18pt Arial",t.fillText(n,4,45)}function $n(e,t){e.width=122,e.height=110,t.globalCompositeOperation="multiply";for(let[n,o,r]of[["#f2f",40,40],["#2ff",80,40],["#ff2",60,80]])t.fillStyle=n,t.beginPath(),t.arc(o,r,40,0,Math.PI*2,!0),t.closePath(),t.fill();t.fillStyle="#f9c",t.arc(60,60,60,0,Math.PI*2,!0),t.arc(60,60,20,0,Math.PI*2,!0),t.fill("evenodd")}function ge(e){return e.toDataURL()}function zn(){let e=C()&&K()&&J(),t=U()&&sn();return e||t}function Bn(){return window.screen.colorDepth}function Jn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function Un(){if(O("no-preference"))return 0;if(O("high")||O("more"))return 1;if(O("low")||O("less"))return-1;if(O("forced"))return 10}function O(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function Kn(){let e=document;try{e.cookie="cookietest=1; SameSite=Strict;";let t=e.cookie.indexOf("cookietest=")!==-1;return e.cookie="cookietest=1; SameSite=Strict; expires=Thu, 01-Jan-1970 00:00:01 GMT",t}catch{return!1}}function Qn(){return navigator.cpuClass}function qn(){if(!window.Intl)return-1;let e=window.Intl.DateTimeFormat;if(!e)return-2;let t=e().resolvedOptions().locale;return!t&&t!==""?-3:t}function eo(){return M(F(navigator.deviceMemory),void 0)}function to(){let e=atob;return{abpIndo:["#Iklan-Melayang","#Kolom-Iklan-728","#SidebarIklan-wrapper",'[title="ALIENBOLA" i]',e("I0JveC1CYW5uZXItYWRz")],abpvn:[".quangcao","#mobileCatfish",e("LmNsb3NlLWFkcw=="),'[id^="bn_bottom_fixed_"]',"#pmadv"],adBlockFinland:[".mainostila",e("LnNwb25zb3JpdA=="),".ylamainos",e("YVtocmVmKj0iL2NsaWNrdGhyZ2guYXNwPyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hcHAucmVhZHBlYWsuY29tL2FkcyJd")],adBlockPersian:["#navbar_notice_50",".kadr",'TABLE[width="140px"]',"#divAgahi",e("YVtocmVmXj0iaHR0cDovL2cxLnYuZndtcm0ubmV0L2FkLyJd")],adBlockWarningRemoval:["#adblock-honeypot",".adblocker-root",".wp_adblock_detect",e("LmhlYWRlci1ibG9ja2VkLWFk"),e("I2FkX2Jsb2NrZXI=")],adGuardAnnoyances:[".hs-sosyal","#cookieconsentdiv",'div[class^="app_gdpr"]',".as-oil",'[data-cypress="soft-push-notification-modal"]'],adGuardBase:[".BetterJsPopOverlay",e("I2FkXzMwMFgyNTA="),e("I2Jhbm5lcmZsb2F0MjI="),e("I2NhbXBhaWduLWJhbm5lcg=="),e("I0FkLUNvbnRlbnQ=")],adGuardChinese:[e("LlppX2FkX2FfSA=="),e("YVtocmVmKj0iLmh0aGJldDM0LmNvbSJd"),"#widget-quan",e("YVtocmVmKj0iLzg0OTkyMDIwLnh5eiJd"),e("YVtocmVmKj0iLjE5NTZobC5jb20vIl0=")],adGuardFrench:["#pavePub",e("LmFkLWRlc2t0b3AtcmVjdGFuZ2xl"),".mobile_adhesion",".widgetadv",e("LmFkc19iYW4=")],adGuardGerman:['aside[data-portal-id="leaderboard"]'],adGuardJapanese:["#kauli_yad_1",e("YVtocmVmXj0iaHR0cDovL2FkMi50cmFmZmljZ2F0ZS5uZXQvIl0="),e("Ll9wb3BJbl9pbmZpbml0ZV9hZA=="),e("LmFkZ29vZ2xl"),e("Ll9faXNib29zdFJldHVybkFk")],adGuardMobile:[e("YW1wLWF1dG8tYWRz"),e("LmFtcF9hZA=="),'amp-embed[type="24smi"]',"#mgid_iframe1",e("I2FkX2ludmlld19hcmVh")],adGuardRussian:[e("YVtocmVmXj0iaHR0cHM6Ly9hZC5sZXRtZWFkcy5jb20vIl0="),e("LnJlY2xhbWE="),'div[id^="smi2adblock"]',e("ZGl2W2lkXj0iQWRGb3hfYmFubmVyXyJd"),"#psyduckpockeball"],adGuardSocial:[e("YVtocmVmXj0iLy93d3cuc3R1bWJsZXVwb24uY29tL3N1Ym1pdD91cmw9Il0="),e("YVtocmVmXj0iLy90ZWxlZ3JhbS5tZS9zaGFyZS91cmw/Il0="),".etsy-tweet","#inlineShare",".popup-social"],adGuardSpanishPortuguese:["#barraPublicidade","#Publicidade","#publiEspecial","#queTooltip",".cnt-publi"],adGuardTrackingProtection:["#qoo-counter",e("YVtocmVmXj0iaHR0cDovL2NsaWNrLmhvdGxvZy5ydS8iXQ=="),e("YVtocmVmXj0iaHR0cDovL2hpdGNvdW50ZXIucnUvdG9wL3N0YXQucGhwIl0="),e("YVtocmVmXj0iaHR0cDovL3RvcC5tYWlsLnJ1L2p1bXAiXQ=="),"#top100counter"],adGuardTurkish:["#backkapat",e("I3Jla2xhbWk="),e("YVtocmVmXj0iaHR0cDovL2Fkc2Vydi5vbnRlay5jb20udHIvIl0="),e("YVtocmVmXj0iaHR0cDovL2l6bGVuemkuY29tL2NhbXBhaWduLyJd"),e("YVtocmVmXj0iaHR0cDovL3d3dy5pbnN0YWxsYWRzLm5ldC8iXQ==")],bulgarian:[e("dGQjZnJlZW5ldF90YWJsZV9hZHM="),"#ea_intext_div",".lapni-pop-over","#xenium_hot_offers"],easyList:[".yb-floorad",e("LndpZGdldF9wb19hZHNfd2lkZ2V0"),e("LnRyYWZmaWNqdW5reS1hZA=="),".textad_headline",e("LnNwb25zb3JlZC10ZXh0LWxpbmtz")],easyListChina:[e("LmFwcGd1aWRlLXdyYXBbb25jbGljayo9ImJjZWJvcy5jb20iXQ=="),e("LmZyb250cGFnZUFkdk0="),"#taotaole","#aafoot.top_box",".cfa_popup"],easyListCookie:[".ezmob-footer",".cc-CookieWarning","[data-cookie-number]",e("LmF3LWNvb2tpZS1iYW5uZXI="),".sygnal24-gdpr-modal-wrap"],easyListCzechSlovak:["#onlajny-stickers",e("I3Jla2xhbW5pLWJveA=="),e("LnJla2xhbWEtbWVnYWJvYXJk"),".sklik",e("W2lkXj0ic2tsaWtSZWtsYW1hIl0=")],easyListDutch:[e("I2FkdmVydGVudGll"),e("I3ZpcEFkbWFya3RCYW5uZXJCbG9jaw=="),".adstekst",e("YVtocmVmXj0iaHR0cHM6Ly94bHR1YmUubmwvY2xpY2svIl0="),"#semilo-lrectangle"],easyListGermany:["#SSpotIMPopSlider",e("LnNwb25zb3JsaW5rZ3J1ZW4="),e("I3dlcmJ1bmdza3k="),e("I3Jla2xhbWUtcmVjaHRzLW1pdHRl"),e("YVtocmVmXj0iaHR0cHM6Ly9iZDc0Mi5jb20vIl0=")],easyListItaly:[e("LmJveF9hZHZfYW5udW5jaQ=="),".sb-box-pubbliredazionale",e("YVtocmVmXj0iaHR0cDovL2FmZmlsaWF6aW9uaWFkcy5zbmFpLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZHNlcnZlci5odG1sLml0LyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9hZmZpbGlhemlvbmlhZHMuc25haS5pdC8iXQ==")],easyListLithuania:[e("LnJla2xhbW9zX3RhcnBhcw=="),e("LnJla2xhbW9zX251b3JvZG9z"),e("aW1nW2FsdD0iUmVrbGFtaW5pcyBza3lkZWxpcyJd"),e("aW1nW2FsdD0iRGVkaWt1b3RpLmx0IHNlcnZlcmlhaSJd"),e("aW1nW2FsdD0iSG9zdGluZ2FzIFNlcnZlcmlhaS5sdCJd")],estonian:[e("QVtocmVmKj0iaHR0cDovL3BheTRyZXN1bHRzMjQuZXUiXQ==")],fanboyAnnoyances:["#ac-lre-player",".navigate-to-top","#subscribe_popup",".newsletter_holder","#back-top"],fanboyAntiFacebook:[".util-bar-module-firefly-visible"],fanboyEnhancedTrackers:[".open.pushModal","#issuem-leaky-paywall-articles-zero-remaining-nag","#sovrn_container",'div[class$="-hide"][zoompage-fontsize][style="display: block;"]',".BlockNag__Card"],fanboySocial:["#FollowUs","#meteored_share","#social_follow",".article-sharer",".community__social-desc"],frellwitSwedish:[e("YVtocmVmKj0iY2FzaW5vcHJvLnNlIl1bdGFyZ2V0PSJfYmxhbmsiXQ=="),e("YVtocmVmKj0iZG9rdG9yLXNlLm9uZWxpbmsubWUiXQ=="),"article.category-samarbete",e("ZGl2LmhvbGlkQWRz"),"ul.adsmodern"],greekAdBlock:[e("QVtocmVmKj0iYWRtYW4ub3RlbmV0LmdyL2NsaWNrPyJd"),e("QVtocmVmKj0iaHR0cDovL2F4aWFiYW5uZXJzLmV4b2R1cy5nci8iXQ=="),e("QVtocmVmKj0iaHR0cDovL2ludGVyYWN0aXZlLmZvcnRobmV0LmdyL2NsaWNrPyJd"),"DIV.agores300","TABLE.advright"],hungarian:["#cemp_doboz",".optimonk-iframe-container",e("LmFkX19tYWlu"),e("W2NsYXNzKj0iR29vZ2xlQWRzIl0="),"#hirdetesek_box"],iDontCareAboutCookies:['.alert-info[data-block-track*="CookieNotice"]',".ModuleTemplateCookieIndicator",".o--cookies--container","#cookies-policy-sticky","#stickyCookieBar"],icelandicAbp:[e("QVtocmVmXj0iL2ZyYW1ld29yay9yZXNvdXJjZXMvZm9ybXMvYWRzLmFzcHgiXQ==")],latvian:[e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiA0MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7Il0="),e("YVtocmVmPSJodHRwOi8vd3d3LnNhbGlkemluaS5sdi8iXVtzdHlsZT0iZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4OHB4OyBoZWlnaHQ6IDMxcHg7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsiXQ==")],listKr:[e("YVtocmVmKj0iLy9hZC5wbGFuYnBsdXMuY28ua3IvIl0="),e("I2xpdmVyZUFkV3JhcHBlcg=="),e("YVtocmVmKj0iLy9hZHYuaW1hZHJlcC5jby5rci8iXQ=="),e("aW5zLmZhc3R2aWV3LWFk"),".revenue_unit_item.dable"],listeAr:[e("LmdlbWluaUxCMUFk"),".right-and-left-sponsers",e("YVtocmVmKj0iLmFmbGFtLmluZm8iXQ=="),e("YVtocmVmKj0iYm9vcmFxLm9yZyJd"),e("YVtocmVmKj0iZHViaXp6bGUuY29tL2FyLz91dG1fc291cmNlPSJd")],listeFr:[e("YVtocmVmXj0iaHR0cDovL3Byb21vLnZhZG9yLmNvbS8iXQ=="),e("I2FkY29udGFpbmVyX3JlY2hlcmNoZQ=="),e("YVtocmVmKj0id2Vib3JhbWEuZnIvZmNnaS1iaW4vIl0="),".site-pub-interstitiel",'div[id^="crt-"][data-criteo-id]'],officialPolish:["#ceneo-placeholder-ceneo-12",e("W2hyZWZePSJodHRwczovL2FmZi5zZW5kaHViLnBsLyJd"),e("YVtocmVmXj0iaHR0cDovL2Fkdm1hbmFnZXIudGVjaGZ1bi5wbC9yZWRpcmVjdC8iXQ=="),e("YVtocmVmXj0iaHR0cDovL3d3dy50cml6ZXIucGwvP3V0bV9zb3VyY2UiXQ=="),e("ZGl2I3NrYXBpZWNfYWQ=")],ro:[e("YVtocmVmXj0iLy9hZmZ0cmsuYWx0ZXgucm8vQ291bnRlci9DbGljayJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ibGFja2ZyaWRheXNhbGVzLnJvL3Ryay9zaG9wLyJd"),e("YVtocmVmXj0iaHR0cHM6Ly9ldmVudC4ycGVyZm9ybWFudC5jb20vZXZlbnRzL2NsaWNrIl0="),e("YVtocmVmXj0iaHR0cHM6Ly9sLnByb2ZpdHNoYXJlLnJvLyJd"),'a[href^="/url/"]'],ruAd:[e("YVtocmVmKj0iLy9mZWJyYXJlLnJ1LyJd"),e("YVtocmVmKj0iLy91dGltZy5ydS8iXQ=="),e("YVtocmVmKj0iOi8vY2hpa2lkaWtpLnJ1Il0="),"#pgeldiz",".yandex-rtb-block"],thaiAds:["a[href*=macau-uta-popup]",e("I2Fkcy1nb29nbGUtbWlkZGxlX3JlY3RhbmdsZS1ncm91cA=="),e("LmFkczMwMHM="),".bumq",".img-kosana"],webAnnoyancesUltralist:["#mod-social-share-2","#social-tools",e("LmN0cGwtZnVsbGJhbm5lcg=="),".zergnet-recommend",".yt.btn-link.btn-md.btn"]}}async function no({debug:e}={}){if(!oo())return;let t=to(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await ro(o);e&&io(t,r);let s=n.filter(a=>{let l=t[a];return k(l.map(u=>r[u]))>l.length*.6});return s.sort(),s}function oo(){return C()||ue()}async function ro(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),s={};Be(o);for(let a=0;a<e.length;++a){let l=Ln(e[a]);l.tagName==="DIALOG"&&l.show();let d=n.createElement("div");Be(d),d.appendChild(l),o.appendChild(d),r[a]=l}for(;!n.body;)await ae(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(s[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return s}function Be(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function io(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
3
3
|
${o}:`;for(let r of e[o])n+=`
|
|
4
4
|
${t[r]?"\u{1F6AB}":"\u27A1\uFE0F"} ${r}`}console.log(`${n}
|
|
5
|
-
\`\`\``)}var io="mmMwWLliI0fiflO&1",ye={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function so(){return co((e,t,n)=>{let o={},r={};for(let c of Object.keys(ye)){let[l={},d=io]=ye[c],u=e.createElement("span");u.textContent=d,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let i=l[s];i!==void 0&&(u.style[s]=i)}o[c]=u,t.append(e.createElement("br"),u)}let a=X()&&cn();for(let c of Object.keys(ye)){let l=o[c].getBoundingClientRect().width;r[c]=a?ao(l*n.devicePixelRatio):l}return r})}function ao(e){let t=ue()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function co(e,t=4e3){return ut((n,o)=>{let r=o.document,a=r.body,c=a.style;c.width=`${t}px`,c.webkitTextSizeAdjust=c.textSizeAdjust="none",X()?a.style.zoom=`${1/o.devicePixelRatio}`:F()&&(a.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),a.appendChild(l),e(r,a,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var uo="mmMwWLliI0O&1",lo="48px",j=["monospace","sans-serif","serif"],Je=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function fo(){return ut((e,{document:t})=>{let n=t.body;n.style.fontSize=lo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},a={},c=m=>{let h=t.createElement("span"),{style:g}=h;return g.position="absolute",g.top="0",g.left="0",g.fontFamily=m,h.textContent=uo,o.appendChild(h),h},l=(m,h)=>c(`'${m}',${h}`),d=()=>j.map(c),u=()=>{let m={};for(let h of Je)m[h]=j.map(g=>l(h,g));return m},s=m=>j.some((h,g)=>m[g].offsetWidth!==r[h]||m[g].offsetHeight!==a[h]),i=d(),p=u();n.appendChild(o);for(let m=0;m<j.length;m++)r[j[m]]=i[m].offsetWidth,a[j[m]]=i[m].offsetHeight;return Je.filter(m=>s(p[m]))})}function mo(){if(Ue("active"))return!0;if(Ue("none"))return!1}function Ue(e){return matchMedia(`(forced-colors: ${e})`).matches}function po(){let e=ho();return e!==void 0&&U()&&at()?e>=8?8:4:e}function ho(){return E(ve(navigator.hardwareConcurrency),void 0)}function go(){if(Ke("high"))return!0;if(Ke("standard"))return!1}function Ke(e){return matchMedia(`(dynamic-range: ${e})`).matches}function yo(){if(!(st()||on()))try{return!!window.indexedDB}catch{return!0}}function bo(){if(Qe("inverted"))return!0;if(Qe("none"))return!1}function Qe(e){return matchMedia(`(inverted-colors: ${e})`).matches}function wo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&sn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function _o(){try{return!!window.localStorage}catch{return!0}}var y=Math,x=()=>0;function vo(){let e=y.acos||x,t=y.acosh||x,n=y.asin||x,o=y.asinh||x,r=y.atanh||x,a=y.atan||x,c=y.sin||x,l=y.sinh||x,d=y.cos||x,u=y.cosh||x,s=y.tan||x,i=y.tanh||x,p=y.exp||x,m=y.expm1||x,h=y.log1p||x,g=b=>y.pow(y.PI,b),R=b=>y.log(b+y.sqrt(b*b-1)),G=b=>y.log(b+y.sqrt(b*b+1)),q=b=>y.log((1+b)/(1-b))/2,Z=b=>y.exp(b)-1/y.exp(b)/2,W=b=>(y.exp(b)+1/y.exp(b))/2,A=b=>y.exp(b)-1,ee=b=>(y.exp(2*b)-1)/(y.exp(2*b)+1),C=b=>y.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:R(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:q(.5),atan:a(.5),sin:c(-1e300),sinh:l(1),sinhPf:Z(1),cos:d(10.000000000123),cosh:u(1),coshPf:W(1),tan:s(-1e300),tanh:i(1),tanhPf:ee(1),exp:p(1),expm1:m(1),expm1Pf:A(1),log1p:h(10),log1pPf:C(10),powPI:g(-100)}}var ko=100;function So(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=ko;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function xo(){return!!window.openDatabase}function Lo(){return navigator.oscpu}function Ao(){return navigator.pdfViewerEnabled}function Po(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!ke()?ln()?"iPad":"iPhone":e}function Io(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let a=0;a<o.length;++a){let c=o[a];r.push({type:c.type,suffixes:c.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Fo(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Co(){if(qe("reduce"))return!0;if(qe("no-preference"))return!1}function qe(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Eo(){if(et("reduce"))return!0;if(et("no-preference"))return!1}function et(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Mo=2500,Ro=10,ae,be;function To(){if(be!==void 0)return;let e=()=>{let t=we();_e(t)?be=setTimeout(e,Mo):(ae=t,be=void 0)};e()}function Vo(){return To(),async()=>{let e=we();if(_e(e)){if(ae)return[...ae];dn()&&(await fn(),e=we())}return _e(e)||(ae=e),e}}function Wo(){let e=F()&&K()&&J(),t=U()&&at();if(e||t)return()=>Promise.resolve(void 0);let n=Vo();return async()=>{let o=await n(),r=a=>a===null?null:it(a,Ro);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function we(){let e=screen;return[E(I(e.availTop),null),E(I(e.width)-I(e.availWidth)-E(I(e.availLeft),0),null),E(I(e.height)-I(e.availHeight)-E(I(e.availTop),0),null),E(I(e.availLeft),null)]}function _e(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Do(){if(!(F()&&K()&&J()))return No()}function No(){let e=screen,t=o=>E(ve(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function Go(){try{return!!window.sessionStorage}catch{return!0}}function Zo(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-Ho();return`UTC${n>=0?"+":""}${n}`}function Ho(){let e=new Date().getFullYear();return Math.max(I(new Date(e,0,1).getTimezoneOffset()),I(new Date(e,6,1).getTimezoneOffset()))}function Oo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=ve(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function jo(e){return/not/i.test(e)}async function Yo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!jo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function Xo(){return navigator.vendor||""}function $o(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var lt=-1,dt=-2,zo=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),Bo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),Jo=["FRAGMENT_SHADER","VERTEX_SHADER"],Uo=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],ft="WEBGL_debug_renderer_info",Ko="WEBGL_polygon_mode";function Qo({cache:e}){var t,n,o,r,a,c;let l=mt(e);if(!l)return lt;if(!ht(l))return dt;let d=pt()?null:l.getExtension(ft);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:d?(o=l.getParameter(d.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:d?(a=l.getParameter(d.UNMASKED_RENDERER_WEBGL))===null||a===void 0?void 0:a.toString():"",shadingLanguageVersion:((c=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||c===void 0?void 0:c.toString())||""}}function qo({cache:e}){let t=mt(e);if(!t)return lt;if(!ht(t))return dt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],a=[],c=[],l=[],d=[];if(o)for(let s of Object.keys(o))a.push(`${s}=${o[s]}`);let u=tt(t);for(let s of u){let i=t[s];c.push(`${s}=${i}${zo.has(i)?`=${t.getParameter(i)}`:""}`)}if(n)for(let s of n){if(s===ft&&pt()||s===Ko&&nr())continue;let i=t.getExtension(s);if(!i){r.push(s);continue}for(let p of tt(i)){let m=i[p];l.push(`${p}=${m}${Bo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of Jo)for(let i of Uo){let p=er(t,s,i);d.push(`${s}.${i}=${p.join(",")}`)}return l.sort(),c.sort(),{contextAttributes:a,parameters:c,shaderPrecisions:d,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function mt(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function er(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function tt(e){return Object.keys(e.__proto__).filter(tr)}function tr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function pt(){return U()}function nr(){return X()||F()}function ht(e){return typeof e.getParameter=="function"}var or={userAgentData:Yo,fonts:fo,domBlockers:to,fontPreferences:so,audio:En,screenFrame:Wo,canvas:Nn,osCpu:Lo,languages:wo,colorDepth:zn,deviceMemory:qn,screenResolution:Do,hardwareConcurrency:po,timezone:Zo,sessionStorage:Go,localStorage:_o,indexedDB:yo,openDatabase:xo,cpuClass:Kn,platform:Po,plugins:Io,touchSupport:Oo,vendor:Xo,vendorFlavors:$o,cookiesEnabled:Un,colorGamut:Bn,invertedColors:bo,forcedColors:mo,monochrome:So,contrast:Jn,reducedMotion:Co,reducedTransparency:Eo,hdr:go,math:vo,pdfViewerEnabled:Ao,architecture:Cn,applePay:Pn,privateClickMeasurement:Fo,audioBaseLatency:Dn,dateTimeLocale:Qn,webGlBasics:Qo,webGlExtensions:qo};function rr(e){return Sn(or,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,a=e[1]&65535,c=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,s=0,i=0,p=0,m=0;m+=a+u,p+=m>>>16,m&=65535,p+=r+d,i+=p>>>16,p&=65535,i+=o+l,s+=i>>>16,i&=65535,s+=n+c,s&=65535,e[0]=s<<16|i,e[1]=p<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,a=e[1]&65535,c=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,s=0,i=0,p=0,m=0;m+=a*u,p+=m>>>16,m&=65535,p+=r*u,i+=p>>>16,p&=65535,p+=a*d,i+=p>>>16,p&=65535,i+=o*u,s+=i>>>16,i&=65535,i+=r*d,s+=i>>>16,i&=65535,i+=a*l,s+=i>>>16,i&=65535,s+=n*u+o*d+r*l+a*c,s&=65535,e[0]=s<<16|i,e[1]=p<<16|m}function Y(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function L(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function _(e,t){e[0]^=t[0],e[1]^=t[1]}var ir=[4283543511,3981806797],sr=[3301882366,444984403];function nt(e){let t=[0,e[0]>>>1];_(e,t),P(e,ir),t[1]=e[0]>>>1,_(e,t),P(e,sr),t[1]=e[0]>>>1,_(e,t)}var ie=[2277735313,289559509],se=[1291169091,658871167],ot=[0,5],ar=[0,1390208809],cr=[0,944331445];function ur(e,t){let n=en(e);t=t||0;let o=[0,n.length],r=o[1]%16,a=o[1]-r,c=[0,t],l=[0,t],d=[0,0],u=[0,0],s;for(s=0;s<a;s=s+16)d[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,d[1]=n[s]|n[s+1]<<8|n[s+2]<<16|n[s+3]<<24,u[0]=n[s+12]|n[s+13]<<8|n[s+14]<<16|n[s+15]<<24,u[1]=n[s+8]|n[s+9]<<8|n[s+10]<<16|n[s+11]<<24,P(d,ie),Y(d,31),P(d,se),_(c,d),Y(c,27),V(c,l),P(c,ot),V(c,ar),P(u,se),Y(u,33),P(u,ie),_(l,u),Y(l,31),V(l,c),P(l,ot),V(l,cr);d[0]=0,d[1]=0,u[0]=0,u[1]=0;let i=[0,0];switch(r){case 15:i[1]=n[s+14],L(i,48),_(u,i);case 14:i[1]=n[s+13],L(i,40),_(u,i);case 13:i[1]=n[s+12],L(i,32),_(u,i);case 12:i[1]=n[s+11],L(i,24),_(u,i);case 11:i[1]=n[s+10],L(i,16),_(u,i);case 10:i[1]=n[s+9],L(i,8),_(u,i);case 9:i[1]=n[s+8],_(u,i),P(u,se),Y(u,33),P(u,ie),_(l,u);case 8:i[1]=n[s+7],L(i,56),_(d,i);case 7:i[1]=n[s+6],L(i,48),_(d,i);case 6:i[1]=n[s+5],L(i,40),_(d,i);case 5:i[1]=n[s+4],L(i,32),_(d,i);case 4:i[1]=n[s+3],L(i,24),_(d,i);case 3:i[1]=n[s+2],L(i,16),_(d,i);case 2:i[1]=n[s+1],L(i,8),_(d,i);case 1:i[1]=n[s],_(d,i),P(d,ie),Y(d,31),P(d,se),_(c,d)}return _(c,o),_(l,o),V(c,l),V(l,c),nt(c),nt(l),V(c,l),V(l,c),`00000000${(c[0]>>>0).toString(16)}`.slice(-8)+`00000000${(c[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function lr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function gt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?tn(n):n,2)}function yt(e){return ur(lr(e))}function dr(e){let t,n=gn(e);return{get visitorId(){return t===void 0&&(t=yt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:rt}}function fr(e=50){return _n(e,e*2)}function mr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),a=await e(),c=dr(a);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
5
|
+
\`\`\``)}var so="mmMwWLliI0fiflO&1",ye={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function co(){return uo((e,t,n)=>{let o={},r={};for(let a of Object.keys(ye)){let[l={},d=so]=ye[a],u=e.createElement("span");u.textContent=d,u.style.whiteSpace="nowrap";for(let i of Object.keys(l)){let c=l[i];c!==void 0&&(u.style[i]=c)}o[a]=u,t.append(e.createElement("br"),u)}let s=X()&&un();for(let a of Object.keys(ye)){let l=o[a].getBoundingClientRect().width;r[a]=s?ao(l*n.devicePixelRatio):l}return r})}function ao(e){let t=ue()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function uo(e,t=4e3){return ut((n,o)=>{let r=o.document,s=r.body,a=s.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?s.style.zoom=`${1/o.devicePixelRatio}`:C()&&(s.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),s.appendChild(l),e(r,s,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var lo="mmMwWLliI0O&1",fo="48px",j=["monospace","sans-serif","serif"],Je=["sans-serif-thin","ARNO PRO","Agency FB","Arabic Typesetting","Arial Unicode MS","AvantGarde Bk BT","BankGothic Md BT","Batang","Bitstream Vera Sans Mono","Calibri","Century","Century Gothic","Clarendon","EUROSTILE","Franklin Gothic","Futura Bk BT","Futura Md BT","GOTHAM","Gill Sans","HELV","Haettenschweiler","Helvetica Neue","Humanst521 BT","Leelawadee","Letter Gothic","Levenim MT","Lucida Bright","Lucida Sans","Menlo","MS Mincho","MS Outlook","MS Reference Specialty","MS UI Gothic","MT Extra","MYRIAD PRO","Marlett","Meiryo UI","Microsoft Uighur","Minion Pro","Monotype Corsiva","PMingLiU","Pristina","SCRIPTINA","Segoe UI Light","Serifa","SimHei","Small Fonts","Staccato222 BT","TRAJAN PRO","Univers CE 55 Medium","Vrinda","ZWAdobeF"];function mo(){return ut((e,{document:t})=>{let n=t.body;n.style.fontSize=fo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},s={},a=m=>{let p=t.createElement("span"),{style:g}=p;return g.position="absolute",g.top="0",g.left="0",g.fontFamily=m,p.textContent=lo,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),d=()=>j.map(a),u=()=>{let m={};for(let p of Je)m[p]=j.map(g=>l(p,g));return m},i=m=>j.some((p,g)=>m[g].offsetWidth!==r[p]||m[g].offsetHeight!==s[p]),c=d(),h=u();n.appendChild(o);for(let m=0;m<j.length;m++)r[j[m]]=c[m].offsetWidth,s[j[m]]=c[m].offsetHeight;return Je.filter(m=>i(h[m]))})}function po(){if(Ue("active"))return!0;if(Ue("none"))return!1}function Ue(e){return matchMedia(`(forced-colors: ${e})`).matches}function ho(){let e=go();return e!==void 0&&U()&&ct()?e>=8?8:4:e}function go(){return M(ve(navigator.hardwareConcurrency),void 0)}function yo(){if(Ke("high"))return!0;if(Ke("standard"))return!1}function Ke(e){return matchMedia(`(dynamic-range: ${e})`).matches}function bo(){if(!(st()||rn()))try{return!!window.indexedDB}catch{return!0}}function wo(){if(Qe("inverted"))return!0;if(Qe("none"))return!1}function Qe(e){return matchMedia(`(inverted-colors: ${e})`).matches}function _o(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))X()&&cn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function vo(){try{return!!window.localStorage}catch{return!0}}var y=Math,x=()=>0;function ko(){let e=y.acos||x,t=y.acosh||x,n=y.asin||x,o=y.asinh||x,r=y.atanh||x,s=y.atan||x,a=y.sin||x,l=y.sinh||x,d=y.cos||x,u=y.cosh||x,i=y.tan||x,c=y.tanh||x,h=y.exp||x,m=y.expm1||x,p=y.log1p||x,g=b=>y.pow(y.PI,b),L=b=>y.log(b+y.sqrt(b*b-1)),G=b=>y.log(b+y.sqrt(b*b+1)),q=b=>y.log((1+b)/(1-b))/2,Z=b=>y.exp(b)-1/y.exp(b)/2,W=b=>(y.exp(b)+1/y.exp(b))/2,P=b=>y.exp(b)-1,ee=b=>(y.exp(2*b)-1)/(y.exp(2*b)+1),E=b=>y.log(1+b);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:L(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:G(1),atanh:r(.5),atanhPf:q(.5),atan:s(.5),sin:a(-1e300),sinh:l(1),sinhPf:Z(1),cos:d(10.000000000123),cosh:u(1),coshPf:W(1),tan:i(-1e300),tanh:c(1),tanhPf:ee(1),exp:h(1),expm1:m(1),expm1Pf:P(1),log1p:p(10),log1pPf:E(10),powPI:g(-100)}}var So=100;function xo(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=So;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Lo(){return!!window.openDatabase}function Ao(){return navigator.oscpu}function Po(){return navigator.pdfViewerEnabled}function Io(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!ke()?dn()?"iPad":"iPhone":e}function Fo(){let e=navigator.plugins;if(!e)return;let t=[];for(let n=0;n<e.length;++n){let o=e[n];if(!o)continue;let r=[];for(let s=0;s<o.length;++s){let a=o[s];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Co(){var e;let t=document.createElement("a"),n=(e=t.attributionSourceId)!==null&&e!==void 0?e:t.attributionsourceid;return n===void 0?void 0:String(n)}function Eo(){if(qe("reduce"))return!0;if(qe("no-preference"))return!1}function qe(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Mo(){if(et("reduce"))return!0;if(et("no-preference"))return!1}function et(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Ro=2500,To=10,ce,be;function Vo(){if(be!==void 0)return;let e=()=>{let t=we();_e(t)?be=setTimeout(e,Ro):(ce=t,be=void 0)};e()}function Wo(){return Vo(),async()=>{let e=we();if(_e(e)){if(ce)return[...ce];fn()&&(await mn(),e=we())}return _e(e)||(ce=e),e}}function Do(){let e=C()&&K()&&J(),t=U()&&ct();if(e||t)return()=>Promise.resolve(void 0);let n=Wo();return async()=>{let o=await n(),r=s=>s===null?null:it(s,To);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function we(){let e=screen;return[M(F(e.availTop),null),M(F(e.width)-F(e.availWidth)-M(F(e.availLeft),0),null),M(F(e.height)-F(e.availHeight)-M(F(e.availTop),0),null),M(F(e.availLeft),null)]}function _e(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function No(){if(!(C()&&K()&&J()))return Go()}function Go(){let e=screen,t=o=>M(ve(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function Zo(){try{return!!window.sessionStorage}catch{return!0}}function Ho(){var e;let t=(e=window.Intl)===null||e===void 0?void 0:e.DateTimeFormat;if(t){let o=new t().resolvedOptions().timeZone;if(o)return o}let n=-Oo();return`UTC${n>=0?"+":""}${n}`}function Oo(){let e=new Date().getFullYear();return Math.max(F(new Date(e,0,1).getTimezoneOffset()),F(new Date(e,6,1).getTimezoneOffset()))}function jo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=ve(e.maxTouchPoints):e.msMaxTouchPoints!==void 0&&(t=e.msMaxTouchPoints);try{document.createEvent("TouchEvent"),n=!0}catch{n=!1}let o="ontouchstart"in window;return{maxTouchPoints:t,touchEvent:n,touchStart:o}}function Yo(e){return/not/i.test(e)}async function Xo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Yo(r)).map(({brand:r})=>r),o={brands:t.length>1?t.filter(r=>r!=="Chromium"):t,mobile:e.mobile,platform:e.platform};if(e.getHighEntropyValues)try{let r=await e.getHighEntropyValues(["architecture","bitness","model","platformVersion"]);o.architecture=r.architecture,o.bitness=r.bitness,o.model=r.model,o.platformVersion=r.platformVersion}catch(r){if(r instanceof DOMException&&r.name==="NotAllowedError")o.highEntropyStatus="not_allowed";else throw r}return o}function $o(){return navigator.vendor||""}function zo(){let e=[];for(let t of["chrome","safari","__crWeb","__gCrWeb","yandex","__yb","__ybro","__firefox__","__edgeTrackingPreventionStatistics","webkit","oprt","samsungAr","ucweb","UCShellJava","puffinDevice"]){let n=window[t];n&&typeof n=="object"&&e.push(t)}return e.sort()}var lt=-1,dt=-2,Bo=new Set([10752,2849,2884,2885,2886,2928,2929,2930,2931,2932,2960,2961,2962,2963,2964,2965,2966,2967,2968,2978,3024,3042,3088,3089,3106,3107,32773,32777,32777,32823,32824,32936,32937,32938,32939,32968,32969,32970,32971,3317,33170,3333,3379,3386,33901,33902,34016,34024,34076,3408,3410,3411,3412,3413,3414,3415,34467,34816,34817,34818,34819,34877,34921,34930,35660,35661,35724,35738,35739,36003,36004,36005,36347,36348,36349,37440,37441,37443,7936,7937,7938]),Jo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),Uo=["FRAGMENT_SHADER","VERTEX_SHADER"],Ko=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],ft="WEBGL_debug_renderer_info",Qo="WEBGL_polygon_mode";function qo({cache:e}){var t,n,o,r,s,a;let l=mt(e);if(!l)return lt;if(!ht(l))return dt;let d=pt()?null:l.getExtension(ft);return{version:((t=l.getParameter(l.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=l.getParameter(l.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:d?(o=l.getParameter(d.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=l.getParameter(l.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:d?(s=l.getParameter(d.UNMASKED_RENDERER_WEBGL))===null||s===void 0?void 0:s.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function er({cache:e}){let t=mt(e);if(!t)return lt;if(!ht(t))return dt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],s=[],a=[],l=[],d=[];if(o)for(let i of Object.keys(o))s.push(`${i}=${o[i]}`);let u=tt(t);for(let i of u){let c=t[i];a.push(`${i}=${c}${Bo.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let i of n){if(i===ft&&pt()||i===Qo&&or())continue;let c=t.getExtension(i);if(!c){r.push(i);continue}for(let h of tt(c)){let m=c[h];l.push(`${h}=${m}${Jo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let i of Uo)for(let c of Ko){let h=tr(t,i,c);d.push(`${i}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:s,parameters:a,shaderPrecisions:d,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function mt(e){if(e.webgl)return e.webgl.context;let t=document.createElement("canvas"),n;t.addEventListener("webglCreateContextError",()=>n=void 0);for(let o of["webgl","experimental-webgl"]){try{n=t.getContext(o)}catch{}if(n)break}return e.webgl={context:n},n}function tr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function tt(e){return Object.keys(e.__proto__).filter(nr)}function nr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function pt(){return U()}function or(){return X()||C()}function ht(e){return typeof e.getParameter=="function"}var rr={userAgentData:Xo,fonts:mo,domBlockers:no,fontPreferences:co,audio:Mn,screenFrame:Do,canvas:Gn,osCpu:Ao,languages:_o,colorDepth:Bn,deviceMemory:eo,screenResolution:No,hardwareConcurrency:ho,timezone:Ho,sessionStorage:Zo,localStorage:vo,indexedDB:bo,openDatabase:Lo,cpuClass:Qn,platform:Io,plugins:Fo,touchSupport:jo,vendor:$o,vendorFlavors:zo,cookiesEnabled:Kn,colorGamut:Jn,invertedColors:wo,forcedColors:po,monochrome:xo,contrast:Un,reducedMotion:Eo,reducedTransparency:Mo,hdr:yo,math:ko,pdfViewerEnabled:Po,architecture:En,applePay:In,privateClickMeasurement:Co,audioBaseLatency:Nn,dateTimeLocale:qn,webGlBasics:qo,webGlExtensions:er};function ir(e){return xn(rr,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,s=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,i=0,c=0,h=0,m=0;m+=s+u,h+=m>>>16,m&=65535,h+=r+d,c+=h>>>16,h&=65535,c+=o+l,i+=c>>>16,c&=65535,i+=n+a,i&=65535,e[0]=i<<16|c,e[1]=h<<16|m}function I(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,s=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,d=t[1]>>>16,u=t[1]&65535,i=0,c=0,h=0,m=0;m+=s*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=s*d,c+=h>>>16,h&=65535,c+=o*u,i+=c>>>16,c&=65535,c+=r*d,i+=c>>>16,c&=65535,c+=s*l,i+=c>>>16,c&=65535,i+=n*u+o*d+r*l+s*a,i&=65535,e[0]=i<<16|c,e[1]=h<<16|m}function Y(e,t){let n=e[0];t%=64,t===32?(e[0]=e[1],e[1]=n):t<32?(e[0]=n<<t|e[1]>>>32-t,e[1]=e[1]<<t|n>>>32-t):(t-=32,e[0]=e[1]<<t|n>>>32-t,e[1]=n<<t|e[1]>>>32-t)}function A(e,t){t%=64,t!==0&&(t<32?(e[0]=e[1]>>>32-t,e[1]=e[1]<<t):(e[0]=e[1]<<t-32,e[1]=0))}function _(e,t){e[0]^=t[0],e[1]^=t[1]}var sr=[4283543511,3981806797],cr=[3301882366,444984403];function nt(e){let t=[0,e[0]>>>1];_(e,t),I(e,sr),t[1]=e[0]>>>1,_(e,t),I(e,cr),t[1]=e[0]>>>1,_(e,t)}var ie=[2277735313,289559509],se=[1291169091,658871167],ot=[0,5],ar=[0,1390208809],ur=[0,944331445];function lr(e,t){let n=tn(e);t=t||0;let o=[0,n.length],r=o[1]%16,s=o[1]-r,a=[0,t],l=[0,t],d=[0,0],u=[0,0],i;for(i=0;i<s;i=i+16)d[0]=n[i+4]|n[i+5]<<8|n[i+6]<<16|n[i+7]<<24,d[1]=n[i]|n[i+1]<<8|n[i+2]<<16|n[i+3]<<24,u[0]=n[i+12]|n[i+13]<<8|n[i+14]<<16|n[i+15]<<24,u[1]=n[i+8]|n[i+9]<<8|n[i+10]<<16|n[i+11]<<24,I(d,ie),Y(d,31),I(d,se),_(a,d),Y(a,27),V(a,l),I(a,ot),V(a,ar),I(u,se),Y(u,33),I(u,ie),_(l,u),Y(l,31),V(l,a),I(l,ot),V(l,ur);d[0]=0,d[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[i+14],A(c,48),_(u,c);case 14:c[1]=n[i+13],A(c,40),_(u,c);case 13:c[1]=n[i+12],A(c,32),_(u,c);case 12:c[1]=n[i+11],A(c,24),_(u,c);case 11:c[1]=n[i+10],A(c,16),_(u,c);case 10:c[1]=n[i+9],A(c,8),_(u,c);case 9:c[1]=n[i+8],_(u,c),I(u,se),Y(u,33),I(u,ie),_(l,u);case 8:c[1]=n[i+7],A(c,56),_(d,c);case 7:c[1]=n[i+6],A(c,48),_(d,c);case 6:c[1]=n[i+5],A(c,40),_(d,c);case 5:c[1]=n[i+4],A(c,32),_(d,c);case 4:c[1]=n[i+3],A(c,24),_(d,c);case 3:c[1]=n[i+2],A(c,16),_(d,c);case 2:c[1]=n[i+1],A(c,8),_(d,c);case 1:c[1]=n[i],_(d,c),I(d,ie),Y(d,31),I(d,se),_(a,d)}return _(a,o),_(l,o),V(a,l),V(l,a),nt(a),nt(l),V(a,l),V(l,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(l[0]>>>0).toString(16)}`.slice(-8)+`00000000${(l[1]>>>0).toString(16)}`.slice(-8)}function dr(e){let t="";for(let n of Object.keys(e).sort()){let o=e[n],r="error"in o?"error":JSON.stringify(o.value);t+=`${t?"|":""}${n.replace(/([:|\\])/g,"\\$1")}:${r}`}return t}function gt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?nn(n):n,2)}function yt(e){return lr(dr(e))}function fr(e){let t,n=yn(e);return{get visitorId(){return t===void 0&&(t=yt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:rt}}function mr(e=50){return vn(e,e*2)}function pr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),s=await e(),a=fr(s);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
6
6
|
|
|
7
7
|
\`\`\`
|
|
8
|
-
version: ${
|
|
8
|
+
version: ${a.version}
|
|
9
9
|
userAgent: ${navigator.userAgent}
|
|
10
10
|
timeBetweenLoadAndGet: ${r-n}
|
|
11
|
-
visitorId: ${
|
|
12
|
-
components: ${gt(
|
|
13
|
-
\`\`\``),c}}}function pr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${rt}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function hr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&pr(),await fr(t);let r=rr({cache:{},debug:n});return mr(r,n)}var bt={load:hr,hashComponents:yt,componentsToDebugString:gt};var gr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],yr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Se=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],xe=["lp","narrative"],br=[...gr,...yr,...Se,...xe],wr=new Set(br);function Le(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let a=o.toLowerCase();wr.has(a)&&r!==""&&!(a in t)&&(t[a]=r)}return t}var _r=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,vr=["email"],kr=["phone","phonenumber","phone_number","tel","telefone"];function Ae(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return _r.test(t)&&t.length<=254?t:null}function Pe(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let a=String(t).replace(/\D/g,""),c=["39","378","379"].includes(a);a&&!o.startsWith(a)&&(o=a+(c?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function wt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let a=o.toLowerCase();!t.email&&vr.includes(a)&&(t.email=Ae(r)||void 0),!t.phone&&kr.includes(a)&&(t.phone=Pe(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Fe=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Sr=/\/widget\/(form|survey|booking)\//,xt=["buy.stripe.com","checkout.stripe.com"],Lt=e=>new Set([...xt,...e||[]].map(t=>String(t).toLowerCase())),M=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},xr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",le="data-f10x-field";function _t(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(xr);for(let[r,a]of Object.entries(t)){let c=e.querySelector(`[name="${CSS.escape(r)}"]`);if(c)c.tagName==="INPUT"&&(c.type==="hidden"||c.value===""||c.hasAttribute(le))&&(c.value=a);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=a,l.setAttribute(le,""),e.appendChild(l)}}}var vt=new WeakMap;function Lr(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=vt.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,vt.set(t,n),t.setAttribute(le,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ie(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[a,c]of Object.entries(t))Fe.includes(a)?o.searchParams.set(a,c):o.searchParams.has(a)||o.searchParams.set(a,c);return xt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var kt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ce({values:e,checkoutHosts:t,addFields:n,onError:o}){let r=Lt(t),a=!1,c=0,l=i=>{for(let p of document.querySelectorAll("a[href]")){if(!r.has(kt(p.getAttribute("href"))))continue;let m=Ie(p.getAttribute("href"),i,location.href);m&&p.setAttribute("href",m)}},d=i=>{for(let p of document.querySelectorAll("iframe[src]")){let m=p.getAttribute("src");if(!Sr.test(m))continue;let h=Ie(m,i,location.href);h&&p.setAttribute("src",h)}},u=(i={})=>{i.iframes&&(a=!0);let p=e();for(let m of document.forms)_t(m,p,n);Lr(p),l(p),a&&d(p)},s=()=>{c||(c=setTimeout(M(()=>{c=0,u()},o),50))};return new MutationObserver(s).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",M(i=>_t(i.target,e(),n),o),!0),document.addEventListener("click",M(i=>{let p=i.target instanceof Element?i.target.closest("a[href]"):null;if(!p||!r.has(kt(p.getAttribute("href"))))return;let m=Ie(p.getAttribute("href"),e(),location.href);m&&p.setAttribute("href",m)},o),!0),M(u,o)(),{refresh:u}}var N="_f10x",Ar=120*1e3,Pr=200;function At({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Pt(e,t){let n;try{n=new URL(e).searchParams.get(N)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),a=n.lastIndexOf(".");if(o<1||r!==o+2||a<=r+1)return null;let c=n.slice(0,o),l=n.slice(o+1,r),d=n.slice(r+1,a),u=n.slice(a+1);if(!/^[0-9a-z]{1,12}$/.test(c)||l!=="i"&&l!=="a"||d.length>Pr||/\s/.test(d))return null;let s=t-parseInt(c,36);return Math.abs(s)<Ar?{distinctID:d,sessionID:u||null,identified:l==="i"}:null}var Ir=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function It(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let a=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Ir.test(a)?n.push(a):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Lt(t),a=(u,s)=>s===u||s.endsWith(`.${u}`),c=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(i=>a(i,u))&&!e.some(i=>a(i,u)&&a(i,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&c(s.hostname.toLowerCase())?s:null}catch{return null}},d=M(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,i=s&&l(s.getAttribute("href")),p=i&&n();p&&(i.searchParams.set(N,p),s.setAttribute("href",i.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,d,!0);document.addEventListener("contextmenu",M(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let i;try{i=new URL(s.getAttribute("href"),location.href)}catch{return}i.searchParams.has(N)&&(i.searchParams.delete(N),s.setAttribute("href",i.href))},o),!0),document.addEventListener("submit",M(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let i=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,p=l((i||s).getAttribute(i?"formaction":"action")||""),m=p&&n();if(!m)return;let h=(i&&i.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let g=s.querySelector(`input[name="${N}"]`);g||(g=document.createElement("input"),g.type="hidden",g.name=N,g.setAttribute(le,""),s.appendChild(g)),g.value=m}else h==="post"&&(p.searchParams.set(N,m),(i||s).setAttribute(i?"formaction":"action",p.href))},o),!0)}var Fr=/e-?mail/i,Cr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Ct=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Et=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Mt=e=>e.type==="email"||Fr.test(Et(e)),Rt=e=>e.type==="tel"||e.type!=="email"&&Cr.test(Et(e));function Er(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),a=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return a?a[1]:null}function Mr(e){if(!(e instanceof HTMLInputElement)||Ct.has(e.type))return{};if(Mt(e)){let t=Ae(e.value);return t?{email:t}:{}}if(Rt(e)){let t=Pe(e.value,Er(e));return t?{phone:t}:{}}return{}}function St(e){let t={};for(let n of e){let o=Mr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Rr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Ct.has(r.type)&&(Mt(r)||Rt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Tr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Tt(e,t){document.addEventListener("submit",M(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=St(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",M(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Rr(o);if(!r||Tr(r))return;let a=St(r.querySelectorAll("input"));(a.email||a.phone)&&e(a,"form")},t),!0)}var Ve="2.1.0",Ee="f10x_consent",Vr=typeof T=="object"?T:[],Wr="1",Dr=/^\d+\.\d+\.\d+$/,We="f10x_contact_id",Nr="contact_id",Gr=/^[A-Za-z0-9_-]{6,128}$/,Vt=1e3,Wt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Zr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",De=e=>e&&e.message||String(e),Hr=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${De(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Or=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function jr(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function Yr(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(de("local",e)))||t(n(de("session",e)))}var Xr={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ne=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},de=(e,t)=>{var n,o;try{return(o=(n=Ne(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Me=(e,t,n)=>{var o;try{(o=Ne(e))==null||o.setItem(t,n)}catch{}};function Dt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Fe){let r=n.get(o);r&&Gr.test(r)&&(t[o]=r)}}catch{}return t}var Re=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Nt(){for(let n of["local","session"]){let o=Ne(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===We)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function $r(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Gt=e=>e==null||e==="posthog";function zr(e){let t=[],n=o=>{for(let r of Vr)o[r]=(...a)=>{o.push([r,...a])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,a)=>{Gt(a)?e():t[a]||(t[a]=[],n(t[a])),t._i.push([o,r,a])},t}function Br(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Wr;return t&&(Dr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function Zt(e={}){if(window.__f10xTracking)return Q(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Te("preview"),Q(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let f=Re({...Le(o),...Dt(o)}),w=!1,v=S=>{w||console.warn(`[@funnel10x/tracking] the dom extra failed (${De(S)}): the form in this frame may miss the fields from its URL.`),w=!0};try{Ce({values:()=>f,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:v})}catch(S){v(S)}return t=Te("frame",()=>f),Q(t)}if($r())return console.warn(Wt),t=Te("conflict"),Q(t);let a=Le(o),c=Dt(o)[Nr]||null,l=[],d="idle",u=null,s=!1,i=null,p=null,m=null,h=!1,g=null,R=!1,G=!1,q=Br(e.apiHost,e.sdkVersion),Z=[],W=(f,w)=>{Z.includes(f)||(Z.push(f),console.warn(Hr(f,w)))},A=(f,w,v)=>{try{return w()}catch(S){return W(f,S),v}},ee=()=>{h||console.warn(Zr),h=!0},C=zr(ee),b=window.posthog;window.posthog=C;let Ge=()=>{let f={...a};return s&&(f.ph_anon_id=u.get_property("$device_id"),f.ph_distinct_id=u.get_distinct_id(),f.ph_session_id=u.get_session_id(),g&&(f.contact_id=g)),Re(f)},Ze=A("dom",()=>Ce({values:Ge,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:f=>W("dom",f)}),null),te=f=>{Ze&&A("dom",()=>Ze.refresh(f))},He=new Set,fe=[],me=(f,w)=>{if(!s){n&&re()==="denied"||fe.push([f,w]);return}let v=Object.fromEntries(Object.entries(f).filter(([S,H])=>H&&!He.has(`${S}:${H}`)));if(Object.keys(v).length){for(let[S,H]of Object.entries(v))He.add(`${S}:${H}`);u.capture("contact_captured",{...v,contact_source:w})}},Ht=A("contact",()=>wt(o),{});A("contact",()=>Tt((f,w)=>me(f,w),f=>W("contact",f)));let pe=A("linker",()=>It(e.linkedDomains),[]),D=pe.length?A("linker",()=>Pt(o,Or()),null):null,Oe=!1,ne=null,oe=null,Ot=()=>s?At({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;pe.length&&A("linker",()=>Ft({hosts:pe,checkoutHosts:e.checkoutHosts,value:Ot,onError:f=>W("linker",f)}));let jt=f=>{!D||Oe||(Oe=!0,A("linker",()=>{let w=f.bootstrap&&typeof f.bootstrap=="object"?f.bootstrap:{};if(w.distinctID||f.identity_distinct_id||Yr(jr(e.key,f))){oe=D.distinctID;return}ne={...w,distinctID:D.distinctID,isIdentifiedID:D.identified,...D.sessionID&&!w.sessionID?{sessionID:D.sessionID}:{}}}))},Yt=Re({tracking_version:Ve,page_version:n?e.pageVersion||1:void 0,ab_test:n&&e.test||void 0}),Xt=f=>(!f||f.event==="$snapshot"||(f.properties={...f.properties,...Yt,...i?{fingerprint:i}:{},fingerprint_ms:p,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...oe?{linked_distinct_id:oe}:{}}),f),re=()=>{let f=de("local",Ee);return f==="granted"||f==="denied"?f:null},z=!n||e.consent===!1||re()==="granted",he=n?"direct":"tag",$t=()=>{if(m)return m;let f=Date.now(),w=(async()=>{let S=await(await bt.load({monitoring:!1})).get();i=(S==null?void 0:S.visitorId)||null,p=Date.now()-f})().catch(v=>{p===null&&(p=Date.now()-f),W("fingerprint",v)});return m=Promise.race([w,new Promise(v=>setTimeout(v,Vt))]).then(()=>{p===null&&(p=Vt)}),m},zt=()=>{if(R)return;R=!0;let f=document.createElement("link");f.rel="preload",f.as="script",f.crossOrigin="anonymous",f.href=q,document.head.appendChild(f)},je=()=>{let f=e.posthog||{};return jt(f),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...Xr,custom_campaign_params:[...Se,"utm_id","utm_placement",...xe],...f,...ne?{bootstrap:ne}:{},before_send:Xt,loaded:Jt}},Bt=()=>{let f=window.posthog;if(f===C){if(C._i.unshift([e.key,je()]),d="injected",G)return;G=!0;let w=document.createElement("script");w.async=!0,w.crossOrigin="anonymous",w.src=q,document.head.appendChild(w);return}if(G&&f&&!f.__loaded&&typeof f.init=="function"){d="injected",f.init(e.key,je()),u&&typeof u._execute_array=="function"&&u._execute_array(C);return}console.warn(Wt),he="conflict",d="idle"},Ye=()=>{d!=="idle"||he==="conflict"||(d="waiting",Promise.resolve().then(async()=>{if(!z){d="idle";return}if(zt(),await A("fingerprint",$t,null),!z){d="idle";return}Bt()}).catch(f=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${De(f)}): nothing is tracked by this snippet on this page.`),!G&&(d="idle",window.posthog===C&&(window.posthog=b))}))};function Jt(f){u=f,d="loaded";let w=f.init;f.init=function(v,S,H){return Gt(H)&&ee(),w.apply(this,arguments)},f.has_opted_out_capturing()&&f.opt_in_capturing({captureEventName:!1}),g=c||de("session",We),c&&(Me("session",We,c),f.get_distinct_id()!==c&&f.identify(c)),s=!0,te({iframes:!0}),A("contact",()=>{me(Ht,"url");for(let[v,S]of fe.splice(0))me(v,S)});for(let v of l.splice(0))v(!0)}return z?Ye():(re()==="denied"&&Nt(),te({iframes:!0})),t={version:Ve,get mode(){return he},consent:()=>n&&e.consent?re():null,grant(){Me("local",Ee,"granted"),z=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),te({iframes:!0})):Ye()},deny(){var f;if(Me("local",Ee,"denied"),z=!1,fe=[],D=null,ne=null,oe=null,!u){C._i.length=0,d==="injected"&&(d="idle");return}u.opt_out_capturing(),(f=u.stopSessionRecording)==null||f.call(u),u.set_config({disable_persistence:!0}),Nt(),s=!1,g=null,te()},onReady(f){s?f(!0):l.push(f)},fields:Ge,capture(f,w){s&&u.capture(f,w)},get posthog(){return u||(window.posthog===C?C:null)}},Q(t)}function Q(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Te(e,t=()=>({})){return{version:Ve,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},posthog:null}}var $=window.f10xTracking;window.__f10xTracking?window.f10xTracking=window.__f10xTracking:$&&typeof $=="object"&&!$.version&&(typeof $.key=="string"&&$.key?Jr($):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function Jr(e){let t=window.posthog;try{Zt(e)}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,window.f10xTracking=e,console.warn(`[@funnel10x/tracking] the snippet failed to start (${n&&n.message||n}): nothing is tracked by it on this page, and window.f10xTracking has no version.`)}}})();
|
|
11
|
+
visitorId: ${a.visitorId}
|
|
12
|
+
components: ${gt(s)}
|
|
13
|
+
\`\`\``),a}}}function hr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${rt}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function gr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&hr(),await mr(t);let r=ir({cache:{},debug:n});return pr(r,n)}var bt={load:gr,hashComponents:yt,componentsToDebugString:gt};var yr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],br=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Se=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],xe=["lp","narrative"],wr=[...yr,...br,...Se,...xe],_r=new Set(wr);function Le(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let s=o.toLowerCase();_r.has(s)&&r!==""&&!(s in t)&&(t[s]=r)}return t}var vr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,kr=["email"],Sr=["phone","phonenumber","phone_number","tel","telefone"];function Ae(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return vr.test(t)&&t.length<=254?t:null}function Pe(e,t){if(typeof e!="string")return null;let n=e.trim().replace(/\s*(ext\.?|x|#)\s*\d+$/i,""),o=n.replace(/\D/g,"");n.startsWith("00")&&(o=o.slice(2));let r=n.startsWith("+")||n.startsWith("00");if(!r&&t){let s=String(t).replace(/\D/g,""),a=["39","378","379"].includes(s);s&&!o.startsWith(s)&&(o=s+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function wt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let s=o.toLowerCase();!t.email&&kr.includes(s)&&(t.email=Ae(r)||void 0),!t.phone&&Sr.includes(s)&&(t.phone=Pe(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Fe=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],xr=/\/widget\/(form|survey|booking)\//,xt=["buy.stripe.com","checkout.stripe.com"],Lt=e=>new Set([...xt,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Lr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",le="data-f10x-field";function _t(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Lr);for(let[r,s]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(le))&&(a.value=s);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=s,l.setAttribute(le,""),e.appendChild(l)}}}var vt=new WeakMap;function Ar(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=vt.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,vt.set(t,n),t.setAttribute(le,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ie(e,t,n){let o;try{o=new URL(e,n)}catch{return null}if(o.protocol!=="http:"&&o.protocol!=="https:")return null;let r=o.href;for(let[s,a]of Object.entries(t))Fe.includes(s)?o.searchParams.set(s,a):o.searchParams.has(s)||o.searchParams.set(s,a);return xt.includes(o.hostname)&&t.ph_distinct_id&&!o.searchParams.has("client_reference_id")&&o.searchParams.set("client_reference_id",t.ph_distinct_id),o.href===r?null:o.href}var kt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ce({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let s=Lt(t),a=new WeakSet,l=!1,d=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!s.has(kt(p.getAttribute("href"))))continue;let g=Ie(p.getAttribute("href"),m,location.href);g&&p.setAttribute("href",g)}},i=m=>{for(let p of document.querySelectorAll("iframe[src]")){let g=p.getAttribute("src");if(!xr.test(g))continue;let L=Ie(g,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let g of document.forms)_t(g,p,n);Ar(p),u(p),l&&i(p)},h=()=>{d||(d=setTimeout(R(()=>{d=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>_t(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,g=p?kt(p.getAttribute("href")):"";if(!p||!s.has(g))return;let L=Ie(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(g)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var N="_f10x",Pr=120*1e3,Ir=200;function At({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Pt(e,t){let n;try{n=new URL(e).searchParams.get(N)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),s=n.lastIndexOf(".");if(o<1||r!==o+2||s<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),d=n.slice(r+1,s),u=n.slice(s+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||d.length>Ir||/\s/.test(d))return null;let i=t-parseInt(a,36);return Math.abs(i)<Pr?{distinctID:d,sessionID:u||null,identified:l==="i"}:null}var Fr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function It(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(/[\s,]+/):[],n=[];for(let o of t){let r=String(o).trim();if(!r)continue;let s=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Fr.test(s)?n.push(s):console.warn(`[@funnel10x/tracking] linkedDomains: "${r}" is not a host or a registrable domain, and it is ignored (a domain covers its subdomains: write marca.pt, not *.marca.pt).`)}return n}function Ft({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Lt(t),s=(u,i)=>i===u||i.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let i=location.hostname.toLowerCase();return e.some(c=>s(c,u))&&!e.some(c=>s(c,u)&&s(c,i))},l=u=>{try{let i=new URL(u,location.href);return(i.protocol==="http:"||i.protocol==="https:")&&a(i.hostname.toLowerCase())?i:null}catch{return null}},d=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let i=u.target instanceof Element?u.target.closest("a[href]"):null,c=i&&l(i.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(N,h),i.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,d,!0);document.addEventListener("contextmenu",R(u=>{let i=u.target instanceof Element?u.target.closest("a[href]"):null;if(!i)return;let c;try{c=new URL(i.getAttribute("href"),location.href)}catch{return}c.searchParams.has(N)&&(c.searchParams.delete(N),i.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let i=u.target;if(!(i instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||i).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||i.getAttribute("method")||"get").toLowerCase();if(p==="get"){let g=i.querySelector(`input[name="${N}"]`);g||(g=document.createElement("input"),g.type="hidden",g.name=N,g.setAttribute(le,""),i.appendChild(g)),g.value=m}else p==="post"&&(h.searchParams.set(N,m),(c||i).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Cr=/e-?mail/i,Er=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Ct=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Et=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Mt=e=>e.type==="email"||Cr.test(Et(e)),Rt=e=>e.type==="tel"||e.type!=="email"&&Er.test(Et(e));function Mr(e){let t=e.closest(".iti")||e.closest('.form-builder--item, [class*="phone"]')||e.parentElement,n=t&&t.querySelector('.iti__selected-dial-code, [class*="dial-code"], [class*="dialCode"]'),o=n&&n.textContent;if(o&&/\+?\d{1,4}/.test(o))return o.match(/\d{1,4}/)[0];let r=t&&t.querySelector(".iti__selected-flag, .iti__selected-country"),s=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return s?s[1]:null}function Rr(e){if(!(e instanceof HTMLInputElement)||Ct.has(e.type))return{};if(Mt(e)){let t=Ae(e.value);return t?{email:t}:{}}if(Rt(e)){let t=Pe(e.value,Mr(e));return t?{phone:t}:{}}return{}}function St(e){let t={};for(let n of e){let o=Rr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Tr(e){let t=e.parentElement;for(let n=0;t&&t!==document.body&&t!==document.documentElement&&n<12;n++,t=t.parentElement)if([...t.querySelectorAll("input")].some(r=>!Ct.has(r.type)&&(Mt(r)||Rt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Vr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Tt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=St(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form")},t),!0),document.addEventListener("click",R(n=>{let o=n.target instanceof Element?n.target.closest("button[type=submit], input[type=submit]"):null;if(!o||o.closest("form")||o.getAttribute("type")!=="submit")return;let r=Tr(o);if(!r||Vr(r))return;let s=St(r.querySelectorAll("input"));(s.email||s.phone)&&e(s,"form")},t),!0)}var Ve="2.2.0",Ee="f10x_consent",Wr=typeof T=="object"?T:[],Dr="1",Nr=/^\d+\.\d+\.\d+$/,We="f10x_contact_id",Gr="contact_id",Zr=/^[A-Za-z0-9_-]{6,128}$/,Vt=1e3,Wt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Hr="[@funnel10x/tracking] another PostHog init reached this page after the snippet (a PostHog tag or snippet): it is ignored, and every event carries tracking_conflict. Remove it: this snippet is PostHog.",De=e=>e&&e.message||String(e),Or=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${De(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,jr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Yr(e,t){let n=t.persistence_name||t.cookie_name;return n?`ph_${n}`:`ph_${String(e||"").trim().replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")}_posthog`}function Xr(e){let t=o=>!!(o&&typeof o=="object"&&o.distinct_id),n=o=>{try{return o?JSON.parse(o):null}catch{return null}};try{for(let o of document.cookie.split(";")){let r=o.indexOf("=");if(r>0&&o.slice(0,r).trim()===e&&t(n(decodeURIComponent(o.slice(r+1).trim()))))return!0}}catch{}return t(n(de("local",e)))||t(n(de("session",e)))}var $r={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ne=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},de=(e,t)=>{var n,o;try{return(o=(n=Ne(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Me=(e,t,n)=>{var o;try{(o=Ne(e))==null||o.setItem(t,n)}catch{}};function Dt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Fe){let r=n.get(o);r&&Zr.test(r)&&(t[o]=r)}}catch{}return t}var Re=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Nt(){for(let n of["local","session"]){let o=Ne(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===We)&&o.removeItem(r)}catch{}}let e=location.hostname.split("."),t=e.map((n,o)=>e.slice(o).join(".")).filter(n=>n.includes("."));for(let n of document.cookie.split(";")){let o=n.split("=")[0].trim();if(o.startsWith("ph_")){document.cookie=`${o}=; Max-Age=0; path=/`;for(let r of t)document.cookie=`${o}=; Max-Age=0; path=/; domain=.${r}`}}}function zr(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Gt=e=>e==null||e==="posthog";function Br(e){let t=[],n=o=>{for(let r of Wr)o[r]=(...s)=>{o.push([r,...s])}};return n(t),t._i=[],t.__SV=1,t.__f10x=!0,t.people=[],t.toString=o=>`posthog${o?"":" (stub)"}`,t.people.toString=()=>`${t.toString(1)}.people (stub)`,t.init=(o,r,s)=>{Gt(s)?e():t[s]||(t[s]=[],n(t[s])),t._i.push([o,r,s])},t}function Jr(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Dr;return t&&(Nr.test(t)?o=t:console.warn(`[@funnel10x/tracking] sdkVersion "${t}" is not an exact version (1.2.3): the 1.x channel is loaded.`)),`${n}/static/${o}/array.js`}function Zt(e={}){if(window.__f10xTracking)return Q(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Te("preview"),Q(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let f=Re({...Le(o),...Dt(o)}),w=!1,v=S=>{w||console.warn(`[@funnel10x/tracking] the dom extra failed (${De(S)}): the form in this frame may miss the fields from its URL.`),w=!0};try{Ce({values:()=>f,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:v})}catch(S){v(S)}return t=Te("frame",()=>f),Q(t)}if(zr())return console.warn(Wt),t=Te("conflict"),Q(t);let s=Le(o),a=Dt(o)[Gr]||null,l=[],d="idle",u=null,i=!1,c=null,h=null,m=null,p=!1,g=null,L=!1,G=!1,q=Jr(e.apiHost,e.sdkVersion),Z=[],W=(f,w)=>{Z.includes(f)||(Z.push(f),console.warn(Or(f,w)))},P=(f,w,v)=>{try{return w()}catch(S){return W(f,S),v}},ee=()=>{p||console.warn(Hr),p=!0},E=Br(ee),b=window.posthog;window.posthog=E;let Ge=()=>{let f={...s};return i&&(f.ph_anon_id=u.get_property("$device_id"),f.ph_distinct_id=u.get_distinct_id(),f.ph_session_id=u.get_session_id(),g&&(f.contact_id=g)),Re(f)},Ht=f=>i?(u.capture("checkout",{checkout_host:f},{send_instantly:!0}),!0):!1,Ze=P("dom",()=>Ce({values:Ge,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:f=>W("dom",f),onCheckout:Ht}),null),te=f=>{Ze&&P("dom",()=>Ze.refresh(f))},He=new Set,fe=[],me=(f,w)=>{if(!i){n&&re()==="denied"||fe.push([f,w]);return}let v=Object.fromEntries(Object.entries(f).filter(([S,H])=>H&&!He.has(`${S}:${H}`)));if(Object.keys(v).length){for(let[S,H]of Object.entries(v))He.add(`${S}:${H}`);u.capture("contact_captured",{...v,contact_source:w})}},Ot=P("contact",()=>wt(o),{});P("contact",()=>Tt((f,w)=>me(f,w),f=>W("contact",f)));let pe=P("linker",()=>It(e.linkedDomains),[]),D=pe.length?P("linker",()=>Pt(o,jr()),null):null,Oe=!1,ne=null,oe=null,jt=()=>i?At({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;pe.length&&P("linker",()=>Ft({hosts:pe,checkoutHosts:e.checkoutHosts,value:jt,onError:f=>W("linker",f)}));let Yt=f=>{!D||Oe||(Oe=!0,P("linker",()=>{let w=f.bootstrap&&typeof f.bootstrap=="object"?f.bootstrap:{};if(w.distinctID||f.identity_distinct_id||Xr(Yr(e.key,f))){oe=D.distinctID;return}ne={...w,distinctID:D.distinctID,isIdentifiedID:D.identified,...D.sessionID&&!w.sessionID?{sessionID:D.sessionID}:{}}}))},Xt=Re({tracking_version:Ve,page_version:n?e.pageVersion||1:void 0,ab_test:n&&e.test||void 0}),$t=f=>(!f||f.event==="$snapshot"||(f.properties={...f.properties,...Xt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...oe?{linked_distinct_id:oe}:{}}),f),re=()=>{let f=de("local",Ee);return f==="granted"||f==="denied"?f:null},z=!n||e.consent===!1||re()==="granted",he=n?"direct":"tag",zt=()=>{if(m)return m;let f=Date.now(),w=(async()=>{let S=await(await bt.load({monitoring:!1})).get();c=(S==null?void 0:S.visitorId)||null,h=Date.now()-f})().catch(v=>{h===null&&(h=Date.now()-f),W("fingerprint",v)});return m=Promise.race([w,new Promise(v=>setTimeout(v,Vt))]).then(()=>{h===null&&(h=Vt)}),m},Bt=()=>{if(L)return;L=!0;let f=document.createElement("link");f.rel="preload",f.as="script",f.crossOrigin="anonymous",f.href=q,document.head.appendChild(f)},je=()=>{let f=e.posthog||{};return Yt(f),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...$r,custom_campaign_params:[...Se,"utm_id","utm_placement",...xe],...f,...ne?{bootstrap:ne}:{},before_send:$t,loaded:Ut}},Jt=()=>{let f=window.posthog;if(f===E){if(E._i.unshift([e.key,je()]),d="injected",G)return;G=!0;let w=document.createElement("script");w.async=!0,w.crossOrigin="anonymous",w.src=q,document.head.appendChild(w);return}if(G&&f&&!f.__loaded&&typeof f.init=="function"){d="injected",f.init(e.key,je()),u&&typeof u._execute_array=="function"&&u._execute_array(E);return}console.warn(Wt),he="conflict",d="idle"},Ye=()=>{d!=="idle"||he==="conflict"||(d="waiting",Promise.resolve().then(async()=>{if(!z){d="idle";return}if(Bt(),await P("fingerprint",zt,null),!z){d="idle";return}Jt()}).catch(f=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${De(f)}): nothing is tracked by this snippet on this page.`),!G&&(d="idle",window.posthog===E&&(window.posthog=b))}))};function Ut(f){u=f,d="loaded";let w=f.init;f.init=function(v,S,H){return Gt(H)&&ee(),w.apply(this,arguments)},f.has_opted_out_capturing()&&f.opt_in_capturing({captureEventName:!1}),g=a||de("session",We),a&&(Me("session",We,a),f.get_distinct_id()!==a&&f.identify(a)),i=!0,te({iframes:!0}),P("contact",()=>{me(Ot,"url");for(let[v,S]of fe.splice(0))me(v,S)});for(let v of l.splice(0))v(!0)}return z?Ye():(re()==="denied"&&Nt(),te({iframes:!0})),t={version:Ve,get mode(){return he},consent:()=>n&&e.consent?re():null,grant(){Me("local",Ee,"granted"),z=!0,u?i||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),i=!0,u.capture("$pageview"),te({iframes:!0})):Ye()},deny(){var f;if(Me("local",Ee,"denied"),z=!1,fe=[],D=null,ne=null,oe=null,!u){E._i.length=0,d==="injected"&&(d="idle");return}u.opt_out_capturing(),(f=u.stopSessionRecording)==null||f.call(u),u.set_config({disable_persistence:!0}),Nt(),i=!1,g=null,te()},onReady(f){i?f(!0):l.push(f)},fields:Ge,capture(f,w){i&&u.capture(f,w)},get posthog(){return u||(window.posthog===E?E:null)}},Q(t)}function Q(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Te(e,t=()=>({})){return{version:Ve,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},posthog:null}}var $=window.f10xTracking;window.__f10xTracking?window.f10xTracking=window.__f10xTracking:$&&typeof $=="object"&&!$.version&&(typeof $.key=="string"&&$.key?Ur($):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function Ur(e){let t=window.posthog;try{Zt(e)}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,window.f10xTracking=e,console.warn(`[@funnel10x/tracking] the snippet failed to start (${n&&n.message||n}): nothing is tracked by it on this page, and window.f10xTracking has no version.`)}}})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funnel10x/tracking",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Funnel 10X tracking snippet: the official PostHog SDK from its CDN, with FingerprintJS, the attribution parameters in forms and checkout links, and the consent switch of a direct site.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,12 @@
|
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
10
10
|
"default": "./dist/index.js"
|
|
11
11
|
},
|
|
12
|
-
"./tag.js": "./dist/tag.js"
|
|
12
|
+
"./tag.js": "./dist/tag.js",
|
|
13
|
+
"./gtm.html": "./dist/gtm.html",
|
|
14
|
+
"./gtm-fallback.html": "./dist/gtm-fallback.html",
|
|
15
|
+
"./gtm-official.html": "./dist/gtm-official.html",
|
|
16
|
+
"./direct-init.js": "./dist/direct-init.js",
|
|
17
|
+
"./direct-rewrites.json": "./dist/direct-rewrites.json"
|
|
13
18
|
},
|
|
14
19
|
"files": [
|
|
15
20
|
"dist"
|