@solomei-ai/intent 1.10.0 → 1.11.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 CHANGED
@@ -1,5 +1,7 @@
1
1
  # Intent Integration
2
2
 
3
+ [![codecov](https://codecov.io/gh/solomei-ai/intent-sdk/branch/main/graph/badge.svg)](https://codecov.io/gh/solomei-ai/intent-sdk)
4
+
3
5
  The **Intent** tracker collects consented client context and sends events to **Callimacus**.
4
6
  It can be easily integrated into modern applications (React, Vite, Next.js, etc.) via npm or directly via a script tag.
5
7
 
@@ -45,6 +47,7 @@ initIntent({
45
47
  ip: '192.0.2.1', // Optional: Client IP address
46
48
  sidMaxAgeSeconds: 2592000, // Optional: Session cookie max-age in seconds (default: 30 days = 2592000 seconds)
47
49
  debug: false, // Optional: Enable debug logging for timing information (default: false)
50
+ debugPanel: false, // Optional: Enable visual debug panel (default: false)
48
51
  });
49
52
  ```
50
53
 
@@ -93,7 +96,7 @@ Once loaded, access the module from the global `window.Intent` namespace:
93
96
 
94
97
  ## Managing consent & geolocation flags
95
98
 
96
- ### Recommended: Type-Safe Functions (v1.9.4+)
99
+ ### Recommended: Type-Safe Functions (v1.10.0+)
97
100
 
98
101
  Use the dedicated helper functions for better type safety and IDE support:
99
102
 
@@ -139,7 +142,7 @@ setFlag('intent:debug', true); // enabled
139
142
  setFlag('intent:debug', false); // disabled
140
143
  ```
141
144
 
142
- > **⚠️ URGENT DEPRECATION WARNING:** The **entire `setFlag` function will be removed in v2.0.0 (February 2026 - approximately 2 months)**. All users must migrate to the type-safe functions (`setConsent`, `setGeo`, `setDebug`) before upgrading to v2.0.0. See the Migration Guide below for details.
145
+ > **⚠️ URGENT DEPRECATION WARNING:** The **entire `setFlag` function will be removed in v2.0.0 (February 2026 - approximately 1-2 months)**. All users must migrate to the type-safe functions (`setConsent`, `setGeo`, `setDebug`) before upgrading to v2.0.0. See the Migration Guide below for details.
143
146
 
144
147
  ---
145
148
 
@@ -149,7 +152,7 @@ setFlag('intent:debug', false); // disabled
149
152
 
150
153
  ### Migration Guide
151
154
 
152
- **Upgrading from v1.9.3 and earlier:**
155
+ **Upgrading from v1.9.x and earlier:**
153
156
 
154
157
  The new type-safe functions are recommended but optional. Your existing code using `setFlag` will continue to work without any changes:
155
158
 
@@ -165,10 +168,10 @@ No breaking changes - all existing code remains functional.
165
168
 
166
169
  **⚠️ URGENT: Deprecation Timeline**
167
170
 
168
- - **v1.9.4 (Current - December 2025)**: `setFlag` function is deprecated but still supported
169
- - **v2.0.0 (February 2026 - ~2 months)**: `setFlag` function will be **completely removed**
171
+ - **v1.10.0 (Current - December 2025)**: `setFlag` function is deprecated but still supported
172
+ - **v2.0.0 (February 2026 - ~1-2 months)**: `setFlag` function will be **completely removed**
170
173
 
171
- **⚠️ You have approximately 2 months to complete migration before v2.0.0**
174
+ **⚠️ You have approximately 1-2 months to complete migration before v2.0.0**
172
175
 
173
176
  **Migration Required Before v2.0.0:**
174
177
 
@@ -213,7 +216,9 @@ setFlag('intent:debug', false) → setDebug(false)
213
216
 
214
217
  ---
215
218
 
216
- ## Debug Logging
219
+ ## Debug Logging & Debug Panel
220
+
221
+ ### Debug Logging
217
222
 
218
223
  By default, the SDK does not output any console logs to avoid spamming the browser console. However, you can enable debug logging to see timing information for performance analysis:
219
224
 
@@ -257,6 +262,144 @@ This is useful for:
257
262
 
258
263
  **Note:** Debug logging is disabled by default to prevent console spam in production. Only enable it when needed for debugging or performance analysis.
259
264
 
265
+ ### Debug Panel (Visual Event Inspector)
266
+
267
+ > **⚠️ WARNING: The debug panel is intended for development and debugging only.**
268
+ > **DO NOT enable in production environments.** It exposes internal SDK behavior including screenshots, event payloads, and HTML content that may reveal sensitive application structure.
269
+
270
+ The SDK provides separate build variants to ensure the debug panel code is not shipped to production:
271
+
272
+ #### Build Variants
273
+
274
+ **Production Build (Default)** - Debug panel excluded
275
+ ```bash
276
+ npm install @solomei-ai/intent
277
+ ```
278
+ ```ts
279
+ import {initIntent} from '@solomei-ai/intent'; // Production build
280
+ ```
281
+ ```html
282
+ <script src="https://unpkg.com/@solomei-ai/intent/dist/intent.umd.min.js"></script>
283
+ ```
284
+
285
+ **Debug Build** - Debug panel included (for development/testing only)
286
+ ```ts
287
+ // ESM - use the /debug export
288
+ import {initIntent, setDebugPanel} from '@solomei-ai/intent/debug';
289
+ ```
290
+ ```html
291
+ <!-- UMD - use the .debug variant -->
292
+ <script src="https://unpkg.com/@solomei-ai/intent/dist/intent.debug.umd.min.js"></script>
293
+ ```
294
+
295
+ #### Best Practice: Environment-Based Loading
296
+
297
+ Use your build system to load the appropriate variant:
298
+
299
+ ```ts
300
+ // Vite / Webpack example
301
+ const Intent = import.meta.env.PROD
302
+ ? await import('@solomei-ai/intent')
303
+ : await import('@solomei-ai/intent/debug');
304
+
305
+ Intent.initIntent({
306
+ clientId: 'cal-pk-...',
307
+ consent: true,
308
+ debugPanel: !import.meta.env.PROD // Only in development
309
+ });
310
+ ```
311
+
312
+ **Recommended Use Cases:**
313
+ - **Local Development**: Debug event capture during integration
314
+ - **Testing Environments**: Verify SDK behavior in test/staging
315
+ - **Internal Demos**: Showcase SDK functionality to internal stakeholders
316
+ - **Troubleshooting**: Diagnose issues in non-production environments
317
+
318
+ **NOT Recommended:**
319
+ - ❌ Production websites or applications
320
+ - ❌ Public demos accessible to end users
321
+ - ❌ Any environment where exposing SDK internals is a concern
322
+
323
+ #### Usage
324
+
325
+ **Enable debug panel during initialization:**
326
+
327
+ ```ts
328
+ import {initIntent} from '@solomei-ai/intent/debug'; // Use debug build
329
+
330
+ initIntent({
331
+ clientId: 'cal-pk-...',
332
+ consent: true,
333
+ debugPanel: true, // Enable visual debug panel
334
+ });
335
+ ```
336
+
337
+ **Toggle debug panel at runtime:**
338
+
339
+ ```ts
340
+ import {setDebugPanel} from '@solomei-ai/intent/debug';
341
+
342
+ // Show debug panel (development only)
343
+ setDebugPanel(true);
344
+
345
+ // Hide debug panel
346
+ setDebugPanel(false);
347
+ ```
348
+
349
+ **Debug Panel Features:**
350
+ - 📸 **Screenshots**: View the actual JPEG screenshots captured by the SDK
351
+ - 🔍 **Event Details**: Expand each event to see properties, HTML, and bounding box data
352
+ - 🎯 **Event Types**: See what type of event was captured (click, pageview, scroll, etc.)
353
+ - 🕐 **Timestamps**: Track when each event occurred
354
+ - 🗑️ **Clear Events**: Clear the event log with a single button click
355
+ - 🎨 **Draggable**: Move the panel anywhere on the screen
356
+ - ➖ **Minimize**: Collapse the panel when not needed
357
+
358
+ The debug panel appears as a floating window in the top-right corner and can be dragged anywhere on the page. It displays up to 50 recent events (automatically removes oldest when limit is reached).
359
+
360
+ ---
361
+
362
+ ## 🎮 Test & Demo Page
363
+
364
+ A comprehensive test and demo page is included in the `demo/test-demo.html` file. This page showcases:
365
+
366
+ - ✅ All form input types (text, email, password, date, color, range, etc.)
367
+ - ✅ Interactive elements (buttons, links, clickable divs)
368
+ - ✅ Auto-redacted fields (email, password, phone, credit card, etc.)
369
+ - ✅ Custom redaction examples with `data-intent-redact`
370
+ - ✅ SDK initialization and consent controls
371
+ - ✅ Debug panel demonstration
372
+ - ✅ Complete documentation and usage instructions
373
+
374
+ **To use the test page:**
375
+
376
+ 1. Build the SDK:
377
+ ```bash
378
+ npm run build
379
+ ```
380
+
381
+ 2. Start a local web server from the repository root:
382
+ ```bash
383
+ # Using Python 3
384
+ python3 -m http.server 8080
385
+
386
+ # Or using Node.js http-server
387
+ npx http-server -p 8080
388
+ ```
389
+
390
+ 3. Open your browser and navigate to:
391
+ ```
392
+ http://localhost:8080/demo/test-demo.html
393
+ ```
394
+
395
+ 4. Follow the on-page instructions to:
396
+ - Initialize the SDK
397
+ - Enable the debug panel
398
+ - Grant consent
399
+ - Interact with elements to see captured events
400
+
401
+ The test page is perfect for demonstrating the SDK to stakeholders, testing new features, and understanding how the SDK captures and handles different types of data.
402
+
260
403
  ---
261
404
 
262
405
  ## Using `intent_sid`
@@ -451,4 +594,64 @@ The custom label will appear as `<Account Balance>` or `<Social Security Number>
451
594
 
452
595
  Proper data redaction is critical for compliance with privacy regulations (GDPR, CCPA, HIPAA, etc.). While this SDK provides tools for redaction, **it is your responsibility as the integrator to ensure all applicable sensitive data is properly redacted** according to your legal and regulatory requirements.
453
596
 
597
+ ---
598
+
599
+ ## 🛠️ Development
600
+
601
+ ### Node.js Version Requirement
602
+
603
+ ⚠️ **Important**: This project must be built and tested with **Node.js 24**.
604
+
605
+ Node.js 25 introduces changes that break the test suite due to localStorage implementation issues in the test environment (happy-dom v20.0.11). Specifically, Node.js 25 changed how localStorage behaves in the test environment, causing test failures. This constraint will be re-evaluated when happy-dom releases an update that supports Node.js 25. To ensure compatibility:
606
+
607
+ 1. **Use Node.js 24**: The repository includes a `.nvmrc` file specifying Node.js 24
608
+ 2. **Use nvm (recommended)**: If you use [nvm](https://github.com/nvm-sh/nvm), run:
609
+ ```bash
610
+ nvm use
611
+ ```
612
+ This will automatically switch to the correct Node.js version specified in `.nvmrc`.
613
+
614
+ 3. **Verify your Node.js version**:
615
+ ```bash
616
+ node --version
617
+ # Should output: v24.x.x
618
+ ```
619
+
620
+ ### Building and Testing
621
+
622
+ ```bash
623
+ # Install dependencies
624
+ npm install
625
+
626
+ # Build the project
627
+ npm run build
628
+
629
+ # Run unit tests
630
+ npm test
631
+
632
+ # Run unit tests with coverage
633
+ npm test -- --coverage
634
+
635
+ # Install Playwright browsers (required for browser tests)
636
+ npx playwright install chromium
637
+
638
+ # Run browser tests
639
+ npm run test:browser
640
+
641
+ # Run browser tests with coverage
642
+ npm run test:browser -- --coverage
643
+
644
+ # Watch mode for development
645
+ npm run dev
646
+ ```
647
+
648
+ ### Code Coverage
649
+
650
+ The project uses [vitest](https://vitest.dev/) with the v8 coverage provider. Coverage reports include:
651
+ - Text output in the terminal
652
+ - HTML report in `coverage/` directory
653
+ - LCOV format for CI integration
654
+
655
+ Both unit tests and browser tests generate separate coverage reports that can be uploaded to coverage services like Codecov.
656
+
454
657
  ---
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /*!
2
- * © 2025 Solomei AI SRL. Proprietary and confidential.
2
+ * © 2026 Solomei AI SRL. Proprietary and confidential.
3
3
  */
4
- import t from"html2canvas-pro";import e from"js-cookie";async function n(){const t=i,e=[];let n=t(122);if("connection"in(o=navigator)&&void 0!==o[i(162)]){const n=navigator[t(162)];n?.[t(204)]&&e[t(198)](n[t(204)]),typeof n?.[t(179)]===t(229)&&e[t(198)]("~"+n.downlink+" Mbps"),typeof n?.[t(191)]===t(229)&&e[t(198)](n[t(191)]+t(113)),n?.[t(208)]&&e[t(198)](t(208))}else{const o=function(t=20){const e=i,n=performance[e(135)](e(169))[e(195)](t=>"navigation"===t.entryType),o=n?Math.max(0,n[e(227)]-n[e(127)]):void 0,a=performance[e(135)]("resource")[e(158)](t=>"resource"===t[e(231)]);let r=0,c=0;for(const n of a[e(206)](0,Math.max(0,t))){const t=n.encodedBodySize>0?n[e(214)]:n.transferSize>0?n[e(111)]:0,o=n[e(215)];t>0&&o>0&&Number[e(145)](o)&&(r+=t,c+=o)}const s=c>0?8*r/c:void 0;return{downlinkMbps:typeof s===e(229)?s/1e3:void 0,rttMs:o}}();typeof o[t(116)]===t(229)&&e[t(198)]("~"+o[t(116)][t(216)](1)+" Mbps"),typeof o.rttMs===t(229)&&e.push(t(209)+Math.round(o[t(224)])+" ms"),n=t(115)}var o;const a=performance[t(135)](t(169))[t(195)](e=>e[t(231)]===t(169));if(a){const n=Math[t(175)](0,a[t(227)]-a[t(127)]);!e[t(155)](t=>t.startsWith("TTFB"))&&e[t(198)](t(209)+Math[t(196)](n)+t(113))}return e[t(177)]?t(170)+e[t(152)](", ")+" ("+n+")":void 0}function o(){const t=i;if(!function(t){const e=i;return e(203)in t&&typeof t[e(203)]!==e(218)}(navigator))return;const e=navigator[t(203)],n=Array[t(128)](e[t(132)])?e[t(132)].map(e=>e[t(117)]+" "+e[t(140)])[t(152)](", "):void 0,o=e[t(136)]?""+e[t(136)]+(e[t(225)]?t(230):""):void 0;return[n&&t(180)+n,o&&t(144)+o].filter(Boolean).join(t(133))||void 0}function i(t,e){t-=111;return a()[t]}function a(){const t=["colorDepth","getBattery","some","°, γ ","Pointer/Touch: ","filter","Battery: ","reclined","422SUVtPU","connection","userAgent","deviceorientation","referrer","type","18102aCzAKd","abs","navigation","Network: ","cookieEnabled","13896510GnXGge","(pointer: coarse)","enabled","max","CookiesEnabled: ","length","height","downlink","UA brands: ","coarse","Referrer: ","upright","Tilt: ","removeEventListener","isSecureContext","-bit)","287512WCAhsP","function","charging","rtt","x (avail ","Language: ","intent:geo","find","round","padStart","push","Languages: ","maxTouchPoints","3296585laFuuc","innerWidth","userAgentData","effectiveType","520865FxyhFT","slice","Device geolocation: disabled","saveData","TTFB ~","Device geolocation: enabled","(pointer: fine)","beta","floor","encodedBodySize","duration","toFixed","width","undefined","Screen: ","yes","timeZone","12STDKng","Timezone: ","rttMs","mobile","language","responseStart","availHeight","number"," (mobile)","entryType","resolvedOptions","DateTimeFormat","transferSize","Viewport: "," ms","; DNT: ","inferred","downlinkMbps","brand","setTimeout","217FaKXXw","innerHeight","devicePixelRatio","browser API","2091760KhHucT","Local time: ","flat","hardwareConcurrency","requestStart","isArray","level",", display-mode standalone: ",", orientation ","brands"," | ","matches","getEntriesByType","platform","getItem","PWA: ","getTimezoneOffset","version","gamma","5758002WWYwut","fine","Platform: ","isFinite","n/a",", maxTouchPoints ","orientation","toString","languages"," (UTC","join"];return(a=function(){return t})()}async function r(t=400){const e=i;if("DeviceOrientationEvent"in window&&window[e(186)])return new Promise(n=>{const o=e;let a=!1;const r=t=>{const e=i,o=typeof t[e(212)]===e(229)?t[e(212)]:void 0,c=typeof t[e(141)]===e(229)?t.gamma:void 0;if(void 0===o||void 0===c)return;if(a)return;a=!0,window[e(185)](e(164),r);const s=function(t,e){const n=i,o=Math.abs(t),a=Math[n(168)](e);return n(o<15&&a<15?125:o>=60?183:160)}(o,c);n(e(184)+s+" (β "+Math.round(o)+e(156)+Math[e(196)](c)+"°)")};window[o(118)](()=>{const t=o;a||(a=!0,window[t(185)](t(164),r),n(void 0))},t),window.addEventListener(o(164),r,{passive:!0})})}async function c(){const t=i;var e;if("getBattery"in(e=navigator)&&"function"==typeof e[i(154)])try{const e=await navigator[t(154)](),n=Math.round(100*e[t(129)]),o=[(Number[t(145)](n)?n:0)+"%",e[t(190)]?t(190):"not charging"];return t(159)+o[t(152)](", ")}catch{}}async function s(){const t=i,e=(new(Intl[t(233)]))[t(232)]()[t(221)],a=function(t){const e=i,n=t<=0?"+":"-",o=Math[e(168)](t);return""+n+String(Math[e(213)](o/60))[e(197)](2,"0")+":"+String(o%60).padStart(2,"0")}((new Date)[t(139)]()),s=[];s[t(198)](t(193)+navigator[t(226)]),navigator[t(150)]?.[t(177)]&&s.push(t(199)+navigator[t(150)].join(", ")),s.push("User agent: "+navigator[t(163)]);const l=o();l&&s.push(l),s[t(198)](t(223)+e+t(151)+a+")"),s[t(198)](t(124)+(new Date)[t(149)]());const u=window[t(121)]||1;s[t(198)](t(219)+screen[t(217)]+"x"+screen[t(178)]+" @"+u+t(192)+screen.availWidth+"x"+screen[t(228)]+", "+screen[t(153)]+t(187));const d=screen[t(148)]&&t(166)in screen[t(148)]?screen[t(148)][t(166)]:void 0;s[t(198)](t(112)+window[t(202)]+"x"+window[t(120)]+(d?t(131)+d:"")),s.push("CPU: "+navigator[t(126)]+" cores");const f=await n();f&&s[t(198)](f),s[t(198)](function(){const t=i,e="function"==typeof matchMedia&&matchMedia(t(173))[t(134)],n=typeof matchMedia===t(189)&&matchMedia(t(211))[t(134)],o=e?t(181):n?t(143):"unknown",a=navigator[t(200)];return t(157)+o+t(147)+a}());const m=await c();m&&s.push(m),s[t(198)](t(176)+(navigator[t(171)]?t(220):"no")+t(114)+(navigator.doNotTrack??t(146))),s[t(198)]("Online: "+(navigator.onLine?"yes":"no")),document[t(165)]&&s[t(198)](t(182)+document[t(165)]),s[t(198)](function(){const t=i,e=typeof matchMedia===t(189)&&matchMedia("(display-mode: standalone)")[t(134)],n=Boolean(navigator.serviceWorker?.controller);return t(138)+(n?"SW-controlled":"no SW")+t(130)+(e?t(220):"no")}());const p=await r();p&&s.push(p);const g=localStorage[t(137)](t(194))===t(174);return s[t(198)](t(g?210:207)),s[t(152)](t(133))}!function(){const t=i,e=a();for(;;)try{if(774717===-parseInt(t(205))/1+-parseInt(t(161))/2*(-parseInt(t(167))/3)+-parseInt(t(123))/4+parseInt(t(201))/5*(-parseInt(t(222))/6)+-parseInt(t(119))/7*(-parseInt(t(188))/8)+-parseInt(t(142))/9+parseInt(t(172))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();const l=O;!function(){const t=O,e=C();for(;;)try{if(393693===parseInt(t(466))/1+parseInt(t(418))/2*(parseInt(t(457))/3)+-parseInt(t(531))/4+-parseInt(t(422))/5+parseInt(t(429))/6+-parseInt(t(442))/7+-parseInt(t(559))/8)break;e.push(e.shift())}catch(t){e.push(e.shift())}}();let u,d="",f=0;let m;const p=l(473),g=l(427),w=l(405);let h=!1,y=!1,v=!1,b=!1,T=!1,S=!1;const I=l(412),x=l(487),E=l(588),M="https://intent.callimacus.ai",L=l(461),A=l(479),k=[l(416),l(543),"a",l(477),l(464),l(576),l(480),l(557)][l(561)](","),D=l(550),N=l(449),H=new Set([l(503),l(526),"additional-name",l(453),"nickname","username",l(563),l(595),l(441),"organization-title",l(554),l(495),l(568),l(414),l(433),"address-level2",l(555),l(411),l(465),l(509),l(485),"cc-name",l(456),l(419),l(502),l(398),l(589),l(410),"cc-exp-year","cc-csc",l(401),"bday",l(560),l(527),l(447),l(458),l(516)]);function P(...t){const e=l;try{typeof localStorage!==e(445)&&localStorage[e(399)](w)===e(468)&&console[e(571)](...t)}catch{}}function C(){const t=["cc-family-name","name","defineProperty","keydown","setAttribute","key","set","country-name","speed","get","latitude","cc-","Phone","tagName","webauthn","cloneNode","isSecureContext","referrer","includes","forEach","addEventListener","textContent","min","page-focus","given-name","bday-month","body","startsWith","hasFocus","6524abiTiU","hasAttribute","ignore","pointerdown","input-submit","filter","absolute","permissions","visibilitychange","Address","password","fixed","a[href]","toLowerCase","toFixed","https:","page-blur","from","toISOString","data-intent-redact","bday","pageview","Enter","street-address","address-level3","blur","[onclick]","x-intent-sid","10490984AYWUlT","bday-day","join","deviceGeoSent","email","load","geolocation","getBoundingClientRect","title","address-line2","some","scroll","log","message","right","randomUUID","target",'[role="button"]',"getAttribute","bottom","device","disabled","innerHeight","Lax","Credit card","[Timing] serialize: ","trim","protocol","onLine","intent:data-base-url","cc-exp","<no visible label>","altitudeAccuracy","number","intent_sid","Redacted","tel","lon","cc-number","getItem","role","cc-type","image/jpeg","searchbox","POSITION_UNAVAILABLE","intent:debug","outerHTML",'=""]',"remove","Birthday","cc-exp-month","address-level4","intent:data-client-id","additional-name","address-line3","width","button","omit","7434DwwIjE","cc-additional-name","timestamp","TEXTAREA","607410CToYRw","organization-title","click","heading","altitude","intent:geo","split","4123392CohGCn","autocomplete","img","POST","address-level1","Email","data-html2canvas-ignore","href","querySelectorAll","hostname","mask","bbox","organization","1297555cJFUDj","search","innerWidth","undefined","getComputedStyle","bday-year","Organization","data-intent-redact-label","[Timing] html2canvas-pro: ","INPUT","height","family-name","PERMISSION_DENIED","html","cc-given-name","576AzpONj","sex","address-level2","length","intent:data-sid-max-age","max","type",'input[type="button"]',"country","612648qKOxaV","clearTimeout","enabled","[Timing] jpeg-encoding: ","left","entries","/p.gif","intent:consent","visibilityState","location","storage",'input[type="submit"]',"input, textarea","__intent__sdk__initialized__",'[role="link"]',"scrollY","UNKNOWN","push","Password","postal-code","has","intent:data-ip","now","value","hidden","Sex","code","closest","stringify","address-line1","isFinite","intent","query","top","setTimeout","scrollX"];return(C=function(){return t})()}function B(t){return"<"+function(t){const e=l,n=(t[e(577)]?.(N)??"")[e(585)]();if(n)return n;const o=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?(t[e(430)]||"").toLowerCase()[e(585)]()[e(428)](/\s+/)[e(536)](Boolean):[];return t instanceof HTMLInputElement&&t.type===e(541)?e(484):o[e(569)](t=>t[e(529)](e(513)))?e(583):o[e(569)](t=>[e(503),e(526),e(453),e(413),"cc-name","cc-given-name",e(502)][e(520)](t))?"Name":o[e(520)](e(563))?e(434):o.includes("tel")?e(514):o.some(t=>t.startsWith(e(551)))?e(409):o[e(520)](e(458))?e(491):o.some(t=>[e(554),"address-line1",e(568),"address-line3",e(433),e(459),e(555),e(411),"postal-code",e(465),e(509)][e(520)](t))?e(540):o[e(520)](e(441))||o[e(520)](e(423))?e(448):"mask"===t[e(577)]?.(D)?.[e(544)]()?e(594):"Sensitive"}(t)+">"}function O(t,e){t-=398;return C()[t]}function U(t){const e=l;return t[e(532)](e(435))||t[e(577)](D)?.toLowerCase()===e(533)}function W(t){return!U(t)&&(!!function(t){const e=l,n=t[e(577)](D);return""===n||n?.[e(544)]()===e(439)}(t)||!!function(t){const e=l;if(t instanceof HTMLInputElement){if("password"===t.type)return!0;if(t[e(463)]===e(443))return!1;const n=t.getAttribute(e(400));if(n&&n[e(544)]()===e(403))return!1;if((t[e(430)]||"")[e(544)]()[e(585)]()[e(428)](/\s+/).filter(Boolean)[e(569)](t=>H.has(t)))return!0}if(t instanceof HTMLTextAreaElement&&(t[e(430)]||"").toLowerCase().trim().split(/\s+/).filter(Boolean).some(t=>H[e(486)](t)))return!0;return!1}(t))}const z=()=>"granted"===localStorage[l(399)](p);function F(t){return e[l(511)](t)}function j(t,n){const o=l,i=localStorage.getItem(L),a=null===i?void 0:Number(i),r=Number[o(496)](n)?Number(n):typeof a===o(592)&&Number[o(496)](a)?a:2592e3,c=window[o(475)][o(586)]===o(546);e[o(508)](o(593),t,{expires:r/86400,path:"/",sameSite:o(582),...c&&{secure:!0}})}function _(){const t=l;e[t(408)](t(593),{path:"/"})}function R(){const t=l,e=F(t(593));if(!z())return e&&_(),void(d="");e?d=e:(d=crypto[t(574)](),j(d))}function Y(){return R(),z()&&Boolean(d)&&function(){const t=l;return Boolean(localStorage[t(399)](I)?.[t(585)]()[t(460)])}()}function X(){return!Y()||v}async function G(e){return m&&await m,m=(async()=>{const n=O;try{const o=performance[n(488)](),i=performance.now(),a=function(t){const e=l,n=t[e(517)](!1);return n instanceof HTMLInputElement&&t instanceof HTMLInputElement?(Array[e(548)](t.attributes)[e(521)](({name:t,value:o})=>{n[e(506)](t,o)}),n.value=W(t)?B(t):t.value,t[e(580)]&&n[e(506)](e(580),""),n[e(406)]):n instanceof HTMLTextAreaElement&&t instanceof HTMLTextAreaElement?(Array.from(t.attributes)[e(521)](({name:t,value:o})=>{n[e(506)](t,o)}),n[e(489)]=W(t)?B(t):t.value,t.disabled&&n[e(506)](e(580),""),n.outerHTML):t[e(406)]}(e),r=performance[n(488)]()-i;P(n(584)+r[n(545)](2)+"ms");const c=e.getBoundingClientRect(),s=performance.now(),u={left:window.scrollX,top:window[n(481)],right:window.scrollX+window[n(444)],bottom:window[n(481)]+window[n(581)]},d=await t(document[n(528)],{useCORS:!0,x:window[n(501)],y:window[n(481)],width:window[n(444)],height:window[n(581)],scale:.6,logging:!1,onclone(t,e){const o=n,i=t.querySelectorAll(o(478));for(const t of i)if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){if(t[o(532)](o(435))||t[o(577)](D)?.[o(544)]()===o(533))continue;let e=!1;const n=t.getAttribute(D);if((""===n||"mask"===n?.[o(544)]())&&(e=!0),t[o(463)]===o(541)&&(e=!0),!e){const n=(t[o(577)](o(430))||"")[o(544)]().trim()[o(428)](/\s+/).filter(Boolean);if(t[o(463)]===o(443)||t.getAttribute("role")?.[o(544)]()===o(403))continue;n[o(569)](t=>H.has(t))&&(e=!0)}e&&(t.value=B(t))}},ignoreElements(t){const e=n;if(!(t instanceof Element))return!1;if(U(t))return!0;const o=t[e(566)](),i={left:o[e(470)]+window[e(501)],top:o.top+window.scrollY,right:o[e(573)]+window[e(501)],bottom:o[e(578)]+window.scrollY},a=100;if(i[e(573)]<u.left-a||i[e(470)]>u[e(573)]+a||i[e(578)]<u.top-a||i[e(499)]>u[e(578)]+a){const n=window[e(446)](t),{position:o}=n;if(o===e(542)||o===e(537)){const t=500;return i[e(573)]<u[e(470)]-t||i[e(470)]>u[e(573)]+t||i[e(578)]<u[e(499)]-t||i.top>u[e(578)]+t}return!0}return!1}}),f=performance[n(488)]()-s;P(n(450)+f[n(545)](2)+"ms");const m=performance[n(488)](),p=d.toDataURL(n(402),.8),g=performance[n(488)]()-m;P(n(469)+g[n(545)](2)+"ms");const w=performance.now();return P("[Timing] capture-total: "+(w-o)[n(545)](2)+"ms"),{html:a,bbox:{x:c.x,y:c.y,w:c[n(415)],h:c[n(452)]},img:p}}finally{m=void 0}})(),m}function K(){const t=l,e=localStorage[t(399)](I),n={"Content-Type":"application/json"};return e&&(n["x-sl-access-token"]=e),d&&(n[t(558)]=d),n}async function q(t){const e=l,n=(localStorage.getItem(E)??M)+"/events",o=localStorage[e(399)](I)??void 0,i=JSON[e(494)]({...t,clientId:o});try{if((await fetch(n,{method:e(432),headers:K(),body:i,keepalive:!0,credentials:e(417)})).ok)return}catch{}try{await async function(t){const e=l,n=(localStorage[e(399)](E)??M)+e(472);if(!(await fetch(n,{method:"POST",headers:K(),body:JSON.stringify(t),keepalive:!0,credentials:e(417),cache:"no-store"})).ok)throw new Error("pixel body fallback failed")}(t)}catch{}}async function J(t,e,n,o){const i=l;if(!Y())return;const a={...e,localTime:(new Date)[i(549)]()};(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&(a.value=W(n)?B(n):n[i(489)]);let r="",c={x:0,y:0,w:0,h:0},s="";const u=!(t===i(570)||"page-blur"===t||t===i(525)),d=Date[i(488)](),m=d-f>=0;let p=o;const g=t===i(424)||t===i(535)||t===i(552);u&&(g&&!p||!p&&m)&&(p=await G(n),f=d),p&&(r=p[i(455)],c=p[i(440)],s=p[i(431)]);const w=t===i(547)||t===i(525)||"pageview"===t,h={ts:Date[i(488)](),event:t,props:a,html:w?"":r,bbox:c,img:s};await q(h)}function Z(){const t=l;return localStorage[t(399)](g)===t(468)}async function V(t={}){const e=l;if(!Y())return;const n="number"==typeof t.lat&&typeof t[e(596)]===e(592);if(n&&y)return;if(!n&&h)return;const o=localStorage[e(399)](x),i={context:await s()};o&&(i.ip=o);for(const[n,o]of Object[e(471)](t))i[n]=o;await J("context",i,document[e(528)],{html:"",bbox:{x:0,y:0,w:0,h:0},img:""}),n?y=!0:h=!0}async function Q(){const t=l,e={canSend:Y(),geoEnabled:Z(),deviceGeoSent:y};if(!e.canSend||!e.geoEnabled||e[t(562)])return;if(location[t(586)],!("geolocation"in navigator))return;if(T)return;T=!0,v=!0;const n={enableHighAccuracy:!1,maximumAge:3e5,timeout:2e4};Date[t(488)]();try{await(navigator[t(538)]?.[t(498)]({name:t(565)}))}catch(t){}await new Promise(t=>{let e=!1;const o=async(n,o,i)=>{const a=O;e||(e=!0,Date[a(488)](),Number[a(496)](n)&&Number[a(496)](o)&&await V({lat:n,lon:o,source:a(579)}),T=!1,v=!1,S=!0,t())};navigator.geolocation.getCurrentPosition(t=>{const e=O,n=t.coords;o(n[e(512)],n.longitude,(n.accuracy,typeof n[e(426)]===e(592)&&n[e(426)],typeof n.altitudeAccuracy===e(592)&&n[e(591)],"number"==typeof n[e(425)]&&n[e(425)],typeof n[e(510)]===e(592)&&n[e(510)],t[e(420)],document[e(474)],document[e(530)]()))},t=>{const e=O,n=t?.[e(492)];1===n?e(454):2===n?e(404):3===n||e(482),t?.[e(572)],navigator[e(587)],document.hasFocus(),window[e(518)],location[e(586)],location[e(438)],o(void 0,void 0)},n)})}function $(){const t=l;if(b||!Z()||y)return;b=!0;const e=()=>{const t=O;window.removeEventListener("pointerdown",e,!0),window.removeEventListener(t(505),e,!0),Q()};window[t(522)]("pointerdown",e,!0),window.addEventListener(t(505),e,!0)}R();let tt=!document[l(490)]&&document[l(530)](),et=document[l(530)]();function nt(){const t=l;if(X())return;const e=!document[t(490)]&&document[t(530)]();e&&(et=!0),et||e?e!==tt&&(tt=e,J(t(e?525:547),{},document.body)):tt=e}function ot(){const t=l;(function(){const t=l,e=globalThis;return!e[A]&&(Object[t(504)](e,A,{value:!0,configurable:!1,enumerable:!1,writable:!1}),!0)})()&&(window[t(522)](t(564),()=>{const e=t;Y()&&(V(),(window[e(518)]||"localhost"===location[e(438)])&&(Z()&&$(),window[e(522)]("focus",()=>{!y&&Z()&&!T&&S&&Q()}),document[e(522)](e(539),()=>{!document.hidden&&!y&&Z()&&!T&&S&&Q()})))}),window[t(522)](t(476),e=>{const n=t;e[n(507)]===p&&("granted"===localStorage.getItem(p)?(h=!1,V(),Z()&&$()):(h=!1,y=!1)),e[n(507)]===g&&(Z()?$():y=!1)}),window.addEventListener(t(564),()=>{const e=t;Y()&&J(e(552),{url:window[e(475)][e(436)],title:document[e(567)],ref:document[e(519)]},document[e(528)])}),addEventListener(t(534),function(t,e){let n=0;return(...o)=>{const i=Date[O(488)]();i-n>=e&&(n=i,t(...o))}}(e=>{const n=t;if(X())return;const o=e[n(575)]instanceof Element?e[n(575)][n(493)](k):null;o instanceof HTMLElement&&(u=G(o))},50),{capture:!0,passive:!0}),addEventListener(t(424),async e=>{const n=t;if(X())return;if(!(e[n(575)]instanceof Element))return;const o=e[n(575)][n(493)](k);if(!(o instanceof HTMLElement))return;const i=function(t){const e=l;return t[e(577)]("aria-label")??t[e(567)]??t[e(523)]?.[e(585)]()??e(590)}(o);(async()=>{const t=n,e=u?await u:void 0;u=void 0,J(t(424),{tag:o[t(515)],label:i},o,e)})()},!0),addEventListener(t(505),e=>{const n=t;if(!X()&&e[n(507)]===n(553)){const t=e[n(575)];if(t instanceof HTMLElement&&(t.tagName===n(451)||t.tagName===n(421))){const e=t instanceof HTMLInputElement?t[n(503)]:void 0,o=t.id||void 0;J("input-submit",{tag:t[n(515)],name:e??o},t)}}},{capture:!0}),["focus",t(556)].forEach(e=>{window[t(522)](e,nt)}),document.addEventListener(t(539),nt),window[t(522)](t(570),function(t,e){let n;return(...o)=>{const i=O;void 0!==n&&window[i(467)](n),n=window[i(500)](()=>{n=void 0,t(...o)},e)}}(()=>{const e=t;X()||J("scroll",{scrollX:window[e(501)],scrollY:window[e(481)]},document[e(528)])},250),{passive:!0}),window[t(497)]??={send(e,n){const o=t;Y()&&J(e,n,document[o(528)])}})}function it(t,e){t-=235;return at()[t]}function at(){const t=["intent_sid","https://intent.callimacus.ai","disabled","undefined","enabled","626hirskl","sidMaxAgeSeconds","intent:debug","baseUrl","setItem","intent:data-ip","3152lzNckL","5938158GncBbi","8HPZbfP","debug","now","number","249zYoDWT","randomUUID","clientId","intent:consent","consent","27248SkfBao","9988812aPDYEu","intent:data-client-id","2257955DODUiJ","8215634laExZn","granted","3264920JLYLyH","intent:data-sid-max-age","function","intent:geo","geo","intent:data-base-url","random","11FfZWZd"];return(at=function(){return t})()}function rt(t,e){const n=it;try{if(void 0===e)return;localStorage[n(243)](t,e?t===n(254)?n(261):n(238):n(236))}catch{}}function ct(t){rt(it(254),t)}function st(t){rt("intent:geo",t)}function lt(t){rt(it(241),t)}function ut(t={}){const e=it;if(localStorage.setItem(e(258),t[e(253)]??""),localStorage.setItem(e(244),t.ip??""),localStorage[e(243)](e(267),t[e(242)]??e(235)),typeof t[e(240)]===e(250)&&localStorage[e(243)](e(263),String(t[e(240)])),rt("intent:consent",t[e(255)]),rt(e(265),t[e(266)]),rt(e(241),t[e(248)]),t[e(255)]){if(!F("intent_sid")){j(typeof crypto!==e(237)&&typeof crypto[e(252)]===e(264)?crypto[e(252)]():Date[e(249)]()+"-"+Math[e(268)](),t[e(240)])}}ot()}function dt(){return F(it(270))}function ft(){R()}function mt(){_()}function pt(t){const e=it;Number.isFinite(t)&&localStorage.setItem(e(263),String(t));const n=F(e(270));n&&j(n,t)}!function(){const t=it,e=at();for(;;)try{if(751172===parseInt(t(239))/1*(parseInt(t(245))/2)+-parseInt(t(251))/3*(-parseInt(t(256))/4)+parseInt(t(259))/5+-parseInt(t(246))/6+parseInt(t(260))/7+parseInt(t(247))/8*(-parseInt(t(257))/9)+-parseInt(t(262))/10*(parseInt(t(269))/11))break;e.push(e.shift())}catch(t){e.push(e.shift())}}();export{mt as clearIntentSessionId,ft as ensureIntentSessionId,dt as getIntentSessionId,ut as initIntent,ct as setConsent,lt as setDebug,rt as setFlag,st as setGeo,pt as setIntentSessionMaxAge};
4
+ import t from"html2canvas-pro";import e from"js-cookie";function n(t,e){return t-=173,r()[t]}async function o(){const t=n,e=(new(Intl[t(274)])).resolvedOptions()[t(275)],o=(t=>{const e=n,o=t<=0?"+":"-",r=Math.abs(t);return""+o+String(Math[e(236)](r/60)).padStart(2,"0")+":"+String(r%60)[e(279)](2,"0")})((new Date).getTimezoneOffset()),r=[];r[t(173)]("Language: "+navigator.language),navigator.languages?.[t(267)]&&r.push(t(238)+navigator[t(283)][t(218)](", ")),r[t(173)]("User agent: "+navigator[t(226)]);const i=function(){const t=n;if(!(t=>{const e=n;return e(243)in t&&void 0!==t[e(243)]})(navigator))return;const e=navigator[t(243)],o=Array.isArray(e[t(256)])?e[t(256)].map(e=>e[t(245)]+" "+e[t(246)]).join(", "):void 0,r=e[t(184)]?""+e.platform+(e.mobile?t(205):""):void 0;return[o&&t(250)+o,r&&t(182)+r][t(224)](Boolean).join(t(251))||void 0}();i&&r[t(173)](i),r[t(173)](t(278)+e+t(262)+o+")"),r[t(173)](t(277)+(new Date)[t(211)]());const a=window.devicePixelRatio||1;r[t(173)](t(223)+screen[t(229)]+"x"+screen.height+" @"+a+t(286)+screen[t(191)]+"x"+screen[t(197)]+", "+screen.colorDepth+"-bit)");const s=screen[t(198)]&&t(280)in screen[t(198)]?screen[t(198)][t(280)]:void 0;r[t(173)](t(272)+window.innerWidth+"x"+window.innerHeight+(s?t(241)+s:"")),r[t(173)](t(230)+navigator.hardwareConcurrency+" cores");const c=await async function(){const t=n,e=[];let o=t(185);if(r=navigator,n(239)in r&&void 0!==r.connection){const n=navigator[t(239)];n?.[t(266)]&&e.push(n.effectiveType),"number"==typeof n?.[t(252)]&&e.push("~"+n.downlink+" Mbps"),typeof n?.[t(271)]===t(177)&&e[t(173)](n[t(271)]+t(273)),n?.[t(255)]&&e[t(173)](t(255))}else{const r=((t=20)=>{const e=n,o=performance.getEntriesByType(e(263)).find(t=>t[e(260)]===e(263)),r=o?Math[e(183)](0,o[e(215)]-o[e(233)]):void 0,i=performance.getEntriesByType("resource")[e(224)](t=>t.entryType===e(248));let a=0,s=0;for(const n of i[e(240)](0,Math.max(0,t))){const t=n[e(253)]>0?n[e(253)]:n.transferSize>0?n.transferSize:0,o=n[e(285)];t>0&&o>0&&Number.isFinite(o)&&(a+=t,s+=o)}const c=s>0?8*a/s:void 0;return{downlinkMbps:typeof c===e(177)?c/1e3:void 0,rttMs:r}})();typeof r[t(190)]===t(177)&&e[t(173)]("~"+r[t(190)][t(210)](1)+t(261)),"number"==typeof r.rttMs&&e.push(t(175)+Math[t(187)](r[t(212)])+t(273)),o="inferred"}var r;const i=performance[t(234)](t(263))[t(276)](e=>e[t(260)]===t(263));if(i){const n=Math[t(183)](0,i[t(215)]-i[t(233)]);!e[t(237)](e=>e[t(207)]("TTFB"))&&e[t(173)](t(175)+Math.round(n)+t(273))}return e.length?t(181)+e.join(", ")+" ("+o+")":void 0}();c&&r[t(173)](c),r[t(173)]((()=>{const t=n,e="function"==typeof matchMedia&&matchMedia(t(217))[t(206)],o="function"==typeof matchMedia&&matchMedia(t(200)).matches,r=t(e?259:o?203:180),i=navigator[t(228)];return"Pointer/Touch: "+r+t(227)+i})());const d=await async function(){const t=n;var e;if("getBattery"in(e=navigator)&&typeof e.getBattery===n(221))try{const e=await navigator[t(176)](),n=Math.round(100*e[t(194)]),o=[(Number.isFinite(n)?n:0)+"%",e[t(178)]?"charging":t(199)];return t(179)+o[t(218)](", ")}catch{}}();d&&r[t(173)](d),r[t(173)](t(192)+(navigator.cookieEnabled?t(202):"no")+t(232)+(navigator[t(216)]??"n/a")),r[t(173)](t(188)+(navigator[t(209)]?t(202):"no")),document[t(264)]&&r.push(t(281)+document[t(264)]),r[t(173)]((()=>{const t=n,e=typeof matchMedia===t(221)&&matchMedia("(display-mode: standalone)")[t(206)];return"PWA: "+(Boolean(navigator[t(268)]?.[t(258)])?"SW-controlled":t(222))+t(254)+(e?"yes":"no")})());const l=await async function(t=400){const e=n;if(e(208)in window&&window[e(235)])return new Promise(o=>{const r=e;let i=!1;const a=t=>{const e=n,r="number"==typeof t[e(204)]?t.beta:void 0,s=typeof t[e(196)]===e(177)?t.gamma:void 0;if(void 0===r||void 0===s)return;if(i)return;i=!0,window[e(269)](e(214),a);const c=((t,e)=>{const o=n,r=Math[o(189)](t),i=Math[o(189)](e);return r<15&&i<15?o(201):r>=60?o(195):"reclined"})(r,s);o(e(284)+c+e(244)+Math[e(187)](r)+"°, γ "+Math[e(187)](s)+"°)")};window.setTimeout(()=>{const t=n;i||(i=!0,window[t(269)](t(214),a),o(void 0))},t),window[r(174)](r(214),a,{passive:!0})})}();l&&r.push(l);const u="enabled"===localStorage[t(249)](t(213));return r[t(173)](t(u?219:270)),r[t(218)](t(251))}function r(){const t=["not charging","(pointer: fine)","flat","yes","fine","beta"," (mobile)","matches","startsWith","DeviceOrientationEvent","onLine","toFixed","toString","rttMs","intent:geo","deviceorientation","responseStart","doNotTrack","(pointer: coarse)","join","Device geolocation: enabled","18FIquak","function","no SW","Screen: ","filter","6FDWgtD","userAgent",", maxTouchPoints ","maxTouchPoints","width","CPU: ","6169144uSpbRa","; DNT: ","requestStart","getEntriesByType","isSecureContext","floor","some","Languages: ","connection","slice",", orientation ","1281198WpqaEp","userAgentData"," (β ","brand","version","27678TLypTd","resource","getItem","UA brands: "," | ","downlink","encodedBodySize",", display-mode standalone: ","saveData","brands","42gelNSv","controller","coarse","entryType"," Mbps"," (UTC","navigation","referrer","2281152dZsXpd","effectiveType","length","serviceWorker","removeEventListener","Device geolocation: disabled","rtt","Viewport: "," ms","DateTimeFormat","timeZone","find","Local time: ","Timezone: ","padStart","type","Referrer: ","4455330XmNMCs","languages","Tilt: ","duration","x (avail ","push","addEventListener","TTFB ~","getBattery","number","charging","Battery: ","unknown","Network: ","Platform: ","max","platform","browser API","4406395jXjdgw","round","Online: ","abs","downlinkMbps","availWidth","CookiesEnabled: ","435192HPehGL","level","upright","gamma","availHeight","orientation"];return(r=()=>t)()}(()=>{const t=n,e=r();for(;;)try{if(777558==-parseInt(t(225))/1*(-parseInt(t(247))/2)+parseInt(t(265))/3+parseInt(t(193))/4+-parseInt(t(186))/5+-parseInt(t(242))/6*(parseInt(t(257))/7)+-parseInt(t(231))/8*(-parseInt(t(220))/9)+parseInt(t(282))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();const i=s;(()=>{const t=s,e=f();for(;;)try{if(974204==-parseInt(t(520))/1*(-parseInt(t(478))/2)+-parseInt(t(502))/3*(-parseInt(t(528))/4)+-parseInt(t(480))/5*(parseInt(t(523))/6)+-parseInt(t(512))/7*(-parseInt(t(486))/8)+-parseInt(t(517))/9*(parseInt(t(535))/10)+parseInt(t(484))/11*(-parseInt(t(481))/12)+-parseInt(t(487))/13*(-parseInt(t(444))/14))break;e.push(e.shift())}catch(t){e.push(e.shift())}})();const a=i(495);function s(t,e){return t-=438,f()[t]}const c=new Set([i(496),i(513),i(508),i(504),i(464),i(477),i(450),"tel",i(488),i(465),i(530),i(442),i(474),i(537),i(524),"address-level2","address-level3","address-level4",i(503),i(516),i(458),i(457),i(518),i(469),"cc-family-name",i(515),"cc-exp","cc-exp-month",i(446),i(441),"cc-type","bday","bday-day",i(461),i(529),"sex",i(491)]);function d(t){return"<"+(t=>{const e=i,n=(t[e(521)]?.("data-intent-redact-label")??"")[e(519)]();if(n)return n;const o=t.getAttribute?.(e(527))||"",r=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?o.toLowerCase().trim()[e(526)](/\s+/)[e(447)](Boolean):[];if(t instanceof HTMLInputElement&&t[e(476)]===e(451))return e(445);for(const t of r){const e=l.get(t);if(e)return e}const s=t.getAttribute?.(a)?.[e(475)]();return s===e(497)?e(538):"Sensitive"})(t)+">"}const l=new Map([["name",i(468)],[i(513),i(485)],[i(504),i(493)],[i(508),i(454)],[i(464),"Nickname"],[i(477),i(494)],[i(450),i(453)],[i(467),i(443)],["street-address","Street address"],[i(442),i(510)],[i(474),i(470)],[i(537),i(439)],[i(524),"State/Province"],[i(449),"City"],[i(463),"District"],[i(498),"Neighborhood"],[i(458),i(466)],[i(503),"Country code"],[i(516),"Country name"],[i(457),i(506)],[i(518),i(507)],[i(482),i(522)],["cc-additional-name",i(539)],["cc-number",i(540)],[i(472),i(525)],[i(533),"Expiration month"],[i(446),i(452)],[i(441),i(499)],[i(473),i(492)],[i(501),i(531)],[i(456),i(489)],[i(461),"Birth month"],[i(529),i(534)],[i(488),i(532)],[i(465),i(471)],[i(438),i(448)],["webauthn",i(511)]]);function u(t){const e=i;return t.hasAttribute(e(460))||t[e(521)](a)?.[e(475)]()===e(455)}function p(t){const e=i,n=t[e(521)](a);return""===n||"mask"===n?.[e(475)]()}function m(t){const e=i;let n=t;for(;n&&n!==document[e(490)];){if(u(n))return!0;n=n[e(541)]??void 0}return!1}function f(){const t=["password","Expiration year","Email","Middle name","ignore","bday-day","cc-name","postal-code","value","data-html2canvas-ignore","bday-month","month","address-level3","nickname","organization-title","Postal code","tel","Name","cc-additional-name","Address line 2","Job title","cc-exp","cc-type","address-line2","toLowerCase","type","username","38azEYYW","querySelectorAll","55rHDAmJ","168jFduEZ","cc-family-name","searchbox","112453AprOsf","First name","3848VyMPNF","130bGCGMe","organization","Birth day","body","webauthn","Card type","Last name","Username","data-intent-redact","name","mask","address-level4","Security code","search","bday","96HKjqjG","country","family-name","has","Cardholder name","Cardholder first name","additional-name","week","Address line 1","WebAuthn","4907kvFpdK","given-name","date","cc-number","country-name","63pfweQI","cc-given-name","trim","87881zBZNQY","getAttribute","Cardholder last name","945258gxosFe","address-level1","Expiration date","split","autocomplete","104360GemgUK","bday-year","street-address","Birthday","Organization","cc-exp-month","Birth year","1009430xSMehm","some","address-line3","Redacted","Cardholder middle name","Card number","parentElement","time","sex","Address line 3","role","cc-csc","address-line1","Phone","1001140rZTNAF","Password","cc-exp-year","filter","Sex","address-level2","email"];return(f=()=>t)()}function g(t){return!(u(t)||!p(t)&&!(t=>{const e=i;if(t instanceof HTMLInputElement){if(t.type===e(451))return!0;if(t[e(476)]===e(500))return!1;const n=t[e(521)](e(440));if(n?.[e(475)]()===e(483))return!1;if((t.autocomplete||"").toLowerCase()[e(519)]()[e(526)](/\s+/)[e(447)](Boolean)[e(536)](t=>c[e(505)](t)))return!0}return!!(t instanceof HTMLTextAreaElement&&(t[e(527)]||"")[e(475)]().trim()[e(526)](/\s+/).filter(Boolean)[e(536)](t=>c.has(t)))})(t))}function h(t){const e=i;m(t)||(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?g(t)&&(t instanceof HTMLInputElement&&[e(514),"datetime-local",e(462),e(542),e(509)].includes(t[e(476)])&&(t.type="text"),t[e(459)]=d(t)):t.hasAttribute(a)&&p(t)&&(t.textContent=d(t)))}function v(t){const e=i;t instanceof Element&&h(t);const n=t[e(479)]("input, textarea");for(const t of n)h(t);const o=t[e(479)]("["+a+"]");for(const t of o)h(t)}const b=I;(()=>{const t=I,e=L();for(;;)try{if(513562==-parseInt(t(174))/1*(-parseInt(t(184))/2)+parseInt(t(178))/3*(-parseInt(t(191))/4)+parseInt(t(175))/5+-parseInt(t(179))/6*(-parseInt(t(189))/7)+-parseInt(t(181))/8*(parseInt(t(185))/9)+parseInt(t(188))/10+parseInt(t(177))/11)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();const y=b(183),w=b(180),x=b(186);function I(t,e){return t-=173,L()[t]}const S=b(176),T=b(190),k=b(187),E=b(173),M=b(182);function L(){const t=["intent:debug","intent:data-ip","3698290upzdXu","7DNLVyg","intent:data-client-id","2059220kSLVSa","intent:data-base-url","23aQgPmm","525330nVKOMo","intent:debug-panel","4120523Xmpfea","3XDRUSt","1160358lJvSuU","intent:geo","3915896aalpBy","intent:data-sid-max-age","intent:consent","41302WkEusM","9TIiJVP"];return(L=()=>t)()}const A="https://intent.callimacus.ai";(()=>{const t=D,e=P();for(;;)try{if(957741==parseInt(t(153))/1*(parseInt(t(149))/2)+-parseInt(t(157))/3+-parseInt(t(142))/4+-parseInt(t(151))/5+-parseInt(t(144))/6*(-parseInt(t(154))/7)+parseInt(t(138))/8*(-parseInt(t(145))/9)+parseInt(t(140))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();let C="";function N(){return C}function D(t,e){return t-=138,P()[t]}function z(t){return e[D(156)](t)}function B(t,n){const o=D,r=localStorage[o(150)](M),i=null===r?void 0:Number(r),a="number"==typeof n&&Number[o(146)](n)?n:"number"==typeof i&&Number[o(146)](i)?i:2592e3,s=window.location[o(139)]===o(143);e[o(155)](o(148),t,{expires:a/86400,path:"/",sameSite:o(152),...s&&{secure:!0}})}function H(){const t=D;e[t(141)](t(148),{path:"/"})}function P(){const t=["get","2019216BSbmas","randomUUID","8igmgTX","protocol","23891330mHprwy","remove","3590660goTcJh","https:","851580SSZStf","9344763vwKvri","isFinite","granted","intent_sid","2439002AMhUax","getItem","3757495hWMSnO","Lax","1Gfxpur","35GFsVFs","set"];return(P=()=>t)()}function O(){const t=D,e=z(t(148));if(!(()=>{const t=D;return localStorage[t(150)](y)===t(147)})())return e&&H(),void(C="");e?C=e:(C=crypto[t(158)](),B(C))}function U(){const t=["getItem","now","693gOyTxY","clearTimeout","log","16CqPpcI","8aFxlbP","&quot;","223772AnilAF","4290cmZHrd","replace","enabled","4152631AkjgsY","4630iNKJlz","2712WycyJY","&lt;","30548460wCUTam","3378VaUKDn","11755TtOkte","undefined","setTimeout","6787629sitNrg"];return(U=()=>t)()}function F(t,e){return t-=111,U()[t]}function W(...t){const e=F;try{typeof localStorage!==e(127)&&localStorage[e(130)](x)===e(119)&&console[e(112)](...t)}catch{}}function j(t){const e=F;return t.replace(/&/g,"&amp;")[e(118)](/</g,e(123))[e(118)](/>/g,"&gt;")[e(118)](/"/g,e(115)).replace(/'/g,"&#039;")}function K(t,e){return t-=494,_()[t]}(()=>{const t=F,e=U();for(;;)try{if(696395==parseInt(t(114))/1*(-parseInt(t(116))/2)+-parseInt(t(132))/3*(parseInt(t(122))/4)+-parseInt(t(126))/5*(-parseInt(t(125))/6)+-parseInt(t(120))/7*(parseInt(t(113))/8)+-parseInt(t(129))/9+-parseInt(t(121))/10*(parseInt(t(117))/11)+parseInt(t(124))/12)break;e.push(e.shift())}catch(t){e.push(e.shift())}})(),(()=>{const t=K,e=_();for(;;)try{if(906968==parseInt(t(512))/1+-parseInt(t(519))/2+-parseInt(t(498))/3+parseInt(t(522))/4*(-parseInt(t(501))/5)+parseInt(t(528))/6*(parseInt(t(524))/7)+parseInt(t(500))/8*(parseInt(t(517))/9)+parseInt(t(503))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();let R=!1,X=!1,V=!1,q=!1,Y=!1;function G(){return"enabled"===localStorage.getItem(w)}function J(){R=!1,V=!1,Y=!1}function _(){const t=["isSecureContext","3455970NOZmCI","deviceGeoSent","2088uSGSNz","5rrQqCc","altitudeAccuracy","20751970VAwNIX","pointerdown","latitude","heading","hostname","permissions","code","TIMEOUT","canRequest","523499VKjkVu","accuracy","longitude","addEventListener","keydown","35505ErKJsj","speed","952412WZkVvP","PERMISSION_DENIED","UNKNOWN","4917644bcNlkX","POSITION_UNAVAILABLE","953638zhNrcT","timestamp","geoEnabled","removeEventListener","6snZWxe","altitude","onLine","visibilityState","number","geolocation","hasFocus","getCurrentPosition","isFinite"];return(_=()=>t)()}function Q(){return!R&&G()&&!q&&Y}const Z=rt;function $(){const t=["clientY","auto","target","enabled","now","offsetHeight","setItem","classList","style","60sCeKdd","innerWidth","mousedown","mousemove","removeEventListener",'\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Bounding Box:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">',"#intent-debug-clear","✕ Close","random",'\n\t\t<div id="intent-debug-panel" data-intent-redact="ignore" style="\n\t\t\tposition: fixed;\n\t\t\ttop: 20px;\n\t\t\tright: 20px;\n\t\t\twidth: 400px;\n\t\t\tmax-height: 80vh;\n\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t\t\tz-index: 2147483647;\n\t\t\tfont-family: var(--solomei-font-primary, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif);\n\t\t\tfont-size: var(--solomei-font-size-base, 15px);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t">\n\t\t\t<div id="intent-debug-header" style="\n\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\tpadding: 12px 15px;\n\t\t\t\tborder-radius: var(--solomei-radius-lg, 10px) var(--solomei-radius-lg, 10px) 0 0;\n\t\t\t\tcursor: move;\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tuser-select: none;\n\t\t\t">\n\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); font-size: 14px;">Intent SDK Debug</div>\n\t\t\t\t<div style="display: flex; gap: 8px;">\n\t\t\t\t\t<button id="intent-debug-minimize" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">−</button>\n\t\t\t\t\t<button id="intent-debug-close" style="\n\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\twidth: 24px;\n\t\t\t\t\t\theight: 24px;\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 4px);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t">×</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div id="intent-debug-content" style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\toverflow: hidden;\n\t\t\t\tflex: 1;\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tpadding: 12px 15px;\n\t\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t">\n\t\t\t\t\t<div style="font-weight: var(--solomei-font-weight-semibold, 600); color: var(--solomei-color-foreground, #212121); margin-bottom: 8px;">Event Log</div>\n\t\t\t\t\t<div style="display: flex; gap: 8px; align-items: center;">\n\t\t\t\t\t\t<button id="intent-debug-clear" style="\n\t\t\t\t\t\t\tbackground: var(--solomei-color-primary, #262626);\n\t\t\t\t\t\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\t\tpadding: 6px 12px;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\t\t">Clear</button>\n\t\t\t\t\t\t<span id="intent-debug-count" style="color: var(--solomei-color-text-secondary, #979797); font-size: 12px;">0 events</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div id="intent-debug-events" style="\n\t\t\t\t\tflex: 1;\n\t\t\t\t\toverflow-y: auto;\n\t\t\t\t\tpadding: 10px;\n\t\t\t\t">\n\t\t\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t',"283152iOJhak","timestamp","bbox","47173630dEXOzL","\n\t\tmargin-top: 20px;\n\t\tdisplay: flex;\n\t\tgap: 20px;\n\t\talign-items: center;\n\t","</pre>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t</div>\n\t","Click anywhere or press ESC to close","intent-debug-screenshot","html","img","click","contains","51352GOshfs","src","reverse","min","</div>\n\t\t\t</div>\n\t\t\t","mouseup","9EBgVGv","\n\t\tmax-width: 100%;\n\t\tmax-height: calc(95vh - 60px);\n\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.2));\n\t","div","loading","randomUUID","157647qSAQVR","firstElementChild","key","join","innerHTML","Escape","1562186uWOaRC","addEventListener","body","innerHeight","1849715xRLzYK","#intent-debug-content","keydown","BUTTON"," event","createElement","\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: rgba(0, 0, 0, 0.95);\n\t\tz-index: 2147483646;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: zoom-out;\n\t","querySelector","toLocaleTimeString",'" \n\t\t\t\t\t\tclass="intent-debug-screenshot" \n\t\t\t\t\t\tstyle="\n\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t" \n\t\t\t\t\t\ttitle="Click to view fullscreen"/>\n\t\t\t\t\t<div style="\n\t\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tmargin-top: 4px;\n\t\t\t\t\t">Screenshot (~',"11392952LWnpQn",'</div>\n\t\t\t\t<div style="\n\t\t\t\t\tcolor: var(--solomei-color-text-secondary, #979797);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t">',"#intent-debug-count","\n\t\tmax-width: 95%;\n\t\tmax-height: 95%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t",'\n\t\t\t<div style="color: var(--solomei-color-muted-foreground, #979797); text-align: center; padding: 20px;">\n\t\t\t\tNo events captured yet. Interact with the page to see events.\n\t\t\t</div>\n\t\t',"ignore","display","left","200px","#intent-debug-close","top","cssText","readyState","intent-debug-fullscreen-modal","startsWith","#intent-debug-minimize","0 events","1044IMEyIY","round","clientX","appendChild","event","stringify","textContent","none","right","shift","stopPropagation","function","props","width","#intent-debug-events","max","length","\n\t\tpadding: 12px 24px;\n\t\tbackground: var(--solomei-color-primary-button-background, #262626);\n\t\tcolor: var(--solomei-color-primary-button-color, white);\n\t\tborder: none;\n\t\tborder-radius: var(--solomei-radius-button, 20px);\n\t\tfont-size: 14px;\n\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\tcursor: pointer;\n\t\tbox-shadow: var(--solomei-shadow-box, 0 2px 10px rgba(0, 0, 0, 0.15));\n\t",'\n\t\t\t<details style="margin-top: 8px;">\n\t\t\t\t<summary style="\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-regular, 500);\n\t\t\t\t\tuser-select: none;\n\t\t\t\t">View Details</summary>\n\t\t\t\t<div style="\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\tpadding: 8px;\n\t\t\t\t\tbackground: var(--solomei-color-secondary, #fafaf9);\n\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t">\n\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>Properties:</strong></div>\n\t\t\t\t\t<pre style="\n\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t">',"undefined","getBoundingClientRect","</pre>\n\t\t\t\t\t","preventDefault"];return($=()=>t)()}(()=>{const t=rt,e=$();for(;;)try{if(845160==parseInt(t(160))/1+parseInt(t(131))/2+-parseInt(t(154))/3*(-parseInt(t(121))/4)+parseInt(t(164))/5+-parseInt(t(191))/6*(-parseInt(t(143))/7)+parseInt(t(174))/8*(parseInt(t(149))/9)+-parseInt(t(134))/10)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();let tt,et=[],nt=!1;function ot(){const t=rt;if(!tt)return;const e=tt[t(171)](t(205)),n=tt.querySelector(t(176));if(!e||!n)return;if(0===et[t(207)])return e[t(158)]=t(178),void(n.textContent=t(190));const o=[...et][t(145)]();e[t(158)]=o.map(t=>(t=>{const e=rt,n=new Date(t[e(132)])[e(172)](),o=t[e(140)]&&t[e(140)][e(207)]>0,r=o?Math[e(192)](.75*t[e(140)][e(207)]/1024):0,i=j(t[e(195)]),a=j(JSON[e(196)](t[e(203)],null,2)),s=j(t[e(139)]),c=j(JSON[e(196)](t[e(133)],null,2));return'\n\t\t<div style="\n\t\t\tbackground: var(--solomei-color-card, white);\n\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\tborder-radius: var(--solomei-radius-lg, 10px);\n\t\t\tpadding: 10px;\n\t\t\tmargin-bottom: 8px;\n\t\t">\n\t\t\t<div style="\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tpadding-bottom: 8px;\n\t\t\t\tborder-bottom: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t">\n\t\t\t\t<div style="\n\t\t\t\t\tfont-weight: var(--solomei-font-weight-semibold, 600);\n\t\t\t\t\tcolor: var(--solomei-color-foreground, #212121);\n\t\t\t\t\tfont-size: 13px;\n\t\t\t\t">'+i+e(175)+n+e(147)+(o?'\n\t\t\t\t<div style="margin-bottom: 8px;">\n\t\t\t\t\t<img src="'+t[e(140)]+e(173)+r+" KB)</div>\n\t\t\t\t</div>\n\t\t\t":"")+e(209)+a+"</pre>\n\t\t\t\t\t"+(t[e(139)]?'\n\t\t\t\t\t\t<div style="margin-bottom: 6px;"><strong>HTML:</strong></div>\n\t\t\t\t\t\t<pre style="\n\t\t\t\t\t\t\tmargin: 0 0 8px 0;\n\t\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\t\tbackground: var(--solomei-color-background, white);\n\t\t\t\t\t\t\tborder-radius: var(--solomei-radius-sm, 6px);\n\t\t\t\t\t\t\toverflow-x: auto;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\twhite-space: pre-wrap;\n\t\t\t\t\t\t\tword-break: break-word;\n\t\t\t\t\t\t\tborder: 1px solid var(--solomei-color-border, #e5e5e5);\n\t\t\t\t\t\t">'+s+e(212):"")+e(126)+c+e(136)})(t))[t(157)](""),n[t(197)]=et[t(207)]+t(168)+(1===et[t(207)]?"":"s")}function rt(t,e){return t-=115,$()[t]}function it(){const t=rt;if(tt)return void(tt.style.display="flex");const e=document[t(169)](t(151));e.innerHTML=rt(130),tt=e[t(155)],document.body[t(194)](tt);const n=tt.querySelector(t(183)),o=tt.querySelector(t(189)),r=tt.querySelector(t(127));n?.addEventListener("click",()=>{!function(t){const e=rt;try{localStorage[e(118)](S,t?e(115):"disabled"),t?it():(()=>{const t=rt;tt&&(tt.style[t(180)]=t(198))})()}catch{}}(!1)}),o?.[t(161)](t(141),()=>{(()=>{const t=rt;if(!tt)return;const e=tt[t(171)](t(165)),n=tt[t(171)](t(189));e&&n&&(nt=!nt,nt?(e[t(120)][t(180)]=t(198),tt[t(120)][t(204)]=t(182),n[t(197)]="+"):(e[t(120)][t(180)]="flex",tt[t(120)][t(204)]="400px",n[t(197)]="−"))})()}),r?.[t(161)](t(141),()=>{et=[],ot()}),(()=>{const t=rt;if(!tt)return;const e=tt[t(171)]("#intent-debug-header");if(!e)return;let n=!1,o=0,r=0,i=0,a=0;e[t(161)](t(123),e=>{const o=t;if(e[o(216)].tagName===o(167))return;n=!0;const r=tt[o(211)]();i=e[o(193)]-r.left,a=e[o(214)]-r[o(184)]}),document[t(161)](t(124),e=>{const s=t;if(!n||!tt)return;e[s(213)](),o=e[s(193)]-i,r=e[s(214)]-a;const c=window[s(122)]-tt.offsetWidth,d=window[s(163)]-tt[s(117)];o=Math[s(206)](0,Math[s(146)](o,c)),r=Math[s(206)](0,Math[s(146)](r,d)),tt[s(120)][s(181)]=o+"px",tt[s(120)][s(184)]=r+"px",tt[s(120)][s(199)]=s(215)}),document[t(161)](t(148),()=>{n=!1})})(),tt[t(161)](t(141),e=>{const n=t,o=e.target;if(o[n(119)][n(142)](n(138))){const t=o;t[n(144)]&&t[n(144)][n(188)]("data:image/")&&(t=>{const e=rt,n=document.createElement(e(151));n.id=e(187),n.setAttribute("data-intent-redact",e(179)),n[e(120)].cssText=e(170);const o=document[e(169)](e(151));o[e(120)].cssText=e(177);const r=document[e(169)](e(140));r.src=t,r[e(120)][e(185)]=e(150);const i=document[e(169)]("div");i[e(120)][e(185)]=e(135);const a=document[e(169)]("button");a[e(197)]=e(128),a.style.cssText=e(208);const s=document[e(169)]("div");s[e(197)]=e(137),s[e(120)][e(185)]="\n\t\tcolor: var(--solomei-color-primary-foreground, white);\n\t\tfont-size: 13px;\n\t",i.appendChild(a),i[e(194)](s),o[e(194)](r),o[e(194)](i),n[e(194)](o);const c=()=>{n.remove()};n[e(161)](e(141),c),a[e(161)]("click",t=>{t[e(201)](),c()}),r.addEventListener(e(141),t=>{t[e(201)]()});const d=t=>{const n=e;t[n(156)]===n(159)&&(c(),document[n(125)]("keydown",d))};document[e(161)](e(166),d),document[e(162)].appendChild(n)})(t[n(144)])}}),ot()}function at(t,e){return t-=214,st()[t]}function st(){var t=["Use the debug build variant: @solomei-ai/intent/debug or intent.debug.umd.min.js","9340120etXKXi","83859DPWbtv","3114174WLIXfb","setDebugPanel","4868245tzDeyQ","18247815eBsEsH","1uTNhVH","5618212YBYGKN","105959dCbJxo","warn","[Intent SDK] Debug panel is not available in this build. ","undefined","logEventToDebugPanel","294UAsNRv"];return(st=()=>t)()}typeof window!==Z(210)&&function(){const t=rt;try{return localStorage.getItem(S)===t(115)}catch{return!1}}()&&(document[Z(186)]===Z(152)?document.addEventListener("DOMContentLoaded",()=>{it()}):it()),Symbol,(()=>{for(var t=at,e=st();;)try{if(808571==-parseInt(t(216))/1*(-parseInt(t(227))/2)+parseInt(t(226))/3+-parseInt(t(217))/4+-parseInt(t(214))/5+parseInt(t(223))/6*(parseInt(t(218))/7)+-parseInt(t(225))/8+parseInt(t(215))/9)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();const ct=pt;function dt(){const t=["tagName","21734028AfNLPH","hostname","hidden","from","736SvBQZi","omit","key","location","toDataURL","focus","width","page-focus","pixel body fallback failed","forEach","bottom","1170538sIRayP","textContent","device","scroll","trim",'input[type="button"]',"height","toISOString","1030rxHGRz","x-sl-access-token","outerHTML","body","left","scrollX","543310emkPoG","innerHeight","toFixed","getItem","visibilitychange","absolute","[Timing] jpeg-encoding: ","addEventListener","html","pageview","number","10016SKQmbX","click","load","getAttribute","length","localhost","scrollY","entries","<no visible label>","name","join","isSecureContext","pointerdown","keydown","2DLpQId","referrer","1371AMnaSA","stringify","closest","[Timing] html2canvas-pro: ","setAttribute","application/json","x-intent-sid","INPUT","granted",'input[type="submit"]',"img","153vRwakF","target","page-blur","94143iTdTCW","lon","lat","bbox","__intent__sdk__initialized__","now","/p.gif","value","top","right","[Timing] capture-total: ","[onclick]","attributes","12303544cAuaNt","cloneNode","a[href]","Enter",'[role="link"]',"hasFocus","3594fLDkpv","innerWidth","image/jpeg","TEXTAREA","fixed"];return(dt=()=>t)()}(()=>{const t=pt,e=dt();for(;;)try{if(662128==parseInt(t(273))/1*(-parseInt(t(234))/2)+-parseInt(t(275))/3*(parseInt(t(259))/4)+parseInt(t(242))/5*(parseInt(t(213))/6)+-parseInt(t(194))/7*(-parseInt(t(223))/8)+-parseInt(t(191))/9*(-parseInt(t(248))/10)+-parseInt(t(207))/11+parseInt(t(219))/12)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();let lt,ut=0;function pt(t,e){return t-=187,dt()[t]}let mt,ft=!1;const gt=ct(198),ht=["button",ct(209),"a",ct(189),ct(239),'[role="button"]',ct(211),ct(205)][ct(269)](",");function vt(){return O(),(()=>{const t=ct;return localStorage[t(251)](y)===t(188)})()&&Boolean(N())&&(()=>{const t=ct;return Boolean(localStorage[t(251)](T)?.[t(238)]()[t(263)])})()}function bt(){return!vt()||X}async function yt(e){return mt&&await mt,mt=(async()=>{const n=pt;try{const o=performance[n(199)](),r=performance[n(199)](),i=(t=>{const e=ct;if(u(t))return"";const n=t[e(208)](!1);return Array[e(222)](t[e(206)])[e(232)](({name:t,value:e})=>{n.setAttribute(t,e)}),t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement?(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&(n[e(201)]=t.value):n[e(235)]=t.textContent,v(n),(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&n[e(279)](e(201),n[e(201)]),n[e(244)]})(e);W("[Timing] serialize: "+(performance[n(199)]()-r)[n(250)](2)+"ms");const a=e.getBoundingClientRect(),s=performance[n(199)](),c={left:window.scrollX,top:window[n(265)],right:window.scrollX+window[n(214)],bottom:window.scrollY+window[n(249)]},d=await t(document[n(245)],{useCORS:!0,x:window[n(247)],y:window.scrollY,width:window.innerWidth,height:window[n(249)],scale:.6,logging:!1,onclone(t,e){v(t)},ignoreElements(t){const e=n;if(!(t instanceof Element))return!1;if(m(t))return!0;const o=t.getBoundingClientRect(),r={left:o[e(246)]+window[e(247)],top:o[e(202)]+window.scrollY,right:o[e(203)]+window[e(247)],bottom:o[e(233)]+window[e(265)]},i=100;if(r[e(203)]<c[e(246)]-i||r[e(246)]>c.right+i||r[e(233)]<c.top-i||r[e(202)]>c[e(233)]+i){const n=window.getComputedStyle(t),{position:o}=n;if(o===e(217)||o===e(253)){const t=500;return r[e(203)]<c[e(246)]-t||r[e(246)]>c[e(203)]+t||r.bottom<c[e(202)]-t||r[e(202)]>c[e(233)]+t}return!0}return!1}}),l=performance[n(199)]()-s;W(n(278)+l[n(250)](2)+"ms");const p=performance.now(),f=d[n(227)](n(215),.8),g=performance.now()-p;W(n(254)+g[n(250)](2)+"ms");const h=performance[n(199)]()-o;return W(n(204)+h[n(250)](2)+"ms"),{html:i,bbox:{x:a.x,y:a.y,w:a[n(229)],h:a[n(240)]},img:f,fullCanvas:d}}finally{mt=void 0}})(),mt}function wt(){const t=ct,e=localStorage[t(251)](T),n={"Content-Type":t(280)};e&&(n[t(243)]=e);const o=N();return o&&(n[t(281)]=o),n}async function xt(t,e,n,o){const r=ct;if(!vt())return;const i={...e,localTime:(new Date)[r(241)]()};(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)&&(i[r(201)]=g(n)?d(n):n[r(201)]);let a="",s={x:0,y:0,w:0,h:0},c="";const l=!(t===r(237)||t===r(193)||"page-focus"===t),u=Date[r(199)](),p=u-ut>=0;let m=o;const f="click"===t||"input-submit"===t||t===r(257);l&&(f&&!m||!m&&p)&&(m=await yt(n),ut=u),m&&(a=m[r(256)],s=m[r(197)],c=m[r(190)]);const h=t===r(193)||t===r(230)||t===r(257),v={ts:Date[r(199)](),event:t,props:i,html:h?"":a,bbox:s,img:c};await async function(t){const e=ct,n=(localStorage[e(251)](E)??A)+"/events",o=localStorage[e(251)](T)??void 0,r=JSON[e(276)]({...t,clientId:o});try{if((await fetch(n,{method:"POST",headers:wt(),body:r,keepalive:!0,credentials:e(224)})).ok)return}catch{}try{await(async t=>{const e=ct,n=(localStorage[e(251)](E)??A)+e(200);if(!(await fetch(n,{method:"POST",headers:wt(),body:JSON[e(276)](t),keepalive:!0,credentials:"omit",cache:"no-store"})).ok)throw new Error(e(231))})(t)}catch{}}(v)}async function It(t={}){const e=ct;if(!vt())return;const n=typeof t[e(196)]===e(258)&&typeof t[e(195)]===e(258);if(n&&R)return;if(!n&&ft)return;const r=localStorage[e(251)](k),i={context:await o()};r&&(i.ip=r);for(const[n,o]of Object[e(266)](t))i[n]=o;await xt("context",i,document.body,{html:"",bbox:{x:0,y:0,w:0,h:0},img:""}),!n&&(ft=!0)}async function St(){await(async(t,e)=>{const n=K,o={canRequest:e(),geoEnabled:G(),deviceGeoSent:R};if(!o[n(511)]||!o[n(526)]||o[n(499)])return;if(!(n(533)in navigator))return;if(q)return;q=!0,X=!0;const r={enableHighAccuracy:!1,maximumAge:3e5,timeout:2e4};try{await(navigator[n(508)]?.query({name:n(533)}))}catch(t){}await new Promise(t=>{const e=n;let o=!1;const i=async(e,n,r)=>{const i=K;o||(o=!0,Number[i(496)](e)&&Number[i(496)](n)&&(await(async(t,e,n)=>{const o=pt;await It({lat:t,lon:e,source:o(236),...n})})(e,n,r),R=!0),q=!1,X=!1,Y=!0,t())};navigator[e(533)][e(495)](t=>{const e=K,n=t.coords;i(n[e(505)],n[e(514)],{accuracy:n[e(513)],altitude:"number"==typeof n[e(529)]?n[e(529)]:void 0,altitudeAccuracy:typeof n.altitudeAccuracy===e(532)?n[e(502)]:void 0,heading:typeof n[e(506)]===e(532)?n[e(506)]:void 0,speed:typeof n[e(518)]===e(532)?n.speed:void 0,timestamp:t[e(525)],visibility:document[e(531)],focused:document[e(494)]()})},t=>{const e=K,n=t?.[e(509)],o={error:{code:n,name:e(1===n?520:2===n?523:3===n?510:521),message:t?.message??""},online:navigator[e(530)],visibility:document[e(531)],focused:document[e(494)](),secure:window[e(497)],proto:location.protocol,host:location[e(507)]};i(void 0,void 0,o)},r)})})(0,vt)}function Tt(){(t=>{const e=K;if(V||!G()||R)return;V=!0;const n=()=>{const e=K;window[e(527)](e(504),n,!0),window[e(527)](e(516),n,!0),t()};window[e(515)](e(504),n,!0),window[e(515)](e(516),n,!0)})(St)}O();let kt=!document[ct(221)]&&document[ct(212)](),Et=document.hasFocus();function Mt(){const t=ct;if(bt())return;const e=!document[t(221)]&&document.hasFocus();e&&(Et=!0),Et||e?e!==kt&&(kt=e,xt(e?"page-focus":t(193),{},document[t(245)])):kt=e}function Lt(){const t=ct;(()=>{const t=globalThis;return!t[gt]&&(Object.defineProperty(t,gt,{value:!0,configurable:!1,enumerable:!1,writable:!1}),!0)})()&&(window[t(255)](t(261),()=>{const e=t;vt()&&(It(),(window[e(270)]||location[e(220)]===e(264))&&(G()&&Tt(),window[e(255)](e(228),()=>{Q()&&St()}),document.addEventListener(e(252),()=>{!document.hidden&&Q()&&St()})))}),window[t(255)]("storage",e=>{e[t(225)]===y&&("granted"===localStorage[ct(251)](y)?(ft=!1,It(),G()&&Tt()):(ft=!1,J())),e.key===w&&(G()?Tt():J())}),window[t(255)](t(261),()=>{const e=t;vt()&&xt(e(257),{url:window[e(226)].href,title:document.title,ref:document[e(274)]},document[e(245)])}),addEventListener(t(271),(()=>{let e=0;return(...n)=>{const o=Date[F(131)]();o-e>=50&&(e=o,(e=>{const n=t;if(bt())return;const o=e[n(192)]instanceof Element?e[n(192)].closest(ht):null;o instanceof HTMLElement&&(lt=yt(o))})(...n))}})(),{capture:!0,passive:!0}),addEventListener(t(260),async e=>{const n=t;if(bt())return;if(!(e[n(192)]instanceof Element))return;const o=e[n(192)][n(277)](ht);if(!(o instanceof HTMLElement))return;const r=(t=>{const e=ct;return t[e(262)]("aria-label")??t.title??t.textContent?.[e(238)]()??e(267)})(o);(async()=>{const t=n,e=lt?await lt:void 0;lt=void 0,xt(t(260),{tag:o[t(218)],label:r},o,e)})()},!0),addEventListener(t(272),e=>{const n=t;if(!bt()&&e[n(225)]===n(210)){const t=e[n(192)];if(t instanceof HTMLElement&&(t[n(218)]===n(187)||t[n(218)]===n(216))){const e=t instanceof HTMLInputElement?t[n(268)]:void 0,o=t.id||void 0;xt("input-submit",{tag:t[n(218)],name:e??o},t)}}},{capture:!0}),[t(228),"blur"][t(232)](t=>{window.addEventListener(t,Mt)}),document.addEventListener(t(252),Mt),window.addEventListener("scroll",(()=>{let e;return(...n)=>{const o=F;void 0!==e&&window[o(111)](e),e=window[o(128)](()=>{e=void 0,(()=>{const e=t;bt()||xt("scroll",{scrollX:window[e(247)],scrollY:window[e(265)]},document[e(245)])})(...n)},250)}})(),{passive:!0}),window.intent??={send(e,n){const o=t;vt()&&xt(e,n,document[o(245)])}})}function At(){const t=["[Intent SDK] ⚠️ Debug panel is enabled. This feature is NOT recommended for production use. ","clientId","baseUrl","24gbERBE","sidMaxAgeSeconds","555372esSWca","1145905vKVuSY","setItem","https://intent.callimacus.ai","intent:data-client-id","now","undefined","intent:data-sid-max-age","intent:data-base-url","381731rAkjJX","intent_sid","8490501hiXDPS","1040583VKnocE","warn","8UBGuSQ","intent:geo","granted","function","intent:data-ip","number","428906OvUEFF","1370292ofjKLW","debugPanel","intent:debug","intent:consent","consent"];return(At=()=>t)()}function Ct(t,e){const n=Pt;try{if(void 0===e)return;localStorage[n(470)](t,e?t===n(461)?n(453):"enabled":"disabled")}catch{}}function Nt(t){Ct(Pt(461),t)}function Dt(t){Ct(Pt(452),t)}function zt(t){Ct(Pt(460),t)}function Bt(t){}function Ht(t={}){const e=Pt;localStorage[e(470)](e(472),t[e(464)]??""),localStorage[e(470)](e(455),t.ip??""),localStorage[e(470)](e(476),t[e(465)]??e(471)),typeof t.sidMaxAgeSeconds===e(456)&&localStorage[e(470)](e(475),String(t[e(467)])),Ct("intent:consent",t.consent),Ct(e(452),t.geo),Ct(e(460),t.debug),void 0!==t.debugPanel&&e(459),t[e(462)]&&(z(e(478))||B("undefined"!=typeof crypto&&typeof crypto.randomUUID===e(454)?crypto.randomUUID():Date[e(473)]()+"-"+Math.random(),t[e(467)])),Lt()}function Pt(t,e){return t-=448,At()[t]}function Ot(){return z(Pt(478))}function Ut(){O()}function Ft(){H()}function Wt(t){const e=Pt;Number.isFinite(t)&&localStorage[e(470)]("intent:data-sid-max-age",String(t));const n=z(e(478));n&&B(n,t)}(()=>{const t=Pt,e=At();for(;;)try{if(364915==-parseInt(t(457))/1+-parseInt(t(458))/2+-parseInt(t(449))/3*(-parseInt(t(451))/4)+-parseInt(t(469))/5+-parseInt(t(468))/6+parseInt(t(477))/7*(parseInt(t(466))/8)+parseInt(t(448))/9)break;e.push(e.shift())}catch(t){e.push(e.shift())}})();export{Ft as clearIntentSessionId,Ut as ensureIntentSessionId,Ot as getIntentSessionId,Ht as initIntent,Nt as setConsent,zt as setDebug,Bt as setDebugPanel,Ct as setFlag,Dt as setGeo,Wt as setIntentSessionMaxAge};