@funnel10x/tracking 2.4.0 → 2.6.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 +163 -19
- package/dist/direct-init.js +1 -1
- package/dist/gtm-fallback.html +1 -1
- package/dist/gtm-official.html +1 -1
- package/dist/gtm.html +10 -4
- package/dist/index.d.ts +14 -2
- package/dist/index.js +5 -5
- package/dist/tag.js +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,6 +35,12 @@ CDN, no canal 1.x, e o SDK não vem neste ficheiro. O que faz numa página:
|
|
|
35
35
|
- **o `contact()` das apps que dão as respostas por callback** (desde a 2.4.0):
|
|
36
36
|
a mesma ponte do envio de um form, numa linha da página (*As apps externas*,
|
|
37
37
|
abaixo);
|
|
38
|
+
- **o tipo de aquisição que o form declara** (desde a 2.5.0, Fase A53), no
|
|
39
|
+
`contact_captured` do envio: o `data-acquisition-type` do `<form>` (ou do
|
|
40
|
+
bloco de um form sem `<form>`), e sem ele o campo escondido
|
|
41
|
+
`acquisition_type`, como `acquisition_type`. É a regra da base `website` do
|
|
42
|
+
`funnel10x/f10x-agents`, onde um site serve vários tipos (*O tipo de
|
|
43
|
+
aquisição*, abaixo);
|
|
38
44
|
- **o identify pelo id do contacto** num link de email ou de SMS
|
|
39
45
|
(`?contact_id={{contact.id}}`);
|
|
40
46
|
- **o email e o telefone que a pessoa envia** (desde a 1.1.0, como a HYROS;
|
|
@@ -162,7 +168,7 @@ de vir no ficheiro. É uma das razões de a 2.0.0 ser major.
|
|
|
162
168
|
O `package.json` do repo pina a versão exacta (sem `^`), e o build embute-o:
|
|
163
169
|
|
|
164
170
|
```json
|
|
165
|
-
{ "dependencies": { "@funnel10x/tracking": "2.
|
|
171
|
+
{ "dependencies": { "@funnel10x/tracking": "2.6.0" } }
|
|
166
172
|
```
|
|
167
173
|
|
|
168
174
|
```js
|
|
@@ -592,30 +598,72 @@ O que se sabe e se aceitou:
|
|
|
592
598
|
|
|
593
599
|
## O contrato dos eventos
|
|
594
600
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
| evento | quando | quem o manda |
|
|
599
|
-
| --- | --- | --- |
|
|
600
|
-
| `contact_captured` | o email ou o telefone sai num form, chega no URL, ou a página o passa ao `contact()` (`contact_source`: `form`, `url` ou `api`), cada valor uma vez por página | o snippet, também pelo `contact()`; nunca um `capture` à mão |
|
|
601
|
-
| `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` | quem o site declara (2.4.0): o snippet com `checkout: 'snippet'`; a página com `checkout: 'page'`, por `f10xTracking.capture('checkout')` num checkout aberto por código (um botão com redirect, um checkout embebido); nunca os dois |
|
|
602
|
-
| `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 |
|
|
601
|
+
O contrato v2 (Fase A43 do plano da atribuição, 2026-10-21): **cinco eventos
|
|
602
|
+
standard, e só estes, cada um com um só responsável por site**. Dois
|
|
603
|
+
responsáveis contam dois, e a diferença só se vê comparando com a origem.
|
|
603
604
|
|
|
605
|
+
| evento | o que é | propriedades obrigatórias | quem o manda |
|
|
606
|
+
| --- | --- | --- | --- |
|
|
607
|
+
| `contact_captured` | a **ponte de identidade**: o email ou o telefone sai num form, chega no URL, ou a página o passa ao `contact()`, cada valor uma vez por página; desde a 2.6.0, também o email de quem entrou numa app, pelo `login()` | `email` ou `phone` (pelo menos um), `contact_source` (`form`, `url`, `api` ou `login`); `acquisition_type` quando o form o declara (2.5.0) | o snippet, pelo automático, pelo `f10xTracking.contact()` ou pelo `f10xTracking.login()`; nunca o servidor nem um `capture` à mão |
|
|
608
|
+
| `registration_completed` | a **inscrição confirmada** por quem a grava (o CRM que guarda o registo do webinar, da lista de espera, do evento) | o `$session_id` e o `$device_id` do browser, quando há ponte | só o admin, pelo servidor (A45); o armazém ignora os outros |
|
|
609
|
+
| `appointment_scheduled` | a **reserva confirmada** de uma marcação, no CRM que a guarda | `appointment_id` (o id da marcação na origem), e a sessão e o dispositivo como acima | só o admin, pelo servidor (A45); o armazém ignora os outros |
|
|
610
|
+
| `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 | `checkout_host`, quando é o snippet | quem o site declara (2.4.0): o snippet com `checkout: 'snippet'`; a página com `checkout: 'page'`, por `f10xTracking.capture('checkout')` num checkout aberto por código (um botão com redirect, um checkout embebido); nunca os dois |
|
|
611
|
+
| `purchase` | o **pagamento confirmado** | `session_id` (o `cs_…` da sessão de checkout do Stripe), `currency`, `amount_total`, `product` quando o funil o tem | o servidor (A45); o do browser, na página de obrigado, fica aceite até o servidor o mandar nesse projeto, e nesse dia sai do site |
|
|
612
|
+
|
|
613
|
+
**Uma linha por responsável:**
|
|
614
|
+
|
|
615
|
+
- **O snippet** manda o `contact_captured`, sempre, e o `checkout` num site que
|
|
616
|
+
o declara com `checkout: 'snippet'`.
|
|
617
|
+
- **A página** (o código do funil) manda o `checkout` num site que declara
|
|
618
|
+
`checkout: 'page'`, e o `purchase` só onde o servidor ainda não o manda.
|
|
619
|
+
- **O admin**, pelo servidor e a partir do CRM e do Stripe, manda o
|
|
620
|
+
`registration_completed`, o `appointment_scheduled` e o `purchase` de um
|
|
621
|
+
projeto activado (A45), sempre com um `uuid` v5. O posthog-js dá `uuid` v7,
|
|
622
|
+
e por isso a ingestão ignora um `registration_completed` ou um
|
|
623
|
+
`appointment_scheduled` que não seja v5 (conta-o nos `ignored` da volta como
|
|
624
|
+
`<evento>:not_server`), e a tabela recusa-o.
|
|
625
|
+
|
|
626
|
+
- O `contact_source` tem quatro valores: `url`, `form`, `api` e `login`. O
|
|
627
|
+
admin liga o `url`, o `form` e o `api` a um contacto do CRM só quando o
|
|
628
|
+
contacto nasce ou envia um form à volta do evento (a janela da A5); o
|
|
629
|
+
`login` liga **sem janela**, ao registo único do CRM principal da account com
|
|
630
|
+
esse email, e nunca forma o par de um form (Fase A64).
|
|
604
631
|
- O `contact_captured` é a ponte para o contacto, e **não uma etapa do funil**:
|
|
605
632
|
dispara também num form de checkout, e um opt-in, uma marcação e uma compra
|
|
606
|
-
dão o mesmo.
|
|
633
|
+
dão o mesmo. Não se mapeia no Lead nem no CompleteRegistration da Meta.
|
|
607
634
|
- O `checkout` do snippet vai já, e não na fila (o `send_instantly` do
|
|
608
635
|
posthog-js), porque a página sai a seguir. **Desde a 2.4.0 não é automático
|
|
609
636
|
por omissão**: cada site declara quem o manda, e um site com
|
|
610
637
|
`checkout: 'snippet'` cujo código também o mande conta dois (o `capture()`
|
|
611
638
|
avisa, e a CI da base `direct` recusa-o).
|
|
612
639
|
- O `purchase` liga a venda pelo `cs_…`, por isso tem de disparar em todas as
|
|
613
|
-
compras: no Piko, a 2026-10-16, o
|
|
614
|
-
`checkout_completed` todas.
|
|
615
|
-
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
640
|
+
compras: no Piko, a 2026-10-16, o do browser ligava 78% das vendas e o
|
|
641
|
+
`checkout_completed` do servidor todas. É por isso que passa ao servidor.
|
|
642
|
+
- **Uma propriedade em falta não recusa o evento**: o armazém guarda o que
|
|
643
|
+
chega e deixa a coluna nula (um `purchase` sem `cs_…` fica, sem ligar venda
|
|
644
|
+
nenhuma), e o snippet avisa.
|
|
645
|
+
- O sexto evento, o `rebill` (cada cobrança paga depois do `purchase` da mesma
|
|
646
|
+
compra), é também só do admin e entra no armazém com a A45.
|
|
647
|
+
|
|
648
|
+
**Os aceites, fora do contrato.** O `lead` e o `checkout_completed` deixaram de
|
|
649
|
+
ser contrato; o admin continua a aceitá-los, pelo histórico e pelo
|
|
650
|
+
`checkout_completed` do servidor do Piko, que sai depois de o `purchase` do
|
|
651
|
+
servidor o igualar.
|
|
652
|
+
|
|
653
|
+
**Os sinónimos são proibidos.** Um nome que diz o mesmo que um dos cinco não
|
|
654
|
+
entra no armazém (a allow-list da ingestão ignora-o, e a contagem dos ignorados
|
|
655
|
+
da volta mostra-o), e o `capture()` avisa na consola com o nome do contrato:
|
|
656
|
+
|
|
657
|
+
| em vez de | manda-se |
|
|
658
|
+
| --- | --- |
|
|
659
|
+
| `Purchase`, `purchase_completed`, `order_completed` | `purchase` |
|
|
660
|
+
| `InitiateCheckout`, `initiate_checkout`, `checkout_started`, `begin_checkout` | `checkout` |
|
|
661
|
+
| `CompleteRegistration`, `registration`, `sign_up`, `webinar_registration` | `registration_completed`, pelo servidor |
|
|
662
|
+
| `appointment_booked`, `booking`, `Schedule`, `call_booked` | `appointment_scheduled`, pelo servidor |
|
|
663
|
+
| `Lead` | `contact_captured`, pelo snippet |
|
|
664
|
+
|
|
665
|
+
Não se acrescenta um sinónimo à lista dos aceites para salvar um funil: muda-se
|
|
666
|
+
o funil.
|
|
619
667
|
|
|
620
668
|
## As apps externas: surveys, chats, forms e calendários
|
|
621
669
|
|
|
@@ -661,6 +709,59 @@ Antes de pôr uma app num funil, três perguntas (decisão 4):
|
|
|
661
709
|
Uma app que diz não às três não tem ponte nem resultado, e escreve-se como tal
|
|
662
710
|
no funil.
|
|
663
711
|
|
|
712
|
+
## As apps com login
|
|
713
|
+
|
|
714
|
+
Desde a 2.6.0 (Fase A64 do plano da atribuição). Uma app onde a pessoa entra
|
|
715
|
+
com conta (a área de cliente, o produto) **não chama `identify`**: o
|
|
716
|
+
`posthog.identify(email)` e o `identify` por um id da app partem a pessoa no
|
|
717
|
+
PostHog (a A60), e só o admin identifica. A app diz ao snippet quem entrou:
|
|
718
|
+
|
|
719
|
+
```js
|
|
720
|
+
window.f10xTracking && window.f10xTracking.login && window.f10xTracking.login({ email: user.email })
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
**O contrato:**
|
|
724
|
+
|
|
725
|
+
- chama-se **logo a seguir ao sign-in e em cada carregamento da app com a
|
|
726
|
+
pessoa autenticada**, e **nunca antes** de a app a autenticar: o email tem de
|
|
727
|
+
ser o de quem a app provou que é. O carregamento cobre o sign-in que não
|
|
728
|
+
passou por uma página com o snippet (um link mágico, um consentimento dado
|
|
729
|
+
depois);
|
|
730
|
+
- só o email: o par faz-se por ele, e o telefone de um login não acrescenta
|
|
731
|
+
prova;
|
|
732
|
+
- no logout, o `posthog.reset()` da app, se o fizer: o login seguinte no mesmo
|
|
733
|
+
browser liga o id novo, mesmo com o mesmo email.
|
|
734
|
+
|
|
735
|
+
**O que o snippet faz com ele:**
|
|
736
|
+
|
|
737
|
+
- manda um `contact_captured` com o `contact_source: 'login'` e o email
|
|
738
|
+
normalizado, uma vez por página e por email, num conjunto à parte do do
|
|
739
|
+
`contact()` e dos forms (um form com o mesmo email na mesma página não o
|
|
740
|
+
engole, nem o contrário), e em memória até ao consentimento (deitado fora
|
|
741
|
+
com um não);
|
|
742
|
+
- entre páginas, uma vez por distinct id do PostHog e por email: a marca
|
|
743
|
+
`f10x_login` no `localStorage` guarda o distinct id e um hash curto de cada
|
|
744
|
+
email com um sal gerado no próprio browser (nunca o email, nem o SHA-256
|
|
745
|
+
dele, que é a chave com que a Meta e o Google casam pessoas). Escreve-se só
|
|
746
|
+
depois do sim, e o `deny()` apaga-a;
|
|
747
|
+
- num browser que o PostHog já tem como identificado (o `$user_state`, de um
|
|
748
|
+
`identify` antigo da app), **não sai**, e avisa uma vez: o distinct id desse
|
|
749
|
+
browser é o id que esse `identify` pôs, e não um dispositivo;
|
|
750
|
+
- na tag do GTM, a configuração que a tag escreve guarda as chamadas que
|
|
751
|
+
chegam antes do `tag.js` (a app chama-o no arranque), e o `tag.js` repete-as
|
|
752
|
+
ao arrancar. No snippet inerte e no objecto que fica quando o arranque falha,
|
|
753
|
+
o `login()` existe e não faz nada.
|
|
754
|
+
|
|
755
|
+
**O que o admin faz:** liga o browser, sem janela, ao único registo vivo do CRM
|
|
756
|
+
principal da account com esse email (um contacto do GHL, ou uma pessoa da
|
|
757
|
+
Contacts), se ele existir no login ou nascer nos 30 dias seguintes, e
|
|
758
|
+
identifica-o no PostHog pelo servidor. O email que está em dois registos, num
|
|
759
|
+
dispositivo com mais de 3 emails, ou num browser já identificado, não liga. A
|
|
760
|
+
pessoa junta aparece no PostHog na volta seguinte (até duas horas depois).
|
|
761
|
+
|
|
762
|
+
Uma versão da tag é um ficheiro próprio: um host ainda na 2.5.0 não tem o
|
|
763
|
+
`login()`, e a linha de cima, com a guarda, não faz nada nele.
|
|
764
|
+
|
|
664
765
|
## A API
|
|
665
766
|
|
|
666
767
|
`init(options)` (ou a tag) devolve, e põe em `window.f10xTracking`:
|
|
@@ -685,12 +786,53 @@ no funil.
|
|
|
685
786
|
`session_id` `cs_…`, o `currency` ou o `amount_total` avisa com o nome do
|
|
686
787
|
que falta. Um aviso por nome e por motivo, por página, dado na chamada
|
|
687
788
|
(antes do sim também); o evento sai sempre que o PostHog está a medir;
|
|
688
|
-
- `contact({ email, phone })` (2.4.0
|
|
689
|
-
dá por callback (*As
|
|
789
|
+
- `contact({ email, phone, acquisitionType })` (2.4.0; o `acquisitionType`
|
|
790
|
+
desde a 2.5.0): o email e o telefone de uma app que os dá por callback (*As
|
|
791
|
+
apps externas*, acima), e o tipo de aquisição dela, como o de um form (*O
|
|
792
|
+
tipo de aquisição*, abaixo);
|
|
793
|
+
- `login({ email })` (2.6.0): o email de quem uma app autenticou (*As apps com
|
|
794
|
+
login*, acima);
|
|
690
795
|
- `posthog`: a instância do PostHog depois de o SDK arrancar, e o stub até lá
|
|
691
796
|
(o que se lhe chamar fica na fila, como no stub oficial). O
|
|
692
797
|
`window.posthog` é o mesmo, e é por ele que as tags do GTM o usam.
|
|
693
798
|
|
|
799
|
+
## O tipo de aquisição
|
|
800
|
+
|
|
801
|
+
Desde a 2.5.0 (Fase A53 do plano da atribuição). Um site da categoria
|
|
802
|
+
`website` serve vários tipos de aquisição (os da `acquisition_types` do admin:
|
|
803
|
+
`client`, `people`, `supplier`, `investor`, `asset`), e por isso **cada form
|
|
804
|
+
declara o seu**:
|
|
805
|
+
|
|
806
|
+
```html
|
|
807
|
+
<form action="/api/lead" method="post" data-acquisition-type="client">
|
|
808
|
+
<input type="hidden" name="acquisition_type" value="client" />
|
|
809
|
+
…
|
|
810
|
+
</form>
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
- o snippet lê o `data-acquisition-type` do `<form>` (ou do antepassado mais
|
|
814
|
+
próximo que o tenha, que é como um form sem `<form>` o declara no bloco), e
|
|
815
|
+
sem ele o valor do campo `acquisition_type`; com os dois diferentes ganha o
|
|
816
|
+
atributo, e avisa;
|
|
817
|
+
- o valor vai em minúsculas e sem espaços, como `acquisition_type`, só no
|
|
818
|
+
`contact_captured` do envio (`contact_source: 'form'`); nunca no do URL;
|
|
819
|
+
- um valor sem a forma de uma chave (`^[a-z][a-z0-9_]{0,31}$`) avisa uma vez e
|
|
820
|
+
o evento sai sem ele. O snippet não tem a lista dos tipos: quem a prende é a
|
|
821
|
+
CI da base `website` no site, e o admin na leitura;
|
|
822
|
+
- cada email e cada telefone saem uma vez por página **e por tipo**: o mesmo
|
|
823
|
+
email num form `client` e depois num `investor` dá dois eventos; um envio sem
|
|
824
|
+
tipo depois de outro qualquer não sai;
|
|
825
|
+
- numa app que dá as respostas por callback, `f10xTracking.contact({ email,
|
|
826
|
+
acquisitionType: 'investor' })`;
|
|
827
|
+
- num form embebido do CRM (um iframe), o tipo vai no `src`
|
|
828
|
+
(`?acquisition_type=client`), que a página escreve e o snippet não pisa; o
|
|
829
|
+
snippet não vê esse envio e não manda evento (a forma 3 de *As apps
|
|
830
|
+
externas*).
|
|
831
|
+
|
|
832
|
+
O armazém do admin guarda-o na coluna `acquisition_type` da
|
|
833
|
+
`analytics.posthog_events` (o `ingest/pii.json`), só num `contact_captured` e
|
|
834
|
+
com a mesma forma.
|
|
835
|
+
|
|
694
836
|
## Os modelos de parâmetros de URL
|
|
695
837
|
|
|
696
838
|
**Os nomes vão nas UTMs, os ids em três parâmetros nossos**, com o prefixo
|
|
@@ -802,7 +944,9 @@ Antes de ligar o tráfego:
|
|
|
802
944
|
lá está), e num checkout em código os `fields()` na metadata e o
|
|
803
945
|
`capture('checkout')` no clique. Um clique de teste no checkout deixa um
|
|
804
946
|
`checkout` no PostHog, um só, e a página de obrigado manda o `purchase` com o `cs_…` em todas as
|
|
805
|
-
compras
|
|
947
|
+
compras, enquanto o servidor não o mandar nesse projeto. Os eventos são só
|
|
948
|
+
os do contrato, cada um com o responsável dele (*O contrato dos eventos*,
|
|
949
|
+
acima): nenhum sinónimo, e nenhum dos que só o admin manda.
|
|
806
950
|
7. **Os anúncios**: o texto do gerador de links nos anúncios da Meta e da
|
|
807
951
|
Google, e os links orgânicos gerados por ele, com as UTMs da Traffic Sources.
|
|
808
952
|
8. **A prova**: na consola, com a reserva instalada,
|
package/dist/direct-init.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
@funnel10x/tracking@2.
|
|
2
|
+
@funnel10x/tracking@2.6.0: o arranque num site com build próprio, uma vez por carregamento da página, no browser (num Next.js, um
|
|
3
3
|
componente 'use client' no layout de raiz, como o Tracking.tsx da base direct). Só se mudam a chave e o checkout ('snippet' quando os
|
|
4
4
|
links do checkout são <a>, 'page' quando a página o manda); o consent, os checkoutHosts e os linkedDomains são do site (o README do
|
|
5
5
|
pacote). O /_t só existe com os rewrites do dist/direct-rewrites.json no vercel.json do site.
|
package/dist/gtm-fallback.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
@funnel10x/tracking@2.
|
|
2
|
+
@funnel10x/tracking@2.6.0: a tag de reserva do GTM (Custom HTML), num site com a tag do gtm.html (decisão 1 da A2c).
|
|
3
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
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
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.
|
package/dist/gtm-official.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
@funnel10x/tracking@2.
|
|
2
|
+
@funnel10x/tracking@2.6.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
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
4
|
snippet no build) como outra. Passar um host ao snippet é acrescentá-lo à RegEx do Snippet hosts, numa só publicação.
|
|
5
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.
|
package/dist/gtm.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
@funnel10x/tracking@2.
|
|
2
|
+
@funnel10x/tracking@2.6.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
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.
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
quando a página o manda; sem um dos dois o snippet não o manda, decisão 1 da A44), os checkoutHosts, os linkedDomains (o cross-domain,
|
|
8
8
|
desligado com a lista vazia) e, numa emergência, o sdkVersion (uma versão exacta do posthog-js); uma versão nova do pacote é um ficheiro novo.
|
|
9
9
|
O contact vazio deixa o f10xTracking.contact() da página sem TypeError enquanto o tag.js não arranca, ou quando não chega.
|
|
10
|
+
O login guarda as chamadas ao f10xTracking.login() que chegam antes do tag.js (a app chama-o no arranque), e o tag.js repete-as (Fase A64).
|
|
10
11
|
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
|
|
11
12
|
copia ao recriar o script e que uma CSP com nonce não deixa correr. Um pedido pendurado conta como falhado ao fim de 10 s.
|
|
12
13
|
O evento vai para o window.dataLayer: num GTM com a data layer renomeada (o l= do snippet do GTM) a reserva não dispara, e o ponto 8 do
|
|
@@ -20,7 +21,10 @@
|
|
|
20
21
|
checkout: '{{snippet or page}}',
|
|
21
22
|
checkoutHosts: [],
|
|
22
23
|
linkedDomains: [],
|
|
23
|
-
contact: function () {}
|
|
24
|
+
contact: function () {},
|
|
25
|
+
login: function (values) {
|
|
26
|
+
;(window.__f10xLogins = window.__f10xLogins || []).push(values)
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
;(function () {
|
|
26
30
|
var timer
|
|
@@ -28,6 +32,8 @@
|
|
|
28
32
|
clearTimeout(timer)
|
|
29
33
|
if (window.__f10xTracking && window.__f10xTracking.version) {
|
|
30
34
|
window.f10xTracking = window.__f10xTracking
|
|
35
|
+
var queued = (window.__f10xLogins || []).splice(0)
|
|
36
|
+
for (var i = 0; i < queued.length; i++) window.f10xTracking.login(queued[i])
|
|
31
37
|
return
|
|
32
38
|
}
|
|
33
39
|
if (window.__f10xTrackingFailed) return
|
|
@@ -35,8 +41,8 @@
|
|
|
35
41
|
;(window.dataLayer = window.dataLayer || []).push({ event: 'f10x_tracking_failed' })
|
|
36
42
|
}
|
|
37
43
|
var script = document.createElement('script')
|
|
38
|
-
script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.
|
|
39
|
-
script.integrity = 'sha384-
|
|
44
|
+
script.src = 'https://cdn.jsdelivr.net/npm/@funnel10x/tracking@2.6.0/dist/tag.js'
|
|
45
|
+
script.integrity = 'sha384-yeKw6/V0qU0gk4KXPkU5a2yAPtn4MIqcomGvzdnLnlQxrssaYYCrpsQgweNln99d'
|
|
40
46
|
script.crossOrigin = 'anonymous'
|
|
41
47
|
script.onload = function () {
|
|
42
48
|
clearTimeout(timer)
|
package/dist/index.d.ts
CHANGED
|
@@ -53,14 +53,26 @@ export interface Tracking {
|
|
|
53
53
|
/**
|
|
54
54
|
* The email and phone a person gave in an app that hands its answers by callback or postMessage (since 2.4.0):
|
|
55
55
|
* `contact_captured` with `contact_source: 'api'`, each value once per page, after the consent. The phone only in
|
|
56
|
-
* international format (`+351…`).
|
|
56
|
+
* international format (`+351…`). Since 2.5.0, `acquisitionType` is the acquisition type the app collects for (an
|
|
57
|
+
* `acquisition_types` key of the admin: `client`, `people`, `supplier`, `partner` or `asset`), sent as
|
|
58
|
+
* `acquisition_type`; a value without the shape of a key warns, and the event goes without it.
|
|
57
59
|
*/
|
|
58
|
-
contact(values: { email?: string; phone?: string }): void
|
|
60
|
+
contact(values: { email?: string; phone?: string; acquisitionType?: string }): void
|
|
61
|
+
/**
|
|
62
|
+
* The email of the person an app has just authenticated (since 2.6.0): call it right after the sign-in and on every
|
|
63
|
+
* load of the app with the person signed in, never before. It sends `contact_captured` with `contact_source: 'login'`
|
|
64
|
+
* and the email only, once per page and email, after the consent, and once per PostHog distinct id and email across
|
|
65
|
+
* pages (the `f10x_login` mark, a salted hash and never the email's SHA-256); never in a browser PostHog already has
|
|
66
|
+
* as identified. The admin links the browser to the main CRM's record with that email and identifies it: the app
|
|
67
|
+
* calls no `identify`.
|
|
68
|
+
*/
|
|
69
|
+
login(values: { email: string }): void
|
|
59
70
|
/** The PostHog instance once the SDK has loaded; the stub (which queues calls) until then. */
|
|
60
71
|
posthog: PostHog | null
|
|
61
72
|
}
|
|
62
73
|
|
|
63
74
|
export const VERSION: string
|
|
64
75
|
export const CONSENT_KEY: string
|
|
76
|
+
export const LOGIN_KEY: string
|
|
65
77
|
export const ALLOWED_PARAMS: string[]
|
|
66
78
|
export function init(options: TrackingOptions): Tracking
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var
|
|
2
|
-
`),...e}}function cn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function ct(){let e=window,t=navigator;return S(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function an(){let e=window,t=navigator;return S(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!ct()}function $(){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 C(){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 xe(){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 J(){let e=window;return cn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function U(){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 un(){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 at(){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 ln(){let e=window;return S([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function dn(){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 fn(){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 mn(){let e=window;return S(["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 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 pn(){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 hn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function gn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function fe(){var e,t;let n=$(),o=U(),r=window,i=navigator;return n?S([bn(),"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(i.appVersion)])>=2:!1}function yn(){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 bn(){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 wn="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function _n(e){let t=kn(e),n=vn(t);return{score:t,comment:wn.replace(/\$/g,`${n}`)}}function kn(e){if(fe())return .4;if(C())return xe()&&!(K()&&J())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function vn(e){return st(.99+.01*e,1e-4)}function de(e,t){return new Promise(n=>setTimeout(n,e,t))}function Sn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function xn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):de(Math.min(e,t))}function ut(e){return!!e&&typeof e.then=="function"}function ze(e,t){try{let n=e();ut(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 i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Sn())}return o}function B(e){return e.then(void 0,()=>{}),e}function Ln(e){return typeof e!="function"}function An(e,t){let n=B(new Promise(o=>{let r=Date.now();ze(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let l=i[1];if(Ln(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(f=>{let u=Date.now();ze(l,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function Pn(e,t,n,o){let r=Object.keys(e).filter(a=>nn(n,a)),i=B(Xe(r,a=>An(e[a],t),o));return async function(){let l=await i,f=await Xe(l,c=>B(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function lt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await de(n);let l=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},h=y=>{s=!0,u(y)};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 y,L;s||(((L=(y=l.contentWindow)===null||y===void 0?void 0:y.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 de(n);return await e(l,l.contentWindow)}finally{(i=l.parentNode)===null||i===void 0||i.removeChild(l)}}function In(e){let[t,n]=on(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?Cn(o.style,i):o.setAttribute(r,i)}return o}function Cn(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function En(){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 Fn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Rn())return-3;try{return e.canMakePayments()?1:0}catch(t){return Mn(t)}}var Rn=En;function Mn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Vn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Tn(){return Dn()?-4:Wn()}function Wn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Nn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.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,i.connect(a),a.connect(r.destination),i.start(0);let[l,f]=Gn(r),u=B(l.then(s=>On(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Nn(){return C()&&!xe()&&!mn()}function Dn(){return C()&&K()&&J()||$()&&yn()&&dn()}function Gn(e){let i=()=>{};return[new Promise((l,f)=>{let u=!1,s=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>f(Be("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(ut(p)&&B(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||s++,u&&s>=3?f(Be("suspended")):setTimeout(m,500);break}}catch(p){f(p)}};m(),i=()=>{u||(u=!0,c>0&&h())}}),i]}function On(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function Be(e){let t=new Error(e);return t.name=e,t}function Hn(){if(!(fe()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Zn(){return jn(Un())}function jn(e){let t=!1,n,o,[r,i]=$n();return Yn(r,i)?(t=zn(i),e?n=o="skipped":[n,o]=Xn(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function $n(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function Yn(e,t){return!!(t&&e.toDataURL)}function zn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function Xn(e,t){Bn(e,t);let n=be(e),o=be(e);return n!==o?["unstable","unstable"]:(Jn(e,t),[be(e),n])}function Bn(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 Jn(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 be(e){return e.toDataURL()}function Un(){let e=C()&&K()&&J(),t=U()&&un();return e||t}function Kn(){return window.screen.colorDepth}function Qn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function qn(){if(H("no-preference"))return 0;if(H("high")||H("more"))return 1;if(H("low")||H("less"))return-1;if(H("forced"))return 10}function H(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function eo(){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 to(){return navigator.cpuClass}function no(){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 oo(){return F(I(navigator.deviceMemory),void 0)}function ro(){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 io({debug:e}={}){if(!so())return;let t=ro(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await co(o);e&&ao(t,r);let i=n.filter(a=>{let l=t[a];return S(l.map(u=>r[u]))>l.length*.6});return i.sort(),i}function so(){return C()||fe()}async function co(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};Je(o);for(let a=0;a<e.length;++a){let l=In(e[a]);l.tagName==="DIALOG"&&l.show();let f=n.createElement("div");Je(f),f.appendChild(l),o.appendChild(f),r[a]=l}for(;!n.body;)await de(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function Je(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function ao(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
1
|
+
var G=["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 ft="5.3.0";function dn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function fn(e,t){return!dn(e,t)}function Ce(e){return parseInt(e)}function E(e){return parseFloat(e)}function T(e,t){return typeof e=="number"&&isNaN(e)?t:e}function x(e){return e.reduce((t,n)=>t+(n?1:0),0)}function mt(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 mn(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},d=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=d.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(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[i,a]}function pn(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 hn(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 gn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function pt(){let e=window,t=navigator;return x(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function yn(){let e=window,t=navigator;return x(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!pt()}function X(){let e=window,t=navigator;return x(["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 x(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Ee(){let e=window,{HTMLElement:t,Document:n}=e;return x(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function Q(){let e=window;return gn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function ee(){var e,t;let n=window;return x(["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 bn(){let e=window,t=navigator,{CSS:n}=e;return x(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function ht(){let{CSS:e}=window;return x([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function _n(){let e=window;return x([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function wn(){let e=window,{URLPattern:t}=e;return x(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function kn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return x([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function Sn(){let e=window;return x(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function te(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return x([!("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 vn(){if(navigator.platform==="iPad")return!0;let e=screen,t=e.width/e.height;return x(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function xn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function Ln(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function he(){var e,t;let n=X(),o=ee(),r=window,i=navigator;return n?x([In(),"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?x(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function An(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return x(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function In(){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 Cn(e){let t=En(e),n=Fn(t);return{score:t,comment:Pn.replace(/\$/g,`${n}`)}}function En(e){if(he())return .4;if(F())return Ee()&&!(te()&&Q())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Fn(e){return mt(.99+.01*e,1e-4)}function pe(e,t){return new Promise(n=>setTimeout(n,e,t))}function Mn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function Rn(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):pe(Math.min(e,t))}function gt(e){return!!e&&typeof e.then=="function"}function Qe(e,t){try{let n=e();gt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function et(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Mn())}return o}function K(e){return e.then(void 0,()=>{}),e}function Tn(e){return typeof e!="function"}function Vn(e,t){let n=K(new Promise(o=>{let r=Date.now();Qe(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let d=i[1];if(Tn(d))return o(()=>({value:d,duration:a}));o(()=>new Promise(f=>{let u=Date.now();Qe(d,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function Wn(e,t,n,o){let r=Object.keys(e).filter(a=>fn(n,a)),i=K(et(r,a=>Vn(e[a],t),o));return async function(){let d=await i,f=await et(d,c=>K(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function yt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await pe(n);let d=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},y=b=>{s=!0,u(b)};d.onload=c,d.onerror=y;let{style:p}=d;p.setProperty("display","block","important"),p.position="absolute",p.top="0",p.left="0",p.visibility="hidden",t&&"srcdoc"in d?d.srcdoc=t:d.src="about:blank",a.body.appendChild(d);let h=()=>{var b,A;s||(((A=(b=d.contentWindow)===null||b===void 0?void 0:b.document)===null||A===void 0?void 0:A.readyState)==="complete"?c():setTimeout(h,10))};h()});!(!((r=(o=d.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await pe(n);return await e(d,d.contentWindow)}finally{(i=d.parentNode)===null||i===void 0||i.removeChild(d)}}function Nn(e){let[t,n]=mn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?On(o.style,i):o.setAttribute(r,i)}return o}function On(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function Dn(){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 Gn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if($n())return-3;try{return e.canMakePayments()?1:0}catch(t){return Hn(t)}}var $n=Dn;function Hn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Zn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function jn(){return Xn()?-4:Yn()}function Yn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(zn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.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,i.connect(a),a.connect(r.destination),i.start(0);let[d,f]=Bn(r),u=K(d.then(s=>Jn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function zn(){return F()&&!Ee()&&!Sn()}function Xn(){return F()&&te()&&Q()||X()&&An()&&wn()}function Bn(e){let i=()=>{};return[new Promise((d,f)=>{let u=!1,s=0,c=0;e.oncomplete=h=>d(h.renderedBuffer);let y=()=>{setTimeout(()=>f(tt("timeout")),Math.min(500,c+5e3-Date.now()))},p=()=>{try{let h=e.startRendering();switch(gt(h)&&K(h),e.state){case"running":c=Date.now(),u&&y();break;case"suspended":document.hidden||s++,u&&s>=3?f(tt("suspended")):setTimeout(p,500);break}}catch(h){f(h)}};p(),i=()=>{u||(u=!0,c>0&&y())}}),i]}function Jn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function tt(e){let t=new Error(e);return t.name=e,t}function Un(){if(!(he()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function qn(){return Kn(io())}function Kn(e){let t=!1,n,o,[r,i]=Qn();return eo(r,i)?(t=to(i),e?n=o="skipped":[n,o]=no(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Qn(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function eo(e,t){return!!(t&&e.toDataURL)}function to(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function no(e,t){oo(e,t);let n=xe(e),o=xe(e);return n!==o?["unstable","unstable"]:(ro(e,t),[xe(e),n])}function oo(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 ro(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 xe(e){return e.toDataURL()}function io(){let e=F()&&te()&&Q(),t=ee()&&bn();return e||t}function so(){return window.screen.colorDepth}function co(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function ao(){if(j("no-preference"))return 0;if(j("high")||j("more"))return 1;if(j("low")||j("less"))return-1;if(j("forced"))return 10}function j(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function uo(){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 lo(){return navigator.cpuClass}function fo(){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 mo(){return T(E(navigator.deviceMemory),void 0)}function po(){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 ho({debug:e}={}){if(!go())return;let t=po(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await yo(o);e&&bo(t,r);let i=n.filter(a=>{let d=t[a];return x(d.map(u=>r[u]))>d.length*.6});return i.sort(),i}function go(){return F()||he()}async function yo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};nt(o);for(let a=0;a<e.length;++a){let d=Nn(e[a]);d.tagName==="DIALOG"&&d.show();let f=n.createElement("div");nt(f),f.appendChild(d),o.appendChild(f),r[a]=d}for(;!n.body;)await pe(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function nt(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function bo(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 uo="mmMwWLliI0fiflO&1",we={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function lo(){return mo((e,t,n)=>{let o={},r={};for(let a of Object.keys(we)){let[l={},f=uo]=we[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let c=l[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=$()&&fn();for(let a of Object.keys(we)){let l=o[a].getBoundingClientRect().width;r[a]=i?fo(l*n.devicePixelRatio):l}return r})}function fo(e){let t=fe()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function mo(e,t=4e3){return lt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",$()?i.style.zoom=`${1/o.devicePixelRatio}`:C()&&(i.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(l),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var po="mmMwWLliI0O&1",ho="48px",Z=["monospace","sans-serif","serif"],Ue=["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 go(){return lt((e,{document:t})=>{let n=t.body;n.style.fontSize=ho;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=m=>{let p=t.createElement("span"),{style:y}=p;return y.position="absolute",y.top="0",y.left="0",y.fontFamily=m,p.textContent=po,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),f=()=>Z.map(a),u=()=>{let m={};for(let p of Ue)m[p]=Z.map(y=>l(p,y));return m},s=m=>Z.some((p,y)=>m[y].offsetWidth!==r[p]||m[y].offsetHeight!==i[p]),c=f(),h=u();n.appendChild(o);for(let m=0;m<Z.length;m++)r[Z[m]]=c[m].offsetWidth,i[Z[m]]=c[m].offsetHeight;return Ue.filter(m=>s(h[m]))})}function yo(){if(Ke("active"))return!0;if(Ke("none"))return!1}function Ke(e){return matchMedia(`(forced-colors: ${e})`).matches}function bo(){let e=wo();return e!==void 0&&U()&&at()?e>=8?8:4:e}function wo(){return F(Se(navigator.hardwareConcurrency),void 0)}function _o(){if(Qe("high"))return!0;if(Qe("standard"))return!1}function Qe(e){return matchMedia(`(dynamic-range: ${e})`).matches}function ko(){if(!(ct()||an()))try{return!!window.indexedDB}catch{return!0}}function vo(){if(qe("inverted"))return!0;if(qe("none"))return!1}function qe(e){return matchMedia(`(inverted-colors: ${e})`).matches}function So(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))$()&&ln()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function xo(){try{return!!window.localStorage}catch{return!0}}var w=Math,x=()=>0;function Lo(){let e=w.acos||x,t=w.acosh||x,n=w.asin||x,o=w.asinh||x,r=w.atanh||x,i=w.atan||x,a=w.sin||x,l=w.sinh||x,f=w.cos||x,u=w.cosh||x,s=w.tan||x,c=w.tanh||x,h=w.exp||x,m=w.expm1||x,p=w.log1p||x,y=b=>w.pow(w.PI,b),L=b=>w.log(b+w.sqrt(b*b-1)),G=b=>w.log(b+w.sqrt(b*b+1)),te=b=>w.log((1+b)/(1-b))/2,O=b=>w.exp(b)-1/w.exp(b)/2,T=b=>(w.exp(b)+1/w.exp(b))/2,ne=b=>w.exp(b)-1,Y=b=>(w.exp(2*b)-1)/(w.exp(2*b)+1),z=b=>w.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:te(.5),atan:i(.5),sin:a(-1e300),sinh:l(1),sinhPf:O(1),cos:f(10.000000000123),cosh:u(1),coshPf:T(1),tan:s(-1e300),tanh:c(1),tanhPf:Y(1),exp:h(1),expm1:m(1),expm1Pf:ne(1),log1p:p(10),log1pPf:z(10),powPI:y(-100)}}var Ao=100;function Po(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=Ao;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Io(){return!!window.openDatabase}function Co(){return navigator.oscpu}function Eo(){return navigator.pdfViewerEnabled}function Fo(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!xe()?pn()?"iPad":"iPhone":e}function Ro(){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 i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Mo(){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 Vo(){if(et("reduce"))return!0;if(et("no-preference"))return!1}function et(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function To(){if(tt("reduce"))return!0;if(tt("no-preference"))return!1}function tt(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Wo=2500,No=10,le,_e;function Do(){if(_e!==void 0)return;let e=()=>{let t=ke();ve(t)?_e=setTimeout(e,Wo):(le=t,_e=void 0)};e()}function Go(){return Do(),async()=>{let e=ke();if(ve(e)){if(le)return[...le];hn()&&(await gn(),e=ke())}return ve(e)||(le=e),e}}function Oo(){let e=C()&&K()&&J(),t=U()&&at();if(e||t)return()=>Promise.resolve(void 0);let n=Go();return async()=>{let o=await n(),r=i=>i===null?null:st(i,No);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function ke(){let e=screen;return[F(I(e.availTop),null),F(I(e.width)-I(e.availWidth)-F(I(e.availLeft),0),null),F(I(e.height)-I(e.availHeight)-F(I(e.availTop),0),null),F(I(e.availLeft),null)]}function ve(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Ho(){if(!(C()&&K()&&J()))return Zo()}function Zo(){let e=screen,t=o=>F(Se(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function jo(){try{return!!window.sessionStorage}catch{return!0}}function $o(){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=-Yo();return`UTC${n>=0?"+":""}${n}`}function Yo(){let e=new Date().getFullYear();return Math.max(I(new Date(e,0,1).getTimezoneOffset()),I(new Date(e,6,1).getTimezoneOffset()))}function zo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Se(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 Xo(e){return/not/i.test(e)}async function Bo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Xo(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 Jo(){return navigator.vendor||""}function Uo(){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 dt=-1,ft=-2,Ko=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]),Qo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),qo=["FRAGMENT_SHADER","VERTEX_SHADER"],er=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],mt="WEBGL_debug_renderer_info",tr="WEBGL_polygon_mode";function nr({cache:e}){var t,n,o,r,i,a;let l=pt(e);if(!l)return dt;if(!gt(l))return ft;let f=ht()?null:l.getExtension(mt);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:f?(o=l.getParameter(f.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:f?(i=l.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function or({cache:e}){let t=pt(e);if(!t)return dt;if(!gt(t))return ft;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],l=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=nt(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${Ko.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===mt&&ht()||s===tr&&sr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let h of nt(c)){let m=c[h];l.push(`${h}=${m}${Qo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of qo)for(let c of er){let h=rr(t,s,c);f.push(`${s}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function pt(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 rr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function nt(e){return Object.keys(e.__proto__).filter(ir)}function ir(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function ht(){return U()}function sr(){return $()||C()}function gt(e){return typeof e.getParameter=="function"}var cr={userAgentData:Bo,fonts:go,domBlockers:io,fontPreferences:lo,audio:Tn,screenFrame:Oo,canvas:Zn,osCpu:Co,languages:So,colorDepth:Kn,deviceMemory:oo,screenResolution:Ho,hardwareConcurrency:bo,timezone:$o,sessionStorage:jo,localStorage:xo,indexedDB:ko,openDatabase:Io,cpuClass:to,platform:Fo,plugins:Ro,touchSupport:zo,vendor:Jo,vendorFlavors:Uo,cookiesEnabled:eo,colorGamut:Qn,invertedColors:vo,forcedColors:yo,monochrome:Po,contrast:qn,reducedMotion:Vo,reducedTransparency:To,hdr:_o,math:Lo,pdfViewerEnabled:Eo,architecture:Vn,applePay:Fn,privateClickMeasurement:Mo,audioBaseLatency:Hn,dateTimeLocale:no,webGlBasics:nr,webGlExtensions:or};function ar(e){return Pn(cr,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i+u,h+=m>>>16,m&=65535,h+=r+f,c+=h>>>16,h&=65535,c+=o+l,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=i*f,c+=h>>>16,h&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*l,s+=c>>>16,c&=65535,s+=n*u+o*f+r*l+i*a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function j(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 k(e,t){e[0]^=t[0],e[1]^=t[1]}var ur=[4283543511,3981806797],lr=[3301882366,444984403];function ot(e){let t=[0,e[0]>>>1];k(e,t),P(e,ur),t[1]=e[0]>>>1,k(e,t),P(e,lr),t[1]=e[0]>>>1,k(e,t)}var ae=[2277735313,289559509],ue=[1291169091,658871167],rt=[0,5],dr=[0,1390208809],fr=[0,944331445];function mr(e,t){let n=rn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],l=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[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(f,ae),j(f,31),P(f,ue),k(a,f),j(a,27),V(a,l),P(a,rt),V(a,dr),P(u,ue),j(u,33),P(u,ae),k(l,u),j(l,31),V(l,a),P(l,rt),V(l,fr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],A(c,48),k(u,c);case 14:c[1]=n[s+13],A(c,40),k(u,c);case 13:c[1]=n[s+12],A(c,32),k(u,c);case 12:c[1]=n[s+11],A(c,24),k(u,c);case 11:c[1]=n[s+10],A(c,16),k(u,c);case 10:c[1]=n[s+9],A(c,8),k(u,c);case 9:c[1]=n[s+8],k(u,c),P(u,ue),j(u,33),P(u,ae),k(l,u);case 8:c[1]=n[s+7],A(c,56),k(f,c);case 7:c[1]=n[s+6],A(c,48),k(f,c);case 6:c[1]=n[s+5],A(c,40),k(f,c);case 5:c[1]=n[s+4],A(c,32),k(f,c);case 4:c[1]=n[s+3],A(c,24),k(f,c);case 3:c[1]=n[s+2],A(c,16),k(f,c);case 2:c[1]=n[s+1],A(c,8),k(f,c);case 1:c[1]=n[s],k(f,c),P(f,ae),j(f,31),P(f,ue),k(a,f)}return k(a,o),k(l,o),V(a,l),V(l,a),ot(a),ot(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 pr(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 yt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?sn(n):n,2)}function bt(e){return mr(pr(e))}function hr(e){let t,n=_n(e);return{get visitorId(){return t===void 0&&(t=bt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:it}}function gr(e=50){return xn(e,e*2)}function yr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=hr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
5
|
+
\`\`\``)}var _o="mmMwWLliI0fiflO&1",Le={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function wo(){return So((e,t,n)=>{let o={},r={};for(let a of Object.keys(Le)){let[d={},f=_o]=Le[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(d)){let c=d[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=X()&&kn();for(let a of Object.keys(Le)){let d=o[a].getBoundingClientRect().width;r[a]=i?ko(d*n.devicePixelRatio):d}return r})}function ko(e){let t=he()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function So(e,t=4e3){return yt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?i.style.zoom=`${1/o.devicePixelRatio}`:F()&&(i.style.zoom="reset");let d=r.createElement("div");return d.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(d),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var vo="mmMwWLliI0O&1",xo="48px",Y=["monospace","sans-serif","serif"],ot=["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 yt((e,{document:t})=>{let n=t.body;n.style.fontSize=xo;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=p=>{let h=t.createElement("span"),{style:b}=h;return b.position="absolute",b.top="0",b.left="0",b.fontFamily=p,h.textContent=vo,o.appendChild(h),h},d=(p,h)=>a(`'${p}',${h}`),f=()=>Y.map(a),u=()=>{let p={};for(let h of ot)p[h]=Y.map(b=>d(h,b));return p},s=p=>Y.some((h,b)=>p[b].offsetWidth!==r[h]||p[b].offsetHeight!==i[h]),c=f(),y=u();n.appendChild(o);for(let p=0;p<Y.length;p++)r[Y[p]]=c[p].offsetWidth,i[Y[p]]=c[p].offsetHeight;return ot.filter(p=>s(y[p]))})}function Ao(){if(rt("active"))return!0;if(rt("none"))return!1}function rt(e){return matchMedia(`(forced-colors: ${e})`).matches}function Io(){let e=Po();return e!==void 0&&ee()&&ht()?e>=8?8:4:e}function Po(){return T(Ce(navigator.hardwareConcurrency),void 0)}function Co(){if(it("high"))return!0;if(it("standard"))return!1}function it(e){return matchMedia(`(dynamic-range: ${e})`).matches}function Eo(){if(!(pt()||yn()))try{return!!window.indexedDB}catch{return!0}}function Fo(){if(st("inverted"))return!0;if(st("none"))return!1}function st(e){return matchMedia(`(inverted-colors: ${e})`).matches}function Mo(){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()&&_n()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function Ro(){try{return!!window.localStorage}catch{return!0}}var k=Math,L=()=>0;function To(){let e=k.acos||L,t=k.acosh||L,n=k.asin||L,o=k.asinh||L,r=k.atanh||L,i=k.atan||L,a=k.sin||L,d=k.sinh||L,f=k.cos||L,u=k.cosh||L,s=k.tan||L,c=k.tanh||L,y=k.exp||L,p=k.expm1||L,h=k.log1p||L,b=_=>k.pow(k.PI,_),A=_=>k.log(_+k.sqrt(_*_-1)),H=_=>k.log(_+k.sqrt(_*_+1)),ie=_=>k.log((1+_)/(1-_))/2,Z=_=>k.exp(_)-1/k.exp(_)/2,O=_=>(k.exp(_)+1/k.exp(_))/2,se=_=>k.exp(_)-1,M=_=>(k.exp(2*_)-1)/(k.exp(2*_)+1),J=_=>k.log(1+_);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:A(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:H(1),atanh:r(.5),atanhPf:ie(.5),atan:i(.5),sin:a(-1e300),sinh:d(1),sinhPf:Z(1),cos:f(10.000000000123),cosh:u(1),coshPf:O(1),tan:s(-1e300),tanh:c(1),tanhPf:M(1),exp:y(1),expm1:p(1),expm1Pf:se(1),log1p:h(10),log1pPf:J(10),powPI:b(-100)}}var Vo=100;function Wo(){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 No(){return!!window.openDatabase}function Oo(){return navigator.oscpu}function Do(){return navigator.pdfViewerEnabled}function Go(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!Ee()?vn()?"iPad":"iPhone":e}function $o(){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 i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function Ho(){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 Zo(){if(ct("reduce"))return!0;if(ct("no-preference"))return!1}function ct(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function jo(){if(at("reduce"))return!0;if(at("no-preference"))return!1}function at(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Yo=2500,zo=10,me,Ae;function Xo(){if(Ae!==void 0)return;let e=()=>{let t=Ie();Pe(t)?Ae=setTimeout(e,Yo):(me=t,Ae=void 0)};e()}function Bo(){return Xo(),async()=>{let e=Ie();if(Pe(e)){if(me)return[...me];xn()&&(await Ln(),e=Ie())}return Pe(e)||(me=e),e}}function Jo(){let e=F()&&te()&&Q(),t=ee()&&ht();if(e||t)return()=>Promise.resolve(void 0);let n=Bo();return async()=>{let o=await n(),r=i=>i===null?null:mt(i,zo);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function Ie(){let e=screen;return[T(E(e.availTop),null),T(E(e.width)-E(e.availWidth)-T(E(e.availLeft),0),null),T(E(e.height)-E(e.availHeight)-T(E(e.availTop),0),null),T(E(e.availLeft),null)]}function Pe(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Uo(){if(!(F()&&te()&&Q()))return qo()}function qo(){let e=screen,t=o=>T(Ce(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function Ko(){try{return!!window.sessionStorage}catch{return!0}}function Qo(){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=-er();return`UTC${n>=0?"+":""}${n}`}function er(){let e=new Date().getFullYear();return Math.max(E(new Date(e,0,1).getTimezoneOffset()),E(new Date(e,6,1).getTimezoneOffset()))}function tr(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Ce(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 nr(e){return/not/i.test(e)}async function or(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!nr(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 rr(){return navigator.vendor||""}function ir(){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 bt=-1,_t=-2,sr=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]),cr=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),ar=["FRAGMENT_SHADER","VERTEX_SHADER"],ur=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],wt="WEBGL_debug_renderer_info",lr="WEBGL_polygon_mode";function dr({cache:e}){var t,n,o,r,i,a;let d=kt(e);if(!d)return bt;if(!vt(d))return _t;let f=St()?null:d.getExtension(wt);return{version:((t=d.getParameter(d.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=d.getParameter(d.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=d.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=d.getParameter(d.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=d.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=d.getParameter(d.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function fr({cache:e}){let t=kt(e);if(!t)return bt;if(!vt(t))return _t;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],d=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=ut(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${sr.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===wt&&St()||s===lr&&hr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let y of ut(c)){let p=c[y];d.push(`${y}=${p}${cr.has(p)?`=${t.getParameter(p)}`:""}`)}}for(let s of ar)for(let c of ur){let y=mr(t,s,c);f.push(`${s}.${c}=${y.join(",")}`)}return d.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:d,unsupportedExtensions:r}}function kt(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 mr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function ut(e){return Object.keys(e.__proto__).filter(pr)}function pr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function St(){return ee()}function hr(){return X()||F()}function vt(e){return typeof e.getParameter=="function"}var gr={userAgentData:or,fonts:Lo,domBlockers:ho,fontPreferences:wo,audio:jn,screenFrame:Jo,canvas:qn,osCpu:Oo,languages:Mo,colorDepth:so,deviceMemory:mo,screenResolution:Uo,hardwareConcurrency:Io,timezone:Qo,sessionStorage:Ko,localStorage:Ro,indexedDB:Eo,openDatabase:No,cpuClass:lo,platform:Go,plugins:$o,touchSupport:tr,vendor:rr,vendorFlavors:ir,cookiesEnabled:uo,colorGamut:co,invertedColors:Fo,forcedColors:Ao,monochrome:Wo,contrast:ao,reducedMotion:Zo,reducedTransparency:jo,hdr:Co,math:To,pdfViewerEnabled:Do,architecture:Zn,applePay:Gn,privateClickMeasurement:Ho,audioBaseLatency:Un,dateTimeLocale:fo,webGlBasics:dr,webGlExtensions:fr};function yr(e){return Wn(gr,e,[])}function N(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i+u,y+=p>>>16,p&=65535,y+=r+f,c+=y>>>16,y&=65535,c+=o+d,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function C(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i*u,y+=p>>>16,p&=65535,y+=r*u,c+=y>>>16,y&=65535,y+=i*f,c+=y>>>16,y&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*d,s+=c>>>16,c&=65535,s+=n*u+o*f+r*d+i*a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function z(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 P(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 S(e,t){e[0]^=t[0],e[1]^=t[1]}var br=[4283543511,3981806797],_r=[3301882366,444984403];function lt(e){let t=[0,e[0]>>>1];S(e,t),C(e,br),t[1]=e[0]>>>1,S(e,t),C(e,_r),t[1]=e[0]>>>1,S(e,t)}var de=[2277735313,289559509],fe=[1291169091,658871167],dt=[0,5],wr=[0,1390208809],kr=[0,944331445];function Sr(e,t){let n=pn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],d=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[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,C(f,de),z(f,31),C(f,fe),S(a,f),z(a,27),N(a,d),C(a,dt),N(a,wr),C(u,fe),z(u,33),C(u,de),S(d,u),z(d,31),N(d,a),C(d,dt),N(d,kr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],P(c,48),S(u,c);case 14:c[1]=n[s+13],P(c,40),S(u,c);case 13:c[1]=n[s+12],P(c,32),S(u,c);case 12:c[1]=n[s+11],P(c,24),S(u,c);case 11:c[1]=n[s+10],P(c,16),S(u,c);case 10:c[1]=n[s+9],P(c,8),S(u,c);case 9:c[1]=n[s+8],S(u,c),C(u,fe),z(u,33),C(u,de),S(d,u);case 8:c[1]=n[s+7],P(c,56),S(f,c);case 7:c[1]=n[s+6],P(c,48),S(f,c);case 6:c[1]=n[s+5],P(c,40),S(f,c);case 5:c[1]=n[s+4],P(c,32),S(f,c);case 4:c[1]=n[s+3],P(c,24),S(f,c);case 3:c[1]=n[s+2],P(c,16),S(f,c);case 2:c[1]=n[s+1],P(c,8),S(f,c);case 1:c[1]=n[s],S(f,c),C(f,de),z(f,31),C(f,fe),S(a,f)}return S(a,o),S(d,o),N(a,d),N(d,a),lt(a),lt(d),N(a,d),N(d,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(d[0]>>>0).toString(16)}`.slice(-8)+`00000000${(d[1]>>>0).toString(16)}`.slice(-8)}function vr(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 xt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?hn(n):n,2)}function Lt(e){return Sr(vr(e))}function xr(e){let t,n=Cn(e);return{get visitorId(){return t===void 0&&(t=Lt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:ft}}function Lr(e=50){return Rn(e,e*2)}function Ar(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=xr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
6
6
|
|
|
7
7
|
\`\`\`
|
|
8
8
|
version: ${a.version}
|
|
9
9
|
userAgent: ${navigator.userAgent}
|
|
10
10
|
timeBetweenLoadAndGet: ${r-n}
|
|
11
11
|
visitorId: ${a.visitorId}
|
|
12
|
-
components: ${
|
|
13
|
-
\`\`\``),a}}}function br(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${it}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function wr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&br(),await gr(t);let r=ar({cache:{},debug:n});return yr(r,n)}var wt={load:wr,hashComponents:bt,componentsToDebugString:yt};var _r=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],kr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Le=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Ae=["lp","narrative"],_t=[..._r,...kr,...Le,...Ae],vr=new Set(_t);function Pe(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();vr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Sr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,xr=["email"],Lr=["phone","phonenumber","phone_number","tel","telefone"];function Q(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Sr.test(t)&&t.length<=254?t:null}function q(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 i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function kt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&xr.includes(i)&&(t.email=Q(r)||void 0),!t.phone&&Lr.includes(i)&&(t.phone=q(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ce=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Ar=/\/widget\/(form|survey|booking)\//,At=["buy.stripe.com","checkout.stripe.com"],Pt=e=>new Set([...At,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Pr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",me="data-f10x-field";function vt(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Pr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(me))&&(a.value=i);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=i,l.setAttribute(me,""),e.appendChild(l)}}}var St=new WeakMap;function Ir(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=St.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,St.set(t,n),t.setAttribute(me,""),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[i,a]of Object.entries(t))Ce.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return At.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 xt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ee({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Pt(t),a=new WeakSet,l=!1,f=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!i.has(xt(p.getAttribute("href"))))continue;let y=Ie(p.getAttribute("href"),m,location.href);y&&p.setAttribute("href",y)}},s=m=>{for(let p of document.querySelectorAll("iframe[src]")){let y=p.getAttribute("src");if(!Ar.test(y))continue;let L=Ie(y,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let y of document.forms)vt(y,p,n);Ir(p),u(p),l&&s(p)},h=()=>{f||(f=setTimeout(R(()=>{f=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>vt(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,y=p?xt(p.getAttribute("href")):"";if(!p||!i.has(y))return;let L=Ie(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(y)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var D="_f10x",Cr=120*1e3,Er=200;function It({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Ct(e,t){let n;try{n=new URL(e).searchParams.get(D)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||f.length>Er||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Cr?{distinctID:f,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 Et(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 i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Fr.test(i)?n.push(i):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=Pt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&l(s.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(D,h),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",R(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has(D)&&(c.searchParams.delete(D),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||s).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(p==="get"){let y=s.querySelector(`input[name="${D}"]`);y||(y=document.createElement("input"),y.type="hidden",y.name=D,y.setAttribute(me,""),s.appendChild(y)),y.value=m}else p==="post"&&(h.searchParams.set(D,m),(c||s).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Rr=/e-?mail/i,Mr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Rt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Mt=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Vt=e=>e.type==="email"||Rr.test(Mt(e)),Tt=e=>e.type==="tel"||e.type!=="email"&&Mr.test(Mt(e));function Vr(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"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Tr(e){if(!(e instanceof HTMLInputElement)||Rt.has(e.type))return{};if(Vt(e)){let t=Q(e.value);return t?{email:t}:{}}if(Tt(e)){let t=q(e.value,Vr(e));return t?{phone:t}:{}}return{}}function Lt(e){let t={};for(let n of e){let o=Tr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Wr(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=>!Rt.has(r.type)&&(Vt(r)||Tt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Nr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Wt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Lt(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=Wr(o);if(!r||Nr(r))return;let i=Lt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form")},t),!0)}var Te="2.4.0",Fe="f10x_consent",Dr=typeof N=="object"?N:[],Gr="1",Or=/^\d+\.\d+\.\d+$/,We="f10x_contact_id",Hr="contact_id",Zr=/^[A-Za-z0-9_-]{6,128}$/,Nt=1e3,Dt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",jr="[@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.",$r=["snippet","page"],Yr=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Gt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},zr=["purchase","registration_completed","appointment_scheduled"];function Xr(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Gt,e)?Gt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":zr.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let l=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof l=="number"&&Number.isFinite(l)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var Ne=e=>e&&e.message||String(e),Br=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${Ne(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 Ur(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 Kr(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(pe("local",e)))||t(n(pe("session",e)))}var Qr={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}},pe=(e,t)=>{var n,o;try{return(o=(n=De(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Re=(e,t,n)=>{var o;try{(o=De(e))==null||o.setItem(t,n)}catch{}};function Ot(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ce){let r=n.get(o);r&&Zr.test(r)&&(t[o]=r)}}catch{}return t}var Me=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Ht(){for(let n of["local","session"]){let o=De(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 qr(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Zt=e=>e==null||e==="posthog";function ei(e){let t=[],n=o=>{for(let r of Dr)o[r]=(...i)=>{o.push([r,...i])}};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,i)=>{Zt(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function ti(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Gr;return t&&(Or.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 gi(e={}){if(window.__f10xTracking)return ee(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ve("preview"),ee(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let d=Me({...Pe(o),...Ot(o)}),g=!1,_=v=>{g||console.warn(`[@funnel10x/tracking] the dom extra failed (${Ne(v)}): the form in this frame may miss the fields from its URL.`),g=!0};try{Ee({values:()=>d,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:_})}catch(v){_(v)}return t=Ve("frame",()=>d),ee(t)}if(qr())return console.warn(Dt),t=Ve("conflict"),ee(t);let i=Pe(o),a=Ot(o)[Hr]||null,l=[],f="idle",u=null,s=!1,c=null,h=null,m=null,p=!1,y=null,L=!1,G=!1,te=ti(e.apiHost,e.sdkVersion),O=[],T=(d,g)=>{O.includes(d)||(O.push(d),console.warn(Br(d,g)))},ne=new Set,Y=(d,g)=>{ne.has(d)||(ne.add(d),console.warn(`[@funnel10x/tracking] ${g}`))},z=$r.includes(e.checkout)?e.checkout:null;z||console.warn(Yr(e.checkout));let b=(d,g,_)=>{try{return g()}catch(v){return T(d,v),_}},Ge=()=>{p||console.warn(jr),p=!0},M=ei(Ge),jt=window.posthog;window.posthog=M;let Oe=()=>{let d={...i};return s&&(d.ph_anon_id=u.get_property("$device_id"),d.ph_distinct_id=u.get_distinct_id(),d.ph_session_id=u.get_session_id(),y&&(d.contact_id=y)),Me(d)},$t=d=>s?(u.capture("checkout",{checkout_host:d},{send_instantly:!0}),!0):!1,He=b("dom",()=>Ee({values:Oe,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:d=>T("dom",d),onCheckout:z==="snippet"?$t:void 0}),null),oe=d=>{He&&b("dom",()=>He.refresh(d))},Ze=new Set,he=[],re=(d,g)=>{if(!s){n&&ce()==="denied"||he.push([d,g]);return}let _=Object.fromEntries(Object.entries(d).filter(([v,E])=>E&&!Ze.has(`${v}:${E}`)));if(Object.keys(_).length){for(let[v,E]of Object.entries(_))Ze.add(`${v}:${E}`);u.capture("contact_captured",{..._,contact_source:g})}},Yt=b("contact",()=>kt(o),{});b("contact",()=>Wt((d,g)=>re(d,g),d=>T("contact",d)));let ge=b("linker",()=>Et(e.linkedDomains),[]),W=ge.length?b("linker",()=>Ct(o,Jr()),null):null,je=!1,ie=null,se=null,zt=()=>s?It({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ge.length&&b("linker",()=>Ft({hosts:ge,checkoutHosts:e.checkoutHosts,value:zt,onError:d=>T("linker",d)}));let Xt=d=>{!W||je||(je=!0,b("linker",()=>{let g=d.bootstrap&&typeof d.bootstrap=="object"?d.bootstrap:{};if(g.distinctID||d.identity_distinct_id||Kr(Ur(e.key,d))){se=W.distinctID;return}ie={...g,distinctID:W.distinctID,isIdentifiedID:W.identified,...W.sessionID&&!g.sessionID?{sessionID:W.sessionID}:{}}}))},Bt=Me({tracking_version:Te,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),Jt=d=>(!d||d.event==="$snapshot"||(d.properties={...d.properties,...Bt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...O.length?{tracking_degraded:[...O]}:{},...se?{linked_distinct_id:se}:{}}),d),ce=()=>{let d=pe("local",Fe);return d==="granted"||d==="denied"?d:null},X=!n||e.consent===!1||ce()==="granted",ye=n?"direct":"tag",Ut=()=>{if(m)return m;let d=Date.now(),g=(async()=>{let v=await(await wt.load({monitoring:!1})).get();c=(v==null?void 0:v.visitorId)||null,h=Date.now()-d})().catch(_=>{h===null&&(h=Date.now()-d),T("fingerprint",_)});return m=Promise.race([g,new Promise(_=>setTimeout(_,Nt))]).then(()=>{h===null&&(h=Nt)}),m},Kt=()=>{if(L)return;L=!0;let d=document.createElement("link");d.rel="preload",d.as="script",d.crossOrigin="anonymous",d.href=te,document.head.appendChild(d)},$e=()=>{let d=e.posthog||{};return Xt(d),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...Qr,custom_campaign_params:[...Le,"utm_id","utm_placement",...Ae],...d,...ie?{bootstrap:ie}:{},before_send:Jt,loaded:qt}},Qt=()=>{let d=window.posthog;if(d===M){if(M._i.unshift([e.key,$e()]),f="injected",G)return;G=!0;let g=document.createElement("script");g.async=!0,g.crossOrigin="anonymous",g.src=te,document.head.appendChild(g);return}if(G&&d&&!d.__loaded&&typeof d.init=="function"){f="injected",d.init(e.key,$e()),u&&typeof u._execute_array=="function"&&u._execute_array(M);return}console.warn(Dt),ye="conflict",f="idle"},Ye=()=>{f!=="idle"||ye==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!X){f="idle";return}if(Kt(),await b("fingerprint",Ut,null),!X){f="idle";return}Qt()}).catch(d=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${Ne(d)}): nothing is tracked by this snippet on this page.`),!G&&(f="idle",window.posthog===M&&(window.posthog=jt))}))};function qt(d){u=d,f="loaded";let g=d.init;d.init=function(_,v,E){return Zt(E)&&Ge(),g.apply(this,arguments)},d.has_opted_out_capturing()&&d.opt_in_capturing({captureEventName:!1}),y=a||pe("session",We),a&&(Re("session",We,a),d.get_distinct_id()!==a&&d.identify(a)),s=!0,oe({iframes:!0}),b("contact",()=>{re(Yt,"url");for(let[_,v]of he.splice(0))re(_,v)});for(let _ of l.splice(0))_(!0)}return X?Ye():(ce()==="denied"&&Ht(),oe({iframes:!0})),t={version:Te,get mode(){return ye},consent:()=>n&&e.consent?ce():null,grant(){Re("local",Fe,"granted"),X=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),oe({iframes:!0})):Ye()},deny(){var d;if(Re("local",Fe,"denied"),X=!1,he=[],W=null,ie=null,se=null,!u){M._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(d=u.stopSessionRecording)==null||d.call(u),u.set_config({disable_persistence:!0}),Ht(),s=!1,y=null,oe()},onReady(d){s?d(!0):l.push(d)},fields:Oe,capture(d,g){try{for(let[_,v]of Xr(d,g,z))Y(`${d}:${_}`,v)}catch{}s&&u.capture(d,g,d==="checkout"?{send_instantly:!0}:void 0)},contact(d){b("contact",()=>{let g=d&&typeof d=="object"?d:{},_={};if(g.email!=null&&g.email!==""){let v=Q(g.email);v?_.email=v:Y(`contact:email:${g.email}`,`contact(): ${JSON.stringify(g.email)} is not an email, and it is not sent.`)}if(g.phone!=null&&g.phone!==""){let E=typeof g.phone=="string"&&/^\s*(\+|00)/.test(g.phone)?q(g.phone):null;E?_.phone=E:Y(`contact:phone:${g.phone}`,`contact(): ${JSON.stringify(g.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}(_.email||_.phone)&&re(_,"api")})},get posthog(){return u||(window.posthog===M?M:null)}},ee(t)}function ee(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ve(e,t=()=>({})){return{version:Te,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},posthog:null}}export{_t as ALLOWED_PARAMS,Fe as CONSENT_KEY,Te as VERSION,gi as init};
|
|
12
|
+
components: ${xt(i)}
|
|
13
|
+
\`\`\``),a}}}function Ir(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${ft}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function Pr(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&Ir(),await Lr(t);let r=yr({cache:{},debug:n});return Ar(r,n)}var At={load:Pr,hashComponents:Lt,componentsToDebugString:xt};var Cr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],Er=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Fe=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Me=["lp","narrative"],It=[...Cr,...Er,...Fe,...Me],Fr=new Set(It);function Re(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();Fr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Mr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Rr=["email"],Tr=["phone","phonenumber","phone_number","tel","telefone"];function B(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Mr.test(t)&&t.length<=254?t:null}function ne(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 i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}var Vr=/^[a-z][a-z0-9_]{0,31}$/;function ge(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Vr.test(t)?t:null}function Pt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Rr.includes(i)&&(t.email=B(r)||void 0),!t.phone&&Tr.includes(i)&&(t.phone=ne(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ve=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Wr=/\/widget\/(form|survey|booking)\//,Tt=["buy.stripe.com","checkout.stripe.com"],Vt=e=>new Set([...Tt,...e||[]].map(t=>String(t).toLowerCase())),V=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Nr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",ye="data-f10x-field";function Ct(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Nr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(ye))&&(a.value=i);else if(o){let d=document.createElement("input");d.type="hidden",d.name=r,d.value=i,d.setAttribute(ye,""),e.appendChild(d)}}}var Et=new WeakMap;function Or(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=Et.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,Et.set(t,n),t.setAttribute(ye,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Te(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[i,a]of Object.entries(t))Ve.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return Tt.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 Ft=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function We({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Vt(t),a=new WeakSet,d=!1,f=0,u=p=>{for(let h of document.querySelectorAll("a[href]")){if(!i.has(Ft(h.getAttribute("href"))))continue;let b=Te(h.getAttribute("href"),p,location.href);b&&h.setAttribute("href",b)}},s=p=>{for(let h of document.querySelectorAll("iframe[src]")){let b=h.getAttribute("src");if(!Wr.test(b))continue;let A=Te(b,p,location.href);A&&h.setAttribute("src",A)}},c=(p={})=>{p.iframes&&(d=!0);let h=e();for(let b of document.forms)Ct(b,h,n);Or(h),u(h),d&&s(h)},y=()=>{f||(f=setTimeout(V(()=>{f=0,c()},o),50))};return new MutationObserver(y).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",V(p=>Ct(p.target,e(),n),o),!0),document.addEventListener("click",V(p=>{let h=p.target instanceof Element?p.target.closest("a[href]"):null,b=h?Ft(h.getAttribute("href")):"";if(!h||!i.has(b))return;let A=Te(h.getAttribute("href"),e(),location.href);A&&h.setAttribute("href",A),r&&!a.has(h)&&r(b)&&a.add(h)},o),!0),V(c,o)(),{refresh:c}}var $="_f10x",Dr=120*1e3,Gr=200;function Wt({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Nt(e,t){let n;try{n=new URL(e).searchParams.get($)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),d=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||d!=="i"&&d!=="a"||f.length>Gr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Dr?{distinctID:f,sessionID:u||null,identified:d==="i"}:null}var $r=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Ot(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 i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");$r.test(i)?n.push(i):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 Dt({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Vt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},d=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=V(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&d(s.getAttribute("href")),y=c&&n();y&&(c.searchParams.set($,y),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",V(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has($)&&(c.searchParams.delete($),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",V(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,y=d((c||s).getAttribute(c?"formaction":"action")||""),p=y&&n();if(!p)return;let h=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let b=s.querySelector(`input[name="${$}"]`);b||(b=document.createElement("input"),b.type="hidden",b.name=$,b.setAttribute(ye,""),s.appendChild(b)),b.value=p}else h==="post"&&(y.searchParams.set($,p),(c||s).setAttribute(c?"formaction":"action",y.href))},o),!0)}var Hr=/e-?mail/i,Zr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Gt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),$t=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Ht=e=>e.type==="email"||Hr.test($t(e)),Zt=e=>e.type==="tel"||e.type!=="email"&&Zr.test($t(e));function jr(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"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Yr(e){if(!(e instanceof HTMLInputElement)||Gt.has(e.type))return{};if(Ht(e)){let t=B(e.value);return t?{email:t}:{}}if(Zt(e)){let t=ne(e.value,jr(e));return t?{phone:t}:{}}return{}}function Mt(e){let t={};for(let n of e){let o=Yr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function zr(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=>!Gt.has(r.type)&&(Ht(r)||Zt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Xr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity()),Br="acquisition_type";function Rt(e){let t=e.closest("[data-acquisition-type]"),n=e.querySelector(`[name="${Br}"]`);return{attribute:t?t.getAttribute("data-acquisition-type"):null,field:n&&typeof n.value=="string"?n.value:null}}function jt(e,t){document.addEventListener("submit",V(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Mt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form",Rt(n.target))},t),!0),document.addEventListener("click",V(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=zr(o);if(!r||Xr(r))return;let i=Mt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form",Rt(r))},t),!0)}var Ge="2.6.0",Ne="f10x_consent",Ze="f10x_login",Jr=10,Ur=typeof G=="object"?G:[],qr="1",Kr=/^\d+\.\d+\.\d+$/,$e="f10x_contact_id",Qr="contact_id",ei=/^[A-Za-z0-9_-]{6,128}$/,Yt=1e3,zt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",ti="[@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.",ni=["snippet","page"],oi=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Xt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},ri=["purchase","registration_completed","appointment_scheduled"];function ii(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Xt,e)?Xt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":ri.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let d=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof d=="number"&&Number.isFinite(d)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var He=e=>e&&e.message||String(e),si=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${He(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,ci=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function ai(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 ui(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(re("local",e)))||t(n(re("session",e)))}var li={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},je=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},re=(e,t)=>{var n,o;try{return(o=(n=je(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},be=(e,t,n)=>{var o;try{(o=je(e))==null||o.setItem(t,n)}catch{}};function Bt(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ve){let r=n.get(o);r&&ei.test(r)&&(t[o]=r)}}catch{}return t}function di(e,t){let n=`${e}:${t}`,o=3735928559,r=1103547991;for(let i=0;i<n.length;i++){let a=n.charCodeAt(i);o=Math.imul(o^a,2654435761),r=Math.imul(r^a,1597334677)}return o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),(r>>>0).toString(16).padStart(8,"0")+(o>>>0).toString(16).padStart(8,"0")}function fi(){try{let e=new Uint8Array(12);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}catch{return`${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`}}function mi(){try{let e=JSON.parse(re("local",Ze)||"null");return e&&typeof e.salt=="string"&&e.salt&&typeof e.id=="string"&&Array.isArray(e.emails)?e:null}catch{return null}}function pi(e){try{if(typeof e._isIdentified=="function")return!!e._isIdentified()}catch{}return e.get_property("$user_state")==="identified"}var Oe=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Jt(){for(let n of["local","session"]){let o=je(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===$e||r===Ze)&&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 hi(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Ut=e=>e==null||e==="posthog";function gi(e){let t=[],n=o=>{for(let r of Ur)o[r]=(...i)=>{o.push([r,...i])}};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,i)=>{Ut(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function yi(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=qr;return t&&(Kr.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 Mi(e={}){if(window.__f10xTracking)return oe(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=De("preview"),oe(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let l=Oe({...Re(o),...Bt(o)}),m=!1,g=w=>{m||console.warn(`[@funnel10x/tracking] the dom extra failed (${He(w)}): the form in this frame may miss the fields from its URL.`),m=!0};try{We({values:()=>l,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:g})}catch(w){g(w)}return t=De("frame",()=>l),oe(t)}if(hi())return console.warn(zt),t=De("conflict"),oe(t);let i=Re(o),a=Bt(o)[Qr]||null,d=[],f="idle",u=null,s=!1,c=null,y=null,p=null,h=!1,b=null,A=!1,H=!1,ie=yi(e.apiHost,e.sdkVersion),Z=[],O=(l,m)=>{Z.includes(l)||(Z.push(l),console.warn(si(l,m)))},se=new Set,M=(l,m)=>{se.has(l)||(se.add(l),console.warn(`[@funnel10x/tracking] ${m}`))},J=ni.includes(e.checkout)?e.checkout:null;J||console.warn(oi(e.checkout));let _=(l,m,g)=>{try{return m()}catch(w){return O(l,w),g}},Ye=()=>{h||console.warn(ti),h=!0},W=gi(Ye),qt=window.posthog;window.posthog=W;let ze=()=>{let l={...i};return s&&(l.ph_anon_id=u.get_property("$device_id"),l.ph_distinct_id=u.get_distinct_id(),l.ph_session_id=u.get_session_id(),b&&(l.contact_id=b)),Oe(l)},Kt=l=>s?(u.capture("checkout",{checkout_host:l},{send_instantly:!0}),!0):!1,Xe=_("dom",()=>We({values:ze,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:l=>O("dom",l),onCheckout:J==="snippet"?Kt:void 0}),null),ce=l=>{Xe&&_("dom",()=>Xe.refresh(l))},_e=new Set,we=[],ae=(l,m,g=null)=>{if(!s){n&&U()==="denied"||we.push([l,m,g]);return}let w=(I,R)=>g?`${I}:${R}:${g}`:`${I}:${R}`,v=Object.fromEntries(Object.entries(l).filter(([I,R])=>R&&!_e.has(w(I,R))));if(Object.keys(v).length){for(let[I,R]of Object.entries(v))_e.add(`${I}:${R}`),g&&_e.add(w(I,R));u.capture("contact_captured",{...v,contact_source:m,...g?{acquisition_type:g}:{}})}},Be=new Set,ke=[],Je=l=>{if(!s){n&&U()==="denied"||ke.push(l);return}if(Be.has(l))return;if(Be.add(l),pi(u)){M("login:identified","login(): PostHog already has this browser as identified (an identify ran here before), so the login is not sent: the admin links this browser through that identify.");return}let m=u.get_distinct_id(),g=mi(),w=g?g.salt:fi(),v=di(w,l),I=g&&g.id===m?g.emails.filter(R=>typeof R=="string"):[];I.includes(v)||(u.capture("contact_captured",{email:l,contact_source:"login"}),be("local",Ze,JSON.stringify({salt:w,id:m,emails:[...I,v].slice(-Jr)})))},Qt=l=>{let m=l&&l.attribute!=null?String(l.attribute):null,g=l&&l.field!=null&&String(l.field).trim()!==""?String(l.field):null,w=m!=null?m:g;if(w===null)return null;let v=ge(w);return v?m!==null&&g!==null&&ge(g)!==v&&M(`acquisition_type:${m}:${g}`,`data-acquisition-type is ${JSON.stringify(m)} and the acquisition_type field is ${JSON.stringify(g)}: contact_captured goes with the attribute.`):M(`acquisition_type:${w}`,`${m!==null?"data-acquisition-type":"the acquisition_type field"} is ${JSON.stringify(w)}, which is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`),v},en=_("contact",()=>Pt(o),{});_("contact",()=>jt((l,m,g)=>ae(l,m,Qt(g)),l=>O("contact",l)));let Se=_("linker",()=>Ot(e.linkedDomains),[]),D=Se.length?_("linker",()=>Nt(o,ci()),null):null,Ue=!1,ue=null,le=null,tn=()=>s?Wt({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;Se.length&&_("linker",()=>Dt({hosts:Se,checkoutHosts:e.checkoutHosts,value:tn,onError:l=>O("linker",l)}));let nn=l=>{!D||Ue||(Ue=!0,_("linker",()=>{let m=l.bootstrap&&typeof l.bootstrap=="object"?l.bootstrap:{};if(m.distinctID||l.identity_distinct_id||ui(ai(e.key,l))){le=D.distinctID;return}ue={...m,distinctID:D.distinctID,isIdentifiedID:D.identified,...D.sessionID&&!m.sessionID?{sessionID:D.sessionID}:{}}}))},on=Oe({tracking_version:Ge,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),rn=l=>(!l||l.event==="$snapshot"||(l.properties={...l.properties,...on,...c?{fingerprint:c}:{},fingerprint_ms:y,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...le?{linked_distinct_id:le}:{}}),l),U=()=>{let l=re("local",Ne);return l==="granted"||l==="denied"?l:null},q=!n||e.consent===!1||U()==="granted",ve=n?"direct":"tag",sn=()=>{if(p)return p;let l=Date.now(),m=(async()=>{let w=await(await At.load({monitoring:!1})).get();c=(w==null?void 0:w.visitorId)||null,y=Date.now()-l})().catch(g=>{y===null&&(y=Date.now()-l),O("fingerprint",g)});return p=Promise.race([m,new Promise(g=>setTimeout(g,Yt))]).then(()=>{y===null&&(y=Yt)}),p},cn=()=>{if(A)return;A=!0;let l=document.createElement("link");l.rel="preload",l.as="script",l.crossOrigin="anonymous",l.href=ie,document.head.appendChild(l)},qe=()=>{let l=e.posthog||{};return nn(l),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...li,custom_campaign_params:[...Fe,"utm_id","utm_placement",...Me],...l,...ue?{bootstrap:ue}:{},before_send:rn,loaded:un}},an=()=>{let l=window.posthog;if(l===W){if(W._i.unshift([e.key,qe()]),f="injected",H)return;H=!0;let m=document.createElement("script");m.async=!0,m.crossOrigin="anonymous",m.src=ie,document.head.appendChild(m);return}if(H&&l&&!l.__loaded&&typeof l.init=="function"){f="injected",l.init(e.key,qe()),u&&typeof u._execute_array=="function"&&u._execute_array(W);return}console.warn(zt),ve="conflict",f="idle"},Ke=()=>{f!=="idle"||ve==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!q){f="idle";return}if(cn(),await _("fingerprint",sn,null),!q){f="idle";return}an()}).catch(l=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${He(l)}): nothing is tracked by this snippet on this page.`),!H&&(f="idle",window.posthog===W&&(window.posthog=qt))}))};function un(l){u=l,f="loaded";let m=l.init;l.init=function(g,w,v){return Ut(v)&&Ye(),m.apply(this,arguments)},l.has_opted_out_capturing()&&l.opt_in_capturing({captureEventName:!1}),b=a||re("session",$e),a&&(be("session",$e,a),l.get_distinct_id()!==a&&l.identify(a)),s=!0,ce({iframes:!0}),_("contact",()=>{ae(en,"url");for(let[g,w,v]of we.splice(0))ae(g,w,v);for(let g of ke.splice(0))Je(g)});for(let g of d.splice(0))g(!0)}return q?Ke():(U()==="denied"&&Jt(),ce({iframes:!0})),t={version:Ge,get mode(){return ve},consent:()=>n&&e.consent?U():null,grant(){be("local",Ne,"granted"),q=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),ce({iframes:!0})):Ke()},deny(){var l;if(be("local",Ne,"denied"),q=!1,we=[],ke=[],D=null,ue=null,le=null,!u){W._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(l=u.stopSessionRecording)==null||l.call(u),u.set_config({disable_persistence:!0}),Jt(),s=!1,b=null,ce()},onReady(l){s?l(!0):d.push(l)},fields:ze,capture(l,m){try{for(let[g,w]of ii(l,m,J))M(`${l}:${g}`,w)}catch{}s&&u.capture(l,m,l==="checkout"?{send_instantly:!0}:void 0)},contact(l){_("contact",()=>{let m=l&&typeof l=="object"?l:{},g={};if(m.email!=null&&m.email!==""){let v=B(m.email);v?g.email=v:M(`contact:email:${m.email}`,`contact(): ${JSON.stringify(m.email)} is not an email, and it is not sent.`)}if(m.phone!=null&&m.phone!==""){let I=typeof m.phone=="string"&&/^\s*(\+|00)/.test(m.phone)?ne(m.phone):null;I?g.phone=I:M(`contact:phone:${m.phone}`,`contact(): ${JSON.stringify(m.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}let w=null;m.acquisitionType!=null&&m.acquisitionType!==""&&(w=ge(m.acquisitionType),w||M(`contact:acquisition_type:${m.acquisitionType}`,`contact(): acquisitionType ${JSON.stringify(m.acquisitionType)} is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`)),(g.email||g.phone)&&ae(g,"api",w)})},login(l){_("contact",()=>{var w;let m=l&&typeof l=="object"?l:{},g=m.email!=null&&m.email!==""?B(m.email):null;if(!g){M(`login:email:${m.email}`,`login(): ${JSON.stringify((w=m.email)!=null?w:null)} is not an email, and nothing is sent.`);return}Je(g)})},get posthog(){return u||(window.posthog===W?W:null)}},oe(t)}function oe(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function De(e,t=()=>({})){return{version:Ge,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},login(){},posthog:null}}export{It as ALLOWED_PARAMS,Ne as CONSENT_KEY,Ze as LOGIN_KEY,Ge as VERSION,Mi as init};
|
package/dist/tag.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
(()=>{var
|
|
2
|
-
`),...e}}function an(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function at(){let e=window,t=navigator;return S(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function un(){let e=window,t=navigator;return S(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!at()}function $(){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 C(){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 Le(){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 U(){let e=window;return an(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function K(){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 ln(){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 ut(){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 dn(){let e=window;return S([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function fn(){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 mn(){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 pn(){let e=window;return S(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function Q(){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 hn(){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 gn(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function yn(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function me(){var e,t;let n=$(),o=K(),r=window,i=navigator;return n?S([wn(),"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(i.appVersion)])>=2:!1}function bn(){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 wn(){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 _n="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function kn(e){let t=vn(e),n=Sn(t);return{score:t,comment:_n.replace(/\$/g,`${n}`)}}function vn(e){if(me())return .4;if(C())return Le()&&!(Q()&&U())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Sn(e){return ct(.99+.01*e,1e-4)}function fe(e,t){return new Promise(n=>setTimeout(n,e,t))}function xn(){return new Promise(e=>{let t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(null)})}function Ln(e,t=1/0){let{requestIdleCallback:n}=window;return n?new Promise(o=>n.call(window,()=>o(),{timeout:t})):fe(Math.min(e,t))}function lt(e){return!!e&&typeof e.then=="function"}function Xe(e,t){try{let n=e();lt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function Be(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await xn())}return o}function J(e){return e.then(void 0,()=>{}),e}function An(e){return typeof e!="function"}function Pn(e,t){let n=J(new Promise(o=>{let r=Date.now();Xe(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let l=i[1];if(An(l))return o(()=>({value:l,duration:a}));o(()=>new Promise(f=>{let u=Date.now();Xe(l,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function In(e,t,n,o){let r=Object.keys(e).filter(a=>on(n,a)),i=J(Be(r,a=>Pn(e[a],t),o));return async function(){let l=await i,f=await Be(l,c=>J(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function dt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await fe(n);let l=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},h=y=>{s=!0,u(y)};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 y,L;s||(((L=(y=l.contentWindow)===null||y===void 0?void 0:y.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 fe(n);return await e(l,l.contentWindow)}finally{(i=l.parentNode)===null||i===void 0||i.removeChild(l)}}function Cn(e){let[t,n]=rn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?En(o.style,i):o.setAttribute(r,i)}return o}function En(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function Fn(){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 Rn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Mn())return-3;try{return e.canMakePayments()?1:0}catch(t){return Tn(t)}}var Mn=Fn;function Tn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Vn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function Wn(){return Gn()?-4:Nn()}function Nn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Dn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.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,i.connect(a),a.connect(r.destination),i.start(0);let[l,f]=On(r),u=J(l.then(s=>Hn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Dn(){return C()&&!Le()&&!pn()}function Gn(){return C()&&Q()&&U()||$()&&bn()&&fn()}function On(e){let i=()=>{};return[new Promise((l,f)=>{let u=!1,s=0,c=0;e.oncomplete=p=>l(p.renderedBuffer);let h=()=>{setTimeout(()=>f(Je("timeout")),Math.min(500,c+5e3-Date.now()))},m=()=>{try{let p=e.startRendering();switch(lt(p)&&J(p),e.state){case"running":c=Date.now(),u&&h();break;case"suspended":document.hidden||s++,u&&s>=3?f(Je("suspended")):setTimeout(m,500);break}}catch(p){f(p)}};m(),i=()=>{u||(u=!0,c>0&&h())}}),i]}function Hn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function Je(e){let t=new Error(e);return t.name=e,t}function Zn(){if(!(me()||C()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function jn(){return $n(Kn())}function $n(e){let t=!1,n,o,[r,i]=Yn();return zn(r,i)?(t=Xn(i),e?n=o="skipped":[n,o]=Bn(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function Yn(){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 Xn(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function Bn(e,t){Jn(e,t);let n=we(e),o=we(e);return n!==o?["unstable","unstable"]:(Un(e,t),[we(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 Un(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 we(e){return e.toDataURL()}function Kn(){let e=C()&&Q()&&U(),t=K()&&ln();return e||t}function Qn(){return window.screen.colorDepth}function qn(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function eo(){if(H("no-preference"))return 0;if(H("high")||H("more"))return 1;if(H("low")||H("less"))return-1;if(H("forced"))return 10}function H(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function to(){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 no(){return navigator.cpuClass}function oo(){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 ro(){return F(I(navigator.deviceMemory),void 0)}function io(){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 so({debug:e}={}){if(!co())return;let t=io(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await ao(o);e&&uo(t,r);let i=n.filter(a=>{let l=t[a];return S(l.map(u=>r[u]))>l.length*.6});return i.sort(),i}function co(){return C()||me()}async function ao(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};Ue(o);for(let a=0;a<e.length;++a){let l=Cn(e[a]);l.tagName==="DIALOG"&&l.show();let f=n.createElement("div");Ue(f),f.appendChild(l),o.appendChild(f),r[a]=l}for(;!n.body;)await fe(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function Ue(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function uo(e,t){let n="DOM blockers debug:\n```";for(let o of Object.keys(e)){n+=`
|
|
1
|
+
(()=>{var N=["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 mt="5.3.0";function mn(e,t){for(let n=0,o=e.length;n<o;++n)if(e[n]===t)return!0;return!1}function pn(e,t){return!mn(e,t)}function Ee(e){return parseInt(e)}function E(e){return parseFloat(e)}function R(e,t){return typeof e=="number"&&isNaN(e)?t:e}function x(e){return e.reduce((t,n)=>t+(n?1:0),0)}function pt(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 hn(e){var t,n;let o=`Unexpected syntax '${e}'`,r=/^\s*([a-z-]*)(.*)$/i.exec(e),i=r[1]||void 0,a={},d=/([.:#][\w-]+|\[.+?\])/gi,f=(u,s)=>{a[u]=a[u]||[],a[u].push(s)};for(;;){let u=d.exec(r[2]);if(!u)break;let s=u[0];switch(s[0]){case".":f("class",s.slice(1));break;case"#":f("id",s.slice(1));break;case"[":{let c=/^\[([\w-]+)([~|^$*]?=("(.*?)"|([\w-]+)))?(\s+[is])?\]$/.exec(s);if(c)f(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[i,a]}function gn(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 yn(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 bn(e){return/^function\s.*?\{\s*\[native code]\s*}$/.test(String(e))}function ht(){let e=window,t=navigator;return x(["MSCSSMatrix"in e,"msSetImmediate"in e,"msIndexedDB"in e,"msMaxTouchPoints"in t,"msPointerEnabled"in t])>=4}function wn(){let e=window,t=navigator;return x(["msWriteProfilerMark"in e,"MSStream"in e,"msLaunchUri"in t,"msSaveBlob"in t])>=3&&!ht()}function X(){let e=window,t=navigator;return x(["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 x(["ApplePayError"in e,"CSSPrimitiveValue"in e,"Counter"in e,t.vendor.indexOf("Apple")===0,"RGBColor"in e,"WebKitMediaKeys"in e])>=4}function Fe(){let e=window,{HTMLElement:t,Document:n}=e;return x(["safari"in e,!("ongestureend"in e),!("TouchEvent"in e),!("orientation"in e),t&&!("autocapitalize"in t.prototype),n&&"pointerLockElement"in n.prototype])>=4}function ee(){let e=window;return bn(e.print)&&String(e.browser)==="[object WebPageNamespace]"}function te(){var e,t;let n=window;return x(["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 _n(){let e=window,t=navigator,{CSS:n}=e;return x(["userActivation"in t,n.supports("color","light-dark(#000, #fff)"),n.supports("height","1lh"),"globalPrivacyControl"in t])>=3}function gt(){let{CSS:e}=window;return x([e.supports("selector(::details-content)"),e.supports("selector(::before::marker)"),e.supports("selector(::after::marker)"),!("locale"in CompositionEvent.prototype)])>=3}function kn(){let e=window;return x([!("MediaSettingsRange"in e),"RTCEncodedAudioFrame"in e,`${e.Intl}`=="[object Intl]",`${e.Reflect}`=="[object Reflect]"])>=3}function Sn(){let e=window,{URLPattern:t}=e;return x(["union"in Set.prototype,"Iterator"in e,t&&"hasRegExpGroups"in t.prototype,"RGB8"in WebGLRenderingContext.prototype])>=3}function vn(){let e=window,t=document,{CSS:n,Promise:o,AudioContext:r}=e;return x([o&&"try"in o,"caretPositionFromPoint"in t,r&&"onerror"in r.prototype,n.supports("ruby-align","space-around")])>=3}function xn(){let e=window;return x(["DOMRectList"in e,"RTCPeerConnectionIceEvent"in e,"SVGGeometryElement"in e,"ontransitioncancel"in e])>=3}function ne(){let e=window,t=navigator,{CSS:n,HTMLButtonElement:o}=e;return x([!("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 x(["MediaSource"in window,!!Element.prototype.webkitRequestFullscreen,t>.65&&t<1.53])>=2}function An(){let e=document;return e.fullscreenElement||e.msFullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||null}function In(){let e=document;return(e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen).call(e)}function ge(){var e,t;let n=X(),o=te(),r=window,i=navigator;return n?x([Cn(),"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?x(["onorientationchange"in r,"orientation"in r,/android/i.test(i.appVersion)])>=2:!1}function Pn(){let e=navigator,t=window,n=Audio.prototype,{visualViewport:o}=t;return x(["srLatency"in n,"srChannelCount"in n,"devicePosture"in e,o&&"segments"in o,"getTextInformation"in Image.prototype])>=3}function Cn(){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 En="$ if upgrade to Pro: https://fingerprint.com/github/?utm_source=oss&utm_medium=referral&utm_campaign=confidence_score";function Fn(e){let t=Mn(e),n=Tn(t);return{score:t,comment:En.replace(/\$/g,`${n}`)}}function Mn(e){if(ge())return .4;if(F())return Fe()&&!(ne()&&ee())?.5:.3;let t="value"in e.platform?e.platform.value:"";return/^Win/.test(t)?.6:/^Mac/.test(t)?.5:.7}function Tn(e){return pt(.99+.01*e,1e-4)}function he(e,t){return new Promise(n=>setTimeout(n,e,t))}function Rn(){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})):he(Math.min(e,t))}function yt(e){return!!e&&typeof e.then=="function"}function et(e,t){try{let n=e();yt(n)?n.then(o=>t(!0,o),o=>t(!1,o)):t(!0,n)}catch(n){t(!1,n)}}async function tt(e,t,n=16){let o=Array(e.length),r=Date.now();for(let i=0;i<e.length;++i){o[i]=t(e[i],i);let a=Date.now();a>=r+n&&(r=a,await Rn())}return o}function Q(e){return e.then(void 0,()=>{}),e}function Wn(e){return typeof e!="function"}function Nn(e,t){let n=Q(new Promise(o=>{let r=Date.now();et(e.bind(null,t),(...i)=>{let a=Date.now()-r;if(!i[0])return o(()=>({error:i[1],duration:a}));let d=i[1];if(Wn(d))return o(()=>({value:d,duration:a}));o(()=>new Promise(f=>{let u=Date.now();et(d,(...s)=>{let c=a+Date.now()-u;if(!s[0])return f({error:s[1],duration:c});f({value:s[1],duration:c})})}))})}));return function(){return n.then(r=>r())}}function On(e,t,n,o){let r=Object.keys(e).filter(a=>pn(n,a)),i=Q(tt(r,a=>Nn(e[a],t),o));return async function(){let d=await i,f=await tt(d,c=>Q(c()),o),u=await Promise.all(f),s={};for(let c=0;c<r.length;++c)s[r[c]]=u[c];return s}}async function bt(e,t,n=50){var o,r,i;let a=document;for(;!a.body;)await he(n);let d=a.createElement("iframe");try{for(await new Promise((f,u)=>{let s=!1,c=()=>{s=!0,f()},y=b=>{s=!0,u(b)};d.onload=c,d.onerror=y;let{style:p}=d;p.setProperty("display","block","important"),p.position="absolute",p.top="0",p.left="0",p.visibility="hidden",t&&"srcdoc"in d?d.srcdoc=t:d.src="about:blank",a.body.appendChild(d);let h=()=>{var b,A;s||(((A=(b=d.contentWindow)===null||b===void 0?void 0:b.document)===null||A===void 0?void 0:A.readyState)==="complete"?c():setTimeout(h,10))};h()});!(!((r=(o=d.contentWindow)===null||o===void 0?void 0:o.document)===null||r===void 0)&&r.body);)await he(n);return await e(d,d.contentWindow)}finally{(i=d.parentNode)===null||i===void 0||i.removeChild(d)}}function Dn(e){let[t,n]=hn(e),o=document.createElement(t!=null?t:"div");for(let r of Object.keys(n)){let i=n[r].join(" ");r==="style"?Gn(o.style,i):o.setAttribute(r,i)}return o}function Gn(e,t){for(let n of t.split(";")){let o=/^\s*([\w-]+)\s*:\s*(.+?)(\s*!([\w-]+))?\s*$/.exec(n);if(o){let[,r,i,,a]=o;e.setProperty(r,i,a||"")}}}function $n(){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 Hn(){let{ApplePaySession:e}=window;if(typeof(e==null?void 0:e.canMakePayments)!="function")return-1;if(Zn())return-3;try{return e.canMakePayments()?1:0}catch(t){return jn(t)}}var Zn=$n;function jn(e){if(e instanceof Error&&e.name==="InvalidAccessError"&&/\bfrom\b.*\binsecure\b/i.test(e.message))return-2;throw e}function Yn(){let e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}function zn(){return Jn()?-4:Xn()}function Xn(){let e=window,t=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!t)return-2;if(Bn())return-1;let n=4500,o=5e3,r=new t(1,o,44100),i=r.createOscillator();i.type="triangle",i.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,i.connect(a),a.connect(r.destination),i.start(0);let[d,f]=Un(r),u=Q(d.then(s=>qn(s.getChannelData(0).subarray(n)),s=>{if(s.name==="timeout"||s.name==="suspended")return-3;throw s}));return()=>(f(),u)}function Bn(){return F()&&!Fe()&&!xn()}function Jn(){return F()&&ne()&&ee()||X()&&Pn()&&Sn()}function Un(e){let i=()=>{};return[new Promise((d,f)=>{let u=!1,s=0,c=0;e.oncomplete=h=>d(h.renderedBuffer);let y=()=>{setTimeout(()=>f(nt("timeout")),Math.min(500,c+5e3-Date.now()))},p=()=>{try{let h=e.startRendering();switch(yt(h)&&Q(h),e.state){case"running":c=Date.now(),u&&y();break;case"suspended":document.hidden||s++,u&&s>=3?f(nt("suspended")):setTimeout(p,500);break}}catch(h){f(h)}};p(),i=()=>{u||(u=!0,c>0&&y())}}),i]}function qn(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function nt(e){let t=new Error(e);return t.name=e,t}function Kn(){if(!(ge()||F()))return-2;if(!window.AudioContext)return-1;let t=new AudioContext().baseLatency;return t==null?-1:isFinite(t)?t:-3}function Qn(){return eo(co())}function eo(e){let t=!1,n,o,[r,i]=to();return no(r,i)?(t=oo(i),e?n=o="skipped":[n,o]=ro(r,i)):n=o="unsupported",{winding:t,geometry:n,text:o}}function to(){let e=document.createElement("canvas");return e.width=1,e.height=1,[e,e.getContext("2d")]}function no(e,t){return!!(t&&e.toDataURL)}function oo(e){return e.rect(0,0,10,10),e.rect(2,2,6,6),!e.isPointInPath(5,5,"evenodd")}function ro(e,t){io(e,t);let n=Le(e),o=Le(e);return n!==o?["unstable","unstable"]:(so(e,t),[Le(e),n])}function io(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 so(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 Le(e){return e.toDataURL()}function co(){let e=F()&&ne()&&ee(),t=te()&&_n();return e||t}function ao(){return window.screen.colorDepth}function uo(){for(let e of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${e})`).matches)return e}function lo(){if(j("no-preference"))return 0;if(j("high")||j("more"))return 1;if(j("low")||j("less"))return-1;if(j("forced"))return 10}function j(e){return matchMedia(`(prefers-contrast: ${e})`).matches}function fo(){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 mo(){return navigator.cpuClass}function po(){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 ho(){return R(E(navigator.deviceMemory),void 0)}function go(){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 yo({debug:e}={}){if(!bo())return;let t=go(),n=Object.keys(t),o=[].concat(...n.map(a=>t[a])),r=await wo(o);e&&_o(t,r);let i=n.filter(a=>{let d=t[a];return x(d.map(u=>r[u]))>d.length*.6});return i.sort(),i}function bo(){return F()||ge()}async function wo(e){var t;let n=document,o=n.createElement("div"),r=new Array(e.length),i={};ot(o);for(let a=0;a<e.length;++a){let d=Dn(e[a]);d.tagName==="DIALOG"&&d.show();let f=n.createElement("div");ot(f),f.appendChild(d),o.appendChild(f),r[a]=d}for(;!n.body;)await he(50);n.body.appendChild(o);try{for(let a=0;a<e.length;++a)r[a].offsetParent||(i[e[a]]=!0)}finally{(t=o.parentNode)===null||t===void 0||t.removeChild(o)}return i}function ot(e){e.style.setProperty("visibility","hidden","important"),e.style.setProperty("display","block","important")}function _o(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 lo="mmMwWLliI0fiflO&1",_e={default:[],apple:[{font:"-apple-system-body"}],serif:[{fontFamily:"serif"}],sans:[{fontFamily:"sans-serif"}],mono:[{fontFamily:"monospace"}],min:[{fontSize:"1px"}],system:[{fontFamily:"system-ui"}]};function fo(){return po((e,t,n)=>{let o={},r={};for(let a of Object.keys(_e)){let[l={},f=lo]=_e[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(l)){let c=l[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=$()&&mn();for(let a of Object.keys(_e)){let l=o[a].getBoundingClientRect().width;r[a]=i?mo(l*n.devicePixelRatio):l}return r})}function mo(e){let t=me()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function po(e,t=4e3){return dt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",$()?i.style.zoom=`${1/o.devicePixelRatio}`:C()&&(i.style.zoom="reset");let l=r.createElement("div");return l.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(l),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var ho="mmMwWLliI0O&1",go="48px",Z=["monospace","sans-serif","serif"],Ke=["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 yo(){return dt((e,{document:t})=>{let n=t.body;n.style.fontSize=go;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=m=>{let p=t.createElement("span"),{style:y}=p;return y.position="absolute",y.top="0",y.left="0",y.fontFamily=m,p.textContent=ho,o.appendChild(p),p},l=(m,p)=>a(`'${m}',${p}`),f=()=>Z.map(a),u=()=>{let m={};for(let p of Ke)m[p]=Z.map(y=>l(p,y));return m},s=m=>Z.some((p,y)=>m[y].offsetWidth!==r[p]||m[y].offsetHeight!==i[p]),c=f(),h=u();n.appendChild(o);for(let m=0;m<Z.length;m++)r[Z[m]]=c[m].offsetWidth,i[Z[m]]=c[m].offsetHeight;return Ke.filter(m=>s(h[m]))})}function bo(){if(Qe("active"))return!0;if(Qe("none"))return!1}function Qe(e){return matchMedia(`(forced-colors: ${e})`).matches}function wo(){let e=_o();return e!==void 0&&K()&&ut()?e>=8?8:4:e}function _o(){return F(xe(navigator.hardwareConcurrency),void 0)}function ko(){if(qe("high"))return!0;if(qe("standard"))return!1}function qe(e){return matchMedia(`(dynamic-range: ${e})`).matches}function vo(){if(!(at()||un()))try{return!!window.indexedDB}catch{return!0}}function So(){if(et("inverted"))return!0;if(et("none"))return!1}function et(e){return matchMedia(`(inverted-colors: ${e})`).matches}function xo(){let e=navigator,t=[],n=e.language||e.userLanguage||e.browserLanguage||e.systemLanguage;if(n!==void 0&&t.push([n]),Array.isArray(e.languages))$()&&dn()||t.push(e.languages);else if(typeof e.languages=="string"){let o=e.languages;o&&t.push(o.split(","))}return t}function Lo(){try{return!!window.localStorage}catch{return!0}}var w=Math,x=()=>0;function Ao(){let e=w.acos||x,t=w.acosh||x,n=w.asin||x,o=w.asinh||x,r=w.atanh||x,i=w.atan||x,a=w.sin||x,l=w.sinh||x,f=w.cos||x,u=w.cosh||x,s=w.tan||x,c=w.tanh||x,h=w.exp||x,m=w.expm1||x,p=w.log1p||x,y=b=>w.pow(w.PI,b),L=b=>w.log(b+w.sqrt(b*b-1)),G=b=>w.log(b+w.sqrt(b*b+1)),ne=b=>w.log((1+b)/(1-b))/2,O=b=>w.exp(b)-1/w.exp(b)/2,W=b=>(w.exp(b)+1/w.exp(b))/2,oe=b=>w.exp(b)-1,z=b=>(w.exp(2*b)-1)/(w.exp(2*b)+1),X=b=>w.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:ne(.5),atan:i(.5),sin:a(-1e300),sinh:l(1),sinhPf:O(1),cos:f(10.000000000123),cosh:u(1),coshPf:W(1),tan:s(-1e300),tanh:c(1),tanhPf:z(1),exp:h(1),expm1:m(1),expm1Pf:oe(1),log1p:p(10),log1pPf:X(10),powPI:y(-100)}}var Po=100;function Io(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=Po;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Co(){return!!window.openDatabase}function Eo(){return navigator.oscpu}function Fo(){return navigator.pdfViewerEnabled}function Ro(){let{platform:e}=navigator;return e==="MacIntel"&&C()&&!Le()?hn()?"iPad":"iPhone":e}function Mo(){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 i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function To(){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 Vo(){if(tt("reduce"))return!0;if(tt("no-preference"))return!1}function tt(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function Wo(){if(nt("reduce"))return!0;if(nt("no-preference"))return!1}function nt(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var No=2500,Do=10,de,ke;function Go(){if(ke!==void 0)return;let e=()=>{let t=ve();Se(t)?ke=setTimeout(e,No):(de=t,ke=void 0)};e()}function Oo(){return Go(),async()=>{let e=ve();if(Se(e)){if(de)return[...de];gn()&&(await yn(),e=ve())}return Se(e)||(de=e),e}}function Ho(){let e=C()&&Q()&&U(),t=K()&&ut();if(e||t)return()=>Promise.resolve(void 0);let n=Oo();return async()=>{let o=await n(),r=i=>i===null?null:ct(i,Do);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function ve(){let e=screen;return[F(I(e.availTop),null),F(I(e.width)-I(e.availWidth)-F(I(e.availLeft),0),null),F(I(e.height)-I(e.availHeight)-F(I(e.availTop),0),null),F(I(e.availLeft),null)]}function Se(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Zo(){if(!(C()&&Q()&&U()))return jo()}function jo(){let e=screen,t=o=>F(xe(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function $o(){try{return!!window.sessionStorage}catch{return!0}}function Yo(){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 Xo(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=xe(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 Bo(e){return/not/i.test(e)}async function Jo(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!Bo(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 Uo(){return navigator.vendor||""}function Ko(){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 ft=-1,mt=-2,Qo=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]),qo=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),er=["FRAGMENT_SHADER","VERTEX_SHADER"],tr=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],pt="WEBGL_debug_renderer_info",nr="WEBGL_polygon_mode";function or({cache:e}){var t,n,o,r,i,a;let l=ht(e);if(!l)return ft;if(!yt(l))return mt;let f=gt()?null:l.getExtension(pt);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:f?(o=l.getParameter(f.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:f?(i=l.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=l.getParameter(l.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function rr({cache:e}){let t=ht(e);if(!t)return ft;if(!yt(t))return mt;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],l=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=ot(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${Qo.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===pt&>()||s===nr&&cr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let h of ot(c)){let m=c[h];l.push(`${h}=${m}${qo.has(m)?`=${t.getParameter(m)}`:""}`)}}for(let s of er)for(let c of tr){let h=ir(t,s,c);f.push(`${s}.${c}=${h.join(",")}`)}return l.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:l,unsupportedExtensions:r}}function ht(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 ir(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function ot(e){return Object.keys(e.__proto__).filter(sr)}function sr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function gt(){return K()}function cr(){return $()||C()}function yt(e){return typeof e.getParameter=="function"}var ar={userAgentData:Jo,fonts:yo,domBlockers:so,fontPreferences:fo,audio:Wn,screenFrame:Ho,canvas:jn,osCpu:Eo,languages:xo,colorDepth:Qn,deviceMemory:ro,screenResolution:Zo,hardwareConcurrency:wo,timezone:Yo,sessionStorage:$o,localStorage:Lo,indexedDB:vo,openDatabase:Co,cpuClass:no,platform:Ro,plugins:Mo,touchSupport:Xo,vendor:Uo,vendorFlavors:Ko,cookiesEnabled:to,colorGamut:qn,invertedColors:So,forcedColors:bo,monochrome:Io,contrast:eo,reducedMotion:Vo,reducedTransparency:Wo,hdr:ko,math:Ao,pdfViewerEnabled:Fo,architecture:Vn,applePay:Rn,privateClickMeasurement:To,audioBaseLatency:Zn,dateTimeLocale:oo,webGlBasics:or,webGlExtensions:rr};function ur(e){return In(ar,e,[])}function V(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i+u,h+=m>>>16,m&=65535,h+=r+f,c+=h>>>16,h&=65535,c+=o+l,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function P(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,l=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,h=0,m=0;m+=i*u,h+=m>>>16,m&=65535,h+=r*u,c+=h>>>16,h&=65535,h+=i*f,c+=h>>>16,h&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*l,s+=c>>>16,c&=65535,s+=n*u+o*f+r*l+i*a,s&=65535,e[0]=s<<16|c,e[1]=h<<16|m}function j(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 k(e,t){e[0]^=t[0],e[1]^=t[1]}var lr=[4283543511,3981806797],dr=[3301882366,444984403];function rt(e){let t=[0,e[0]>>>1];k(e,t),P(e,lr),t[1]=e[0]>>>1,k(e,t),P(e,dr),t[1]=e[0]>>>1,k(e,t)}var ue=[2277735313,289559509],le=[1291169091,658871167],it=[0,5],fr=[0,1390208809],mr=[0,944331445];function pr(e,t){let n=sn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],l=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[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(f,ue),j(f,31),P(f,le),k(a,f),j(a,27),V(a,l),P(a,it),V(a,fr),P(u,le),j(u,33),P(u,ue),k(l,u),j(l,31),V(l,a),P(l,it),V(l,mr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],A(c,48),k(u,c);case 14:c[1]=n[s+13],A(c,40),k(u,c);case 13:c[1]=n[s+12],A(c,32),k(u,c);case 12:c[1]=n[s+11],A(c,24),k(u,c);case 11:c[1]=n[s+10],A(c,16),k(u,c);case 10:c[1]=n[s+9],A(c,8),k(u,c);case 9:c[1]=n[s+8],k(u,c),P(u,le),j(u,33),P(u,ue),k(l,u);case 8:c[1]=n[s+7],A(c,56),k(f,c);case 7:c[1]=n[s+6],A(c,48),k(f,c);case 6:c[1]=n[s+5],A(c,40),k(f,c);case 5:c[1]=n[s+4],A(c,32),k(f,c);case 4:c[1]=n[s+3],A(c,24),k(f,c);case 3:c[1]=n[s+2],A(c,16),k(f,c);case 2:c[1]=n[s+1],A(c,8),k(f,c);case 1:c[1]=n[s],k(f,c),P(f,ue),j(f,31),P(f,le),k(a,f)}return k(a,o),k(l,o),V(a,l),V(l,a),rt(a),rt(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 hr(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 bt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?cn(n):n,2)}function wt(e){return pr(hr(e))}function gr(e){let t,n=kn(e);return{get visitorId(){return t===void 0&&(t=wt(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:st}}function yr(e=50){return Ln(e,e*2)}function br(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=gr(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
5
|
+
\`\`\``)}var ko="mmMwWLliI0fiflO&1",Ae={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 xo((e,t,n)=>{let o={},r={};for(let a of Object.keys(Ae)){let[d={},f=ko]=Ae[a],u=e.createElement("span");u.textContent=f,u.style.whiteSpace="nowrap";for(let s of Object.keys(d)){let c=d[s];c!==void 0&&(u.style[s]=c)}o[a]=u,t.append(e.createElement("br"),u)}let i=X()&&vn();for(let a of Object.keys(Ae)){let d=o[a].getBoundingClientRect().width;r[a]=i?vo(d*n.devicePixelRatio):d}return r})}function vo(e){let t=ge()?0:3,n=Math.pow(10,t);return Math.floor(e*n)/n}function xo(e,t=4e3){return bt((n,o)=>{let r=o.document,i=r.body,a=i.style;a.width=`${t}px`,a.webkitTextSizeAdjust=a.textSizeAdjust="none",X()?i.style.zoom=`${1/o.devicePixelRatio}`:F()&&(i.style.zoom="reset");let d=r.createElement("div");return d.textContent=[...Array(t/20<<0)].map(()=>"word").join(" "),i.appendChild(d),e(r,i,o)},'<!doctype html><html><head><meta name="viewport" content="width=device-width, initial-scale=1">')}var Lo="mmMwWLliI0O&1",Ao="48px",Y=["monospace","sans-serif","serif"],rt=["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 Io(){return bt((e,{document:t})=>{let n=t.body;n.style.fontSize=Ao;let o=t.createElement("div");o.style.setProperty("visibility","hidden","important");let r={},i={},a=p=>{let h=t.createElement("span"),{style:b}=h;return b.position="absolute",b.top="0",b.left="0",b.fontFamily=p,h.textContent=Lo,o.appendChild(h),h},d=(p,h)=>a(`'${p}',${h}`),f=()=>Y.map(a),u=()=>{let p={};for(let h of rt)p[h]=Y.map(b=>d(h,b));return p},s=p=>Y.some((h,b)=>p[b].offsetWidth!==r[h]||p[b].offsetHeight!==i[h]),c=f(),y=u();n.appendChild(o);for(let p=0;p<Y.length;p++)r[Y[p]]=c[p].offsetWidth,i[Y[p]]=c[p].offsetHeight;return rt.filter(p=>s(y[p]))})}function Po(){if(it("active"))return!0;if(it("none"))return!1}function it(e){return matchMedia(`(forced-colors: ${e})`).matches}function Co(){let e=Eo();return e!==void 0&&te()&>()?e>=8?8:4:e}function Eo(){return R(Ee(navigator.hardwareConcurrency),void 0)}function Fo(){if(st("high"))return!0;if(st("standard"))return!1}function st(e){return matchMedia(`(dynamic-range: ${e})`).matches}function Mo(){if(!(ht()||wn()))try{return!!window.indexedDB}catch{return!0}}function To(){if(ct("inverted"))return!0;if(ct("none"))return!1}function ct(e){return matchMedia(`(inverted-colors: ${e})`).matches}function Ro(){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()&&kn()||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 k=Math,L=()=>0;function Wo(){let e=k.acos||L,t=k.acosh||L,n=k.asin||L,o=k.asinh||L,r=k.atanh||L,i=k.atan||L,a=k.sin||L,d=k.sinh||L,f=k.cos||L,u=k.cosh||L,s=k.tan||L,c=k.tanh||L,y=k.exp||L,p=k.expm1||L,h=k.log1p||L,b=w=>k.pow(k.PI,w),A=w=>k.log(w+k.sqrt(w*w-1)),H=w=>k.log(w+k.sqrt(w*w+1)),se=w=>k.log((1+w)/(1-w))/2,Z=w=>k.exp(w)-1/k.exp(w)/2,D=w=>(k.exp(w)+1/k.exp(w))/2,ce=w=>k.exp(w)-1,M=w=>(k.exp(2*w)-1)/(k.exp(2*w)+1),U=w=>k.log(1+w);return{acos:e(.12312423423423424),acosh:t(1e308),acoshPf:A(1e154),asin:n(.12312423423423424),asinh:o(1),asinhPf:H(1),atanh:r(.5),atanhPf:se(.5),atan:i(.5),sin:a(-1e300),sinh:d(1),sinhPf:Z(1),cos:f(10.000000000123),cosh:u(1),coshPf:D(1),tan:s(-1e300),tanh:c(1),tanhPf:M(1),exp:y(1),expm1:p(1),expm1Pf:ce(1),log1p:h(10),log1pPf:U(10),powPI:b(-100)}}var No=100;function Oo(){if(matchMedia("(min-monochrome: 0)").matches){for(let e=0;e<=No;++e)if(matchMedia(`(max-monochrome: ${e})`).matches)return e;throw new Error("Too high value")}}function Do(){return!!window.openDatabase}function Go(){return navigator.oscpu}function $o(){return navigator.pdfViewerEnabled}function Ho(){let{platform:e}=navigator;return e==="MacIntel"&&F()&&!Fe()?Ln()?"iPad":"iPhone":e}function Zo(){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 i=0;i<o.length;++i){let a=o[i];r.push({type:a.type,suffixes:a.suffixes})}t.push({name:o.name,description:o.description,mimeTypes:r})}return t}function jo(){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 Yo(){if(at("reduce"))return!0;if(at("no-preference"))return!1}function at(e){return matchMedia(`(prefers-reduced-motion: ${e})`).matches}function zo(){if(ut("reduce"))return!0;if(ut("no-preference"))return!1}function ut(e){return matchMedia(`(prefers-reduced-transparency: ${e})`).matches}var Xo=2500,Bo=10,pe,Ie;function Jo(){if(Ie!==void 0)return;let e=()=>{let t=Pe();Ce(t)?Ie=setTimeout(e,Xo):(pe=t,Ie=void 0)};e()}function Uo(){return Jo(),async()=>{let e=Pe();if(Ce(e)){if(pe)return[...pe];An()&&(await In(),e=Pe())}return Ce(e)||(pe=e),e}}function qo(){let e=F()&&ne()&&ee(),t=te()&>();if(e||t)return()=>Promise.resolve(void 0);let n=Uo();return async()=>{let o=await n(),r=i=>i===null?null:pt(i,Bo);return[r(o[0]),r(o[1]),r(o[2]),r(o[3])]}}function Pe(){let e=screen;return[R(E(e.availTop),null),R(E(e.width)-E(e.availWidth)-R(E(e.availLeft),0),null),R(E(e.height)-E(e.availHeight)-R(E(e.availTop),0),null),R(E(e.availLeft),null)]}function Ce(e){for(let t=0;t<4;++t)if(e[t])return!1;return!0}function Ko(){if(!(F()&&ne()&&ee()))return Qo()}function Qo(){let e=screen,t=o=>R(Ee(o),null),n=[t(e.width),t(e.height)];return n.sort().reverse(),n}function er(){try{return!!window.sessionStorage}catch{return!0}}function tr(){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=-nr();return`UTC${n>=0?"+":""}${n}`}function nr(){let e=new Date().getFullYear();return Math.max(E(new Date(e,0,1).getTimezoneOffset()),E(new Date(e,6,1).getTimezoneOffset()))}function or(){let e=navigator,t=0,n;e.maxTouchPoints!==void 0?t=Ee(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 rr(e){return/not/i.test(e)}async function ir(){let e=navigator.userAgentData;if(!e)return;let t=e.brands.filter(({brand:r})=>!rr(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 sr(){return navigator.vendor||""}function cr(){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 wt=-1,_t=-2,ar=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]),ur=new Set([34047,35723,36063,34852,34853,34854,34229,36392,36795,38449]),lr=["FRAGMENT_SHADER","VERTEX_SHADER"],dr=["LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT"],kt="WEBGL_debug_renderer_info",fr="WEBGL_polygon_mode";function mr({cache:e}){var t,n,o,r,i,a;let d=St(e);if(!d)return wt;if(!xt(d))return _t;let f=vt()?null:d.getExtension(kt);return{version:((t=d.getParameter(d.VERSION))===null||t===void 0?void 0:t.toString())||"",vendor:((n=d.getParameter(d.VENDOR))===null||n===void 0?void 0:n.toString())||"",vendorUnmasked:f?(o=d.getParameter(f.UNMASKED_VENDOR_WEBGL))===null||o===void 0?void 0:o.toString():"",renderer:((r=d.getParameter(d.RENDERER))===null||r===void 0?void 0:r.toString())||"",rendererUnmasked:f?(i=d.getParameter(f.UNMASKED_RENDERER_WEBGL))===null||i===void 0?void 0:i.toString():"",shadingLanguageVersion:((a=d.getParameter(d.SHADING_LANGUAGE_VERSION))===null||a===void 0?void 0:a.toString())||""}}function pr({cache:e}){let t=St(e);if(!t)return wt;if(!xt(t))return _t;let n=t.getSupportedExtensions(),o=t.getContextAttributes(),r=[],i=[],a=[],d=[],f=[];if(o)for(let s of Object.keys(o))i.push(`${s}=${o[s]}`);let u=lt(t);for(let s of u){let c=t[s];a.push(`${s}=${c}${ar.has(c)?`=${t.getParameter(c)}`:""}`)}if(n)for(let s of n){if(s===kt&&vt()||s===fr&&yr())continue;let c=t.getExtension(s);if(!c){r.push(s);continue}for(let y of lt(c)){let p=c[y];d.push(`${y}=${p}${ur.has(p)?`=${t.getParameter(p)}`:""}`)}}for(let s of lr)for(let c of dr){let y=hr(t,s,c);f.push(`${s}.${c}=${y.join(",")}`)}return d.sort(),a.sort(),{contextAttributes:i,parameters:a,shaderPrecisions:f,extensions:n,extensionParameters:d,unsupportedExtensions:r}}function St(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 hr(e,t,n){let o=e.getShaderPrecisionFormat(e[t],e[n]);return o?[o.rangeMin,o.rangeMax,o.precision]:[]}function lt(e){return Object.keys(e.__proto__).filter(gr)}function gr(e){return typeof e=="string"&&!e.match(/[^A-Z0-9_x]/)}function vt(){return te()}function yr(){return X()||F()}function xt(e){return typeof e.getParameter=="function"}var br={userAgentData:ir,fonts:Io,domBlockers:yo,fontPreferences:So,audio:zn,screenFrame:qo,canvas:Qn,osCpu:Go,languages:Ro,colorDepth:ao,deviceMemory:ho,screenResolution:Ko,hardwareConcurrency:Co,timezone:tr,sessionStorage:er,localStorage:Vo,indexedDB:Mo,openDatabase:Do,cpuClass:mo,platform:Ho,plugins:Zo,touchSupport:or,vendor:sr,vendorFlavors:cr,cookiesEnabled:fo,colorGamut:uo,invertedColors:To,forcedColors:Po,monochrome:Oo,contrast:lo,reducedMotion:Yo,reducedTransparency:zo,hdr:Fo,math:Wo,pdfViewerEnabled:$o,architecture:Yn,applePay:Hn,privateClickMeasurement:jo,audioBaseLatency:Kn,dateTimeLocale:po,webGlBasics:mr,webGlExtensions:pr};function wr(e){return On(br,e,[])}function O(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i+u,y+=p>>>16,p&=65535,y+=r+f,c+=y>>>16,y&=65535,c+=o+d,s+=c>>>16,c&=65535,s+=n+a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function C(e,t){let n=e[0]>>>16,o=e[0]&65535,r=e[1]>>>16,i=e[1]&65535,a=t[0]>>>16,d=t[0]&65535,f=t[1]>>>16,u=t[1]&65535,s=0,c=0,y=0,p=0;p+=i*u,y+=p>>>16,p&=65535,y+=r*u,c+=y>>>16,y&=65535,y+=i*f,c+=y>>>16,y&=65535,c+=o*u,s+=c>>>16,c&=65535,c+=r*f,s+=c>>>16,c&=65535,c+=i*d,s+=c>>>16,c&=65535,s+=n*u+o*f+r*d+i*a,s&=65535,e[0]=s<<16|c,e[1]=y<<16|p}function z(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 P(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 S(e,t){e[0]^=t[0],e[1]^=t[1]}var _r=[4283543511,3981806797],kr=[3301882366,444984403];function dt(e){let t=[0,e[0]>>>1];S(e,t),C(e,_r),t[1]=e[0]>>>1,S(e,t),C(e,kr),t[1]=e[0]>>>1,S(e,t)}var fe=[2277735313,289559509],me=[1291169091,658871167],ft=[0,5],Sr=[0,1390208809],vr=[0,944331445];function xr(e,t){let n=gn(e);t=t||0;let o=[0,n.length],r=o[1]%16,i=o[1]-r,a=[0,t],d=[0,t],f=[0,0],u=[0,0],s;for(s=0;s<i;s=s+16)f[0]=n[s+4]|n[s+5]<<8|n[s+6]<<16|n[s+7]<<24,f[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,C(f,fe),z(f,31),C(f,me),S(a,f),z(a,27),O(a,d),C(a,ft),O(a,Sr),C(u,me),z(u,33),C(u,fe),S(d,u),z(d,31),O(d,a),C(d,ft),O(d,vr);f[0]=0,f[1]=0,u[0]=0,u[1]=0;let c=[0,0];switch(r){case 15:c[1]=n[s+14],P(c,48),S(u,c);case 14:c[1]=n[s+13],P(c,40),S(u,c);case 13:c[1]=n[s+12],P(c,32),S(u,c);case 12:c[1]=n[s+11],P(c,24),S(u,c);case 11:c[1]=n[s+10],P(c,16),S(u,c);case 10:c[1]=n[s+9],P(c,8),S(u,c);case 9:c[1]=n[s+8],S(u,c),C(u,me),z(u,33),C(u,fe),S(d,u);case 8:c[1]=n[s+7],P(c,56),S(f,c);case 7:c[1]=n[s+6],P(c,48),S(f,c);case 6:c[1]=n[s+5],P(c,40),S(f,c);case 5:c[1]=n[s+4],P(c,32),S(f,c);case 4:c[1]=n[s+3],P(c,24),S(f,c);case 3:c[1]=n[s+2],P(c,16),S(f,c);case 2:c[1]=n[s+1],P(c,8),S(f,c);case 1:c[1]=n[s],S(f,c),C(f,fe),z(f,31),C(f,me),S(a,f)}return S(a,o),S(d,o),O(a,d),O(d,a),dt(a),dt(d),O(a,d),O(d,a),`00000000${(a[0]>>>0).toString(16)}`.slice(-8)+`00000000${(a[1]>>>0).toString(16)}`.slice(-8)+`00000000${(d[0]>>>0).toString(16)}`.slice(-8)+`00000000${(d[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 Lt(e){return JSON.stringify(e,(t,n)=>n instanceof Error?yn(n):n,2)}function At(e){return xr(Lr(e))}function Ar(e){let t,n=Fn(e);return{get visitorId(){return t===void 0&&(t=At(this.components)),t},set visitorId(o){t=o},confidence:n,components:e,version:mt}}function Ir(e=50){return Vn(e,e*2)}function Pr(e,t){let n=Date.now();return{async get(o){let r=Date.now(),i=await e(),a=Ar(i);return(t||o!=null&&o.debug)&&console.log(`Copy the text below to get the debug data:
|
|
6
6
|
|
|
7
7
|
\`\`\`
|
|
8
8
|
version: ${a.version}
|
|
9
9
|
userAgent: ${navigator.userAgent}
|
|
10
10
|
timeBetweenLoadAndGet: ${r-n}
|
|
11
11
|
visitorId: ${a.visitorId}
|
|
12
|
-
components: ${
|
|
13
|
-
\`\`\``),a}}}function wr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${st}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function _r(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&wr(),await yr(t);let r=ur({cache:{},debug:n});return br(r,n)}var _t={load:_r,hashComponents:wt,componentsToDebugString:bt};var kr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],vr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Ae=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Pe=["lp","narrative"],Sr=[...kr,...vr,...Ae,...Pe],xr=new Set(Sr);function Ie(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();xr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Lr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Ar=["email"],Pr=["phone","phonenumber","phone_number","tel","telefone"];function q(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Lr.test(t)&&t.length<=254?t:null}function ee(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 i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}function kt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Ar.includes(i)&&(t.email=q(r)||void 0),!t.phone&&Pr.includes(i)&&(t.phone=ee(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var Ee=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Ir=/\/widget\/(form|survey|booking)\//,At=["buy.stripe.com","checkout.stripe.com"],Pt=e=>new Set([...At,...e||[]].map(t=>String(t).toLowerCase())),R=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Cr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",pe="data-f10x-field";function vt(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Cr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(pe))&&(a.value=i);else if(o){let l=document.createElement("input");l.type="hidden",l.name=r,l.value=i,l.setAttribute(pe,""),e.appendChild(l)}}}var St=new WeakMap;function Er(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=St.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,St.set(t,n),t.setAttribute(pe,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ce(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[i,a]of Object.entries(t))Ee.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return At.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 xt=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Fe({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Pt(t),a=new WeakSet,l=!1,f=0,u=m=>{for(let p of document.querySelectorAll("a[href]")){if(!i.has(xt(p.getAttribute("href"))))continue;let y=Ce(p.getAttribute("href"),m,location.href);y&&p.setAttribute("href",y)}},s=m=>{for(let p of document.querySelectorAll("iframe[src]")){let y=p.getAttribute("src");if(!Ir.test(y))continue;let L=Ce(y,m,location.href);L&&p.setAttribute("src",L)}},c=(m={})=>{m.iframes&&(l=!0);let p=e();for(let y of document.forms)vt(y,p,n);Er(p),u(p),l&&s(p)},h=()=>{f||(f=setTimeout(R(()=>{f=0,c()},o),50))};return new MutationObserver(h).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",R(m=>vt(m.target,e(),n),o),!0),document.addEventListener("click",R(m=>{let p=m.target instanceof Element?m.target.closest("a[href]"):null,y=p?xt(p.getAttribute("href")):"";if(!p||!i.has(y))return;let L=Ce(p.getAttribute("href"),e(),location.href);L&&p.setAttribute("href",L),r&&!a.has(p)&&r(y)&&a.add(p)},o),!0),R(c,o)(),{refresh:c}}var D="_f10x",Fr=120*1e3,Rr=200;function It({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Ct(e,t){let n;try{n=new URL(e).searchParams.get(D)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),l=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||l!=="i"&&l!=="a"||f.length>Rr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Fr?{distinctID:f,sessionID:u||null,identified:l==="i"}:null}var Mr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Et(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 i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");Mr.test(i)?n.push(i):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=Pt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},l=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=R(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&l(s.getAttribute("href")),h=c&&n();h&&(c.searchParams.set(D,h),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",R(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has(D)&&(c.searchParams.delete(D),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",R(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,h=l((c||s).getAttribute(c?"formaction":"action")||""),m=h&&n();if(!m)return;let p=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(p==="get"){let y=s.querySelector(`input[name="${D}"]`);y||(y=document.createElement("input"),y.type="hidden",y.name=D,y.setAttribute(pe,""),s.appendChild(y)),y.value=m}else p==="post"&&(h.searchParams.set(D,m),(c||s).setAttribute(c?"formaction":"action",h.href))},o),!0)}var Tr=/e-?mail/i,Vr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Rt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),Mt=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Tt=e=>e.type==="email"||Tr.test(Mt(e)),Vt=e=>e.type==="tel"||e.type!=="email"&&Vr.test(Mt(e));function Wr(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"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Nr(e){if(!(e instanceof HTMLInputElement)||Rt.has(e.type))return{};if(Tt(e)){let t=q(e.value);return t?{email:t}:{}}if(Vt(e)){let t=ee(e.value,Wr(e));return t?{phone:t}:{}}return{}}function Lt(e){let t={};for(let n of e){let o=Nr(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Dr(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=>!Rt.has(r.type)&&(Tt(r)||Vt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Gr=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity());function Wt(e,t){document.addEventListener("submit",R(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Lt(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=Dr(o);if(!r||Gr(r))return;let i=Lt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form")},t),!0)}var We="2.4.0",Re="f10x_consent",Or=typeof T=="object"?T:[],Hr="1",Zr=/^\d+\.\d+\.\d+$/,Ne="f10x_contact_id",jr="contact_id",$r=/^[A-Za-z0-9_-]{6,128}$/,Nt=1e3,Dt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",Yr="[@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.",zr=["snippet","page"],Xr=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Gt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},Br=["purchase","registration_completed","appointment_scheduled"];function Jr(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Gt,e)?Gt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":Br.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let l=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof l=="number"&&Number.isFinite(l)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var De=e=>e&&e.message||String(e),Ur=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${De(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,Kr=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function Qr(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 qr(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(he("local",e)))||t(n(he("session",e)))}var ei={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ge=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},he=(e,t)=>{var n,o;try{return(o=(n=Ge(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},Me=(e,t,n)=>{var o;try{(o=Ge(e))==null||o.setItem(t,n)}catch{}};function Ot(e){let t={};try{let n=new URL(e).searchParams;for(let o of Ee){let r=n.get(o);r&&$r.test(r)&&(t[o]=r)}}catch{}return t}var Te=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Ht(){for(let n of["local","session"]){let o=Ge(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===Ne)&&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 ti(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Zt=e=>e==null||e==="posthog";function ni(e){let t=[],n=o=>{for(let r of Or)o[r]=(...i)=>{o.push([r,...i])}};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,i)=>{Zt(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function oi(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=Hr;return t&&(Zr.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 jt(e={}){if(window.__f10xTracking)return te(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ve("preview"),te(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let d=Te({...Ie(o),...Ot(o)}),g=!1,_=v=>{g||console.warn(`[@funnel10x/tracking] the dom extra failed (${De(v)}): the form in this frame may miss the fields from its URL.`),g=!0};try{Fe({values:()=>d,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:_})}catch(v){_(v)}return t=Ve("frame",()=>d),te(t)}if(ti())return console.warn(Dt),t=Ve("conflict"),te(t);let i=Ie(o),a=Ot(o)[jr]||null,l=[],f="idle",u=null,s=!1,c=null,h=null,m=null,p=!1,y=null,L=!1,G=!1,ne=oi(e.apiHost,e.sdkVersion),O=[],W=(d,g)=>{O.includes(d)||(O.push(d),console.warn(Ur(d,g)))},oe=new Set,z=(d,g)=>{oe.has(d)||(oe.add(d),console.warn(`[@funnel10x/tracking] ${g}`))},X=zr.includes(e.checkout)?e.checkout:null;X||console.warn(Xr(e.checkout));let b=(d,g,_)=>{try{return g()}catch(v){return W(d,v),_}},Oe=()=>{p||console.warn(Yr),p=!0},M=ni(Oe),$t=window.posthog;window.posthog=M;let He=()=>{let d={...i};return s&&(d.ph_anon_id=u.get_property("$device_id"),d.ph_distinct_id=u.get_distinct_id(),d.ph_session_id=u.get_session_id(),y&&(d.contact_id=y)),Te(d)},Yt=d=>s?(u.capture("checkout",{checkout_host:d},{send_instantly:!0}),!0):!1,Ze=b("dom",()=>Fe({values:He,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:d=>W("dom",d),onCheckout:X==="snippet"?Yt:void 0}),null),re=d=>{Ze&&b("dom",()=>Ze.refresh(d))},je=new Set,ge=[],ie=(d,g)=>{if(!s){n&&ae()==="denied"||ge.push([d,g]);return}let _=Object.fromEntries(Object.entries(d).filter(([v,E])=>E&&!je.has(`${v}:${E}`)));if(Object.keys(_).length){for(let[v,E]of Object.entries(_))je.add(`${v}:${E}`);u.capture("contact_captured",{..._,contact_source:g})}},zt=b("contact",()=>kt(o),{});b("contact",()=>Wt((d,g)=>ie(d,g),d=>W("contact",d)));let ye=b("linker",()=>Et(e.linkedDomains),[]),N=ye.length?b("linker",()=>Ct(o,Kr()),null):null,$e=!1,se=null,ce=null,Xt=()=>s?It({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ye.length&&b("linker",()=>Ft({hosts:ye,checkoutHosts:e.checkoutHosts,value:Xt,onError:d=>W("linker",d)}));let Bt=d=>{!N||$e||($e=!0,b("linker",()=>{let g=d.bootstrap&&typeof d.bootstrap=="object"?d.bootstrap:{};if(g.distinctID||d.identity_distinct_id||qr(Qr(e.key,d))){ce=N.distinctID;return}se={...g,distinctID:N.distinctID,isIdentifiedID:N.identified,...N.sessionID&&!g.sessionID?{sessionID:N.sessionID}:{}}}))},Jt=Te({tracking_version:We,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),Ut=d=>(!d||d.event==="$snapshot"||(d.properties={...d.properties,...Jt,...c?{fingerprint:c}:{},fingerprint_ms:h,...p?{tracking_conflict:!0}:{},...O.length?{tracking_degraded:[...O]}:{},...ce?{linked_distinct_id:ce}:{}}),d),ae=()=>{let d=he("local",Re);return d==="granted"||d==="denied"?d:null},B=!n||e.consent===!1||ae()==="granted",be=n?"direct":"tag",Kt=()=>{if(m)return m;let d=Date.now(),g=(async()=>{let v=await(await _t.load({monitoring:!1})).get();c=(v==null?void 0:v.visitorId)||null,h=Date.now()-d})().catch(_=>{h===null&&(h=Date.now()-d),W("fingerprint",_)});return m=Promise.race([g,new Promise(_=>setTimeout(_,Nt))]).then(()=>{h===null&&(h=Nt)}),m},Qt=()=>{if(L)return;L=!0;let d=document.createElement("link");d.rel="preload",d.as="script",d.crossOrigin="anonymous",d.href=ne,document.head.appendChild(d)},Ye=()=>{let d=e.posthog||{};return Bt(d),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...ei,custom_campaign_params:[...Ae,"utm_id","utm_placement",...Pe],...d,...se?{bootstrap:se}:{},before_send:Ut,loaded:en}},qt=()=>{let d=window.posthog;if(d===M){if(M._i.unshift([e.key,Ye()]),f="injected",G)return;G=!0;let g=document.createElement("script");g.async=!0,g.crossOrigin="anonymous",g.src=ne,document.head.appendChild(g);return}if(G&&d&&!d.__loaded&&typeof d.init=="function"){f="injected",d.init(e.key,Ye()),u&&typeof u._execute_array=="function"&&u._execute_array(M);return}console.warn(Dt),be="conflict",f="idle"},ze=()=>{f!=="idle"||be==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!B){f="idle";return}if(Qt(),await b("fingerprint",Kt,null),!B){f="idle";return}qt()}).catch(d=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${De(d)}): nothing is tracked by this snippet on this page.`),!G&&(f="idle",window.posthog===M&&(window.posthog=$t))}))};function en(d){u=d,f="loaded";let g=d.init;d.init=function(_,v,E){return Zt(E)&&Oe(),g.apply(this,arguments)},d.has_opted_out_capturing()&&d.opt_in_capturing({captureEventName:!1}),y=a||he("session",Ne),a&&(Me("session",Ne,a),d.get_distinct_id()!==a&&d.identify(a)),s=!0,re({iframes:!0}),b("contact",()=>{ie(zt,"url");for(let[_,v]of ge.splice(0))ie(_,v)});for(let _ of l.splice(0))_(!0)}return B?ze():(ae()==="denied"&&Ht(),re({iframes:!0})),t={version:We,get mode(){return be},consent:()=>n&&e.consent?ae():null,grant(){Me("local",Re,"granted"),B=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),re({iframes:!0})):ze()},deny(){var d;if(Me("local",Re,"denied"),B=!1,ge=[],N=null,se=null,ce=null,!u){M._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(d=u.stopSessionRecording)==null||d.call(u),u.set_config({disable_persistence:!0}),Ht(),s=!1,y=null,re()},onReady(d){s?d(!0):l.push(d)},fields:He,capture(d,g){try{for(let[_,v]of Jr(d,g,X))z(`${d}:${_}`,v)}catch{}s&&u.capture(d,g,d==="checkout"?{send_instantly:!0}:void 0)},contact(d){b("contact",()=>{let g=d&&typeof d=="object"?d:{},_={};if(g.email!=null&&g.email!==""){let v=q(g.email);v?_.email=v:z(`contact:email:${g.email}`,`contact(): ${JSON.stringify(g.email)} is not an email, and it is not sent.`)}if(g.phone!=null&&g.phone!==""){let E=typeof g.phone=="string"&&/^\s*(\+|00)/.test(g.phone)?ee(g.phone):null;E?_.phone=E:z(`contact:phone:${g.phone}`,`contact(): ${JSON.stringify(g.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}(_.email||_.phone)&&ie(_,"api")})},get posthog(){return u||(window.posthog===M?M:null)}},te(t)}function te(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ve(e,t=()=>({})){return{version:We,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},posthog:null}}var Y=window.f10xTracking;window.__f10xTracking?window.f10xTracking=window.__f10xTracking:Y&&typeof Y=="object"&&!Y.version&&(typeof Y.key=="string"&&Y.key?ri(Y):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function ri(e){let t=window.posthog;try{jt(e)}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,typeof e.contact!="function"&&(e.contact=()=>{}),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.`)}}})();
|
|
12
|
+
components: ${Lt(i)}
|
|
13
|
+
\`\`\``),a}}}function Cr(){if(!(window.__fpjs_d_m||Math.random()>=.001))try{let e=new XMLHttpRequest;e.open("get",`https://m1.openfpcdn.io/fingerprintjs/v${mt}/npm-monitoring`,!0),e.send()}catch(e){console.error(e)}}async function Er(e={}){let{delayFallback:t,debug:n,monitoring:o=!0}=e;o&&Cr(),await Ir(t);let r=wr({cache:{},debug:n});return Pr(r,n)}var It={load:Er,hashComponents:At,componentsToDebugString:Lt};var Fr=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","utm_placement"],Mr=["fbclid","gclid","gbraid","wbraid","gad_source","gad_campaignid","msclkid","ctwa_clid"],Me=["a_campaign_id","a_adset_id","a_ad_id","h_ad_id","fbc_id"],Te=["lp","narrative"],Tr=[...Fr,...Mr,...Me,...Te],Rr=new Set(Tr);function Re(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();Rr.has(i)&&r!==""&&!(i in t)&&(t[i]=r)}return t}var Vr=/^[^\s@<>()]+@[^\s@<>()]+\.[^\s@<>()]{2,}$/,Wr=["email"],Nr=["phone","phonenumber","phone_number","tel","telefone"];function B(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Vr.test(t)&&t.length<=254?t:null}function oe(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 i=String(t).replace(/\D/g,""),a=["39","378","379"].includes(i);i&&!o.startsWith(i)&&(o=i+(a?o:o.replace(/^0/,"")))}return o.length<7||o.length>15?null:r||t?`+${o}`:o}var Or=/^[a-z][a-z0-9_]{0,31}$/;function ye(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Or.test(t)?t:null}function Pt(e){let t={},n;try{n=new URL(e)}catch{return t}for(let[o,r]of n.searchParams){let i=o.toLowerCase();!t.email&&Wr.includes(i)&&(t.email=B(r)||void 0),!t.phone&&Nr.includes(i)&&(t.phone=oe(r)||void 0)}return Object.fromEntries(Object.entries(t).filter(([,o])=>o))}var We=["ph_anon_id","ph_distinct_id","ph_session_id","contact_id"],Dr=/\/widget\/(form|survey|booking)\//,Rt=["buy.stripe.com","checkout.stripe.com"],Vt=e=>new Set([...Rt,...e||[]].map(t=>String(t).toLowerCase())),V=(e,t)=>(...n)=>{try{return e(...n)}catch(o){t&&t(o);return}},Gr="input[type=email], input[type=tel], input[name*=email i], input[name*=phone i]",be="data-f10x-field";function Ct(e,t,n){if(!e||e.hasAttribute("data-f10x-skip"))return;let o=n&&e.querySelector(Gr);for(let[r,i]of Object.entries(t)){let a=e.querySelector(`[name="${CSS.escape(r)}"]`);if(a)a.tagName==="INPUT"&&(a.type==="hidden"||a.value===""||a.hasAttribute(be))&&(a.value=i);else if(o){let d=document.createElement("input");d.type="hidden",d.name=r,d.value=i,d.setAttribute(be,""),e.appendChild(d)}}}var Et=new WeakMap;function $r(e){for(let t of document.querySelectorAll("input[data-q]")){let n=e[t.getAttribute("data-q")];if(n==null)continue;let o=Et.get(t);o!==n&&(o===void 0&&t.value!==""||(t.value=n,Et.set(t,n),t.setAttribute(be,""),t.dispatchEvent(new Event("input",{bubbles:!0})),t.dispatchEvent(new Event("change",{bubbles:!0}))))}}function Ve(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[i,a]of Object.entries(t))We.includes(i)?o.searchParams.set(i,a):o.searchParams.has(i)||o.searchParams.set(i,a);return Rt.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 Ft=e=>{try{return new URL(e,location.href).hostname}catch{return""}};function Ne({values:e,checkoutHosts:t,addFields:n,onError:o,onCheckout:r}){let i=Vt(t),a=new WeakSet,d=!1,f=0,u=p=>{for(let h of document.querySelectorAll("a[href]")){if(!i.has(Ft(h.getAttribute("href"))))continue;let b=Ve(h.getAttribute("href"),p,location.href);b&&h.setAttribute("href",b)}},s=p=>{for(let h of document.querySelectorAll("iframe[src]")){let b=h.getAttribute("src");if(!Dr.test(b))continue;let A=Ve(b,p,location.href);A&&h.setAttribute("src",A)}},c=(p={})=>{p.iframes&&(d=!0);let h=e();for(let b of document.forms)Ct(b,h,n);$r(h),u(h),d&&s(h)},y=()=>{f||(f=setTimeout(V(()=>{f=0,c()},o),50))};return new MutationObserver(y).observe(document.documentElement,{childList:!0,subtree:!0}),document.addEventListener("submit",V(p=>Ct(p.target,e(),n),o),!0),document.addEventListener("click",V(p=>{let h=p.target instanceof Element?p.target.closest("a[href]"):null,b=h?Ft(h.getAttribute("href")):"";if(!h||!i.has(b))return;let A=Ve(h.getAttribute("href"),e(),location.href);A&&h.setAttribute("href",A),r&&!a.has(h)&&r(b)&&a.add(h)},o),!0),V(c,o)(),{refresh:c}}var $="_f10x",Hr=120*1e3,Zr=200;function Wt({distinctId:e,deviceId:t,sessionId:n},o=Date.now()){return e?[o.toString(36),e===t?"a":"i",e,n||""].join("."):null}function Nt(e,t){let n;try{n=new URL(e).searchParams.get($)}catch{return null}if(!n)return null;let o=n.indexOf("."),r=n.indexOf(".",o+1),i=n.lastIndexOf(".");if(o<1||r!==o+2||i<=r+1)return null;let a=n.slice(0,o),d=n.slice(o+1,r),f=n.slice(r+1,i),u=n.slice(i+1);if(!/^[0-9a-z]{1,12}$/.test(a)||d!=="i"&&d!=="a"||f.length>Zr||/\s/.test(f))return null;let s=t-parseInt(a,36);return Math.abs(s)<Hr?{distinctID:f,sessionID:u||null,identified:d==="i"}:null}var jr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/;function Ot(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 i=r.toLowerCase().replace(/^[a-z][a-z0-9+.-]*:\/\//,"").replace(/[/?#].*$/,"").replace(/:\d+$/,"").replace(/^\.+|\.+$/g,"");jr.test(i)?n.push(i):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 Dt({hosts:e,checkoutHosts:t,value:n,onError:o}){let r=Vt(t),i=(u,s)=>s===u||s.endsWith(`.${u}`),a=u=>{if(!u||u===location.hostname||r.has(u))return!1;let s=location.hostname.toLowerCase();return e.some(c=>i(c,u))&&!e.some(c=>i(c,u)&&i(c,s))},d=u=>{try{let s=new URL(u,location.href);return(s.protocol==="http:"||s.protocol==="https:")&&a(s.hostname.toLowerCase())?s:null}catch{return null}},f=V(u=>{if(u.type==="auxclick"&&u.button!==1)return;let s=u.target instanceof Element?u.target.closest("a[href]"):null,c=s&&d(s.getAttribute("href")),y=c&&n();y&&(c.searchParams.set($,y),s.setAttribute("href",c.href))},o);for(let u of["click","auxclick"])document.addEventListener(u,f,!0);document.addEventListener("contextmenu",V(u=>{let s=u.target instanceof Element?u.target.closest("a[href]"):null;if(!s)return;let c;try{c=new URL(s.getAttribute("href"),location.href)}catch{return}c.searchParams.has($)&&(c.searchParams.delete($),s.setAttribute("href",c.href))},o),!0),document.addEventListener("submit",V(u=>{let s=u.target;if(!(s instanceof HTMLFormElement))return;let c=u.submitter&&u.submitter.hasAttribute("formaction")?u.submitter:null,y=d((c||s).getAttribute(c?"formaction":"action")||""),p=y&&n();if(!p)return;let h=(c&&c.getAttribute("formmethod")||s.getAttribute("method")||"get").toLowerCase();if(h==="get"){let b=s.querySelector(`input[name="${$}"]`);b||(b=document.createElement("input"),b.type="hidden",b.name=$,b.setAttribute(be,""),s.appendChild(b)),b.value=p}else h==="post"&&(y.searchParams.set($,p),(c||s).setAttribute(c?"formaction":"action",y.href))},o),!0)}var Yr=/e-?mail/i,zr=/phone|telefone|telem[oó]vel|celular|whatsapp|(^|[\s_.-])(tel|mobile)($|[\s_.-])/i,Gt=new Set(["hidden","password","checkbox","radio","search","submit","button","file","reset","image"]),$t=e=>[e.name,e.id,e.getAttribute("data-q"),e.getAttribute("autocomplete")].filter(Boolean).join(" "),Ht=e=>e.type==="email"||Yr.test($t(e)),Zt=e=>e.type==="tel"||e.type!=="email"&&zr.test($t(e));function Xr(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"),i=r&&(r.getAttribute("title")||r.getAttribute("aria-label")||"").match(/\+(\d{1,4})/);return i?i[1]:null}function Br(e){if(!(e instanceof HTMLInputElement)||Gt.has(e.type))return{};if(Ht(e)){let t=B(e.value);return t?{email:t}:{}}if(Zt(e)){let t=oe(e.value,Xr(e));return t?{phone:t}:{}}return{}}function Mt(e){let t={};for(let n of e){let o=Br(n);o.email&&!t.email&&(t.email=o.email),o.phone&&!t.phone&&(t.phone=o.phone)}return t}function Jr(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=>!Gt.has(r.type)&&(Ht(r)||Zt(r))))return t.querySelectorAll("button[type=submit], input[type=submit]").length===1?t:null;return null}var Ur=e=>[...e.querySelectorAll("input, select, textarea")].some(t=>t.willValidate&&!t.checkValidity()),qr="acquisition_type";function Tt(e){let t=e.closest("[data-acquisition-type]"),n=e.querySelector(`[name="${qr}"]`);return{attribute:t?t.getAttribute("data-acquisition-type"):null,field:n&&typeof n.value=="string"?n.value:null}}function jt(e,t){document.addEventListener("submit",V(n=>{if(!(n.target instanceof HTMLFormElement))return;let o=Mt(n.target.querySelectorAll("input"));(o.email||o.phone)&&e(o,"form",Tt(n.target))},t),!0),document.addEventListener("click",V(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=Jr(o);if(!r||Ur(r))return;let i=Mt(r.querySelectorAll("input"));(i.email||i.phone)&&e(i,"form",Tt(r))},t),!0)}var $e="2.6.0",Oe="f10x_consent",je="f10x_login",Kr=10,Qr=typeof N=="object"?N:[],ei="1",ti=/^\d+\.\d+\.\d+$/,He="f10x_contact_id",ni="contact_id",oi=/^[A-Za-z0-9_-]{6,128}$/,Yt=1e3,zt="[@funnel10x/tracking] another PostHog is already on this page (a PostHog tag or snippet): nothing is tracked. Remove it: this snippet is PostHog.",ri="[@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.",ii=["snippet","page"],si=e=>`[@funnel10x/tracking] ${e===void 0?"this site does not declare who sends checkout":`checkout is ${JSON.stringify(e)}, which is neither 'snippet' nor 'page'`}: the snippet does not send checkout. Set checkout: 'snippet' (the checkout links are <a>) or checkout: 'page' (the page calls f10xTracking.capture('checkout')) in the init.`,Xt={Purchase:"purchase",purchase_completed:"purchase",order_completed:"purchase",InitiateCheckout:"checkout",initiate_checkout:"checkout",checkout_started:"checkout",begin_checkout:"checkout",CompleteRegistration:"registration_completed",registration:"registration_completed",sign_up:"registration_completed",webinar_registration:"registration_completed",appointment_booked:"appointment_scheduled",booking:"appointment_scheduled",Schedule:"appointment_scheduled",call_booked:"appointment_scheduled",Lead:"contact_captured"},ci=["purchase","registration_completed","appointment_scheduled"];function ai(e,t,n){let o=[],r=t&&typeof t=="object"?t:{},i=Object.prototype.hasOwnProperty.call(Xt,e)?Xt[e]:null;if(i){let a=i==="contact_captured"?", which the page sends through f10xTracking.contact({ email, phone })":ci.includes(i)&&i!=="purchase"?", which only the server sends":"";o.push(["synonym",`"${e}" is not in the funnel event contract and the warehouse ignores it: the contract name is "${i}"${a}.`])}if(e==="purchase"){o.push(["server","purchase belongs to the server (the admin sends it from Stripe): this one from the page still counts until the server sends it in this project, and from that day it counts twice, so remove it then."]);let a=[];typeof r.session_id=="string"&&r.session_id.startsWith("cs_")||a.push("session_id (the cs_\u2026 of the Stripe checkout session)"),typeof r.currency=="string"&&r.currency||a.push("currency");let d=typeof r.amount_total=="string"&&r.amount_total.trim()?Number(r.amount_total):r.amount_total;typeof d=="number"&&Number.isFinite(d)||a.push("amount_total");for(let f of a)o.push([`missing:${f}`,`purchase without ${f}: it is sent, and the column stays empty in the warehouse.`])}return(e==="registration_completed"||e==="appointment_scheduled")&&o.push(["server",`${e} is sent only by the server, from the system that records it (the CRM): the warehouse ignores one sent from a page, even when an app gives a callback.`]),e==="contact_captured"&&o.push(["contact","contact_captured by hand: call f10xTracking.contact({ email, phone }) instead, which normalizes, sends each value once per page and waits for the consent."]),e==="checkout"&&n==="snippet"&&o.push(["twice","checkout from the page on a site that declares checkout: 'snippet': the snippet already sends it on the click of a checkout link, so this one counts it twice."]),o}var Ze=e=>e&&e.message||String(e),ui=(e,t)=>`[@funnel10x/tracking] the ${e} extra failed (${Ze(t)}): PostHog still measures without it, and every event carries tracking_degraded.`,li=()=>{try{if(typeof performance!="undefined"&&typeof performance.now=="function")return Date.now()-performance.now()}catch{}return Date.now()};function di(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 fi(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(ie("local",e)))||t(n(ie("session",e)))}var mi={defaults:"2026-08-30",person_profiles:"identified_only",strict_script_versioning:!0},Ye=e=>{try{return e==="session"?window.sessionStorage:window.localStorage}catch{return null}},ie=(e,t)=>{var n,o;try{return(o=(n=Ye(e))==null?void 0:n.getItem(t))!=null?o:null}catch{return null}},we=(e,t,n)=>{var o;try{(o=Ye(e))==null||o.setItem(t,n)}catch{}};function Bt(e){let t={};try{let n=new URL(e).searchParams;for(let o of We){let r=n.get(o);r&&oi.test(r)&&(t[o]=r)}}catch{}return t}function pi(e,t){let n=`${e}:${t}`,o=3735928559,r=1103547991;for(let i=0;i<n.length;i++){let a=n.charCodeAt(i);o=Math.imul(o^a,2654435761),r=Math.imul(r^a,1597334677)}return o=Math.imul(o^o>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),(r>>>0).toString(16).padStart(8,"0")+(o>>>0).toString(16).padStart(8,"0")}function hi(){try{let e=new Uint8Array(12);return window.crypto.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}catch{return`${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`}}function gi(){try{let e=JSON.parse(ie("local",je)||"null");return e&&typeof e.salt=="string"&&e.salt&&typeof e.id=="string"&&Array.isArray(e.emails)?e:null}catch{return null}}function yi(e){try{if(typeof e._isIdentified=="function")return!!e._isIdentified()}catch{}return e.get_property("$user_state")==="identified"}var De=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));function Jt(){for(let n of["local","session"]){let o=Ye(n);if(o)try{for(let r of Object.keys(o))(r.startsWith("ph_")||r===He||r===je)&&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 bi(){let e=window.posthog;return!e||e.__f10x?!1:!!(e.__SV||e.__loaded||Array.isArray(e._i)||Array.isArray(e)&&e.length)}var Ut=e=>e==null||e==="posthog";function wi(e){let t=[],n=o=>{for(let r of Qr)o[r]=(...i)=>{o.push([r,...i])}};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,i)=>{Ut(i)?e():t[i]||(t[i]=[],n(t[i])),t._i.push([o,r,i])},t}function _i(e,t){let n=(e||"https://us.i.posthog.com").trim().replace(/\/$/,"").replace(".i.posthog.com","-assets.i.posthog.com"),o=ei;return t&&(ti.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 qt(e={}){if(window.__f10xTracking)return re(window.__f10xTracking);let t,n=typeof e.consent=="boolean",o=location.href;if(n&&/_\d+\/?$/.test(location.pathname))return t=Ge("preview"),re(t);let r=!1;try{r=window.top!==window.self}catch{r=!0}if(r){let l=De({...Re(o),...Bt(o)}),m=!1,g=_=>{m||console.warn(`[@funnel10x/tracking] the dom extra failed (${Ze(_)}): the form in this frame may miss the fields from its URL.`),m=!0};try{Ne({values:()=>l,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:g})}catch(_){g(_)}return t=Ge("frame",()=>l),re(t)}if(bi())return console.warn(zt),t=Ge("conflict"),re(t);let i=Re(o),a=Bt(o)[ni]||null,d=[],f="idle",u=null,s=!1,c=null,y=null,p=null,h=!1,b=null,A=!1,H=!1,se=_i(e.apiHost,e.sdkVersion),Z=[],D=(l,m)=>{Z.includes(l)||(Z.push(l),console.warn(ui(l,m)))},ce=new Set,M=(l,m)=>{ce.has(l)||(ce.add(l),console.warn(`[@funnel10x/tracking] ${m}`))},U=ii.includes(e.checkout)?e.checkout:null;U||console.warn(si(e.checkout));let w=(l,m,g)=>{try{return m()}catch(_){return D(l,_),g}},ze=()=>{h||console.warn(ri),h=!0},W=wi(ze),Qt=window.posthog;window.posthog=W;let Xe=()=>{let l={...i};return s&&(l.ph_anon_id=u.get_property("$device_id"),l.ph_distinct_id=u.get_distinct_id(),l.ph_session_id=u.get_session_id(),b&&(l.contact_id=b)),De(l)},en=l=>s?(u.capture("checkout",{checkout_host:l},{send_instantly:!0}),!0):!1,Be=w("dom",()=>Ne({values:Xe,checkoutHosts:e.checkoutHosts,addFields:e.addFields!==!1,onError:l=>D("dom",l),onCheckout:U==="snippet"?en:void 0}),null),ae=l=>{Be&&w("dom",()=>Be.refresh(l))},_e=new Set,ke=[],ue=(l,m,g=null)=>{if(!s){n&&q()==="denied"||ke.push([l,m,g]);return}let _=(I,T)=>g?`${I}:${T}:${g}`:`${I}:${T}`,v=Object.fromEntries(Object.entries(l).filter(([I,T])=>T&&!_e.has(_(I,T))));if(Object.keys(v).length){for(let[I,T]of Object.entries(v))_e.add(`${I}:${T}`),g&&_e.add(_(I,T));u.capture("contact_captured",{...v,contact_source:m,...g?{acquisition_type:g}:{}})}},Je=new Set,Se=[],Ue=l=>{if(!s){n&&q()==="denied"||Se.push(l);return}if(Je.has(l))return;if(Je.add(l),yi(u)){M("login:identified","login(): PostHog already has this browser as identified (an identify ran here before), so the login is not sent: the admin links this browser through that identify.");return}let m=u.get_distinct_id(),g=gi(),_=g?g.salt:hi(),v=pi(_,l),I=g&&g.id===m?g.emails.filter(T=>typeof T=="string"):[];I.includes(v)||(u.capture("contact_captured",{email:l,contact_source:"login"}),we("local",je,JSON.stringify({salt:_,id:m,emails:[...I,v].slice(-Kr)})))},tn=l=>{let m=l&&l.attribute!=null?String(l.attribute):null,g=l&&l.field!=null&&String(l.field).trim()!==""?String(l.field):null,_=m!=null?m:g;if(_===null)return null;let v=ye(_);return v?m!==null&&g!==null&&ye(g)!==v&&M(`acquisition_type:${m}:${g}`,`data-acquisition-type is ${JSON.stringify(m)} and the acquisition_type field is ${JSON.stringify(g)}: contact_captured goes with the attribute.`):M(`acquisition_type:${_}`,`${m!==null?"data-acquisition-type":"the acquisition_type field"} is ${JSON.stringify(_)}, which is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`),v},nn=w("contact",()=>Pt(o),{});w("contact",()=>jt((l,m,g)=>ue(l,m,tn(g)),l=>D("contact",l)));let ve=w("linker",()=>Ot(e.linkedDomains),[]),G=ve.length?w("linker",()=>Nt(o,li()),null):null,qe=!1,le=null,de=null,on=()=>s?Wt({distinctId:u.get_distinct_id(),deviceId:u.get_property("$device_id"),sessionId:u.get_session_id()}):null;ve.length&&w("linker",()=>Dt({hosts:ve,checkoutHosts:e.checkoutHosts,value:on,onError:l=>D("linker",l)}));let rn=l=>{!G||qe||(qe=!0,w("linker",()=>{let m=l.bootstrap&&typeof l.bootstrap=="object"?l.bootstrap:{};if(m.distinctID||l.identity_distinct_id||fi(di(e.key,l))){de=G.distinctID;return}le={...m,distinctID:G.distinctID,isIdentifiedID:G.identified,...G.sessionID&&!m.sessionID?{sessionID:G.sessionID}:{}}}))},sn=De({tracking_version:$e,page_version:n?e.pageVersion||1:void 0,page_revision:n&&/^[a-f0-9]{64}$/.test(e.pageRevision||"")?e.pageRevision:void 0,ab_test:n&&e.test||void 0,ab_eligibility:n&&["none","randomized","direct","cross_exposure"].includes(e.abEligibility)?e.abEligibility:void 0,ab_assigned_version:n&&Number.isSafeInteger(e.abAssignedVersion)&&e.abAssignedVersion>0?e.abAssignedVersion:void 0}),cn=l=>(!l||l.event==="$snapshot"||(l.properties={...l.properties,...sn,...c?{fingerprint:c}:{},fingerprint_ms:y,...h?{tracking_conflict:!0}:{},...Z.length?{tracking_degraded:[...Z]}:{},...de?{linked_distinct_id:de}:{}}),l),q=()=>{let l=ie("local",Oe);return l==="granted"||l==="denied"?l:null},K=!n||e.consent===!1||q()==="granted",xe=n?"direct":"tag",an=()=>{if(p)return p;let l=Date.now(),m=(async()=>{let _=await(await It.load({monitoring:!1})).get();c=(_==null?void 0:_.visitorId)||null,y=Date.now()-l})().catch(g=>{y===null&&(y=Date.now()-l),D("fingerprint",g)});return p=Promise.race([m,new Promise(g=>setTimeout(g,Yt))]).then(()=>{y===null&&(y=Yt)}),p},un=()=>{if(A)return;A=!0;let l=document.createElement("link");l.rel="preload",l.as="script",l.crossOrigin="anonymous",l.href=se,document.head.appendChild(l)},Ke=()=>{let l=e.posthog||{};return rn(l),{api_host:e.apiHost||"https://us.i.posthog.com",ui_host:"https://us.posthog.com",...mi,custom_campaign_params:[...Me,"utm_id","utm_placement",...Te],...l,...le?{bootstrap:le}:{},before_send:cn,loaded:dn}},ln=()=>{let l=window.posthog;if(l===W){if(W._i.unshift([e.key,Ke()]),f="injected",H)return;H=!0;let m=document.createElement("script");m.async=!0,m.crossOrigin="anonymous",m.src=se,document.head.appendChild(m);return}if(H&&l&&!l.__loaded&&typeof l.init=="function"){f="injected",l.init(e.key,Ke()),u&&typeof u._execute_array=="function"&&u._execute_array(W);return}console.warn(zt),xe="conflict",f="idle"},Qe=()=>{f!=="idle"||xe==="conflict"||(f="waiting",Promise.resolve().then(async()=>{if(!K){f="idle";return}if(un(),await w("fingerprint",an,null),!K){f="idle";return}ln()}).catch(l=>{console.warn(`[@funnel10x/tracking] PostHog failed to start (${Ze(l)}): nothing is tracked by this snippet on this page.`),!H&&(f="idle",window.posthog===W&&(window.posthog=Qt))}))};function dn(l){u=l,f="loaded";let m=l.init;l.init=function(g,_,v){return Ut(v)&&ze(),m.apply(this,arguments)},l.has_opted_out_capturing()&&l.opt_in_capturing({captureEventName:!1}),b=a||ie("session",He),a&&(we("session",He,a),l.get_distinct_id()!==a&&l.identify(a)),s=!0,ae({iframes:!0}),w("contact",()=>{ue(nn,"url");for(let[g,_,v]of ke.splice(0))ue(g,_,v);for(let g of Se.splice(0))Ue(g)});for(let g of d.splice(0))g(!0)}return K?Qe():(q()==="denied"&&Jt(),ae({iframes:!0})),t={version:$e,get mode(){return xe},consent:()=>n&&e.consent?q():null,grant(){we("local",Oe,"granted"),K=!0,u?s||(u.set_config({disable_persistence:!1}),u.opt_in_capturing({captureEventName:!1}),s=!0,u.capture("$pageview"),ae({iframes:!0})):Qe()},deny(){var l;if(we("local",Oe,"denied"),K=!1,ke=[],Se=[],G=null,le=null,de=null,!u){W._i.length=0,f==="injected"&&(f="idle");return}u.opt_out_capturing(),(l=u.stopSessionRecording)==null||l.call(u),u.set_config({disable_persistence:!0}),Jt(),s=!1,b=null,ae()},onReady(l){s?l(!0):d.push(l)},fields:Xe,capture(l,m){try{for(let[g,_]of ai(l,m,U))M(`${l}:${g}`,_)}catch{}s&&u.capture(l,m,l==="checkout"?{send_instantly:!0}:void 0)},contact(l){w("contact",()=>{let m=l&&typeof l=="object"?l:{},g={};if(m.email!=null&&m.email!==""){let v=B(m.email);v?g.email=v:M(`contact:email:${m.email}`,`contact(): ${JSON.stringify(m.email)} is not an email, and it is not sent.`)}if(m.phone!=null&&m.phone!==""){let I=typeof m.phone=="string"&&/^\s*(\+|00)/.test(m.phone)?oe(m.phone):null;I?g.phone=I:M(`contact:phone:${m.phone}`,`contact(): ${JSON.stringify(m.phone)} is not a phone in international format (+351\u2026), and it is not sent.`)}let _=null;m.acquisitionType!=null&&m.acquisitionType!==""&&(_=ye(m.acquisitionType),_||M(`contact:acquisition_type:${m.acquisitionType}`,`contact(): acquisitionType ${JSON.stringify(m.acquisitionType)} is not an acquisition type key (client, people, supplier, partner, asset): contact_captured goes without it.`)),(g.email||g.phone)&&ue(g,"api",_)})},login(l){w("contact",()=>{var _;let m=l&&typeof l=="object"?l:{},g=m.email!=null&&m.email!==""?B(m.email):null;if(!g){M(`login:email:${m.email}`,`login(): ${JSON.stringify((_=m.email)!=null?_:null)} is not an email, and nothing is sent.`);return}Ue(g)})},get posthog(){return u||(window.posthog===W?W:null)}},re(t)}function re(e){return window.__f10xTracking=e,window.f10xTracking=e,e}function Ge(e,t=()=>({})){return{version:$e,mode:e,consent:()=>null,grant(){},deny(){},onReady(){},fields:t,capture(){},contact(){},login(){},posthog:null}}var J=window.f10xTracking;window.__f10xTracking?(window.f10xTracking=window.__f10xTracking,Kt(window.__f10xTracking)):J&&typeof J=="object"&&!J.version&&(typeof J.key=="string"&&J.key?ki(J):console.warn("[@funnel10x/tracking] window.f10xTracking.key is missing: nothing is tracked."));function Kt(e){let t=Array.isArray(window.__f10xLogins)?window.__f10xLogins.splice(0):[];for(let n of t)e.login(n)}function ki(e){let t=window.posthog;try{Kt(qt(e))}catch(n){window.posthog&&window.posthog.__f10x&&(window.posthog=t),window.__f10xTracking=void 0,typeof e.contact!="function"&&(e.contact=()=>{}),e.login=()=>{},Array.isArray(window.__f10xLogins)&&(window.__f10xLogins.length=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.6.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",
|