PageSourceSearch

https://aiquimist.ai/assets/index-f59fc080.js

js aiquimist.ai collected 2026-10-05 15:19:30 UTC 1,652,440 bytes, 74 lines download raw bytes

1import{j as e,m as Pe,A as pb}from"./vendor-motion-BKZdsFb6.js";import{a as Ry,r as C,g as lo,R as Ee,b as hb,u as Fy,L as $,c as By,d as Iy,S as My,e as ke}from"./vendor-router-BklP5kMj.js";import{r as gb}from"./vendor-react-BKOPSwVe.js";import{X as Jl,L as Lr,C as tn,D as _r,G as qa,M as qy,I as Ly,Y as Gy,a as nt,P as Vy,b as zu,S as pa,E as He,N as la,F as fb,c as Uy,d as Yr,Z as Ca,e as Qe,f as Hy,g as Rd,h as It,A as Za,R as Kg,i as Yl,j as Ul,k as _y,l as Ky,m as $e,V as Wy,n as ki,o as ou,p as Qy,q as Kr,r as Xe,s as qt,t as bb,H as xb,B as Jy,u as vb,T as cu,v as Wg,w as Qg,x as yb,U as wi,y as Yy,z as $y,J as $l,K as Xy,O as Yi,Q as Gr,W as Zy,_ as e2,$ as Lt,a0 as Jg,a1 as du,a2,a3 as Yg,a4 as uu,a5 as Xl,a6 as t2,a7 as kb,a8 as i2,a9 as r2,aa as s2,ab as $g,ac as Mt,ad as n2,ae as Fd,af as Ys,ag as l2,ah as Xg,ai as wb,aj as o2,ak as Zg,al as c2,am as d2,an as u2,ao as Eu,ap as Ou,aq as m2,ar as p2,as as h2}from"./vendor-icons-B_d69Gfu.js";(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))o(u);new MutationObserver(u=>{for(const p of u)if(p.type==="childList")for(const f of p.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&o(f)}).observe(document,{childList:!0,subtree:!0});function l(u){const p={};return u.integrity&&(p.integrity=u.integrity),u.referrerPolicy&&(p.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?p.credentials="include":u.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function o(u){if(u.ep)return;u.ep=!0;const p=l(u);fetch(u.href,p)}})();var Bd={exports:{}},$s={},Id={exports:{}},Md={};var ef;function g2(){return ef||(ef=1,(function(s){function i(L,K){var R=L.length;L.push(K);e:for(;0<R;){var Y=R-1>>>1,J=L[Y];
vendor: 4,655 bytes, line 1
1if(0<u(J,K))L[Y]=K,L[R]=J,R=Y;else break e}}function l(L){return L.length===0?null:L[0]}function o(L){if(L.length===0)return null;var K=L[0],R=L.pop();if(R!==K){L[0]=R;e:for(var Y=0,J=L.length,je=J>>>1;Y<je;){var ve=2*(Y+1)-1,pe=L[ve],Ne=ve+1,Se=L[Ne];if(0>u(pe,R))Ne<J&&0>u(Se,pe)?(L[Y]=Se,L[Ne]=R,Y=Ne):(L[Y]=pe,L[ve]=R,Y=ve);else if(Ne<J&&0>u(Se,R))L[Y]=Se,L[Ne]=R,Y=Ne;else break e}}return K}function u(L,K){var R=L.sortIndex-K.sortIndex;return R!==0?R:L.id-K.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var p=performance;s.unstable_now=function(){return p.now()}}else{var f=Date,m=f.now();s.unstable_now=function(){return f.now()-m}}var h=[],b=[],g=1,v=null,k=3,j=!1,A=!1,P=!1,D=!1,M=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function N(L){for(var K=l(b);K!==null;){if(K.callback===null)o(b);else if(K.startTime<=L)o(b),K.sortIndex=K.expirationTime,i(h,K);else break;K=l(b)}}function F(L){if(P=!1,N(L),!A)if(l(h)!==null)A=!0,z||(z=!0,ue());else{var K=l(b);K!==null&&me(F,K.startTime-L)}}var z=!1,_=-1,Q=5,Z=-1;function se(){return D?!0:!(s.unstable_now()-Z<Q)}function re(){if(D=!1,z){var L=s.unstable_now();Z=L;var K=!0;try{e:{A=!1,P&&(P=!1,w(_),_=-1),j=!0;var R=k;try{a:{for(N(L),v=l(h);v!==null&&!(v.expirationTime>L&&se());){var Y=v.callback;if(typeof Y=="function"){v.callback=null,k=v.priorityLevel;var J=Y(v.expirationTime<=L);if(L=s.unstable_now(),typeof J=="function"){v.callback=J,N(L),K=!0;break a}v===l(h)&&o(h),N(L)}else o(h);v=l(h)}if(v!==null)K=!0;else{var je=l(b);je!==null&&me(F,je.startTime-L),K=!1}}break e}finally{v=null,k=R,j=!1}K=void 0}}finally{K?ue():z=!1}}}var ue;if(typeof O=="function")ue=function(){O(re)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,X=we.port2;we.port1.onmessage=re,ue=function(){X.postMessage(null)}}else ue=function(){M(re,0)};function me(L,K){_=M(function(){L(s.unstable_now())},K)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(L){L.callback=null},s.unstable_forceFrameRate=function(L){0>L||125<L?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Q=0<L?Math.floor(1e3/L):5},s.unstable_getCurrentPriorityLevel=function(){return k},s.unstable_next=function(L){switch(k){case 1:case 2:case 3:var K=3;break;default:K=k}var R=k;k=K;try{return L()}finally{k=R}},s.unstable_requestPaint=function(){D=!0},s.unstable_runWithPriority=function(L,K){switch(L){case 1:case 2:case 3:case 4:case 5:break;default:L=3}var R=k;k=L;try{return K()}finally{k=R}},s.unstable_scheduleCallback=function(L,K,R){var Y=s.unstable_now();switch(typeof R=="object"&&R!==null?(R=R.delay,R=typeof R=="number"&&0<R?Y+R:Y):R=Y,L){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=R+J,L={id:g++,callback:K,priorityLevel:L,startTime:R,expirationTime:J,sortIndex:-1},R>Y?(L.sortIndex=R,i(b,L),l(h)===null&&L===l(b)&&(P?(w(_),_=-1):P=!0,me(F,R-Y))):(L.sortIndex=J,i(h,L),A||j||(A=!0,z||(z=!0,ue()))),L},s.unstable_shouldYield=se,s.unstable_wrapCallback=function(L){var K=k;return function(){var R=k;k=K;try{return L.apply(this,arguments)}finally{k=R}}}})(Md)),Md}var af;function f2(){return af||(af=1,Id.exports=g2()),Id.exports}var tf;function b2(){if(tf)return $s;tf=1;var s=f2(),i=Ry(),l=gb();function o(a){var t="https://react.dev/errors/"+a;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+a+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11)}function p(a){var t=a,r=a;if(a.alternate)for(;t.return;)t=t.return;else{a=t;do t=a,(t.flags&4098)!==0&&(r=t.return),a=t.return;while(a)}return t.tag===3?r:null}function f(a){if(a.tag===13){var t=a.memoizedState;if(t===null&&(a=a.alternate,a!==null&&(t=a.memoizedState)),t!==null)return t.dehydrated}return null}function m(a){if(p(a)!==a)throw Error(o(188))}function h(a){var t=a.alternate;if(!t){if(t=p(a),t===null)throw Error(o(188));return t!==a?null:a}for(var r=a,n=t;;){var c=r.return;if(c===null)break;var d=c.alternate;if(d===null){if(n=c.return,n!==null){r=n;continue}break}if(c.child===d.child){for(d=c.child;d;){if(d===r)return m(c),a;
vendor: 16,788 bytes, lines 1-8
1if(d===n)return m(c),t;d=d.sibling}throw Error(o(188))}if(r.return!==n.return)r=c,n=d;else{for(var x=!1,y=c.child;y;){if(y===r){x=!0,r=c,n=d;break}if(y===n){x=!0,n=c,r=d;break}y=y.sibling}if(!x){for(y=d.child;y;){if(y===r){x=!0,r=d,n=c;break}if(y===n){x=!0,n=d,r=c;break}y=y.sibling}if(!x)throw Error(o(189))}}if(r.alternate!==n)throw Error(o(190))}if(r.tag!==3)throw Error(o(188));return r.stateNode.current===r?a:t}function b(a){var t=a.tag;if(t===5||t===26||t===27||t===6)return a;for(a=a.child;a!==null;){if(t=b(a),t!==null)return t;a=a.sibling}return null}var g=Object.assign,v=Symbol.for("react.element"),k=Symbol.for("react.transitional.element"),j=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),D=Symbol.for("react.profiler"),M=Symbol.for("react.provider"),w=Symbol.for("react.consumer"),O=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),_=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),se=Symbol.for("react.memo_cache_sentinel"),re=Symbol.iterator;function ue(a){return a===null||typeof a!="object"?null:(a=re&&a[re]||a["@@iterator"],typeof a=="function"?a:null)}var we=Symbol.for("react.client.reference");function X(a){if(a==null)return null;if(typeof a=="function")return a.$$typeof===we?null:a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case A:return"Fragment";case D:return"Profiler";case P:return"StrictMode";case F:return"Suspense";case z:return"SuspenseList";case Z:return"Activity"}if(typeof a=="object")switch(a.$$typeof){case j:return"Portal";case O:return(a.displayName||"Context")+".Provider";case w:return(a._context.displayName||"Context")+".Consumer";case N:var t=a.render;return a=a.displayName,a||(a=t.displayName||t.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case _:return t=a.displayName||null,t!==null?t:X(a.type)||"Memo";case Q:t=a._payload,a=a._init;try{return X(a(t))}catch{}}return null}var me=Array.isArray,L=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R={pending:!1,data:null,method:null,action:null},Y=[],J=-1;function je(a){return{current:a}}function ve(a){0>J||(a.current=Y[J],Y[J]=null,J--)}function pe(a,t){J++,Y[J]=a.current,a.current=t}var Ne=je(null),Se=je(null),Me=je(null),ga=je(null);function dt(a,t){switch(pe(Me,t),pe(Se,a),pe(Ne,null),t.nodeType){case 9:case 11:a=(a=t.documentElement)&&(a=a.namespaceURI)?yg(a):0;break;default:if(a=t.tagName,t=t.namespaceURI)t=yg(t),a=kg(t,a);else switch(a){case"svg":a=1;break;case"math":a=2;break;default:a=0}}ve(Ne),pe(Ne,a)}function Be(){ve(Ne),ve(Se),ve(Me)}function Ht(a){a.memoizedState!==null&&pe(ga,a);var t=Ne.current,r=kg(t,a.type);t!==r&&(pe(Se,a),pe(Ne,r))}function et(a){Se.current===a&&(ve(Ne),ve(Se)),ga.current===a&&(ve(ga),_s._currentValue=R)}var ut=Object.prototype.hasOwnProperty,Ga=s.unstable_scheduleCallback,_t=s.unstable_cancelCallback,mv=s.unstable_shouldYield,pv=s.unstable_requestPaint,mt=s.unstable_now,hv=s.unstable_getCurrentPriorityLevel,em=s.unstable_ImmediatePriority,am=s.unstable_UserBlockingPriority,bn=s.unstable_NormalPriority,gv=s.unstable_LowPriority,tm=s.unstable_IdlePriority,fv=s.log,bv=s.unstable_setDisableYieldValue,Zr=null,Sa=null;function Kt(a){if(typeof fv=="function"&&bv(a),Sa&&typeof Sa.setStrictMode=="function")try{Sa.setStrictMode(Zr,a)}catch{}}var Ta=Math.clz32?Math.clz32:yv,xv=Math.log,vv=Math.LN2;function yv(a){return a>>>=0,a===0?32:31-(xv(a)/vv|0)|0}var xn=256,vn=4194304;function Pi(a){var t=a&42;if(t!==0)return t;switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return a&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return a}}function yn(a,t,r){var n=a.pendingLanes;if(n===0)return 0;var c=0,d=a.suspendedLanes,x=a.pingedLanes;a=a.warmLanes;var y=n&134217727;return y!==0?(n=y&~d,n!==0?c=Pi(n):(x&=y,x!==0?c=Pi(x):r||(r=y&~a,r!==0&&(c=Pi(r))))):(y=n&~d,y!==0?c=Pi(y):x!==0?c=Pi(x):r||(r=n&~a,r!==0&&(c=Pi(r)))),c===0?0:t!==0&&t!==c&&(t&d)===0&&(d=c&-c,r=t&-t,d>=r||d===32&&(r&4194048)!==0)?t:c}function es(a,t){return(a.pendingLanes&~(a.suspendedLanes&~a.pingedLanes)&t)===0}function kv(a,t){switch(a){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function im(){var a=xn;return xn<<=1,(xn&4194048)===0&&(xn=256),a}function rm(){var a=vn;return vn<<=1,(vn&62914560)===0&&(vn=4194304),a}function jo(a){for(var t=[],r=0;31>r;r++)t.push(a);return t}function as(a,t){a.pendingLanes|=t,t!==268435456&&(a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0)}function wv(a,t,r,n,c,d){var x=a.pendingLanes;a.pendingLanes=r,a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0,a.expiredLanes&=r,a.entangledLanes&=r,a.errorRecoveryDisabledLanes&=r,a.shellSuspendCounter=0;var y=a.entanglements,S=a.expirationTimes,q=a.hiddenUpdates;for(r=x&~r;0<r;){var U=31-Ta(r),W=1<<U;y[U]=0,S[U]=-1;var G=q[U];if(G!==null)for(q[U]=null,U=0;U<G.length;U++){var V=G[U];V!==null&&(V.lane&=-536870913)}r&=~W}n!==0&&sm(a,n,0),d!==0&&c===0&&a.tag!==0&&(a.suspendedLanes|=d&~(x&~t))}function sm(a,t,r){a.pendingLanes|=t,a.suspendedLanes&=~t;var n=31-Ta(t);a.entangledLanes|=t,a.entanglements[n]=a.entanglements[n]|1073741824|r&4194090}function nm(a,t){var r=a.entangledLanes|=t;for(a=a.entanglements;r;){var n=31-Ta(r),c=1<<n;c&t|a[n]&t&&(a[n]|=t),r&=~c}}function No(a){switch(a){case 2:a=1;break;case 8:a=4;break;case 32:a=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:a=128;break;case 268435456:a=134217728;break;default:a=0}return a}function Co(a){return a&=-a,2<a?8<a?(a&134217727)!==0?32:268435456:8:2}function lm(){var a=K.p;return a!==0?a:(a=window.event,a===void 0?32:Lg(a.type))}function jv(a,t){var r=K.p;try{return K.p=a,t()}finally{K.p=r}}var Wt=Math.random().toString(36).slice(2),ua="__reactFiber$"+Wt,xa="__reactProps$"+Wt,Zi="__reactContainer$"+Wt,Ao="__reactEvents$"+Wt,Nv="__reactListeners$"+Wt,Cv="__reactHandles$"+Wt,om="__reactResources$"+Wt,ts="__reactMarker$"+Wt;function So(a){delete a[ua],delete a[xa],delete a[Ao],delete a[Nv],delete a[Cv]}function er(a){var t=a[ua];if(t)return t;for(var r=a.parentNode;r;){if(t=r[Zi]||r[ua]){if(r=t.alternate,t.child!==null||r!==null&&r.child!==null)for(a=Cg(a);a!==null;){if(r=a[ua])return r;a=Cg(a)}return t}a=r,r=a.parentNode}return null}function ar(a){if(a=a[ua]||a[Zi]){var t=a.tag;if(t===5||t===6||t===13||t===26||t===27||t===3)return a}return null}function is(a){var t=a.tag;if(t===5||t===26||t===27||t===6)return a.stateNode;throw Error(o(33))}function tr(a){var t=a[om];return t||(t=a[om]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ia(a){a[ts]=!0}var cm=new Set,dm={};function Di(a,t){ir(a,t),ir(a+"Capture",t)}function ir(a,t){for(dm[a]=t,a=0;a<t.length;a++)cm.add(t[a])}var Av=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),um={},mm={};function Sv(a){return ut.call(mm,a)?!0:ut.call(um,a)?!1:Av.test(a)?mm[a]=!0:(um[a]=!0,!1)}function kn(a,t,r){if(Sv(t))if(r===null)a.removeAttribute(t);else{switch(typeof r){case"undefined":case"function":case"symbol":a.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){a.removeAttribute(t);return}}a.setAttribute(t,""+r)}}function wn(a,t,r){if(r===null)a.removeAttribute(t);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":a.removeAttribute(t);return}a.setAttribute(t,""+r)}}function kt(a,t,r,n){if(n===null)a.removeAttribute(r);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":a.removeAttribute(r);return}a.setAttributeNS(t,r,""+n)}}var To,pm;function rr(a){if(To===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);To=t&&t[1]||"",pm=-1<r.stack.indexOf(`
2    at`)?" (<anonymous>)":-1<r.stack.indexOf("@")?"@unknown:0:0":""}return`
3`+To+a+pm}var Po=!1;function Do(a,t){if(!a||Po)return"";Po=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var W=function(){throw Error()};if(Object.defineProperty(W.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(W,[])}catch(V){var G=V}Reflect.construct(a,[],W)}else{try{W.call()}catch(V){G=V}a.call(W.prototype)}}else{try{throw Error()}catch(V){G=V}(W=a())&&typeof W.catch=="function"&&W.catch(function(){})}}catch(V){if(V&&G&&typeof V.stack=="string")return[V.stack,G.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var c=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");c&&c.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var d=n.DetermineComponentFrameRoot(),x=d[0],y=d[1];if(x&&y){var S=x.split(`
4`),q=y.split(`
5`);for(c=n=0;n<S.length&&!S[n].includes("DetermineComponentFrameRoot");)n++;for(;c<q.length&&!q[c].includes("DetermineComponentFrameRoot");)c++;if(n===S.length||c===q.length)for(n=S.length-1,c=q.length-1;1<=n&&0<=c&&S[n]!==q[c];)c--;for(;1<=n&&0<=c;n--,c--)if(S[n]!==q[c]){if(n!==1||c!==1)do if(n--,c--,0>c||S[n]!==q[c]){var U=`
6`+S[n].replace(" at new "," at ");return a.displayName&&U.includes("<anonymous>")&&(U=U.replace("<anonymous>",a.displayName)),U}while(1<=n&&0<=c);break}}}finally{Po=!1,Error.prepareStackTrace=r}return(r=a?a.displayName||a.name:"")?rr(r):""}function Tv(a){switch(a.tag){case 26:case 27:case 5:return rr(a.type);case 16:return rr("Lazy");case 13:return rr("Suspense");case 19:return rr("SuspenseList");case 0:case 15:return Do(a.type,!1);case 11:return Do(a.type.render,!1);case 1:return Do(a.type,!0);case 31:return rr("Activity");default:return""}}function hm(a){try{var t="";do t+=Tv(a),a=a.return;while(a);return t}catch(r){return`
7Error generating stack: `+r.message+`
8`+r.stack}}function Va(a){switch(typeof a){case"bigint":case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function gm(a){var t=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Pv(a){var t=gm(a)?"checked":"value",r=Object.getOwnPropertyDescriptor(a.constructor.prototype,t),n=""+a[t];if(!a.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var c=r.get,d=r.set;return Object.defineProperty(a,t,{configurable:!0,get:function(){return c.call(this)},set:function(x){n=""+x,d.call(this,x)}}),Object.defineProperty(a,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(x){n=""+x},stopTracking:function(){a._valueTracker=null,delete a[t]}}}}function jn(a){a._valueTracker||(a._valueTracker=Pv(a))}function fm(a){if(!a)return!1;var t=a._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return a&&(n=gm(a)?a.checked?"true":"false":a.value),a=n,a!==r?(t.setValue(a),!0):!1}function Nn(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}var Dv=/[\n"\\]/g;function Ua(a){return a.replace(Dv,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function zo(a,t,r,n,c,d,x,y){a.name="",x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?a.type=x:a.removeAttribute("type"),t!=null?x==="number"?(t===0&&a.value===""||a.value!=t)&&(a.value=""+Va(t)):a.value!==""+Va(t)&&(a.value=""+Va(t)):x!=="submit"&&x!=="reset"||a.removeAttribute("value"),t!=null?Eo(a,x,Va(t)):r!=null?Eo(a,x,Va(r)):n!=null&&a.removeAttribute("value"),c==null&&d!=null&&(a.defaultChecked=!!d),c!=null&&(a.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?a.name=""+Va(y):a.removeAttribute("name")}function bm(a,t,r,n,c,d,x,y){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(a.type=d),t!=null||r!=null){if(!(d!=="submit"&&d!=="reset"||t!=null))return;r=r!=null?""+Va(r):"",t=t!=null?""+Va(t):r,y||t===a.value||(a.value=t),a.defaultValue=t}n=n??c,n=typeof n!="function"&&typeof n!="symbol"&&!!n,a.checked=y?a.checked:!!n,a.defaultChecked=!!n,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(a.name=x)}function Eo(a,t,r){t==="number"&&Nn(a.ownerDocument)===a||a.defaultValue===""+r||(a.defaultValue=""+r)}function sr(a,t,r,n){if(a=a.options,t){t={};for(var c=0;c<r.length;c++)t["$"+r[c]]=!0;for(r=0;r<a.length;r++)c=t.hasOwnProperty("$"+a[r].value),a[r].selected!==c&&(a[r].selected=c),c&&n&&(a[r].defaultSelected=!0)}else{for(r=""+Va(r),t=null,c=0;c<a.length;c++){if(a[c].value===r){a[c].selected=!0,n&&(a[c].defaultSelected=!0);return}t!==null||a[c].disabled||(t=a[c])}t!==null&&(t.selected=!0)}}function xm(a,t,r){if(t!=null&&(t=""+Va(t),t!==a.value&&(a.value=t),r==null)){a.defaultValue!==t&&(a.defaultValue=t);return}a.defaultValue=r!=null?""+Va(r):""}function vm(a,t,r,n){if(t==null){if(n!=null){if(r!=null)throw Error(o(92));if(me(n)){if(1<n.length)throw Error(o(93));n=n[0]}r=n}r==null&&(r=""),t=r}r=Va(t),a.defaultValue=r,n=a.textContent,n===r&&n!==""&&n!==null&&(a.value=n)}function nr(a,t){if(t){var r=a.firstChild;if(r&&r===a.lastChild&&r.nodeType===3){r.nodeValue=t;return}}a.textContent=t}var zv=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ym(a,t,r){var n=t.indexOf("--")===0;r==null||typeof r=="boolean"||r===""?n?a.setProperty(t,""):t==="float"?a.cssFloat="":a[t]="":n?a.setProperty(t,r):typeof r!="number"||r===0||zv.has(t)?t==="float"?a.cssFloat=r:a[t]=(""+r).trim():a[t]=r+"px"}function km(a,t,r){if(t!=null&&typeof t!="object")throw Error(o(62));if(a=a.style,r!=null){for(var n in r)!r.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?a.setProperty(n,""):n==="float"?a.cssFloat="":a[n]="");for(var c in t)n=t[c],t.hasOwnProperty(c)&&r[c]!==n&&ym(a,c,n)}else for(var d in t)t.hasOwnProperty(d)&&ym(a,d,t[d])}function Oo(a){if(a.indexOf("-")===-1)return!1;switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ev=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRen
8dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Ov=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Cn(a){return Ov.test(""+a)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":a}var Ro=null;function Fo(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var lr=null,or=null;function wm(a){var t=ar(a);if(t&&(a=t.stateNode)){var r=a[xa]||null;e:switch(a=t.stateNode,t.type){case"input":if(zo(a,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name),t=r.name,r.type==="radio"&&t!=null){for(r=a;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll('input[name="'+Ua(""+t)+'"][type="radio"]'),t=0;t<r.length;t++){var n=r[t];if(n!==a&&n.form===a.form){var c=n[xa]||null;if(!c)throw Error(o(90));zo(n,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name)}}for(t=0;t<r.length;t++)n=r[t],n.form===a.form&&fm(n)}break e;case"textarea":xm(a,r.value,r.defaultValue);break e;case"select":t=r.value,t!=null&&sr(a,!!r.multiple,t,!1)}}}var Bo=!1;function jm(a,t,r){if(Bo)return a(t,r);Bo=!0;try{var n=a(t);return n}finally{if(Bo=!1,(lr!==null||or!==null)&&(dl(),lr&&(t=lr,a=or,or=lr=null,wm(t),a)))for(t=0;t<a.length;t++)wm(a[t])}}function rs(a,t){var r=a.stateNode;if(r===null)return null;var n=r[xa]||null;if(n===null)return null;r=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(a=a.type,n=!(a==="button"||a==="input"||a==="select"||a==="textarea")),a=!n;break e;default:a=!1}if(a)return null;if(r&&typeof r!="function")throw Error(o(231,t,typeof r));return r}var wt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Io=!1;if(wt)try{var ss={};Object.defineProperty(ss,"passive",{get:function(){Io=!0}}),window.addEventListener("test",ss,ss),window.removeEventListener("test",ss,ss)}catch{Io=!1}var Qt=null,Mo=null,An=null;
vendor: 4,292 bytes, line 8
8function Nm(){if(An)return An;var a,t=Mo,r=t.length,n,c="value"in Qt?Qt.value:Qt.textContent,d=c.length;for(a=0;a<r&&t[a]===c[a];a++);var x=r-a;for(n=1;n<=x&&t[r-n]===c[d-n];n++);return An=c.slice(a,1<n?1-n:void 0)}function Sn(a){var t=a.keyCode;return"charCode"in a?(a=a.charCode,a===0&&t===13&&(a=13)):a=t,a===10&&(a=13),32<=a||a===13?a:0}function Tn(){return!0}function Cm(){return!1}function va(a){function t(r,n,c,d,x){this._reactName=r,this._targetInst=c,this.type=n,this.nativeEvent=d,this.target=x,this.currentTarget=null;for(var y in a)a.hasOwnProperty(y)&&(r=a[y],this[y]=r?r(d):d[y]);return this.isDefaultPrevented=(d.defaultPrevented!=null?d.defaultPrevented:d.returnValue===!1)?Tn:Cm,this.isPropagationStopped=Cm,this}return g(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Tn)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Tn)},persist:function(){},isPersistent:Tn}),t}var zi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Pn=va(zi),ns=g({},zi,{view:0,detail:0}),Rv=va(ns),qo,Lo,ls,Dn=g({},ns,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Vo,button:0,buttons:0,relatedTarget:function(a){return a.relatedTarget===void 0?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){return"movementX"in a?a.movementX:(a!==ls&&(ls&&a.type==="mousemove"?(qo=a.screenX-ls.screenX,Lo=a.screenY-ls.screenY):Lo=qo=0,ls=a),qo)},movementY:function(a){return"movementY"in a?a.movementY:Lo}}),Am=va(Dn),Fv=g({},Dn,{dataTransfer:0}),Bv=va(Fv),Iv=g({},ns,{relatedTarget:0}),Go=va(Iv),Mv=g({},zi,{animationName:0,elapsedTime:0,pseudoElement:0}),qv=va(Mv),Lv=g({},zi,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),Gv=va(Lv),Vv=g({},zi,{data:0}),Sm=va(Vv),Uv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Hv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_v={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kv(a){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(a):(a=_v[a])?!!t[a]:!1}function Vo(){return Kv}var Wv=g({},ns,{key:function(a){if(a.key){var t=Uv[a.key]||a.key;if(t!=="Unidentified")return t}return a.type==="keypress"?(a=Sn(a),a===13?"Enter":String.fromCharCode(a)):a.type==="keydown"||a.type==="keyup"?Hv[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Vo,charCode:function(a){return a.type==="keypress"?Sn(a):0},keyCode:function(a){return a.type==="keydown"||a.type==="keyup"?a.keyCode:0},which:function(a){return a.type==="keypress"?Sn(a):a.type==="keydown"||a.type==="keyup"?a.keyCode:0}}),Qv=va(Wv),Jv=g({},Dn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Tm=va(Jv),Yv=g({},ns,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Vo}),$v=va(Yv),Xv=g({},zi,{propertyName:0,elapsedTime:0,pseudoElement:0}),Zv=va(Xv),e0=g({},Dn,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),a0=va(e0),t0=g({},zi,{newState:0,oldState:0}),i0=va(t0),r0=[9,13,27,32],Uo=wt&&"CompositionEvent"in window,os=null;wt&&"documentMode"in document&&(os=document.documentMode);
vendor: 29,911 bytes, line 8
8var s0=wt&&"TextEvent"in window&&!os,Pm=wt&&(!Uo||os&&8<os&&11>=os),Dm=" ",zm=!1;function Em(a,t){switch(a){case"keyup":return r0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Om(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var cr=!1;function n0(a,t){switch(a){case"compositionend":return Om(t);case"keypress":return t.which!==32?null:(zm=!0,Dm);case"textInput":return a=t.data,a===Dm&&zm?null:a;default:return null}}function l0(a,t){if(cr)return a==="compositionend"||!Uo&&Em(a,t)?(a=Nm(),An=Mo=Qt=null,cr=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Pm&&t.locale!=="ko"?null:t.data;default:return null}}var o0={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Rm(a){var t=a&&a.nodeName&&a.nodeName.toLowerCase();return t==="input"?!!o0[a.type]:t==="textarea"}function Fm(a,t,r,n){lr?or?or.push(n):or=[n]:lr=n,t=fl(t,"onChange"),0<t.length&&(r=new Pn("onChange","change",null,r,n),a.push({event:r,listeners:t}))}var cs=null,ds=null;function c0(a){gg(a,0)}function zn(a){var t=is(a);if(fm(t))return a}function Bm(a,t){if(a==="change")return t}var Im=!1;if(wt){var Ho;if(wt){var _o="oninput"in document;if(!_o){var Mm=document.createElement("div");Mm.setAttribute("oninput","return;"),_o=typeof Mm.oninput=="function"}Ho=_o}else Ho=!1;Im=Ho&&(!document.documentMode||9<document.documentMode)}function qm(){cs&&(cs.detachEvent("onpropertychange",Lm),ds=cs=null)}function Lm(a){if(a.propertyName==="value"&&zn(ds)){var t=[];Fm(t,ds,a,Fo(a)),jm(c0,t)}}function d0(a,t,r){a==="focusin"?(qm(),cs=t,ds=r,cs.attachEvent("onpropertychange",Lm)):a==="focusout"&&qm()}function u0(a){if(a==="selectionchange"||a==="keyup"||a==="keydown")return zn(ds)}function m0(a,t){if(a==="click")return zn(t)}function p0(a,t){if(a==="input"||a==="change")return zn(t)}function h0(a,t){return a===t&&(a!==0||1/a===1/t)||a!==a&&t!==t}var Pa=typeof Object.is=="function"?Object.is:h0;function us(a,t){if(Pa(a,t))return!0;if(typeof a!="object"||a===null||typeof t!="object"||t===null)return!1;var r=Object.keys(a),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var c=r[n];if(!ut.call(t,c)||!Pa(a[c],t[c]))return!1}return!0}function Gm(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function Vm(a,t){var r=Gm(a);a=0;for(var n;r;){if(r.nodeType===3){if(n=a+r.textContent.length,a<=t&&n>=t)return{node:r,offset:t-a};a=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Gm(r)}}function Um(a,t){return a&&t?a===t?!0:a&&a.nodeType===3?!1:t&&t.nodeType===3?Um(a,t.parentNode):"contains"in a?a.contains(t):a.compareDocumentPosition?!!(a.compareDocumentPosition(t)&16):!1:!1}function Hm(a){a=a!=null&&a.ownerDocument!=null&&a.ownerDocument.defaultView!=null?a.ownerDocument.defaultView:window;for(var t=Nn(a.document);t instanceof a.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)a=t.contentWindow;else break;t=Nn(a.document)}return t}function Ko(a){var t=a&&a.nodeName&&a.nodeName.toLowerCase();return t&&(t==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||t==="textarea"||a.contentEditable==="true")}var g0=wt&&"documentMode"in document&&11>=document.documentMode,dr=null,Wo=null,ms=null,Qo=!1;function _m(a,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Qo||dr==null||dr!==Nn(n)||(n=dr,"selectionStart"in n&&Ko(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ms&&us(ms,n)||(ms=n,n=fl(Wo,"onSelect"),0<n.length&&(t=new Pn("onSelect","select",null,t,r),a.push({event:t,listeners:n}),t.target=dr)))}function Ei(a,t){var r={};return r[a.toLowerCase()]=t.toLowerCase(),r["Webkit"+a]="webkit"+t,r["Moz"+a]="moz"+t,r}var ur={animationend:Ei("Animation","AnimationEnd"),animationiteration:Ei("Animation","AnimationIteration"),animationstart:Ei("Animation","AnimationStart"),transitionrun:Ei("Transition","TransitionRun"),transitionstart:Ei("Transition","TransitionStart"),transitioncancel:Ei("Transition","TransitionCancel"),transitionend:Ei("Transition","TransitionEnd")},Jo={},Km={};wt&&(Km=document.createElement("div").style,"AnimationEvent"in window||(delete ur.animationend.animation,delete ur.animationiteration.animation,delete ur.animationstart.animation),"TransitionEvent"in window||delete ur.transitionend.transition);function Oi(a){if(Jo[a])return Jo[a];if(!ur[a])return a;var t=ur[a],r;for(r in t)if(t.hasOwnProperty(r)&&r in Km)return Jo[a]=t[r];return a}var Wm=Oi("animationend"),Qm=Oi("animationiteration"),Jm=Oi("animationstart"),f0=Oi("transitionrun"),b0=Oi("transitionstart"),x0=Oi("transitioncancel"),Ym=Oi("transitionend"),$m=new Map,Yo="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Yo.push("scrollEnd");function at(a,t){$m.set(a,t),Di(t,[a])}var Xm=new WeakMap;function Ha(a,t){if(typeof a=="object"&&a!==null){var r=Xm.get(a);return r!==void 0?r:(t={value:a,source:t,stack:hm(t)},Xm.set(a,t),t)}return{value:a,source:t,stack:hm(t)}}var _a=[],mr=0,$o=0;function En(){for(var a=mr,t=$o=mr=0;t<a;){var r=_a[t];_a[t++]=null;var n=_a[t];_a[t++]=null;var c=_a[t];_a[t++]=null;var d=_a[t];if(_a[t++]=null,n!==null&&c!==null){var x=n.pending;x===null?c.next=c:(c.next=x.next,x.next=c),n.pending=c}d!==0&&Zm(r,c,d)}}function On(a,t,r,n){_a[mr++]=a,_a[mr++]=t,_a[mr++]=r,_a[mr++]=n,$o|=n,a.lanes|=n,a=a.alternate,a!==null&&(a.lanes|=n)}function Xo(a,t,r,n){return On(a,t,r,n),Rn(a)}function pr(a,t){return On(a,null,null,t),Rn(a)}function Zm(a,t,r){a.lanes|=r;var n=a.alternate;n!==null&&(n.lanes|=r);for(var c=!1,d=a.return;d!==null;)d.childLanes|=r,n=d.alternate,n!==null&&(n.childLanes|=r),d.tag===22&&(a=d.stateNode,a===null||a._visibility&1||(c=!0)),a=d,d=d.return;return a.tag===3?(d=a.stateNode,c&&t!==null&&(c=31-Ta(r),a=d.hiddenUpdates,n=a[c],n===null?a[c]=[t]:n.push(t),t.lane=r|536870912),d):null}function Rn(a){if(50<Is)throw Is=0,rd=null,Error(o(185));for(var t=a.return;t!==null;)a=t,t=a.return;return a.tag===3?a.stateNode:null}var hr={};function v0(a,t,r,n){this.tag=a,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Da(a,t,r,n){return new v0(a,t,r,n)}function Zo(a){return a=a.prototype,!(!a||!a.isReactComponent)}function jt(a,t){var r=a.alternate;return r===null?(r=Da(a.tag,t,a.key,a.mode),r.elementType=a.elementType,r.type=a.type,r.stateNode=a.stateNode,r.alternate=a,a.alternate=r):(r.pendingProps=t,r.type=a.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=a.flags&65011712,r.childLanes=a.childLanes,r.lanes=a.lanes,r.child=a.child,r.memoizedProps=a.memoizedProps,r.memoizedState=a.memoizedState,r.updateQueue=a.updateQueue,t=a.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=a.sibling,r.index=a.index,r.ref=a.ref,r.refCleanup=a.refCleanup,r}function ep(a,t){a.flags&=65011714;var r=a.alternate;return r===null?(a.childLanes=0,a.lanes=t,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=r.childLanes,a.lanes=r.lanes,a.child=r.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=r.memoizedProps,a.memoizedState=r.memoizedState,a.updateQueue=r.updateQueue,a.type=r.type,t=r.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),a}function Fn(a,t,r,n,c,d){var x=0;if(n=a,typeof a=="function")Zo(a)&&(x=1);else if(typeof a=="string")x=ky(a,r,Ne.current)?26:a==="html"||a==="head"||a==="body"?27:5;else e:switch(a){case Z:return a=Da(31,r,t,c),a.elementType=Z,a.lanes=d,a;case A:return Ri(r.children,c,d,t);case P:x=8,c|=24;break;case D:return a=Da(12,r,t,c|2),a.elementType=D,a.lanes=d,a;case F:return a=Da(13,r,t,c),a.elementType=F,a.lanes=d,a;case z:return a=Da(19,r,t,c),a.elementType=z,a.lanes=d,a;default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case M:case O:x=10;break e;case w:x=9;break e;case N:x=11;break e;case _:x=14;break e;case Q:x=16,n=null;break e}x=29,r=Error(o(130,a===null?"null":typeof a,"")),n=null}return t=Da(x,r,t,c),t.elementType=a,t.type=n,t.lanes=d,t}function Ri(a,t,r,n){return a=Da(7,a,n,t),a.lanes=r,a}function ec(a,t,r){return a=Da(6,a,null,t),a.lanes=r,a}function ac(a,t,r){return t=Da(4,a.children!==null?a.children:[],a.key,t),t.lanes=r,t.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},t}var gr=[],fr=0,Bn=null,In=0,Ka=[],Wa=0,Fi=null,Nt=1,Ct="";function Bi(a,t){gr[fr++]=In,gr[fr++]=Bn,Bn=a,In=t}function ap(a,t,r){Ka[Wa++]=Nt,Ka[Wa++]=Ct,Ka[Wa++]=Fi,Fi=a;var n=Nt;a=Ct;var c=32-Ta(n)-1;n&=~(1<<c),r+=1;var d=32-Ta(t)+c;if(30<d){var x=c-c%5;d=(n&(1<<x)-1).toString(32),n>>=x,c-=x,Nt=1<<32-Ta(t)+c|r<<c|n,Ct=d+a}else Nt=1<<d|r<<c|n,Ct=a}function tc(a){a.return!==null&&(Bi(a,1),ap(a,1,0))}function ic(a){for(;a===Bn;)Bn=gr[--fr],gr[fr]=null,In=gr[--fr],gr[fr]=null;for(;a===Fi;)Fi=Ka[--Wa],Ka[Wa]=null,Ct=Ka[--Wa],Ka[Wa]=null,Nt=Ka[--Wa],Ka[Wa]=null}var fa=null,Ve=null,Ae=!1,Ii=null,pt=!1,rc=Error(o(519));function Mi(a){var t=Error(o(418,""));throw gs(Ha(t,a)),rc}function tp(a){var t=a.stateNode,r=a.type,n=a.memoizedProps;switch(t[ua]=a,t[xa]=n,r){case"dialog":xe("cancel",t),xe("close",t);break;case"iframe":case"object":case"embed":xe("load",t);break;case"video":case"audio":for(r=0;r<qs.length;r++)xe(qs[r],t);break;case"source":xe("error",t);break;case"img":case"image":case"link":xe("error",t),xe("load",t);break;case"details":xe("toggle",t);break;case"input":xe("invalid",t),bm(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0),jn(t);break;case"select":xe("invalid",t);break;case"textarea":xe("invalid",t),vm(t,n.value,n.defaultValue,n.children),jn(t)}r=n.children,typeof r!="string"&&typeof r!="number"&&typeof r!="bigint"||t.textContent===""+r||n.suppressHydrationWarning===!0||vg(t.textContent,r)?(n.popover!=null&&(xe("beforetoggle",t),xe("toggle",t)),n.onScroll!=null&&xe("scroll",t),n.onScrollEnd!=null&&xe("scrollend",t),n.onClick!=null&&(t.onclick=bl),t=!0):t=!1,t||Mi(a)}function ip(a){for(fa=a.return;fa;)switch(fa.tag){case 5:case 13:pt=!1;return;case 27:case 3:pt=!0;return;default:fa=fa.return}}function ps(a){if(a!==fa)return!1;if(!Ae)return ip(a),Ae=!0,!1;var t=a.tag,r;if((r=t!==3&&t!==27)&&((r=t===5)&&(r=a.type,r=!(r!=="form"&&r!=="button")||yd(a.type,a.memoizedProps)),r=!r),r&&Ve&&Mi(a),ip(a),t===13){if(a=a.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(o(317));e:{for(a=a.nextSibling,t=0;a;){if(a.nodeType===8)if(r=a.data,r==="/$"){if(t===0){Ve=it(a.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++;a=a.nextSibling}Ve=null}}else t===27?(t=Ve,di(a.type)?(a=Nd,Nd=null,Ve=a):Ve=t):Ve=fa?it(a.stateNode.nextSibling):null;return!0}function hs(){Ve=fa=null,Ae=!1}function rp(){var a=Ii;return a!==null&&(wa===null?wa=a:wa.push.apply(wa,a),Ii=null),a}function gs(a){Ii===null?Ii=[a]:Ii.push(a)}var sc=je(null),qi=null,At=null;function Jt(a,t,r){pe(sc,t._currentValue),t._currentValue=r}function St(a){a._currentValue=sc.current,ve(sc)}function nc(a,t,r){for(;a!==null;){var n=a.alternate;if((a.childLanes&t)!==t?(a.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),a===r)break;a=a.return}}function lc(a,t,r,n){var c=a.child;for(c!==null&&(c.return=a);c!==null;){var d=c.dependencies;if(d!==null){var x=c.child;d=d.firstContext;e:for(;d!==null;){var y=d;d=c;for(var S=0;S<t.length;S++)if(y.context===t[S]){d.lanes|=r,y=d.alternate,y!==null&&(y.lanes|=r),nc(d.return,r,a),n||(x=null);break e}d=y.next}}else if(c.tag===18){if(x=c.return,x===null)throw Error(o(341));x.lanes|=r,d=x.alternate,d!==null&&(d.lanes|=r),nc(x,r,a),x=null}else x=c.child;if(x!==null)x.return=c;else for(x=c;x!==null;){if(x===a){x=null;break}if(c=x.sibling,c!==null){c.return=x.return,x=c;break}x=x.return}c=x}}function fs(a,t,r,n){a=null;for(var c=t,d=!1;c!==null;){if(!d){if((c.flags&524288)!==0)d=!0;else if((c.flags&262144)!==0)break}if(c.tag===10){var x=c.alternate;if(x===null)throw Error(o(387));if(x=x.memoizedProps,x!==null){var y=c.type;Pa(c.pendingProps.value,x.value)||(a!==null?a.push(y):a=[y])}}else if(c===ga.current){if(x=c.alternate,x===null)throw Error(o(387));x.memoizedState.memoizedState!==c.memoizedState.memoizedState&&(a!==null?a.push(_s):a=[_s])}c=c.return}a!==null&&lc(t,a,r,n),t.flags|=262144}function Mn(a){for(a=a.firstContext;a!==null;){if(!Pa(a.context._currentValue,a.memoizedValue))return!0;a=a.next}return!1}function Li(a){qi=a,At=null,a=a.dependencies,a!==null&&(a.firstContext=null)}function ma(a){return sp(qi,a)}function qn(a,t){return qi===null&&Li(a),sp(a,t)}function sp(a,t){var r=t._currentValue;if(t={context:t,memoizedValue:r,next:null},At===null){if(a===null)throw Error(o(308));At=t,a.dependencies={lanes:0,firstContext:t},a.flags|=524288}else At=At.next=t;return r}var y0=typeof AbortController<"u"?AbortController:function(){var a=[],t=this.signal={aborted:!1,addEventListener:function(r,n){a.push(n)}};this.abort=function(){t.aborted=!0,a.forEach(function(r){return r()})}},k0=s.unstable_scheduleCallback,w0=s.unstable_NormalPriority,Ze={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function oc(){return{controller:new y0,data:new Map,refCount:0}}function bs(a){a.refCount--,a.refCount===0&&k0(w0,function(){a.controller.abort()})}var xs=null,cc=0,br=0,xr=null;function j0(a,t){if(xs===null){var r=xs=[];cc=0,br=ud(),xr={status:"pending",value:void 0,then:function(n){r.push(n)}}}return cc++,t.then(np,np),t}function np(){if(--cc===0&&xs!==null){xr!==null&&(xr.status="fulfilled");var a=xs;xs=null,br=0,xr=null;for(var t=0;t<a.length;t++)(0,a[t])()}}function N0(a,t){var r=[],n={status:"pending",value:null,reason:null,then:function(c){r.push(c)}};return a.then(function(){n.status="fulfilled",n.value=t;for(var c=0;c<r.length;c++)(0,r[c])(t)},function(c){for(n.status="rejected",n.reason=c,c=0;c<r.length;c++)(0,r[c])(void 0)}),n}var lp=L.S;L.S=function(a,t){typeof t=="object"&&t!==null&&typeof t.then=="function"&&j0(a,t),lp!==null&&lp(a,t)};var Gi=je(null);function dc(){var a=Gi.current;return a!==null?a:qe.pooledCache}function Ln(a,t){t===null?pe(Gi,Gi.current):pe(Gi,t.pool)}function op(){var a=dc();return a===null?null:{parent:Ze._currentValue,pool:a}}var vs=Error(o(460)),cp=Error(o(474)),Gn=Error(o(542)),uc={then:function(){}};function dp(a){return a=a.status,a==="fulfilled"||a==="rejected"}function Vn(){}function up(a,t,r){switch(r=a[r],r===void 0?a.push(t):r!==t&&(t.then(Vn,Vn),t=r),t.status){case"fulfilled":return t.value;case"rejected":throw a=t.reason,pp(a),a;default:if(typeof t.status=="string")t.then(Vn,Vn);else{if(a=qe,a!==null&&100<a.shellSuspendCounter)throw Error(o(482));a=t,a.status="pending",a.then(function(n){if(t.status==="pending"){var c=t;c.status="fulfilled",c.value=n}},function(n){if(t.status==="pending"){var c=t;c.status="rejected",c.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw a=t.reason,pp(a),a}throw ys=t,vs}}var ys=null;function mp(){if(ys===null)throw Error(o(459));var a=ys;return ys=null,a}function pp(a){if(a===vs||a===Gn)throw Error(o(483))}var Yt=!1;function mc(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function pc(a,t){a=a.updateQueue,t.updateQueue===a&&(t.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,callbacks:null})}function $t(a){return{lane:a,tag:0,payload:null,callback:null,next:null}}function Xt(a,t,r){var n=a.updateQueue;if(n===null)return null;if(n=n.shared,(De&2)!==0){var c=n.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),n.pending=t,t=Rn(a),Zm(a,null,r),t}return On(a,n,t,r),Rn(a)}function ks(a,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194048)!==0)){var n=t.lanes;n&=a.pendingLanes,r|=n,t.lanes=r,nm(a,r)}}function hc(a,t){var r=a.updateQueue,n=a.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var c=null,d=null;if(r=r.firstBaseUpdate,r!==null){do{var x={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};d===null?c=d=x:d=d.next=x,r=r.next}while(r!==null);d===null?c=d=t:d=d.next=t}else c=d=t;r={baseState:n.baseState,firstBaseUpdate:c,lastBaseUpdate:d,shared:n.shared,callbacks:n.callbacks},a.updateQueue=r;return}a=r.lastBaseUpdate,a===null?r.firstBaseUpdate=t:a.next=t,r.lastBaseUpdate=t}var gc=!1;function ws(){if(gc){var a=xr;if(a!==null)throw a}}function js(a,t,r,n){gc=!1;var c=a.updateQueue;Yt=!1;var d=c.firstBaseUpdate,x=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var S=y,q=S.next;S.next=null,x===null?d=q:x.next=q,x=S;var U=a.alternate;U!==null&&(U=U.updateQueue,y=U.lastBaseUpdate,y!==x&&(y===null?U.firstBaseUpdate=q:y.next=q,U.lastBaseUpdate=S))}if(d!==null){var W=c.baseState;x=0,U=q=S=null,y=d;do{var G=y.lane&-536870913,V=G!==y.lane;if(V?(ye&G)===G:(n&G)===G){G!==0&&G===br&&(gc=!0),U!==null&&(U=U.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ce=a,ne=y;G=t;var Fe=r;switch(ne.tag){case 1:if(ce=ne.payload,typeof ce=="function"){W=ce.call(Fe,W,G);break e}W=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=ne.payload,G=typeof ce=="function"?ce.call(Fe,W,G):ce,G==null)break e;W=g({},W,G);break e;case 2:Yt=!0}}G=y.callback,G!==null&&(a.flags|=64,V&&(a.flags|=8192),V=c.callbacks,V===null?c.callbacks=[G]:V.push(G))}else V={lane:G,tag:y.tag,payload:y.payload,callback:y.callback,next:null},U===null?(q=U=V,S=W):U=U.next=V,x|=G;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;V=y,y=V.next,V.next=null,c.lastBaseUpdate=V,c.shared.pending=null}}while(!0);U===null&&(S=W),c.baseState=S,c.firstBaseUpdate=q,c.lastBaseUpdate=U,d===null&&(c.shared.lanes=0),ni|=x,a.lanes=x,a.memoizedState=W}}function hp(a,t){if(typeof a!="function")throw Error(o(191,a));a.call(t)}function gp(a,t){var r=a.callbacks;if(r!==null)for(a.callbacks=null,a=0;a<r.length;a++)hp(r[a],t)}var vr=je(null),Un=je(0);function fp(a,t){a=Rt,pe(Un,a),pe(vr,t),Rt=a|t.baseLanes}function fc(){pe(Un,Rt),pe(vr,vr.current)}function bc(){Rt=Un.current,ve(vr),ve(Un)}var Zt=0,he=null,Oe=null,Je=null,Hn=!1,yr=!1,Vi=!1,_n=0,Ns=0,kr=null,C0=0;function Ke(){throw Error(o(321))}function xc(a,t){if(t===null)return!1;for(var r=0;r<t.length&&r<a.length;r++)if(!Pa(a[r],t[r]))return!1;return!0}function vc(a,t,r,n,c,d){return Zt=d,he=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=a===null||a.memoizedState===null?Zp:eh,Vi=!1,d=r(n,c),Vi=!1,yr&&(d=xp(t,r,n,c)),bp(a),d}function bp(a){L.H=$n;var t=Oe!==null&&Oe.next!==null;if(Zt=0,Je=Oe=he=null,Hn=!1,Ns=0,kr=null,t)throw Error(o(300));a===null||ra||(a=a.dependencies,a!==null&&Mn(a)&&(ra=!0))}function xp(a,t,r,n){he=a;var c=0;do{if(yr&&(kr=null),Ns=0,yr=!1,25<=c)throw Error(o(301));if(c+=1,Je=Oe=null,a.updateQueue!=null){var d=a.updateQueue;d.lastEffect=null,d.events=null,d.stores=null,d.memoCache!=null&&(d.memoCache.index=0)}L.H=E0,d=t(r,n)}while(yr);return d}function A0(){var a=L.H,t=a.useState()[0];return t=typeof t.then=="function"?Cs(t):t,a=a.useState()[0],(Oe!==null?Oe.memoizedState:null)!==a&&(he.flags|=1024),t}function yc(){var a=_n!==0;return _n=0,a}function kc(a,t,r){t.updateQueue=a.updateQueue,t.flags&=-2053,a.lanes&=~r}function wc(a){if(Hn){for(a=a.memoizedState;a!==null;){var t=a.queue;t!==null&&(t.pending=null),a=a.next}Hn=!1}Zt=0,Je=Oe=he=null,yr=!1,Ns=_n=0,kr=null}function ya(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Je===null?he.memoizedState=Je=a:Je=Je.next=a,Je}function Ye(){if(Oe===null){var a=he.alternate;a=a!==null?a.memoizedState:null}else a=Oe.next;var t=Je===null?he.memoizedState:Je.next;if(t!==null)Je=t,Oe=a;else{if(a===null)throw he.alternate===null?Error(o(467)):Error(o(310));Oe=a,a={memoizedState:Oe.memoizedState,baseState:Oe.baseState,baseQueue:Oe.baseQueue,queue:Oe.queue,next:null},Je===null?he.memoizedState=Je=a:Je=Je.next=a}return Je}function jc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Cs(a){var t=Ns;return Ns+=1,kr===null&&(kr=[]),a=up(kr,a,t),t=he,(Je===null?t.memoizedState:Je.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Zp:eh),a}function Kn(a){if(a!==null&&typeof a=="object"){if(typeof a.then=="function")return Cs(a);if(a.$$typeof===O)return ma(a)}throw Error(o(438,String(a)))}function Nc(a){var t=null,r=he.updateQueue;if(r!==null&&(t=r.memoCache),t==null){var n=he.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(c){return c.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),r===null&&(r=jc(),he.updateQueue=r),r.memoCache=t,r=t.data[t.index],r===void 0)for(r=t.data[t.index]=Array(a),n=0;n<a;n++)r[n]=se;return t.index++,r}function Tt(a,t){return typeof t=="function"?t(a):t}function Wn(a){var t=Ye();return Cc(t,Oe,a)}function Cc(a,t,r){var n=a.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=r;var c=a.baseQueue,d=n.pending;if(d!==null){if(c!==null){var x=c.next;c.next=d.next,d.next=x}t.baseQueue=c=d,n.pending=null}if(d=a.baseState,c===null)a.memoizedState=d;else{t=c.next;var y=x=null,S=null,q=t,U=!1;do{var W=q.lane&-536870913;if(W!==q.lane?(ye&W)===W:(Zt&W)===W){var G=q.revertLane;if(G===0)S!==null&&(S=S.next={lane:0,revertLane:0,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null}),W===br&&(U=!0);else if((Zt&G)===G){q=q.next,G===br&&(U=!0);continue}else W={lane:0,revertLane:q.revertLane,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},S===null?(y=S=W,x=d):S=S.next=W,he.lanes|=G,ni|=G;W=q.action,Vi&&r(d,W),d=q.hasEagerState?q.eagerState:r(d,W)}else G={lane:W,revertLane:q.revertLane,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},S===null?(y=S=G,x=d):S=S.next=G,he.lanes|=W,ni|=W;q=q.next}while(q!==null&&q!==t);if(S===null?x=d:S.next=y,!Pa(d,a.memoizedState)&&(ra=!0,U&&(r=xr,r!==null)))throw r;a.memoizedState=d,a.baseState=x,a.baseQueue=S,n.lastRenderedState=d}return c===null&&(n.lanes=0),[a.memoizedState,n.dispatch]}function Ac(a){var t=Ye(),r=t.queue;if(r===null)throw Error(o(311));r.lastRenderedReducer=a;var n=r.dispatch,c=r.pending,d=t.memoizedState;if(c!==null){r.pending=null;var x=c=c.next;do d=a(d,x.action),x=x.next;while(x!==c);Pa(d,t.memoizedState)||(ra=!0),t.memoizedState=d,t.baseQueue===null&&(t.baseState=d),r.lastRenderedState=d}return[d,n]}function vp(a,t,r){var n=he,c=Ye(),d=Ae;if(d){if(r===void 0)throw Error(o(407));r=r()}else r=t();var x=!Pa((Oe||c).memoizedState,r);x&&(c.memoizedState=r,ra=!0),c=c.queue;var y=wp.bind(null,n,c,a);if(As(2048,8,y,[a]),c.getSnapshot!==t||x||Je!==null&&Je.memoizedState.tag&1){if(n.flags|=2048,wr(9,Qn(),kp.bind(null,n,c,r,t),null),qe===null)throw Error(o(349));d||(Zt&124)!==0||yp(n,t,r)}return r}function yp(a,t,r){a.flags|=16384,a={getSnapshot:t,value:r},t=he.updateQueue,t===null?(t=jc(),he.updateQueue=t,t.stores=[a]):(r=t.stores,r===null?t.stores=[a]:r.push(a))}function kp(a,t,r,n){t.value=r,t.getSnapshot=n,jp(t)&&Np(a)}function wp(a,t,r){return r(function(){jp(t)&&Np(a)})}function jp(a){var t=a.getSnapshot;a=a.value;try{var r=t();return!Pa(a,r)}catch{return!0}}function Np(a){var t=pr(a,2);t!==null&&Fa(t,a,2)}function Sc(a){var t=ya();if(typeof a=="function"){var r=a;if(a=r(),Vi){Kt(!0);try{r()}finally{Kt(!1)}}}return t.memoizedState=t.baseState=a,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Tt,lastRenderedState:a},t}function Cp(a,t,r,n){return a.baseState=r,Cc(a,Oe,typeof n=="function"?n:Tt)}function S0(a,t,r,n,c){if(Yn(a))throw Error(o(485));if(a=t.action,a!==null){var d={payload:c,action:a,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){d.listeners.push(x)}};L.T!==null?r(!0):d.isTransition=!1,n(d),r=t.pending,r===null?(d.next=t.pending=d,Ap(t,d)):(d.next=r.next,t.pending=r.next=d)}}function Ap(a,t){var r=t.action,n=t.payload,c=a.state;if(t.isTransition){var d=L.T,x={};L.T=x;try{var y=r(c,n),S=L.S;S!==null&&S(x,y),Sp(a,t,y)}catch(q){Tc(a,t,q)}finally{L.T=d}}else try{d=r(c,n),Sp(a,t,d)}catch(q){Tc(a,t,q)}}function Sp(a,t,r){r!==null&&typeof r=="object"&&typeof r.then=="function"?r.then(function(n){Tp(a,t,n)},function(n){return Tc(a,t,n)}):Tp(a,t,r)}function Tp(a,t,r){t.status="fulfilled",t.value=r,Pp(t),a.state=r,t=a.pending,t!==null&&(r=t.next,r===t?a.pending=null:(r=r.next,t.next=r,Ap(a,r)))}function Tc(a,t,r){var n=a.pending;if(a.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=r,Pp(t),t=t.next;while(t!==n)}a.action=null}function Pp(a){a=a.listeners;for(var t=0;t<a.length;t++)(0,a[t])()}function Dp(a,t){return t}function zp(a,t){if(Ae){var r=qe.formState;if(r!==null){e:{var n=he;if(Ae){if(Ve){a:{for(var c=Ve,d=pt;c.nodeType!==8;){if(!d){c=null;break a}if(c=it(c.nextSibling),c===null){c=null;break a}}d=c.data,c=d==="F!"||d==="F"?c:null}if(c){Ve=it(c.nextSibling),n=c.data==="F!";break e}}Mi(n)}n=!1}n&&(t=r[0])}}return r=ya(),r.memoizedState=r.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dp,lastRenderedState:t},r.queue=n,r=Yp.bind(null,he,n),n.dispatch=r,n=Sc(!1),d=Oc.bind(null,he,!1,n.queue),n=ya(),c={state:t,dispatch:null,action:a,pending:null},n.queue=c,r=S0.bind(null,he,c,d,r),c.dispatch=r,n.memoizedState=a,[t,r,!1]}function Ep(a){var t=Ye();return Op(t,Oe,a)}function Op(a,t,r){if(t=Cc(a,t,Dp)[0],a=Wn(Tt)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Cs(t)}catch(x){throw x===vs?Gn:x}else n=t;t=Ye();var c=t.queue,d=c.dispatch;return r!==t.memoizedState&&(he.flags|=2048,wr(9,Qn(),T0.bind(null,c,r),null)),[n,d,a]}function T0(a,t){a.action=t}function Rp(a){var t=Ye(),r=Oe;if(r!==null)return Op(t,r,a);Ye(),t=t.memoizedState,r=Ye();var n=r.queue.dispatch;return r.memoizedState=a,[t,n,!1]}function wr(a,t,r,n){return a={tag:a,create:r,deps:n,inst:t,next:null},t=he.updateQueue,t===null&&(t=jc(),he.updateQueue=t),r=t.lastEffect,r===null?t.lastEffect=a.next=a:(n=r.next,r.next=a,a.next=n,t.lastEffect=a),a}function Qn(){return{destroy:void 0,resource:void 0}}function Fp(){return Ye().memoizedState}function Jn(a,t,r,n){var c=ya();n=n===void 0?null:n,he.flags|=a,c.memoizedState=wr(1|t,Qn(),r,n)}function As(a,t,r,n){var c=Ye();n=n===void 0?null:n;var d=c.memoizedState.inst;Oe!==null&&n!==null&&xc(n,Oe.memoizedState.deps)?c.memoizedState=wr(t,d,r,n):(he.flags|=a,c.memoizedState=wr(1|t,d,r,n))}function Bp(a,t){Jn(8390656,8,a,t)}function Ip(a,t){As(2048,8,a,t)}function Mp(a,t){return As(4,2,a,t)}function qp(a,t){return As(4,4,a,t)}function Lp(a,t){if(typeof t=="function"){a=a();var r=t(a);return function(){typeof r=="function"?r():t(null)}}if(t!=null)return a=a(),t.current=a,function(){t.current=null}}function Gp(a,t,r){r=r!=null?r.concat([a]):null,As(4,4,Lp.bind(null,t,a),r)}function Pc(){}function Vp(a,t){var r=Ye();t=t===void 0?null:t;var n=r.memoizedState;return t!==null&&xc(t,n[1])?n[0]:(r.memoizedState=[a,t],a)}function Up(a,t){var r=Ye();t=t===void 0?null:t;var n=r.memoizedState;if(t!==null&&xc(t,n[1]))return n[0];if(n=a(),Vi){Kt(!0);try{a()}finally{Kt(!1)}}return r.memoizedState=[n,t],n}function Dc(a,t,r){return r===void 0||(Zt&1073741824)!==0?a.memoizedState=t:(a.memoizedState=r,a=Kh(),he.lanes|=a,ni|=a,r)}function Hp(a,t,r,n){return Pa(r,t)?r:vr.current!==null?(a=Dc(a,r,n),Pa(a,t)||(ra=!0),a):(Zt&42)===0?(ra=!0,a.memoizedState=r):(a=Kh(),he.lanes|=a,ni|=a,t)}function _p(a,t,r,n,c){var d=K.p;K.p=d!==0&&8>d?d:8;var x=L.T,y={};L.T=y,Oc(a,!1,t,r);try{var S=c(),q=L.S;if(q!==null&&q(y,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var U=N0(S,n);Ss(a,t,U,Ra(a))}else Ss(a,t,n,Ra(a))}catch(W){Ss(a,t,{then:function(){},status:"rejected",reason:W},Ra())}finally{K.p=d,L.T=x}}function P0(){}function zc(a,t,r,n){if(a.tag!==5)throw Error(o(476));var c=Kp(a).queue;_p(a,c,t,R,r===null?P0:function(){return Wp(a),r(n)})}function Kp(a){var t=a.memoizedState;if(t!==null)return t;t={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Tt,lastRenderedState:R},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Tt,lastRenderedState:r},next:null},a.memoizedState=t,a=a.alternate,a!==null&&(a.memoizedState=t),t}function Wp(a){var t=Kp(a).next.queue;Ss(a,t,{},Ra())}function Ec(){return ma(_s)}function Qp(){return Ye().memoizedState}function Jp(){return Ye().memoizedState}function D0(a){for(var t=a.return;t!==null;){switch(t.tag){case 24:case 3:var r=Ra();a=$t(r);var n=Xt(t,a,r);
vendor: 2,272 bytes, line 8
8n!==null&&(Fa(n,t,r),ks(n,t,r)),t={cache:oc()},a.payload=t;return}t=t.return}}function z0(a,t,r){var n=Ra();r={lane:n,revertLane:0,action:r,hasEagerState:!1,eagerState:null,next:null},Yn(a)?$p(t,r):(r=Xo(a,t,r,n),r!==null&&(Fa(r,a,n),Xp(r,t,n)))}function Yp(a,t,r){var n=Ra();Ss(a,t,r,n)}function Ss(a,t,r,n){var c={lane:n,revertLane:0,action:r,hasEagerState:!1,eagerState:null,next:null};if(Yn(a))$p(t,c);else{var d=a.alternate;if(a.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var x=t.lastRenderedState,y=d(x,r);if(c.hasEagerState=!0,c.eagerState=y,Pa(y,x))return On(a,t,c,0),qe===null&&En(),!1}catch{}if(r=Xo(a,t,c,n),r!==null)return Fa(r,a,n),Xp(r,t,n),!0}return!1}function Oc(a,t,r,n){if(n={lane:2,revertLane:ud(),action:n,hasEagerState:!1,eagerState:null,next:null},Yn(a)){if(t)throw Error(o(479))}else t=Xo(a,r,n,2),t!==null&&Fa(t,a,2)}function Yn(a){var t=a.alternate;return a===he||t!==null&&t===he}function $p(a,t){yr=Hn=!0;var r=a.pending;r===null?t.next=t:(t.next=r.next,r.next=t),a.pending=t}function Xp(a,t,r){if((r&4194048)!==0){var n=t.lanes;n&=a.pendingLanes,r|=n,t.lanes=r,nm(a,r)}}var $n={readContext:ma,use:Kn,useCallback:Ke,useContext:Ke,useEffect:Ke,useImperativeHandle:Ke,useLayoutEffect:Ke,useInsertionEffect:Ke,useMemo:Ke,useReducer:Ke,useRef:Ke,useState:Ke,useDebugValue:Ke,useDeferredValue:Ke,useTransition:Ke,useSyncExternalStore:Ke,useId:Ke,useHostTransitionStatus:Ke,useFormState:Ke,useActionState:Ke,useOptimistic:Ke,useMemoCache:Ke,useCacheRefresh:Ke},Zp={readContext:ma,use:Kn,useCallback:function(a,t){return ya().memoizedState=[a,t===void 0?null:t],a},useContext:ma,useEffect:Bp,useImperativeHandle:function(a,t,r){r=r!=null?r.concat([a]):null,Jn(4194308,4,Lp.bind(null,t,a),r)},useLayoutEffect:function(a,t){return Jn(4194308,4,a,t)},useInsertionEffect:function(a,t){Jn(4,2,a,t)},useMemo:function(a,t){var r=ya();t=t===void 0?null:t;var n=a();if(Vi){Kt(!0);try{a()}finally{Kt(!1)}}return r.memoizedState=[n,t],n},useReducer:function(a,t,r){var n=ya();if(r!==void 0){var c=r(t);if(Vi){Kt(!0);try{r(t)}finally{Kt(!1)}}}else c=t;return n.memoizedState=n.baseState=c,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:c},n.queue=a,a=a.dispatch=z0.bind(null,he,a),[n.memoizedState,a]}
vendor: 79,606 bytes, lines 8-9
8,useRef:function(a){var t=ya();return a={current:a},t.memoizedState=a},useState:function(a){a=Sc(a);var t=a.queue,r=Yp.bind(null,he,t);return t.dispatch=r,[a.memoizedState,r]},useDebugValue:Pc,useDeferredValue:function(a,t){var r=ya();return Dc(r,a,t)},useTransition:function(){var a=Sc(!1);return a=_p.bind(null,he,a.queue,!0,!1),ya().memoizedState=a,[!1,a]},useSyncExternalStore:function(a,t,r){var n=he,c=ya();if(Ae){if(r===void 0)throw Error(o(407));r=r()}else{if(r=t(),qe===null)throw Error(o(349));(ye&124)!==0||yp(n,t,r)}c.memoizedState=r;var d={value:r,getSnapshot:t};return c.queue=d,Bp(wp.bind(null,n,d,a),[a]),n.flags|=2048,wr(9,Qn(),kp.bind(null,n,d,r,t),null),r},useId:function(){var a=ya(),t=qe.identifierPrefix;if(Ae){var r=Ct,n=Nt;r=(n&~(1<<32-Ta(n)-1)).toString(32)+r,t="«"+t+"R"+r,r=_n++,0<r&&(t+="H"+r.toString(32)),t+="»"}else r=C0++,t="«"+t+"r"+r.toString(32)+"»";return a.memoizedState=t},useHostTransitionStatus:Ec,useFormState:zp,useActionState:zp,useOptimistic:function(a){var t=ya();t.memoizedState=t.baseState=a;var r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=r,t=Oc.bind(null,he,!0,r),r.dispatch=t,[a,t]},useMemoCache:Nc,useCacheRefresh:function(){return ya().memoizedState=D0.bind(null,he)}},eh={readContext:ma,use:Kn,useCallback:Vp,useContext:ma,useEffect:Ip,useImperativeHandle:Gp,useInsertionEffect:Mp,useLayoutEffect:qp,useMemo:Up,useReducer:Wn,useRef:Fp,useState:function(){return Wn(Tt)},useDebugValue:Pc,useDeferredValue:function(a,t){var r=Ye();return Hp(r,Oe.memoizedState,a,t)},useTransition:function(){var a=Wn(Tt)[0],t=Ye().memoizedState;return[typeof a=="boolean"?a:Cs(a),t]},useSyncExternalStore:vp,useId:Qp,useHostTransitionStatus:Ec,useFormState:Ep,useActionState:Ep,useOptimistic:function(a,t){var r=Ye();return Cp(r,Oe,a,t)},useMemoCache:Nc,useCacheRefresh:Jp},E0={readContext:ma,use:Kn,useCallback:Vp,useContext:ma,useEffect:Ip,useImperativeHandle:Gp,useInsertionEffect:Mp,useLayoutEffect:qp,useMemo:Up,useReducer:Ac,useRef:Fp,useState:function(){return Ac(Tt)},useDebugValue:Pc,useDeferredValue:function(a,t){var r=Ye();return Oe===null?Dc(r,a,t):Hp(r,Oe.memoizedState,a,t)},useTransition:function(){var a=Ac(Tt)[0],t=Ye().memoizedState;return[typeof a=="boolean"?a:Cs(a),t]},useSyncExternalStore:vp,useId:Qp,useHostTransitionStatus:Ec,useFormState:Rp,useActionState:Rp,useOptimistic:function(a,t){var r=Ye();return Oe!==null?Cp(r,Oe,a,t):(r.baseState=a,[a,r.queue.dispatch])},useMemoCache:Nc,useCacheRefresh:Jp},jr=null,Ts=0;function Xn(a){var t=Ts;return Ts+=1,jr===null&&(jr=[]),up(jr,a,t)}function Ps(a,t){t=t.props.ref,a.ref=t!==void 0?t:null}function Zn(a,t){throw t.$$typeof===v?Error(o(525)):(a=Object.prototype.toString.call(t),Error(o(31,a==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":a)))}function ah(a){var t=a._init;return t(a._payload)}function th(a){function t(B,E){if(a){var I=B.deletions;I===null?(B.deletions=[E],B.flags|=16):I.push(E)}}function r(B,E){if(!a)return null;for(;E!==null;)t(B,E),E=E.sibling;return null}function n(B){for(var E=new Map;B!==null;)B.key!==null?E.set(B.key,B):E.set(B.index,B),B=B.sibling;return E}function c(B,E){return B=jt(B,E),B.index=0,B.sibling=null,B}function d(B,E,I){return B.index=I,a?(I=B.alternate,I!==null?(I=I.index,I<E?(B.flags|=67108866,E):I):(B.flags|=67108866,E)):(B.flags|=1048576,E)}function x(B){return a&&B.alternate===null&&(B.flags|=67108866),B}function y(B,E,I,H){return E===null||E.tag!==6?(E=ec(I,B.mode,H),E.return=B,E):(E=c(E,I),E.return=B,E)}function S(B,E,I,H){var ee=I.type;return ee===A?U(B,E,I.props.children,H,I.key):E!==null&&(E.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===Q&&ah(ee)===E.type)?(E=c(E,I.props),Ps(E,I),E.return=B,E):(E=Fn(I.type,I.key,I.props,null,B.mode,H),Ps(E,I),E.return=B,E)}function q(B,E,I,H){return E===null||E.tag!==4||E.stateNode.containerInfo!==I.containerInfo||E.stateNode.implementation!==I.implementation?(E=ac(I,B.mode,H),E.return=B,E):(E=c(E,I.children||[]),E.return=B,E)}function U(B,E,I,H,ee){return E===null||E.tag!==7?(E=Ri(I,B.mode,H,ee),E.return=B,E):(E=c(E,I),E.return=B,E)}function W(B,E,I){if(typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint")return E=ec(""+E,B.mode,I),E.return=B,E;if(typeof E=="object"&&E!==null){switch(E.$$typeof){case k:return I=Fn(E.type,E.key,E.props,null,B.mode,I),Ps(I,E),I.return=B,I;case j:return E=ac(E,B.mode,I),E.return=B,E;case Q:var H=E._init;return E=H(E._payload),W(B,E,I)}if(me(E)||ue(E))return E=Ri(E,B.mode,I,null),E.return=B,E;if(typeof E.then=="function")return W(B,Xn(E),I);if(E.$$typeof===O)return W(B,qn(B,E),I);Zn(B,E)}return null}function G(B,E,I,H){var ee=E!==null?E.key:null;if(typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint")return ee!==null?null:y(B,E,""+I,H);if(typeof I=="object"&&I!==null){switch(I.$$typeof){case k:return I.key===ee?S(B,E,I,H):null;case j:return I.key===ee?q(B,E,I,H):null;case Q:return ee=I._init,I=ee(I._payload),G(B,E,I,H)}if(me(I)||ue(I))return ee!==null?null:U(B,E,I,H,null);if(typeof I.then=="function")return G(B,E,Xn(I),H);if(I.$$typeof===O)return G(B,E,qn(B,I),H);Zn(B,I)}return null}function V(B,E,I,H,ee){if(typeof H=="string"&&H!==""||typeof H=="number"||typeof H=="bigint")return B=B.get(I)||null,y(E,B,""+H,ee);if(typeof H=="object"&&H!==null){switch(H.$$typeof){case k:return B=B.get(H.key===null?I:H.key)||null,S(E,B,H,ee);case j:return B=B.get(H.key===null?I:H.key)||null,q(E,B,H,ee);case Q:var fe=H._init;return H=fe(H._payload),V(B,E,I,H,ee)}if(me(H)||ue(H))return B=B.get(I)||null,U(E,B,H,ee,null);if(typeof H.then=="function")return V(B,E,I,Xn(H),ee);if(H.$$typeof===O)return V(B,E,I,qn(E,H),ee);Zn(E,H)}return null}function ce(B,E,I,H){for(var ee=null,fe=null,ie=E,le=E=0,na=null;ie!==null&&le<I.length;le++){ie.index>le?(na=ie,ie=null):na=ie.sibling;var Ce=G(B,ie,I[le],H);if(Ce===null){ie===null&&(ie=na);break}a&&ie&&Ce.alternate===null&&t(B,ie),E=d(Ce,E,le),fe===null?ee=Ce:fe.sibling=Ce,fe=Ce,ie=na}if(le===I.length)return r(B,ie),Ae&&Bi(B,le),ee;if(ie===null){for(;le<I.length;le++)ie=W(B,I[le],H),ie!==null&&(E=d(ie,E,le),fe===null?ee=ie:fe.sibling=ie,fe=ie);return Ae&&Bi(B,le),ee}for(ie=n(ie);le<I.length;le++)na=V(ie,B,le,I[le],H),na!==null&&(a&&na.alternate!==null&&ie.delete(na.key===null?le:na.key),E=d(na,E,le),fe===null?ee=na:fe.sibling=na,fe=na);return a&&ie.forEach(function(gi){return t(B,gi)}),Ae&&Bi(B,le),ee}function ne(B,E,I,H){if(I==null)throw Error(o(151));for(var ee=null,fe=null,ie=E,le=E=0,na=null,Ce=I.next();ie!==null&&!Ce.done;le++,Ce=I.next()){ie.index>le?(na=ie,ie=null):na=ie.sibling;var gi=G(B,ie,Ce.value,H);if(gi===null){ie===null&&(ie=na);break}a&&ie&&gi.alternate===null&&t(B,ie),E=d(gi,E,le),fe===null?ee=gi:fe.sibling=gi,fe=gi,ie=na}if(Ce.done)return r(B,ie),Ae&&Bi(B,le),ee;if(ie===null){for(;!Ce.done;le++,Ce=I.next())Ce=W(B,Ce.value,H),Ce!==null&&(E=d(Ce,E,le),fe===null?ee=Ce:fe.sibling=Ce,fe=Ce);return Ae&&Bi(B,le),ee}for(ie=n(ie);!Ce.done;le++,Ce=I.next())Ce=V(ie,B,le,Ce.value,H),Ce!==null&&(a&&Ce.alternate!==null&&ie.delete(Ce.key===null?le:Ce.key),E=d(Ce,E,le),fe===null?ee=Ce:fe.sibling=Ce,fe=Ce);return a&&ie.forEach(function(Oy){return t(B,Oy)}),Ae&&Bi(B,le),ee}function Fe(B,E,I,H){if(typeof I=="object"&&I!==null&&I.type===A&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case k:e:{for(var ee=I.key;E!==null;){if(E.key===ee){if(ee=I.type,ee===A){if(E.tag===7){r(B,E.sibling),H=c(E,I.props.children),H.return=B,B=H;break e}}else if(E.elementType===ee||typeof ee=="object"&&ee!==null&&ee.$$typeof===Q&&ah(ee)===E.type){r(B,E.sibling),H=c(E,I.props),Ps(H,I),H.return=B,B=H;break e}r(B,E);break}else t(B,E);E=E.sibling}I.type===A?(H=Ri(I.props.children,B.mode,H,I.key),H.return=B,B=H):(H=Fn(I.type,I.key,I.props,null,B.mode,H),Ps(H,I),H.return=B,B=H)}return x(B);case j:e:{for(ee=I.key;E!==null;){if(E.key===ee)if(E.tag===4&&E.stateNode.containerInfo===I.containerInfo&&E.stateNode.implementation===I.implementation){r(B,E.sibling),H=c(E,I.children||[]),H.return=B,B=H;break e}else{r(B,E);break}else t(B,E);E=E.sibling}H=ac(I,B.mode,H),H.return=B,B=H}return x(B);case Q:return ee=I._init,I=ee(I._payload),Fe(B,E,I,H)}if(me(I))return ce(B,E,I,H);if(ue(I)){if(ee=ue(I),typeof ee!="function")throw Error(o(150));return I=ee.call(I),ne(B,E,I,H)}if(typeof I.then=="function")return Fe(B,E,Xn(I),H);if(I.$$typeof===O)return Fe(B,E,qn(B,I),H);Zn(B,I)}return typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint"?(I=""+I,E!==null&&E.tag===6?(r(B,E.sibling),H=c(E,I),H.return=B,B=H):(r(B,E),H=ec(I,B.mode,H),H.return=B,B=H),x(B)):r(B,E)}return function(B,E,I,H){try{Ts=0;var ee=Fe(B,E,I,H);return jr=null,ee}catch(ie){if(ie===vs||ie===Gn)throw ie;var fe=Da(29,ie,null,B.mode);return fe.lanes=H,fe.return=B,fe}}}var Nr=th(!0),ih=th(!1),Qa=je(null),ht=null;function ei(a){var t=a.alternate;pe(ea,ea.current&1),pe(Qa,a),ht===null&&(t===null||vr.current!==null||t.memoizedState!==null)&&(ht=a)}function rh(a){if(a.tag===22){if(pe(ea,ea.current),pe(Qa,a),ht===null){var t=a.alternate;t!==null&&t.memoizedState!==null&&(ht=a)}}else ai()}function ai(){pe(ea,ea.current),pe(Qa,Qa.current)}function Pt(a){ve(Qa),ht===a&&(ht=null),ve(ea)}var ea=je(0);function el(a){for(var t=a;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||jd(r)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break;for(;t.sibling===null;){if(t.return===null||t.return===a)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Rc(a,t,r,n){t=a.memoizedState,r=r(n,t),r=r==null?t:g({},t,r),a.memoizedState=r,a.lanes===0&&(a.updateQueue.baseState=r)}var Fc={enqueueSetState:function(a,t,r){a=a._reactInternals;var n=Ra(),c=$t(n);c.payload=t,r!=null&&(c.callback=r),t=Xt(a,c,n),t!==null&&(Fa(t,a,n),ks(t,a,n))},enqueueReplaceState:function(a,t,r){a=a._reactInternals;var n=Ra(),c=$t(n);c.tag=1,c.payload=t,r!=null&&(c.callback=r),t=Xt(a,c,n),t!==null&&(Fa(t,a,n),ks(t,a,n))},enqueueForceUpdate:function(a,t){a=a._reactInternals;var r=Ra(),n=$t(r);n.tag=2,t!=null&&(n.callback=t),t=Xt(a,n,r),t!==null&&(Fa(t,a,r),ks(t,a,r))}};function sh(a,t,r,n,c,d,x){return a=a.stateNode,typeof a.shouldComponentUpdate=="function"?a.shouldComponentUpdate(n,d,x):t.prototype&&t.prototype.isPureReactComponent?!us(r,n)||!us(c,d):!0}function nh(a,t,r,n){a=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(r,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==a&&Fc.enqueueReplaceState(t,t.state,null)}function Ui(a,t){var r=t;if("ref"in t){r={};for(var n in t)n!=="ref"&&(r[n]=t[n])}if(a=a.defaultProps){r===t&&(r=g({},r));for(var c in a)r[c]===void 0&&(r[c]=a[c])}return r}var al=typeof reportError=="function"?reportError:function(a){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof a=="object"&&a!==null&&typeof a.message=="string"?String(a.message):String(a),error:a});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",a);return}console.error(a)};function lh(a){al(a)}function oh(a){console.error(a)}function ch(a){al(a)}function tl(a,t){try{var r=a.onUncaughtError;r(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function dh(a,t,r){try{var n=a.onCaughtError;n(r.value,{componentStack:r.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(c){setTimeout(function(){throw c})}}function Bc(a,t,r){return r=$t(r),r.tag=3,r.payload={element:null},r.callback=function(){tl(a,t)},r}function uh(a){return a=$t(a),a.tag=3,a}function mh(a,t,r,n){var c=r.type.getDerivedStateFromError;if(typeof c=="function"){var d=n.value;a.payload=function(){return c(d)},a.callback=function(){dh(t,r,n)}}var x=r.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(a.callback=function(){dh(t,r,n),typeof c!="function"&&(li===null?li=new Set([this]):li.add(this));var y=n.stack;this.componentDidCatch(n.value,{componentStack:y!==null?y:""})})}function O0(a,t,r,n,c){if(r.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=r.alternate,t!==null&&fs(t,r,c,!0),r=Qa.current,r!==null){switch(r.tag){case 13:return ht===null?nd():r.alternate===null&&Ue===0&&(Ue=3),r.flags&=-257,r.flags|=65536,r.lanes=c,n===uc?r.flags|=16384:(t=r.updateQueue,t===null?r.updateQueue=new Set([n]):t.add(n),od(a,n,c)),!1;case 22:return r.flags|=65536,n===uc?r.flags|=16384:(t=r.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},r.updateQueue=t):(r=t.retryQueue,r===null?t.retryQueue=new Set([n]):r.add(n)),od(a,n,c)),!1}throw Error(o(435,r.tag))}return od(a,n,c),nd(),!1}if(Ae)return t=Qa.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=c,n!==rc&&(a=Error(o(422),{cause:n}),gs(Ha(a,r)))):(n!==rc&&(t=Error(o(423),{cause:n}),gs(Ha(t,r))),a=a.current.alternate,a.flags|=65536,c&=-c,a.lanes|=c,n=Ha(n,r),c=Bc(a.stateNode,n,c),hc(a,c),Ue!==4&&(Ue=2)),!1;var d=Error(o(520),{cause:n});if(d=Ha(d,r),Bs===null?Bs=[d]:Bs.push(d),Ue!==4&&(Ue=2),t===null)return!0;n=Ha(n,r),r=t;do{switch(r.tag){case 3:return r.flags|=65536,a=c&-c,r.lanes|=a,a=Bc(r.stateNode,n,a),hc(r,a),!1;case 1:if(t=r.type,d=r.stateNode,(r.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(li===null||!li.has(d))))return r.flags|=65536,c&=-c,r.lanes|=c,c=uh(c),mh(c,a,r,n),hc(r,c),!1}r=r.return}while(r!==null);return!1}var ph=Error(o(461)),ra=!1;function oa(a,t,r,n){t.child=a===null?ih(t,null,r,n):Nr(t,a.child,r,n)}function hh(a,t,r,n,c){r=r.render;var d=t.ref;if("ref"in n){var x={};for(var y in n)y!=="ref"&&(x[y]=n[y])}else x=n;return Li(t),n=vc(a,t,r,x,d,c),y=yc(),a!==null&&!ra?(kc(a,t,c),Dt(a,t,c)):(Ae&&y&&tc(t),t.flags|=1,oa(a,t,n,c),t.child)}function gh(a,t,r,n,c){if(a===null){var d=r.type;return typeof d=="function"&&!Zo(d)&&d.defaultProps===void 0&&r.compare===null?(t.tag=15,t.type=d,fh(a,t,d,n,c)):(a=Fn(r.type,null,n,t,t.mode,c),a.ref=t.ref,a.return=t,t.child=a)}if(d=a.child,!Hc(a,c)){var x=d.memoizedProps;if(r=r.compare,r=r!==null?r:us,r(x,n)&&a.ref===t.ref)return Dt(a,t,c)}return t.flags|=1,a=jt(d,n),a.ref=t.ref,a.return=t,t.child=a}function fh(a,t,r,n,c){if(a!==null){var d=a.memoizedProps;if(us(d,n)&&a.ref===t.ref)if(ra=!1,t.pendingProps=n=d,Hc(a,c))(a.flags&131072)!==0&&(ra=!0);else return t.lanes=a.lanes,Dt(a,t,c)}return Ic(a,t,r,n,c)}function bh(a,t,r){var n=t.pendingProps,c=n.children,d=a!==null?a.memoizedState:null;if(n.mode==="hidden"){if((t.flags&128)!==0){if(n=d!==null?d.baseLanes|r:r,a!==null){for(c=t.child=a.child,d=0;c!==null;)d=d|c.lanes|c.childLanes,c=c.sibling;t.childLanes=d&~n}else t.childLanes=0,t.child=null;return xh(a,t,n,r)}if((r&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},a!==null&&Ln(t,d!==null?d.cachePool:null),d!==null?fp(t,d):fc(),rh(t);else return t.lanes=t.childLanes=536870912,xh(a,t,d!==null?d.baseLanes|r:r,r)}else d!==null?(Ln(t,d.cachePool),fp(t,d),ai(),t.memoizedState=null):(a!==null&&Ln(t,null),fc(),ai());return oa(a,t,c,r),t.child}function xh(a,t,r,n){var c=dc();return c=c===null?null:{parent:Ze._currentValue,pool:c},t.memoizedState={baseLanes:r,cachePool:c},a!==null&&Ln(t,null),fc(),rh(t),a!==null&&fs(a,t,n,!0),null}function il(a,t){var r=t.ref;if(r===null)a!==null&&a.ref!==null&&(t.flags|=4194816);else{if(typeof r!="function"&&typeof r!="object")throw Error(o(284));(a===null||a.ref!==r)&&(t.flags|=4194816)}}function Ic(a,t,r,n,c){return Li(t),r=vc(a,t,r,n,void 0,c),n=yc(),a!==null&&!ra?(kc(a,t,c),Dt(a,t,c)):(Ae&&n&&tc(t),t.flags|=1,oa(a,t,r,c),t.child)}function vh(a,t,r,n,c,d){return Li(t),t.updateQueue=null,r=xp(t,n,r,c),bp(a),n=yc(),a!==null&&!ra?(kc(a,t,d),Dt(a,t,d)):(Ae&&n&&tc(t),t.flags|=1,oa(a,t,r,d),t.child)}function yh(a,t,r,n,c){if(Li(t),t.stateNode===null){var d=hr,x=r.contextType;typeof x=="object"&&x!==null&&(d=ma(x)),d=new r(n,d),t.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,d.updater=Fc,t.stateNode=d,d._reactInternals=t,d=t.stateNode,d.props=n,d.state=t.memoizedState,d.refs={},mc(t),x=r.contextType,d.context=typeof x=="object"&&x!==null?ma(x):hr,d.state=t.memoizedState,x=r.getDerivedStateFromProps,typeof x=="function"&&(Rc(t,r,x,n),d.state=t.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(x=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),x!==d.state&&Fc.enqueueReplaceState(d,d.state,null),js(t,n,d,c),ws(),d.state=t.memoizedState),typeof d.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(a===null){d=t.stateNode;var y=t.memoizedProps,S=Ui(r,y);d.props=S;var q=d.context,U=r.contextType;x=hr,typeof U=="object"&&U!==null&&(x=ma(U));var W=r.getDerivedStateFromProps;U=typeof W=="function"||typeof d.getSnapshotBeforeUpdate=="function",y=t.pendingProps!==y,U||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(y||q!==x)&&nh(t,d,n,x),Yt=!1;var G=t.memoizedState;d.state=G,js(t,n,d,c),ws(),q=t.memoizedState,y||G!==q||Yt?(typeof W=="function"&&(Rc(t,r,W,n),q=t.memoizedState),(S=Yt||sh(t,r,S,n,G,q,x))?(U||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount()),typeof d.componentDidMount=="function"&&(t.flags|=4194308)):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=q),d.props=n,d.state=q,d.context=x,n=S):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{d=t.stateNode,pc(a,t),x=t.memoizedProps,U=Ui(r,x),d.props=U,W=t.pendingProps,G=d.context,q=r.contextType,S=hr,typeof q=="object"&&q!==null&&(S=ma(q)),y=r.getDerivedStateFromProps,(q=typeof y=="function"||typeof d.getSnapshotBeforeUpdate=="function")||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(x!==W||G!==S)&&nh(t,d,n,S),Yt=!1,G=t.memoizedState,d.state=G,js(t,n,d,c),ws();var V=t.memoizedState;x!==W||G!==V||Yt||a!==null&&a.dependencies!==null&&Mn(a.dependencies)?(typeof y=="function"&&(Rc(t,r,y,n),V=t.memoizedState),(U=Yt||sh(t,r,U,n,G,V,S)||a!==null&&a.dependencies!==null&&Mn(a.dependencies))?(q||typeof d.UNSAFE_componentWillUpdate!="function"&&typeof d.componentWillUpdate!="function"||(typeof d.componentWillUpdate=="function"&&d.componentWillUpdate(n,V,S),typeof d.UNSAFE_componentWillUpdate=="function"&&d.UNSAFE_componentWillUpdate(n,V,S)),typeof d.componentDidUpdate=="function"&&(t.flags|=4),typeof d.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof d.componentDidUpdate!="function"||x===a.memoizedProps&&G===a.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||x===a.memoizedProps&&G===a.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=V),d.props=n,d.state=V,d.context=S,n=U):(typeof d.componentDidUpdate!="function"||x===a.memoizedProps&&G===a.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||x===a.memoizedProps&&G===a.memoizedState||(t.flags|=1024),n=!1)}return d=n,il(a,t),n=(t.flags&128)!==0,d||n?(d=t.stateNode,r=n&&typeof r.getDerivedStateFromError!="function"?null:d.render(),t.flags|=1,a!==null&&n?(t.child=Nr(t,a.child,null,c),t.child=Nr(t,null,r,c)):oa(a,t,r,c),t.memoizedState=d.state,a=t.child):a=Dt(a,t,c),a}function kh(a,t,r,n){return hs(),t.flags|=256,oa(a,t,r,n),t.child}var Mc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function qc(a){return{baseLanes:a,cachePool:op()}}function Lc(a,t,r){return a=a!==null?a.childLanes&~r:0,t&&(a|=Ja),a}function wh(a,t,r){var n=t.pendingProps,c=!1,d=(t.flags&128)!==0,x;if((x=d)||(x=a!==null&&a.memoizedState===null?!1:(ea.current&2)!==0),x&&(c=!0,t.flags&=-129),x=(t.flags&32)!==0,t.flags&=-33,a===null){if(Ae){if(c?ei(t):ai(),Ae){var y=Ve,S;if(S=y){e:{for(S=y,y=pt;S.nodeType!==8;){if(!y){y=null;break e}if(S=it(S.nextSibling),S===null){y=null;break e}}y=S}y!==null?(t.memoizedState={dehydrated:y,treeContext:Fi!==null?{id:Nt,overflow:Ct}:null,retryLane:536870912,hydrationErrors:null},S=Da(18,null,null,0),S.stateNode=y,S.return=t,t.child=S,fa=t,Ve=null,S=!0):S=!1}S||Mi(t)}if(y=t.memoizedState,y!==null&&(y=y.dehydrated,y!==null))return jd(y)?t.lanes=32:t.lanes=536870912,null;Pt(t)}return y=n.children,n=n.fallback,c?(ai(),c=t.mode,y=rl({mode:"hidden",children:y},c),n=Ri(n,c,r,null),y.return=t,n.return=t,y.sibling=n,t.child=y,c=t.child,c.memoizedState=qc(r),c.childLanes=Lc(a,x,r),t.memoizedState=Mc,n):(ei(t),Gc(t,y))}if(S=a.memoizedState,S!==null&&(y=S.dehydrated,y!==null)){if(d)t.flags&256?(ei(t),t.flags&=-257,t=Vc(a,t,r)):t.memoizedState!==null?(ai(),t.child=a.child,t.flags|=128,t=null):(ai(),c=n.fallback,y=t.mode,n=rl({mode:"visible",children:n.children},y),c=Ri(c,y,r,null),c.flags|=2,n.return=t,c.return=t,n.sibling=c,t.child=n,Nr(t,a.child,null,r),n=t.child,n.memoizedState=qc(r),n.childLanes=Lc(a,x,r),t.memoizedState=Mc,t=c);else if(ei(t),jd(y)){if(x=y.nextSibling&&y.nextSibling.dataset,x)var q=x.dgst;x=q,n=Error(o(419)),n.stack="",n.digest=x,gs({value:n,source:null,stack:null}),t=Vc(a,t,r)}else if(ra||fs(a,t,r,!1),x=(r&a.childLanes)!==0,ra||x){if(x=qe,x!==null&&(n=r&-r,n=(n&42)!==0?1:No(n),n=(n&(x.suspendedLanes|r))!==0?0:n,n!==0&&n!==S.retryLane))throw S.retryLane=n,pr(a,n),Fa(x,a,n),ph;y.data==="$?"||nd(),t=Vc(a,t,r)}else y.data==="$?"?(t.flags|=192,t.child=a.child,t=null):(a=S.treeContext,Ve=it(y.nextSibling),fa=t,Ae=!0,Ii=null,pt=!1,a!==null&&(Ka[Wa++]=Nt,Ka[Wa++]=Ct,Ka[Wa++]=Fi,Nt=a.id,Ct=a.overflow,Fi=t),t=Gc(t,n.children),t.flags|=4096);return t}return c?(ai(),c=n.fallback,y=t.mode,S=a.child,q=S.sibling,n=jt(S,{mode:"hidden",children:n.children}),n.subtreeFlags=S.subtreeFlags&65011712,q!==null?c=jt(q,c):(c=Ri(c,y,r,null),c.flags|=2),c.return=t,n.return=t,n.sibling=c,t.child=n,n=c,c=t.child,y=a.child.memoizedState,y===null?y=qc(r):(S=y.cachePool,S!==null?(q=Ze._currentValue,S=S.parent!==q?{parent:q,pool:q}:S):S=op(),y={baseLanes:y.baseLanes|r,cachePool:S}),c.memoizedState=y,c.childLanes=Lc(a,x,r),t.memoizedState=Mc,n):(ei(t),r=a.child,a=r.sibling,r=jt(r,{mode:"visible",children:n.children}),r.return=t,r.sibling=null,a!==null&&(x=t.deletions,x===null?(t.deletions=[a],t.flags|=16):x.push(a)),t.child=r,t.memoizedState=null,r)}function Gc(a,t){return t=rl({mode:"visible",children:t},a.mode),t.return=a,a.child=t}function rl(a,t){return a=Da(22,a,null,t),a.lanes=0,a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},a}function Vc(a,t,r){return Nr(t,a.child,null,r),a=Gc(t,t.pendingProps.children),a.flags|=2,t.memoizedState=null,a}function jh(a,t,r){a.lanes|=t;var n=a.alternate;n!==null&&(n.lanes|=t),nc(a.return,t,r)}function Uc(a,t,r,n,c){var d=a.memoizedState;d===null?a.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:c}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=n,d.tail=r,d.tailMode=c)}function Nh(a,t,r){var n=t.pendingProps,c=n.revealOrder,d=n.tail;if(oa(a,t,n.children,r),n=ea.current,(n&2)!==0)n=n&1|2,t.flags|=128;else{if(a!==null&&(a.flags&128)!==0)e:for(a=t.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&jh(a,r,t);else if(a.tag===19)jh(a,r,t);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}n&=1}switch(pe(ea,n),c){case"forwards":for(r=t.child,c=null;r!==null;)a=r.alternate,a!==null&&el(a)===null&&(c=r),r=r.sibling;r=c,r===null?(c=t.child,t.child=null):(c=r.sibling,r.sibling=null),Uc(t,!1,c,r,d);break;case"backwards":for(r=null,c=t.child,t.child=null;c!==null;){if(a=c.alternate,a!==null&&el(a)===null){t.child=c;break}a=c.sibling,c.sibling=r,r=c,c=a}Uc(t,!0,r,null,d);break;case"together":Uc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Dt(a,t,r){if(a!==null&&(t.dependencies=a.dependencies),ni|=t.lanes,(r&t.childLanes)===0)if(a!==null){if(fs(a,t,r,!1),(r&t.childLanes)===0)return null}else return null;if(a!==null&&t.child!==a.child)throw Error(o(153));if(t.child!==null){for(a=t.child,r=jt(a,a.pendingProps),t.child=r,r.return=t;a.sibling!==null;)a=a.sibling,r=r.sibling=jt(a,a.pendingProps),r.return=t;r.sibling=null}return t.child}function Hc(a,t){return(a.lanes&t)!==0?!0:(a=a.dependencies,!!(a!==null&&Mn(a)))}function R0(a,t,r){switch(t.tag){case 3:dt(t,t.stateNode.containerInfo),Jt(t,Ze,a.memoizedState.cache),hs();break;case 27:case 5:Ht(t);break;case 4:dt(t,t.stateNode.containerInfo);break;case 10:Jt(t,t.type,t.memoizedProps.value);break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(ei(t),t.flags|=128,null):(r&t.child.childLanes)!==0?wh(a,t,r):(ei(t),a=Dt(a,t,r),a!==null?a.sibling:null);ei(t);break;case 19:var c=(a.flags&128)!==0;if(n=(r&t.childLanes)!==0,n||(fs(a,t,r,!1),n=(r&t.childLanes)!==0),c){if(n)return Nh(a,t,r);t.flags|=128}if(c=t.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),pe(ea,ea.current),n)break;return null;case 22:case 23:return t.lanes=0,bh(a,t,r);case 24:Jt(t,Ze,a.memoizedState.cache)}return Dt(a,t,r)}function Ch(a,t,r){if(a!==null)if(a.memoizedProps!==t.pendingProps)ra=!0;else{if(!Hc(a,r)&&(t.flags&128)===0)return ra=!1,R0(a,t,r);ra=(a.flags&131072)!==0}else ra=!1,Ae&&(t.flags&1048576)!==0&&ap(t,In,t.index);switch(t.lanes=0,t.tag){case 16:e:{a=t.pendingProps;var n=t.elementType,c=n._init;if(n=c(n._payload),t.type=n,typeof n=="function")Zo(n)?(a=Ui(n,a),t.tag=1,t=yh(null,t,n,a,r)):(t.tag=0,t=Ic(null,t,n,a,r));else{if(n!=null){if(c=n.$$typeof,c===N){t.tag=11,t=hh(null,t,n,a,r);break e}else if(c===_){t.tag=14,t=gh(null,t,n,a,r);break e}}throw t=X(n)||n,Error(o(306,t,""))}}return t;case 0:return Ic(a,t,t.type,t.pendingProps,r);case 1:return n=t.type,c=Ui(n,t.pendingProps),yh(a,t,n,c,r);case 3:e:{if(dt(t,t.stateNode.containerInfo),a===null)throw Error(o(387));n=t.pendingProps;var d=t.memoizedState;c=d.element,pc(a,t),js(t,n,null,r);var x=t.memoizedState;if(n=x.cache,Jt(t,Ze,n),n!==d.cache&&lc(t,[Ze],r,!0),ws(),n=x.element,d.isDehydrated)if(d={element:n,isDehydrated:!1,cache:x.cache},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){t=kh(a,t,n,r);break e}else if(n!==c){c=Ha(Error(o(424)),t),gs(c),t=kh(a,t,n,r);break e}else for(a=t.stateNode.containerInfo,a.nodeType===9?a=a.body:a=a.nodeName==="HTML"?a.ownerDocument.body:a,Ve=it(a.firstChild),fa=t,Ae=!0,Ii=null,pt=!0,r=ih(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(hs(),n===c){t=Dt(a,t,r);break e}oa(a,t,n,r)}t=t.child}return t;case 26:return il(a,t),a===null?(r=Pg(t.type,null,t.pendingProps,null))?t.memoizedState=r:Ae||(r=t.type,a=t.pendingProps,n=xl(Me.current).createElement(r),n[ua]=t,n[xa]=a,da(n,r,a),ia(n),t.stateNode=n):t.memoizedState=Pg(t.type,a.memoizedProps,t.pendingProps,a.memoizedState),null;case 27:return Ht(t),a===null&&Ae&&(n=t.stateNode=Ag(t.type,t.pendingProps,Me.current),fa=t,pt=!0,c=Ve,di(t.type)?(Nd=c,Ve=it(n.firstChild)):Ve=c),oa(a,t,t.pendingProps.children,r),il(a,t),a===null&&(t.flags|=4194304),t.child;case 5:return a===null&&Ae&&((c=n=Ve)&&(n=oy(n,t.type,t.pendingProps,pt),n!==null?(t.stateNode=n,fa=t,Ve=it(n.firstChild),pt=!1,c=!0):c=!1),c||Mi(t)),Ht(t),c=t.type,d=t.pendingProps,x=a!==null?a.memoizedProps:null,n=d.children,yd(c,d)?n=null:x!==null&&yd(c,x)&&(t.flags|=32),t.memoizedState!==null&&(c=vc(a,t,A0,null,null,r),_s._currentValue=c),il(a,t),oa(a,t,n,r),t.child;case 6:return a===null&&Ae&&((a=r=Ve)&&(r=cy(r,t.pendingProps,pt),r!==null?(t.stateNode=r,fa=t,Ve=null,a=!0):a=!1),a||Mi(t)),null;case 13:return wh(a,t,r);case 4:return dt(t,t.stateNode.containerInfo),n=t.pendingProps,a===null?t.child=Nr(t,null,n,r):oa(a,t,n,r),t.child;case 11:return hh(a,t,t.type,t.pendingProps,r);case 7:return oa(a,t,t.pendingProps,r),t.child;case 8:return oa(a,t,t.pendingProps.children,r),t.child;case 12:return oa(a,t,t.pendingProps.children,r),t.child;case 10:return n=t.pendingProps,Jt(t,t.type,n.value),oa(a,t,n.children,r),t.child;case 9:return c=t.type._context,n=t.pendingProps.children,Li(t),c=ma(c),n=n(c),t.flags|=1,oa(a,t,n,r),t.child;case 14:return gh(a,t,t.type,t.pendingProps,r);case 15:return fh(a,t,t.type,t.pendingProps,r);case 19:return Nh(a,t,r);case 31:return n=t.pendingProps,r=t.mode,n={mode:n.mode,children:n.children},a===null?(r=rl(n,r),r.ref=t.ref,t.child=r,r.return=t,t=r):(r=jt(a.child,n),r.ref=t.ref,t.child=r,r.return=t,t=r),t;case 22:return bh(a,t,r);case 24:return Li(t),n=ma(Ze),a===null?(c=dc(),c===null&&(c=qe,d=oc(),c.pooledCache=d,d.refCount++,d!==null&&(c.pooledCacheLanes|=r),c=d),t.memoizedState={parent:n,cache:c},mc(t),Jt(t,Ze,c)):((a.lanes&r)!==0&&(pc(a,t),js(t,null,null,r),ws()),c=a.memoizedState,d=t.memoizedState,c.parent!==n?(c={parent:n,cache:n},t.memoizedState=c,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=c),Jt(t,Ze,n)):(n=d.cache,Jt(t,Ze,n),n!==c.cache&&lc(t,[Ze],r,!0))),oa(a,t,t.pendingProps.children,r),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function zt(a){a.flags|=4}function Ah(a,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)a.flags&=-16777217;else if(a.flags|=16777216,!Rg(t)){if(t=Qa.current,t!==null&&((ye&4194048)===ye?ht!==null:(ye&62914560)!==ye&&(ye&536870912)===0||t!==ht))throw ys=uc,cp;a.flags|=8192}}function sl(a,t){t!==null&&(a.flags|=4),a.flags&16384&&(t=a.tag!==22?rm():536870912,a.lanes|=t,Tr|=t)}function Ds(a,t){if(!Ae)switch(a.tailMode){case"hidden":t=a.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?a.tail=null:r.sibling=null;break;case"collapsed":r=a.tail;for(var n=null;r!==null;)r.alternate!==null&&(n=r),r=r.sibling;n===null?t||a.tail===null?a.tail=null:a.tail.sibling=null:n.sibling=null}}function Ge(a){var t=a.alternate!==null&&a.alternate.child===a.child,r=0,n=0;if(t)for(var c=a.child;c!==null;)r|=c.lanes|c.childLanes,n|=c.subtreeFlags&65011712,n|=c.flags&65011712,c.return=a,c=c.sibling;else for(c=a.child;c!==null;)r|=c.lanes|c.childLanes,n|=c.subtreeFlags,n|=c.flags,c.return=a,c=c.sibling;return a.subtreeFlags|=n,a.childLanes=r,t}function F0(a,t,r){var n=t.pendingProps;switch(ic(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ge(t),null;case 1:return Ge(t),null;case 3:return r=t.stateNode,n=null,a!==null&&(n=a.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),St(Ze),Be(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(a===null||a.child===null)&&(ps(t)?zt(t):a===null||a.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,rp())),Ge(t),null;case 26:return r=t.memoizedState,a===null?(zt(t),r!==null?(Ge(t),Ah(t,r)):(Ge(t),t.flags&=-16777217)):r?r!==a.memoizedState?(zt(t),Ge(t),Ah(t,r)):(Ge(t),t.flags&=-16777217):(a.memoizedProps!==n&&zt(t),Ge(t),t.flags&=-16777217),null;case 27:et(t),r=Me.current;var c=t.type;if(a!==null&&t.stateNode!=null)a.memoizedProps!==n&&zt(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}a=Ne.current,ps(t)?tp(t):(a=Ag(c,n,r),t.stateNode=a,zt(t))}return Ge(t),null;case 5:if(et(t),r=t.type,a!==null&&t.stateNode!=null)a.memoizedProps!==n&&zt(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}if(a=Ne.current,ps(t))tp(t);else{switch(c=xl(Me.current),a){case 1:a=c.createElementNS("http://www.w3.org/2000/svg",r);break;case 2:a=c.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;default:switch(r){case"svg":a=c.createElementNS("http://www.w3.org/2000/svg",r);break;case"math":a=c.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;case"script":a=c.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof n.is=="string"?c.createElement("select",{is:n.is}):c.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a=typeof n.is=="string"?c.createElement(r,{is:n.is}):c.createElement(r)}}a[ua]=t,a[xa]=n;e:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)a.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break e;for(;c.sibling===null;){if(c.return===null||c.return===t)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=a;e:switch(da(a,r,n),r){case"button":case"input":case"select":case"textarea":a=!!n.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&zt(t)}}return Ge(t),t.flags&=-16777217,null;case 6:if(a&&t.stateNode!=null)a.memoizedProps!==n&&zt(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(o(166));if(a=Me.current,ps(t)){if(a=t.stateNode,r=t.memoizedProps,n=null,c=fa,c!==null)switch(c.tag){case 27:case 5:n=c.memoizedProps}a[ua]=t,a=!!(a.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||vg(a.nodeValue,r)),a||Mi(t)}else a=xl(a).createTextNode(n),a[ua]=t,t.stateNode=a}return Ge(t),null;case 13:if(n=t.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(c=ps(t),n!==null&&n.dehydrated!==null){if(a===null){if(!c)throw Error(o(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(o(317));c[ua]=t}else hs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),c=!1}else c=rp(),a!==null&&a.memoizedState!==null&&(a.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Pt(t),t):(Pt(t),null)}if(Pt(t),(t.flags&128)!==0)return t.lanes=r,t;if(r=n!==null,a=a!==null&&a.memoizedState!==null,r){n=t.child,c=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(c=n.alternate.memoizedState.cachePool.pool);var d=null;n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(d=n.memoizedState.cachePool.pool),d!==c&&(n.flags|=2048)}return r!==a&&r&&(t.child.flags|=8192),sl(t,t.updateQueue),Ge(t),null;case 4:return Be(),a===null&&gd(t.stateNode.containerInfo),Ge(t),null;case 10:return St(t.type),Ge(t),null;case 19:if(ve(ea),c=t.memoizedState,c===null)return Ge(t),null;if(n=(t.flags&128)!==0,d=c.rendering,d===null)if(n)Ds(c,!1);else{if(Ue!==0||a!==null&&(a.flags&128)!==0)for(a=t.child;a!==null;){if(d=el(a),d!==null){for(t.flags|=128,Ds(c,!1),a=d.updateQueue,t.updateQueue=a,sl(t,a),t.subtreeFlags=0,a=r,r=t.child;r!==null;)ep(r,a),r=r.sibling;return pe(ea,ea.current&1|2),t.child}a=a.sibling}c.tail!==null&&mt()>ol&&(t.flags|=128,n=!0,Ds(c,!1),t.lanes=4194304)}else{if(!n)if(a=el(d),a!==null){if(t.flags|=128,n=!0,a=a.updateQueue,t.updateQueue=a,sl(t,a),Ds(c,!0),c.tail===null&&c.tailMode==="hidden"&&!d.alternate&&!Ae)return Ge(t),null}else 2*mt()-c.renderingStartTime>ol&&r!==536870912&&(t.flags|=128,n=!0,Ds(c,!1),t.lanes=4194304);c.isBackwards?(d.sibling=t.child,t.child=d):(a=c.last,a!==null?a.sibling=d:t.child=d,c.last=d)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=mt(),t.sibling=null,a=ea.current,pe(ea,n?a&1|2:a&1),t):(Ge(t),null);case 22:case 23:return Pt(t),bc(),n=t.memoizedState!==null,a!==null?a.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(r&536870912)!==0&&(t.flags&128)===0&&(Ge(t),t.subtreeFlags&6&&(t.flags|=8192)):Ge(t),r=t.updateQueue,r!==null&&sl(t,r.retryQueue),r=null,a!==null&&a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(r=a.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),a!==null&&ve(Gi),null;case 24:return r=null,a!==null&&(r=a.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),St(Ze),Ge(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function B0(a,t){switch(ic(t),t.tag){case 1:return a=t.flags,a&65536?(t.flags=a&-65537|128,t):null;case 3:return St(Ze),Be(),a=t.flags,(a&65536)!==0&&(a&128)===0?(t.flags=a&-65537|128,t):null;case 26:case 27:case 5:return et(t),null;case 13:if(Pt(t),a=t.memoizedState,a!==null&&a.dehydrated!==null){if(t.alternate===null)throw Error(o(340));hs()}return a=t.flags,a&65536?(t.flags=a&-65537|128,t):null;case 19:return ve(ea),null;case 4:return Be(),null;case 10:return St(t.type),null;case 22:case 23:return Pt(t),bc(),a!==null&&ve(Gi),a=t.flags,a&65536?(t.flags=a&-65537|128,t):null;case 24:return St(Ze),null;case 25:return null;default:return null}}function Sh(a,t){switch(ic(t),t.tag){case 3:St(Ze),Be();break;case 26:case 27:case 5:et(t);break;case 4:Be();break;case 13:Pt(t);break;case 19:ve(ea);break;case 10:St(t.type);break;case 22:case 23:Pt(t),bc(),a!==null&&ve(Gi);break;case 24:St(Ze)}}function zs(a,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var c=n.next;r=c;do{if((r.tag&a)===a){n=void 0;var d=r.create,x=r.inst;n=d(),x.destroy=n}r=r.next}while(r!==c)}}catch(y){Ie(t,t.return,y)}}function ti(a,t,r){try{var n=t.updateQueue,c=n!==null?n.lastEffect:null;if(c!==null){var d=c.next;n=d;do{if((n.tag&a)===a){var x=n.inst,y=x.destroy;if(y!==void 0){x.destroy=void 0,c=t;var S=r,q=y;try{q()}catch(U){Ie(c,S,U)}}}n=n.next}while(n!==d)}}catch(U){Ie(t,t.return,U)}}function Th(a){var t=a.updateQueue;if(t!==null){var r=a.stateNode;try{gp(t,r)}catch(n){Ie(a,a.return,n)}}}function Ph(a,t,r){r.props=Ui(a.type,a.memoizedProps),r.state=a.memoizedState;try{r.componentWillUnmount()}catch(n){Ie(a,t,n)}}function Es(a,t){try{var r=a.ref;if(r!==null){switch(a.tag){case 26:case 27:case 5:var n=a.stateNode;break;case 30:n=a.stateNode;break;default:n=a.stateNode}typeof r=="function"?a.refCleanup=r(n):r.current=n}}catch(c){Ie(a,t,c)}}function gt(a,t){var r=a.ref,n=a.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(c){Ie(a,t,c)}finally{a.refCleanup=null,a=a.alternate,a!=null&&(a.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(c){Ie(a,t,c)}else r.current=null}function Dh(a){var t=a.type,r=a.memoizedProps,n=a.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(c){Ie(a,a.return,c)}}function _c(a,t,r){try{var n=a.stateNode;iy(n,a.type,r,t),n[xa]=t}catch(c){Ie(a,a.return,c)}}function zh(a){return a.tag===5||a.tag===3||a.tag===26||a.tag===27&&di(a.type)||a.tag===4}function Kc(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||zh(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.tag===27&&di(a.type)||a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Wc(a,t,r){var n=a.tag;if(n===5||n===6)a=a.stateNode,t?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(a,t):(t=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,t.appendChild(a),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=bl));else if(n!==4&&(n===27&&di(a.type)&&(r=a.stateNode,t=null),a=a.child,a!==null))for(Wc(a,t,r),a=a.sibling;a!==null;)Wc(a,t,r),a=a.sibling}function nl(a,t,r){var n=a.tag;if(n===5||n===6)a=a.stateNode,t?r.insertBefore(a,t):r.appendChild(a);else if(n!==4&&(n===27&&di(a.type)&&(r=a.stateNode),a=a.child,a!==null))for(nl(a,t,r),a=a.sibling;a!==null;)nl(a,t,r),a=a.sibling}function Eh(a){var t=a.stateNode,r=a.memoizedProps;try{for(var n=a.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);da(t,n,r),t[ua]=a,t[xa]=r}catch(d){Ie(a,a.return,d)}}var Et=!1,We=!1,Qc=!1,Oh=typeof WeakSet=="function"?WeakSet:Set,sa=null;function I0(a,t){if(a=a.containerInfo,xd=Nl,a=Hm(a),Ko(a)){if("selectionStart"in a)var r={start:a.selectionStart,end:a.selectionEnd};else e:{r=(r=a.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var c=n.anchorOffset,d=n.focusNode;n=n.focusOffset;try{r.nodeType,d.nodeType}catch{r=null;break e}var x=0,y=-1,S=-1,q=0,U=0,W=a,G=null;a:for(;;){for(var V;W!==r||c!==0&&W.nodeType!==3||(y=x+c),W!==d||n!==0&&W.nodeType!==3||(S=x+n),W.nodeType===3&&(x+=W.nodeValue.length),(V=W.firstChild)!==null;)G=W,W=V;for(;;){if(W===a)break a;if(G===r&&++q===c&&(y=x),G===d&&++U===n&&(S=x),(V=W.nextSibling)!==null)break;W=G,G=W.parentNode}W=V}r=y===-1||S===-1?null:{start:y,end:S}}else r=null}r=r||{start:0,end:0}}else r=null;for(vd={focusedElem:a,selectionRange:r},Nl=!1,sa=t;sa!==null;)if(t=sa,a=t.child,(t.subtreeFlags&1024)!==0&&a!==null)a.return=t,sa=a;else for(;sa!==null;){switch(t=sa,d=t.alternate,a=t.flags,t.tag){case 0:break;case 11:case 15:break;case 1:if((a&1024)!==0&&d!==null){a=void 0,r=t,c=d.memoizedProps,d=d.memoizedState,n=r.stateNode;try{var ce=Ui(r.type,c,r.elementType===r.type);a=n.getSnapshotBeforeUpdate(ce,d),n.__reactInternalSnapshotBeforeUpdate=a}catch(ne){Ie(r,r.return,ne)}}break;case 3:if((a&1024)!==0){if(a=t.stateNode.containerInfo,r=a.nodeType,r===9)wd(a);else if(r===1)switch(a.nodeName){case"HEAD":case"HTML":case"BODY":wd(a);break;default:a.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((a&1024)!==0)throw Error(o(163))}if(a=t.sibling,a!==null){a.return=t.return,sa=a;break}sa=t.return}}function Rh(a,t,r){var n=r.flags;switch(r.tag){case 0:case 11:case 15:ii(a,r),n&4&&zs(5,r);break;case 1:if(ii(a,r),n&4)if(a=r.stateNode,t===null)try{a.componentDidMount()}catch(x){Ie(r,r.return,x)}else{var c=Ui(r.type,t.memoizedProps);t=t.memoizedState;try{a.componentDidUpdate(c,t,a.__reactInternalSnapshotBeforeUpdate)}catch(x){Ie(r,r.return,x)}}n&64&&Th(r),n&512&&Es(r,r.return);break;case 3:if(ii(a,r),n&64&&(a=r.updateQueue,a!==null)){if(t=null,r.child!==null)switch(r.child.tag){case 27:case 5:t=r.child.stateNode;break;case 1:t=r.child.stateNode}try{gp(a,t)}catch(x){Ie(r,r.return,x)}}break;case 27:t===null&&n&4&&Eh(r);case 26:case 5:ii(a,r),t===null&&n&4&&Dh(r),n&512&&Es(r,r.return);break;case 12:ii(a,r);break;case 13:ii(a,r),n&4&&Ih(a,r),n&64&&(a=r.memoizedState,a!==null&&(a=a.dehydrated,a!==null&&(r=K0.bind(null,r),dy(a,r))));break;case 22:if(n=r.memoizedState!==null||Et,!n){t=t!==null&&t.memoizedState!==null||We,c=Et;var d=We;Et=n,(We=t)&&!d?ri(a,r,(r.subtreeFlags&8772)!==0):ii(a,r),Et=c,We=d}break;case 30:break;default:ii(a,r)}}function Fh(a){var t=a.alternate;t!==null&&(a.alternate=null,Fh(t)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(t=a.stateNode,t!==null&&So(t)),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}var Le=null,ka=!1;function Ot(a,t,r){for(r=r.child;r!==null;)Bh(a,t,r),r=r.sibling}function Bh(a,t,r){if(Sa&&typeof Sa.onCommitFiberUnmount=="function")try{Sa.onCommitFiberUnmount(Zr,r)}catch{}switch(r.tag){case 26:We||gt(r,t),Ot(a,t,r),r.memoizedState?r.memoizedState.count--:r.stateNode&&(r=r.stateNode,r.parentNode.removeChild(r));break;case 27:We||gt(r,t);var n=Le,c=ka;di(r.type)&&(Le=r.stateNode,ka=!1),Ot(a,t,r),Gs(r.stateNode),Le=n,ka=c;break;case 5:We||gt(r,t);case 6:if(n=Le,c=ka,Le=null,Ot(a,t,r),Le=n,ka=c,Le!==null)if(ka)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(r.stateNode)}catch(d){Ie(r,t,d)}else try{Le.removeChild(r.stateNode)}catch(d){Ie(r,t,d)}break;case 18:Le!==null&&(ka?(a=Le,Ng(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,r.stateNode),Js(a)):Ng(Le,r.stateNode));break;case 4:n=Le,c=ka,Le=r.stateNode.containerInfo,ka=!0,Ot(a,t,r),Le=n,ka=c;break;case 0:case 11:case 14:case 15:We||ti(2,r,t),We||ti(4,r,t),Ot(a,t,r);break;case 1:We||(gt(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"&&Ph(r,t,n)),Ot(a,t,r);break;case 21:Ot(a,t,r);break;case 22:We=(n=We)||r.memoizedState!==null,Ot(a,t,r),We=n;break;default:Ot(a,t,r)}}function Ih(a,t){if(t.memoizedState===null&&(a=t.alternate,a!==null&&(a=a.memoizedState,a!==null&&(a=a.dehydrated,a!==null))))try{Js(a)}catch(r){Ie(t,t.return,r)}}function M0(a){switch(a.tag){case 13:case 19:var t=a.stateNode;return t===null&&(t=a.stateNode=new Oh),t;case 22:return a=a.stateNode,t=a._retryCache,t===null&&(t=a._retryCache=new Oh),t;default:throw Error(o(435,a.tag))}}function Jc(a,t){var r=M0(a);t.forEach(function(n){var c=W0.bind(null,a,n);r.has(n)||(r.add(n),n.then(c,c))})}function za(a,t){var r=t.deletions;if(r!==null)for(var n=0;n<r.length;n++){var c=r[n],d=a,x=t,y=x;e:for(;y!==null;){switch(y.tag){case 27:if(di(y.type)){Le=y.stateNode,ka=!1;break e}break;case 5:Le=y.stateNode,ka=!1;break e;case 3:case 4:Le=y.stateNode.containerInfo,ka=!0;break e}y=y.return}if(Le===null)throw Error(o(160));Bh(d,x,c),Le=null,ka=!1,d=c.alternate,d!==null&&(d.return=null),c.return=null}if(t.subtreeFlags&13878)for(t=t.child;t!==null;)Mh(t,a),t=t.sibling}var tt=null;function Mh(a,t){var r=a.alternate,n=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:za(t,a),Ea(a),n&4&&(ti(3,a,a.return),zs(3,a),ti(5,a,a.return));break;case 1:za(t,a),Ea(a),n&512&&(We||r===null||gt(r,r.return)),n&64&&Et&&(a=a.updateQueue,a!==null&&(n=a.callbacks,n!==null&&(r=a.shared.hiddenCallbacks,a.shared.hiddenCallbacks=r===null?n:r.concat(n))));break;case 26:var c=tt;if(za(t,a),Ea(a),n&512&&(We||r===null||gt(r,r.return)),n&4){var d=r!==null?r.memoizedState:null;if(n=a.memoizedState,r===null)if(n===null)if(a.stateNode===null){e:{n=a.type,r=a.memoizedProps,c=c.ownerDocument||c;a:switch(n){case"title":d=c.getElementsByTagName("title")[0],(!d||d[ts]||d[ua]||d.namespaceURI==="http://www.w3.org/2000/svg"||d.hasAttribute("itemprop"))&&(d=c.createElement(n),c.head.insertBefore(d,c.querySelector("head > title"))),da(d,n,r),d[ua]=a,ia(d),n=d;break e;case"link":var x=Eg("link","href",c).get(n+(r.href||""));if(x){for(var y=0;y<x.length;y++)if(d=x[y],d.getAttribute("href")===(r.href==null||r.href===""?null:r.href)&&d.getAttribute("rel")===(r.rel==null?null:r.rel)&&d.getAttribute("title")===(r.title==null?null:r.title)&&d.getAttribute("crossorigin")===(r.crossOrigin==null?null:r.crossOrigin)){x.splice(y,1);break a}}d=c.createElement(n),da(d,n,r),c.head.appendChild(d);break;case"meta":if(x=Eg("meta","content",c).get(n+(r.content||""))){for(y=0;y<x.length;y++)if(d=x[y],d.getAttribute("content")===(r.content==null?null:""+r.content)&&d.getAttribute("name")===(r.name==null?null:r.name)&&d.getAttribute("property")===(r.property==null?null:r.property)&&d.getAttribute("http-equiv")===(r.httpEquiv==null?null:r.httpEquiv)&&d.getAttribute("charset")===(r.charSet==null?null:r.charSet)){x.splice(y,1);break a}}d=c.createElement(n),da(d,n,r),c.head.appendChild(d);break;default:throw Error(o(468,n))}d[ua]=a,ia(d),n=d}a.stateNode=n}else Og(c,a.type,a.stateNode);else a.stateNode=zg(c,n,a.memoizedProps);else d!==n?(d===null?r.stateNode!==null&&(r=r.stateNode,r.parentNode.removeChild(r)):d.count--,n===null?Og(c,a.type,a.stateNode):zg(c,n,a.memoizedProps)):n===null&&a.stateNode!==null&&_c(a,a.memoizedProps,r.memoizedProps)}break;case 27:za(t,a),Ea(a),n&512&&(We||r===null||gt(r,r.return)),r!==null&&n&4&&_c(a,a.memoizedProps,r.memoizedProps);break;case 5:if(za(t,a),Ea(a),n&512&&(We||r===null||gt(r,r.return)),a.flags&32){c=a.stateNode;try{nr(c,"")}catch(V){Ie(a,a.return,V)}}n&4&&a.stateNode!=null&&(c=a.memoizedProps,_c(a,c,r!==null?r.memoizedProps:c)),n&1024&&(Qc=!0);break;case 6:if(za(t,a),Ea(a),n&4){if(a.stateNode===null)throw Error(o(162));n=a.memoizedProps,r=a.stateNode;try{r.nodeValue=n}catch(V){Ie(a,a.return,V)}}break;case 3:if(kl=null,c=tt,tt=vl(t.containerInfo),za(t,a),tt=c,Ea(a),n&4&&r!==null&&r.memoizedState.isDehydrated)try{Js(t.containerInfo)}catch(V){Ie(a,a.return,V)}Qc&&(Qc=!1,qh(a));break;case 4:n=tt,tt=vl(a.stateNode.containerInfo),za(t,a),Ea(a),tt=n;break;case 12:za(t,a),Ea(a);break;case 13:za(t,a),Ea(a),a.child.flags&8192&&a.memoizedState!==null!=(r!==null&&r.memoizedState!==null)&&(ad=mt()),n&4&&(n=a.updateQueue,n!==null&&(a.updateQueue=null,Jc(a,n)));break;case 22:c=a.memoizedState!==null;var S=r!==null&&r.memoizedState!==null,q=Et,U=We;if(Et=q||c,We=U||S,za(t,a),We=U,Et=q,Ea(a),n&8192)e:for(t=a.stateNode,t._visibility=c?t._visibility&-2:t._visibility|1,c&&(r===null||S||Et||We||Hi(a)),r=null,t=a;;){if(t.tag===5||t.tag===26){if(r===null){S=r=t;try{if(d=S.stateNode,c)x=d.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{y=S.stateNode;var W=S.memoizedProps.style,G=W!=null&&W.hasOwnProperty("display")?W.display:null;y.style.display=G==null||typeof G=="boolean"?"":(""+G).trim()}}catch(V){Ie(S,S.return,V)}}}else if(t.tag===6){if(r===null){S=t;try{S.stateNode.nodeValue=c?"":S.memoizedProps}catch(V){Ie(S,S.return,V)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===a)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;r===t&&(r=null),t=t.return}r===t&&(r=null),t.sibling.return=t.return,t=t.sibling}n&4&&(n=a.updateQueue,n!==null&&(r=n.retryQueue,r!==null&&(n.retryQueue=null,Jc(a,r))));break;case 19:za(t,a),Ea(a),n&4&&(n=a.updateQueue,n!==null&&(a.updateQueue=null,Jc(a,n)));break;case 30:break;case 21:break;default:za(t,a),Ea(a)}}function Ea(a){var t=a.flags;if(t&2){try{for(var r,n=a.return;n!==null;){if(zh(n)){r=n;break}n=n.return}if(r==null)throw Error(o(160));switch(r.tag){case 27:var c=r.stateNode,d=Kc(a);nl(a,d,c);break;case 5:var x=r.stateNode;r.flags&32&&(nr(x,""),r.flags&=-33);var y=Kc(a);nl(a,y,x);break;case 3:case 4:var S=r.stateNode.containerInfo,q=Kc(a);Wc(a,q,S);break;default:throw Error(o(161))}}catch(U){Ie(a,a.return,U)}a.flags&=-3}t&4096&&(a.flags&=-4097)}function qh(a){if(a.subtreeFlags&1024)for(a=a.child;a!==null;){var t=a;qh(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),a=a.sibling}}function ii(a,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Rh(a,t.alternate,t),t=t.sibling}function Hi(a){for(a=a.child;a!==null;){var t=a;switch(t.tag){case 0:case 11:case 14:case 15:ti(4,t,t.return),Hi(t);break;case 1:gt(t,t.return);var r=t.stateNode;typeof r.componentWillUnmount=="function"&&Ph(t,t.return,r),Hi(t);break;case 27:Gs(t.stateNode);case 26:case 5:gt(t,t.return),Hi(t);break;case 22:t.memoizedState===null&&Hi(t);break;case 30:Hi(t);break;default:Hi(t)}a=a.sibling}}function ri(a,t,r){for(r=r&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,c=a,d=t,x=d.flags;switch(d.tag){case 0:case 11:case 15:ri(c,d,r),zs(4,d);break;case 1:if(ri(c,d,r),n=d,c=n.stateNode,typeof c.componentDidMount=="function")try{c.componentDidMount()}catch(q){Ie(n,n.return,q)}if(n=d,c=n.updateQueue,c!==null){var y=n.stateNode;try{var S=c.shared.hiddenCallbacks;if(S!==null)for(c.shared.hiddenCallbacks=null,c=0;c<S.length;c++)hp(S[c],y)}catch(q){Ie(n,n.return,q)}}r&&x&64&&Th(d),Es(d,d.return);break;case 27:Eh(d);case 26:case 5:ri(c,d,r),r&&n===null&&x&4&&Dh(d),Es(d,d.return);break;case 12:ri(c,d,r);break;case 13:ri(c,d,r),r&&x&4&&Ih(c,d);break;case 22:d.memoizedState===null&&ri(c,d,r),Es(d,d.return);break;case 30:break;default:ri(c,d,r)}t=t.sibling}}function Yc(a,t){var r=null;a!==null&&a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(r=a.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==r&&(a!=null&&a.refCount++,r!=null&&bs(r))}function $c(a,t){a=null,t.alternate!==null&&(a=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==a&&(t.refCount++,a!=null&&bs(a))}function ft(a,t,r,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Lh(a,t,r,n),t=t.sibling}function Lh(a,t,r,n){var c=t.flags;switch(t.tag){case 0:case 11:case 15:ft(a,t,r,n),c&2048&&zs(9,t);break;case 1:ft(a,t,r,n);break;case 3:ft(a,t,r,n),c&2048&&(a=null,t.alternate!==null&&(a=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==a&&(t.refCount++,a!=null&&bs(a)));break;case 12:if(c&2048){ft(a,t,r,n),a=t.stateNode;try{var d=t.memoizedProps,x=d.id,y=d.onPostCommit;typeof y=="function"&&y(x,t.alternate===null?"mount":"update",a.passiveEffectDuration,-0)}catch(S){Ie(t,t.return,S)}}else ft(a,t,r,n);break;case 13:ft(a,t,r,n);break;case 23:break;case 22:d=t.stateNode,x=t.alternate,t.memoizedState!==null?d._visibility&2?ft(a,t,r,n):Os(a,t):d._visibility&2?ft(a,t,r,n):(d._visibility|=2,Cr(a,t,r,n,(t.subtreeFlags&10256)!==0)),c&2048&&Yc(x,t);break;case 24:ft(a,t,r,n),c&2048&&$c(t.alternate,t);break;default:ft(a,t,r,n)}}function Cr(a,t,r,n,c){for(c=c&&(t.subtreeFlags&10256)!==0,t=t.child;t!==null;){var d=a,x=t,y=r,S=n,q=x.flags;switch(x.tag){case 0:case 11:case 15:Cr(d,x,y,S,c),zs(8,x);break;case 23:break;case 22:var U=x.stateNode;x.memoizedState!==null?U._visibility&2?Cr(d,x,y,S,c):Os(d,x):(U._visibility|=2,Cr(d,x,y,S,c)),c&&q&2048&&Yc(x.alternate,x);break;case 24:Cr(d,x,y,S,c),c&&q&2048&&$c(x.alternate,x);break;default:Cr(d,x,y,S,c)}t=t.sibling}}function Os(a,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var r=a,n=t,c=n.flags;switch(n.tag){case 22:Os(r,n),c&2048&&Yc(n.alternate,n);break;case 24:Os(r,n),c&2048&&$c(n.alternate,n);break;default:Os(r,n)}t=t.sibling}}var Rs=8192;function Ar(a){if(a.subtreeFlags&Rs)for(a=a.child;a!==null;)Gh(a),a=a.sibling}function Gh(a){switch(a.tag){case 26:Ar(a),a.flags&Rs&&a.memoizedState!==null&&jy(tt,a.memoizedState,a.memoizedProps);break;case 5:Ar(a);break;case 3:case 4:var t=tt;tt=vl(a.stateNode.containerInfo),Ar(a),tt=t;break;case 22:a.memoizedState===null&&(t=a.alternate,t!==null&&t.memoizedState!==null?(t=Rs,Rs=16777216,Ar(a),Rs=t):Ar(a));break;default:Ar(a)}}function Vh(a){var t=a.alternate;if(t!==null&&(a=t.child,a!==null)){t.child=null;do t=a.sibling,a.sibling=null,a=t;while(a!==null)}}function Fs(a){var t=a.deletions;if((a.flags&16)!==0){if(t!==null)for(var r=0;r<t.length;r++){var n=t[r];sa=n,Hh(n,a)}Vh(a)}if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Uh(a),a=a.sibling}function Uh(a){switch(a.tag){case 0:case 11:case 15:Fs(a),a.flags&2048&&ti(9,a,a.return);break;case 3:Fs(a);break;case 12:Fs(a);break;case 22:var t=a.stateNode;a.memoizedState!==null&&t._visibility&2&&(a.return===null||a.return.tag!==13)?(t._visibility&=-3,ll(a)):Fs(a);break;default:Fs(a)}}function ll(a){var t=a.deletions;if((a.flags&16)!==0){if(t!==null)for(var r=0;r<t.length;r++){var n=t[r];sa=n,Hh(n,a)}Vh(a)}for(a=a.child;a!==null;){switch(t=a,t.tag){case 0:case 11:case 15:ti(8,t,t.return),ll(t);break;case 22:r=t.stateNode,r._visibility&2&&(r._visibility&=-3,ll(t));break;default:ll(t)}a=a.sibling}}function Hh(a,t){for(;sa!==null;){var r=sa;switch(r.tag){case 0:case 11:case 15:ti(8,r,t);break;case 23:case 22:if(r.memoizedState!==null&&r.memoizedState.cachePool!==null){var n=r.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:bs(r.memoizedState.cache)}if(n=r.child,n!==null)n.return=r,sa=n;else e:for(r=a;sa!==null;){n=sa;var c=n.sibling,d=n.return;if(Fh(n),n===r){sa=null;break e}if(c!==null){c.return=d,sa=c;break e}sa=d}}}var q0={getCacheForType:function(a){var t=ma(Ze),r=t.data.get(a);return r===void 0&&(r=a(),t.data.set(a,r)),r}},L0=typeof WeakMap=="function"?WeakMap:Map,De=0,qe=null,be=null,ye=0,ze=0,Oa=null,si=!1,Sr=!1,Xc=!1,Rt=0,Ue=0,ni=0,_i=0,Zc=0,Ja=0,Tr=0,Bs=null,wa=null,ed=!1,ad=0,ol=1/0,cl=null,li=null,ca=0,oi=null,Pr=null,Dr=0,td=0,id=null,_h=null,Is=0,rd=null;function Ra(){if((De&2)!==0&&ye!==0)return ye&-ye;if(L.T!==null){var a=br;return a!==0?a:ud()}return lm()}function Kh(){Ja===0&&(Ja=(ye&536870912)===0||Ae?im():536870912);var a=Qa.current;return a!==null&&(a.flags|=32),Ja}function Fa(a,t,r){(a===qe&&(ze===2||ze===9)||a.cancelPendingCommit!==null)&&(zr(a,0),ci(a,ye,Ja,!1)),as(a,r),((De&2)===0||a!==qe)&&(a===qe&&((De&2)===0&&(_i|=r),Ue===4&&ci(a,ye,Ja,!1)),bt(a))}function Wh(a,t,r){if((De&6)!==0)throw Error(o(327));var n=!r&&(t&124)===0&&(t&a.expiredLanes)===0||es(a,t),c=n?U0(a,t):ld(a,t,!0),d=n;do{if(c===0){Sr&&!n&&ci(a,t,0,!1);break}else{if(r=a.current.alternate,d&&!G0(r)){c=ld(a,t,!1),d=!1;continue}if(c===2){if(d=t,a.errorRecoveryDisabledLanes&d)var x=0;else x=a.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){t=x;e:{var y=a;c=Bs;var S=y.current.memoizedState.isDehydrated;if(S&&(zr(y,x).flags|=256),x=ld(y,x,!1),x!==2){if(Xc&&!S){y.errorRecoveryDisabledLanes|=d,_i|=d,c=4;break e}d=wa,wa=c,d!==null&&(wa===null?wa=d:wa.push.apply(wa,d))}c=x}if(d=!1,c!==2)continue}}if(c===1){zr(a,0),ci(a,t,0,!0);break}e:{switch(n=a,d=c,d){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:ci(n,t,Ja,!si);break e;case 2:wa=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(c=ad+300-mt(),10<c)){if(ci(n,t,Ja,!si),yn(n,0,!0)!==0)break e;n.timeoutHandle=wg(Qh.bind(null,n,r,wa,cl,ed,t,Ja,_i,Tr,si,d,2,-0,0),c);break e}Qh(n,r,wa,cl,ed,t,Ja,_i,Tr,si,d,0,-0,0)}}break}while(!0);bt(a)}function Qh(a,t,r,n,c,d,x,y,S,q,U,W,G,V){if(a.timeoutHandle=-1,W=t.subtreeFlags,(W&8192||(W&16785408)===16785408)&&(Hs={stylesheets:null,count:0,unsuspend:wy},Gh(t),W=Ny(),W!==null)){a.cancelPendingCommit=W(ag.bind(null,a,t,d,r,n,c,x,y,S,U,1,G,V)),ci(a,d,x,!q);return}ag(a,t,d,r,n,c,x,y,S)}function G0(a){for(var t=a;;){var r=t.tag;if((r===0||r===11||r===15)&&t.flags&16384&&(r=t.updateQueue,r!==null&&(r=r.stores,r!==null)))for(var n=0;n<r.length;n++){var c=r[n],d=c.getSnapshot;c=c.value;try{if(!Pa(d(),c))return!1}catch{return!1}}if(r=t.child,t.subtreeFlags&16384&&r!==null)r.return=t,t=r;else{if(t===a)break;for(;t.sibling===null;){if(t.return===null||t.return===a)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ci(a,t,r,n){t&=~Zc,t&=~_i,a.suspendedLanes|=t,a.pingedLanes&=~t,n&&(a.warmLanes|=t),n=a.expirationTimes;for(var c=t;0<c;){var d=31-Ta(c),x=1<<d;n[d]=-1,c&=~x}r!==0&&sm(a,r,t)}function dl(){return(De&6)===0?(Ms(0),!1):!0}function sd(){if(be!==null){if(ze===0)var a=be.return;else a=be,At=qi=null,wc(a),jr=null,Ts=0,a=be;for(;a!==null;)Sh(a.alternate,a),a=a.return;be=null}}function zr(a,t){var r=a.timeoutHandle;r!==-1&&(a.timeoutHandle=-1,sy(r)),r=a.cancelPendingCommit,r!==null&&(a.cancelPendingCommit=null,r()),sd(),qe=a,be=r=jt(a.current,null),ye=t,ze=0,Oa=null,si=!1,Sr=es(a,t),Xc=!1,Tr=Ja=Zc=_i=ni=Ue=0,wa=Bs=null,ed=!1,(t&8)!==0&&(t|=t&32);var n=a.entangledLanes;if(n!==0)for(a=a.entanglements,n&=t;0<n;){var c=31-Ta(n),d=1<<c;t|=a[c],n&=~d}return Rt=t,En(),r}function Jh(a,t){he=null,L.H=$n,t===vs||t===Gn?(t=mp(),ze=3):t===cp?(t=mp(),ze=4):ze=t===ph?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Oa=t,be===null&&(Ue=1,tl(a,Ha(t,a.current)))}function Yh(){var a=L.H;return L.H=$n,a===null?$n:a}function $h(){var a=L.A;return L.A=q0,a}function nd(){Ue=4,si||(ye&4194048)!==ye&&Qa.current!==null||(Sr=!0),(ni&134217727)===0&&(_i&134217727)===0||qe===null||ci(qe,ye,Ja,!1)}function ld(a,t,r){var n=De;De|=2;var c=Yh(),d=$h();(qe!==a||ye!==t)&&(cl=null,zr(a,t)),t=!1;var x=Ue;e:do try{if(ze!==0&&be!==null){var y=be,S=Oa;switch(ze){case 8:sd(),x=6;break e;case 3:case 2:case 9:case 6:Qa.current===null&&(t=!0);var q=ze;if(ze=0,Oa=null,Er(a,y,S,q),r&&Sr){x=0;break e}break;default:q=ze,ze=0,Oa=null,Er(a,y,S,q)}}V0(),x=Ue;break}catch(U){Jh(a,U)}while(!0);return t&&a.shellSuspendCounter++,At=qi=null,De=n,L.H=c,L.A=d,be===null&&(qe=null,ye=0,En()),x}function V0(){for(;be!==null;)Xh(be)}function U0(a,t){var r=De;De|=2;var n=Yh(),c=$h();qe!==a||ye!==t?(cl=null,ol=mt()+500,zr(a,t)):Sr=es(a,t);e:do try{if(ze!==0&&be!==null){t=be;var d=Oa;a:switch(ze){case 1:ze=0,Oa=null,Er(a,t,d,1);break;case 2:case 9:if(dp(d)){ze=0,Oa=null,Zh(t);break}t=function(){ze!==2&&ze!==9||qe!==a||(ze=7),bt(a)},d.then(t,t);break e;case 3:ze=7;break e;case 4:ze=5;break e;case 7:dp(d)?(ze=0,Oa=null,Zh(t)):(ze=0,Oa=null,Er(a,t,d,7));break;case 5:var x=null;switch(be.tag){case 26:x=be.memoizedState;case 5:case 27:var y=be;if(!x||Rg(x)){ze=0,Oa=null;var S=y.sibling;if(S!==null)be=S;else{var q=y.return;q!==null?(be=q,ul(q)):be=null}break a}}ze=0,Oa=null,Er(a,t,d,5);break;case 6:ze=0,Oa=null,Er(a,t,d,6);break;case 8:sd(),Ue=6;break e;default:throw Error(o(462))}}H0();break}catch(U){Jh(a,U)}while(!0);return At=qi=null,L.H=n,L.A=c,De=r,be!==null?0:(qe=null,ye=0,En(),Ue)}function H0(){for(;be!==null&&!mv();)Xh(be)}function Xh(a){var t=Ch(a.alternate,a,Rt);a.memoizedProps=a.pendingProps,t===null?ul(a):be=t}function Zh(a){var t=a,r=t.alternate;switch(t.tag){case 15:case 0:t=vh(r,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=vh(r,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:wc(t);default:Sh(r,t),t=be=ep(t,Rt),t=Ch(r,t,Rt)}a.memoizedProps=a.pendingProps,t===null?ul(a):be=t}function Er(a,t,r,n){At=qi=null,wc(t),jr=null,Ts=0;var c=t.return;try{if(O0(a,c,t,r,ye)){Ue=1,tl(a,Ha(r,a.current)),be=null;return}}catch(d){if(c!==null)throw be=c,d;Ue=1,tl(a,Ha(r,a.current)),be=null;return}t.flags&32768?(Ae||n===1?a=!0:Sr||(ye&536870912)!==0?a=!1:(si=a=!0,(n===2||n===9||n===3||n===6)&&(n=Qa.current,n!==null&&n.tag===13&&(n.flags|=16384))),eg(t,a)):ul(t)}function ul(a){var t=a;do{if((t.flags&32768)!==0){eg(t,si);return}a=t.return;var r=F0(t.alternate,t,Rt);if(r!==null){be=r;return}if(t=t.sibling,t!==null){be=t;return}be=t=a}while(t!==null);Ue===0&&(Ue=5)}function eg(a,t){do{var r=B0(a.alternate,a);if(r!==null){r.flags&=32767,be=r;return}if(r=a.return,r!==null&&(r.flags|=32768,r.subtreeFlags=0,r.deletions=null),!t&&(a=a.sibling,a!==null)){be=a;return}be=a=r}while(a!==null);Ue=6,be=null}function ag(a,t,r,n,c,d,x,y,S){a.cancelPendingCommit=null;do ml();while(ca!==0);if((De&6)!==0)throw Error(o(327));if(t!==null){if(t===a.current)throw Error(o(177));if(d=t.lanes|t.childLanes,d|=$o,wv(a,r,d,x,y,S),a===qe&&(be=qe=null,ye=0),Pr=t,oi=a,Dr=r,td=d,id=c,_h=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(a.callbackNode=null,a.callbackPriority=0,Q0(bn,function(){return ng(),null})):(a.callbackNode=null,a.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null,c=K.p,K.p=2,x=De,De|=4;try{I0(a,t,r)}finally{De=x,K.p=c,L.T=n}}ca=1,tg(),ig(),rg()}}function tg(){if(ca===1){ca=0;var a=oi,t=Pr,r=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||r){r=L.T,L.T=null;var n=K.p;K.p=2;var c=De;De|=4;try{Mh(t,a);var d=vd,x=Hm(a.containerInfo),y=d.focusedElem,S=d.selectionRange;if(x!==y&&y&&y.ownerDocument&&Um(y.ownerDocument.documentElement,y)){if(S!==null&&Ko(y)){var q=S.start,U=S.end;if(U===void 0&&(U=q),"selectionStart"in y)y.selectionStart=q,y.selectionEnd=Math.min(U,y.value.length);else{var W=y.ownerDocument||document,G=W&&W.defaultView||window;if(G.getSelection){var V=G.getSelection(),ce=y.textContent.length,ne=Math.min(S.start,ce),Fe=S.end===void 0?ne:Math.min(S.end,ce);!V.extend&&ne>Fe&&(x=Fe,Fe=ne,ne=x);var B=Vm(y,ne),E=Vm(y,Fe);if(B&&E&&(V.rangeCount!==1||V.anchorNode!==B.node||V.anchorOffset!==B.offset||V.focusNode!==E.node||V.focusOffset!==E.offset)){var I=W.createRange();I.setStart(B.node,B.offset),V.removeAllRanges(),ne>Fe?(V.addRange(I),V.extend(E.node,E.offset)):(I.setEnd(E.node,E.offset),V.addRange(I))}}}}for(W=[],V=y;V=V.parentNode;)V.nodeType===1&&W.push({element:V,left:V.scrollLeft,top:V.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;y<W.length;y++){var H=W[y];H.element.scrollLeft=H.left,H.element.scrollTop=H.top}}Nl=!!xd,vd=xd=null}finally{De=c,K.p=n,L.T=r}}a.current=t,ca=2}}function ig(){if(ca===2){ca=0;var a=oi,t=Pr,r=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||r){r=L.T,L.T=null;var n=K.p;K.p=2;var c=De;De|=4;try{Rh(a,t.alternate,t)}finally{De=c,K.p=n,L.T=r}}ca=3}}function rg(){if(ca===4||ca===3){ca=0,pv();var a=oi,t=Pr,r=Dr,n=_h;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?ca=5:(ca=0,Pr=oi=null,sg(a,a.pendingLanes));var c=a.pendingLanes;if(c===0&&(li=null),Co(r),t=t.stateNode,Sa&&typeof Sa.onCommitFiberRoot=="function")try{Sa.onCommitFiberRoot(Zr,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=L.T,c=K.p,K.p=2,L.T=null;try{for(var d=a.onRecoverableError,x=0;x<n.length;x++){var y=n[x];d(y.value,{componentStack:y.stack})}}finally{L.T=t,K.p=c}}(Dr&3)!==0&&ml(),bt(a),c=a.pendingLanes,(r&4194090)!==0&&(c&42)!==0?a===rd?Is++:(Is=0,rd=a):Is=0,Ms(0)}}function sg(a,t){(a.pooledCacheLanes&=t)===0&&(t=a.pooledCache,t!=null&&(a.pooledCache=null,bs(t)))}function ml(a){return tg(),ig(),rg(),ng()}function ng(){if(ca!==5)return!1;var a=oi,t=td;td=0;var r=Co(Dr),n=L.T,c=K.p;try{K.p=32>r?32:r,L.T=null,r=id,id=null;var d=oi,x=Dr;if(ca=0,Pr=oi=null,Dr=0,(De&6)!==0)throw Error(o(331));var y=De;if(De|=4,Uh(d.current),Lh(d,d.current,x,r),De=y,Ms(0,!1),Sa&&typeof Sa.onPostCommitFiberRoot=="function")try{Sa.onPostCommitFiberRoot(Zr,d)}catch{}return!0}finally{K.p=c,L.T=n,sg(a,t)}}function lg(a,t,r){t=Ha(r,t),t=Bc(a.stateNode,t,2),a=Xt(a,t,2),a!==null&&(as(a,2),bt(a))}function Ie(a,t,r){if(a.tag===3)lg(a,a,r);else for(;t!==null;){if(t.tag===3){lg(t,a,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(li===null||!li.has(n))){a=Ha(r,a),r=uh(2),n=Xt(t,r,2),n!==null&&(mh(r,n,t,a),as(n,2),bt(n));break}}t=t.return}}function od(a,t,r){var n=a.pingCache;if(n===null){n=a.pingCache=new L0;var c=new Set;n.set(t,c)}else c=n.get(t),c===void 0&&(c=new Set,n.set(t,c));c.has(r)||(Xc=!0,c.add(r),a=_0.bind(null,a,t,r),t.then(a,a))}function _0(a,t,r){var n=a.pingCache;n!==null&&n.delete(t),a.pingedLanes|=a.suspendedLanes&r,a.warmLanes&=~r,qe===a&&(ye&r)===r&&(Ue===4||Ue===3&&(ye&62914560)===ye&&300>mt()-ad?(De&2)===0&&zr(a,0):Zc|=r,Tr===ye&&(Tr=0)),bt(a)}function og(a,t){t===0&&(t=rm()),a=pr(a,t),a!==null&&(as(a,t),bt(a))}function K0(a){var t=a.memoizedState,r=0;t!==null&&(r=t.retryLane),og(a,r)}function W0(a,t){var r=0;switch(a.tag){case 13:var n=a.stateNode,c=a.memoizedState;c!==null&&(r=c.retryLane);break;case 19:n=a.stateNode;break;case 22:n=a.stateNode._retryCache;break;default:throw Error(o(314))}n!==null&&n.delete(t),og(a,r)}function Q0(a,t){return Ga(a,t)}var pl=null,Or=null,cd=!1,hl=!1,dd=!1,Ki=0;function bt(a){a!==Or&&a.next===null&&(Or===null?pl=Or=a:Or=Or.next=a),hl=!0,cd||(cd=!0,Y0())}function Ms(a,t){if(!dd&&hl){dd=!0;do for(var r=!1,n=pl;n!==null;){if(a!==0){var c=n.pendingLanes;if(c===0)var d=0;else{var x=n.suspendedLanes,y=n.pingedLanes;d=(1<<31-Ta(42|a)+1)-1,d&=c&~(x&~y),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(r=!0,mg(n,d))}else d=ye,d=yn(n,n===qe?d:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(d&3)===0||es(n,d)||(r=!0,mg(n,d));n=n.next}while(r);dd=!1}}function J0(){cg()}function cg(){hl=cd=!1;var a=0;Ki!==0&&(ry()&&(a=Ki),Ki=0);for(var t=mt(),r=null,n=pl;n!==null;){var c=n.next,d=dg(n,t);d===0?(n.next=null,r===null?pl=c:r.next=c,c===null&&(Or=r)):(r=n,(a!==0||(d&3)!==0)&&(hl=!0)),n=c}Ms(a)}function dg(a,t){for(var r=a.suspendedLanes,n=a.pingedLanes,c=a.expirationTimes,d=a.pendingLanes&-62914561;0<d;){var x=31-Ta(d),y=1<<x,S=c[x];S===-1?((y&r)===0||(y&n)!==0)&&(c[x]=kv(y,t)):S<=t&&(a.expiredLanes|=y),d&=~y}if(t=qe,r=ye,r=yn(a,a===t?r:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),n=a.callbackNode,r===0||a===t&&(ze===2||ze===9)||a.cancelPendingCommit!==null)return n!==null&&n!==null&&_t(n),a.callbackNode=null,a.callbackPriority=0;if((r&3)===0||es(a,r)){if(t=r&-r,t===a.callbackPriority)return t;switch(n!==null&&_t(n),Co(r)){case 2:case 8:r=am;break;case 32:r=bn;break;case 268435456:r=tm;break;default:r=bn}return n=ug.bind(null,a),r=Ga(r,n),a.callbackPriority=t,a.callbackNode=r,t}return n!==null&&n!==null&&_t(n),a.callbackPriority=2,a.callbackNode=null,2}function ug(a,t){if(ca!==0&&ca!==5)return a.callbackNode=null,a.callbackPriority=0,null;var r=a.callbackNode;if(ml()&&a.callbackNode!==r)return null;var n=ye;return n=yn(a,a===qe?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),n===0?null:(Wh(a,n,t),dg(a,mt()),a.callbackNode!=null&&a.callbackNode===r?ug.bind(null,a):null)}function mg(a,t){if(ml())return null;Wh(a,t,!0)}function Y0(){ny(function(){(De&6)!==0?Ga(em,J0):cg()})}function ud(){return Ki===0&&(Ki=im()),Ki}function pg(a){return a==null||typeof a=="symbol"||typeof a=="boolean"?null:typeof a=="function"?a:Cn(""+a)}function hg(a,t){var r=t.ownerDocument.createElement("input");return r.name=t.name,r.value=t.value,a.id&&r.setAttribute("form",a.id),t.parentNode.insertBefore(r,t),a=new FormData(a),r.parentNode.removeChild(r),a}function $0(a,t,r,n,c){if(t==="submit"&&r&&r.stateNode===c){var d=pg((c[xa]||null).action),x=n.submitter;x&&(t=(t=x[xa]||null)?pg(t.formAction):x.getAttribute("formAction"),t!==null&&(d=t,x=null));var y=new Pn("action","action",null,n,c);a.push({event:y,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ki!==0){var S=x?hg(c,x):new FormData(c);zc(r,{pending:!0,data:S,method:c.method,action:d},null,S)}}else typeof d=="function"&&(y.preventDefault(),S=x?hg(c,x):new FormData(c),zc(r,{pending:!0,data:S,method:c.method,action:d},d,S))},currentTarget:c}]})}}for(var md=0;md<Yo.length;md++){var pd=Yo[md],X0=pd.toLowerCase(),Z0=pd[0].toUpperCase()+pd.slice(1);at(X0,"on"+Z0)}at(Wm,"onAnimationEnd"),at(Qm,"onAnimationIteration"),at(Jm,"onAnimationStart"),at("dblclick","onDoubleClick"),at("focusin","onFocus"),at("focusout","onBlur"),at(f0,"onTransitionRun"),at(b0,"onTransitionStart"),at(x0,"onTransitionCancel"),at(Ym,"onTransitionEnd"),ir("onMouseEnter",["mouseout","mouseover"]),ir("onMouseLeave",["mouseout","mouseover"]),ir("onPointerEnter",["pointerout","pointerover"]),ir("onPointerLeave",["pointerout","pointerover"]),Di("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Di("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Di("onBeforeInput",["compositionend","keypress","textInput","paste"]),Di("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Di("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Di("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var qs="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ey=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(qs));function gg(a,t){t=(t&4)!==0;for(var r=0;r<a.length;r++){var n=a[r],c=n.event;n=n.listeners;e:{var d=void 0;if(t)for(var x=n.length-1;0<=x;x--){var y=n[x],S=y.instance,q=y.currentTarget;if(y=y.listener,S!==d&&c.isPropagationStopped())break e;d=y,c.currentTarget=q;try{d(c)}catch(U){al(U)}c.currentTarget=null,d=S}else for(x=0;x<n.length;x++){if(y=n[x],S=y.instance,q=y.currentTarget,y=y.listener,S!==d&&c.isPropagationStopped())break e;d=y,c.currentTarget=q;try{d(c)}catch(U){al(U)}c.currentTarget=null,d=S}}}}function xe(a,t){var r=t[Ao];r===void 0&&(r=t[Ao]=new Set);var n=a+"__bubble";r.has(n)||(fg(t,a,2,!1),r.add(n))}function hd(a,t,r){var n=0;t&&(n|=4),fg(r,a,n,t)}var gl="_reactListening"+Math.random().toString(36).slice(2);function gd(a){if(!a[gl]){a[gl]=!0,cm.forEach(function(r){r!=="selectionchange"&&(ey.has(r)||hd(r,!1,a),hd(r,!0,a))});var t=a.nodeType===9?a:a.ownerDocument;t===null||t[gl]||(t[gl]=!0,hd("selectionchange",!1,t))}}function fg(a,t,r,n){switch(Lg(t)){case 2:var c=Sy;break;case 8:c=Ty;break;default:c=Pd}r=c.bind(null,t,r,a),c=void 0,!Io||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(c=!0),n?c!==void 0?a.addEventListener(t,r,{capture:!0,passive:c}):a.addEventListener(t,r,!0):c!==void 0?a.addEventListener(t,r,{passive:c}):a.addEventListener(t,r,!1)}function fd(a,t,r,n,c){var d=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var x=n.tag;if(x===3||x===4){var y=n.stateNode.containerInfo;if(y===c)break;if(x===4)for(x=n.return;x!==null;){var S=x.tag;if((S===3||S===4)&&x.stateNode.containerInfo===c)return;x=x.return}for(;y!==null;){if(x=er(y),x===null)return;if(S=x.tag,S===5||S===6||S===26||S===27){n=d=x;continue e}y=y.parentNode}}n=n.return}jm(function(){var q=d,U=Fo(r),W=[];e:{var G=$m.get(a);if(G!==void 0){var V=Pn,ce=a;switch(a){case"keypress":if(Sn(r)===0)break e;case"keydown":case"keyup":V=Qv;break;case"focusin":ce="focus",V=Go;break;case"focusout":ce="blur",V=Go;break;case"beforeblur":case"afterblur":V=Go;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":V=Am;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":V=Bv;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":V=$v;break;case Wm:case Qm:case Jm:V=qv;break;case Ym:V=Zv;break;case"scroll":case"scrollend":V=Rv;break;case"wheel":V=a0;break;case"copy":case"cut":case"paste":V=Gv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":V=Tm;break;case"toggle":case"beforetoggle":V=i0}var ne=(t&4)!==0,Fe=!ne&&(a==="scroll"||a==="scrollend"),B=ne?G!==null?G+"Capture":null:G;ne=[];for(var E=q,I;E!==null;){var H=E;if(I=H.stateNode,H=H.tag,H!==5&&H!==26&&H!==27||I===null||B===null||(H=rs(E,B),H!=null&&ne.push(Ls(E,H,I))),Fe)break;E=E.return}0<ne.length&&(G=new V(G,ce,null,r,U),W.push({event:G,listeners:ne}))}}if((t&7)===0){e:{if(G=a==="mouseover"||a==="pointerover",V=a==="mouseout"||a==="pointerout",G&&r!==Ro&&(ce=r.relatedTarget||r.fromElement)&&(er(ce)||ce[Zi]))break e;if((V||G)&&(G=U.window===U?U:(G=U.ownerDocument)?G.defaultView||G.parentWindow:window,V?(ce=r.relatedTarget||r.toElement,V=q,ce=ce?er(ce):null,ce!==null&&(Fe=p(ce),ne=ce.tag,ce!==Fe||ne!==5&&ne!==27&&ne!==6)&&(ce=null)):(V=null,ce=q),V!==ce)){if(ne=Am,H="onMouseLeave",B="onMouseEnter",E="mouse",(a==="pointerout"||a==="pointerover")&&(ne=Tm,H="onPointerLeave",B="onPointerEnter",E="pointer"),Fe=V==null?G:is(V),I=ce==null?G:is(ce),G=new ne(H,E+"leave",V,r,U),G.target=Fe,G.relatedTarget=I,H=null,er(U)===q&&(ne=new ne(B,E+"enter",ce,r,U),ne.target=I,ne.relatedTarget=Fe,H=ne),Fe=H,V&&ce)a:{for(ne=V,B=ce,E=0,I=ne;I;I=Rr(I))E++;for(I=0,H=B;H;H=Rr(H))I++;for(;0<E-I;)ne=Rr(ne),E--;for(;0<I-E;)B=Rr(B),I--;for(;E--;){if(ne===B||B!==null&&ne===B.alternate)break a;ne=Rr(ne),B=Rr(B)}ne=null}else ne=null;V!==null&&bg(W,G,V,ne,!1),ce!==null&&Fe!==null&&bg(W,Fe,ce,ne,!0)}}e:{if(G=q?is(q):window,V=G.nodeName&&G.nodeName.toLowerCase(),V==="select"||V==="input"&&G.type==="file")var ee=Bm;else if(Rm(G))if(Im)ee=p0;else{ee=u0;var fe=d0}else V=G.nodeName,!V||V.toLowerCase()!=="input"||G.type!=="checkbox"&&G.type!=="radio"?q&&Oo(q.elementType)&&(ee=Bm):ee=m0;if(ee&&(ee=ee(a,q))){Fm(W,ee,r,U);break e}fe&&fe(a,G,q),a==="focusout"&&q&&G.type==="number"&&q.memoizedProps.value!=null&&Eo(G,"number",G.value)}switch(fe=q?is(q):window,a){case"focusin":(Rm(fe)||fe.contentEditable==="true")&&(dr=fe,Wo=q,ms=null);break;case"focusout":ms=Wo=dr=null;break;case"mousedown":Qo=!0;break;case"contextmenu":case"mouseup":case"dragend":Qo=!1,_m(W,r,U);break;case"selectionchange":if(g0)break;case"keydown":case"keyup":_m(W,r,U)}var ie;if(Uo)e:{switch(a){case"compositionstart":var le="onCompositionStart";break e;case"compositionend":le="onCompositionEnd";break e;case"compositionupdate":le="onCompositionUpdate";break e}le=void 0}else cr?Em(a,r)&&(le="onCompositionEnd"):a==="keydown"&&r.keyCode===229&&(le="onCompositionStart");le&&(Pm&&r.locale!=="ko"&&(cr||le!=="onCompositionStart"?le==="onCompositionEnd"&&cr&&(ie=Nm()):(Qt=U,Mo="value"in Qt?Qt.value:Qt.textContent,cr=!0)),fe=fl(q,le),0<fe.length&&(le=new Sm(le,a,null,r,U),W.push({event:le,listeners:fe}),ie?le.data=ie:(ie=Om(r),ie!==null&&(le.data=ie)))),(ie=s0?n0(a,r):l0(a,r))&&(le=fl(q,"onBeforeInput"),0<le.length&&(fe=new Sm("onBeforeInput","beforeinput",null,r,U),W.push({event:fe,listeners:le}),fe.data=ie)),$0(W,a,q,r,U)}gg(W,t)})}function Ls(a,t,r){return{instance:a,listener:t,currentTarget:r}}function fl(a,t){for(var r=t+"Capture",n=[];a!==null;){var c=a,d=c.stateNode;if(c=c.tag,c!==5&&c!==26&&c!==27||d===null||(c=rs(a,r),c!=null&&n.unshift(Ls(a,c,d)),c=rs(a,t),c!=null&&n.push(Ls(a,c,d))),a.tag===3)return n;a=a.return}return[]}function Rr(a){if(a===null)return null;do a=a.return;while(a&&a.tag!==5&&a.tag!==27);return a||null}function bg(a,t,r,n,c){for(var d=t._reactName,x=[];r!==null&&r!==n;){var y=r,S=y.alternate,q=y.stateNode;if(y=y.tag,S!==null&&S===n)break;y!==5&&y!==26&&y!==27||q===null||(S=q,c?(q=rs(r,d),q!=null&&x.unshift(Ls(r,q,S))):c||(q=rs(r,d),q!=null&&x.push(Ls(r,q,S)))),r=r.return}x.length!==0&&a.push({event:t,listeners:x})}var ay=/\r\n?/g,ty=/\u0000|\uFFFD/g;function xg(a){return(typeof a=="string"?a:""+a).replace(ay,`
9`).replace(ty,"")}function vg(a,t){return t=xg(t),xg(a)===t}function bl(){}function Re(a,t,r,n,c,d){switch(r){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||nr(a,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&nr(a,""+n);break;case"className":wn(a,"class",n);break;case"tabIndex":wn(a,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":wn(a,r,n);break;case"style":km(a,n,d);break;case"data":if(t!=="object"){wn(a,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||r!=="href")){a.removeAttribute(r);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){a.removeAttribute(r);break}n=Cn(""+n),a.setAttribute(r,n);break;case"action":case"formAction":if(typeof n=="function"){a.setAttribute(r,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(r==="formAction"?(t!=="input"&&Re(a,t,"name",c.name,c,null),Re(a,t,"formEncType",c.formEncType,c,null),Re(a,t,"formMethod",c.formMethod,c,null),Re(a,t,"formTarget",c.formTarget,c,null)):(Re(a,t,"encType",c.encType,c,null),Re(a,t,"method",c.method,c,null),Re(a,t,"target",c.target,c,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){a.removeAttribute(r);break}n=Cn(""+n),a.setAttribute(r,n);break;case"onClick":n!=null&&(a.onclick=bl);break;case"onScroll":n!=null&&xe("scroll",a);break;case"onScrollEnd":n!=null&&xe("scrollend",a);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(r=n.__html,r!=null){if(c.children!=null)throw Error(o(60));a.innerHTML=r}}break;case"multiple":a.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":a.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){a.removeAttribute("xlink:href");break}r=Cn(""+n),a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",r);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?a.setAttribute(r,""+n):a.removeAttribute(r);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInl
9ine":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?a.setAttribute(r,""):a.removeAttribute(r);break;case"capture":case"download":n===!0?a.setAttribute(r,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?a.setAttribute(r,n):a.removeAttribute(r);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?a.setAttribute(r,n):a.removeAttribute(r);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?a.removeAttribute(r):a.setAttribute(r,n);break;case"popover":xe("beforetoggle",a),xe("toggle",a),kn(a,"popover",n);break;case"xlinkActuate":kt(a,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":kt(a,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":kt(a,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":kt(a,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":kt(a,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":kt(a,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":kt(a,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":kt(a,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":kt(a,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":kn(a,"is",n);break;case"innerText":case"textContent":break;default:(!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&(r=Ev.get(r)||r,kn(a,r,n))}}function bd(a,t,r,n,c,d){switch(r){case"style":km(a,n,d);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(r=n.__html,r!=null){if(c.children!=null)throw Error(o(60));a.innerHTML=r}}break;case"children":typeof n=="string"?nr(a,n):(typeof n=="number"||typeof n=="bigint")&&nr(a,""+n);break;case"onScroll":n!=null&&xe("scroll",a);break;case"onScrollEnd":n!=null&&xe("scrollend",a);break;case"onClick":n!=null&&(a.onclick=bl);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!dm.hasOwnProperty(r))e:{if(r[0]==="o"&&r[1]==="n"&&(c=r.endsWith("Capture"),t=r.slice(2,c?r.length-7:void 0),d=a[xa]||null,d=d!=null?d[r]:null,typeof d=="function"&&a.removeEventListener(t,d,c),typeof n=="function")){typeof d!="function"&&d!==null&&(r in a?a[r]=null:a.hasAttribute(r)&&a.removeAttribute(r)),a.addEventListener(t,n,c);break e}r in a?a[r]=n:n===!0?a.setAttribute(r,""):kn(a,r,n)}}}function da(a,t,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":xe("error",a),xe("load",a);var n=!1,c=!1,d;for(d in r)if(r.hasOwnProperty(d)){var x=r[d];if(x!=null)switch(d){case"src":n=!0;break;case"srcSet":c=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Re(a,t,d,x,r,null)}}c&&Re(a,t,"srcSet",r.srcSet,r,null),n&&Re(a,t,"src",r.src,r,null);return;case"input":xe("invalid",a);var y=d=x=c=null,S=null,q=null;for(n in r)if(r.hasOwnProperty(n)){var U=r[n];if(U!=null)switch(n){case"name":c=U;break;case"type":x=U;break;case"checked":S=U;break;case"defaultChecked":q=U;break;case"value":d=U;break;case"defaultValue":y=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(o(137,t));break;default:Re(a,t,n,U,r,null)}}bm(a,d,y,S,q,x,c,!1),jn(a);return;case"select":xe("invalid",a),n=x=d=null;for(c in r)if(r.hasOwnProperty(c)&&(y=r[c],y!=null))switch(c){case"value":d=y;break;case"defaultValue":x=y;break;case"multiple":n=y;default:Re(a,t,c,y,r,null)}t=d,r=x,a.multiple=!!n,t!=null?sr(a,!!n,t,!1):r!=null&&sr(a,!!n,r,!0);return;case"textarea":xe("invalid",a),d=c=n=null;for(x in r)if(r.hasOwnProperty(x)&&(y=r[x],y!=null))switch(x){case"value":n=y;break;case"defaultValue":c=y;break;case"children":d=y;break;case"dangerouslySetInnerHTML":if(y!=null)throw Error(o(91));break;default:Re(a,t,x,y,r,null)}vm(a,n,c,d),jn(a);return;case"option":for(S in r)r.hasOwnProperty(S)&&(n=r[S],n!=null)&&(S==="selected"?a.selected=n&&typeof n!="function"&&typeof n!="symbol":Re(a,t,S,n,r,null));return;case"dialog":xe("beforetoggle",a),xe("toggle",a),xe("cancel",a),xe("close",a);break;case"iframe":case"object":xe("load",a);break;case"video":case"audio":for(n=0;n<qs.length;n++)xe(qs[n],a);break;case"image":xe("error",a),xe("load",a);break;case"details":xe("toggle",a);break;case"embed":case"source":case"link":xe("error",a),xe("load",a);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(q in r)if(r.hasOwnProperty(q)&&(n=r[q],n!=null))switch(q){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Re(a,t,q,n,r,null)}return;default:if(Oo(t)){for(U in r)r.hasOwnProperty(U)&&(n=r[U],n!==void 0&&bd(a,t,U,n,r,void 0));return}}
vendor: 3,846 bytes, line 9
9for(y in r)r.hasOwnProperty(y)&&(n=r[y],n!=null&&Re(a,t,y,n,r,null))}function iy(a,t,r,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var c=null,d=null,x=null,y=null,S=null,q=null,U=null;for(V in r){var W=r[V];if(r.hasOwnProperty(V)&&W!=null)switch(V){case"checked":break;case"value":break;case"defaultValue":S=W;default:n.hasOwnProperty(V)||Re(a,t,V,null,n,W)}}for(var G in n){var V=n[G];if(W=r[G],n.hasOwnProperty(G)&&(V!=null||W!=null))switch(G){case"type":d=V;break;case"name":c=V;break;case"checked":q=V;break;case"defaultChecked":U=V;break;case"value":x=V;break;case"defaultValue":y=V;break;case"children":case"dangerouslySetInnerHTML":if(V!=null)throw Error(o(137,t));break;default:V!==W&&Re(a,t,G,V,n,W)}}zo(a,x,y,S,q,U,d,c);return;case"select":V=x=y=G=null;for(d in r)if(S=r[d],r.hasOwnProperty(d)&&S!=null)switch(d){case"value":break;case"multiple":V=S;default:n.hasOwnProperty(d)||Re(a,t,d,null,n,S)}for(c in n)if(d=n[c],S=r[c],n.hasOwnProperty(c)&&(d!=null||S!=null))switch(c){case"value":G=d;break;case"defaultValue":y=d;break;case"multiple":x=d;default:d!==S&&Re(a,t,c,d,n,S)}t=y,r=x,n=V,G!=null?sr(a,!!r,G,!1):!!n!=!!r&&(t!=null?sr(a,!!r,t,!0):sr(a,!!r,r?[]:"",!1));return;case"textarea":V=G=null;for(y in r)if(c=r[y],r.hasOwnProperty(y)&&c!=null&&!n.hasOwnProperty(y))switch(y){case"value":break;case"children":break;default:Re(a,t,y,null,n,c)}for(x in n)if(c=n[x],d=r[x],n.hasOwnProperty(x)&&(c!=null||d!=null))switch(x){case"value":G=c;break;case"defaultValue":V=c;break;case"children":break;case"dangerouslySetInnerHTML":if(c!=null)throw Error(o(91));break;default:c!==d&&Re(a,t,x,c,n,d)}xm(a,G,V);return;case"option":for(var ce in r)G=r[ce],r.hasOwnProperty(ce)&&G!=null&&!n.hasOwnProperty(ce)&&(ce==="selected"?a.selected=!1:Re(a,t,ce,null,n,G));for(S in n)G=n[S],V=r[S],n.hasOwnProperty(S)&&G!==V&&(G!=null||V!=null)&&(S==="selected"?a.selected=G&&typeof G!="function"&&typeof G!="symbol":Re(a,t,S,G,n,V));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ne in r)G=r[ne],r.hasOwnProperty(ne)&&G!=null&&!n.hasOwnProperty(ne)&&Re(a,t,ne,null,n,G);for(q in n)if(G=n[q],V=r[q],n.hasOwnProperty(q)&&G!==V&&(G!=null||V!=null))switch(q){case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(o(137,t));break;default:Re(a,t,q,G,n,V)}return;default:if(Oo(t)){for(var Fe in r)G=r[Fe],r.hasOwnProperty(Fe)&&G!==void 0&&!n.hasOwnProperty(Fe)&&bd(a,t,Fe,void 0,n,G);for(U in n)G=n[U],V=r[U],!n.hasOwnProperty(U)||G===V||G===void 0&&V===void 0||bd(a,t,U,G,n,V);return}}for(var B in r)G=r[B],r.hasOwnProperty(B)&&G!=null&&!n.hasOwnProperty(B)&&Re(a,t,B,null,n,G);for(W in n)G=n[W],V=r[W],!n.hasOwnProperty(W)||G===V||G==null&&V==null||Re(a,t,W,G,n,V)}var xd=null,vd=null;function xl(a){return a.nodeType===9?a:a.ownerDocument}function yg(a){switch(a){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function kg(a,t){if(a===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return a===1&&t==="foreignObject"?0:a}function yd(a,t){return a==="textarea"||a==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var kd=null;function ry(){var a=window.event;return a&&a.type==="popstate"?a===kd?!1:(kd=a,!0):(kd=null,!1)}var wg=typeof setTimeout=="function"?setTimeout:void 0,sy=typeof clearTimeout=="function"?clearTimeout:void 0,jg=typeof Promise=="function"?Promise:void 0,ny=typeof queueMicrotask=="function"?queueMicrotask:typeof jg<"u"?function(a){return jg.resolve(null).then(a).catch(ly
vendor: 5,662 bytes, line 9
9)}:wg;function ly(a){setTimeout(function(){throw a})}function di(a){return a==="head"}function Ng(a,t){var r=t,n=0,c=0;do{var d=r.nextSibling;if(a.removeChild(r),d&&d.nodeType===8)if(r=d.data,r==="/$"){if(0<n&&8>n){r=n;var x=a.ownerDocument;if(r&1&&Gs(x.documentElement),r&2&&Gs(x.body),r&4)for(r=x.head,Gs(r),x=r.firstChild;x;){var y=x.nextSibling,S=x.nodeName;x[ts]||S==="SCRIPT"||S==="STYLE"||S==="LINK"&&x.rel.toLowerCase()==="stylesheet"||r.removeChild(x),x=y}}if(c===0){a.removeChild(d),Js(t);return}c--}else r==="$"||r==="$?"||r==="$!"?c++:n=r.charCodeAt(0)-48;else n=0;r=d}while(r);Js(t)}function wd(a){var t=a.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var r=t;switch(t=t.nextSibling,r.nodeName){case"HTML":case"HEAD":case"BODY":wd(r),So(r);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(r.rel.toLowerCase()==="stylesheet")continue}a.removeChild(r)}}function oy(a,t,r,n){for(;a.nodeType===1;){var c=r;if(a.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(a.nodeName!=="INPUT"||a.type!=="hidden"))break}else if(n){if(!a[ts])switch(t){case"meta":if(!a.hasAttribute("itemprop"))break;return a;case"link":if(d=a.getAttribute("rel"),d==="stylesheet"&&a.hasAttribute("data-precedence"))break;if(d!==c.rel||a.getAttribute("href")!==(c.href==null||c.href===""?null:c.href)||a.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin)||a.getAttribute("title")!==(c.title==null?null:c.title))break;return a;case"style":if(a.hasAttribute("data-precedence"))break;return a;case"script":if(d=a.getAttribute("src"),(d!==(c.src==null?null:c.src)||a.getAttribute("type")!==(c.type==null?null:c.type)||a.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin))&&d&&a.hasAttribute("async")&&!a.hasAttribute("itemprop"))break;return a;default:return a}}else if(t==="input"&&a.type==="hidden"){var d=c.name==null?null:""+c.name;if(c.type==="hidden"&&a.getAttribute("name")===d)return a}else return a;if(a=it(a.nextSibling),a===null)break}return null}function cy(a,t,r){if(t==="")return null;for(;a.nodeType!==3;)if((a.nodeType!==1||a.nodeName!=="INPUT"||a.type!=="hidden")&&!r||(a=it(a.nextSibling),a===null))return null;return a}function jd(a){return a.data==="$!"||a.data==="$?"&&a.ownerDocument.readyState==="complete"}function dy(a,t){var r=a.ownerDocument;if(a.data!=="$?"||r.readyState==="complete")t();else{var n=function(){t(),r.removeEventListener("DOMContentLoaded",n)};r.addEventListener("DOMContentLoaded",n),a._reactRetry=n}}function it(a){for(;a!=null;a=a.nextSibling){var t=a.nodeType;if(t===1||t===3)break;if(t===8){if(t=a.data,t==="$"||t==="$!"||t==="$?"||t==="F!"||t==="F")break;if(t==="/$")return null}}return a}var Nd=null;function Cg(a){a=a.previousSibling;for(var t=0;a;){if(a.nodeType===8){var r=a.data;if(r==="$"||r==="$!"||r==="$?"){if(t===0)return a;t--}else r==="/$"&&t++}a=a.previousSibling}return null}function Ag(a,t,r){switch(t=xl(r),a){case"html":if(a=t.documentElement,!a)throw Error(o(452));return a;case"head":if(a=t.head,!a)throw Error(o(453));return a;case"body":if(a=t.body,!a)throw Error(o(454));return a;default:throw Error(o(451))}}function Gs(a){for(var t=a.attributes;t.length;)a.removeAttributeNode(t[0]);So(a)}var Ya=new Map,Sg=new Set;function vl(a){return typeof a.getRootNode=="function"?a.getRootNode():a.nodeType===9?a:a.ownerDocument}var Ft=K.d;K.d={f:uy,r:my,D:py,C:hy,L:gy,m:fy,X:xy,S:by,M:vy};function uy(){var a=Ft.f(),t=dl();return a||t}function my(a){var t=ar(a);t!==null&&t.tag===5&&t.type==="form"?Wp(t):Ft.r(a)}var Fr=typeof document>"u"?null:document;function Tg(a,t,r){var n=Fr;if(n&&typeof t=="string"&&t){var c=Ua(t);c='link[rel="'+a+'"][href="'+c+'"]',typeof r=="string"&&(c+='[crossorigin="'+r+'"]'),Sg.has(c)||(Sg.add(c),a={rel:a,crossOrigin:r,href:t},n.querySelector(c)===null&&(t=n.createElement("link"),da(t,"link",a),ia(t),n.head.appendChild(t)))}}function py(a){Ft.D(a),Tg("dns-prefetch",a,null)}function hy(a,t){Ft.C(a,t),Tg("preconnect",a,t)}function gy(a,t,r){Ft.L(a,t,r);var n=Fr;if(n&&a&&t){var c='link[rel="preload"][as="'+Ua(t)+'"]';t==="image"&&r&&r.imageSrcSet?(c+='[imagesrcset="'+Ua(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(c+='[imagesizes="'+Ua(r.imageSizes)+'"]')):c+='[href="'+Ua(a)+'"]';var d=c;switch(t){case"style":d=Br(a);break;case"script":d=Ir(a)}Ya.has(d)||(a=g({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:a,as:t},r),Ya.set(d,a),n.querySelector(c)!==null||t==="style"&&n.querySelector(Vs(d))||t==="script"&&n.querySelector(Us(d))||(t=n.createElement("link"),da(t,"link",a),ia(t),n.head.appendChild(t)))}}function fy(a,t){Ft.m(a,t);var r=Fr;if(r&&a){var n=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Ua(n)+'"][href="'+Ua(a)+'"]',d=c;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=Ir(a)}if(!Ya.has(d)&&(a=g({rel:"modulepreload",href:a},t),Ya.set(d,a),r.querySelector(c)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Us(d)))return}n=r.createElement("link"),da(n,"link",a),ia(n),r.head.appendChild(n)}}}function by(a,t,r){Ft.S(a,t,r);var n=Fr;if(n&&a){var c=tr(n).hoistableStyles,d=Br(a);t=t||"default";var x=c.get(d);if(!x){var y={loading:0,preload:null};if(x=n.querySelector(Vs(d)))y.loading=5;else{a=g({rel:"stylesheet",href:a,"data-precedence":t},r),(r=Ya.get(d))&&Cd(a,r);var S=x=n.createElement("link");ia(S),da(S,"link",a),S._p=new Promise(function(q,U){S.onload=q,S.onerror=U}),S.addEventListener("load",function(){y.loading|=1}),S.addEventListener("error",function(){y.loading|=2}),y.loading|=4,yl(x,t,n)}
vendor: 5,529 bytes, line 9
9x={type:"stylesheet",instance:x,count:1,state:y},c.set(d,x)}}}function xy(a,t){Ft.X(a,t);var r=Fr;if(r&&a){var n=tr(r).hoistableScripts,c=Ir(a),d=n.get(c);d||(d=r.querySelector(Us(c)),d||(a=g({src:a,async:!0},t),(t=Ya.get(c))&&Ad(a,t),d=r.createElement("script"),ia(d),da(d,"link",a),r.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},n.set(c,d))}}function vy(a,t){Ft.M(a,t);var r=Fr;if(r&&a){var n=tr(r).hoistableScripts,c=Ir(a),d=n.get(c);d||(d=r.querySelector(Us(c)),d||(a=g({src:a,async:!0,type:"module"},t),(t=Ya.get(c))&&Ad(a,t),d=r.createElement("script"),ia(d),da(d,"link",a),r.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},n.set(c,d))}}function Pg(a,t,r,n){var c=(c=Me.current)?vl(c):null;if(!c)throw Error(o(446));switch(a){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Br(r.href),r=tr(c).hoistableStyles,n=r.get(t),n||(n={type:"style",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){a=Br(r.href);var d=tr(c).hoistableStyles,x=d.get(a);if(x||(c=c.ownerDocument||c,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(a,x),(d=c.querySelector(Vs(a)))&&!d._p&&(x.instance=d,x.state.loading=5),Ya.has(a)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Ya.set(a,r),d||yy(c,a,r,x.state))),t&&n===null)throw Error(o(528,""));return x}if(t&&n!==null)throw Error(o(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ir(r),r=tr(c).hoistableScripts,n=r.get(t),n||(n={type:"script",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,a))}}function Br(a){return'href="'+Ua(a)+'"'}function Vs(a){return'link[rel="stylesheet"]['+a+"]"}function Dg(a){return g({},a,{"data-precedence":a.precedence,precedence:null})}function yy(a,t,r,n){a.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=a.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),da(t,"link",r),ia(t),a.head.appendChild(t))}function Ir(a){return'[src="'+Ua(a)+'"]'}function Us(a){return"script[async]"+a}function zg(a,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=a.querySelector('style[data-href~="'+Ua(r.href)+'"]');if(n)return t.instance=n,ia(n),n;var c=g({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(a.ownerDocument||a).createElement("style"),ia(n),da(n,"style",c),yl(n,r.precedence,a),t.instance=n;case"stylesheet":c=Br(r.href);var d=a.querySelector(Vs(c));if(d)return t.state.loading|=4,t.instance=d,ia(d),d;n=Dg(r),(c=Ya.get(c))&&Cd(n,c),d=(a.ownerDocument||a).createElement("link"),ia(d);var x=d;return x._p=new Promise(function(y,S){x.onload=y,x.onerror=S}),da(d,"link",n),t.state.loading|=4,yl(d,r.precedence,a),t.instance=d;case"script":return d=Ir(r.src),(c=a.querySelector(Us(d)))?(t.instance=c,ia(c),c):(n=r,(c=Ya.get(d))&&(n=g({},r),Ad(n,c)),a=a.ownerDocument||a,c=a.createElement("script"),ia(c),da(c,"link",n),a.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,yl(n,r.precedence,a));return t.instance}function yl(a,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=n.length?n[n.length-1]:null,d=c,x=0;x<n.length;x++){var y=n[x];if(y.dataset.precedence===t)d=y;else if(d!==c)break}d?d.parentNode.insertBefore(a,d.nextSibling):(t=r.nodeType===9?r.head:r,t.insertBefore(a,t.firstChild))}function Cd(a,t){a.crossOrigin==null&&(a.crossOrigin=t.crossOrigin),a.referrerPolicy==null&&(a.referrerPolicy=t.referrerPolicy),a.title==null&&(a.title=t.title)}function Ad(a,t){a.crossOrigin==null&&(a.crossOrigin=t.crossOrigin),a.referrerPolicy==null&&(a.referrerPolicy=t.referrerPolicy),a.integrity==null&&(a.integrity=t.integrity)}var kl=null;function Eg(a,t,r){if(kl===null){var n=new Map,c=kl=new Map;c.set(r,n)}else c=kl,n=c.get(r),n||(n=new Map,c.set(r,n));if(n.has(a))return n;for(n.set(a,null),r=r.getElementsByTagName(a),c=0;c<r.length;c++){var d=r[c];if(!(d[ts]||d[ua]||a==="link"&&d.getAttribute("rel")==="stylesheet")&&d.namespaceURI!=="http://www.w3.org/2000/svg"){var x=d.getAttribute(t)||"";x=a+x;var y=n.get(x);y?y.push(d):n.set(x,[d])}}return n}function Og(a,t,r){a=a.ownerDocument||a,a.head.insertBefore(r,t==="title"?a.querySelector("head > title"):null)}function ky(a,t,r){if(r===1||t.itemProp!=null)return!1;switch(a){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(a=t.disabled,typeof t.precedence=="string"&&a==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Rg(a){return!(a.type==="stylesheet"&&(a.state.loading&3)===0)}var Hs=null;function wy(){}function jy(a,t,r){if(Hs===null)throw Error(o(475));var n=Hs;
vendor: 8,310 bytes, line 9
9if(t.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(t.state.loading&4)===0){if(t.instance===null){var c=Br(r.href),d=a.querySelector(Vs(c));if(d){a=d._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(n.count++,n=wl.bind(n),a.then(n,n)),t.state.loading|=4,t.instance=d,ia(d);return}d=a.ownerDocument||a,r=Dg(r),(c=Ya.get(c))&&Cd(r,c),d=d.createElement("link"),ia(d);var x=d;x._p=new Promise(function(y,S){x.onload=y,x.onerror=S}),da(d,"link",r),t.instance=d}n.stylesheets===null&&(n.stylesheets=new Map),n.stylesheets.set(t,a),(a=t.state.preload)&&(t.state.loading&3)===0&&(n.count++,t=wl.bind(n),a.addEventListener("load",t),a.addEventListener("error",t))}}function Ny(){if(Hs===null)throw Error(o(475));var a=Hs;return a.stylesheets&&a.count===0&&Sd(a,a.stylesheets),0<a.count?function(t){var r=setTimeout(function(){if(a.stylesheets&&Sd(a,a.stylesheets),a.unsuspend){var n=a.unsuspend;a.unsuspend=null,n()}},6e4);return a.unsuspend=t,function(){a.unsuspend=null,clearTimeout(r)}}:null}function wl(){if(this.count--,this.count===0){if(this.stylesheets)Sd(this,this.stylesheets);else if(this.unsuspend){var a=this.unsuspend;this.unsuspend=null,a()}}}var jl=null;function Sd(a,t){a.stylesheets=null,a.unsuspend!==null&&(a.count++,jl=new Map,t.forEach(Cy,a),jl=null,wl.call(a))}function Cy(a,t){if(!(t.state.loading&4)){var r=jl.get(a);if(r)var n=r.get(null);else{r=new Map,jl.set(a,r);for(var c=a.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d<c.length;d++){var x=c[d];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(r.set(x.dataset.precedence,x),n=x)}n&&r.set(null,n)}c=t.instance,x=c.getAttribute("data-precedence"),d=r.get(x)||n,d===n&&r.set(null,c),r.set(x,c),this.count++,n=wl.bind(this),c.addEventListener("load",n),c.addEventListener("error",n),d?d.parentNode.insertBefore(c,d.nextSibling):(a=a.nodeType===9?a.head:a,a.insertBefore(c,a.firstChild)),t.state.loading|=4}}var _s={$$typeof:O,Provider:null,Consumer:null,_currentValue:R,_currentValue2:R,_threadCount:0};function Ay(a,t,r,n,c,d,x,y){this.tag=1,this.containerInfo=a,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=jo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=jo(0),this.hiddenUpdates=jo(null),this.identifierPrefix=n,this.onUncaughtError=c,this.onCaughtError=d,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=y,this.incompleteTransitions=new Map}function Fg(a,t,r,n,c,d,x,y,S,q,U,W){return a=new Ay(a,t,r,x,y,S,q,W),t=1,d===!0&&(t|=24),d=Da(3,null,null,t),a.current=d,d.stateNode=a,t=oc(),t.refCount++,a.pooledCache=t,t.refCount++,d.memoizedState={element:n,isDehydrated:r,cache:t},mc(d),a}function Bg(a){return a?(a=hr,a):hr}function Ig(a,t,r,n,c,d){c=Bg(c),n.context===null?n.context=c:n.pendingContext=c,n=$t(t),n.payload={element:r},d=d===void 0?null:d,d!==null&&(n.callback=d),r=Xt(a,n,t),r!==null&&(Fa(r,a,t),ks(r,a,t))}function Mg(a,t){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var r=a.retryLane;a.retryLane=r!==0&&r<t?r:t}}function Td(a,t){Mg(a,t),(a=a.alternate)&&Mg(a,t)}function qg(a){if(a.tag===13){var t=pr(a,67108864);t!==null&&Fa(t,a,67108864),Td(a,67108864)}}var Nl=!0;function Sy(a,t,r,n){var c=L.T;L.T=null;var d=K.p;try{K.p=2,Pd(a,t,r,n)}finally{K.p=d,L.T=c}}function Ty(a,t,r,n){var c=L.T;L.T=null;var d=K.p;try{K.p=8,Pd(a,t,r,n)}finally{K.p=d,L.T=c}}function Pd(a,t,r,n){if(Nl){var c=Dd(n);if(c===null)fd(a,t,n,Cl,r),Gg(a,n);else if(Dy(c,a,t,r,n))n.stopPropagation();else if(Gg(a,n),t&4&&-1<Py.indexOf(a)){for(;c!==null;){var d=ar(c);if(d!==null)switch(d.tag){case 3:if(d=d.stateNode,d.current.memoizedState.isDehydrated){var x=Pi(d.pendingLanes);if(x!==0){var y=d;for(y.pendingLanes|=2,y.entangledLanes|=2;x;){var S=1<<31-Ta(x);y.entanglements[1]|=S,x&=~S}bt(d),(De&6)===0&&(ol=mt()+500,Ms(0))}}break;case 13:y=pr(d,2),y!==null&&Fa(y,d,2),dl(),Td(d,2)}if(d=Dd(n),d===null&&fd(a,t,n,Cl,r),d===c)break;c=d}c!==null&&n.stopPropagation()}else fd(a,t,n,null,r)}}function Dd(a){return a=Fo(a),zd(a)}var Cl=null;function zd(a){if(Cl=null,a=er(a),a!==null){var t=p(a);if(t===null)a=null;else{var r=t.tag;if(r===13){if(a=f(t),a!==null)return a;a=null}else if(r===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;a=null}else t!==a&&(a=null)}}return Cl=a,null}function Lg(a){switch(a){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(hv()){case em:return 2;case am:return 8;case bn:case gv:return 32;case tm:return 268435456;default:return 32}default:return 32}}var Ed=!1,ui=null,mi=null,pi=null,Ks=new Map,Ws=new Map,hi=[],Py="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Gg(a,t){switch(a){case"focusin":case"focusout":ui=null;break;case"dragenter":case"dragleave":mi=null;break;case"mouseover":case"mouseout":pi=null;break;case"pointerover":case"pointerout":Ks.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ws.delete(t.pointerId)}}function Qs(a,t,r,n,c,d){return a===null||a.nativeEvent!==d?(a={blockedOn:t,domEventName:r,eventSystemFlags:n,nativeEvent:d,targetContainers:[c]},t!==null&&(t=ar(t),t!==null&&qg(t)),a):(a.eventSystemFlags|=n,t=a.targetContainers,c!==null&&t.indexOf(c)===-1&&t.push(c),a)}function Dy(a,t,r,n,c){switch(t){case"focusin":return ui=Qs(ui,a,t,r,n,c),!0;case"dragenter":return mi=Qs(mi,a,t,r,n,c),!0;case"mouseover":return pi=Qs(pi,a,t,r,n,c),!0;case"pointerover":var d=c.pointerId;return Ks.set(d,Qs(Ks.get(d)||null,a,t,r,n,c)),!0;case"gotpointercapture":return d=c.pointerId,Ws.set(d,Qs(Ws.get(d)||null,a,t,r,n,c)),!0}return!1}function Vg(a){var t=er(a.target);if(t!==null){var r=p(t);if(r!==null){if(t=r.tag,t===13){if(t=f(r),t!==null){a.blockedOn=t,jv(a.priority,function(){if(r.tag===13){var n=Ra();n=No(n);var c=pr(r,n);c!==null&&Fa(c,r,n),Td(r,n)}});return}}else if(t===3&&r.stateNode.current.memoizedState.isDehydrated){a.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}a.blockedOn=null}function Al(a){if(a.blockedOn!==null)return!1;for(var t=a.targetContainers;0<t.length;){var r=Dd(a.nativeEvent);if(r===null){r=a.nativeEvent;var n=new r.constructor(r.type,r);Ro=n,r.target.dispatchEvent(n),Ro=null}else return t=ar(r),t!==null&&qg(t),a.blockedOn=r,!1;t.shift()}return!0}function Ug(a,t,r){Al(a)&&r.delete(t)}function zy(){Ed=!1,ui!==null&&Al(ui)&&(ui=null),mi!==null&&Al(mi)&&(mi=null),pi!==null&&Al(pi)&&(pi=null),Ks.forEach(Ug),Ws.forEach(Ug)}function Sl(a,t){a.blockedOn===t&&(a.blockedOn=null,Ed||(Ed=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,zy)))}var Tl=null;function Hg(a){Tl!==a&&(Tl=a,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){Tl===a&&(Tl=null);for(var t=0;t<a.length;t+=3){var r=a[t],n=a[t+1],c=a[t+2];
vendor: 26,083 bytes, line 9
9if(typeof n!="function"){if(zd(n||r)===null)continue;break}var d=ar(r);d!==null&&(a.splice(t,3),t-=3,zc(d,{pending:!0,data:c,method:r.method,action:n},n,c))}}))}function Js(a){function t(S){return Sl(S,a)}ui!==null&&Sl(ui,a),mi!==null&&Sl(mi,a),pi!==null&&Sl(pi,a),Ks.forEach(t),Ws.forEach(t);for(var r=0;r<hi.length;r++){var n=hi[r];n.blockedOn===a&&(n.blockedOn=null)}for(;0<hi.length&&(r=hi[0],r.blockedOn===null);)Vg(r),r.blockedOn===null&&hi.shift();if(r=(a.ownerDocument||a).$$reactFormReplay,r!=null)for(n=0;n<r.length;n+=3){var c=r[n],d=r[n+1],x=c[xa]||null;if(typeof d=="function")x||Hg(r);else if(x){var y=null;if(d&&d.hasAttribute("formAction")){if(c=d,x=d[xa]||null)y=x.formAction;else if(zd(c)!==null)continue}else y=x.action;typeof y=="function"?r[n+1]=y:(r.splice(n,3),n-=3),Hg(r)}}}function Od(a){this._internalRoot=a}Pl.prototype.render=Od.prototype.render=function(a){var t=this._internalRoot;if(t===null)throw Error(o(409));var r=t.current,n=Ra();Ig(r,n,a,t,null,null)},Pl.prototype.unmount=Od.prototype.unmount=function(){var a=this._internalRoot;if(a!==null){this._internalRoot=null;var t=a.containerInfo;Ig(a.current,2,null,a,null,null),dl(),t[Zi]=null}};function Pl(a){this._internalRoot=a}Pl.prototype.unstable_scheduleHydration=function(a){if(a){var t=lm();a={blockedOn:null,target:a,priority:t};for(var r=0;r<hi.length&&t!==0&&t<hi[r].priority;r++);hi.splice(r,0,a),r===0&&Vg(a)}};var _g=i.version;if(_g!=="19.1.0")throw Error(o(527,_g,"19.1.0"));K.findDOMNode=function(a){var t=a._reactInternals;if(t===void 0)throw typeof a.render=="function"?Error(o(188)):(a=Object.keys(a).join(","),Error(o(268,a)));return a=h(t),a=a!==null?b(a):null,a=a===null?null:a.stateNode,a};var Ey={bundleType:0,version:"19.1.0",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.1.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Dl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Dl.isDisabled&&Dl.supportsFiber)try{Zr=Dl.inject(Ey),Sa=Dl}catch{}}return $s.createRoot=function(a,t){if(!u(a))throw Error(o(299));var r=!1,n="",c=lh,d=oh,x=ch,y=null;return t!=null&&(t.unstable_strictMode===!0&&(r=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(c=t.onUncaughtError),t.onCaughtError!==void 0&&(d=t.onCaughtError),t.onRecoverableError!==void 0&&(x=t.onRecoverableError),t.unstable_transitionCallbacks!==void 0&&(y=t.unstable_transitionCallbacks)),t=Fg(a,1,!1,null,null,r,n,c,d,x,y,null),a[Zi]=t.current,gd(a),new Od(t)},$s.hydrateRoot=function(a,t,r){if(!u(a))throw Error(o(299));var n=!1,c="",d=lh,x=oh,y=ch,S=null,q=null;return r!=null&&(r.unstable_strictMode===!0&&(n=!0),r.identifierPrefix!==void 0&&(c=r.identifierPrefix),r.onUncaughtError!==void 0&&(d=r.onUncaughtError),r.onCaughtError!==void 0&&(x=r.onCaughtError),r.onRecoverableError!==void 0&&(y=r.onRecoverableError),r.unstable_transitionCallbacks!==void 0&&(S=r.unstable_transitionCallbacks),r.formState!==void 0&&(q=r.formState)),t=Fg(a,1,!0,t,r??null,n,c,d,x,y,S,q),t.context=Bg(null),r=t.current,n=Ra(),n=No(n),c=$t(n),c.callback=null,Xt(r,c,n),r=n,t.current.lanes=r,as(t,r),bt(t),a[Zi]=t.current,gd(a),new Pl(t)},$s.version="19.1.0",$s}var rf;function x2(){if(rf)return Bd.exports;rf=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(i){console.error(i)}}return s(),Bd.exports=b2(),Bd.exports}var v2=x2(),oo=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(s){return this.listeners.add(s),this.onSubscribe(),()=>{this.listeners.delete(s),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},y2={setTimeout:(s,i)=>setTimeout(s,i),clearTimeout:s=>clearTimeout(s),setInterval:(s,i)=>setInterval(s,i),clearInterval:s=>clearInterval(s)},k2=class{#e=y2;#t=!1;setTimeoutProvider(s){this.#e=s}setTimeout(s,i){return this.#e.setTimeout(s,i)}clearTimeout(s){this.#e.clearTimeout(s)}setInterval(s,i){return this.#e.setInterval(s,i)}clearInterval(s){this.#e.clearInterval(s)}},mu=new k2;function w2(s){setTimeout(s,0)}var co=typeof window>"u"||"Deno"in globalThis;function rt(){}function j2(s,i){return typeof s=="function"?s(i):s}function N2(s){return typeof s=="number"&&s>=0&&s!==1/0}function C2(s,i){return Math.max(s+(i||0)-Date.now(),0)}function pu(s,i){return typeof s=="function"?s(i):s}function A2(s,i){return typeof s=="function"?s(i):s}function sf(s,i){const{type:l="all",exact:o,fetchStatus:u,predicate:p,queryKey:f,stale:m}=s;if(f){if(o){if(i.queryHash!==Ru(f,i.options))return!1}else if(!dn(i.queryKey,f))return!1}if(l!=="all"){const h=i.isActive();if(l==="active"&&!h||l==="inactive"&&h)return!1}return!(typeof m=="boolean"&&i.isStale()!==m||u&&u!==i.state.fetchStatus||p&&!p(i))}function nf(s,i){const{exact:l,status:o,predicate:u,mutationKey:p}=s;if(p){if(!i.options.mutationKey)return!1;if(l){if(cn(i.options.mutationKey)!==cn(p))return!1}else if(!dn(i.options.mutationKey,p))return!1}return!(o&&i.state.status!==o||u&&!u(i))}function Ru(s,i){return(i?.queryKeyHashFn||cn)(s)}function cn(s){return JSON.stringify(s,(i,l)=>hu(l)?Object.keys(l).sort().reduce((o,u)=>(o[u]=l[u],o),{}):l)}function dn(s,i){return s===i?!0:typeof s!=typeof i?!1:s&&i&&typeof s=="object"&&typeof i=="object"?Object.keys(i).every(l=>dn(s[l],i[l])):!1}var S2=Object.prototype.hasOwnProperty;function jb(s,i,l=0){if(s===i)return s;if(l>500)return i;const o=lf(s)&&lf(i);if(!o&&!(hu(s)&&hu(i)))return i;const p=(o?s:Object.keys(s)).length,f=o?i:Object.keys(i),m=f.length,h=o?new Array(m):{};let b=0;for(let g=0;g<m;g++){const v=o?g:f[g],k=s[v],j=i[v];if(k===j){h[v]=k,(o?g<p:S2.call(s,v))&&b++;continue}if(k===null||j===null||typeof k!="object"||typeof j!="object"){h[v]=j;continue}const A=jb(k,j,l+1);h[v]=A,A===k&&b++}return p===m&&b===p?s:h}function lf(s){return Array.isArray(s)&&s.length===Object.keys(s).length}function hu(s){if(!of(s))return!1;const i=s.constructor;if(i===void 0)return!0;const l=i.prototype;return!(!of(l)||!l.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(s)!==Object.prototype)}function of(s){return Object.prototype.toString.call(s)==="[object Object]"}function T2(s){return new Promise(i=>{mu.setTimeout(i,s)})}function P2(s,i,l){return typeof l.structuralSharing=="function"?l.structuralSharing(s,i):l.structuralSharing!==!1?jb(s,i):i}function D2(s,i,l=0){const o=[...s,i];return l&&o.length>l?o.slice(1):o}function z2(s,i,l=0){const o=[i,...s];return l&&o.length>l?o.slice(0,-1):o}var Fu=Symbol();function Nb(s,i){return!s.queryFn&&i?.initialPromise?()=>i.initialPromise:!s.queryFn||s.queryFn===Fu?()=>Promise.reject(new Error(`Missing queryFn: '${s.queryHash}'`)):s.queryFn}function E2(s,i,l){let o=!1,u;return Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(u??=i(),o||(o=!0,u.aborted?l():u.addEventListener("abort",l,{once:!0})),u)}),s}var O2=class extends oo{#e;#t;#a;constructor(){super(),this.#a=s=>{if(!co&&window.addEventListener){const i=()=>s();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(s){this.#a=s,this.#t?.(),this.#t=s(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()})}setFocused(s){this.#e!==s&&(this.#e=s,this.onFocus())}onFocus(){const s=this.isFocused();this.listeners.forEach(i=>{i(s)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Cb=new O2;function R2(){let s,i;const l=new Promise((u,p)=>{s=u,i=p});l.status="pending",l.catch(()=>{});function o(u){Object.assign(l,u),delete l.resolve,delete l.reject}return l.resolve=u=>{o({status:"fulfilled",value:u}),s(u)},l.reject=u=>{o({status:"rejected",reason:u}),i(u)},l}var F2=w2;function B2(){let s=[],i=0,l=m=>{m()},o=m=>{m()},u=F2;const p=m=>{i?s.push(m):u(()=>{l(m)})},f=()=>{const m=s;s=[],m.length&&u(()=>{o(()=>{m.forEach(h=>{l(h)})})})};return{batch:m=>{let h;i++;try{h=m()}finally{i--,i||f()}return h},batchCalls:m=>(...h)=>{p(()=>{m(...h)})},schedule:p,setNotifyFunction:m=>{l=m},setBatchNotifyFunction:m=>{o=m},setScheduler:m=>{u=m}}}var ba=B2(),I2=class extends oo{#e=!0;#t;#a;constructor(){super(),this.#a=s=>{if(!co&&window.addEventListener){const i=()=>s(!0),l=()=>s(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",l,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",l)}}}}onSubscribe(){this.#t||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(s){this.#a=s,this.#t?.(),this.#t=s(this.setOnline.bind(this))}setOnline(s){this.#e!==s&&(this.#e=s,this.listeners.forEach(l=>{l(s)}))}isOnline(){return this.#e}},Zl=new I2;function M2(s){return Math.min(1e3*2**s,3e4)}function Ab(s){return(s??"online")==="online"?Zl.isOnline():!0}var gu=class extends Error{constructor(s){super("CancelledError"),this.revert=s?.revert,this.silent=s?.silent}};function Sb(s){let i=!1,l=0,o;const u=R2(),p=()=>u.status!=="pending",f=P=>{if(!p()){const D=new gu(P);k(D),s.onCancel?.(D)}},m=()=>{i=!0},h=()=>{i=!1},b=()=>Cb.isFocused()&&(s.networkMode==="always"||Zl.isOnline())&&s.canRun(),g=()=>Ab(s.networkMode)&&s.canRun(),v=P=>{p()||(o?.(),u.resolve(P))},k=P=>{p()||(o?.(),u.reject(P))},j=()=>new Promise(P=>{o=D=>{(p()||b())&&P(D)},s.onPause?.()}).then(()=>{o=void 0,p()||s.onContinue?.()}),A=()=>{if(p())return;let P;const D=l===0?s.initialPromise:void 0;try{P=D??s.fn()}catch(M){P=Promise.reject(M)}Promise.resolve(P).then(v).catch(M=>{if(p())return;const w=s.retry??(co?0:3),O=s.retryDelay??M2,N=typeof O=="function"?O(l,M):O,F=w===!0||typeof w=="number"&&l<w||typeof w=="function"&&w(l,M);if(i||!F){k(M);return}l++,s.onFail?.(l,M),T2(N).then(()=>b()?void 0:j()).then(()=>{i?k(M):A()})})};return{promise:u,status:()=>u.status,cancel:f,continue:()=>(o?.(),u),cancelRetry:m,continueRetry:h,canStart:g,start:()=>(g()?A():j().then(A),u)}}var Tb=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),N2(this.gcTime)&&(this.#e=mu.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(s){this.gcTime=Math.max(this.gcTime||0,s??(co?1/0:300*1e3))}clearGcTimeout(){this.#e&&(mu.clearTimeout(this.#e),this.#e=void 0)}},q2=class extends Tb{#e;#t;#a;#r;#i;#n;#l;constructor(s){super(),this.#l=!1,this.#n=s.defaultOptions,this.setOptions(s.options),this.observers=[],this.#r=s.client,this.#a=this.#r.getQueryCache(),this.queryKey=s.queryKey,this.queryHash=s.queryHash,this.#e=df(this.options),this.state=s.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(s){if(this.options={...this.#n,...s},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=df(this.options);i.data!==void 0&&(this.setState(cf(i.data,i.dataUpdatedAt)),this.#e=i)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#a.remove(this)}setData(s,i){const l=P2(this.state.data,s,this.options);return this.#s({data:l,type:"success",dataUpdatedAt:i?.updatedAt,manual:i?.manual}),l}setState(s,i){this.#s({type:"setState",state:s,setStateOptions:i})}cancel(s){const i=this.#i?.promise;return this.#i?.cancel(s),i?i.then(rt).catch(rt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(s=>A2(s.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Fu||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(s=>pu(s.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(s=>s.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(s=0){return this.state.data===void 0?!0:s==="static"?!1:this.state.isInvalidated?!0:!C2(this.state.dataUpdatedAt,s)}onFocus(){this.observers.find(i=>i.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(i=>i.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(s){this.observers.includes(s)||(this.observers.push(s),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",query:this,observer:s}))}removeObserver(s){this.observers.includes(s)&&(this.observers=this.observers.filter(i=>i!==s),this.observers.length||(this.#i&&(this.#l?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#a.notify({type:"observerRemoved",query:this,observer:s}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#s({type:"invalidate"})}async fetch(s,i){if(this.state.fetchStatus!=="idle"&&this.#i?.status()!=="rejected"){if(this.state.data!==void 0&&i?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(s&&this.setOptions(s),!this.options.queryFn){const m=this.observers.find(h=>h.options.queryFn);m&&this.setOptions(m.options)}const l=new AbortController,o=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#l=!0,l.signal)})},u=()=>{const m=Nb(this.options,i),b=(()=>{const g={client:this.#r,queryKey:this.queryKey,meta:this.meta};return o(g),g})();return this.#l=!1,this.options.persister?this.options.persister(m,b,this):m(b)},f=(()=>{const m={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:u};return o(m),m})();this.options.behavior?.onFetch(f,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==f.fetchOptions?.meta)&&this.#s({type:"fetch",meta:f.fetchOptions?.meta}),this.#i=Sb({initialPromise:i?.initialPromise,fn:f.fetchFn,onCancel:m=>{m instanceof gu&&m.revert&&this.setState({...this.#t,fetchStatus:"idle"}),l.abort()},onFail:(m,h)=>{this.#s({type:"failed",failureCount:m,error:h})},onPause:()=>{this.#s({type:"pause"})},onContinue:()=>{this.#s({type:"continue"})},retry:f.options.retry,retryDelay:f.options.retryDelay,networkMode:f.options.networkMode,canRun:()=>!0});try{const m=await this.#i.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#a.config.onSuccess?.(m,this),this.#a.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof gu){if(m.silent)return this.#i.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#s({type:"error",error:m}),this.#a.config.onError?.(m,this),this.#a.config.onSettled?.(this.state.data,m,this),m}finally{this.scheduleGc()}}#s(s){const i=l=>{switch(s.type){case"failed":return{...l,fetchFailureCount:s.failureCount,fetchFailureReason:s.error};case"pause":return{...l,fetchStatus:"paused"};case"continue":return{...l,fetchStatus:"fetching"};case"fetch":return{...l,...L2(l.data,this.options),fetchMeta:s.meta??null};case"success":const o={...l,...cf(s.data,s.dataUpdatedAt),dataUpdateCount:l.dataUpdateCount+1,...!s.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#t=s.manual?o:void 0,o;case"error":const u=s.error;return{...l,error:u,errorUpdateCount:l.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:l.fetchFailureCount+1,fetchFailureReason:u,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...l,isInvalidated:!0};case"setState":return{...l,...s.state}}};this.state=i(this.state),ba.batch(()=>{this.observers.forEach(l=>{l.onQueryUpdate()}),this.#a.notify({query:this,type:"updated",action:s})})}};function L2(s,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ab(i.networkMode)?"fetching":"paused",...s===void 0&&{error:null,status:"pending"}}}function cf(s,i){return{data:s,dataUpdatedAt:i??Date.now(),error:null,isInvalidated:!1,status:"success"}}function df(s){const i=typeof s.initialData=="function"?s.initialData():s.initialData,l=i!==void 0,o=l?typeof s.initialDataUpdatedAt=="function"?s.initialDataUpdatedAt():s.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:l?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:l?"success":"pending",fetchStatus:"idle"}}function uf(s){return{onFetch:(i,l)=>{const o=i.options,u=i.fetchOptions?.meta?.fetchMore?.direction,p=i.state.data?.pages||[],f=i.state.data?.pageParams||[];let m={pages:[],pageParams:[]},h=0;const b=async()=>{let g=!1;const v=A=>{E2(A,()=>i.signal,()=>g=!0)},k=Nb(i.options,i.fetchOptions),j=async(A,P,D)=>{if(g)return Promise.reject();if(P==null&&A.pages.length)return Promise.resolve(A);const w=(()=>{const z={client:i.client,queryKey:i.queryKey,pageParam:P,direction:D?"backward":"forward",meta:i.options.meta};return v(z),z})(),O=await k(w),{maxPages:N}=i.options,F=D?z2:D2;return{pages:F(A.pages,O,N),pageParams:F(A.pageParams,P,N)}};if(u&&p.length){const A=u==="backward",P=A?G2:mf,D={pages:p,pageParams:f},M=P(o,D);m=await j(D,M,A)}else{const A=s??p.length;do{const P=h===0?f[0]??o.initialPageParam:mf(o,m);if(h>0&&P==null)break;m=await j(m,P),h++}while(h<A)}return m};i.options.persister?i.fetchFn=()=>i.options.persister?.(b,{client:i.client,queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},l):i.fetchFn=b}}}function mf(s,{pages:i,pageParams:l}){const o=i.length-1;return i.length>0?s.getNextPageParam(i[o],i,l[o],l):void 0}function G2(s,{pages:i,pageParams:l}){return i.length>0?s.getPreviousPageParam?.(i[0],i,l[0],l):void 0}var V2=class extends Tb{#e;#t;#a;#r;constructor(s){super(),this.#e=s.client,this.mutationId=s.mutationId,this.#a=s.mutationCache,this.#t=[],this.state=s.state||U2(),this.setOptions(s.options),this.scheduleGc()}setOptions(s){this.options=s,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(s){this.#t.includes(s)||(this.#t.push(s),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:s}))}removeObserver(s){this.#t=this.#t.filter(i=>i!==s),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:s})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(s){const i=()=>{this.#i({type:"continue"})},l={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=Sb({fn:()=>this.options.mutationFn?this.options.mutationFn(s,l):Promise.reject(new Error("No mutationFn found")),onFail:(p,f)=>{this.#i({type:"failed",failureCount:p,error:f})},onPause:()=>{this.#i({type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)});const o=this.state.status==="pending",u=!this.#r.canStart();try{if(o)i();else{this.#i({type:"pending",variables:s,isPaused:u}),this.#a.config.onMutate&&await this.#a.config.onMutate(s,this,l);const f=await this.options.onMutate?.(s,l);f!==this.state.context&&this.#i({type:"pending",context:f,variables:s,isPaused:u})}const p=await this.#r.start();return await this.#a.config.onSuccess?.(p,s,this.state.context,this,l),await this.options.onSuccess?.(p,s,this.state.context,l),await this.#a.config.onSettled?.(p,null,this.state.variables,this.state.context,this,l),await this.options.onSettled?.(p,null,s,this.state.context,l),this.#i({type:"success",data:p}),p}catch(p){try{await this.#a.config.onError?.(p,s,this.state.context,this,l)}catch(f){Promise.reject(f)}try{await this.options.onError?.(p,s,this.state.context,l)}catch(f){Promise.reject(f)}try{await this.#a.config.onSettled?.(void 0,p,this.state.variables,this.state.context,this,l)}catch(f){Promise.reject(f)}try{await this.options.onSettled?.(void 0,p,s,this.state.context,l)}catch(f){Promise.reject(f)}throw this.#i({type:"error",error:p}),p}finally{this.#a.runNext(this)}}#i(s){const i=l=>{switch(s.type){case"failed":return{...l,failureCount:s.failureCount,failureReason:s.error};case"pause":return{...l,isPaused:!0};case"continue":return{...l,isPaused:!1};case"pending":return{...l,context:s.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:s.isPaused,status:"pending",variables:s.variables,submittedAt:Date.now()};case"success":return{...l,data:s.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...l,data:void 0,error:s.error,failureCount:l.failureCount+1,failureReason:s.error,isPaused:!1,status:"error"}}};this.state=i(this.state),ba.batch(()=>{this.#t.forEach(l=>{l.onMutationUpdate(s)}),this.#a.notify({mutation:this,type:"updated",action:s})})}};function U2(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var H2=class extends oo{constructor(s={}){super(),this.config=s,this.#e=new Set,this.#t=new Map,this.#a=0}#e;#t;#a;build(s,i,l){const o=new V2({client:s,mutationCache:this,mutationId:++this.#a,options:s.defaultMutationOptions(i),state:l});return this.add(o),o}add(s){this.#e.add(s);const i=zl(s);if(typeof i=="string"){const l=this.#t.get(i);l?l.push(s):this.#t.set(i,[s])}this.notify({type:"added",mutation:s})}remove(s){if(this.#e.delete(s)){const i=zl(s);if(typeof i=="string"){const l=this.#t.get(i);if(l)if(l.length>1){const o=l.indexOf(s);o!==-1&&l.splice(o,1)}else l[0]===s&&this.#t.delete(i)}}this.notify({type:"removed",mutation:s})}canRun(s){const i=zl(s);if(typeof i=="string"){const o=this.#t.get(i)?.find(u=>u.state.status==="pending");return!o||o===s}else return!0}runNext(s){const i=zl(s);return typeof i=="string"?this.#t.get(i)?.find(o=>o!==s&&o.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ba.batch(()=>{this.#e.forEach(s=>{this.notify({type:"removed",mutation:s})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(s){const i={exact:!0,...s};return this.getAll().find(l=>nf(i,l))}findAll(s={}){return this.getAll().filter(i=>nf(s,i))}notify(s){ba.batch(()=>{this.listeners.forEach(i=>{i(s)})})}resumePausedMutations(){const s=this.getAll().filter(i=>i.state.isPaused);return ba.batch(()=>Promise.all(s.map(i=>i.continue().catch(rt))))}};function zl(s){return s.options.scope?.id}var _2=class extends oo{constructor(s={}){super(),this.config=s,this.#e=new Map}#e;build(s,i,l){const o=i.queryKey,u=i.queryHash??Ru(o,i);let p=this.get(u);return p||(p=new q2({client:s,queryKey:o,queryHash:u,options:s.defaultQueryOptions(i),state:l,defaultOptions:s.getQueryDefaults(o)}),this.add(p)),p}add(s){this.#e.has(s.queryHash)||(this.#e.set(s.queryHash,s),this.notify({type:"added",query:s}))}remove(s){const i=this.#e.get(s.queryHash);i&&(s.destroy(),i===s&&this.#e.delete(s.queryHash),this.notify({type:"removed",query:s}))}clear(){ba.batch(()=>{this.getAll().forEach(s=>{this.remove(s)})})}get(s){return this.#e.get(s)}getAll(){return[...this.#e.values()]}find(s){const i={exact:!0,...s};return this.getAll().find(l=>sf(i,l))}findAll(s={}){const i=this.getAll();return Object.keys(s).length>0?i.filter(l=>sf(s,l)):i}notify(s){ba.batch(()=>{this.listeners.forEach(i=>{i(s)})})}onFocus(){ba.batch(()=>{this.getAll().forEach(s=>{s.onFocus()})})}onOnline(){ba.batch(()=>{this.getAll().forEach(s=>{s.onOnline()})})}},K2=class{#e;#t;#a;#r;#i;#n;#l;#s;constructor(s={}){this.#e=s.queryCache||new _2,this.#t=s.mutationCache||new H2,this.#a=s.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#n=0}mount(){this.#n++,this.#n===1&&(this.#l=Cb.subscribe(async s=>{s&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Zl.subscribe(async s=>{s&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#n--,this.#n===0&&(this.#l?.(),this.#l=void 0,this.#s?.(),this.#s=void 0)}isFetching(s){return this.#e.findAll({...s,fetchStatus:"fetching"}).length}isMutating(s){return this.#t.findAll({...s,status:"pending"}).length}getQueryData(s){const i=this.defaultQueryOptions({queryKey:s});return this.#e.get(i.queryHash)?.state.data}ensureQueryData(s){const i=this.defaultQueryOptions(s),l=this.#e.build(this,i),o=l.state.data;return o===void 0?this.fetchQuery(s):(s.revalidateIfStale&&l.isStaleByTime(pu(i.staleTime,l))&&this.prefetchQuery(i),Promise.resolve(o))}getQueriesData(s){return this.#e.findAll(s).map(({queryKey:i,state:l})=>{const o=l.data;return[i,o]})}setQueryData(s,i,l){const o=this.defaultQueryOptions({queryKey:s}),p=this.#e.get(o.queryHash)?.state.data,f=j2(i,p);if(f!==void 0)return this.#e.build(this,o).setData(f,{...l,manual:!0})}setQueriesData(s,i,l){return ba.batch(()=>this.#e.findAll(s).map(({queryKey:o})=>[o,this.setQueryData(o,i,l)]))}getQueryState(s){const i=this.defaultQueryOptions({queryKey:s});return this.#e.get(i.queryHash)?.state}removeQueries(s){const i=this.#e;ba.batch(()=>{i.findAll(s).forEach(l=>{i.remove(l)})})}resetQueries(s,i){const l=this.#e;return ba.batch(()=>(l.findAll(s).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...s},i)))}cancelQueries(s,i={}){const l={revert:!0,...i},o=ba.batch(()=>this.#e.findAll(s).map(u=>u.cancel(l)));return Promise.all(o).then(rt).catch(rt)}invalidateQueries(s,i={}){return ba.batch(()=>(this.#e.findAll(s).forEach(l=>{l.invalidate()}),s?.refetchType==="none"?Promise.resolve():this.refetchQueries({...s,type:s?.refetchType??s?.type??"active"},i)))}refetchQueries(s,i={}){const l={...i,cancelRefetch:i.cancelRefetch??!0},o=ba.batch(()=>this.#e.findAll(s).filter(u=>!u.isDisabled()&&!u.isStatic()).map(u=>{let p=u.fetch(void 0,l);return l.throwOnError||(p=p.catch(rt)),u.state.fetchStatus==="paused"?Promise.resolve():p}));return Promise.all(o).then(rt)}fetchQuery(s){const i=this.defaultQueryOptions(s);i.retry===void 0&&(i.retry=!1);const l=this.#e.build(this,i);return l.isStaleByTime(pu(i.staleTime,l))?l.fetch(i):Promise.resolve(l.state.data)}prefetchQuery(s){return this.fetchQuery(s).then(rt).catch(rt)}
9fetchInfiniteQuery(s){return s.behavior=uf(s.pages),this.fetchQuery(s)}prefetchInfiniteQuery(s){return this.fetchInfiniteQuery(s).then(rt).catch(rt)}ensureInfiniteQueryData(s){return s.behavior=uf(s.pages),this.ensureQueryData(s)}resumePausedMutations(){return Zl.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#a}setDefaultOptions(s){this.#a=s}setQueryDefaults(s,i){this.#r.set(cn(s),{queryKey:s,defaultOptions:i})}getQueryDefaults(s){const i=[...this.#r.values()],l={};return i.forEach(o=>{dn(s,o.queryKey)&&Object.assign(l,o.defaultOptions)}),l}setMutationDefaults(s,i){this.#i.set(cn(s),{mutationKey:s,defaultOptions:i})}getMutationDefaults(s){const i=[...this.#i.values()],l={};return i.forEach(o=>{dn(s,o.mutationKey)&&Object.assign(l,o.defaultOptions)}),l}defaultQueryOptions(s){if(s._defaulted)return s;const i={...this.#a.queries,...this.getQueryDefaults(s.queryKey),...s,_defaulted:!0};return i.queryHash||(i.queryHash=Ru(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.queryFn===Fu&&(i.enabled=!1),i}defaultMutationOptions(s){return s?._defaulted?s:{...this.#a.mutations,...s?.mutationKey&&this.getMutationDefaults(s.mutationKey),...s,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},W2=C.createContext(void 0),Q2=({client:s,children:i})=>(C.useEffect(()=>(s.mount(),()=>{s.unmount()}),[s]),e.jsx(W2.Provider,{value:s,children:i})),qd,pf;function J2(){if(pf)return qd;pf=1;var s=typeof Element<"u",i=typeof Map=="function",l=typeof Set=="function",o=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function u(p,f){if(p===f)return!0;if(p&&f&&typeof p=="object"&&typeof f=="object"){if(p.constructor!==f.constructor)return!1;var m,h,b;if(Array.isArray(p)){if(m=p.length,m!=f.length)return!1;for(h=m;h--!==0;)if(!u(p[h],f[h]))return!1;return!0}var g;if(i&&p instanceof Map&&f instanceof Map){if(p.size!==f.size)return!1;for(g=p.entries();!(h=g.next()).done;)if(!f.has(h.value[0]))return!1;for(g=p.entries();!(h=g.next()).done;)if(!u(h.value[1],f.get(h.value[0])))return!1;return!0}if(l&&p instanceof Set&&f instanceof Set){if(p.size!==f.size)return!1;for(g=p.entries();!(h=g.next()).done;)if(!f.has(h.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(p)&&ArrayBuffer.isView(f)){if(m=p.length,m!=f.length)return!1;for(h=m;h--!==0;)if(p[h]!==f[h])return!1;return!0}if(p.constructor===RegExp)return p.source===f.source&&p.flags===f.flags;if(p.valueOf!==Object.prototype.valueOf&&typeof p.valueOf=="function"&&typeof f.valueOf=="function")return p.valueOf()===f.valueOf();if(p.toString!==Object.prototype.toString&&typeof p.toString=="function"&&typeof f.toString=="function")return p.toString()===f.toString();if(b=Object.keys(p),m=b.length,m!==Object.keys(f).length)return!1;for(h=m;h--!==0;)if(!Object.prototype.hasOwnProperty.call(f,b[h]))return!1;if(s&&p instanceof Element)return!1;for(h=m;h--!==0;)if(!((b[h]==="_owner"||b[h]==="__v"||b[h]==="__o")&&p.$$typeof)&&!u(p[b[h]],f[b[h]]))return!1;return!0}return p!==p&&f!==f}return qd=function(f,m){try{return u(f,m)}catch(h){if((h.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw h}},qd}var Y2=J2();const $2=lo(Y2);var Ld,hf;function X2(){if(hf)return Ld;hf=1;var s=function(i,l,o,u,p,f,m,h){if(!i){var b;if(l===void 0)b=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var g=[o,u,p,f,m,h],v=0;b=new Error(l.replace(/%s/g,function(){return g[v++]})),b.name="Invariant Violation"}throw b.framesToPop=1,b}};return Ld=s,Ld}var Z2=X2();const gf=lo(Z2);var Gd,ff;function ek(){return ff||(ff=1,Gd=function(i,l,o,u){var p=o?o.call(u,i,l):void 0;if(p!==void 0)return!!p;if(i===l)return!0;if(typeof i!="object"||!i||typeof l!="object"||!l)return!1;var f=Object.keys(i),m=Object.keys(l);if(f.length!==m.length)return!1;for(var h=Object.prototype.hasOwnProperty.bind(l),b=0;b<f.length;b++){var g=f[b];if(!h(g))return!1;var v=i[g],k=l[g];if(p=o?o.call(u,v,k,g):void 0,p===!1||p===void 0&&v!==k)return!1}return!0}),Gd}var ak=ek();const tk=lo(ak);var Pb=(s=>
9(s.BASE="base",s.BODY="body",s.HEAD="head",s.HTML="html",s.LINK="link",s.META="meta",s.NOSCRIPT="noscript",s.SCRIPT="script",s.STYLE="style",s.TITLE="title",s.FRAGMENT="Symbol(react.fragment)",s))(Pb||{}),Vd={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},bf=Object.values(Pb),uo={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Db=Object.entries(uo).reduce((s,[i,l])=>(s[l]=i,s),{}),st="data-rh",Vr={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Ur=(s,i)=>{for(let l=s.length-1;l>=0;l-=1){const o=s[l];if(Object.prototype.hasOwnProperty.call(o,i))return o[i]}return null},ik=s=>{let i=Ur(s,"title");const l=Ur(s,Vr.TITLE_TEMPLATE);if(Array.isArray(i)&&(i=i.join("")),l&&i)return l.replace(/%s/g,()=>i);const o=Ur(s,Vr.DEFAULT_TITLE);return i||o||void 0},rk=s=>Ur(s,Vr.ON_CHANGE_CLIENT_STATE)||(()=>{}),Ud=(s,i)=>i.filter(l=>typeof l[s]<"u").map(l=>l[s]).reduce((l,o)=>({...l,...o}),{}),sk=(s,i)=>i.filter(l=>typeof l.base<"u").map(l=>l.base).reverse().reduce((l,o)=>{if(!l.length){const u=Object.keys(o);for(let p=0;p<u.length;p+=1){const m=u[p].toLowerCase();if(s.indexOf(m)!==-1&&o[m])return l.concat(o)}}return l},[]),nk=s=>console&&typeof console.warn=="function"&&console.warn(s),Xs=(s,i,l)=>{const o={};return l.filter(u=>Array.isArray(u[s])?!0:(typeof u[s]<"u"&&nk(`Helmet: ${s} should be of type "Array". Instead found type "${typeof u[s]}"`),!1)).map(u=>u[s]).reverse().reduce((u,p)=>{const f={};p.filter(h=>{let b;const g=Object.keys(h);for(let k=0;k<g.length;k+=1){const j=g[k],A=j.toLowerCase();i.indexOf(A)!==-1&&!(b==="rel"&&h[b].toLowerCase()==="canonical")&&!(A==="rel"&&h[A].toLowerCase()==="stylesheet")&&(b=A),i.indexOf(j)!==-1&&(j==="innerHTML"||j==="cssText"||j==="itemprop")&&(b=j)}if(!b||!h[b])return!1;const v=h[b].toLowerCase();return o[b]||(o[b]={}),f[b]||(f[b]={}),o[b][v]?!1:(f[b][v]=!0,!0)}).reverse().forEach(h=>u.push(h));const m=Object.keys(f);for(let h=0;h<m.length;h+=1){const b=m[h],g={...o[b],...f[b]};o[b]=g}return u},[]).reverse()},lk=(s,i)=>{if(Array.isArray(s)&&s.length){for(let l=0;l<s.length;l+=1)if(s[l][i])return!0}return!1},ok=s=>({baseTag:sk(["href"],s),bodyAttributes:Ud("bodyAttributes",s),defer:Ur(s,Vr.DEFER),encode:Ur(s,Vr.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Ud("htmlAttributes",s),linkTags:Xs("link",["rel","href"],s),metaTags:Xs("meta",["name","charset","http-equiv","property","itemprop"],s),noscriptTags:Xs("noscript",["innerHTML"],s),onChangeClientState:rk(s),scriptTags:Xs("script",["src","innerHTML"],s),styleTags:Xs("style",["cssText"],s),title:ik(s),titleAttributes:Ud("titleAttributes",s),prioritizeSeoTags:lk(s,Vr.PRIORITIZE_SEO_TAGS)}),zb=s=>Array.isArray(s)?s.join(""):s,ck=(s,i)=>{const l=Object.keys(s);for(let o=0;o<l.length;o+=1)if(i[l[o]]&&i[l[o]].includes(s[l[o]]))return!0;return!1},Hd=(s,i)=>Array.isArray(s)?s.reduce((l,o)=>(ck(o,i)?l.priority.push(o):l.default.push(o),l),{priority:[],default:[]}):{default:s,priority:[]},xf=(s,i)=>({...s,[i]:void 0}),dk=["noscript","script","style"],fu=(s,i=!0)=>i===!1?String(s):String(s).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),Eb=s=>Object.keys(s).reduce((i,l)=>{const o=typeof s[l]<"u"?`${l}="${s[l]}"`:`${l}`;return i?`${i} ${o}`:o},""),uk=(s,i,l,o)=>{const u=Eb(l),p=zb(i);return u?`<${s} ${st}="true" ${u}>${fu(p,o)}</${s}>`:`<${s} ${st}="true">${fu(p,o)}</${s}>`},mk=(s,i,l=!0)=>i.reduce((o,u)=>{const p=u,f=Object.keys(p).filter(b=>!(b==="innerHTML"||b==="cssText")).reduce((b,g)=>{const v=typeof p[g]>"u"?g:`${g}="${fu(p[g],l)}"`;return b?`${b} ${v}`:v},""),m=p.innerHTML||p.cssText||"",h=dk.indexOf(s)===-1;return`${o}<${s} ${st}="true" ${f}${h?"/>":`>${m}</${s}>`}`},""),Ob=(s,i={})=>Object.keys(s).reduce((l,o)=>{const u=uo[o];return l[u||o]=s[o],l},i),pk=(s,i,l)=>{const o={key:i,[st]:!0},u=Ob(l,o);return[Ee.createElement("title",u,i)]},Hl=(s,i)=>i.map((l,o)=>{const u={key:o,[st]:!0};return Object.keys(l).forEach(p=>{const m=uo[p]||p;if(m==="innerHTML"||m==="cssText"){const h=l.innerHTML||l.cssText;u.dangerouslySetInnerHTML={__html:h}}else u[m]=l[p]}),Ee.createElement(s,u)}),Xa=(s,i,l=!0)=>{switch(s){case"title":return{toComponent:()=>pk(s,i.title,i.titleAttributes),toString:()=>uk(s,i.title,i.titleAttributes,l)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>Ob(i),toString:()=>Eb(i)};default:return{toComponent:()=>Hl(s,i),toString:()=>mk(s,i,l)}}},hk=({metaTags:s,linkTags:i,scriptTags:l,encode:o})=>{const u=Hd(s,Vd.meta),p=Hd(i,Vd.link),f=Hd(l,Vd.script);return{priorityMethods:{toComponent:()=>[...Hl("meta",u.priority),...Hl("link",p.priority),...Hl("script",f.priority)],toString:()=>`${Xa("meta",u.priority,o)} ${Xa("link",p.priority,o)} ${Xa("script",f.priority,o)}`},metaTags:u.default,linkTags:p.default,scriptTags:f.default}},gk=s=>{const{baseTag:i,bodyAttributes:l,encode:o=!0,htmlAttributes:u,noscriptTags:p,styleTags:f,title:m="",titleAttributes:h,prioritizeSeoTags:b}=s;let{linkTags:g,metaTags:v,scriptTags:k}=s,j={toComponent:()=>[],toString:()=>""};return b&&({priorityMethods:j,linkTags:g,metaTags:v,scriptTags:k}=hk(s)),{priority:j,base:Xa("base",i,o),bodyAttributes:Xa("bodyAttributes",l,o),htmlAttributes:Xa("htmlAttributes",u,o),link:Xa("link",g,o),meta:Xa("meta",v,o),noscript:Xa("noscript",p,o),script:Xa("script",k,o),style:Xa("style",f,o),title:Xa("title",{title:m,titleAttributes:h},o)}},bu=gk,El=[],Bu=!!(typeof window<"u"&&window.document&&window.document.createElement),xu=class{instances=[];canUseDOM=Bu;context;value={setHelmet:s=>{this.context.helmet=s},helmetInstances:{get:()=>this.canUseDOM?El:this.instances,add:s=>{(this.canUseDOM?El:this.instances).push(s)},remove:s=>{const i=(this.canUseDOM?El:this.instances).indexOf(s);(this.canUseDOM?El:this.instances).splice(i,1)}}};constructor(s,i){this.context=s,this.canUseDOM=i||!1,i||(s.helmet=bu({baseTag:[],bodyAttributes:{},htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},fk=parseInt(Ee.version.split(".")[0],10),vu=fk>=19,bk={},Rb=Ee.createContext(bk),Fb=class Bb extends C.Component{static canUseDOM=Bu;helmetData;constructor(i){super(i),vu?this.helmetData=null:this.helmetData=new xu(this.props.context||{},Bb.canUseDOM)}render(){return vu?Ee.createElement(Ee.Fragment,null,this.props.children):Ee.createElement(Rb.Provider,{value:this.helmetData.value},this.props.children)}},Mr=(s,i)=>{const l=document.head||document.querySelector("head"),o=l.querySelectorAll(`${s}[${st}]`),u=[].slice.call(o),p=[];let f;
9return i&&i.length&&i.forEach(m=>{const h=document.createElement(s);for(const b in m)if(Object.prototype.hasOwnProperty.call(m,b))if(b==="innerHTML")h.innerHTML=m.innerHTML;else if(b==="cssText"){const g=m.cssText;h.appendChild(document.createTextNode(g))}else{const g=b,v=typeof m[g]>"u"?"":m[g];h.setAttribute(b,v)}h.setAttribute(st,"true"),u.some((b,g)=>(f=g,h.isEqualNode(b)))?u.splice(f,1):p.push(h)}),u.forEach(m=>m.parentNode?.removeChild(m)),p.forEach(m=>l.appendChild(m)),{oldTags:u,newTags:p}},yu=(s,i)=>{const l=document.getElementsByTagName(s)[0];if(!l)return;const o=l.getAttribute(st),u=o?o.split(","):[],p=[...u],f=Object.keys(i);for(const m of f){const h=i[m]||"";l.getAttribute(m)!==h&&l.setAttribute(m,h),u.indexOf(m)===-1&&u.push(m);const b=p.indexOf(m);b!==-1&&p.splice(b,1)}for(let m=p.length-1;m>=0;m-=1)l.removeAttribute(p[m]);u.length===p.length?l.removeAttribute(st):l.getAttribute(st)!==f.join(",")&&l.setAttribute(st,f.join(","))},xk=(s,i)=>{typeof s<"u"&&document.title!==s&&(document.title=zb(s)),yu("title",i)},vf=(s,i)=>{const{baseTag:l,bodyAttributes:o,htmlAttributes:u,linkTags:p,metaTags:f,noscriptTags:m,onChangeClientState:h,scriptTags:b,styleTags:g,title:v,titleAttributes:k}=s;yu("body",o),yu("html",u),xk(v,k);const j={baseTag:Mr("base",l),linkTags:Mr("link",p),metaTags:Mr("meta",f),noscriptTags:Mr("noscript",m),scriptTags:Mr("script",b),styleTags:Mr("style",g)},A={},P={};Object.keys(j).forEach(D=>{const{newTags:M,oldTags:w}=j[D];M.length&&(A[D]=M),w.length&&(P[D]=j[D].oldTags)}),i&&i(),h(s,A,P)},Zs=null,vk=s=>{Zs&&cancelAnimationFrame(Zs),s.defer?Zs=requestAnimationFrame(()=>{vf(s,()=>{Zs=null})}):(vf(s),Zs=null)},yk=vk,yf=class extends C.Component{rendered=!1;shouldComponentUpdate(s){return!tk(s,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:s}=this.props.context;s.remove(this),this.emitChange()}emitChange(){const{helmetInstances:s,setHelmet:i}=this.props.context;let l=null;const o=ok(s.get().map(u=>{const{context:p,...f}=u.props;return f}));Fb.canUseDOM?yk(o):bu&&(l=bu(o)),i(l)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:s}=this.props.context;s.add(this),this.emitChange()}render(){return this.init(),null}},_l=[],kf=s=>{const i={};for(const l of Object.keys(s))i[Db[l]||l]=s[l];return i},Wi=s=>{const i={};for(const l of Object.keys(s)){const o=uo[l];i[o||l]=s[l]}return i},wf=(s,i)=>{if(!Bu)return;const l=document.getElementsByTagName(s)[0];if(!l)return;const o="data-rh-managed",u=l.getAttribute(o),p=u?u.split(","):[],f=Object.keys(i);for(const m of p)f.includes(m)||l.removeAttribute(m);for(const m of f){const h=i[m];h==null||h===!1?l.removeAttribute(m):h===!0?l.setAttribute(m,""):l.setAttribute(m,String(h))}f.length>0?l.setAttribute(o,f.join(",")):l.removeAttribute(o)},_d=()=>{const s={},i={};for(const l of _l){const{htmlAttributes:o,bodyAttributes:u}=l.props;o&&Object.assign(s,kf(o)),u&&Object.assign(i,kf(u))}wf("html",s),wf("body",i)},kk=class extends C.Component{componentDidMount(){_l.push(this),_d()}componentDidUpdate(){_d()}componentWillUnmount(){const s=_l.indexOf(this);s!==-1&&_l.splice(s,1),_d()}resolveTitle(){const{title:s,titleTemplate:i,defaultTitle:l}=this.props;return s&&i?i.replace(/%s/g,()=>Array.isArray(s)?s.join(""):s):s||l||void 0}renderTitle(){const s=this.resolveTitle();if(s===void 0)return null;const i=this.props.titleAttributes||{};return Ee.createElement("title",Wi(i),s)}renderBase(){const{base:s}=this.props;return s?Ee.createElement("base",Wi(s)):null}renderMeta(){const{meta:s}=this.props;return!s||!Array.isArray(s)?null:s.map((i,l)=>Ee.createElement("meta",{key:l,...Wi(i)}))}renderLink(){const{link:s}=this.props;return!s||!Array.isArray(s)?null:s.map((i,l)=>Ee.createElement("link",{key:l,...Wi(i)}))}renderScript(){const{script:s}=this.props;return!s||!Array.isArray(s)?null:s.map((i,l)=>{const{innerHTML:o,...u}=i,p=Wi(u);return o&&(p.dangerouslySetInnerHTML={__html:o}),Ee.createElement("script",{key:l,...p})})}renderStyle(){const{style:s}=this.props;return!s||!Array.isArray(s)?null:s.map((i,l)=>{const{cssText:o,...u}=i,p=Wi(u);return o&&(p.dangerouslySetInnerHTML={__html:o}),Ee.createElement("style",{key:l,...p})})}renderNoscript(){const{noscript:s}=this.props;return!s||!Array.isArray(s)?null:s.map((i,l)=>{const{innerHTML:o,...u}=i,p=Wi(u);return o&&(p.dangerouslySetInnerHTML={__html:o}),Ee.createElement("noscript",{key:l,...p})})}render(){return Ee.createElement(Ee.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},wk=class extends C.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(s){return!$2(xf(this.props,"helmetData"),xf(s,"helmetData"))}
9mapNestedChildrenToProps(s,i){if(!i)return null;switch(s.type){case"script":case"noscript":return{innerHTML:i};case"style":return{cssText:i};default:throw new Error(`<${s.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(s,i,l,o){return{...i,[s.type]:[...i[s.type]||[],{...l,...this.mapNestedChildrenToProps(s,o)}]}}mapObjectTypeChildren(s,i,l,o){switch(s.type){case"title":return{...i,[s.type]:o,titleAttributes:{...l}};case"body":return{...i,bodyAttributes:{...l}};case"html":return{...i,htmlAttributes:{...l}};default:return{...i,[s.type]:{...l}}}}mapArrayTypeChildrenToProps(s,i){let l={...i};return Object.keys(s).forEach(o=>{l={...l,[o]:s[o]}}),l}warnOnInvalidChildren(s,i){return gf(bf.some(l=>s.type===l),typeof s.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${bf.join(", ")} are allowed. Helmet does not support rendering <${s.type}> elements. Refer to our API for more information.`),gf(!i||typeof i=="string"||Array.isArray(i)&&!i.some(l=>typeof l!="string"),`Helmet expects a string as a child of <${s.type}>. Did you forget to wrap your children in braces? ( <${s.type}>{\`\`}</${s.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(s,i){let l={};return Ee.Children.forEach(s,o=>{if(!o||!o.props)return;const{children:u,...p}=o.props,f=Object.keys(p).reduce((h,b)=>(h[Db[b]||b]=p[b],h),{});let{type:m}=o;
9switch(typeof m=="symbol"?m=m.toString():this.warnOnInvalidChildren(o,u),m){case"Symbol(react.fragment)":i=this.mapChildrenToProps(u,i);break;case"link":case"meta":case"noscript":case"script":case"style":l=this.flattenArrayTypeChildren(o,l,f,u);break;default:i=this.mapObjectTypeChildren(o,i,f,u);break}}),this.mapArrayTypeChildrenToProps(l,i)}render(){const{children:s,...i}=this.props;let l={...i},{helmetData:o}=i;if(s&&(l=this.mapChildrenToProps(s,l)),o&&!(o instanceof xu)){const u=o;o=new xu(u.context,!0),delete l.helmetData}return vu?Ee.createElement(kk,{...l}):o?Ee.createElement(yf,{...l,context:o.value}):Ee.createElement(Rb.Consumer,null,u=>Ee.createElement(yf,{...l,context:u}))}};const jk=1,Nk=1e6;let Kd=0;function Ck(){return Kd=(Kd+1)%Number.MAX_SAFE_INTEGER,Kd.toString()}const Wd=new Map,jf=s=>{if(Wd.has(s))return;const i=setTimeout(()=>{Wd.delete(s),rn({type:"REMOVE_TOAST",toastId:s})},Nk);Wd.set(s,i)},Ak=(s,i)=>{switch(i.type){case"ADD_TOAST":return{...s,toasts:[i.toast,...s.toasts].slice(0,jk)};case"UPDATE_TOAST":return{...s,toasts:s.toasts.map(l=>l.id===i.toast.id?{...l,...i.toast}:l)};case"DISMISS_TOAST":{const{toastId:l}=i;return l?jf(l):s.toasts.forEach(o=>{jf(o.id)}),{...s,toasts:s.toasts.map(o=>o.id===l||l===void 0?{...o,open:!1}:o)}}case"REMOVE_TOAST":return i.toastId===void 0?{...s,toasts:[]}:{...s,toasts:s.toasts.filter(l=>l.id!==i.toastId)}}},Kl=[];let Wl={toasts:[]};function rn(s){Wl=Ak(Wl,s),Kl.forEach(i=>{i(Wl)})}function Sk({...s}){const i=Ck(),l=u=>rn({type:"UPDATE_TOAST",toast:{...u,id:i}}),o=()=>rn({type:"DISMISS_TOAST",toastId:i});return rn({type:"ADD_TOAST",toast:{...s,id:i,open:!0,onOpenChange:u=>{u||o()}}}),{id:i,dismiss:o,update:l}}function Ib(){const[s,i]=C.useState(Wl);return C.useEffect(()=>(Kl.push(i),()=>{const l=Kl.indexOf(i);l>-1&&Kl.splice(l,1)}),[s]),{...s,toast:Sk,dismiss:l=>rn({type:"DISMISS_TOAST",toastId:l})}}var mo=gb();const Tk=lo(mo);function ta(s,i,{checkForDefaultPrevented:l=!0}={}){return function(u){if(s?.(u),l===!1||!u.defaultPrevented)return i?.(u)}}function Nf(s,i){if(typeof s=="function")return s(i);s!=null&&(s.current=i)}function Iu(...s){return i=>{let l=!1;const o=s.map(u=>{const p=Nf(u,i);return!l&&typeof p=="function"&&(l=!0),p});if(l)return()=>{for(let u=0;u<o.length;u++){const p=o[u];typeof p=="function"?p():Nf(s[u],null)}}}}function lt(...s){return C.useCallback(Iu(...s),s)}function po(s,i=[]){let l=[];function o(p,f){const m=C.createContext(f),h=l.length;l=[...l,f];const b=v=>{const{scope:k,children:j,...A}=v,P=k?.[s]?.[h]||m,D=C.useMemo(()=>A,Object.values(A));return e.jsx(P.Provider,{value:D,children:j})};b.displayName=p+"Provider";function g(v,k){const j=k?.[s]?.[h]||m,A=C.useContext(j);if(A)return A;if(f!==void 0)return f;throw new Error(`\`${v}\` must be used within \`${p}\``)}return[b,g]}const u=()=>{const p=l.map(f=>C.createContext(f));return function(m){const h=m?.[s]||p;return C.useMemo(()=>({[`__scope${s}`]:{...m,[s]:h}}),[m,h])}};return u.scopeName=s,[o,Pk(u,...i)]}function Pk(...s){const i=s[0];if(s.length===1)return i;const l=()=>{const o=s.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(p){const f=o.reduce((m,{useScope:h,scopeName:b})=>{const v=h(p)[`__scope${b}`];return{...m,...v}},{});return C.useMemo(()=>({[`__scope${i.scopeName}`]:f}),[f])}};return l.scopeName=i.scopeName,l}function ku(s){const i=Dk(s),l=C.forwardRef((o,u)=>{const{children:p,...f}=o,m=C.Children.toArray(p),h=m.find(Ek);if(h){const b=h.props.children,g=m.map(v=>v===h?C.Children.count(b)>1?C.Children.only(null):C.isValidElement(b)?b.props.children:null:v);return e.jsx(i,{...f,ref:u,children:C.isValidElement(b)?C.cloneElement(b,void 0,g):null})}return e.jsx(i,{...f,ref:u,children:p})});return l.displayName=`${s}.Slot`,l}function Dk(s){const i=C.forwardRef((l,o)=>{const{children:u,...p}=l;if(C.isValidElement(u)){const f=Rk(u),m=Ok(p,u.props);return u.type!==C.Fragment&&(m.ref=o?Iu(o,f):f),C.cloneElement(u,m)}return C.Children.count(u)>1?C.Children.only(null):null});return i.displayName=`${s}.SlotClone`,i}var Mb=Symbol("radix.slottable");function zk(s){const i=({children:l})=>e.jsx(e.Fragment,{children:l});return i.displayName=`${s}.Slottable`,i.__radixId=Mb,i}function Ek(s){return C.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===Mb}function Ok(s,i){const l={...i};for(const o in i){const u=s[o],p=i[o];/^on[A-Z]/.test(o)?u&&p?l[o]=(...m)=>{const h=p(...m);return u(...m),h}:u&&(l[o]=u):o==="style"?l[o]={...u,...p}
vendor: 10,116 bytes, line 9
9:o==="className"&&(l[o]=[u,p].filter(Boolean).join(" "))}return{...s,...l}}function Rk(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning;return l?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning,l?s.props.ref:s.props.ref||s.ref)}function Fk(s){const i=s+"CollectionProvider",[l,o]=po(i),[u,p]=l(i,{collectionRef:{current:null},itemMap:new Map}),f=P=>{const{scope:D,children:M}=P,w=Ee.useRef(null),O=Ee.useRef(new Map).current;return e.jsx(u,{scope:D,itemMap:O,collectionRef:w,children:M})};f.displayName=i;const m=s+"CollectionSlot",h=ku(m),b=Ee.forwardRef((P,D)=>{const{scope:M,children:w}=P,O=p(m,M),N=lt(D,O.collectionRef);return e.jsx(h,{ref:N,children:w})});b.displayName=m;const g=s+"CollectionItemSlot",v="data-radix-collection-item",k=ku(g),j=Ee.forwardRef((P,D)=>{const{scope:M,children:w,...O}=P,N=Ee.useRef(null),F=lt(D,N),z=p(g,M);return Ee.useEffect(()=>(z.itemMap.set(N,{ref:N,...O}),()=>{z.itemMap.delete(N)})),e.jsx(k,{[v]:"",ref:F,children:w})});j.displayName=g;function A(P){const D=p(s+"CollectionConsumer",P);return Ee.useCallback(()=>{const w=D.collectionRef.current;if(!w)return[];const O=Array.from(w.querySelectorAll(`[${v}]`));return Array.from(D.itemMap.values()).sort((z,_)=>O.indexOf(z.ref.current)-O.indexOf(_.ref.current))},[D.collectionRef,D.itemMap])}return[{Provider:f,Slot:b,ItemSlot:j},A,o]}var Bk=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Aa=Bk.reduce((s,i)=>{const l=ku(`Primitive.${i}`),o=C.forwardRef((u,p)=>{const{asChild:f,...m}=u,h=f?l:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(h,{...m,ref:p})});return o.displayName=`Primitive.${i}`,{...s,[i]:o}},{});function qb(s,i){s&&mo.flushSync(()=>s.dispatchEvent(i))}function ji(s){const i=C.useRef(s);return C.useEffect(()=>{i.current=s}),C.useMemo(()=>(...l)=>i.current?.(...l),[])}function Ik(s,i=globalThis?.document){const l=ji(s);C.useEffect(()=>{const o=u=>{u.key==="Escape"&&l(u)};return i.addEventListener("keydown",o,{capture:!0}),()=>i.removeEventListener("keydown",o,{capture:!0})},[l,i])}var Mk="DismissableLayer",wu="dismissableLayer.update",qk="dismissableLayer.pointerDownOutside",Lk="dismissableLayer.focusOutside",Cf,Lb=C.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Mu=C.forwardRef((s,i)=>{const{disableOutsidePointerEvents:l=!1,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:p,onInteractOutside:f,onDismiss:m,...h}=s,b=C.useContext(Lb),[g,v]=C.useState(null),k=g?.ownerDocument??globalThis?.document,[,j]=C.useState({}),A=lt(i,_=>v(_)),P=Array.from(b.layers),[D]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),M=P.indexOf(D),w=g?P.indexOf(g):-1,O=b.layersWithOutsidePointerEventsDisabled.size>0,N=w>=M,F=Vk(_=>{const Q=_.target,Z=[...b.branches].some(se=>se.contains(Q));!N||Z||(u?.(_),f?.(_),_.defaultPrevented||m?.())},k),z=Uk(_=>{const Q=_.target;[...b.branches].some(se=>se.contains(Q))||(p?.(_),f?.(_),_.defaultPrevented||m?.())},k);return Ik(_=>{w===b.layers.size-1&&(o?.(_),!_.defaultPrevented&&m&&(_.preventDefault(),m()))},k),C.useEffect(()=>{if(g)return l&&(b.layersWithOutsidePointerEventsDisabled.size===0&&(Cf=k.body.style.pointerEvents,k.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(g)),b.layers.add(g),Af(),()=>{l&&b.layersWithOutsidePointerEventsDisabled.size===1&&(k.body.style.pointerEvents=Cf)}},[g,k,l,b]),C.useEffect(()=>()=>{g&&(b.layers.delete(g),b.layersWithOutsidePointerEventsDisabled.delete(g),Af())},[g,b]),C.useEffect(()=>{const _=()=>j({});return document.addEventListener(wu,_),()=>document.removeEventListener(wu,_)},[]),e.jsx(Aa.div,{...h,ref:A,style:{pointerEvents:O?N?"auto":"none":void 0,...s.style},onFocusCapture:ta(s.onFocusCapture,z.onFocusCapture),onBlurCapture:ta(s.onBlurCapture,z.onBlurCapture),onPointerDownCapture:ta(s.onPointerDownCapture,F.onPointerDownCapture)})});Mu.displayName=Mk;var Gk="DismissableLayerBranch",Gb=C.forwardRef((s,i)=>{const l=C.useContext(Lb),o=C.useRef(null),u=lt(i,o);return C.useEffect(()=>{const p=o.current;if(p)return l.branches.add(p),()=>{l.branches.delete(p)}},[l.branches]),e.jsx(Aa.div,{...s,ref:u})});Gb.displayName=Gk;function Vk(s,i=globalThis?.document){const l=ji(s),o=C.useRef(!1),u=C.useRef(()=>{});return C.useEffect(()=>{const p=m=>{if(m.target&&!o.current){let h=function(){Vb(qk,l,b,{discrete:!0})};const b={originalEvent:m};m.pointerType==="touch"?(i.removeEventListener("click",u.current),u.current=h,i.addEventListener("click",u.current,{once:!0})):h()}else i.removeEventListener("click",u.current);o.current=!1},f=window.setTimeout(()=>{i.addEventListener("pointerdown",p)},0);return()=>{window.clearTimeout(f),i.removeEventListener("pointerdown",p),i.removeEventListener("click",u.current)}},[i,l]),{onPointerDownCapture:()=>o.current=!0}}function Uk(s,i=globalThis?.document){const l=ji(s),o=C.useRef(!1);return C.useEffect(()=>{const u=p=>{p.target&&!o.current&&Vb(Lk,l,{originalEvent:p},{discrete:!1})};return i.addEventListener("focusin",u),()=>i.removeEventListener("focusin",u)},[i,l]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Af(){const s=new CustomEvent(wu);document.dispatchEvent(s)}function Vb(s,i,l,{discrete:o}){const u=l.originalEvent.target,p=new CustomEvent(s,{bubbles:!1,cancelable:!0,detail:l});i&&u.addEventListener(s,i,{once:!0}),o?qb(u,p):u.dispatchEvent(p)}var Hk=Mu,_k=Gb,Ni=globalThis?.document?C.useLayoutEffect:()=>{},Kk="Portal",qu=C.forwardRef((s,i)=>{const{container:l,...o}=s,[u,p]=C.useState(!1);Ni(()=>p(!0),[]);const f=l||u&&globalThis?.document?.body;return f?Tk.createPortal(e.jsx(Aa.div,{...o,ref:i}),f):null});qu.displayName=Kk;function Wk(s,i){return C.useReducer((l,o)=>i[l][o]??l,s)}var ho=s=>{const{present:i,children:l}=s,o=Qk(i),u=typeof l=="function"?l({present:o.isPresent}):C.Children.only(l),p=lt(o.ref,Jk(u));return typeof l=="function"||o.isPresent?C.cloneElement(u,{ref:p}):null};ho.displayName="Presence";function Qk(s){const[i,l]=C.useState(),o=C.useRef(null),u=C.useRef(s),p=C.useRef("none"),f=s?"mounted":"unmounted",[m,h]=Wk(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return C.useEffect(()=>{const b=Ol(o.current);p.current=m==="mounted"?b:"none"},[m]),Ni(()=>{const b=o.current,g=u.current;if(g!==s){const k=p.current,j=Ol(b);s?h("MOUNT"):j==="none"||b?.display==="none"?h("UNMOUNT"):h(g&&k!==j?"ANIMATION_OUT":"UNMOUNT"),u.current=s}},[s,h]),Ni(()=>{if(i){let b;const g=i.ownerDocument.defaultView??window,v=j=>{const P=Ol(o.current).includes(CSS.escape(j.animationName));if(j.target===i&&P&&(h("ANIMATION_END"),!u.current)){const D=i.style.animationFillMode;i.style.animationFillMode="forwards",b=g.setTimeout(()=>{i.style.animationFillMode==="forwards"&&(i.style.animationFillMode=D)})}},k=j=>{j.target===i&&(p.current=Ol(o.current))};return i.addEventListener("animationstart",k),i.addEventListener("animationcancel",v),i.addEventListener("animationend",v),()=>{g.clearTimeout(b),i.removeEventListener("animationstart",k),i.removeEventListener("animationcancel",v),i.removeEventListener("animationend",v)}}else h("ANIMATION_END")},[i,h]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:C.useCallback(b=>{o.current=b?getComputedStyle(b):null,l(b)},[])}}function Ol(s){return s?.animationName||"none"}function Jk(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning;return l?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning,l?s.props.ref:s.props.ref||s.ref)}var Yk=hb[" useInsertionEffect ".trim().toString()]||Ni;function $k({prop:s,defaultProp:i,onChange:l=()=>{},caller:o}){const[u,p,f]=Xk({defaultProp:i,onChange:l}),m=s!==void 0,h=m?s:u;{const g=C.useRef(s!==void 0);C.useEffect(()=>{const v=g.current;v!==m&&console.warn(`${o} is changing from ${v?"controlled":"uncontrolled"} to ${m?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),g.current=m},[m,o])}const b=C.useCallback(g=>{if(m){const v=Zk(g)?g(s):g;v!==s&&f.current?.(v)}else p(g)},[m,s,p,f]);return[h,b]}function Xk({defaultProp:s,onChange:i}){const[l,o]=C.useState(s),u=C.useRef(l),p=C.useRef(i);return Yk(()=>{p.current=i},[i]),C.useEffect(()=>{u.current!==l&&(p.current?.(l),u.current=l)},[l,u]),[l,o,p]}function Zk(s){return typeof s=="function"}var e1=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),a1="VisuallyHidden",go=C.forwardRef((s,i)=>e.jsx(Aa.span,{...s,ref:i,style:{...e1,...s.style}}));go.displayName=a1;var t1=go,Lu="ToastProvider",[Gu,i1,r1]=Fk("Toast"),[Ub]=po("Toast",[r1]),[s1,fo]=Ub(Lu),Hb=s=>{const{__scopeToast:i,label:l="Notification",duration:o=5e3,swipeDirection:u="right",swipeThreshold:p=50,children:f}=s,[m,h]=C.useState(null),[b,g]=C.useState(0),v=C.useRef(!1),k=C.useRef(!1);return l.trim()||console.error(`Invalid prop \`label\` supplied to \`${Lu}\`. Expected non-empty \`string\`.`),e.jsx(Gu.Provider,{scope:i,children:e.jsx(s1,{scope:i,label:l,duration:o,swipeDirection:u,swipeThreshold:p,toastCount:b,viewport:m,onViewportChange:h,onToastAdd:C.useCallback(()=>g(j=>j+1),[]),onToastRemove:C.useCallback(()=>g(j=>j-1),[]),isFocusedToastEscapeKeyDownRef:v,isClosePausedRef:k,children:f})})};Hb.displayName=Lu;var _b="ToastViewport",n1=["F8"],ju="toast.viewportPause",Nu="toast.viewportResume",Kb=C.forwardRef((s,i)=>{const{__scopeToast:l,hotkey:o=n1,label:u="Notifications ({hotkey})",...p}=s,f=fo(_b,l),m=i1(l),h=C.useRef(null),b=C.useRef(null),g=C.useRef(null),v=C.useRef(null),k=lt(i,v,f.onViewportChange),j=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),A=f.toastCount>0;C.useEffect(()=>{const D=M=>{o.length!==0&&o.every(O=>
9M[O]||M.code===O)&&v.current?.focus()};return document.addEventListener("keydown",D),()=>document.removeEventListener("keydown",D)},[o]),C.useEffect(()=>{const D=h.current,M=v.current;if(A&&D&&M){const w=()=>{if(!f.isClosePausedRef.current){const z=new CustomEvent(ju);M.dispatchEvent(z),f.isClosePausedRef.current=!0}},O=()=>{if(f.isClosePausedRef.current){const z=new CustomEvent(Nu);M.dispatchEvent(z),f.isClosePausedRef.current=!1}},N=z=>{!D.contains(z.relatedTarget)&&O()},F=()=>{D.contains(document.activeElement)||O()};return D.addEventListener("focusin",w),D.addEventListener("focusout",N),D.addEventListener("pointermove",w),D.addEventListener("pointerleave",F),window.addEventListener("blur",w),window.addEventListener("focus",O),()=>{D.removeEventListener("focusin",w),D.removeEventListener("focusout",N),D.removeEventListener("pointermove",w),D.removeEventListener("pointerleave",F),window.removeEventListener("blur",w),window.removeEventListener("focus",O)}}},[A,f.isClosePausedRef]);const P=C.useCallback(({tabbingDirection:D})=>{const w=m().map(O=>{const N=O.ref.current,F=[N,...v1(N)];return D==="forwards"?F:F.reverse()});return(D==="forwards"?w.reverse():w).flat()},[m]);return C.useEffect(()=>{const D=v.current;if(D){const M=w=>{const O=w.altKey||w.ctrlKey||w.metaKey;if(w.key==="Tab"&&!O){const F=document.activeElement,z=w.shiftKey;if(w.target===D&&z){b.current?.focus();return}const Z=P({tabbingDirection:z?"backwards":"forwards"}),se=Z.findIndex(re=>re===F);Qd(Z.slice(se+1))?w.preventDefault():z?b.current?.focus():g.current?.focus()}};return D.addEventListener("keydown",M),()=>D.removeEventListener("keydown",M)}},[m,P]),e.jsxs(_k,{ref:h,role:"region","aria-label":u.replace("{hotkey}",j),tabIndex:-1,style:{pointerEvents:A?void 0:"none"},children:[A&&e.jsx(Cu,{ref:b,onFocusFromOutsideViewport:()=>{const D=P({tabbingDirection:"forwards"});Qd(D)}}),e.jsx(Gu.Slot,{scope:l,children:e.jsx(Aa.ol,{tabIndex:-1,...p,ref:k})}),A&&e.jsx(Cu,{ref:g,onFocusFromOutsideViewport:()=>{const D=P({tabbingDirection:"backwards"});Qd(D)}})]})});Kb.displayName=_b;var Wb="ToastFocusProxy",Cu=C.forwardRef((s,i)=>{const{__scopeToast:l,onFocusFromOutsideViewport:o,...u}=s,p=fo(Wb,l);return e.jsx(go,{tabIndex:0,...u,ref:i,style:{position:"fixed"},onFocus:f=>{const m=f.relatedTarget;!p.viewport?.contains(m)&&o()}})});Cu.displayName=Wb;var pn="Toast",l1="toast.swipeStart",o1="toast.swipeMove",c1="toast.swipeCancel",d1="toast.swipeEnd",Qb=C.forwardRef((s,i)=>{const{forceMount:l,open:o,defaultOpen:u,onOpenChange:p,...f}=s,[m,h]=$k({prop:o,defaultProp:u??!0,onChange:p,caller:pn});return e.jsx(ho,{present:l||m,children:e.jsx(p1,{open:m,...f,ref:i,onClose:()=>h(!1),onPause:ji(s.onPause),onResume:ji(s.onResume),onSwipeStart:ta(s.onSwipeStart,b=>{b.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:ta(s.onSwipeMove,b=>{const{x:g,y:v}=b.detail.delta;b.currentTarget.setAttribute("data-swipe","move"),b.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${g}px`),b.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${v}px`)}),onSwipeCancel:ta(s.onSwipeCancel,b=>{b.currentTarget.setAttribute("data-swipe","cancel"),b.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),b.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),b.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),b.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:ta(s.onSwipeEnd,b=>{const{x:g,y:v}=b.detail.delta;b.currentTarget.setAttribute("data-swipe","end"),b.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),b.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),b.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${g}px`),b.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${v}px`),h(!1)})})})});Qb.displayName=pn;var[u1,m1]=Ub(pn,{onClose(){}}),p1=C.forwardRef((s,i)=>{const{__scopeToast:l,type:o="foreground",duration:u,open:p,onClose:f,onEscapeKeyDown:m,onPause:h,onResume:b,onSwipeStart:g,onSwipeMove:v,onSwipeCancel:k,onSwipeEnd:j,...A}=s,P=fo(pn,l),[D,M]=C.useState(null),w=lt(i,X=>M(X)),O=C.useRef(null),N=C.useRef(null),F=u||P.duration,z=C.useRef(0),_=C.useRef(F),Q=C.useRef(0),{onToastAdd:Z,onToastRemove:se}=P,re=ji(()=>{D?.contains(document.activeElement)&&P.viewport?.focus(),f()}),ue=C.useCallback(X=>
9{!X||X===1/0||(window.clearTimeout(Q.current),z.current=new Date().getTime(),Q.current=window.setTimeout(re,X))},[re]);C.useEffect(()=>{const X=P.viewport;if(X){const me=()=>{ue(_.current),b?.()},L=()=>{const K=new Date().getTime()-z.current;_.current=_.current-K,window.clearTimeout(Q.current),h?.()};return X.addEventListener(ju,L),X.addEventListener(Nu,me),()=>{X.removeEventListener(ju,L),X.removeEventListener(Nu,me)}}},[P.viewport,F,h,b,ue]),C.useEffect(()=>{p&&!P.isClosePausedRef.current&&ue(F)},[p,F,P.isClosePausedRef,ue]),C.useEffect(()=>(Z(),()=>se()),[Z,se]);const we=C.useMemo(()=>D?ax(D):null,[D]);return P.viewport?e.jsxs(e.Fragment,{children:[we&&e.jsx(h1,{__scopeToast:l,role:"status","aria-live":o==="foreground"?"assertive":"polite",children:we}),e.jsx(u1,{scope:l,onClose:re,children:mo.createPortal(e.jsx(Gu.ItemSlot,{scope:l,children:e.jsx(Hk,{asChild:!0,onEscapeKeyDown:ta(m,()=>{P.isFocusedToastEscapeKeyDownRef.current||re(),P.isFocusedToastEscapeKeyDownRef.current=!1}),children:e.jsx(Aa.li,{tabIndex:0,"data-state":p?"open":"closed","data-swipe-direction":P.swipeDirection,...A,ref:w,style:{userSelect:"none",touchAction:"none",...s.style},onKeyDown:ta(s.onKeyDown,X=>{X.key==="Escape"&&(m?.(X.nativeEvent),X.nativeEvent.defaultPrevented||(P.isFocusedToastEscapeKeyDownRef.current=!0,re()))}),onPointerDown:ta(s.onPointerDown,X=>{X.button===0&&(O.current={x:X.clientX,y:X.clientY})}),onPointerMove:ta(s.onPointerMove,X=>{if(!O.current)return;const me=X.clientX-O.current.x,L=X.clientY-O.current.y,K=!!N.current,R=["left","right"].includes(P.swipeDirection),Y=["left","up"].includes(P.swipeDirection)?Math.min:Math.max,J=R?Y(0,me):0,je=R?0:Y(0,L),ve=X.pointerType==="touch"?10:2,pe={x:J,y:je},Ne={originalEvent:X,delta:pe};K?(N.current=pe,Rl(o1,v,Ne,{discrete:!1})):Sf(pe,P.swipeDirection,ve)?(N.current=pe,Rl(l1,g,Ne,{discrete:!1}),X.target.setPointerCapture(X.pointerId)):(Math.abs(me)>ve||Math.abs(L)>ve)&&(O.current=null)}),onPointerUp:ta(s.onPointerUp,X=>{const me=N.current,L=X.target;if(L.hasPointerCapture(X.pointerId)&&L.releasePointerCapture(X.pointerId),N.current=null,O.current=null,me){const K=X.currentTarget,R={originalEvent:X,delta:me};Sf(me,P.swipeDirection,P.swipeThreshold)?Rl(d1,j,R,{discrete:!0}):Rl(c1,k,R,{discrete:!0}),K.addEventListener("click",Y=>Y.preventDefault(),{once:!0})}})})})}),P.viewport)})]}):null}),h1=s=>{const{__scopeToast:i,children:l,...o}=s,u=fo(pn,i),[p,f]=C.useState(!1),[m,h]=C.useState(!1);return b1(()=>f(!0)),C.useEffect(()=>{const b=window.setTimeout(()=>h(!0),1e3);return()=>window.clearTimeout(b)},[]),m?null:e.jsx(qu,{asChild:!0,children:e.jsx(go,{...o,children:p&&e.jsxs(e.Fragment,{children:[u.label," ",l]})})})},g1="ToastTitle",Jb=C.forwardRef((s,i)=>{const{__scopeToast:l,...o}=s;return e.jsx(Aa.div,{...o,ref:i})});Jb.displayName=g1;var f1="ToastDescription",Yb=C.forwardRef((s,i)=>{const{__scopeToast:l,...o}=s;return e.jsx(Aa.div,{...o,ref:i})});Yb.displayName=f1;var $b="ToastAction",Xb=C.forwardRef((s,i)=>{const{altText:l,...o}=s;return l.trim()?e.jsx(ex,{altText:l,asChild:!0,children:e.jsx(Vu,{...o,ref:i})}):(console.error(`Invalid prop \`altText\` supplied to \`${$b}\`. Expected non-empty \`string\`.`),null)});Xb.displayName=$b;var Zb="ToastClose",Vu=C.forwardRef((s,i)=>{const{__scopeToast:l,...o}=s,u=m1(Zb,l);return e.jsx(ex,{asChild:!0,children:e.jsx(Aa.button,{type:"button",...o,ref:i,onClick:ta(s.onClick,u.onClose)})})});Vu.displayName=Zb;var ex=C.forwardRef((s,i)=>{const{__scopeToast:l,altText:o,...u}=s;return e.jsx(Aa.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...u,ref:i})});function ax(s){const i=[];return Array.from(s.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&i.push(o.textContent),x1(o)){const u=o.ariaHidden||o.hidden||o.style.display==="none",p=o.dataset.radixToastAnnounceExclude==="";if(!u)if(p){const f=o.dataset.radixToastAnnounceAlt;f&&i.push(f)}else i.push(...ax(o))}}),i}function Rl(s,i,l,{discrete:o}){const u=l.originalEvent.currentTarget,p=new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:l});i&&u.addEventListener(s,i,{once:!0}),o?qb(u,p):u.dispatchEvent(p)}var Sf=(s,i,l=0)=>
vendor: 10,182 bytes, line 9
9{const o=Math.abs(s.x),u=Math.abs(s.y),p=o>u;return i==="left"||i==="right"?p&&o>l:!p&&u>l};function b1(s=()=>{}){const i=ji(s);Ni(()=>{let l=0,o=0;return l=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(i)),()=>{window.cancelAnimationFrame(l),window.cancelAnimationFrame(o)}},[i])}function x1(s){return s.nodeType===s.ELEMENT_NODE}function v1(s){const i=[],l=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const u=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||u?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)i.push(l.currentNode);return i}function Qd(s){const i=document.activeElement;return s.some(l=>l===i?!0:(l.focus(),document.activeElement!==i))}var y1=Hb,tx=Kb,ix=Qb,rx=Jb,sx=Yb,nx=Xb,lx=Vu;function ox(s){var i,l,o="";if(typeof s=="string"||typeof s=="number")o+=s;else if(typeof s=="object")if(Array.isArray(s)){var u=s.length;for(i=0;i<u;i++)s[i]&&(l=ox(s[i]))&&(o&&(o+=" "),o+=l)}else for(l in s)s[l]&&(o&&(o+=" "),o+=l);return o}function cx(){for(var s,i,l=0,o="",u=arguments.length;l<u;l++)(s=arguments[l])&&(i=ox(s))&&(o&&(o+=" "),o+=i);return o}const Tf=s=>typeof s=="boolean"?`${s}`:s===0?"0":s,Pf=cx,dx=(s,i)=>l=>{var o;if(i?.variants==null)return Pf(s,l?.class,l?.className);const{variants:u,defaultVariants:p}=i,f=Object.keys(u).map(b=>{const g=l?.[b],v=p?.[b];if(g===null)return null;const k=Tf(g)||Tf(v);return u[b][k]}),m=l&&Object.entries(l).reduce((b,g)=>{let[v,k]=g;return k===void 0||(b[v]=k),b},{}),h=i==null||(o=i.compoundVariants)===null||o===void 0?void 0:o.reduce((b,g)=>{let{class:v,className:k,...j}=g;return Object.entries(j).every(A=>{let[P,D]=A;return Array.isArray(D)?D.includes({...p,...m}[P]):{...p,...m}[P]===D})?[...b,v,k]:b},[]);return Pf(s,f,h,l?.class,l?.className)},k1=(s,i)=>{const l=new Array(s.length+i.length);for(let o=0;o<s.length;o++)l[o]=s[o];for(let o=0;o<i.length;o++)l[s.length+o]=i[o];return l},w1=(s,i)=>({classGroupId:s,validator:i}),ux=(s=new Map,i=null,l)=>({nextPart:s,validators:i,classGroupId:l}),eo="-",Df=[],j1="arbitrary..",N1=s=>{const i=A1(s),{conflictingClassGroups:l,conflictingClassGroupModifiers:o}=s;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return C1(f);const m=f.split(eo),h=m[0]===""&&m.length>1?1:0;return mx(m,h,i)},getConflictingClassGroupIds:(f,m)=>{if(m){const h=o[f],b=l[f];return h?b?k1(b,h):h:b||Df}return l[f]||Df}}},mx=(s,i,l)=>{if(s.length-i===0)return l.classGroupId;const u=s[i],p=l.nextPart.get(u);if(p){const b=mx(s,i+1,p);if(b)return b}const f=l.validators;if(f===null)return;const m=i===0?s.join(eo):s.slice(i).join(eo),h=f.length;for(let b=0;b<h;b++){const g=f[b];if(g.validator(m))return g.classGroupId}},C1=s=>s.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const i=s.slice(1,-1),l=i.indexOf(":"),o=i.slice(0,l);return o?j1+o:void 0})(),A1=s=>{const{theme:i,classGroups:l}=s;return S1(l,i)},S1=(s,i)=>{const l=ux();for(const o in s){const u=s[o];Uu(u,l,o,i)}return l},Uu=(s,i,l,o)=>{const u=s.length;for(let p=0;p<u;p++){const f=s[p];T1(f,i,l,o)}},T1=(s,i,l,o)=>{if(typeof s=="string"){P1(s,i,l);return}if(typeof s=="function"){D1(s,i,l,o);return}z1(s,i,l,o)},P1=(s,i,l)=>{const o=s===""?i:px(i,s);o.classGroupId=l},D1=(s,i,l,o)=>{if(E1(s)){Uu(s(o),i,l,o);return}i.validators===null&&(i.validators=[]),i.validators.push(w1(l,s))},z1=(s,i,l,o)=>{const u=Object.entries(s),p=u.length;for(let f=0;f<p;f++){const[m,h]=u[f];Uu(h,px(i,m),l,o)}},px=(s,i)=>{let l=s;const o=i.split(eo),u=o.length;for(let p=0;p<u;p++){const f=o[p];let m=l.nextPart.get(f);m||(m=ux(),l.nextPart.set(f,m)),l=m}return l},E1=s=>"isThemeGetter"in s&&s.isThemeGetter===!0,O1=s=>{if(s<1)return{get:()=>{},set:()=>{}};let i=0,l=Object.create(null),o=Object.create(null);const u=(p,f)=>{l[p]=f,i++,i>s&&(i=0,o=l,l=Object.create(null))};return{get(p){let f=l[p];if(f!==void 0)return f;if((f=o[p])!==void 0)return u(p,f),f},set(p,f){p in l?l[p]=f:u(p,f)}}},Au="!",zf=":",R1=[],Ef=(s,i,l,o,u)=>({modifiers:s,hasImportantModifier:i,baseClassName:l,maybePostfixModifierPosition:o,isExternal:u}),F1=s=>{const{prefix:i,experimentalParseClassName:l}=s;let o=u=>{const p=[];let f=0,m=0,h=0,b;const g=u.length;for(let P=0;P<g;P++){const D=u[P];if(f===0&&m===0){if(D===zf){p.push(u.slice(h,P)),h=P+1;continue}if(D==="/"){b=P;continue}}D==="["?f++:D==="]"?f--:D==="("?m++:D===")"&&m--}const v=p.length===0?u:u.slice(h);let k=v,j=!1;v.endsWith(Au)?(k=v.slice(0,-1),j=!0):v.startsWith(Au)&&(k=v.slice(1),j=!0);const A=b&&b>h?b-h:void 0;return Ef(p,j,k,A)};if(i){const u=i+zf,p=o;o=f=>f.startsWith(u)?p(f.slice(u.length)):Ef(R1,!1,f,void 0,!0)}if(l){const u=o;o=p=>l({className:p,parseClassName:u})}return o},B1=s=>{const i=new Map;return s.orderSensitiveModifiers.forEach((l,o)=>{i.set(l,1e6+o)}),l=>{const o=[];let u=[];for(let p=0;p<l.length;p++){const f=l[p],m=f[0]==="[",h=i.has(f);m||h?(u.length>0&&(u.sort(),o.push(...u),u=[]),o.push(f)):u.push(f)}return u.length>0&&(u.sort(),o.push(...u)),o}},I1=s=>({cache:O1(s.cacheSize),parseClassName:F1(s),sortModifiers:B1(s),...N1(s)}),M1=/\s+/,q1=(s,i)=>{const{parseClassName:l,getClassGroupId:o,getConflictingClassGroupIds:u,sortModifiers:p}=i,f=[],m=s.trim().split(M1);let h="";for(let b=m.length-1;b>=0;b-=1){const g=m[b],{isExternal:v,modifiers:k,hasImportantModifier:j,baseClassName:A,maybePostfixModifierPosition:P}=l(g);if(v){h=g+(h.length>0?" "+h:h);continue}let D=!!P,M=o(D?A.substring(0,P):A);if(!M){if(!D){h=g+(h.length>0?" "+h:h);continue}if(M=o(A),!M){h=g+(h.length>0?" "+h:h);continue}D=!1}const w=k.length===0?"":k.length===1?k[0]:p(k).join(":"),O=j?w+Au:w,N=O+M;if(f.indexOf(N)>-1)continue;f.push(N);const F=u(M,D);for(let z=0;z<F.length;++z){const _=F[z];f.push(O+_)}h=g+(h.length>0?" "+h:h)}return h},L1=(...s)=>{let i=0,l,o,u="";for(;i<s.length;)(l=s[i++])&&(o=hx(l))&&(u&&(u+=" "),u+=o);return u},hx=s=>{if(typeof s=="string")return s;let i,l="";for(let o=0;o<s.length;o++)s[o]&&(i=hx(s[o]))&&(l&&(l+=" "),l+=i);return l},G1=(s,...i)=>{let l,o,u,p;const f=h=>{const b=i.reduce((g,v)=>v(g),s());return l=I1(b),o=l.cache.get,u=l.cache.set,p=m,m(h)},m=h=>{const b=o(h);if(b)return b;const g=q1(h,l);return u(h,g),g};return p=f,(...h)=>p(L1(...h))},V1=[],aa=s=>{const i=l=>l[s]||V1;return i.isThemeGetter=!0,i},gx=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fx=/^\((?:(\w[\w-]*):)?(.+)\)$/i,U1=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,H1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,_1=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,K1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,W1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Q1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fi=s=>U1.test(s),ge=s=>!!s&&!Number.isNaN(Number(s)),bi=s=>!!s&&Number.isInteger(Number(s)),Jd=s=>s.endsWith("%")&&ge(s.slice(0,-1)),Bt=s=>H1.test(s),bx=()=>!0,J1=s=>_1.test(s)&&!K1.test(s),Hu=()=>!1,Y1=s=>W1.test(s),$1=s=>Q1.test(s),X1=s=>!ae(s)&&!te(s),Z1=s=>Si(s,yx,Hu),ae=s=>gx.test(s),Qi=s=>Si(s,kx,J1),Of=s=>Si(s,lw,ge),ew=s=>Si(s,jx,bx),aw=s=>Si(s,wx,Hu),Rf=s=>Si(s,xx,Hu),tw=s=>Si(s,vx,$1),Fl=s=>Si(s,Nx,Y1),te=s=>fx.test(s),en=s=>Xi(s,kx),iw=s=>Xi(s,wx),Ff=s=>Xi(s,xx),rw=s=>Xi(s,yx),sw=s=>Xi(s,vx),Bl=s=>Xi(s,Nx,!0),nw=s=>Xi(s,jx,!0),Si=(s,i,l)=>{const o=gx.exec(s);return o?o[1]?i(o[1]):l(o[2]):!1},Xi=(s,i,l=!1)=>{const o=fx.exec(s);return o?o[1]?i(o[1]):l:!1},xx=s=>s==="position"||s==="percentage",vx=s=>s==="image"||s==="url",yx=s=>s==="length"||s==="size"||s==="bg-size",kx=s=>s==="length",lw=s=>s==="number",wx=s=>s==="family-name",jx=s=>s==="number"||s==="weight",Nx=s=>s==="shadow",ow=()=>{const s=aa("color"),i=aa("font"),l=aa("text"),o=aa("font-weight"),u=aa("tracking"),p=aa("leading"),f=aa("breakpoint"),m=aa("container"),h=aa("spacing"),b=aa("radius"),g=aa("shadow"),v=aa("inset-shadow"),k=aa("text-shadow"),j=aa("drop-shadow"),A=aa("blur"),P=aa("perspective"),D=aa("aspect"),M=aa("ease"),w=aa("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],F=()=>[...N(),te,ae],z=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto","contain","none"],Q=()=>[te,ae,h],Z=()=>[fi,"full","auto",...Q()],se=()=>[bi,"none","subgrid",te,ae],re=()=>["auto",{span:["full",bi,te,ae]},bi,te,ae],ue=()=>[bi,"auto",te,ae],we=()=>["auto","min","max","fr",te,ae],X=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],me=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...Q()],K=()=>[fi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Q()],R=()=>[fi,"screen","full","dvw","lvw","svw","min","max","fit",...Q()],Y=()=>[fi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Q()],J=()=>[s,te,ae],je=()=>[...N(),Ff,Rf,{position:[te,ae]}],ve=()=>["no-repeat",{repeat:["","x","y","space","round"]}],pe=()=>["auto","cover","contain",rw,Z1,{size:[te,ae]}],Ne=()=>[Jd,en,Qi],Se=()=>["","none","full",b,te,ae],Me=()=>["",ge,en,Qi],ga=()=>["solid","dashed","dotted","double"],dt=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Be=()=>[ge,Jd,Ff,Rf],Ht=()=>["","none",A,te,ae],et=()=>["none",ge,te,ae],ut=()=>["none",ge,te,ae],Ga=()=>[ge,te,ae],_t=()=>[fi,"full",...Q()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Bt],breakpoint:[Bt],color:[bx],container:[Bt],"drop-shadow":[Bt],ease:["in","out","in-out"],font:[X1],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Bt],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Bt],shadow:[Bt],spacing:["px",ge],text:[Bt],"text-shadow":[Bt],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",fi,ae,te,D]}
vendor: 6,111 bytes, line 9
9],container:["container"],columns:[{columns:[ge,ae,te,m]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:F()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Z()}],"inset-x":[{"inset-x":Z()}],"inset-y":[{"inset-y":Z()}],start:[{"inset-s":Z(),start:Z()}],end:[{"inset-e":Z(),end:Z()}],"inset-bs":[{"inset-bs":Z()}],"inset-be":[{"inset-be":Z()}],top:[{top:Z()}],right:[{right:Z()}],bottom:[{bottom:Z()}],left:[{left:Z()}],visibility:["visible","invisible","collapse"],z:[{z:[bi,"auto",te,ae]}],basis:[{basis:[fi,"full","auto",m,...Q()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ge,fi,"auto","initial","none",ae]}],grow:[{grow:["",ge,te,ae]}],shrink:[{shrink:["",ge,te,ae]}],order:[{order:[bi,"first","last","none",te,ae]}],"grid-cols":[{"grid-cols":se()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":se()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":we()}],"auto-rows":[{"auto-rows":we()}],gap:[{gap:Q()}],"gap-x":[{"gap-x":Q()}],"gap-y":[{"gap-y":Q()}],"justify-content":[{justify:[...X(),"normal"]}],"justify-items":[{"justify-items":[...me(),"normal"]}],"justify-self":[{"justify-self":["auto",...me()]}],"align-content":[{content:["normal",...X()]}],"align-items":[{items:[...me(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...me(),{baseline:["","last"]}]}],"place-content":[{"place-content":X()}],"place-items":[{"place-items":[...me(),"baseline"]}],"place-self":[{"place-self":["auto",...me()]}],p:[{p:Q()}],px:[{px:Q()}],py:[{py:Q()}],ps:[{ps:Q()}],pe:[{pe:Q()}],pbs:[{pbs:Q()}],pbe:[{pbe:Q()}],pt:[{pt:Q()}],pr:[{pr:Q()}],pb:[{pb:Q()}],pl:[{pl:Q()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mbs:[{mbs:L()}],mbe:[{mbe:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":Q()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Q()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...R()]}],"min-inline-size":[{"min-inline":["auto",...R()]}],"max-inline-size":[{"max-inline":["none",...R()]}],"block-size":[{block:["auto",...Y()]}],"min-block-size":[{"min-block":["auto",...Y()]}],"max-block-size":[{"max-block":["none",...Y()]}],w:[{w:[m,"screen",...K()]}],"min-w":[{"min-w":[m,"screen","none",...K()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[f]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",l,en,Qi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,nw,ew]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jd,ae]}],"font-family":[{font:[iw,aw,i]}],"font-features":[{"font-features":[ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,te,ae]}],"line-clamp":[{"line-clamp":[ge,"none",te,Of]}],leading:[{leading:[p,...Q()]}],"list-image":[{"list-image":["none",te,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",te,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ga(),"wavy"]}],"text-decoration-thickness":[{decoration:[ge,"from-font","auto",te,Qi]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[ge,"auto",te,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",te,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",te,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:je()}],"bg-repeat":[{bg:ve()}],"bg-size":[{bg:pe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},bi,te,ae],radial:["",te,ae],conic:[bi,te,ae]},sw,tw]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:Ne()}
vendor: 7,405 bytes, line 9
9],"gradient-via-pos":[{via:Ne()}],"gradient-to-pos":[{to:Ne()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:Se()}],"rounded-s":[{"rounded-s":Se()}],"rounded-e":[{"rounded-e":Se()}],"rounded-t":[{"rounded-t":Se()}],"rounded-r":[{"rounded-r":Se()}],"rounded-b":[{"rounded-b":Se()}],"rounded-l":[{"rounded-l":Se()}],"rounded-ss":[{"rounded-ss":Se()}],"rounded-se":[{"rounded-se":Se()}],"rounded-ee":[{"rounded-ee":Se()}],"rounded-es":[{"rounded-es":Se()}],"rounded-tl":[{"rounded-tl":Se()}],"rounded-tr":[{"rounded-tr":Se()}],"rounded-br":[{"rounded-br":Se()}],"rounded-bl":[{"rounded-bl":Se()}],"border-w":[{border:Me()}],"border-w-x":[{"border-x":Me()}],"border-w-y":[{"border-y":Me()}],"border-w-s":[{"border-s":Me()}],"border-w-e":[{"border-e":Me()}],"border-w-bs":[{"border-bs":Me()}],"border-w-be":[{"border-be":Me()}],"border-w-t":[{"border-t":Me()}],"border-w-r":[{"border-r":Me()}],"border-w-b":[{"border-b":Me()}],"border-w-l":[{"border-l":Me()}],"divide-x":[{"divide-x":Me()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Me()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ga(),"hidden","none"]}],"divide-style":[{divide:[...ga(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...ga(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ge,te,ae]}],"outline-w":[{outline:["",ge,en,Qi]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",g,Bl,Fl]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",v,Bl,Fl]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:Me()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[ge,Qi]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":Me()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",k,Bl,Fl]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[ge,te,ae]}],"mix-blend":[{"mix-blend":[...dt(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":dt()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":Be()}],"mask-image-linear-to-pos":[{"mask-linear-to":Be()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":Be()}],"mask-image-t-to-pos":[{"mask-t-to":Be()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":Be()}],"mask-image-r-to-pos":[{"mask-r-to":Be()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":Be()}],"mask-image-b-to-pos":[{"mask-b-to":Be()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":Be()}],"mask-image-l-to-pos":[{"mask-l-to":Be()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":Be()}],"mask-image-x-to-pos":[{"mask-x-to":Be()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":Be()}],"mask-image-y-to-pos":[{"mask-y-to":Be()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[te,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":Be()}],"mask-image-radial-to-pos":[{"mask-radial-to":Be()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":Be()}],"mask-image-conic-to-pos":[{"mask-conic-to":Be()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:je()}],"mask-repeat":[{mask:ve()}],"mask-size":[{mask:pe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",te,ae]}],filter:[{filter:["","none",te,ae]}],blur:[{blur:Ht()}],brightness:[{brightness:[ge,te,ae]}],contrast:[{contrast:[ge,te,ae]}],"drop-shadow":[{"drop-shadow":["","none",j,Bl,Fl]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",ge,te,ae]}],"hue-rotate":[{"hue-rotate":[ge,te,ae]}],invert:[{invert:["",ge,te,ae]}],saturate:[{saturate:[ge,te,ae]}],sepia:[{sepia:["",ge,te,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",te,ae]}],"backdrop-blur":[{"backdrop-blur":Ht()}],"backdrop-brightness":[{"backdrop-brightness":[ge,te,ae]}],"backdrop-contrast":[{"backdrop-contrast":[ge,te,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ge,te,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ge,te,ae]}],"backdrop-invert":[{"backdrop-invert":["",ge,te,ae]}],"backdrop-opacity":[{"backdrop-opacity":[ge,te,ae]}],"backdrop-saturate":[{"backdrop-saturate":[ge,te,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ge,te,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Q()}],"border-spacing-x":[{"border-spacing-x":Q()}],"border-spacing-y":[{"border-spacing-y":Q()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",te,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ge,"initial",te,ae]}],ease:[{ease:["linear","initial",M,te,ae]}],delay:[{delay:[ge,te,ae]}],animate:[{animate:["none",w,te,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,te,ae]}],"perspective-origin":[{"perspective-origin":F()}],rotate:[{rotate:et()}],"rotate-x":[{"rotate-x":et()}],"rotate-y":[{"rotate-y":et()}],"rotate-z":[{"rotate-z":et()}],scale:[{scale:ut()}],"scale-x":[{"scale-x":ut()}],"scale-y":[{"scale-y":ut()}],"scale-z":[{"scale-z":ut()}],"scale-3d":["scale-3d"],skew:[{skew:Ga()}],"skew-x":[{"skew-x":Ga()}],"skew-y":[{"skew-y":Ga()}],transform:[{transform:[te,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:F()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:_t()}],"translate-x":[{"translate-x":_t()}],"translate-y":[{"translate-y":_t()}],"translate-z":[{"translate-z":_t()}],"translate-none":["translate-none"],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}
9],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",te,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mbs":[{"scroll-mbs":Q()}],"scroll-mbe":[{"scroll-mbe":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pbs":[{"scroll-pbs":Q()}],"scroll-pbe":[{"scroll-pbe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",te,ae]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[ge,en,Qi,Of]}],stroke:[{stroke:["none",...J()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},cw=G1(ow);function Ti(...s){return cw(cx(s))}const dw=y1,Cx=C.forwardRef(({className:s,...i},l)=>e.jsx(tx,{ref:l,className:Ti("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",s),...i}));Cx.displayName=tx.displayName;const uw=dx("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Ax=C.forwardRef(({className:s,variant:i,...l},o)=>e.jsx(ix,{ref:o,className:Ti(uw({variant:i}),s),...l}));Ax.displayName=ix.displayName;const mw=C.forwardRef(({className:s,...i},l)=>e.jsx(nx,{ref:l,className:Ti("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",s),...i}));mw.displayName=nx.displayName;const Sx=C.forwardRef(({className:s,...i},l)=>e.jsx(lx,{ref:l,className:Ti("absolute right-2 top-2 rounded-md p-1 text-foreground
vendor: 4,154 bytes, line 9
9/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",s),"toast-close":"",...i,children:e.jsx(Jl,{className:"h-4 w-4"})}));Sx.displayName=lx.displayName;const Tx=C.forwardRef(({className:s,...i},l)=>e.jsx(rx,{ref:l,className:Ti("text-sm font-semibold",s),...i}));Tx.displayName=rx.displayName;const Px=C.forwardRef(({className:s,...i},l)=>e.jsx(sx,{ref:l,className:Ti("text-sm opacity-90",s),...i}));Px.displayName=sx.displayName;function pw(){const{toasts:s}=Ib();return e.jsxs(dw,{children:[s.map(function({id:i,title:l,description:o,action:u,...p}){return e.jsxs(Ax,{...p,children:[e.jsxs("div",{className:"grid gap-1",children:[l&&e.jsx(Tx,{children:l}),o&&e.jsx(Px,{children:o})]}),u,e.jsx(Sx,{})]},i)}),e.jsx(Cx,{})]})}const hw=["top","right","bottom","left"],Ci=Math.min,Ma=Math.max,ao=Math.round,Il=Math.floor,vt=s=>({x:s,y:s}),gw={left:"right",right:"left",bottom:"top",top:"bottom"};function Su(s,i,l){return Ma(s,Ci(i,l))}function Gt(s,i){return typeof s=="function"?s(i):s}function Vt(s){return s.split("-")[0]}function $r(s){return s.split("-")[1]}function _u(s){return s==="x"?"y":"x"}function Ku(s){return s==="y"?"height":"width"}function xt(s){const i=s[0];return i==="t"||i==="b"?"y":"x"}function Wu(s){return _u(xt(s))}function fw(s,i,l){l===void 0&&(l=!1);const o=$r(s),u=Wu(s),p=Ku(u);let f=u==="x"?o===(l?"end":"start")?"right":"left":o==="start"?"bottom":"top";return i.reference[p]>i.floating[p]&&(f=to(f)),[f,to(f)]}function bw(s){const i=to(s);return[Tu(s),i,Tu(i)]}function Tu(s){return s.includes("start")?s.replace("start","end"):s.replace("end","start")}const Bf=["left","right"],If=["right","left"],xw=["top","bottom"],vw=["bottom","top"];function yw(s,i,l){switch(s){case"top":case"bottom":return l?i?If:Bf:i?Bf:If;case"left":case"right":return i?xw:vw;default:return[]}}function kw(s,i,l,o){const u=$r(s);let p=yw(Vt(s),l==="start",o);return u&&(p=p.map(f=>f+"-"+u),i&&(p=p.concat(p.map(Tu)))),p}function to(s){const i=Vt(s);return gw[i]+s.slice(i.length)}function ww(s){return{top:0,right:0,bottom:0,left:0,...s}}function Dx(s){return typeof s!="number"?ww(s):{top:s,right:s,bottom:s,left:s}}function io(s){const{x:i,y:l,width:o,height:u}=s;return{width:o,height:u,top:l,left:i,right:i+o,bottom:l+u,x:i,y:l}}function Mf(s,i,l){let{reference:o,floating:u}=s;const p=xt(i),f=Wu(i),m=Ku(f),h=Vt(i),b=p==="y",g=o.x+o.width/2-u.width/2,v=o.y+o.height/2-u.height/2,k=o[m]/2-u[m]/2;let j;switch(h){case"top":j={x:g,y:o.y-u.height};break;case"bottom":j={x:g,y:o.y+o.height};break;case"right":j={x:o.x+o.width,y:v};break;case"left":j={x:o.x-u.width,y:v};break;default:j={x:o.x,y:o.y}}switch($r(i)){case"start":j[f]-=k*(l&&b?-1:1);break;case"end":j[f]+=k*(l&&b?-1:1);break}return j}async function jw(s,i){var l;i===void 0&&(i={});const{x:o,y:u,platform:p,rects:f,elements:m,strategy:h}=s,{boundary:b="clippingAncestors",rootBoundary:g="viewport",elementContext:v="floating",altBoundary:k=!1,padding:j=0}=Gt(i,s),A=Dx(j),D=m[k?v==="floating"?"reference":"floating":v],M=io(await p.getClippingRect({element:(l=await(p.isElement==null?void 0:p.isElement(D)))==null||l?D:D.contextElement||await(p.getDocumentElement==null?void 0:p.getDocumentElement(m.floating)),boundary:b,rootBoundary:g,strategy:h})),w=v==="floating"?{x:o,y:u,width:f.floating.width,height:f.floating.height}:f.reference,O=await(p.getOffsetParent==null?void 0:p.getOffsetParent(m.floating)),N=await(p.isElement==null?void 0:p.isElement(O))?await(p.getScale==null?void 0:p.getScale(O))||{x:1,y:1}:{x:1,y:1},F=io(p.convertOffsetParentRelativeRectToViewportRelativeRect?await p.convertOffsetParentRelativeRectToViewportRelativeRect({elements:m,rect:w,offsetParent:O,strategy:h}):w);return{top:(M.top-F.top+A.top)/N.y,bottom:(F.bottom-M.bottom+A.bottom)/N.y,left:(M.left-F.left+A.left)/N.x,right:(F.right-M.right+A.right)/N.x}}const Nw=50,Cw=async(s,i,l)=>{const{placement:o="bottom",strategy:u="absolute",middleware:p=[],platform:f}
vendor: 7,897 bytes, line 9
9=l,m=f.detectOverflow?f:{...f,detectOverflow:jw},h=await(f.isRTL==null?void 0:f.isRTL(i));let b=await f.getElementRects({reference:s,floating:i,strategy:u}),{x:g,y:v}=Mf(b,o,h),k=o,j=0;const A={};for(let P=0;P<p.length;P++){const D=p[P];if(!D)continue;const{name:M,fn:w}=D,{x:O,y:N,data:F,reset:z}=await w({x:g,y:v,initialPlacement:o,placement:k,strategy:u,middlewareData:A,rects:b,platform:m,elements:{reference:s,floating:i}});g=O??g,v=N??v,A[M]={...A[M],...F},z&&j<Nw&&(j++,typeof z=="object"&&(z.placement&&(k=z.placement),z.rects&&(b=z.rects===!0?await f.getElementRects({reference:s,floating:i,strategy:u}):z.rects),{x:g,y:v}=Mf(b,k,h)),P=-1)}return{x:g,y:v,placement:k,strategy:u,middlewareData:A}},Aw=s=>({name:"arrow",options:s,async fn(i){const{x:l,y:o,placement:u,rects:p,platform:f,elements:m,middlewareData:h}=i,{element:b,padding:g=0}=Gt(s,i)||{};if(b==null)return{};const v=Dx(g),k={x:l,y:o},j=Wu(u),A=Ku(j),P=await f.getDimensions(b),D=j==="y",M=D?"top":"left",w=D?"bottom":"right",O=D?"clientHeight":"clientWidth",N=p.reference[A]+p.reference[j]-k[j]-p.floating[A],F=k[j]-p.reference[j],z=await(f.getOffsetParent==null?void 0:f.getOffsetParent(b));let _=z?z[O]:0;(!_||!await(f.isElement==null?void 0:f.isElement(z)))&&(_=m.floating[O]||p.floating[A]);const Q=N/2-F/2,Z=_/2-P[A]/2-1,se=Ci(v[M],Z),re=Ci(v[w],Z),ue=se,we=_-P[A]-re,X=_/2-P[A]/2+Q,me=Su(ue,X,we),L=!h.arrow&&$r(u)!=null&&X!==me&&p.reference[A]/2-(X<ue?se:re)-P[A]/2<0,K=L?X<ue?X-ue:X-we:0;return{[j]:k[j]+K,data:{[j]:me,centerOffset:X-me-K,...L&&{alignmentOffset:K}},reset:L}}}),Sw=function(s){return s===void 0&&(s={}),{name:"flip",options:s,async fn(i){var l,o;const{placement:u,middlewareData:p,rects:f,initialPlacement:m,platform:h,elements:b}=i,{mainAxis:g=!0,crossAxis:v=!0,fallbackPlacements:k,fallbackStrategy:j="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:P=!0,...D}=Gt(s,i);if((l=p.arrow)!=null&&l.alignmentOffset)return{};const M=Vt(u),w=xt(m),O=Vt(m)===m,N=await(h.isRTL==null?void 0:h.isRTL(b.floating)),F=k||(O||!P?[to(m)]:bw(m)),z=A!=="none";!k&&z&&F.push(...kw(m,P,A,N));const _=[m,...F],Q=await h.detectOverflow(i,D),Z=[];let se=((o=p.flip)==null?void 0:o.overflows)||[];if(g&&Z.push(Q[M]),v){const X=fw(u,f,N);Z.push(Q[X[0]],Q[X[1]])}if(se=[...se,{placement:u,overflows:Z}],!Z.every(X=>X<=0)){var re,ue;const X=(((re=p.flip)==null?void 0:re.index)||0)+1,me=_[X];if(me&&(!(v==="alignment"?w!==xt(me):!1)||se.every(R=>xt(R.placement)===w?R.overflows[0]>0:!0)))return{data:{index:X,overflows:se},reset:{placement:me}};let L=(ue=se.filter(K=>K.overflows[0]<=0).sort((K,R)=>K.overflows[1]-R.overflows[1])[0])==null?void 0:ue.placement;if(!L)switch(j){case"bestFit":{var we;const K=(we=se.filter(R=>{if(z){const Y=xt(R.placement);return Y===w||Y==="y"}return!0}).map(R=>[R.placement,R.overflows.filter(Y=>Y>0).reduce((Y,J)=>Y+J,0)]).sort((R,Y)=>R[1]-Y[1])[0])==null?void 0:we[0];K&&(L=K);break}case"initialPlacement":L=m;break}if(u!==L)return{reset:{placement:L}}}return{}}}};function qf(s,i){return{top:s.top-i.height,right:s.right-i.width,bottom:s.bottom-i.height,left:s.left-i.width}}function Lf(s){return hw.some(i=>s[i]>=0)}const Tw=function(s){return s===void 0&&(s={}),{name:"hide",options:s,async fn(i){const{rects:l,platform:o}=i,{strategy:u="referenceHidden",...p}=Gt(s,i);switch(u){case"referenceHidden":{const f=await o.detectOverflow(i,{...p,elementContext:"reference"}),m=qf(f,l.reference);return{data:{referenceHiddenOffsets:m,referenceHidden:Lf(m)}}}case"escaped":{const f=await o.detectOverflow(i,{...p,altBoundary:!0}),m=qf(f,l.floating);return{data:{escapedOffsets:m,escaped:Lf(m)}}}default:return{}}}}},zx=new Set(["left","top"]);async function Pw(s,i){const{placement:l,platform:o,elements:u}=s,p=await(o.isRTL==null?void 0:o.isRTL(u.floating)),f=Vt(l),m=$r(l),h=xt(l)==="y",b=zx.has(f)?-1:1,g=p&&h?-1:1,v=Gt(i,s);let{mainAxis:k,crossAxis:j,alignmentAxis:A}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return m&&typeof A=="number"&&(j=m==="end"?A*-1:A),h?{x:j*g,y:k*b}:{x:k*b,y:j*g}}const Dw=function(s){return s===void 0&&(s=0),{name:"offset",options:s,async fn(i){var l,o;const{x:u,y:p,placement:f,middlewareData:m}=i,h=await Pw(i,s);return f===((l=m.offset)==null?void 0:l.placement)&&(o=m.arrow)!=null&&o.alignmentOffset?{}:{x:u+h.x,y:p+h.y,data:{...h,placement:f}}}}},zw=function(s){return s===void 0&&(s={}),{name:"shift",options:s,async fn(i){const{x:l,y:o,placement:u,platform:p}=i,{mainAxis:f=!0,crossAxis:m=!1,limiter:h={fn:M=>{let{x:w,y:O}=M;return{x:w,y:O}}},...b}=Gt(s,i),g={x:l,y:o},v=await p.detectOverflow(i,b),k=xt(Vt(u)),j=_u(k);let A=g[j],P=g[k];if(f){const M=j==="y"?"top":"left",w=j==="y"?"bottom":"right",O=A+v[M],N=A-v[w];A=Su(O,A,N)}if(m){const M=k==="y"?"top":"left",w=k==="y"?"bottom":"right",O=P+v[M],N=P-v[w];P=Su(O,P,N)}const D=h.fn({...i,[j]:A,[k]:P});return{...D,data:{x:D.x-l,y:D.y-o,enabled:{[j]:f,[k]:m}}}}}},Ew=function(s){return s===void 0&&(s={}),{options:s,fn(i){const{x:l,y:o,placement:u,rects:p,middlewareData:f}=i,{offset:m=0,mainAxis:h=!0,crossAxis:b=!0}=Gt(s,i),g={x:l,y:o},v=xt(u),k=_u(v);let j=g[k],A=g[v];const P=Gt(m,i),D=typeof P=="number"?{mainAxis:P,crossAxis:0}:{mainAxis:0,crossAxis:0,...P};if(h){const O=k==="y"?"height":"width",N=p.reference[k]-p.floating[O]+D.mainAxis,F=p.reference[k]+p.reference[O]-D.mainAxis;j<N?j=N:j>F&&(j=F)}if(b){var M,w;const O=k==="y"?"width":"height",N=zx.has(Vt(u)),F=p.reference[v]-p.floating[O]+(N&&((M=f.offset)==null?void 0:M[v])||0)+(N?0:D.crossAxis),z=p.reference[v]+p.reference[O]+(N?0:((w=f.offset)==null?void 0:w[v])||0)-(N?D.crossAxis:0);A<F?A=F:A>z&&(A=z)}return{[k]:j,[v]:A}}}},Ow=function(s){return s===void 0&&(s={}),{name:"size",options:s,async fn(i){var l,o;const{placement:u,rects:p,platform:f,elements:m}=i,{apply:h=()=>{},...b}=Gt(s,i),g=await f.detectOverflow(i,b),v=Vt(u),k=$r(u),j=xt(u)==="y",{width:A,height:P}=p.floating;let D,M;v==="top"||v==="bottom"?(D=v,M=k===(await(f.isRTL==null?void 0:f.isRTL(m.floating))?"start":"end")?"left":"right"):(M=v,D=k==="end"?"top":"bottom");const w=P-g.top-g.bottom,O=A-g.left-g.right,N=Ci(P-g[D],w),F=Ci(A-g[M],O),z=!i.middlewareData.shift;let _=N,Q=F;if((l=i.middlewareData.shift)!=null&&l.enabled.x&&(Q=O),(o=i.middlewareData.shift)!=null&&o.enabled.y&&(_=w),z&&!k){const se=Ma(g.left,0),re=Ma(g.right,0),ue=Ma(g.top,0),we=Ma(g.bottom,0);j?Q=A-2*(se!==0||re!==0?se+re:Ma(g.left,g.right)):_=P-2*(ue!==0||we!==0?ue+we:Ma(g.top,g.bottom))}await h({...i,availableWidth:Q,availableHeight:_});const Z=await f.getDimensions(m.floating);return A!==Z.width||P!==Z.height?{reset:{rects:!0}}:{}}}};function bo(){return typeof window<"u"}function Xr(s){return Ex(s)?(s.nodeName||"").toLowerCase():"#document"}function La(s){var i;return(s==null||(i=s.ownerDocument)==null?void 0:i.defaultView)||window}function yt(s){var i;return(i=(Ex(s)?s.ownerDocument:s.document)||window.document)==null?void 0:i.documentElement}function Ex(s){return bo()?s instanceof Node||s instanceof La(s).Node:!1}function ot(s){return bo()?s instanceof Element||s instanceof La(s).Element:!1}function Ut(s){return bo()?s instanceof HTMLElement||s instanceof La(s).HTMLElement:!1}function Gf(s){return!bo()||typeof ShadowRoot>"u"?!1:s instanceof ShadowRoot||s instanceof La(s).ShadowRoot}function hn(s){const{overflow:i,overflowX:l,overflowY:o,display:u}=ct(s);return/auto|scroll|overlay|hidden|clip/.test(i+o+l)&&u!=="inline"&&u!=="contents"}function Rw(s){return/^(table|td|th)$/.test(Xr(s))}function xo(s){try{if(s.matches(":popover-open"))return!0}catch{}try{return s.matches(":modal")}catch{return!1}}const Fw=/transform|translate|scale|rotate|perspective|filter/,Bw=/paint|layout|strict|content/,Ji=s=>!!s&&s!=="none";let Yd;function Qu(s){const i=ot(s)?ct(s):s;return Ji(i.transform)||Ji(i.translate)||Ji(i.scale)||Ji(i.rotate)||Ji(i.perspective)||!Ju()&&
vendor: 4,245 bytes, line 9
9(Ji(i.backdropFilter)||Ji(i.filter))||Fw.test(i.willChange||"")||Bw.test(i.contain||"")}function Iw(s){let i=Ai(s);for(;Ut(i)&&!Wr(i);){if(Qu(i))return i;if(xo(i))return null;i=Ai(i)}return null}function Ju(){return Yd==null&&(Yd=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Yd}function Wr(s){return/^(html|body|#document)$/.test(Xr(s))}function ct(s){return La(s).getComputedStyle(s)}function vo(s){return ot(s)?{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}:{scrollLeft:s.scrollX,scrollTop:s.scrollY}}function Ai(s){if(Xr(s)==="html")return s;const i=s.assignedSlot||s.parentNode||Gf(s)&&s.host||yt(s);return Gf(i)?i.host:i}function Ox(s){const i=Ai(s);return Wr(i)?s.ownerDocument?s.ownerDocument.body:s.body:Ut(i)&&hn(i)?i:Ox(i)}function un(s,i,l){var o;i===void 0&&(i=[]),l===void 0&&(l=!0);const u=Ox(s),p=u===((o=s.ownerDocument)==null?void 0:o.body),f=La(u);if(p){const m=Pu(f);return i.concat(f,f.visualViewport||[],hn(u)?u:[],m&&l?un(m):[])}else return i.concat(u,un(u,[],l))}function Pu(s){return s.parent&&Object.getPrototypeOf(s.parent)?s.frameElement:null}function Rx(s){const i=ct(s);let l=parseFloat(i.width)||0,o=parseFloat(i.height)||0;const u=Ut(s),p=u?s.offsetWidth:l,f=u?s.offsetHeight:o,m=ao(l)!==p||ao(o)!==f;return m&&(l=p,o=f),{width:l,height:o,$:m}}function Yu(s){return ot(s)?s:s.contextElement}function Hr(s){const i=Yu(s);if(!Ut(i))return vt(1);const l=i.getBoundingClientRect(),{width:o,height:u,$:p}=Rx(i);let f=(p?ao(l.width):l.width)/o,m=(p?ao(l.height):l.height)/u;return(!f||!Number.isFinite(f))&&(f=1),(!m||!Number.isFinite(m))&&(m=1),{x:f,y:m}}const Mw=vt(0);function Fx(s){const i=La(s);return!Ju()||!i.visualViewport?Mw:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function qw(s,i,l){return i===void 0&&(i=!1),!l||i&&l!==La(s)?!1:i}function $i(s,i,l,o){i===void 0&&(i=!1),l===void 0&&(l=!1);const u=s.getBoundingClientRect(),p=Yu(s);let f=vt(1);i&&(o?ot(o)&&(f=Hr(o)):f=Hr(s));const m=qw(p,l,o)?Fx(p):vt(0);let h=(u.left+m.x)/f.x,b=(u.top+m.y)/f.y,g=u.width/f.x,v=u.height/f.y;if(p){const k=La(p),j=o&&ot(o)?La(o):o;let A=k,P=Pu(A);for(;P&&o&&j!==A;){const D=Hr(P),M=P.getBoundingClientRect(),w=ct(P),O=M.left+(P.clientLeft+parseFloat(w.paddingLeft))*D.x,N=M.top+(P.clientTop+parseFloat(w.paddingTop))*D.y;h*=D.x,b*=D.y,g*=D.x,v*=D.y,h+=O,b+=N,A=La(P),P=Pu(A)}}return io({width:g,height:v,x:h,y:b})}function yo(s,i){const l=vo(s).scrollLeft;return i?i.left+l:$i(yt(s)).left+l}function Bx(s,i){const l=s.getBoundingClientRect(),o=l.left+i.scrollLeft-yo(s,l),u=l.top+i.scrollTop;return{x:o,y:u}}function Lw(s){let{elements:i,rect:l,offsetParent:o,strategy:u}=s;const p=u==="fixed",f=yt(o),m=i?xo(i.floating):!1;if(o===f||m&&p)return l;let h={scrollLeft:0,scrollTop:0},b=vt(1);const g=vt(0),v=Ut(o);if((v||!v&&!p)&&((Xr(o)!=="body"||hn(f))&&(h=vo(o)),v)){const j=$i(o);b=Hr(o),g.x=j.x+o.clientLeft,g.y=j.y+o.clientTop}const k=f&&!v&&!p?Bx(f,h):vt(0);return{width:l.width*b.x,height:l.height*b.y,x:l.x*b.x-h.scrollLeft*b.x+g.x+k.x,y:l.y*b.y-h.scrollTop*b.y+g.y+k.y}}function Gw(s){return Array.from(s.getClientRects())}function Vw(s){const i=yt(s),l=vo(s),o=s.ownerDocument.body,u=Ma(i.scrollWidth,i.clientWidth,o.scrollWidth,o.clientWidth),p=Ma(i.scrollHeight,i.clientHeight,o.scrollHeight,o.clientHeight);let f=-l.scrollLeft+yo(s);const m=-l.scrollTop;return ct(o).direction==="rtl"&&(f+=Ma(i.clientWidth,o.clientWidth)-u),{width:u,height:p,x:f,y:m}}const Vf=25;function Uw(s,i){const l=La(s),o=yt(s),u=l.visualViewport;let p=o.clientWidth,f=o.clientHeight,m=0,h=0;if(u){p=u.width,f=u.height;const g=Ju();(!g||g&&i==="fixed")&&(m=u.offsetLeft,h=u.offsetTop)}const b=yo(o);if(b<=0){const g=o.ownerDocument,v=g.body,k=getComputedStyle(v),j=g.compatMode==="CSS1Compat"&&parseFloat(k.marginLeft)+parseFloat(k.marginRight)||0,A=Math.abs(o.clientWidth-v.clientWidth-j);A<=Vf&&(p-=A)}else b<=Vf&&(p+=b);return{width:p,height:f,x:m,y:h}}function Hw(s,i){const l=$i(s,!0,i==="fixed"),o=l.top+s.clientTop,u=l.left+s.clientLeft,p=Ut(s)?Hr(s):vt(1),f=s.clientWidth*p.x,m=s.clientHeight*p.y,h=u*p.x,b=o*p.y;return{width:f,height:m,x:h,y:b}}function Uf(s,i,l){let o;if(i==="viewport")o=Uw(s,l);else if(i==="document")o=Vw(yt(s));else if(ot(i))o=Hw(i,l);else{const u=Fx(s);
vendor: 4,189 bytes, line 9
9o={x:i.x-u.x,y:i.y-u.y,width:i.width,height:i.height}}return io(o)}function Ix(s,i){const l=Ai(s);return l===i||!ot(l)||Wr(l)?!1:ct(l).position==="fixed"||Ix(l,i)}function _w(s,i){const l=i.get(s);if(l)return l;let o=un(s,[],!1).filter(m=>ot(m)&&Xr(m)!=="body"),u=null;const p=ct(s).position==="fixed";let f=p?Ai(s):s;for(;ot(f)&&!Wr(f);){const m=ct(f),h=Qu(f);!h&&m.position==="fixed"&&(u=null),(p?!h&&!u:!h&&m.position==="static"&&!!u&&(u.position==="absolute"||u.position==="fixed")||hn(f)&&!h&&Ix(s,f))?o=o.filter(g=>g!==f):u=m,f=Ai(f)}return i.set(s,o),o}function Kw(s){let{element:i,boundary:l,rootBoundary:o,strategy:u}=s;const f=[...l==="clippingAncestors"?xo(i)?[]:_w(i,this._c):[].concat(l),o],m=Uf(i,f[0],u);let h=m.top,b=m.right,g=m.bottom,v=m.left;for(let k=1;k<f.length;k++){const j=Uf(i,f[k],u);h=Ma(j.top,h),b=Ci(j.right,b),g=Ci(j.bottom,g),v=Ma(j.left,v)}return{width:b-v,height:g-h,x:v,y:h}}function Ww(s){const{width:i,height:l}=Rx(s);return{width:i,height:l}}function Qw(s,i,l){const o=Ut(i),u=yt(i),p=l==="fixed",f=$i(s,!0,p,i);let m={scrollLeft:0,scrollTop:0};const h=vt(0);function b(){h.x=yo(u)}if(o||!o&&!p)if((Xr(i)!=="body"||hn(u))&&(m=vo(i)),o){const j=$i(i,!0,p,i);h.x=j.x+i.clientLeft,h.y=j.y+i.clientTop}else u&&b();p&&!o&&u&&b();const g=u&&!o&&!p?Bx(u,m):vt(0),v=f.left+m.scrollLeft-h.x-g.x,k=f.top+m.scrollTop-h.y-g.y;return{x:v,y:k,width:f.width,height:f.height}}function $d(s){return ct(s).position==="static"}function Hf(s,i){if(!Ut(s)||ct(s).position==="fixed")return null;if(i)return i(s);let l=s.offsetParent;return yt(s)===l&&(l=l.ownerDocument.body),l}function Mx(s,i){const l=La(s);if(xo(s))return l;if(!Ut(s)){let u=Ai(s);for(;u&&!Wr(u);){if(ot(u)&&!$d(u))return u;u=Ai(u)}return l}let o=Hf(s,i);for(;o&&Rw(o)&&$d(o);)o=Hf(o,i);return o&&Wr(o)&&$d(o)&&!Qu(o)?l:o||Iw(s)||l}const Jw=async function(s){const i=this.getOffsetParent||Mx,l=this.getDimensions,o=await l(s.floating);return{reference:Qw(s.reference,await i(s.floating),s.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Yw(s){return ct(s).direction==="rtl"}const $w={convertOffsetParentRelativeRectToViewportRelativeRect:Lw,getDocumentElement:yt,getClippingRect:Kw,getOffsetParent:Mx,getElementRects:Jw,getClientRects:Gw,getDimensions:Ww,getScale:Hr,isElement:ot,isRTL:Yw};function qx(s,i){return s.x===i.x&&s.y===i.y&&s.width===i.width&&s.height===i.height}function Xw(s,i){let l=null,o;const u=yt(s);function p(){var m;clearTimeout(o),(m=l)==null||m.disconnect(),l=null}function f(m,h){m===void 0&&(m=!1),h===void 0&&(h=1),p();const b=s.getBoundingClientRect(),{left:g,top:v,width:k,height:j}=b;if(m||i(),!k||!j)return;const A=Il(v),P=Il(u.clientWidth-(g+k)),D=Il(u.clientHeight-(v+j)),M=Il(g),O={rootMargin:-A+"px "+-P+"px "+-D+"px "+-M+"px",threshold:Ma(0,Ci(1,h))||1};let N=!0;function F(z){const _=z[0].intersectionRatio;if(_!==h){if(!N)return f();_?f(!1,_):o=setTimeout(()=>{f(!1,1e-7)},1e3)}_===1&&!qx(b,s.getBoundingClientRect())&&f(),N=!1}try{l=new IntersectionObserver(F,{...O,root:u.ownerDocument})}catch{l=new IntersectionObserver(F,O)}l.observe(s)}return f(!0),p}function Zw(s,i,l,o){o===void 0&&(o={});const{ancestorScroll:u=!0,ancestorResize:p=!0,elementResize:f=typeof ResizeObserver=="function",layoutShift:m=typeof IntersectionObserver=="function",animationFrame:h=!1}=o,b=Yu(s),g=u||p?[...b?un(b):[],...i?un(i):[]]:[];g.forEach(M=>{u&&M.addEventListener("scroll",l,{passive:!0}),p&&M.addEventListener("resize",l)});const v=b&&m?Xw(b,l):null;let k=-1,j=null;f&&(j=new ResizeObserver(M=>{let[w]=M;w&&w.target===b&&j&&i&&(j.unobserve(i),cancelAnimationFrame(k),k=requestAnimationFrame(()=>{var O;(O=j)==null||O.observe(i)})),l()}),b&&!h&&j.observe(b),i&&j.observe(i));let A,P=h?$i(s):null;h&&D();function D(){const M=$i(s);P&&!qx(P,M)&&l(),P=M,A=requestAnimationFrame(D)}return l(),()=>{var M;g.forEach(w=>{u&&w.removeEventListener("scroll",l),p&&w.removeEventListener("resize",l)}),v?.(),(M=j)==null||M.disconnect(),j=null,h&&cancelAnimationFrame(A)}}const ej=Dw,aj=zw,tj=Sw,ij=Ow,rj=Tw,_f=Aw,sj=Ew,nj=(s,i,l)=>{const o=new Map,u={platform:$w,...l},p={...u.platform,_c:o};return Cw(s,i,{...u,platform:p})};var lj=typeof document<"u",oj=function(){}
vendor: 6,527 bytes, line 9
9,Ql=lj?C.useLayoutEffect:oj;function ro(s,i){if(s===i)return!0;if(typeof s!=typeof i)return!1;if(typeof s=="function"&&s.toString()===i.toString())return!0;let l,o,u;if(s&&i&&typeof s=="object"){if(Array.isArray(s)){if(l=s.length,l!==i.length)return!1;for(o=l;o--!==0;)if(!ro(s[o],i[o]))return!1;return!0}if(u=Object.keys(s),l=u.length,l!==Object.keys(i).length)return!1;for(o=l;o--!==0;)if(!{}.hasOwnProperty.call(i,u[o]))return!1;for(o=l;o--!==0;){const p=u[o];if(!(p==="_owner"&&s.$$typeof)&&!ro(s[p],i[p]))return!1}return!0}return s!==s&&i!==i}function Lx(s){return typeof window>"u"?1:(s.ownerDocument.defaultView||window).devicePixelRatio||1}function Kf(s,i){const l=Lx(s);return Math.round(i*l)/l}function Xd(s){const i=C.useRef(s);return Ql(()=>{i.current=s}),i}function cj(s){s===void 0&&(s={});const{placement:i="bottom",strategy:l="absolute",middleware:o=[],platform:u,elements:{reference:p,floating:f}={},transform:m=!0,whileElementsMounted:h,open:b}=s,[g,v]=C.useState({x:0,y:0,strategy:l,placement:i,middlewareData:{},isPositioned:!1}),[k,j]=C.useState(o);ro(k,o)||j(o);const[A,P]=C.useState(null),[D,M]=C.useState(null),w=C.useCallback(R=>{R!==z.current&&(z.current=R,P(R))},[]),O=C.useCallback(R=>{R!==_.current&&(_.current=R,M(R))},[]),N=p||A,F=f||D,z=C.useRef(null),_=C.useRef(null),Q=C.useRef(g),Z=h!=null,se=Xd(h),re=Xd(u),ue=Xd(b),we=C.useCallback(()=>{if(!z.current||!_.current)return;const R={placement:i,strategy:l,middleware:k};re.current&&(R.platform=re.current),nj(z.current,_.current,R).then(Y=>{const J={...Y,isPositioned:ue.current!==!1};X.current&&!ro(Q.current,J)&&(Q.current=J,mo.flushSync(()=>{v(J)}))})},[k,i,l,re,ue]);Ql(()=>{b===!1&&Q.current.isPositioned&&(Q.current.isPositioned=!1,v(R=>({...R,isPositioned:!1})))},[b]);const X=C.useRef(!1);Ql(()=>(X.current=!0,()=>{X.current=!1}),[]),Ql(()=>{if(N&&(z.current=N),F&&(_.current=F),N&&F){if(se.current)return se.current(N,F,we);we()}},[N,F,we,se,Z]);const me=C.useMemo(()=>({reference:z,floating:_,setReference:w,setFloating:O}),[w,O]),L=C.useMemo(()=>({reference:N,floating:F}),[N,F]),K=C.useMemo(()=>{const R={position:l,left:0,top:0};if(!L.floating)return R;const Y=Kf(L.floating,g.x),J=Kf(L.floating,g.y);return m?{...R,transform:"translate("+Y+"px, "+J+"px)",...Lx(L.floating)>=1.5&&{willChange:"transform"}}:{position:l,left:Y,top:J}},[l,m,L.floating,g.x,g.y]);return C.useMemo(()=>({...g,update:we,refs:me,elements:L,floatingStyles:K}),[g,we,me,L,K])}const dj=s=>{function i(l){return{}.hasOwnProperty.call(l,"current")}return{name:"arrow",options:s,fn(l){const{element:o,padding:u}=typeof s=="function"?s(l):s;return o&&i(o)?o.current!=null?_f({element:o.current,padding:u}).fn(l):{}:o?_f({element:o,padding:u}).fn(l):{}}}},uj=(s,i)=>{const l=ej(s);return{name:l.name,fn:l.fn,options:[s,i]}},mj=(s,i)=>{const l=aj(s);return{name:l.name,fn:l.fn,options:[s,i]}},pj=(s,i)=>({fn:sj(s).fn,options:[s,i]}),hj=(s,i)=>{const l=tj(s);return{name:l.name,fn:l.fn,options:[s,i]}},gj=(s,i)=>{const l=ij(s);return{name:l.name,fn:l.fn,options:[s,i]}},fj=(s,i)=>{const l=rj(s);return{name:l.name,fn:l.fn,options:[s,i]}},bj=(s,i)=>{const l=dj(s);return{name:l.name,fn:l.fn,options:[s,i]}};var xj="Arrow",Gx=C.forwardRef((s,i)=>{const{children:l,width:o=10,height:u=5,...p}=s;return e.jsx(Aa.svg,{...p,ref:i,width:o,height:u,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:s.asChild?l:e.jsx("polygon",{points:"0,0 30,0 15,10"})})});Gx.displayName=xj;var vj=Gx;function yj(s){const[i,l]=C.useState(void 0);return Ni(()=>{if(s){l({width:s.offsetWidth,height:s.offsetHeight});const o=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const p=u[0];let f,m;if("borderBoxSize"in p){const h=p.borderBoxSize,b=Array.isArray(h)?h[0]:h;f=b.inlineSize,m=b.blockSize}else f=s.offsetWidth,m=s.offsetHeight;l({width:f,height:m})});return o.observe(s,{box:"border-box"}),()=>o.unobserve(s)}else l(void 0)},[s]),i}var Vx="Popper",[Ux,Hx]=po(Vx),[TC,_x]=Ux(Vx),Kx="PopperAnchor",Wx=C.forwardRef((s,i)=>{const{__scopePopper:l,virtualRef:o,...u}=s,p=_x(Kx,l),f=C.useRef(null),m=lt(i,f),h=C.useRef(null);return C.useEffect(()=>{const b=h.current;h.current=o?.current||f.current,b!==h.current&&p.onAnchorChange(h.current)}),o?null:e.jsx(Aa.div,{...u,ref:m})});Wx.displayName=Kx;var $u="PopperContent",[kj,wj]=Ux($u),Qx=C.forwardRef((s,i)=>{const{__scopePopper:l,side:o="bottom",sideOffset:u=0,align:p="center",alignOffset:f=0,arrowPadding:m=0,avoidCollisions:h=!0,collisionBoundary:b=[],collisionPadding:g=0,sticky:v="partial",hideWhenDetached:k=!1,updatePositionStrategy:j="optimized",onPlaced:A,...P}=s,D=_x($u,l),[M,w]=C.useState(null),O=lt(i,ga=>w(ga)),[N,F]=C.useState(null),z=yj(N),_=z?.width??0,Q=z?.height??0,Z=o+(p!=="center"?"-"+p:""),se=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},re=Array.isArray(b)?b:[b],ue=re.length>0,we={padding:se,boundary:re.filter(Nj),altBoundary:ue},{refs:X,floatingStyles:me,placement:L,isPositioned:K,middlewareData:R}=cj({strategy:"fixed",placement:Z,whileElementsMounted:(...ga)=>Zw(...ga,{animationFrame:j==="always"}),elements:{reference:D.anchor},middleware:[uj({mainAxis:u+Q,alignmentAxis:f}),h&&mj({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?pj():void 0,...we}),h&&hj({...we}),gj({...we,apply:({elements:ga,rects:dt,availableWidth:Be,availableHeight:Ht})=>{const{width:et,height:ut}=dt.reference,Ga=ga.floating.style;Ga.setProperty("--radix-popper-available-width",`${Be}px`),Ga.setProperty("--radix-popper-available-height",`${Ht}px`),Ga.setProperty("--radix-popper-anchor-width",`${et}px`),Ga.setProperty("--radix-popper-anchor-height",`${ut}px`)}}),N&&bj({element:N,padding:m}),Cj({arrowWidth:_,arrowHeight:Q}),k&&fj({strategy:"referenceHidden",...we})]}),[Y,J]=$x(L),je=ji(A);Ni(()=>{K&&je?.()},[K,je]);const ve=R.arrow?.x,pe=R.arrow?.y,Ne=R.arrow?.centerOffset!==0,[Se,Me]=C.useState();return Ni(()=>{M&&Me(window.getComputedStyle(M).zIndex)},[M]),e.jsx("div",{ref:X.setFloating,"data-radix-popper-content-wrapper":"",style:{...me,transform:K?me.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[R.transformOrigin?.x,R.transformOrigin?.y].join(" "),...R.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:s.dir,children:e.jsx(kj,{scope:l,placedSide:Y,onArrowChange:F,arrowX:ve,arrowY:pe,shouldHideArrow:Ne,children:e.jsx(Aa.div,{"data-side":Y,"data-align":J,...P,ref:O,style:{...P.style,animation:K?void 0:"none"}})})})});Qx.displayName=$u;var Jx="PopperArrow",jj={top:"bottom",right:"left",bottom:"top",left:"r
9ight"},Yx=C.forwardRef(function(i,l){const{__scopePopper:o,...u}=i,p=wj(Jx,o),f=jj[p.placedSide];return e.jsx("span",{ref:p.onArrowChange,style:{position:"absolute",left:p.arrowX,top:p.arrowY,[f]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[p.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[p.placedSide],visibility:p.shouldHideArrow?"hidden":void 0},children:e.jsx(vj,{...u,ref:l,style:{...u.style,display:"block"}})})});Yx.displayName=Jx;function Nj(s){return s!==null}var Cj=s=>({name:"transformOrigin",options:s,fn(i){const{placement:l,rects:o,middlewareData:u}=i,f=u.arrow?.centerOffset!==0,m=f?0:s.arrowWidth,h=f?0:s.arrowHeight,[b,g]=$x(l),v={start:"0%",center:"50%",end:"100%"}[g],k=(u.arrow?.x??0)+m/2,j=(u.arrow?.y??0)+h/2;let A="",P="";return b==="bottom"?(A=f?v:`${k}px`,P=`${-h}px`):b==="top"?(A=f?v:`${k}px`,P=`${o.floating.height+h}px`):b==="right"?(A=`${-h}px`,P=f?v:`${j}px`):b==="left"&&(A=`${o.floating.width+h}px`,P=f?v:`${j}px`),{data:{x:A,y:P}}}});function $x(s){const[i,l="center"]=s.split("-");return[i,l]}var Aj=Wx,Sj=Qx,Tj=Yx,[ko]=po("Tooltip",[Hx]),Xu=Hx(),Xx="TooltipProvider",Pj=700,Wf="tooltip.open",[Dj,Zx]=ko(Xx),ev=s=>{const{__scopeTooltip:i,delayDuration:l=Pj,skipDelayDuration:o=300,disableHoverableContent:u=!1,children:p}=s,f=C.useRef(!0),m=C.useRef(!1),h=C.useRef(0);return C.useEffect(()=>{const b=h.current;return()=>window.clearTimeout(b)},[]),e.jsx(Dj,{scope:i,isOpenDelayedRef:f,delayDuration:l,onOpen:C.useCallback(()=>{window.clearTimeout(h.current),f.current=!1},[]),onClose:C.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>f.current=!0,o)},[o]),isPointerInTransitRef:m,onPointerInTransitChange:C.useCallback(b=>{m.current=b},[]),disableHoverableContent:u,children:p})};ev.displayName=Xx;var av="Tooltip",[PC,gn]=ko(av),Du="TooltipTrigger",zj=C.forwardRef((s,i)=>{const{__scopeTooltip:l,...o}=s,u=gn(Du,l),p=Zx(Du,l),f=Xu(l),m=C.useRef(null),h=lt(i,m,u.onTriggerChange),b=C.useRef(!1),g=C.useRef(!1),v=C.useCallback(()=>b.current=!1,[]);return C.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),e.jsx(Aj,{asChild:!0,...f,children:e.jsx(Aa.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...o,ref:h,onPointerMove:ta(s.onPointerMove,k=>{k.pointerType!=="touch"&&!g.current&&!p.isPointerInTransitRef.current&&(u.onTriggerEnter(),g.current=!0)}),onPointerLeave:ta(s.onPointerLeave,()=>{u.onTriggerLeave(),g.current=!1}),onPointerDown:ta(s.onPointerDown,()=>{u.open&&u.onClose(),b.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:ta(s.onFocus,()=>{b.current||u.onOpen()}),onBlur:ta(s.onBlur,u.onClose),onClick:ta(s.onClick,u.onClose)})})});zj.displayName=Du;var Zu="TooltipPortal",[Ej,Oj]=ko(Zu,{forceMount:void 0}),tv=s=>{const{__scopeTooltip:i,forceMount:l,children:o,container:u}=s,p=gn(Zu,i);return e.jsx(Ej,{scope:i,forceMount:l,children:e.jsx(ho,{present:l||p.open,children:e.jsx(qu,{asChild:!0,container:u,children:o})})})};tv.displayName=Zu;var Qr="TooltipContent",iv=C.forwardRef((s,i)=>{const l=Oj(Qr,s.__scopeTooltip),{forceMount:o=l.forceMount,side:u="top",...p}=s,f=gn(Qr,s.__scopeTooltip);return e.jsx(ho,{present:o||f.open,children:f.disableHoverableContent?e.jsx(rv,{side:u,...p,ref:i}):e.jsx(Rj,{side:u,...p,ref:i})})}),Rj=C.forwardRef((s,i)=>{const l=gn(Qr,s.__scopeTooltip),o=Zx(Qr,s.__scopeTooltip),u=C.useRef(null),p=lt(i,u),[f,m]=C.useState(null),{trigger:h,onClose:b}=l,g=u.current,{onPointerInTransitChange:v}=o,k=C.useCallback(()=>{m(null),v(!1)},[v]),j=C.useCallback((A,P)=>{const D=A.currentTarget,M={x:A.clientX,y:A.clientY},w=qj(M,D.getBoundingClientRect()),O=Lj(M,w),N=Gj(P.getBoundingClientRect()),F=Uj([...O,...N]);m(F),v(!0)},[v]);return C.useEffect(()=>()=>k(),[k]),C.useEffect(()=>{if(h&&g){const A=D=>j(D,g),P=D=>j(D,h);return h.addEventListener("pointerleave",A),g.addEventListener("pointerleave",P),()=>{h.removeEventListener("pointerleave",A),g.removeEventListener("pointerleave",P)}}},[h,g,j,k]),C.useEffect(()=>{if(f){const A=P=>{const D=P.target,M={x:P.clientX,y:P.clientY},w=h?.contains(D)||g?.contains(D),O=!Vj(M,f);w?k():O&&(k(),b())};return document.addEventListener("pointermove",A),()=>document.removeEventListener("pointermove",A)}},[h,g,f,b,k]),e.jsx(rv,{...s,ref:p})}),[Fj,Bj]=ko(av,{isInside:!1}),Ij=zk("TooltipContent"),rv=C.forwardRef((s,i)=>{const{__scopeTooltip:l,children:o,"aria-label":u,onEscapeKeyDown:p,onPointerDownOutside:f,...m}=s,h=gn(Qr,l),b=Xu(l),{onClose:g}=h;return C.useEffect(()=>(document.addEventListener(Wf,g),()=>document.removeEventListener(Wf,g)),[g]),C.useEffect(()=>{if(h.trigger){const v=k=>{k.target?.contains(h.trigger)&&g()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[h.trigger,g]),e.jsx(Mu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:v=>v.preventDefault(),onDismiss:g,children:e.jsxs(Sj,{"data-state":h.stateAttribute,...b,...m,ref:i,style:{...m.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[e.jsx(Ij,{children:o}),e.jsx(Fj,{scope:l,isInside:!0,children:e.jsx(t1,{id:h.contentId,role:"tooltip",children:u||o})})]})})});
vendor: 4,849 bytes, lines 9-10
9iv.displayName=Qr;var sv="TooltipArrow",Mj=C.forwardRef((s,i)=>{const{__scopeTooltip:l,...o}=s,u=Xu(l);return Bj(sv,l).isInside?null:e.jsx(Tj,{...u,...o,ref:i})});Mj.displayName=sv;function qj(s,i){const l=Math.abs(i.top-s.y),o=Math.abs(i.bottom-s.y),u=Math.abs(i.right-s.x),p=Math.abs(i.left-s.x);switch(Math.min(l,o,u,p)){case p:return"left";case u:return"right";case l:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function Lj(s,i,l=5){const o=[];switch(i){case"top":o.push({x:s.x-l,y:s.y+l},{x:s.x+l,y:s.y+l});break;case"bottom":o.push({x:s.x-l,y:s.y-l},{x:s.x+l,y:s.y-l});break;case"left":o.push({x:s.x+l,y:s.y-l},{x:s.x+l,y:s.y+l});break;case"right":o.push({x:s.x-l,y:s.y-l},{x:s.x-l,y:s.y+l});break}return o}function Gj(s){const{top:i,right:l,bottom:o,left:u}=s;return[{x:u,y:i},{x:l,y:i},{x:l,y:o},{x:u,y:o}]}function Vj(s,i){const{x:l,y:o}=s;let u=!1;for(let p=0,f=i.length-1;p<i.length;f=p++){const m=i[p],h=i[f],b=m.x,g=m.y,v=h.x,k=h.y;g>o!=k>o&&l<(v-b)*(o-g)/(k-g)+b&&(u=!u)}return u}function Uj(s){const i=s.slice();return i.sort((l,o)=>l.x<o.x?-1:l.x>o.x?1:l.y<o.y?-1:l.y>o.y?1:0),Hj(i)}function Hj(s){if(s.length<=1)return s.slice();const i=[];for(let o=0;o<s.length;o++){const u=s[o];for(;i.length>=2;){const p=i[i.length-1],f=i[i.length-2];if((p.x-f.x)*(u.y-f.y)>=(p.y-f.y)*(u.x-f.x))i.pop();else break}i.push(u)}i.pop();const l=[];for(let o=s.length-1;o>=0;o--){const u=s[o];for(;l.length>=2;){const p=l[l.length-1],f=l[l.length-2];if((p.x-f.x)*(u.y-f.y)>=(p.y-f.y)*(u.x-f.x))l.pop();else break}l.push(u)}return l.pop(),i.length===1&&l.length===1&&i[0].x===l[0].x&&i[0].y===l[0].y?i:i.concat(l)}var _j=ev,Kj=tv,nv=iv;const Wj=_j,Qj=C.forwardRef(({className:s,sideOffset:i=4,...l},o)=>e.jsx(Kj,{children:e.jsx(nv,{ref:o,sideOffset:i,className:Ti("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",s),...l})}));Qj.displayName=nv.displayName;const Jj={home:"Home",products:"Products",drakon:"Perceptrum Corporate",perceptrum:"Perceptrum Personal",fastai:"F.A.S.T.-AI",about:"About Us",contact:"Contact",useCases:"Use Cases",specs:"Specs",downloads:"Downloads",drakonSub:"Public Security",perceptrumSub:"Private Security",drakonVoiceSub:"Voice AI",fastSub:"Urban Planning",glossario:"Glossary",blog:"Blog"},Yj={coretech:"Core Technology",learnMore:"Learn More",requestDemo:"Request Demo",contactUs:"Contact Us",connectCity:"Connect Your City",download:"Download for Windows",howItWorks:"How It Works",theEcosystem:"The Ecosystem",viewAll:"View All",readMore:"Read More",backHome:"Back to Home",publicSector:"Public Sector",privateSector:"Private Sector",bothSectors:"Public & Private",imus:"Universal Multimodal Security Interpretation",imusShort:"Universal Multimodal Security Interpretation",imusDesc:"The proprietary AI engine shared by all three platforms. It simultaneously processes video, audio, text and images — understanding context the way a trained human operator would, at unlimited scale.",discoverMore:"Discover More",requestTechDoc:"Request Technical Documentation",enterpriseDemo:"Request Enterprise Demo",privacy:"Privacy & LGPD",yes:"Yes",no:"No",footerProducts:"Products",footerCompany:"Company",footerContact:"Contact",footerAbout:"About Us",footerCareers:"Careers",footerHQ:`Global Headquarters
10AI Innovation Hub`,footerAllRights:"All rights reserved.",footerPrivacy:"Privacy Policy",footerTerms:"Terms of Service",contextEngineLabel1:"Continuous processing",contextEngineLabel2:"Real-time analysis",contextEngineLabel3:"Persistent context",pitchLink:"Commercial Presentation"},$j={heroTag:"AI · Computer Vision · Smart Cities",heroTitle:"Intelligence that sees. Understands. Acts.",heroSub:"AiQuimist.ai creates AI platforms that transform cameras into intelligent agents — for public safety, private security, and smart cities.",products:"Our Platforms",productsSub:"Three integrated platforms. One unified intelligence architecture.",drakonTitle:"Perceptrum Corporate",drakonSub:"Autonomous AI for public security",drakonDesc:"Transforms public and private camera networks into active intelligence — detecting threats, tracking suspects and generating real-time alerts without human intervention.",perceptrumTitle:"Perceptrum Personal",perceptrumSub:"Private sector multimodal AI",perceptrumDesc:"Brings advanced multimodal intelligence to businesses, condominiums and homes — enabling natural language camera queries, automatic crime detection and voluntary cooperation with public security.",fastaiT
10itle:"F.A.S.T.-AI",fastaiSub:"Autonomous Security and Traffic Monitoring",fastaiDesc:"Autonomous urban intelligence for traffic enforcement, mobility analysis and territorial surveillance — reading the city in real time.",imusSectionTitle:"One engine. Three platforms. Infinite scale.",imusSectionSub:"All three platforms share the same core AI engine:",imusPillar1:"Interpretation",imusPillar1desc:"The system understands context — not just records data.",imusPillar2:"Multimodal",imusPillar2desc:"Simultaneously analyzes video, audio, text and images.",imusPillar3:"Universal",imusPillar3desc:"Works on any compatible infrastructure — no hardware replacement needed.",imusPillar4:"Security",imusPillar4desc:"Its purpose: prevention, surveillance, protection and operational response.",ecosystemTitle:"A cooperative architecture without precedent",ecosystemSub:"The true power lies in integration. When Perceptrum Corporate, Perceptrum Personal and F.A.S.T.-AI operate together, they create a distributed perception network that covers public spaces, private environments and urban territory simultaneously.",stat1:"Any camera",stat1sub:"works without replacement",stat2:"24/7",stat2sub:"fully autonomous",stat3:"10+ languages",stat3sub:"global platform",stat4:"LGPD",stat4sub:"fully compliant",orchTag:"ANALYTICAL ORCHESTRATION",orchTitle1:"Analytical",orchTitle2:"Multi-Stage and Multi-Camera",orchSub:"The platform connects multiple analyses in sequence, between different cameras and moments, to transform simple events into complete, auditable and actionable analytical processes.",orchWhatTag:"WHAT THE PLATFORM DOES",orchCap1:"Orchestrates analyses across multiple cameras and multiple stages",orchCap2:"Uses the result of one stage as context for the next",orchCap3:"Correlates events in time, space and operational logic",orchCap4:"Applies validation, comparison, counting and consistency rules",orchCap5:"Consolidates distributed evidence and generates conditional alerts",orchCap6:"Goes beyond single-camera detection and supports complex flows",orchFlowTag:"HOW THE FLOW WORKS",orchNode1label:"CAMERA A",orchNode1desc:"Initial detection",orchNode2label:"LOGICAL STEP",orchNode2desc:"Rules + context",orchNode3label:"CAMERA B",orchNode3desc:"Passage confirmation",orchNode4label:"CONSOLIDATION",orchNode4desc:"Correlated evidence",orchNode5label:"ALERT",orchNode5desc:"Conditioned action",orchUserTag:"For users",orchUserTitle:"What this means in practice",orchUserP1:"Instead of analyzing each camera separately, the platform connects different events and stages to understand the complete process. Information identified at one point can be used to validate, confirm or complement analyses at other monitored points.",orchUserP2:"This makes it possible to track paths, confirm passages, verify operational sequences, identify divergences and generate alerts with much more context and precision.",orchStrategicTag:"Strategic summary",orchStrategicTitle:"Beyond single-camera detection",orchStrategicP:"This feature expands the platform's analytical capability by enabling sophisticated tasks that depend on multiple events, multiple monitored points and multiple validations. The solution moves beyond unit detection per camera and supports complete, configurable and auditable processes, tailored to the operational needs of each environment.",orchAppsTag:"MAIN APPLICATIONS",orchApp1:"Path tracking between different monitored points",orchApp2:"Confirmation of passage between origin and destination",orchApp3:"Validation of expected operational sequence",orchApp4:"Identification of divergences and inconsistencies",orchApp5:"Reconciliation of events distributed in time and space",orchApp6:"Alerts based on the combination of multiple pieces of evidence",orchDevTag:"For developers and architects",orchDev1:"Multi-stage analytical workflows with multiple steps and multiple cameras",orchDev2:"Inference chaining with reuse of output as subsequent input",orchDev3:"Temporal, spatial and logical correlation between independent events",orchDev4:"Application of business rules and time criteria at each stage of the flow",orchDev5:"Operational sequence validation, origin-destination reconciliation and divergence analysis",orchDev6:"Alert generation based on consolidation of evidence distributed throughout the process",ctaTitle:"Ready to transform your security infrastru
10cture?",ctaSub:"Talk to our team and discover how the ecosystem can serve your city, institution or business.",techCapTitle:"Technical Capabilities",techCapSub:"Advanced detection and tracking powered by the UMSI engine.",tab0:"Autonomous Search",tab1:"Body Recognition",tab2:"Object Search",f0t0:"Violent Action",f0d0:"Detects fights and assaults in real-time.",f0t1:"Photo/Video Track",f0d1:"Recognize and follow individuals from provided media.",f0t2:"Physical Traits",f0d2:"Search based on characteristics, metadata, or images.",f0t3:"Target Pursuit",f0d3:"Identify wanted individuals and track them across networks.",f1t0:"Aggressor Logging",f1d0:"Complete record of aggressor characteristics and metadata.",f1t1:"Crowd Analysis",f1d1:"Monitor dense areas for anomalies.",f1t2:"Posture Detection",f1d2:"Identify suspicious loitering or hiding.",f1t3:"Multi-cam Handoff",f1d3:"Seamlessly pass body tracking between camera views.",f2t0:"License Plates",f2d0:"Active pursuit of specific vehicle plates (ALPR).",f2t1:"Vehicle Traits",f2d1:"Search by color, make, model, and damage.",f2t2:"Weapon Detection",f2d2:"Immediate alerts for firearms or bladed weapons.",f2t3:"Custom Objects",f2d3:"The system recognizes any object — just tell it what you're looking for.",marqueeItems:["STREETS","NEIGHBORHOODS","CITIES","STATES","COUNTRY","ALL CONNECTED"],networkTag:"UNIFIED INTELLIGENCE NETWORK",networkTitle:"One Search.",networkTitleCyan:"Every Scale.",networkSub:"From a street to an entire country — Perceptrum, Perceptrum Corporate and F.A.S.T.-AI work as one network: millions of private cameras, thousands of government systems, and FAST-AI traffic cameras all connected."},Xj=JSON.parse(`{"tag":"Public Safety · Institutional · Mission Critical","heroTitle":"Cameras are everywhere.","heroTitle2":"But do they really protect you?","heroSub":"Perceptrum Corporate transforms any camera into an active intelligent surveillance agent — operating 24/7, without human intervention.","seeSolution":"See the Solution","integratedSurveillance":"INTEGRATED SURVEILLANCE","stat1":"24/7 — Continuous Monitoring","stat2":"100% — Automatic and Autonomous","stat3":"0 — Cameras replaced","stat4":"LGPD — Fully Compliant","problemTag":"The Problem","problemTitle":"The old model is silently failing","problem1":"Cameras used only for traffic fines","problem2":"Manual monitoring — slow and inefficient","problem3":"No autonomous response to critical events","problem4":"Vast infrastructure underutilized by the State","problemStat":"< 5% of incidents handled in real time by the current monitoring model","solutionTag":"The Solution","solutionTitle":"What if every camera became intelligent?","sol1title":"Public and private cameras","sol1desc":"Homes, businesses, shops and roads — all integrated","sol2title":"AI that understands context","sol2desc":"Not just detection — it interprets the scene like an experienced operator","sol3title":"Natural language","sol3desc":"Configure and query cameras by talking — no technical knowledge needed","solQuote":"Public and private cameras. All cameras. No exceptions. For the first time, security forces can operate within a unified intelligent surveillance network — without violating citizens' privacy.","imusCallout":"Perceptrum Corporate is built on a proprietary multimodal AI engine that simultaneously processes video, audio, and contextual metadata — interpreting scenes the way a trained human operator would, but at unlimited scale.","howTag":"How It Works","howTitle":"Simple to operate. Powerful in practice.","step1title":"Dashboard","step1sub":"Real-time operational control panel","step1desc":"Monitor all active tasks, recent alerts, running cameras and upcoming schedules in one screen.","step1b1":"Cameras, jobs and agents in execution","step1b2":"Alerts by priority: Critical, High, Medium, Low","step1b3":"Upcoming automatic schedules","step1b4":"Full event history","step2title":"Tasks (Jobs)","step2sub":"Configure automated monitoring missions","step2desc":"Create Jobs with daily, weekly, monthly or annual recurrence. Set start and end times. The system starts, runs and finishes on its own.","step2b1":"Flexible recurring scheduling","step2b2":"Multiple cameras per task","step2b3":"Logical conditions between cameras","step2b4":"Incident context preserved over time","step3title":"Steps","step3sub":"Decision flow like an experienced operator","step3desc":"Each step can trigger a different camera, apply conditions and define the next action: analyze another camera, trigger an alarm, close a door or send a message.","step3b1":"Image (frame) or direct video analysis","step3b2":"True/false conditions per step","step3b3":"Multiple cameras in one step","step3b4":"Individual prompts per camera or group","step4title":"Smart Prompts","step4sub":"AI that writes prompts for you","step4desc":"The system automatically suggests optimized prompts for each situation — including alert conditions and negative conditions to reduce false positives.","step4b1":"Core Prompt for incident identification","step4b2":"Configurable Alert Condition","step4b3":"Negative Condition to reduce false positives","step4b4":"AI enhances the prompt with one click","engineTag":"AI Context Engine","engineTitle":"Continuous video. Real context. Actionable intelligence.","engine1title":"Continuous video processing","engine1desc":"Native analysis of video streams, without exclusive reliance on static frames.","engine2title":"Temporal continuity","engine2desc":"Chronological and causal understanding of events to identify complex behaviors.","engine3title":"Massive context window","engine3desc":"Operational memory of long video and audio periods for advanced event correlation.","engine4title":"Automatic tracking","engine4desc":"Detection of specific occurrences with automatic tracking activation on the corporate platform and free private solution.","engine5title":"Greater coverage area","engine5desc":"Enables integrated operation between public and private cameras, expanding monitoring coverage at no cost to citizens.","engineCovTitle":"Greater coverage area. Intelligent search across the entire network.","engineCovP1":"Perceptrum Corporate extraordinarily expands the ability to locate people, vehicles and objects of interest. This happens because the platform can integrate public security operations with an extensive authorized private monitoring network, greatly increasing search reach.","engineCovP2":"When a search is initiated, the system can look for the target at different c
10overage levels — streets, neighborhoods, cities, states or the entire available network — according to the access permissions of each operation. Once the person, vehicle or object is found, Perceptrum Corporate automatically begins tracking, reporting where it was seen, the route taken and where it reappeared, always supported by images and videos to document the occurrence.","engineCovP3":"The key differentiator of Perceptrum Corporate is that it does not rely solely on manual searches by an operator. In addition to locating by visual characteristics, the platform can identify situations and behaviors of interest and automatically trigger search and tracking — recognizing relevant facts like an armed person or a vehicle involved in an incident and activating tracking across the entire available camera network.","engineCovLevels":["Streets","Neighborhoods","Cities","States","Network","National"],"engineQuote":"Greater coverage area. Intelligent search across the entire network.","engineQuoteDesc":"Perceptrum Corporate extraordinarily expands the ability to locate people, vehicles and objects of interest by integrating public security with an extensive authorized private monitoring network.","findTag":"Perceptrum Find","findTitle":"Intelligent distributed search to locate people, vehicles and objects in real time.","findTab1":"People","findTab2":"Vehicles","findTab3":"Objects","findTab4":"Real Time","findQuote":"A single operation can trigger a large-scale search.","findStep1":"Register the target with description and reference images","findStep2":"Define the coverage area by state or region","findStep3":"Monitor the operation in real time","findStep4":"View results received live","findStep5":"Audit every step with full traceability","corpPlatTag":"Corporate and Institutional Platform","corpPlatTitle":"Perceptrum Corporate: real expansion of surveillance coverage","corpPlatDesc":"Perceptrum Corporate is the corporate and institutional platform of the network. When a search is initiated, it automatically activates all public cameras connected to the authorized ecosystem in the defined region — public agencies, city halls, states, secretariats and official monitoring structures. An incident identified at one point can be searched across a much larger area, with much greater response capacity.","targetRegTag":"Target Registration","targetRegTitle":"The search target is defined simply and visually","targetRegDesc":"To start an operation, simply inform what needs to be found. The platform allows registering target type, objective description, visual characteristics, observed context and reference images — transforming operational information into a structured visual target, ready to be distributed across the network.","geoSelectTag":"Geographic Selection","geoSelectTitle":"Search by region, city, state or defined area","geoSelectDesc":"Perceptrum Find allows you to clearly define where the operation should take place. It is possible to select the search area by geofence, including streets, neighborhoods or specific regions. The search stops being generic and becomes intelligent, targeted and operationally efficient.","geoSelectBadge1":"More operational focus","geoSelectBadge2":"Less unnecessary processing","geoSelectBadge3":"Much faster response","privDesignTag":"Perceptrum Corporate + Perceptrum Partnership","privDesignTitle":"Perceptrum: the private layer that expands the network without exposing privacy","privDesignDesc":"Perceptrum is the private version of the technology, designed for businesses, shops, condominiums and homes. It participates in the search network in an authorized manner, expanding operational coverage without requiring invasive integration. When an authorized search is distributed by Perceptrum Corporate, enabled private environments collaborate locally — and the system returns only what is necessary for the operation, using the requester Perceptrum Corporate's API KEY, without spending the private user's tokens.","privDesignSub":"More coverage, without opening live video to third parties","realTimeTag":"Real-Time Operation","realTimeTitle":"Operation monitored live, with full traceability","realTimeDesc":"It is not enough to search. You need to monitor, record and audit. Perceptrum Find was designed to offer real-time operational vision: search progress, execution status, results received, operational events and complete audit trail.","valuePropTitle":"A new way to expand electronic security","valuePropSub"
10:"With the Perceptrum Corporate + Perceptrum ecosystem, surveillance stops being limited to isolated islands of cameras and starts functioning as an intelligent, distributed and collaborative network.","valueProp1":"Expand coverage","valueProp2":"Reduce integration costs","valueProp3":"Simplify operation","valueProp4":"Preserve privacy","valueProp5":"Make search much more efficient","perceptrumTitle":"Perceptrum: the private layer that expands the network without exposing privacy","perceptrumDesc":"Perceptrum is the private version of the technology, designed for businesses, shops, condominiums and homes. It participates in the search network in an authorized manner, expanding operational coverage.","priv1":"No live video streaming to third parties","priv2":"No installation of additional equipment","priv3":"No integrations that increase the risk surface","priv4":"Authorized and reversible collaboration by the owner","capTitle":"One platform. Unlimited capability.","cap1title":"24/7 Surveillance","cap1desc":"Autonomous agents that never sleep, monitoring events in real time.","cap2title":"Camera Chat","cap2desc":"Ask anything in natural language. The AI responds based on live video.","cap3title":"Automatic Alerts","cap3desc":"Immediate notifications by email, SMS or integrated systems when an incident is detected.","cap4title":"Target Tracking","cap4desc":"Track suspects or vehicles across the entire city, camera by camera, fully automatically.","cap5title":"Public + Private Network","cap5desc":"Integrates public and private cameras in the same operational intelligence platform.","cap6title":"Contextual Analysis","cap6desc":"Maintains event context over time, with no loss of information between cameras.","whoTitle":"Built for these institutions","who1":"City Halls and Governments","who2":"Police Forces","who3":"Municipal Guards","who4":"Command & Control Centers","who5":"Public Safety Departments","who6":"Airports and Seaports","who7":"Prisons & Detention Centers","who8":"Public Enterprises","lgpdTitle":"Privacy & LGPD Compliance","lgpd1":"No permanent streaming of private video to public systems","lgpd2":"Voluntary and reversible cooperation by camera owners","lgpd3":"Analysis executed locally in the private environment","lgpd4":"Only relevant results are shared — never continuous feed","lgpd5":"Full audit trail for every operation","dialogTag":"Real-world Usage Example","dialogTitle":"Public safety in practice","dialogQ1":"Was this child seen by any authorized camera?","dialogA1":"Yes — detected at 2:32 PM at camera on Rua das Flores No. 48, heading north.","dialogQ2":"Start automatic tracking.","dialogA2":"Tracking started. Following across 3 active cameras. Last location: Av. Central, heading east.","ecosysTitle":"A platform that goes further","ecosysSub":"Perceptrum Corporate integrates with a complete ecosystem of intelligence solutions for the State.","eco1title":"Perceptrum Corporate","eco1desc":"Core platform — public and private cameras, 24/7 monitoring, camera chat and automatic tracking.","eco2title":"F.A.S.T.-AI","eco2sub":"Intelligent traffic enforcement","eco2desc":"Advanced system integrated with Perceptrum Corporate for automated real-time traffic violation enforcement.","eco3title":"CrimeDetector.ai","eco3sub":"Automatic crime identification","eco3desc":"Free platform for identifying criminal actions and tracking individuals and vehicles of interest.","eco4title":"Perceptrum Personal","eco4sub":"Solution for home users","eco4desc":"Extends the intelligent surveillance network to the private sector — homes, shops and businesses.","ctaTitle":"Transform every camera into an active security agent","ctaSub":"Talk to our team and request a pilot program for your institution.","engineCovBadge":"Active search across the entire network","realTimeLabel1":"Live results","realTimeLabel2":"Real-time operations","realTimeLabel3":"Audit trail"}`),Zj={tag:"Private Sector · Home · Business · Condominiums",heroTitle:"Converse With Your",heroTitleAccent:"Cameras",heroSub:"PERCEPTRUM is an intelligent agent like ChatGPT, built specifically to SEE, UNDERSTAND, and RESPOND about what your cameras capture — and to privately expand the city-wide security network.",imusCallout:"Perceptrum Personal is powered by the same proprietary engine used by Perceptrum Corporate — a universal multimodal AI that processes video, audio, and context simultaneously, understanding scenes in depth and responding in natural language.",whatTag:"What Is Perceptrum",whatTitle1:"The private security revolution",whatDesc1:"Perceptrum transforms even the simplest cameras into intelligent agents. It detects intrusions, violent actions (robberies, muggings, fights), and automatically connects to the F.A.S.T.-AI 
10network to begin active tracking — autonomously and without human interference.",whatTitle2:"Part of the network",whatDesc2:"Perceptrum participates in the Perceptrum Corporate search network in an authorized manner, expanding operational coverage without invasive integration. When an authorized search is distributed by Perceptrum Corporate, enabled private environments collaborate locally.",howTitle:"How It Works",feat1title:"Camera Chat",feat1desc:'Ask anything in natural language. "Was someone at my front door between 6 PM and 8 PM?" The AI responds based on live or recorded video.',feat2title:"Crime Detection",feat2desc:"Automatically detects intrusions, violent actions (robberies, muggings, fights) and sends instant alerts.",feat3title:"Network Participation",feat3desc:"When an authorized search is distributed by Perceptrum Corporate, your Perceptrum privately collaborates — without opening live video to authorities.",feat4title:"Privacy by Design",feat4desc:"No live video streaming to third parties. No open router ports. You decide which cameras participate in authorized searches.",networkTag:"Voluntary Cooperation Network",networkTitle:"How a private camera participates in public security searches",networkDesc:"The owner has full control. Participation is voluntary, per-camera, and revocable at any time.",networkStep1:'Owner activates "Allow Public Access" for specific cameras in the Perceptrum settings panel.',networkStep2:"System explains exactly what will happen and asks for explicit confirmation.",networkStep3:"When a search is triggered by Perceptrum Corporate or F.A.S.T.-AI, the request arrives locally to the Perceptrum system.",networkStep4:"Perceptrum analyzes its own cameras locally — no live stream is sent to authorities.",networkStep5:"Only if a match is found is a result sent to the requesting platform. Your environment stays private.",networkPrivNote:"The camera never opens a port. No continuous video is streamed. Analysis happens inside your network. You remain in control.",usecasesTitle:"Built For Every Private Space",uc1title:"Home Security",uc1desc:"Intrusion detection, package theft, visitor identification, elderly/child monitoring.",uc2title:"Business & Commerce",uc2desc:"Robbery prevention, employee safety monitoring, after-hours intrusion alerts.",uc3title:"Condominiums",uc3desc:"Gate monitoring, common area surveillance, visitor tracking, package management.",privTitle:"Your cameras. Your rules.",privItem1:"No live video streaming to third parties",privItem2:"No additional equipment needed",privItem3:"Per-camera authorization — you decide",privItem4:"LGPD fully compliant",privItem5:"Authorized and reversible collaboration",synergyTitle:"When Perceptrum joins Perceptrum Corporate's network",synergyDesc:"A criminal identified by a business camera in the morning can be tracked through the city using public cameras. This is the power of the unified Perceptrum Corporate + Perceptrum network.",ctaTitle:"Start Conversing With Your Cameras",detectedList:"What Perceptrum detects",detect1:"Intrusions & unauthorized presence",detect2:"Robbery & violent actions",detect3:"Suspicious behaviors",detect4:"Perimeter risk",detect5:"Abandoned objects",detect6:"Cries for help",detect7:"Operational anomalies",detect8:"Configurable events",drakonFindIntegTitle:"Perceptrum Find Integration",drakonFindIntegDesc:"When Perceptrum identifies an element of interest, it automatically records the visual characteristics and initiates a distributed search across the entire authorized camera network — triggering the Perceptrum Find operation instantly."},eN={tagBadge:"Public Enforcement · Urban Security · Traffic",acronym:"Autonomous Security and Traffic Monitoring",subtitle:"Active Pursuit Platform · Urban Intelligence · Public Sector",heroSub:"The world's first autonomous AI platform that unifies public and private camera networks to actively track suspects, missing persons and vehicles — across entire smart cities, in real time.",stat1:"Real-Time Tracking",stat2:"Public + Private Networks",stat3:"LGPD Compliant",stat4:"Zero Hardware Replacement",imusCallout:"F.A.S.T.-AI is powered by Aiquimist's proprietary multimodal AI engine — the same technology shared across Perceptrum Corporate and Perceptrum. It simultaneously processes video feeds, license plates, behavioral patterns, and geospatial context to generate actionable intelligence at city scale.",imusTags:["Video Analysis","Audio Context","Behavioral Recognition","Geospatial Correlation","Natural Language Queries"],problemTag:"The Problem",problemTitle:"Cities have cameras. Not intelligence.",prob1:"Traffic cameras used only for fines — not for safety",prob2:"Public security and traffic departments operate in silos",prob3:"Suspects cross camera zones with no automatic handoff",prob4:"Massive infrastru
10cture with near-zero autonomous response",prob5:"Manual review of footage — hours after incidents occur",probStat:"Suspects routinely escape between camera zones because no system connects them in real time.",howTag:"How It Works",howTitle:"One incident triggers the entire network.",s1title:"Incident Detected",s1desc:"A camera — public or Perceptrum private — detects a crime, a suspect on a wanted list, or a suspicious behavior. F.A.S.T.-AI is immediately triggered.",s2title:"Target Registered",s2desc:"The system registers the target: physical description, reference images, vehicle plate, last known location and direction of movement.",s3title:"Network Search Distributed",s3desc:"Perceptrum Corporate distributes the search across all authorized cameras in the area — public traffic cameras, private Perceptrum nodes, and mobile units.",s4title:"Real-Time Tracking",s4desc:"As the suspect moves between camera zones, F.A.S.T.-AI constructs a live movement trajectory on the operational map — automatically.",s5title:"Field Units Alerted",s5desc:"Police and patrol units receive real-time location updates and interception coordinates — enabling active pursuit rather than post-incident review.",capTag:"Capabilities",capTitle:"A Unified Security Ecosystem",cap1title:"City-Wide Mesh",cap1desc:"Integrates municipal traffic cameras with private Perceptrum CCTV nodes — securely and without hardware changes.",cap2title:"Legal Target ID",cap2desc:"Automatically cross-references databases for individuals wanted by justice — face, plate, behavioral profile.",cap3title:"Active Tracking",cap3desc:"Plots movement trajectories on a live map as subjects move between camera zones, camera by camera.",cap4title:"Autonomous Response",cap4desc:"No human needed to initiate tracking. Detection triggers the entire pursuit workflow automatically.",cap5title:"Traffic + Safety Unified",cap5desc:"Combines traffic infrastructure with public safety operations into a single command platform.",cap6title:"CrimeDetector App",cap6desc:"Free app that connects basic cameras to the F.A.S.T.-AI network for autonomous alerts, expanding coverage.",ecosysTitle:"The Aiquimist Ecosystem",ecosysSub:"F.A.S.T.-AI is the operational command layer. Perceptrum Corporate and Perceptrum are the eyes. Together, they form the most complete urban security network available today.",ecosysQuote:"A criminal identified at a business camera connects to Perceptrum Corporate's public network and triggers F.A.S.T.-AI's active pursuit — all within seconds, with no human intervention.",complianceTitle:"Designed for the Public Sector",comp1:"LGPD and data protection legislation fully compliant",comp2:"Judicial authorization workflow built into the platform",comp3:"Zero hardware replacement — works with existing infrastructure",comp4:"Full audit trail with traceability for every operation",comp5:"Role-based access control for different agencies",comp6:"Encrypted data transit across all network nodes",ctaTitle:"Ready to modernize your city's security?",ctaSub:"F.A.S.T.-AI is tailored for municipalities, police forces, and government agencies. Request technical documentation and a pilot program proposal."},aN={tag:"Get In Touch",heroTitle:"Let's talk about your security challenge",heroSub:"Whether you represent a municipality, a company, a condominium or an institution — we have a platform for your reality.",formName:"Full Name",formEmail:"Email",formPhone:"Phone / WhatsApp",formOrg:"Organization / City",formSector:"Sector",formSectorOpt1:"Select your sector",formSectorOpt2:"Public Security / Government",formSectorOpt3:"Traffic & Urban Mobility",formSectorOpt4:"Private Company",formSectorOpt5:"Condominium / Real Estate",formSectorOpt6:"Residence",formSectorOpt7:"Other",formProduct:"Platform of Interest",formProdOpt1:"Select a platform",formProdOpt2:"Perceptrum Corporate",formProdOpt3:"Perceptrum Personal",formProdOpt4:"F.A.S.T.-AI",formProdOpt5:"All three / Ecosystem",formMessage:"Describe your challenge or question",formSend:"Send Message",formSending:"Sending...",formSuccess:"Message sent! Our team will c
10ontact you shortly.",formError:"Error sending message. Please try again or contact us directly.",emergency:"Emergency Contact",phone:"+55 (95) 99111-6093",email:"[email protected]",location:"Brazil — Global Operations",responseTime:"Response time: up to 24 business hours",fieldRequired:"This field is required",labelEmail:"Email"},tN={heroTag:"About Us",heroTitle:"Factory of Solutions with",heroTitleCyan:"Artificial Intelligence",heroSub:"Professionals who have lived and breathed technology for over four decades — from the 1980s to today's neural networks.",historyTag:"Our Story",historyTitle:"AiQuimist.ai is a factory of solutions based on artificial intelligence",historyP1:"Founded by professionals immersed in technology for more than four decades. We started in the 1980s, when AI was written in PROLOG, LISP and ADA; today we develop proprietary neural networks that work anywhere — from GPU data centers to SBC boards on poles and agricultural machines. Leading to the creation of Perceptrum Corporate, Perceptrum and F.A.S.T.-AI, which uses Universal Multimodal Security Interpretation.",historyP2:"Whether saving lives on the streets or maximizing forest development, AiQuimist.ai turns 40 years of knowledge into results you see within weeks.",card1Tag:"A concept with no parallel in the world",card1Text:"Throughout this journey we built cutting-edge solutions for public and private security, digital education, traffic enforcement, road engineering and urban maintenance. The apex of this experience is our Perceptrum Corporate + Perceptrum + F.A.S.T.-AI network — the first platform connecting government and private cameras into a single computer vision network.",card2Tag:"Precision Agriculture",card2Text:"We apply the same expertise to precision agriculture: in partnership with AutoAgroMachines, we embed AI into Forest.Bot (planting & restoration), irrigators and fertilisers, monitoring every seedling and guiding management in real time.",teamTag:"Leadership",teamTitle:"Our Team",teamSub:"Decades of experience in AI, software and innovation — united to turn vision into results.",m1Tag:"Leadership",m1Role:"President (CEO)",m1Bio:"Computer vision specialist, Nicholas has been developing AI solutions since the age of 16.",m1Quote:'"My goal is to bring world-class AI to any camera or machine, whether at an urban intersection or in a forest planting machine."',m1b1:"9+ years CUDA/TensorRT & Jetson Orin optimization (< 50 ms latency)",m1b2:"Technical creator of Perceptrum Corporate, Perceptrum Personal and F.A.S.T.-AI",m1b3:"Executive programs at MIT, Stanford, Harvard and Michigan",m1b4:"Created models detecting weapons, accidents, agricultural pests and planting failures",m2Tag:"Technology",m2Role:"VP of Technology (CTO)",m2Bio:"Communications graduate and software engineer by passion, Eduardo bridges innovation and scale.",m2b1:"Co-author of the legendary Kit 5 (2 million+ copies sold)",m2b2:"Pioneer in live-video social networks and mobile app generators (BCyou)",m2b3:"Creator of Kit 5 mobile — first NO CODE mobile system generator",m2b4:"30+ years in applied AI, IoT and global software distribution",m3Tag:"Marketing",m3Role:"VP of Marketing (CMO)",m3Bio:"IT visionary since 1984, Marcello turns bold ideas into market-leading products.",m3b1:"Created the first system generator for non-technical users in Brazil",m3b2:"Developed the Disque-Denúncia system (national security reference)",m3b3:"Inventor of Forest.Bot — a machine that plants 1,800 trees per hour",m3b4:"Rio Branco Medal and over 35 years developing innovative technologies",valTag:"Principles",valTitle:"What drives us?",val1Label:"INNOVATION",val1Title:"Innovation with immediate impact",val1Desc:"All our solutions deliver immediate impact for our clients — in cost, efficiency and quality.",val2Label:"AI FOR ALL",val2Title:"Democratization of AI",val2Desc:"Perceptrum brings professional-grade AI vision to any business; every camera can now intelligently protect your premises.",val3Label:"INTEGRATION",val3Title:"Frictionless integration",val3Desc:"Existing hardware + AiQuimist.ai software = results in less than 30 days.",platTag:"Ecosystem",platTitle:"Our platforms",plat1Title:"Perceptrum Corporate",plat1Desc:"Autonomous AI security agent that monitors cameras 24/7, detects threats in real time and integrates with any existing CCTV / VMS 
10infrastructure.",plat2Title:"Perceptrum Personal",plat2Desc:"Computer vision platform for the private sector: behavioral analytics, access control and business intelligence — powered by your existing cameras.",plat3Title:"F.A.S.T.-AI",plat3Desc:"Active pursuit system for security forces: predictive multi-camera tracking, autonomous target follow-through and real-time dispatch integration.",ctaTitle:"Let's build the",ctaTitleCyan:"future together!",ctaSub1:"Municipalities, state governments, security forces, private companies and rural producers are already reaping concrete benefits from our technology.",ctaSub2:"Get in touch and discover how we can generate immediate impact in your territory or business.",ctaBtn1:"Schedule Demo",ctaTagline:"AiQuimist.ai - SECURITY INNOVATION, REAL RESULTS."},iN={heroTag:"Careers",heroTitle:"Build the future",heroTitleCyan:"with us",heroSub:"Join a team that transforms cameras into intelligent agents, forests into algorithms and cities into safe ecosystems.",btnViewJobs:"View open positions",btnSpontaneous:"Spontaneous application",whyTag:"Why AiQuimist.ai?",whyTitle:"More than a job",whySub:"Here every line of code has direct impact on lives, cities and territories.",perk1Title:"Cutting-edge technology",perk1Desc:"Work with the latest GPUs, Jetson Orin and proprietary neural networks.",perk2Title:"Global presence",perk2Desc:"Projects in Brazil, USA, Saudi Arabia, UAE and Spain.",perk3Title:"Real impact",perk3Desc:"Your solutions go to streets, cities and forests — visible results in weeks.",perk4Title:"Experienced team",perk4Desc:"40+ years of cumulative experience in AI, software and innovation.",perk5Title:"Accelerated growth",perk5Desc:"International start-up expanding with real growth opportunities.",perk6Title:"Flexibility",perk6Desc:"Remote, hybrid and on-site positions across multiple cities and countries.",openTag:"Opportunities",openTitle:"Open positions",openSub:"Didn't find the right role? Send a spontaneous application to",job1Title:"Computer Vision Engineer",job1Area:"Technology",job1Desc:"Development and optimisation of real-time object detection, tracking and scene analysis models. Experience with YOLO, OpenCV, CUDA/TensorRT.",job2Title:"Full Stack Developer",job2Area:"Engineering",job2Desc:"Building dashboards, APIs and interfaces for our AI platforms. Stack: React, Node.js, PostgreSQL, Python.",job3Title:"Embedded AI Specialist (Jetson / SBC)",job3Area:"Technology",job3Desc:"Embedding neural networks in edge devices (Jetson Orin, Raspberry Pi). Latency and performance optimisation in resource-constrained environments.",job4Title:"Public AI Project Manager",job4Area:"Operations",job4Desc:"Coordinating deployments in municipalities and public security agencies. Experience in government project management and public tenders.",job5Title:"Corporate Sales Analyst (B2G/B2B)",job5Area:"Sales",job5Desc:"Prospecting and business development with municipalities, state governments, security forces and private companies.",job6Title:"Data Engineer & MLOps",job6Area:"Technology",job6Desc:"Building and maintaining data pipelines, model training and production deployment. Experience with MLflow, Docker, Kubernetes.",procTag:"Process",procTitle:"How does it work?",proc1Title:"Resume submission",proc1Desc:"Send your CV and portfolio to [email protected] with the job title in the subject line.",proc2Title:"Technical screening",proc2Desc:"Our team reviews your profile and responds within 5 business days.",proc3Title:"Technical interview",proc3Desc:"A conversation with the tech team — no timed tests, focus on real experience.",proc4Title:"Offer & onboarding",proc4Desc:"Personalised offer and integration into real projects from day one.",ctaTitle:"Ready to become",ctaTitleCyan:"part of the team?",ctaSub:"Send your resume with the job title in the subject line.",ctaBtn:"Send application",job1Location:"São Paulo, SP / Remote",job2Location:"Remote",job3Location:"São Paulo, SP / Boa Vista, RR",job4Location:"São Paulo, SP",job5Location:"Remote / On-site",job6Location:"Remote",job1Type:"CLT / PJ",job2Type:"CLT / PJ",job3Type:"PJ",job4Type:"CLT",job5Type:"CLT / PJ",job6Type:"PJ"},rN={title:"404 — Page Not Found",message:"The page you're looking for doesn't exist or has been moved.",back:"Back to Home"},sN={title:"Privacy Policy",breadcrumb:"Privacy Policy",lastUpdated:"Last updated: March 21, 2026",intro:"AiQuimist.ai is committed to protecting your privacy and handling your personal data with transparency, security, and respect, in compliance with the LGPD, GDPR, and other applicable laws.",navLabel:"Navigation",toc1:"Introduction",toc2:"Data We Collect",toc3:"How We Use Data",toc4:"Data Sharing",toc5:"Security",toc6:"Retention",toc7:"International Transfers",toc8:"LGPD / GDPR Rights",toc9:"Cookies",toc10:"Children",toc11:"Changes",toc12:"Contact",section1:"1. Introduction",section2:"2. Data We Collect",section3:"3. How We Use Your Data",section4:"4. Data Sharing",section5:"5. Security",section6:"6. Data Retention",section7:"7. International Transfers",section8:"8. LGPD / GDPR Rights",section9:"9. Cookies",section10:"10. Children's Privacy",section11:"11. Changes to This Policy",section12:"12. Contact",bodyNote:"This legal document is available in full in English and Portuguese."},nN={title:"Terms of Service",breadcrumb:"Terms of Service",lastUpdated:"Last updated: March 21, 2026",intro:"This document governs access to and use of AiQuimist.ai products and services. Please read carefully before using any of our services.",navLabel:"Navigation",toc1:"Acceptance",toc2:"Services",toc3:"Account",toc4:"License & IP",toc5:"Acceptable Use",toc6:"Privacy & Data",toc7:"Availability (SLA)",toc8:"Billing",toc9:"Liability",toc10:"Indemnification",toc11:"Termination",section1:"1. Acceptance of Terms",section2:"2. Description of Services",section3:"3. Account Registration",section4:"4. License and Intellectual Property",section5:"5. Acceptable Use",section6:"6. Privacy and Data Protection",section7:"7. Service Availability (SLA)",section8:"8. Pricing, Billing, and Payments",section9:"9. Limitation of Liability",section10:"10. Indemnification",section11:"11. Termination",bodyNote:"This legal document is available in full in English and Portuguese.",section12:"12. Governing Law and Dispute Resolution",section13:"13. Changes to Terms",section14:"14. Contact",toc12:"Governing Law",toc13:"Changes",toc14:"Contact"},lN={howItWorksTag:"How It Works",platformPrefix:"Agentic Platform for",platformHighlight:"Intelligent Vision",platformDesc:"A single command finds any person, vehicle, or object — searching in parallel across all public and private cameras in the city.",nodeQueryLabel:`MULTI-MODAL
11SEARCH`,nodeQuerySub:"Text · Photo · Video",nodeMemoryLabel:"AI MEMORY",nodeMemorySub:"Faces · Plates · Objects",nodeFastLabel:"F.A.S.T.-AI",nodeFastSub:"Urban Tracking",nodeAlertLabel:`REAL-TIME
12ALERT`,nodeAlertSub:"Location · Camera · Time",nodeDrakonLabel:"PERCEPTRUM CORPORATE",nodeDrakonSub:"Public Cameras",nodePerceptrumLabel:"PERCEPTRUM PERSONAL",nodePerceptrumSub:"Private Cameras",step1:"1. User sends query",step2:"2. AiQuimist.ai orchestrates",step3:"3. Agents search in parallel",step4:"4. Alert with location",whatCanBeSearched:"WHAT CAN BE SEARCHED",sub1Label:"Person",
12sub1Desc:"Face · Clothing · Height",sub2Label:"Vehicle",sub2Desc:"Plate · Model · Color",sub3Label:"Animal",sub3Desc:"Breed · Color · Size",sub4Label:"Object",sub4Desc:"Bag · Backpack · Item",sub5Label:"Motorcycle",sub5Desc:"Model · Color · Plate",sub6Label:"Glasses/Hat",sub6Desc:"Accessories · Signs",pillar1Title:"Distributed Search",pillar1Desc:"Perceptrum Find triggers the search to public cameras AND authorized Perceptrum and F.A.S.T.-AI nodes in parallel.",pillar2Title:"Real-Time Handoff",pillar2Desc:"As the target moves between zones, all agents keep tracking without human intervention.",pillar3Title:"Privacy Preserved",pillar3Desc:"Private cameras analyze locally — only results are shared, never the video."},oN=JSON.parse(`{"hero":{"badge":"Use Cases","h1a":"Your cameras are already installed.","h1b":"Now they need to start thinking.","sub":"AiQuimist transforms any security camera into an intelligent system that understands what is happening, acts before it is too late and protects what matters most — without replacing a single piece of equipment.","quote":"You monitor. We understand. There is an enormous difference between the two.","cta1":"See Cases by Segment","cta2":"Request a Live Demo"},"stats":{"title":"Impact Numbers","sub":"We don't sell cameras. We don't sell servers. We sell the intelligence that transforms what you already have into something no competitor can deliver.","s1":"years of experience in technological innovation","s2":"proprietary integrated platforms","s3":"in new hardware to get started","s4":"private cameras available for voluntary cooperation","s5":"continuous operation without human interference","s6":"cost per search in the cooperative private network"},"nav":{"drakonSub":"Public Safety","perceptrumSub":"Private Security","fastSub":"Urban Planning","integrationLabel":"Integration","integrationSub":"3 Platforms","faqLabel":"FAQ","faqSub":"Common Questions"},"value":{"tag":"What makes us different","title":"From everything you've ever seen","c1t":"Understands, not just records","c1d":"Analyzes video, audio, text and image simultaneously. Knows what is happening. Identifies emotional state, intention and context.","c2t":"Works with what you already have","c2d":"Compatible with any camera, DVR, NVR or NAS, of any brand or generation. Zero hardware replacement.","c3t":"Acts before you need to act","c3d":"Automates entire routines, triggers webhooks, closes doors, sends alerts — all in seconds, without a human operator."},"common":{"whoFor":"Who it's for","ucLabel":"Use Cases","painXSol":"Pain × Solution","currentPain":"Current Pain","withSol":"With the Solution","traditional":"Traditional Model","withPlatform":"With the Platform","realScenario":"Real Integration Scenario","scenarioIntroText":"A vehicle flees after a hit-and-run.","resultText":"In minutes, the vehicle is located —","resultAccent":"by a network the city did not pay to install.","faqAnswers":"Answers before you need to ask","faqSub2":"The most common objections — eliminated before the conversation.","decisionTag":"The decision is yours","startWith":"Start with what you already have.","startSub":"Without replacing cameras. Without GPU. Without construction. Operational in days.","btn1":"Schedule a Demo","btn2":"Talk to a Specialist","btn3":"Try for Free Now","footnote":"AiQuimist.ai is an American startup with a branch in Brazil. Creators of Perceptrum Corporate, Perceptrum Personal and F.A.S.T.-AI — a proprietary ecosystem of multimodal intelligence for security, protection and urban management. Over 40 years of experience in technological innovation.","privacyTitle":"Your privacy is non-negotiable.","privacyBody":"When you activate voluntary cooperation, no port is opened on your network. No video is transmitted continuously. The analysis happens on your computer. Only when the system finds what is being searched, the result — not the video — is shared with authorities. You are always in control.","privacyLgpd":"Developed in full compliance with the LGPD and international data protection legislation.","integrationBadge":"The Power of Integration","integrationH":"Together, they form something that","integrationHAccent":"does not exist anywhere else in the world.","integrationSub":"For the first time in history, public space, road space and private space are connected in a single operational intelligence — that does not stop, does not get distracted and does not lose track.","faqBadge":"Frequently Asked Questions","traditional2":"Traditional Model","withPlatform2":"With the Platform"},"drakon":{"tag":"Public Safety · Governments · Critical Mission","h":"The State cannot make mistakes. Perceptrum Corporate ensures it doesn't.","s":"Municipalities, governments and security forces now have intelligence that analyzes public cameras in real time, understands the context of each scene and acts before a threat materializes.","a1":"Municipalities and local governments needing to monitor public spaces more efficiently","a2":"State and federal governments with extensive camera networks no team can monitor alone","a3":"Police forces and municipal guards needing instant alerts without relying on attentive operators","a4":"Integrated command and control centers (CIOPs) requiring centralized intelligence","a5":"Prisons and correctional units where any unusual event is a potential threat","a6":"Airports, ports and terminals with critical areas requiring precise, uninterrupted monitoring","a7":"Borders and critical infrastru
12cture where security cannot depend on human attention","uc1t":"Urban Space Monitoring","uc1p":"A control center with 500 cameras has 3 operators. It is humanly impossible to monitor everything. Incidents go unnoticed.","uc1s":"Perceptrum Corporate analyzes all cameras simultaneously. Detects suspicious movement, crowd concentration and abnormal behavior — alerting the operator only when something real occurs.","uc1q":"What would it be like for your team to receive only the alerts that truly matter?","uc2t":"Border Security","uc2p":"Smuggling and trafficking are discovered too late. The team reacts instead of preventing.","uc2s":"The system identifies unusual behavioral patterns in real time — seeking occurrences based on your team's experience — and starts acting first.","uc2q":"How many incidents could have been avoided if your team knew beforehand?","uc3t":"Suspect Search & Tracking","uc3p":"A suspect disappears from cameras after a crime. The team loses track. Hours pass without clues.","uc3s":"The operator types an instruction in natural language. The system mobilizes the entire network of public and cooperative private cameras — tracking the target in real time across the entire grid.","uc3q":"What if your team never lost track of a suspect again?","uc4t":"Airport & Terminal Security","uc4p":"Boarding areas, runways and restricted zones with dozens of cameras. Impossible to monitor everything. Any gap is a vulnerability.","uc4s":"Perceptrum Corporate monitors all critical zones, detects unauthorized access, abandoned objects and suspicious behavior — with immediate, contextualized alerts.","uc4q":"What would be the cost of an incident that could have been prevented?","fint":"Financial Case for the Public Sector","fb1":"Heavy investment in new hardware","fb2":"Hiring operators 24/7","fb3":"Constant equipment maintenance","fb4":"Coverage limited to what was installed","fb5":"Expensive, slow and bureaucratic expansion","fa1":"Zero investment in new hardware","fa2":"Automatic alerts — fewer operators needed","fa3":"Integrates with existing infrastructure","fa4":"Scales at proportionally low cost","fa5":"Operational in days, not months","link":"Explore Perceptrum Corporate in detail"},"perceptrum":{"tag":"Private Security · Residences · Businesses","h":"Your camera was recording. Now it protects.","s":"Perceptrum transforms ordinary cameras into intelligent protection systems — that understand what is happening, alert at the right time and can, with your permission, help save lives beyond your premises.","a1":"Homes and residences — real 24/7 protection without private security staff","a2":"Condominiums and buildings — intelligent perimeter, lobby and common area monitoring","a3":"Small and medium businesses — real-time theft and intrusion detection","a4":"Retail chains — unified view of all locations with automatic alerts","a5":"Banks and financial institutions — proactive risk detection before escalation","a6":"Shopping centers — intelligent coverage of parking lots and sensitive areas","a7":"Private schools and universities — student safety, access control and perimeter monitoring","a8":"Hospitals and clinics — sensitive environments with precise, privacy-respecting monitoring","a9":"Warehouses and logistics facilities — access control, asset tracking and process verification","a10":"Farms and rural properties — remote monitoring of large areas without high-speed internet","uc1t":"Residential Condominium","uc1p":"The lobby camera records everything. But someone only watches after something happens. Security is always reactive.","uc1s":"Perceptrum monitors the lobby, parking lot and common areas in real time. Alerts the building manager when suspicious access, unauthorized presence or unusual behavior is detected.","uc1q":"What if your condominium knew about a threat before it entered?","uc2t":"Retail Store","uc2p":"Thefts happen. The camera filmed it, but nobody saw it at the time. The loss walked out the door with the thief.","uc2s":"The system identifies typical theft behaviors in real time and alerts before the product disappears.","uc2q":"How much does your store lose per year in thefts that could have been prevented?","uc3t":"Industry & Logistics","uc3p":"Complex processes are verified manually. Errors go unnoticed. Auditing is expensive and slow.","uc3s":"Automated JOBs verify each process step — volume counting, vehicle verification, delivery confirmation — and alert only when something deviates from expected.","uc3q":"What if you could audit all processes without hiring another employee?","uc4t":"Public Sector — Expanded Coverage","uc4p":"The city has 2,000 public cameras. The suspect disappeared around the corner. No public camera there — the search ends.","uc4s":"With the Perceptrum voluntary network, the search continues through private cameras of residents and businesses that chose to cooperate — without exposing live video, without violating privacy.","uc4q":"Imagine a network of one million cameras cooperating with your team — at cents per search.","fint":"Perceptrum Business Model","fb1":"Free basic monitoring to start","fb2":"No credit card required","fb3":"Existing cameras — zero hardware replacement","fb4":"Voluntary cooperation — you decide","fb5":"Privacy preserved by architectural design","fa1":"Premium: less than a coffee per day","fa2":"All platform features unlocked","fa3":"Automatic alerts and continuous analysis","fa4":"Integration with the national cooperative network","fa5":"Full GDPR / 
12LGPD compliance","link":"Explore Perceptrum in detail"},"fast":{"tag":"Urban Planning · Traffic · Mobility","h":"Your city doesn't need more cameras. It needs the ones it already has to be smarter.","s":"F.A.S.T.-AI transforms the camera infrastructure already installed on public roads into a real-time urban intelligence system — generating strategic information, enforcing violations and supporting operational decisions with real data.","a1":"Municipal transit and mobility secretariats — real-time visibility of the entire road network","a2":"Urban operations centers (COUs) — centralized intelligence on city flows and events","a3":"Public works and urban planning departments — real usage data for infrastructure decisions","a4":"Traffic enforcement agencies — automatic fine generation and violation recording","a5":"Managers of large public events — flow control and risk anticipation in crowds","a6":"Highway and parking concessionaires — intelligent access and circulation monitoring","uc1t":"Automated Traffic Enforcement","uc1p":"Violations happen all the time, but enforcement depends on on-site agents — expensive, limited and impossible to be everywhere.","uc1s":"The system automatically identifies violations, records with evidence and generates the notification — without an agent, without additional cost, 24 hours a day.","uc1q":"How much does your city collect per month in fines? Multiply that by 10.","uc2t":"Congestion Management","uc2p":"The manager only learns about congestion when traffic has already collapsed. Decisions are reactive and data arrives late.","uc2s":"F.A.S.T.-AI detects congestion formation before it escalates, identifies the origin point and suggests diversions — in real time.","uc2q":"What if your city could act before the congestion, not after?","uc3t":"Fleeing Vehicle Tracking","uc3p":"A vehicle involved in a crime disappears on the streets. Cameras recorded it, but no one can follow the route in real time.","uc3s":"The system automatically tracks the vehicle across the entire network of public and cooperative private cameras — reporting position and route in real time.","uc3q":"How many criminals escape because tracking is manual and slow?","uc4t":"Intelligence for Large Events","uc4p":"Concerts, matches, demonstrations. Unpredictable crowds. Managers without real-time data make decisions blindly.","uc4s":"The system monitors flow density, detects abnormal crowds, anticipates riot risks and provides the manager with a live decision dashboard.","uc4q":"Imagine managing 50,000 people with the same precision as 500.","fint":"F.A.S.T.-AI is not a cost. It is a revenue source.","fb1":"Enforcement depends on on-site agents","fb2":"Coverage limited to fixed points","fb3":"Reaction to congestion after collapse","fb4":"Data arrives too late for decisions","fb5":"Growing operational costs year after year","fa1":"Automated fines generated 24/7","fa2":"Coverage of the entire existing road network","fa3":"Real-time congestion prevention","fa4":"Live decision dashboard","fa5":"The investment pays for itself — and generates surplus","link":"Explore F.A.S.T.-AI in detail"},"integrationBullets":{"b1":"The search doesn't stop when the suspect leaves a public camera","b2":"The network grows with every private camera that joins voluntarily","b3":"Costs don't grow proportionally — you pay per query, not per infrastructure","b4":"Privacy is preserved because analysis occurs locally, in the user's environment","b5":"Data protection law compliance is built into the architecture — not just promised","b6":"Intelligence continuously improves with every processed event"},"integrationSteps":{"step1":"Identifies the event on public cameras","step2":"Tracks the vehicle through the road network automatically","step3":"Activates cooperative private cameras in the neighborhood"},"faq":{"q1":"Do I need to replace my cameras?","a1":"No. The platforms are designed to work on any camera already installed, of any brand, model or generation. If your camera has an IP address and supports the RTSP protocol — and the vast majority do — it works.","q2":"Does it need a powerful server with a GPU?","a2":"No. None of the three platforms require a GPU. Perceptrum Corporate and F.A.S.T.-AI run on conventional servers. Perceptrum runs on a computer with an Intel i5 processor or better.","q3":"How is integration with my current system done?","a3":"You import an Excel or CSV file with camera information — IP address, manufacturer, username and password. The system goes into operation immediately. No complex configurations, no specialized support required.","q4":"Is my privacy compromised with Perceptrum?","a4":"No. When you activate voluntary cooperation, no video is transmitted continuously. The analysis occurs on your computer. Only the relevant result of a search is shared with authorities — not the images. You are in total control.","q5":"How long does implementation take?","a5":"For Perceptrum, a matter of minutes. For Perceptrum Corporate and F.A.S.T.-AI, onboarding is fast and can be done without interrupting current operations. We can start with a pilot project on your existing infrastru
12cture.","q6":"How does the solution pay for itself?","a6":"For the public sector: F.A.S.T.-AI generates direct revenue through automatic fines, while also reducing operational costs. For companies: loss prevention, monitoring team reduction and process automation deliver immediate ROI. For governments using Perceptrum: the cost per search is cents — incomparably lower than any physical network expansion."},"ctaTitle":"The question is not whether you need this technology.","ctaGradient":"The question is how much you'll still lose without it."}`),cN={heroTag:"Governmental Intelligence System",heroTitle1:"AI that sees everything",heroTitle2:"your operators miss.",heroSub:"Government-grade surveillance orchestration platform. Uninterrupted 24/7 analysis across thousands of cameras simultaneously. Surgical precision. No detail missed.",heroCta1:"Request Restricted Access",heroCta2:"Understand the Technology",statLabel1:"States",statLabel2:"Municipalities",statLabel3:"Operation",reachTag:"Unlimited Reach",reachTitle:"There is no limit to what the system can see.",reachDesc:"Any event captured by any camera in the network can trigger an autonomous search that propagates instantly across municipalities, states and the entire national territory.",sc1tag:"Traffic Accident",sc1title:"Hit and Run After Traffic Accident",sc1desc:"Camera identifies collision. The vehicle flees. The system automatically triggers a search across Perceptrum Corporate cameras in the city, propagates to FAST-AI on highways and alerts neighboring instances. The net closes in seconds — with no human operator in the loop.",sc1p1:"Perceptrum Corporate",sc1p2:"FAST-AI",sc1p3:"Autonomous",sc2tag:"Pedestrian",sc2title:"Hit-and-Run with Pedestrian",sc2desc:"System detects the accident, extracts the vehicle's license plate and model. In milliseconds: propagates to Perceptrum Corporate cameras across the municipality, to authorized Perceptrum Personal private cameras, and to the entire FAST-AI network. The vehicle has nowhere to go.",sc2p1:"Perceptrum Corporate",sc2p2:"Perceptrum Personal",sc2p3:"FAST-AI",sc3tag:"Child Safety",sc3title:"Missing or Abducted Child",sc3desc:"A search for a missing child propagates from one municipality to all municipalities, from one state to all states. All Perceptrum Corporate, Perceptrums and FAST-AIs in the country participate in the search, cross-referencing data in real time.",sc3p1:"National",sc3p2:"All Perceptrum Corporate",sc3p3:"Perceptrum Personal",sc4tag:"Fugitives",sc4title:"Criminals, Fugitives and Terrorists",sc4desc:"Fugitives, national wanted persons, terrorism suspects. The target is registered once in the watchlist. The national camera network starts searching 24 hours a day across the entire territory — cities, highways and authorized private spaces.",sc4p1:"National Watchlist",sc4p2:"FaceID",sc4p3:"ReID",humanTag:"The Human Factor",humanTitle:"The Human Factor is the Weakest Link",humanLabel:"Human Operator",hw1:"Severe visual fatigue after 20 minutes of monitoring.",hw2:"Effectively focuses on only 1 to 4 cameras simultaneously.",hw3:"Misses critical events while analyzing other screens.",hw4:"Requires shift changes and complex logistical coordination.",hw5:"Unable to correlate events across distant cameras over time.",ai1:"Relentless 24/7/365 processing. Zero fatigue.",ai2:"Analyzes thousands of cameras simultaneously in real time.",ai3:"No frame is ignored. No detail is missed.",ai4:"Autonomous, constant and perfectly predictable operation.",ai5:"Complex event chain reasoning (Orchestration).",orchTag:"Perceptrum Corporate Exclusive",orchTitle:"Multi-Camera Orchestration",orchDesc:"This is not simple per-camera detection. It is real-time chained reasoning. The output of one camera becomes the input of the next, creating complex intelligence pipelines.",orch1tag:"Initial Detection",orch1title:"Camera A detects target",orch1desc:"Camera A detects a person with characteristics X in the east zone.",orch1badge:"OUTPUT TOKEN GENERATED",orch2tag:"Propagation & Tracking",orch2title:"Network activation",orch2desc:"The token automatically programs Cameras B, C and D to search for the target.",orch2badge:"INPUT TOKEN RECEIVED",orch3tag:"Action & Alert",orch3title:"Confirmed and alerted",orch3desc:"Camera C confirms the trajectory. Alert triggered only when all conditions are validated.",orch3badge:"TARGET CONFIRMED",modTag:"Intelligence Modules",modTitle:"Intelligence Modules",modDesc:"The most complete analytical arsenal available to security forces. Detect anomalous behaviors and threats in real time.",mod1title:"Weapon Detection",mod1desc:"Long and short firearms.",mod2title:"FaceID",mod2desc:"Match against wanted lists in milliseconds.",mod3title:"Re-ID",mod3desc:"Tracking the same person across multiple cameras.",mod4title:"Intruders",mod4desc:"Secure perimeter invasion.",mod5title:"Abandoned Object",mod5desc:"Detection of suspicious bags or packages.",mod6title:"Crowd Anomaly",mod6desc:"Panic, rush or sudden crowd gathering.",mod7title:"Masked Persons",mod7desc:"Facial concealment in risk areas.",mod8title:"Custom Algorithms",mod8desc:"Create new detections via prompt.",d2dTag:"Inter-agency Network",d2dTitle:"Perceptrum Corporate-to-Corporate Network",d2dDesc:"Distinct government agencies (Military Police, Civil Police, Federal Police) operate their own Perceptrum Corporate instances. The magic happens in the autonomous interconnection. When Agency A searches for a suspect, the request automatically propagates to Agencies B, C and D. No bureaucracy, no phone calls, no lost time.",d2dAgency1:"Agency A",d2dAgency2:"Agency B",d2dAgency3:"Agency C",d2dSub:"The net closes in an instant — without bureaucracy or phone calls.",scopeTag:"Full Scope Integration",scopeTitle:"Total Scope Integration",scopeDesc:"Intelligence does not stop at city limits. The ecosystem extends to highways and authorized private domains.",scope1tag:"Road Integration",scope1desc:"Direct connection to the road network (DMV, PRF, DER, DNIT). When a target tracked in the urban area enter
12s a highway, the monitoring transition is seamless.",scope1b1:"Automatic Handoff Urban ↔ Highway",scope1b2:"Toll and Intersection Monitoring",scope1b3:"Border Evasion Alert",scope2tag:"Private Integration",scope2desc:"Citizens, condominiums and businesses participate voluntarily. The central system receives target matches in private areas without ever accessing the original video (Privacy by Design).",scope2b1:"Decentralized Voluntary Participation",scope2b2:"Privacy Protection (Blind-Match)",scope2b3:"Sensor Multiplication at No State Cost",nlpTag:"Natural Language",nlpTitle:"Operation via Natural Language",nlpDesc:"No code required. Your operators configure complex analytical tasks by writing in plain language.",nlp1:"Monitor all cameras in the southern sector.",nlp2:"If a man in a red shirt is detected running...",nlp3:"Forward token to cameras at city exits.",nlp4:"# Job structured. Orchestration active.",techTag:"Technical Specifications",techTitle:"Technical Specifications",tech1title:"Hardware Agnostic",tech1desc:"Compatible with RTSP, ONVIF, HTTP, NVRs from any brand.",tech2title:"Flexible Deployment",tech2desc:"Runs On-Premise, Hybrid Cloud or Sovereign Cloud.",tech3title:"Extreme Efficiency",tech3desc:"Can operate without dedicated GPUs per 
12camera.",tech4title:"Compliance",tech4desc:"Fully compliant with LGPD.",ecoTag:"National Ecosystem",ecoTitle:"The National Ecosystem",ecoDesc:"Three complementary products forming an unbreakable intelligence mesh, under the Aiquimist.ai banner.",eco1desc:"Government Core (CCOs, Police Forces)",eco2desc:"Road Network (DMV, Highways)",eco3desc:"Private Sector (Commerce, Residents)",ctaTitle:"Assume Absolute Control.",ctaSub:"Available exclusively for State Governments, Federal Government, Municipalities, DMV, PRF, DER and DNIT. Request a technical demonstration.",ctaNote:"Demo credentials are subject to institutional affiliation verification.",ctaBtn:"Request Restricted Access",ctaBtnBack:"Back to Perceptrum Corporate"},dN={heroTag:"Federated Intelligence Network",heroTitle1:"No one can hide",heroTitle2:"from the network.",heroSub:"Perceptrum connects every camera, every user, every city into a single cooperative intelligence fabric. When someone triggers a search, the signal propagates autonomously — across neighborhoods, cities, states, and countries.",heroCta1:"Request Access",heroCta2:"See How It Works",statLabel1:"Participants",statLabel2:"Scale",statLabel3:"Operation",statVal1:"Any",statVal2:"Global",statVal3:"24/7",whatTag:"Federated Architecture",whatTitle:"One search. Infinite eyes.",whatDesc:"Every Perceptrum installation can be authorized to participate in searches initiated by other Perceptrum, Perceptrum Corporate or F.A.S.T.-AI systems. No video is ever shared. No stream is ever opened. Only match results — confirmed detections — are transmitted. The owner keeps complete control.",howTag:"How it works",howTitle:"Autonomous Cooperative Search",step1title:"Target Registered",step1desc:"A face, a vehicle, a silhouette, a color pattern. The target is registered once in the originating system.",step2title:"Search Propagates",step2desc:"The search signal spreads automatically to all authorized nodes — neighboring Perceptrums, Perceptrum Corporate cameras, FAST-AI highway monitors.",step3title:"Match Found",step3desc:"When any authorized system detects the target, it sends only the confirmation — not the video — back to the originating system.",step4title:"Location Pinpointed",step4desc:"The originating system receives the confirmed location in real time. Autonomous. No human required at any step.",scaleTag:"Any Scale",scaleTitle:"From one block to the entire country.",scaleDesc:"A search can be constrained to a neighborhood, expanded to a city, escalated to a state, or unleashed across an entire nation — depending on who authorized the search and at what scope.",scale1:"Neighborhood",scale1desc:"Cameras from nearby apartments, shops, condos",scale2:"City",scale2desc:"All urban Perceptrum + Perceptrum Corporate nodes",scale3:"State",scale3desc:"All municipal networks interconnected",scale4:"Country",scale4desc:"Full national coverage — every authorized system",permTag:"User Sovereignty",permTitle:"You decide who can search in your cameras.",permDesc:"No streaming. No video access. You choose exactly which external systems can query your cameras. Searches are executed locally by your own AI. Only confirmed matches are shared.",perm1:"You authorize specific systems or institutions",perm2:"Your video never leaves your premises",perm3:"Your AI executes the search locally",perm4:"Only binary match results are transmitted",perm5:"Authorization can be revoked at any time",perm6:"Full audit log of every query performed",mapTag:"Live Coverage",mapTitle:"The search spreads like a signal.",mapDesc:"See how a single alert — one missing child, one fugitive, one stolen vehicle — propagates across the network. Every authorized node becomes part of the search. The coverage area expands in real time.",netTag:"Ecosystem",netTitle:"Three systems. One intelligence.",netDesc:"Perceptrum Personal, Perceptrum Corporate and F.A.S.T.-AI are designed to interoperate. A search can originate in any of the three and propagate across all three simultaneously.",netP2P:"Perceptrum-to-Perceptrum",netP2D:"Perceptrum-to-Perceptrum Corporate",netP2F:"Perceptrum-to-FAST-AI",netD2P:"Perceptrum Corporate-to-Perceptrum",netF2P:"FAST-AI-to-Perceptrum",ucTag:"Use Cases",ucTitle:"Every search matters.",uc1title:"Missing Persons",uc1desc:"A child disappears. The family registers the face. In minutes, every authorized camera in the city is looking. If the child appears anywhere, the system confirms it instantly — without human intervention.",uc2title:"Kidnapping",uc2desc:"A kidnapping alert is issued. The vehicle plate and description propagate across the network. Urban Perceptrum cameras and FAST-AI highway monitors collaborate autonomously to track the vehicle.",uc3title:"Fugitives",uc3desc:"A criminal on the run. The face is in the watchlist. Every participating system searches silently. The moment the fugitive appears in front of any camera, the alert fires.",uc4title:"Stolen Vehicles",uc4desc:"Plate registered. Search propagates. The vehicle cannot change routes without passing through an authorized camera. Detection is inevitable.",techTag:"Architecture",techTitle:"Built for Privacy. Built for Scale.",tech1title:"Blind-Match Protocol",tech1desc:"Search queries never reveal sensitive data. Only match/no-match results are transmitted between systems.",tech2title:"Zero Video Sharing",tech2desc:"No raw video, no stream, no image is ever transmitted outside your system.",tech3title:"Federated Execution",tech3desc:"Each node runs the search locally. The network only transmits results.",tech4title:"Revocable Authorization",tech4desc:"Any authorization can be instantly revoked. You stay in full control at all times.",ctaTitle:"Join the network. Protect your city.",ctaSub:"Available for residential communities, businesses, municipalities, and law enforcement. Every node you add makes the entire network stronger.",ctaNote:"Enterprise and government plans available. Contact us for integration.",ctaBtn:"Request Access",ctaBtnBack:"Back to Perceptrum",btnBadge:"New",btnLabel:"See the Perceptrum Network →",btnSub:"Federated search · Neighborhood to Country · Total privacy",pf1label:"Search Initiated",pf1desc:"System A registers the target",pf2label:"Propagates to Nodes",pf2desc:"Signal sent to authorized",pf3label:"Local Search",pf3desc:"Each node searches its cameras",pf4label:"Match Returns",pf4desc:"Confirmation only — no video",networkLabel:"PERCEPTRUM NETWORK",networkActive:"ACTIVE SEARCH",simulateBtn:"▶ Simulate Search",simulatingBtn:"● Search Active",coverageNational:"NATIONAL COVERAGE",activeNodes:"active nodes",sp1a:"Apartment cameras",sp1b:"Neighborhood shops",sp1c:"Nearby condos",sp2a:"All Perceptrum in the municipality",sp2b:"City hall Perceptrum Corporate cameras",sp2c:"Monitored intersections",sp3a:"All state municipalities",sp3b:"FAST-AI on state highways",sp3c:"State Perceptrum Corporate network",sp4a:"Entire national Perceptrum network",sp4b:"Federal Perceptrum Corporate",sp4c:"FAST-AI on all highways",sp4d:"Authorized private cameras",authModelLabel:"Authorization Model",authModelTitle:"No streaming. No access. Results only.",authSignal:"SEARCH SIGNAL (no video)",authAuthorized:"✓ AUTHORIZED",authMatchOnly:"MATCH ONLY (no video)",authOrigin:"ORIGIN",authParticipant:"PARTICIPANT"},uN={btnBadge:"Network",btnLabel:"See the FAST-AI Traffic Network →",btnSub:"Traffic cameras · Private + Government · City-wide intelligence",heroTag:"Traffic Intelligence Network",heroTitle1:"Every road. Every vehicle.",heroTitle2:"Zero blind spots.",heroSub:"F.A.S.T.-AI connects its own traffic cameras with millions of private Perceptrum installations and the entire government Perceptrum Corporate network — forming the most powerful traffic intelligence infrastru
12cture ever built.",heroCta1:"Request Access",heroCta2:"See How It Works",statLabel1:"Coverage",statLabel2:"Networks",statLabel3:"Detection",statLabel4:"Operation",statVal1:"Urban + Highways",statVal2:"Public + Private",statVal3:"Sub-second",statVal4:"24/7",whatTag:"Federated Traffic Intelligence",whatTitle:"One alert. Every camera in the city.",whatDesc:"FAST-AI operates on traffic and highway cameras under its direct management — but it can also trigger search signals to any authorized private Perceptrum installation and to government Perceptrum Corporate cameras. A single alert can activate millions of cameras across the entire urban and road network simultaneously.",howTag:"How It Works",howTitle:"Autonomous Distributed Search",step1title:"Event Registered",step1desc:"A traffic incident, a wanted vehicle, a person of interest. The target is registered once in the FAST-AI system — by plate, face, color, model, or any visual characteristic.",step2title:"Signal Propagated",step2desc:"The search signal is dispatched to FAST-AI traffic cameras, then extended to authorized private Perceptrum nodes and government Perceptrum Corporate cameras — all simultaneously.",step3title:"Multi-network Detection",step3desc:"Each node on the network executes the search locally. No video is shared. Only confirmed match results are returned to the origin system.",step4title:"Location Confirmed",step4desc:"The FAST-AI system receives the confirmed location in real time, from any camera on any participating network. Fully autonomous.",reidTag:"Identification Technology",reidTitle:"Beyond plates. Beyond faces.",reidDesc:"FAST-AI combines Re-ID (full-body biometric signature) with Face ID to identify individuals even when they change clothes, wear hats, use glasses, or partially cover their face. For vehicles, the system goes beyond plate, color, model and brand — it identifies by wheel type, tires, body marks, stickers, damage patterns, and any unique visual characteristic.",reid1title:"Re-ID (Full Body)",reid1desc:"Proportions, posture, gait, clothing pattern. The system builds a unique biometric signature for each individual — no face required.",reid2title:"Face ID + Re-ID Combined",reid2desc:"When both methods agree, identification confidence exceeds 99.7%. When conditions are adverse, Re-ID alone still provides reliable matching.",reid3title:"Vehicle: Infinite Attributes",reid3desc:"Plate · Color · Model · Brand · Wheels · Tires · Body damage · Stickers · Any visible feature. The system builds a complete fingerprint of every vehicle.",reid4title:"Object Tracking",reid4desc:"Bags, packages, motorcycles, bicycles — any object that moves can be tracked end-to-end across the entire network.",scaleTag:"Any Scale",scaleTitle:"From a street corner to the entire country.",scaleDesc:"A FAST-AI search can be limited to a single intersection, expanded to an entire city, escalated to a state highway network, or activated nationwide — across all traffic, private and government cameras simultaneously.",scale1:"Intersection",scale1desc:"FAST-AI cameras at the specific location",scale2:"City",scale2desc:"All FAST-AI + private Perceptrum urban nodes",scale3:"State",scale3desc:"Highway network FAST-AI + state Perceptrum Corporate cameras",scale4:"Country",scale4desc:"Full national coverage — every authorized system",netTag:"The Ecosystem",netTitle:"Three networks. One intelligence.",netDesc:"FAST-AI, Perceptrum and Perceptrum Corporate are designed to interoperate. A traffic alert from FAST-AI can instantly reach millions of private cameras (Perceptrum) and the entire government camera infrastructure (Perceptrum Corporate), forming an unprecedented surveillance coalition.",netF2P:"FAST-AI → Private Perceptrum",netF2D:"FAST-AI → Government Perceptrum Corporate",netP2F:"Perceptrum → FAST-AI",netD2F:"Perceptrum Corporate → FAST-AI",netP2D:"Perceptrum ↔ Perceptrum Corporate",agencyTag:"Traffic Authorities",agencyTitle:"Built for the agencies that protect roads.",agencyDesc:"FAST-AI integrates natively with traffic and road enforcement agencies. Below are examples of partner agencies by country:",agencyBR:"🇧🇷 Brazil",agencyBRlist:["DETRAN – State Traffic Department","DER – State Road Department","DNIT – National Road Infrastru
12cture Department","PRF – Federal Highway Police","PM – Military Police (Road Patrol)"],agencyUS:"🇺🇸 United States",agencyUSlist:["NHTSA – National Highway Traffic Safety Administration","State DOT – Departments of Transportation","Highway Patrol / State Police","FMCSA – Federal Motor Carrier Safety Administration"],agencyEU:"🇪🇺 Europe",agencyEUlist:["Polícia de Segurança Pública (Portugal)","Gendarmerie Nationale (France)","Bundespolizei / ADAC (Germany)","Guardia Civil de Tráfico (Spain)","Polizia Stradale (Italy)"],agencyOther:"🌍 Other Countries",agencyOtherlist:["Road Safety Corps (Nigeria)","Traffic Police Directorate (UAE)","Central Road Research Institute (India)","National Police Agency – Traffic Bureau (Japan)"],ucTag:"Use Cases",ucTitle:"Every alert on the road matters.",uc1title:"Wanted Vehicles",uc1desc:"A stolen vehicle or a plate flagged in a warrant. The plate is registered once. The search propagates instantly across all traffic cameras, private Perceptrums and Perceptrum Corporate nodes. Interception is inevitable.",uc2title:"Traffic Fugitives",uc2desc:"A vehicle flees from a checkpoint. The pursuit is tracked in real time — not just on the highway, but on every street, avenue and side road covered by the network.",uc3title:"Missing Persons on Roads",uc3desc:"An Amber Alert on a highway. The individual's face and clothing are registered. Every FAST-AI camera, every private Perceptrum and every Perceptrum Corporate terminal executes the search simultaneously.",uc4title:"Urban Ordering",uc4desc:"Irregular parking, unauthorized vehicles in restricted zones, illegal use of bus lanes. The system detects automatically and generates alerts without human operators.",uc5title:"Traffic Incident Response",uc5desc:"A major accident on a highway. FAST-AI automatically detects the incident, notifies emergency services, records all vehicles involved and reconstructs the entire sequence of events.",techTag:"Architecture",techTitle:"Built for roads. Built for scale.",tech1title:"Blind-Match Protocol",tech1desc:"Search queries never expose sensitive data. Only match / no-match results are transmitted between networks.",tech2title:"Zero Video Sharing",tech2desc:"No raw video, no stream, no image leaves the originating system. Only confirmed detections are shared.",tech3title:"Federated Execution",tech3desc:"Each node executes the search locally. The network transmits only results.",tech4title:"Revocable Authorization",tech4desc:"Any private Perceptrum or government Perceptrum Corporate node can leave the search network at any time.",ctaTitle:"Connect your city to the network.",ctaSub:"Available for traffic departments, highway patrols, state secretariats and municipalities. Every camera you add extends coverage for the entire region.",ctaNote:"Integration with DETRAN, PRF, DER and equivalent agencies in other countries. Contact us.",ctaBtn:"Request Access",ctaBtnBack:"Back to F.A.S.T.-AI",sf1sub:"FAST-AI origin",sf2sub:"Perceptrum + Perceptrum Corporate",sf3sub:"Local execution",sf4sub:"No video shared",reidPersonLabel:"RE-ID · Person",reidVehicleLabel:"VEHICLE · Full Fingerprint",reidBioNote:"Biometric signature built without face required",reidVisNote:"Identified by any visible characteristic",simulateAlert:"▶ Simulate Alert",ecoAlert:"A single FAST-AI alert can instantly reach millions of cameras across private and government networks — all executing locally, none sharing raw video."},mN=JSON.parse('{"navLabel":"PERCEPTRUM INTELLIGENCE","tag":"AUDIO INTELLIGENCE SYSTEM","heroTitle":"PERCEPTRUM","heroTitleAccent":"INTELLIGENCE","heroSub":"AI-powered audio intelligence and assisted transcription for public security, prison intelligence, and criminal investigation.","heroBadge":"WINDOWS 11 · DESKTOP APP · BY AIQUIMIST.AI","stat1val":"N","stat1label":"Unlimited Speakers","stat2val":"27","stat2label":"Brazilian States (UF)","stat3val":"100%","stat3label":"Digital Signature","stat4val":"$2.6K","stat4label":"Per unit / month","overviewTag":"EXECUTIVE OVERVIEW","overviewTitle":"From Raw Audio to Signed Report — Fully Automated","overviewP1":"Perceptrum Intelligence is a specialized desktop solution for audio intelligence activities, designed to operate in public security, prison intelligence, and criminal investigation environments.","overviewP2":"The system executes, in an integrated and automated manner, the complete audio processing cycle: from raw file capture to standardized document generation, with speaker identification, keyword detection, AI-assisted analysis, and chain of custody documentation.","overviewCard1Tag":"ZERO SERVER INFRASTRUCTURE","overviewCard1Text":"Embedded local database distributed with the installer — no database server required. Deploy instantly without IT dependencies.","overviewCard2Tag":"REMOTE LICENSE CONTROL","overviewCard2Text":"Licensed per State (UF) with mandatory remote validation at every startup. The vendor can revoke or block any license centrally and instantly.","pipelineTag":"HOW IT WORKS","pipelineTitle":"Automated Processing Pipeline","pipelineSub":"From audio file to complete report in minutes — zero manual transcription required.","pipe1num":"01","pipe1title":"Audio Normalization","pipe1desc":"The embedded audio tool automatically normalizes the input file to the quality standard required by the AI transcription service.","pipe2num":"02","pipe2title":"AI Transcription & Diarization","pipe2desc":"The normalized audio is sent to the AI service, which returns a full transcript with timestamps and speaker identification for each segment.","pipe3num":"03","pipe3title":"Processing & Consolidation","pipe3desc":"The system processes and consolidates the received data, mapping generic speakers to real interlocutor codes from the registry.","pipe4num":"04","pipe4title":"Speaker Mapping","pipe4desc":"When diarization returns generic labels (Speaker A, B), a mapping dialog lets the operator assign real identities. The system remaps the entire transcript automatically.","pipe5num":"05","pipe5title":"Report Generation","pipe5desc":"Automatic generation of all artifacts: TXT transcript, standardized Word report with institutional identity, auto-summary, and JSON audit file.","modulesTag":"FEATURES","modulesTitle":"Complete Module Suite","mod1title":"Secure Licensing & Activation","mod1desc":"License imported via code or file, signed digitally by vend
12or. Remote policy validation on every startup — mandatory. Block by serial or UF instantly.","mod2title":"Authentication & Access Control","mod2desc":"Integrated login with hashed passwords. Two profiles: Administrator and Operator. Dashboard shows active user, access level, and session status.","mod3title":"User & Source Administration","mod3desc":"Full CRUD for users, audio sources (local or network), and access permissions. Granular association between users and sources.","mod4title":"Keyword Detection & Instant Alerts","mod4desc":"Real-time keyword monitoring during audio processing. The moment any speaker says a registered keyword, the system fires an instant alert — identifying exactly who said it, when, and where the audio was captured.","mod5title":"Person Registry & Reference Audio","mod5desc":"Register persons of interest with linked reference audio files used for speaker identification and interlocutor mapping during diarization.","mod6title":"Transcription Module","mod6desc":"Full metadata form per occurrence: audio file, case number, custodied person, location, date, attorney data, document fields, keywords, and interlocutors.","mod7title":"Interval Summary","mod7desc":"Divide the transcript timeline into segments and generate independent AI summaries per interval, plus a consolidated summary. Exported as TXT and Word.","mod8title":"AI Contextual Analysis","mod8desc":"Configurable analysis presets over transcribed sources. Operator creates, edits, and runs analysis queries. Full execution history persisted for audit.","mod9title":"Messaging Integration","mod9desc":"Integration with instant messaging platform for operational notifications. Configurable per user with test message support before production activation.","outputsTag":"OUTPUTS","outputsTitle":"Every Transcription Generates 4 Artifacts","out1title":"TXT Transcript","out1desc":"Consolidated text file with full transcript of all identified speakers.","out2title":"Word Report (DOCX)","out2desc":"Standardized Word document with all occurrence metadata, interlocutor table, full transcript, and relevant events — with state institutional identity.","out3title":"Auto Summary","out3desc":"AI-generated textual summary of the recording content, displayed in the interface and exportable.","out4title":"JSON Audit File","out4desc":"Structured transcript record with timestamps, used as base for reprocessing and audit trail.","secTag":"SECURITY","secTitle":"Multi-Layer Security Architecture","sec1title":"Hashed Passwords","sec1desc":"User passwords stored exclusively with secure hash. No plaintext passwords stored anywhere in the system.","sec2title":"Digitally Signed Licenses","sec2desc":"Each license is digitally signed by the vendor. The application validates the signature before authorizing activation.","sec3title":"Signed Remote Policy","sec3desc":"The remote licensing policy (active serials list and UF blocks) is digitally signed, preventing forgery or tampering.","sec4title":"Secrets Outside Config","sec4desc":"Keys and sensitive credentials provisioned via dedicated secrets file or environment variables — kept out of standard config files.","sec5title":"Signed Binaries","sec5desc":"Installer and application executables are digitally signed, allowing authenticity and integrity verification before installation.","sec6title":"Mandatory Remote Validation","sec6desc":"The system does not operate without successful remote validation at every startup — guaranteeing active vendor control over licenses in use.","reqTag":"REQUIREMENTS","reqTitle":"Infrastructure & Dependencies","req1label":"Operating System","req1val":"Windows 11 x64","req2label":"Windows Components","req2val":"Windows App Runtime (included in installer when absent)","req3label":"Default Database","req3val":"Embedded SQLite — no database server required","req4label":"Optional Database","req4val":"External PostgreSQL for centralized multi-operator scenarios","req5label":"Network","req5val":"Internet access for license validation, transcription, AI analysis, and messaging","req6label":"Audio Tool","req6val":"Packaged with the application — no separate installation required","pricingTag":"COMMERCIAL","pricingTitle":"Flexible Licensing Model","pricingSub":"Composed per contract scope. Independent components allow precise budget control.","priceHighlight":"$2,570","priceHighlightSub":"per prison unit / month","priceNote":"Multi-unit contracts and annual licenses available. Contact us for a custom quote.","pitem1":"Software License per Client","pitem1mode":"Monthly / Annual","pitem2":"Activation per State (UF)","pitem2mode":"Per UF / Contract Lot","pitem3":"Initial Deployment Service","pitem3mode":"Unit per Deployment","pitem4":"Institutional Setup per Agency","pitem4mode":"Unit per Agency","pitem5":"Official Logos per UF","pitem5mode":"Unit per UF","pitem6":"Remote License Policy Config","pitem6mode":"Unit per Contract","pitem7":"External Integration Config","pitem7mode":"Unit per Integration","pitem8":"Operational Training","pitem8mode":"Per class / Per user","pitem9":"Technical Support & Maintenance","pitem9mode":"Monthly / Annual","pitem10":"Migration to Centralized DB","pitem10mode":"Unit per Project","pitem11":"Custom Reports & Fields","pitem11mode":"On demand","ctaTitle":"Ready to Deploy","ctaTitleAccent":"Perceptrum Intelligence?","ctaSub":"Request a technical presentation or operational demonstration. Available remotely for public security agencies across all 27 Brazilian states.","ctaBtn1":"Request Demo","ctaBtn2":"Contact Us","ctaTagline":"AiQuimist.ai — AI Technology for Public Security","validityLabel":"Proposal Validity","validityVal":"60 days","deliveryLabel":"Delivery","deliveryVal":"Immediate","warrantyLabel":"Software Warranty","warrantyVal":"Permanent","langLabel":"System Language","langVal":"Brazilian Portuguese","alertSectionTag":"REAL-TIME DETECTION","alertSectionTitle":"Instant Alert the Moment a Keyword Is Spoken","alertSectionSub":"No limit on speakers. No delay. The system listens continuously — and the instant any voice says a registered keyword, it triggers an alert with full evidence.","alert1title":"Unlimited Speaker Identification","alert1desc":"Perceptrum Intelligence diarizes and identifies any number of speakers in a recording — not just tw
12o. Every voice is tracked and attributed individually throughout the entire transcript.","alert2title":"Keyword Detection in Real Time","alert2desc":"As soon as the system processes a segment and hears a registered keyword, it triggers an immediate alert — no waiting for the full transcript to complete.","alert3title":"Evidence Package per Keyword","alert3desc":"Each alert carries a complete evidence package: who spoke the keyword (speaker ID), the exact timestamp, the transcript excerpt, and the location where the audio was captured.","alert4title":"Instant Notification Delivery","alert4desc":"Alerts are delivered instantly via the integrated messaging platform, ensuring the operator or supervisor is notified the moment any sensitive term is detected — wherever they are.","pkgTableTitle":"License Package Pricing Table","pkgTableSub":"Progressive discounts for multi-unit contracts. The larger the package, the greater the savings.","pkgColPackage":"Package","pkgColContext":"Use Context","pkgColDiscount":"Discount","pkgColPerLicense":"Price / License","pkgColTotal":"Package Total","pkgColSavings":"Total Savings","pkgRecommended":"Recommended","pkgContactBtn":"Request Quote","pkg1qty":"10 licenses","pkg1ctx":"Multi-unit (10)","pkg1ctxSub":"Up to 10 prison units / office + branches","pkg1disc":"15%","pkg1price":"$2,183","pkg1total":"$21,830","pkg1savings":"$3,853","pkg2qty":"30 licenses","pkg2ctx":"Region / cluster (30)","pkg2ctxSub":"E.g.: 27 states. Security Secretariats.","pkg2disc":"25%","pkg2price":"$1,927","pkg2total":"$57,810","pkg2savings":"$19,267","pkg3qty":"50 licenses","pkg3ctx":"Mid-size state (50)","pkg3ctxSub":"","pkg3disc":"32%","pkg3price":"$1,747","pkg3total":"$87,350","pkg3savings":"$41,103","pkg4qty":"100 licenses","pkg4ctx":"Large state (100)","pkg4ctxSub":"","pkg4disc":"40%","pkg4price":"$1,541","pkg4total":"$154,100","pkg4savings":"$102,759","pkg5qty":"200 licenses","pkg5ctx":"Macro-region (200)","pkg5ctxSub":"","pkg5disc":"48%","pkg5price":"$1,336","pkg5total":"$267,200","pkg5savings":"$246,621","pkg6qty":"500 licenses","pkg6ctx":"National coverage ½","pkg6ctxSub":"","pkg6disc":"55%","pkg6price":"$1,156","pkg6total":"$578,000","pkg6savings":"$706,466","pkg7qty":"900 licenses","pkg7ctx":"Extended coverage (900)","pkg7ctxSub":"","pkg7disc":"60%","pkg7price":"$1,028","pkg7total":"$925,200","pkg7savings":"$1,387,241","pkg8qty":"1,400 licenses","pkg8ctx":"Full national (1,400)","pkg8ctxSub":"","pkg8disc":"65%","pkg8price":"$899","pkg8total":"$1,258,600","pkg8savings":"$2,337,759"}'),pN={tag:"PERCEPTRUM · DOMESTIC / PRIVATE",title:"Download",subtitle:"AI security platform for homes, businesses and condominiums. Install and start protecting your space in minutes.",availableLabel:"Available Now",windowsTitle:"Perceptrum Personal for Windows",windowsDesc:"Perceptrum Personal is distributed through Microsoft Store. Use the button below to open the official Microsoft Store listing and install securely.",downloadBtn:"Microsoft Store",macComingSoon:"macOS — Coming Soon",linuxComingSoon:"Linux — Coming Soon",winReqTitle:"System Requirements",winReq1:"Windows 10 or Windows 11 (64-bit)",winReq2:"4 GB RAM minimum (8 GB recommended)",winReq3:"Internet connection required for AI features",winReq4:"Compatible USB, IP or RTSP camera",disclaimerTitle:"Important",disclaimerText:"This is the Perceptrum Personal domestic/private version. For enterprise and government deployments, contact our sales team for a dedicated solution.",contactLink:"Contact Enterprise Sales",percDownloadTag:"DOWNLOAD AVAILABLE",percDownloadTitle:"Download Perceptrum Personal",percDownloadSub:"The domestic and private version of Perceptrum Personal is available on Microsoft Store for Windows. Open the store and install in minutes.",percDownloadBtn:"Microsoft Store",percDownloadNote:"Secure download through the official Microsoft Store"},hN=JSON.parse(`{"badge":"Blog & Insights","heroTitle1":"AI, Public Safety","heroTitle2":"and Smart Cities","heroSubtitle":"Technical and strategic content about artificial intelligence applied to public safety, smart cities, and intelligent monitoring — for managers, specialists, and decision makers.","featuredLabel":"Featured Article","readTime":"read","readArticle":"Read article","allCategories":"All","noArticles":"No articles found in this category.","wantMore":"Want to know more?","talkExperts":"Talk to our experts","expertDesc":"Our team is ready to demonstrate how AiQuimist.ai platforms apply to your reality — whether a city, a condominium, or a company.","requestDemo":"Request Demo","otherArt
12icles":"Other Articles","seeAll":"See all","backToBlog":"Back to Blog","shareLabel":"Share:","copyLink":"Copy link","wantToSee":"Want to see in practice?","scheduleDemo":"Schedule a demonstration and see how AI transforms your security operation.","requestDemoBtn":"Request Demo","ourProducts":"Our products","categories":{"ia-seguranca":"AI & Public Safety","smart-cities":"Smart Cities","tecnologia":"Technology & AI","casos-de-uso":"Use Cases","all":"All"},"posts":{"ia-transformando-seguranca-publica-brasil":{"title":"How Artificial Intelligence Is Transforming Public Safety in Brazil","excerpt":"From pattern recognition to real-time crime prevention: understand how AI platforms are redefining the role of surveillance cameras in Brazilian cities.","tags":["artificial intelligence","public safety","smart cameras","crime prevention"],"content":[{"type":"paragraph","text":"Brazil faces one of the greatest public safety challenges in the world. With more than 40,000 homicides per year and a surveillance camera density growing at double-digit rates, Brazilian cities accumulate petabytes of video footage that is rarely analyzed in real time. Artificial intelligence is changing that radically."},{"type":"heading","text":"The Problem of Blind Cameras"},{"type":"paragraph","text":"For decades, security cameras were treated as passive tools: they recorded everything, but only served investigations after a crime had already occurred. A human operator can effectively monitor, at most, between 4 and 8 screens simultaneously. In a city with 10,000 cameras, that means more than 99% of footage is never actually watched."},{"type":"paragraph","text":"Modern AI platforms for public safety completely change that equation. Instead of requiring humans to passively observe, the system analyzes all feeds simultaneously, 24 hours a day, identifying risk situations before they turn into crimes."},{"type":"heading","text":"What AI Can Detect"},{"type":"paragraph","text":"The capabilities of current computer vision platforms for public safety go far beyond simple facial recognition. Among the most relevant detections for the Brazilian context:"},{"type":"list","items":["Atypical gatherings in public spaces — an early indicator of confrontations or disturbances","Abandoned object behavior — detection of suspects leaving backpacks, bags, or packages","Perimeter and restricted zone monitoring with automatic intrusion alerts","Identification of vehicles with license plates on watch lists or search warrants","Pedestrian flow analysis to identify panic or flight situations","Detection of weapons and sharp objects in camera feeds","Recognition of people in vulnerable situations (falls, fainting, assaults)"]},{"type":"callout","text":"Platforms like Perceptrum Corporate combine more than 40 layered AI models, enabling detection of risk situations with accuracy above 95% and latency under 200 milliseconds."},{"type":"heading","text":"From Reactivity to Predictive Prevention"},{"type":"paragraph","text":"The most significant advancement is not real-time detection — it is predictive capability. Algorithms trained on historical crime data can identify patterns that precede crimes: peak incident times by neighborhood, recurring suspect behaviors, correlations between events (such as concerts and territorial disputes) and robberies."},{"type":"paragraph","text":"This allows public safety agencies to reposition patrol vehicles and officers preventively, before emergency calls come in. Studies in cities across the US and Europe that have adopted predictive surveillance report reductions of 15% to 30% in certain types of crime."},{"type":"heading","text":"Integration with Operations Centers (COPs and CIOPs)"},{"type":"paragraph","text":"One of the major bottlenecks in Brazilian public safety is communication between different agencies — Military Police, Civil Police, Municipal Guard, Fire Department, SAMU. Modern AI platforms integrate natively with dispatch systems, CAD (Computer-Aided Dispatch), and digital radios, creating a unified information flow."},{"type":"paragraph","text":"When a system detects a risk situation, it automatically creates an incident, attaches the relevant video clip, geolocates the occurrence on the operations center map, and suggests the nearest available resources for response — all within seconds."},{"type":"heading","text":"Privacy, LGPD, and the Ethical Debate"},{"type":"paragraph","text":"The deployment of AI in public surveillance raises legitimate questions about privacy and civil rights. In Brazil, the LGPD (General Data Protection Law) and resolutions from the CNJ establish guidelines for the use of facial recognition in public spaces. Responsible platforms operate with biometric data encryption, access audits, documented legal bases, and the ability to delete records upon request."},{"type":"paragraph","text":"The debate is not about whether to use AI in public safety, but how to do so with responsibility, transparency, and proper governance. Cities that have implemented rigorous compliance frameworks are able to capture the benefits of technology while maintaining public trust."},{"type":"heading","text":"The Path Forward for Brazilian Cities"},{"type":"paragraph","text":"The adoption journey for Brazilian municipalities generally follows three phases: (1) integrating existing cameras into a centralized platform with AI analysis, with no hardware replacement required; (2) training monitoring teams and fine-tuning AI models to local specifics; and (3) expanding to integration with other urban systems such as traffic lights, alarms, and police radio."},{"type":"callout","text":"The return on investment in AI platforms for public safety is measurable: reduction in human monitoring overtime hours, an increase in crime resolution rates (through access to higher-quality evidence), and a decrease in incident response times."}]},"cidades-inteligentes-ia-transformacao-urbana":{"title":"Smart Cities: What They Are and How AI Accelerates This Transformation","excerpt":"Smart cities aren't just about technology — they represent a new philosophy of urban management. Understand the pillars, the challenges, and how AI connects infrastru
12cture, data, and citizens in an intelligent network.","tags":["smart cities","cidades inteligentes","urban management","AI","infrastructure"],"content":[{"type":"paragraph","text":"More than 55% of the world's population lives in cities — and that number will reach 70% by 2050. In Brazil, urbanization already exceeds 87%. Cities that fail to evolve their intelligent management capabilities will face growing crises in mobility, security, the environment, and public services. It is in this context that the Smart City concept has moved from technological utopia to strategic necessity."},{"type":"heading","text":"What Makes a City Smart?"},{"type":"paragraph","text":"A smart city is not defined by the number of cameras or sensors it has — but by its ability to transform data into faster and better decisions. The six fundamental pillars of a smart city are: smart governance, smart mobility, smart environment, smart economy, smart people, and smart housing."},{"type":"paragraph","text":"The common denominator across all these pillars is the collection, analysis, and real-time use of data to optimize urban operations. And this is where artificial intelligence enters as the central enabling element."},{"type":"heading","text":"The Role of AI in Urban Infrastructure"},{"type":"paragraph","text":"AI is not just another technology layer — it is the nervous system that makes sense of the vast amounts of data that the modern city produces. Traffic sensors, surveillance cameras, energy consumption meters, weather stations, fleet GPS systems, and municipal apps generate data volumes that are impossible to analyze manually."},{"type":"list","items":["Adaptive traffic management: traffic lights that adjust their cycles in real time based on vehicle flow","Early flood risk detection: analysis of rainfall data, river levels, and flooding history","Waste collection optimization: dynamic routes based on dumpster-level sensors","Smart public lighting: automatic intensity adjustment based on pedestrian presence and ambient light levels","Air quality monitoring and alerts for at-risk groups","Predictive infrastru
12cture maintenance: bridges, pavements, and water networks"]},{"type":"heading","text":"The Concept of the Federated City"},{"type":"paragraph","text":"One of the greatest challenges facing smart cities is fragmentation: each municipal department buys its own system, creates its own data silo, and fails to communicate with the others. The result is a city with a lot of technology but very little integrated intelligence."},{"type":"paragraph","text":"The federated city concept solves this problem with an architecture that allows different systems — public safety cameras, traffic sensors, SAMU data, fire department information — to share a centralized analytics layer while maintaining the autonomy of each department."},{"type":"callout","text":"Federated platforms like F.A.S.T.-AI allow municipalities to start with the systems they already have and progressively integrate new data sources, without complex migrations or replacement of existing infrastructure."},{"type":"heading","text":"The Case for Smart Cameras in Urban Management"},{"type":"paragraph","text":"Cameras already exist in large numbers across Brazilian cities — the problem is that they are used primarily as post-incident historical archives. When integrated with AI platforms, those same cameras begin to function as multifunctional sensors: counting vehicles, identifying types of incidents, measuring pedestrian flow, detecting emergency situations, and feeding real-time management dashboards."},{"type":"paragraph","text":"A camera integrated with an AI platform can replace multiple dedicated sensors, reducing the city's total instrumentation cost while delivering far greater operational value."},{"type":"heading","text":"Real Implementation Challenges in Brazil"},{"type":"paragraph","text":"The reality of Brazilian municipalities has unique characteristics that smart city projects must respect: limited budgets and annual budget cycles that hinder long-term investments; fiber connectivity concentrated in state capitals and absent in mid-sized cities; technical capacity limitations within municipal teams; and an evolving regulatory framework, especially regarding the use of biometrics in public spaces."},{"type":"list","items":["Start with what you have: integrate existing cameras and sensors before purchasing additional hardware","Prioritize use cases with measurable ROI and short timelines (security, traffic)","Establish clear data governance from the outset — who accesses what and for what purpose","Invest in team training: technology only works if there are people capable of interpreting it","Choose platforms with open architecture to avoid vendor lock-in"]},{"type":"heading","text":"The Future: Cities That Learn"},{"type":"paragraph","text":"The next frontier for smart cities is not just collecting and analyzing data — it is continuous learning. AI systems that incorporate operational feedback become progressively more accurate and adapted to the specific characteristics of each city. A platform deployed in Manaus will develop, over time, models calibrated to the Amazon's climatic conditions, local crime patterns, and the region's specific traffic behavior."},{"type":"quote","text":"The smart city is not a product you buy — it is a capability you build, data by data, incident by incident, over time.","source":"F.A.S.T.-AI design principle"}]},"visao-computacional-cameras-inteligentes":{"title":"Computer Vision: The Technology Behind Cameras That Think","excerpt":"How deep learning algorithms transform pixels into meaning — and why that changes everything for security and urban management.","tags":["computer vision","deep learning","computer vision","neural networks","AI cameras"],"content":[{"type":"paragraph","text":"A camera captures light and converts it into pixels. For decades, that was all cameras did. Computer vision changes that reality: today, deep learning algorithms can extract meaning from images with accuracy equal to or greater than the human eye — and at speeds no human could match."},{"type":"heading","text":"What Is Computer Vision?"},{"type":"paragraph","text":"Computer vision (CV) is the field of artificial intelligence dedicated to making machines 'see' and interpret images and videos. It's not just about recognizing objects — it's about understanding context, spatial relationships, movement, behavior, and, increasingly, intent."},{"type":"paragraph","text":"The convolutional neural network (CNN) revolution that began in 2012 transformed computer vision from an experimental field into production-ready technology. Today, models like YOLO, ResNet, and Vision Transformers (ViTs) can identify hundreds of objects and situations in real time on commodity hardware."},{"type":"heading","text":"The Five Layers of AI Visual Perception"},{"type":"list","items":["Object detection: identifies and locates elements in an image (people, vehicles, weapons, abandoned objects)","Classification: categorizes what was detected (car vs. motorcycle, man vs. woman, running vs. walking)","Tracking: follows an object or person over time, even if they leave and return to the field of view","Pose and behavior analysis: interprets body postures and movement patterns (aggression, falls, suspicious hesitation)","Identity recognition: links a face or silhouette to a specific identity in a database"]},{"type":"heading","text":"How It Works in Practice: Edge vs. Cloud"},{"type":"paragraph","text":"A computer vision system for security can process data in two ways: at the edge (edge computing), where analysis happens directly on the camera or on a nearby local server, and in the cloud, where data is sent for centralized processing. Modern solutions use a hybrid architecture: simpler analyses at the edge (motion detection, people counting) and complex analyses in the cloud (facial recognition, behavioral analysis)."},{"type":"callout","text":"Systems like Perceptrum Corporate operate with latency under 200ms from the moment of detection to the alert at the operations center — critical in situations where seconds make a difference."},{"type":"heading","text":"AI Models for Security: Training and Calibration"},{"type":"paragraph","text":"A generic computer vision model performs well under lab conditions. In the real world of urban security, performance depends critically on training with data from the actual use context. A model trained on images from European street cameras may struggle with the lighting conditions and urban density found in Brazilian cities."},{"type":"paragraph","text":"That's why serious urban security platforms include a continuous calibration process: the system learns from local data, reduces false positives over time, and adapts its detection thresholds to the specific characteristics of the monitored environment."},{"type":"heading","text":"Limitations Every Manager Should Know"},{"type":"paragraph","text":"No technology is perfect, and honesty about limitations is crucial for setting the right expectations:"},{"type":"list","items":["Low-light conditions still reduce accuracy, especially for facial recognition","Low-resolution cameras (below 2MP) limit the ability to detect fine details","Occlusion (when one object partially covers another) is a challenge for all current models","Very crowded environments (such as subway stations during rush hour) increase the false positive rate","No system should completely replace human judgment — AI is a decision-support tool"]},{"type":"heading","text":"What Comes Next"},{"type":"paragraph","text":"The frontiers of computer vision are expanding rapidly. Multimodal models, which combine vision with natural language, allow operators to ask questions in plain English and receive answers from the camera system ('Show me all incidents involving red vehicles on this camera in the last 2 hours'). The convergence of language AI and vision promises to transform urban monitoring once again — this time, making access to camera intelligence as simple as a conversation."}]},"lgpd-vigilancia-urbana-municipios-brasileiros":{"title":"LGPD and Urban Surveillance: What Brazilian Municipalities Need to Know","excerpt":"Is the use of smart cameras and facial recognition in public spaces legal in Brazil? What are the obligations of municipalities? A practical guide on compliance and privacy.","tags":["LGPD","privacy","facial recognition","compliance","digital law","municipalities"],"content":[{"type":"paragraph","text":"The General Data Protection Law (LGPD — Law 13.709/2018) came into effect in 2020 and established a new regulatory framework for the processing of personal data in Brazil. For municipalities that operate or intend to operate surveillance systems with smart cameras, understanding the implications of LGPD is not optional — it is a prerequisite for the responsible and legally sound deployment of these technologies."},{"type":"heading","text":"Biometric Data is Sensitive Data"},{"type":"paragraph","text":"LGPD classifies biometric data — including facial images used for identification — as sensitive personal data. This means that processing such data requires a specific legal basis and additional protection obligations. For municipalities, the most relevant legal bases are: (a) compliance with a legal or regulatory obligation by the controller; (b) regular exercise of rights; and (c) protection of the life or physical safety of the data subject or a third party."},{"type":"callout","text":"The mere fact that a municipality operates cameras in public spaces already constitutes it as a personal data controller under LGPD, even if facial recognition is not used."},{"type":"heading","text":"Practical Obligations for Municipalities"},{"type":"list","items":["Appoint a Data Protection Officer (DPO) responsible for the privacy program","Develop and publish a privacy policy specific to the surveillance systems","Conduct a Data Protection Impact Assessment (DPIA) before implementing facial recognition systems","Establish video retention periods and ensure automatic deletion upon expiration","Implement access controls to ensure that only authorized personnel can access images and data","Maintain up-to-date records of data processing activities","N
12otify ANPD and data subjects in the event of a security incident that may cause harm"]},{"type":"heading","text":"Facial Recognition in Public Spaces"},{"type":"paragraph","text":"The use of real-time facial recognition in public spaces is the most sensitive issue and still the most debated in Brazil. In 2022, the São Paulo Court of Justice suspended a facial recognition system in the São Paulo Metro for violating LGPD. STJ and CNJ also issue periodic guidance on the subject."},{"type":"paragraph","text":"Its use for public safety purposes — such as searching for fugitives — is supported by security legislation, but requires rigorous process documentation, human oversight of decisions, and cannot be used in a discriminatory manner. Passive mass biometrics (identifying every person who passes in front of a camera) is the modality with the greatest legal risk."},{"type":"heading","text":"Best Practices That Reduce Legal Risk"},{"type":"list","items":["Clear signage in monitored areas informing the public about the use of AI-powered cameras","Use of facial recognition only pursuant to a warrant or explicit court order","Data segregation: footage from standard cameras vs. biometric data processed separately","Periodic external audits of the system and its access logs","Training of operational teams on legal limitations and responsibilities","Vendor contracts that include joint liability clauses"]},{"type":"heading","text":"The Role of the Technology Vendor"},{"type":"paragraph","text":"When contracting an AI-powered surveillance platform, the municipality assumes responsibility as the data controller. The technology vendor acts as the data processor. This means that the supply contract must include specific data protection obligations: the vendor may only process data for the contracted purposes, must implement technical security measures, and must cooperate with audits and incident notifications."},{"type":"paragraph","text":"Responsible vendors offer contracts with clear DPA (Data Processing Agreement) clauses, technical documentation on the security measures implemented, and the ability to demonstrate compliance to ANPD when required."},{"type":"heading","text":"LGPD as an Opportunity, Not an Obstacle"},{"type":"paragraph","text":"Municipalities that view LGPD as an enemy of public safety have the wrong perspective. Compliance with data protection law is precisely what enables the building of public trust in surveillance technologies — trust that is fundamental to the political and operational success of these projects. Cities that deploy smart cameras with transparency, clear boundaries, and visible governance earn far greater cooperation from residents than those that operate in opacity."}]},"analise-comportamental-ia-prevencao-crimes":{"title":"Behavioral Analysis by AI: How to Anticipate Risks Before They Become Crimes","excerpt":"The next frontier of public safety goes beyond detecting what is happening — it's predicting what is about to happen. Understand how behavioral analysis by AI works.","tags":["behavioral analysis","crime prevention","predictive AI","machine learning","security"],"content":[{"type":"paragraph","text":"There is a moment, in the seconds before a crime happens, when the situation can still be reversed. A trained security guard knows how to recognize this intuitively — the nervousness of someone about to commit theft, the way someone is looking for a victim in a crowd, the moment a dispute is escalating into physical violence. Behavioral analysis by AI seeks to encode and automate exactly that capability."},{"type":"heading","text":"How AI Learns Behavior"},{"type":"paragraph","text":"Behavioral analysis models are trained on enormous volumes of annotated video: hours of normal situations (people walking, shopping, waiting) and hours of risk situations (thefts, assaults, vandalism). The algorithm learns to distinguish patterns of movement, body posture, speed, direction, and relationships between multiple people that correlate with risky behaviors."},{"type":"callout","text":"Advanced models analyze not only position and movement, but also micro-patterns such as step hesitation, gaze direction estimated from body pose, and approach patterns between individuals."},{"type":"heading","text":"Types of Behavior That Modern Systems Detect"},{"type":"list","items":["Loitering (suspicious wandering): a person circulating in a restricted or sensitive area with no apparent purpose","Tail-gaiting: consistently following someone closely, a pattern associated with harassment and theft","Atypical routing: detecting when someone enters a space through an unusual path, avoiding cameras","Conflict escalation: a sequence of body postures indicating an argument evolving into physical confrontation","Object abandonment behavior: placing something down and moving away quickly","Vulnerability signals: a person who appears disoriented, dizzy, or in physical distress","Group formation: rapid clustering of people in a pattern inconsistent with the environment (concert vs. fight)"]},{"type":"heading","text":"The Problem of False Positives"},{"type":"paragraph","text":"The biggest challenge in behavioral analysis is not detection — it's specificity. A highly sensitive system generates so many alerts that operators start ignoring them (the well-known 'Boy Who Cried Wolf' effect). A very conservative system misses real risk situations. The right balance depends on the environment: a subway station during rush hour requires different thresholds than a museum at night."},{"type":"paragraph","text":"Mature platforms allow granular sensitivity adjustments per camera, time of day, and event type, with continuous learning based on operator feedback. When an operator flags an alert as a false positive, the system learns from that example and progressively improves."},{"type":"heading","text":"Integration with Field Resources"},{"type":"paragraph","text":"Behavioral analysis in isolation has limited value. The real differentiator comes from integration: when the system detects a risk pattern, it needs to trigger the right human resource, in the right way, at the right speed. This includes direct alerts to field agents' radios, automatic dispatch of the nearest units, and automatic incident logging with a video clip and geolocation."},{"type":"heading","text":"Ethical Considerations and Algorithmic Bias"},{"type":"paragraph","text":"Behavioral analysis raises serious ethical questions. The risk of algorithmic bias is real: if the training data reflects historical policing patterns that were already discriminatory, the model may replicate and amplify those distortions. A system that learns that 'a young person, of a certain race, in a certain 
12neighborhood, at 11 PM' is suspicious may perpetuate systemic discrimination."},{"type":"paragraph","text":"The ethical use of behavioral analysis requires: training datasets audited for representativeness and bias; continuous performance monitoring segmented by demographic groups; mandatory human oversight before any operational action; and transparency about how the system works and is tested."},{"type":"heading","text":"The Future: Multimodal Analysis"},{"type":"paragraph","text":"The next generation of behavioral analysis goes beyond video: integration of audio data (detecting sounds of screams, gunshots, breaking glass), public social media data for event context, cellular telephony patterns in monitored spaces, and historical incident data for predictive calibration. The convergence of these sources promises crime prevention systems that are significantly more accurate and less intrusive than any individual approach."}]},"cameras-tradicionais-agentes-inteligentes-salto-tecnologico":{"title":"From Traditional Cameras to Intelligent Agents: The Technological Leap in Private Security","excerpt":"How condominiums, businesses, and commercial establishments are moving from archive cameras to autonomous monitoring systems that act, alert, and learn.","tags":["private security","condominiums","smart cameras","autonomous monitoring","Perceptrum"],"content":[{"type":"paragraph","text":"Brazil's private security market moves more than R$ 80 billion per year and employs around 1.5 million security guards. The vast majority of installed cameras — estimated at more than 60 million across the country — function as archives: they record everything, but rarely does anyone watch the footage before an incident occurs. This model is reaching its limit."},{"type":"heading","text":"The Old Model: Cameras as Archives"},{"type":"paragraph","text":"The traditional operation of a CFTV (Closed-Circuit Television) system is straightforward: cameras record on a loop, footage is stored for 30 to 90 days, and in the event of an incident, the recording is reviewed retroactively. The presence of a human guard in front of the monitors adds some real-time response capability, but it is limited by human attention and labor costs."},{"type":"paragraph","text":"This model comes with rising costs (guard salaries, camera maintenance, storage) and declining effectiveness (guards spending hours monitoring cameras experience rapidly degrading attention). The result is what researchers call 'illusory security': the appearance of protection without the substance."},{"type":"heading","text":"The New Model: Autonomous Surveillance Agents"},{"type":"paragraph","text":"AI-powered security platforms transform existing cameras into autonomous surveillance agents. Instead of a passive camera, the system now has an active camera: it detects, classifies, tracks, alerts, and logs — automatically, without constant human intervention."},{"type":"callout","text":"With platforms like Perceptrum, a single operator can manage hundreds of cameras with greater effectiveness than a team of human guards monitoring dozens — at a much lower operational cost."},{"type":"heading","text":"Use Cases in Private Security"},{"type":"list","items":["Residential condominiums: perimeter intrusion detection, recognition of authorized residents and visitors, unknown vehicle alerts","Commercial establishments: theft detection (product-concealing behavior), suspicious crowd alerts, monitoring of checkouts and storage areas","Warehouses and distribution centers: recognition-based access control, unauthorized-hours presence detection, asset monitoring","Hospitals and clinics: detection of patients in risk situations (falls, seizures), access control to restricted areas","Banks and branches: suspicious behavior detection in queues, vault and terminal monitoring, helmet and face-obstruction alerts","Schools and universities: prohibited object detection, perimeter monitoring, identification of unauthorized individuals"]},{"type":"heading","text":"The Transition for Small and Medium-Sized Businesses"},{"type":"paragraph","text":"For years, AI for security was accessible only to large corporations with robust IT budgets. The democratization of cloud computing and the falling cost of AI processing changed that. Today, a mid-sized establishment can access analytical capabilities that were once exclusive to major banks or airports, at a monthly cost comparable to a single security guard's salary."},{"type":"paragraph","text":"The SaaS (Software as a Service) model eliminates the need for upfront infrastru
12cture investment: the establishment keeps its existing cameras, installs a software agent, and gains active AI analysis. Physical hardware can be upgraded progressively, prioritizing the highest-risk areas."},{"type":"heading","text":"Concrete ROI: What to Measure"},{"type":"list","items":["Reduction in theft losses: inventory comparison before and after deployment","Reduced human surveillance costs: guard hours replaced by autonomous monitoring","Incident response time: comparison between the manual model and automatic alerts","Incident resolution rate: improvement in the quality of evidence available for investigation","Insurance premiums: insurers offer discounts of 10–25% to establishments with certified intelligent monitoring systems"]},{"type":"paragraph","text":"The transition from passive cameras to intelligent agents is not a matter of if, but when. For establishments that depend on security — and all of them do — the question is what the cost of waiting will be."}]},"reconhecimento-facial-seguranca-publica-etica-tecnologia":{"title":"Facial Recognition in Public Safety: Uses, Limits, and the Ethical Debate in Brazil","excerpt":"Facial recognition is one of the most powerful and controversial technologies in modern security. Understand how it works, where it is effective, and where it meets its legal and ethical limits.","tags":["facial recognition","biometrics","AI ethics","public safety","civil rights"],"content":[{"type":"paragraph","text":"In 2019, the São Paulo Civil Police used facial recognition to identify and arrest a fugitive during Carnival — the first arrest made with this technology in Brazil. Since then, the adoption of facial recognition in public safety has grown rapidly, alongside the debate over its limits and risks. Understanding this technology — what it does well, what it does poorly, and where it should not be used — is essential for public safety managers."},{"type":"heading","text":"How Facial Recognition Works"},{"type":"paragraph","text":"Facial recognition is a subset of computer vision that analyzes unique geometric features of the human face — the distance between the eyes, the shape of the nose, the contour of the jaw — to create a mathematical representation called a facial embedding. This embedding can be compared against other embeddings in a database to determine whether it matches a known identity."},{"type":"paragraph","text":"Modern systems operate in two modes: verification (confirming that a person is who they claim to be, as in access control) and identification (determining who an unknown person is in an image). The second mode — identification — is the most sensitive from a legal and ethical standpoint."},{"type":"heading","text":"Where Facial Recognition Is Effective"},{"type":"list","items":["Fugitive search: comparing camera images against warrant databases — high effectiveness with human oversight","Access control in secure areas: identity verification at specific checkpoints (airports, critical facilities)","Victim identification: recognition in emergency situations or disasters","Post-incident investigation: retrospective search of video archives to identify already-known suspects","Registry deduplication: identifying whether the same person is registered multiple times across public systems"]},{"type":"heading","text":"Where the Limits Are Critical"},{"type":"paragraph","text":"The technical limitations of facial recognition are well documented and have direct implications for its use in public safety. Studies by NIST (the U.S. National Institute of Standards and Technology) show that error rates vary significantly by age group, gender, and especially ethnicity — with false match rates up to 100x higher for Black individuals in some systems."},{"type":"callout","text":"A false positive rate of 0.1% may seem small — but in a city with 1 million cameras and 1 billion analyses per day, it potentially means 1 million incorrect matches."},{"type":"heading","text":"The Brazilian Debate: Between Efficiency and Rights"},{"type":"paragraph","text":"The Brazilian debate over facial recognition in public spaces is far from settled. On one side, law enforcement agencies argue that the technology significantly enhances the capacity to identify criminals and terrorists. On the other, civil rights organizations and technology experts point to the risks of discrimination, wrongful prosecution, and mass surveillance."},{"type":"paragraph","text":"The most legally and ethically defensible position is that of controlled use: facial recognition as an investigative support tool, with results always reviewed by a human before any action is taken, and with a prohibition on its use for mass identification of citizens without individualized suspicion."},{"type":"heading","text":"The Responsible Use Framework"},{"type":"list","items":["Only for serious crimes (an exhaustive list defined by law or decree)","Facial recognition results are investigative leads, never evidence or a sufficient basis for arrest","Mandatory human review by a qualified officer before any action is taken","Detailed logging of every query, including reason, operator, and result","Periodic audits of accuracy and error rates broken down by demographic group","Prohibition on use at political demonstrations, protests, and labor activities","Maximum retention period for collected biometric data"]},{"type":"paragraph","text":"The path forward for facial recognition in Brazilian public safety runs through specific legislation — still absent — that clearly establishes what can and cannot be done, with independent oversight and effective penalties for misuse. Until that regulatory framework exists, public managers who adopt the technology must fill that regulatory void with rigorous internal policies."}]}}}`),gN=JSON.parse(`{"badge":"Technical Glossary","heroTitle1":"AI, Security","heroTitle2":"Smart Cities","heroSubtitle":"Clear technical definitions of the main concepts of artificial intelligence applied to public safety, smart cities, and data protection.","searchPlaceholder":"Search term...","allCategories":"ALL","termsFound":"TERMS FOUND","termFound":"TERM FOUND","clearFilters":"Clear filters","noResults":"No terms found for","clearSearch":"Clear search","categoryLabel":"CATEGORY","relatedTerms":"RELATED TERMS","presentIn":"PRESENT IN","ctaHeading":"See AI applied in practice","ctaSubtitle":"All these concepts are integrated into the AiQuimist.ai platforms. See how they work in the field.","ctaBtn1":"PERCEPTRUM CORPORATE","ctaBtn2":"READ BLOG","termsCount":"terms defined","categoriesLabel":"Categories","updatedYear":"Updated 2025","categories":{"ia-ml":"AI & Machine Learning","visao-computacional":"Computer Vision","seguranca-publica":"Public Safety","smart-cities":"Smart Cities","privacidade-legal":"Privacy & Legal"},"terms":{"agente-de-ia":{"term":"AI Agent","shortDef":"Autonomous system that perceives the environment and makes decisions to achieve goals.","fullDef":"An AI agent is a computational system capable of perceiving its environment through sensors (cameras, microphones, APIs), processing information with artificial intelligence models, and autonomously executing actions to achieve predefined goals. Unlike traditional rule-based algorithms, AI agents adapt their behavior based on continuous learning. In public safety, AI agents monitor camera feeds in real time, detect anomalies, and trigger alerts without constant human intervention.","relatedTerms":["Machine Learning","Real-Time Inference","AI Model"]},"aprendizado-de-maquina":{"term":"Machine Learning","shortDef":"Subfield of AI where systems learn patterns from data without explicit programming.","fullDef":"Machine Learning is a branch of artificial intelligence that enables computers to learn and improve automatically through experience, without being explicitly programmed for each task. Algorithms analyze large volumes of historical data, identify patterns, and build predictive models. In public safety, ML algorithms are trained on thousands of hours of video to recognize suspicious behavior, identify vehicles, detect abnormal gatherings, and anticipate incidents.","relatedTerms":["Deep Learning","Model Training","Neural Network"]},"deep-learning":{"term":"Deep Learning","shortDef":"ML technique using deep neural networks with multiple layers to extract complex representations.","fullDef":"Deep Learning is a subfield of machine learning that uses artificial neural networks with multiple (deep) layers to model complex abstractions in data. Inspired by the structure of the human brain, Deep Learning has revolutionized tasks such as image recognition, natural language processing, and object detection. Models such as CNN (Convolutional Neural Networks) and Transformers are the foundation of the leading computer vision solutions applied to public safety.","relatedTerms":["Convolutional Neural Network","Transformer","Machine Learning"]},"modelo-de-ia":{"term":"AI Model","shortDef":"Trained mathematical representation capable of making predictions or classifications on 
12new data.","fullDef":"An AI model is the result of a training process: a mathematical representation learned from data that can be applied to make predictions, classifications, or recommendations on new data. Models can be simple (logistic regression) or extremely complex (neural networks with billions of parameters). In public safety practice, different models are combined — one for object detection, another for tracking, another for behavioral analysis — forming an AI pipeline.","relatedTerms":["Real-Time Inference","Model Training","AI Pipeline"]},"inferencia-em-tempo-real":{"term":"Real-Time Inference","shortDef":"Execution of AI models with minimal latency to process live data.","fullDef":"Real-Time Inference is the ability to run artificial intelligence models with sufficiently low latency to process live data — such as video streams — and produce results in milliseconds. This is what differentiates a post-event video analysis system from an active monitoring system: real-time inference makes it possible to detect a threat and alert operators while the event is still unfolding. It requires specialized hardware (GPUs, NPUs, AI accelerators) and optimized models (quantization, pruning).","relatedTerms":["GPU","Latency","AI Agent"]},"treinamento-de-modelo":{"term":"Model Training","shortDef":"Process of adjusting the parameters of a neural network using labeled data to minimize errors.","fullDef":"Model Training is the process by which a machine learning model learns from data. During training, the algorithm iteratively adjusts its internal parameters (weights) to minimize the difference between its predictions and the correct outcomes (labels). In the context of public safety, training a suspicious behavior detection model requires a corpus of annotated video data — a task that can take months and enormous computational resources, as well as domain-specific expertise.","relatedTerms":["Dataset","Overfitting","Fine-tuning"]},"fine-tuning":{"term":"Fine-tuning","shortDef":"Adapting a pre-trained model for a specific task using domain data.","fullDef":"Fine-tuning is the technique of taking an AI model pre-trained on a large generic dataset and adjusting it with a smaller set of domain-specific data. This drastically reduces development cost and time: instead of training from scratch, the model starts from a broad knowledge base and is specialized for the desired task. In public safety, a computer vision model trained on ImageNet can be fine-tuned with urban security camera data to detect stolen vehicles or specific behaviors.","relatedTerms":["Transfer Learning","Dataset","Model Training"]},"rede-neural-convolucional":{"term":"Convolutional Neural Network (CNN)","shortDef":"Neural network architecture specialized in processing grid-structured data, such as images.","fullDef":"Convolutional Neural Networks (CNN) are a class of deep neural networks particularly effective at processing data with spatial structure, such as images and video. They use convolution operations to hierarchically extract visual features — edges, textures, shapes, complete objects. They are the core technology behind object detection systems (YOLO, SSD, EfficientDet), facial recognition, and video analysis in public safety.","relatedTerms":["Deep Learning","Object Detection","YOLO"]},"llm":{"term":"LLM (Large Language Model)","shortDef":"Large-scale language model capable of understanding and generating text with human-like fluency.","fullDef":"Large Language Models are artificial intelligence models trained on enormous text corpora with billions or trillions of parameters, capable of understanding and generating natural language with high fluency. Examples include GPT-4, Claude, Gemini, and Llama. In public safety, LLMs are used in emergency dispatch assistants, incident report analysis, automatic bulletin summarization, and in the voice component of AI agents such as Perceptrum Intelligence.","relatedTerms":["Perceptrum Intelligence","Natural Language Processing","Transformer"]},"processamento-de-linguagem-natural":{"term":"Natural Language Processing (NLP)","shortDef":"Field of AI that enables machines to understand, interpret, and generate human language.","fullDef":"Natural Language Processing (NLP) is the area of artificial intelligence that deals with the interaction between computers and human language. It encompasses tasks such as sentiment analysis, machine translation, entity extraction, speech recognition, and text generation. In public safety systems, NLP is used to analyze emergency calls, transcribe radio communications, process incident reports, and enable natural language queries against incident databases.","relatedTerms":["LLM","Speech Recognition","Sentiment Analysis"]},"visao-computacional":{"term":"Computer Vision","shortDef":"Field of AI that enables machines to interpret and understand visual information from the real world.","fullDef":"Computer Vision is the interdisciplinary field concerned with how computers can be programmed to interpret and understand the visual content of the real world — digital images, videos, and camera data. It uses image processing algorithms, machine learning, and deep neural networks to perform tasks such as image classification, object detection and tracking, semantic segmentation, and behavior analysis. It is the fundamental technology behind modern smart cameras used in public safety.","relatedTerms":["Object Detection","Facial Recognition","Behavior Analysis"]},"deteccao-de-objetos":{"term":"Object Detection","shortDef":"Computer vision technique that identifies and locates specific objects in images or videos.","fullDef":"Object Detection is a computer vision technique that identifies and locates instances of objects from predefined categories in images or video frames, typically delimiting them with bounding boxes and assigning a label and confidence score. Popular algorithms include YOLO (You Only Look Once), SSD (Single Shot Detector), and Faster R-CNN. In public safety, it is used to detect people, vehicles, weapons, abandoned luggage, and other elements of interest in real time.","relatedTerms":["YOLO","Object Tracking","Segmentation"]},"rastreamento-de-objetos":{"term":"Object Tracking","shortDef":"Ability to follow the trajectory of specific objects across consecutive video frames.","fullDef":"Object Tracking is the task of identifying and following the position and trajectory of one or multiple objects across a sequence of video frames. Algorithms such as SORT, DeepSORT, ByteTrack, and OC-SORT assign persistent identities to each detected object, enabling their movement to be tracked even in cases of partial occlusion or lighting changes. In intelligent surveillance systems, tracking makes it possible to follow a suspect across multiple cameras.","relatedTerms":["Object Detection","Person Re-Identification","Behavior Analysis"]},"reconhecimento-facial":{"term":"Facial Recognition","shortDef":"Biometric technology that identifies or verifies individuals through facial characteristics.","fullDef":"Facial Recognition is a biometric technology that uses computer vision and deep learning algorithms to identify or verify the identity of individuals based on facial features. The process involves detecting the face in the image, extracting features (facial embeddings), and comparing them against a database. In public safety, it is applied to identify people on wanted or missing persons lists. Its use raises important ethical and legal questions, particularly regarding LGPD and algorithmic bias.","relatedTerms":["Biometrics","LGPD","Algorithmic Bias"]},"analise-de-comportamento":{"term":"Behavior Analysis","shortDef":"Automatic interpretation of movement and action patterns of people or vehicles to detect anomalies.","fullDef":"Behavior Analysis (Behavioral Analytics) is the ability of computer vision systems to interpret and classify movement patterns, posture, interaction, and actions of people or vehicles in video scenes. It goes beyond simple object detection: the system understands what is happening — a fight, a fall, someone loitering in a restricted area, a vehicle driving the wrong way. It is based on deep learning models trained on large datasets of video annotated with specific behaviors.","relatedTerms":["Anomaly Detection","Object Tracking","AI Agent"]},"deteccao-de-anomalias":{"term":"Anomaly Detection","shortDef":"Automatic identification of events, patterns, or behaviors that deviate from the normal baseline.","fullDef":"Anomaly Detection is the ability of AI systems to automatically identify events, patterns, or behaviors that deviate significantly from what is considered normal for a given context. In urban monitoring, this includes abnormal crowds, abandoned objects, suspicious movements at unusual hours, perimeter intrusions, and accidents. Anomaly detection can be based on explicit rules, statistical models, or neural networks trained to recognize normal patterns and flag deviations.","relatedTerms":["Behavior Analysis","Virtual Perimeter","Real-Time Alert"]},"re-identificacao-de-pessoa":{"term":"Person Re-Identification (Re-ID)","shortDef":"Recognition of an individual across different cameras or moments without the use of facial recognition.","fullDef":"Person Re-Identification (Re-ID) is the technique that enables associating the same individual in images captured by different cameras, at different times or angles, without necessarily using facial recognition. It uses visual features such as clothing color, texture, posture, and gait to maintain the individual's identity across a camera network. It is essential for tracking across urban spaces with multiple cameras and for post-event investigations.","relatedTerms":["Object Tracking","Facial Recognition","Multi-Camera"]},"segmentacao-de-instancias":{"term":"Instance Segmentation","shortDef":"Technique that precisely identifies and delineates each object in a scene at the pixel level.","fullDef":"Instance Segmentation is an advanced computer vision task that goes beyond object detection: instead of merely delimiting objects with rectangles (bounding boxes), it classifies each pixel in the image and associates pixels with specific object instances. This allows, for example, accurately counting the number of people in a crowd, measuring crowding areas, detecting vehicles with precision under overlapping conditions, and analyzing complex scenes in greater detail.","relatedTerms":["Object Detection","People Counting","Computer Vision"]},"yolo":{"term":"YOLO (You Only Look Once)","shortDef":"Family of real-time object detection architectures recognized for their speed and accuracy.","fullDef":"YOLO (You Only Look Once) is a family of neural network architectures developed for real-time object detection with exceptional speed and accuracy. Unlike earlier approaches that analyzed image regions in multiple steps, YOLO processes the entire image in a single pass through the neural network, making it extremely efficie
12nt. The most recent versions (YOLOv8, YOLOv9, YOLO-World) are widely used in smart camera systems for public safety.","relatedTerms":["Object Detection","Real-Time Inference","Convolutional Neural Network"]},"leitura-de-placa":{"term":"License Plate Recognition (OCR/ALPR)","shortDef":"Automatic recognition of vehicle license plates by cameras using computer vision and OCR.","fullDef":"Automatic License Plate Recognition (ALPR — also known as ANPR in Europe) is the technology that enables smart cameras to automatically detect, locate, and read the license plates of moving vehicles. It is essential for access control, stolen vehicle identification, traffic monitoring, and investigations. Modern systems operate in real time, even with vehicles at high speed, low lighting, and partially obstructed plates.","relatedTerms":["Object Detection","OCR","Traffic Monitoring"]},"cisp":{"term":"CISP (Public Safety Integrated Center)","shortDef":"A centralized structure that integrates multiple public safety agencies through shared technology and data.","fullDef":"CISP (Centro Integrado de Segurança Pública) is an organizational and technological structure that brings together, in a single physical and digital environment, representatives from different public safety agencies — civil police, military police, fire departments, municipal guards, and SAMU — with integrated information systems, centralized monitoring, and coordinated response protocols. With AI, modern CISPs receive feeds from intelligent cameras, urban sensor data, and automatic alerts to increase operational efficiency.","relatedTerms":["Public Safety SOC","Integrated Monitoring","Interoperability"]},"monitoramento-inteligente":{"term":"Intelligent Monitoring","shortDef":"Urban surveillance with automated AI analysis, surpassing the passive model of traditional cameras.","fullDef":"Intelligent Monitoring is the evolution of the traditional CFTV (Closed-Circuit TV) system, where passive cameras are replaced or supplemented by AI agents that analyze feeds in real time. Instead of relying solely on human operators watching multiple monitors, intelligent monitoring automates the detection of events of interest, generates proactive alerts, maintains continuous tracking, and produces automatic reports — allowing operators to focus on analysis and decision-making.","relatedTerms":["CFTV","AI Agent","Virtual Fence","Anomaly Detection"]},"cerca-virtual":{"term":"Virtual Fence (Geofencing)","shortDef":"Definition of geographic zones or video areas that trigger alerts when breached.","fullDef":"Virtual Fence is the concept of defining digital zones — either on a geographic map (geofencing) or directly over a camera feed — that, when crossed by people, vehicles, or objects, trigger automatic alerts. In public safety, virtual fences protect sensitive areas (schools, airports, critical facilities), detect perimeter intrusions, monitor vehicle-restricted zones, and alert about gatherings in prohibited areas. They are configurable by time of day, object type, and crossing direction.","relatedTerms":["Geofencing","Anomaly Detection","Real-Time Alert"]},"policiamento-preditivo":{"term":"Predictive Policing","shortDef":"Use of historical data and AI models to predict locations and time periods with the highest likelihood of crime.","fullDef":"Predictive Policing is the application of data analysis and machine learning algorithms to forecast where and when crimes are most likely to occur, enabling proactive allocation of police resources. The models analyze historical incident records, temporal patterns, socioeconomic data, and geospatial information. While it increases operational efficiency, it raises ethical debates around racial bias, self-fulfilling prophecies, and preemptive surveillance. It requires careful human oversight and algorithmic transparency.","relatedTerms":["Data Analysis","Crime Mapping","AI Ethics"]},"soc-seguranca-publica":{"term":"Public Safety SOC","shortDef":"A 24/7 operational monitoring center that consolidates security data for decision-making.","fullDef":"The Security Operations Center (SOC) in the context of public safety is an operations center that c
12onsolidates monitoring of cameras, sensors, radios, incident data, and real-time intelligence. With AI integration, the SOC receives automatic alerts, visualizes operational situation dashboards, coordinates team dispatch, and maintains an incident history log. It is the working environment for operators who use systems like Perceptrum Corporate to make tactical decisions.","relatedTerms":["CISP","Intelligent Monitoring","Operational Dashboard"]},"biometria":{"term":"Biometrics","shortDef":"Identification of individuals through unique, measurable physical or behavioral characteristics.","fullDef":"Biometrics is the field that studies and applies unique, measurable physical or behavioral characteristics of human beings for identification and authentication. In public safety, the main biometric modalities include facial recognition, fingerprint, iris, palm vein, voice, and gait analysis. Biometric systems must balance accuracy (minimizing false positives and negatives), speed, and compliance with data protection legislation such as LGPD.","relatedTerms":["Facial Recognition","LGPD","Privacy"]},"despacho-inteligente":{"term":"Intelligent Dispatch","shortDef":"Automated allocation of emergency resources based on priority and proximity.","fullDef":"Intelligent Dispatch is the application of optimization algorithms and artificial intelligence to automate and enhance the allocation of emergency resources — patrol vehicles, firefighters, SAMU — based on incident priority, location, estimated response time, and team availability. Integrated with digital radio and GPS systems, intelligent dispatch reduces response time, minimizes human error in high-stress situations, and ensures that the most appropriate resources are sent to each incident.","relatedTerms":["CISP","Perceptrum Intelligence","Interoperability"]},"smart-city":{"term":"Smart City","shortDef":"A city that uses technology and data to improve service efficiency, quality of life, and sustainability.","fullDef":"Smart City is the concept of a city that integrates information and communication technologies (ICTs), the Internet of Things (IoT), big data, and artificial intelligence to optimize urban resource management, improve the quality of public services, increase operational efficiency, and raise citizens' quality of life. In practice, this involves connected sensors, intelligent cameras, adaptive lighting, smart traffic management, environmental monitoring, and integrated data platforms.","relatedTerms":["IoT","Urban Data Platform","Intelligent Monitoring"]},"iot":{"term":"IoT (Internet of Things)","shortDef":"A network of connected physical devices that collect and exchange data over the internet.","fullDef":"Internet of Things (IoT) is the ecosystem of physical devices embedded with sensors, software, and connectivity that enables them to collect, transmit, and receive data via the internet. In smart cities, IoT includes IP cameras, air quality sensors, noise detectors, traffic flow meters, smart streetlights, connected waste bins, and weather stations. All of these devices feed data platforms that inform urban management and public safety decisions.","relatedTerms":["Smart City","Edge Computing","Urban Sensor"]},"edge-computing":{"term":"Edge Computing","shortDef":"Processing data close to its source to reduce latency and bandwidth consumption.","fullDef":"Edge Computing is the computing paradigm that processes data close to its source — on the camera, the sensor, or a local server — rather than sending everything to the cloud. In urban surveillance systems, this means the camera or a local device performs AI inference (detection, behavioral analysis) and only sends relevant alerts and metadata to the cloud, not the full raw video stream. This drastically reduces bandwidth consumption, lowers latency, and improves privacy.","relatedTerms":["IoT","Real-Time Inference","Smart Camera"]},"digital-twin":{"term":"Digital Twin (Digital Twin)","shortDef":"Real-time virtual replica of an asset, system, or city for simulation and monitoring.","fullDef":"Digital Twin is a dynamic, real-time virtual representation of a physical asset, system, or environment — in the case of smart cities, it can be a digital twin of the entire urban fabric, integrating traffic data, cameras, environmental sensors, and utilities. It enables scenario simulations (evacuation, resource allocation during events), predictive analysis of infrastru
12cture failures, and data-driven decision-making without impacting the real system. It is an emerging technology applied to urban planning and emergency management.","relatedTerms":["Smart City","Simulation","IoT"]},"plataforma-de-dados-urbanos":{"term":"Urban Data Platform","shortDef":"Centralized system that aggregates, normalizes, and makes available data from multiple city sources.","fullDef":"An Urban Data Platform is a software system that aggregates, integrates, normalizes, and makes available data from various urban infrastructure sources — cameras, IoT sensors, transportation systems, ombudsman offices, health records, meteorological data — in a single interface. It enables cross-analysis, creation of management dashboards, APIs for third-party applications, and informed decision-making for municipal managers. It is the backbone of a truly smart city.","relatedTerms":["Smart City","IoT","Interoperability"]},"cftv":{"term":"CCTV (Closed-Circuit Television)","shortDef":"Video surveillance camera system for security and monitoring purposes.","fullDef":"CFTV (Closed-Circuit Television) is the system of video surveillance cameras installed in public and private spaces for security, surveillance, and control purposes. Traditional analog cameras evolved into networked IP (digital) cameras, and today are undergoing a new transformation with the incorporation of artificial intelligence directly into the devices or management software. In Brazil, large cities operate hundreds or thousands of CFTV cameras in public security programs.","relatedTerms":["Smart Camera","Intelligent Monitoring","VMS"]},"vms":{"term":"VMS (Video Management System)","shortDef":"Centralized software for managing, viewing, and storing security camera feeds.","fullDef":"A Video Management System (VMS) is software that centralizes the management of security camera networks — live viewing, recording, archiving, recording search, and camera configuration. Traditional VMSs are passive: they require human operators to monitor. AI-integrated VMSs add automatic video analysis, proactive alerts, content-based search (finding all occurrences of a person wearing a red shirt), and intelligent reporting, transforming monitoring from reactive to proactive.","relatedTerms":["CFTV","Intelligent Monitoring","Video Storage"]},"lgpd":{"term":"LGPD (General Data Protection Law)","shortDef":"Brazilian Law No. 13,709/2018 that regulates the processing of personal data in Brazil.","fullDef":"The Lei Geral de Proteção de Dados (LGPD — Law No. 13,709/2018) is the primary Brazilian legislation regulating the processing of personal data by individuals and legal entities, both public and private. Inspired by the European GDPR, it establishes principles such as purpose, adequacy, necessity, free access, data quality, transparency, security, and accountability. For public surveillance systems using AI — facial recognition, behavioral analysis — LGPD imposes specific obligations regarding legal basis, data minimization, DPIA (impact assessment), and data subject rights.","relatedTerms":["GDPR","Privacy by Design","ANPD","Facial Recognition"]},"gdpr":{"term":"GDPR (General Data Protection Regulation)","shortDef":"European data protection regulation that sets global privacy standards.","fullDef":"The GDPR (General Data Protection Regulation) is the European Union regulation (Regulation 2016/679) that establishes comprehensive rules on the collection, processing, and storage of personal data of European residents. With extraterritorial scope — applying to any organization that processes data of EU citizens — it has become the global reference standard for privacy legislation, directly influencing Brazil's LGPD, California's CCPA, and dozens of other national laws.","relatedTerms":["LGPD","Privacy by Design","Sensitive Data"]},"privacidade-por-design":{"term":"Privacy by Design","shortDef":"Principle of embedding privacy protections into system design from the outset.","fullDef":"Privacy by Design is the principle of proactively embedding privacy protections and controls into the design of technological systems, processes, and business practices — rather than treating privacy as an afterthought. Conceived by Ann Cavoukian, it is now an explicit requirement of GDPR (Article 25) and a best practice aligned with LGPD. For AI systems in public security, it means defining from the start what data is collected, how long it is retained, who has access, and how it is protected.","relatedTerms":["LGPD","GDPR","Data Minimization"]},"anpd":{"term":"ANPD (National Data Protection Authority)","shortDef":"Brazilian federal body responsible for overseeing and regulating compliance with LGPD.","fullDef":"The Autoridade Nacional de Proteção de Dados (ANPD) is the Brazilian federal public administration body responsible for ensuring compliance with LGPD, developing guidelines for the national data protection policy, supervising and applying sanctions in cases of violations, promoting educational initiatives on data protection, and deliberating on interpretations of the law. Created by Law No. 13,853/2019, ANPD has the authority to impose fines of up to 2% of a company's revenue in Brazil, capped at R$ 50 million per infraction.","relatedTerms":["LGPD","DPO","Compliance"]},"vies-algoritmico":{"term":"Algorithmic Bias","shortDef":"Systematic prejudice in AI systems that results in unfair or discriminatory treatment.","fullDef":"Algorithmic Bias occurs when an artificial intelligence system produces systematically biased or discriminatory results, generally as a reflection of biases present in training data or algorithm design choices. In facial recognition and behavioral analysis systems for public security, algorithmic bias can result in significantly higher false positive rates for specific demographic groups — especially Black people and women — perpetuating discrimination. Mitigating bias requires diverse datasets, regular audits, and human oversight.","relatedTerms":["AI Ethics","Facial Recognition","Fairness"]},"etica-em-ia":{"term":"AI Ethics","shortDef":"Field that examines the moral, social, and legal implications of developing and using AI systems.","fullDef":"AI Ethics is the interdisciplinary field that examines the moral, social, political, and legal implications of developing and deploying artificial intelligence systems. Core topics include transparency and explainability (how does the system make decisions?), bias and fairness (does the system treat all groups equally?), accountability (who is responsible for AI errors?), privacy, human autonomy, and employment impacts. In public security, AI ethics is especially critical given the coercive power of the State and the fundamental rights at stake.","relatedTerms":["Algorithmic Bias","AI Explainability","LGPD"]},"dpo":{"term":"DPO (Data Protection Officer)","shortDef":"Data protection officer responsible for LGPD/GDPR compliance within the organization.","fullDef":"Data Protection Officer (DPO), referred to as Encarregado de Proteção de Dados under the LGPD, is the professional or organization responsible for acting as a liaison between the data controller, data subjects, and the National Data Protection Authority. The DPO monitors compliance with the LGPD, provides guidance on Data Protection Impact Assessments (DPIA), responds to data subject requests, and reports violations. Appointing a DPO is mandatory for controllers subject to the LGPD.","relatedTerms":["LGPD","ANPD","DPIA"]},"explicabilidade-de-ia":{"term":"AI Explainability (XAI)","shortDef":"The ability of an AI system to provide understandable explanations for its decisions.","fullDef":"AI Explainability (XAI — Explainable Artificial Intelligence) refers to methods and techniques that make the outputs of artificial intelligence systems understandable and interpretable by humans — whether end users, regulators, or developers. In public safety, XAI is critical: when an AI system flags a person as a suspect, operators and citizens have the right to understand why. XAI techniques include LIME, SHAP, gradient activation maps (Grad-CAM), and inherently interpretable models.","relatedTerms":["AI Ethics","Algorithmic Bias","Compliance"]}}}`),Ml={nav:Jj,common:Yj,home:$j,drakon:Xj,perceptrum:Zj,fastai:eN,contact:aN,about:tN,careers:iN,notFound:rN,privacy:sN,terms:nN,diagram:lN,useCases:oN,drakonGov:cN,perceptrumNet:dN,fastaiNet:uN,drakonVoice:mN,downloads:pN,blog:hN,glossary:gN},lv=new Set(["ar","he","fa","ur"]),ql="aiquimist_lang",wo=C.createContext(void 0),Zd="aiquimist_geo_done";function fN(s){document.documentElement.dir=lv.has(s)?"rtl":"ltr",document.documentElement.lang=s}function ov(s,i){const l={...s};for(const o in i)typeof i[o]=="object"&&i[o]!==null&&!Array.isArray(i[o])&&typeof s[o]=="object"&&s[o]!==null&&!Array.isArray(s[o])?l[o]=ov(s[o],i[o]):l[o]=i[o];return l}const Qf={BR:"pt",PT:"pt",ES:"es",MX:"es",CO:"es",AR:"es",CL:"es",PE:"es",VE:"es",EC:"es",BO:"es",PY:"es",UY:"es",CR:"es",PA:"es",DO:"es",CU:"es",HN:"es",SV:"es",NI:"es",GT:"es",GQ:"es",FR:"fr",LU:"fr",MC:"fr",CD:"fr",CI:"fr",ML:"fr",BF:"fr",SN:"fr",NE:"fr",GN:"fr",BJ:"fr",TG:"fr",CM:"fr",GA:"fr",CG:"fr",CF:"fr",MG:"fr",HT:"fr",DJ:"fr",DE:"de",AT:"de",LI:"de",CH:"de",IT:"it",SM:"it",VA:"it",NL:"nl",BE:"nl",SR:"nl",PL:"pl",RU:"ru",BY:"ru",KZ:"ru",KG:"ru",TJ:"ru",CN:"zh",TW:"zh",HK:"zh",MO:"zh",SG:"zh",JP:"ja",KR:"ko",SA:"ar",AE:"ar",EG:"ar",JO:"ar",KW:"ar",QA:"ar",BH:"ar",OM:"ar",LB:"ar",SY:"ar",IQ:"ar",LY:"ar",TN:"ar",DZ:"ar",MA:"ar",SD:"ar",YE:"ar",SO:"ar",KM:"ar",IL:"he",IR:"fa",AF:"fa",PK:"ur",TR:"tr",IN:"hi",VN:"vi",TH:"th",ID:"id",UA:"uk",RO:"ro",MD:"ro",SE:"sv"},bN=new Set(["en","pt","es","fr","de","it","nl","pl","ru","zh","ja","ko","ar","he","fa","ur","tr","hi","vi","th","id","uk","ro","sv"]);function xN(){for(const s of navigator.languages||[navigator.language]){const i=(s||"").split("-")[0].toLowerCase();if(bN.has(i))return i}return"en"}async function vN(){try{const s=new AbortController,i=setTimeout(()=>s.abort(),3500),l=await fetch("https://ipwho.is/",{signal:s.signal});if(clearTimeout(i),l.ok){const u=((await l.json()).country_code||"").toUpperCase(),p=Qf[u];if(p)return p}}catch{}try{const s=new AbortController,i=setTimeout(()=>s.abort(),3e3),l=await fetch("https://api.country.is/",{signal:s.signal});if(clearTimeout(i),l.ok){const u=((await l.json()).country||"").toUpperCase(),p=Qf[u];if(p)return p}}catch{}return xN()}function yN({children:s}){const i=localStorage.getItem(ql),l=localStorage.getItem(Zd),[o,u]=C.useState(i||"en"),[p,f]=C.useState(Ml),m=C.useRef(!1);C.useEffect(()=>{l||m.current||(m.current=!0,vN().then(g=>{localStorage.setItem(Zd,"1");const v=localStorage.getItem(ql);(!v||v==="en")&&(u(g),localStorage.setItem(ql,g))}))},[]),C.useEffect(()=>{if(fN(o),o==="en"){f(Ml);return}const g="/".replace(/\/$/,"");fetch(`${g}/locales/${o}.json`).then(v=>{if(!v.ok)throw new Error(`[i18n] No locale file for "${o}"`);return v.json()}).then(v=>f(ov(Ml,v))).catch(v=>{console.warn(v.message,"— falling back to English"),f(Ml)})},[o]);const h=g=>{localStorage.setItem(Zd,"1"),u(g),localStorage.setItem(ql,g)},b=lv.has(o);return e.jsx(wo.Provider,{value:{lang:o,setLang:h,t:p,isRtl:b},children:s})}function _e(){const s=C.useContext(wo);if(!s)throw new Error("useTranslation must be used within I18nProvider");return s}const Jf=[{code:"en",name:"English",nativeName:"English",flag:"🇬🇧"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇧🇷"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",rtl:!0},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"vi",name:"Vietnamese",nativeName:"Tiếng Việt",flag:"🇻🇳"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪"},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹"},{code:"ja",name:"Japanese",nativeName:"日本語",flag:"🇯🇵"},{code:"ko",name:"Korean",nativeName:"한국어",flag:"🇰🇷"},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳"},{code:"tr",name:"Turkish",nativeName:"Türkçe",flag:"🇹🇷"},{code:"pl",name:"Polish",nativeName:"Polski",flag:"🇵🇱"},{code:"nl",name:"Dutch",nativeName:"Nederlands",flag:"🇳🇱"},{code:"id",name:"Indonesian",nativeName:"Bahasa Indonesia",flag:"🇮🇩"},{code:"th",name:"Thai",nativeName:"ภาษาไทย",flag:"🇹🇭"}
12,{code:"uk",name:"Ukrainian",nativeName:"Українська",flag:"🇺🇦"},{code:"sv",name:"Swedish",nativeName:"Svenska",flag:"🇸🇪"},{code:"he",name:"Hebrew",nativeName:"עברית",flag:"🇮🇱",rtl:!0},{code:"fa",name:"Persian",nativeName:"فارسی",flag:"🇮🇷",rtl:!0}];function kN(){const[s,i]=C.useState(!1),[l,o]=C.useState(!1),[u,p]=C.useState(!1),[f,m]=C.useState(!1),[h,b]=C.useState(!1),[g]=Fy(),{t:v,lang:k,setLang:j,isRtl:A}=_e(),P=C.useRef(null);C.useEffect(()=>{const N=()=>i(window.scrollY>20);return window.addEventListener("scroll",N),()=>window.removeEventListener("scroll",N)},[]),C.useEffect(()=>{const N=F=>{P.current&&!P.current.contains(F.target)&&m(!1)};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[]);const D=[{name:v.nav.perceptrum,href:"/perceptrum-personal",sub:v.nav?.perceptrumSub??"Segurança Privada",color:"#9B30FF"},{name:v.nav.drakon,href:"/perceptrum-corporate",sub:v.nav?.drakonSub??"Segurança Pública",color:"#00E5CC"},{name:v.drakonVoice?.navLabel??"PERCEPTRUM INTELLIGENCE",href:"/perceptrum-intelligence",sub:v.nav?.drakonVoiceSub??"IA de Voz",color:"#CC44DD"},{name:v.nav.fastai??"F.A.S.T.-AI",href:"/fast-ai",sub:v.nav?.fastSub??"Planejamento Urbano",color:"#00AAFF"},{name:"Zeladoria I.A.",href:"/zeladoria-ia",sub:"Zeladoria Urbana com IA",color:"#38E0A6"}],M=[{name:v.nav.home,href:"/"},{name:v.nav.useCases,href:"/use-cases"},{name:v.nav.specs,href:"/specs"},{name:v.nav.about,href:"/about"},{name:v.nav?.downloads??"Downloads",href:"/downloads",highlight:!0},{name:v.nav?.blog??"Blog",href:"/blog"},{name:v.nav?.glossario??"Glossário",href:"/glossario"}],w=N=>N==="/"?g==="/":g.startsWith(N),O=g.startsWith("/perceptrum")||g.startsWith("/drakon")||g.startsWith("/fast-ai")||g.startsWith("/zeladoria-ia");return e.jsxs("header",{className:`fixed top-0 w-full z-50 transition-all duration-500 ${s?"py-3":"bg-transparent py-5"}`,style:s?{background:"rgba(8,10,15,0.96)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",borderBottom:"1px solid rgba(0,229,204,0.12)",boxShadow:"0 0 40px rgba(0,229,204,0.04)"}:{},dir:A?"rtl":"ltr",children:[e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex justify-between items-center",children:[e.jsx($,{href:"/",className:"flex items-center group flex-shrink-0",children:e.jsx("div",{style:{width:220,height:38,overflow:"hidden"},className:"transition-all duration-300 group-hover:opacity-80",children:e.jsx("img",{src:"/images/logo-aiquimist-white.png",alt:"Aiquimist.ai",style:{width:220,height:"auto",marginTop:-78,display:"block",filter:"drop-shadow(0 0 6px rgba(0,229,204,0.25))"}})})}),e.jsxs("nav",{className:"hidden lg:flex items-center gap-6",children:[e.jsxs($,{href:"/",className:`text-xs font-semibold uppercase tracking-[0.12em] transition-all duration-300 whitespace-nowrap relative group ${w("/")?"text-[#00E5CC]":"text-[#B0C8D0] hover:text-white"}`,style:{fontFamily:"'Exo 2', sans-serif"},children:[v.nav.home,w("/")&&e.jsx("span",{className:"absolute -bottom-1 left-0 right-0 h-px bg-gradient-to-r from-transparent via-[#00E5CC] to-transparent"}),e.jsx("span",{className:"absolute -bottom-1 left-0 right-0 h-px bg-gradient-to-r from-transparent via-[#00E5CC] to-transparent opacity-0 group-hover:opacity-40 transition-opacity duration-300"})]}),e.jsxs("div",{className:"relative",ref:P,children:[e.jsxs("button",{onClick:()=>m(N=>!N),className:`flex items-center gap-1.5 text-xs font-semibold uppercase tracking-[0.12em] transition-all duration-300 whitespace-nowrap relative group ${O?"text-[#00E5CC]":"text-[#B0C8D0] hover:text-white"}`,style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsx(Lr,{className:"w-3.5 h-3.5"}),v.nav.products??"Produtos",e.jsx(tn,{className:`w-3 h-3 transition-transform duration-200 ${f?"rotate-180":""}`}),O&&e.jsx("span",{className:"absolute -bottom-1 left-0 right-0 h-px bg-gradient-to-r from-transparent via-[#00E5CC] to-transparent"})]}),f&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>m(!1)}
12),e.jsxs("div",{className:"absolute top-full mt-3 w-64 rounded-xl py-2 z-50",style:{background:"rgba(10,12,18,0.98)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(0,229,204,0.15)",boxShadow:"0 0 40px rgba(0,229,204,0.08), 0 20px 60px rgba(0,0,0,0.7)",left:A?"auto":0,right:A?0:"auto"},children:[e.jsx("div",{className:"h-px mx-2 mb-2 bg-gradient-to-r from-transparent via-[#00E5CC]/30 to-transparent"}),D.map(N=>e.jsxs($,{href:N.href,onClick:()=>m(!1),className:"flex items-center gap-3 px-4 py-3 mx-1 rounded-lg transition-all duration-200 group/item hover:bg-[rgba(255,255,255,0.04)]",children:[e.jsx("div",{className:"w-1 h-8 rounded-full flex-shrink-0 transition-all duration-200",style:{background:w(N.href)?N.color:"rgba(255,255,255,0.1)",boxShadow:w(N.href)?`0 0 8px ${N.color}60`:"none"}}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-bold uppercase tracking-wider transition-colors duration-200",style:{fontFamily:"'Exo 2', sans-serif",color:w(N.href)?N.color:"#E0EEF4"},children:N.name}),e.jsx("div",{className:"text-[11px] mt-0.5",style:{color:"rgba(176,200,208,0.5)",fontFamily:"'Exo 2', sans-serif"},children:N.sub})]}),w(N.href)&&e.jsx("div",{className:"ml-auto w-1.5 h-1.5 rounded-full flex-shrink-0",style:{background:N.color,boxShadow:`0 0 6px ${N.color}`}})]},N.href)),e.jsx("div",{className:"h-px mx-2 mt-2 bg-gradient-to-r from-transparent via-[#9B30FF]/20 to-transparent"})]})]})]}),M.slice(1).map(N=>{const F=w(N.href);return N.highlight?e.jsxs($,{href:N.href,className:"flex items-center gap-1.5 text-xs font-bold uppercase tracking-[0.12em] whitespace-nowrap px-4 py-2 rounded-[4px] transition-all duration-300",style:{fontFamily:"'Exo 2', sans-serif",background:F?"linear-gradient(135deg,#00E5CC,#9B30FF)":"rgba(0,229,204,0.10)",border:"1px solid rgba(0,229,204,0.45)",color:"#00E5CC",boxShadow:"0 0 16px rgba(0,229,204,0.18)"},children:[e.jsx(_r,{className:"w-3 h-3"}),N.name]},N.href):e.jsxs($,{href:N.href,className:`text-xs font-semibold uppercase tracking-[0.12em] transition-all duration-300 whitespace-nowrap relative group ${F?"text-[#00E5CC]":"text-[#B0C8D0] hover:text-white"}`,style:{fontFamily:"'Exo 2', sans-serif"},children:[N.name,F&&e.jsx("span",{className:"absolute -bottom-1 left-0 right-0 h-px bg-gradient-to-r from-transparent via-[#00E5CC] to-transparent"}),e.jsx("span",{className:"absolute -bottom-1 left-0 right-0 h-px bg-gradient-to-r from-transparent via-[#00E5CC] to-transparent opacity-0 group-hover:opacity-40 transition-opacity duration-300"})]},N.href)}),e.jsx($,{href:"/contact",className:`text-xs font-semibold uppercase tracking-[0.1em] px-5 py-2.5 rounded-[4px] transition-all duration-300 whitespace-nowrap ${w("/contact")?"bg-gradient-to-r from-[#00E5CC] to-[#9B30FF] text-white shadow-[0_0_20px_rgba(0,229,204,0.4)]":"border border-[rgba(0,229,204,0.4)] text-[#00E5CC] hover:bg-[rgba(0,229,204,0.08)] hover:shadow-[0_0_15px_rgba(0,229,204,0.2)]"}`,style:{fontFamily:"'Exo 2', sans-serif"},children:v.nav.contact}),e.jsxs("div",{className:"relative",children:[e.jsxs("button",{onClick:()=>p(!u),className:"flex items-center gap-1.5 transition-all duration-300 px-3 py-1.5 rounded-[4px] hover:bg-[rgba(0,229,204,0.06)]",style:{border:"1px solid rgba(0,229,204,0.15)",color:"#B0C8D0"},children:[e.jsx(qa,{className:"w-3.5 h-3.5",style:{color:"#00E5CC"}}),e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{fontFamily:"'Exo 2', sans-serif"},children:k}),e.jsx(tn,{className:`w-3 h-3 transition-transform duration-200 ${u?"rotate-180":""}`})]}),u&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>p(!1)}),e.jsx("div",{className:"absolute right-0 mt-2 w-52 rounded-[6px] py-2 z-50 max-h-80 overflow-y-auto",style:{background:"rgba(13,15,20,0.98)",backdropFilter:"blur(20px)",border:"1px solid rgba(0,229,204,0.15)",boxShadow:"0 0 40px rgba(0,229,204,0.1), 0 20px 60px rgba(0,0,0,0.6)"},children:Jf.map(N=>e.jsxs("button",{onClick:()=>{j(N.code),p(!1)},className:"w-full text-left px-4 py-2 text-sm flex items-center gap-3 transition-all duration-200 hover:bg-[rgba(0,229,204,0.06)]",style:{color:k===N.code?"#00E5CC":"#B0C8D0",fontFamily:"'Exo 2', sans-serif",backgroundColor:k===N.code?"rgba(0,229,204,0.05)":void 0},children:[e.jsx("span",{children:N.flag}),e.jsx("span",{children:N.nativeName}),k===N.code&&e.jsx("span",{className:"ml-auto w-1.5 h-1.5 rounded-full",style:{background:"#00E5CC",boxShadow:"0 0 6px rgba(0,229,204,0.8)"}})]}
12,N.code))})]})]})]}),e.jsx("button",{className:"lg:hidden p-2 rounded-[4px] transition-all duration-200 hover:bg-[rgba(0,229,204,0.08)]",style:{color:"#B0C8D0",border:"1px solid rgba(0,229,204,0.15)"},onClick:()=>o(!l),"aria-label":"Toggle menu",children:l?e.jsx(Jl,{className:"w-5 h-5",style:{color:"#00E5CC"}}):e.jsx(qy,{className:"w-5 h-5"})})]}),l&&e.jsx("div",{className:"lg:hidden absolute top-full left-0 w-full shadow-2xl",style:{background:"rgba(8,10,15,0.98)",backdropFilter:"blur(20px)",borderBottom:"1px solid rgba(0,229,204,0.1)",borderTop:"1px solid rgba(0,229,204,0.08)"},children:e.jsxs("div",{className:"px-4 py-6 flex flex-col gap-1",children:[e.jsx($,{href:"/",onClick:()=>o(!1),className:"text-sm font-semibold uppercase tracking-[0.1em] py-3 px-4 rounded-[4px] transition-all duration-200 hover:bg-[rgba(0,229,204,0.06)]",style:{fontFamily:"'Exo 2', sans-serif",color:w("/")?"#00E5CC":"#B0C8D0",borderLeft:w("/")?"2px solid #00E5CC":"2px solid transparent"},children:v.nav.home}),e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>b(N=>!N),className:"w-full flex items-center justify-between text-sm font-semibold uppercase tracking-[0.1em] py-3 px-4 rounded-[4px] transition-all duration-200 hover:bg-[rgba(0,229,204,0.06)]",style:{fontFamily:"'Exo 2', sans-serif",color:O?"#00E5CC":"#B0C8D0",borderLeft:O?"2px solid #00E5CC":"2px solid transparent"},children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(Lr,{className:"w-4 h-4"}),v.nav.products??"Produtos"]}),e.jsx(tn,{className:`w-4 h-4 transition-transform duration-200 ${h?"rotate-180":""}`})]}),h&&e.jsx("div",{className:"ml-4 mt-1 space-y-1 border-l border-[rgba(0,229,204,0.15)] pl-4",children:D.map(N=>e.jsxs($,{href:N.href,onClick:()=>{o(!1),b(!1)},className:"flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 hover:bg-[rgba(255,255,255,0.04)]",children:[e.jsx("div",{className:"w-1 h-6 rounded-full flex-shrink-0",style:{background:N.color}}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-bold uppercase tracking-wider",style:{fontFamily:"'Exo 2', sans-serif",color:w(N.href)?N.color:"#E0EEF4"},children:N.name}),e.jsx("div",{className:"text-[11px]",style:{color:"rgba(176,200,208,0.5)",fontFamily:"'Exo 2', sans-serif"},children:N.sub})]})]},N.href))})]}),M.slice(1).map(N=>N.highlight?e.jsxs($,{href:N.href,onClick:()=>o(!1),className:"flex items-center justify-center gap-2 text-sm font-bold uppercase tracking-[0.1em] py-3 px-4 rounded-[4px] transition-all duration-200 mt-1",style:{fontFamily:"'Exo 2', sans-serif",color:"#00E5CC",background:"rgba(0,229,204,0.10)",border:"1px solid rgba(0,229,204,0.35)"},children:[e.jsx(_r,{className:"w-4 h-4"}),N.name]},N.href):e.jsx($,{href:N.href,onClick:()=>o(!1),className:"text-sm font-semibold uppercase tracking-[0.1em] py-3 px-4 rounded-[4px] transition-all duration-200 hover:bg-[rgba(0,229,204,0.06)]",style:{fontFamily:"'Exo 2', sans-serif",color:w(N.href)?"#00E5CC":"#B0C8D0",borderLeft:w(N.href)?"2px solid #00E5CC":"2px solid transparent"},children:N.name},N.href)),e.jsx($,{href:"/contact",onClick:()=>o(!1),className:"mt-4 text-sm font-semibold uppercase tracking-[0.1em] py-3 text-center rounded-[4px] transition-all duration-200 bg-gradient-to-r from-[#00E5CC] to-[#9B30FF] text-white shadow-[0_0_20px_rgba(0,229,204,0.3)]",style:{fontFamily:"'Exo 2', sans-serif"},children:v.nav.contact}),e.jsxs("div",{className:"mt-6 pt-4",style:{borderTop:"1px solid rgba(0,229,204,0.1)"},children:[e.jsxs("p",{className:"text-xs uppercase tracking-[0.15em] mb-3 flex items-center gap-2",style:{color:"#B0C8D0",fontFamily:"'Exo 2', sans-serif"},children:[e.jsx(qa,{className:"w-3 h-3",style:{color:"#00E5CC"}})," Language"]}),e.jsx("div",{className:"grid grid-cols-2 gap-1 max-h-64 overflow-y-auto",children:Jf.map(N=>e.jsxs("button",{onClick:()=>{j(N.code),o(!1)},className:"text-left px-3 py-2 rounded-[4px] flex items-center gap-2 transition-all duration-200 hover:bg-[rgba(0,229,204,0.06)]",style:{fontFamily:"'Exo 2', sans-serif",color:k===N.code?"#00E5CC":"#B0C8D0",backgroundColor:k===N.code?"rgba(0,229,204,0.06)":void 0,border:k===N.code?"1px solid rgba(0,229,204,0.2)":"1px solid transparent"},children:[e.jsx("span",{children:N.flag}),e.jsx("span",{className:"text-xs",children:N.nativeName})]},N.code))})]})]})})]})}function wN(){const{t:s}=_e(),i=s.common;return e.jsx("footer",{style:{background:"#06080D",borderTop:"1px solid rgba(0,229,204,0.1)"},className:"pt-20 pb-10",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12 mb-16",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsx($,{href:"/",className:"inline-flex",children:e.jsx("img",{src:"/images/logo-aiquimist.png",alt:"Aiquimist.ai",style:{height:80,width:"auto",objectFit:"contain",filter:"brightness(0) invert(1) drop-shadow(0 0 8px rgba(0,229,204,0.3))"}})}),e.jsxs("p",{className:"text-sm leading-relaxed",style:{color:"rgba(176,200,208,0.65)"},children:[s.home.heroSub.substring(0,150),"..."]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx("a",{href:"https://www.instagram.com/AiQuimist",target:"_blank",rel:"noopener noreferrer",className:"w-10 h-10 rounded-[4px] flex items-center justify-center transition-all duration-300 hover:-translate-y-0.5",style:{background:"rgba(0,229,204,0.06)",border:"1px solid rgba(0,229,204,0.2)",color:"#B0C8D0"},onMouseEnter:l=>{l.currentTarget.style.borderColor="rgba(0,229,204,0.5)",l.currentTarget.style.boxShadow="0 0 15px rgba(0,229,204,0.2)",l.currentTarget.style.color="#00E5CC"},onMouseLeave:l=>{l.currentTarget.style.borderColor="rgba(0,229,204,0.2)",l.currentTarget.style.boxShadow="none",l.currentTarget.style.color="#B0C8D0"},children:e.jsx(Ly,{className:"w-4 h-4"})}),e.jsx("a",{href:"https://www.youtube.com/@aiquimist",target:"_blank",rel:"noopener noreferrer",className:"w-10 h-10 rounded-[4px] flex items-center justify-center transition-all duration-300 hover:-translate-y-0.5",style:{background:"rgba(0,229,204,0.06)",border:"1px solid rgba(0,229,204,0.2)",color:"#B0C8D0"},onMouseEnter:l=>{l.currentTarget.style.borderColor="rgba(0,229,204,0.5)",l.currentTarget.style.boxShadow="0 0 15px rgba(0,229,204,0.2)",l.currentTarget.style.color="#00E5CC"},onMouseLeave:l=>{l.currentTarget.style.borderColor="rgba(0,229,204,0.2)",l.currentTarget.style.boxShadow="none",l.currentTarget.style.color="#B0C8D0"},children:e.jsx(Gy,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold mb-6 uppercase tracking-[0.2em]",style:{fontFamily:"'Orb
12itron', sans-serif",color:"#00E5CC"},children:i.footerProducts}),e.jsx("ul",{className:"space-y-3",children:[{href:"/drakon",name:s.nav.drakon},{href:"/perceptrum",name:s.nav.perceptrum},{href:"/fast-ai",name:s.nav.fastai}].map(l=>e.jsx("li",{children:e.jsxs($,{href:l.href,className:"text-sm transition-all duration-200 hover:-translate-x-0 group flex items-center gap-2",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},onMouseEnter:o=>o.currentTarget.style.color="#00E5CC",onMouseLeave:o=>o.currentTarget.style.color="rgba(176,200,208,0.65)",children:[e.jsx("span",{className:"w-4 h-px inline-block opacity-0 group-hover:opacity-100 transition-all duration-200",style:{background:"linear-gradient(90deg, #00E5CC, transparent)"}}),l.name]})},l.href))})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold mb-6 uppercase tracking-[0.2em]",style:{fontFamily:"'Orbitron', sans-serif",color:"#00E5CC"},children:i.footerCompany}),e.jsx("ul",{className:"space-y-3",children:[{href:"/about",name:i.footerAbout},{href:"/careers",name:i.footerCareers},{href:"/contact",name:s.nav.contact}].map(l=>e.jsx("li",{children:e.jsxs($,{href:l.href,className:"text-sm transition-all duration-200 group flex items-center gap-2",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},onMouseEnter:o=>o.currentTarget.style.color="#00E5CC",onMouseLeave:o=>o.currentTarget.style.color="rgba(176,200,208,0.65)",children:[e.jsx("span",{className:"w-4 h-px inline-block opacity-0 group-hover:opacity-100 transition-all duration-200",style:{background:"linear-gradient(90deg, #00E5CC, transparent)"}}),l.name]})},l.href))})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold mb-6 uppercase tracking-[0.2em]",style:{fontFamily:"'Orbitron', sans-serif",color:"#00E5CC"},children:"REDE AiQuimist"}),e.jsxs("ul",{className:"space-y-4",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(nt,{className:"w-4 h-4 shrink-0 mt-0.5",style:{color:"#00E5CC"}}),e.jsx("div",{className:"text-sm leading-relaxed space-y-3",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:[{label:"Miami, Florida — USA",addr:`19790 W Dixie Hwy, Suite 411
13Aventura, FL 33180 — USA`},{label:"São Paulo — SP",addr:`Av Eng. Luis Carlos Berrini, 1748 — CJ 201
14Ed. E-Office Design Berrini
15Cidade Monções — CEP: 04571-000 — Brasil`},{label:"Brasília — DF",addr:`SCN, Quadra 05, Bloco A, 5º andar
16Asa Norte — CEP: 70715-900 — Brasil`},{label:"Boa Vista — RR",addr:`Av. Cap. Júlio Bezerra, 924
17Trinta e Um de Março — CEP: 69305-025 — Brasil`},{label:"Manaus — AM",addr:`Av. Dr. Theomário Pinto da Costa, 811 — Cj 99
18Skye Plati Chapada — CEP: 69050-055 — Brasil`},{label:"Berlin — Germany",addr:`Solmsstrasse 10
19Berlin 10961`},{label:"Palma de Mallorca — Spain",addr:`Miguel Rossello i Alemany 35-37
20Palma de Mallorca 07015`},{label:"Riyadh — Saudi Arabia",addr:`6629 King Abdul Aziz Branch Rd
21King Salman Neighborhood, 2668 — Riyadh 12432`},{label:"Fujairah — UAE",addr:`Fujairah Twin Towers 4422
22Fujairah Creative City`}].map(({label:l,addr:o})=>e.jsxs("div",{children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"#00E5CC",fontFamily:"'Exo 2', sans-serif"},children:l}),e.jsx("br",{}),o.split(`
23`).map((u,p)=>e.jsxs("span",{children:[u,e.jsx("br",{})]},p))]},l))})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(Vy,{className:"w-4 h-4 shrink-0 mt-0.5",style:{color:"#00E5CC"}}),e.jsxs("span",{className:"text-sm leading-loose",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:["+1 (305) 481-1866 ",e.jsx("span",{style:{color:"rgba(176,200,208,0.4)"},children:"US"}),e.jsx("br",{}),"+55 (95) 99111-6093 ",e.jsx("span",{style:{color:"rgba(176,200,208,0.4)"},children:"BR"}),e.jsx("br",{}),"+966 59 146 7488 ",e.jsx("span",{style:{color:"rgba(176,200,208,0.4)"},children:"SA"}),e.jsx("br",{}),"+971 50 348 0077 ",e.jsx("span",{style:{color:"rgba(176,200,208,0.4)"},children:"UAE"}),e.jsx("br",{}),"+49 176 20943681 ",e.jsx("span",{style:{color:"rgba(176,200,208,0.4)"},children:"DE"})]})]}),e.jsxs("li",{className:"flex items-center gap-3",children:[e.jsx(zu,{className:"w-4 h-4 shrink-0",style:{color:"#00E5CC"}}),e.jsx("span",{className:"text-sm",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:"[email protected]"})]})]})]})]}),e.jsxs("div",{className:"pt-8 flex flex-col md:flex-row justify-between items-center gap-4",style:{borderTop:"1px solid rgba(0,229,204,0.08)"},children:[e.jsxs("p",{className:"text-xs",style:{color:"rgba(176,200,208,0.4)",fontFamily:"'Exo 2', sans-serif"},children:["© ",new Date().getFullYear()," Aiquimist.ai. ",i.footerAllRights]}),e.jsxs("div",{className:"flex gap-6 text-xs",style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsx($,{href:"/privacy-policy",className:"transition-colors duration-200",style:{color:"rgba(176,200,208,0.4)"},onMouseEnter:l=>l.currentTarget.style.color="#00E5CC",onMouseLeave:l=>l.currentTarget.style.color="rgba(176,200,208,0.4)",children:i.footerPrivacy}),e.jsx($,{href:"/terms-of-service",className:"transition-colors duration-200",style:{color:"rgba(176,200,208,0.4)"},onMouseEnter:l=>l.currentTarget.style.color="#00E5CC",onMouseLeave:l=>l.currentTarget.style.color="rgba(176,200,208,0.4)",children:i.footerTerms})]})]})]})})}const jN="https://aiquimist.ai/opengraph.jpg",eu="AiQuimist.ai";function ha({title:s,description:i,canonical:l,ogImage:o=jN,ogType:u="website",jsonLd:p,noIndex:f=!1}){const m=s.includes(eu)?s:`${s} | ${eu}`,h=l.startsWith("https://")?l:`https://aiquimist.ai${l}`,b=p?Array.isArray(p)?p:[p]:[],g={"@context":"https://schema.org","@type":"Organization",name:"AiQuimist.ai",url:"https://aiquimist.ai",logo:"https://aiquimist.ai/favicon-512.png",sameAs:[],address:{"@type":"PostalAddress",streetAddress:"19790 W Dixie Hwy, Suite 411",addressLocality:"Aventura",addressRegion:"FL",postalCode:"33180",addressCountry:"US"},contactPoint:{"@type":"ContactPoint",email:"[email protected]",contactType:"customer support"}};return e.jsxs(wk,{children:[e.jsx("title",{children:m}),e.jsx("meta",{name:"description",content:i}),e.jsx("link",{rel:"canonical",href:h}),f&&e.jsx("meta",{name:"robots",content:"noindex, nofollow"}),e.jsx("meta",{property:"og:type",content:u}),e.jsx("meta",{property:"og:url",content:h}),e.jsx("meta",{property:"og:title",content:m}),e.jsx("meta",{property:"og:description",content:i}),e.jsx("meta",{property:"og:image",content:o}),e.jsx("meta",{property:"og:image:width",content:"1280"}),e.jsx("meta",{property:"og:image:height",content:"720"}),e.jsx("meta",{property:"og:site_name",content:eu}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:m}),e.jsx("meta",{name:"twitter:description",content:i}),e.jsx("meta",{name:"twitter:image",content:o}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(g)}),b.map((v,k)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify(v)},k))]})}var NN=Symbol.for("react.lazy"),so=hb[" use ".trim().toString()];function CN(s){return typeof s=="object"&&s!==null&&"then"in s}function cv(s){return s!=null&&typeof s=="object"&&"$$typeof"in s&&s.$$typeof===NN&&"_payload"in s&&CN(s._payload)}function AN(s){const i=TN(s),l=C.forwardRef((o,u)=>{let{children:p,...f}=o;cv(p)&&typeof so=="function"&&(p=so(p._payload));const m=C.Children.toArray(p),h=m.find(DN);if(h){const b=h.props.children,g=m.map(v=>v===h?C.Children.count(b)>1?C.Children.only(null):C.isValidElement(b)?b.props.children:null:v);return e.jsx(i,{...f,ref:u,children:C.isValidElement(b)?C.cloneElement(b,void 0,g):null})}return e.jsx(i,{...f,ref:u,children:p})});return l.displayName=`${s}.Slot`,l}var SN=AN("Slot");function TN(s){const i=C.forwardRef((l,o)=>{let{children:u,...p}=l;if(cv(u)&&typeof so=="function"&&(u=so(u._payload)),C.isValidElement(u)){const f=EN(u),m=zN(p,u.props);return u.type!==C.Fragment&&(m.ref=o?Iu(o,f):f),C.cloneElement(u,m)}return C.Children.count(u)>1?C.Children.only(null):null});return i.displayName=`${s}.SlotClone`,i}var PN=Symbol("radix.slottable");function DN(s){return C.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===PN}function zN(s,i){const l={...i};for(const o in i){const u=s[o],p=i[o];/^on[A-Z]/.test(o)?u&&p?l[o]=(...m)=>{const h=p(...m);return u(...m),h}:u&&(l[o]=u):o==="style"?l[o]={...u,...p}
vendor: 1,916 bytes, line 23
23:o==="className"&&(l[o]=[u,p].filter(Boolean).join(" "))}return{...s,...l}}function EN(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning;return l?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,l=i&&"isReactWarning"in i&&i.isReactWarning,l?s.props.ref:s.props.ref||s.ref)}const ON=dx("inline-flex items-center justify-center whitespace-nowrap text-sm font-semibold ring-offset-background transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 uppercase tracking-widest",{variants:{variant:{default:"rounded-[4px] text-white bg-gradient-to-r from-[#00E5CC] via-[#00AAFF] to-[#9B30FF] shadow-[0_0_20px_rgba(0,229,204,0.4)] hover:shadow-[0_0_35px_rgba(0,229,204,0.6),0_0_70px_rgba(155,48,255,0.2)] hover:-translate-y-0.5 font-[600] tracking-[0.1em]",destructive:"rounded-[4px] bg-[#CC2200] text-white shadow-[0_0_15px_rgba(204,34,0,0.4)] hover:shadow-[0_0_25px_rgba(204,34,0,0.6)] hover:-translate-y-0.5",outline:"rounded-[4px] border border-[#00E5CC] text-[#00E5CC] bg-transparent hover:bg-[rgba(0,229,204,0.08)] hover:shadow-[0_0_20px_rgba(0,229,204,0.2)] tracking-[0.1em]",secondary:"rounded-[4px] border border-[#9B30FF] text-[#CC44DD] bg-transparent hover:bg-[rgba(155,48,255,0.08)] hover:shadow-[0_0_20px_rgba(155,48,255,0.25)] tracking-[0.1em]",ghost:"rounded-[4px] text-[#B0C8D0] hover:text-[#00E5CC] hover:bg-[rgba(0,229,204,0.08)] tracking-[0.08em]",link:"text-[#00E5CC] underline-offset-4 hover:underline tracking-normal normal-case",glass:"rounded-[4px] bg-[rgba(13,15,20,0.85)] backdrop-blur-md border border-[rgba(0,229,204,0.2)] text-white hover:border-[rgba(0,229,204,0.4)] hover:shadow-[0_0_20px_rgba(0,229,204,0.15)] tracking-[0.08em]"},size:{default:"h-12 px-8 py-2",sm:"h-9 rounded-[3px] px-4 text-xs",lg:"h-14 roun
23ded-[5px] px-12 text-base tracking-[0.12em]",icon:"h-10 w-10 rounded-[4px]"}},defaultVariants:{variant:"default",size:"default"}}),oe=C.forwardRef(({className:s,variant:i,size:l,asChild:o=!1,...u},p)=>{const f=o?SN:"button";return e.jsx(f,{className:Ti(ON({variant:i,size:l,className:s})),ref:p,...u})});oe.displayName="Button";function T({children:s,className:i="",delay:l=0}){return e.jsx(Pe.div,{initial:{opacity:0,y:40},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},transition:{duration:.7,delay:l,ease:"easeOut"},className:i,children:s})}function Yf({className:s="",opacity:i=1,nodeCount:l=60,variant:o="default"}){const u=C.useRef(null),p=C.useRef(0);return C.useEffect(()=>{const f=u.current;if(!f)return;const m=f.getContext("2d");if(!m)return;let h=f.offsetWidth,b=f.offsetHeight;f.width=h,f.height=b;const g=["rgba(0,229,204,","rgba(0,200,212,","rgba(0,170,255,"],v=["rgba(155,48,255,","rgba(204,68,221,","rgba(102,0,204,"],k=[...g,...v],j=w=>{const O=w/h;if(o==="left"){const F=O<.5?g:k;return F[Math.floor(Math.random()*F.length)]}if(o==="right"){const F=O>.5?v:k;return F[Math.floor(Math.random()*F.length)]}if(o==="center-fade")return O<.35?g[Math.floor(Math.random()*g.length)]:O>.65?v[Math.floor(Math.random()*v.length)]:k[Math.floor(Math.random()*k.length)];const N=O<.4?g:O>.6?v:k;return N[Math.floor(Math.random()*N.length)]},A=Array.from({length:l},()=>{const w=Math.random()*h;return{x:w,y:Math.random()*b,vx:(Math.random()-.5)*.3,vy:(Math.random()-.5)*.3,r:Math.random()*2+1,color:j(w),opacity:Math.random()*.6+.3}}),P=140,D=()=>{m.clearRect(0,0,h,b);for(const w of A)w.x+=w.vx,w.y+=w.vy,(w.x<0||w.x>h)&&(w.vx*=-1),(w.y<0||w.y>b)&&(w.vy*=-1);for(let w=0;w<A.length;w++)for(let O=w+1;O<A.length;O++){const N=A[w],F=A[O],z=N.x-F.x,_=N.y-F.y,Q=Math.sqrt(z*z+_*_);if(Q<P){const Z=(1-Q/P)*.35,re=(N.x+F.x)/2/h,ue=re<.35?"rgba(0,229,204,":re>.65?"rgba(155,48,255,":"rgba(0,170,255,";m.beginPath(),m.moveTo(N.x,N.y),m.lineTo(F.x,F.y),m.strokeStyle=ue+Z+")",m.lineWidth=.7,m.stroke()}}for(const w of A)m.beginPath(),m.arc(w.x,w.y,w.r,0,Math.PI*2),m.fillStyle=w.color+w.opacity+")",m.fill(),w.r>2&&(m.beginPath(),m.arc(w.x,w.y,w.r+4,0,Math.PI*2),m.fillStyle=w.color+"0.08)",m.fill());p.current=requestAnimationFrame(D)};p.current=requestAnimationFrame(D);const M=()=>{h=f.offsetWidth,b=f.offsetHeight,f.width=h,f.height=b};return window.addEventListener("resize",M),()=>{cancelAnimationFrame(p.current),window.removeEventListener("resize",M)}},[l,o]),e.jsx("canvas",{ref:u,className:`absolute inset-0 w-full h-full pointer-events-none ${s}`,style:{opacity:i}})}const Ba={cyan:"#00E5CC",purple:"#9B30FF",blue:"#104cba",green:"#10b981",orange:"#F59E0B",red:"#EF4444"};function Ll(s){return s*Math.PI/180}function RN(){const{t:s}=_e(),i=s.diagram,[l,o]=C.useState(!1);C.useEffect(()=>{const j=setTimeout(()=>o(!0),300);return()=>clearTimeout(j)},[]);const u=[{id:"query",label:i.nodeQueryLabel,sub:i.nodeQuerySub,angle:90,color:Ba.cyan,bg:"rgba(0,229,204,0.08)",border:"rgba(0,229,204,0.35)",icon:"🎯"},{id:"memory",label:i.nodeMemoryLabel,sub:i.nodeMemorySub,angle:30,color:Ba.orange,bg:"rgba(245,158,11,0.08)",border:"rgba(245,158,11,0.35)",icon:"🧠"},{id:"fastai",label:i.nodeFastLabel,sub:i.nodeFastSub,angle:-30,color:Ba.green,bg:"rgba(16,185,129,0.08)",border:"rgba(16,185,129,0.35)",icon:"🏙️"},{id:"alert",label:i.nodeAlertLabel,sub:i.nodeAlertSub,angle:-90,color:Ba.red,bg:"rgba(239,68,68,0.08)",border:"rgba(239,68,68,0.35)",icon:"🚨"},{id:"drakon",label:i.nodeDrakonLabel,sub:i.nodeDrakonSub,angle:-150,color:Ba.blue,bg:"rgba(16,76,186,0.12)",border:"rgba(16,76,186,0.4)",icon:"🛡️"},{id:"perceptrum",label:i.nodePerceptrumLabel,sub:i.nodePerceptrumSub,angle:150,color:Ba.purple,bg:"rgba(155,48,255,0.08)",border:"rgba(155,48,255,0.35)",icon:"👁️"}],p=[{emoji:"👤",label:i.sub1Label,desc:i.sub1Desc},{emoji:"🚗",label:i.sub2Label,desc:i.sub2Desc},{emoji:"🐕",label:i.sub3Label,desc:i.sub3Desc},{emoji:"📦",label:i.sub4Label,desc:i.sub4Desc},{emoji:"🏍️",label:i.sub5Label,desc:i.sub5Desc},{emoji:"👓",label:i.sub6Label,desc:i.sub6Desc}
23],f=[{icon:"🔍",title:i.pillar1Title,desc:i.pillar1Desc,color:Ba.blue},{icon:"⚡",title:i.pillar2Title,desc:i.pillar2Desc,color:Ba.cyan},{icon:"🔒",title:i.pillar3Title,desc:i.pillar3Desc,color:Ba.purple}],m=[{label:i.step1,color:Ba.cyan},{label:i.step2,color:Ba.purple},{label:i.step3,color:Ba.blue},{label:i.step4,color:Ba.red}],h=400,b=300,g=210,v=130,k=70;return e.jsxs("div",{className:"w-full",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-[rgba(0,229,204,0.25)] bg-[rgba(0,229,204,0.06)] mb-4",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[#00E5CC] animate-pulse"}),e.jsx("span",{className:"text-[#00E5CC] text-xs font-bold tracking-widest uppercase",children:i.howItWorksTag})]}),e.jsxs("h2",{className:"font-[Orbitron] text-2xl md:text-3xl font-black text-white uppercase tracking-tight mb-3",children:[i.platformPrefix," ",e.jsx("span",{style:{background:"linear-gradient(90deg,#00E5CC,#9B30FF)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:i.platformHighlight})]}),e.jsx("p",{className:"text-[#B0C8D0] text-base max-w-2xl mx-auto",children:i.platformDesc})]}),e.jsxs("div",{className:"relative w-full overflow-hidden",style:{minHeight:500},children:[e.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-none",style:{width:320,height:320,background:"radial-gradient(circle, rgba(155,48,255,0.18) 0%, transparent 70%)",zIndex:0}}),e.jsxs("svg",{viewBox:"0 0 800 600",className:"w-full",style:{maxHeight:520,overflow:"visible"},children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:"hubGrad",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#9B30FF",stopOpacity:"0.9"}),e.jsx("stop",{offset:"100%",stopColor:"#00E5CC",stopOpacity:"0.7"})]}),u.map(j=>{const A=Ll(j.angle),P=h+g*Math.cos(A),D=b-g*Math.sin(A);return e.jsxs("linearGradient",{id:`lg-${j.id}`,x1:h,y1:b,x2:P,y2:D,gradientUnits:"userSpaceOnUse",children:[e.jsx("stop",{offset:"0%",stopColor:"#9B30FF",stopOpacity:"0.8"}),e.jsx("stop",{offset:"100%",stopColor:j.color,stopOpacity:"0.8"})]},j.id+"-grad")}),u.map(j=>e.jsx("marker",{id:`arrow-${j.id}`,markerWidth:"6",markerHeight:"6",refX:"5",refY:"3",orient:"auto",children:e.jsx("path",{d:"M0,0 L6,3 L0,6 Z",fill:j.color,opacity:"0.9"})},j.id+"-m"))]}),e.jsx("circle",{cx:h,cy:b,r:g+14,fill:"none",stroke:"rgba(255,255,255,0.05)",strokeWidth:"1",strokeDasharray:"6,6"}),e.jsx(Pe.g,{animate:{rotate:360},transition:{duration:20,repeat:1/0,ease:"linear"},style:{transformOrigin:`${h}px ${b}px`},children:e.jsx("circle",{cx:h,cy:b,r:g-14,fill:"none",stroke:"rgba(0,229,204,0.12)",strokeWidth:"1",strokeDasharray:"4,8"})}),u.map(j=>{const A=Ll(j.angle),P=h+g*Math.cos(A),D=b-g*Math.sin(A);return e.jsx(Pe.line,{x1:h,y1:b,x2:P,y2:D,stroke:`url(#lg-${j.id})`,strokeWidth:"1.5",strokeDasharray:"6,4",markerEnd:`url(#arrow-${j.id})`,initial:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:1},transition:{duration:.8,delay:.2}},j.id+"-line")}),l&&u.map((j,A)=>{const P=Ll(j.angle),D=h+g*Math.cos(P)-h,M=b-g*Math.sin(P)-b;return e.jsx(Pe.g,{animate:{x:[0,D*.85],y:[0,M*.85],scale:[1,1.75,1.75,.5],opacity:[0,1,1,0]},transition:{duration:2.4,repeat:1/0,delay:A*.4,ease:"easeInOut"},children:e.jsx("circle",{cx:h,cy:b,r:2,fill:j.color,filter:`drop-shadow(0 0 4px ${j.color})`})},j.id+"-dot")}
23),e.jsx("circle",{cx:h,cy:b,r:62,fill:"url(#hubGrad)",opacity:"0.15"}),e.jsx("circle",{cx:h,cy:b,r:58,fill:"#0D0F14",stroke:"rgba(155,48,255,0.5)",strokeWidth:"1.5"}),e.jsx("circle",{cx:h,cy:b,r:58,fill:"none",stroke:"rgba(0,229,204,0.3)",strokeWidth:"0.5",strokeDasharray:"3,5"}),e.jsx("text",{x:h,y:b-12,textAnchor:"middle",fontSize:"9",fontWeight:"900",fontFamily:"Orbitron, sans-serif",letterSpacing:"2",fill:"white",children:"AIQUIMIST"}),e.jsx("text",{x:h,y:b+4,textAnchor:"middle",fontSize:"9",fontWeight:"900",fontFamily:"Orbitron, sans-serif",letterSpacing:"2",fill:"white",children:".AI"}),e.jsx("text",{x:h,y:b+20,textAnchor:"middle",fontSize:"7",fontFamily:"sans-serif",fill:"rgba(176,200,208,0.7)",letterSpacing:"1",children:"ORCHESTRATOR"}),u.map(j=>{const A=Ll(j.angle),P=h+g*Math.cos(A),D=b-g*Math.sin(A),M=P-v/2,w=D-k/2,O=(j.label||"").split(`
24`);return e.jsxs(Pe.g,{initial:{opacity:0,scale:.6},animate:{opacity:1,scale:1},transition:{duration:.5,delay:.1},children:[e.jsx("rect",{x:M-4,y:w-4,width:v+8,height:k+8,rx:"12",fill:j.color,opacity:"0.06"}),e.jsx("rect",{x:M,y:w,width:v,height:k,rx:"10",fill:"#0D0F14",stroke:j.border,strokeWidth:"1"}),e.jsx("text",{x:P,y:w+20,textAnchor:"middle",fontSize:"13",children:j.icon}),O.map((N,F)=>e.jsx("text",{x:P,y:w+33+F*11,textAnchor:"middle",fontSize:"7.5",fontWeight:"900",fontFamily:"Orbitron, sans-serif",letterSpacing:"0.5",fill:"white",children:N},F)),e.jsx("text",{x:P,y:w+k-8,textAnchor:"middle",fontSize:"6.5",fill:j.color,fontFamily:"sans-serif",opacity:"0.85",children:j.sub})]},j.id)})]})]}),e.jsx("div",{className:"mx-auto max-w-3xl mt-2 mb-10",children:e.jsx("div",{className:"flex flex-wrap items-center justify-center gap-2 text-xs text-[#B0C8D0]",children:m.map((j,A)=>e.jsxs("span",{className:"flex items-center gap-1.5 px-3 py-1 rounded-full",style:{background:`${j.color}12`,border:`1px solid ${j.color}40`},children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full flex-shrink-0",style:{background:j.color}}),j.label]},A))})}),e.jsxs("div",{className:"mb-10",children:[e.jsx("div",{className:"text-center mb-5",children:e.jsx("span",{className:"text-[#B0C8D0] text-sm uppercase tracking-widest font-semibold",children:i.whatCanBeSearched})}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:p.map((j,A)=>e.jsxs(Pe.div,{whileHover:{scale:1.04,borderColor:"rgba(0,229,204,0.5)"},className:"text-center rounded-xl p-3 border transition-all duration-200",style:{background:"rgba(255,255,255,0.03)",border:"1px solid rgba(255,255,255,0.07)"},children:[e.jsx("div",{className:"text-2xl mb-1",children:j.emoji}),e.jsx("div",{className:"text-white text-xs font-bold mb-0.5",children:j.label}),e.jsx("div",{className:"text-[#B0C8D0] text-[10px]",children:j.desc})]},A))})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:f.map((j,A)=>e.jsxs("div",{className:"rounded-2xl p-5 border transition-all duration-300 hover:scale-[1.01]",style:{background:`${j.color}0A`,border:`1px solid ${j.color}30`},children:[e.jsx("div",{className:"text-2xl mb-3",children:j.icon}),e.jsx("div",{className:"text-white text-sm font-bold mb-2",children:j.title}),e.jsx("div",{className:"text-[#B0C8D0] text-xs leading-relaxed",children:j.desc})]},A))})]})}const FN=2200,BN=5,$f={en:["Street","Neighborhood","City","State","Country"],pt:["Rua","Bairro","Cidade","Estado","País"],fr:["Rue","Quartier","Ville","Région","Pays"],de:["Straße","Viertel","Stadt","Bundesland","Land"],es:["Calle","Barrio","Ciudad","Provincia","País"],it:["Strada","Quartiere","Città","Regione","Paese"],nl:["Straat","Buurt","Stad","Provincie","Land"],pl:["Ulica","Dzielnica","Miasto","Województwo","Kraj"],ru:["Улица","Район","Город","Регион","Страна"],zh:["街道","街区","城市","省份","国家"],ja:["通り","地区","都市","都道府県","国"],ko:["거리","동네","도시","주","국가"],ar:["شارع","حي","مدينة","ولاية","دولة"],he:["רחוב","שכונה","עיר","מדינה","ארץ"],fa:["خیابان","محله","شهر","استان","کشور"],ur:["گلی","محلہ","شہر","صوبہ","ملک"],tr:["Sokak","Mahalle","Şehir","İl","Ülke"],hi:["सड़क","मोहल्ला","शहर","राà
24¤œà¥à¤¯","देश"],vi:["Đường","Phường","Thành phố","Tỉnh","Quốc gia"],th:["ถนน","ย่าน","เมือง","จังหวัด","ประเทศ"],id:["Jalan","Kelurahan","Kota","Provinsi","Negara"],uk:["Вулиця","Район","Місто","Область","Країна"],ro:["Stradă","Cartier","Oraș","Județ","Țară"]},Xf={en:{name:"United States",cx:200,cy:115,pts:"25,75 95,58 165,60 235,55 310,60 370,70 380,105 365,140 320,150 285,165 250,175 210,168 175,165 135,168 95,160 55,155 25,140 15,110 18,88",reg:"155,85 200,82 230,90 235,115 218,130 188,132 162,120 155,100"},pt:{name:"Brasil",cx:208,cy:138,pts:"135,18 205,12 265,28 320,55 355,95 350,150 320,190 285,218 248,238 208,248 165,242 128,225 98,195 72,158 65,118 78,80 108,50 130,28",reg:"165,118 215,112 240,130 235,165 210,182 178,178 155,160 148,138"},fr:{name:"France",cx:190,cy:125,pts:"130,42 195,32 255,52 270,100 265,155 240,188 205,200 165,195 128,170 108,135 110,90 122,60",reg:"162,105 198,100 218,118 212,145 188,155 165,148 150,128 148,110"},de:{name:"Deutschland",cx:188,cy:115,pts:"128,28 198,22 252,48 268,98 260,158 222,188 175,185 132,158 112,118 108,72 118,44",reg:"160,98 200,93 220,112 215,140 192,152 168,146 150,128 148,105"},es:{name:"España",cx:178,cy:120,pts:"60,52 175,42 265,58 305,88 298,145 260,175 205,185 148,178 95,158 55,128 52,90 58,62",reg:"148,92 190,88 215,105 210,130 186,140 162,135 145,118 142,100"},it:{name:"Italia",cx:190,cy:128,pts:"118,28 175,22 210,42 225,80 235,122 248,162 242,198 225,218 208,222 192,210 180,188 168,162 158,128 145,92 132,62",reg:"170,115 198,110 215,130 208,155 185,162 165,152 152,135 150,115"},nl:{name:"Nederland",cx:188,cy:90,pts:"155,62 205,55 225,78 218,108 195,118 165,112 148,90 150,70",reg:"168,72 198,68 210,82 205,98 185,104 168,96 160,82"},pl:{name:"Polska",cx:185,cy:108,pts:"92,55 198,48 268,60 280,98 262,140 200,148 130,142 85,118 82,78 88,58",reg:"158,82 200,78 220,98 215,120 192,128 165,122 148,105 148,85"},ru:{name:"Россия",cx:198,cy:98,pts:"8,50 98,30 198,38 295,32 375,48 388,88 378,128 295,138 198,142 98,138 18,128 5,88",reg:"175,72 215,68 238,85 232,108 208,118 180,112 162,95 162,78"},zh:{name:"中国",cx:205,cy:138,pts:"58,38 148,20 248,28 325,55 365,95 358,155 312,198 252,218 182,228 112,208 65,168 35,128 32,85 48,55",reg:"175,112 218,108 242,128 238,158 212,172 182,168 158,150 152,125"},ja:{name:"日本",cx:208,cy:98,pts:"175,38 218,28 248,50 258,88 248,128 218,148 188,142 168,118 162,88 165,55",reg:"188,75 212,70 228,88 222,108 202,118 182,112 170,96 172,78"},ko:{name:"한국",cx:185,cy:108,pts:"148,62 208,52 238,78 232,128 202,152 165,148 138,120 132,85 138,65",reg:"165,88 200,84 215,100 210,122 188,130 165,124 152,108 150,92"},ar:{name:"المملكة العربية",cx:188,cy:115,pts:"98,48 218,38 278,68 298,118 278,158 238,168 178,172 118,158 82,125 78,85 88,58",reg:"162,88 202,84 222,102 215,125 192,135 168,128 150,110 150,90"},he:{name:"ישראל",cx:188,cy:95,pts:"172,58 202,52 218,72 212,110 198,130 178,128 162,108 158,80 162,60",reg:"178,78 200,74 210,90 206,108 190,116 175,110 166,96 166,80"},fa:{name:"ایران",cx:188,cy:118,pts:"82,48 178,35 258,50 298,78 308,128 288,168 242,182 182,182 122,162 82,128 72,90 78,60",reg:"162,90 202,86 222,105 216,130 192,140 168,133 150,115 150,92"},ur:{name:"پاکستان",cx:182,cy:115,pts:"92,38 178,28 238,58 258,108 238,158 198,172 150,168 102,138 82,98 82,62",reg:"158,85 198,81 218,100 212,125 188,135 164,128 148,110 148,88"},tr:{name:"Türkiye",cx:192,cy:112,pts:"58,68 168,58 268,62 328,78 338,115 308,138 252,142 178,138 108,132 58,118 48,95 52,72",reg:"162,85 202,81 222,98 218,118 195,125 168,120 150,105 148,88"},hi:{name:"भारत",cx:188,cy:135,pts:"98,28 198,22 268,48 280,98 262,148 232,198 202,238 175,238 148,198 118,152 98,105 95,62",reg:"162,108 200,104 220,122 215,148 192,158 168,150 150,132 148,110"},vi:{name:"Việt Nam",cx:188,cy:135,pts:"175,18 215,28 235,68 225,118 215,168 200,208 182,238 162,232 152,195 158,148 165,102 168,58",reg:"175,112 205,108 218,128 212,152 192,158 172,150 160,133 158,112"},th:{name:"ประเทศไทย",cx:188,cy:118,pts:"128,38 198,32 238,58 248,98 228,138 208,168 198,195 178,198 162,188 152,162 158,122 162,82 148,58",reg:"168,88 205,84 222,102 215,128 192,138 168,130 152,112 150,90"},id:{name:"Indonesia",cx:198,cy:128,pts:"35,118 115,108 195,102 275,108 345,112 368,128 348,142 272,142 195,138 115,142 42,142 28,132",reg:"168,112 205,108 225,120 218,132 195,138 170,133 155,122 152,112"},uk:{name:"Україна",cx:188,cy:108,pts:"78,58 195,48 288,62 318,92 298,132 248,142 168,142 88,132 62,98 68,68",reg:"158,80 198,76 218,95 212,118 188,126 162,120 145,102 145,82"},ro:{name:"România",cx:182,cy:112,pts:"118,58 198,52 248,72 258,108 240,138 195,148 148,142 112,118 105,88 110,65",reg:"155,85 195,81 215,98 210,120 188,128 162,122 148,105 148,88"}},Zf=[8,4.5,2.5,1.6,1],eb=[{color:"#9B30FF",label:"PERCEPTRUM",dx:-62,dy:-46},{color:"#00E5CC",label:"CORPORATE",dx:68,dy:-30},{color:"#00AAFF",label:"F.A.S.T-AI",dx:10,dy:58}];function xi(s){return s.toFixed(3)}function de(s){return Math.round(s*100)/100}function IN({lang:s}){const[i,l]=C.useState(0),[o,u]=C.useState(0),p=C.useRef(0);C.useEffect(()=>{const R=setInterval(()=>{p.current=(p.current+1)%BN,l(p.current)},FN);return()=>clearInterval(R)},[]),C.useEffect(()=>{const R=setInterval(()=>u(Y=>Y+1),80);return()=>clearInterval(R)},[]);const f=Xf[s]??Xf.en,m=$f[s]??$f.en,h=Zf[i],{cx:b,cy:g}=f,v=de((1-h)*b),k=de((1-h)*g),j=eb.map(R=>({...R,x:de(b+R.dx),y:de(g+R.dy)})),A=o*.04%(Math.PI*2),P=12+Math.sin(o*.07)*5,D=de(b+Math.cos(A)*P),M=de(g+Math.sin(A)*P),w=de(6+o%20*2.2),O=xi(Math.max(0,1-o%20/20)*.7),N=R=>de(6+(o+R)%18*2.5),F=R=>xi(Math.max(0,1-(o+R)%18/18)*.6),z=xi(-(o*.45)%12),_=de(g-65+o*2.5%130),Q=Array.from({length:18},(R,Y)=>{const J=Y/18*Math.PI*2,je=22+Y%3*8;return{x:de(b+Math.cos(J)*je),y:de(g+Math.sin(J)*je),o:xi(.35+Math.abs(Math.sin(o*.12+Y*.45))*.45)}}),Z=Array.from({length:8},(R,Y)=>{const J=Y/8*Math.PI*2+.4;return{x:de(b+Math.cos(J)*40),y:de(g+Math.sin(J)*40),o:xi(.4+Math.abs(Math.sin(o*.15+Y*.8))*.45)}}),se=Array.from({length:4},(R,Y)=>{const J=Y/4*Math.PI*2,je=j[2];return{x:de(je.x+Math.cos(J)*2.5),y:de(je.y+Math.sin(J)*2.5)}}),re=[],ue=[];for(let R=b-60;R<=b+60;R+=8)re.push(`M${de(R)},${de(g-65)} L${de(R)},${de(g+65)}`);for(let R=g-65;R<=g+65;R+=8)ue.push(`M${de(b-65)},${de(R)} L${de(b+65)},${de(R)}`);const we=[],X=[];for(let R=0;R<=400;R+=20)we.push(`M${R},0 L${R},280`);for(let R=0;R<=280;R+=20)X.push(`M0,${R} L400,${R}`);const me=[{x:de(b-22),y:de(g-12)},{x:de(b+14),y:de(g+9)},{x:de(b-9),y:de(g+20)},{x:de(b+23),y:de(g-18)}],L="1.1s cubic-bezier(0.4,0,0.2,1)",K=(R,Y="0s")=>({opacity:R?1:0,transition:`opacity 0.7s ease ${Y}`});return e.jsxs("div",{className:"absolute inset-0 flex items-center justify-center overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:`radial-gradient(ellipse at ${b/400*100}% ${g/280*100}%, rgba(0,170,255,0.07) 0%, transparent 65%)`}}),e.jsxs("svg",{viewBox:"0 0 400 280",className:"w-full h-full",preserveAspectRatio:"xMidYMid meet",style:{overflow:"visible"},children:[e.jsxs("defs",{children:[e.jsxs("filter",{id:"nms-c",x:"-40%",y:"-40%",width:"180%",height:"180%",children:[e.jsx("feGaussianBlur",{stdDeviation:"2.5",result:"b"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"b"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsxs("filter",{id:"nms-p",x:"-40%",y:"-40%",width:"180%",height:"180%",children:[e.jsx("feGaussianBlur",{stdDeviation:"3",result:"b"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"b"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsxs("filter",{id:"nms-t",x:"-60%",y:"-60%",width:"220%",height:"220%",children:[e.jsx("feGaussianBlur",{stdDeviation:"2",result:"b"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"b"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsxs("radialGradient",{id:"nms-cf",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#00AAFF",stopOpacity:"0.07"}
24),e.jsx("stop",{offset:"100%",stopColor:"#00E5CC",stopOpacity:"0.015"})]}),e.jsxs("radialGradient",{id:"nms-rf",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#9B30FF",stopOpacity:"0.14"}),e.jsx("stop",{offset:"100%",stopColor:"#9B30FF",stopOpacity:"0.03"})]}),e.jsxs("linearGradient",{id:"nms-sl",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#00E5CC",stopOpacity:"0"}),e.jsx("stop",{offset:"50%",stopColor:"#00E5CC",stopOpacity:"0.10"}),e.jsx("stop",{offset:"100%",stopColor:"#00E5CC",stopOpacity:"0"})]})]}),e.jsx("path",{d:we.join(" ")+" "+X.join(" "),stroke:"#00E5CC",strokeWidth:"0.25",strokeOpacity:"0.05",fill:"none"}),e.jsxs("g",{style:{transform:`translate(${v}px,${k}px) scale(${h})`,transition:`transform ${L}`},children:[e.jsx("polygon",{points:f.pts,fill:"url(#nms-cf)",stroke:"#00AAFF",strokeWidth:"0.8",strokeOpacity:"0.5",filter:"url(#nms-c)"}),e.jsx("polygon",{points:f.pts,fill:"none",stroke:"#00AAFF",strokeWidth:"2",strokeOpacity:"0.09"}),e.jsx("g",{style:K(i>=3),children:e.jsx("polygon",{points:f.reg,fill:"url(#nms-rf)",stroke:"#9B30FF",strokeWidth:"0.7",strokeOpacity:"0.6",filter:"url(#nms-p)"})}),e.jsx("g",{style:K(i<=2),children:e.jsx("path",{d:re.join(" ")+" "+ue.join(" "),stroke:"#00E5CC",strokeWidth:"0.2",strokeOpacity:"0.2",fill:"none"})}),e.jsx("rect",{x:de(b-80),y:_,width:"160",height:"7",fill:"url(#nms-sl)",opacity:"0.7"}),e.jsxs("g",{style:K(i>=2),children:[e.jsx("line",{x1:j[0].x,y1:j[0].y,x2:j[1].x,y2:j[1].y,stroke:"#9B30FF",strokeWidth:"0.5",strokeOpacity:"0.4",strokeDasharray:"2.5,2.5",strokeDashoffset:z}),e.jsx("line",{x1:j[0].x,y1:j[0].y,x2:j[2].x,y2:j[2].y,stroke:"#00AAFF",strokeWidth:"0.5",strokeOpacity:"0.4",strokeDasharray:"2.5,2.5",strokeDashoffset:z}),e.jsx("line",{x1:j[1].x,y1:j[1].y,x2:j[2].x,y2:j[2].y,stroke:"#00E5CC",strokeWidth:"0.5",strokeOpacity:"0.4",strokeDasharray:"2.5,2.5",strokeDashoffset:z}),e.jsx("line",{x1:j[0].x,y1:j[0].y,x2:D,y2:M,stroke:"#9B30FF",strokeWidth:"0.35",strokeOpacity:"0.25",strokeDasharray:"1.5,4",strokeDashoffset:xi(-o*.6%12)}),e.jsx("line",{x1:j[1].x,y1:j[1].y,x2:D,y2:M,stroke:"#00E5CC",strokeWidth:"0.35",strokeOpacity:"0.25",strokeDasharray:"1.5,4",strokeDashoffset:xi(-o*.6%12)}),e.jsx("line",{x1:j[2].x,y1:j[2].y,x2:D,y2:M,stroke:"#00AAFF",strokeWidth:"0.35",strokeOpacity:"0.25",strokeDasharray:"1.5,4",strokeDashoffset:xi(-o*.6%12)})]}),e.jsx("g",{style:K(i<=2),children:me.map((R,Y)=>e.jsxs("g",{children:[e.jsx("rect",{x:de(R.x-2),y:de(R.y-1.5),width:"4",height:"2.8",rx:"0.5",fill:"#00AAFF",fillOpacity:"0.65"}),e.jsx("rect",{x:de(R.x+2),y:de(R.y-.7),width:"1.5",height:"1.4",rx:"0.3",fill:"#00AAFF",fillOpacity:"0.4"}),e.jsx("path",{d:`M${R.x+2},${R.y} L${R.x+8},${R.y-5} L${R.x+8},${R.y+5} Z`,fill:"#00AAFF",fillOpacity:"0.04",stroke:"#00AAFF",strokeWidth:"0.15",strokeOpacity:"0.2"})]},Y))}),e.jsx("g",{style:K(i>=1),children:Q.map((R,Y)=>e.jsx("circle",{cx:R.x,cy:R.y,r:"0.85",fill:"#9B30FF",fillOpacity:R.o},Y))}),e.jsx("g",{style:K(i>=2),children:Z.map((R,Y)=>e.jsx("circle",{cx:R.x,cy:R.y,r:"1.2",fill:"#00E5CC",fillOpacity:R.o},Y))}),j.map((R,Y)=>{const J=Y===1?i>=1:!0,je=Y*6,ve=N(je),pe=F(je);return e.jsxs("g",{style:K(J,Y===1?"0.1s":"0s"),children:[e.jsx("circle",{cx:R.x,cy:R.y,r:ve,fill:"none",stroke:R.color,strokeWidth:"0.5",strokeOpacity:pe}),e.jsx("circle",{cx:R.x,cy:R.y,r:"5",fill:`${R.color}22`,stroke:R.color,strokeWidth:"0.8",filter:Y===0?"url(#nms-p)":"url(#nms-c)"}),Y===0&&e.jsxs(e.Fragment,{children:[e.jsx("ellipse",{cx:R.x,cy:R.y,rx:"2.5",ry:"1.5",fill:"none",stroke:"#9B30FF",strokeWidth:"0.5"}),e.jsx("circle",{cx:R.x,cy:R.y,r:"0.8",fill:"#9B30FF"})]}),Y===1&&e.jsx("path",{d:`M${R.x},${R.y-2.5} L${R.x+2.2},${R.y-1} L${R.x+2.2},${R.y+.9} Q${R.x},${R.y+3} ${R.x-2.2},${R.y+.9} L${R.x-2.2},${R.y-1} Z`,fill:"#00E5CC",fillOpacity:"0.6",stroke:"#00E5CC",strokeWidth:"0.3"}),Y===2&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:R.x,cy:R.y,r:"1.0",fill:"#00AAFF"}),se.map((Ne,Se)=>e.jsxs("g",{children:[e.jsx("line",{x1:R.x,y1:R.y,x2:Ne.x,y2:Ne.y,stroke:"#00AAFF",strokeWidth:"0.4"}),e.jsx("circle",{cx:Ne.x,cy:Ne.y,r:"0.65",fill:"#00AAFF"})]},Se))]})]},Y)}
24),e.jsxs("g",{filter:"url(#nms-t)",children:[e.jsx("circle",{cx:D,cy:M,r:w,fill:"none",stroke:"#FF5555",strokeWidth:"0.5",strokeOpacity:O}),e.jsx("line",{x1:de(D-7),y1:M,x2:de(D-2.5),y2:M,stroke:"#FF5555",strokeWidth:"0.55"}),e.jsx("line",{x1:de(D+2.5),y1:M,x2:de(D+7),y2:M,stroke:"#FF5555",strokeWidth:"0.55"}),e.jsx("line",{x1:D,y1:de(M-7),x2:D,y2:de(M-2.5),stroke:"#FF5555",strokeWidth:"0.55"}),e.jsx("line",{x1:D,y1:de(M+2.5),x2:D,y2:de(M+7),stroke:"#FF5555",strokeWidth:"0.55"}),e.jsx("circle",{cx:D,cy:M,r:"1.8",fill:"#FF5555",fillOpacity:"0.95"})]}),e.jsx("g",{style:K(i>=4),children:e.jsx("text",{x:b,y:Math.min(...f.pts.split(" ").map(R=>+R.split(",")[1]))-5,textAnchor:"middle",fill:"#00AAFF",fontSize:"5",fontFamily:"'Share Tech Mono',monospace",letterSpacing:"1",children:f.name.toUpperCase()})})]}),Zf.map((R,Y)=>{const J=Y===i;return e.jsxs("g",{children:[e.jsx("rect",{x:"10",y:10+Y*18,width:J?82:64,height:"14",rx:"2",fill:J?"rgba(0,229,204,0.11)":"rgba(8,10,15,0.5)",stroke:J?"#00E5CC":"rgba(0,229,204,0.14)",strokeWidth:"0.5",style:{transition:"width 0.5s, fill 0.5s"}}),e.jsx("text",{x:"16",y:20+Y*18,fill:J?"#00E5CC":"rgba(176,200,208,0.38)",fontSize:"4.5",fontFamily:"'Share Tech Mono',monospace",letterSpacing:"0.4",style:{transition:"fill 0.5s"},children:(m[Y]??"").toUpperCase()}),J&&e.jsx("circle",{cx:"90",cy:17+Y*18,r:"2",fill:"#00E5CC",fillOpacity:"0.9"})]},Y)}),e.jsxs("g",{children:[e.jsx("rect",{x:"302",y:"9",width:"88",height:"28",rx:"3",fill:"rgba(255,30,30,0.07)",stroke:"rgba(255,80,80,0.5)",strokeWidth:"0.55"}),e.jsx("circle",{cx:"314",cy:"17",r:"2",fill:"#FF5555",fillOpacity:"0.9"}),e.jsx("text",{x:"320",y:"20",fill:"#FF7777",fontSize:"4.5",fontFamily:"'Share Tech Mono',monospace",letterSpacing:"0.4",children:"TARGET LOCK"}),e.jsx("text",{x:"310",y:"32",fill:"rgba(255,110,110,0.65)",fontSize:"3.8",fontFamily:"'Share Tech Mono',monospace",children:`ID: ${(41970+o%256).toString(16).toUpperCase().padStart(4,"0")}`})]}),eb.map((R,Y)=>e.jsxs("g",{children:[e.jsx("rect",{x:102+Y*100,y:"256",width:"92",height:"16",rx:"2",fill:"rgba(8,10,15,0.72)",stroke:R.color,strokeWidth:"0.4",strokeOpacity:"0.55"}),e.jsx("circle",{cx:112+Y*100,cy:"264",r:"2.5",fill:R.color,fillOpacity:"0.8"}),e.jsx("text",{x:118+Y*100,y:"267",fill:R.color,fillOpacity:"0.9",fontSize:"4",fontFamily:"'Share Tech Mono',monospace",letterSpacing:"0.2",children:R.label})]},Y))]})]})}function MN(){const{t:s}=_e(),{lang:i}=C.useContext(wo),[l,o]=C.useState(0),[u,p]=C.useState(0),[f,m]=C.useState(0),h=[11e3,7e3,7e3,7e3,7e3],b=C.useCallback(w=>{p(w),m(0)},[]);C.useEffect(()=>{m(0);const w=h[u]??6e3,O=performance.now();let N;const F=z=>{const _=z-O,Q=Math.min(_/w*100,100);m(Q),Q<100?N=requestAnimationFrame(F):p(Z=>(Z+1)%5)};return N=requestAnimationFrame(F),()=>cancelAnimationFrame(N)},[u]);const g=[{id:"drakon",icon:e.jsx(pa,{className:"w-7 h-7"}),badge:s.common.bothSectors,accentColor:"#00E5CC",name:s.home.drakonTitle,sub:s.home.drakonSub,desc:s.home.drakonDesc,link:"/drakon"},{id:"perceptrum",icon:e.jsx(He,{className:"w-7 h-7"}),badge:s.common.privateSector,accentColor:"#9B30FF",name:s.home.perceptrumTitle,sub:s.home.perceptrumSub,desc:s.home.perceptrumDesc,link:"/perceptrum"},{id:"fastai",icon:e.jsx(la,{className:"w-7 h-7"}),badge:s.common.publicSector,accentColor:"#00AAFF",name:s.home.fastaiTitle,sub:s.home.fastaiSub,desc:s.home.fastaiDesc,link:"/fast-ai"}],v=[{name:s.home.tab0,icon:e.jsx(fb,{className:"w-4 h-4"})},{name:s.home.tab1,icon:e.jsx(He,{className:"w-4 h-4"})},{name:s.home.tab2,icon:e.jsx(Uy,{className:"w-4 h-4"})}],k=[[{title:s.home.f0t0,desc:s.home.f0d0},{title:s.home.f0t1,desc:s.home.f0d1},{title:s.home.f0t2,desc:s.home.f0d2},{title:s.home.f0t3,desc:s.home.f0d3}],[{title:s.home.f1t0,desc:s.home.f1d0},{title:s.home.f1t1,desc:s.home.f1d1},{title:s.home.f1t2,desc:s.home.f1d2},{title:s.home.f1t3,desc:s.home.f1d3}],[{title:s.home.f2t0,desc:s.home.f2d0},{title:s.home.f2t1,desc:s.home.f2d1},{title:s.home.f2t2,desc:s.home.f2d2},{title:s.home.f2t3,desc:s.home.f2d3}]],j=[{value:s.home.stat1,label:s.home.stat1sub},{value:s.home.stat2,label:s.home.stat2sub},{value:s.home.stat3,label:s.home.stat3sub},{value:s.home.stat4,label:s.home.stat4sub}],A=[{label:s.home.imusPillar1,desc:s.home.imusPillar1desc,icon:e.jsx(Yr,{className:"w-6 h-6"})},{label:s.home.imusPillar2,desc:s.home.imusPillar2desc,icon:e.jsx(He,{className:"w-6 h-6"})},{label:s.home.imusPillar3,desc:s.home.imusPillar3desc,icon:e.jsx(qa,{className:"w-6 h-6"})},{label:s.home.imusPillar4,desc:s.home.imusPillar4desc,icon:e.jsx(pa,{className:"w-6 h-6"})}],P=s.home.heroTitle.split(". "),D=[{id:"network",tag:s.home?.networkTag??"UNIFIED INTELLIGENCE NETWORK",tagIcon:e.jsx(qa,{className:"w-4 h-4"}),titleWhite:s.home?.networkTitle??"One Search.",titleCyan:s.home?.networkTitleCyan??"No Limits.",sub:s.home?.networkSub??"Street to country. Millions of cameras. Three platforms. One unstoppable pursuit.",cta1:{label:s.common.learnMore,href:"/use-cases"},cta2:{label:s.common.contactUs,href:"/contact"},bgImg:"/images/hero-fastai.png",bgAlt:"Network intelligence",accentColor:"#9B30FF",showStats:!1,bgComponent:"network-map"},{id:"home",tag:s.home.heroTag,tagIcon:null,titleWhite:P[0]+".",titleCyan:P.slice(1).join(". "),sub:s.home.heroSub,cta1:{label:s.common.learnMore,href:"/drakon"},cta2:{label:s.common.contactUs,href:"/contact"},bgImg:"/images/home-hero-bg.png",bgAlt:"AI surveillance tracking",accentColor:"#00E5CC",
24showStats:!0},{id:"drakon",tag:"PERCEPTRUM CORPORATE",tagIcon:e.jsx(pa,{className:"w-4 h-4"}),titleWhite:s.home.drakonTitle,titleCyan:s.home.drakonSub,sub:s.home.drakonDesc,cta1:{label:s.common.learnMore,href:"/drakon"},cta2:{label:s.common.contactUs,href:"/contact"},bgImg:"/images/hero-drakon.png",bgAlt:"Perceptrum Corporate AI security",accentColor:"#00E5CC",showStats:!1},{id:"perceptrum",tag:"PERCEPTRUM PERSONAL",tagIcon:e.jsx(He,{className:"w-4 h-4"}),titleWhite:s.home.perceptrumTitle,titleCyan:s.home.perceptrumSub,sub:s.home.perceptrumDesc,cta1:{label:s.common.learnMore,href:"/perceptrum"},cta2:{label:s.common.contactUs,href:"/contact"},bgImg:"/images/hero-perceptrum.png",bgAlt:"Perceptrum computer vision",accentColor:"#9B30FF",showStats:!1},{id:"fastai",tag:"F.A.S.T.-AI",tagIcon:e.jsx(Ca,{className:"w-4 h-4"}),titleWhite:s.home.fastaiTitle,titleCyan:s.home.fastaiSub,sub:s.home.fastaiDesc,cta1:{label:s.common.learnMore,href:"/fast-ai"},cta2:{label:s.common.contactUs,href:"/contact"},bgImg:"/images/hero-fastai.png",bgAlt:"FAST-AI pursuit tracking",accentColor:"#00AAFF",showStats:!1,bgComponent:null}],M=D[u];return e.jsxs("div",{className:"w-full",style:{background:"#080A0F"},children:[e.jsx(ha,{title:"AiQuimist.ai — AI Platforms for Public Safety & Smart Cities",description:"AiQuimist.ai builds AI platforms that transform cameras into intelligent agents — for public safety, private security, and smart cities. Perceptrum Corporate, Perceptrum Personal, F.A.S.T.-AI.",canonical:"https://aiquimist.ai/",jsonLd:{"@context":"https://schema.org","@type":"WebSite",name:"AiQuimist.ai",url:"https://aiquimist.ai",description:"AI platforms for public safety and smart cities.",potentialAction:{"@type":"SearchAction",target:"https://aiquimist.ai/use-cases"}}}),e.jsxs("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[e.jsx(Yf,{variant:"center-fade",nodeCount:70,opacity:.5}),e.jsx("div",{className:"absolute inset-0 z-[1] pointer-events-none transition-all duration-1000",style:{background:`
25              radial-gradient(ellipse at 20% 50%, ${M.accentColor}14 0%, transparent 50%),
26              radial-gradient(ellipse at 80% 50%, rgba(155,48,255,0.12) 0%, transparent 50%),
27              radial-gradient(ellipse at 50% 100%, rgba(8,10,15,0.9) 0%, transparent 60%)
28            `}}),D.map((w,O)=>e.jsx(Pe.div,{className:"absolute inset-0 z-[2]",animate:{opacity:O===u?1:0},transition:{duration:.9,ease:"easeInOut"},children:w.bgComponent==="network-map"?e.jsxs("div",{className:"absolute inset-0",children:[e.jsx(IN,{lang:i}),e.jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, rgba(8,10,15,0.45) 0%, rgba(8,10,15,0.2) 40%, rgba(8,10,15,0.85) 100%)"}})]}):e.jsxs(e.Fragment,{children:[e.jsx("img",{src:w.bgImg,alt:w.bgAlt,className:"w-full h-full object-cover",style:{opacity:.18}}),e.jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, rgba(8,10,15,0.6) 0%, rgba(8,10,15,0.4) 50%, rgba(8,10,15,1) 100%)"}})]})},w.id)),e.jsx("div",{className:"relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center py-32 w-full",children:e.jsx(pb,{mode:"wait",children:e.jsxs(Pe.div,{initial:{opacity:0,y:32},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.6,ease:"easeOut"},children:[e.jsxs(Pe.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{delay:.1},className:"inline-flex items-center gap-2 mb-8 uppercase",style:{background:`rgba(${M.accentColor==="#00E5CC"?"0,229,204":M.accentColor==="#9B30FF"?"155,48,255":"0,170,255"},0.1)`,border:`1px solid ${M.accentColor}60`,color:M.accentColor,borderRadius:"4px",padding:"6px 18px",fontFamily:"'Exo 2', sans-serif",fontSize:"11px",fontWeight:700,letterSpacing:"0.18em",boxShadow:`0 0 20px ${M.accentColor}25`},children:[M.tagIcon,M.tag]}),e.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-8xl mb-6 leading-[1.1] font-black uppercase",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.03em",color:"#FFFFFF",textShadow:"0 0 60px rgba(0,229,204,0.15)"},children:[M.titleWhite," ",e.jsx("span",{className:"text-gradient",children:M.titleCyan})]}),e.jsx("p",{className:"text-lg md:text-xl mb-12 max-w-3xl mx-auto leading-relaxed",style:{color:"rgba(176,200,208,0.85)",fontFamily:"'Exo 2', sans-serif"},children:M.sub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx($,{href:M.cta1.href,children:e.jsxs(oe,{size:"lg",children:[M.cta1.label," ",e.jsx(Qe,{className:"w-4 h-4 ml-2"})]})}),e.jsx($,{href:M.cta2.href,children:e.jsx(oe,{size:"lg",variant:"outline",children:M.cta2.label})})]}),e.jsx("div",{className:"flex justify-center mt-4 mb-20",children:e.jsxs("a",{href:"/pitch.html",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 rounded-full text-xs font-semibold tracking-widest uppercase transition-all duration-200",style:{border:"1px solid rgba(155,48,255,0.35)",color:"#C080FF",background:"rgba(155,48,255,0.06)",fontFamily:"'Share Tech Mono', monospace",letterSpacing:"2px"},onMouseEnter:w=>{w.currentTarget.style.background="rgba(155,48,255,0.15)",w.currentTarget.style.borderColor="rgba(155,48,255,0.6)"},onMouseLeave:w=>{w.currentTarget.style.background="rgba(155,48,255,0.06)",w.currentTarget.style.borderColor="rgba(155,48,255,0.35)"},children:[e.jsx("span",{style:{fontSize:"14px"},children:"▶"}),s.common.pitchLink]})}),M.showStats&&e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 max-w-4xl mx-auto",children:j.map((w,O)=>e.jsxs(Pe.div,{initial:{opacity:0,y:20}
28,animate:{opacity:1,y:0},transition:{delay:.3+O*.1},className:"card-dna p-5 text-center",children:[e.jsx("div",{className:"text-2xl font-black mb-1",style:{fontFamily:"'Orbitron', sans-serif",background:"linear-gradient(135deg, #00E5CC, #9B30FF)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:w.value}),e.jsx("div",{className:"text-xs uppercase tracking-wider",style:{color:"rgba(176,200,208,0.6)",fontFamily:"'Exo 2', sans-serif"},children:w.label})]},O))})]},M.id)})}),[{dir:"left",icon:e.jsx(Hy,{className:"w-5 h-5"}),action:()=>b((u-1+D.length)%D.length),label:"Previous"},{dir:"right",icon:e.jsx(Qe,{className:"w-5 h-5"}),action:()=>b((u+1)%D.length),label:"Next"}].map(({dir:w,icon:O,action:N,label:F})=>e.jsx("button",{onClick:N,"aria-label":`${F} slide`,className:"absolute top-1/2 -translate-y-1/2 z-20 w-10 h-10 flex items-center justify-center transition-all duration-300",style:{[w]:"1.5rem",right:w==="right"?"1.5rem":void 0,left:w==="left"?"1.5rem":void 0,background:"rgba(13,15,20,0.7)",border:"1px solid rgba(0,229,204,0.2)",borderRadius:"4px",color:"#B0C8D0",backdropFilter:"blur(10px)"},children:O},w)),e.jsx("div",{className:"absolute bottom-10 left-1/2 -translate-x-1/2 z-20 flex items-center gap-4",children:D.map((w,O)=>e.jsxs("button",{onClick:()=>b(O),className:"flex flex-col items-center gap-2 group","aria-label":`Slide ${O+1}`,children:[e.jsx("div",{className:"w-10 h-0.5 rounded-full overflow-hidden",style:{background:"rgba(255,255,255,0.12)"},children:O===u?e.jsx(Pe.div,{className:"h-full rounded-full",style:{width:`${f}%`,background:M.accentColor},transition:{duration:0}}):O<u?e.jsx("div",{className:"h-full w-full rounded-full",style:{background:"rgba(255,255,255,0.35)"}}):null}),e.jsx("div",{className:"w-1.5 h-1.5 rounded-full transition-all duration-300",style:{backgroundColor:O===u?M.accentColor:"rgba(255,255,255,0.25)",boxShadow:O===u?`0 0 8px ${M.accentColor}80`:"none",transform:O===u?"scale(1.4)":"scale(1)"}})]},w.id))})]}),e.jsx("div",{className:"py-6 overflow-hidden",style:{borderTop:"1px solid rgba(0,229,204,0.08)",borderBottom:"1px solid rgba(0,229,204,0.08)",background:"rgba(13,15,20,0.6)"},children:e.jsx("div",{className:"flex animate-marquee gap-0",children:[...s.home.marqueeItems,...s.home.marqueeItems,...s.home.marqueeItems].map((w,O)=>e.jsxs("div",{className:"flex-shrink-0 w-[220px] flex items-center justify-center gap-3 transition-all duration-500",style:{opacity:.45},children:[e.jsx("span",{className:"w-1 h-1 rounded-full",style:{background:"#00E5CC",boxShadow:"0 0 6px rgba(0,229,204,0.8)"}}),e.jsx("span",{className:"text-sm font-semibold tracking-[0.15em] uppercase text-white",style:{fontFamily:"'Exo 2', sans-serif"},children:w})]},O))})}),e.jsxs("section",{className:"py-28 relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 right-0 w-[600px] h-[600px] rounded-full blur-[120px] -translate-y-1/3 translate-x-1/3 pointer-events-none",style:{background:"rgba(155,48,255,0.08)"}}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[400px] h-[400px] rounded-full blur-[100px] translate-y-1/3 -translate-x-1/4 pointer-events-none",style:{background:"rgba(0,229,204,0.06)"}}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:[e.jsxs(T,{className:"text-center max-w-4xl mx-auto mb-20",children:[e.jsx("div",{className:"tag-cyan mb-6 inline-block",children:s.home.products}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-6 leading-tight",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.05em"},children:s.home.productsSub})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:g.map((w,O)=>e.jsx(T,{delay:O*.1,children:e.jsxs("div",{className:"relative h-full flex flex-col group p-8 overflow-hidden",style:{background:"rgba(13,15,20,0.85)",border:"1px solid rgba(0,229,204,0.12)",borderRadius:"8px",transition:"all 300ms ease",boxShadow:"0 0 30px rgba(155,48,255,0.06)"},onMouseEnter:N=>{const F=N.currentTarget;F.style.borderColor=`${w.accentColor}40`,F.style.boxShadow=`0 0 40px ${w.accentColor}15, 0 0 80px rgba(155,48,255,0.08)`,F.style.transform="translateY(-3px)"},onMouseLeave:N=>{const F=N.currentTarget;F.style.borderColor="rgba(0,229,204,0.12)",F.style.boxShadow="0 0 30px rgba(155,48,255,0.06)",F.style.transform="translateY(0)"},children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-px",style:{background:`linear-gradient(90deg, transparent, ${w.accentColor}60, transparent)`}}),e.jsx("div",{className:"w-14 h-14 flex items-center justify-center mb-6 rounded-[4px]",style:{background:`${w.accentColor}12`,border:`1px solid ${w.accentColor}35`,color:w.accentColor},children:w.icon}),e.jsx("div",{className:"mb-4",children:e.jsx("span",{className:"text-xs font-semibold uppercase tracking-[0.12em] px-3 py-1 rounded-[3px]",style:{color:w.accentColor,background:`${w.accentColor}10`,border:`1px solid ${w.accentColor}30`,fontFamily:"'Exo 2', sans-serif"},children:w.badge})}),e.jsx("h3",{className:"text-xl font-bold text-white mb-1",style:{fontFamily:"'Orb
28itron', sans-serif",letterSpacing:"0.05em"},children:w.name}),e.jsx("p",{className:"text-sm font-semibold mb-4",style:{color:w.accentColor,fontFamily:"'Exo 2', sans-serif",fontStyle:"italic"},children:w.sub}),e.jsx("p",{className:"text-sm leading-relaxed mb-8 flex-grow",style:{color:"rgba(176,200,208,0.7)"},children:w.desc}),e.jsx($,{href:w.link,children:e.jsxs(oe,{variant:"ghost",className:"w-full justify-between",children:[s.common.learnMore," ",e.jsx(Qe,{className:"w-4 h-4 transition-transform group-hover:translate-x-1"})]})})]})},w.id))})]})]}),e.jsx("div",{className:"separator-gradient mx-8"}),e.jsxs("section",{className:"py-24 relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse 80% 60% at 50% 50%, rgba(155,48,255,0.06) 0%, transparent 70%)"}}),e.jsx("div",{className:"container mx-auto px-4 md:px-8 max-w-6xl relative z-10",children:e.jsx(T,{children:e.jsx(RN,{})})})]}),e.jsx("div",{className:"separator-gradient mx-8"}),e.jsxs("section",{className:"py-28 relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:`
29            radial-gradient(ellipse at 10% 30%, rgba(0,229,204,0.07) 0%, transparent 50%),
30            radial-gradient(ellipse at 90% 70%, rgba(155,48,255,0.09) 0%, transparent 50%),
31            radial-gradient(ellipse at 50% 0%, rgba(0,170,255,0.05) 0%, transparent 45%)
32          `}}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:[e.jsxs(T,{className:"text-center max-w-4xl mx-auto mb-20",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 mb-6 uppercase",style:{background:"rgba(0,170,255,0.08)",border:"1px solid rgba(0,170,255,0.35)",color:"#00AAFF",borderRadius:"4px",padding:"6px 18px",fontFamily:"'Share Tech Mono', monospace",fontSize:"10px",fontWeight:700,letterSpacing:"0.2em",boxShadow:"0 0 20px rgba(0,170,255,0.12)"},children:[e.jsx(Rd,{className:"w-3.5 h-3.5"}),s.home.orchTag]}),e.jsxs("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-6 leading-tight",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.04em"},children:[s.home.orchTitle1," ",e.jsx("span",{style:{background:"linear-gradient(135deg, #00AAFF, #00E5CC)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:s.home.orchTitle2})]}),e.jsx("p",{className:"text-lg leading-relaxed",style:{color:"rgba(176,200,208,0.82)",fontFamily:"'Exo 2', sans-serif"},children:s.home.orchSub})]}),e.jsx(T,{className:"mb-6",children:e.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[e.jsx("div",{className:"h-px flex-1",style:{background:"linear-gradient(90deg, transparent, rgba(0,229,204,0.3))"}}),e.jsx("span",{className:"text-xs font-bold tracking-[0.22em] uppercase",style:{color:"#00E5CC",fontFamily:"'Share Tech Mono', monospace"},children:s.home.orchWhatTag}),e.jsx("div",{className:"h-px flex-1",style:{background:"linear-gradient(90deg, rgba(0,229,204,0.3), transparent)"}})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-24",children:[{icon:e.jsx(It,{className:"w-5 h-5"}),color:"#00E5CC",text:s.home.orchCap1},{icon:e.jsx(Za,{className:"w-5 h-5"}),color:"#00AAFF",text:s.home.orchCap2},{icon:e.jsx(Kg,{className:"w-5 h-5"}),color:"#9B30FF",text:s.home.orchCap3},{icon:e.jsx(Yl,{className:"w-5 h-5"}),color:"#CC44DD",text:s.home.orchCap4},{icon:e.jsx(Lr,{className:"w-5 h-5"}),color:"#00AAFF",text:s.home.orchCap5},{icon:e.jsx(la,{className:"w-5 h-5"}),color:"#00E5CC",text:s.home.orchCap6}].map((w,O)=>e.jsx(T,{delay:O*.07,children:e.jsxs("div",{className:"flex items-start gap-4 p-5 h-full transition-all duration-300",style:{background:"rgba(13,15,20,0.85)",border:`1px solid ${w.color}20`,borderRadius:"8px",borderLeft:`3px solid ${w.color}`},onMouseEnter:N=>{const F=N.currentTarget;F.style.background="rgba(20,22,30,0.95)",F.style.boxShadow=`0 0 24px ${w.color}12`,F.style.transform="translateY(-2px)"},onMouseLeave:N=>{const F=N.currentTarget;F.style.background="rgba(13,15,20,0.85)",F.style.boxShadow="none",F.style.transform="translateY(0)"},children:[e.jsx("div",{className:"flex-shrink-0 w-9 h-9 flex items-center justify-center rounded-[4px]",style:{background:`${w.color}12`,border:`1px solid ${w.color}30`,color:w.color},children:w.icon}),e.jsx("p",{className:"text-sm leading-relaxed pt-1",style:{color:"rgba(176,200,208,0.82)",fontFamily:"'Exo 2', sans-serif"},children:w.text})]})},O))}),e.jsxs(T,{className:"mb-24",children:[e.jsx("div",{className:"text-center mb-10",children:e.jsx("span",{className:"text-xs font-bold tracking-[0.22em] uppercase",style:{color:"#9B30FF",fontFamily:"'Share Tech Mono', monospace"},children:s.home.orchFlowTag})}),e.jsxs("div",{className:"relative p-8 rounded-[12px] overflow-hidden",style:{background:"rgba(8,10,15,0.9)",border:"1px solid rgba(155,48,255,0.18)",boxShadow:"0 0 60px rgba(155,48,255,0.06)"},children:[e.jsx("div",{className:"absolute top-0 left-0 w-16 h-16 pointer-events-none",style:{borderTop:"2px solid rgba(0,229,204,0.4)",borderLeft:"2px s
32olid rgba(0,229,204,0.4)",borderRadius:"12px 0 0 0"}}),e.jsx("div",{className:"absolute bottom-0 right-0 w-16 h-16 pointer-events-none",style:{borderBottom:"2px solid rgba(155,48,255,0.4)",borderRight:"2px solid rgba(155,48,255,0.4)",borderRadius:"0 0 12px 0"}}),e.jsx("div",{className:"hidden md:flex items-center justify-between gap-2",children:[{icon:e.jsx(It,{className:"w-7 h-7"}),label:s.home.orchNode1label,desc:s.home.orchNode1desc,color:"#00E5CC",num:"01"},{icon:e.jsx(Rd,{className:"w-7 h-7"}),label:s.home.orchNode2label,desc:s.home.orchNode2desc,color:"#9B30FF",num:"02"},{icon:e.jsx(It,{className:"w-7 h-7"}),label:s.home.orchNode3label,desc:s.home.orchNode3desc,color:"#00AAFF",num:"03"},{icon:e.jsx(Lr,{className:"w-7 h-7"}),label:s.home.orchNode4label,desc:s.home.orchNode4desc,color:"#CC44DD",num:"04"},{icon:e.jsx(Ul,{className:"w-7 h-7"}),label:s.home.orchNode5label,desc:s.home.orchNode5desc,color:"#00E5CC",num:"05"}].map((w,O,N)=>e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[e.jsxs(Pe.div,{initial:{opacity:0,scale:.8},whileInView:{opacity:1,scale:1},viewport:{once:!0},transition:{delay:O*.15,duration:.5},className:"flex-1 flex flex-col items-center text-center p-5 rounded-[8px] relative",style:{background:`linear-gradient(135deg, ${w.color}08 0%, rgba(8,10,15,0.9) 100%)`,border:`1px solid ${w.color}35`,minWidth:0},children:[e.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 px-2 py-0.5 rounded-full text-[9px] font-bold tracking-wider",style:{background:w.color,color:"#080A0F",fontFamily:"'Share Tech Mono', monospace"},children:w.num}),e.jsx("div",{className:"w-14 h-14 flex items-center justify-center rounded-full mb-3 mt-2",style:{background:`${w.color}15`,border:`2px solid ${w.color}40`,color:w.color,boxShadow:`0 0 20px ${w.color}20`},children:w.icon}),e.jsx("div",{className:"text-[10px] font-black tracking-[0.15em] uppercase mb-1",style:{color:w.color,fontFamily:"'Orbitron', sans-serif"},children:w.label}),e.jsx("div",{className:"text-[11px] leading-snug",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:w.desc})]}),O<N.length-1&&e.jsxs(Pe.div,{initial:{opacity:0,scaleX:0},whileInView:{opacity:1,scaleX:1},viewport:{once:!0},transition:{delay:O*.15+.3,duration:.4},className:"flex-shrink-0 flex flex-col items-center gap-1",style:{transformOrigin:"left"},children:[e.jsx("div",{className:"w-6 h-px",style:{background:`linear-gradient(90deg, ${w.color}60, ${N[O+1].color}60)`}}),e.jsx(Za,{className:"w-4 h-4 -mt-2.5",style:{color:w.color,opacity:.6}})]})]},O))}),e.jsx("div",{className:"flex md:hidden flex-col items-center gap-0",children:[{icon:e.jsx(It,{className:"w-6 h-6"}),label:s.home.orchNode1label,desc:s.home.orchNode1desc,color:"#00E5CC",num:"01"},{icon:e.jsx(Rd,{className:"w-6 h-6"}),label:s.home.orchNode2label,desc:s.home.orchNode2desc,color:"#9B30FF",num:"02"},{icon:e.jsx(It,{className:"w-6 h-6"}),label:s.home.orchNode3label,desc:s.home.orchNode3desc,color:"#00AAFF",num:"03"},{icon:e.jsx(Lr,{className:"w-6 h-6"}),label:s.home.orchNode4label,desc:s.home.orchNode4desc,color:"#CC44DD",num:"04"},{icon:e.jsx(Ul,{className:"w-6 h-6"}),label:s.home.orchNode5label,desc:s.home.orchNode5desc,color:"#00E5CC",num:"05"}].map((w,O,N)=>e.jsxs("div",{className:"w-full flex flex-col items-center",children:[e.jsxs("div",{className:"w-full flex items-center gap-4 p-4 rounded-[8px]",style:{background:`${w.color}08`,border:`1px solid ${w.color}30`},children:[e.jsx("div",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center rounded-full",style:{background:`${w.color}15`,border:`1px solid ${w.color}40`,color:w.color},children:w.icon}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-[10px] font-black tracking-widest uppercase mb-0.5",style:{color:w.color,fontFamily:"'Orbitron', sans-serif"},children:[e.jsx("span",{className:"opacity-50 mr-1",children:w.num}),w.label]}),e.jsx("div",{className:"text-xs",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:w.desc})]})]}),O<N.length-1&&e.jsx(_y,{className:"w-5 h-5 my-1",style:{color:`${w.color}60`}})]},O))})]})]}),e.jsx(T,{className:"mb-24",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 items-stretch",children:[e.jsxs("div",{className:"p-8 rounded-[8px]",style:{background:"rgba(0,229,204,0.04)",border:"1px solid rgba(0,229,204,0.14)"},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[e.jsx("div",{className:"w-8 h-8 flex items-center justify-center rounded-[4px]",style:{background:"rgba(0,229,204,0.1)",border:"1px solid rgba(0,229,204,0.3)",color:"#00E5CC"},children:e.jsx(He,{className:"w-4 h-4"})}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-[0.15em]",style:{color:"#00E5CC",fontFamily:"'Orb
32itron', sans-serif"},children:s.home.orchUserTag})]}),e.jsx("h4",{className:"text-xl font-bold text-white mb-4",style:{fontFamily:"'Exo 2', sans-serif",lineHeight:1.3},children:s.home.orchUserTitle}),e.jsx("p",{className:"text-sm leading-relaxed mb-4",style:{color:"rgba(176,200,208,0.75)",fontFamily:"'Exo 2', sans-serif"},children:s.home.orchUserP1}),e.jsx("p",{className:"text-sm leading-relaxed",style:{color:"rgba(176,200,208,0.75)",fontFamily:"'Exo 2', sans-serif"},children:s.home.orchUserP2})]}),e.jsxs("div",{className:"p-8 rounded-[8px]",style:{background:"rgba(155,48,255,0.04)",border:"1px solid rgba(155,48,255,0.14)"},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[e.jsx("div",{className:"w-8 h-8 flex items-center justify-center rounded-[4px]",style:{background:"rgba(155,48,255,0.1)",border:"1px solid rgba(155,48,255,0.3)",color:"#9B30FF"},children:e.jsx(Ca,{className:"w-4 h-4"})}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-[0.15em]",style:{color:"#9B30FF",fontFamily:"'Orbitron', sans-serif"},children:s.home.orchStrategicTag})]}),e.jsx("h4",{className:"text-xl font-bold text-white mb-4",style:{fontFamily:"'Exo 2', sans-serif",lineHeight:1.3},children:s.home.orchStrategicTitle}),e.jsx("p",{className:"text-sm leading-relaxed",style:{color:"rgba(176,200,208,0.75)",fontFamily:"'Exo 2', sans-serif"},children:s.home.orchStrategicP})]})]})}),e.jsx(T,{className:"mb-6",children:e.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[e.jsx("div",{className:"h-px flex-1",style:{background:"linear-gradient(90deg, transparent, rgba(0,170,255,0.3))"}}),e.jsx("span",{className:"text-xs font-bold tracking-[0.22em] uppercase",style:{color:"#00AAFF",fontFamily:"'Share Tech Mono', monospace"},children:s.home.orchAppsTag}),e.jsx("div",{className:"h-px flex-1",style:{background:"linear-gradient(90deg, rgba(0,170,255,0.3), transparent)"}})]})}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-24",children:[{icon:e.jsx(Kg,{className:"w-5 h-5"}),text:s.home.orchApp1,color:"#00AAFF"},{icon:e.jsx(nt,{className:"w-5 h-5"}),text:s.home.orchApp2,color:"#00E5CC"},{icon:e.jsx(Yl,{className:"w-5 h-5"}),text:s.home.orchApp3,color:"#9B30FF"},{icon:e.jsx(Ul,{className:"w-5 h-5"}),text:s.home.orchApp4,color:"#CC44DD"},{icon:e.jsx(Lr,{className:"w-5 h-5"}),text:s.home.orchApp5,color:"#00AAFF"},{icon:e.jsx(Ca,{className:"w-5 h-5"}),text:s.home.orchApp6,color:"#00E5CC"}].map((w,O)=>e.jsx(T,{delay:O*.07,children:e.jsxs("div",{className:"flex items-center gap-4 p-5 rounded-[8px] h-full transition-all duration-300",style:{background:"rgba(13,15,20,0.8)",border:`1px solid ${w.color}18`},onMouseEnter:N=>{const F=N.currentTarget;F.style.background="rgba(20,22,30,0.95)",F.style.borderColor=`${w.color}40`,F.style.boxShadow=`0 0 20px ${w.color}10`,F.style.transform="translateY(-2px)"},onMouseLeave:N=>{const F=N.currentTarget;F.style.background="rgba(13,15,20,0.8)",F.style.borderColor=`${w.color}18`,F.style.boxShadow="none",F.style.transform="translateY(0)"},children:[e.jsx("div",{className:"flex-shrink-0 w-10 h-10 flex items-center justify-center rounded-full",style:{background:`${w.color}10`,border:`1px solid ${w.color}35`,color:w.color},children:w.icon}),e.jsx("p",{className:"text-sm leading-snug",style:{color:"rgba(176,200,208,0.8)",fontFamily:"'Exo 2', sans-serif"},children:w.text})]})},O))}),e.jsx(T,{className:"mb-8",children:e.jsxs("div",{className:"rounded-[10px] overflow-hidden",style:{background:"rgba(8,10,15,0.95)",border:"1px solid rgba(0,229,204,0.15)"},children:[e.jsxs("div",{className:"flex items-center gap-3 px-6 py-4",style:{background:"rgba(0,229,204,0.05)",borderBottom:"1px solid rgba(0,229,204,0.1)"},children:[e.jsx(Ky,{className:"w-4 h-4",style:{color:"#00E5CC"}}),e.jsx("span",{className:"text-xs font-bold tracking-[0.2em] uppercase",style:{color:"#00E5CC",fontFamily:"'Share Tech Mono', monospace"},children:s.home.orchDevTag}),e.jsx("div",{className:"ml-auto flex gap-1.5",children:["#FF6B6B","#FFD93D","#6BCB77"].map((w,O)=>e.jsx("div",{className:"w-2.5 h-2.5 rounded-full",style:{background:w}},O))})]}),e.jsx("div",{className:"p-6 grid grid-cols-1 md:grid-cols-2 gap-3",children:[s.home.orchDev1,s.home.orchDev2,s.home.orchDev3,s.home.orchDev4,s.home.orchDev5,s.home.orchDev6].map((w,O)=>e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{style:{color:"#00E5CC",fontFamily:"'Share Tech Mono', monospace",fontSize:"12px",lineHeight:"1.6",flexShrink:0},children:`// ${String(O+1).padStart(2,"0")}`}),e.jsx("p",{className:"text-xs leading-relaxed",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Share Tech Mono', monospace",lineHeight:1.7},children:w})]},O))})]})})]})]}),e.jsx("div",{className:"separator-gradient mx-8"}),e.jsxs("section",{className:"py-28 relative overflow-hidden",style:{background:"rgba(13,15,20,0.5)"},children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:`
33              radial-gradient(ellipse at 0% 50%, rgba(0,102,136,0.15) 0%, transparent 55%),
34              radial-gradient(ellipse at 100% 50%, rgba(102,0,204,0.15) 0%, transparent 55%)
35            `}}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"tag-cyan mb-6 inline-block",children:s.common.coretech}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",style:{fontFamily:"'Orb
35itron', sans-serif",letterSpacing:"0.06em"},children:s.home.imusSectionTitle}),e.jsx("p",{className:"mb-8 max-w-2xl mx-auto",style:{color:"rgba(176,200,208,0.7)"},children:s.home.imusSectionSub}),e.jsxs("div",{className:"inline-flex items-center gap-4 px-6 py-3 rounded-[4px]",style:{background:"rgba(8,10,15,0.8)",border:"1px solid rgba(0,229,204,0.25)",boxShadow:"0 0 30px rgba(0,229,204,0.08)"},children:[e.jsx("span",{className:"text-lg font-black tracking-[0.2em]",style:{fontFamily:"'Orbitron', sans-serif",color:"#00E5CC"},children:i==="pt"?"IMUS":"UMSI"}),e.jsx("span",{className:"w-px h-5",style:{background:"rgba(0,229,204,0.3)"}}),e.jsx("span",{className:"text-sm",style:{color:"rgba(176,200,208,0.65)",fontFamily:"'Exo 2', sans-serif"},children:s.common.imusShort})]})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5",children:A.map((w,O)=>e.jsx(T,{delay:O*.1,children:e.jsxs("div",{className:"p-6 text-center group transition-all duration-300",style:{background:"rgba(8,10,15,0.6)",border:"1px solid rgba(0,229,204,0.12)",borderRadius:"8px"},onMouseEnter:N=>{const F=N.currentTarget;F.style.borderColor="rgba(0,229,204,0.35)",F.style.boxShadow="0 0 30px rgba(0,229,204,0.08)",F.style.transform="translateY(-2px)"},onMouseLeave:N=>{const F=N.currentTarget;F.style.borderColor="rgba(0,229,204,0.12)",F.style.boxShadow="none",F.style.transform="translateY(0)"},children:[e.jsx("div",{className:"w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-5",style:{background:"rgba(0,229,204,0.08)",border:"1px solid rgba(0,229,204,0.2)",color:"#00E5CC"},children:w.icon}),e.jsx("h4",{className:"font-bold text-lg mb-3 text-white",style:{fontFamily:"'Orbitron', sans-serif",fontSize:"14px",letterSpacing:"0.05em"},children:w.label}),e.jsx("p",{className:"text-sm leading-relaxed",style:{color:"rgba(176,200,208,0.65)"},children:w.desc})]})},O))}),e.jsx(T,{className:"mt-12",children:e.jsxs("div",{className:"max-w-4xl mx-auto p-8 text-center rounded-[6px] relative overflow-hidden",style:{background:"linear-gradient(135deg, rgba(0,229,204,0.06) 0%, rgba(155,48,255,0.06) 100%)",border:"1px solid rgba(0,229,204,0.18)"},children:[e.jsx("div",{className:"absolute inset-0 opacity-30",style:{background:"linear-gradient(90deg, transparent, rgba(0,229,204,0.05), rgba(155,48,255,0.05), transparent)"}}),e.jsx(Ca,{className:"w-7 h-7 mx-auto mb-4",style:{color:"#00E5CC"}}),e.jsxs("p",{className:"text-lg leading-relaxed italic",style:{color:"#B0C8D0",fontFamily:"'Exo 2', sans-serif"},children:['"',s.common.imusDesc,'"']})]})})]})]}),e.jsx("div",{className:"separator-gradient mx-8"}),e.jsx("section",{className:"py-28 relative",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-5",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.06em"},children:s.home.techCapTitle}),e.jsx("p",{className:"max-w-2xl mx-auto",style:{color:"rgba(176,200,208,0.7)"},children:s.home.techCapSub})]}),e.jsx("div",{className:"flex flex-wrap justify-center gap-3 mb-12",children:v.map((w,O)=>e.jsxs("button",{onClick:()=>o(O),className:"flex items-center gap-2 px-6 py-2.5 rounded-[4px] font-semibold uppercase tracking-[0.1em] text-xs transition-all duration-300",style:{fontFamily:"'Exo 2', sans-serif",background:l===O?"linear-gradient(135deg, #00E5CC, #9B30FF)":"rgba(13,15,20,0.8)",color:l===O?"#FFFFFF":"rgba(176,200,208,0.7)",border:l===O?"none":"1px solid rgba(0,229,204,0.18)",boxShadow:l===O?"0 0 20px rgba(0,229,204,0.3)":"none"},children:[w.icon,w.name]},O))}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-
355",children:k[l].map((w,O)=>e.jsxs(Pe.div,{initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.4,delay:O*.08},className:"p-6 transition-all duration-300",style:{background:"rgba(13,15,20,0.85)",border:"1px solid rgba(0,229,204,0.12)",borderRadius:"8px"},children:[e.jsx("div",{className:"w-10 h-10 flex items-center justify-center mb-4 rounded-[4px]",style:{background:"rgba(0,229,204,0.08)",border:"1px solid rgba(0,229,204,0.2)",color:"#00E5CC"},children:e.jsx($e,{className:"w-5 h-5"})}),e.jsx("h4",{className:"font-bold text-base mb-2 text-white",style:{fontFamily:"'Exo 2', sans-serif",letterSpacing:"0.03em"},children:w.title}),e.jsx("p",{className:"text-sm leading-relaxed",style:{color:"rgba(176,200,208,0.65)"},children:w.desc})]},`${l}-${O}`))})]})}),e.jsx("div",{className:"separator-gradient mx-8"}),e.jsx("section",{className:"py-28 relative overflow-hidden",style:{background:"rgba(13,15,20,0.4)"},children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:[e.jsxs(T,{className:"text-center max-w-4xl mx-auto mb-16",children:[e.jsx("div",{className:"tag-cyan mb-6 inline-block",children:s.common.theEcosystem}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-6",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.05em"},children:s.home.ecosystemTitle}),e.jsx("p",{className:"text-lg leading-relaxed",style:{color:"rgba(176,200,208,0.7)"},children:s.home.ecosystemSub})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"PERCEPTRUM CORPORATE",color:"#00E5CC",link:"/drakon",desc:s.home.drakonSub,sector:s.common.bothSectors},{name:"PERCEPTRUM PERSONAL",color:"#9B30FF",link:"/perceptrum",desc:s.home.perceptrumSub,sector:s.common.privateSector},{name:"F.A.S.T.-AI",color:"#00AAFF",link:"/fast-ai",desc:s.home.fastaiSub,sector:s.common.publicSector}].map((w,O)=>e.jsx(T,{delay:O*.15,children:e.jsx($,{href:w.link,children:e.jsxs("div",{className:"group relative overflow-hidden transition-all duration-300 cursor-pointer",style:{background:"rgba(8,10,15,0.8)",border:"1px solid rgba(255,255,255,0.06)",borderRadius:"8px"},onMouseEnter:N=>{const F=N.currentTarget;F.style.borderColor=`${w.color}40`,F.style.transform="translateY(-3px)",F.style.boxShadow=`0 0 30px ${w.color}12`},onMouseLeave:N=>{const F=N.currentTarget;F.style.borderColor="rgba(255,255,255,0.06)",F.style.transform="translateY(0)",F.style.boxShadow="none"},children:[e.jsx("div",{className:"h-px w-full",style:{background:`linear-gradient(90deg, transparent, ${w.color}, transparent)`}}),e.jsxs("div",{className:"p-8",children:[e.jsx("h3",{className:"text-xl font-black text-white mb-2 tracking-wide",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.08em"},children:w.name}),e.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.12em] mb-4",style:{color:w.color,fontFamily:"'Exo 2', sans-serif"},children:w.sector}),e.jsx("p",{className:"text-sm mb-6 leading-relaxed",style:{color:"rgba(176,200,208,0.65)"},children:w.desc}),e.jsxs("span",{className:"text-sm font-semibold flex items-center gap-2 transition-all duration-300 uppercase tracking-[0.1em]",style:{color:w.color,fontFamily:"'Exo 2', sans-serif"},children:[s.common.learnMore,e.jsx(Qe,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]})]})})},O))})]})}),e.jsxs("section",{className:"py-28 relative overflow-hidden",children:[e.jsx(Yf,{variant:"center-fade",nodeCount:40,opacity:.3}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:`
36              radial-gradient(ellipse at 50% 50%, rgba(0,229,204,0.08) 0%, transparent 60%),
37              rgba(8,10,15,0.7)
38            `}}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6",style:{fontFamily:"'Orbitron', sans-serif",letterSpacing:"0.05em"},children:s.home.ctaTitle}),e.jsx("p",{className:"text-lg mb-10 max-w-2xl mx-auto leading-relaxed",style:{color:"rgba(176,200,208,0.8)"},children:s.home.ctaSub}),e.jsx($,{href:"/contact",children:e.jsxs(oe,{size:"lg",className:"animate-glow",children:[s.common.contactUs," ",e.jsx(Qe,{className:"w-4 h-4 ml-2"})]})})]})})]})]})}function ab(){const{t:s}=_e(),i=s.drakon,l=[{title:i.step1title,sub:i.step1sub,desc:i.step1desc,bullets:[i.step1b1,i.step1b2,i.step1b3,i.step1b4],img:"/images/app-dashboard.png",imgLabel:"Perceptrum Corporate main dashboard",img2:"/images/app-jobs.png",img2Label:"Scheduled task creation"},{title:i.step2title,sub:i.step2sub,desc:i.step2desc,bullets:[i.step2b1,i.step2b2,i.step2b3,i.step2b4],img:"/images/app-jobs.png",imgLabel:"Scheduled task creation"},{title:i.step3title,sub:i.step3sub,desc:i.step3desc,bullets:[i.step3b1,i.step3b2,i.step3b3,i.step3b4],img:"/images/app-step.png",imgLabel:"Step configuration with cameras and targets",img2:"/images/app-prompt-editor.png",img2Label:"Prompt editor with integrated AI"},{title:i.step4title,sub:i.step4sub,desc:i.step4desc,bullets:[i.step4b1,i.step4b2,i.step4b3,i.step4b4],img:"/images/app-prompt-editor.png",imgLabel:"Prompt editor with integrated AI"}],o=[{icon:e.jsx(Wy,{}),title:i.engine1title,desc:i.engine1desc},{icon:e.jsx(ki,{}
38),title:i.engine2title,desc:i.engine2desc},{icon:e.jsx(qa,{}),title:i.engine3title,desc:i.engine3desc},{icon:e.jsx(ou,{}),title:i.engine4title,desc:i.engine4desc},{icon:e.jsx(nt,{}),title:i.engine5title,desc:i.engine5desc}],u=[{icon:e.jsx(ki,{}),title:i.cap1title,desc:i.cap1desc},{icon:e.jsx(Qy,{}),title:i.cap2title,desc:i.cap2desc},{icon:e.jsx(Kr,{}),title:i.cap3title,desc:i.cap3desc},{icon:e.jsx(ou,{}),title:i.cap4title,desc:i.cap4desc},{icon:e.jsx(la,{}),title:i.cap5title,desc:i.cap5desc},{icon:e.jsx(Yr,{}),title:i.cap6title,desc:i.cap6desc}],p=i.engineCovLevels||["Streets","Neighborhoods","Cities","States","Network","National"],f=[{title:i.eco1title,sub:"Intelligent surveillance",desc:i.eco1desc,color:"#00E5CC"},{title:i.eco2title,sub:i.eco2sub,desc:i.eco2desc,color:"#9B30FF"},{title:i.eco3title,sub:i.eco3sub,desc:i.eco3desc,color:"#00AAFF"},{title:i.eco4title,sub:i.eco4sub,desc:i.eco4desc,color:"#CC44DD"}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsx(ha,{title:"Perceptrum Corporate — AI Video Intelligence for Public Safety",description:"Perceptrum Corporate is an AI video intelligence platform for law enforcement and public safety. Real-time behavioral detection, predictive alerts, and autonomous monitoring.",canonical:"https://aiquimist.ai/perceptrum-corporate",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Perceptrum Corporate",applicationCategory:"SecurityApplication",operatingSystem:"Cloud, On-Premise",url:"https://aiquimist.ai/perceptrum-corporate",description:"AI video intelligence platform for public safety and law enforcement.",offers:{"@type":"Offer",availability:"https://schema.org/InStock"}}}),e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"City Night",className:"w-full h-full object-cover opacity-30"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/80 via-[#080A0F]/60 to-[#080A0F]"})]}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:[e.jsxs(T,{children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("img",{src:"/images/logo-perceptrum-corporate.png",alt:"Perceptrum Corporate",className:"h-24 md:h-32 w-auto object-contain",style:{filter:"drop-shadow(0 0 28px rgba(0,229,204,0.30))"}})}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx(Kr,{className:"w-4 h-4"})," ",i.tag]}),e.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-8xl font-black text-white mb-6 leading-tight max-w-5xl mx-auto",children:[i.heroTitle,e.jsx("br",{}),e.jsx("span",{className:"text-gradient",children:i.heroTitle2})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-16",children:[e.jsx(oe,{size:"lg",onClick:()=>document.getElementById("solution")?.scrollIntoView({behavior:"smooth"}),children:i.seeSolution}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("how-it-works")?.scrollIntoView({behavior:"smooth"}),children:s.common.howItWorks}),e.jsx($,{href:"/vigilancia-integrada",children:e.jsx(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",border:"1px solid rgba(155,48,255,0.5)",boxShadow:"0 0 24px rgba(155,48,255,0.35)",color:"#fff",whiteSpace:"nowrap"},children:i.integratedSurveillance})})]})]}),e.jsx(T,{delay:.2,children:e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 max-w-5xl mx-auto",children:[i.stat1,i.stat2,i.stat3,i.stat4].map((m,h)=>e.jsx("div",{className:"bg-[rgba(13,15,20,0.85)] backdrop-blur border border-[rgba(0,229,204,0.18)] rounded-xl p-4 flex items-center justify-center text-center font-bold text-sm md:text-base text-[#B0C8D0]",children:m},h))})})]})]}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.problemTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-8",children:i.problemTitle}),e.jsx("ul",{className:"space-y-6 mb-10",children:[i.problem1,i.problem2,i.problem3,i.problem4].map((m,h)=>e.jsxs("li",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"mt-1 w-6 h-6 rounded-full bg-red-500/20 text-red-400 flex items-center justify-center shrink-0",children:e.jsx($e,{className:"w-3 h-3"})}),e.jsx("span",{className:"text-xl text-[#B0C8D0]/85",children:m})]},h))}),e.jsx("div",{className:"bg-[#0D0F14] border border-red-500/30 p-6 rounded-2xl",children:e.jsx("p",{className:"text-xl font-bold text-red-400",children:i.problemStat})})]}),e.jsx(T,{delay:.2,className:"relative",children:e.jsxs("div",{className:"rounded-2xl overflow-hidden shadow-[0_0_50px_rgba(0,229,204,0.15)] border border-[rgba(0,229,204,0.18)] relative aspect-square",children:[e.jsx("img",{src:"/images/camera_closeup.jpg",alt:"Old surveillance model",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-[#080A0F] to-transparent"})]})})]})})}),e.jsx("section",{id:"solution",className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.solutionTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-8",children:i.solutionTitle})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-12 items-center mb-16",children:[e.jsx(T,{className:"lg:col-span-7",children:e.jsx("div",{className:"space-y-6",children:[{title:i.sol1title,desc:i.sol1desc}
38,{title:i.sol2title,desc:i.sol2desc},{title:i.sol3title,desc:i.sol3desc}].map((m,h)=>e.jsxs("div",{className:"bg-[#080A0F] p-6 rounded-2xl border border-[rgba(0,229,204,0.18)] hover-glow",children:[e.jsx("h3",{className:"text-2xl font-bold text-white mb-2",children:m.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg",children:m.desc})]},h))})}),e.jsx(T,{delay:.2,className:"lg:col-span-5",children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-xl relative h-[400px]",children:e.jsx("img",{src:"/images/ai_network.jpg",alt:"AI Network",className:"w-full h-full object-cover"})})})]}),e.jsx(T,{delay:.3,children:e.jsx("div",{className:"bg-gradient-to-r from-[#9B30FF]/20 to-[#9B30FF]/20 border border-[#00E5CC]/30 p-8 rounded-2xl text-center",children:e.jsxs("p",{className:"text-xl font-bold text-white leading-relaxed",children:[e.jsxs("span",{className:"text-[#00E5CC]",children:[i.solQuote.split(".")[0],"."]})," ",i.solQuote.split(".").slice(1).join(".")]})})}),e.jsx(T,{delay:.4,children:e.jsxs("div",{className:"mt-10 flex flex-col items-center gap-3 bg-[#080A0F] border border-[rgba(0,229,204,0.25)] rounded-2xl p-8 text-center",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-1",children:s.common.coretech}),e.jsx("h3",{className:"text-2xl md:text-3xl font-black text-white tracking-tight",children:s.common.imus}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg max-w-2xl",children:i.imusCallout})]})})]})}),e.jsx("section",{id:"how-it-works",className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-20",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.howTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.howTitle})]}),e.jsx("div",{className:"space-y-32",children:l.map((m,h)=>{const b=e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] flex items-center justify-center text-xl font-bold border border-[#00E5CC]/30 shrink-0",children:String(h+1).padStart(2,"0")}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:m.title})]}),e.jsx("p",{className:"text-2xl text-[#B0C8D0]/85 font-medium mb-6",children:m.sub}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg mb-8",children:m.desc}),e.jsx("ul",{className:"space-y-3",children:m.bullets.map((v,k)=>e.jsxs("li",{className:"flex items-center gap-3 text-[#B0C8D0]/85",children:[e.jsx(Xe,{className:"text-[#00E5CC] w-5 h-5 shrink-0"})," ",v]},k))})]}),g=e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl relative",children:[e.jsx("img",{src:m.img,alt:m.title,className:"w-full h-auto"}),m.imgLabel&&e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-[#080A0F]/85 to-transparent px-4 py-3",children:e.jsx("span",{className:"text-xs text-[#B0C8D0]/60 font-mono",children:m.imgLabel})})]}),m.img2&&e.jsxs("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.12)] shadow-xl relative",children:[e.jsx("img",{src:m.img2,alt:m.img2Label||m.title,className:"w-full h-auto"}),m.img2Label&&e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-[#080A0F]/85 to-transparent px-4 py-3",children:e.jsx("span",{className:"text-xs text-[#B0C8D0]/60 font-mono",children:m.img2Label})})]})]});return e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-start",children:[e.jsx(T,{className:h%2===0?"order-2 lg:order-1":"order-1 lg:order-1",children:h%2===0?b:g}),e.jsx(T,{delay:.2,className:h%2===0?"order-1 lg:order-2":"order-2 lg:order-2",children:h%2===0?g:b})]},h)})})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-t border-b border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-3",children:i.engineTag}),e.jsxs("p",{className:"text-lg text-[#00E5CC] font-semibold mb-2",children:[i.engineTag," · Perceptrum Corporate"]}),e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white",children:i.engineTitle})]}),e.jsx(T,{className:"mb-16",children:e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.25)] shadow-[0_0_60px_rgba(0,229,204,0.12)] max-w-4xl mx-auto relative",children:[e.jsx("img",{src:"/images/context-engine-video.png",alt:"AI continuous video processing",className:"w-full h-auto"}),e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-[#080A0F]/90 to-transparent p-6 flex flex-wrap gap-3",children:[s.common.contextEngineLabel1,s.common.contextEngineLabel2,s.common.contextEngineLabel3].map((m,h)=>e.jsx("span",{className:"px-3 py-1 bg-[#00E5CC]/10 border border-[#00E5CC]/40 text-[#00E5CC] text-sm font-bold rounded-full",children:m},h))})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-16",children:o.map((m,h)=>
38e.jsx(T,{delay:h*.1,children:e.jsxs("div",{className:"bg-[#080A0F] p-8 rounded-2xl border border-[rgba(0,229,204,0.18)] h-full hover-glow",children:[e.jsx("div",{className:"text-[#00E5CC] mb-6 w-12 h-12 flex items-center justify-center bg-[#9B30FF]/20 rounded-xl border border-[#00E5CC]/20",children:m.icon}),e.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:m.title}),e.jsx("p",{className:"text-[#B0C8D0]/70",children:m.desc})]})},h))}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-start mb-12",children:[e.jsx(T,{children:e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.25)] shadow-xl relative",children:[e.jsx("img",{src:"/images/context-engine-coverage.png",alt:"Coverage network map",className:"w-full h-auto"}),e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-[#080A0F]/85 to-transparent p-5",children:e.jsx("span",{className:"text-[#00E5CC] text-sm font-bold tracking-wider",children:i.engineCovBadge})})]})}),e.jsxs(T,{delay:.2,children:[e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.engineCovTitle}),e.jsxs("div",{className:"space-y-5 text-[#B0C8D0]/80 text-lg leading-relaxed",children:[e.jsx("p",{children:i.engineCovP1}),e.jsx("p",{children:i.engineCovP2}),e.jsx("p",{children:i.engineCovP3})]})]})]}),e.jsx(T,{children:e.jsx("div",{className:"flex flex-wrap justify-center gap-3 mb-8",children:p.map((m,h)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"px-5 py-2 bg-[#080A0F] border border-[rgba(0,229,204,0.4)] text-[#00E5CC] font-bold text-lg rounded-full tracking-wide",children:m}),h<p.length-1&&e.jsx("span",{className:"text-[#9B30FF] font-bold text-xl",children:"→"})]},h))})})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(T,{className:"text-center mb-16",children:e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.capTitle})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:u.map((m,h)=>e.jsx(T,{delay:h*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] p-8 rounded-2xl border border-[rgba(0,229,204,0.18)] hover-glow h-full",children:[e.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-[#9B30FF] to-[#9B30FF] flex items-center justify-center text-white mb-6 shadow-lg",children:m.icon}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-4",children:m.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg",children:m.desc})]})},h))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.findTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-10",children:i.findTitle}),e.jsx("div",{className:"flex flex-wrap justify-center gap-4 mb-12",children:[i.findTab1,i.findTab2,i.findTab3,i.findTab4].map((m,h)=>e.jsx("span",{className:"px-6 py-2 bg-[#080A0F] border border-[rgba(0,229,204,0.3)] text-[#00E5CC] font-bold rounded-full text-lg",children:m},h))})]}),e.jsx(T,{className:"mb-16",children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl max-w-5xl mx-auto",children:e.jsx("img",{src:"/images/drakon-find-city-coverage.png",alt:"City Coverage",className:"w-full h-auto"})})}),e.jsx(T,{className:"text-center mb-16",children:e.jsx("h3",{className:"text-3xl font-bold text-white",children:e.jsx("span",{className:"text-gradient",children:i.findQuote})})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center mb-24",children:[e.jsx(T,{children:e.jsx("div",{className:"space-y-6",children:[i.findStep1,i.findStep2,i.findStep3,i.findStep4,i.findStep5].map((m,h)=>e.jsxs("div",{className:"flex gap-4",children:[e.jsx("div",{className:"w-10 h-10 shrink-0 rounded-full bg-[#9B30FF] text-white flex items-center justify-center font-bold text-lg shadow-lg",children:h+1}),e.jsx("p",{className:"text-xl text-[#B0C8D0] pt-1.5",children:m})]},h))})}),e.jsx(T,{delay:.2,children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:"/images/drakon-find-screen.jpg",alt:"Perceptrum Find Screen",className:"w-full h-auto"})})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center mb-24",children:[e.jsx(T,{delay:.2,className:"order-2 lg:order-1",children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:"/images/drakon-find-vehicle-track.png",alt:"
38Vehicle tracking",className:"w-full h-auto"})})}),e.jsxs(T,{className:"order-1 lg:order-2",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-3",children:i.corpPlatTag}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.corpPlatTitle}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/80 leading-relaxed",children:i.corpPlatDesc})]})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center mb-24",children:[e.jsxs(T,{className:"order-1",children:[e.jsx("div",{className:"text-xs font-bold text-[#9B30FF] uppercase tracking-widest mb-3",children:i.targetRegTag}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.targetRegTitle}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/80 leading-relaxed",children:i.targetRegDesc})]}),e.jsx(T,{delay:.2,className:"order-2",children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:"/images/drakon-find-person-track.png",alt:"Target registration",className:"w-full h-auto"})})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center mb-24",children:[e.jsx(T,{delay:.2,className:"order-2 lg:order-1",children:e.jsx("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:"/images/drakon-find-screen2.jpg",alt:"Geofence selection",className:"w-full h-auto"})})}),e.jsxs(T,{className:"order-1 lg:order-2",children:[e.jsx("div",{className:"text-xs font-bold text-[#00AAFF] uppercase tracking-widest mb-3",children:i.geoSelectTag}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.geoSelectTitle}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/80 leading-relaxed mb-8",children:i.geoSelectDesc}),e.jsx("div",{className:"flex flex-wrap gap-3",children:[i.geoSelectBadge1,i.geoSelectBadge2,i.geoSelectBadge3].map((m,h)=>e.jsx("span",{className:"px-4 py-2 bg-[#00AAFF]/10 border border-[#00AAFF]/40 text-[#00AAFF] font-bold text-sm rounded-full",children:m},h))})]})]}),e.jsx(T,{className:"mb-16",children:e.jsxs("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.25)] rounded-3xl p-10 md:p-14",children:[e.jsx("div",{className:"text-xs font-bold text-[#CC44DD] uppercase tracking-widest mb-4",children:i.privDesignTag}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.privDesignTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 mb-10 leading-relaxed",children:i.privDesignDesc}),e.jsxs("div",{className:"mb-8",children:[e.jsx("p",{className:"text-lg font-bold text-[#00E5CC] mb-6",children:i.privDesignSub}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[i.priv1,i.priv2,i.priv3,i.priv4].map((m,h)=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx($e,{className:"text-[#00E5CC] w-6 h-6 shrink-0"}),e.jsx("span",{className:"text-lg text-[#B0C8D0]",children:m})]},h))})]})]})}),e.jsx(T,{className:"mb-16",children:e.jsxs("div",{className:"bg-gradient-to-br from-[#9B30FF]/10 to-[#080A0F] border border-[#9B30FF]/30 rounded-3xl p-10 md:p-14",children:[e.jsx("div",{className:"text-xs font-bold text-[#9B30FF] uppercase tracking-widest mb-4",children:i.realTimeTag}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-6",children:i.realTimeTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 mb-10 leading-relaxed",children:i.realTimeDesc}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-8",children:[i.realTimeLabel1,i.realTimeLabel2,i.realTimeLabel3].map((m,h)=>e.jsxs("div",{className:"flex items-center gap-3 bg-[#080A0F] border border-[rgba(0,229,204,0.18)] rounded-xl p-4",children:[e.jsx(qt,{className:"text-[#9B30FF] w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-[#B0C8D0] font-semibold",children:m})]},h))}),e.jsx("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.15)]",children:e.jsx("img",{src:"/images/drakon-find-screen.jpg",alt:"Perceptrum Find live results",className:"w-full h-auto opacity-90"})})]})}),e.jsxs(T,{children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-4",children:i.valuePropTitle}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 max-w-3xl mx-auto",children:i.valuePropSub})]}),e.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:[i.valueProp1,i.valueProp2,i.valueProp3,i.valueProp4,i.valueProp5].map((m,h)=>e.jsxs("div",{className:"flex items-center gap-3 bg-[#080A0F] border border-[rgba(0,229,204,0.3)] rounded-full px-6 py-3",children:[e.jsx(Xe,{className:"text-[#00E5CC] w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-[#B0C8D0] font-semibold",children:m})]},h))})]})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(T,{children:e.jsxs("div",{className:"bg-gradient-to-br from-[#0D0F14] to-[#080A0F] p-10 md:p-14 roun
38ded-3xl border border-[rgba(0,229,204,0.3)] shadow-2xl relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 right-0 p-8 opacity-10",children:e.jsx($e,{className:"w-48 h-48 text-[#00E5CC]"})}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-10",children:i.lgpdTitle}),e.jsx("ul",{className:"space-y-6",children:[i.lgpd1,i.lgpd2,i.lgpd3,i.lgpd4,i.lgpd5].map((m,h)=>e.jsxs("li",{className:"flex items-center gap-4 text-xl text-[#B0C8D0]",children:[e.jsx("div",{className:"bg-[#9B30FF]/30 rounded-full p-1 border border-[#00E5CC]/30 shrink-0",children:e.jsx(Xe,{className:"text-[#00E5CC] w-6 h-6"})}),m]},h))})]})]})})})}),e.jsx("section",{className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.dialogTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white",children:i.dialogTitle})]}),e.jsx(T,{children:e.jsxs("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.2)] rounded-3xl p-8 md:p-12 space-y-6",children:[e.jsx("div",{className:"flex justify-start",children:e.jsxs("div",{className:"max-w-[75%]",children:[e.jsx("div",{className:"text-xs font-bold text-[#B0C8D0]/50 uppercase tracking-widest mb-2 ml-1",children:"Police"}),e.jsx("div",{className:"bg-[#0D0F14] border border-[rgba(0,229,204,0.15)] rounded-2xl rounded-tl-sm px-6 py-4",children:e.jsxs("p",{className:"text-lg text-[#B0C8D0]",children:['"',i.dialogQ1,'"']})})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsxs("div",{className:"max-w-[75%]",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC]/70 uppercase tracking-widest mb-2 mr-1 text-right",children:"Perceptrum Corporate"}),e.jsx("div",{className:"bg-[#00E5CC]/10 border border-[#00E5CC]/30 rounded-2xl rounded-tr-sm px-6 py-4",children:e.jsxs("p",{className:"text-lg text-white",children:['"',i.dialogA1,'"']})})]})}),e.jsx("div",{className:"flex justify-start",children:e.jsxs("div",{className:"max-w-[75%]",children:[e.jsx("div",{className:"text-xs font-bold text-[#B0C8D0]/50 uppercase tracking-widest mb-2 ml-1",children:"Police"}),e.jsx("div",{className:"bg-[#0D0F14] border border-[rgba(0,229,204,0.15)] rounded-2xl rounded-tl-sm px-6 py-4",children:e.jsxs("p",{className:"text-lg text-[#B0C8D0]",children:['"',i.dialogQ2,'"']})})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsxs("div",{className:"max-w-[75%]",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC]/70 uppercase tracking-widest mb-2 mr-1 text-right",children:"Perceptrum Corporate"}),e.jsx("div",{className:"bg-[#00E5CC]/10 border border-[#00E5CC]/30 rounded-2xl rounded-tr-sm px-6 py-4",children:e.jsxs("p",{className:"text-lg text-white",children:['"',i.dialogA2,'"']})})]})})]})})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:s.common.theEcosystem}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-4",children:i.ecosysTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/70 max-w-3xl mx-auto",children:i.ecosysSub})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:f.map((m,h)=>e.jsx(T,{delay:h*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] p-8 rounded-2xl border hover-glow h-full",style:{borderColor:`${m.color}30`},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:m.color}}),e.jsx("span",{className:"text-sm font-bold uppercase tracking-widest",style:{color:m.color},children:m.sub})]}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-3",children:m.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg leading-relaxed",children:m.desc})]})},h))})]})}),e.jsxs("section",{className:"relative py-32 overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"City Backgroun
38d",className:"w-full h-full object-cover opacity-40"}),e.jsx("div",{className:"absolute inset-0 bg-[#080A0F]/80 backdrop-blur-sm"})]}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-5xl md:text-6xl font-black text-white mb-8",children:i.ctaTitle}),e.jsx("p",{className:"text-2xl text-[#B0C8D0]/85 mb-12",children:i.ctaSub}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",className:"text-lg px-12 h-16 shadow-[0_0_40px_rgba(0,229,204,0.4)]",children:s.common.requestDemo})})]})})]})]})}function tb(){const{t:s}=_e(),i=s.perceptrum;bb,i.feat1title,i.feat1desc,Kr,i.feat2title,i.feat2desc,la,i.feat3title,i.feat3desc,$e,i.feat4title,i.feat4desc;const l=[{title:i.feat1title,desc:i.feat1desc,img:"/images/app-prompt-editor.png"},{title:i.feat2title,desc:i.feat2desc,img:"/images/camera_closeup.jpg"},{title:i.feat3title,desc:i.feat3desc,img:"/images/drakon-find-city-coverage.png"},{title:i.feat4title,desc:i.feat4desc,img:"/images/context-engine-coverage.png"}],o=[{icon:e.jsx(xb,{className:"w-16 h-16"}),title:i.uc1title,desc:i.uc1desc},{icon:e.jsx(Jy,{className:"w-16 h-16"}),title:i.uc2title,desc:i.uc2desc,featured:!0},{icon:e.jsx(vb,{className:"w-16 h-16"}),title:i.uc3title,desc:i.uc3desc}],u=[i.networkStep1,i.networkStep2,i.networkStep3,i.networkStep4,i.networkStep5],p=[i.privItem1,i.privItem2,i.privItem3,i.privItem4,i.privItem5],f=[i.detect1,i.detect2,i.detect3,i.detect4,i.detect5,i.detect6,i.detect7,i.detect8];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsx(ha,{title:"Perceptrum Personal — Private Security AI Platform",description:"Perceptrum Personal brings enterprise-grade AI video surveillance to private security. Smart alerts, autonomous monitoring, and deep analytics for businesses and residences.",canonical:"https://aiquimist.ai/perceptrum-personal",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Perceptrum Personal",applicationCategory:"SecurityApplication",operatingSystem:"Windows, Cloud",url:"https://aiquimist.ai/perceptrum-personal",description:"AI video surveillance platform for private security operations.",offers:{"@type":"Offer",availability:"https://schema.org/InStock"}}}),e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/ai_network.jpg",alt:"AI Network",className:"w-full h-full object-cover opacity-30"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/80 via-[#080A0F]/60 to-[#080A0F]"})]}),e.jsx("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("img",{src:"/images/logo-perceptrum-personal.png",alt:"Perceptrum Personal",className:"h-24 md:h-32 w-auto object-contain",style:{filter:"drop-shadow(0 0 28px rgba(155,48,255,0.30))"}})}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx($e,{className:"w-4 h-4"})," ",i.tag]}),e.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-8xl font-black text-white mb-6 leading-tight",children:[i.heroTitle," ",e.jsx("span",{className:"text-gradient",children:i.heroTitleAccent})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-8",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",children:s.common.requestDemo})}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("what-is")?.scrollIntoView({behavior:"smooth"}),children:s.common.howItWorks})]}),e.jsx($,{href:"/rede-perceptrum",children:e.jsxs("div",{className:"inline-flex items-center gap-3 px-6 py-4 rounded-2xl border-2 border-[rgba(155,48,255,0.6)] bg-[rgba(155,48,255,0.12)] hover:bg-[rgba(155,48,255,0.22)] hover:border-[rgba(155,48,255,0.9)] transition-all duration-300 cursor-pointer group",style:{boxShadow:"0 0 30px rgba(155,48,255,0.25)"},children:[e.jsx(la,{className:"w-5 h-5 text-[#CC44DD] shrink-0"}),e.jsxs("div",{className:"text-left",children:[e.jsx("div",{className:"text-xs font-mono text-[#9B30FF] uppercase tracking-widest mb-0.5",children:s.perceptrumNet?.btnBadge??"New"}),e.jsx("div",{className:"text-white font-bold",children:s.perceptrumNet?.btnLabel??"See the Perceptrum Network →"}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-xs",children:s.perceptrumNet?.btnSub??"Federated search · Neighborhood to Country · Total privacy"})]})]})})]})})]}),e.jsx("section",{id:"what-is",className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center mb-20",children:[e.jsxs(T,{children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-3 block",children:s.common.coretech}),e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white mb-6",children:s.common.imus}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 leading-relaxed",children:i.imusCallout})]}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.25)] shadow-[0_0_60px_rgba(0,229,204,0.12)] relative",children:[e.jsx("img",{src:"/images/context-engine-video.png",alt:"AI continuous video processing",className:"w-full h-auto"}),e.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-[#080A0F]/90 to-transparent p-4 flex flex-wrap gap-2",children:[s.common.contextEngineLabel1,s.common.contextEngineLabel2,s.common.contextEngineLabel3].map((m,h)=>e.jsx("span",{className:"px-3 py-1 bg-[#00E5CC]/10 border border-[#00E5CC]/40 text-[#00E5CC] text-xs font-bold rounded-full",children:m},h))})]})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16",children:[e.jsxs(T,{children:[e.jsxs("h2",{className:"text-3xl font-bold text-white mb-6 flex items-center gap-3",children:[e.jsx(Kr,{className:"text-[#00E5CC] w-8 h-8"}),i.whatTitle1]}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 leading-relaxed",children:i.whatDesc1})]}),e.jsxs(T,{delay:.2,children:[e.jsxs("h2",{className:"text-3xl font-bold text-white mb-6 flex items-center gap-3",children:[e.jsx(la,{className:"text-[#00E5CC] w-8 h-8"}),i.whatTitle2]}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 leading-relaxed mb-6",children:i.whatDesc2}),e.jsxs("div",{className:"bg-[#080A0F] border border-[#00E5CC]/20 rounded-xl p-5",children:[e.jsx("p",{className:"text-[#00E5CC] font-bold text-sm uppercase tracking-wider mb-2",children:i.drakonFindIntegTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70",children:i.drakonFindIntegDesc})]})]})]})]})}),e.jsx("section",{id:"how-it-works",className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-20",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:s.common.howItWorks}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.whatTitle1})]}),e.jsx("div",{className:"space-y-32",children:l.map((m,h)=>e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsx(T,{className:h%2===0?"order-2 lg:order-1":"order-1 lg:order-1",children:h%2===0?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] flex items-center justify-center text-xl font-bold border border-[#00E5CC]/30 shrink-0",children:h+1}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:m.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xl leading-relaxed",children:m.desc})]}):e.jsx("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:m.img,alt:m.title,className:"w-full h-auto"})})}),e.jsx(T,{delay:.2,className:h%2===0?"order-1 lg:order-2":"order-2 lg:order-2",children:h%2===0?e.jsx("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:m.img,alt:m.title,className:"w-full h-auto"})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] flex items-center justify-center text-xl font-bold border border-[#00E5CC]/30 shrink-0",children:h+1}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:m.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xl leading-relaxed",children:m.desc})]})})]},h))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16 max-w-3xl mx-auto",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.networkTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:i.networkTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg",children:i.networkDesc})]}
38),e.jsx("div",{className:"max-w-3xl mx-auto space-y-6 mb-10",children:u.map((m,h)=>e.jsx(T,{delay:h*.1,children:e.jsxs("div",{className:"flex gap-5 items-start bg-[#080A0F] p-6 rounded-2xl border border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"w-10 h-10 shrink-0 rounded-full bg-[#9B30FF] text-white flex items-center justify-center font-bold shadow-lg",children:h+1}),e.jsx("p",{className:"text-[#B0C8D0]/85 text-lg pt-1",children:m})]})},h))}),e.jsx(T,{children:e.jsxs("div",{className:"bg-[#080A0F] border border-[#00E5CC]/20 rounded-2xl p-8 max-w-3xl mx-auto text-center",children:[e.jsx($e,{className:"text-[#00E5CC] w-8 h-8 mx-auto mb-4"}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed italic",children:i.networkPrivNote})]})})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx("div",{className:"text-center mb-16",children:e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.usecasesTitle})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:o.map((m,h)=>e.jsx(T,{delay:h*.1,children:e.jsxs("div",{className:`bg-[#0D0F14] rounded-2xl p-8 border border-[rgba(0,229,204,0.18)] text-center h-full ${m.featured?"shadow-[0_0_30px_rgba(16,76,186,0.3)] border-b-4 border-b-[#00E5CC]":""}`,children:[e.jsx("div",{className:"text-[#00E5CC] flex justify-center mb-6",children:m.icon}),e.jsx("h3",{className:"text-2xl font-bold text-white mb-4",children:m.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-lg",children:m.desc})]})},h))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(T,{className:"text-center mb-12",children:e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white",children:i.detectedList})}),e.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:f.map((m,h)=>e.jsx(T,{delay:h*.05,children:e.jsxs("div",{className:"flex items-center gap-2 px-5 py-3 bg-[#080A0F] border border-[rgba(0,229,204,0.18)] rounded-full hover:border-[#00E5CC]/50 transition-colors",children:[e.jsx(Xe,{className:"text-[#00E5CC] w-4 h-4 shrink-0"}),e.jsx("span",{className:"text-[#B0C8D0]/85 font-medium",children:m})]})},h))})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(T,{children:e.jsxs("div",{className:"bg-gradient-to-br from-[#0D0F14] to-[#080A0F] p-10 md:p-14 rounded-3xl border border-[rgba(0,229,204,0.3)] shadow-2xl relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 right-0 p-8 opacity-10",children:e.jsx($e,{className:"w-48 h-48 text-[#00E5CC]"})}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-10",children:i.privTitle}),e.jsx("ul",{className:"space-y-6",children:p.map((m,h)=>e.jsxs("li",{className:"flex items-center gap-4 text-xl text-[#B0C8D0]",children:[e.jsx("div",{className:"bg-[#9B30FF]/30 rounded-full p-1 border border-[#00E5CC]/30",children:e.jsx(Xe,{className:"text-[#00E5CC] w-6 h-6"})}),m]},h))})]})]})})})}),e.jsx("section",{className:"py-24 bg-[#0D0F14]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-8",children:i.synergyTitle}),e.jsxs("div",{className:"flex justify-center items-center gap-4 md:gap-8 mb-12",children:[e.jsx("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.3)] px-6 py-4 rounded-xl text-2xl font-bold",children:"Perceptrum"}),e.jsx(Za,{className:"w-10 h-10 text-[#00E5CC]"}),e.jsx("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.3)] px-6 py-4 rounded-xl text-2xl font-bold",children:"Perceptrum Corporate"})]}),e.jsx("p",{className:"text-2xl text-[#B0C8D0]/85 max-w-4xl mx-auto leading-relaxed mb-12",children:i.synergyDesc}),e.jsx($,{href:"/rede-perceptrum",children:e.jsxs(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",boxShadow:"0 0 32px rgba(155,48,255,0.35)",color:"#fff",height:"56px",padding:"0 32px",fontSize:"16px"},children:[e.jsx(la,{className:"w-5 h-5 mr-2"})," Ver a Rede Perceptrum"]})})]})})}),e.jsx("section",{className:"py-20 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(T,{children:e.jsxs("div",{className:"rounded-3xl border-2 border-[rgba(0,229,204,0.5)] bg-gradient-to-br from-[#0D1520] to-[#080A0F] p-10 md:p-14 text-center",style:{boxShadow:"0 0 80px rgba(0,229,204,0.12), 0 0 160px rgba(0,229,204,0.04)"},children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/15 border border-[#00E5CC]/40 text-[#00E5CC] text-xs font-bold tracking-widest mb-6 uppercase",children:[e.jsx(_r,{className:"w-3.5 h-3.5"}),s.downloads?.percDownloadTag??"DOWNLOAD AVAILABLE"]}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-4",children:s.downloads?.percDownloadTitle??"Download Perceptrum"}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg mb-8 max-w-2xl mx-auto leading-relaxed",children:s.downloads?.percDownloadSub??"The domestic and private version of Perceptrum is available for Windows. Install and connect your cameras in minutes."}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 items-center",children:[e.jsx("a",{href:"https://apps.microsoft.com/detail/9nqpfzr9z7mc?hl=en-US&gl=BR&ocid=pdpshare",target:"_blank",rel:"noopener noreferrer",children:e.jsxs(oe,{size:"lg",className:"h-16 px-10 text-lg flex items-center gap-3",style:{background:"linear-gradient(135deg,#00E5CC,#00AAFF)",color:"#080A0F",fontWeight:900,letterSpacing:"0.05em",boxShadow:"0 0 40px rgba(0,229,204,0.35)"},children:[e.jsx("img",{src:"/images/microsoft-store.svg",alt:"Microsoft Store",className:"w-6 h-6 shrink-0"}),s.downloads?.percDownloadBtn??"Microsoft Store"]})}),e.jsxs("span",{className:"text-[#B0C8D0]/40 text-sm flex items-center gap-1.5",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[#B0C8D0]/30 inline-block"}),s.downloads?.percDownloadNote??"Mac and Linux versions coming soon"]})]}),e.jsx("p",{className:"mt-5 text-[#B0C8D0]/40 text-xs uppercase tracking-widest font-mono",children:"Microsoft Store · Windows 10 / 11 x64"})]})})})}),e.jsxs("section",{className:"py-24 bg-[#0D0F14] relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-3xl h-[400px] bg-[#9B30FF]/20 blur-[100px] rounded-full"}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-5xl font-black text-white mb-10",children:i.ctaTitle}),e.jsx("div",{className:"flex flex-col sm:flex-row justify-center gap-6",children:e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",className:"w-full sm:w-auto h-16 px-8 text-lg",children:s.common.enterpriseDemo})})})]})})]})]})}function au(){const{t:s}=_e(),i=s.fastai;Kr,i.s1title,i.s1desc,cu,i.s2title,i.s2desc,Wg,i.s3title,i.s3desc,Qg,i.s4title,i.s4desc,qt,i.s5title,i.s5desc;const l=[{title:i.s1title,desc:i.s1desc,img:"/images/camera_closeup.jpg"}
38,{title:i.s2title,desc:i.s2desc,img:"/images/drakon-find-person-track.png"},{title:i.s3title,desc:i.s3desc,img:"/images/drakon-find-city-coverage.png"},{title:i.s4title,desc:i.s4desc,img:"/images/drakon-find-screen.jpg"},{title:i.s5title,desc:i.s5desc,img:"/images/drakon-find-vehicle-track.png"}],o=[{icon:e.jsx(Wg,{}),title:i.cap1title,desc:i.cap1desc},{icon:e.jsx(cu,{}),title:i.cap2title,desc:i.cap2desc},{icon:e.jsx(Qg,{}),title:i.cap3title,desc:i.cap3desc},{icon:e.jsx(Ca,{}),title:i.cap4title,desc:i.cap4desc},{icon:e.jsx(He,{}),title:i.cap5title,desc:i.cap5desc},{icon:e.jsx(yb,{}),title:i.cap6title,desc:i.cap6desc}],u=[i.comp1,i.comp2,i.comp3,i.comp4,i.comp5,i.comp6],p=[i.prob1,i.prob2,i.prob3,i.prob4,i.prob5];return e.jsxs("div",{className:"w-full bg-[#080A0F] pt-24 min-h-screen text-white font-sans",children:[e.jsx(ha,{title:"F.A.S.T.-AI — Federated AI System for Smart Cities",description:"F.A.S.T.-AI is a federated AI platform connecting city infrastructure — cameras, sensors, and data — into a unified intelligent network for smart city management.",canonical:"https://aiquimist.ai/fast-ai",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"F.A.S.T.-AI",applicationCategory:"GovernmentApplication",operatingSystem:"Cloud, On-Premise",url:"https://aiquimist.ai/fast-ai",description:"Federated AI system for smart cities and urban infrastructure management.",offers:{"@type":"Offer",availability:"https://schema.org/InStock"}}}),e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"Smart City",className:"w-full h-full object-cover opacity-20"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/70 via-[#080A0F]/60 to-[#080A0F]"})]}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:[e.jsxs(T,{children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-6 uppercase",children:[e.jsx(qt,{className:"w-4 h-4"})," ",i.tagBadge]}),e.jsx("a",{href:"/fast-ai-apresentacao.html",target:"_blank",rel:"noopener noreferrer",className:"flex w-full max-w-md mx-auto items-center justify-center gap-3 px-5 py-4 mb-8 rounded-2xl border-2 border-[rgba(0,229,204,0.65)] bg-[rgba(0,229,204,0.10)] hover:bg-[rgba(0,229,204,0.18)] hover:border-[rgba(0,229,204,0.95)] transition-all duration-300",style:{boxShadow:"0 0 30px rgba(0,229,204,0.24)"},children:e.jsxs("div",{className:"text-left min-w-0",children:[e.jsx("div",{className:"text-xs font-mono text-[#00AAFF] uppercase tracking-widest mb-1",children:i.presentationSub??"Apresentação do sistema"}),e.jsxs("div",{className:"text-white font-bold leading-snug flex items-center justify-center sm:justify-start gap-2",children:[i.presentationLabel??"Abrir apresentação do FAST-AI",e.jsx(Qe,{className:"w-4 h-4 text-[#00E5CC] shrink-0"})]})]})}),e.jsxs("h1",{className:"text-6xl md:text-8xl lg:text-9xl font-black text-white mb-4 leading-none tracking-tight",children:["F.A.S.T.",e.jsx("span",{className:"text-[#00E5CC]",children:"-AI"})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#00E5CC] font-bold mb-2 tracking-wide",children:i.acronym}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 font-medium mb-10",children:i.subtitle}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-10",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",children:s.common.connectCity})}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("how-it-works")?.scrollIntoView({behavior:"smooth"}),children:s.common.howItWorks})]}),e.jsx($,{href:"/rede-fast-ai",children:e.jsxs("div",{className:"inline-flex items-center gap-3 px-6 py-4 rounded-2xl border-2 border-[rgba(0,229,204,0.6)] bg-[rgba(0,229,204,0.08)] hover:bg-[rgba(0,229,204,0.16)] hover:border-[rgba(0,229,204,0.9)] transition-all duration-300 cursor-pointer",style:{boxShadow:"0 0 30px rgba(0,229,204,0.2)"},children:[e.jsx(la,{className:"w-5 h-5 text-[#00AAFF] shrink-0"}),e.jsxs("div",{className:"text-left",children:[e.jsx("div",{className:"text-xs font-mono text-[#00AAFF] uppercase tracking-widest mb-0.5",children:s.fastaiNet?.btnBadge??"Network"}),e.jsx("div",{className:"text-white font-bold",children:s.fastaiNet?.btnLabel??"See the FAST-AI Traffic Network →"}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-xs",children:s.fastaiNet?.btnSub??"Traffic cameras · Private + Government · City-wide intelligence"})]})]})})]}),e.jsx(T,{delay:.2,children:e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 max-w-5xl mx-auto",children:[i.stat1,i.stat2,i.stat3,i.stat4].map((f,m)=>e.jsx("div",{className:"bg-[rgba(13,15,20,0.85)] backdrop-blur border border-[rgba(0,229,204,0.18)] rounded-xl p-4 flex items-center justify-center text-center font-bold text-sm md:text-base text-[#B0C8D0]",children:f},m))})})]})]}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.12)]",children:e.jsx("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(T,{children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:s.common.coretech}),e.jsx("h2",{className:"text-3xl md:text-5xl font-black text-white mb-6",children:s.common.imus}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 leading-relaxed mb-10",children:i.imusCallout}),e.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:i.imusTags.map((f,m)=>e.jsx("span",{className:"px-5 py-2 bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] font-semibold rounded-full text-sm",children:f},m))})]})})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.problemTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-8",children:i.problemTitle}),e.jsx("ul",{className:"space-y-6 mb-10",children:p.map((f,m)=>e.jsxs("li",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"mt-1 w-6 h-6 rounded-full bg-red-500/20 text-red-400 flex items-center justify-center shrink-0",children:e.jsx($e,{className:"w-3 h-3"})}),e.jsx("span",{className:"text-xl text-[#B0C8D0]/85",children:f})]},m))}),e.jsx("div",{className:"bg-[#0D0F14] border border-red-500/30 p-6 rounded-2xl",children:e.jsx("p",{className:"text-xl font-bold text-red-400",children:i.probStat})})]}),e.jsx(T,{delay:.2,className:"relative",children:e.jsxs("div",{className:"rounded-2xl overflow-hidden shadow-[0_0_50px_rgba(0,229,204,0.15)] border border-[rgba(0,229,204,0.18)] relative aspect-square",children:[e.jsx("img",{src:"/images/camera_closeup.jpg",alt:"Urban cameras",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-[#080A0F] to-transparent"})]})})]})})}),e.jsx("section",{id:"how-it-works",className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-20",children:[e.jsx("div",{className:"text-sm font-bold text-[#00E5CC] uppercase tracking-wider mb-4",children:i.howTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.howTitle})]}),e.jsx("div",{className:"space-y-32",children:l.map((f,m)=>e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsx(T,{className:m%2===0?"order-2 lg:order-1":"order-1 lg:order-1",children:m%2===0?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] flex items-center justify-center text-xl font-bold border border-[#00E5CC]/30 shrink-0",children:m+1}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:f.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xl leading-relaxed",children:f.desc})]}):e.jsx("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:f.img,alt:f.title,className:"w-full h-auto"})})}),e.jsx(T,{delay:.2,className:m%2===0?"order-1 lg:order-2":"order-2 lg:order-2",children:m%2===0?e.jsx("div",{className:"rounded-xl overflow-hidden border border-[rgba(0,229,204,0.18)] shadow-2xl",children:e.jsx("img",{src:f.img,alt:f.title,className:"w-full h-auto"})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] flex items-center justify-center text-xl font-bold border border-[#00E5CC]/30 shrink-0",children:m+1}),e.jsx("h3",{className:"text-3xl font-bold text-white",children:f.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xl leading-relaxed",children:f.desc})]})})]},m))})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.capTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white",children:i.capTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:o.map((f,m)=>e.jsx(T,{delay:m*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] p-8 rounded-2xl border border-[rgba(0,229,204,0.18)] hover-glow h-full",children:[e.jsx("div",{className:"w-14 h-14 roun
38ded-xl bg-gradient-to-br from-[#9B30FF] to-[#9B30FF] flex items-center justify-center text-white mb-6 shadow-lg",children:f.icon}),e.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:f.title}),e.jsx("p",{className:"text-[#B0C8D0]/70",children:f.desc})]})},m))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-4",children:i.ecosysTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/70 mt-4 max-w-3xl mx-auto",children:i.ecosysSub})]}),e.jsx("div",{className:"flex flex-col md:flex-row justify-center items-center gap-4 md:gap-8 mb-12",children:[{name:"Perceptrum"},{arrow:!0},{name:"Perceptrum Corporate"},{arrow:!0},{name:"F.A.S.T.-AI"}].map((f,m)=>f.arrow?e.jsx(Za,{className:"w-8 h-8 text-[#00E5CC] hidden md:block"},m):e.jsx(T,{delay:m*.1,children:e.jsx("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.3)] rounded-2xl px-8 py-5 text-center",children:e.jsx("div",{className:"text-2xl font-black text-white",children:f.name})})},m))}),e.jsx(T,{children:e.jsx("div",{className:"bg-gradient-to-r from-[#9B30FF]/20 to-[#9B30FF]/20 border border-[#00E5CC]/30 p-8 rounded-2xl text-center",children:e.jsxs("p",{className:"text-2xl font-bold text-white leading-relaxed",children:[i.ecosysQuote.split("—")[0],"— ",e.jsx("span",{className:"text-[#00E5CC]",children:i.ecosysQuote.split("—")[1]})]})})})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(T,{children:e.jsxs("div",{className:"bg-gradient-to-br from-[#0D0F14] to-[#080A0F] p-10 md:p-14 rounded-3xl border border-[rgba(0,229,204,0.3)] shadow-2xl relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 right-0 p-8 opacity-10",children:e.jsx($e,{className:"w-48 h-48 text-[#00E5CC]"})}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-10",children:i.complianceTitle}),e.jsx("ul",{className:"space-y-6",children:u.map((f,m)=>e.jsxs("li",{className:"flex items-center gap-4 text-xl text-[#B0C8D0]",children:[e.jsx("div",{className:"bg-[#9B30FF]/30 rounded-full p-1 border border-[#00E5CC]/30 shrink-0",children:e.jsx(Xe,{className:"text-[#00E5CC] w-6 h-6"})}),f]},m))})]})]})})})}),e.jsxs("section",{className:"py-32 bg-[#0D0F14] relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-3xl h-[400px] bg-[#9B30FF]/20 blur-[100px] rounded-full"}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-5xl font-black text-white mb-6",children:i.ctaTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/70 mb-10 max-w-2xl mx-auto",children:i.ctaSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-6",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",className:"w-full sm:w-auto h-16 px-10 text-lg",children:s.common.connectCity})}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",className:"w-full sm:w-auto h-16 px-10 text-lg",children:s.common.requestTechDoc})})]})]})})]})]})}function tu(){const{t:s}=_e(),i=s.about,l=[{name:"Nicholas Ressineti Guimarães",role:i.m1Role,tag:i.m1Tag,quote:i.m1Quote,bio:i.m1Bio,bullets:[i.m1b1,i.m1b2,i.m1b3,i.m1b4],initials:"NR",color:"#9B30FF",photo:"/images/team-nicholas.jpg",photoPosition:"center top"},{name:"Eduardo Guimarães Machado Freire",role:i.m2Role,tag:i.m2Tag,quote:null,bio:i.m2Bio,bullets:[i.m2b1,i.m2b2,i.m2b3,i.m2b4],initials:"EG",color:"#9B30FF",photo:"/images/team-eduardo.jpg",photoPosition:"center top"},{name:"Marcello Guimarães Machado Freire",role:i.m3Role,tag:i.m3Tag,quote:null,bio:i.m3Bio,bullets:[i.m3b1,i.m3b2,i.m3b3,i.m3b4],initials:"MG",color:"#00E5CC",photo:"/images/team-marcello.png",photoPosition:"center top"}],o=[{icon:e.jsx(Ca,{className:"w-6 h-6"}
38),label:i.val1Label,title:i.val1Title,desc:i.val1Desc},{icon:e.jsx(wi,{className:"w-6 h-6"}),label:i.val2Label,title:i.val2Title,desc:i.val2Desc},{icon:e.jsx(Yy,{className:"w-6 h-6"}),label:i.val3Label,title:i.val3Title,desc:i.val3Desc}],u=[{icon:e.jsx(pa,{className:"w-6 h-6"}),label:"PERCEPTRUM CORPORATE",title:i.plat1Title,desc:i.plat1Desc,color:"#9B30FF",link:"/drakon"},{icon:e.jsx(He,{className:"w-6 h-6"}),label:"PERCEPTRUM PERSONAL",title:i.plat2Title,desc:i.plat2Desc,color:"#00E5CC",link:"/perceptrum"},{icon:e.jsx(Ca,{className:"w-6 h-6"}),label:"F.A.S.T.-AI",title:i.plat3Title,desc:i.plat3Desc,color:"#9B30FF",link:"/fast-ai"}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:"About AiQuimist.ai — Our Mission & Team",description:"AiQuimist.ai was founded to make AI-powered safety accessible to cities and organizations worldwide. Meet our leadership team and learn about our mission.",canonical:"https://aiquimist.ai/about"}),e.jsxs("section",{className:"relative pt-40 pb-28 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0D0F14] to-[#001a4a]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[900px] h-[900px] bg-[#9B30FF]/15 rounded-full blur-[150px] -translate-y-1/3 translate-x-1/3 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[600px] h-[600px] bg-[#00E5CC]/8 rounded-full blur-[120px] pointer-events-none"}),e.jsx("div",{className:"relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(Pe.div,{initial:{opacity:0,y:40},animate:{opacity:1,y:0},transition:{duration:.8},children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:i.heroTag}),e.jsxs("h1",{className:"text-5xl md:text-7xl font-black text-white mb-6 leading-tight",children:[i.heroTitle,e.jsx("br",{}),e.jsx("span",{className:"text-[#00E5CC]",children:i.heroTitleCyan})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 leading-relaxed max-w-3xl mx-auto",children:i.heroSub})]})})]}),e.jsx("section",{className:"py-24 border-t border-[rgba(0,229,204,0.12)]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.historyTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 leading-tight",children:i.historyTitle}),e.jsx("p",{className:"text-[#B0C8D0]/85 text-lg leading-relaxed mb-6",children:i.historyP1}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-base leading-relaxed",children:i.historyP2})]}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.18)] rounded-2xl p-8",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.card1Tag}),e.jsx("p",{className:"text-[#B0C8D0]/85 leading-relaxed",children:i.card1Text})]}),e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.18)] rounded-2xl p-8",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.card2Tag}),e.jsx("p",{className:"text-[#B0C8D0]/85 leading-relaxed",children:i.card2Text})]})]})})]})})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.teamTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.teamTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto text-lg",children:i.teamSub})]}),e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:l.map((p,f)=>e.jsx(T,{delay:f*.15,children:e.jsxs("div",{className:"bg-[#080A0F]/70 border border-[rgba(0,229,204,0.12)] rounded-2xl overflow-hidden hover:border-[#00E5CC]/30 transition-all h-full flex flex-col group",children:[e.jsxs("div",{className:"relative w-full overflow-hidden",style:{aspectRatio:"4/3"},children:[p.photo?e.jsx("img",{src:p.photo,alt:p.name,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105",style:{objectPosition:p.photoPosition||"center top"}}):e.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",style:{background:`linear-gradient(135deg, ${p.color}15 0%, #080A0F 100%)`},children:[e.jsx("div",{className:"w-28 h-28 rounded-full flex items-center justify-center text-4xl font-black mb-3",style:{backgroundColor:`${p.color}20`,border:`2px solid ${p.color}40`},children:e.jsx("span",{style:{color:p.color},children:p.initials})}),e.jsx("span",{className:"text-[#B0C8D0]/30 text-xs uppercase tracking-widest",children:"Photo coming soon"})]}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-[#080A0F] to-transparent"}),e.jsx("div",{className:"absolute top-0 inset-x-0 h-0.5",style:{background:`linear-gradient(90deg, transparent, ${p.color}, transparent)`}})]}),e.jsxs("div",{className:"px-7 pb-7 pt-4 flex flex-col flex-1",children:[e.jsx("span",{className:"text-xs font-bold uppercase tracking-widest mb-1",style:{color:p.color},children:p.tag}),e.jsx("h3",{className:"text-white font-bold text-lg leading-tight mb-0.5",children:p.name}),e.jsx("p",{className:"text-[#B0C8D0]/60 text-sm mb-4",children:p.role}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed mb-4 italic",children:p.bio}),p.quote&&e.jsx("blockquote",{className:"border-l-2 pl-4 mb-4 text-[#B0C8D0]/65 text-sm italic leading-relaxed",style:{borderColor:p.color},children:p.quote}),e.jsx("ul",{className:"space-y-2 mt-auto pt-3 border-t border-[rgba(255,255,255,0.06)]",children:p.bullets.map((m,h)=>e.jsxs("li",{className:"flex items-start gap-2 text-[#B0C8D0]/65 text-sm",children:[e.jsx("span",{className:"mt-1.5 w-1.5 h-1.5 rounded-full shrink-0",style:{backgroundColor:p.color}}),m]},h))})]})]})},f))})]})}),e.jsx("section",{className:"py-24",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.valTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.valTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:o.map((p,f)=>e.jsx(T,{delay:f*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.12)] rounded-2xl p-10 hover:border-[#00E5CC]/30 transition-all group text-center h-full flex flex-col items-center",children:[e.jsx("div",{className:"w-14 h-14 roun
38ded-xl bg-[#9B30FF]/20 flex items-center justify-center text-[#00E5CC] mb-4 group-hover:bg-[#9B30FF]/40 transition-colors",children:p.icon}),e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-2",children:p.label}),e.jsx("h4",{className:"text-white font-bold text-xl mb-4",children:p.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:p.desc})]})},f))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14]/50 border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.platTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.platTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:u.map((p,f)=>e.jsx(T,{delay:f*.15,children:e.jsx($,{href:p.link,children:e.jsxs("div",{className:"group bg-[#080A0F]/70 border border-[rgba(0,229,204,0.12)] rounded-2xl p-8 hover:border-[#00E5CC]/40 transition-all hover:-translate-y-1 cursor-pointer h-full flex flex-col",children:[e.jsx("div",{className:"w-14 h-14 rounded-xl flex items-center justify-center mb-6 transition-transform group-hover:scale-110",style:{backgroundColor:`${p.color}20`,border:`1px solid ${p.color}50`,color:p.color},children:p.icon}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-widest mb-2",style:{color:p.color},children:p.label}),e.jsx("h3",{className:"text-xl font-black text-white mb-3",children:p.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed flex-grow",children:p.desc}),e.jsxs("div",{className:"flex items-center gap-2 mt-6 text-sm font-bold group-hover:text-[#00E5CC] transition-colors",style:{color:p.color},children:[s.common.learnMore," ",e.jsx(Qe,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]})})},f))})]})}),e.jsxs("section",{className:"py-28 relative overflow-hidden border-t border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] bg-[#9B30FF]/15 rounded-full blur-[120px] pointer-events-none"}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsxs("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6",children:[i.ctaTitle,e.jsx("br",{}),e.jsx("span",{className:"text-[#00E5CC]",children:i.ctaTitleCyan})]}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 mb-4 max-w-3xl mx-auto leading-relaxed",children:i.ctaSub1}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 mb-10 max-w-2xl mx-auto",children:i.ctaSub2}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:"https://wa.me/05595991116093?text=Agendar%20demonstra%C3%A7%C3%A3o",target:"_blank",rel:"noopener noreferrer",children:e.jsxs(oe,{size:"lg",className:"h-16 px-10 text-lg ",children:[i.ctaBtn1," ",e.jsx(Qe,{className:"w-5 h-5 ml-2"})]})}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",className:"h-16 px-10 text-lg  border-[rgba(0,229,204,0.3)] text-[#00E5CC] hover:bg-[#9B30FF]/20",children:s.common.contactUs})})]}),e.jsx("p",{className:"mt-12 text-[#B0C8D0]/50 text-sm font-medium tracking-wider uppercase",children:i.ctaTagline})]})})]})]})}function iu(){const{t:s}=_e(),i=s.contact,{toast:l}=Ib(),[o,u]=C.useState(!1),[p,f]=C.useState({name:"",company:"",phone:"",sector:"",product:"",message:""}),[m,h]=C.useState({}),b=()=>{const A={};return(!p.name||p.name.length<2)&&(A.name=i.fieldRequired??"Required"),(!p.company||p.company.length<2)&&(A.company=i.fieldRequired??"Required"),(!p.phone||p.phone.length<5)&&(A.phone=i.fieldRequired??"Required"),p.sector||(A.sector=i.fieldRequired??"Required"),A},g=A=>{f(P=>({...P,[A.target.name]:A.target.value})),m[A.target.name]&&h(P=>{const D={...P};return delete D[A.target.name],D})},v=async A=>{A.preventDefault();const P=b();if(Object.keys(P).length>0){h(P);return}u(!0);const D=encodeURIComponent(`Contato via site — ${p.company}`),M=encodeURIComponent(`Nome: ${p.name}
39Empresa/Organização: ${p.company}
40Telefone: ${p.phone}
41Setor: ${p.sector}
42Produto de interesse: ${p.product||"Não informado"}
43
44Mensagem:
45${p.message}`);window.location.href=`mailto:[email protected]?subject=${D}&body=${M}`,l({title:i.formSuccess}),f({name:"",company:"",phone:"",sector:"",product:"",message:""}),u(!1)},k="w-full bg-[#080A0F] border border-[rgba(0,229,204,0.25)] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00E5CC] transition-colors",j="text-sm font-medium text-[#B0C8D0]/85";return e.jsxs("div",{className:"w-full bg-[#080A0F] pt-32 pb-24 min-h-screen",children:[e.jsx(ha,{title:"Contact AiQuimist.ai — Request a Demo or Get in Touch",description:"Contact the AiQuimist.ai team for product demos, partnerships, commercial proposals, technical support, or media inquiries. We respond within 24 hours.",canonical:"https://aiquimist.ai/contact"}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center max-w-3xl mx-auto mb-16",children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:i.tag}),e.jsx("h1",{className:"text-4xl md:text-6xl font-black text-white mb-6",children:i.heroTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/70",children:i.heroSub})]}
45),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-5 gap-12",children:[e.jsx(T,{className:"lg:col-span-2 space-y-6",delay:.1,children:e.jsxs("div",{className:"bg-[#0D0F14] p-8 rounded-2xl border border-[rgba(0,229,204,0.18)]",children:[e.jsx("h3",{className:"text-2xl font-bold text-white mb-8",children:i.emergency}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 flex items-center justify-center text-[#00E5CC] shrink-0",children:e.jsx($y,{className:"w-6 h-6"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-bold mb-1",children:i.emergency}),e.jsx("a",{href:`tel:${i.phone.replace(/\s/g,"")}`,className:"text-2xl text-[#00E5CC] hover:text-white transition-colors",children:i.phone})]})]}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 flex items-center justify-center text-[#00E5CC] shrink-0",children:e.jsx(zu,{className:"w-6 h-6"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-bold mb-1",children:i.labelEmail??"Email"}),e.jsx("a",{href:`mailto:${i.email}`,className:"text-lg text-[#B0C8D0]/70 hover:text-white transition-colors",children:i.email})]})]}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 flex items-center justify-center text-[#00E5CC] shrink-0",children:e.jsx(nt,{className:"w-6 h-6"})}),e.jsx("div",{children:e.jsx("p",{className:"text-white font-bold mb-1",children:i.location})})]}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-[#9B30FF]/20 flex items-center justify-center text-[#00E5CC] shrink-0",children:e.jsx(ki,{className:"w-6 h-6"})}),e.jsx("div",{children:e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm",children:i.responseTime})})]})]})]})}),e.jsx(T,{className:"lg:col-span-3",delay:.2,children:e.jsxs("div",{className:"bg-glass p-8 md:p-10 rounded-2xl",children:[e.jsx("h3",{className:"text-2xl font-bold text-white mb-8",children:i.heroTitle}),e.jsxs("form",{onSubmit:v,className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formName}),e.jsx("input",{name:"name",value:p.name,onChange:g,className:k,placeholder:"John Smith"}),m.name&&e.jsx("p",{className:"text-red-400 text-sm",children:m.name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formOrg}),e.jsx("input",{name:"company",value:p.company,onChange:g,className:k,placeholder:"Police Department (PD) / Company"}),m.company&&e.jsx("p",{className:"text-red-400 text-sm",children:m.company})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formPhone}),e.jsx("input",{name:"phone",value:p.phone,onChange:g,className:k,placeholder:"+1 (999) 999-9999"}),m.phone&&e.jsx("p",{className:"text-red-400 text-sm",children:m.phone})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formSector}),e.jsxs("select",{name:"sector",value:p.sector,onChange:g,className:k+" appearance-none",children:[e.jsx("option",{value:"",children:i.formSectorOpt1}),e.jsx("option",{value:"gov",children:i.formSectorOpt2}),e.jsx("option",{value:"traffic",children:i.formSectorOpt3}),e.jsx("option",{value:"private",children:i.formSectorOpt4}),e.jsx("option",{value:"condo",children:i.formSectorOpt5}),e.jsx("option",{value:"home",children:i.formSectorOpt6}),e.jsx("option",{value:"other",children:i.formSectorOpt7})]}),m.sector&&e.jsx("p",{className:"text-red-400 text-sm",children:m.sector})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formProduct}),e.jsxs("select",{name:"product",value:p.product,onChange:g,className:k+" appearance-none",children:[e.jsx("option",{value:"",children:i.formProdOpt1}),e.jsx("option",{value:"drakon",children:i.formProdOpt2}),e.jsx("option",{value:"perceptrum",children:i.formProdOpt3}),e.jsx("option",{value:"fastai",children:i.formProdOpt4}),e.jsx("option",{value:"all",children:i.formProdOpt5})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:j,children:i.formMessage}),e.jsx("textarea",{name:"message",value:p.message,onChange:g,rows:4,className:k+" resize-none",placeholder:"..."})]}),e.jsx(oe,{type:"submit",disabled:o,className:"w-full h-14 text-lg",children:o?i.formSending:e.jsxs(e.Fragment,{children:[i.formSend," ",e.jsx($l,{className:"w-5 h-5 ml-2"})]})})]})]})})]})]})]})}const an="[email protected]";function qN(){const{t:s}
45=_e(),i=s.careers,l=[{title:i.perk1Title,desc:i.perk1Desc},{title:i.perk2Title,desc:i.perk2Desc},{title:i.perk3Title,desc:i.perk3Desc},{title:i.perk4Title,desc:i.perk4Desc},{title:i.perk5Title,desc:i.perk5Desc},{title:i.perk6Title,desc:i.perk6Desc}],o=[{title:i.job1Title,area:i.job1Area,type:i.job1Type??"CLT / PJ",location:i.job1Location??"São Paulo, SP / Remote",desc:i.job1Desc},{title:i.job2Title,area:i.job2Area,type:i.job2Type??"CLT / PJ",location:i.job2Location??"Remote",desc:i.job2Desc},{title:i.job3Title,area:i.job3Area,type:i.job3Type??"PJ",location:i.job3Location??"São Paulo, SP / Boa Vista, RR",desc:i.job3Desc},{title:i.job4Title,area:i.job4Area,type:i.job4Type??"CLT",location:i.job4Location??"São Paulo, SP",desc:i.job4Desc},{title:i.job5Title,area:i.job5Area,type:i.job5Type??"CLT / PJ",location:i.job5Location??"Remote / On-site",desc:i.job5Desc},{title:i.job6Title,area:i.job6Area,type:i.job6Type??"PJ",location:i.job6Location??"Remote",desc:i.job6Desc}],u=[{title:i.proc1Title,desc:i.proc1Desc},{title:i.proc2Title,desc:i.proc2Desc},{title:i.proc3Title,desc:i.proc3Desc},{title:i.proc4Title,desc:i.proc4Desc}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:"Careers at AiQuimist.ai — Join Our Team",description:"Join AiQuimist.ai and help build the future of AI-powered public safety. Explore open positions in AI engineering, product, and business development.",canonical:"https://aiquimist.ai/careers"}),e.jsxs("section",{className:"relative pt-40 pb-28 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0D0F14] to-[#001a4a]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[800px] h-[800px] bg-[#9B30FF]/15 rounded-full blur-[150px] -translate-y-1/2 translate-x-1/4 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[600px] h-[600px] bg-[#00E5CC]/8 rounded-full blur-[120px] pointer-events-none"}),e.jsx("div",{className:"relative z-10 max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(Pe.div,{initial:{opacity:0,y:40},animate:{opacity:1,y:0},transition:{duration:.8},children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:i.heroTag}),e.jsxs("h1",{className:"text-5xl md:text-7xl font-black text-white mb-6 leading-tight",children:[i.heroTitle," ",e.jsx("span",{className:"text-[#00E5CC]",children:i.heroTitleCyan})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 leading-relaxed max-w-3xl mx-auto mb-12",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:"#openings",children:e.jsxs(oe,{size:"lg",className:"h-14 px-8  text-base",children:[i.btnViewJobs," ",e.jsx(Qe,{className:"w-5 h-5 ml-2"})]})}),e.jsx("a",{href:`mailto:${an}?subject=Candidatura%20Espontânea`,children:e.jsx(oe,{size:"lg",variant:"outline",className:"h-14 px-8  text-base border-[rgba(0,229,204,0.3)] text-[#00E5CC] hover:bg-[#9B30FF]/20",children:i.btnSpontaneous})})]})]})})]}),e.jsx("section",{className:"py-24 border-t border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.whyTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.whyTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto text-lg",children:i.whySub})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:l.map((p,f)=>e.jsx(T,{delay:f*.07,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.12)] rounded-2xl p-8 hover:border-[#00E5CC]/30 transition-all h-full",children:[e.jsx(Xe,{className:"w-7 h-7 text-[#00E5CC] mb-4"}),e.jsx("h4",{className:"text-white font-bold text-lg mb-2",children:p.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:p.desc})]})},f))})]})}),e.jsx("section",{id:"openings",className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.openTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.openTitle}),e.jsxs("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto text-lg",children:[i.openSub," ",e.jsx("a",{href:`mailto:${an}`,className:"text-[#00E5CC] hover:underline",children:an})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:o.map((p,f)=>e.jsx(T,{delay:f*.07,children:e.jsxs("a",{href:`mailto:${an}?subject=${encodeURIComponent(p.title)}`,className:"block bg-[#080A0F]/70 border border-[rgba(0,229,204,0.12)] rounded-2xl p-8 hover:border-[#00E5CC]/40 transition-all hover:-translate-y-1 group h-full",children:[e.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[e.jsx("span",{className:"text-xs font-bold px-3 py-1 rounded-full bg-[#9B30FF]/20 text-[#00E5CC] border border-[rgba(0,229,204,0.18)]",children:p.area}),e.jsx("span",{className:"text-xs font-bold px-3 py-1 rounded-full bg-white/5 text-[#B0C8D0]/70 border border-white/10",children:p.type})]}),e.jsx("h3",{className:"text-xl font-black text-white mb-3 group-hover:text-[#00E5CC] transition-colors",children:p.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed mb-4",children:p.desc}),e.jsxs("div",{className:"flex items-center gap-2 text-[#B0C8D0]/50 text-xs",children:[e.jsx(nt,{className:"w-3.5 h-3.5"}),p.location]})]})},f))})]})}),e.jsx("section",{className:"py-24",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.procTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.procTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:u.map((p,f)=>e.jsx(T,{delay:f*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.12)] rounded-2xl p-8 h-full",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] flex items-center justify-center text-[#00E5CC] font-black text-xl mb-6",children:f+1}),e.jsx("h4",{className:"text-white font-bold text-lg mb-3",children:p.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:p.desc})]})},f))})]})}),e.jsxs("section",{className:"py-28 relative overflow-hidden border-t border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[700px] h-[700px] bg-[#9B30FF]/15 rounded-full blur-[120px] pointer-events-none"}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx(Xy,{className:"w-12 h-12 text-[#00E5CC] mx-auto mb-6"}),e.jsxs("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6",children:[i.ctaTitle,e.jsx("br",{}),e.jsx("span",{className:"text-[#00E5CC]",children:i.ctaTitleCyan})]}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/85 mb-10 max-w-2xl mx-auto leading-relaxed",children:i.ctaSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:`mailto:${an}?subject=Candidatura`,children:e.jsxs(oe,{size:"lg",className:"h-16 px-10 text-lg ",children:[e.jsx($l,{className:"w-5 h-5 mr-2"}),i.ctaBtn]})}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",className:"h-16 px-10 text-lg  border-[rgba(0,229,204,0.3)] text-[#00E5CC] hover:bg-[#9B30FF]/20",children:s.common.contactUs})})]})]})})]})]})}const ib=[{id:"intro",icon:Yi,label:"Introduction"},{id:"collect",icon:Gr,label:"Data We Collect"},{id:"use",icon:He,label:"How We Use Data"},{id:"share",icon:wi,label:"Data Sharing"},{id:"security",icon:$e,label:"Security"},{id:"retention",icon:Gr,label:"Retention"},{id:"transfers",icon:qa,label:"International Transfers"},{id:"lgpd",icon:pa,label:"LGPD / GDPR Rights"},{id:"cookies",icon:He,label:"Cookies"},{id:"children",icon:wi,label:"Children"},{id:"changes",icon:Yi,label:"Changes"},{id:"contact",icon:zu,label:"Contact"}],LN=[{id:"intro",label:"Introdução"},{id:"collect",label:"Dados Coletados"},{id:"use",label:"Uso dos Dados"},{id:"share",label:"Compartilhamento"},{id:"security",label:"Segurança"},{id:"retention",label:"Retenção"},{id:"transfers",label:"Transferências Internacionais"},{id:"lgpd",label:"Direitos LGPD / GDPR"},{id:"cookies",label:"Cookies"},{id:"children",label:"Crianças"},{id:"changes",label:"Alterações"},{id:"contact",label:"Contato"}];function GN(){const{lang:s,t:i}=_e(),l=s==="pt",o=i.privacy,[u,p]=C.useState("intro");C.useEffect(()=>{window.scrollTo(0,0);const m=new IntersectionObserver(h=>{h.forEach(b=>{b.isIntersecting&&p(b.target.id)})},{rootMargin:"-20% 0px -70% 0px"});return document.querySelectorAll("[data-section]").forEach(h=>
45m.observe(h)),()=>m.disconnect()},[]);const f=ib.map((m,h)=>({...m,label:o?.[`toc${h+1}`]??(l?LN[h].label:m.label)}));return e.jsxs("div",{className:"bg-[#080A0F] min-h-screen text-[#B0C8D0]/85",children:[e.jsx(ha,{title:"Privacy Policy — AiQuimist.ai",description:"Read AiQuimist.ai's privacy policy — how we collect, process, and protect your personal data in compliance with LGPD, GDPR, and CCPA.",canonical:"https://aiquimist.ai/privacy-policy",noIndex:!1}),e.jsx("div",{className:"bg-gradient-to-b from-[#06080D] to-[#080A0F] border-b border-[rgba(0,229,204,0.12)] pt-32 pb-16",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-[#B0C8D0]/50 mb-6",children:[e.jsx($,{href:"/",className:"hover:text-[#00E5CC] transition-colors",children:"Home"}),e.jsx(Qe,{className:"w-4 h-4"}),e.jsx("span",{className:"text-[#B0C8D0]/85",children:o?.breadcrumb??(l?"Política de Privacidade":"Privacy Policy")})]}),e.jsxs("div",{className:"flex items-center gap-5 mb-6",children:[e.jsx("div",{className:"w-14 h-14 rounded-2xl bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.18)] flex items-center justify-center shrink-0",children:e.jsx(pa,{className:"w-7 h-7 text-[#00E5CC]"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-white",children:o?.title??(l?"Política de Privacidade":"Privacy Policy")}),e.jsx("p",{className:"text-[#B0C8D0]/70 mt-2 text-sm",children:o?.lastUpdated??(l?"Última atualização: 21 de março de 2026":"Last updated: March 21, 2026")})]})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-3xl text-lg leading-relaxed",children:o?.intro??(l?"A AiQuimist.ai tem o compromisso de proteger sua privacidade e tratar seus dados pessoais com transparência, segurança e respeito, em conformidade com a LGPD, GDPR e demais legislações aplicáveis.":"AiQuimist.ai is committed to protecting your privacy and handling your personal data with transparency, security, and respect, in compliance with the LGPD, GDPR, and other applicable laws.")})]})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:e.jsxs("div",{className:"flex flex-col lg:flex-row gap-12",children:[e.jsx("aside",{className:"lg:w-64 shrink-0",children:e.jsxs("div",{className:"lg:sticky lg:top-24 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-2xl p-6",children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-[#00E5CC] font-semibold mb-5",children:o?.navLabel??(l?"Navegação":"Navigation")}),e.jsx("ul",{className:"space-y-1",children:f.map((m,h)=>{const b=ib[h].icon;return e.jsx("li",{children:e.jsxs("a",{href:`#${m.id}`,className:`flex items-center gap-3 px-3 py-2 rounded-xl text-sm transition-all ${u===m.id?"bg-[#9B30FF]/20 text-[#00E5CC] font-semibold":"text-[#B0C8D0]/70 hover:text-white hover:bg-white/5"}`,onClick:()=>p(m.id),children:[e.jsx(b,{className:"w-4 h-4 shrink-0"}),m.label]})},m.id)})})]})}),e.jsxs("article",{className:"flex-1 max-w-3xl space-y-16 text-sm leading-relaxed",children:[e.jsx($a,{id:"intro",title:o?.section1??(l?"1. Introdução":"1. Introduction"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["A ",e.jsx("strong",{className:"text-white",children:"AiQuimist.ai"}),' (doravante "nós", "nossa" ou "Empresa") opera plataformas de inteligência artificial aplicadas à segurança pública, segurança privada e cidades inteligentes. Esta Política de Privacidade descreve como coletamos, usamos, protegemos e compartilhamos informações pessoais de clientes, parceiros, visitantes de nosso site e usuários de nossos serviços (coletivamente, "você").']}),e.jsx("p",{className:"mt-4",children:"Ao utilizar nossos serviços ou acessar nosso site, você reconhece ter lido e compreendido esta Política. Caso não concorde com os termos aqui descritos, solicitamos que não utilize nossos serviços."}),e.jsxs("p",{className:"mt-4",children:["Estamos registrados nos Estados Unidos (Delaware) e no Brasil, e processamos dados pessoais em conformidade com a ",e.jsx("strong",{className:"text-white",children:"Lei Geral de Proteção de Dados (LGPD — Lei nº 13.709/2018)"}),", o ",e.jsx("strong",{className:"text-white",children:"Regulamento Geral sobre a Proteção de Dados da União Europeia (GDPR — Regulamento UE 2016/679)"}),", a ",e.jsx("strong",{className:"text-white",children:"California Consumer Privacy Act (CCPA)"})," e demais legislações aplicáveis nas jurisdições em que operamos."]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:[e.jsx("strong",{className:"text-white",children:"AiQuimist.ai"}),' (hereinafter "we," "our," or "Company") operates artificial intelligence platforms applied to public safety, private security, and smart cities. This Privacy Policy describes how we 
45collect, use, protect, and share personal information from customers, partners, website visitors, and users of our services (collectively, "you").']}),e.jsx("p",{className:"mt-4",children:"By using our services or accessing our website, you acknowledge having read and understood this Policy. If you do not agree with the terms described herein, we ask that you do not use our services."}),e.jsxs("p",{className:"mt-4",children:["We are registered in the United States (Delaware) and Brazil, and we process personal data in compliance with the ",e.jsx("strong",{className:"text-white",children:"Brazilian General Data Protection Law (LGPD — Law No. 13,709/2018)"}),", the ",e.jsx("strong",{className:"text-white",children:"European Union General Data Protection Regulation (GDPR — EU Regulation 2016/679)"}),", the ",e.jsx("strong",{className:"text-white",children:"California Consumer Privacy Act (CCPA)"}),", and other applicable laws in the jurisdictions where we operate."]})]})}),e.jsx($a,{id:"collect",title:o?.section2??(l?"2. Dados que Coletamos":"2. Data We Collect"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Coletamos diferentes categorias de dados pessoais dependendo do seu relacionamento conosco:"}),e.jsx(ja,{title:"2.1 Dados fornecidos diretamente por você",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-2",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de identificação:"})," nome completo, cargo, nome da empresa, número de CNPJ/CPF (quando aplicável)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de contato:"})," endereço de e-mail, número de telefone, endereço comercial"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de conta:"})," credenciais de acesso (nome de usuário, senha criptografada), preferências de conta"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de comunicação:"})," conteúdo de mensagens, solicitações de suporte técnico, feedback"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados contratuais:"})," informações necessárias para execução de contratos, incluindo dados de faturamento"]})]})}),e.jsx(ja,{title:"2.2 Dados coletados automaticamente",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-2",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de uso:"})," páginas visitadas, tempo de sessão, cliques, funcionalidades acessadas"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados técnicos:"})," endereço IP, tipo e versão do navegador, sistema operacional, resolução de tela"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Dados de localização:"})," localização aproximada com base no IP (país/região)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Logs de sistema:"})," registros de acesso, erros e eventos de segurança"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Cookies e tecnologias similares:"})," conforme detalhado na Seção 9"]})]})}),e.jsx(ja,{title:"2.3 Dados de clientes processados em nome de terceiros",children:e.jsxs("p",{className:"mt-2",children:["Quando nossos clientes (operadores) utilizam nossas plataformas de IA para processamento de dados de câmeras e sensores, operamos como ",e.jsx("strong",{className:"text-white",children:"operador de dados"})," sob as instruções do cliente (controlador). Dados de vídeo, imagens e metadados associados são processados exclusivamente conforme o contrato de prestação de serviços."]})})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We collect different categories of personal data depending on your relationship with us:"}),e.jsx(ja,{title:"2.1 Data You Provide Directly",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-2",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Identification data:"})," full name, job title, company name, tax identification numbers (where applicable)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Contact data:"})," email address, phone number, business address"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Account data:"})," access credentials (username, encrypted password), account preferences"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Communication data:"})," message contents, technical support requests, feedback"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Contractual data:"})," information required for contract execution, including billing data"]})]})}),e.jsx(ja,{title:"2.2 Automatically Collected Data",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-2",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Usage data:"})," pages visited, session duration, clicks, features accessed"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Technical data:"})," IP address, browser type and version, operating system, screen resolution"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Location data:"})," approximate location based on IP (country/region)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"System logs:"})," access records, errors, and security events"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Cookies and similar technologies:"})," as detailed in Section 9"]})]})}),e.jsx(ja,{title:"2.3 Customer Data Processed on Behalf of Third Parties",children:e.jsxs("p",{className:"mt-2",children:["When our customers (operators) use our AI platforms to process data from cameras and sensors, we act as a ",e.jsx("strong",{className:"text-white",children:"data processor"})," under the customer's instructions (controller). Video data, images, and associated metadata are processed exclusively in accordance with the service agreement."]})})]})}),e.jsx($a,{id:"use",title:o?.section3??(l?"3. Como Usamos Seus Dados":"3. How We Use Your Data"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Utilizamos dados pessoais com base nas seguintes hipóteses legais previstas na LGPD e no GDPR:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Finalidade"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Base Legal"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Prestação dos serviços contratados","Execução de contrato (Art. 7º, V da LGPD)"],["Criação e gerenciamento de contas de usuário","Execução de contrato"],["Suporte técnico e atendimento ao cliente","Execução de contrato / Legítimo interesse"],["Faturamento e gestão financeira","Execução de contrato / Obrigação legal"],["Melhoria de produtos e serviços","
45Legítimo interesse (Art. 7º, IX da LGPD)"],["Análise de segurança e prevenção a fraudes","Legítimo interesse / Segurança"],["Comunicações de marketing (com consentimento)","Consentimento (Art. 7º, I da LGPD)"],["Cumprimento de obrigações legais e regulatórias","Obrigação legal (Art. 7º, II da LGPD)"],["Defesa em processos judiciais ou administrativos","Exercício regular de direitos"]].map(([m,h])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:h})]},m))})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We use personal data based on the following legal grounds under the LGPD and GDPR:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Purpose"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Legal Basis"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Providing contracted services","Contract performance"],["Creating and managing user accounts","Contract performance"],["Technical support and customer service","Contract performance / Legitimate interest"],["Billing and financial management","Contract performance / Legal obligation"],["Product and service improvement","Legitimate interest"],["Security analysis and fraud prevention","Legitimate interest / Security"],["Marketing communications (with consent)","Consent"],["Compliance with legal and regulatory obligations","Legal obligation"],["Defense in legal or administrative proceedings","Exercise of legal rights"]].map(([m,h])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:h})]},m))})]})]})}),e.jsx($a,{id:"share",title:o?.section4??(l?"4. Compartilhamento de Dados":"4. Data Sharing"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["A AiQuimist.ai ",e.jsx("strong",{className:"text-white",children:"não vende"})," dados pessoais. Compartilhamos dados apenas nas seguintes situações:"]}),e.jsx(ja,{title:"4.1 Prestadores de serviços",children:e.jsx("p",{className:"mt-2",children:"Contratamos empresas terceirizadas para auxiliar na operação de nossos serviços (provedores de infraestrutura em nuvem, processadores de pagamento, plataformas de e-mail). Esses parceiros estão contratualmente obrigados a processar dados apenas conforme nossas instruções e manter padrões adequados de segurança."})}),e.jsx(ja,{title:"4.2 Autoridades governamentais",children:e.jsx("p",{className:"mt-2",children:"Podemos divulgar dados quando legalmente obrigados por ordem judicial, requisição de autoridade competente ou cumprimento de obrigação legal."})}),e.jsx(ja,{title:"4.3 Transações corporativas",children:e.jsx("p",{className:"mt-2",children:"Em caso de fusão, aquisição ou venda de ativos, dados pessoais podem ser transferidos como parte da transação, sempre com garantias adequadas de proteção."})}),e.jsx(ja,{title:"4.4 Com seu consentimento",children:e.jsx("p",{className:"mt-2",children:"Podemos compartilhar dados com terceiros quando você nos autorizar expressamente."})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["AiQuimist.ai does ",e.jsx("strong",{className:"text-white",children:"not sell"})," personal data. We share data only in the following situations:"]}),e.jsx(ja,{title:"4.1 Service Providers",children:e.jsx("p",{className:"mt-2",children:"We engage third-party companies to assist in operating our services (cloud infrastructure providers, payment processors, email platforms). These partners are contractually bound to process data only according to our instructions and maintain appropriate security standards."})}),e.jsx(ja,{title:"4.2 Government Authorities",children:e.jsx("p",{className:"mt-2",children:"We may disclose data when legally required by court order, request of competent authority, or to fulfill legal obligations."})}),e.jsx(ja,{title:"4.3 Corporate Transactions",children:e.jsx("p",{className:"mt-2",children:"In the event of a merger, acquisition, or asset sale, personal data may be transferred as part of the transaction, always with adequate protection guarantees."})}),e.jsx(ja,{title:"4.4 With Your Consent",children:e.jsx("p",{className:"mt-2",children:"We may share data with third parties when you expressly authorize us to do so."})})]})}),e.jsx($a,{id:"security",title:o?.section5??(l?"5. Segurança dos Dados":"5. Data Security"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Implementamos medidas técnicas e organizacionais robustas para proteger seus dados pessoais:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-4",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Criptografia em trânsito:"})," TLS 1.3 para todas as comunicações"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Criptografia em repouso:"})," AES-256 para dados armazenados"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Controle de acesso:"})," princípio do menor privilégio, autenticação multifator (MFA) obrigatória para sistemas críticos"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Monitoramento contínuo:"})," detecção de intrusões, análise de logs de segurança em tempo real"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Testes de segurança:"})," testes de penetração periódicos realizados por especialistas independentes"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Resposta a incidentes:"})," plano formal de resposta a incidentes com notificação em até 72 horas às autoridades competentes"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Treinamento:"})," todos os colaboradores com acesso a dados pessoais recebem treinamento obrigatório em privacidade e segurança"]})]}),e.jsxs("p",{className:"mt-4 p-4 bg-[#9B30FF]/10 border border-[rgba(0,229,204,0.18)] rounded-xl",children:[e.jsx("strong",{className:"text-white",children:"Notificação de violação:"})," Em caso de incidente de segurança que resulte em violação de dados pessoais, notificaremos a Autoridade Nacional de Proteção de Dados (ANPD) e os titulares afetados dentro dos prazos legais."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We implement robust technical and organizational measures to protect your personal data:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-4",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Encryption in transit:"}
45)," TLS 1.3 for all communications"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Encryption at rest:"})," AES-256 for stored data"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Access control:"})," principle of least privilege, mandatory multi-factor authentication (MFA) for critical systems"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Continuous monitoring:"})," intrusion detection, real-time security log analysis"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Security testing:"})," periodic penetration tests conducted by independent experts"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Incident response:"})," formal incident response plan with notification within 72 hours to competent authorities"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"Training:"})," all employees with access to personal data receive mandatory privacy and security training"]})]}),e.jsxs("p",{className:"mt-4 p-4 bg-[#9B30FF]/10 border border-[rgba(0,229,204,0.18)] rounded-xl",children:[e.jsx("strong",{className:"text-white",children:"Breach Notification:"})," In the event of a security incident resulting in a personal data breach, we will notify the competent Data Protection Authority and affected data subjects within legal timeframes."]})]})}),e.jsx($a,{id:"retention",title:o?.section6??(l?"6. Retenção de Dados":"6. Data Retention"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Retemos dados pessoais apenas pelo tempo necessário para as finalidades para as quais foram coletados ou conforme exigido por lei:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Categoria"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Prazo de Retenção"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Dados de conta ativa","Duração do relacionamento contratual + 5 anos"],["Dados de faturamento e contratos","10 anos (obrigação fiscal/legal)"],["Logs de sistema e segurança","12 meses"],["Dados de suporte técnico","3 anos após encerramento do chamado"],["Comunicações de marketing","Até revogação do consentimento"],["Dados de vídeo/câmera (clientes B2B)","Conforme contrato (padrão: 30 dias)"],["Dados de navegação e cookies analíticos","13 meses"]].map(([m,h])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:h})]},m))})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We retain personal data only as long as necessary for the purposes for which it was collected or as required by law:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Category"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Retention Period"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Active account data","Duration of contractual relationship + 5 years"],["Billing and contract data","10 years (tax/legal obligation)"],["System and security logs","12 months"],["Technical support data","3 years after ticket closure"],["Marketing communications","Until consent is revoked"],["Video/camera data (B2B customers)","Per contract (default: 30 days)"],["Navigation data and analytics cookies","13 months"]].map(([m,h])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:h})]},m))})]})]})}),e.jsx($a,{id:"transfers",title:o?.section7??(l?"7. Transferências Internacionais":"7. International Transfers"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Operamos globalmente, o que pode envolver transferências de dados pessoais entre países. Para garantir proteção adequada em transferências internacionais, adotamos:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-4",children:[e.jsx("li",{children:"Cláusulas Contratuais Padrão (SCCs) aprovadas pela Comissão Europeia"}),e.jsx("li",{children:"Avaliação de impacto de transferência (TIA) quando exigido pelo GDPR"}),e.jsx("li",{children:"Contratos de processamento de dados (DPAs) com todos os subprocessadores"}),e.jsx("li",{children:"Conformidade com as exigências da ANPD para transferências internacionais sob a LGPD"})]}),e.jsxs("p",{className:"mt-4",children:["Nossos principais centros de processamento de dados estão localizados nos ",e.jsx("strong",{className:"text-white",children:"Estados Unidos"})," e no ",e.jsx("strong",{className:"text-white",children:"Brasil"}),". Utilizamos provedores de nuvem certificados (incluindo AWS, Microsoft Azure e Google Cloud) com certificações ISO 27001, SOC 2 Type II e conformidade com GDPR."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We operate globally, which may involve transferring personal data between countries. To ensure adequate protection in international transfers, we adopt:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-4",children:[e.jsx("li",{children:"Standard Contractual Clauses (SCCs) approved by the European Commission"}),e.jsx("li",{children:"Transfer Impact Assessment (TIA) when required by GDPR"}),e.jsx("li",{children:"Data Processing Agreements (DPAs) with all sub-processors"}),e.jsx("li",{children:"Compliance with ANPD requirements for international transfers under LGPD"})]}),e.jsxs("p",{className:"mt-4",children:["Our main data processing centers are located in the ",e.jsx("strong",{className:"text-white",children:"United States"})," and ",e.jsx("strong",{className:"text-white",children:"Brazil"}),". We use certified cloud providers (including AWS, Microsoft Azure, and Google Cloud) with ISO 27001, SOC 2 Type II certifications and GDPR compliance."]})]})}),e.jsx($a,{id:"lgpd",title:o?.section8??(l?"8. Seus Direitos (LGPD / GDPR)":"8. Your Rights (LGPD / GDPR)"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Você possui os 
45seguintes direitos em relação aos seus dados pessoais, conforme a LGPD (art. 18) e o GDPR (art. 15–22):"}),e.jsx("div",{className:"grid sm:grid-cols-2 gap-4 mt-4",children:[["Acesso","Solicitar cópia dos seus dados pessoais que processamos"],["Retificação","Corrigir dados incompletos, inexatos ou desatualizados"],["Exclusão","Solicitar apagamento dos dados desnecessários ou tratados em desconformidade"],["Portabilidade","Receber seus dados em formato estruturado e interoperável"],["Oposição","Opor-se ao tratamento com base em legítimo interesse"],["Revogação do consentimento","Retirar consentimento a qualquer momento, sem prejuízo da licitude do tratamento anterior"],["Informação","Ser informado sobre com quem seus dados são compartilhados"],["Não discriminação","Não ser discriminado por exercer seus direitos"]].map(([m,h])=>e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-[#00E5CC] font-semibold text-sm mb-1",children:m}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs",children:h})]},m))}),e.jsx("p",{className:"mt-6",children:"Para exercer qualquer um desses direitos, entre em contato com nosso Encarregado de Proteção de Dados (DPO):"}),e.jsxs("p",{className:"mt-2 p-4 bg-[#9B30FF]/10 border border-[rgba(0,229,204,0.18)] rounded-xl",children:[e.jsx("strong",{className:"text-white",children:"DPO AiQuimist.ai"}),e.jsx("br",{}),"E-mail: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-[#00E5CC] hover:underline",children:"[email protected]"}),e.jsx("br",{}),"Responderemos em até ",e.jsx("strong",{className:"text-white",children:"15 dias úteis"})," a partir do recebimento da solicitação."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"You have the following rights regarding your personal data, under the LGPD (art. 18) and GDPR (art. 15–22):"}),e.jsx("div",{className:"grid sm:grid-cols-2 gap-4 mt-4",children:[["Access","Request a copy of the personal data we process about you"],["Rectification","Correct incomplete, inaccurate, or outdated data"],["Erasure","Request deletion of unnecessary or non-compliant data"],["Portability","Receive your data in a structured, interoperable format"],["Objection","Object to processing based on legitimate interest"],["Consent withdrawal","Withdraw consent at any time without affecting prior lawful processing"],["Information","Be informed about who your data is shared with"],["Non-discrimination","Not be discriminated against for exercising your rights"]].map(([m,h])=>e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-[#00E5CC] font-semibold text-sm mb-1",children:m}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs",children:h})]},m))}),e.jsx("p",{className:"mt-6",children:"To exercise any of these rights, contact our Data Protection Officer (DPO):"}),e.jsxs("p",{className:"mt-2 p-4 bg-[#9B30FF]/10 border border-[rgba(0,229,204,0.18)] rounded-xl",children:[e.jsx("strong",{className:"text-white",children:"AiQuimist.ai DPO"}),e.jsx("br",{}),"Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-[#00E5CC] hover:underline",children:"[email protected]"}),e.jsx("br",{}),"We will respond within ",e.jsx("strong",{className:"text-white",children:"15 business days"})," of receiving your request."]})]})}),e.jsx($a,{id:"cookies",title:o?.section9??(l?"9. Cookies e Tecnologias de Rastreamento":"9. Cookies and Tracking Technologies"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Utilizamos cookies e tecnologias similares para melhorar sua experiência. Você pode controlar o uso de cookies nas configurações do seu navegador."}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Tipo"}),e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Finalidade"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Exemplos"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Essenciais","Necessários para o funcionamento básico do site e autenticação","Sessão, CSRF"],["Funcionais","Lembram preferências do usuário (idioma, tema)","Preferência de idioma"],["Analíticos","Medem desempenho e uso do site (dados anonimizados)","Google Analytics"],["Marketing","Veiculação de publicidade relevante (somente com consentimento)","Google Ads"]].map(([m,h,b])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#00E5CC] font-medium",children:m}),e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:h}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:b})]},m))})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We use cookies and similar technologies to enhance your experience. You can control cookie use in your browser settings."}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Type"}),e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Purpose"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Examples"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Essential","Required for basic site operation and authentication","Session, CSRF"],["Functional","Remember user preferences (language, theme)","Language preference"],["Analytical","Measure site performance and usage (anonymized data)","Google Analytics"],["Marketing","Deliver relevant advertising (consent only)","Google Ads"]].map(([m,h,b])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#00E5CC] font-medium",children:m}),e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:h}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:b})]},m))})]})]})}),e.jsx($a,{id:"children",title:o?.section10??(l?"10. Privacidade de Crianças":"10. Children's Privacy"),children:e.jsx("p",{children:l?"Nossos serviços são destinados exclusivamente a empresas e profissionais adultos. Não coletamos intencionalmente dados pessoais de crianças menores de 18 anos. Se tomarmos conhecimento de que coletamos acidentalmente dados de uma criança sem verificação de consentimento parental adequado, tomaremos medidas imediatas para excluir essas informações. Se você acreditar que coletamos dados de uma criança, entre em contato conosco imediatamente pelo e-mail [email protected].":"Our services are intended exclusively for businesses and adult professionals. We do not intentionally collect personal data from children under 18 years of age. If we become aware that we have accidentally collected data from a child without appropriate parental consent verification, we will take immediate steps to delete that information. If you believe we have collected data from a child, please contact us immediately at [email protected]."})}),e.jsx($a,{id:"changes",title:o?.section11??(l?"11. Alterações a Esta Política":"11. 
45Changes to This Policy"),children:e.jsx("p",{children:l?"Podemos atualizar esta Política de Privacidade periodicamente para refletir mudanças em nossas práticas, legislação aplicável ou serviços. Notificaremos você sobre alterações materiais por e-mail (para usuários registrados) ou por aviso destacado em nosso site. A data da última atualização será sempre indicada no topo desta página. Recomendamos que você revise esta Política periodicamente.":"We may periodically update this Privacy Policy to reflect changes in our practices, applicable law, or services. We will notify you of material changes by email (for registered users) or by prominent notice on our website. The date of the last update will always be indicated at the top of this page. We recommend you review this Policy periodically."})}),e.jsx($a,{id:"contact",title:o?.section12??(l?"12. Contato e DPO":"12. Contact & DPO"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Para dúvidas, solicitações ou reclamações relacionadas a esta Política ou ao tratamento de seus dados pessoais, entre em contato:"}),e.jsxs("div",{className:"mt-6 grid sm:grid-cols-2 gap-4",children:[e.jsx(vi,{title:"Encarregado de Dados (DPO)",email:"[email protected]",desc:"Para solicitações de direitos, reclamações e questões de privacidade"}),e.jsx(vi,{title:"Privacidade Geral",email:"[email protected]",desc:"Para dúvidas gerais sobre proteção de dados"}),e.jsx(vi,{title:"Segurança",email:"[email protected]",desc:"Para reportar vulnerabilidades ou incidentes de segurança"}),e.jsx(vi,{title:"Suporte Comercial",email:"[email protected]",desc:"Para questões contratuais e comerciais"})]}),e.jsxs("p",{className:"mt-6",children:["Você também tem o direito de registrar uma reclamação junto à ",e.jsx("strong",{className:"text-white",children:"ANPD (Autoridade Nacional de Proteção de Dados)"})," ou à autoridade supervisora de proteção de dados do seu país."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"For questions, requests, or complaints related to this Policy or the processing of your personal data, please contact:"}),e.jsxs("div",{className:"mt-6 grid sm:grid-cols-2 gap-4",children:[e.jsx(vi,{title:"Data Protection Officer (DPO)",email:"[email protected]",desc:"For rights requests, complaints, and privacy matters"}),e.jsx(vi,{title:"General Privacy",email:"[email protected]",desc:"For general data protection questions"}),e.jsx(vi,{title:"Security",email:"[email protected]",desc:"To report vulnerabilities or security incidents"}),e.jsx(vi,{title:"Commercial Support",email:"[email protected]",desc:"For contractual and commercial matters"})]}),e.jsxs("p",{className:"mt-6",children:["You also have the right to lodge a complaint with the ",e.jsx("strong",{className:"text-white",children:"ANPD (Brazilian N
45ational Data Protection Authority)"})," or the data protection supervisory authority in your country."]})]})})]})]})})]})}function $a({id:s,title:i,children:l}){return e.jsxs("section",{id:s,"data-section":!0,className:"scroll-mt-24",children:[e.jsx("h2",{className:"text-xl font-bold text-white mb-6 pb-3 border-b border-[rgba(0,229,204,0.18)]",children:i}),e.jsx("div",{className:"space-y-4 text-[#B0C8D0]/85",children:l})]})}function ja({title:s,children:i}){return e.jsxs("div",{className:"mt-5",children:[e.jsx("h3",{className:"text-base font-semibold text-white mb-2",children:s}),i]})}function vi({title:s,email:i,desc:l}){return e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-white font-semibold text-sm mb-1",children:s}),e.jsx("a",{href:`mailto:${i}`,className:"text-[#00E5CC] hover:underline text-sm",children:i}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs mt-1",children:l})]})}const VN=[{id:"acceptance",icon:Yl,enLabel:"Acceptance"},{id:"services",icon:Zy,enLabel:"Services"},{id:"account",icon:wi,enLabel:"Account"},{id:"license",icon:Yi,enLabel:"License & IP"},{id:"acceptable",icon:Yl,enLabel:"Acceptable Use"},{id:"privacy",icon:pa,enLabel:"Privacy & Data"},{id:"sla",icon:qa,enLabel:"Availability (SLA)"},{id:"billing",icon:e2,enLabel:"Billing"},{id:"liability",icon:Lt,enLabel:"Liability"},{id:"indemnification",icon:Jg,enLabel:"Indemnification"},{id:"termination",icon:du,enLabel:"Termination"},{id:"governing",icon:Jg,enLabel:"Governing Law"},{id:"changes",icon:Yi,enLabel:"Changes"},{id:"contact",icon:$e,enLabel:"Contact"}];function UN(){const{lang:s,t:i}=_e(),l=s==="pt",o=i.terms,[u,p]=C.useState("acceptance");C.useEffect(()=>{window.scrollTo(0,0);const m=new IntersectionObserver(h=>{h.forEach(b=>{b.isIntersecting&&p(b.target.id)})},{rootMargin:"-20% 0px -70% 0px"});return document.querySelectorAll("[data-section]").forEach(h=>m.observe(h)),()=>m.disconnect()},[]);const f=VN.map((m,h)=>({...m,label:o?.[`toc${h+1}`]??m.enLabel}));return e.jsxs("div",{className:"bg-[#080A0F] min-h-screen text-[#B0C8D0]/85",children:[e.jsx(ha,{title:"Terms of Service — AiQuimist.ai",description:"Read AiQuimist.ai's terms of service — the legal agreement governing use of our AI platforms and services, including licensing, SLA, and data processing terms.",canonical:"https://aiquimist.ai/terms-of-service",noIndex:!1}),e.jsx("div",{className:"bg-gradient-to-b from-[#06080D] to-[#080A0F] border-b border-[rgba(0,229,204,0.12)] pt-32 pb-16",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-[#B0C8D0]/50 mb-6",children:[e.jsx($,{href:"/",className:"hover:text-[#00E5CC] transition-colors",children:"Home"}),e.jsx(Qe,{className:"w-4 h-4"}),e.jsx("span",{className:"text-[#B0C8D0]/85",children:o?.breadcrumb??(l?"Termos de Serviço":"Terms of Service")})]}),e.jsxs("div",{className:"flex items-center gap-5 mb-6",children:[e.jsx("div",{className:"w-14 h-14 rounded-2xl bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.18)] flex items-center justify-center shrink-0",children:e.jsx(Yi,{className:"w-7 h-7 text-[#00E5CC]"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-white",children:o?.title??(l?"Termos de Serviço":"Terms of Service")}),e.jsx("p",{className:"text-[#B0C8D0]/70 mt-2 text-sm",children:o?.lastUpdated??(l?"Última atualização: 21 de março de 2026 · Versão 2.0":"Last updated: March 21, 2026 · Version 2.0")})]})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-3xl text-lg leading-relaxed",children:o?.intro??(l?"Este instrumento regula o acesso e uso dos produtos e serviços da AiQuimist.ai. Leia atentamente antes de utilizar qualquer um de nossos serviços.":"This agreement governs access to and use of AiQuimist.ai products and services. Please read carefully before using any of our services.")}),e.jsx("div",{className:"mt-6 p-4 bg-amber-500/10 border border-amber-500/30 rounded-xl max-w-3xl",children:e.jsxs("p",{className:"text-amber-300 text-sm",children:[e.jsx("strong",{children:l?"Aviso Legal: ":"Legal Notice: "}),l?"Ao criar uma conta ou utilizar qualquer serviço da AiQuimist.ai, você concorda com estes Termos de Serviço em nome de si mesmo e da organização que representa. Se não concordar, não utilize nossos serviços.":"By creating an account or using any AiQuimist.ai service, you agree to these Terms of Service on behalf of yourself and the organization you represent. If you do not agree, do not use our services."]})})]})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:e.jsxs("div",{className:"flex flex-col lg:flex-row gap-12",children:[e.jsx("aside",{className:"lg:w-64 shrink-0",children:e.jsxs("div",{className:"lg:sticky lg:top-24 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-2xl p-6",children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-[#00E5CC] font-semibold mb-5",children:o?.navLabel??(l?"Sumário":"Contents")}),e.jsx("ul",{className:"space-y-1",children:f.map(m=>{const h=m.icon;return e.jsx("li",{children:e.jsxs("a",{href:`#${m.id}`,className:`flex items-center gap-3 px-3 py-2 rounded-xl text-sm transition-all ${u===m.id?"bg-[#9B30FF]/20 text-[#00E5CC] font-semibold":"text-[#B0C8D0]/70 hover:text-white hover:bg-white/5"}`,onClick:()=>p(m.id),children:[e.jsx(h,{className:"w-4 h-4 shrink-0"}),m.label]})},m.id)})})]})}),e.jsxs("article",{className:"flex-1 max-w-3xl space-y-16 text-sm leading-relaxed",children:[e.jsx(Na,{id:"acceptance",title:o?.section1??(l?"1. Aceitação dos Termos":"1. Acceptance of Terms"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:['Estes Termos de Serviço ("Termos") constituem um contrato juridicamente vinculante entre você ("Cliente", "Usuário" ou "você") e a ',e.jsx("strong",{className:"text-white",children:"AiQuimist.ai LLC"}),', uma empresa registrada no Estado de Delaware, Estados Unidos, e suas afiliadas brasileiras e internacionais (coletivamente, "AiQuimist.ai", "nós" ou "nossa").']}),e.jsx("p",{className:"mt-4",children:'Ao acessar ou utilizar qualquer produto, plataforma, API, documentação, ferramenta ou serviço fornecido pela AiQuimist.ai (coletivamente, "Serviços"), você declara que:'}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"Tem capacidade legal para celebrar contratos vinculantes;"}),e.jsx("li",{children:"Se estiver aceitando em nome de uma organização, tem autoridade para vincular essa organização;"}),e.jsx("li",{children:"Leu, compreendeu e concorda com estes Termos e nossa Política de Privacidade."})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:['These Terms of Service ("Terms") constitute a legally binding agreement between you ("Customer," "
45User," or "you") and ',e.jsx("strong",{className:"text-white",children:"AiQuimist.ai LLC"}),', a company registered in the State of Delaware, United States, and its Brazilian and international affiliates (collectively, "AiQuimist.ai," "we," or "our").']}),e.jsx("p",{className:"mt-4",children:'By accessing or using any product, platform, API, documentation, tool, or service provided by AiQuimist.ai (collectively, "Services"), you represent that you:'}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"Have the legal capacity to enter into binding agreements;"}),e.jsx("li",{children:"If accepting on behalf of an organization, have the authority to bind that organization;"}),e.jsx("li",{children:"Have read, understood, and agree to these Terms and our Privacy Policy."})]})]})}),e.jsx(Na,{id:"services",title:o?.section2??(l?"2. Descrição dos Serviços":"2. Description of Services"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"A AiQuimist.ai oferece plataformas de inteligência artificial para segurança e cidades inteligentes, incluindo:"}),e.jsx("div",{className:"grid sm:grid-cols-3 gap-4 mt-4",children:[{name:"Perceptrum Corporate",desc:"Agente de segurança autônomo para monitoramento inteligente de câmeras, detecção de ameaças e integração com sistemas existentes (CCTV/VMS)"},{name:"Perceptrum Personal",desc:"Plataforma de visão computacional para o setor privado, com análise comportamental, 
45controle de acesso e business intelligence por câmeras"},{name:"F.A.S.T.-AI",desc:"Sistema de perseguição ativa para forças de segurança, com rastreamento preditivo de alvos em múltiplas câmeras e integração com dispatch"}].map(m=>e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-[#00E5CC] font-bold mb-2",children:m.name}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs",children:m.desc})]},m.name))}),e.jsx("p",{className:"mt-4",children:"Os Serviços são fornecidos como Software como Serviço (SaaS) e/ou instalação on-premise, conforme definido no contrato específico firmado entre as partes. A disponibilidade de funcionalidades específicas pode variar conforme o plano contratado."})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"AiQuimist.ai offers artificial intelligence platforms for security and smart cities, including:"}),e.jsx("div",{className:"grid sm:grid-cols-3 gap-4 mt-4",children:[{name:"Perceptrum Corporate",desc:"Autonomous AI security agent for intelligent camera monitoring, threat detection, and integration with existing CCTV/VMS systems"},{name:"Perceptrum Personal",desc:"Computer vision platform for the private sector, with behavioral analytics, access control, and camera-based business intelligence"},{name:"F.A.S.T.-AI",desc:"Active pursuit system for security forces, with predictive multi-camera target tracking and dispatch integration"}].map(m=>e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-[#00E5CC] font-bold mb-2",children:m.name}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs",children:m.desc})]},m.name))}),e.jsx("p",{className:"mt-4",children:"Services are provided as Software as a Service (SaaS) and/or on-premise installation, as defined in the specific agreement between the parties. Availability of specific features may vary by contracted plan."})]})}),e.jsx(Na,{id:"account",title:o?.section3??(l?"3. Registro e Conta de Usuário":"3. Account Registration"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Para acessar os Serviços, é necessário criar uma conta. Ao se registrar, você concorda em:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"Fornecer informações verdadeiras, precisas, atuais e completas;"}),e.jsx("li",{children:"Manter e atualizar prontamente suas informações de registro;"}),e.jsx("li",{children:"Manter a confidencialidade de suas credenciais de acesso;"}),e.jsx("li",{children:"Notificar-nos imediatamente em caso de uso não autorizado da sua conta;"}),e.jsx("li",{children:"Ser responsável por todas as atividades que ocorram sob sua conta."})]}),e.jsx("p",{className:"mt-4",children:"A AiQuimist.ai reserva-se o direito de desativar contas que violem estes Termos ou por suspeita de atividade fraudulenta, sem aviso prévio quando necessário para proteção do serviço."}),e.jsx("p",{className:"mt-4",children:"Contas empresariais podem incluir múltiplos usuários (administradores, operadores, leitores). O administrador da conta é responsável por gerenciar permissões e garantir que todos os usuários cumpram estes Termos."})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"To access the Services, you must create an account. By registering, you agree to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"Provide true, accurate, current, and complete information;"}),e.jsx("li",{children:"Promptly maintain and update your registration information;"}),e.jsx("li",{children:"Maintain the confidentiality of your access credentials;"}),e.jsx("li",{children:"Immediately notify us of any unauthorized use of your account;"}),e.jsx("li",{children:"Be responsible for all activities that occur under your account."})]}),e.jsx("p",{className:"mt-4",children:"AiQuimist.ai reserves the right to deactivate accounts that violate these Terms or for suspected fraudulent activity, without prior notice when necessary to protect the service."}),e.jsx("p",{className:"mt-4",children:"Enterprise accounts may include multiple users (administrators, operators, readers). The account administrator is responsible for managing permissions and ensuring all users comply with these Terms."})]})}),e.jsx(Na,{id:"license",title:o?.section4??(l?"4. Licença e Propriedade Intelectual":"4. License and Intellectual Property"),children:l?e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"4.1 Concessão de Licença",children:e.jsx("p",{className:"mt-2",children:"Sujeito ao cumprimento destes Termos e ao pagamento das taxas a
45plicáveis, a AiQuimist.ai concede a você uma licença limitada, não exclusiva, não transferível, não sublicenciável e revogável para acessar e usar os Serviços exclusivamente para seus fins comerciais internos."})}),e.jsxs(Te,{title:"4.2 Propriedade da AiQuimist.ai",children:[e.jsx("p",{className:"mt-2",children:"A AiQuimist.ai e seus licenciantes detêm todos os direitos de propriedade intelectual relacionados aos Serviços, incluindo:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 mt-2",children:[e.jsx("li",{children:"Código-fonte, algoritmos e modelos de inteligência artificial (incluindo o motor IMUS)"}),e.jsx("li",{children:"Interfaces de usuário, design e experiência do usuário"}),e.jsx("li",{children:"Documentação técnica, manuais e materiais de treinamento"}),e.jsx("li",{children:"Marcas registradas, logos e identidade visual"}),e.jsx("li",{children:"Patentes, pedidos de patentes e know-how técnico"})]})]}),e.jsx(Te,{title:"4.3 Seus Dados",children:e.jsx("p",{className:"mt-2",children:'Você retém todos os direitos sobre os dados que inserir nos Serviços ("Dados do Cliente"). Você nos concede uma licença limitada para processar esses dados exclusivamente com o propósito de fornecer os Serviços contratados. Não utilizaremos seus dados para treinar nossos modelos de IA sem autorização expressa.'})}),e.jsx(Te,{title:"4.4 Feedback",children:e.jsx("p",{className:"mt-2",children:"Se você nos enviar sugestões, ideias ou feedback sobre os Serviços, concordamos que podemos usar essas informações sem obrigação de compensação ou atribuição."})})]}):e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"4.1 License Grant",children:e.jsx("p",{className:"mt-2",children:"Subject to compliance with these Terms and payment of applicable fees, AiQuimist.ai grants you a limited, non-exclusive, non-transferable, non-sublicensable, and revocable license to access and use the Services solely for your internal business purposes."})}),e.jsxs(Te,{title:"4.2 AiQuimist.ai Ownership",children:[e.jsx("p",{className:"mt-2",children:"AiQuimist.ai and its licensors retain all intellectual property rights related to the Services, including:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 mt-2",children:[e.jsx("li",{children:"Source code, algorithms, and artificial intelligence models (including the UMSI engine)"}),e.jsx("li",{children:"User interfaces, design, and user experience"}),e.jsx("li",{children:"Technical documentation, manuals, and training materials"}),e.jsx("li",{children:"Registered trademarks, logos, and visual identity"}),e.jsx("li",{children:"Patents, patent applications, and technical know-how"})]})]}),e.jsx(Te,{title:"4.3 Your Data",children:e.jsx("p",{className:"mt-2",children:'You retain all rights to the data you input into the Services ("Customer Data"). You grant us a limited license to process this data solely for the purpose of providing the contracted Services. We will not use your data to train our AI models without explicit authorization.'})}),e.jsx(Te,{title:"4.4 Feedback",children:e.jsx("p",{className:"mt-2",children:"If you send us suggestions, ideas, or feedback about the Services, you agree that we may use that information without any obligation of compensation or attribution."})})]})}),e.jsx(Na,{id:"acceptable",title:o?.section5??(l?"5. Uso Aceitável":"5. Acceptable Use"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Você concorda em utilizar os Serviços somente para fins legais e de acordo com estes Termos. ",e.jsx("strong",{className:"text-white",children:"É expressamente proibido:"})]}),e.jsx("div",{className:"mt-4 space-y-3",children:[["Uso ilegal","Usar os Serviços para atividades ilegais, incluindo vigilância não autorizada, coleta ilegal de dados biométricos ou violação de direitos de privacidade"],["Engenharia reversa","Descompilar, fazer engenharia reversa, desmontar ou tentar derivar o código-fonte de qualquer componente dos Serviços"],["Acesso não autorizado","Tentar acessar sistemas, redes ou dados além do que é permitido pela sua conta"],["Interferência","Introduzir vírus, malware ou qualquer código malicioso; realizar ataques de negação de serviço; comprometer a integridade dos Serviços"],["Revenda não autorizada","Sublicenciar, vender, revender, transferir ou explorar comercialmente os Serviços sem autorização expressa"],["Violação de PI","Remover avisos de propriedade, marcas registradas ou legendas de direitos autorais dos Serviços"],["Raspagem de dados","Coletar dados dos Serviços através de meios automatizados sem permissão escrita prévia"]].map(([m,h])=>e.jsxs("div",{className:"flex gap-3 p-3 bg-red-500/5 border border-red-500/20 rounded-xl",children:[e.jsx(du,{className:"w-4 h-4 text-red-400 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsxs("span",{className:"text-red-300 font-semibold text-sm",children:[m,": "]}),e.jsx("span",{className:"text-[#B0C8D0]/70 text-sm",children:h})]})]},m))}),e.jsx("p",{className:"mt-4",children:"A violação destas disposições pode resultar na suspensão ou rescisão imediata da sua conta e acesso aos Serviços, além de responsabilização civ
45il e criminal."})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["You agree to use the Services only for lawful purposes and in accordance with these Terms. ",e.jsx("strong",{className:"text-white",children:"The following are expressly prohibited:"})]}),e.jsx("div",{className:"mt-4 space-y-3",children:[["Illegal use","Using the Services for illegal activities, including unauthorized surveillance, illegal collection of biometric data, or violation of privacy rights"],["Reverse engineering","Decompiling, reverse engineering, disassembling, or attempting to derive the source code of any component of the Services"],["Unauthorized access","Attempting to access systems, networks, or data beyond what is permitted by your account"],["Interference","Introducing viruses, malware, or any malicious code; conducting denial-of-service attacks; compromising the integrity of the Services"],["Unauthorized resale","Sublicensing, selling, reselling, transferring, or commercially exploiting the Services without express authorization"],["IP violation","Removing proprietary notices, trademarks, or copyright legends from the Services"],["Data scraping","Collecting data from the Services through automated means without prior written permission"]].map(([m,h])=>e.jsxs("div",{className:"flex gap-3 p-3 bg-red-500/5 border border-red-500/20 rounded-xl",children:[e.jsx(du,{className:"w-4 h-4 text-red-400 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsxs("span",{className:"text-red-300 font-semibold text-sm",children:[m,": "]}),e.jsx("span",{className:"text-[#B0C8D0]/70 text-sm",children:h})]})]},m))}),e.jsx("p",{className:"mt-4",children:"Violation of these provisions may result in immediate suspension or termination of your account and access to the Services, as well as civil and criminal liability."})]})}),e.jsx(Na,{id:"privacy",title:o?.section6??(l?"6. Privacidade e Proteção de Dados":"6. Privacy and Data Protection"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["O tratamento de dados pessoais no âmbito destes Termos é regido pela nossa ",e.jsx($,{href:"/privacy-policy",className:"text-[#00E5CC] hover:underline",children:"Política de Privacidade"}),", que é parte integrante deste instrumento."]}),e.jsxs("p",{className:"mt-4",children:["Para clientes empresariais, celebramos um ",e.jsx("strong",{className:"text-white",children:"Acordo de Processamento de Dados (DPA/APD)"})," como parte do contrato de prestação de serviços, conforme exigido pela LGPD e pelo GDPR. O DPA define:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"As categorias de dados pessoais processados em seu nome;"}),e.jsx("li",{children:"As finalidades e duração do processamento;"}),e.jsx("li",{children:"As medidas técnicas e organizacionais de segurança;"}),e.jsx("li",{children:"Os direitos e obrigações de cada parte como controlador e operador;"}),e.jsx("li",{children:"Os procedimentos para solicitação de direitos dos t
45itulares."})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["The processing of personal data under these Terms is governed by our ",e.jsx($,{href:"/privacy-policy",className:"text-[#00E5CC] hover:underline",children:"Privacy Policy"}),", which is an integral part of this agreement."]}),e.jsxs("p",{className:"mt-4",children:["For enterprise customers, we enter into a ",e.jsx("strong",{className:"text-white",children:"Data Processing Agreement (DPA)"})," as part of the service agreement, as required by the LGPD and GDPR. The DPA defines:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsx("li",{children:"The categories of personal data processed on your behalf;"}),e.jsx("li",{children:"The purposes and duration of processing;"}),e.jsx("li",{children:"Technical and organizational security measures;"}),e.jsx("li",{children:"The rights and obligations of each party as controller and processor;"}),e.jsx("li",{children:"Procedures for data subject rights requests."})]})]})}),e.jsx(Na,{id:"sla",title:o?.section7??(l?"7. Disponibilidade do Serviço (SLA)":"7. Service Availability (SLA)"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"A AiQuimist.ai se compromete a manter alta disponibilidade dos Serviços, conforme os níveis definidos abaixo:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Plano"}),e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Disponibilidade"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Downtime máximo/mês"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Standard","99,5%","~3,6 horas"],["Professional","99,9%","~43 minutos"],["Enterprise / Missão Crítica","99,99%","~4,3 minutos"]].map(([m,h,b])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 pr-4 text-[#00E5CC] font-semibold",children:h}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:b})]},m))})]}),e.jsx("p",{className:"mt-4",children:"As medições de disponibilidade excluem: (i) manutenções programadas com aviso prévio de 48h; (ii) indisponibilidades causadas por fatores fora do controle da AiQuimist.ai (força maior, falhas de provedores de internet, etc.); (iii) falhas causadas por uso indevido do cliente."}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Créditos de serviço:"})," Em caso de não cumprimento do SLA, o Cliente terá direito a créditos proporcionais no faturamento seguinte, mediante solicitação formal no prazo de 30 dias após o incidente."]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"AiQuimist.ai is committed to maintaining high availability of the Services, according to the levels defined below:"}),e.jsxs("table",{className:"mt-4 w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[rgba(0,229,204,0.18)]",children:[e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Plan"}),e.jsx("th",{className:"text-left py-3 pr-4 text-white font-semibold",children:"Availability"}),e.jsx("th",{className:"text-left py-3 text-white font-semibold",children:"Max downtime/month"})]})}),e.jsx("tbody",{className:"divide-y divide-[#9B30FF]/10",children:[["Standard","99.5%","~3.6 hours"],["Professional","99.9%","~43 minutes"],["Enterprise / Mission Critical","99.99%","~4.3 minutes"]].map(([m,h,b])=>e.jsxs("tr",{children:[e.jsx("td",{className:"py-3 pr-4 text-[#B0C8D0]/85",children:m}),e.jsx("td",{className:"py-3 pr-4 text-[#00E5CC] font-semibold",children:h}),e.jsx("td",{className:"py-3 text-[#B0C8D0]/70",children:b})]},m))})]}),e.jsx("p",{className:"mt-4",children:"Availability measurements exclude: (i) scheduled maintenance with 48h prior notice; (ii) unavailability caused by factors outside AiQuimist.ai's control (force majeure, ISP failures, etc.); (iii) failures caused by customer misuse."}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Service credits:"})," In the event of SLA non-compliance, the Customer will be entitled to proportional credits on the next invoice, upon formal request within 30 days after the incident."]})]})}),e.jsx(Na,{id:"billing",title:o?.section8??(l?"8. Preços, Faturamento e Pagamentos":"8. Pricing, Billing, and Payments"),children:l?e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"8.1 Preços",children:e.jsxs("p",{className:"mt-2",children:["Os preços dos Serviços são definidos no contrato específico ou proposta comercial aceita. Preç
45os podem ser revisados com aviso prévio de ",e.jsx("strong",{className:"text-white",children:"90 dias"})," para contratos em vigor."]})}),e.jsx(Te,{title:"8.2 Faturamento",children:e.jsx("p",{className:"mt-2",children:"Salvo disposição em contrário no contrato, o faturamento é realizado mensalmente ou anualmente, conforme o plano. Faturas são emitidas no início de cada período de faturamento."})}),e.jsx(Te,{title:"8.3 Pagamento",children:e.jsxs("p",{className:"mt-2",children:["O pagamento deve ser efetuado no prazo de ",e.jsx("strong",{className:"text-white",children:"30 dias"})," a partir da emissão da fatura, salvo acordo diferente. Atrasos podem resultar em cobrança de juros de 1% ao mês e multa de 2%, além de eventual suspensão do serviço após 15 dias de inadimplência."]})}),e.jsx(Te,{title:"8.4 Impostos",children:e.jsx("p",{className:"mt-2",children:"Os preços indicados não incluem impostos, taxas ou encargos aplicáveis. O Cliente é responsável por todos os tributos incidentes sobre as transações, exceto impostos sobre a renda da AiQuimist.ai."})}),e.jsx(Te,{title:"8.5 Reembolsos",children:e.jsx("p",{className:"mt-2",children:"Salvo disposição expressa em contrário ou exigência legal, os valores pagos não são reembolsáveis. Créditos de serviço decorrentes de violação de SLA são a única exceção prevista."})})]}):e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"8.1 Pricing",children:e.jsxs("p",{className:"mt-2",children:["Service prices are defined in the specific contract or accepted commercial proposal. Prices may be revised with ",e.jsx("strong",{className:"text-white",children:"90 days'"})," prior notice for active contracts."]})}),e.jsx(Te,{title:"8.2 Billing",children:e.jsx("p",{className:"mt-2",children:"Unless otherwise specified in the contract, billing is monthly or annual, depending on the plan. Invoices are issued at the beginning of each billing period."})}),e.jsx(Te,{title:"8.3 Payment",children:e.jsxs("p",{className:"mt-2",children:["Payment must be made within ",e.jsx("strong",{className:"text-white",children:"30 days"})," of invoice issuance, unless otherwise agreed. Late payments may result in 1% monthly interest and a 2% penalty, plus potential service suspension after 15 days of default."]})}),e.jsx(Te,{title:"8.4 Taxes",children:e.jsx("p",{className:"mt-2",children:"Quoted prices do not include applicable taxes, fees, or charges. The Customer is responsible for all taxes on transactions, except AiQuimist.ai income taxes."})}),e.jsx(Te,{title:"8.5 Refunds",children:e.jsx("p",{className:"mt-2",children:"Unless expressly stated otherwise or required by law, paid amounts are non-refundable. Service credits arising from SLA violations are the only exception provided."})})]})}),e.jsx(Na,{id:"liability",title:o?.section9??(l?"9. Limitação de Responsabilidade":"9. Limitation of Liability"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 bg-amber-500/10 border border-amber-500/30 rounded-xl mb-4",children:[e.jsx("p",{className:"text-amber-300 text-xs uppercase tracking-wider font-semibold mb-2",children:"Importante — Leia com Atenção"}),e.jsx("p",{className:"text-[#B0C8D0]/85",children:"Esta seção limita significativamente os direitos legais das partes. Certifique-se de compreendê-la completamente antes de aceitar estes Termos."})]}),e.jsx(Te,{title:"9.1 Exclusão de Garantias",children:e.jsx("p",{className:"mt-2",children:'Os Serviços são fornecidos "no estado em que se encontram" e "conforme disponibilidade". A AiQuimist.ai não oferece garantias expressas ou implícitas, incluindo garantias de comercialização, adequação a uma finalidade específica ou não violação, na extensão máxima permitida pela lei aplicável.'})}),e.jsx(Te,{title:"9.2 Limite de Responsabilidade",children:e.jsxs("p",{className:"mt-2",children:["Em nenhuma hipótese a responsabilidade total da AiQuimist.ai perante você, por qualquer causa, excederá o ",e.jsx("strong",{className:"text-white",children:"valor total pago pelos Serviços nos 12 meses anteriores"})," ao evento que deu origem à reclamação."]})}),e.jsx(Te,{title:"9.3 Exclusão de Danos Indiretos",children:e.jsx("p",{className:"mt-2",children:"Em nenhuma hipótese qualquer parte será responsável por danos indiretos, incidentais, especiais, consequenciais ou exemplares, incluindo lucros cessantes, perda de dados, interrupção de negócios ou danos à reputação, mesmo que a parte tenha sido avisada da possibilidade de tais danos."})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 bg-amber-500/10 border border-amber-500/30 rounded-xl mb-4",children:[e.jsx("p",{className:"text-amber-300 text-xs uppercase tracking-wider font-semibold mb-2",children:"Important — Read Carefully"}),e.jsx("p",{className:"text-[#B0C8D0]/85",children:"This section significantly limits the legal r
45ights of the parties. Ensure you fully understand it before accepting these Terms."})]}),e.jsx(Te,{title:"9.1 Disclaimer of Warranties",children:e.jsx("p",{className:"mt-2",children:'The Services are provided "as is" and "as available." AiQuimist.ai makes no express or implied warranties, including warranties of merchantability, fitness for a particular purpose, or non-infringement, to the maximum extent permitted by applicable law.'})}),e.jsx(Te,{title:"9.2 Liability Cap",children:e.jsxs("p",{className:"mt-2",children:["In no event shall AiQuimist.ai's total liability to you, for any cause, exceed the ",e.jsx("strong",{className:"text-white",children:"total amount paid for the Services in the 12 months preceding"})," the event giving rise to the claim."]})}),e.jsx(Te,{title:"9.3 Exclusion of Indirect Damages",children:e.jsx("p",{className:"mt-2",children:"In no event shall either party be liable for indirect, incidental, special, consequential, or exemplary damages, including lost profits, data loss, business interruption, or reputational harm, even if the party has been advised of the possibility of such damages."})})]})}),e.jsx(Na,{id:"indemnification",title:o?.section10??(l?"10. Indenização":"10. Indemnification"),children:l?e.jsx("p",{children:"Você concorda em defender, indenizar e isentar a AiQuimist.ai e seus diretores, funcionários, contratados e parceiros de quaisquer reclamações, perdas, danos, responsabilidades, custos e despesas (incluindo honorários advocatícios razoáveis) decorrentes de: (i) seu uso dos Serviços em violação a estes Termos; (ii) violação de direitos de terceiros, incluindo propriedade intelectual ou privacidade; (iii) conteúdo ou dados que você inseriu nos Serviços; (iv) sua violação de qualquer lei aplicável."}):e.jsx("p",{children:"You agree to defend, indemnify, and hold harmless AiQuimist.ai and its directors, employees, contractors, and partners from any claims, losses, damages, liabilities, costs, and expenses (including reasonable attorneys' fees) arising from: (i) your use of the Services in violation of these Terms; (ii) violation of third-party rights, including intellectual property or privacy; (iii) content or data you input into the Services; (iv) your violation of any applicable law."})}),e.jsx(Na,{id:"termination",title:o?.section11??(l?"11. Rescisão":"11. Termination"),children:l?e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"11.1 Rescisão pelo Cliente",children:e.jsxs("p",{className:"mt-2",children:["Você pode encerrar sua conta a qualquer momento mediante aviso prévio de ",e.jsx("strong",{className:"text-white",children:"30 dias"})," por escrito. Contratos anuais podem estar sujeitos a multa rescisória conforme previsto no instrumento contratual específico."]})}),e.jsx(Te,{title:"11.2 Rescisão pela AiQuimist.ai",children:e.jsx("p",{className:"mt-2",children:"Podemos suspender ou encerrar sua conta e acesso aos Serviços: (a) com aviso prévio de 30 dias por qualquer motivo; (b) imediatamente em caso de violação material destes Termos, inadimplência, uso fraudulento ou uso que coloque em risco a segurança dos Serviços ou de terceiros."})}),e.jsx(Te,{title:"11.3 Efeitos da Rescisão",children:e.jsx("p",{className:"mt-2",children:"Após a rescisão: (i) seu acesso aos Serviços será encerrado; (ii) você terá 30 dias para exportar seus dados, após os quais poderão ser excluídos; (iii) as cláusulas que por sua natureza devam sobreviver à rescisão permanecerão em vigor (incluindo PI, limitação de responsabilidade, confidencialidade e lei aplicável)."})})]}):e.jsxs(e.Fragment,{children:[e.jsx(Te,{title:"11.1 Termination by Customer",children:e.jsxs("p",{className:"mt-2",children:["You may close your account at any time with ",e.jsx("strong",{className:"text-white",children:"30 days'"})," written prior notice. Annual contracts may be subject to early termination fees as specified in the specific contract."]})}),e.jsx(Te,{title:"11.2 Termination by AiQuimist.ai",children:e.jsx("p",{className:"mt-2",children:"We may suspend or terminate your account and access to Services: (a) with 30 days' prior notice for any reason; (b) immediately in the event of material breach of these Terms, non-payment, fraudulent use, or use that endangers the security of the Services or third parties."})}),e.jsx(Te,{title:"11.3 Effects of Termination",children:e.jsx("p",{className:"mt-2",children:"After termination: (i) your access to the Services will be discontinued; (ii) you will have 30 days to export your data, after which it may be deleted; (iii) clauses that by their nature should survive termination will remain in effect (including IP, limitation of liability, confidentiality, and governing law)."})})]})}),e.jsx(Na,{id:"governing",title:o?.section12??(l?"12. Lei Aplicável e Resolução de Disputas":"12. Governing Law and Dispute Resolution"),children:l?e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Estes Termos são regidos pelas leis do ",e.jsx("strong",{className:"text-white",children:"Estado de Delaware, Estados Unidos"}),", sem prejuízo das normas de proteção ao consumidor e proteção de dados aplicáveis em cada jurisdição onde a AiQuimist.ai opera."]}),e.jsxs("p",{className:"mt-4",children:["Para clientes brasileiros, aplicam-se adicionalmente as disposições do ",e.jsx("strong",{className:"text-white",children:"Código Civil Brasileiro, CDC"})," (quando aplicável) e ",e.jsx("strong",{className:"text-white",children:"LGPD"}),"."]}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Resolução amigável:"})," As partes se comprometem a buscar solução amigável por meio de negociação direta por até 30 dias antes de recorrer a qualquer mecanismo formal de resolução de disputas."]}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Arbitragem:"})," Disputas não resolvidas amigavelmente serão submetidas à arbitragem vinculante, administrada pela Câmara de Arbitragem Empresarial – Brasil (CAMARB), ou pela American Arbitration Association (AAA) para partes fora do Brasil, com sede em São Paulo (BR) ou Wilmington-DE (EUA), conforme o caso."]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["These Terms are governed by the laws of the ",e.jsx("strong",{className:"text-white",children:"State of Delaware, United States"}),", without prejudice to consumer protection and data protection rules applicable in each jurisdiction where AiQuimist.ai operates."]}),e.jsxs("p",{className:"mt-4",children:["For Brazilian customers, the provisions of the ",e.jsx("strong",{className:"text-white",children:"Brazilian Civil Code, Consumer Defense Code"})," (where applicable), and ",e.jsx("strong",{className:"text-white",children:"LGPD"})," additionally apply."]}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Amicable resolution:"})," The parties commit to seeking an amicable solution through direct negotiation for up to 30 days before resorting to any formal dispute resolution mechanism."]}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{className:"text-white",children:"Arbitration:"})," Disputes not resolved amicably will be submitted to binding arbitration, administered by the Câmara de Arbitragem Empresarial – Brasil (CAMARB), or the American Arbitration Association (AAA) for parties outside Brazil, seated in São Paulo (BR) or Wilmington, DE (USA), as applicable."]})]})}),e.jsx(Na,{id:"changes",title:o?.section13??(l?"13. Alterações nos Termos":"13. Changes to Terms"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Reservamo-nos o direito de modificar estes Termos a qualquer momento. Alterações materiais serão comunicadas com antecedência mínima de:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"30 dias"})," para alterações que ampliem obrigações do Cliente ou restrinjam seus direitos"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"10 dias"})," para outras alterações, por e-mail e/ou aviso no painel do Cliente"]})]}),e.jsx("p",{className:"mt-4",children:"O uso continuado dos Serviços após a entrada em vigor das alterações constituirá sua aceitação dos novos Termos. Se não concordar com as alterações, você poderá rescindir o contrato antes da data de vigência sem penalida
45de."})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"We reserve the right to modify these Terms at any time. Material changes will be communicated with a minimum advance notice of:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 mt-3",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"30 days"})," for changes that expand Customer obligations or restrict their rights"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white",children:"10 days"})," for other changes, by email and/or notice in the Customer dashboard"]})]}),e.jsx("p",{className:"mt-4",children:"Continued use of the Services after changes take effect will constitute your acceptance of the new Terms. If you do not agree with the changes, you may terminate the contract before the effective date without penalty."})]})}),e.jsx(Na,{id:"contact",title:o?.section14??(l?"14. Contato":"14. Contact"),children:l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Para dúvidas sobre estes Termos, entre em contato:"}),e.jsxs("div",{className:"mt-6 grid sm:grid-cols-2 gap-4",children:[e.jsx(yi,{title:"Jurídico / Contratos",email:"[email protected]",desc:"Para questões contratuais, licenciamento e jurídicas"}),e.jsx(yi,{title:"Suporte Comercial",email:"[email protected]",desc:"Para propostas, demos e questões comerciais gerais"}),e.jsx(yi,{title:"Suporte Técnico",email:"[email protected]",desc:"Para problemas técnicos e questões de SLA"}),e.jsx(yi,{title:"Privacidade / DPO",email:"[email protected]",desc:"Para questões de proteção de dados"})]}),e.jsxs("p",{className:"mt-6 text-[#B0C8D0]/70",children:[e.jsx("strong",{className:"text-white",children:"Endereço Legal:"}),e.jsx("br",{}),"AiQuimist.ai LLC",e.jsx("br",{}),"19790 W Dixie Hwy, Suite 411",e.jsx("br",{}),"Aventura, FL 33180 — USA"]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"For questions about these Terms, contact:"}),e.jsxs("div",{className:"mt-6 grid sm:grid-cols-2 gap-4",children:[e.jsx(yi,{title:"Legal / Contracts",email:"[email protected]",desc:"For contractual, licensing, and legal matters"}),e.jsx(yi,{title:"Commercial Support",email:"[email protected]",desc:"For proposals, demos, and general commercial questions"}),e.jsx(yi,{title:"Technical Support",email:"[email protected]",desc:"For technical issues and SLA matters"}),e.jsx(yi,{title:"Privacy / DPO",email:"[email protected]",desc:"For data protection matters"})]}),e.jsxs("p",{className:"mt-6 text-[#B0C8D0]/70",children:[e.jsx("strong",{className:"text-white",children:"Legal Address:"}),e.jsx("br",{}),"AiQuimist.ai LLC",e.jsx("br",{}),"19790 W Dixie Hwy, Suite 411",e.jsx("br",{}),"Aventura, FL 33180 — USA"]})]})})]})]})})]})}function Na({id:s,title:i,children:l}){return e.jsxs("section",{id:s,"data-section":!0,className:"scroll-mt-24",children:[e.jsx("h2",{className:"text-xl font-bold text-white mb-6 pb-3 border-b border-[rgba(0,229,204,0.18)]",children:i}),e.jsx("div",{className:"space-y-4 text-[#B0C8D0]/85",children:l})]})}function Te({title:s,children:i}){return e.jsxs("div",{className:"mt-5",children:[e.jsx("h3",{className:"text-base font-semibold text-white mb-2",children:s}),i]})}function yi({title:s,email:i,desc:l}){return e.jsxs("div",{className:"p-4 bg-[#06080D] border border-[rgba(0,229,204,0.12)] rounded-xl",children:[e.jsx("p",{className:"text-white font-semibold text-sm mb-1",children:s}),e.jsx("a",{href:`mailto:${i}`,className:"text-[#00E5CC] hover:underline text-sm",children:i}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-xs mt-1",children:l})]})}function ru(){const{t:s}=_e(),i=s.useCases??{},o=(z,_,Q="")=>z?.[_]??Q,u=[{id:"drakon",label:"Perceptrum Corporate",sub:o(i.nav,"drakonSub","Public Safety"),color:"#00E5CC"},{id:"perceptrum",label:"Perceptrum Personal",sub:o(i.nav,"perceptrumSub","Private Security"),color:"#9B30FF"},{id:"fast-ai",label:"F.A.S.T.-AI",sub:o(i.nav,"fastSub","Urban Planning"),color:"#00AAFF"},{id:"integration",label:o(i.nav,"integrationLabel","Integration"),sub:o(i.nav,"integrationSub","3 Platforms"),color:"#CC44DD"},{id:"faq",label:o(i.nav,"faqLabel","FAQ"),sub:o(i.nav,"faqSub","Common Questions"),color:"#00E5CC"}],p=[{value:"40+",label:o(i.stats,"s1","years of experience"),icon:e.jsx(a2,{className:"w-5 h-5"})},{value:"3",label:o(i.stats,"s2","proprietary platforms"),icon:e.jsx(Yr,{className:"w-5 h-5"})},{value:"$0",label:o(i.stats,"s3","in new hardware to start"),icon:e.jsx(Yg,{className:"w-5 h-5"})},{value:"+1M",label:o(i.stats,"s4","private cameras available"),icon:e.jsx(It,{className:"w-5 h-5"})},{value:"24/7",label:o(i.stats,"s5","continuous operation"),icon:e.jsx(ki,{className:"w-5 h-5"})},{value:"cents",label:o(i.stats,"s6","cost per search"),icon:e.jsx(uu,{className:"w-5 h-5"})}],f=[{icon:e.jsx(He,{className:"w-6 h-6"}),color:"#00E5CC",title:o(i.value,"c1t","Understands, not just records"),desc:o(i.value,"c1d","")},{icon:e.jsx(la,{className:"w-6 h-6"}),color:"#9B30FF",title:o(i.value,"c2t","Works with what you already have"),desc:o(i.value,"c2d","")},{icon:e.jsx(Ca,{className:"w-6 h-6"}
45),color:"#00AAFF",title:o(i.value,"c3t","Acts before you need to act"),desc:o(i.value,"c3d","")}],m=i.drakon??{},h=i.perceptrum??{},b=i.fast??{},g=i.common??{},v=[{id:"drakon",product:"Perceptrum Corporate",productColor:"#00E5CC",icon:e.jsx(Kr,{className:"w-5 h-5"}),tag:o(m,"tag","Public Safety · Governments · Critical Mission"),headline:o(m,"h","The State cannot make mistakes. Perceptrum Corporate ensures it doesn't."),subheadline:o(m,"s",""),audience:[m.a1,m.a2,m.a3,m.a4,m.a5,m.a6,m.a7].filter(Boolean),useCases:[{title:o(m,"uc1t",""),pain:o(m,"uc1p",""),solution:o(m,"uc1s",""),question:o(m,"uc1q","")},{title:o(m,"uc2t",""),pain:o(m,"uc2p",""),solution:o(m,"uc2s",""),question:o(m,"uc2q","")},{title:o(m,"uc3t",""),pain:o(m,"uc3p",""),solution:o(m,"uc3s",""),question:o(m,"uc3q","")},{title:o(m,"uc4t",""),pain:o(m,"uc4p",""),solution:o(m,"uc4s",""),question:o(m,"uc4q","")}],financialTitle:o(m,"fint","Financial Case"),before:[m.fb1,m.fb2,m.fb3,m.fb4,m.fb5].filter(Boolean),after:[m.fa1,m.fa2,m.fa3,m.fa4,m.fa5].filter(Boolean),link:"/drakon",linkText:o(m,"link","Explore Perceptrum Corporate")},{id:"perceptrum",product:"Perceptrum Personal",productColor:"#9B30FF",icon:e.jsx(pa,{className:"w-5 h-5"}),tag:o(h,"tag","Private Security · Residences · Businesses"),headline:o(h,"h","Your camera was recording. Now it protects."),subheadline:o(h,"s",""),audience:[h.a1,h.a2,h.a3,h.a4,h.a5,h.a6,h.a7,h.a8,h.a9,h.a10].filter(Boolean),useCases:[{title:o(h,"uc1t",""),pain:o(h,"uc1p",""),solution:o(h,"uc1s",""),question:o(h,"uc1q","")},{title:o(h,"uc2t",""),pain:o(h,"uc2p",""),solution:o(h,"uc2s",""),question:o(h,"uc2q","")},{title:o(h,"uc3t",""),pain:o(h,"uc3p",""),solution:o(h,"uc3s",""),question:o(h,"uc3q","")},{title:o(h,"uc4t",""),pain:o(h,"uc4p",""),solution:o(h,"uc4s",""),question:o(h,"uc4q","")}],financialTitle:o(h,"fint","Perceptrum Business Model"),before:[h.fb1,h.fb2,h.fb3,h.fb4,h.fb5].filter(Boolean),after:[h.fa1,h.fa2,h.fa3,h.fa4,h.fa5].filter(Boolean),link:"/perceptrum",linkText:o(h,"link","Explore Perceptrum Personal"),privacy:!0},{id:"fast-ai",product:"F.A.S.T.-AI",productColor:"#00AAFF",icon:e.jsx(Xl,{className:"w-5 h-5"}),tag:o(b,"tag","Urban Planning · Traffic · Mobility"),headline:o(b,"h","Your city doesn't need more cameras."),subheadline:o(b,"s",""),audience:[b.a1,b.a2,b.a3,b.a4,b.a5,b.a6].filter(Boolean),useCases:[{title:o(b,"uc1t",""),pain:o(b,"uc1p",""),solution:o(b,"uc1s",""),question:o(b,"uc1q","")},{title:o(b,"uc2t",""),pain:o(b,"uc2p",""),solution:o(b,"uc2s",""),question:o(b,"uc2q","")},{title:o(b,"uc3t",""),pain:o(b,"uc3p",""),solution:o(b,"uc3s",""),question:o(b,"uc3q","")},{title:o(b,"uc4t",""),pain:o(b,"uc4p",""),solution:o(b,"uc4s",""),question:o(b,"uc4q","")}],financialTitle:o(b,"fint","F.A.S.T.-AI is not a cost. It is a revenue source."),before:[b.fb1,b.fb2,b.fb3,b.fb4,b.fb5].filter(Boolean),after:[b.fa1,b.fa2,b.fa3,b.fa4,b.fa5].filter(Boolean),link:"/fast-ai",linkText:o(b,"link","Explore F.A.S.T.-AI")}],k=i.integrationBullets??{},j=i.integrationSteps??{},A=[{product:"Perceptrum Corporate",color:"#00E5CC",step:"01",action:o(j,"step1","Identifies the event on public cameras")},{product:"F.A.S.T.-AI",color:"#00AAFF",step:"02",action:o(j,"step2","Tracks the vehicle through the road network")},{product:"Perceptrum Personal",color:"#9B30FF",step:"03",action:o(j,"step3","Activates cooperative private cameras in the neighborhood")}],P=[{icon:e.jsx(qt,{className:"w-5 h-5"}),text:o(k,"b1","The search doesn't stop when the suspect leaves a public camera")},{icon:e.jsx(la,{className:"w-5 h-5"}),text:o(k,"b2","The network grows with every private camera that joins voluntarily")},{icon:e.jsx(Yg,{className:"w-5 h-5"}),text:o(k,"b3","Costs don't grow proportionally — you pay per query, not per infrastructure")},{icon:e.jsx($e,{className:"w-5 h-5"}),text:o(k,"b4","Privacy is preserved because analysis occurs locally")},{icon:e.jsx(pa,{className:"w-5 h-5"}),text:o(k,"b5","Data protection law compliance is built into the architecture")},{icon:e.jsx(t2,{className:"w-5 h-5"}),text:o(k,"b6","Intelligence continuously improves with every processed event")}],D=i.faq??{},M=[{q:o(D,"q1","Do I need to replace my cameras?"),a:o(D,"a1","")},{q:o(D,"q2","Does it need a powerful server with a GPU?"),a:o(D,"a2","")},{q:o(D,"q3","How is integration with my current system done?"),a:o(D,"a3","")},{q:o(D,"q4","Is my privacy compromised with Perceptrum?"),a:o(D,"a4","")},{q:o(D,"q5","How long does implementation take?"),a:o(D,"a5","")},{q:o(D,"q6","How does the solution pay for itself?"),a:o(D,"a6","")}],w=z=>document.getElementById(z)?.scrollIntoView({behavior:"smooth"});function O({title:z,pain:_,solution:Q,question:Z,index:se,color:re}){return e.jsx(T,{delay:se*.1,children:e.jsxs("div",{className:"rounded-2xl overflow-hidden border h-full flex flex-col",style:{borderColor:`${re}25`,background:"rgba(13,15,20,0.6)"},children:[e.jsxs("div",{className:"px-6 py-4 flex items-center gap-3",style:{background:`${re}12`,borderBottom:`1px solid ${re}20`},children:[e.jsx("span",{className:"w-8 h-8 rounded-full flex items-center justify-center text-sm font-black shrink-0",style:{background:`${re}25`,color:re,border:`1px solid ${re}40`},children:String(se+1).padStart(2,"0")}),e.jsx("h4",{className:"text-lg font-bold text-white",children:z})]}),e.jsxs("div",{className:"p-6 flex flex-col gap-5 flex-grow",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx(Lt,{className:"w-4 h-4 text-red-400 mt-1 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-bold uppercase tracking-wider text-red-400 mb-1",children:o(g,"currentPain","Current Pain")}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed",children:_})]})]}),e.jsx("div",{className:"flex justify-center",children:e.jsxs("div",{className:"px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1",style:{background:`${re}15`,color:re,border:`1px solid ${re}30`},children:[e.jsx(Za,{className:"w-3 h-3"})," ",o(g,"withSol","With the Solution")]})}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(Xe,{className:"w-4 h-4 mt-1 shrink-0",style:{color:re}}),e.jsx("p",{className:"text-[#B0C8D0]/90 text-sm leading-relaxed",children:Q})]}),e.jsx("div",{className:"mt-auto pt-4 border-t",style:{borderColor:`${re}20`},children:e.jsxs("p",{className:"text-sm font-semibold italic",style:{color:re},children:['"',Z,'"']}
45)})]})]})})}function N({title:z,before:_,after:Q,color:Z}){return e.jsx(T,{children:e.jsxs("div",{className:"mt-12 rounded-2xl overflow-hidden border",style:{borderColor:`${Z}30`},children:[e.jsx("div",{className:"px-6 py-4 text-center font-bold text-lg text-white",style:{background:`${Z}18`,borderBottom:`1px solid ${Z}25`},children:z}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2",children:[e.jsxs("div",{className:"p-6 border-b md:border-b-0 md:border-r border-[rgba(255,100,100,0.15)] bg-[rgba(255,50,50,0.04)]",children:[e.jsxs("p",{className:"text-xs font-black uppercase tracking-wider text-red-400 mb-4 flex items-center gap-2",children:[e.jsx(Lt,{className:"w-3.5 h-3.5"})," ",o(g,"traditional","Traditional Model")]}),e.jsx("ul",{className:"space-y-3",children:_.map((se,re)=>e.jsxs("li",{className:"flex items-start gap-3 text-sm text-[#B0C8D0]/70",children:[e.jsx("span",{className:"mt-0.5 w-4 h-4 rounded-full bg-red-500/20 text-red-400 flex items-center justify-center shrink-0 text-xs",children:"✕"}),se]},re))})]}),e.jsxs("div",{className:"p-6",style:{background:`${Z}06`},children:[e.jsxs("p",{className:"text-xs font-black uppercase tracking-wider mb-4 flex items-center gap-2",style:{color:Z},children:[e.jsx(Ca,{className:"w-3.5 h-3.5"})," ",o(g,"withPlatform","With the Platform")]}),e.jsx("ul",{className:"space-y-3",children:Q.map((se,re)=>e.jsxs("li",{className:"flex items-start gap-3 text-sm text-[#B0C8D0]/90",children:[e.jsx(Xe,{className:"mt-0.5 w-4 h-4 shrink-0",style:{color:Z}}),se]},re))})]})]})]})})}function F({items:z}){const[_,Q]=C.useState(null);return e.jsx("div",{className:"space-y-3",children:z.map((Z,se)=>e.jsxs("div",{className:"rounded-xl border overflow-hidden transition-all duration-300",style:{borderColor:_===se?"rgba(0,229,204,0.35)":"rgba(0,229,204,0.12)",background:_===se?"rgba(0,229,204,0.04)":"rgba(13,15,20,0.6)"},children:[e.jsxs("button",{className:"w-full flex items-center justify-between px-6 py-5 text-left group",onClick:()=>Q(_===se?null:se),children:[e.jsx("span",{className:"font-semibold text-white group-hover:text-[#00E5CC] transition-colors pr-4",children:Z.q}),e.jsx("span",{className:"shrink-0 text-[#00E5CC]",children:_===se?e.jsx(kb,{className:"w-5 h-5"}):e.jsx(tn,{className:"w-5 h-5"})})]}),_===se&&e.jsx("div",{className:"px-6 pb-6",children:e.jsx("p",{className:"text-[#B0C8D0]/80 leading-relaxed",children:Z.a})})]},se))})}return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsx(ha,{title:"Use Cases — AI for Public Safety & Smart Cities",description:"Explore how AiQuimist.ai platforms are deployed in public safety, private security, border control, smart cities, and critical infrastructure worldwide.",canonical:"https://aiquimist.ai/use-cases"}),e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"City Night",className:"w-full h-full object-cover opacity-25"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/80 via-[#080A0F]/60 to-[#080A0F]"}),e.jsx("div",{className:"absolute top-1/3 left-1/4 w-96 h-96 rounded-full opacity-10 blur-3xl",style:{background:"#00E5CC"}}),e.jsx("div",{className:"absolute top-1/2 right-1/4 w-64 h-64 rounded-full opacity-8 blur-3xl",style:{background:"#9B30FF"}})]}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:e.jsxs(T,{className:"text-center",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx(It,{className:"w-4 h-4"})," ",o(i.hero,"badge","Use Cases")]}),e.jsxs("h1",{className:"text-4xl md:text-6xl lg:text-7xl font-black text-white mb-6 leading-tight max-w-5xl mx-auto",children:[o(i.hero,"h1a","Your cameras are already installed.")," ",e.jsx("span",{className:"text-gradient",children:o(i.hero,"h1b","Now they need to start thinking.")})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/80 font-medium mb-4 max-w-4xl mx-auto leading-relaxed",children:o(i.hero,"sub","")}),e.jsxs("p",{className:"text-lg text-[#00E5CC] font-semibold mb-12 italic",children:['"',o(i.hero,"quote","You monitor. We understand."),'"']}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx(oe,{size:"lg",onClick:()=>w("drakon"),children:o(i.hero,"cta1","See Cases by Segment")}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",children:o(i.hero,"cta2","Request a Live Demo")})})]})]})})]}),e.jsx("section",{className:"py-16 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-10",children:[e.jsx("p",{className:"text-xs font-bold uppercase tracking-[0.2em] text-[#00E5CC] mb-2",children:o(i.stats,"title","Impact Numbers")}),e.jsx("p",{className:"text-[#B0C8D0]/60 text-sm max-w-2xl mx-auto",children:o(i.stats,"sub","")})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:p.map((z,_)=>e.jsx(T,{delay:_*.08,children:e.jsxs("div",{className:"bg-[#080A0F] border border-[rgba(0,229,204,0.15)] rounded-xl p-4 text-center hover-glow h-full",children:[e.jsx("div",{className:"flex justify-center mb-2 text-[#00E5CC]",children:z.icon}),e.jsx("div",{className:"text-2xl md:text-3xl font-black text-[#00E5CC] mb-1",children:z.value}),e.jsx("div",{className:"text-xs text-[#B0C8D0]/60 leading-tight",children:z.label})]})},_))})]})}),e.jsx("div",{className:"py-5 border-b border-[rgba(0,229,204,0.08)] sticky top-20 z-30",style:{background:"rgba(8,10,15,0.96)",backdropFilter:"blur(20px)"},children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx("div",{className:"flex flex-wrap justify-center gap-3",children:u.map(z=>e.jsxs("button",{onClick:()=>w(z.id),className:"flex flex-col items-center px-5 py-2.5 rounded-xl border transition-all duration-300 hover:scale-105",style:{borderColor:`${z.color}30`,background:`${z.color}08`},children:[e.jsx("span",{className:"text-sm font-black tracking-wide",style:{color:z.color},children:z.label}),e.jsx("span",{className:"text-xs text-[#B0C8D0]/50 mt-0.5",children:z.sub})]},z.id))})})}),e.jsx("section",{className:"py-20 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-12",children:[e.jsx("p",{className:"text-xs font-bold uppercase tracking-[0.2em] text-[#00E5CC] mb-3",children:o(i.value,"tag","What makes us different")}),e.jsx("h2",{className:"text-3xl md:text-5xl font-black text-white",children:o(i.value,"title","From everything you've ever seen")})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:f.map((z,_)=>e.jsx(T,{delay:_*.1,children:e.jsxs("div",{className:"p-8 rounded-2xl border h-full hover-glow",style:{background:"rgba(8,10,15,0.8)",borderColor:`${z.color}25`},children:[e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-6",style:{background:`${z.color}18`,color:z.color,border:`1px solid ${z.color}30`},children:z.icon}),e.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:z.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed",children:z.desc})]})},_))})]})}),v.map((z,_)=>e.jsx("section",{id:z.id,className:"py-24",style:{background:_%2===0?"#080A0F":"#0D0F14"},children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full text-xs font-black uppercase tracking-wider mb-6 border",style:{color:z.productC
45olor,borderColor:`${z.productColor}40`,background:`${z.productColor}12`},children:[z.icon," ",z.tag]}),e.jsx("div",{className:"text-3xl md:text-4xl font-black mb-4",style:{color:z.productColor},children:z.product}),e.jsx("h2",{className:"text-3xl md:text-5xl font-black text-white mb-6 max-w-4xl mx-auto leading-tight",children:z.headline}),e.jsx("p",{className:"text-lg md:text-xl text-[#B0C8D0]/80 max-w-3xl mx-auto leading-relaxed",children:z.subheadline})]}),e.jsx(T,{className:"mb-16",children:e.jsxs("div",{className:"rounded-2xl p-8 border",style:{background:`${z.productColor}06`,borderColor:`${z.productColor}20`},children:[e.jsxs("p",{className:"text-xs font-black uppercase tracking-widest mb-6 flex items-center gap-2",style:{color:z.productColor},children:[e.jsx(wi,{className:"w-4 h-4"})," ",o(g,"whoFor","Who it's for")]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:z.audience.map((Q,Z)=>e.jsxs("div",{className:"flex items-start gap-2 text-sm text-[#B0C8D0]/80",children:[e.jsx(Za,{className:"w-4 h-4 mt-0.5 shrink-0",style:{color:z.productColor}}),Q]},Z))})]})}),e.jsxs(T,{className:"text-center mb-10",children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-widest mb-2",style:{color:z.productColor},children:o(g,"ucLabel","Use Cases")}),e.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white",children:o(g,"painXSol","Pain × Solution")})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:z.useCases.map((Q,Z)=>e.jsx(O,{...Q,index:Z,color:z.productColor},Z))}),z.privacy&&e.jsx(T,{className:"mb-8",children:e.jsxs("div",{className:"rounded-2xl border border-[#9B30FF]/30 p-8 flex gap-6 items-start",style:{background:"rgba(155,48,255,0.06)"},children:[e.jsx("div",{className:"shrink-0 w-12 h-12 rounded-xl bg-[#9B30FF]/20 flex items-center justify-center border border-[#9B30FF]/30",children:e.jsx($e,{className:"w-5 h-5 text-[#9B30FF]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-lg font-bold text-white mb-2",children:o(g,"privacyTitle","Your privacy is non-negotiable.")}),e.jsx("p",{className:"text-[#B0C8D0]/75 leading-relaxed",children:o(g,"privacyBody","")}),e.jsx("p",{className:"mt-3 text-sm font-semibold text-[#9B30FF]",children:o(g,"privacyLgpd","Developed in full compliance with the LGPD.")})]})]})}),e.jsx(N,{title:z.financialTitle,before:z.before,after:z.after,color:z.productColor}),e.jsxs("div",{className:"mt-14 flex items-center gap-4",children:[e.jsx("div",{className:"flex-1 h-px",style:{background:`${z.productColor}20`}}),e.jsx($,{href:z.link,children:e.jsxs("button",{className:"flex items-center gap-2 px-5 py-2 rounded-full text-sm font-bold transition-all duration-200 hover:scale-105 border",style:{color:z.productColor,borderColor:`${z.productColor}40`,background:`${z.productColor}10`},children:[z.linkText," ",e.jsx(Za,{className:"w-4 h-4"})]})}),e.jsx("div",{className:"flex-1 h-px",style:{background:`${z.productColor}20`}})]})]})},z.id)),e.jsx("section",{id:"integration",className:"py-24 bg-[#080A0F] border-t border-[rgba(204,68,221,0.2)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#CC44DD]/15 border border-[#CC44DD]/30 text-[#CC44DD] text-xs font-black uppercase tracking-wider mb-8",children:[e.jsx(qa,{className:"w-4 h-4"})," ",o(g,"integrationBadge","The Power of Integration")]}),e.jsxs("h2",{className:"text-3xl md:text-5xl font-black text-white mb-6",children:[o(g,"integrationH","Together, they form something that")," ",e.jsx("span",{style:{color:"#CC44DD"},children:o(g,"integrationHAccent","does not exist anywhere else in the world.")})]}),e.jsx("p",{className:"text-lg md:text-xl text-[#B0C8D0]/80 max-w-4xl mx-auto leading-relaxed",children:o(g,"integrationSub","")})]}),e.jsx(T,{className:"mb-16",children:e.jsxs("div",{className:"rounded-2xl p-8 md:p-12 border relative overflow-hidden",style:{background:"rgba(13,15,20,0.9)",borderColor:"rgba(204,68,221,0.3)"},children:[e.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 roun
45ded-full opacity-5 blur-3xl",style:{background:"#CC44DD"}}),e.jsx("p",{className:"text-xs font-black uppercase tracking-widest text-[#CC44DD] mb-6",children:o(g,"realScenario","Real Integration Scenario")}),e.jsx("p",{className:"text-lg md:text-2xl font-medium text-white leading-relaxed mb-8",children:o(g,"scenarioIntroText","A vehicle flees after a hit-and-run.")}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:A.map((z,_)=>e.jsxs("div",{className:"rounded-xl p-6 border",style:{borderColor:`${z.color}30`,background:`${z.color}08`},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("span",{className:"w-8 h-8 rounded-full flex items-center justify-center text-sm font-black",style:{background:z.color,color:"#080A0F"},children:z.step}),e.jsx("span",{className:"font-black",style:{color:z.color},children:z.product})]}),e.jsx("p",{className:"text-[#B0C8D0]/80",children:z.action})]},_))}),e.jsx("div",{className:"mt-8 p-6 rounded-xl border text-center",style:{borderColor:"rgba(204,68,221,0.3)",background:"rgba(204,68,221,0.08)"},children:e.jsxs("p",{className:"text-xl font-bold text-white",children:[o(g,"resultText","In minutes, the vehicle is located —")," ",e.jsx("span",{style:{color:"#CC44DD"},children:o(g,"resultAccent","by a network the city did not pay to install.")})]})})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:P.map((z,_)=>e.jsx(T,{delay:_*.08,children:e.jsxs("div",{className:"flex gap-4 p-5 rounded-xl border",style:{borderColor:"rgba(204,68,221,0.2)",background:"rgba(204,68,221,0.04)"},children:[e.jsx("div",{className:"shrink-0 text-[#CC44DD] mt-0.5",children:z.icon}),e.jsx("p",{className:"text-[#B0C8D0]/85 text-sm leading-relaxed",children:z.text})]})},_))})]})}),e.jsx("section",{id:"faq",className:"py-24 bg-[#0D0F14] border-t border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-12",children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-black uppercase tracking-wider mb-6",children:o(g,"faqBadge","Frequently Asked Questions")}),e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white mb-4",children:o(g,"faqAnswers","Answers before you need to ask")}),e.jsx("p",{className:"text-[#B0C8D0]/60",children:o(g,"faqSub2","The most common objections — eliminated before the conversation.")})]}),e.jsx(T,{children:e.jsx(F,{items:M})})]})}),e.jsxs("section",{className:"py-28 bg-[#080A0F] border-t border-[rgba(0,229,204,0.12)] relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] rounded-full opacity-5 blur-3xl",style:{background:"#00E5CC"}}),e.jsx("div",{className:"absolute top-1/3 right-1/4 w-64 h-64 rounded-full opacity-5 blur-3xl",style:{background:"#9B30FF"}})]}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-[0.3em] text-[#00E5CC] mb-6",children:o(g,"decisionTag","The decision is yours")}),e.jsx("h2",{className:"text-3xl md:text-5xl lg:text-6xl font-black text-white mb-4 leading-tight",children:o(i,"ctaTitle","The question is not whether you need this technology.")}),e.jsx("p",{className:"text-2xl md:text-3xl font-black mb-8",style:{background:"linear-gradient(90deg, #00E5CC, #9B30FF)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:o(i,"ctaGradient","The question is how much you'll still lose without it.")}),e.jsxs("div",{className:"rounded-2xl p-8 mb-10 border",style:{background:"rgba(0,229,204,0.05)",borderColor:"rgba(0,229,204,0.2)"},children:[e.jsx("p",{className:"text-lg text-white font-semibold mb-2",children:o(g,"startWith","Start with what you already have.")}),e.jsx("p",{className:"text-[#B0C8D0]/70",children:o(g,"startSub","")})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",children:o(g,"btn1","Schedule a Demo")})}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",children:o(g,"btn2","Talk to a Specialist")})}),e.jsx($,{href:"/perceptrum",children:e.jsx(oe,{size:"lg",variant:"outline",children:o(g,"btn3","Try for Free Now")})})]}),e.jsx("p",{className:"mt-12 text-sm text-[#B0C8D0]/40 max-w-2xl mx-auto leading-relaxed",children:o(g,"footnote","AiQuimist.ai is an American startup with a branch in Brazil.")})]})})]})]})}const HN={es:{hero:{badge:"Especificaciones Técnicas",title:"Specs Técnicas",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Documento técnico estructurado para procesos de evaluación, contratación e integración. Todas las especificaciones de las tres plataformas AiQuimist — funcionalidades compartidas y diferenciales exclusivos.",part1:"PARTE 1 — Core Specs",part1sub:"Funcionalidades presentes en las tres plataformas",part2:"PARTE 2 — Specs Exclusivas",part2sub:"Diferenciales específicos de cada producto",part3:"Resumen Comparativo"},copy:"Copiar tabla",copied:"¡Copiado!",yes:"✅ Sí",no:"❌ No",feature:"Característica",capacity:"Capacidad",detail
45:"Detalle",param:"Parámetro",value:"Valor",sections:[{id:"s1",title:"1.1 Motor de IA — Interpretación Multimodal Universal",desc:"Plataforma AiQuimist que analiza simultáneamente video, audio, texto e imagen para extraer contexto real e identificar situaciones relevantes.",type:"capabilities",items:[{label:"🎥 Video",detail:"Análisis en tiempo real de cámaras en vivo y grabaciones. Reconoce escenas, objetos, comportamientos, movimientos y patrones."},{label:"🔊 Audio",detail:"Detección de habla, palabras clave, patrones semánticos, tono de voz, urgencia, conflicto y sonidos de interés configurables."},{label:"📄 Texto e Imagen",detail:"Carga y análisis de archivos (video, imagen, audio, texto). Extracción de evidencias, metadatos y correlación entre fuentes."},{label:"Procesamiento temporal nativo",detail:"Analiza la fluidez del movimiento, no solo fotogramas aislados"},{label:"Ventana de contexto masiva",detail:"Mantiene memoria de largos períodos de video/audio para correlación de eventos"},{label:"Análisis en tiempo real (en vivo)",detail:"Streams de cámaras y canales de audio 24×7"},{label:"Posprocesamiento",detail:"Mismos criterios de detección aplicados a archivos y grabaciones: NVR, DVR, NAS"},{label:"Carga de archivos digitales",detail:"Video, imagen, audio y texto para análisis multimodal correlacionado"},{label:"Identificación de estado emocional",detail:"Lectura de lenguaje corporal, tono de voz y señales de comportamiento"},{label:"Abstracción de proveedores de IA",detail:"Endpoints, credenciales y límites configurables; cambio de proveedor con impacto mínimo"}]},{id:"s2",title:"1.2 Ingesta de Cámaras y Fuentes",type:"mixed",items:[{label:"Compatibilidad universal",detail:"Cualquier cámara, independientemente de marca, fabricante, modelo o generación"},{label:"Analógico y digital",detail:"Sin requisito de sustitución de hardware"},{label:"Protocolo principal",detail:"RTSP, ONVIF y métodos HTTP/archivo equivalentes"},{label:"DVR / NVR / NAS",detail:"Lectura de equipos ya instalados en el cliente"},{label:"Importación masiva",detail:"Excel o CSV con metadatos de cámaras (IP, fabricante, usuario, contraseña, puerto, etc.)"},{label:"Operación autónoma",detail:"Totalmente local mediante red interna — sin exposición de streams a internet"},{label:"Seguridad de red",detail:"Sin apertura de puertos para acceso remoto ni configuración de túneles/NAT"},{label:"Escalabilidad",detail:"1 a N cámaras/canales de audio en paralelo"},{label:"Disponibilidad de streams",detail:"Monitoreo y recuperación automática tras fallos"}]},{id:"s3",title:"1.3 Orquestación de Tareas — JOB / STEP",desc:"Sistema de automatización inteligente que sustituye a operadores humanos en rutinas de vigilancia. Creado mediante prompts en lenguaje natural — sin código, sin programación.",type:"capabilities",items:[{label:"JOB (tarea)",detail:"Unidad de monitoreo que lee 1 o N cámaras/canales y actúa según condiciones definidas"},{label:"STEP (etapa)",detail:"Cada JOB se compone de múltiples etapas encadenadas; el resultado de una cámara (output) alimenta la siguiente (input)"},{label:"Múltiples fuentes por etapa",detail:"Cada STEP puede activar 1 o más cámaras y/o 1 o más canales de audio"},{label:"Encadenamiento inteligente",detail:"Dependencia cognitiva entre etapas; el flujo cambia según el resultado anterior"},{label:"Decisiones condicionales nativas",detail:"Ramificaciones, interrupción, repetición o escalado basados en resultado real"},{label:"Prompt por canal",detail:"Cada cámara o canal de audio recibe un prompt específico dentro del mismo JOB (ejecución, alerta y negativo)"},{label:"Programación",detail:"Ejecución en días y horarios programados, con duración definida o continua"},{label:"Activación/desactivación instantánea",detail:"Sin necesidad de reconfiguración"},{label:"Versionado de tareas",detail:"Historial de configuraciones y prompts"},{label:"Creación por usuarios no técnicos",detail:"Operadores sin conocimiento técnico crean JOBs completos mediante interfaz con agente inteligente"}],params:[{param:"Creación de JOBs",value:"Lenguaje natural (texto o voz) — sin código"},{param:"Encadenamiento",value:"STEP N usa resultado cognitivo del STEP N-1"},{param:"Fuentes por STEP",value:"1 o más cámaras + 1 o más canales de audio"},{param:"Programación",value:"Fecha, hora, duración y recurrencia configurables"}]},{id:"s4",title:"1.4 Capacidades de Detección y Clasificación",type:"grouped",groups:[{label:"Detección basada en video (visión computacional / multimodal)",items:["Identificación de situaciones y acciones relevantes según prompts configurados","Reconocimiento de personas de interés — watchlist con asociación automática de eventos","Conteo de personas con disparadores condicionales (más de X / menos de X / exactamente X)","Seguimiento (tracking) de 1 o múltiples individuos/vehículos a lo largo del tiempo","Seguimiento multi-cámara con reidentificación — sigue el desplazamiento entre cámaras A → N → B","Detección de desviación de ruta y violación de trayectoria esperada","Lectura de placas, carteles y contenido textual visible en la cámara","Identificación de gestos manuales configurables y gestos en lengua de señas (cuando se define en prompt)","Detección de estado emocional y lenguaje corporal de preconflicto"]}
45,{label:"Detección basada en audio (habla / sonidos / multimodal)",items:["Análisis de audio en tiempo real y grabado con transcripción (STT) cuando sea aplicable","Diarización — separación e identificación de locutores con resumen por locutor y resumen de toda la conversación","Detección de palabras clave habladas según parametrización","Detección de frases y patrones semánticos configurables","Detección de patrones de habla indicativos de ocurrencia — urgencia, conflicto, repetición","Realce de fragmentos relevantes para auditoría"]},{label:"Sistema de alertas",items:["Alerta por condición cumplida — ej.: 'grupo con X individuos detectado en el punto A'","Alerta por condición NO cumplida — ej.: 'individuo no pasó por la cámara Y en el plazo T'","Alertas con lógica de secuencia de pasos — workflow multipunto configurable","Disparadores, ventanas temporales y criterios de correlación parametrizables","Niveles de severidad, destinatarios y canales de notificación configurables","Evidencias adjuntas a las alertas — fotogramas, clips de video, segmentos de audio","Registro del ciclo de vida de la alerta — generación, envío, recepción y cierre"]}]},{id:"s5",title:"1.5 Contextualización y Generación de Evidencias",type:"capabilities",items:[{label:"Descripción contextual automática",detail:"Generada en lenguaje natural para cada evento detectado"},{label:"Metadatos estructurados",detail:"Fuente, fecha/hora, ubicación lógica, tipo de evento, severidad"},{label:"Correlación automática",detail:"Mismo individuo, misma área, mismo intervalo — entre múltiples fuentes"},{label:"Extracción de evidencias",detail:"Fotogramas, clips de video, segmentos de audio, texto reconocido"},{label:"Trazabilidad de inferencias",detail:"Logs y auditoría de todas las detecciones"},{label:"Informes operacionales",detail:"Rastro de auditoría completo"}]},{id:"s6",title:"1.6 Operación por Lenguaje Natural",desc:"Cualquier operador — sin formación técnica — crea, configura y opera JOBs completos usando texto o voz. Sin programación, scripts ni herramientas externas.",type:"capabilities",items:[{label:"Consultas en lenguaje natural",detail:"Preguntas con respuestas contextualizadas"},{label:"Comandos por texto y voz",detail:"Creación, edición y activación de tareas"},{label:"Configuración completa por prompt",detail:"Monitoreos, alertas, disparadores y destinatarios"},{label:"Controles de gobernanza",detail:"Confirmación para acciones críticas, restricciones por perfil"},{label:"Rastro de auditoría",detail:"Registro de todos los comandos y cambios"}]},{id:"s7",title:"1.7 Integraciones Externas — API y Webhook",type:"capabilities",items:[{label:"Disparo automático de webhooks",detail:"Llamadas a APIs externas basadas en condiciones definidas"},{label:"Configuración por operadores no técnicos",detail:"Mediante prompt en lenguaje natural"},{label:"Payload estructurado",detail:"Metadatos y evidencias en JSON"},{label:"Autenticación en llamadas externas",detail:"Tokens, claves, firmas y listas de permiso"},{label:"Auditoría de solicitudes",detail:"Log completo de todas las llamadas externas"},{label:"Tratamiento de fallos",detail:"Reintentos, colas y logs"},{label:"Interoperabilidad",detail:"Paneles, mensajería, sistemas de registro y gestión"}],params:[{param:"Protocolo",value:"API REST + Webhooks"},{param:"Payload",value:"JSON estructurado con metadatos, evidencias y contexto"},{param:"Autenticación",value:"Tokens, claves, firmas y listas de permiso"},{param:"Auditoría",value:"Log completo de todas las llamadas externas"}]},{id:"s8",title:"1.8 Métricas de Consumo y Gestión de Costos",type:"capabilities",items:[{label:"Métricas por JOB/STEP",detail:"Registro y disponibilización detallados"},{label:"Métricas por cámara/canal de audio",detail:"Consumo individualizado por fuente"},{label:"Métricas por usuario/perfil",detail:"Seguimiento de uso por operador"},{label:"Conteo de tokens y solicitudes",detail:"Estimación y valores reales con latencia"}
45,{label:"Costos por dimensión",detail:"JOB, cámara y usuario"},{label:"Cuotas y centros de costo",detail:"Soporte para cuotas y segregación por departamento"}]},{id:"s9",title:"1.9 Requisitos de Hardware",type:"params",params:[{param:"GPU",value:"No requerida — ninguna de las tres plataformas"},{param:"GPU (F.A.S.T.-AI)",value:"Utilizada para algunas infracciones complejas y solución SBC de prevención de accidentes en carreteras"},{param:"Hardware propietario",value:"No requerido — integra con infraestructura existente"},{param:"Cámaras",value:"Sin sustitución — compatible con cualquier equipo instalado"},{param:"SO soportado",value:"Windows (compatibilidad nativa)"},{param:"Despliegue",value:"On-premises, nube pública/privada (territorio nacional) o híbrido"},{param:"Activación",value:"Días, no meses — piloto implantable en hasta 7 días hábiles"}]},{id:"s10",title:"1.10 Seguridad de la Información, Gobernanza y Protección de Datos",type:"capabilities",items:[{label:"Control de acceso RBAC",detail:"Segregación de funciones y mínimo privilegio"},{label:"Rastros de auditoría completos",detail:"Logs de operación, comandos, cambios de configuración y prompts"},{label:"Protección de datos",detail:"En tránsito y en reposo"},{label:"Políticas de retención y eliminación",detail:"Pseudonimización/anonimización cuando sea aplicable"},{label:"Gestión de perfiles de acceso",detail:"Restricciones operacionales por nivel"},{label:"Cumplimiento GDPR/LGPD",detail:"Minimización, finalidad, necesidad y responsabilidad"},{label:"Almacenamiento de credenciales",detail:"Windows Credential Manager/DPAPI o equivalente — texto plano prohibido"}]},{id:"s11",title:"1.11 Disponibilidad y Continuidad Operacional",type:"capabilities",items:[{label:"Operación 24×7",detail:"Monitoreo continuo sin interrupción"},{label:"Recuperación automática",detail:"Reanudación tras fallos de stream sin intervención"},{label:"Resiliencia a caídas de conectividad",detail:"Reprocesamiento de contenido grabado"},{label:"Colas y reprocesamiento",detail:"Garantía de cobertura sin lagunas"},{label:"Alta disponibilidad",detail:"Redundancia, replicación y balanceo cuando estén configurados"}]},{id:"s12",title:"1.12 Integración con Red Cooperativa Privada",desc:"Capacidad exclusiva del ecosistema AiQuimist: cámaras privadas de usuarios voluntarios participan automáticamente en búsquedas públicas — sin transmitir video, sin abrir puertos de red.",type:"capabilities",items:[{label:"Distribución gratuita",detail:"Solución para Windows distribuible a usuarios privados en todo el país"},{label:"Mecanismo de emparejamiento",detail:"Código de activación, vinculación y revocación de dispositivo"},{label:"Endpoints autorizados únicamente",detail:"Solo endpoints autorizados pueden consumir o publicar datos/eventos"},{label:"Detección y notificación local",detail:"El análisis ocurre en el computador del usuario privado"},{label:"Notificación de coincidencia",detail:"Automática a la plataforma central cuando hay match con watchlist"},{label:"Alerta estructurada",detail:"Imagen del individuo con overlay, fecha/hora, cámara, dirección completa, GPS, nivel de confianza, identificador"},{label:"Algoritmos Re-ID",detail:"Reidentificación y, cuando sea aplicable y autorizado, reconocimiento facial"}
45,{label:"Participación voluntaria",detail:"El usuario decide si activa la cooperación y qué cámaras participan"},{label:"Privacidad por diseño",detail:"Sin puertos abiertos, sin streams transmitidos continuamente"},{label:"Cumplimiento integral GDPR/LGPD",detail:"Análisis local, compartición solo del resultado relevante"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Inteligencia institucional para operaciones públicas y entornos de misión crítica",sections:[{title:"2.1 Foco y Alcance Operacional",desc:"Plataforma orientada al sector público, institucional y corporativo de alta criticidad. Opera sobre redes de cámaras de gran escala.",type:"list",items:["Municipios, gobiernos estatales y federales","Fuerzas policiales, guardias municipales y secretarías de seguridad","Centros integrados de mando y control (CIOPs)","Prisiones y unidades penitenciarias","Aeropuertos, puertos y terminales","Fronteras e infraestructura crítica nacional","Empresas públicas y grandes corporaciones privadas de operación compleja","Grandes empresas privadas: bancos, logística y otras"]},{title:"2.2 Infraestructura Exclusiva",type:"params",params:[{param:"Dónde se ejecuta",value:"Servidores propios del cliente (on-premise)"},{param:"Seguridad de datos",value:"100% interno — ninguna información expuesta a internet"},{param:"GPU",value:"No requerida"},{param:"Servidores",value:"Convencionales — dedicados a la base de datos y lectura simultánea de cámaras"},{param:"Escala",value:"Redes institucionales de gran escala — decenas a miles de cámaras"}]},{title:"2.3 Detecciones Específicas",type:"list",items:["Movimientos sospechosos en perímetros, accesos y entornos críticos","Comportamientos incompatibles con áreas sensibles","Intrusiones e intentos de acceso no autorizado","Conflictos y situaciones de violencia","Intentos de fuga en unidades de custodia","Presencia de armas","Abandono de objetos en lugares de riesgo","Cambios bruscos en patrones de comportamiento","Concentración anormal de personas en puntos críticos","Situaciones de riesgo en entornos de misión crítica — aeropuertos, fronteras, prisiones","Motor Temporal: ejecuta el prompt y el sistema continúa sin intervención humana"]},{title:"2.4 Coordinación de la Red Cooperativa",type:"list",items:["Dispara búsquedas y rastreos que se propagan por toda la malla pública y privada cooperante","Recibe notificaciones automáticas de Perceptrum cuando hay match con watchlist","Coordina operaciones integradas entre espacio público, vial (F.A.S.T.) y privado (Perceptrum)","Centraliza alertas, evidencias y rastro de seguimiento de toda la red integrada"]},{title:"2.5 Modelo Comercial",type:"params",params:[{param:"Licenciamiento",value:"Institucional — contrato con organismo público o corporación"},{param:"Despliegue",value:"On-premise en los servidores del cliente"},{param:"Soporte",value:"Onboarding y configuración incluidos"},{param:"Piloto",value:"Implantable en hasta 7 días hábiles sobre infraestructura existente"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Inteligencia multimodal para el entorno privado — del hogar a la gran corporación",sections:[{title:"2.6 Foco y Alcance Operacional",desc:"Plataforma orientada al sector privado, comercial, residencial y condominial. Democratiza el acceso a la inteligencia de monitoreo avanzado.",type:"list",items:["Residencias y hogares","Condominios y edificios residenciales y comerciales","Pequeños y medianos comercios","Cadenas de comercio minorista y tiendas","Bancos e instituciones financieras","Centros comerciales y estacionamientos","Escuelas y universidades privadas","Hospitales y clínicas privadas","Almacenes e instalaciones logísticas","Granjas y propiedades rurales"]},{title:"2.7 Infraestructura Exclusiva",type:"params",params:[{param:"Dónde se ejecuta",value:"Computador personal del usuario (doméstico o corporativo)"},{param:"Procesador mínimo",value:"Intel i5 o superior"},{param:"GPU",value:"No requerida"},{param:"Almacenamiento",value:"Espacio en disco para imágenes temporales en análisis"},{param:"DVR/NVR",value:"Lectura nativa para búsquedas en grabaciones anteriores"},{param:"Activación",value:"Minutos — importación de cámaras mediante CSV e inicio inmediato"}]},{title:"2.8 Detecciones Específicas",type:"list",items:["Movimientos fuera de patrón en horarios o lugares inusuales","Hurtos, robos y asaltos — comportamientos típicos de sustracción","Presencia indebida en áreas restringidas","Riesgo perimetral e intentos de intrusión","Pedidos de ayuda — gestos y comportamientos de socorro","Abandono de objetos sospechosos","Anomalías operacionales en procesos (logística, inventario, entregas)","Verificación automatizada de procesos: vehículo, placa, repartidor, conteo de volúmenes","Eventos configurables por tipo de entorno — perfil de ca
45da instalación","Localiza infractor de medida de protección (órdenes de alejamiento etc.)"]},{title:"2.9 Cooperación Voluntaria (exclusivo Perceptrum)",type:"list",items:["Bandera de cooperación voluntaria — el propietario decide si activa y qué cámaras participan","Cuando está activado: la cámara participa en búsquedas emitidas por Perceptrum Corporate o F.A.S.T.-AI","Análisis ejecutado localmente — en el computador del propio usuario privado","Ningún stream de video transmitido continuamente a la central pública","Ningún puerto de red abierto externamente","Solo el resultado (match) se envía a la central — no las imágenes","La alerta incluye: imagen del individuo con overlay, fecha/hora, cámara, dirección, GPS, nivel de confianza","Participación revocable en cualquier momento por el propietario","Cumplimiento integral con GDPR/LGPD — privacidad por diseño arquitectónico"]},{title:"2.10 Modelo Comercial",type:"params",params:[{param:"Versión gratuita",value:"Funcionalidades básicas de monitoreo — sin costo, sin tarjeta de crédito"},{param:"Versión premium",value:"Acceso completo — licencia mensual accesible"},{param:"Cooperación pública",value:"Gratuita para el usuario privado — costo pagado por el organismo público por consulta"},{param:"Costo para el Estado",value:"Centavos por búsqueda — pagado solo cuando se activa la búsqueda"},{param:"Distribución",value:"Distribuible a usuarios privados en todo el país"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Inteligencia territorial, movilidad y lectura dinámica del espacio urbano",sections:[{title:"2.11 Foco y Alcance Operacional",desc:"Plataforma orientada a la movilidad, el tránsito, el ordenamiento urbano y la interpretación dinámica del territorio.",type:"list",items:["Secretarías y departamentos municipales de tránsito y movilidad","Centros de operación urbana (COUs)","Departamentos de obras y planificación urbana","Organismos de fiscalización del tránsito","Gestores de grandes eventos públicos","Concesionarias de autopistas y estacionamientos","Fuerzas de seguridad pública — rastreo de vehículos y operaciones viales"]},{title:"2.12 Infraestructura Exclusiva",type:"params",params:[{param:"Dónde se ejecuta",value:"Servidores de las empresas responsables de tránsito y ordenamiento urbano"},{param:"GPU",value:"No requerida (excepto análisis de infracciones complejas y SBC de prevención de accidentes en autopistas)"},{param:"Almacenamiento",value:"Bajo — lee directamente de NAS, DVR, NVR o streaming existente"},{param:"Fuentes compatibles",value:"Cámaras públicas de vías, semáforos, radares fijos y móviles — cualquier estándar"},{param:"Escala",value:"Red vial urbana completa — barrios, corredores, ciudades"}]},{title:"2.13 Detecciones Específicas",type:"list",items:["Infracciones de tránsito — generación automática de multas con evidencias","Accidentes y atropellos — detección y notificación inmediata","Formación de congestiones — detección temprana antes del colapso","Bloqueos y desvíos de vía","Ocupación irregular del espacio público","Eventos atípicos que afectan la movilidad urbana","Riesgos operacionales en vías y áreas estratég
45icas","Patrones de flujo, zonas críticas y recurrencias","Rastreo de vehículos sospechosos — placa, modelo, color, trayecto","Concentración y densidad de personas en vías y espacios públicos","Persecución automática si lo solicita el operador"]},{title:"2.14 Inteligencia Territorial (exclusivo F.A.S.T.-AI)",type:"list",items:["Análisis de patrones de flujo vehicular y peatonal por hora, día y zona","Identificación de zonas críticas y recurrencias de incidentes","Apoyo a decisiones de planificación vial y urbana con datos reales","Panel de gestión territorial en tiempo real para secretarios y gestores","Soporte a la gestión de grandes eventos — densidad, flujo, riesgos de tumulto","Generación de información estratégica continua sobre el comportamiento del territorio"]},{title:"2.15 Modelo Comercial",type:"params",params:[{param:"Licenciamiento",value:"Municipal / estadual — contrato con organismo público de movilidad o seguridad"},{param:"Despliegue",value:"Servidores del municipio o concesionaria — sobre infraestructura existente"},{param:"ROI directo",value:"Los ingresos generados por multas automáticas superan el costo de la plataforma"},{param:"Piloto",value:"Implantable en hasta 7 días hábiles sobre cámaras públicas existentes"}]}]}],comparison:{title:"Resumen Comparativo de las Tres Plataformas",rows:[{feature:"Foco principal",drakon:"Sector público y misión crítica",perceptrum:"Sector privado y residencial",fast:"Tránsito y ordenamiento urbano"},{feature:"Dónde se ejecuta",drakon:"Servidores del cliente (on-premise)",perceptrum:"Computador personal (i5+)",fast:"Servidores municipales/concesionaria"},{feature:"GPU requerida",drakon:"❌ No",perceptrum:"❌ No",fast:"❌ No (excepto SBC)"},{feature:"Sustitución de cámaras",drakon:"❌ No requerida",perceptrum:"❌ No requerida",fast:"❌ No requerida"},{feature:"Análisis en vivo (24/7)",drakon:"✅ Sí",perceptrum:"✅ Sí",fast:"✅ Sí"},{feature:"Posprocesamiento grabado",drakon:"✅ Sí (DVR/NVR/NAS)",perceptrum:"✅ Sí (DVR/NVR/NAS)",fast:"✅ Sí (DVR/NVR/NAS)"},{feature:"JOBs por lenguaje natural",drakon:"✅ Sí",perceptrum:"✅ Sí",fast:"✅ Sí"},{feature:"Integración API/Webhook",drakon:"✅ Sí",perceptrum:"✅ Sí",fast:"✅ Sí"},{feature:"Seguimiento multi-cámara",drakon:"✅ Sí",perceptrum:"✅ Sí",fast:"✅ Sí"},{feature:"Red cooperativa privada",drakon:"✅ Coordina búsquedas",perceptrum:"✅ Participa (voluntario)",fast:"✅ Coordina búsquedas viales"},{feature:"Versión gratuita disponible",drakon:"❌ No",perceptrum:"✅ Sí (básico)",fast:"❌ No"},{feature:"PoC disponible",drakon:"✅ Sí",perceptrum:"❌ No",fast:"✅ Sí"},{feature:"Multas automáticas",drakon:"❌ No es el foco",perceptrum:"❌ No es el foco",fast:"✅ Sí — generación automática"},{feature:"Inteligencia territorial",drakon:"Operacional institucional",perceptrum:"Operacional privada",fast:"✅ Territorial y urbana"},{feature:"Cumplimiento GDPR/LGPD",drakon:"✅ Sí",perceptrum:"✅ Sí (por diseño)",fast:"✅ Sí"},{feature:"Tiempo de activación del piloto",drakon:"Hasta 7 días hábiles",perceptrum:"Minutos",fast:"Hasta 7 días hábiles"}]}},fr:{hero:{badge:"Spécifications Techniques",title:"Specs Techniques",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Document technique structuré pour les processus d'évaluation, d'acquisition et d'intégration. Toutes les spécifications des trois plateformes AiQuimist — fonctionnalités partagées et différenciateurs exclusifs.",part1:"PARTIE 1 — Core Specs",part1sub:"Fonctionnalités présentes sur les trois plateformes",part2:"PARTIE 2 — Specs Exclusives",part2sub:"Différenciateurs spécifiques à chaque produit",part3:"Résumé Comparatif"},copy:"Copier le tableau",copied:"Copié !",yes:"✅ Oui",no:"❌ Non",feature:"Fonctionnalité",capacity:"Capacité",detail:"Détail",param:"Paramètre",value:"Valeur",sections:[{id:"s1",title:"1.1 Moteur IA — Interprétation Multimodale Universelle",desc:"Plateforme AiQuimist qui analyse simultanément la vidéo, l'audio, le texte et l'image pour extraire le contexte réel et identifier les situations pertinentes.",type:"capabilities",items:[{label:"🎥 Vidéo",detail
45:"Analyse en temps réel des caméras en direct et des enregistrements. Reconnaît les scènes, objets, comportements, mouvements et modèles."},{label:"🔊 Audio",detail:"Détection de la parole, des mots-clés, des modèles sémantiques, du ton de voix, de l'urgence, des conflits et des sons d'intérêt configurables."},{label:"📄 Texte et Image",detail:"Téléchargement et analyse de fichiers (vidéo, image, audio, texte). Extraction de preuves, métadonnées et corrélation entre sources."},{label:"Traitement temporel natif",detail:"Analyse la fluidité du mouvement, pas seulement des images isolées"},{label:"Fenêtre de contexte massive",detail:"Maintient la mémoire de longues périodes vidéo/audio pour la corrélation d'événements"},{label:"Analyse en temps réel (en direct)",detail:"Flux de caméras et canaux audio 24×7"},{label:"Post-traitement",detail:"Mêmes critères de détection appliqués aux archives et fichiers enregistrés : NVR, DVR, NAS"},{label:"Téléchargement de fichiers numériques",detail:"Vidéo, image, audio et texte pour une analyse multimodale corrélée"},{label:"Identification de l'état émotionnel",detail:"Lecture du langage corporel, du ton de voix et des signaux comportementaux"},{label:"Abstraction des fournisseurs IA",detail:"Endpoints, identifiants et limites configurables ; changement de fournisseur avec un impact minimal"}]},{id:"s2",title:"1.2 Ingestion de Caméras et Sources",type:"mixed",items:[{label:"Compatibilité universelle",detail:"Toute caméra, quelle que soit la marque, le fabricant, le modèle ou la génération"},{label:"Analogique et numérique",detail:"Aucun remplacement de matériel requis"},{label:"Protocole principal",detail:"RTSP, ONVIF et méthodes HTTP/fichier équivalentes"},{label:"DVR / NVR / NAS",detail:"Lecture des équipements déjà installés chez le client"},{label:"Import en masse",detail:"Excel ou CSV avec métadonnées des caméras (IP, fabricant, utilisateur, mot de passe, port, etc.)"},{label:"Fonctionnement autonome",detail:"Entièrement local via réseau interne — sans exposition des flux à internet"},{label:"Sécurité réseau",detail:"Aucune ouverture de port pour l'accès distant ni configuration de tunnels/NAT"},{label:"Évolutivité",detail:"1 à N caméras/canaux audio en parallèle"},{label:"Disponibilité des flux",detail:"Surveillance et récupération automatique après les pannes"}]},{id:"s3",title:"1.3 Orchestration des Tâches — JOB / STEP",desc:"Système d'automatisation intelligent qui remplace les opérateurs humains dans les routines de surveillance. Créé via des prompts en langage naturel — sans code, sans programmation.",type:"capabilities",items:[{label:"JOB (tâche)",detail:"Unité de surveillance qui lit 1 ou N caméras/canaux et agit selon des conditions définies"},{label:"STEP (étape)",detail:"Chaque JOB est composé de plusieurs étapes enchaînées ; le résultat d'une caméra (output) alimente la suivante (input)"},{label:"Sources multiples par étape",detail:"Chaque STEP peut activer 1 ou plusieurs caméras et/ou 1 ou plusieurs canaux audio"},{label:"Chaînage intelligent",detail:"Dépendance cognitive entre les étapes ; le flux change en fonction du résultat précédent"},{label:"Décisions conditionnelles natives",detail:"Branches, interruption, répétition ou escalade basées sur le résultat réel"},{label:"Prompt par canal",detail:"Chaque caméra ou canal audio reçoit un prompt spécifique dans le même JOB (exécution, alerte et négatif)"},{label:"Planification",detail:"Exécution les jours et heures programmés, avec durée définie ou continue"},{label:"Activation/désactivation instantanée",detail:"Sans reconfiguration nécessaire"}
45,{label:"Versionnage des tâches",detail:"Historique des configurations et prompts"},{label:"Création par utilisateurs non techniques",detail:"Les opérateurs sans connaissances techniques créent des JOBs complets via l'interface avec un agent intelligent"}],params:[{param:"Création de JOBs",value:"Langage naturel (texte ou voix) — sans code"},{param:"Chaînage",value:"STEP N utilise le résultat cognitif du STEP N-1"},{param:"Sources par STEP",value:"1 ou plusieurs caméras + 1 ou plusieurs canaux audio"},{param:"Planification",value:"Date, heure, durée et récurrence configurables"}]},{id:"s4",title:"1.4 Capacités de Détection et Classification",type:"grouped",groups:[{label:"Détection basée sur la vidéo (vision par ordinateur / multimodale)",items:["Identification des situations et actions pertinentes selon les prompts configurés","Reconnaissance des personnes d'intérêt — liste de surveillance avec association automatique d'événements","Comptage de personnes avec déclencheurs conditionnels (plus de X / moins de X / exactement X)","Suivi de 1 ou plusieurs individus/véhicules dans le temps","Suivi multi-caméras avec réidentification — suit le déplacement entre caméras A → N → B","Détection d'écart de trajet et violation de trajectoire attendue","Lecture des plaques d'immatriculation, panneaux et contenu textuel visible à la caméra","Identification de gestes manuels configurables et gestes en langue des signes (quand défini dans le prompt)","Détection de l'état émotionnel et du langage corporel de pré-conflit"]},{label:"Détection basée sur l'audio (parole / sons / multimodale)",items:["Analyse audio en temps réel et enregistrée avec transcription (STT) si applicable","Diarisation — séparation et identification des locuteurs avec résumé par locuteur et résumé de la conversation entière","Détection de mots-clés prononcés selon la paramétrisation","Détection de phrases et modèles sémantiques configurables","Détection de modèles de parole indiquant des événements — urgence, conflit, répétition","Mise en évidence des extraits pertinents pour l'audit"]},{label:"Système d'alertes",items:["Alerte sur condition satisfaite — ex. : 'groupe de X individus détecté au point A'","Alerte sur condition NON satisfaite — ex. : 'individu n'a pas passé la caméra Y dans le délai T'","Alertes avec logique de séquence de passages — workflow multipoint configurable","Déclencheurs, fenêtres temporelles et critères de corrélation paramétrables","Niveaux de sévérité, destinataires et canaux de notification configurables","Preuves jointes aux alertes — images, clips vidéo, segments audio","Enregistrement du cycle de vie de l'alerte — génération, routage, réception et clôture"]}]},{id:"s5",title:"1.5 Contextualisation et Génération de Preuves",type:"capabilities",items:[{label:"Description contextuelle automatique",detail:"Générée en langage naturel pour chaque événement détecté"},{label:"Métadonnées structurées",detail:"Source, date/heure, emplacement logique, type d'événement, sévérité"},{label:"Corrélation automatique",detail:"Même individu, même zone, même intervalle — entre plusieurs sources"},{label:"Extraction de preuves",detail:"Images, clips vidéo, segments audio, texte reconnu"},{label:"Traçabilité des inférences",detail:"Journaux et audit de toutes les détections"},{label:"Rapports opérationnels",detail:"Piste d'audit complète"}]},{id:"s6",title:"1.6 Opération en Langage Naturel",desc:"Tout opérateur — sans formation technique — crée, configure et exploite des JOBs complets en utilisant le texte ou la voix. Aucune programmation, script ou outil externe.",type:"capabilities",items:[{label:"Requêtes en langage naturel",detail:"Questions avec réponses contextualisées"},{label:"Commandes par texte et voix",detail:"Création, édition et activation des tâches"},{label:"Configuration complète par prompt",detail:"Surveillances, alertes, déclencheurs et destinataires"},{label:"Contrôles de gouvernance",detail:"Confirmation pour les actions critiques, restrictions par profil"},{label:"Piste d'audit",detail:"Enregistrement de toutes les commandes et modifications"}]},{id:"s7",title:"1.7 Intégrations Externes — API et Webhook",type:"capabilities",items:[{label:"Déclenchement automatique de webhooks",detail
45:"Appels aux APIs externes basés sur des conditions définies"},{label:"Configuration par utilisateurs non techniques",detail:"Via prompt en langage naturel"},{label:"Payload structuré",detail:"Métadonnées et preuves en JSON"},{label:"Authentification des appels externes",detail:"Tokens, clés, signatures et listes de permission"},{label:"Audit des requêtes",detail:"Journal complet de tous les appels externes"},{label:"Gestion des échecs",detail:"Nouvelles tentatives, files d'attente et journaux"},{label:"Interopérabilité",detail:"Tableaux de bord, messagerie, systèmes d'enregistrement et de gestion"}],params:[{param:"Protocole",value:"API REST + Webhooks"},{param:"Payload",value:"JSON structuré avec métadonnées, preuves et contexte"},{param:"Authentification",value:"Tokens, clés, signatures et listes de permission"},{param:"Audit",value:"Journal complet de tous les appels externes"}]},{id:"s8",title:"1.8 Métriques de Consommation et Gestion des Coûts",type:"capabilities",items:[{label:"Métriques par JOB/STEP",detail:"Enregistrement et mise à disposition détaillés"},{label:"Métriques par caméra/canal audio",detail:"Consommation individualisée par source"},{label:"Métriques par utilisateur/profil",detail:"Suivi de l'utilisation par opérateur"},{label:"Comptage de tokens et requêtes",detail:"Estimations et valeurs réelles avec latence"},{label:"Coûts par dimension",detail:"JOB, caméra et utilisateur"},{label:"Quotas et centres de coûts",detail:"Support des quotas et de la ségrégation par département"}]},{id:"s9",title:"1.9 Exigences Matérielles",type:"params",params:[{param:"GPU",value:"Non requise — aucune des trois plateformes"},{param:"GPU (F.A.S.T.-AI)",value:"Utilisée pour certaines infractions complexes et solution SBC de prévention d'accidents sur autoroutes"},{param:"Matériel propriétaire",value:"Non requis — s'intègre à l'infrastructure existante"},{param:"Caméras",value:"Sans remplacement — compatible avec tout équipement installé"},{param:"OS supporté",value:"Windows (compatibilité native)"},{param:"Déploiement",value:"On-premises, cloud public/privé (territoire national) ou hybride"},{param:"Activation",value:"Jours, pas mois — pilote déployable en 7 jours ouvrables"}]},{id:"s10",title:"1.10 Sécurité de l'Information, Gouvernance et Protection des Données",type:"capabilities",items:[{label:"Contrôle d'accès RBAC",detail:"Ségrégation des fonctions et principe du moindre privilège"},{label:"Pistes d'audit complètes",detail:"Journaux d'opération, commandes, modifications de configuration et prompts"},{label:"Protection des données",detail:"En transit et au repos"},{label:"Politiques de rétention et de suppression",detail:"Pseudonymisation/anonymisation si applicable"},{label:"Gestion des profils d'accès",detail:"Restrictions opérationnelles par niveau"},{label:"Conformité RGPD/LGPD",detail:"Minimisation, finalité, nécessité et responsabilité"},{label:"Stockage des identifiants",detail:"Windows Credential Manager/DPAPI ou équivalent — texte en clair interdit"}]},{id:"s11",title:"1.11 Disponibilité et Continuité Opérationnelle",type:"capabilities",items:[{label:"Fonctionnement 24×7",detail:"Surveillance continue sans interruption"},{label:"Récupération automatique",detail:"Reprise après les pannes de flux sans intervention"},{label:"Résilience aux coupures de connectivité",detail:"Retraitement du contenu enregistré"},{label:"Files d'attente et retraitement",detail:"Garantie de couverture sans lacunes"},{label:"Haute disponibilité",detail:"Redondance, réplication et équilibrage si configurés"}]},{id:"s12",title:"1.12 Intégration avec le Réseau Coopératif Privé",desc:"Capacité exclusive de l'écosystème AiQuimist : les caméras privées d'utilisateurs volontaires participent automatiquement aux recherches publiques — sans transmettre de vidéo, sans ouvrir de ports réseau.",type:"capabilities",items:[{label:"Distribution gratuite",detail:"Solution Windows distribuable aux utilisateurs privés à l'échelle nationale"},{label:"Mécanisme d'appairage",detail:"Code d'activation, liaison et révocation d'appareil"},{label:"Endpoints autorisés uniquement",detail:"Seuls les endpoints autorisés peuvent consommer ou publier des données/événements"}
45,{label:"Détection et notification locales",detail:"L'analyse s'effectue sur l'ordinateur de l'utilisateur privé"},{label:"Notification de correspondance",detail:"Automatique à la plateforme centrale lors d'une correspondance avec la liste de surveillance"},{label:"Alerte structurée",detail:"Image de l'individu avec overlay, date/heure, caméra, adresse complète, GPS, niveau de confiance, identifiant"},{label:"Algorithmes Re-ID",detail:"Réidentification et, le cas échéant et autorisé, reconnaissance faciale"},{label:"Participation volontaire",detail:"L'utilisateur décide d'activer la coopération et quelles caméras participent"},{label:"Protection de la vie privée par conception",detail:"Aucun port ouvert, aucun flux transmis en continu"},{label:"Conformité totale RGPD/LGPD",detail:"Analyse locale, partage uniquement du résultat pertinent"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Intelligence institutionnelle pour les opérations publiques et les environnements critiques",sections:[{title:"2.1 Focus et Périmètre Opérationnel",desc:"Plateforme destinée aux secteurs public, institutionnel et aux grandes entreprises à haute criticité. Opère sur des réseaux de caméras à grande échelle.",type:"list",items:["Municipalités, gouvernements régionaux et fédéraux","Forces de police, gardes municipaux et secrétariats à la sécurité","Centres de commandement et de contrôle intégrés (CIOPs)","Prisons et établissements pénitentiaires","Aéroports, ports et terminaux","Frontières et infrastructures critiques nationales","Entreprises publiques et grandes corporations privées à opérations complexes","Grandes entreprises privées : banques, logistique et autres"]},{title:"2.2 Infrastructure Exclusive",type:"params",params:[{param:"Fonctionne sur",value:"Serveurs propres du client (on-premise)"},{param:"Sécurité des données",value:"100% interne — aucune information exposée à internet"},{param:"GPU",value:"Non requise"},{param:"Serveurs",value:"Conventionnels — dédiés à la base de données et à la lecture simultanée des caméras"},{param:"Échelle",value:"Grands réseaux institutionnels — des dizaines à des milliers de caméras"}]},{title:"2.3 Détections Spécifiques",type:"list",items:["Mouvements suspects dans les périmètres, accès et environnements critiques","Comportements incompatibles avec les zones sensibles","Intrusions et tentatives d'accès non autorisé","Conflits et situations de violence","Tentatives d'évasion dans les unités de détention","Présence d'armes","Abandon d'objets dans des endroits à risque","Changements brusques dans les modèles comportementaux","Concentration anormale de personnes aux points critiques","Situations à risque dans les environnements critiques — aéroports, frontières, prisons","Moteur Temporel : exécute le prompt et le système continue sans intervention humaine"]},{title:"2.4 Coordination du Réseau Coopératif",type:"list",items:["Déclenche des recherches et des suivis qui se propagent à l'ensemble du maillage public et privé coopératif","Reçoit des notifications automatiques de Perceptrum lors de correspondances avec la liste de surveillance","Coordonne les opérations intégrées entre l'espace public, routier (F.A.S.T.) et privé (Perceptrum)","Centralise les alertes, preuves et piste de suivi de l'ensemble du réseau intégré"]},{title:"2.5 Modèle Commercial",type:"params",params:[{param:"Licence",value:"Institutionnelle — contrat avec un organisme public ou une corporation"},{param:"Déploiement",value:"On-premise sur les serveurs du client"},{param:"Support",value:"Onboarding et configuration inclus"},{param:"Pilote",value:"Déployable en 7 jours ouvrables sur l'infrastructure existante"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Intelligence multimodale pour l'environnement privé — du domicile à la grande entreprise",sections:[{title:"2.6 Focus et Périmètre Opérationnel",desc:"Plateforme destinée aux secteurs privé, commercial, résidentiel et copropriété. Démocratise l'accès à l'intelligence de surveillance avancée.",type:"list",items:["Résidences et maisons","Copropriétés et immeubles résidentiels et commerciaux","Petits et moyens commerces","Chaînes de commerce de détail et magasins","Banques et institutions financières","Centres commerciaux et parkings","Écoles et universités privées","Hôpitaux et cliniques privés","Entrepôts et installations logistiques","Fermes et propriétés rurales"]}
45,{title:"2.7 Infrastructure Exclusive",type:"params",params:[{param:"Fonctionne sur",value:"Ordinateur personnel de l'utilisateur (domicile ou entreprise)"},{param:"Processeur minimum",value:"Intel i5 ou supérieur"},{param:"GPU",value:"Non requise"},{param:"Stockage",value:"Espace disque pour les images temporaires en cours d'analyse"},{param:"DVR/NVR",value:"Lecture native pour les recherches dans les enregistrements précédents"},{param:"Activation",value:"Minutes — import des caméras via CSV et démarrage immédiat"}]},{title:"2.8 Détections Spécifiques",type:"list",items:["Mouvements hors modèle à des heures ou des lieux inhabituels","Vols, cambriolages et agressions — comportements typiques de soustraction","Présence non autorisée dans les zones restreintes","Risque périmétrique et tentatives d'intrusion","Demandes d'aide — gestes et comportements de détresse","Abandon d'objets suspects","Anomalies opérationnelles dans les processus (logistique, inventaire, livraisons)","Vérification automatisée des processus : véhicule, plaque, livreur, comptage de volumes","Événements configurables par type d'environnement — profil par installation","Localise les violateurs de mesures de protection (ordonnances de protection etc.)"]},{title:"2.9 Coopération Volontaire (exclusif Perceptrum)",type:"list",items:["Indicateur de coopération volontaire — le propriétaire décide d'activer et quelles caméras participent","Quand activé : la caméra participe aux recherches émises par Perceptrum Corporate ou F.A.S.T.-AI","Analyse exécutée localement — sur l'ordinateur de l'utilisateur privé","Aucun flux vidéo transmis en continu à la centrale publique","Aucun port réseau ouvert externement","Seul le résultat (correspondance) est envoyé à la centrale — pas les images","L'alerte comprend : image de l'individu avec overlay, date/heure, caméra, adresse, GPS, niveau de confiance","Participation révocable à tout moment par le propriétaire","Conformité totale RGPD/LGPD — protection de la vie privée par conception architecturale"]},{title:"2.10 Modèle Commercial",type:"params",params:[{param:"Version gratuite",value:"Fonctionnalités de surveillance de base — sans frais, sans carte de crédit"},{param:"Version premium",value:"Accès complet — licence mensuelle abordable"},{param:"Coopération publique",value:"Gratuite pour l'utilisateur privé — coût payé par l'organisme public par consultation"},{param:"Coût pour l'État",value:"Quelques centimes par recherche — payé uniquement quand la recherche est déclenchée"},{param:"Distribution",value:"Distribuable aux utilisateurs privés à l'échelle nationale"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Intelligence territoriale, mobilité et lecture dynamique de l'espace urbain",sections:[{title:"2.11 Focus et Périmètre Opérationnel",desc:"Plateforme destinée à la mobilité, la circulation, l'aménagement urbain et l'interprétation dynamique du territoire.",type:"list",items:["Secrétariats et départements municipaux de la circulation et de la mobilité","Centres d'opérations urbaines (COUs)","Départements des travaux publics et de l'urbanisme","Organismes de contrôle de la circulation","Gestionnaires de grands événements publics","Concessionnaires d'autoroutes et de parkings","Forces de sécurité publique — suivi de véhicules et opérations routières"]},{title:"2.12 Infrastructure Exclusive",type:"params",params:[{param:"Fonctionne sur",value:"Serveurs des entreprises responsables de la circulation et de l'aménagement urbain"},{param:"GPU",value:"Non requise (sauf analyse d'infractions complexes et solution SBC de prévention d'accidents sur autoroutes)"},{param:"Stockage",value:"Faible — lit directement depuis NAS, DVR, NVR ou streaming existant"},{param:"Sources compatibles",value:"Caméras publiques de voirie, feux de circulation, radars fixes et mobiles — tout standard"},{param:"Échelle",value:"Réseau routier urbain complet — quartiers, corridors, villes"}]},{title:"2.13 Détections Spécifiques",type:"list",items:["Infractions routières — génération automatique d'amendes avec preuves","Accidents et renversements de piétons — détection et notification immédiate","Formation d'embouteillages — détection précoce avant le blocage","Blocages et déviations de voies","Occupation irrégulière de l'espace public","Événements atypiques affectant la mobilité urbaine","Risques opérationnels sur les routes et zones stratég
45iques","Modèles de flux, zones critiques et récurrences","Suivi de véhicules suspects — plaque, modèle, couleur, trajet","Concentration et densité de personnes sur les routes et espaces publics","Poursuite automatique si demandée par l'opérateur"]},{title:"2.14 Intelligence Territoriale (exclusif F.A.S.T.-AI)",type:"list",items:["Analyse des modèles de flux vehiculaire et piétonnier par heure, jour et zone","Identification des zones critiques et récurrences d'incidents","Aide aux décisions d'urbanisme et de planification routière avec données réelles","Tableau de bord de gestion territoriale en temps réel pour les élus et gestionnaires","Support à la gestion de grands événements — densité, flux, risques d'émeute","Génération d'informations stratégiques continues sur le comportement du territoire"]},{title:"2.15 Modèle Commercial",type:"params",params:[{param:"Licence",value:"Municipale / régionale — contrat avec un organisme public de mobilité ou de sécurité"},{param:"Déploiement",value:"Serveurs de la mairie ou du concessionnaire — sur infrastructure existante"},{param:"ROI direct",value:"Les revenus générés par les amendes automatiques dépassent le coût de la plateforme"},{param:"Pilote",value:"Déployable en 7 jours ouvrables sur les caméras publiques existantes"}]}]}],comparison:{title:"Résumé Comparatif des Trois Plateformes",rows:[{feature:"Focus principal",drakon:"Secteur public et mission critique",perceptrum:"Secteur privé et résidentiel",fast:"Circulation et aménagement urbain"},{feature:"Fonctionne sur",drakon:"Serveurs du client (on-premise)",perceptrum:"Ordinateur personnel (i5+)",fast:"Serveurs municipaux/concessionnaire"},{feature:"GPU requise",drakon:"❌ Non",perceptrum:"❌ Non",fast:"❌ Non (sauf SBC)"},{feature:"Remplacement des caméras",drakon:"❌ Non requis",perceptrum:"❌ Non requis",fast:"❌ Non requis"},{feature:"Analyse en direct (24/7)",drakon:"✅ Oui",perceptrum:"✅ Oui",fast:"✅ Oui"},{feature:"Post-traitement enregistré",drakon:"✅ Oui (DVR/NVR/NAS)",perceptrum:"✅ Oui (DVR/NVR/NAS)",fast:"✅ Oui (DVR/NVR/NAS)"},{feature:"JOBs par langage naturel",drakon:"✅ Oui",perceptrum:"✅ Oui",fast:"✅ Oui"},{feature:"Intégration API/Webhook",drakon:"✅ Oui",perceptrum:"✅ Oui",fast:"✅ Oui"},{feature:"Suivi multi-caméras",drakon:"✅ Oui",perceptrum:"✅ Oui",fast:"✅ Oui"},{feature:"Réseau coopératif privé",drakon:"✅ Coordonne les recherches",perceptrum:"✅ Participe (volontaire)",fast:"✅ Coordonne les recherches routières"},{feature:"Version gratuite disponible",drakon:"❌ Non",perceptrum:"✅ Oui (basique)",fast:"❌ Non"},{feature:"PoC disponible",drakon:"✅ Oui",perceptrum:"❌ Non",fast:"✅ Oui"},{feature:"Amendes automatiques",drakon:"❌ Pas le focus",perceptrum:"❌ Pas le focus",fast:"✅ Oui — génération automatique"},{feature:"Intelligence territoriale",drakon:"Opérationnel institutionnel",perceptrum:"Opérationnel privé",fast:"✅ Territorial et urbain"},{feature:"Conformité RGPD/LGPD",drakon:"✅ Oui",perceptrum:"✅ Oui (par conception)",fast:"✅ Oui"},{feature:"Délai d'activation du pilote",drakon:"Jusqu'à 7 jours ouvrables",perceptrum:"Minutes",fast:"Jusqu'à 7 jours ouvrables"}]}},de:{hero:{badge:"Technische Spezifikationen",title:"Technische Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Strukturiertes technisches Dokument für Evaluierungs-, Beschaffungs- und Integrationsprozesse. Alle Spezifikationen der drei AiQuimist-Plattformen — gemeinsame Funktionen und exklusive Unterscheidungsmerkmale.",part1:"TEIL 1 — Core Specs",part1sub:"Funktionen, die auf allen drei Plattformen vorhanden sind",part2:"TEIL 2 — Exklusive Specs",part2sub:"Plattformspezifische Merkmale und Differenzierungsmerkmale",part3:"Vergleichsübersicht"},copy:"Tabelle kopieren",copied:"Kopiert!",yes:"✅ Ja",no:"❌ Nein",feature:"Merkmal",capacity:"Fähigkeit",detail:"Details",param:"Parameter",value:"Wert",sections:[{id:"s1",title:"1.1 KI-Engine — Universelle Multimodale Interpretation",desc:"AiQuimist-Plattform, die gleichzeitig Video, Audio, Text und Bild analysiert, um echten Kontext zu extrahieren und relevante Situationen zu identifizieren.",type:"capabilities",items:[{label:"🎥 Video",detail
45:"Echtzeit-Analyse von Live-Kameras und Aufzeichnungen. Erkennt Szenen, Objekte, Verhaltensweisen, Bewegungen und Muster."},{label:"🔊 Audio",detail:"Erkennung von Sprache, Schlüsselwörtern, semantischen Mustern, Tonlage, Dringlichkeit, Konflikten und konfigurierbaren Interessenssignalen."},{label:"📄 Text & Bild",detail:"Upload und Analyse von Dateien (Video, Bild, Audio, Text). Beweisextraktion, Metadaten und quellenübergreifende Korrelation."},{label:"Natives temporales Processing",detail:"Analysiert Bewegungsflüssigkeit, nicht nur einzelne Frames"},{label:"Massives Kontextfenster",detail:"Behält Gedächtnis langer Video-/Audioperioden für die Ereigniskorrelation"},{label:"Echtzeit-Analyse (Live)",detail:"Kamera-Streams und Audiokanäle 24×7"},{label:"Nachbearbeitung",detail:"Gleiche Erkennungskriterien auf Archive und aufgezeichnete Dateien angewendet: NVR, DVR, NAS"},{label:"Digitaler Datei-Upload",detail:"Video, Bild, Audio und Text für korrelierte multimodale Analyse"},{label:"Emotionszustandserkennung",detail:"Lesen von Körpersprache, Tonlage und Verhaltenssignalen"},{label:"KI-Provider-Abstraktion",detail:"Konfigurierbare Endpunkte, Anmeldedaten und Limits; Provider-Wechsel mit minimalem Aufwand"}]},{id:"s2",title:"1.2 Kamera- und Quellenerfassung",type:"mixed",items:[{label:"Universelle Kompatibilität",detail:"Jede Kamera unabhängig von Marke, Hersteller, Modell oder Generation"},{label:"Analog und digital",detail:"Kein Hardwareaustausch erforderlich"},{label:"Hauptprotokoll",detail:"RTSP, ONVIF und gleichwertige HTTP/Datei-Methoden"},{label:"DVR / NVR / NAS",detail:"Liest bereits beim Kunden installierte Geräte"},{label:"Massenimport",detail:"Excel oder CSV mit Kamera-Metadaten (IP, Hersteller, Benutzer, Passwort, Port usw.)"},{label:"Eigenständiger Betrieb",detail:"Vollständig lokal über internes Netzwerk — keine Stream-Exposition ins Internet"},{label:"Netzwerksicherheit",detail:"Keine offenen Ports für Fernzugriff oder NAT/Tunnel-Konfigurationen"},{label:"Skalierbarkeit",detail:"1 bis N Kameras/Audiokanäle parallel"},{label:"Stream-Verfügbarkeit",detail:"Überwachung und automatische Wiederherstellung nach Ausfällen"}]},{id:"s3",title:"1.3 Aufgaben-Orchestrierung — JOB / STEP",desc:"Intelligentes Automatisierungssystem, das menschliche Operatoren in Überwachungsroutinen ersetzt. Erstellt durch Prompts in natürlicher Sprache — kein Code, keine Programmierung.",type:"capabilities",items:[{label:"JOB (Aufgabe)",detail:"Überwachungseinheit, die 1 oder N Kameras/Kanäle liest und unter definierten Bedingungen handelt"},{label:"STEP (Schritt)",detail:"Jeder JOB besteht aus mehreren verketteten Schritten; das Ergebnis einer Kamera (Output) speist den nächsten (Input)"},{label:"Mehrere Quellen pro Schritt",detail:"Jeder STEP kann 1 oder mehr Kameras und/oder 1 oder mehr Audiokanäle aktivieren"},{label:"Intelligente Verkettung",detail:"Kognitive Abhängigkeit zwischen Schritten; Fluss ändert sich basierend auf dem vorherigen Ergebnis"},{label:"Native bedingte Entscheidungen",detail:"Verzweigungen, Unterbrechung, Wiederholung oder Eskalation basierend auf dem tatsächlichen Ergebnis"},{label:"Prompt pro Kanal",detail:"Jede Kamera oder jeder Audiokanal erhält einen spezifischen Prompt innerhalb desselben JOBs (Ausführung, Alarm und Negativ)"},{label:"Planung",detail:"Ausführung an geplanten Tagen und Zeiten, mit definierter oder kontinuierlicher Dauer"},{label:"Sofortige Aktivierung/Deaktivierung",detail:"Keine Neukonfiguration erforderlich"},{label:"Aufgaben-Versionierung",detail:"Verlauf von Konfigurationen und Prompts"},{label:"Erstellung durch Nicht-Techniker",detail:"Operatoren ohne technisches Wissen erstellen vollständige JOBs über die Schnittstelle mit intelligentem Agenten"}],params:[{param:"JOB-Erstellung",value:"Natürliche Sprache (Text oder Sprache) — kein Code"},{param:"Verkettung",value:"STEP N verwendet kognitives Ergebnis von STEP N-1"},{param:"Quellen pro STEP",value:"1 oder mehr Kameras + 1 oder mehr Audiokanäle"},{param:"Planung",value:"Datum, Uhrzeit, Dauer und Wiederholung konfigurierbar"}]},{id:"s4",title:"1.4 Erkennungs- und Klassifizierungsfähigkeiten",type:"grouped",groups:[{label:"Videobasierte Erkennung (Computer Vision / Multimodal)",items:["Identifizierung relevanter Situationen und Aktionen gemäß konfigurierten Prompts","Erkennung von Personen von Interesse — Beobachtungsliste mit automatischer Ereigniszuordnung","Personenzählung mit bedingten Auslösern (mehr als X / weniger als X / genau X)","Verfolgung von 1 oder mehreren Personen/Fahrzeugen im Laufe der Zeit","Multi-Kamera-Verfolgung mit Wiedererkennung — verfolgt Bewegung zwischen Kameras A → N → B","Erkennung von Routenabweichungen und Verletzung der erwarteten Trajektorie","Lesen von Kennzeichen, Schildern und sichtbarem Textinhalt in der Kamera","Erkennung konfigurierbarer Handgesten und Gebärdensprachgesten (wenn im Prompt definiert)","Erkennung von Emotionszustand und Vorkonflikt-Körpersprache"]},{label:"Audiobasierte Erkennung (Sprache / Töne / Multimodal)",items:["Echtzeit- und aufgezeichnete Audioanalyse mit Transkription (STT) wenn zutreffend","Diarisierung — Sprechertrennung und 
45-identifikation mit Zusammenfassung je Sprecher und Gesamtgesprächszusammenfassung","Erkennung gesprochener Schlüsselwörter gemäß Parametrisierung","Erkennung konfigurierbarer Sätze und semantischer Muster","Erkennung von Sprachmustern, die auf Ereignisse hinweisen — Dringlichkeit, Konflikt, Wiederholung","Hervorhebung relevanter Ausschnitte für die Prüfung"]},{label:"Alarmsystem",items:["Alarm bei erfüllter Bedingung — z.B.: 'Gruppe mit X Personen an Punkt A erkannt'","Alarm bei NICHT erfüllter Bedingung — z.B.: 'Person hat Kamera Y nicht innerhalb des Zeitrahmens T passiert'","Alarme mit Passiersequenz-Logik — konfigurierbarer Mehrpunkt-Workflow","Konfigurierbare Auslöser, Zeitfenster und Korrelationskriterien","Konfigurierbare Schweregrade, Empfänger und Benachrichtigungskanäle","Beweise, die an Alarme angehängt sind — Frames, Videoclips, Audiosegmente","Alarmlebenszyklus-Aufzeichnung — Erzeugung, Weiterleitung, Empfang und Abschluss"]}]},{id:"s5",title:"1.5 Kontextualisierung und Beweiserzeugung",type:"capabilities",items:[{label:"Automatische Kontextbeschreibung",detail:"In natürlicher Sprache für jedes erkannte Ereignis generiert"},{label:"Strukturierte Metadaten",detail:"Quelle, Datum/Uhrzeit, logischer Standort, Ereignistyp, Schweregrad"},{label:"Automatische Korrelation",detail:"Gleiche Person, gleiche Fläche, gleicher Zeitraum — über mehrere Quellen"},{label:"Beweisextraktion",detail:"Frames, Videoclips, Audiosegmente, erkannter Text"},{label:"Inferenz-Rückverfolgbarkeit",detail:"Protokolle und Prüfung aller Erkennungen"},{label:"Betriebsberichte",detail:"Vollständiger Prüfpfad"}]},{id:"s6",title:"1.6 Natürlichsprachiger Betrieb",desc:"Jeder Operator — ohne technische Ausbildung — erstellt, konfiguriert und betreibt vollständige JOBs mit Text oder Sprache. Keine Programmierung, Skripte oder externe Tools.",type:"capabilities",items:[{label:"Natürlichsprachige Abfragen",detail:"Fragen mit kontextualisierten Antworten"},{label:"Text- und Sprachbefehle",detail:"Erstellung, Bearbeitung und Aktivierung von Aufgaben"},{label:"Vollständige Konfiguration per Prompt",detail:"Überwachung, Alarme, Auslöser und Empfänger"},{label:"Governance-Kontrollen",detail:"Bestätigung für kritische Aktionen, profilbasierte Einschränkungen"},{label:"Prüfpfad",detail:"Aufzeichnung aller Befehle und Änderungen"}]},{id:"s7",title:"1.7 Externe Integrationen — API und Webhook",type:"capabilities",items:[{label:"Automatisches Webhook-Auslösen",detail:"Externe API-Aufrufe basierend auf definierten Bedingungen"},{label:"Konfiguration durch Nicht-Techniker",detail:"Per natürlichsprachigem Prompt"}
45,{label:"Strukturierter Payload",detail:"Metadaten und Beweise in JSON"},{label:"Authentifizierung externer Aufrufe",detail:"Tokens, Schlüssel, Signaturen und Berechtigungslisten"},{label:"Anfragen-Prüfung",detail:"Vollständiges Protokoll aller externen Aufrufe"},{label:"Fehlerbehandlung",detail:"Wiederholungsversuche, Warteschlangen und Protokolle"},{label:"Interoperabilität",detail:"Dashboards, Messaging, Registrierungs- und Verwaltungssysteme"}],params:[{param:"Protokoll",value:"REST API + Webhooks"},{param:"Payload",value:"Strukturiertes JSON mit Metadaten, Beweisen und Kontext"},{param:"Authentifizierung",value:"Tokens, Schlüssel, Signaturen und Berechtigungslisten"},{param:"Prüfung",value:"Vollständiges Protokoll aller externen Aufrufe"}]},{id:"s8",title:"1.8 Verbrauchsmetriken und Kostenmanagement",type:"capabilities",items:[{label:"Metriken pro JOB/STEP",detail:"Detaillierte Aufzeichnung und Bereitstellung"},{label:"Metriken pro Kamera/Audiokanal",detail:"Individualisierter Verbrauch pro Quelle"},{label:"Metriken pro Benutzer/Profil",detail:"Nutzungsverfolgung pro Operator"},{label:"Token- und Anfragenzählung",detail:"Schätzungen und tatsächliche Werte mit Latenz"},{label:"Kosten nach Dimension",detail:"JOB, Kamera und Benutzer"},{label:"Kontingente und Kostenstellen",detail:"Unterstützung für Kontingente und Abteilungssegregation"}]},{id:"s9",title:"1.9 Hardwareanforderungen",type:"params",params:[{param:"GPU",value:"Nicht erforderlich — keine der drei Plattformen"},{param:"GPU (F.A.S.T.-AI)",value:"Wird für einige komplexe Verstöße und SBC-Unfallpräventionslösung auf Autobahnen verwendet"},{param:"Proprietäre Hardware",value:"Nicht erforderlich — integriert sich in bestehende Infrastruktur"},{param:"Kameras",value:"Kein Austausch — kompatibel mit jeder installierten Ausrüstung"},{param:"Unterstütztes BS",value:"Windows (native Kompatibilität)"},{param:"Bereitstellung",value:"On-premises, öffentliche/private Cloud (nationales Territorium) oder Hybrid"},{param:"Aktivierung",value:"Tage, nicht Monate — Pilot in 7 Werktagen einsetzbar"}]},{id:"s10",title:"1.10 Informationssicherheit, Governance und Datenschutz",type:"capabilities",items:[{label:"RBAC-Zugriffskontrolle",detail:"Funktionstrennung und geringstes Privileg"},{label:"Vollständige Prüfpfade",detail:"Betriebsprotokolle, Befehle, Konfigurationsänderungen und Prompts"},{label:"Datenschutz",detail:"Bei der Übertragung und im Ruhezustand"},{label:"Aufbewahrungs- und Löschrichtlinien",detail:"Pseudonymisierung/Anonymisierung wenn zutreffend"},{label:"Zugriffsprofilmanagement",detail:"Betriebliche Einschränkungen nach Ebene"},{label:"DSGVO/LGPD-Konformität",detail:"Minimierung, Zweck, Notwendigkeit und Rechenschaftspflicht"},{label:"Anmeldedaten-Speicherung",detail:"Windows Credential Manager/DPAPI oder gleichwertig — Klartextspeicherung verboten"}]},{id:"s11",title:"1.11 Verfügbarkeit und Betriebskontinuität",type:"capabilities",items:[{label:"24×7-Betrieb",detail:"Kontinuierliche Überwachung ohne Unterbrechung"},{label:"Automatische Wiederherstellung",detail:"Stream-Ausfallwiederaufnahme ohne Eingriff"},{label:"Konnektivitätsausfall-Resilienz",detail:"Wiederverarbeitung aufgezeichneter Inhalte"},{label:"Warteschlangen und Wiederverarbeitung",detail:"Abdeckungsgarantie ohne Lücken"},{label:"Hohe Verfügbarkeit",detail:"Redundanz, Replikation und Lastausgleich wenn konfiguriert"}]},{id:"s12",title:"1.12 Integration mit Privatem Kooperationsnetzwerk",desc:"Exklusive Fähigkeit des AiQuimist-Ökosystems: Private Kameras freiwilliger Nutzer nehmen automatisch an öffentlichen Suchen teil — ohne Video zu übertragen, ohne Netzwerkports zu öffnen.",type:"capabilities",items:[{label:"Kostenlose Verteilung",detail:"Windows-Lösung, die landesweit an private Nutzer verteilbar ist"},{label:"Kopplungsmechanismus",detail:"Aktivierungscode, Geräteverknüpfung und -widerruf"},{label:"Nur autorisierte Endpunkte",detail:"Nur autorisierte Endpunkte können Daten/Ereignisse konsumieren oder veröffentlichen"},{label:"Lokale Erkennung und Benachrichtigung",detail:"Analyse läuft auf dem Computer des privaten Nutzers"},{label:"Treffer-Benachrichtigung",detail:"Automatisch an die zentrale Plattform bei einem Beobachtungslisten-Treffer"},{label:"Strukturierter Alarm",detail:"Personenbild mit Overlay, Datum/Uhrzeit, Kamera, vollständige Adresse, GPS, Konfidenzniveau, Kennung"}
45,{label:"Re-ID-Algorithmen",detail:"Wiedererkennung und, wenn zutreffend und autorisiert, Gesichtserkennung"},{label:"Freiwillige Teilnahme",detail:"Benutzer entscheidet über Aktivierung der Kooperation und welche Kameras teilnehmen"},{label:"Privacy by Design",detail:"Keine offenen Ports, keine kontinuierlich übertragenen Streams"},{label:"Vollständige DSGVO/LGPD-Konformität",detail:"Lokale Analyse, Teilen nur des relevanten Ergebnisses"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Institutionelle Intelligenz für öffentliche Operationen und unternehmenskritische Umgebungen",sections:[{title:"2.1 Fokus und Betriebsumfang",desc:"Plattform für den öffentlichen, institutionellen und hochkritischen Unternehmenssektor. Betreibt große Kameranetzwerke.",type:"list",items:["Gemeinden, Landes- und Bundesregierungen","Polizeikräfte, Stadtschutz und Sicherheitsbehörden","Integrierte Leitstellen und Lagezentren (CIOPs)","Gefängnisse und Strafvollzugsanstalten","Flughäfen, Häfen und Terminals","Grenzen und nationale kritische Infrastruktur","Öffentliche Unternehmen und große private Konzerne mit komplexen Betrieben","Große Privatunternehmen: Banken, Logistik und andere"]},{title:"2.2 Exklusive Infrastruktur",type:"params",params:[{param:"Läuft auf",value:"Eigenen Servern des Kunden (On-Premise)"},{param:"Datensicherheit",value:"100% intern — keine Information dem Internet ausgesetzt"},{param:"GPU",value:"Nicht erforderlich"},{param:"Server",value:"Konventionell — dediziert für Datenbank und simultane Kameraerfassung"},{param:"Skalierung",value:"Große institutionelle Netzwerke — Dutzende bis Tausende von Kameras"}]},{title:"2.3 Spezifische Erkennungen",type:"list",items:["Verdächtige Bewegungen an Perimetern, Zugängen und kritischen Umgebungen","Verhaltensweisen, die mit sensiblen Bereichen unvereinbar sind","Einbrüche und unbefugte Zugriffsversuche","Konflikte und Gewaltsituationen","Fluchtversuche in Verwahranstalten","Anwesenheit von Waffen","Zurückgelassene Objekte an Risikoorten","Plötzliche Verhaltensänderungen","Abnormale Menschenansammlungen an kritischen Punkten","Risikosituationen in unternehmenskritischen Umgebungen — Flughäfen, Grenzen, Gefängnisse","Temporale Engine: führt Prompt aus und das System läuft ohne menschliches Eingreifen weiter"]},{title:"2.4 Kooperationsnetzwerk-Koordination",type:"list",items:["Löst Suchen und Verfolgungen aus, die sich über das gesamte öffentliche und kooperative private Netzwerk ausbreiten","Empfängt automatische Benachrichtigungen von Perceptrum bei Beobachtungslisten-Treffern","Koordiniert integrierte Operationen zwischen öffentlichem, Verkehrs- (F.A.S.T.) und privatem (Perceptrum) Raum","Zentralisiert Alarme, Beweise und Verfolgungspfad des gesamten integrierten Netzwerks"]},{title:"2.5 Geschäftsmodell",type:"params",params:[{param:"Lizenzierung",value:"Institutionell — Vertrag mit Behörde oder Konzern"},{param:"Bereitstellung",value:"On-Premise auf den Servern des Kunden"},{param:"Support",value:"Onboarding und Konfiguration inbegriffen"},{param:"Pilot",value:"In 7 Werktagen auf bestehender Infrastruktur einsetzbar"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Multimodale Intelligenz für private Umgebungen — vom Zuhause bis zum Großkonzern",sections:[{title:"2.6 Fokus und Betriebsumfang",desc:"Plattform für den privaten, kommerziellen, wohn- und wohnanlageorientierten Sektor. Demokratisiert den Zugang zu fortschrittlicher Überwachungsintelligenz.",type:"list",items:["Wohnhäuser und Eigenheime","Wohn- und Geschäftshäuser und Wohnanlagen","Klein- und Mittelunternehmen","Einzelhandelsketten und Geschäfte","Banken und Finanzinstitutionen","Einkaufszentren und Parkplätze","Private Schulen und Universitäten","Private Krankenhäuser und Kliniken","Lager und Logistikzentren","Bauernhöfe und ländliche Grundstücke"]},{title:"2.7 Exklusive Infrastruktur",type:"params",params:[{param:"Läuft auf",value:"Persönlichem Computer des Benutzers (Zuhause oder Unternehmen)"},{param:"Mindestprozessor",value:"Intel i5 oder besser"},{param:"GPU",value:"Nicht erforderlich"},{param:"Speicher",value:"Festplattenspeicher für temporäre Bilder in Analyse"},{param:"DVR/NVR",value:"Native Erfassung für Suchen in früheren Aufzeichnungen"},{param:"Aktivierung",value:"Minuten — Kamera-Import via CSV und sofortiger Start"}]},{title:"2.8 Spezifische Erkennungen",type:"list",items:["Musterwidrige Bewegungen zu ungewöhnlichen Zeiten oder Orten","Diebstahl, Raub und Überfall — typische Subtraktionsverhaltensweisen","Unbefugte Anwesenheit in eingeschränkten Bereichen","Perimeterschutzrisiko und Einbruchsversuche","Hilferufe — Notfallgesten und -verhaltensweisen","Zurückgelassene verdächtige Ob
45jekte","Betriebliche Anomalien in Prozessen (Logistik, Inventar, Lieferungen)","Automatisierte Prozessüberprüfung: Fahrzeug, Kennzeichen, Lieferant, Volumenzählung","Konfigurierbare Ereignisse nach Umgebungstyp — Profil pro Installation","Lokalisiert Verstöße gegen Schutzanordnungen (häusliche Gewalt etc.)"]},{title:"2.9 Freiwillige Kooperation (exklusiv Perceptrum)",type:"list",items:["Freiwilliges Kooperations-Flag — Eigentümer entscheidet über Aktivierung und welche Kameras teilnehmen","Bei Aktivierung: Kamera nimmt an von Perceptrum Corporate oder F.A.S.T.-AI ausgelösten Suchen teil","Analyse lokal ausgeführt — auf dem eigenen Computer des privaten Nutzers","Kein kontinuierlich übertragener Video-Stream an die öffentliche Zentrale","Keine extern geöffneten Netzwerkports","Nur das Ergebnis (Treffer) wird an die Zentrale gesendet — nicht die Bilder","Alarm umfasst: Personenbild mit Overlay, Datum/Uhrzeit, Kamera, Adresse, GPS, Konfidenzniveau","Teilnahme jederzeit durch den Eigentümer widerrufbar","Vollständige DSGVO/LGPD-Konformität — Datenschutz durch architektonisches Design"]},{title:"2.10 Geschäftsmodell",type:"params",params:[{param:"Kostenlose Version",value:"Grundlegende Überwachungsfunktionen — kostenlos, keine Kreditkarte"},{param:"Premium-Version",value:"Vollzugang — erschwingliche monatliche Lizenz"},{param:"Öffentliche Kooperation",value:"Kostenlos für den privaten Nutzer — Kosten vom öffentlichen Amt pro Anfrage bezahlt"},{param:"Kosten für den Staat",value:"Cents pro Suche — nur bezahlt, wenn die Suche ausgelöst wird"},{param:"Verteilung",value:"Bundesweit an private Nutzer verteilbar"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Territoriale Intelligenz, Mobilität und dynamische Erfassung des städtischen Raums",sections:[{title:"2.11 Fokus und Betriebsumfang",desc:"Plattform für Mobilität, Verkehr, Stadtplanung und dynamische territoriale Interpretation.",type:"list",items:["Städtische Verkehrs- und Mobilitätsabteilungen","Städtische Betriebszentren (COUs)","Tiefbau- und Stadtplanungsabteilungen","Verkehrsüberwachungsbehörden","Veranstalter großer öffentlicher Ereignisse","Autobahn- und Parkkonzessionäre","Öffentliche Sicherheitskräfte — Fahrzeugverfolgung und Straßenoperationen"]},{title:"2.12 Exklusive Infrastruktur",type:"params",params:[{param:"Läuft auf",value:"Servern der für Verkehr und Stadtplanung zuständigen Unternehmen"},{param:"GPU",value:"Nicht erforderlich (außer komplexe Verstoßanalyse und SBC-Unfallprävention auf Autobahnen)"},{param:"Speicher",value:"Gering — liest direkt aus NAS, DVR, NVR oder bestehendem Streaming"},{param:"Kompatible Quellen",value:"Öffentliche Straßenkameras, Ampeln, feste und mobile Radare — jeder Standard"},{param:"Skalierung",value:"Vollständiges städtisches Straßennetzwerk — Stadtteile, Korridore, Städte"}]},{title:"2.13 Spezifische Erkennungen",type:"list",items:["Verkehrsverstöße — automatische Bußgelderzeugung mit Beweisen","Unfälle und Fußgängerunfälle — Erkennung und sofortige Benachrichtigung","Staubildung — Früherkennung vor dem Kollaps","Straßensperrungen und Umleitungen","Unregelmäßige Nutzung des öffentlichen Raums","Atypische Ereignisse, die die städtische Mobilität beeinflussen","Betriebliche Risiken auf Straßen und strategischen Bereichen","Flussmuster, kritische Zonen und Wiederholungen","Verfolgung verdächtiger Fahrzeuge — Kennzeichen, Modell, Farbe, Route","Personenkonzentration und -dichte auf Straßen und öffentlichen Plätzen","Automatische Verfolgung auf Anforderung des Operators"]},{title:"2.14 Territoriale Intelligenz (exklusiv F.A.S.T.-AI)",type:"list",items:["Analyse von Fahrzeug- und Fußgängerflussmustern nach Zeit, Tag und Zone","Identifizierung kritischer Zonen und Vorfallwiederholungen","Unterstützung für Straßen- und Stadtplanungsentscheidungen mit echten Daten","Echtzeit-Dashboard für territoriales Management für Minister und Manager","Unterstützung für Großveranstaltungsmanagement — Dichte, Fluss, Aufruhrrisiken","Kontinuierliche strategische Informationserzeugung über das territoriale Verhalten"]},{title:"2.15 Geschäftsmodell",type:"params",params:[{param:"Lizenzierung",value:"Kommunal / Land — Vertrag mit öffentlicher Mobilitäts- oder Sicherheitsbehörde"},{param:"Bereitstellung",value:"Rathaus- oder Konzessionärserver — auf bestehender Infrastruktur"},{param:"Direkter ROI",value:"Einnahmen aus automatischen Bußgeldern übersteigen die Plattformkosten"},{param:"Pilot",value:"In 7 Werktagen auf bestehenden öffentlichen Kameras einsetzbar"}]}]}],comparison:{title:"Vergleichsübersicht der Drei Plattformen",rows:[{feature:"Hauptfokus",drakon:"Öffentlicher Sektor und unternehmenskritisch",perceptrum:"Privat- und Wohnsektor",fast:"Verkehr und Stadtplanung"},{feature:"Läuft auf",drakon:"Kundeneigene Server (On-Premise)",perceptrum:"Persönlicher Computer (i5+)",fast:"Kommunal-/Konzessionärserver"},{feature:"GPU erforderlich",drakon:"❌ Nein",perceptrum:"❌ Nein",fast:"❌ Nein (außer SBC)"},{feature:"Kameraersatz",drakon:"❌ Nicht erforderlich",perceptrum:"❌ Nicht erforderlich",fast:"❌ Nicht erforderlich"},{feature:"Live-Analyse (24/7)",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Aufgezeichnete Nachbearbeitung",drakon:"✅ Ja (DVR/NVR/NAS)",perceptrum:"✅ Ja (DVR/NVR/NAS)",fast:"✅ Ja (DVR/NVR/NAS)"},{feature:"JOBs per natürlicher Sprache",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"API/Webhook-Integration",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Multi-Kamera-Verfolgung",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Privates Kooperationsnetzwerk",drakon:"✅ Koordiniert Suchen",perceptrum:"✅ Nimmt teil (freiwillig)",fast:"✅ Koordiniert Straßensuchen"},{feature:"Kostenlose Version verfügbar",drakon:"❌ Nein",perceptrum:"✅ Ja (Basis)",fast:"❌ Nein"},{feature:"PoC verfügbar",drakon:"✅ Ja",perceptrum:"❌ Nein",fast:"✅ Ja"},{feature:"Automatische Bußgelder",drakon:"❌ Nicht der Fokus",perceptrum:"❌ Nicht der Fokus",fast:"✅ Ja — automatische Generierung"},{feature:"Territoriale Intelligenz",drakon:"Institutionell-operativ",perceptrum:"Privat-operativ",fast:"✅ Territorial und städtisch"},{feature:"DSGVO/LGPD-konform",drakon:"✅ Ja",perceptrum:"✅ Ja (per Design)",fast:"✅ Ja"},{feature:"Pilotaktivierungszeit",drakon:"Bis zu 7 Werktage",perceptrum:"Minuten",fast:"Bis zu 7 Werktage"}]}},it:{hero:{badge:"Specifiche Tecniche",title:"Specs Tecniche",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Documento tecnico strutturato per processi di valutazione, acquisizione e integrazione. Tutte le specifiche delle tre piattaforme AiQuimist — funzionalità condivise e differenziatori esclusivi.",part1:"PARTE 1 — Core Specs",part1sub:"Funzionalità presenti su tutte e tre le piattaforme",part2:"PARTE 2 — Specs Esclusive",part2sub:"Caratteristiche specifiche e differenziatori di ogni prodotto",part3:"Riepilogo Comparativo"},copy:"Copia tabella",copied:"Copiato!",yes:"✅ Sì",no:"❌ No",feature:"Caratteristica",capacity:"Capacità",detail:"Dettaglio",param:"Parametro",value:"Valore",sections:[{id:"s1",title:"1.1 Motore IA — Interpretazione Multimodale Universale",desc:"Piattaforma AiQuimist che analizza simultaneamente video, audio, testo e immagine per estrarre il contesto reale e identificare situazioni rilevanti.",type:"capabilities",items:[{label:"🎥 Video",detail
45:"Analisi in tempo reale di telecamere live e registrazioni. Riconosce scene, oggetti, comportamenti, movimenti e pattern."},{label:"🔊 Audio",detail:"Rilevamento di parlato, parole chiave, pattern semantici, tono di voce, urgenza, conflitti e suoni di interesse configurabili."},{label:"📄 Testo e Immagine",detail:"Caricamento e analisi di file (video, immagine, audio, testo). Estrazione di prove, metadati e correlazione tra fonti."},{label:"Elaborazione temporale nativa",detail:"Analizza la fluidità del movimento, non solo singoli fotogrammi"},{label:"Finestra di contesto massiva",detail:"Mantiene la memoria di lunghi periodi video/audio per la correlazione degli eventi"},{label:"Analisi in tempo reale (live)",detail:"Stream di telecamere e canali audio 24×7"},{label:"Post-elaborazione",detail:"Stessi criteri di rilevamento applicati ad archivi e file registrati: NVR, DVR, NAS"},{label:"Caricamento di file digitali",detail:"Video, immagine, audio e testo per analisi multimodale correlata"},{label:"Identificazione dello stato emotivo",detail:"Lettura del linguaggio del corpo, del tono di voce e dei segnali comportamentali"},{label:"Astrazione dei provider IA",detail:"Endpoint, credenziali e limiti configurabili; cambio di provider con impatto minimo"}]},{id:"s2",title:"1.2 Acquisizione Telecamere e Fonti",type:"mixed",items:[{label:"Compatibilità universale",detail:"Qualsiasi telecamera, indipendentemente da marca, produttore, modello o generazione"},{label:"Analogico e digitale",detail:"Nessuna sostituzione hardware richiesta"},{label:"Protocollo principale",detail:"RTSP, ONVIF e metodi HTTP/file equivalenti"},{label:"DVR / NVR / NAS",detail:"Lettura di apparecchiature già installate presso il cliente"},{label:"Importazione di massa",detail:"Excel o CSV con metadati telecamere (IP, produttore, utente, password, porta, ecc.)"},{label:"Funzionamento autonomo",detail:"Completamente locale tramite rete interna — nessuna esposizione degli stream a internet"},{label:"Sicurezza di rete",detail:"Nessuna apertura di porte per accesso remoto né configurazione di tunnel/NAT"},{label:"Scalabilità",detail:"Da 1 a N telecamere/canali audio in parallelo"},{label:"Disponibilità degli stream",detail:"Monitoraggio e ripristino automatico dopo i guasti"}]},{id:"s3",title:"1.3 Orchestrazione dei Task — JOB / STEP",desc:"Sistema di automazione intelligente che sostituisce gli operatori umani nelle routine di sorveglianza. Creato tramite prompt in linguaggio naturale — senza codice, senza programmazione.",type:"capabilities",items:[{label:"JOB (task)",detail:"Unità di monitoraggio che legge 1 o N telecamere/canali e agisce in base a condizioni definite"},{label:"STEP (fase)",detail:"Ogni JOB è composto da più fasi concatenate; il risultato di una telecamera (output) alimenta quella successiva (input)"},{label:"Più fonti per fase",detail:"Ogni STEP può attivare 1 o più telecamere e/o 1 o più canali audio"},{label:"Concatenamento intelligente",detail:"Dipendenza cognitiva tra le fasi; il flusso cambia in base al risultato precedente"},{label:"Decisioni condizionali native",detail:"Ramificazioni, interruzione, ripetizione o escalation basate sul risultato reale"},{label:"Prompt per canale",detail:"Ogni telecamera o canale audio riceve un prompt specifico all'interno dello stesso JOB (esecuzione, alerta e negativo)"},{label:"Pianificazione",detail:"Esecuzione nei giorni e negli orari pianificati, con durata definita o continua"},{label:"Attivazione/disattivazione istantanea",detail:"Senza necessità di riconfigurazione"},{label:"Versioning dei task",detail:"Storico di configurazioni e prompt"},{label:"Creazione da parte di utenti non tecnici",detail:"Operatori senza conoscenze tecniche creano JOB completi tramite interfaccia con agente intelligente"}],params:[{param:"Creazione JOB",value:"Linguaggio naturale (testo o voce) — senza codice"},{param:"Concatenamento",value:"Lo STEP N usa il risultato cognitivo dello STEP N-1"},{param:"Fonti per STEP",value:"1 o più telecamere + 1 o più canali audio"},{param:"Pianificazione",value:"Data, ora, durata e ricorrenza configurabili"}]},{id:"s4",title:"1.4 Capacità di Rilevamento e Classificazione",type:"grouped",groups:[{label:"Rilevamento basato su video (computer vision / multimodale)",items:["Identificazione di situazioni e azioni rilevanti secondo i prompt configurati","Riconoscimento di persone di interesse — watchlist con associazione automatica degli eventi","Contegg
45io persone con trigger condizionali (più di X / meno di X / esattamente X)","Tracciamento di 1 o più individui/veicoli nel tempo","Tracciamento multi-telecamera con re-identificazione — segue lo spostamento tra telecamere A → N → B","Rilevamento di deviazione di percorso e violazione della traiettoria attesa","Lettura di targhe, cartelli e contenuto testuale visibile nella telecamera","Identificazione di gesti manuali configurabili e gesti nel linguaggio dei segni (quando definito nel prompt)","Rilevamento dello stato emotivo e del linguaggio del corpo di pre-conflitto"]},{label:"Rilevamento basato su audio (parlato / suoni / multimodale)",items:["Analisi audio in tempo reale e registrata con trascrizione (STT) quando applicabile","Diarizzazione — separazione e identificazione degli speaker con riepilogo per speaker e riepilogo dell'intera conversazione","Rilevamento di parole chiave pronunciate secondo la parametrizzazione","Rilevamento di frasi e pattern semantici configurabili","Rilevamento di pattern del parlato indicativi di eventi — urgenza, conflitto, ripetizione","Evidenziazione di estratti rilevanti per la revisione"]},{label:"Sistema di allarmi",items:["Allarme per condizione soddisfatta — es.: 'gruppo con X individui rilevato nel punto A'","Allarme per condizione NON soddisfatta — es.: 'individuo non ha superato la telecamera Y entro il periodo T'","Allarmi con logica di sequenza di passaggi — workflow multipunto configurabile","Trigger, finestre temporali e criteri di correlazione parametrizzabili","Livelli di gravità, destinatari e canali di 
45notifica configurabili","Prove allegate agli allarmi — fotogrammi, clip video, segmenti audio","Registrazione del ciclo di vita dell'allarme — generazione, instradamento, ricezione e chiusura"]}]},{id:"s5",title:"1.5 Contestualizzazione e Generazione di Prove",type:"capabilities",items:[{label:"Descrizione contestuale automatica",detail:"Generata in linguaggio naturale per ogni evento rilevato"},{label:"Metadati strutturati",detail:"Fonte, data/ora, posizione logica, tipo di evento, gravità"},{label:"Correlazione automatica",detail:"Stesso individuo, stessa area, stesso intervallo — tra più fonti"},{label:"Estrazione di prove",detail:"Fotogrammi, clip video, segmenti audio, testo riconosciuto"},{label:"Tracciabilità delle inferenze",detail:"Log e audit di tutti i rilevamenti"},{label:"Rapporti operativi",detail:"Audit trail completo"}]},{id:"s6",title:"1.6 Operazione in Linguaggio Naturale",desc:"Qualsiasi operatore — senza formazione tecnica — crea, configura e gestisce JOB completi usando testo o voce. Nessuna programmazione, script o strumenti esterni.",type:"capabilities",items:[{label:"Query in linguaggio naturale",detail:"Domande con risposte contestualizzate"},{label:"Comandi tramite testo e voce",detail:"Creazione, modifica e attivazione dei task"},{label:"Configurazione completa tramite prompt",detail:"Monitoraggi, allarmi, trigger e destinatari"},{label:"Controlli di governance",detail:"Conferma per azioni critiche, restrizioni per profilo"},{label:"Audit trail",detail:"Registrazione di tutti i comandi e le modifiche"}]},{id:"s7",title:"1.7 Integrazioni Esterne — API e Webhook",type:"capabilities",items:[{label:"Attivazione automatica dei webhook",detail:"Chiamate ad API esterne basate su condizioni definite"},{label:"Configurazione da parte di utenti non tecnici",detail:"Tramite prompt in linguaggio naturale"},{label:"Payload strutturato",detail:"Metadati e prove in JSON"},{label:"Autenticazione delle chiamate esterne",detail:"Token, chiavi, firme e liste di autorizzazione"},{label:"Audit delle richieste",detail:"Log completo di tutte le chiamate esterne"},{label:"Gestione degli errori",detail:"Tentativi di ripristino, code e log"},{label:"Interoperabilità",detail:"Dashboard, messaggistica, sistemi di registrazione e gestione"}],params:[{param:"Protocollo",value:"API REST + Webhook"},{param:"Payload",value:"JSON strutturato con metadati, prove e contesto"},{param:"Autenticazione",value:"Token, chiavi, firme e liste di autorizzazione"},{param:"Audit",value:"Log completo di tutte le chiamate esterne"}]},{id:"s8",title:"1.8 Metriche di Consumo e Gestione dei Costi",type:"capabilities",items:[{label:"Metriche per JOB/STEP",detail:"Registrazione e disponibilità dettagliate"},{label:"Metriche per telecamera/canale audio",detail:"Consumo individualizzato per fonte"},{label:"Metriche per utente/profilo",detail:"Tracciamento dell'utilizzo per operatore"},{label:"Conteggio di token e richieste",detail:"Stime e valori reali con latenza"},{label:"Costi per dimensione",detail:"JOB, telecamera e utente"},{label:"Quote e centri di costo",detail:"Supporto per quote e segregazione per dipartimento"}]},{id:"s9",title:"1.9 Requisiti Hardware",type:"params",params:[{param:"GPU",value:"Non richiesta — nessuna delle tre piattaforme"},{param:"GPU (F.A.S.T.-AI)",value:"Utilizzata per alcune infrazioni complesse e soluzione SBC di prevenzione incidenti in autostrada"},{param:"Hardware proprietario",value:"Non richiesto — si integra con l'infrastruttura esistente"},{param:"Telecamere",value:"Senza sostituzione — compatibile con qualsiasi apparecchiatura installata"},{param:"SO supportato",value:"Windows (compatibilità nativa)"},{param:"Distribuzione",value:"On-premises, cloud pubblico/privato (territorio nazionale) o ibrido"},{param:"Attivazione",value:"Giorni, non mesi — pilota distribuibile entro 7 giorni lavorativi"}]},{id:"s10",title:"1.10 Sicurezza delle Informazioni, Governance e Protezione dei Dati",type:"capabilities",items:[{label:"Controllo accessi RBAC",detail:"Segregazione delle funzioni e minimo privilegio"}
45,{label:"Audit trail completi",detail:"Log operativi, comandi, modifiche alla configurazione e prompt"},{label:"Protezione dei dati",detail:"In transito e a riposo"},{label:"Politiche di conservazione ed eliminazione",detail:"Pseudonimizzazione/anonimizzazione quando applicabile"},{label:"Gestione dei profili di accesso",detail:"Restrizioni operative per livello"},{label:"Conformità GDPR/LGPD",detail:"Minimizzazione, finalità, necessità e responsabilità"},{label:"Archiviazione delle credenziali",detail:"Windows Credential Manager/DPAPI o equivalente — testo in chiaro vietato"}]},{id:"s11",title:"1.11 Disponibilità e Continuità Operativa",type:"capabilities",items:[{label:"Operazione 24×7",detail:"Monitoraggio continuo senza interruzioni"},{label:"Ripristino automatico",detail:"Ripresa dopo guasti dello stream senza intervento"},{label:"Resilienza alle interruzioni di connettività",detail:"Rielaborazione dei contenuti registrati"},{label:"Code e rielaborazione",detail:"Garanzia di copertura senza lacune"},{label:"Alta disponibilità",detail:"Ridondanza, replica e bilanciamento quando configurati"}]},{id:"s12",title:"1.12 Integrazione con Rete Cooperativa Privata",desc:"Capacità esclusiva dell'ecosistema AiQuimist: le telecamere private di utenti volontari partecipano automaticamente alle ricerche pubbliche — senza trasmettere video, senza aprire porte di rete.",type:"capabilities",items:[{label:"Distribuzione gratuita",detail:"Soluzione Windows distribuibile agli utenti privati a livello nazionale"},{label:"Meccanismo di accoppiamento",detail:"Codice di attivazione, collegamento e revoca del dispositivo"},{label:"Solo endpoint autorizzati",detail:"Solo endpoint autorizzati possono consumare o pubblicare dati/eventi"},{label:"Rilevamento e notifica locale",detail:"L'analisi avviene sul computer dell'utente privato"},{label:"Notifica di corrispondenza",detail:"Automatica alla piattaforma centrale quando c'è una corrispondenza con la watchlist"},{label:"Allarme strutturato",detail:"Immagine dell'individuo con overlay, data/ora, telecamera, indirizzo completo, GPS, livello di confidenza, identificatore"},{label:"Algoritmi Re-ID",detail:"Re-identificazione e, quando applicabile e autorizzato, riconoscimento facciale"}
45,{label:"Partecipazione volontaria",detail:"L'utente decide se attivare la cooperazione e quali telecamere partecipano"},{label:"Privacy by design",detail:"Nessuna porta aperta, nessuno stream trasmesso continuamente"},{label:"Conformità totale GDPR/LGPD",detail:"Analisi locale, condivisione solo del risultato pertinente"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Intelligenza istituzionale per operazioni pubbliche e ambienti mission-critical",sections:[{title:"2.1 Focus e Ambito Operativo",desc:"Piattaforma destinata al settore pubblico, istituzionale e alle grandi aziende ad alta criticità. Opera su reti di telecamere su larga scala.",type:"list",items:["Comuni, governi regionali e federali","Forze di polizia, polizie municipali e assessorati alla sicurezza","Centri di comando e controllo integrati (CIOPs)","Prigioni e istituti penitenziari","Aeroporti, porti e terminal","Frontiere e infrastrutture critiche nazionali","Aziende pubbliche e grandi aziende private con operazioni complesse","Grandi aziende private: banche, logistica e altri"]},{title:"2.2 Infrastruttura Esclusiva",type:"params",params:[{param:"Funziona su",value:"Server propri del cliente (on-premise)"},{param:"Sicurezza dei dati",value:"100% interna — nessuna informazione esposta a internet"},{param:"GPU",value:"Non richiesta"},{param:"Server",value:"Convenzionali — dedicati al database e alla lettura simultanea delle telecamere"},{param:"Scala",value:"Grandi reti istituzionali — da decine a migliaia di telecamere"}]},{title:"2.3 Rilevamenti Specifici",type:"list",items:["Movimenti sospetti in perimetri, accessi e ambienti critici","Comportamenti incompatibili con aree sensibili","Intrusioni e tentativi di accesso non autorizzato","Conflitti e situazioni di violenza","Tentativi di fuga in unità di custodia","Presenza di armi","Oggetti abbandonati in luoghi a rischio","Cambiamenti bruschi nei pattern comportamentali","Concentrazione anomala di persone nei punti critici","Situazioni di rischio in ambienti mission-critical — aeroporti, frontiere, prigioni","Motore Temporale: esegue il prompt e il sistema procede senza intervento umano"]},{title:"2.4 Coordinamento della Rete Cooperativa",type:"list",items:["Lancia ricerche e tracciamenti che si propagano all'intera rete pubblica e privata cooperante","Riceve notifiche automatiche da Perceptrum quando c'è una corrispondenza con la watchlist","Coordina operazioni integrate tra spazio pubblico, viario (F.A.S.T.) e privato (Perceptrum)","Centralizza allarmi, prove e traccia di tracciamento dell'intera rete integrata"]},{title:"2.5 Modello Commerciale",type:"params",params:[{param:"Licenza",value:"Istituzionale — contratto con ente pubblico o azienda"},{param:"Distribuzione",value:"On-premise sui server del cliente"},{param:"Supporto",value:"Onboarding e configurazione inclusi"},{param:"Pilota",value:"Distribuibile entro 7 giorni lavorativi sull'infrastruttura esistente"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Intelligenza multimodale per l'ambiente privato — dalla casa alla grande azienda",sections:[{title:"2.6 Focus e Ambito Operativo",desc:"Piattaforma destinata al settore privato, commerciale, residenziale e condominiale. Democratizza l'accesso all'intelligenza di monitoraggio avanzata.",type:"list",items:["Residenze e abitazioni","Condomini ed edifici residenziali e commerciali","Piccole e medie imprese","Catene di negozi al dettaglio","Banche e istituti finanziari","Centri commerciali e parcheggi","Scuole e università private","Ospedali e cliniche private","Magazzini e strutture logistiche","Fattorie e proprietà rurali"]},{title:"2.7 Infrastruttura Esclusiva",type:"params",params:[{param:"Funziona su",value:"Computer personale dell'utente (domestico o aziendale)"},{param:"Processore minimo",value:"Intel i5 o superiore"},{param:"GPU",value:"Non richiesta"},{param:"Archiviazione",value:"Spazio su disco per immagini temporanee in analisi"},{param:"DVR/NVR",value:"Lettura nativa per ricerche nelle registrazioni precedenti"},{param:"Attivazione",value:"Minuti — importazione telecamere via CSV e avvio immediato"}]},{title:"2.8 Rilevamenti Specifici",type:"list",items:["Movimenti fuori schema in orari o luoghi insoliti","Furti, rapine e aggressioni — comportamenti tipici di sottrazione","Presenza non autorizzata in aree riservate","Rischio perimetrale e tentativi di intrusione","Richieste di aiuto — gesti e comportamenti di soccorso","Oggetti sospetti abbandonati","Anomalie operative nei processi (logistica, inventario, conseg
45ne)","Verifica automatizzata dei processi: veicolo, targa, corriere, conteggio volumi","Eventi configurabili per tipo di ambiente — profilo per ogni installazione","Individua violatori di misure di protezione (ordini di allontanamento ecc.)"]},{title:"2.9 Cooperazione Volontaria (esclusivo Perceptrum)",type:"list",items:["Flag di cooperazione volontaria — il proprietario decide se attivare e quali telecamere partecipano","Quando attivato: la telecamera partecipa alle ricerche emesse da Perceptrum Corporate o F.A.S.T.-AI","Analisi eseguita localmente — sul computer dell'utente privato","Nessuno stream video trasmesso continuamente alla centrale pubblica","Nessuna porta di rete aperta esternamente","Solo il risultato (corrispondenza) viene inviato alla centrale — non le immagini","L'allarme include: immagine dell'individuo con overlay, data/ora, telecamera, indirizzo, GPS, livello di confidenza","Partecipazione revocabile in qualsiasi momento dal proprietario","Conformità totale GDPR/LGPD — privacy by architectural design"]},{title:"2.10 Modello Commerciale",type:"params",params:[{param:"Versione gratuita",value:"Funzionalità di monitoraggio di base — senza costi, senza carta di credito"},{param:"Versione premium",value:"Accesso completo — licenza mensile accessibile"},{param:"Cooperazione pubblica",value:"Gratuita per l'utente privato — costo pagato dall'ente pubblico per ogni consultazione"},{param:"Costo per lo Stato",value:"Centesimi per ricerca — pagato solo quando la ricerca viene attivata"},{param:"Distribuzione",value:"Distribuibile agli utenti privati a livello nazionale"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Intelligenza territoriale, mobilità e lettura dinamica dello spazio urbano",sections:[{title:"2.11 Focus e Ambito Operativo",desc:"Piattaforma destinata alla mobilità, al traffico, all'urbanistica e all'interpretazione dinamica del territorio.",type:"list",items:["Assessorati e dipartimenti comunali di traffico e mobilità","Centri di operazione urbana (COUs)","Dipartimenti di opere pubbliche e urbanistica","Enti di controllo del traffico","Organizzatori di grandi eventi pubblici","Concessionari autostradali e di parcheggi","Forze di sicurezza pubblica — tracciamento veicoli e operazioni stradali"]},{title:"2.12 Infrastruttura Esclusiva",type:"params",params:[{param:"Funziona su",value:"Server delle aziende responsabili del traffico e dell'urbanistica"},{param:"GPU",value:"Non richiesta (eccetto analisi di infrazioni complesse e soluzione SBC di prevenzione incidenti in autostrada)"},{param:"Archiviazione",value:"Bassa — legge direttamente da NAS, DVR, NVR o streaming esistente"},{param:"Fonti compatibili",value:"Telecamere pubbliche stradali, semafori, autovelox fissi e mobili — qualsiasi standard"},{param:"Scala",value:"Rete viaria urbana completa — quartieri, corridoi, città"}]},{title:"2.13 Rilevamenti Specifici",type:"list",items:["Infrazioni stradali — generazione automatica di multe con prove","Incidenti e investimenti di pedoni — rilevamento e notifica immediata","Formazione di ingorghi — rilevamento precoce prima del collasso","Blocchi stradali e deviazioni","Occupazione irregolare dello spazio pubblico","Eventi atipici che influenzano la mobilità urbana","Rischi operativi su strade e aree strategiche","Pattern di flusso, zone critiche e ricorrenze","Tracciamento di veicoli sospetti — targa, modello, colore, percorso","Concentrazione e densità di persone su strade e spazi pubblici","Inseguimento automatico se richiesto dall'operatore"]},{title:"2.14 Intelligenza Territoriale (esclusivo F.A.S.T.-AI)",type:"list",items:["Analisi dei pattern di flusso veicolare e pedonale per ora, giorno e zona","Identificazione di zone critiche e ricorrenze di incidenti","Supporto alle decisioni di pianificazione viaria e urbanistica con dati reali","Dashboard di gestione territoriale in tempo reale per assessori e manager","Supporto alla gestione di grandi eventi — densità, flusso, rischi di tumulto","Generazione continua di informazioni strategiche sul comportamento del territorio"]},{title:"2.15 Modello Commerciale",type:"params",params:[{param:"Licenza",value:"Comunale / regi
45onale — contratto con ente pubblico di mobilità o sicurezza"},{param:"Distribuzione",value:"Server del comune o del concessionario — sull'infrastruttura esistente"},{param:"ROI diretto",value:"I ricavi generati dalle multe automatiche superano il costo della piattaforma"},{param:"Pilota",value:"Distribuibile entro 7 giorni lavorativi sulle telecamere pubbliche esistenti"}]}]}],comparison:{title:"Riepilogo Comparativo delle Tre Piattaforme",rows:[{feature:"Focus principale",drakon:"Settore pubblico e mission-critical",perceptrum:"Settore privato e residenziale",fast:"Traffico e urbanistica"},{feature:"Funziona su",drakon:"Server del cliente (on-premise)",perceptrum:"Computer personale (i5+)",fast:"Server municipali/concessionario"},{feature:"GPU richiesta",drakon:"❌ No",perceptrum:"❌ No",fast:"❌ No (eccetto SBC)"},{feature:"Sostituzione telecamere",drakon:"❌ Non richiesta",perceptrum:"❌ Non richiesta",fast:"❌ Non richiesta"},{feature:"Analisi live (24/7)",drakon:"✅ Sì",perceptrum:"✅ Sì",fast:"✅ Sì"},{feature:"Post-elaborazione registrata",drakon:"✅ Sì (DVR/NVR/NAS)",perceptrum:"✅ Sì (DVR/NVR/NAS)",fast:"✅ Sì (DVR/NVR/NAS)"},{feature:"JOB in linguaggio naturale",drakon:"✅ Sì",perceptrum:"✅ Sì",fast:"✅ Sì"},{feature:"Integrazione API/Webhook",drakon:"✅ Sì",perceptrum:"✅ Sì",fast:"✅ Sì"},{feature:"Tracciamento multi-telecamera",drakon:"✅ Sì",perceptrum:"✅ Sì",fast:"✅ Sì"},{feature:"Rete cooperativa privata",drakon:"✅ Coordina ricerche",perceptrum:"✅ Partecipa (volontario)",fast:"✅ Coordina ricerche stradali"},{feature:"Versione gratuita disponibile",drakon:"❌ No",perceptrum:"✅ Sì (base)",fast:"❌ No"},{feature:"PoC disponibile",drakon:"✅ Sì",perceptrum:"❌ No",fast:"✅ Sì"},{feature:"Multe automatiche",drakon:"❌ Non il focus",perceptrum:"❌ Non il focus",fast:"✅ Sì — generazione automatica"},{feature:"Intelligenza territoriale",drakon:"Operativo istituzionale",perceptrum:"Operativo privato",fast:"✅ Territoriale e urbano"},{feature:"Conformità GDPR/LGPD",drakon:"✅ Sì",perceptrum:"✅ Sì (by design)",fast:"✅ Sì"},{feature:"Tempo di attivazione pilota",drakon:"Fino a 7 giorni lavorativi",perceptrum:"Minuti",fast:"Fino a 7 giorni lavorativi"}]}},nl:{hero:{badge:"Technische Specificaties",title:"Technische Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Gestructureerd technisch document voor evaluatie-, aanbestedings- en integratieprocessen. Alle specificaties van de drie AiQuimist-platforms — gedeelde functionaliteiten en exclusieve onderscheidende kenmerken.",part1:"DEEL 1 — Core Specs",part1sub:"Functionaliteiten aanwezig op alle drie platforms",part2:"DEEL 2 — Exclusieve Specs",part2sub:"Productspecifieke kenmerken en onderscheidende factoren",part3:"Vergelijkend Overzicht"},copy:"Tabel kopiëren",copied:"Gekopieerd!",yes:"✅ Ja",no:"❌ Nee",feature:"Kenmerk",capacity:"Capaciteit",detail:"Detail",param:"Parameter",value:"Waarde",sections:[{id:"s1",title:"1.1 AI-Motor — Universele Multimodale Interpretatie",desc:"AiQuimist-platform dat tegelijkertijd video, audio, tekst en beeld analyseert om echte context te extraheren en relevante situaties te identificeren.",type:"capabilities",items:[{label:"🎥 Video",detail:"Realtime-analyse van live camera's en opnamen. Herkent scènes, objecten, gedragingen, bewegingen en patronen."},{label:"🔊 Audio",detail:"Detectie van spraak, trefwoorden, semantische patronen, stemtoon, urgentie, conflicten en configureerbare interessantsignalen."},{label:"📄 Tekst & Beeld",detail:"Upload en analyse van bestanden (video, beeld, audio, tekst). Bewijsextractie, metadata en bronoverkoepelende correlatie."},{label:"Natieve temporale verwerking",detail:"Analyseert bewegingsvloeiendheid, niet alleen geïsoleerde frames"},{label:"Massief contextvenster",detail:"Behoudt geheugen van lange video-/audioperioden voor gebeurteniscorrelatie"},{label:"Realtime-analyse (live)",detail:"Camerastreams en audiokanalen 24×7"},{label:"Naverwerking",detail:"Dezelfde detectiecriteria toegepast op archieven en opgenomen bestanden: NVR, DVR, NAS"}
45,{label:"Digitale bestandsupload",detail:"Video, beeld, audio en tekst voor gecorreleerde multimodale analyse"},{label:"Emotionele toestandsidentificatie",detail:"Lezen van lichaamstaal, stemtoon en gedragssignalen"},{label:"AI-providerabstractie",detail:"Configureerbare endpoints, inloggegevens en limieten; providerwisseling met minimale impact"}]},{id:"s2",title:"1.2 Camera- en Bronopname",type:"mixed",items:[{label:"Universele compatibiliteit",detail:"Elke camera, ongeacht merk, fabrikant, model of generatie"},{label:"Analoog en digitaal",detail:"Geen hardwarevervanging vereist"},{label:"Hoofdprotocol",detail:"RTSP, ONVIF en gelijkwaardige HTTP/bestandsmethoden"},{label:"DVR / NVR / NAS",detail:"Leest reeds bij de klant geïnstalleerde apparatuur"},{label:"Bulkimport",detail:"Excel of CSV met camerametadata (IP, fabrikant, gebruiker, wachtwoord, poort, enz.)"},{label:"Zelfstandige werking",detail:"Volledig lokaal via intern netwerk — geen streamblootstelling aan internet"},{label:"Netwerkbeveiliging",detail:"Geen open poorten voor externe toegang of NAT/tunnelconfiguraties"},{label:"Schaalbaarheid",detail:"1 tot N camera's/audiokanalen parallel"},{label:"Streambeschikbaarheid",detail:"Monitoring en automatisch herstel na storingen"}]},{id:"s3",title:"1.3 Taakorkestratie — JOB / STEP",desc:"Intelligent automatiseringssysteem dat menselijke operators vervangt in bewakingsroutines. Gemaakt via prompts in natuurlijke taal — geen code, geen programmering.",type:"capabilities",items:[{label:"JOB (taak)",detail:"Bewakingseenheid die 1 of N camera's/kanalen leest en handelt op basis van gedefinieerde condities"},{label:"STEP (stap)",detail:"Elke JOB bestaat uit meerdere geketende stappen; het resultaat van één camera (output) voedt de volgende (input)"},{label:"Meerdere bronnen per stap",detail:"Elke STEP kan 1 of meer camera's en/of 1 of meer audiokanalen activeren"}
45,{label:"Intelligent ketenen",detail:"Cognitieve afhankelijkheid tussen stappen; stroom verandert op basis van vorig resultaat"},{label:"Natieve voorwaardelijke beslissingen",detail:"Vertakkingen, onderbreking, herhaling of escalatie op basis van werkelijk resultaat"},{label:"Prompt per kanaal",detail:"Elke camera of audiokanaal ontvangt een specifieke prompt binnen dezelfde JOB (uitvoering, alarm en negatief)"},{label:"Planning",detail:"Uitvoering op geplande dagen en tijden, met gedefinieerde of continue duur"},{label:"Directe activering/deactivering",detail:"Geen herconfiguratie vereist"},{label:"Taakversiebeheer",detail:"Geschiedenis van configuraties en prompts"},{label:"Aangemaakt door niet-technici",detail:"Operators zonder technische kennis maken volledige JOB's via interface met intelligente agent"}],params:[{param:"JOB-aanmaak",value:"Natuurlijke taal (tekst of spraak) — geen code"},{param:"Ketening",value:"STEP N gebruikt cognitief resultaat van STEP N-1"},{param:"Bronnen per STEP",value:"1 of meer camera's + 1 of meer audiokanalen"},{param:"Planning",value:"Datum, tijd, duur en herhaling configureerbaar"}]},{id:"s4",title:"1.4 Detectie- en Classificatiecapaciteiten",type:"grouped",groups:[{label:"Videogebaseerde detectie (computer vision / multimodaal)",items:["Identificatie van relevante situaties en acties per geconfigureerde prompts","Herkenning van personen van belang — watchlist met automatische gebeurteniskoppeling","Personentelling met voorwaardelijke triggers (meer dan X / minder dan X / precies X)","Tracking van 1 of meerdere individuen/voertuigen in de tijd","Multi-cameratracking met heridentificatie — volgt verplaatsing tussen camera's A → N → B","Routeafwijkingsdetectie en schending van verwachte trajectorie","Lezen van kentekens, borden en zichtbare tekstinhoud in camera","Identificatie van configureerbare handgebaren en gebarentaalgebaren (wanneer gedefinieerd in prompt)","Emotionele toestandsdetectie en preconflict lichaamstaal"]},{label:"Audiogebaseerde detectie (spraak / geluiden / multimodaal)",items:["Realtime en opgenomen audioanalyse met transcriptie (STT) indien van toepassing","Diarisering — sprekerscheiding en -identificatie met samenvatting per spreker en volledige gespreksamenvatting","Detectie van gesproken trefwoorden per parameterisering","Detectie van configureerbare zinnen en semantische patronen","Detectie van spreekpatronen die wijzen op gebeurtenissen — urgentie, conflict, herhaling","Markering van relevante fragmenten voor controle"]},{label:"Alarmsysteem",items:["Alarm bij voldane conditie — bijv.: 'groep met X individuen gedetecteerd op punt A'","Alarm bij NIET voldane conditie — bijv.: 'individu passeerde camera Y niet binnen tijdbestek T'","Alarmen met passeersequentielogica — configureerbare multipoint-workflow","Configureerbare triggers, tijdvensters en correlatiecriteria","Configureerbare ernst-niveaus, ontvangers en notificatiekanalen","Bewijzen bijgevoegd aan alarmen — frames, videoclips, audiosegmenten","Levenscyclusregistratie van alarm — generatie, routering, ontvangst en sluiting"]}]},{id:"s5",title:"1.5 Contextualisering en Bewijsgeneratie",type:"capabilities",items:[{label:"Automatische contextuele beschrijving",detail:"Gegenereerd in natuurlijke taal voor elk gedetecteerde gebeurtenis"},{label:"Gestructureerde metadata",detail:"Bron, datum/tijd, logische locatie, gebeurtenistype, ernst"},{label:"Automatische correlatie",detail:"Zelfde individu, zelfde gebied, zelfde interval — over meerdere bronnen"},{label:"Bewijsextractie",detail:"Frames, videoclips, audiosegmenten, herkende tekst"},{label:"Inferentietracering",detail:"Logboeken en controle van alle detecties"},{label:"Operationele rapporten",detail:"Volledig controletraject"}]},{id:"s6",title:"1.6 Bediening in Natuurlijke Taal",desc:"Elke operator — zonder technische opleiding — maakt, configureert en bedient volledige JOB's met tekst of spraak. Geen programmering, scripts of externe tools.",type:"capabilities",items:[{label:"Zoekopdrachten in natuurlijke taal",detail:"Vragen met ge
45contextualiseerde antwoorden"},{label:"Tekst- en spraakopdrachten",detail:"Aanmaak, bewerking en activering van taken"},{label:"Volledige configuratie via prompt",detail:"Monitoring, alarmen, triggers en ontvangers"},{label:"Governance-controles",detail:"Bevestiging voor kritieke acties, profielgebaseerde beperkingen"},{label:"Controletraject",detail:"Registratie van alle opdrachten en wijzigingen"}]},{id:"s7",title:"1.7 Externe Integraties — API en Webhook",type:"capabilities",items:[{label:"Automatisch webhook-activering",detail:"Externe API-aanroepen op basis van gedefinieerde condities"},{label:"Configuratie door niet-technici",detail:"Via prompt in natuurlijke taal"},{label:"Gestructureerde payload",detail:"Metadata en bewijs in JSON"},{label:"Authenticatie van externe aanroepen",detail:"Tokens, sleutels, handtekeningen en permissielijsten"},{label:"Aanvraagcontrole",detail:"Volledig logboek van alle externe aanroepen"},{label:"Foutafhandeling",detail:"Herhalingspogingen, wachtrijen en logboeken"},{label:"Interoperabiliteit",detail:"Dashboards, berichten, registratie- en beheersystemen"}],params:[{param:"Protocol",value:"REST API + Webhooks"},{param:"Payload",value:"Gestructureerde JSON met metadata, bewijs en context"},{param:"Authenticatie",value:"Tokens, sleutels, handtekeningen en permissielijsten"},{param:"Controle",value:"Volledig logboek van alle externe aanroepen"}]},{id:"s8",title:"1.8 Verbruiksstatistieken en Kostenbeheer",type:"capabilities",items:[{label:"Statistieken per JOB/STEP",detail:"Gedetailleerde registratie en beschikbaarstelling"},{label:"Statistieken per camera/audiokanaal",detail:"Geïndividualiseerd verbruik per bron"},{label:"Statistieken per gebruiker/profiel",detail:"Gebruikstracking per operator"},{label:"Token- en aanvraagtelling",detail:"Schattingen en werkelijke waarden met latentie"},{label:"Kosten per dimensie",detail:"JOB, camera en gebruiker"}
45,{label:"Quota's en kostenplaatsen",detail:"Ondersteuning voor quota's en afdelingsscheiding"}]},{id:"s9",title:"1.9 Hardwarevereisten",type:"params",params:[{param:"GPU",value:"Niet vereist — geen van de drie platforms"},{param:"GPU (F.A.S.T.-AI)",value:"Gebruikt voor sommige complexe overtredingen en SBC-oplossing voor verkeersongevallenpreventie"},{param:"Eigen hardware",value:"Niet vereist — integreert met bestaande infrastructuur"},{param:"Camera's",value:"Geen vervanging — compatibel met elk geïnstalleerd apparaat"},{param:"Ondersteund OS",value:"Windows (native compatibiliteit)"},{param:"Implementatie",value:"On-premises, publieke/private cloud (nationaal grondgebied) of hybride"},{param:"Activering",value:"Dagen, niet maanden — pilot inzetbaar binnen 7 werkdagen"}]},{id:"s10",title:"1.10 Informatiebeveiliging, Governance en Gegevensbescherming",type:"capabilities",items:[{label:"RBAC-toegangscontrole",detail:"Functiescheiding en minimale bevoegdheden"},{label:"Volledige controletrajecten",detail:"Operationele logboeken, opdrachten, configuratiewijzigingen en prompts"},{label:"Gegevensbescherming",detail:"In transit en in rust"}
45,{label:"Bewaar- en verwijderingsbeleid",detail:"Pseudonimisering/anonimisering indien van toepassing"},{label:"Toegangsprofiel­beheer",detail:"Operationele beperkingen per niveau"},{label:"AVG/LGPD-naleving",detail:"Minimalisering, doel, noodzaak en verantwoording"},{label:"Opslag van inloggegevens",detail:"Windows Credential Manager/DPAPI of equivalent — plaintext-opslag verboden"}]},{id:"s11",title:"1.11 Beschikbaarheid en Operationele Continuïteit",type:"capabilities",items:[{label:"24×7-werking",detail:"Continue monitoring zonder onderbreking"},{label:"Automatisch herstel",detail:"Streamstoring hervatten zonder tussenkomst"},{label:"Verbindingsuitvalbestendigheid",detail:"Herverwerking van opgenomen inhoud"},{label:"Wachtrijen en herverwerking",detail:"Dekkingsgarantie zonder hiaten"},{label:"Hoge beschikbaarheid",detail:"Redundantie, replicatie en taakverdeling indien geconfigureerd"}]},{id:"s12",title:"1.12 Integratie met Privaat Coöperatief Netwerk",desc:"Exclusieve capaciteit van het AiQuimist-ecosysteem: privécamera's van vrijwillige gebruikers nemen automatisch deel aan openbare zoekopdrachten — zonder video te verzenden, zonder netwerkpoorten te openen.",type:"capabilities",items:[{label:"Gratis distributie",detail:"Windows-oplossing die landsbreed aan privégebruikers distribueerbaar is"},{label:"Koppelingmechanisme",detail:"Activatiecode, apparaatkoppeling en -intrekking"},{label:"Alleen geautoriseerde endpoints",detail:"Alleen geautoriseerde endpoints kunnen gegevens/gebeurtenissen verbruiken of publiceren"},{label:"Lokale detectie en melding",detail:"Analyse vindt plaats op de computer van de privégebruiker"},{label:"Overeenkomstmelding",detail:"Automatisch aan het centrale platform bij een watchlist-overeenkomst"},{label:"Gestructureerd alarm",detail:"Afbeelding van individu met overlay, datum/tijd, camera, volledig adres, GPS, betrouwbaarheidsniveau, identificator"},{label:"Re-ID-algoritmen",detail:"Heridentificatie en, indien van toepassing en geautoriseerd, gezichtsherkenning"},{label:"Vrijwillige deelname",detail:"Gebruiker beslist over activering van samenwerking en welke camera's deelnemen"},{label:"Privacy by design",detail:"Geen open poorten, geen continu verzonden streams"},{label:"Volledige AVG/LGPD-naleving",detail:"Lokale analyse, delen van alleen het relevante resultaat"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Institutionele intelligentie voor publieke operaties en missiekritieke omgevingen",sections:[{title:"2.1 Focus en Operationeel Bereik",desc:"Platform voor de publieke, institutionele en hooggraviteitssector. Werkt op grootschalige cameranetwerken.",type:"list",items:["Gemeenten, provinciale en nationale overheden","Politiediensten, gemeentelijke bewakers en veiligheidsdiensten","Geïntegreerde commando- en controlecentra (CIOPs)","Gevangenissen en detentie-instellingen","Luchthavens, havens en terminals","Grenzen en nationale kritieke infrastructuur","Overheidsbedrijven en grote private ondernemingen met complexe activiteiten","Grote private bedrijven: banken, logistiek en andere"]},{title:"2.2 Exclusieve Infrastructuur",type:"params",params:[{param:"Draait op",value:"Eigen servers van de klant (on-premise)"},{param:"Gegevensbeveiliging",value:"100% intern — geen informatie blootgesteld aan internet"},{param:"GPU",value:"Niet vereist"},{param:"Servers",value:"Conventioneel — toegewijd aan database en gelijktijdige cameraopname"},{param:"Schaal",value:"Grote institutionele netwerken — tientallen tot duizenden camera's"}]},{title:"2.3 Specifieke Detecties",type:"list",items:["Verdachte bewegingen in perimeters, toegangen en kritieke omgevingen","Gedragingen die onverenigbaar zijn met gevoelige gebieden","Inbraken en pogingen tot ongeautoriseerde toegang","Conflicten en gewelddadige situaties","Ontsnappingspogingen in bewaringsplaatsen","Aanwezigheid van wapens","Achtergelaten objecten op risicolocaties","Plotselinge gedragspatroonwijzigingen","Abnormale mensenmenigte op kritieke punten","Risicosituaties in missiekritieke omgevingen — luchthavens, grenzen, gevangenissen","Temporale Motor: voert prompt uit en het systeem gaat verder zonder menselijke tussenkomst"]},{title:"2.4 Coöperatief Netwerkcoördinatie",type:"list",items:["Activeert zoekopdrachten en tracking die zich verspreiden over het gehele publieke en coöperatieve privénetwerk","Ontvangt automatische meldingen van Perceptrum bij watchlist-overeenkomsten","Coördineert geïntegreerde operaties tussen publieke, verkeers- (F.A.S.T.) en privéruimte (Perceptrum)","Centraliseert alarmen, bewijs en trackingtraject van het gehele geïntegreerde netwerk"]},{title:"2.5 Commercieel Model",type:"params",params:[{param:"Licentie",value:"Institutioneel — contract met overheidsinstantie of bedrijf"},{param:"Implementatie",value:"On-premise op de servers van de klant"}
45,{param:"Ondersteuning",value:"Onboarding en configuratie inbegrepen"},{param:"Pilot",value:"Inzetbaar binnen 7 werkdagen op bestaande infrastructuur"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Multimodale intelligentie voor de privéomgeving — van thuis tot groot bedrijf",sections:[{title:"2.6 Focus en Operationeel Bereik",desc:"Platform voor de privé-, commerciële, residentiële en appartementensector. Democratiseert de toegang tot geavanceerde bewakingsintelligentie.",type:"list",items:["Woningen en huizen","Appartementencomplexen en residentiële en commerciële gebouwen","Kleine en middelgrote bedrijven","Retailketens en winkels","Banken en financiële instellingen","Winkelcentra en parkeerplaatsen","Private scholen en universiteiten","Private ziekenhuizen en klinieken","Magazijnen en logistieke voorzieningen","Boerderijen en landelijke eigendommen"]},{title:"2.7 Exclusieve Infrastructuur",type:"params",params:[{param:"Draait op",value:"Persoonlijke computer van gebruiker (thuis of zakelijk)"},{param:"Minimale processor",value:"Intel i5 of beter"},{param:"GPU",value:"Niet vereist"},{param:"Opslag",value:"Schijfruimte voor tijdelijke afbeeldingen in analyse"},{param:"DVR/NVR",value:"Native opname voor zoekopdrachten in eerdere opnamen"},{param:"Activering",value:"Minuten — camera-import via CSV en directe start"}]},{title:"2.8 Specifieke Detecties",type:"list",items:["Bewegingen buiten patroon op ongebruikelijke tijden of plaatsen","Diefstal, roof en overval — typische aftrekkingsgedragingen","Onbevoegde aanwezigheid in beperkte gebieden","Perimeterrisico en inbraakpogingen","Verzoeken om hulp — noodgebaren en -gedragingen","Achtergelaten verdachte objecten","Operationele afwijkingen in processen (logistiek, inventaris, leveringen)","Geautomatiseerde procesverificatie: voertuig, kenteken, bezorger, volumetelling","Configureerbare gebeurtenissen per omgevingstype — profiel per installatie","Localiseert overtreders van beschermingsmaatregelen (tijdelijke verboden etc.)"]},{title:"2.9 Vrijwillige Samenwerking (exclusief Perceptrum)",type:"list",items:["Vrijwillige samenwerkingsvlag — eigenaar beslist over activering en welke camera's deelnemen","Bij activering: camera neemt deel aan zoekopdrachten van Perceptrum Corporate of F.A.S.T.-AI","Analyse lokaal uitgevoerd — op de eigen computer van de privégebruiker","Geen continu videostream verzonden naar de publieke centrale","Geen extern geopende netwerkpoorten","Alleen het resultaat (overeenkomst) wordt naar de centrale gestuurd — niet de afbeeldingen","Alarm omvat: afbeelding van individu met overlay, datum/tijd, camera, adres, GPS, betrouwbaarheidsniveau","Deelname op elk moment door de eigenaar in te trekken","Volledige AVG/LGPD-naleving — privacy by architectural design"]},{title:"2.10 Commercieel Model",type:"params",params:[{param:"Gratis versie",value:"Basisbewakingsfuncties — geen kosten, geen creditcard"},{param:"Premium versie",value:"Volledige toegang — betaalbare maandelijkse licentie"},{param:"Publieke samenwerking",value:"Gratis voor de privégebruiker — kosten betaald door overheidsinstantie per zoekopdracht"},{param:"Kosten voor de overheid",value:"Centen per zoekopdracht — alleen betaald wanneer de zoekopdracht wordt geactiveerd"},{param:"Distributie",value:"Landsbreed distribueerbaar aan privégebruikers"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Territoriale intelligentie, mobiliteit en dynamische verkenning van de stedelijke ruimte",sections:[{title:"2.11 Focus en Operationeel Bereik",desc:"Platform voor mobiliteit, verkeer, stedenbouw en dynamische territoriale interpretatie.",type:"list",items:["Gemeentelijke verkeers- en mobiliteitsdiensten","Stedelijke operatiecentra (COUs)","Openbare werken en stedenbouwkundige afdelingen","Verkeershandhavingsinstanties","Organisatoren van grote publieke evenementen","Snelweg- en parkeerconcessiehouders","Openbare veiligheidsdiensten — voertuigtracking en wegoperaties"]}
45,{title:"2.12 Exclusieve Infrastructuur",type:"params",params:[{param:"Draait op",value:"Servers van bedrijven verantwoordelijk voor verkeer en stedenbouw"},{param:"GPU",value:"Niet vereist (behalve complexe overtredings­analyse en SBC-verkeersongevallenpreventie op snelwegen)"},{param:"Opslag",value:"Laag — leest direct van NAS, DVR, NVR of bestaande streaming"},{param:"Compatibele bronnen",value:"Openbare wegcamera's, verkeerslichten, vaste en mobiele flitspalen — elke standaard"},{param:"Schaal",value:"Volledig stedelijk wegennet — wijken, corridors, steden"}]},{title:"2.13 Specifieke Detecties",type:"list",items:["Verkeersovertredingen — automatische boetegeneratie met bewijs","Ongelukken en voetgangersincidenten — detectie en directe melding","Filevorming — vroege detectie vóór instorting","Wegblokkades en omleidingen","Onregelmatige bezetting van openbare ruimte","Atypische gebeurtenissen die de stedelijke mobiliteit beïnvloeden","Operationele risico's op wegen en strategische gebieden","Stroompatronen, kritieke zones en herhalingen","Tracking van verdachte voertuigen — kenteken, model, kleur, route","Mensenmenigte en -dichtheid op wegen en openbare ruimtes","Automatische achtervolging indien gevraagd door operator"]},{title:"2.14 Territoriale Intelligentie (exclusief F.A.S.T.-AI)",type:"list",items:["Analyse van voertuig- en voetgangersstroompatronen per tijdstip, dag en zone","Identificatie van kritieke zones en incidentherhalingen","Ondersteuning voor weg- en stedenbouwplanningsbeslissingen met echte gegevens","Realtime territoriaal beheerdashboard voor wethouders en managers","Ondersteuning voor groot evenementenbeheer — dichtheid, stroom, relletjesrisico's","Continue generatie van strategische informatie over territoriaal gedrag"]},{title:"2.15 Commercieel Model",type:"params",params:[{param:"Licentie",value:"Gemeentelijk / provinciaal — contract met openbare mobiliteits- of veiligheidsinstantie"},{param:"Implementatie",value:"Gemeente- of concessiehouderservers — op bestaande infrastructuur"},{param:"Directe ROI",value:"Inkomsten uit automatische boetes overtreffen de platformkosten"},{param:"Pilot",value:"Inzetbaar binnen 7 werkdagen op bestaande openbare camera's"}]}]}],comparison:{title:"Vergelijkend Overzicht van de Drie Platforms",rows:[{feature:"Hoofdfocus",drakon:"Publieke sector en missiekritiek",perceptrum:"Privé- en residentiële sector",fast:"Verkeer en stedenbouw"},{feature:"Draait op",drakon:"Servers van klant (on-premise)",perceptrum:"Persoonlijke computer (i5+)",fast:"Gemeentelijke/concessieservers"},{feature:"GPU vereist",drakon:"❌ Nee",perceptrum:"❌ Nee",fast:"❌ Nee (behalve SBC)"},{feature:"Cameravervanging",drakon:"❌ Niet vereist",perceptrum:"❌ Niet vereist",fast:"❌ Niet vereist"},{feature:"Live-analyse (24/7)",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Opgenomen naverwerking",drakon:"✅ Ja (DVR/NVR/NAS)",perceptrum:"✅ Ja (DVR/NVR/NAS)",fast:"✅ Ja (DVR/NVR/NAS)"},{feature:"JOB's in natuurlijke taal",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"API/Webhook-integratie",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Multi-cameratracking",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Privaat coöperatief netwerk",drakon:"✅ Coördineert zoekopdrachten",perceptrum:"✅ Neemt deel (vrijwillig)",fast:"✅ Coördineert wegzoekopdrachten"},{feature:"Gratis versie beschikbaar",drakon:"❌ Nee",perceptrum:"✅ Ja (basis)",fast:"❌ Nee"},{feature:"PoC beschikbaar",drakon:"✅ Ja",perceptrum:"❌ Nee",fast:"✅ Ja"},{feature:"Automatische boetes",drakon:"❌ Niet de focus",perceptrum:"❌ Niet de focus",fast:"✅ Ja — automatische generatie"},{feature:"Territoriale intelligentie",drakon:"Institutioneel-operationeel",perceptrum:"Privé-operationeel",fast:"✅ Territoriaal en stedelijk"},{feature:"AVG/LGPD-conform",drakon:"✅ Ja",perceptrum:"✅ Ja (by design)",fast:"✅ Ja"},{feature:"Pilotactiveringtijd",drakon:"Tot 7 werkdagen",perceptrum:"Minuten",fast:"Tot 7 werkdagen"}]}},sv:{hero:{badge:"Tekniska Specifikationer",title:"Tekniska Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Strukturerat tekniskt dokument för utvärderings-, upphandlings- och integrationsprocesser. Alla specifikationer för de tre AiQuimist-plattformarna — delade funktioner och exklusiva differentiering.",part1:"DEL 1 — Core Specs",part1sub:"Funktioner som finns på alla tre plattformar",part2:"DEL 2 — Exklusiva Specs",part2sub:"Plattformsspecifika funktioner och differentiering",part3:"Jämförande Sammanfattning"},copy:"Kopiera tabell",copied:"Kopierat!",yes:"✅ Ja",no:"❌ Nej",feature:"Funktion",capacity:"Kapacitet",detail:"Detalj",param:"Parameter",value:"Värde",sections:[{id:"s1",title:"1.1 AI-Motor — Universell Multimodal Tolkning",desc:"AiQuimist-plattform som simultant analyserar video, ljud, text och bild för att extrahera verkligt sammanhang och identifiera relevanta situationer.",type:"capabilities",items:[{label:"🎥 Video",detail
45:"Realtidsanalys av live-kameror och inspelningar. Känner igen scener, objekt, beteenden, rörelser och mönster."},{label:"🔊 Ljud",detail:"Detektering av tal, nyckelord, semantiska mönster, röstton, brådska, konflikter och konfigurerbara intressanta ljud."},{label:"📄 Text och Bild",detail:"Uppladdning och analys av filer (video, bild, ljud, text). Bevisextraktion, metadata och korskorrelation mellan källor."},{label:"Inbyggd temporal bearbetning",detail:"Analyserar rörelseflöde, inte bara isolerade bildrutor"},{label:"Massivt kontextfönster",detail:"Behåller minne av långa video-/ljudperioder för händelsekorrelation"},{label:"Realtidsanalys (live)",detail:"Kameraströmmar och ljudkanaler 24×7"},{label:"Efterbearbetning",detail:"Samma detekteringskriterier tillämpade på arkiv och inspelade filer: NVR, DVR, NAS"},{label:"Digital filuppladdning",detail:"Video, bild, ljud och text för korrelerad multimodal analys"},{label:"Identifiering av känslomässigt tillstånd",detail:"Avläsning av kroppsspråk, röstton och beteendesignaler"},{label:"AI-leverantörsabstraktion",detail:"Konfigurerbara endpoints, autentiseringsuppgifter och gränser; leverantörsbyte med minimal påverkan"}]},{id:"s2",title:"1.2 Kamera- och Källmatning",type:"mixed",items:[{label:"Universell kompatibilitet",detail:"Vilken kamera som helst, oavsett märke, tillverkare, modell eller generation"},{label:"Analogt och digitalt",detail:"Inget krav på hårdvarubyte"},{label:"Huvudprotokoll",detail:"RTSP, ONVIF och likvärdiga HTTP/fil-metoder"},{label:"DVR / NVR / NAS",detail:"Läser utrustning som redan är installerad hos kunden"},{label:"Massimport",detail:"Excel eller CSV med kamerametadata (IP, tillverkare, användare, lösenord, port osv.)"},{label:"Fristående drift",detail:"Helt lokalt via internt nätverk — ingen ström exponerad för internet"},{label:"Nätverkssäkerhet",detail:"Inga öppna portar för fjärråtkomst eller NAT/tunnelkonfigurationer"},{label:"Skalbarhet",detail:"1 till N kameror/ljudkanaler parallellt"},{label:"Strömtillgänglighet",detail:"Övervakning och automatisk återhämtning efter fel"}]},{id:"s3",title:"1.3 Uppgiftsorkestration — JOB / STEP",desc:"Intelligent automatiseringssystem som ersätter mänskliga operatörer i övervakningsrutiner. Skapat via prompter på naturligt språk — ingen kod, ingen programmering.",type:"capabilities",items:[{label:"JOB (uppgift)",detail:"Övervakningsenhet som läser 1 eller N kameror/kanaler och agerar utifrån definierade villkor"},{label:"STEP (steg)",detail:"Varje JOB består av flera kedjade steg; resultatet av en kamera (output) matar nästa (input)"},{label:"Flera källor per steg",detail:"Varje STEP kan aktivera 1 eller flera kameror och/eller 1 eller flera ljudkanaler"},{label:"Intelligent kedning",detail:"Kognitiva beroenden mellan steg; flödet ändras baserat på föregående resultat"},{label:"Inbyggda villkorliga beslut",detail:"Grenar, avbrott, upprepning eller eskalering baserat på faktiskt resultat"},{label:"Prompt per kanal",detail:"Varje kamera eller ljudkanal får en specifik prompt inom samma JOB (körning, larm och negativt)"},{label:"Schemaläggning",detail:"Körning på schemalagda dagar och tider, med definierad eller kontinuerlig varaktighet"},{label:"Omedelbar aktivering/deaktivering",detail:"Ingen omkonfigurering krävs"},{label:"Uppgiftsversionshantering",detail:"Historik av konfigurationer och prompter"},{label:"Skapad av icke-tekniker",detail:"Operatörer utan teknisk kunskap skapar kompletta JOBs via gränssnitt med intelligent agent"}],params:[{param:"JOB-skapande",value:"Naturligt språk (text eller röst) — ingen kod"},{param:"Kedning",value:"STEP N använder kognitivt resultat från STEP N-1"},{param:"Källor per STEP",value:"1 eller flera kameror + 1 eller flera ljudkanaler"},{param:"Schemaläggning",value:"Datum, tid, varaktighet och upprepning konfigurerbara"}]},{id:"s4",title:"1.4 Detektions- och Klassificeringsförmågor",type:"grouped",groups:[{label:"Videobaserad detektion (datorseende / multimodal)",items:["Identifiering av relevanta situationer och åtgärder per konfigurerade prompter","Igenkänning av intressepersoner — bevakningslista med automatisk händelsekoppling","Personräkning med villkorliga utlösare (mer än X / mindre än X / exakt X)","Spårning av 1 eller flera individer/fordon över tid","Multi-kameraspårning med återidentifiering — följer förflyttning mellan kameror A → N → B","Ruttavvikelsedetektion och kränkning av förväntad bana","Avläsning av registreringsskyltar, skyltar och textinnehåll synligt i kameran","Identifiering av konfigurerbara handgester och teckenspråksgester (när definierat i prompt)","Detektion av känslomässigt tillstånd och förkonflikts kroppsspråk"]},{label:"Ljudbaserad detektion (tal / ljud / multimodal)",items:["Realtids- och inspelad ljudanalys med transkription (STT) när tillämpligt","Diarisering — talarsekreation och -identifiering med sammanfattning per talare och hela konversationssammanfattning","Detektion av uttalade nyckelord per parametrering","Detektion av konfigurerbara fraser och semantiska mönster","Detektion av talsmönster som indikerar händelser — brådska, konflikt, upprepning","Markering av relevanta utdrag för revision"]},{label:"Larmsystem",items:["Larm vid uppfyllt villkor — t.ex.: 'grupp med X individer detekterad vid punkt A'","Larm vid ICKE uppfyllt villkor — t.ex.: 'individ passerade inte kamera Y inom tidsram T'","Larm med passagesekvenslogik — k
45onfigurerbart flerpoints-arbetsflöde","Konfigurerbara utlösare, tidsfönster och korrelationskriterier","Konfigurerbara allvarlighetsnivåer, mottagare och meddelandekanaler","Bevis kopplade till larm — bildrutor, videoklipp, ljudsegment","Registrering av larmets livscykel — generering, dirigering, mottagning och stängning"]}]},{id:"s5",title:"1.5 Kontextualisering och Bevisgenerering",type:"capabilities",items:[{label:"Automatisk kontextuell beskrivning",detail:"Genererad på naturligt språk för varje detekterad händelse"},{label:"Strukturerade metadata",detail:"Källa, datum/tid, logisk plats, händelsetyp, allvarlighetsgrad"},{label:"Automatisk korrelation",detail:"Samma individ, samma område, samma intervall — över flera källor"},{label:"Bevisextraktion",detail:"Bildrutor, videoklipp, ljudsegment, igenkänd text"},{label:"Inferensspårbarhet",detail:"Loggar och revision av alla detekteringar"},{label:"Operativa rapporter",detail:"Fullständigt revisionsspår"}]},{id:"s6",title:"1.6 Drift på Naturligt Språk",desc:"Vilken operatör som helst — utan teknisk utbildning — skapar, konfigurerar och driver kompletta JOBs med text eller röst. Ingen programmering, skript eller externa verktyg.",type:"capabilities",items:[{label:"Frågor på naturligt språk",detail:"Frågor med kontextualiserade svar"},{label:"Text- och röstkommandon",detail:"Skapande, redigering och aktivering av uppgifter"},{label:"Fullständig konfiguration via prompt",detail:"Övervakning, larm, utlösare och mottagare"},{label:"Styrningskontroller",detail:"Bekräftelse för kritiska åtgärder, profilbaserade begränsningar"},{label:"Revisionsspår",detail:"Registrering av alla kommandon och ändringar"}]},{id:"s7",title:"1.7 Externa Integrationer — API och Webhook",type:"capabilities",items:[{label:"Automatisk webhook-aktivering",detail:"Externa API-anrop baserade på definierade villkor"},{label:"Konfiguration av icke-tekniker",detail:"Via prompt på naturligt språk"}
45,{label:"Strukturerad payload",detail:"Metadata och bevis i JSON"},{label:"Autentisering av externa anrop",detail:"Tokens, nycklar, signaturer och behörighetslistor"},{label:"Förfrågningsrevision",detail:"Fullständig logg över alla externa anrop"},{label:"Felhantering",detail:"Återförsök, köer och loggar"},{label:"Interoperabilitet",detail:"Instrumentpaneler, meddelanden, registrerings- och hanteringssystem"}],params:[{param:"Protokoll",value:"REST API + Webhooks"},{param:"Payload",value:"Strukturerad JSON med metadata, bevis och sammanhang"},{param:"Autentisering",value:"Tokens, nycklar, signaturer och behörighetslistor"},{param:"Revision",value:"Fullständig logg över alla externa anrop"}]},{id:"s8",title:"1.8 Förbrukningsstatistik och Kostnadshantering",type:"capabilities",items:[{label:"Statistik per JOB/STEP",detail:"Detaljerad registrering och tillgänglighet"},{label:"Statistik per kamera/ljudkanal",detail:"Individualiserad förbrukning per källa"},{label:"Statistik per användare/profil",detail:"Användningsspårning per operatör"},{label:"Token- och förfrågningsräkning",detail:"Uppskattningar och verkliga värden med latens"},{label:"Kostnader per dimension",detail:"JOB, kamera och användare"},{label:"Kvoter och kostnadsställen",detail:"Stöd för kvoter och avdelningssegregering"}]}
45,{id:"s9",title:"1.9 Hårdvarukrav",type:"params",params:[{param:"GPU",value:"Krävs ej — ingen av de tre plattformarna"},{param:"GPU (F.A.S.T.-AI)",value:"Används för vissa komplexa trafikbrott och SBC-lösning för olycksprevention på motorvägar"},{param:"Proprietär hårdvara",value:"Krävs ej — integreras med befintlig infrastruktur"},{param:"Kameror",value:"Inget byte — kompatibelt med alla installerade enheter"},{param:"Stöd för OS",value:"Windows (inbyggd kompatibilitet)"},{param:"Driftsättning",value:"On-premises, publik/privat molntjänst (nationellt territorium) eller hybrid"},{param:"Aktivering",value:"Dagar, inte månader — pilot driftsättbar inom 7 arbetsdagar"}]},{id:"s10",title:"1.10 Informationssäkerhet, Styrning och Dataskydd",type:"capabilities",items:[{label:"RBAC-åtkomstkontroll",detail:"Funktionssegregering och minsta behörighet"},{label:"Fullständiga revisionsspår",detail:"Driftsloggar, kommandon, konfigurationsändringar och prompter"},{label:"Dataskydd",detail:"Under transport och i vila"},{label:"Lagrings- och raderingspolicyer",detail:"Pseudonymisering/anonymisering när tillämpligt"},{label:"Åtkomstprofilhantering",detail:"Operativa begränsningar per nivå"},{label:"GDPR/LGPD-efterlevnad",detail:"Minimering, ändamål, nödvändighet och ansvarsskyldighet"},{label:"Autentiseringsuppgifter-lagring",detail:"Windows Credential Manager/DPAPI eller likvärdigt — klartext-lagring förbjuden"}]},{id:"s11",title:"1.11 Tillgänglighet och Operativ Kontinuitet",type:"capabilities",items:[{label:"24×7-drift",detail:"Kontinuerlig övervakning utan avbrott"},{label:"Automatisk återhämtning",detail:"Strömåterupptagning vid fel utan ingripande"},{label:"Anslutningsmisslyckande-motståndskraft",detail:"Ombearbetning av inspelat innehåll"},{label:"Köer och ombearbetning",detail:"Täckningsgaranti utan luckor"},{label:"Hög tillgänglighet",detail:"Redundans, replikering och balansering när konfigurerade"}]},{id:"s12",title:"1.12 Integration med Privat Kooperativt Nätverk",desc:"Exklusiv kapacitet i AiQuimist-ekosystemet: privata kameror från frivilliga användare deltar automatiskt i offentliga sökningar — utan att sända video, utan att öppna nätverksportar.",type:"capabilities",items:[{label:"Gratis distribution",detail:"Windows-lösning distribuerad till privata användare nationellt"},{label:"Parkopplingsmekanism",detail:"Aktiveringskod, enhetslänkning och återkallelse"},{label:"Enbart auktoriserade endpoints",detail:"Enbart auktoriserade endpoints kan konsumera eller publicera data/händelser"},{label:"Lokal detektion och avisering",detail:"Analys sker på den privata användarens dator"},{label:"Matchningsavisering",detail:"Automatisk till central plattform vid bevakningslistematchning"},{label:"Strukturerat larm",detail:"Individbild med overlay, datum/tid, kamera, fullständig adress, GPS, konfidensnivå, identifierare"},{label:"Re-ID-algoritmer",detail:"Återidentifiering och, när tillämpligt och auktoriserat, ansiktsigenkänning"},{label:"Frivilligt deltagande",detail:"Användaren bestämmer om samarbete ska aktiveras och vilka kameror som deltar"},{label:"Privacy by design",detail:"Inga öppna portar, inga kontinuerligt sända strömmar"},{label:"Full GDPR/LGPD-efterlevnad",detail:"Lokal analys, delning av enbart relevant resultat"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Institutionell intelligens för offentliga operationer och verksamhetskritiska miljöer",sections:[{title:"2.1 Fokus och Operativt Omfång",desc:"Plattform avsedd för den offentliga, institutionella och höggravitationssektorn. Verkar på storskaliga kameranätverk.",type:"list",items:["Kommuner, regionala och federala regeringar","Poliskårer, kommunal ordningsvakt och säkerhetsmyndigheter","Integrerade lednings- och kontrollcenter (CIOPs)","Fängelser och kriminalvårdsanstalter","Flygplatser, hamnar och terminaler","Gränser och nationell kritisk infrastruktur","Offentliga företag och stora privata företag med komplexa verksamheter","Stora privata företag: banker, logistik och andra"]},{title:"2.2 Exklusiv Infrastruktur",type:"params",params:[{param:"Körs på",value:"Kundens egna servrar (on-premise)"},{param:"Datasäkerhet",value:"100% internt — ingen information exponerad för internet"},{param:"GPU",value:"Krävs ej"},{param:"Servrar",value:"Konventionella — dedikerade till databas och simultant kameraavläsning"},{param:"Skala",value:"Stora institutionella nätverk — dussintals till tusentals kameror"}]},{title:"2.3 Specifika Detekteringar",type:"list",items:["Misstänkta rörelser i perimetrar, åtkomstpunkter och kritiska miljöer","Beteenden oförenliga med känsliga områden","Intrång och obehöriga åtkomstförsök","Konflikter och våldsamma situationer","Flyktförsök i förvaringsinrättningar","Närvaro av vapen","Övergivna föremål på riskplatser","Plötsliga förändringar i beteendemönster","Onormal folksamling vid kritiska pu
45nkter","Risksituationer i verksamhetskritiska miljöer — flygplatser, gränser, fängelser","Temporal Motor: kör prompt och systemet fortsätter utan mänskligt ingripande"]},{title:"2.4 Kooperativt Nätverkskoordinering",type:"list",items:["Utlöser sökningar och spårningar som sprids över hela det offentliga och kooperativa privata nätverket","Tar emot automatiska meddelanden från Perceptrum vid bevakningslistematchningar","Koordinerar integrerade operationer mellan offentligt, trafikutrymme (F.A.S.T.) och privat (Perceptrum)","Centraliserar larm, bevis och spårningsspår för hela det integrerade nätverket"]},{title:"2.5 Affärsmodell",type:"params",params:[{param:"Licensiering",value:"Institutionell — kontrakt med offentlig myndighet eller företag"},{param:"Driftsättning",value:"On-premise på kundens servrar"},{param:"Support",value:"Onboarding och konfiguration inkluderade"},{param:"Pilot",value:"Driftsättbar inom 7 arbetsdagar på befintlig infrastruktur"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Multimodal intelligens för privat miljö — från hemmet till storföretaget",sections:[{title:"2.6 Fokus och Operativt Omfång",desc:"Plattform avsedd för den privata, kommersiella, bostads- och bostadsrättssektorn. Demokratiserar tillgången till avancerad övervakningsintelligens.",type:"list",items:["Bostäder och hus","Bostadsrätts- och hyresfastigheter","Små och medelstora företag","Detaljhandelskedjor och butiker","Banker och finansiella institutioner","Köpcentrum och parkeringsplatser","Privata skolor och universitet","Privata sjukhus och kliniker","Lager och logistikanläggningar","Gårdar och lantliga fastigheter"]},{title:"2.7 Exklusiv Infrastruktur",type:"params",params:[{param:"Körs på",value:"Användarens personliga dator (hem eller företag)"},{param:"Minimumprocessor",value:"Intel i5 eller bättre"},{param:"GPU",value:"Krävs ej"},{param:"Lagring",value:"Diskutrymme för temporära bilder under analys"},{param:"DVR/NVR",value:"Inbyggd avläsning för sökningar i tidigare inspelningar"},{param:"Aktivering",value:"Minuter — kameraimport via CSV och omedelbar start"}]},{title:"2.8 Specifika Detekteringar",type:"list",items:["Mönsteravvikande rörelser vid ovanliga tider eller platser","Stöld, rån och överfall — typiska subtraktionsbeteenden","Obehörig närvaro i begränsade områden","Perimeterrisk och intrångsförsök","Hjälprop — nödgester och -beteenden","Övergivna misstänkta föremål","Operativa avvikelser i processer (logistik, lager, leveranser)","Automatiserad processverifiering: fordon, registreringsskylt, leverantör, volymräkning","Konfigurerbara händelser per miljötyp — profil per installation","Lokaliserar överträdare av skyddsorder (restraining orders osv.)"]},{title:"2.9 Frivilligt Samarbete (exklusivt Perceptrum)",type:"list",items:["Frivillig samarbetsflagga — ägaren bestämmer om aktivering och vilka kameror deltar","Vid aktivering: kameran deltar i sökningar utfärdade av Perceptrum Corporate eller F.A.S.T.-AI","Analys utförd lokalt — på den privata användarens dator","Ingen kontinuerlig videoström skickad till det offentliga centret","Inga externt öppnade nätverksportar","Enbart resultatet (matchning) skickas till centret — inte bilderna","Larm inkluderar: individbild med overlay, datum/tid, kamera, adress, GPS, konfidensnivå","Deltagande kan återkallas när som helst av ägaren","Full GDPR/LGPD-efterlevnad — privacy by architectural design"]},{title:"2.10 Affärsmodell",type:"params",params:[{param:"Gratis version",value:"Grundläggande övervakningsfunktioner — kostnadsfritt, inget kreditkort"},{param:"Premiumversion",value:"Full tillgång — prisvärd månadsvis licens"},{param:"Offentligt samarbete",value:"Gratis för den privata användaren — kostnad betalas av offentlig myndighet per förfrågan"},{param:"Kostnad för staten",value:"Ören per sökning — betalt enbart när sökningen aktiveras"},{param:"Distribution",value:"Distribuerbar till privata användare nationellt"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Territoriell intelligens, mobilitet och dynamisk avläsning av stadsrummet",sections:[{title:"2.11 Fokus och Operativt Omfång",desc:"Plattform avsedd för mobilitet, trafik, stadsplanering och dynamisk territoriell tolkning.",type:"list",items:["Kommunala trafik- och mobilitetsavdelningar","Stadliga driftscentra (COUs)","Avdelningar för offentliga arbeten och stadsplanering","Trafikövervakningsorgan","Arrangörer av stora offentliga evenemang","Motorvägs- och parkeringskoncessionärer","Offentliga säkerhetsstyrkor — fordonsuppföljning och vägoperationer"]}
45,{title:"2.12 Exklusiv Infrastruktur",type:"params",params:[{param:"Körs pÃ¥",value:"Servrar hos företag ansvariga för trafik och stadsplanering"},{param:"GPU",value:"Krävs ej (utom komplex trafikbrottsanalys och SBC-olycksprevention pÃ¥ motorvägar)"},{param:"Lagring",value:"LÃ¥g — läser direkt frÃ¥n NAS, DVR, NVR eller befintlig streaming"},{param:"Kompatibla källor",value:"Offentliga vägkameror, trafikljus, fasta och mobila radarer — alla standarder"},{param:"Skala",value:"Fullständigt stadsvägnätverk — stadsdelar, korridorer, städer"}]},{title:"2.13 Specifika Detekteringar",type:"list",items:["Trafikbrott — automatisk bötesräkning med bevis","Olyckor och pÃ¥körningar av fotgängare — detektion och omedelbar avisering","Trafikköbildning — tidig detektion innan kollaps","Vägblockader och omledningar","Oreglerad användning av offentlig plats","Atypiska händelser som pÃ¥verkar stadsrörligheten","Operativa risker pÃ¥ vägar och strategiska omrÃ¥den","Flödesmönster, kritiska zoner och Ã¥terkommande händelser","SpÃ¥rning av misstänkta fordon — registreringsskylt, modell, färg, rutt","Personkoncentration och -täthet pÃ¥ vägar och offentliga platser","Automatisk förföljelse om operatören begär det"]},{title:"2.14 Territoriell Intelligens (exklusivt F.A.S.T.-AI)",type:"list",items:["Analys av fordons- och fotgängarflödesmönster per tid, dag och zon","Identifiering av kritiska zoner och incidentÃ¥terkommanden","Stöd för väg- och stadsplanerarbeslut med verklig data","Realtids-instrumentpanel för territoriell förvaltning för ministrar och chefer","Stöd för hantering av stora evenemang — densitet, flöde, upploppsrisker","Kontinuerlig generering av strategisk information om territoriellt beteende"]},{title:"2.15 Affärsmodell",type:"params",params:[{param:"Licensiering",value:"Kommunal / regional — kontrakt med offentlig mobilitets- eller säkerhetsmyndighet"},{param:"Driftsättning",value:"Kommunens eller koncessionärens servrar — pÃ¥ befintlig infrastruktur"},{param:"Direkt ROI",value:"Intäkter frÃ¥n automatiska böter överstiger plattformskostnaden"},{param:"Pilot",value:"Driftsättbar inom 7 arbetsdagar pÃ¥ befintliga offentliga kameror"}]}]}],comparison:{title:"Jämförande Sammanfattning av de Tre Plattformarna",rows:[{feature:"Huvudfokus",drakon:"Offentlig sektor och verksamhetskritisk",perceptrum:"Privat och bostadssektor",fast:"Trafik och stadsplanering"},{feature:"Körs pÃ¥",drakon:"Kundens servrar (on-premise)",perceptrum:"Personlig dator (i5+)",fast:"Kommunala/koncessionärservrar"},{feature:"GPU krävs",drakon:"❌ Nej",perceptrum:"❌ Nej",fast:"❌ Nej (utom SBC)"},{feature:"Kamerabyte",drakon:"❌ Krävs ej",perceptrum:"❌ Krävs ej",fast:"❌ Krävs ej"},{feature:"Live-analys (24/7)",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Inspelad efterbearbetning",drakon:"✅ Ja (DVR/NVR/NAS)",perceptrum:"✅ Ja (DVR/NVR/NAS)",fast:"✅ Ja (DVR/NVR/NAS)"},{feature:"JOBs pÃ¥ naturligt sprÃ¥k",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"API/Webhook-integration",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Multi-kameraspÃ¥rning",drakon:"✅ Ja",perceptrum:"✅ Ja",fast:"✅ Ja"},{feature:"Privat kooperativt nätverk",drakon:"✅ Koordinerar sökningar",perceptrum:"✅ Deltar (frivilligt)",fast:"✅ Koordinerar vägsökningar"},{feature:"Gratisversion tillgänglig",drakon:"❌ Nej",perceptrum:"✅ Ja (bas)",fast:"❌ Nej"},{feature:"PoC tillgänglig",drakon:"✅ Ja",perceptrum:"❌ Nej",fast:"✅ Ja"},{feature:"Automatiska böter",drakon:"❌ Inte fokus",perceptrum:"❌ Inte fokus",fast:"✅ Ja — automatisk generering"},{feature:"Territoriell intelligens",drakon:"Institutionellt-operativ",perceptrum:"Privat-operativ",fast:"✅ Territoriell och urban"},{feature:"GDPR/LGPD-efterlevnad",drakon:"✅ Ja",perceptrum:"✅ Ja (by design)",fast:"✅ Ja"},{feature:"Pilotaktivingstid",drakon:"Upp till 7 arbetsdagar",perceptrum:"Minuter",fast:"Upp till 7 arbetsdagar"}]}},ru:{hero:{badge:"Технические Спецификации",title:"Технические Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Структурированный технический документ для процессов оценки, закупки и интеграции. Ð
45’се спецификации трёх платформ AiQuimist — общие возможности и эксклюзивные отличия.",part1:"ЧАСТЬ 1 — Core Specs",part1sub:"Функции, присутствующие на всех трёх платформах",part2:"ЧАСТЬ 2 — Эксклюзивные Specs",part2sub:"Специфические для каждого продукта функции и отличия",part3:"Сравнительная Сводка"},copy:"Копировать таблицу",copied:"Скопировано!",yes:"✅ Да",no:"❌ Нет",feature:"Характеристика",capacity:"Возможность",detail:"Детали",param:"Параметр",value:"Значение",sections:[{id:"s1",title:"1.1 Движок ИИ — Универсальная Мультимодальная Интерпретация",desc:"Платформа AiQuimist, которая одновременно анализирует видео, аудио, текст и изображения для извлечения реального контекста и выявления значимых ситуаций.",type:"capabilities",items:[{label:"🎥 Видео",detail:"Анализ в реальном времени с живых камер и записей. Распознаёт сцены, объекты, поведение, движения и паттерны."},{label:"🔊 Аудио",detail:"Обнаружение речи, ключевых слов, семантических паттернов, тона голоса, срочности, конфликтов и настраиваемых звуков интереса."},{label:"📄 Текст и Изображение",detail:"Загрузка и анализ файлов (видео, изображение, аудио, текст). Извлечение доказательств, метаданных и кросс-корреляция источников."},{label:"Нативная темпоральная обработка",detail:"Анализ плавности движения, а не только отдельных кадров"},{label:"Массивное контекстное окно",detail:"Сохраняет память о длительных периодах видео/аудио для корреляции событий"},{label:"Анализ в реальном времени (живое)",detail:"Потоки с камер и аудиоканалы 24×7"},{label:"Постобработка",detail:"Те же критерии обнаружения применяются к архивам и записанным файлам: NVR, DVR, NAS"},{label:"Загрузка цифровых файлов",detail:"Видео, изображение, аудио и текст для коррелированного мультимодального анализа"},{label:"Определение эмоционального состояния",detail:"Чтение языка тела, тона голоса и поведенческих сигналов"},{label:"Абстракция поставщиков ИИ",detail:"Настраиваемые конечные точки, учётные данные и лимиты; смена поставщика с минимальным воздействием"}]},{id:"s2",title:"1.2 Приём Камер и Источников",type:"mixed",items:[{label:"Универсальная совместимость",detail:"Любая камера, независимо от бренда, производителя, модели или поколения"},{label:"Аналоговое и цифровое",detail:"Замена оборудования не требуется"}
45,{label:"Основной протокол",detail:"RTSP, ONVIF и эквивалентные HTTP/файловые методы"},{label:"DVR / NVR / NAS",detail:"Чтение оборудования, уже установленного у клиента"},{label:"Массовый импорт",detail:"Excel или CSV с метаданными камер (IP, производитель, пользователь, пароль, порт и т.д.)"},{label:"Автономная работа",detail:"Полностью локально через внутреннюю сеть — без передачи потоков в интернет"},{label:"Сетевая безопасность",detail:"Никаких открытых портов для удалённого доступа или конфигурации NAT/туннелей"},{label:"Масштабируемость",detail:"От 1 до N камер/аудиоканалов параллельно"},{label:"Доступность потоков",detail:"Мониторинг и автоматическое восстановление после сбоев"}]},{id:"s3",title:"1.3 Оркестрация Задач — JOB / STEP",desc:"Интеллектуальная система автоматизации, заменяющая операторов-людей в рутинах наблюдения. Создаётся с помощью подсказок на естественном языке — без кода, без программирования.",type:"capabilities",items:[{label:"JOB (задача)",detail:"Единица мониторинга, считывающая 1 или N камер/каналов и действующая по заданным условиям"},{label:"STEP (шаг)",detail:"Каждый JOB состоит из нескольких связанных шагов; результат одной камеры (выход) питает следующую (вход)"},{label:"Несколько источников на шаг",detail:"Каждый STEP может активировать 1 или более камер и/или 1 или более аудиоканалов"},{label:"Интеллектуальное связывание",detail:"Когнитивная зависимость между шагами; поток меняется в зависимости от предыдущего результата"},{label:"Нативные условные решения",detail:"Ветвления, прерывание, повторение или эскалация на основе реального результата"},{label:"Подсказка на канал",detail:"Каждая камера или аудиоканал получает специфическую подсказку в рамках того же JOB"},{label:"Планирование",detail:"Выполнение в запланированные дни и время, с заданной или непрерывной продолжительностью"},{label:"Мгновенная активация/деактивация",detail:"Перенастройка не требуется"},{label:"Версионирование задач",detail:"История конфигураций и подсказок"},{label:"Создание нетехническими пользователями",detail:"Операторы без технических знаний создают полные JOBs через интерфейс с интеллектуальным агентом"}],params:[{param:"Создание JOBs",value:"Естественный язык (текст или голос) — без кода"},{param:"Связывание",value:"STEP N использует когнитивный результат STEP N-1"},{param:"Источники на STEP",value:"1 или более камер + 1 или более аудиоканалов"},{param:"Планирование",value:"Дата, время, продолжительность и периодичность настраиваются"}]},{id:"s4",title:"1.4 Возможности Обнаружения и Классификации",type:"grouped",groups:[{label:"Обнаружение на основе видео (компьютерное зрение / мультимодальное)",items:["Выявление значимых ситуаций и действий согласно настроенным подсказкам","Распознавание лиц, представляющих интерес — список наблюдения с автоматической привязкой событий","Подсчёт людей с условными триггерами (больше X / меньше X / ровно X)","Слежение за 1 или несколькими людьми/транспортными средствами во времени","Мультикамерное слежение с повторной идентификацией — отслеживает перемещение между камерами A → N → B","Обнаружение отклонения от маршрута и нарушения ожидаемой траектории","Считывание номерных знаков, вывесок и текстового содержимого на камере","Распознавание настраиваемых жестов руки и жестового языка (при определении в подсказке)","Обнаружение эмоционального состояния и предконфликтного языка тела"]},{label:"Обнаружение на основе аудио (речь / звуки / мультимодальное)",items:["Анализ живого и записанного аудио с транскрипцией (STT) при необходимости","Диаризация — разделение и идентификация говорящих с резюме по каждому говорящему и всей беседе","Обнаружение произнесённых ключевых слов по параметризации","Обнаружение настраиваемых фраз и семантических паттернов","Обнаружение речевых паттернов, указ
45ывающих на события — срочность, конфликт, повторение","Выделение значимых фрагментов для аудита"]},{label:"Система оповещений",items:["Оповещение при выполненном условии — напр.: 'группа из X человек обнаружена в точке A'","Оповещение при НЕ выполненном условии — напр.: 'человек не прошёл камеру Y в течение времени T'","Оповещения с логикой последовательности прохождений — настраиваемый многоточечный рабочий процесс","Настраиваемые триггеры, временны́е окна и критерии корреляции","Настраиваемые уровни серьёзности, получатели и каналы уведомлений","Доказательства, прикреплённые к оповещениям — кадры, видеоклипы, аудиосегменты","Запись жизненного цикла оповещения — генерация, маршрутизация, получение и закрытие"]}]},{id:"s5",title:"1.5 Контекстуализация и Генерация Доказательств",type:"capabilities",items:[{label:"Автоматическое контекстное описание",detail:"Генерируется на естественном языке для каждого обнаруженного события"},{label:"Структурированные метаданные",detail:"Источник, дата/время, логическое местоположение, тип события, серьёзность"},{label:"Автоматическая корреляция",detail:"Тот же человек, та же зона, тот же интервал — по нескольким источникам"},{label:"Извлечение доказательств",detail:"Кадры, видеоклипы, аудиосегменты, распознанный текст"},{label:"Отслеживаемость выводов",detail:"Журналы и аудит всех обнаружений"},{label:"Операционные отчёты",detail:"Полный аудиторский след"}]},{id:"s6",title:"1.6 Работа на Естественном Языке",desc:"Любой оператор — без технической подготовки — создаёт, настраивает и управляет полными JOBs, используя текст или голос. Никакого программирования, скриптов или внешних инструментов.",type:"capabilities",items:[{label:"Запросы на естественном языке",detail:"Вопросы с контекстуализированными ответами"},{label:"Текстовые и голосовые команды",detail:"Создание, редактирование и активация задач"},{label:"Полная настройка через подсказку",detail:"Мониторинг, оповещения, триггеры и получатели"},{label:"Контроль управления",detail:"Подтверждение для критических действий, ограничения по профилю"},{label:"Аудиторский след",detail:"Запись всех команд и изменений"}]},{id:"s7",title:"1.7 Внешние Интеграции — API и Webhook",type:"capabilities",items:[{label:"Автоматический запуск вебхуков",detail:"Вызовы внешних API на основе заданных условий"},{label:"Настройка нетехническими пользователями",detail:"Через подсказку на естественном языке"},{label:"Структурированная нагрузка",detail:"Метаданные и доÐ
45ºÐ°Ð·Ð°Ñ‚ельства в JSON"},{label:"Аутентификация внешних вызовов",detail:"Токены, ключи, подписи и списки разрешений"},{label:"Аудит запросов",detail:"Полный журнал всех внешних вызовов"},{label:"Обработка ошибок",detail:"Повторные попытки, очереди и журналы"},{label:"Интероперабельность",detail:"Панели мониторинга, обмен сообщениями, системы регистрации и управления"}],params:[{param:"Протокол",value:"REST API + Webhooks"},{param:"Нагрузка",value:"Структурированный JSON с метаданными, доказательствами и контекстом"},{param:"Аутентификация",value:"Токены, ключи, подписи и списки разрешений"},{param:"Аудит",value:"Полный журнал всех внешних вызовов"}]},{id:"s8",title:"1.8 Метрики Потребления и Управление Затратами",type:"capabilities",items:[{label:"Метрики по JOB/STEP",detail:"Детальная запись и доступность"},{label:"Метрики по камере/аудиоканалу",detail:"Индивидуализированное потребление на источник"},{label:"Метрики по пользователю/профилю",detail:"Отслеживание использования по оператору"},{label:"Подсчёт токенов и запросов",detail:"Оценки и реальные значения с задержкой"},{label:"Затраты по измерению",detail:"JOB, камера и пользователь"},{label:"Квоты и центры затрат",detail:"Поддержка квот и разделения по отделам"}]},{id:"s9",title:"1.9 Требования к Оборудованию",type:"params",params:[{param:"GPU",value:"Не требуется — ни одна из трёх платформ"},{param:"GPU (F.A.S.T.-AI)",value:"Используется для некоторых сложных нарушений и решения SBC для предотвращения аварий на шоссе"},{param:"Проприетарное оборудование",value:"Не требуется — интегрируется с существующей инфраструктурой"},{param:"Камеры",value:"Без замены — совместимо с любым установленным оборудованием"},{param:"Поддерживаемая ОС",value:"Windows (нативная совместимость)"},{param:"Развёртывание",value:"On-premises, публичное/частное облако (национальная территория) или гибрид"},{param:"Активация",value:"Дни, не месяцы — пилот развёртывается в течение 7 рабочих дней"}]},{id:"s10",title:"1.10 Информационная Безопасность, Управление и Защита Данных",type:"capabilities",items:[{label:"Контроль доступа RBAC",detail:"Разделение функций и наименьший привилегий"},{label:"Полные аудиторские следы",detail:"Операционные журналы, команды, изменения конфигурации и подсказки"},{label:"Защита данных",detail:"В транзите и в покое"},{label:"Политики хранения и удаления",detail:"Псевдонимизация/анонимизация при необходимости"},{label:"Управление профилями доступа",detail:"Операционные ограничения по уровню"},{label:"Соответствие GDPR/LGPD",detail:"Минимизация, цель, необходимость и ответственность"}
45,{label:"Хранение учётных данных",detail:"Windows Credential Manager/DPAPI или эквивалент — хранение открытого текста запрещено"}]},{id:"s11",title:"1.11 Доступность и Операционная Непрерывность",type:"capabilities",items:[{label:"Работа 24×7",detail:"Непрерывный мониторинг без перебоев"},{label:"Автоматическое восстановление",detail:"Возобновление потока после сбоев без вмешательства"},{label:"Устойчивость к потере связи",detail:"Повторная обработка записанного контента"},{label:"Очереди и повторная обработка",detail:"Гарантия покрытия без пробелов"},{label:"Высокая доступность",detail:"Резервирование, репликация и балансировка при настройке"}]},{id:"s12",title:"1.12 Интеграция с Частной Кооперативной Сетью",desc:"Эксклюзивная возможность экосистемы AiQuimist: частные камеры добровольных пользователей автоматически участвуют в публичных поисках — без передачи видео, без открытия сетевых портов.",type:"capabilities",items:[{label:"Бесплатное распространение",detail:"Решение для Windows, распространяемое частным пользователям по всей стране"},{label:"Механизм сопряжения",detail:"Код активации, привязка и отзыв устройства"},{label:"Только авторизованные конечные точки",detail:"Только авторизованные конечные точки могут использовать или публиковать данные/события"},{label:"Локальное обнаружение и уведомление",detail:"Анализ происходит на компьютере частного пользователя"},{label:"Уведомление о совпадении",detail:"Автоматически на центральную платформу при совпадении со списком наблюдения"},{label:"Структурированное оповещение",detail:"Изображение человека с наложением, дата/время, камера, полный адрес, GPS, уровень доверия, идентификатор"},{label:"Алгоритмы Re-ID",detail:"Повторная идентификация и, при необходимости и авторизации, распознавание лиц"},{label:"Добровольное участие",detail:"Пользователь решает, активировать ли сотрудничество и какие камеры участвуют"},{label:"Конфиденциальность по проекту",detail:"Никаких открытых портов, никаких непрерывно передаваемых потоков"},{label:"Полное соответствие GDPR/LGPD",detail:"Локальный анализ, передача только соответствующего результата"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Институциональный интеллект для публичных операций и критически важных сред",sections:[{title:"2.1 Фокус и Операционный Охват",desc:"Платформа для государственного, институционального и высококритичного корпоративного секторов. Работает с крупными сетями камер.",type:"list",items:["Муниципалитеты, региональные и федеральные правительства","Полицейские силы, муниципальные охранники и службы безопасности","Интегрированные центры командования и управления (CIOPs)","Тюрьмы и исправительные учреждения","Аэропорты, порты и терминалы","Границы и объекты критической национальной инфраструктуры","Государственные предприятия и крупные частные корпорации со сложными операциями","Крупные частные компании: банки, логистика и другие"]},{title:"2.2 Эксклюзивная Инфраструктура",type:"params",params:[{param:"Работает на",value:"Собственных серверах клиента (on-premise)"},{param:"Безопасность данных",value:"100% внутренняя — никакая информация не выходит в интернет"},{param:"GPU",value:"Не требуется"},{param:"Серверы",value:"Обычные — выделенные для базы данных и одновременного считывания камер"},{param:"Масштаб",value:"Крупные институциональные сети — от десятков до тысяч камер"}]},{title:"2.3 Специфические Обнаружения",type:"list",items:["Подозрительные движения в периметрах, точках доступа и критических средах","Поведение, несовместимое с чувствительными зонами","Вторжения и попытки несанкционированного доступа","Конфликты и насильственные ситуации","Попытки побега в учреждениях содержания под стражей","Наличие оружия","Брошенные предметы в зонах риска","Резкие изменения поведенческих паттернов","Аномальное скопление людей в критических точках","Рисковые ситуации в критически важных средах — аэропорты, границы, тюрьмы","Темпоральный Движок: выполняет подсказку и система продолжает работу без вмешательства человека"]},{title:"2.4 Координация Кооперативной Сети",type:"list",items:["Запускает поиски и слеÐ
45¶ÐºÐ¸, распространяющиеся по всей публичной и частной кооперативной сети","Получает автоматические уведомления от Perceptrum при совпадениях со списком наблюдения","Координирует интегрированные операции между публичным, дорожным (F.A.S.T.) и частным пространством (Perceptrum)","Централизует оповещения, доказательства и след отслеживания всей интегрированной сети"]},{title:"2.5 Коммерческая Модель",type:"params",params:[{param:"Лицензирование",value:"Институциональное — контракт с государственным органом или корпорацией"},{param:"Развёртывание",value:"On-premise на серверах клиента"},{param:"Поддержка",value:"Онбординг и настройка включены"},{param:"Пилот",value:"Развёртывается в течение 7 рабочих дней на существующей инфраструктуре"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Мультимодальный интеллект для частной среды — от дома до крупной корпорации",sections:[{title:"2.6 Фокус и Операционный Охват",desc:"Платформа для частного, коммерческого, жилого и кондоминиумного секторов. Демократизирует доступ к передовому мониторинговому интеллекту.",type:"list",items:["Жилые дома и квартиры","Жилые и коммерческие кондоминиумы и здания","Малый и средний бизнес","Розничные сети и магазины","Банки и финансовые учреждения","Торговые центры и парковки","Частные школы и университеты","Частные больницы и клиники","Склады и логистические объекты","Фермы и сельские поместья"]},{title:"2.7 Эксклюзивная Инфраструктура",type:"params",params:[{param:"Работает на",value:"Личном компьютере пользователя (домашнем или корпоративном)"},{param:"Минимальный процессор",value:"Intel i5 или лучше"},{param:"GPU",value:"Не требуется"},{param:"Хранилище",value:"Дисковое пространство для временных изображений в анализе"},{param:"DVR/NVR",value:"Нативное считывание для поиска в предыдущих записях"},{param:"Активация",value:"Минуты — импорт камер через CSV и немедленный запуск"}]},{title:"2.8 Специфические Обнаружения",type:"list",items:["Нестандартные движения в необычное время или в необычных местах","Кражи, грабежи и нападения — типичное поведение хищения","Несанкционированное присутствие в ограниченных зонах","Периметральный риск и попытки вторжения","Просьбы о помощи — жесты и поведение в состоянии дистресса","Брошенные подозрительные предметы","Операционные аномалии в процессах (логистика, инвентарь, доставки)","Автоматизированная проверка процессов: транспортное средство, номерной знак, курьер, подсчёт объёмов","Настраиваемые события по типу среды — профиль для каждой установки","Обнаруживает нарушителей охранных ордеров (запреты на сближение и т.д.)"]},{title:"2.9 Добровольное Сотрудничество (эксклюзивно Perceptrum)",type:"list",items:["Флаг добровольного сотрудничества — владелец решает, активировать ли и какие камеры участвуют","При активации: камера участвует в поисках, выданных Perceptrum Corporate или F.A.S.T.-AI","Анализ выполняется локально — на собственном компьютере частного пользователя","Никакой непрерывной видеотрансляции в публичный центр","Никаких внешне открытых сетевых портов","В центр отправляется только результат (совпадение) — не изображения","Оповещение включает: изображение человека с наложением, дату/время, камеру, адрес, GPS, уровень доверия","Участие отзывается в любое время владельцем","Полное соответствие GDPR/LGPD — конфиденциальность по архитектурному проекту"]},{title:"2.10 Коммерческая Модель",type:"params",params:[{param:"Бесплатная версия",value:"Базовые функции мониторинга — без затрат, без кредитной карты"},{param:"Премиум-версия",value:"Полный доступ — доступная ежемесячная лицензия"},{param:"Публичное сотрудничество",value:"Бесплатно для частного пользователя — стоимость оплачивается государственным органом за запрос"},{param:"Стоимость для государства",value:"Копейки за поиск — оплачивается только при активации поиска"},{param:"Распространение",value:"Распространяемо частным пользователям по всей стране"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Территориальный интеллект, мобильность и динамическое считывание городского пространства",sections:[{title:"2.11 Фокус и Операционный Охват",desc:"Платформа для мобильности, движения, городского планирования и динамической территориальной интерпретации.",type:"list",items:["Муниципальные отделы транспорта и мобильности","Городские операционные центры (COUs)","Департаменты общественных работ и городского планирования","Органы контроля дорожного движения","Организаторы крупных публичных мероприятий","Концессионеры автодорог и парковок","Силы общественной безопасности — отслеживание транспортных средств и дорожные операции"]},{title:"2.12 Эксклюзивная Инфраструктура",type:"params",params:[{param:"Работает на",value:"Серверах компаний, ответственных за трафик и городское планирование"},{param:"GPU",value:"Не требуется (кроме анализа сложных нарушений и SBC предотвращения аварий на шоссе)"},{param:"Хранилище",value:"Малое — читает напрямую с NAS, DVR, NVR или существующего стриминга"},{param:"Совместимые источники",value:"Публичные дорожные камеры, светофоры, стационарные и мобильные радары — любой стандарт"},{param:"Масштаб",value:"Полная городская дорожная сеть — квартал
45ы, коридоры, города"}]},{title:"2.13 Специфические Обнаружения",type:"list",items:["Нарушения ПДД — автоматическое генерирование штрафов с доказательствами","Аварии и наезды на пешеходов — обнаружение и немедленное уведомление","Образование заторов — раннее обнаружение до коллапса","Блокировки и объезды дорог","Незаконное использование общественного пространства","Нетипичные события, влияющие на городскую мобильность","Операционные риски на дорогах и стратегических зонах","Паттерны потоков, критические зоны и рецидивы","Отслеживание подозрительных транспортных средств — номерной знак, модель, цвет, маршрут","Концентрация и плотность людей на дорогах и в общественных местах","Автоматическое преследование по запросу оператора"]},{title:"2.14 Территориальный Интеллект (эксклюзивно F.A.S.T.-AI)",type:"list",items:["Анализ паттернов транспортного и пешеходного потока по времени, дню и зоне","Выявление критических зон и рецидивов инцидентов","Поддержка решений по дорожному и городскому планированию с реальными данными","Панель управления территорией в реальном времени для секретарей и менеджеров","Поддержка управления крупными мероприятиями — плотность, поток, риски беспорядков","Непрерывное генерирование стратегической информации о территориальном поведении"]},{title:"2.15 Коммерческая Модель",type:"params",params:[{param:"Лицензирование",value:"Муниципальное / региональное — контракт с государственным органом мобильности или безопасности"},{param:"Развёртывание",value:"Серверы муниципалитета или концессионера — на существующей инфраструктуре"},{param:"Прямой ROI",value:"Доходы от автоматических штрафов превышают стоимость платформы"},{param:"Пилот",value:"Развёртывается в течение 7 рабочих дней на существующих публичных камерах"}]}]}],comparison:{title:"Сравнительная Сводка Трёх Платформ",rows:[{feature:"Основной фокус",drakon:"Государственный сектор и критически важный",perceptrum:"Частный и жилой сектор",fast:"Трафик и городское планирование"},{feature:"Работает на",drakon:"Серверах клиента (on-premise)",perceptrum:"Личном компьютере (i5+)",fast:"Муниципальных/концессионерских серверах"},{feature:"GPU требуется",drakon:"❌ Нет",perceptrum:"❌ Нет",fast:"❌ Нет (кроме SBC)"},{feature:"Замена камер",drakon:"❌ Не требуется",perceptrum:"❌ Не требуется",fast:"❌ Не требуется"},{feature:"Анализ в реальном времени (24/7)",drakon:"✅ Да",perceptrum:"✅ Да",fast:"✅ Да"},{feature:"Постобработка записей",drakon:"✅ Да (DVR/NVR/NAS)",perceptrum:"✅ Да (DVR/NVR/NAS)",fast:"✅ Да (DVR/NVR/NAS)"},{feature:"JOBs на естественном языке",drakon:"✅ Да",perceptrum:"✅ Да",fast:"✅ Да"},{feature:"Интеграция API/Webhook",drakon:"✅ Да",perceptrum:"✅ Да",fast:"✅ Да"},{feature:"Мультикамерное слежение",drakon:"✅ Да",perceptrum:"✅ Да",fast:"✅ Да"},{feature:"Частная кооперативная сеть",drakon:"✅ Координирует поиски",perceptrum:"✅ Участвует (добровольно)",fast:"✅ Координирует дорожные поиски"},{feature:"Бесплатная версия доступна",drakon:"❌ Нет",perceptrum:"✅ Да (базовая)",fast:"❌ Нет"},{feature:"PoC доступен",drakon:"✅ Да",perceptrum:"❌ Нет",fast:"✅ Да"},{feature:"Автоматические штрафы",drakon:"❌ Не в фокусе",perceptrum:"❌ Не в фокусе",fast:"✅ Да — автоматическая генерация"},{feature:"Территориальный интеллект",drakon:"Институциональный операционный",perceptrum:"Частный операционный",fast:"✅ Территориальный и городской"},{feature:"Соответствие GDPR/LGPD",drakon:"✅ Да",perceptrum:"✅ Да (по проекту)",fast:"✅ Да"},{feature:"Время активации пилота",drakon:"До 7 рабочих дней",perceptrum:"Минуты",fast:"До 7 рабочих дней"}]}},pl:{hero:{badge:"Specyfikacje Techniczne",title:"Specyfikacje Techniczne",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Ustrukturyzowany dokument techniczny dla procesów oceny, zamówień i integracji. Wszystkie specyfikacje trzech platform AiQuimist — wspólne funkcjonalności i wyłączne wyróżniki.",part1:"CZĘŚĆ 1 — Core Specs",part1sub:"Funkcjonalności obecne na wszystkich trzech platformach",part2:"CZĘŚĆ 2 — Wyłączne Specs",part2sub:"Specyficzne dla każdego produktu funkcje i wyróżniki",part3:"Podsumowanie Porównawcze"},copy:"Kopiuj tabelę",copied:"Skopiowano!",yes:"✅ Tak",no:"❌ Nie",feature:"Cecha",capacity:"Możliwość",detail
45:"Szczegół",param:"Parametr",value:"Wartość",sections:[{id:"s1",title:"1.1 Silnik AI — Uniwersalna Multimodalna Interpretacja",desc:"Platforma AiQuimist, która jednocześnie analizuje wideo, audio, tekst i obraz, aby wyodrębnić rzeczywisty kontekst i zidentyfikować istotne sytuacje.",type:"capabilities",items:[{label:"🎥 Wideo",detail:"Analiza w czasie rzeczywistym kamer na żywo i nagrań. Rozpoznaje sceny, obiekty, zachowania, ruchy i wzorce."},{label:"🔊 Audio",detail:"Wykrywanie mowy, słów kluczowych, wzorców semantycznych, tonu głosu, pilności, konfliktów i konfigurowalnych dźwięków zainteresowania."},{label:"📄 Tekst i Obraz",detail:"Przesyłanie i analiza plików (wideo, obraz, audio, tekst). Ekstrakcja dowodów, metadanych i korelacja między źródłami."},{label:"Natywne przetwarzanie temporalne",detail:"Analizuje płynność ruchu, nie tylko izolowane klatki"},{label:"Masywne okno kontekstowe",detail:"Zachowuje pamięć długich okresów wideo/audio do korelacji zdarzeń"},{label:"Analiza w czasie rzeczywistym (na żywo)",detail
45:"Strumienie kamer i kanały audio 24×7"},{label:"Postprzetwarzanie",detail:"Te same kryteria wykrywania stosowane do archiwów i nagranych plików: NVR, DVR, NAS"},{label:"Przesyłanie plików cyfrowych",detail:"Wideo, obraz, audio i tekst do skorelowanej analizy multimodalnej"},{label:"Identyfikacja stanu emocjonalnego",detail:"Odczytywanie mowy ciała, tonu głosu i sygnałów behawioralnych"},{label:"Abstrakcja dostawców AI",detail:"Konfigurowalne punkty końcowe, dane uwierzytelniające i limity; zmiana dostawcy z minimalnym wpływem"}]},{id:"s2",title:"1.2 Pozyskiwanie Kamer i Źródeł",type:"mixed",items:[{label:"Uniwersalna kompatybilność",detail:"Każda kamera, niezależnie od marki, producenta, modelu czy generacji"},{label:"Analogowe i cyfrowe",detail:"Bez wymogu wymiany sprzętu"},{label:"Główny protokół",detail:"RTSP, ONVIF i równoważne metody HTTP/plikowe"},{label:"DVR / NVR / NAS",detail:"Odczyt urządzeń już zainstalowanych u klienta"},{label:"Masowy import",detail:"Excel lub CSV z metadanymi kamer (IP, producent, użytkownik, hasło, port itp.)"},{label:"Autonomiczna praca",detail:"W pełni lokalnie przez sieć wewnętrzną — bez ujawniania strumieni do internetu"},{label:"Bezpieczeństwo sieci",detail:"Brak otwartych portów dla zdalnego dostępu ani konfiguracji NAT/tuneli"},{label:"Skalowalność",detail:"1 do N kamer/kanałów audio równolegle"},{label:"Dostępność strumieni",detail:"Monitorowanie i automatyczne odtwarzanie po awariach"}]},{id:"s3",title:"1.3 Orkiestracja Zadań — JOB / STEP",desc:"Inteligentny system automatyzacji zastępujący ludzkich operatorów w rutynach nadzoru. Tworzony za pomocą podpowiedzi w języku naturalnym — bez kodu, bez programowania.",type:"capabilities",items:[{label:"JOB (zadanie)",detail:"Jednostka monitorowania, która odczytuje 1 lub N kamer/kanałów i działa na podstawie zdefiniowanych warunków"},{label:"STEP (krok)",detail:"Każdy JOB składa się z kilku połączonych kroków; wynik jednej kamery (wyjście) zasila kolejną (wejście)"},{label:"Wiele źródeł na krok",detail:"Każdy STEP może aktywować 1 lub więcej kamer i/lub 1 lub więcej kanałów audio"},{label:"Inteligentne łączenie",detail:"Zależność kognitywna między krokami; przepływ zmienia się w zależności od poprzedniego wyniku"},{label:"Natywne warunkowe decyzje",detail:"Rozgałęzienia, przerywanie, powtarzanie lub eskalacja na podstawie rzeczywistego wyniku"},{label:"Podpowiedź na kanał",detail:"Każda kamera lub kanał audio otrzymuje określoną podpowiedź w ramach tego samego JOB"},{label:"Planowanie",detail:"Wykonywanie w zaplanowanych dniach i godzinach, z określonym lub ciągłym czasem trwania"},{label:"Natychmiastowa aktywacja/dezaktywacja",detail:"Bez potrzeby rekonfiguracji"},{label:"Wersjonowanie zadań",detail:"Historia konfiguracji i podpowiedzi"},{label:"Tworzenie przez niespecjalistów",detail:"Operatorzy bez wiedzy technicznej tworzą pełne JOBs przez interfejs z inteligentnym agentem"}],params:[{param:"Tworzenie JOBs",value:"Język naturalny (tekst lub głos) — bez kodu"},{param:"Łączenie",value:"STEP N używa kognitywnego wyniku STEP N-1"},{param:"Źródła na STEP",value:"1 lub więcej kamer + 1 lub więcej kanałów audio"},{param:"Planowanie",value:"Data, godzina, czas trwania i powtarzanie konfigurowalne"}]},{id:"s4",title:"1.4 Możliwości Wykrywania i Klasyfikacji",type:"grouped",groups:[{label:"Wykrywanie oparte na wideo (computer vision / multimodalne)",items:["Identyfikacja istotnych sytuacji i działań zgodnie ze skonfigurowanymi podpowiedziami","Rozpoznawanie osób zainteresowania — lista obserwacyjna z automatycznym kojarzeniem zdarzeń","Liczenie osób z wyzwalaczami warunkowymi (więcej niż X / mniej niż X / dokładnie X)","Śledzenie 1 lub wielu osób/pojazdów w czasie","Śledzenie wielokamerowe z ponowną identyfikacją — śledzi przemieszczanie między kamerami A → N → B","Wykrywanie odchylenia trasy i naruszenia oczekiwanej trajektorii","Odczytywanie tablic rejestracyjnych, szyldów i widocznej treści tekstowej w kamerze","Identyfikacja konfigurowalnych gestów ręcznych i gestów języka migowego (gdy zdefiniowane w podpowiedzi)","Wykrywanie stanu emocjonalnego i przedkonfliktowej mowy ciała"]},{label:"Wykrywanie oparte na audio (mowa / dźwięki / multimodalne)",items:["Analiza audio w czasie rzeczywistym i nagranego z transkrypcją (STT) gdy dotyczy","Diaryzacja — separacja i identyfikacja mówców z podsumowaniem na mówcę i całą rozmowę","Wykrywanie wypowiedzianych słów kluczowych zgodnie z parametryzacją","Wykrywanie konfigurowalnych fraz i wzorców semantycznych","Wykrywanie wzorców mowy wskazujących na zdarzenia — pilność, konflikt, powtórzenie","Wyróżnianie istotnych fragmentów do audytu"]},{label:"System alarmów",items:["Alarm przy spełnionym warunku — np.: 'grupa X osób wykryta w punkcie A'","Alarm przy NIE spełnionym warunku — np.: 'osoba nie przeszła przez kamerę Y w czasie T'","Alarmy z logiką sekwencji przejść — konfigurowalny wielopunktowy przepływ pracy","Konfigurowalne wyzwalacze, okna czasowe i kryteria korelacji","Konfigurowalne poziomy ważn
45ości, odbiorcy i kanały powiadomień","Dowody dołączone do alarmów — klatki, klipy wideo, segmenty audio","Rejestrowanie cyklu życia alarmu — generowanie, routing, odbiór i zamknięcie"]}]},{id:"s5",title:"1.5 Kontekstualizacja i Generowanie Dowodów",type:"capabilities",items:[{label:"Automatyczny opis kontekstowy",detail:"Generowany w języku naturalnym dla każdego wykrytego zdarzenia"},{label:"Ustrukturyzowane metadane",detail:"Źródło, data/godzina, lokalizacja logiczna, typ zdarzenia, ważność"},{label:"Automatyczna korelacja",detail:"Ta sama osoba, ten sam obszar, ten sam interwał — między wieloma źródłami"},{label:"Ekstrakcja dowodów",detail:"Klatki, klipy wideo, segmenty audio, rozpoznany tekst"},{label:"Śledzenie wnioskowania",detail:"Logi i audyt wszystkich wykryć"},{label:"Raporty operacyjne",detail:"Pełna ścieżka audytu"}]},{id:"s6",title:"1.6 Operowanie w Języku Naturalnym",desc:"Każdy operator — bez wykształcenia technicznego — tworzy, konfiguruje i obsługuje pełne JOBs używając tekstu lub głosu. Bez programowania, skryptów ani zewnętrznych narzędzi.",type:"capabilities",items:[{label:"Zapytania w języku naturalnym",detail:"Pytania z kontekstualizowanymi odpowiedziami"},{label:"Polecenia tekstowe i głosowe",detail:"Tworzenie, edycja i aktywacja zadań"},{label:"Pełna konfiguracja przez podpowiedź",detail:"Monitorowanie, alarmy, wyzwalacze i odbiorcy"},{label:"Kontrole zarządzania",detail:"Potwierdzenie dla krytycznych działań, ograniczenia profilowe"},{label:"Ścieżka audytu",detail:"Rejestrowanie wszystkich poleceń i zmian"}]},{id:"s7",title:"1.7 Integracje Zewnętrzne — API i Webhook",type:"capabilities",items:[{label:"Automatyczne wyzwalanie webhooków",detail:"Wywołania zewnętrznych API na podstawie zdefiniowanych warunków"},{label:"Konfiguracja przez niespecjalistów",detail:"Przez podpowiedź w języku naturalnym"},{label:"Ustrukturyzowany ładunek",detail:"Metadane i dowody w JSON"},{label:"Uwierzytelnianie zewnętrznych wywołań",detail:"Tokeny, klucze, podpisy i listy uprawnień"},{label:"Audyt żądań",detail:"Pełny log wszystkich zewnętrznych wywołań"},{label:"Obsługa błędów",detail:"Ponowne próby, kolejki i logi"},{label:"Interoperacyjność",detail:"Pulpity, komunikatory, systemy rejestracji i zarządzania"}],params:[{param:"Protokół",value:"REST API + Webhooks"},{param:"Ładunek",value:"Ustrukturyzowany JSON z metadanymi, dowodami i kontekstem"},{param:"Uwierzytelnianie",value:"Tokeny, klucze, podpisy i listy uprawnień"},{param:"Audyt",value:"Pełny log wszystkich zewnętrznych wywołań"}]},{id:"s8",title:"1.8 Metryki Zużycia i Zarządzanie Kosztami",type:"capabilities",items:[{label:"Metryki per JOB/STEP",detail:"Szczegółowy zapis i udostępnianie"},{label:"Metryki per kamera/kanał audio",detail:"Zindywidualizowane zużycie na źródło"},{label:"Metryki per użytkownik/profil",detail:"Śledzenie użytkowania przez operatora"},{label:"Liczenie tokenów i żądań",detail:"Szacowania i rzeczywiste wartości z opóźnieniem"},{label:"Koszty według wymiaru",detail:"JOB, kamera i użytkownik"},{label:"Limity i centra kosztów",detail:"Wsparcie dla limitów i segregacji działów"}]},{id:"s9",title:"1.9 Wymagania Sprzętowe",type:"params",params:[{param:"GPU",value:"Nie wymagana — żadna z trzech platform"},{param:"GPU (F.A.S.T.-AI)",value:"Używana do niektórych złożonych naruszeń i rozwiązania SBC zapobiegania wypadkom na autostradach"},{param:"Własny sprzęt",value:"Nie wymagany — integruje się z istniejącą infrastrukturą"},{param:"Kamery",value:"Bez wymiany — kompatybilne z każdym zainstalowanym urządzeniem"},{param:"Obsługiwany OS",value:"Windows (natywna kompatybilność)"},{param:"Wdrożenie",value:"On-premises, chmura publiczna/prywatna (terytorium krajowe) lub hybrydowe"},{param:"Aktywacja",value:"Dni, nie miesiące — pilot wdrażalny w 7 dni robocze"}]},{id:"s10",title:"1.10 Bezpieczeństwo Informacji, Zarządzanie i Ochrona Danych",type:"capabilities",items:[{label:"Kontrola dostępu RBAC",detail
45:"Segregacja funkcji i zasada najmniejszych uprawnień"},{label:"Pełne ścieżki audytu",detail:"Logi operacyjne, polecenia, zmiany konfiguracji i podpowiedzi"},{label:"Ochrona danych",detail:"W tranzycie i w spoczynku"},{label:"Polityki przechowywania i usuwania",detail:"Pseudonimizacja/anonimizacja gdy dotyczy"},{label:"Zarządzanie profilami dostępu",detail:"Ograniczenia operacyjne według poziomu"},{label:"Zgodność RODO/LGPD",detail:"Minimalizacja, cel, konieczność i odpowiedzialność"},{label:"Przechowywanie danych uwierzytelniających",detail:"Windows Credential Manager/DPAPI lub równoważny — przechowywanie w postaci jawnej zabronione"}]},{id:"s11",title:"1.11 Dostępność i Ciągłość Operacyjna",type:"capabilities",items:[{label:"Działanie 24×7",detail:"Ciągłe monitorowanie bez przerw"},{label:"Automatyczne odtwarzanie",detail:"Wznawianie strumienia po awariach bez interwencji"},{label:"Odporność na utratę połączenia",detail:"Ponowne przetwarzanie nagranej zawartości"},{label:"Kolejki i ponowne przetwarzanie",detail:"Gwarancja pokrycia bez luk"},{label:"Wysoka dostępność",detail:"Redundancja, replikacja i równoważenie obciążenia gdy skonfigurowane"}]},{id:"s12",title:"1.12 Integracja z Prywatną Siecią Kooperacyjną",desc:"Wyłączna możliwość ekosystemu AiQuimist: prywatne kamery dobrowolnych użytkowników automatycznie uczestniczą w publicznych wyszukiwaniach — bez przesyłania wideo, bez otwierania portów sieciowych.",type:"capabilities",items:[{label:"Bezpłatna dystrybucja",detail:"Rozwiązanie Windows dystrybuowane do prywatnych użytkowników w całym kraju"},{label:"Mechanizm parowania",detail:"Kod aktywacyjny, powiązanie i odwołanie urządzenia"},{label:"Tylko autoryzowane punkty końcowe",detail:"Tylko autoryzowane punkty końcowe mogą konsumować lub publikować dane/zdarzenia"},{label:"Lokalne wykrywanie i powiadamianie",detail:"Analiza odbywa się na komputerze prywatnego użytkownika"},{label:"Powiadomienie o dopasowaniu",detail:"Automatyczne do centralnej platformy przy dopasowaniu z listą obserwacyjną"},{label:"Ustrukturyzowany alarm",detail:"Obraz osoby z nakładką, data/godzina, kamera, pełny adres, GPS, poziom ufności, identyfikator"},{label:"Algorytmy Re-ID",detail:"Ponowna identyfikacja i, gdy dotyczy i autoryzowano, rozpoznawanie twarzy"},{label:"Dobrowolne uczestnictwo",detail:"Użytkownik decyduje o aktywacji współpracy i które kamery uczestniczą"},{label:"Prywatność przez projektowanie",detail:"Brak otwartych portów, brak ciągłych transmisji strumieni"},{label:"Pełna zgodność RODO/LGPD",detail:"Lokalna analiza, udostępnianie tylko odpowiedniego wyniku"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Inteligencja instytucjonalna dla operacji publicznych i środowisk o kluczowym znaczeniu",sections:[{title:"2.1 Fokus i Zakres Operacyjny",desc:"Platforma dla sektora publicznego, instytucjonalnego i wysokokrytycznych korporacji. Obsługuje duże sieci kamer.",type:"list",items:["Gminy, rządy regionalne i federalne","Siły policyjne, straże miejskie i służby bezpieczeństwa","Zintegrowane centra dowodzenia i kontroli (CIOPs)","Więzienia i jednostki penitencjarne","Lotniska, porty i terminale","Granice i krajowa infrastruktura krytyczna","Przedsiębiorstwa publiczne i duże prywatne korporacje o złożonych operacjach","Duże firmy prywatne: banki, logistyka i inne"]},{title:"2.2 Wyłączna Infrastruktura",type:"params",params:[{param:"Działa na",value:"Własnych serwerach klienta (on-premise)"},{param:"Bezpieczeństwo danych",value:"100% wewnętrzne — żadne informacje nie są ujawniane w internecie"},{param:"GPU",value:"Nie wymagana"},{param:"Serwery",value:"Konwencjonalne — dedykowane bazie danych i jednoczesnym odczytywaniu kamer"},{param:"Skala",value:"Duże sieci instytucjonalne — od dziesiątek do tysięcy kamer"}]},{title:"2.3 Specyficzne Wykrycia",type:"list",items:["Podejrzane ruchy w obwodach, punktach dostępu i środowiskach krytycznych","Zachowania niezgodne z obszarami wrażliwymi","Włamania i próby nieuprawnionego dostępu","Konflikty i sytuacje przemocy","Próby ucieczki w jednostkach penitencjarnych","Obecność broni","Opuszczone przedmioty w miejscach ryzyka","Nagłe zmiany wzorców behawioralnych","Nienormalne skupisko osób w krytycznych punktach","Sytuacje ryzyka w środowiskach o kluczowym znaczeniu — lotniska, granice, więzienia","Silnik Temporalny: wykonuje podpowiedź i system działa bez ludzkiej interwencji"]},{title:"2.4 Koordynacja Sieci Kooperacyjnej",type:"list",items:["Uruchami
45a wyszukiwania i śledzenia propagowane przez całą publiczną i prywatną sieć kooperacyjną","Odbiera automatyczne powiadomienia od Perceptrum przy dopasowaniach z listą obserwacyjną","Koordynuje zintegrowane operacje między przestrzenią publiczną, drogową (F.A.S.T.) i prywatną (Perceptrum)","Centralizuje alarmy, dowody i ślad śledzenia całej zintegrowanej sieci"]},{title:"2.5 Model Komercyjny",type:"params",params:[{param:"Licencjonowanie",value:"Instytucjonalne — umowa z organem publicznym lub korporacją"},{param:"Wdrożenie",value:"On-premise na serwerach klienta"},{param:"Wsparcie",value:"Onboarding i konfiguracja w cenie"},{param:"Pilot",value:"Wdrażalny w 7 dni robocze na istniejącej infrastrukturze"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Multimodalna inteligencja dla środowiska prywatnego — od domu do dużej korporacji",sections:[{title:"2.6 Fokus i Zakres Operacyjny",desc:"Platforma dla sektora prywatnego, komercyjnego, mieszkaniowego i wspólnot mieszkaniowych. Demokratyzuje dostęp do zaawansowanej inteligencji monitoringu.",type:"list",items:["Domy i mieszkania","Wspólnoty i budynki mieszkalne i komercyjne","Małe i średnie przedsiębiorstwa","Sieci handlowe i sklepy","Banki i instytucje finansowe","Centra handlowe i parkingi","Prywatne szkoły i uczelnie","Prywatne szpitale i kliniki","Magazyny i obiekty logistyczne","Gospodarstwa i nieruchomości wiejskie"]},{title:"2.7 Wyłączna Infrastruktura",type:"params",params:[{param:"Działa na",value:"Komputerze osobistym użytkownika (domowym lub korporacyjnym)"},{param:"Minimalny procesor",value:"Intel i5 lub lepszy"},{param:"GPU",value:"Nie wymagana"},{param:"Przechowywanie",value:"Miejsce na dysku dla tymczasowych obrazów w analizie"},{param:"DVR/NVR",value:"Natywny odczyt do wyszukiwań w poprzednich nagraniach"},{param:"Aktywacja",value:"Minuty — import kamer przez CSV i natychmiastowy start"}]},{title:"2.8 Specyficzne Wykrycia",type:"list",items:["Ruchy poza wzorcem w nietypowych godzinach lub miejscach","Kradzieże, napady i rozboje — typowe zachowania subtrakcyjne","Nieuprawniona obecność w strefach ograniczonego dostępu","Ryzyko obwodowe i próby włamania","Prośby o pomoc — gesty i zachowania w sytuacji zagrożenia","Porzucone podejrzane przedmioty","Anomalie operacyjne w procesach (logistyka, inwentarz, dostawy)","Automatyczna weryfikacja procesów: pojazd, tablica rejestracyjna, kurier, liczenie woluminów","Konfigurowalne zdarzenia według typu środowiska — profil na instalację","Wykrywa naruszycieli nakazu ochrony (zakazy zbliżania itp.)"]},{title:"2.9 Dobrowolna Współpraca (wyłącznie Perceptrum)",type:"list",items:["Flaga dobrowolnej współpracy — właściciel decyduje o aktywacji i które kamery uczestniczą","Po aktywacji: kamera uczestniczy w wyszukiwaniach wystawionych przez Perceptrum Corporate lub F.A.S.T.-AI","Analiza wykonywana lokalnie — na własnym komputerze prywatnego użytkownika","Żaden ciągły strumień wideo nie jest przesyłany do centrum publicznego","Żadne porty sieciowe nie są zewnętrznie otwarte","Tylko wynik (dopasowanie) jest wysyłany do centrum — nie obrazy","Alarm obejmuje: obraz osoby z nakładką, data/godzina, kamera, adres, GPS, poziom ufności","Uczestnictwo odwoływalne w każdej chwili przez właściciela","Pełna zgodność RODO/LGPD — prywatność przez projekt architektoniczny"]},{title:"2.10 Model Komercyjny",type:"params",params:[{param:"Wersja bezpłatna",value:"Podstawowe funkcje monitorowania — bez kosztów, bez karty kredytowej"},{param:"Wersja premium",value:"Pełny dostęp — przystępna miesięczna licencja"},{param:"Współpraca publiczna",value:"Bezpłatna dla prywatnego użytkownika — koszt płacony przez organ publiczny za zapytanie"},{param:"Koszt dla państwa",value:"Grosze za wyszukanie — płatne tylko gdy wyszukiwanie jest uruchamiane"},{param:"Dystrybucja",value:"Dystrybuowalne do prywatnych użytkowników w całym kraju"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Inteligencja terytorialna, mobilność i dynamiczny odczyt przestrzeni miejskiej",sections:[{title:"2.11 Fokus i Zakres Operacyjny",desc:"Platforma dla mobilności, ruchu drogowego, urbanistyki i dynamicznej interpretacji terytorialnej.",type:"list",items:["Miejskie wydziały transportu i mobilności","Miejskie centra operacyjne (COUs)","Wydziały robót publicznych i planowania miejskiego","Organy kontroli ruchu drogowego","Organizatorzy dużych imprez publicznych","Koncesjonariusze autostrad i parkingów","Siły bezpieczeństwa publicznego — śledzenie pojazdów i operacje drogowe"]},{title:"2.12 Wyłączna Infrastruktura",type:"params",params:[{param:"Działa na",value:"Serwerach firm odpowiedzialnych za ruch i urbanistykę"},{param:"GPU",value:"Nie wymagana (z wyjątkiem złożonej analizy naruszeń i rozwiązania SBC zapobiegania wypadkom na autostradach)"},{param:"Przechowywanie",value:"Niskie — odczytuje bezpośrednio z NAS, DVR, NVR lub istniejącego 
45streamingu"},{param:"Zgodne źródła",value:"Publiczne kamery drogowe, sygnalizacja świetlna, stałe i mobilne radary — każdy standard"},{param:"Skala",value:"Pełna sieć ulic miejskich — dzielnice, korytarze, miasta"}]},{title:"2.13 Specyficzne Wykrycia",type:"list",items:["Naruszenia przepisów ruchu — automatyczne generowanie mandatów z dowodami","Wypadki i potrącenia pieszych — wykrywanie i natychmiastowe powiadamianie","Tworzenie korków — wczesne wykrywanie przed kolapsem","Blokady dróg i objazdy","Nieregularne zajmowanie przestrzeni publicznej","Atypiczne zdarzenia wpływające na miejską mobilność","Ryzyko operacyjne na drogach i obszarach strategicznych","Wzorce przepływu, strefy krytyczne i nawroty","Śledzenie podejrzanych pojazdów — tablica rejestracyjna, model, kolor, trasa","Koncentracja i zagęszczenie osób na drogach i w przestrzeniach publicznych","Automatyczne pościgi na żądanie operatora"]},{title:"2.14 Inteligencja Terytorialna (wyłącznie F.A.S.T.-AI)",type:"list",items:["Analiza wzorców przepływu pojazdów i pieszych według godziny, dnia i strefy","Identyfikacja stref krytycznych i nawrotów incydentów","Wsparcie decyzji dotyczących planowania dróg i urbanistyki z rzeczywistymi danymi","Pulpit zarządzania terytorialnego w czasie rzeczywistym dla sekretarzy i menedżerów","Wsparcie zarządzania dużymi imprezami — gęstość, przepływ, ryzyko zamieszek","Ciągłe generowanie informacji strategicznych o zachowaniu terytorialnym"]},{title:"2.15 Model Komercyjny",type:"params",params:[{param:"Licencjonowanie",value:"Miejskie / regionalne — umowa z publicznym organem mobilności lub bezpieczeństwa"},{param:"Wdrożenie",value:"Serwery gminy lub koncesjonariusza — na istniejącej infrastrukturze"},{param:"Bezpośredni ROI",value:"Przychody z automatycznych mandatów przekraczają koszty platformy"},{param:"Pilot",value:"Wdrażalny w 7 dni robocze na istniejących kamerach publicznych"}]}]}],comparison:{title:"Podsumowanie Porównawcze Trzech Platform",rows:[{feature:"Główny fokus",drakon:"Sektor publiczny i o kluczowym znaczeniu",perceptrum:"Sektor prywatny i mieszkaniowy",fast:"Ruch i urbanistyka"},{feature:"Działa na",drakon:"Serwerach klienta (on-premise)",perceptrum:"Komputerze osobistym (i5+)",fast:"Serwerach miejskich/koncesjonariusza"},{feature:"GPU wymagana",drakon:"❌ Nie",perceptrum:"❌ Nie",fast:"❌ Nie (z wyjątkiem SBC)"},{feature:"Wymiana kamer",drakon:"❌ Nie wymagana",perceptrum:"❌ Nie wymagana",fast:"❌ Nie wymagana"},{feature:"Analiza na żywo (24/7)",drakon:"✅ Tak",perceptrum:"✅ Tak",fast:"✅ Tak"},{feature:"Postprzetwarzanie nagrań",drakon:"✅ Tak (DVR/NVR/NAS)",perceptrum:"✅ Tak (DVR/NVR/NAS)",fast:"✅ Tak (DVR/NVR/NAS)"},{feature:"JOBs w języku naturalnym",drakon:"✅ Tak",perceptrum:"✅ Tak",fast:"✅ Tak"},{feature:"Integracja API/Webhook",drakon:"✅ Tak",perceptrum:"✅ Tak",fast:"✅ Tak"},{feature:"Śledzenie wielokamerowe",drakon:"✅ Tak",perceptrum:"✅ Tak",fast:"✅ Tak"},{feature:"Prywatna sieć kooperacyjna",drakon:"✅ Koordynuje wyszukiwania",perceptrum:"✅ Uczestniczy (dobrowolnie)",fast:"✅ Koordynuje wyszukiwania drogowe"},{feature:"Bezpłatna wersja dostępna",drakon:"❌ Nie",perceptrum:"✅ Tak (podstawowa)",fast:"❌ Nie"},{feature:"PoC dostępny",drakon:"✅ Tak",perceptrum:"❌ Nie",fast:"✅ Tak"},{feature:"Automatyczne mandaty",drakon:"❌ Nie w fokusie",perceptrum:"❌ Nie w fokusie",fast:"✅ Tak — automatyczne generowanie"},{feature:"Inteligencja terytorialna",drakon:"Instytucjonalna operacyjna",perceptrum:"Prywatna operacyjna",fast:"✅ Terytorialna i miejska"},{feature:"Zgodność RODO/LGPD",drakon:"✅ Tak",perceptrum:"✅ Tak (przez projekt)",fast:"✅ Tak"},{feature:"Czas aktywacji pilota",drakon:"Do 7 dni roboczych",perceptrum:"Minuty",fast:"Do 7 dni roboczych"}]}},uk:{hero:{badge:"Технічні Специфікації",title:"Технічні Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Структурований технічний документ для процесів оцінки, закупівлі та інтеграції. Всі специфікації трьох платформ AiQuimist — спільні можливості та ексклюзивні відмінності.",part1:"ЧАСТИНА 1 — Core Specs",part1sub:"Функції, наявні на всіх трьох платформах",part2:"ЧАСТИНА 2 — Ексклюзивні Specs",part2sub:"Специфічні для кожного продукту функції та відмінності",part3:"Порівняльне Резюме"},copy:"Копіювати таблицю",copied:"Скопійовано!",yes:"✅ Так",no:"❌ Ні",feature:"Характеристика",capacity:"Можливість",detail
45:"Деталі",param:"Параметр",value:"Значення",sections:[{id:"s1",title:"1.1 Рушій ШІ — Універсальна Мультимодальна Інтерпретація",desc:"Платформа AiQuimist, яка одночасно аналізує відео, аудіо, текст та зображення для вилучення реального контексту та виявлення значущих ситуацій.",type:"capabilities",items:[{label:"🎥 Відео",detail:"Аналіз у реальному часі з живих камер та записів. Розпізнає сцени, об'єкти, поведінку, рухи та патерни."},{label:"🔊 Аудіо",detail:"Виявлення мовлення, ключових слів, семантичних патернів, тону голосу, терміновості, конфліктів та налаштовуваних цікавих звуків."},{label:"📄 Текст та Зображення",detail:"Завантаження та аналіз файлів (відео, зображення, аудіо, текст). Вилучення доказів, метаданих та крос-кореляція джерел."},{label:"Нативна темпоральна обробка",detail:"Аналізує плавність руху, а не лише окремі кадри"},{label:"Масивне контекстне вікно",detail:"Зберігає пам'ять тривалих відео/аудіо-периодів для кореляції подій"},{label:"Аналіз у реальному часі (наживо)",detail:"Потоки з камер та аудіоканали 24×7"},{label:"Постобробка",detail:"Ті самі критерії виявлення застосовуються до архівів та записаних файлів: NVR, DVR, NAS"},{label:"Завантаження цифрових файлів",detail:"Відео, зображення, аудіо та текст для корельованого мультимодального аналізу"},{label:"Визначення емоційного стану",detail:"Читання мови тіла, тону голосу та поведінкових сигналів"},{label:"Абстракція постачальників ШІ",detail:"Налаштовувані кінцеві точки, облікові дані та ліміти; зміна постачальника з мінімальним впливом"}]},{id:"s2",title:"1.2 Приймання Камер та Джерел",type:"mixed",items:[{label:"Універсальна сумісність",detail:"Будь-яка камера, незалежно від бренду, виробника, моделі чи покоління"},{label:"Аналогове та цифрове",detail:"Заміна обладнання не потрібна"}
45,{label:"Основний протокол",detail:"RTSP, ONVIF та еквівалентні HTTP/файлові методи"},{label:"DVR / NVR / NAS",detail:"Зчитування вже встановленого у клієнта обладнання"},{label:"Масовий імпорт",detail:"Excel або CSV з метаданими камер (IP, виробник, користувач, пароль, порт тощо)"},{label:"Автономна робота",detail:"Повністю локально через внутрішню мережу — без передачі потоків в інтернет"},{label:"Мережева безпека",detail:"Жодних відкритих портів для віддаленого доступу або конфігурації NAT/тунелів"},{label:"Масштабованість",detail:"Від 1 до N камер/аудіоканалів паралельно"},{label:"Доступність потоків",detail:"Моніторинг та автоматичне відновлення після збоїв"}]},{id:"s3",title:"1.3 Оркестрація Завдань — JOB / STEP",desc:"Інтелектуальна система автоматизації, що замінює людей-операторів у рутинах спостереження. Створюється за допомогою підказок природною мовою — без коду, без програмування.",type:"capabilities",items:[{label:"JOB (завдання)",detail:"Одиниця моніторингу, що зчитує 1 або N камер/каналів та діє за визначеними умовами"},{label:"STEP (крок)",detail:"Кожен JOB складається з кількох з'єднаних кроків; результат однієї камери (вихід) живить наступну (вхід)"},{label:"Кілька джерел на крок",detail:"Кожен STEP може активувати 1 або більше камер та/або 1 або більше аудіоканалів"},{label:"Інтелектуальне з'єднання",detail:"Когнітивна залежність між кроками; потік змінюється залежно від попереднього результату"},{label:"Нативні умовні рішення",detail:"Розгалуження, переривання, повторення або ескалація на основі реального результату"},{label:"Підказка на канал",detail:"Кожна камера або аудіоканал отримує специфічну підказку в рамках того ж JOB"},{label:"Планування",detail:"Виконання у заплановані дні та час, з визначеною або безперервною тривалістю"},{label:"Миттєва активація/деактивація",detail:"Перенастройка не потрібна"},{label:"Версіонування завдань",detail:"Історія конфігурацій та підказок"},{label:"Створення нетехнічними користувачами",detail:"Оператори без технічних знань створюють повні JOBs через інтерфейс з інтелектуальним агентом"}],params:[{param:"Створення JOBs",value:"Природна мова (текст або голос) — без коду"},{param:"З'єднання",value:"STEP N використовує когнітивний результат STEP N-1"},{param:"Джерела на STEP",value:"1 або більше камер + 1 або більше аудіоканалів"},{param:"Планування",value:"Дата, час, тривалість та повторення налаштовуються"}]},{id:"s4",title:"1.4 Можливості Виявлення та Класифікації",type:"grouped",groups:[{label:"Виявлення на основі відео (комп'ютерний зір / мультимодальне)",items:["Виявлення значущих ситуацій та дій за налаштованими підказками","Розпізнавання осіб, що становлять інтерес — список спостереження з автоматичним зв'язуванням подій","Підрахунок людей з умовними тригерами (більше X / менше X / рівно X)","Стеження за 1 або кількома особами/транспортними засобами в часі","Багатокамерне стеження з повторною ідентифікацією — відстежує переміщення між камерами A → N → B","Виявлення відхилення від маршруту та порушення очікуваної траєкторії","Зчитування номерних знаків, вивісок та текстового вмісту на камері","Розпізнавання налаштовуваних жестів рук та жестової мови (коли визначено в підказці)","Виявлення емоційного стану та мови тіла передконфлікту"]},{label:"Виявлення на основі аудіо (мовлення / звуки / мультимодальне)",items:["Аналіз живого та записаного аудіо з транскрипцією (STT) при необхідності","Діаризація — розділення та ідентифікація мовців з резюме по кожному мовцю та всій розмові","Виявлення вимовлених ключових слів за параметризацією","Виявлення налаштовуваних фраз та семантичних патернів","Виявлення мовленнєвих патернів, що вказ
45ують на події — терміновість, конфлікт, повторення","Виділення значущих фрагментів для аудиту"]},{label:"Система сповіщень",items:["Сповіщення при виконаній умові — напр.: 'група з X осіб виявлена в точці A'","Сповіщення при НЕ виконаній умові — напр.: 'особа не пройшла камеру Y протягом часу T'","Сповіщення з логікою послідовності проходів — налаштовуваний багатоточковий робочий процес","Налаштовувані тригери, часові вікна та критерії кореляції","Налаштовувані рівні серйозності, отримувачі та канали сповіщень","Докази, прикріплені до сповіщень — кадри, відеокліпи, аудіосегменти","Запис життєвого циклу сповіщення — генерація, маршрутизація, отримання та закриття"]}]},{id:"s5",title:"1.5 Контекстуалізація та Генерація Доказів",type:"capabilities",items:[{label:"Автоматичний контекстний опис",detail:"Генерується природною мовою для кожної виявленої події"},{label:"Структуровані метадані",detail:"Джерело, дата/час, логічне місцезнаходження, тип події, серйозність"},{label:"Автоматична кореляція",detail:"Та сама особа, та сама зона, той самий інтервал — по кількох джерелах"},{label:"Вилучення доказів",detail:"Кадри, відеокліпи, аудіосегменти, розпізнаний текст"},{label:"Відстежуваність висновків",detail:"Журнали та аудит усіх виявлень"},{label:"Операційні звіти",detail:"Повний аудиторський слід"}]},{id:"s6",title:"1.6 Робота Природною Мовою",desc:"Будь-який оператор — без технічної підготовки — створює, налаштовує та керує повними JOBs, використовуючи текст або голос. Жодного програмування, скриптів або зовнішніх інструментів.",type:"capabilities",items:[{label:"Запити природною мовою",detail:"Питання з контекстуалізованими відповідями"},{label:"Текстові та голосові команди",detail:"Створення, редагування та активація завдань"},{label:"Повне налаштування через підказку",detail:"Моніторинг, сповіщення, тригери та отримувачі"},{label:"Контролі управління",detail:"Підтвердження для критичних дій, обмеження за профілем"},{label:"Аудиторський слід",detail:"Запис усіх команд та змін"}]},{id:"s7",title:"1.7 Зовнішні Інтеграції — API та Webhook",type:"capabilities",items:[{label:"Автоматичний запуск вебхуків",detail:"Виклики зовнішніх API на основі визначених умов"},{label:"Налаштування нетехнічними користувачами",detail:"Через підказку природною мовою"},{label:"Структурована навантаження",detail:"Метадані та докаÐ
45·Ð¸ в JSON"},{label:"Автентифікація зовнішніх викликів",detail:"Токени, ключі, підписи та списки дозволів"},{label:"Аудит запитів",detail:"Повний журнал усіх зовнішніх викликів"},{label:"Обробка помилок",detail:"Повторні спроби, черги та журнали"},{label:"Інтероперабельність",detail:"Панелі моніторингу, обмін повідомленнями, системи реєстрації та управління"}],params:[{param:"Протокол",value:"REST API + Webhooks"},{param:"Навантаження",value:"Структурований JSON з метаданими, доказами та контекстом"},{param:"Автентифікація",value:"Токени, ключі, підписи та списки дозволів"},{param:"Аудит",value:"Повний журнал усіх зовнішніх викликів"}]},{id:"s8",title:"1.8 Метрики Споживання та Управління Витратами",type:"capabilities",items:[{label:"Метрики на JOB/STEP",detail:"Детальний запис та доступність"},{label:"Метрики на камеру/аудіоканал",detail:"Індивідуалізоване споживання на джерело"},{label:"Метрики на користувача/профіль",detail:"Відстеження використання за оператором"},{label:"Підрахунок токенів та запитів",detail:"Оцінки та реальні значення із затримкою"},{label:"Витрати за виміром",detail:"JOB, камера та користувач"},{label:"Квоти та центри витрат",detail:"Підтримка квот та розподілу за відділами"}]},{id:"s9",title:"1.9 Вимоги до Обладнання",type:"params",params:[{param:"GPU",value:"Не потрібна — жодна з трьох платформ"},{param:"GPU (F.A.S.T.-AI)",value:"Використовується для деяких складних порушень та рішення SBC запобігання аваріям на шосе"},{param:"Власне обладнання",value:"Не потрібне — інтегрується з існуючою інфраструктурою"},{param:"Камери",value:"Без заміни — сумісне з будь-яким встановленим обладнанням"},{param:"Підтримувана ОС",value:"Windows (нативна сумісність)"},{param:"Розгортання",value:"On-premises, публічна/приватна хмара (національна територія) або гібрид"},{param:"Активація",value:"Дні, не місяці — пілот розгортається протягом 7 робочих днів"}]},{id:"s10",title:"1.10 Інформаційна Безпека, Управління та Захист Даних",type:"capabilities",items:[{label:"Контроль доступу RBAC",detail:"Розділення функцій та принцип найменших привілеїв"},{label:"Повні аудиторські сліди",detail:"Операційні журнали, команди, зміни конфігурації та підказки"},{label:"Захист даних",detail:"У транзиті та у спокої"},{label:"Політики зберігання та видалення",detail:"Псевдонімізація/анонімізація при необхідності"},{label:"Управління профілями доступу",detail:"Операційні обмеження за рівнем"},{label:"Відповідність GDPR/LGPD",detail:"Мінімізація, мета, необхідність та відповідальність"},{label:"Зберігання облікових даних",detail:"Windows Credential Manager/DPAPI або еквівалент — зберігання відкритим текстом заборонено"}]},{id:"s11",title:"1.11 Доступність та Операційна Безперервність",type:"capabilities",items:[{label:"Робота 24×7",detail
45:"Безперервний моніторинг без перебоїв"},{label:"Автоматичне відновлення",detail:"Відновлення потоку після збоїв без втручання"},{label:"Стійкість до втрати зв'язку",detail:"Повторна обробка записаного вмісту"},{label:"Черги та повторна обробка",detail:"Гарантія покриття без прогалин"},{label:"Висока доступність",detail:"Резервування, реплікація та балансування при налаштуванні"}]},{id:"s12",title:"1.12 Інтеграція з Приватною Кооперативною Мережею",desc:"Ексклюзивна можливість екосистеми AiQuimist: приватні камери добровільних користувачів автоматично беруть участь у публічних пошуках — без передачі відео, без відкриття мережевих портів.",type:"capabilities",items:[{label:"Безкоштовний розподіл",detail:"Рішення для Windows, яке розповсюджується приватним користувачам по всій країні"},{label:"Механізм сполучення",detail:"Код активації, прив'язка та відкликання пристрою"},{label:"Лише авторизовані кінцеві точки",detail:"Лише авторизовані кінцеві точки можуть споживати або публікувати дані/події"},{label:"Локальне виявлення та сповіщення",detail:"Аналіз відбувається на комп'ютері приватного користувача"},{label:"Сповіщення про збіг",detail:"Автоматично на центральну платформу при збігу зі списком спостереження"},{label:"Структуроване сповіщення",detail:"Зображення особи з накладенням, дата/час, камера, повна адреса, GPS, рівень довіри, ідентифікатор"},{label:"Алгоритми Re-ID",detail:"Повторна ідентифікація та, при необхідності та авторизації, розпізнавання облич"},{label:"Добровільна участь",detail:"Користувач вирішує, активувати чи ні співпрацю та які камери беруть участь"},{label:"Конфіденційність за проектом",detail:"Жодних відкритих портів, жодних безперервно переданих потоків"},{label:"Повна відповідність GDPR/LGPD",detail:"Локальний аналіз, передача лише відповідного результату"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Інституційний інтелект для публічних операцій та критично важливих середовищ",sections:[{title:"2.1 Фокус та Операційне Охоплення",desc:"Платформа для державного, інституційного та висококритичного корпоративного секторів. Працює з великими мережами камер.",type:"list",items:["Муніципалітети, регіональні та федеральні уряди","Поліцейські сили, муніципальна охороÐ
45½Ð° та служби безпеки","Інтегровані центри командування та управління (CIOPs)","Тюрми та виправні установи","Аеропорти, порти та термінали","Кордони та об'єкти критичної національної інфраструктури","Державні підприємства та великі приватні корпорації зі складними операціями","Великі приватні компанії: банки, логістика та інші"]},{title:"2.2 Ексклюзивна Інфраструктура",type:"params",params:[{param:"Працює на",value:"Власних серверах клієнта (on-premise)"},{param:"Безпека даних",value:"100% внутрішня — жодна інформація не виходить в інтернет"},{param:"GPU",value:"Не потрібна"},{param:"Сервери",value:"Звичайні — виділені для бази даних та одночасного зчитування камер"},{param:"Масштаб",value:"Великі інституційні мережі — від десятків до тисяч камер"}]},{title:"2.3 Специфічні Виявлення",type:"list",items:["Підозрілі рухи в периметрах, точках доступу та критичних середовищах","Поведінка, несумісна з чутливими зонами","Вторгнення та спроби несанкціонованого доступу","Конфлікти та насильницькі ситуації","Спроби втечі в установах тримання під вартою","Наявність зброї","Кинуті предмети в зонах ризику","Різкі зміни поведінкових патернів","Аномальне скупчення людей у критичних точках","Ризикові ситуації в критично важливих середовищах — аеропорти, кордони, тюрми","Темпоральний Рушій: виконує підказку і система продовжує роботу без втручання людини"]},{title:"2.4 Координація Кооперативної Мережі",type:"list",items:["Запускає пошуки та стеження, що поширюються по всій публічній та приватній кооперативній мережі","Отримує автоматичні сповіщення від Perceptrum при збігах зі списком спостереження","Координує інтегровані операції між публічним, дорожнім (F.A.S.T.) та приватним простором (Perceptrum)","Централізує сповіщення, докази та слід відстеження всієї інтегрованої мережі"]},{title:"2.5 Комерційна Модель",type:"params",params:[{param:"Ліцензування",value:"Інституційне — контракт з державним органом або корпорацією"},{param:"Розгортання",value:"On-premise на серверах клієнта"},{param:"Підтримка",value:"Онбординг та налаштування включені"},{param:"Пілот",value:"Розгортається протягом 7 робочих днів на існуючій інфраструктурі"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Мультимодальний інтелект для приватного середовища — від дому до великої корпорації",sections:[{title:"2.6 Фокус та Операційне Охоплення",desc:"Платформа для приватного, комерційного, житлового та кондомінійного секторів. Демократизує доступ до передового моніторингового інтелекту.",type:"list",items:["Житлові будинки та квартири","Житлові та комерційні кондомініуми та будівлі","Малий та середній бізнес","РоздрÑ
45–бні мережі та магазини","Банки та фінансові установи","Торгові центри та парковки","Приватні школи та університети","Приватні лікарні та клініки","Склади та логістичні об'єкти","Ферми та сільські маєтки"]},{title:"2.7 Ексклюзивна Інфраструктура",type:"params",params:[{param:"Працює на",value:"Персональному комп'ютері користувача (домашньому або корпоративному)"},{param:"Мінімальний процесор",value:"Intel i5 або кращий"},{param:"GPU",value:"Не потрібна"},{param:"Сховище",value:"Дисковий простір для тимчасових зображень в аналізі"},{param:"DVR/NVR",value:"Нативне зчитування для пошуку в попередніх записах"},{param:"Активація",value:"Хвилини — імпорт камер через CSV та негайний запуск"}]},{title:"2.8 Специфічні Виявлення",type:"list",items:["Нестандартні рухи в незвичайний час або незвичайних місцях","Крадіжки, пограбування та напади — типова поведінка розкрадання","Несанкціонована присутність в обмежених зонах","Периметральний ризик та спроби вторгнення","Прохання про допомогу — жести та поведінка в стані стресу","Кинуті підозрілі предмети","Операційні аномалії в процесах (логістика, інвентар, доставки)","Автоматизована перевірка процесів: транспортний засіб, номерний знак, кур'єр, підрахунок обсягів","Налаштовувані події за типом середовища — профіль для кожної установки","Виявляє порушників охороÐ
45½Ð½Ð¸Ñ… ордерів (заборони на наближення тощо)"]},{title:"2.9 Добровільна Співпраця (ексклюзивно Perceptrum)",type:"list",items:["Прапор добровільної співпраці — власник вирішує, активувати чи ні та які камери беруть участь","При активації: камера бере участь у пошуках, виданих Perceptrum Corporate або F.A.S.T.-AI","Аналіз виконується локально — на власному комп'ютері приватного користувача","Жодної безперервної відеотрансляції в публічний центр","Жодних зовнішньо відкритих мережевих портів","До центру надсилається лише результат (збіг) — не зображення","Сповіщення включає: зображення особи з накладенням, дату/час, камеру, адресу, GPS, рівень довіри","Участь відкликається в будь-який час власником","Повна відповідність GDPR/LGPD — конфіденційність за архітектурним проектом"]},{title:"2.10 Комерційна Модель",type:"params",params:[{param:"Безкоштовна версія",value:"Базові функції моніторингу — без витрат, без кредитної картки"},{param:"Преміум-версія",value:"Повний доступ — доступна щомісячна ліцензія"},{param:"Публічна співпраця",value:"Безкоштовно для приватного користувача — вартість оплачується державним органом за запит"},{param:"Вартість для держави",value:"Копійки за пошук — оплачується лише при активації пошуку"},{param:"Розповсюдження",value:"Розповсюджуване приватним користувачам по всій країні"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Територіальний інтелект, мобільність та динамічне зчитування міського простору",sections:[{title:"2.11 Фокус та Операційне Охоплення",desc:"Платформа для мобільності, руху, містобудування та динамічної територіальної інтерпретації.",type:"list",items:["Муніципальні відділи транспорту та мобільності","Міські операційні центри (COUs)","Відділи громадських робіт та містобудування","Органи контролю дорожнього руху","Організатори великих публічних заходів","Концесіонери автодоріг та парковок","Сили громадської безпеки — відстеження транспортних засобів та дорожні операції"]},{title:"2.12 Ексклюзивна Інфраструктура",type:"params",params:[{param:"Працює на",value:"Серверах компаній, відповідальних за трафік та містобудування"},{param:"GPU",value:"Не потрібна (крім аналізу складних порушень та рішення SBC запобігання аваріям на шосе)"},{param:"Сховище",value:"Мале — зчитує безпосередньо з NAS, DVR, NVR або існуючого стримінгу"},{param:"Сумісні джерела",value:"Публічні дорожні камери, світлофори, стаціонарні та мобільні радари — будь-який стандарт"},{param:"Масштаб",value:"Повна міська дорожня мережа — квартали, коридори, міста"}]},{title:"2.13 Специфічні Виявлення",type:"list",items:["Порушення ПДР — автоматичне генерування штрафів з докаÐ
45·Ð°Ð¼Ð¸","Аварії та наїзди на пішоходів — виявлення та негайне сповіщення","Утворення заторів — раннє виявлення до колапсу","Блокування доріг та об'їзди","Незаконне використання громадського простору","Нетипові події, що впливають на міську мобільність","Операційні ризики на дорогах та стратегічних зонах","Патерни потоків, критичні зони та рецидиви","Відстеження підозрілих транспортних засобів — номерний знак, модель, колір, маршрут","Концентрація та щільність людей на дорогах та у громадських місцях","Автоматичне переслідування на запит оператора"]},{title:"2.14 Територіальний Інтелект (ексклюзивно F.A.S.T.-AI)",type:"list",items:["Аналіз патернів транспортного та пішохідного потоку за часом, днем та зоною","Виявлення критичних зон та рецидивів інцидентів","Підтримка рішень щодо дорожнього та містобудівного планування з реальними даними","Панель управління територією в реальному часі для секретарів та менеджерів","Підтримка управління великими заходами — щільність, потік, ризики безладу","Безперервне генерування стратегічної інформації про територіальну поведінку"]},{title:"2.15 Комерційна Модель",type:"params",params:[{param:"Ліцензування",value:"Муніципальне / регіональне — контракт з державним органом мобільності або безпеки"},{param:"Розгортання",value:"Сервери муніципалітету або концесіонера — на існуючій інфраструктурі"},{param:"Прямий ROI",value:"Доходи від автоматичних штрафів перевищують вартість платформи"},{param:"Пілот",value:"Розгортається протягом 7 робочих днів на існуючих публічних камерах"}]}]}],comparison:{title:"Порівняльне Резюме Трьох Платформ",rows:[{feature:"Основний фокус",drakon:"Державний сектор та критично важливий",perceptrum:"Приватний та житловий сектор",fast:"Трафік та містобудування"},{feature:"Працює на",drakon:"Серверах клієнта (on-premise)",perceptrum:"Персональному комп'ютері (i5+)",fast:"Муніципальних/концесіонерських серверах"},{feature:"GPU потрібна",drakon:"❌ Ні",perceptrum:"❌ Ні",fast:"❌ Ні (крім SBC)"},{feature:"Заміна камер",drakon:"❌ Не потрібна",perceptrum:"❌ Не потрібна",fast:"❌ Не потрібна"},{feature:"Аналіз наживо (24/7)",drakon:"✅ Так",perceptrum:"✅ Так",fast:"✅ Так"},{feature:"Постобробка записів",drakon:"✅ Так (DVR/NVR/NAS)",perceptrum:"✅ Так (DVR/NVR/NAS)",fast:"✅ Так (DVR/NVR/NAS)"},{feature:"JOBs природною мовою",drakon:"✅ Так",perceptrum:"✅ Так",fast:"✅ Так"},{feature:"Інтеграція API/Webhook",drakon:"✅ Так",perceptrum:"✅ Так",fast:"✅ Так"},{feature:"Багатокамерне стеження",drakon:"✅ Так",perceptrum:"✅ Так",fast:"✅ Так"},{feature:"Приватна кооперативна мережа",drakon:"✅ Координує пошуки",perceptrum:"✅ Бере участь (добровільно)",fast:"✅ Координує дорожні пошуки"},{feature:"Безкоштовна версія доступна",drakon:"❌ Ні",perceptrum:"✅ Так (базова)",fast:"❌ Ні"},{feature:"PoC доступний",drakon:"✅ Так",perceptrum:"❌ Ні",fast:"✅ Так"},{feature:"Автоматичні штрафи",drakon:"❌ Не в фокусі",perceptrum:"❌ Не в фокусі",fast:"✅ Так — автоматична генерація"},{feature:"Територіальний інтелект",drakon:"Інституційний операційний",perceptrum:"Приватний операційний",fast:"✅ Територіальний та міський"},{feature:"Відповідність GDPR/LGPD",drakon:"✅ Так",perceptrum:"✅ Так (за проектом)",fast:"✅ Так"},{feature:"Час активації пілоту",drakon:"До 7 робочих днів",perceptrum:"Хвилини",fast:"До 7 робочих днів"}]}},ar:{hero:{badge:"المواصفات الفنية",title:"المواصفات الفنية",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"وثيقة فنية منظمة لعمليات التقييم والمشتريات والتكامل. جميع مواصفات منصات AiQuimist الثلاث — الوظائف المشتركة والمميزات الحصرية.",part1:"الجزء 1 — المواصفات الأساسية",part1sub:"الوظائف المتوفرة في المنصات الثلاث",part2:"الجزء 2 — المواصفات الحصرية",part2sub:"ميزات ومميزات خاصة بكل منتج",part3:"ملخص مقارن"},copy:"نسخ الجدول",copied:"تم النسخ!",yes:"✅ نعم",no:"❌ لا",feature:"الميزة",capacity:"القدرة",detail:"التفاصيل",param:"المعامل",value:"القيمة",sections:[{id:"s1",title:"1.1 محرك الذكاء الاصطناعي — التفسير متعدد الوسائط الشامل",desc:"منصة AiQuimist التي تحلل في آنٍ واحد الفيديو والصوت والنص والصورة لاستخراج السياق الحقيقي وتحديد المواقف ذات الصلة.",type:"capabilities",items:[{label:"🎥 الفيديو",detail
45:"تحليل فوري للكاميرات المباشرة والتسجيلات. يتعرف على المشاهد والأجسام والسلوكيات والحركات والأنماط."},{label:"🔊 الصوت",detail:"اكتشاف الكلام والكلمات الرئيسية والأنماط الدلالية ونبرة الصوت والإلحاح والنزاعات والأصوات المثيرة للاهتمام القابلة للتكوين."},{label:"📄 النص والصورة",detail:"رفع وتحليل الملفات (فيديو، صورة، صوت، نص). استخراج الأدلة والبيانات الوصفية والترابط بين المصادر."},{label:"معالجة زمنية أصلية",detail:"يحلل سلاسة الحركة، وليس فقط الإطارات المنفردة"},{label:"نافذة سياق ضخمة",detail:"يحتفظ بذاكرة فترات فيديو/صوت طويلة لربط الأحداث"},{label:"تحليل في الوقت الفعلي (مباشر)",detail:"تدفقات الكاميرات والقنوات الصوتية 24×7"},{label:"المعالجة اللاحقة",detail:"نفس معايير الاكتشاف مطبقة على الأرشيف والملفات المسجلة: NVR وDVR وNAS"},{label:"رفع الملفات الرقمية",detail:"فيديو وصورة وصوت ونص للتحليل متعدد الوسائط المترابط"},{label:"تحديد الحالة العاطفية",detail:"قراءة لغة الجسد ونبرة الصوت والإشارات السلوكية"},{label:"تجريد موفري الذكاء الاصطناعي",detail:"نقاط نهاية وبيانات اعتماد وحدود قابلة للتكوين؛ تغيير الموفر بأقل تأثير"}]},{id:"s2",title:"1.2 استيعاب الكاميرات والمصادر",type:"mixed",items:[{label:"توافق شامل",detail:"أي كاميرا بغض النظر عن العلامة التجارية أو المصنّع أو الطراز أو الجيل"},{label:"تناظري ورقمي",detail:"لا يلزم استبدال الأجهزة"},{label:"البروتوكول الرئيسي",detail:"RTSP وONVIF وطرق HTTP/الملف المكافئة"},{label:"DVR / NVR / NAS",detail:"قراءة الأجهزة المثبتة لدى العميل مسبقاً"},{label:"استيراد مجمّع",detail:"Excel أو CSV مع بيانات وصفية للكاميرا (IP والمصنّع والمستخدم وكلمة المرور والمنفذ وما إلى ذلك)"},{label:"تشغيل مستقل",detail:"محلي تماماً عبر الشبكة الداخلية — لا تعرض للتدفقات على الإنترنت"},{label:"أمن الشبكة",detail:"لا منافذ مفتوحة للوصول عن بُعد ولا إعدادات NAT/نفق"},{label:"قابلية التوسع",detail:"من 1 إلى N من الكاميرات/القنوات الصوتية بالتوازي"},{label:"توافر التدفق",detail:"مراقبة واستعادة تلقائية بعد الأعطال"}]},{id:"s3",title:"1.3 تنسيق المهام — JOB / STEP",desc:"نظام أتمتة ذكي يحل محل المشغلين البشريين في روتين المراقبة. يُنشأ عبر المحفزات باللغة الطبيعية — بدون كود، بدون برمجة.",type:"capabilities",items:[{label:"JOB (مهمة)",detail:"وحدة مراقبة تقرأ 1 أو N كاميرا/قناة وتتصرف وفق الشروط المحددة"},{label:"STEP (خطوة)",detail:"كل JOB مكوّن من عدة خطوات متسلسلة؛ نتيجة كاميرا واحدة (مخرجات) تغذي التالية (مدخلات)"},{label:"مصادر متعددة لكل خطوة",detail:"كل STEP يمكنه تفعيل كاميرا واحدة أو أكثر و/أو قناة صوتية واحدة أو أكثر"},{label:"ربط ذكي",detail:"تبعية معرفية بين الخطوات؛ يتغير التدفق بناءً على النتيجة السابقة"},{label:"قرارات شرطية أصلية",detail:"تفرعات وإيقاف وتكرار أو تصعيد بناءً على النتيجة الفعلية"},{label:"محفز لكل قناة",detail:"كل كاميرا أو قناة صوتية تتلقى محفزاً محدداً ضمن نفس JOB"},{label:"الجدولة",detail:"التنفيذ في الأيام والأوقات المجدولة، بمدة محددة أو مستمرة"},{label:"تفعيل/تعطيل فوري",detail:"لا يلزم إعادة التكوين"}
45,{label:"إدارة إصدارات المهام",detail:"سجل الإعدادات والمحفزات"},{label:"إنشاء من قِبَل غير التقنيين",detail:"يُنشئ المشغلون دون معرفة تقنية مهام JOB كاملة عبر الواجهة مع وكيل ذكي"}],params:[{param:"إنشاء JOBs",value:"لغة طبيعية (نص أو صوت) — بدون كود"},{param:"الربط",value:"يستخدم STEP N النتيجة المعرفية لـ STEP N-1"},{param:"المصادر لكل STEP",value:"كاميرا واحدة أو أكثر + قناة صوتية واحدة أو أكثر"},{param:"الجدولة",value:"التاريخ والوقت والمدة والتكرار قابلة للتكوين"}]},{id:"s4",title:"1.4 قدرات الاكتشاف والتصنيف",type:"grouped",groups:[{label:"اكتشاف قائم على الفيديو (رؤية حاسوبية / متعدد الوسائط)",items:["تحديد المواقف والأفعال ذات الصلة وفق المحفزات المكوّنة","التعرف على الأشخاص المعنيين — قائمة مراقبة مع ربط تلقائي للأحداث","عدّ الأشخاص مع مشغّلات شرطية (أكثر من X / أقل من X / بالضبط X)","تتبع شخص واحد أو أكثر/مركبات عبر الزمن","تتبع متعدد الكاميرات مع إعادة التعريف — يتتبع التنقل بين الكاميرات A → N → B","اكتشاف انحراف المسار وانتهاك المسار المتوقع","قراءة لوحات الأرقام واللافتات والمحتوى النصي المرئي في الكاميرا","تحديد إيماءات اليد القابلة للتكوين وإيماءات لغة الإشارة (عند تحديدها في المحفز)","اكتشاف الحالة العاطفية ولغة الجسد قبل النزاع"]},{label:"اكتشاف قائم على الصوت (كلام / أصوات / متعدد الوسائط)",items:["تحليل الصوت المباشر والمسجل مع النسخ (STT) عند الاقتضاء","التمييز — فصل المتحدثين وتحديدهم مع ملخص لكل متحدث وملخص المحادثة بأكملها","اكتشاف الكلمات الرئيسية المنطوقة وفق المعاملة","اكتشاف العبارات والأنماط الدلالية القابلة للتكوين","اكتشاف أنماط الكلام الدالة على الأحداث — الإلحاح والنزاع والتكرار","إبراز المقتطفات ذات الصلة للمراجعة"]},{label:"نظام التنبيهات",items:["تنبيه عند تحقق الشرط — مثل: 'تم اكتشاف مجموعة من X أشخاص في النقطة A'","تنبيه عند عدم تحقق الشرط — مثل: 'لم يمر الشخص عبر الكاميرا Y خلال الفترة T'","تنبيهات بمنطق تسلسل المرور — سير عمل متعدد النقاط قابل للتكوين","مشغّلات ونوافذ زمنية ومعايير ربط قابلة للمعاملة","مستويات خطورة ومستلمون وقنوات إشعار قابلة للتكوين","أدلة مرفقة بالتنبيهات — إطارات ومقاطع فيديو وأجزاء صوتية","تسجيل دورة حياة التنبيه — التوليد والتوجيه والاستلام والإغلاق"]}]},{id:"s5",title:"1.5 السياق وتوليد الأدلة",type:"capabilities",items:[{label:"وصف سياقي تلقائي",detail:"يُولَّد باللغة الطبيعية لكل حدث تم اكتشافه"},{label:"بيانات وصفية منظمة",detail:"المصدر والتاريخ/الوقت والموقع المنطقي ونوع الحدث والخطورة"},{label:"ربط تلقائي",detail:"نفس الشخص ونفس المنطقة ونفس الفترة — عبر مصادر متعددة"},{label:"استخراج الأدلة",detail:"إطارات ومقاطع فيديو وأجزاء صوتية ونص معترف به"}
45,{label:"قابلية تتبع الاستنتاجات",detail:"سجلات وتدقيق لجميع الاكتشافات"},{label:"تقارير تشغيلية",detail:"مسار تدقيق كامل"}]},{id:"s6",title:"1.6 التشغيل باللغة الطبيعية",desc:"أي مشغّل — دون تدريب تقني — يُنشئ ويكوّن ويدير مهام JOB كاملة باستخدام النص أو الصوت. لا برمجة ولا نصوص برمجية ولا أدوات خارجية.",type:"capabilities",items:[{label:"استعلامات باللغة الطبيعية",detail:"أسئلة مع إجابات موضوعة في السياق"},{label:"أوامر نصية وصوتية",detail:"إنشاء وتحرير وتفعيل المهام"},{label:"تكوين كامل عبر المحفز",detail:"المراقبة والتنبيهات والمشغّلات والمستلمون"},{label:"ضوابط الحوكمة",detail:"تأكيد للإجراءات الحرجة وقيود حسب الملف الشخصي"},{label:"مسار التدقيق",detail:"تسجيل جميع الأوامر والتغييرات"}]},{id:"s7",title:"1.7 التكاملات الخارجية — API وWebhook",type:"capabilities",items:[{label:"تشغيل تلقائي للـ webhook",detail:"استدعاءات APIs خارجية بناءً على شروط محددة"},{label:"التكوين من قِبَل غير التقنيين",detail:"عبر المحفز باللغة الطبيعية"},{label:"حمولة منظمة",detail:"بيانات وصفية وأدلة بصيغة JSON"},{label:"مصادقة الاستدعاءات الخارجية",detail:"رموز ومفاتيح وتوقيعات وقوائم أذونات"},{label:"تدقيق الطلبات",detail:"سجل كامل لجميع الاستدعاءات الخارجية"},{label:"معالجة الأخطاء",detail:"إعادة المحاولات والطوابير والسجلات"},{label:"التوافقية",detail:"لوحات المعلومات والمراسلة وأنظمة التسجيل والإدارة"}],params:[{param:"البروتوكول",value:"REST API + Webhooks"},{param:"الحمولة",value:"JSON منظم مع بيانات وصفية وأدلة وسياق"},{param:"المصادقة",value:"رموز ومفاتيح وتوقيعات وقوائم أذونات"},{param:"التدقيق",value:"سجل كامل لجميع الاستدعاءات الخارجية"}]},{id:"s8",title:"1.8 مقاييس الاستهلاك وإدارة التكاليف",type:"capabilities",items:[{label:"مقاييس لكل JOB/STEP",detail:"تسجيل وإتاحة مفصّلة"},{label:"مقاييس لكل كاميرا/قناة صوتية",detail:"استهلاك فردي لكل مصدر"},{label:"مقاييس لكل مستخدم/ملف شخصي",detail:"تتبع الاستخدام لكل مشغّل"},{label:"عدّ الرموز والطلبات",detail:"تقديرات وقيم فعلية مع زمن الاستجابة"},{label:"التكاليف حسب البُعد",detail:"JOB والكاميرا والمستخدم"},{label:"الحصص ومراكز التكلفة",detail:"دعم الحصص والفصل حسب القسم"}]},{id:"s9",title:"1.9 متطلبات الأجهزة",type:"params",params:[{param:"GPU",value:"غير مطلوبة — لا في أيٍّ من المنصات الثلاث"},{param:"GPU (F.A.S.T.-AI)",value:"تُستخدم لبعض المخالفات المعقدة وحل SBC للوقاية من الحوادث في الطرق السريعة"},{param:"أجهزة خاصة",value:"غير مطلوبة — تتكامل مع البنية التحتية الحالية"},{param:"الكاميرات",value:"دون استبدال — متوافقة مع أي جهاز مثبّت"},{param:"نظام التشغيل المدعوم",value:"Windows (توافق أصلي)"},{param:"النشر",value:"On-premises أو سحابة عامة/خاصة (الإقليم الوطني) أو هجينة"},{param:"التفعيل",value:"أيام لا أشهر — يمكن نشر النموذج التجريبي في 7 أيام عمل"}]},{id:"s10",title:"1.10 أمن المعلومات والحوكمة وحماية البيانات",type:"capabilities",items:[{label:"التحكم في الوصول RBAC",detail
45:"فصل الوظائف ومبدأ أقل الامتيازات"},{label:"مسارات تدقيق كاملة",detail:"سجلات التشغيل والأوامر وتغييرات التكوين والمحفزات"},{label:"حماية البيانات",detail:"أثناء النقل وفي وضع الراحة"},{label:"سياسات الاحتفاظ والحذف",detail:"إخفاء الهوية/تشفير الهوية عند الاقتضاء"},{label:"إدارة ملفات تعريف الوصول",detail:"قيود تشغيلية حسب المستوى"},{label:"الامتثال لـ GDPR/LGPD",detail:"التقليل والغرض والضرورة والمساءلة"},{label:"تخزين بيانات الاعتماد",detail:"Windows Credential Manager/DPAPI أو ما يعادله — تخزين النص الواضح محظور"}]},{id:"s11",title:"1.11 التوافر والاستمرارية التشغيلية",type:"capabilities",items:[{label:"تشغيل 24×7",detail:"مراقبة مستمرة دون انقطاع"},{label:"الاسترداد التلقائي",detail:"استئناف التدفق بعد الأعطال دون تدخل"},{label:"المرونة أمام انقطاع الاتصال",detail:"إعادة معالجة المحتوى المسجل"},{label:"الطوابير وإعادة المعالجة",detail:"ضمان التغطية دون ثغرات"},{label:"التوافر العالي",detail:"التكرار والنسخ المتماثل والموازنة عند التكوين"}]},{id:"s12",title:"1.12 التكامل مع شبكة التعاون الخاصة",desc:"قدرة حصرية لنظام AiQuimist البيئي: تشارك كاميرات المستخدمين المتطوعين الخاصة تلقائياً في عمليات البحث العامة — دون إرسال الفيديو، دون فتح منافذ الشبكة.",type:"capabilities",items:[{label:"توزيع مجاني",detail:"حل Windows قابل للتوزيع على المستخدمين الخاصين على مستوى وطني"},{label:"آلية الإقران",detail:"رمز التفعيل وربط الجهاز وإلغاؤه"},{label:"نقاط النهاية المصرح بها فقط",detail
45:"يمكن فقط لنقاط النهاية المصرح بها استهلاك البيانات/الأحداث أو نشرها"},{label:"الاكتشاف والإشعار المحلي",detail:"يجري التحليل على حاسوب المستخدم الخاص"},{label:"إشعار التطابق",detail:"تلقائي إلى المنصة المركزية عند التطابق مع قائمة المراقبة"},{label:"تنبيه منظم",detail:"صورة الشخص مع طبقة تحسين، التاريخ/الوقت، الكاميرا، العنوان الكامل، GPS، مستوى الثقة، المعرّف"},{label:"خوارزميات Re-ID",detail:"إعادة التعريف وعند الاقتضاء والتصريح، التعرف على الوجه"},{label:"المشاركة الطوعية",detail:"المستخدم يقرر تفعيل التعاون وأي كاميرات تشارك"},{label:"الخصوصية بالتصميم",detail:"لا منافذ مفتوحة، لا تدفقات ترسل باستمرار"},{label:"امتثال كامل لـ GDPR/LGPD",detail:"تحليل محلي، مشاركة النتيجة ذات الصلة فقط"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"ذكاء مؤسسي للعمليات العامة والبيئات الحيوية",sections:[{title:"2.1 التركيز والنطاق التشغيلي",desc:"منصة للقطاع العام والمؤسسي والشركات الكبرى ذات الأهمية القصوى. تعمل على شبكات كاميرات واسعة النطاق.",type:"list",items:["البلديات والحكومات الإقليمية والفيدرالية","قوات الشرطة والحرس البلدي وإدارات الأمن","مراكز القيادة والسيطرة المتكاملة (CIOPs)","السجون ومؤسسات الاحتجاز","المطارات والموانئ والمحطات","الحدود والبنية التحتية الحيوية الوطنية","المؤسسات العامة والشركات الخاصة الكبرى ذات العمليات المعقدة","الشركات الخاصة الكبرى: البنوك واللوجستيك وغيرها"]},{title:"2.2 البنية التحتية الحصرية",type:"params",params:[{param:"يعمل على",value:"خوادم العميل الخاصة (on-premise)"},{param:"أمان البيانات",value:"100% داخلي — لا معلومات مكشوفة على الإنترنت"},{param:"GPU",value:"غير مطلوبة"},{param:"الخوادم",value:"تقليدية — مخصصة لقاعدة البيانات وقراءة الكاميرات المتزامنة"},{param:"النطاق",value:"شبكات مؤسسية كبيرة — من عشرات إلى آلاف الكاميرات"}]},{title:"2.3 الاكتشافات المحددة",type:"list",items:["الحركات المشبوهة في المحيطات ونقاط الوصول والبيئات الحيوية","السلوكيات المتعارضة مع المناطق الحساسة","الاقتحامات ومحاولات الوصول غير المصرح به","النزاعات والمواقف العنيفة","محاولات الهروب في مرافق الاحتجاز","وجود أسلحة","الأشياء المتروكة في مواقع الخطر","التغييرات المفاجئة في الأنماط السلوكية","تجمعات غير طبيعية للأشخاص في النقاط الحيوية","مواقف المخاطرة في البيئات الحيوية — المطارات والحدود والسجون","المحرك الزمني: ينفّذ المحفز ويستمر النظام دون تدخل بشري"]},{title:"2.4 تنسيق شبكة التعاون",type:"list",items:["يطلق عمليات بحث وتتبع تنتشر عبر شبكة التعاون العامة والخاصة بأكملها","يتلقى إشعارات تلقائية من Perceptrum عند التطابق مع قائمة المراقبة","ينسّق عمليات متكاملة بين الفضاء العام والمروري (F.A.S.T.) والخاص (Perceptrum)","يمركز التنبيهات والأدلة ومسار التتبع لكامل الشبكة المتكاملة"]},{title:"2.5 النموذج التجاري",type:"params",params:[{param:"الترخيص",value:"مؤسسي — عقد مع جهة حكومية أو شركة"},{param:"النشر",value:"On-premise على خوادم العميل"},{param:"الدعم",value:"الإعداد والتكوين مشمولان"},{param:"النموذج التجريبي",value:"قابل للنشر في 7 أيام عمل على البنية التحتية الحالية"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"ذكاء متعدد الوسائط للبيئة الخاصة — من المنزل إلى الشركة الكبرى",sections:[{title:"2.6 التركيز والنطاق التشغيلي",desc:"منصة للقطاع الخاص والتجاري والسكني والمجمعات السكنية. تُديمقرط الوصول إلى ذكاء المراقبة المتقدم.",type:"list",items:["المساكن والمنازل","المجمعات والمباني السكنية والتجارية","المشاريع الصغيرة والمتوسطة","سلاسل التجزئة والمتاجر","البنوك والمؤسسات المالية","مراكز التسوق والمواقف","المدارس والجامعات الخاصة","المستشفيات والعيادات الخاصة","المستودعات ومرافق اللوجستيك","المزارع والعقارات الريفية"]},{title:"2.7 البنية التحتية الحصرية",type:"params",params:[{param:"يعمل على",value:"الحاسوب الشخصي للمستخدم (المنزلي أو الشركة)"},{param:"الحد الأدنى للمعالج",value:"Intel i5 أو أفضل"},{param:"GPU",value:"غير مطلوبة"}
45,{param:"التخزين",detail:"مساحة القرص للصور المؤقتة أثناء التحليل"},{param:"DVR/NVR",value:"قراءة أصلية للبحث في التسجيلات السابقة"},{param:"التفعيل",value:"دقائق — استيراد الكاميرات عبر CSV والبدء فوراً"}]},{title:"2.8 الاكتشافات المحددة",type:"list",items:["الحركات خارج النمط في أوقات أو أماكن غير معتادة","السرقة والنهب والاعتداء — السلوكيات النمطية للسطو","الوجود غير المصرح به في المناطق المقيدة","خطر المحيط ومحاولات الاقتحام","طلبات المساعدة — الإيماءات والسلوكيات في حالات الضائقة","الأشياء المشبوهة المتروكة","الشذوذات التشغيلية في العمليات (اللوجستيك والمخزون والتسليم)","التحقق الآلي من العمليات: المركبة واللوحة والمندوب وعدّ الكميات","أحداث قابلة للتكوين حسب نوع البيئة — ملف شخصي لكل منشأة","يحدد منتهكي أوامر الحماية (أوامر الابتعاد وما إلى ذلك)"]},{title:"2.9 التعاون الطوعي (حصري Perceptrum)",type:"list",items:["علامة التعاون الطوعي — يقرر المالك تفعيله وأي كاميرات تشارك","عند التفعيل: تشارك الكاميرا في عمليات البحث الصادرة من Perceptrum Corporate أو F.A.S.T.-AI","يجري التحليل محلياً — على حاسوب المستخدم الخاص","لا يُرسل أي تدفق فيديو مستمر إلى المركز العام","لا منافذ شبكة مفتوحة خارجياً","يُرسل إلى المركز النتيجة فقط (التطابق) — لا الصور","يتضمن التنبيه: صورة الشخص مع الطبقة والتاريخ/الوقت والكاميرا والعنوان وGPS ومستوى الثقة","المشاركة قابلة للإلغاء في أي وقت من قِبَل المالك","امتثال كامل لـ GDPR/LGPD — الخصوصية بالتصميم المعماري"]},{title:"2.10 النموذج التجاري",type:"params",params:[{param:"الإصدار المجاني",value:"وظائف مراقبة أساسية — بدون تكاليف، بدون بطاقة ائتمان"},{param:"الإصدار المميز",value:"وصول كامل — ترخيص شهري بتكلفة معقولة"},{param:"التعاون العام",value:"مجاني للمستخدم الخاص — التكلفة تدفعها الجهة الحكومية لكل استعلام"},{param:"التكلفة للدولة",value:"قروش لكل بحث — تُدفع فقط عند تشغيل البحث"},{param:"التوزيع",value:"قابل للتوزيع على المستخدمين الخاصين على مستوى وطني"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"الذكاء الإقليمي والتنقل والقراءة الديناميكية للفضاء الحضري",sections:[{title:"2.11 التركيز والنطاق التشغيلي",desc:"منصة للتنقل والحركة المرورية والتخطيط الحضري والتفسير الإقليمي الديناميكي.",type:"list",items:["أقسام المرور والتنقل البلدية","مراكز العمليات الحضرية (COUs)","أقسام الأشغال العامة والتخطيط الحضري","هيئات التحكم في حركة المرور","منظمو الأحداث العامة الكبرى","ملتزمو الطرق السريعة والمواقف","قوات الأمن العام — تتبع المركبات والعمليات المرورية"]},{title:"2.12 البنية التحتية الحصرية",type:"params",params:[{param:"يعمل على",value:"خوادم الشركات المسؤولة عن حركة المرور والتخطيط الحضري"},{param:"GPU",value:"غير مطلوبة (إلا لتحليل المخالفات المعقدة وحل SBC للوقاية من الحوادث في الطرق السريعة)"},{param:"التخزين",value:"منخفض — يقرأ مباشرة من NAS وDVR وNVR أو البث الحالي"},{param:"المصادر المتوافقة",value:"كاميرات الطرق العامة وإشارات المرور والرادارات الثابتة والمتنقلة — أي معيار"},{param:"النطاق",value:"شبكة الطرق الحضرية الكاملة — الأحياء والممرات والمدن"}]},{title:"2.13 الاكتشافات المحددة",type:"list",items:["مخالفات المرور — توليد تلقائي للغرامات مع الأدلة","الحوادث ودهس المشاة — اكتشاف وإشعار فوري","تشكّل الازدحام — اكتشاف مبكر قبل الانهيار","إغلاق الطرق والتحويلات","الاستخدام غير النظامي للفضاء العام","الأحداث غير النمطية المؤثرة على التنقل الحضري","المخاطر التشغيلية على الطرق والمناطق الاستراتيجية","أنماط التدفق والمناطق الحيوية والتكرارات","تتبع المركبات المشبوهة — اللوحة والطراز واللون والمسار","تركيز وكثافة الأشخاص على الطرق والفضاءات العامة","مطاردة تلقائية عند طلب المشغّل"]},{title:"2.14 الذكاء الإقليمي (حصري F.A.S.T.-AI)",type:"list",items:["تحليل أنماط تدفق المركبات والمشاة حسب الوقت واليوم والمنطقة","تحديد المناطق الحيوية وتكرار الحوادث","دعم قرارات تخطيط الطرق والتخطيط الحضري ببيانات حقيقية","لوحة إدارة إقليمية في الوقت الفعلي للأمناء والمديرين","دعم إدارة الأحداث الكبرى — الكثافة والتدفق ومخاطر الشغب","توليد مستمر لمعلومات استراتيجية حول السلوك الإقليمي"]},{title:"2.15 النموذج التجاري",type:"params",params:[{param:"الترخيص",value:"بلدي / إقليمي — عقد مع جهة عامة للتنقل أو الأمن"},{param:"النشر",value:"خوادم البلدية أو الملتزم — على البنية التحتية الحالية"},{param:"العائد المباشر",value:"إيرادات الغرامات التلقائية تتجاوز تكلفة المنصة"},{param:"النموذج التجريبي",value:"قابل للنشر في 7 أيام عمل على الكاميرات العامة الحالية"}]}]}],comparison:{title:"ملخص مقارن للمنصات الثلاث",rows:[{feature:"التركيز الرئيسي",drakon:"القطاع العام والحيوي",perceptrum:"القطاع الخاص والسكني",fast:"المرور والتخطيط الحضري"},{feature:"يعمل على",drakon:"خوادم العميل (on-premise)",perceptrum:"الحاسوب الشخصي (i5+)",fast:"خوادم البلدية/الملتزم"},{feature:"GPU مطلوبة",drakon:"❌ لا",perceptrum:"❌ لا",fast:"❌ لا (إلا SBC)"},{feature:"استبدال الكاميرات",drakon:"❌ غير مطلوب",perceptrum:"❌ غير مطلوب",fast:"❌ غير مطلوب"},{feature:"تحليل مباشر (24/7)",drakon:"✅ نعم",perceptrum:"✅ نعم",fast:"✅ نعم"},{feature:"معالجة لاحقة مسجلة",drakon:"✅ نعم (DVR/NVR/NAS)",perceptrum:"✅ نعم (DVR/NVR/NAS)",fast:"✅ نعم (DVR/NVR/NAS)"},{feature:"JOBs باللغة الطبيعية",drakon:"✅ نعم",perceptrum:"✅ نعم",fast:"✅ نعم"},{feature:"تكامل API/Webhook",drakon:"✅ نعم",perceptrum:"✅ نعم",fast:"✅ نعم"},{feature:"تتبع متعدد الكاميرات",drakon:"✅ نعم",perceptrum:"✅ نعم",fast:"✅ نعم"},{feature:"شبكة التعاون الخاصة",drakon:"✅ ينسق عمليات البحث",perceptrum:"✅ يشارك (طوعياً)",fast:"✅ ينسق عمليات البحث المروري"},{feature:"إصدار مجاني متاح",drakon:"❌ لا",perceptrum:"✅ نعم (أساسي)",fast:"❌ لا"},{feature:"PoC متاح",drakon:"✅ نعم",perceptrum:"❌ لا",fast:"✅ نعم"},{feature:"غرامات تلقائية",drakon:"❌ ليس التركيز",perceptrum:"❌ ليس التركيز",fast:"✅ نعم — توليد تلقائي"},{feature:"الذكاء الإقليمي",drakon:"تشغيلي مؤسسي",perceptrum:"تشغيلي خاص",fast:"✅ إقليمي وحØ
45¶Ø±ÙŠ"},{feature:"امتثال GDPR/LGPD",drakon:"✅ نعم",perceptrum:"✅ نعم (بالتصميم)",fast:"✅ نعم"},{feature:"وقت تفعيل النموذج التجريبي",drakon:"حتى 7 أيام عمل",perceptrum:"دقائق",fast:"حتى 7 أيام عمل"}]}},he:{hero:{badge:"מפרטים טכניים",title:"מפרטים טכניים",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"מסמך טכני מובנה לתהליכי הערכה, רכש ואינטגרציה. כל המפרטים של שלוש פלטפורמות AiQuimist — פונקציונליות משותפת ומבדלים בלעדיים.",part1:"חלק 1 — Core Specs",part1sub:"פונקציונליות הקיימת בכל שלוש הפלטפורמות",part2:"חלק 2 — Specs בלעדיים",part2sub:"תכונות ומבדלים ספציפיים לכל מוצר",part3:"סיכום השוואתי"},copy:"העתק טבלה",copied:"הועתק!",yes:"✅ כן",no:"❌ לא",feature:"תכונה",capacity:"יכולת",detail:"פרטים",param:"פרמטר",value:"ערך",sections:[{id:"s1",title:"1.1 מנוע הבינה המלאכותית — פרשנות מולטי-מודאלית אוניברסלית",desc:"פלטפורמת AiQuimist המנתחת בו-זמנית וידאו, אודיו, טקסט ותמונה כדי לחלץ הקשר אמיתי ולזהות מצבים רלוונטיים.",type:"capabilities",items:[{label:"🎥 וידאו",detail:"ניתוח בזמן אמת של מצלמות חיות והקלטות. מזהה סצנות, אובייקטים, התנהגויות, תנועות ודפוסים."},{label:"🔊 אודיו",detail:"זיהוי דיבור, מילות מפתח, דפוסים סמנטיים, טון קול, דחיפות, קונפליקטים וצלילי עניין הניתנים להגדרה."},{label:"📄 טקסט ותמונה",detail:"העלאה וניתוח קבצים (וידאו, תמונה, אודיו, טקסט). חילוץ ראיות, מטא-נתונים וקורלציה בין מקורות."},{label:"עיבוד זמני מקורי",detail:"מנתח זרימות תנועה, לא רק פריימים מבודדים"},{label:"חלון הקשר עצום",detail:"שומר זיכרון של תקופות וידאו/אודיו ארוכות לקורלציית אירועים"},{label:"ניתוח בזמן אמת (שידור חי)",detail:"זרמי מצלמות וערוצי אודיו 24×7"},{label:"עיבוד לאחר מעשה",detail:"אותם קריטריוני זיהוי מיושמים על ארכיוונים וקבצים מוקלטים: NVR, DVR, NAS"},{label:"העלאת קבצים דיגיטליים",detail:"וידאו, תמונה, אודיו וטקסט לניתוח מולטי-מודאלי מתואם"},{label:"זיהוי מצב רגשי",detail:"קריאת שפת גוף, טון קול ואותות התנהגותיים"},{label:"הפשטת ספקי AI",detail:"נקודות קצה, אישורים ומגבלות הניתנים להגדרה; החלפת ספק עם השפעה מינימלית"}]},{id:"s2",title:"1.2 קליטת מצלמות ומקורות",type:"mixed",items:[{label:"תאימות אוניברסלית",detail:"כל מצלמה, ללא תלות במותג, יצרן, דגם או דור"},{label:"אנלוגי ודיגיטלי",detail:"ללא צורך בהחלפת חומרה"},{label:"פרוטוקול ראשי",detail:"RTSP, ONVIF ושיטות HTTP/קובץ שקולות"},{label:"DVR / NVR / NAS",detail:"קריאת ציוד המותקן כבר אצל הלקוח"},{label:"ייבוא מסיבי",detail:"Excel או CSV עם מטא-נתונים של מצלמות (IP, יצרן, משתמש, סיסמה, פורט וכו')"},{label:"פעולה עצמאית",detail:"מקומי לחלוטין דרך רשת פנימית — ללא חשיפת זרמים לאינטרנט"},{label:"אבטחת רשת",detail:"אין פורטים פתוחים לגישה מרחוק ואין הגדרות NAT/מנהרה"},{label:"מדרגיות",detail:"מ-1 עד N מצלמות/ערוצי אודיו במקביל"}
45,{label:"זמינות זרם",detail:"ניטור ושחזור אוטומטי לאחר כשלים"}]},{id:"s3",title:"1.3 תזמור משימות — JOB / STEP",desc:"מערכת אוטומציה חכמה המחליפה מפעילים אנושיים בשגרות מעקב. נוצרת דרך הנחיות בשפה טבעית — ללא קוד, ללא תכנות.",type:"capabilities",items:[{label:"JOB (משימה)",detail:"יחידת ניטור הקוראת 1 או N מצלמות/ערוצים ופועלת על פי תנאים מוגדרים"},{label:"STEP (שלב)",detail:"כל JOB מורכב ממספר שלבים מקושרים; תוצאת מצלמה אחת (פלט) מזינה את הבאה (קלט)"},{label:"מקורות מרובים לכל שלב",detail:"כל STEP יכול להפעיל 1 או יותר מצלמות ו/או 1 או יותר ערוצי אודיו"},{label:"קישור חכם",detail:"תלות קוגניטיבית בין שלבים; הזרימה משתנה בהתאם לתוצאה הקודמת"},{label:"החלטות מותנות מקוריות",detail:"ענפים, עצירה, חזרה או הסלמה בהתאם לתוצאה בפועל"},{label:"הנחיה לכל ערוץ",detail:"כל מצלמה או ערוץ אודיו מקבל הנחיה ספציפית באותו JOB"},{label:"תזמון",detail:"הרצה בימים ובשעות מתוזמנות, עם משך מוגדר או רציף"},{label:"הפעלה/כיבוי מיידי",detail:"ללא צורך בהגדרה מחדש"},{label:"ניהול גרסאות משימות",detail:"היסטוריה של תצורות והנחיות"},{label:"יצירה על-ידי לא-טכניים",detail:"מפעילים ללא ידע טכני יוצרים JOBs מלאים דרך הממשק עם סוכן חכם"}],params:[{param:"יצירת JOBs",value:"שפה טבעית (טקסט או קול) — ללא קוד"},{param:"קישור",value:"STEP N משתמש בתוצאה הקוגניטיבית של STEP N-1"},{param:"מקורות לכל STEP",value:"מצלמה אחת או יותר + ערוץ אודיו אחד או יותר"},{param:"תזמון",value:"תאריך, שעה, משך וחזרה הניתנים להגדרה"}]},{id:"s4",title:"1.4 יכולות זיהוי וסיווג",type:"grouped",groups:[{label:"זיהוי מבוסס וידאו (ראייה ממוחשבת / מולטי-מודאלי)",items:["זיהוי מצבים ופעולות רלוונטיות על-פי הנחיות מוגדרות","זיהוי אנשים מעניין — רשימת מעקב עם קישור אוטומטי לאירועים","ספירת אנשים עם טריגרים מותנים (יותר מ-X / פחות מ-X / בדיוק X)","מעקב אחר יחיד אחד או יותר/כלי רכב לאורך זמן","מעקב רב-מצלמות עם זיהוי מחדש — עוקב אחר תנועה בין מצלמות A → N → B","זיהוי סטייה ממסלול והפרת מסלול צפוי","קריאת לוחיות רישוי, שלטים ותוכן טקסט גלוי במצלמה","זיהוי תנועות יד הניתנות להגדרה ותנועות שפת הסימנים (כשמוגדר בהנחיה)","זיהוי מצב רגשי ושפת גוף טרום-קונפליקט"]},{label:"זיהוי מבוסס אודיו (דיבור / צלילים / מולטי-מודאלי)",items:["ניתוח אודיו חי ומוקלט עם תמלול (STT) כשרלוונטי","דיאריזציה — הפרדה וזיהוי דוברים עם סיכום לכל דובר וסיכום השיחה כולה","זיהוי מילות מפתח מדוברות לפי פרמטריזציה","זיהוי ביטויים ודפוסים סמנטיים הניתנים להגדרה","זיהוי דפוסי דיבור המצביעים על אירועים — דחיפות, קונפליקט, חזרה","הדגשת קטעים רלוונטיים לביקורת"]},{label:"מערכת התראות",items:["התראה בתנאי מתקיים — לדוגמה: 'קבוצה של X אנשים זוהתה בנקודה A'","התראה בתנאי שלא מתקיים — לדוגמה: 'אדם לא עבר דרך מצלמה Y בתוך פרק זמן T'","התראות עם לוגיקת רצף מעברים — זרימת עבודה רב-נקודתית הניתנת להגדרה","טריגרים, חלונות זמן וקריטריוני קורלציה הניתנים לפרמטריזציה","רמות חומרה, נמענים וערוצי הודעות הניתנים להגדרה","ראיות מצורפות להתראות — פריימים, קליפי וידאו, קטעי אודיו","רישום מחזור חיים של התראה — יצירה, ניתוב, קבלה וסגירה"]}]},{id:"s5",title:"1.5 הקשרה ויצירת ראיות",type:"capabilities",items:[{label:"תיאור הקשרי אוטומטי",detail
45:"נוצר בשפה טבעית לכל אירוע שזוהה"},{label:"מטא-נתונים מובנים",detail:"מקור, תאריך/שעה, מיקום לוגי, סוג אירוע, חומרה"},{label:"קורלציה אוטומטית",detail:"אותו אדם, אותה אזור, אותו מרווח — על פני מקורות מרובים"},{label:"חילוץ ראיות",detail:"פריימים, קליפי וידאו, קטעי אודיו, טקסט שזוהה"},{label:"יכולת מעקב אחר הסקות",detail:"יומנים וביקורת של כל הזיהויים"},{label:"דוחות תפעוליים",detail:"נתיב ביקורת מלא"}]},{id:"s6",title:"1.6 תפעול בשפה טבעית",desc:"כל מפעיל — ללא הכשרה טכנית — יוצר, מגדיר ומנהל JOBs מלאים באמצעות טקסט או קול. ללא תכנות, סקריפטים או כלים חיצוניים.",type:"capabilities",items:[{label:"שאילתות בשפה טבעית",detail:"שאלות עם תשובות מוקשרות"},{label:"פקודות טקסט וקול",detail:"יצירה, עריכה והפעלה של משימות"},{label:"הגדרה מלאה דרך הנחיה",detail:"ניטורים, התראות, טריגרים ונמענים"},{label:"בקרות ממשל",detail:"אישור לפעולות קריטיות, הגבלות לפי פרופיל"},{label:"נתיב ביקורת",detail:"רישום של כל הפקודות והשינויים"}]},{id:"s7",title:"1.7 אינטגרציות חיצוניות — API ו-Webhook",type:"capabilities",items:[{label:"הפעלת webhook אוטומטית",detail:"קריאות ל-API חיצוניות בהתאם לתנאים מוגדרים"},{label:"הגדרה על-ידי לא-טכניים",detail:"דרך הנחיה בשפה טבעית"},{label:"מטען מובנה",detail:"מטא-נתונים וראיות ב-JSON"},{label:"אימות קריאות חיצוניות",detail:"אסימונים, מפתחות, חתימות ורשימות הרשאות"},{label:"ביקורת בקשות",detail:"יומן מלא של כל הקריאות החיצוניות"},{label:"טיפול בשגיאות",detail:"ניסיונות חוזרים, תורים ויומנים"},{label:"יכולת פעולה הדדית",detail:"לוחות מחוונים, הודעות, מערכות רישום וניהול"}],params:[{param:"פרוטוקול",value:"REST API + Webhooks"},{param:"מטען",value:"JSON מובנה עם מטא-נתונים, ראיות והקשר"},{param:"אימות",value:"אסימונים, מפתחות, חתימות ורשימות הרשאות"},{param:"ביקורת",value:"יומן מלא של כל הקריאות החיצוניות"}]},{id:"s8",title:"1.8 מדדי צריכה וניהול עלויות",type:"capabilities",items:[{label:"מדדים לכל JOB/STEP",detail:"רישום ואספקה מפורטים"},{label:"מדדים לכל מצלמה/ערוץ אודיו",detail:"צריכה אינדיווידואלית לכל מקור"},{label:"מדדים לכל משתמש/פרופיל",detail:"מעקב שימוש לכל מפעיל"},{label:"ספירת אסימונים ובקשות",detail:"הערכות וערכים בפועל עם זמן תגובה"},{label:"עלויות לפי ממד",detail:"JOB, מצלמה ומשתמש"},{label:"מכסות ומרכזי עלות",detail:"תמיכה במכסות והפרדה לפי מחלקה"}]},{id:"s9",title:"1.9 דרישות חומרה",type:"params",params:[{param:"GPU",value:"לא נדרשת — לאף אחת משלוש הפלטפורמות"},{param:"GPU (F.A.S.T.-AI)",value:"משמשת לחלק מהעבירות המורכבות ולפתרון SBC למניעת תאונות בכבישים מהירים"},{param:"חומרה קניינית",value:"לא נדרשת — משתלבת עם תשתית קיימת"},{param:"מצלמות",value:"ללא החלפה — תואם לכל ציוד מותק×
45Ÿ"},{param:"מערכת הפעלה נתמכת",value:"Windows (תאימות מקורית)"},{param:"פריסה",value:"On-premises, ענן ציבורי/פרטי (שטח לאומי) או היברידי"},{param:"הפעלה",value:"ימים, לא חודשים — פיילוט פריסה תוך 7 ימי עסקים"}]},{id:"s10",title:"1.10 אבטחת מידע, ממשל והגנת נתונים",type:"capabilities",items:[{label:"בקרת גישה RBAC",detail:"הפרדת תפקידים ועקרון המינימום הנדרש"},{label:"נתיבי ביקורת מלאים",detail:"יומני תפעול, פקודות, שינויי תצורה והנחיות"},{label:"הגנת נתונים",detail:"במעבר ובמנוחה"},{label:"מדיניות שמירה ומחיקה",detail:"פסבדונימיזציה/אנונימיזציה כשרלוונטי"},{label:"ניהול פרופילי גישה",detail:"הגבלות תפעוליות לפי רמה"},{label:"עמידה ב-GDPR/LGPD",detail:"מינימיזציה, מטרה, צורך ואחריות"},{label:"אחסון אישורים",detail:"Windows Credential Manager/DPAPI או שקול — אחסון טקסט גלוי אסור"}]},{id:"s11",title:"1.11 זמינות ורציפות תפעולית",type:"capabilities",items:[{label:"פעולה 24×7",detail:"ניטור רציף ללא הפסקות"},{label:"שחזור אוטומטי",detail:"חידוש זרם לאחר כשלים ללא התערבות"},{label:"עמידות לאיבוד קישוריות",detail:"עיבוד חוזר של תוכן מוקלט"},{label:"תורים ועיבוד חוזר",detail:"ערובה לכיסוי ללא פערים"},{label:"זמינות גבוהה",detail:"יתירות, שכפול ואיזון כשמוגדרים"}]},{id:"s12",title:"1.12 אינטגרציה עם רשת שיתופית פרטית",desc:"יכולת בלעדית של מערכת האקולוגיה של AiQuimist: מצלמות פרטיות של משתמשים מתנדבים משתתפות אוטומטית בחיפושים ציבוריים — ללא שידור וידאו, ללא פתיחת פורטי רשת.",type:"capabilities",items:[{label:"הפצה חינמית",detail:"פתרון Windows הניתן להפצה למשתמשים פרטיים ברמה לאומית"},{label:"מנגנון צימוד",detail:"קוד הפעלה, קישור והסרת אישור מכשיר"},{label:"נקודות קצה מורשות בלבד",detail:"רק נקודות קצה מורשות יכולות לצרוך או לפרסם נתונים/אירועים"},{label:"זיהוי והודעה מקומיים",detail:"הניתוח מבוצע על המחשב של המשתמש הפרטי"},{label:"הודעת התאמה",detail:"אוטומטי לפלטפורמה המרכזית בהתאמה עם רשימת המעקב"},{label:"התראה מובנית",detail:"תמונת האדם עם שכבת-על, תאריך/שעה, מצלמה, כתובת מלאה, GPS, רמת ביטחון, מזהה"},{label:"אלגוריתמי Re-ID",detail:"זיהוי מחדש, וכשרלוונטי ומורשה, זיהוי פנים"},{label:"השתתפות מרצון",detail:"המשתמש מחליט להפעיל שיתוף פעולה ואילו מצלמות משתתפות"},{label:"פרטיות בעיצוב",detail:"אין פורטים פתוחים, אין זרמים המשודרים ברציפות"},{label:"עמידה מלאה ב-GDPR/LGPD",detail:"ניתוח מקומי, שיתוף התוצאה הרלוונטית בלבד"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"אינטליגנציה מוסדית לפעולות ציבוריות וסביבות קריטיות למשימה",sections:[{title:"2.1 מיקוד ותחום תפעולי",desc:"פלטפורמה המיועדת למגזר הציבורי, המוסדי ולתאגידים גדולים בעלי קריטיות גבוהה. פועלת על רשתות מצלמות בקנה מידה גדול.",type:"list",items:["עיריות, ממשלות אזוריות ופדרליות","כוחות משטרה, משמר עירוני ומשרדי בטחון","מרכזי פיקוד ובקרה משולבים (CIOPs)","כלאים ומוסדות כליאה","שדות תעופה, נמלים וטרמינלים","גבולות ותשתיות קריטיות לאומיות","חברות ממשלתיות ותאגידים פרטיים גדולים עם פעולות מורכבות","חברות פרטיות גדולות: בנקים, לוגיסטיקה ואחרים"]},{title:"2.2 תשתית בלעדית",type:"params",params:[{param:"פועל על",value:"שרתים של הלקוח (on-premise)"},{param:"אבטחת נתונים",value:"100% פנימי — אין מידע חשוף לאינטרנט"},{param:"GPU",value:"לא נדרשת"},{param:"שרתים",value:"קונבנציונליים — ייעודיים למסד נתונים וקריאת מצלמות בו-זמנית"},{param:"קנה מידה",value:"רשתות מוסדיות גדולות — עשרות עד אלפי מצלמות"}]},{title:"2.3 זיהויים ספציפיים",type:"list",items:["תנועות חשודות בפרימטרים, נקודות גישה וסביבות קריטיות","התנה×
45’ויות לא תואמות לאזורים רגישים","פריצות וניסיונות גישה לא מורשית","קונפליקטים ומצבי אלימות","ניסיונות בריחה ביחידות כליאה","נוכחות נשק","חפצים שננטשו במיקומי סיכון","שינויים פתאומיים בדפוסי ההתנהגות","ריכוז חריג של אנשים בנקודות קריטיות","מצבי סיכון בסביבות קריטיות למשימה — שדות תעופה, גבולות, כלאים","מנוע זמני: מבצע הנחיה והמערכת ממשיכה ללא התערבות אנושית"]},{title:"2.4 תיאום רשת שיתופית",type:"list",items:["מפעיל חיפושים ומעקבים המתפשטים ברחבי כל הרשת הציבורית והפרטית השיתופית","מקבל הודעות אוטומטיות מ-Perceptrum בהתאמות עם רשימת המעקב","מתאם פעולות משולבות בין מרחב ציבורי, תחבורתי (F.A.S.T.) ופרטי (Perceptrum)","מרכז התראות, ראיות ונתיב מעקב של כל הרשת המשולבת"]},{title:"2.5 מודל עסקי",type:"params",params:[{param:"רישוי",value:"מוסדי — חוזה עם גוף ציבורי או תאגיד"},{param:"פריסה",value:"On-premise על שרתי הלקוח"},{param:"תמיכה",value:"קליטה והגדרה כלולות"},{param:"פיילוט",value:"ניתן לפרוס תוך 7 ימי עסקים על תשתית קיימת"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"אינטליגנציה מולטי-מודאלית לסביבה פרטית — מהבית לתאגיד הגדול",sections:[{title:"2.6 מיקוד ותחום תפעולי",desc:"פלטפורמה המיועדת למגזר הפרטי, המסחרי, המגורים ובתי המשותפים. מדמוקרטת גישה לאינטליגנציית מעקב מתקדמת.",type:"list",items:["מגורים ובתים","בנייני מגורים ומסחר ובתים משותפים","עסקים קטנים ובינוניים","רשתות קמעוניות וחנויות","בנקים ומוסדות פיננסיים","קניונים וחניונים","בתי ספר ואוניברסיטאות פרטיים","בתי חולים וקליניקות פרטיים","מחסנים ומתקני לוגיסטיקה","חוות ונחלות כפריות"]},{title:"2.7 תשתית בלעדית",type:"params",params:[{param:"פועל על",value:"המחשב האישי של המשתמש (ביתי או עסקי)"},{param:"מעבד מינימלי",value:"Intel i5 או טוב יותר"},{param:"GPU",value:"לא נדרשת"},{param:"אחסון",value:"שטח דיסק לתמונות זמניות בניתוח"},{param:"DVR/NVR",value:"קריאה מקורית לחיפושים בהקלטות קודמות"},{param:"הפעלה",value:"דקות — ייבוא מצלמות דרך CSV והתחלה מיידית"}]},{title:"2.8 זיהויים ספציפיים",type:"list",items:["תנועות מחוץ לדפוס בשעות או מיקומים חריגים","גניבה, שוד ותקיפה — התנהגויות נטילה אופייניות","נוכחות לא מורשית באזורים מוגבלים","סיכון פרימטרי וניסיונות פריצה","בקשות עזרה — מחוות והתנהגויות מצוקה","חפצים חשודים שננטשו","חריגות תפעוליות בתהליכים (לוגיסטיקה, מלאי, משלוחים)","אימות תהליכים אוטומטי: רכב, לוחית, שליח, ספירת כמויות","אירועים הניתנים להגדרה לפי סוג הסביבה — פרופיל לכל התקנה","מאתר מפרי צווי הגנה (צווי הרחקה וכו')"]},{title:"2.9 שיתוף פעולה מרצון (בלעדי Perceptrum)",type:"list",items:["דגל שיתוף פעולה מרצון — הבעלים מחליט להפעיל ואילו מצלמות משתתפות","בהפעלה: המצלמה משתתפת בחיפושים שהוצאו על-ידי Perceptrum Corporate או F.A.S.T.-AI","ניתוח מבוצע מקומית — על המחשב האישי של המשתמש הפרטי","אין זרם וידאו רציף המשודר למרכז הציבורי","אין פורטי רשת פתוחים חיצונית","רק התוצאה (התאמה) נשלחת למרכז — לא התמונות","ההתראה כוללת: תמונת האדם עם שכבת-על, תאריך/שעה, מצלמה, כתובת, GPS, רמת ביטחון","ההשתתפות ניתנת לביטול בכל עת על-ידי הבעלים","עמידה מלאה ב-GDPR/LGPD — פרטיות בעיצוב ארכיטקטוני"]},{title:"2.10 מודל עסקי",type:"params",params:[{param:"גרסה חינמית",value:"פונקציות ניטור בסיסיות — ללא עלות, ללא כרטיס אשראי"},{param:"גרסת פרמיום",value:"גישה מלאה — רישיון חודשי בר-השגה"},{param:"שיתוף פעולה ציבורי",value:"חינמי למשתמש הפרטי — עלות משולמת על-ידי הגוף הציבורי לכל שאילתה"},{param:"עלות למדינה",value:"אגורות לחיפוש — משולם רק כשהחיפוש מופעל"},{param:"הפצה",value:"ניתן להפצה למשתמשים פרטיים ברמה לאומית"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"אינטליגנציה טריטוריאלית, ניידות וקריאה דינמית של המרחב העירוני",sections:[{title:"2.11 מיקוד ותחום תפעולי",desc:"פלטפורמה לניידות, תנועה, תכנון עירוני ופרשנות טריטוריאלית דינמית.",type:"list",items:["מחלקות תחבורה וניידות עירוניות","מרכזי פעולות עירוניים (COUs)","מחלקות עבודות ציבוריות ותכנון עירוני","רשויות פיקוח על תנועה","מארגני אירועים ציבוריים גדולים","בעלי זיכיון כבישים מהירים וחניונים","כוחות ביטחון ציבורי — מעקב אחר כלי רכב ופעולות בדרכים"]},{title:"2.12 תשתית בלעדית",type:"params",params:[{param:"פועל על",value:"שרתי חברות האחראיות לתנועה ולתכנון עירוני"},{param:"GPU",value:"לא נדרשת (למעט ניתוח עבירות מורכבות ופתרון SBC למניעת תאונות בכבישים מהירים)"},{param:"אחסון",value:"נמוך — קורא ישירות מ-NAS, DVR, NVR או בסטרימינג קיים"},{param:"מקורות תואמים",value:'מצלמות דרכים ציבוריות, רמזורים, מכ"מ קבועים וניידים — כל תקן'},{param:"קנה מידה",value:"רשת רחובות עירונית מלאה — שכונות, מסדרונות, ערים"}]},{title:"2.13 זיהויים ספציפיים",type:"list",items:["עבירות תנועה — יצירת דוחות אוטומטית עם ראיות","תאונות ופגיעה בהולכי רגל — זיהוי והודעה מיידית","היווצרות פקק — זיהוי מוקדם לפני קריסה","חסימות דרכים וניתורים","שימוש לא סדיר במרחב הציבורי","אירועים לא טיפוסיים המשפיעים על ניידות עירונית","סיכונים תפעוליים בדרכים ובאזורים אסטרטגיים","דפוסי זרימה, אזורים קריטיים וחזרות","מעקב אחר כלי רכב חשודים — לוחית, דגם, צבע, מסלול","ריכוז וצפיפות אנשים בדרכים ובמרחבים ציבוריים","מרדף אוטומטי אם המפעיל מבקש"]},{title:"2.14 אינטליגנציה טריטוריאלית (בלעדי F.A.S.T.-AI)",type:"list",items:["ניתוח דפוסי זרימת כלי רכב והולכי רגל לפי שעה, יום ואזור","זיהוי אזורים קריטיים וחזרות של אירועים","תמיכה בהחלטות תכנון דרכים עירוניות עם נתונים אמיתיים","לוח מחוונים לניהול טריטוריאלי בזמן אמת לשרים ומנהלים","תמיכה בניהול אירועים גדולים — צפיפות, זרימה, סיכוני מהומות","יצירה רציפה של מידע אסטרטגי על התנה×
45’ות טריטוריאלית"]},{title:"2.15 מודל עסקי",type:"params",params:[{param:"רישוי",value:"עירוני / אזורי — חוזה עם גוף ציבורי לניידות או ביטחון"},{param:"פריסה",value:"שרתי עירייה או בעל זיכיון — על תשתית קיימת"},{param:"ROI ישיר",value:"הכנסות מדוחות אוטומטיים עולות על עלות הפלטפורמה"},{param:"פיילוט",value:"ניתן לפרוס תוך 7 ימי עסקים על מצלמות ציבוריות קיימות"}]}]}],comparison:{title:"סיכום השוואתי של שלוש הפלטפורמות",rows:[{feature:"מיקוד עיקרי",drakon:"מגזר ציבורי וקריטי למשימה",perceptrum:"מגזר פרטי ומגורים",fast:"תנועה ותכנון עירוני"},{feature:"פועל על",drakon:"שרתי לקוח (on-premise)",perceptrum:"מחשב אישי (i5+)",fast:"שרתים עירוניים/בעל זיכיון"},{feature:"GPU נדרשת",drakon:"❌ לא",perceptrum:"❌ לא",fast:"❌ לא (למעט 
45SBC)"},{feature:"החלפת מצלמות",drakon:"❌ לא נדרשת",perceptrum:"❌ לא נדרשת",fast:"❌ לא נדרשת"},{feature:"ניתוח חי (24/7)",drakon:"✅ כן",perceptrum:"✅ כן",fast:"✅ כן"},{feature:"עיבוד לאחר מעשה מוקלט",drakon:"✅ כן (DVR/NVR/NAS)",perceptrum:"✅ כן (DVR/NVR/NAS)",fast:"✅ כן (DVR/NVR/NAS)"},{feature:"JOBs בשפה טבעית",drakon:"✅ כן",perceptrum:"✅ כן",fast:"✅ כן"},{feature:"אינטגרציה API/Webhook",drakon:"✅ כן",perceptrum:"✅ כן",fast:"✅ כן"},{feature:"מעקב רב-מצלמות",drakon:"✅ כן",perceptrum:"✅ כן",fast:"✅ כן"},{feature:"רשת שיתופית פרטית",drakon:"✅ מתאם חיפושים",perceptrum:"✅ משתתף (מרצון)",fast:"✅ מתאם חיפושים בדרכים"},{feature:"גרסה חינמית זמינה",drakon:"❌ לא",perceptrum:"✅ כן (בסיסית)",fast:"❌ לא"},{feature:"PoC זמין",drakon:"✅ כן",perceptrum:"❌ לא",fast:"✅ כן"},{feature:"דוחות אוטומטיים",drakon:"❌ לא המיקוד",perceptrum:"❌ לא המיקוד",fast:"✅ כן — יצירה אוטומטית"},{feature:"אינטליגנציה טריטוריאלית",drakon:"תפעולי מוסדי",perceptrum:"תפעולי פרטי",fast:"✅ טריטוריאלי ועירוני"},{feature:"עמידה ב-GDPR/LGPD",drakon:"✅ כן",perceptrum:"✅ כן (בעיצוב)",fast:"✅ כן"},{feature:"זמן הפעלת פיילוט",drakon:"עד 7 ימי עסקים",perceptrum:"דקות",fast:"עד 7 ימי עסקים"}]}},ja:{hero:{badge:"技術仕様",title:"技術仕様",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"評価・調達・統合プロセスのための構造化された技術文書。AiQuimistの3つのプラットフォームすべての仕様—共有機能と独自の差別化要素。",part1:"第1部 — コア仕様",part1sub:"3つのプラットフォームすべてに搭載されている機能",part2:"第2部 — 独自仕様",part2sub:"各製品固有の機能と差別化要素",part3:"比較サマリー"},copy:"テーブルをコピー",copied:"コピーしました!",yes:"✅ はい",no:"❌ いいえ",feature:"機能",capacity:"能力",detail:"詳細",param:"パラメーター",value:"値",sections:[{id:"s1",title:"1.1 AIエンジン — ユニバーサルマルチモーダル解釈",desc:"ビデオ、オーディオ、テキスト、画像を同時に分析し、実際のコンテキストを抽出して関連する状況を特定するAiQuimistプラットフォーム。",type:"capabilities",items:[{label:"🎥 ビデオ",detail
45:"ライブカメラと録画のリアルタイム分析。シーン、オブジェクト、行動、動き、パターンを認識。"},{label:"🔊 オーディオ",detail:"音声、キーワード、意味パターン、声のトーン、緊急性、衝突、設定可能な注目音の検出。"},{label:"📄 テキストと画像",detail:"ファイル(ビデオ、画像、オーディオ、テキスト)のアップロードと分析。証拠の抽出、メタデータ、ソース間の相関。"},{label:"ネイティブ時間処理",detail:"孤立したフレームだけでなく、動きの流れを分析"},{label:"大規模コンテキストウィンドウ",detail:"イベントの相関のために長いビデオ/オーディオ期間のメモリを保持"},{label:"リアルタイム分析(ライブ)",detail:"カメラストリームとオーディオチャンネル24×7"},{label:"後処理",detail:"アーカイブと録画ファイルに同じ検出基準を適用:NVR、DVR、NAS"},{label:"デジタルファイルアップロード",detail:"ビデオ、画像、オーディオ、テキストで相関マルチモーダル分析"},{label:"感情状態識別",detail:"ボディランゲージ、声のトーン、行動信号の読み取り"}
45,{label:"AIプロバイダー抽象化",detail:"設定可能なエンドポイント、認証情報、制限;最小限の影響でプロバイダーを切り替え"}]},{id:"s2",title:"1.2 カメラとソースの取り込み",type:"mixed",items:[{label:"ユニバーサル互換性",detail:"ブランド、メーカー、モデル、世代に関わらずあらゆるカメラ"},{label:"アナログとデジタル",detail:"ハードウェアの交換不要"},{label:"主要プロトコル",detail:"RTSP、ONVIF、同等のHTTP/ファイルメソッド"},{label:"DVR / NVR / NAS",detail:"顧客にすでに設置されている機器を読み取り"},{label:"一括インポート",detail:"カメラのメタデータ付きExcelまたはCSV(IP、メーカー、ユーザー、パスワード、ポートなど)"},{label:"自律稼働",detail:"内部ネットワーク経由で完全ローカル — インターネットへのストリーム露出なし"},{label:"ネットワークセキュリティ",detail:"リモートアクセスのためのオープンポートなし、NAT/トンネル設定なし"},{label:"スケーラビリティ",detail:"1からNのカメラ/オーディオチャンネルを並行処理"},{label:"ストリーム可用性",detail:"障害後の監視と自動復旧"}]},{id:"s3",title:"1.3 タスクオーケストレーション — JOB / STEP",desc:"監視ルーティンで人間のオペレーターを置き換えるインテリジェント自動化システム。自然言語のプロンプトで作成 — コードなし、プログラミングなし。",type:"capabilities",items:[{label:"JOB(タスク)",detail:"1またはNのカメラ/チャンネルを読み取り、定義された条件に基づいて行動する監視ユニット"},{label:"STEP(ステップ)",detail:"各JOBは複数の連鎖ステップで構成;あるカメラの結果(出力)が次のカメラ(入力)に入力される"},{label:"ステップごとの複数ソース",detail:"各STEPは1つ以上のカメラおよび/または1つ以上のオーディオチャンネルを有効化できる"},{label:"インテリジェントチェーン",detail:"ステップ間の認知依存;フローは前の結果に基づいて変化"},{label:"ネイティブ条件付き決定",detail:"実際の結果に基づく分岐、中断、繰り返し、またはエスカレーション"},{label:"チャンネルごとのプロンプト",detail:"各カメラまたはオーディオチャンネルは同じJOB内で特定のプロンプトを受け取る"},{label:"スケジューリング",detail:"定義された期間または継続的な期間で計画された日時に実行"},{label:"即時有効化/無効化",detail:"再設定不要"},{label:"タスクバージョン管理",detail:"設定とプロンプトの履歴"},{label:"非技術者による作成",detail:"技術的な知識を持たないオペレーターがインテリジェントエージェントとのインターフェイスを介して完全なJOBを作成"}],params:[{param:"JOB作成",value:"自然言語(テキストまたは音声) — コードなし"},{param:"チェーン",value:"STEP NはSTEP N-1の認知結果を使用"},{param:"STEPごとのソース",value:"1つ以上のカメラ + 1つ以上のオーディオチャンネル"},{param:"スケジューリング",value:"日付、時間、期間、繰り返しを設定可能"}]},{id:"s4",title:"1.4 検出と分類の機能",type:"grouped",groups:[{label:"ビデオベースの検出(コンピュータービジョン/マルチモーダル)",items:["設定されたプロンプトに従った関連する状況と行動の識別","関心人物の認識 — 自動イベント関連付けを持つウォッチリスト","条件付きトリガーによる人数カウント(X人以上/X人未満/ちょうどX人)","1人または複数の個人/車両の時間追跡","再識別によるマルチカメラ追跡 — カメラA → N → B間の移動を追跡","ルート逸脱と予想軌道違反の検出","ナンバープレート、看板、カメラで見えるテキストコンテンツの読み取り","設定可能なハンドジェスチャーと手話ジェスチャーの識別(プロンプトで定義された場合)","感情状態と紛争前のボディランゲージの検出"]},{label:"オーディオベースの検出(音声/サウンド/マルチモーダル)",items:["該当する場合に文字起こし(STT)を含むライブおよび録画オーディオ分析","ダイアライゼーション — 話者の分離と識別、話者ごとのサマリーと会話全体のサマリー","パラメーター設定に従った発話キーワードの検出","設定可能なフレーズと意味パターンの検出","イベントを示す発話パターンの検出 — 緊急性、衝突、繰り返し","レビューのための関連クリップのハイライト"]},{label:"アラームシステム",items:["条件が満たされた場合のアラーム — 例:「ポイントAでX人のグループを検出」","条件が満たされない場合のアラーム — 例:「個人が期間T内にカメラYを通過しなかった」","通過シーケンスロジックのアラーム — 設定可能なマルチポイントワークフロー","設定可能なトリガー、時間枠、相関基準","設定可能な重大度レベル、受信者、通知チャンネル","アラームに添付された証拠 — フレーム、ビデオクリップ、オーディオセグメント","アラームライフサイクル記録 — 生成、ルーティング、受信、クローズ"]}]},{id:"s5",title:"1.5 コンテキスト化と証拠生成",type:"capabilities",items:[{label:"自動コンテキスト説明",detail:"検出されたイベントごとに自然言語で生成"}
45,{label:"構造化メタデータ",detail:"ソース、日時、論理的位置、イベントタイプ、重大度"},{label:"自動相関",detail:"同じ個人、同じエリア、同じ間隔 — 複数のソースにわたって"},{label:"証拠抽出",detail:"フレーム、ビデオクリップ、オーディオセグメント、認識されたテキスト"},{label:"推論の追跡可能性",detail:"すべての検出のログと監査"},{label:"運用レポート",detail:"完全な監査証跡"}]},{id:"s6",title:"1.6 自然言語操作",desc:"技術的なトレーニングなしのオペレーターが、テキストまたは音声を使用して完全なJOBを作成、設定、管理できます。プログラミング、スクリプト、外部ツールは不要。",type:"capabilities",items:[{label:"自然言語クエリ",detail:"コンテキスト化された回答を持つ質問"},{label:"テキストと音声コマンド",detail:"タスクの作成、編集、有効化"},{label:"プロンプトによる完全設定",detail:"監視、アラーム、トリガー、受信者"},{label:"ガバナンスコントロール",detail:"重要なアクションの確認、プロファイルベースの制限"},{label:"監査証跡",detail:"すべてのコマンドと変更の記録"}]},{id:"s7",title:"1.7 外部統合 — APIとWebhook",type:"capabilities",items:[{label:"Webhook自動トリガー",detail:"定義された条件に基づく外部API呼び出し"},{label:"非技術者による設定",detail:"自然言語プロンプトを通じて"},{label:"構造化ペイロード",detail:"JSONのメタデータと証拠"},{label:"外部呼び出しの認証",detail:"トークン、キー、署名、許可リスト"},{label:"リクエスト監査",detail:"すべての外部呼び出しの完全なログ"},{label:"エラーハンドリング",detail:"リトライ、キュー、ログ"},{label:"相互運用性",detail:"ダッシュボード、メッセージング、登録・管理システム"}],params:[{param:"プロトコル",value:"REST API + Webhooks"},{param:"ペイロード",value:"メタデータ、証拠、コンテキストを含む構造化JSON"},{param:"認証",value:"トークン、キー、署名、許可リスト"},{param:"監査",value:"すべての外部呼び出しの完全なログ"}]},{id:"s8",title:"1.8 消費メトリクスとコスト管理",type:"capabilities",items:[{label:"JOB/STEPごとのメトリクス",detail:"詳細な記録と提供"},{label:"カメラ/オーディオチャンネルごとのメトリクス",detail:"ソースごとの個別消費量"},{label:"ユーザー/プロファイルごとのメトリクス",detail:"オペレーターごとの使用量追跡"},{label:"トークンとリクエストのカウント",detail:"レイテンシを含む推定値と実際の値"},{label:"ディメンションごとのコスト",detail:"JOB、カメラ、ユーザー"},{label:"クォータとコストセンター",detail:"クォータと部門分離のサポート"}]},{id:"s9",title:"1.9 ハードウェア要件",type:"params",params:[{param:"GPU",value:"不要 — 3つのプラットフォームいずれも"},{param:"GPU (F.A.S.T.-AI)",value:"一部の複雑な違反と高速道路の事故防止SBCソリューションに使用"},{param:"専用ハードウェア",value:"不要 — 既存のインフラと統合"},{param:"カメラ",value:"交換不要 — インストール済みのあらゆる機器と互換性"},{param:"サポートOS",value:"Windows(ネイティブ互換性)"},{param:"展開",value:"オンプレミス、パブリック/プライベートクラウド(国内)またはハイブリッド"},{param:"有効化",value:"月ではなく日 — 7営業日でパイロット展開可能"}]},{id:"s10",title:"1.10 情報セキュリティ、ガバナンス、データ保護",type:"capabilities",items:[{label:"RBACアクセス制御",detail:"職務分離と最小権限"},{label:"完全な監査証跡",detail:"運用ログ、コマンド、設定変更、プロンプト"}
45,{label:"データ保護",detail:"転送中および保存中"},{label:"保存と削除ポリシー",detail:"該当する場合の仮名化/匿名化"},{label:"アクセスプロファイル管理",detail:"レベルによる運用制限"},{label:"GDPR/LGPD準拠",detail:"最小化、目的、必要性、説明責任"},{label:"認証情報の保存",detail:"Windows Credential Manager/DPAPIまたは同等 — 平文保存禁止"}]},{id:"s11",title:"1.11 可用性と運用継続性",type:"capabilities",items:[{label:"24×7稼働",detail:"中断なしの継続監視"},{label:"自動復旧",detail:"介入なしでストリーム障害から回復"},{label:"接続損失への対応",detail:"録画コンテンツの再処理"},{label:"キューと再処理",detail:"ギャップなしのカバレッジ保証"},{label:"高可用性",detail:"設定時の冗長性、レプリケーション、バランシング"}]},{id:"s12",title:"1.12 プライベート協力ネットワークとの統合",desc:"AiQuimistエコシステムの独自機能:ボランティアユーザーのプライベートカメラが自動的に公共の検索に参加 — ビデオを送信せず、ネットワークポートを開かずに。",type:"capabilities",items:[{label:"無料配布",detail:"全国のプライベートユーザーに配布可能なWindowsソリューション"},{label:"ペアリングメカニズム",detail:"アクティベーションコード、デバイスリンク、失効"},{label:"承認済みエンドポイントのみ",detail:"承認済みエンドポイントのみがデータ/イベントを使用または公開できる"},{label:"ローカル検出と通知",detail:"プライベートユーザーのコンピューターで分析実行"},{label:"一致通知",detail:"ウォッチリストの一致時に中央プラットフォームへ自動送信"},{label:"構造化アラーム",detail:"オーバーレイ付き個人の画像、日時、カメラ、完全な住所、GPS、信頼レベル、識別子"},{label:"Re-IDアルゴリズム",detail:"再識別、および該当する場合と承認された場合、顔認識"},{label:"自発的参加",detail:"ユーザーが協力の有効化と参加するカメラを決定"},{label:"プライバシー・バイ・デザイン",detail:"オープンポートなし、継続的に送信されるストリームなし"},{label:"GDPR/LGPD完全準拠",detail:"ローカル分析、関連する結果のみを共有"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"公共業務とミッションクリティカルな環境のための組織的インテリジェンス",sections:[{title:"2.1 フォーカスと運用範囲",desc:"公共、組織、高度クリティカルな企業セクター向けプラットフォーム。大規模カメラネットワークで運用。",type:"list",items:["自治体、地方・連邦政府","警察、市民警備、セキュリティ部署","統合指令管制センター(CIOPs)","刑務所と拘置施設","空港、港湾、ターミナル","国境と国家重要インフラ","複雑な業務を持つ公営企業と大手民間企業","大手民間企業:銀行、物流など"]},{title:"2.2 独自インフラ",type:"params",params:[{param:"稼働環境",value:"顧客所有サーバー(オンプレミス)"},{param:"データセキュリティ",value:"100%内部 — インターネットへの情報露出ã
45ªã—"},{param:"GPU",value:"不要"},{param:"サーバー",value:"従来型 — データベースとカメラの同時読み取り専用"},{param:"スケール",value:"大規模組織ネットワーク — 数十から数千台のカメラ"}]},{title:"2.3 特定の検出",type:"list",items:["境界、アクセスポイント、重要環境での不審な動き","機密エリアと相容れない行動","侵入と不正アクセス試行","衝突と暴力的な状況","拘留施設での脱走試行","武器の存在","危険な場所に放置された物体","行動パターンの突然の変化","重要ポイントでの異常な人の集まり","ミッションクリティカルな環境でのリスク状況 — 空港、国境、刑務所","テンポラルエンジン:プロンプトを実行し、人間の介入なしにシステムが継続"]},{title:"2.4 協力ネットワークの調整",type:"list",items:["公共および民間協力ネットワーク全体に広がる検索と追跡を開始","ウォッチリストの一致時にPerceptrumから自動通知を受信","公共、交通(F.A.S.T.)、民間(Perceptrum)空間間の統合操作を調整","統合ネットワーク全体のアラーム、証拠、追跡証跡を集中管理"]},{title:"2.5 ビジネスモデル",type:"params",params:[{param:"ライセンス",value:"組織向け — 公共機関または企業との契約"},{param:"展開",value:"顧客サーバーへのオンプレミス"},{param:"サポート",value:"オンボーディングと設定含む"},{param:"パイロット",value:"既存インフラで7営業日以内に展開可能"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"プライベート環境のためのマルチモーダルインテリジェンス — 家庭から大企業まで",sections:[{title:"2.6 フォーカスと運用範囲",desc:"民間、商業、住宅、マンション向けプラットフォーム。高度な監視インテリジェンスへのアクセスを民主化。",type:"list",items:["住宅と一戸建て","マンションと住宅・商業ビル","中小企業","小売チェーンと店舗","銀行と金融機関","ショッピングモールと駐車場","私立学校と大学","私立病院とクリニック","倉庫と物流施設","農場と農村の不動産"]},{title:"2.7 独自インフラ",type:"params",params:[{param:"稼働環境",value:"ユーザーのパソコン(家庭または企業)"},{param:"最低プロセッサー",value:"Intel i5以上"},{param:"GPU",value:"不要"},{param:"ストレージ",value:"分析中の一時画像用ディスク容量"},{param:"DVR/NVR",value:"過去の録画検索のためのネイティブ読み取り"},{param:"有効化",value:"分単位 — CSVでカメラをインポートして即時開始"}]},{title:"2.8 特定の検出",type:"list",items:["異常な時間帯や場所でのパターン外の動き","窃盗、強盗、暴行 — 典型的な奪取行動","制限区域への無断侵入","境界リスクと侵入試行","助けを求める声 — 緊急ジェスチャーと行動","放置された不審物","プロセスでの運用上の異常(物流、在庫、配送)","自動プロセス検証:車両、ナンバープレート、配達業者、数量カウント","環境タイプに応じた設定可能なイベント — インストールごとのプロファイル","保護命令違反者を特定(接近禁止命令など)"]},{title:"2.9 自発的協力(Perceptrum独自)",type:"list",items:["自発的協力フラグ — オーナーが有効化と参加するカメラを決定","有効化時:カメラはPerceptrum CorporateまたはF.A.S.T.-AIが発行した検索に参加","分析はローカルで実行 — プライベートユーザーのコンピューター上","公共センターへの継続的なビデオストリームの送信なし","外部への開放ネットワークポートなし","センターには結果(一致)のみ送信 — 画像は送信しない","アラームには:オーバーレイ付き個人の画像、日時、カメラ、住所、GPS、信頼レベルを含む","オーナーによりいつでも参加を撤回可能","GDPR/LGPD完全準拠 — 建築設計によるプライバシー"]},{title:"2.10 ビジネスモデル",type:"params",params:[{param:"無料版",value:"基本的な監視機能 — コストなし、クレジットカード不要"},{param:"プレミアム版",value:"フルアクセス — 手頃な月次ライセンス"},{param:"公共協力",value:"プライベートユーザーに無料 — コストはクエリごとに公共機関が支払い"},{param:"国への費用",value:"検索1回あたり数円 — 検索がトリガーされた時ã
45®ã¿æ”¯æ‰•い"},{param:"配布",value:"全国のプライベートユーザーに配布可能"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"領域インテリジェンス、モビリティ、都市空間のダイナミック読み取り",sections:[{title:"2.11 フォーカスと運用範囲",desc:"モビリティ、交通、都市計画、ダイナミックな領域解釈のためのプラットフォーム。",type:"list",items:["市交通・モビリティ部","都市運営センター(COU)","公共事業・都市計画部","交通取締機関","大規模公共イベント主催者","高速道路・駐車場コンセッション事業者","公共安全部隊 — 車両追跡と道路作業"]},{title:"2.12 独自インフラ",type:"params",params:[{param:"稼働環境",value:"交通・都市計画担当企業のサーバー"},{param:"GPU",value:"不要(複雑な違反分析と高速道路の事故防止SBCを除く)"},{param:"ストレージ",value:"低 — NAS、DVR、NVR、既存ストリーミングから直接読み取り"},{param:"互換ソース",value:"公道カメラ、信号機、固定・移動式レーダー — あらゆる規格"},{param:"スケール",value:"完全な都市道路ネットワーク — 地区、回廊、都市"}]},{title:"2.13 特定の検出",type:"list",items:["交通違反 — 証拠付きの自動違反金生成","事故と歩行者事故 — 検出と即時通知","渋滞形成 — 崩壊前の早期検出","道路封鎖と迂回","公共スペースの不規則な使用","都市モビリティに影響する非典型的なイベント","道路と戦略的エリアでの運用リスク","フローパターン、重要ゾーン、繰り返し","不審車両の追跡 — ナンバープレート、モデル、色、ルート","道路と公共スペースでの人の集中と密度","オペレーターの要求があれば自動追跡"]},{title:"2.14 領域インテリジェンス(F.A.S.T.-AI独自)",type:"list",items:["時間、曜日、ゾーン別の車両と歩行者フローパターン分析","重要ゾーンとインシデントの繰り返しの識別","実際のデータによる道路・都市計画決定のサポート","大臣と管理者のためのリアルタイム領域管理ダッシュボード","大型イベント管理のサポート — 密度、フロー、暴動リスク","領域行動に関する戦略的情報の継続的な生成"]},{title:"2.15 ビジネスモデル",type:"params",params:[{param:"ライセンス",value:"市区町村/地域 — 公共モビリティまたはセキュリティ機関との契約"},{param:"展開",value:"市区町村またはコンセッション事業者サーバー — 既存インフラ上"},{param:"直接ROI",value:"自動違反金収入がプラットフォームコストを上回る"},{param:"パイロット",value:"既存公共カメラで7営業日以内に展開可能"}]}]}],comparison:{title:"3つのプラットフォームの比較サマリー",rows:[{feature:"主なフォーカス",drakon:"公共セクターとミッションクリティカル",perceptrum:"民間・住宅セクター",fast:"交通と都市計画"},{feature:"稼働環境",drakon:"顧客サーバー(オンプレミス)",perceptrum:"パソコン(i5+)",fast:"市区町村/コンセッションサーバー"},{feature:"GPU必要",drakon:"❌ いいえ",perceptrum:"❌ いいえ",fast:"❌ いいえ(SBCを除く)"},{feature:"カメラ交換",drakon:"❌ 不要",perceptrum:"❌ 不要",fast:"❌ 不要"},{feature:"ライブ分析(24/7)",drakon:"✅ はい",perceptrum:"✅ はい",fast:"✅ はい"},{feature:"録画後処理",drakon:"✅ はい(DVR/NVR/NAS)",perceptrum:"✅ はい(DVR/NVR/NAS)",fast:"✅ はい(DVR/NVR/NAS)"},{feature:"自然言語JOB",drakon:"✅ はい",perceptrum:"✅ はい",fast:"✅ はい"},{feature:"API/Webhook統合",drakon:"✅ はい",perceptrum:"✅ はい",fast:"✅ はい"},{feature:"マルチカメラ追跡",drakon:"✅ はい",perceptrum:"✅ はい",fast:"✅ はい"},{feature:"プライベート協力ネットワーク",drakon:"✅ 検索を調整",perceptrum:"✅ 参加(自発的)",fast:"✅ 道路検索を調整"}
45,{feature:"無料版あり",drakon:"❌ いいえ",perceptrum:"✅ はい(基本)",fast:"❌ いいえ"},{feature:"PoC利用可能",drakon:"✅ はい",perceptrum:"❌ いいえ",fast:"✅ はい"},{feature:"自動違反金",drakon:"❌ フォーカス外",perceptrum:"❌ フォーカス外",fast:"✅ はい — 自動生成"},{feature:"領域インテリジェンス",drakon:"組織的・運用的",perceptrum:"民間・運用的",fast:"✅ 領域的・都市的"},{feature:"GDPR/LGPD準拠",drakon:"✅ はい",perceptrum:"✅ はい(設計による)",fast:"✅ はい"},{feature:"パイロット有効化時間",drakon:"最大7営業日",perceptrum:"数分",fast:"最大7営業日"}]}},ko:{hero:{badge:"기술 사양",title:"기술 사양",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"평가, 조달 및 통합 프로세스를 위한 구조화된 기술 문서입니다. AiQuimist 세 플랫폼 모두의 사양 — 공통 기능 및 독점 차별화 요소.",part1:"파트 1 — 핵심 사양",part1sub:"세 플랫폼 모두에 공통된 기능",part2:"파트 2 — 전용 사양",part2sub:"각 제품의 특정 차별화 요소",part3:"비교 요약"},copy:"표 복사",copied:"복사됨!",yes:"✅ 예",no:"❌ 아니오",feature:"기능",capacity:"용량",detail:"세부사항",param:"매개변수",value:"값",sections:[{id:"s1",title:"1.1 AI 엔진 — 범용 멀티모달 해석",desc:"AiQuimist 플랫폼은 비디오, 오디오, 텍스트 및 이미지를 동시에 분석하여 실제 맥락을 추출하고 관련 상황을 식별합니다.",type:"capabilities",items:[{label:"🎥 비디오",detail:"라이브 카메라 및 녹화의 실시간 분석. 장면, 객체, 행동, 움직임 및 패턴을 인식합니다."},{label:"🔊 오디오",detail:"음성, 키워드, 의미 패턴, 어조, 긴박성, 갈등 및 구성 가능한 관심 소리 감지."},{label:"📄 텍스트 및 이미지",detail:"파일 업로드 및 분석(비디오, 이미지, 오디오, 텍스트). 소스 간 증거, 메타데이터 및 상관관계 추출."},{label:"네이티브 시간적 처리",detail:"개별 프레임뿐만 아니라 움직임의 흐름을 분석"},{label:"대용량 컨텍스트 윈도우",detail:"이벤트 상관관계를 위해 긴 비디오/오디오 기간의 메모리 유지"}
45,{label:"실시간 분석(라이브)",detail:"24×7 카메라 스트림 및 오디오 채널"},{label:"사후 처리",detail:"NVR, DVR, NAS의 파일 및 녹화에 동일한 감지 기준 적용"},{label:"디지털 파일 업로드",detail:"상관된 멀티모달 분석을 위한 비디오, 이미지, 오디오 및 텍스트"},{label:"감정 상태 식별",detail:"신체 언어, 어조 및 행동 신호 판독"},{label:"AI 공급업체 추상화",detail:"구성 가능한 엔드포인트, 자격 증명 및 제한; 최소한의 영향으로 공급업체 변경"}]},{id:"s2",title:"1.2 카메라 및 소스 수집",type:"mixed",items:[{label:"범용 호환성",detail:"브랜드, 제조사, 모델 또는 세대에 관계없이 모든 카메라"},{label:"아날로그 및 디지털",detail:"하드웨어 교체 필요 없음"},{label:"주요 프로토콜",detail:"RTSP, ONVIF 및 동등한 HTTP/파일 방법"},{label:"DVR / NVR / NAS",detail:"고객에 이미 설치된 장비 읽기"},{label:"대량 가져오기",detail:"카메라 메타데이터가 포함된 Excel 또는 CSV(IP, 제조사, 사용자, 비밀번호, 포트 등)"},{label:"자율 운영",detail:"내부 네트워크를 통해 완전히 로컬 — 인터넷에 스트림 노출 없음"},{label:"네트워크 보안",detail:"원격 액세스를 위한 포트 개방 또는 터널/NAT 설정 없음"}
45,{label:"확장성",detail:"병렬로 1~N개의 카메라/오디오 채널"},{label:"스트림 가용성",detail:"장애 후 모니터링 및 자동 복구"}]},{id:"s3",title:"1.3 작업 오케스트레이션 — JOB / STEP",desc:"감시 루틴에서 인간 운영자를 대체하는 지능형 자동화 시스템. 자연어 프롬프트로 생성 — 코딩 또는 프로그래밍 없음.",type:"capabilities",items:[{label:"JOB(작업)",detail:"1개 또는 N개의 카메라/채널을 읽고 정의된 조건에 따라 작동하는 모니터링 단위"},{label:"STEP(단계)",detail:"각 JOB은 여러 연결된 단계로 구성; 한 카메라의 결과(출력)가 다음(입력)에 공급됨"},{label:"단계당 여러 소스",detail:"각 STEP은 1개 이상의 카메라 및/또는 1개 이상의 오디오 채널을 활성화할 수 있음"},{label:"지능형 연결",detail:"단계 간 인지적 의존성; 이전 결과에 따라 흐름이 변경됨"},{label:"네이티브 조건부 결정",detail:"실제 결과를 기반으로 분기, 중단, 반복 또는 에스컬레이션"},{label:"채널당 프롬프트",detail:"각 카메라 또는 오디오 채널은 동일한 JOB 내에서 특정 프롬프트를 수신"},{label:"스케줄링",detail:"정의된 또는 지속적인 기간으로 예약된 날짜 및 시간에 실행"},{label:"즉시 활성화/비활성화",detail:"재구성 필요 없음"},{label:"작업 버전 관리",detail:"구성 및 프롬프트 기록"},{label:"비기술 사용자 생성",detail:"기술 지식이 없는 운영자가 지능형 에이전트 인터페이스를 통해 완전한 JOB 생성"}],params:[{param:"JOB 생성",value:"자연어(텍스트 또는 음성) — 코딩 없음"},{param:"연결",value:"STEP N은 STEP N-1의 인지적 결과 사용"},{param:"STEP당 소스",value:"1개 이상의 카메라 + 1개 이상의 오디오 채널"},{param:"스케줄링",value:"날짜, 시간, 기간 및 반복 구성 가능"}]},{id:"s4",title:"1.4 감지 및 분류 기능",type:"grouped",groups:[{label:"비디오 기반 감지(컴퓨터 비전 / 멀티모달)",items:["구성된 프롬프트에 따른 관련 상황 및 행동 식별","관심 인물 인식 — 자동 이벤트 연관이 포함된 감시 목록","조건부 트리거를 통한 인원 계수(X보다 많음 / 적음 / 정확히 X)","시간에 따른 1명 또는 여러 개인/차량 추적","재식별을 통한 다중 카메라 추적 — 카메라 A → N → B 간 이동 추적","경로 이탈 및 예상 궤적 위반 감지","번호판, 표지판 및 카메라에 표시된 텍스트 내용 판독","구성 가능한 수동 제스처 및 수화 제스처 식별(프롬프트에서 정의된 경우)","감정 상태 및 사전 갈등 신체 언어 감지"]},{label:"오디오 기반 감지(음성 / 소리 / 멀티모달)",items:["실시간 및 녹화된 오디오 분석(해당되는 경우 STT 전사 포함)","화자 분리 — 화자 요약 및 전체 대화 요약으로 화자 식별 및 분리","매개변수화에 따른 구어 키워드 감지","구성 가능한 구문 및 의미 패턴 감지","발생 징후 음성 패턴 감지 — 긴박성, 갈등, 반복","감사를 위한 관련 세그먼트 강조"]},{label:"알림 시스템",items:["충족 조건에 따른 알림 — 예: 'A 지점에서 X명의 그룹 감지됨'","미충족 조건에 따른 알림 — 예: 'T 시간 내에 개인이 카메라 Y를 통과하지 않음'","단계 시퀀스 로직이 있는 알림 — 구성 가능한 다중 포인트 워크플로","구성 가능한 트리거, 시간 창 및 상관관계 기준","구성 가능한 심각도 수준, 수신자 및 알림 채널","알림에 첨부된 증거 — 프레임, 비디오 클립, 오디오 세그먼트","알림 수명 주기 기록 — 생성, 전송, 수신 및 종료"]}]},{id:"s5",title:"1.5 컨텍스트화 및 증거 생성",type:"capabilities",items:[{label:"자동 컨텍스트 설명",detail:"감지된 각 이벤트에 대해 자연어로 생성"},{label:"구조화된 메타데이터",detail:"소스, 날짜/시간, 논리적 위치, 이벤트 유형, 심각도"}
45,{label:"자동 상관관계",detail:"여러 소스 간 동일 개인, 동일 영역, 동일 간격"},{label:"증거 추출",detail:"프레임, 비디오 클립, 오디오 세그먼트, 인식된 텍스트"},{label:"추론 추적 가능성",detail:"모든 감지의 로그 및 감사"},{label:"운영 보고서",detail:"완전한 감사 추적"}]},{id:"s6",title:"1.6 자연어 운영",desc:"기술 교육 없이도 모든 운영자가 텍스트 또는 음성을 사용하여 완전한 JOB을 생성, 구성 및 운영할 수 있습니다. 프로그래밍, 스크립트 또는 외부 도구 없음.",type:"capabilities",items:[{label:"자연어 쿼리",detail:"컨텍스트화된 답변이 포함된 질문"},{label:"텍스트 및 음성 명령",detail:"작업 생성, 편집 및 활성화"},{label:"프롬프트로 완전한 구성",detail:"모니터링, 알림, 트리거 및 수신자"},{label:"거버넌스 제어",detail:"중요한 작업에 대한 확인, 프로필별 제한"},{label:"감사 추적",detail:"모든 명령 및 변경 사항 기록"}]},{id:"s7",title:"1.7 외부 통합 — API 및 Webhook",type:"capabilities",items:[{label:"자동 웹훅 실행",detail:"정의된 조건을 기반으로 외부 API 호출"},{label:"비기술 운영자 구성",detail:"자연어 프롬프트를 통해"},{label:"구조화된 페이로드",detail:"JSON의 메타데이터 및 증거"}
45,{label:"외부 호출 인증",detail:"토큰, 키, 서명 및 허용 목록"},{label:"요청 감사",detail:"모든 외부 호출의 완전한 로그"},{label:"실패 처리",detail:"재시도, 대기열 및 로그"},{label:"상호 운용성",detail:"대시보드, 메시징, 레코드 및 관리 시스템"}],params:[{param:"프로토콜",value:"REST API + Webhooks"},{param:"페이로드",value:"메타데이터, 증거 및 컨텍스트가 포함된 구조화된 JSON"},{param:"인증",value:"토큰, 키, 서명 및 허용 목록"},{param:"감사",value:"모든 외부 호출의 완전한 로그"}]},{id:"s8",title:"1.8 소비 지표 및 비용 관리",type:"capabilities",items:[{label:"JOB/STEP별 지표",detail:"자세한 기록 및 가용성"},{label:"카메라/오디오 채널별 지표",detail:"소스별 개별 소비"},{label:"사용자/프로필별 지표",detail:"운영자별 사용량 추적"},{label:"토큰 및 요청 계수",detail:"지연 시간이 포함된 추정 및 실제 값"},{label:"차원별 비용",detail:"JOB, 카메라 및 사용자"},{label:"할당량 및 비용 센터",detail:"할당량 및 부서별 분리 지원"}]},{id:"s9",title:"1.9 하드웨어 요구 사항",type:"params",params:[{param:"GPU",value:"필요 없음 — 세 플랫폼 모두"},{param:"GPU (F.A.S.T.-AI)",value:"일부 복잡한 위반 및 고속도로 사고 예방 SBC 솔루션에 사용됨"},{param:"전용 하드웨어",value:"필요 없음 — 기존 인프라와 통합"},{param:"카메라",value:"교체 없음 — 설치된 모든 장비와 호환"},{param:"지원 OS",value:"Windows(네이티브 호환성)"},{param:"배포",value:"온프레미스, 공공/사설 클라우드(국내 영토) 또는 하이브리드"},{param:"활성화",value:"월이 아닌 일 — 최대 7영업일 내에 파일럿 구현 가능"}]},{id:"s10",title:"1.10 정보 보안, 거버넌스 및 데이터 보호",type:"capabilities",items:[{label:"RBAC 액세스 제어",detail:"직무 분리 및 최소 권한"},{label:"완전한 감사 추적",detail:"운영, 명령, 구성 변경 및 프롬프트 로그"},{label:"데이터 보호",detail:"전송 중 및 저장 중"},{label:"보존 및 삭제 정책",detail:"해당하는 경우 가명화/익명화"},{label:"액세스 프로필 관리",detail:"수준별 운영 제한"},{label:"GDPR/LGPD 준수",detail:"최소화, 목적, 필요성 및 책임"},{label:"자격 증명 저장",detail:"Windows Credential Manager/DPAPI 또는 동등물 — 일반 텍스트 금지"}]},{id:"s11",title:"1.11 가용성 및 운영 연속성",type:"capabilities",items:[{label:"24×7 운영",detail:"중단 없는 지속적인 모니터링"},{label:"자동 복구",detail:"개입 없이 스트림 장애 후 재개"},{label:"연결 중단 복원력",detail:"녹화된 콘텐츠 재처리"},{label:"대기열 및 재처리",detail:"공백 없는 커버리지 보장"},{label:"고가용성",detail:"구성된 경우 중복성, 복제 및 부하 분산"}]},{id:"s12",title:"1.12 민간 협력 네트워크 통합",desc:"AiQuimist 생태계의 독점 기능: 자발적 사용자의 민간 카메라가 비디오를 전송하거나 네트워크 포트를 열지 않고 공공 검색에 자동으로 참여합니다.",type:"capabilities",items:[{label:"무료 배포",detail:"전국 민간 사용자에게 배포 가능한 Windows용 솔루션"},{label:"페어링 메커니즘",detail:"활성화 코드, 장치 연결 및 취소"},{label:"승인된 엔드포인트만",detail:"승인된 엔드포인트만 데이터/이벤트를 소비하거나 게시할 수 있음"},{label:"로컬 감지 및 알림",detail:"분석은 민간 사용자의 컴퓨터에서 발생"},{label:"일치 알림",detail:"감시 목록과 일치할 때 중앙 플랫폼으로 자동"},{label:"구조화된 알림",detail:"오버레이가 있는 개인 이미지, 날짜/시간, 카메라, 전체 주소, GPS, 신뢰도, 식별자"},{label:"Re-ID 알고리즘",detail:"재식별 및 해당하고 허가된 경우 얼굴 인식"},{label:"자발적 참여",detail:"사용자가 협력을 활성화할지 및 어떤 카메라가 참여할지 결정"},{label:"설계에 의한 개인 정보 보호",detail:"열린 포트 없음, 지속적으로 전송되는 스트림 없음"}
45,{label:"GDPR/LGPD 완전 준수",detail:"로컬 분석, 관련 결과만 공유"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"공공 운영 및 임무 중요 환경을 위한 제도적 지능",sections:[{title:"2.1 초점 및 운영 범위",desc:"공공, 제도적 및 고중요도 기업 부문을 대상으로 하는 플랫폼. 대규모 카메라 네트워크에서 운영됩니다.",type:"list",items:["시, 주 및 연방 정부","경찰, 자치경비대 및 보안부","통합지휘통제센터(CIOP)","교도소 및 구금 시설","공항, 항구 및 터미널","êµ­ê²½ 및 국가 주요 인프라","공공 기업 및 복잡한 운영의 대형 민간 기업","대형 민간 기업: 은행, 물류 등"]},{title:"2.2 전용 인프라",type:"params",params:[{param:"실행 위치",value:"고객 자체 서버(온프레미스)"},{param:"데이터 보안",value:"100% 내부 — 인터넷에 노출된 정보 없음"},{param:"GPU",value:"필요 없음"},{param:"서버",value:"일반 — 데이터베이스 전용 및 동시 카메라 읽기"},{param:"규모",value:"대규모 제도적 네트워크 — 수십에서 수천 개의 카메라"}]},{title:"2.3 특정 감지",type:"list",items:["경계, 접근 및 중요 환경에서의 의심스러운 움직임","민감한 영역과 호환되지 않는 행동","침입 및 무단 접근 시도","갈등 및 폭력 상황","구금 시설에서의 탈출 시도","무기 존재","위험 장소에 물체 방치","행동 패턴의 급격한 변화","중요 지점에서의 비정상적인 인원 집중","임무 중요 환경의 위험 상황 — 공항, êµ­ê²½, 교도소","시간 엔진: 프롬프트를 실행하고 시스템이 인간 개입 없이 계속됨"]},{title:"2.4 협력 네트워크 조정",type:"list",items:["전체 공공 및 민간 협력 네트워크에 전파되는 검색 및 추적 실행","감시 목록과 일치할 때 Perceptrum의 자동 알림 수신","공공, 도로(F.A.S.T.) 및 민간(Perceptrum) 공간 간 통합 운영 조정","전체 통합 네트워크의 알림, 증거 및 추적 기록 중앙화"]},{title:"2.5 상업 모델",type:"params",params:[{param:"라이선싱",value:"제도적 — 공공 기관 또는 기업과의 계약"},{param:"배포",value:"고객 서버에 온프레미스"},{param:"지원",value:"온보딩 및 구성 포함"},{param:"파일럿",value:"기존 인프라에서 최대 7영업일 내에 구현 가능"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"가정에서 대기업까지 민간 환경을 위한 멀티모달 지능",sections:[{title:"2.6 초점 및 운영 범위",desc:"민간, 상업, 주거 및 콘도미니엄 부문을 대상으로 하는 플랫폼. 고급 모니터링 지능에 대한 접근을 민주화합니다.",type:"list",items:["주거 및 가정","콘도미니엄 및 주거/상업용 건물","소규모 및 중규모 상업시설","소매 체인 및 매장","은행 및 금융 기관","쇼핑몰 및 주차장","사립학교 및 대학교","민간 병원 및 클리닉","창고 및 물류 시설","농장 및 농촌 부동산"]},{title:"2.7 전용 인프라",type:"params",params:[{param:"실행 위치",value:"사용자의 개인 컴퓨터(가정 또는 기업용)"},{param:"최소 프로세서",value:"Intel i5 이상"},{param:"GPU",value:"필요 없음"},{param:"저장소",value:"분석 시 임시 이미지를 위한 디스크 공간"},{param:"DVR/NVR",value:"이전 녹화 검색을 위한 네이티브 읽기"},{param:"활성화",value:"분 단위 — CSV로 카메라 가져오기 및 즉시 시작"}]},{title:"2.8 특정 감지",type:"list",items:["비정상적인 시간 또는 장소에서 패턴을 벗어난 움직임","절도, 강도 및 폭행 — 전형적인 절도 행동","제한 구역에 부적절하게 존재","경계 위험 및 침입 시도","도움 요청 — 도움 제스처 및 행동","의심스러운 물체 방치","프로세스의 운영 이상(물류, 재고, 배달)","자동화된 프로세스 검증: 차량, 번호판, 배달원, 물량 계수","환경 유형별 구성 가능한 이벤트 — 각 시설의 프로필","보호 명령 위반자 위치 추적(접근 금지 명령 등)"]},{title:"2.9 자발적 협력(Perceptrum 전용)",type:"list",items:["자발적 협력 플래그 — 소유자가 활성화 여부 및 어떤 카메라가 참여할지 결정","활성화 시: 카메라가 Perceptrum Corporate 또는 F.A.S.T.-AI에서 발행된 검색에 참여","로컬에서 실행되는 분석 — 민간 사용자 자신의 컴퓨터에서","공공 센터에 지속적으로 전송되는 비디오 스트림 없음","외부에 열린 네트워크 포트 없음","ê²°ê³¼(일치)만 센터로 전송 — 이미지 아님","알림에 포함: 오버레이가 있는 개인 이미지, 날짜/시간, 카메라, 주소, GPS, 신뢰도","소유자가 언제든지 철회 가능한 참여","GDPR/LGPD 완전 준수 — 아í
45‚¤í…ì²˜ 설계에 의한 개인 정보 보호"]},{title:"2.10 상업 모델",type:"params",params:[{param:"무료 버전",value:"기본 모니터링 기능 — 무료, 신용카드 필요 없음"},{param:"프리미엄 버전",value:"완전한 액세스 — 접근 가능한 월간 라이선스"},{param:"공공 협력",value:"민간 사용자에게 무료 — 공공 기관이 쿼리당 비용 지불"},{param:"국가 비용",value:"검색당 몇 센트 — 검색이 활성화될 때만 지불"},{param:"배포",value:"전국 민간 사용자에게 배포 가능"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"영토 지능, 이동성 및 도시 공간의 동적 해석",sections:[{title:"2.11 초점 및 운영 범위",desc:"이동성, 교통, 도시 계획 및 영토의 동적 해석을 대상으로 하는 플랫폼.",type:"list",items:["시 교통 및 이동성 부서","도시운영센터(COU)","공공사업 및 도시계획 부서","교통 단속 기관","대규모 공공 행사 관리자","고속도로 및 주차장 운영사","공공 안전 기관 — 차량 추적 및 도로 운영"]},{title:"2.12 전용 인프라",type:"params",params:[{param:"실행 위치",value:"교통 및 도시 계획 책임 기업 서버"},{param:"GPU",value:"필요 없음(복잡한 위반 분석 및 고속도로 사고 예방 SBC 제외)"},{param:"저장소",value:"낮음 — 기존 NAS, DVR, NVR 또는 스트리밍에서 직접 읽기"},{param:"호환 소스",value:"도로, 신호등, 고정 및 이동식 레이더 공공 카메라 — 모든 표준"},{param:"규모",value:"완전한 도시 도로 네트워크 — 지역, 회랑, 도시"}]},{title:"2.13 특정 감지",type:"list",items:["교통 위반 — 증거와 함께 자동 과태료 생성","사고 및 보행자 충격 — 즉각적인 감지 및 알림","혼잡 형성 — 붕괴 전 조기 감지","도로 차단 및 우회","공공 공간의 불규칙한 점유","도시 이동성에 영향을 미치는 비정형 이벤트","도로 및 전략적 구역의 운영 위험","흐름 패턴, 중요 지역 및 반복 발생","의심 차량 추적 — 번호판, 모델, 색상, 경로","도로 및 공공 공간에서의 인원 집중 및 밀도","운영자 요청 시 자동 추격"]},{title:"2.14 영토 지능(F.A.S.T.-AI 전용)",type:"list",items:["시간, 요일 및 구역별 차량 및 보행자 흐름 패턴 분석","중요 지역 및 사건 반복 발생 식별","실제 데이터로 도로 및 도시 계획 결정 지원","장관 및 관리자를 위한 실시간 영토 관리 대시보드","대규모 행사 관리 지원 — 밀도, 흐름, 혼잡 위험","영토 행동에 대한 지속적인 전략적 정보 생성"]},{title:"2.15 상업 모델",type:"params",params:[{param:"라이선싱",value:"시/주 — 이동성 또는 보안 공공 기관과의 계약"},{param:"배포",value:"시 또는 운영사 서버 — 기존 인프라 위"},{param:"직접 ROI",value:"자동 과태료로 생성된 수익이 플랫폼 비용을 초과"},{param:"파일럿",value:"기존 공공 카메라에서 최대 7영업일 내에 구현 가능"}]}]}],comparison:{title:"세 플랫폼 비교 요약",rows:[{feature:"주요 초점",drakon:"공공 부문 및 임무 중요",perceptrum:"민간 및 주거 부문",fast:"교통 및 도시 계획"},{feature:"실행 위치",drakon:"고객 서버(온프레미스)",perceptrum:"개인 컴퓨터(i5+)",fast:"시/운영사 서버"},{feature:"GPU 필요",drakon:"❌ 아니오",perceptrum:"❌ 아니오",fast:"❌ 아니오(SBC 제외)"},{feature:"카메라 교체",drakon:"❌ 불필요",perceptrum:"❌ 불필요",fast:"❌ 불필요"},{feature:"라이브 분석(24/7)",drakon:"✅ 예",perceptrum:"✅ 예",fast:"✅ 예"},{feature:"녹화 사후 처리",drakon:"✅ 예(DVR/NVR/NAS)",perceptrum:"✅ 예(DVR/NVR/NAS)",fast:"✅ 예(DVR/NVR/NAS)"},{feature:"자연어 JOB",drakon:"✅ 예",perceptrum:"✅ 예",fast:"✅ 예"},{feature:"API/Webhook 통합",drakon:"✅ 예",perceptrum:"✅ 예",fast:"✅ 예"},{feature:"다중 카메라 추적",drakon:"✅ 예",perceptrum:"✅ 예",fast:"✅ 예"},{feature:"민간 협력 네트워크",drakon:"✅ 검색 조정",perceptrum:"✅ 참여(자발적)",fast:"✅ 도로 검색 조정"},{feature:"무료 버전 가능",drakon:"❌ 아니오",perceptrum:"✅ 예(기본)",fast:"❌ 아니오"},{feature:"PoC 가능",drakon:"✅ 예",perceptrum:"❌ 아니오",fast:"✅ 예"},{feature:"자동 과태료",drakon:"❌ 초점 아님",perceptrum:"❌ 초점 아님",fast:"✅ 예 — 자동 생성"},{feature:"영토 지능",drakon:"제도적·운영적",perceptrum:"민간·운영적",fast:"✅ 영토적·도시적"},{feature:"GDPR/LGPD 준수",drakon:"✅ 예",perceptrum:"✅ 예(설계에 의해)",fast:"✅ 예"},{feature:"파일럿 활성화 시간",drakon:"최대 7영업일",perceptrum:"분",fast:"ì
45µœëŒ€ 7영업일"}]}},zh:{hero:{badge:"技术规格",title:"技术规格",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"用于评估、采购和集成流程的结构化技术文档。AiQuimist三个平台的所有规格 — 共同功能和独有差异化优势。",part1:"第1部分 — 核心规格",part1sub:"三个平台共有的功能",part2:"第2部分 — 专属规格",part2sub:"每个产品的特定差异化优势",part3:"比较摘要"},copy:"复制表格",copied:"已复制!",yes:"✅ 是",no:"❌ 否",feature:"功能",capacity:"容量",detail:"详情",param:"参数",value:"值",sections:[{id:"s1",title:"1.1 AI引擎 — 通用多模态解释",desc:"AiQuimist平台同时分析视频、音频、文本和图像,提取真实上下文并识别相关情况。",type:"capabilities",items:[{label:"🎥 视频",detail:"实时分析直播摄像头和录像。识别场景、物体、行为、动作和模式。"},{label:"🔊 音频",detail:"检测语音、关键词、语义模式、语调、紧迫性、冲突和可配置的关注声音。"},{label:"📄 文本和图像",detail:"文件上传和分析(视频、图像、音频、文本)。跨来源提取证据、元数据和关联。"},{label:"原生时序处理",detail:"分析动作流畅性,而不仅仅是单独的帧"},{label:"大型上下文窗口",detail:"保留长时间视频/音频的记忆用于事件关联"},{label:"实时分析(直播)",detail:"24×7摄像头流和音频频道"},{label:"后处理",detail:"对NVR、DVR、NAS的文件和录像应用相同的检测标准"},{label:"数字文件上传",detail:"视频、图像、音频和文本用于关联多模态分析"},{label:"情绪状态识别",detail:"读取肢体语言、语调和行为信号"},{label:"AI供应商抽象",detail:"可配置的端点、凭据和限制;以最小影响切换供应商"}]},{id:"s2",title:"1.2 摄像头和来源采集",type:"mixed",items:[{label:"通用兼容性",detail:"无论品牌、制造商、型号或代次,任何摄像头"},{label:"模拟和数字",detail:"无需硬件替换"},{label:"主要协议",detail:"RTSP、ONVIF和等效的HTTP/文件方法"},{label:"DVR / NVR / NAS",detail:"读取客户已安装的设备"},{label:"批量导入",detail:"包含摄像头元数据的Excel或CSV(IP、制造商、用户、密码、端口等)"},{label:"自主操作",detail:"通过内部网络完全本地化 — 不向互联网暴露流"},{label:"网络安全",detail:"不开放用于远程访问的端口,不配置隧道/NAT"},{label:"可扩展性",detail:"并行1到N个摄像头/音频频道"},{label:"流可用性",detail:"故障后的监控和自动恢复"}]},{id:"s3",title:"1.3 任务编排 — JOB / STEP",desc:"替代人工操作员执行监视例程的智能自动化系统。通过自然语言提示创建 — 无需编码或编程。",type:"capabilities",items:[{label:"JOB(任务)",detail:"读取1个或N个摄像头/频道并根据定义条件运行的监控单元"},{label:"STEP(步骤)",detail:"每个JOB由多个链接步骤组成;一个摄像头的结果(输出)提供给下一个(输入)"},{label:"每步多来源",detail:"每个STEP可激活1个或多个摄像头和/或1个或多个音频频道"},{label:"智能链接",detail:"步骤间的认知依赖;流程根据之前的结果变化"},{label:"原生条件决策",detail:"基于实际结果的分支、中断、重复或升级"},{label:"每频道提示",detail:"每个摄像头或音频频道在同一JOB内接收特定提示"},{label:"调度",detail:"在计划的日期和时间以定义的或持续的持续时间执行"},{label:"即时激活/停用",detail:"无需重新配置"},{label:"任务版本控制",detail:"配置和提示历史记录"},{label:"非技术用户创建",detail:"没有技术知识的操作员通过智能代理界面创建完整JOB"}],params:[{param:"JOB创建",value:"自然语言(文本或语音)— 无需编码"},{param:"链接",value:"STEP N使用STEP N-1的认知结果"},{param:"每STEP来源",value:"1个或多个摄像头 + 1个或多个音频频道"},{param:"调度",value:"可配置日期、时间、持续时间和重复"}]},{id:"s4",title:"1.4 检测和分类能力",type:"grouped",groups:[{label:"基于视频的检测(计算机视觉 / 多模态)",items:["根据配置的æ
45ç¤ºè¯†åˆ«ç›¸å…³æƒ…况和行为","识别关注人员 — 带自动事件关联的观察名单","带条件触发器的人员计数(多于X / 少于X / 恰好X)","随时间跟踪1个或多个个人/车辆","带重新识别的多摄像头跟踪 — 跟踪摄像头A → N → B间的移动","检测路线偏离和预期轨迹违规","读取车牌、标志和摄像头中可见的文本内容","识别可配置的手势和手语手势(在提示中定义时)","检测情绪状态和冲突前肢体语言"]},{label:"基于音频的检测(语音 / 声音 / 多模态)",items:["实时和录制音频分析,适用时带转录(STT)","说话人分离 — 带每位说话人摘要和整个对话摘要的说话人识别和分离","根据参数化检测口语关键词","检测可配置的短语和语义模式","检测发生迹象的语音模式 — 紧迫性、冲突、重复","为审计突出显示相关片段"]},{label:"警报系统",items:["满足条件的警报 — 例如:'在A点检测到X人的群体'","未满足条件的警报 — 例如:'个人未在时间T内通过摄像头Y'","带步骤序列逻辑的警报 — 可配置的多点工作流","可配置的触发器、时间窗口和关联标准","可配置的严重级别、接收者和通知渠道","附加到警报的证据 — 帧、视频剪辑、音频片段","警报生命周期记录 — 生成、发送、接收和关闭"]}]},{id:"s5",title:"1.5 情境化和证据生成",type:"capabilities",items:[{label:"自动上下文描述",detail:"为每个检测到的事件以自然语言生成"},{label:"结构化元数据",detail:"来源、日期/时间、逻辑位置、事件类型、严重性"},{label:"自动关联",detail:"多个来源间相同个人、相同区域、相同时间间隔"},{label:"证据提取",detail:"帧、视频剪辑、音频片段、识别的文本"},{label:"推理可追溯性",detail:"所有检测的日志和审计"},{label:"运营报告",detail:"完整的审计跟踪"}]},{id:"s6",title:"1.6 自然语言操作",desc:"任何操作员 — 无需技术培训 — 都可以使用文本或语音创建、配置和操作完整的JOB。无需编程、脚本或外部工具。",type:"capabilities",items:[{label:"自然语言查询",detail:"带情境化答案的问题"},{label:"文本和语音命令",detail:"创建、编辑和激活任务"}
45,{label:"通过提示完整配置",detail:"监控、警报、触发器和接收者"},{label:"治理控制",detail:"关键操作确认,按配置文件的限制"},{label:"审计跟踪",detail:"记录所有命令和更改"}]},{id:"s7",title:"1.7 外部集成 — API和Webhook",type:"capabilities",items:[{label:"自动Webhook触发",detail:"基于定义条件的外部API调用"},{label:"非技术操作员配置",detail:"通过自然语言提示"},{label:"结构化有效载荷",detail:"JSON中的元数据和证据"},{label:"外部调用认证",detail:"令牌、密钥、签名和允许列表"},{label:"请求审计",detail:"所有外部调用的完整日志"},{label:"故障处理",detail:"重试、队列和日志"},{label:"互操作性",detail:"仪表板、消息传递、记录和管理系统"}],params:[{param:"协议",value:"REST API + Webhooks"},{param:"有效载荷",value:"带元数据、证据和上下文的结构化JSON"},{param:"认证",value:"令牌、密钥、签名和允许列表"},{param:"审计",value:"所有外部调用的完整日志"}]},{id:"s8",title:"1.8 消费指标和成本管理",type:"capabilities",items:[{label:"每JOB/STEP指标",detail:"详细记录和可用性"},{label:"每摄像头/音频频道指标",detail:"每来源的个人消费"},{label:"每用户/配置文件指标",detail:"按操作员跟踪使用情况"},{label:"令牌和请求计数",detail:"带延迟的估计和实际值"},{label:"按维度的成本",detail:"JOB、摄像头和用户"},{label:"配额和成本中心",detail:"支持配额和按部门隔离"}]},{id:"s9",title:"1.9 硬件要求",type:"params",params:[{param:"GPU",value:"不需要 — 三个平台均不需要"},{param:"GPU (F.A.S.T.-AI)",value:"用于某些复杂违规和公路事故预防SBC解决方案"},{param:"专有硬件",value:"不需要 — 与现有基础设施集成"},{param:"摄像头",value:"无需替换 — 与任何已安装设备兼容"},{param:"支持的操作系统",value:"Windows(原生兼容性)"},{param:"部署",value:"本地、公共/私有云(国内领土)或混合"},{param:"激活",value:"天而非月 — 最多7个工作日内可实施试点"}]},{id:"s10",title:"1.10 信息安全、治理和数据保护",type:"capabilities",items:[{label:"RBAC访问控制",detail:"职责分离和最小权限"},{label:"完整审计跟踪",detail:"操作、命令、配置更改和提示的日志"},{label:"数据保护",detail:"传输中和存储中"},{label:"保留和删除政策",detail:"适用时的假名化/匿名化"},{label:"访问配置文件管理",detail:"按级别的运营限制"},{label:"GDPR/LGPD合规",detail:"最小化、目的、必要性和问责制"},{label:"凭据存储",detail:"Windows凭据管理器/DPAPI或同等物 — 禁止明文"}]},{id:"s11",title:"1.11 可用性和运营连续性",type:"capabilities",items:[{label:"24×7运营",detail:"不间断的持续监控"},{label:"自动恢复",detail:"无需干预在流故障后恢复"},{label:"连接中断恢复力",detail:"录制内容的重新处理"},{label:"队列和重新处理",detail:"保证无缺口覆盖"},{label:"高可用性",detail:"配置时的冗余、复制和负载平衡"}]},{id:"s12",title:"1.12 与私人合作网络集成",desc:"AiQuimist生态系统的独有功能:自愿用户的私人摄像头自动参与公共搜索 — 无需传输视频,无需开放网络端口。",type:"capabilities",items:[{label:"免费分发",detail:"可向全国私人用户分发的Windows解决方案"},{label:"配对机制",detail:"激活码、设备链接和撤销"},{label:"仅授权端点",detail:"只有授权端点可以消费或发布数据/事件"},{label:"本地检测和通知",detail:"分析在私人用户的计算机上进行"},{label:"匹配通知",detail:"与观察名单匹配时自动发送到中央平台"},{label:"结构化警报",detail:"带叠加的个人图像、日期/时间、摄像头、完整地址、GPS、置信度、标识符"},{label:"Re-ID算法",detail:"重新识别,适用且授权时进行面部识别"},{label:"自愿参与",detail:"用户决定是否激活合作以及哪些摄像头参与"}
45,{label:"设计中的隐私",detail:"无开放端口,无持续传输的流"},{label:"完全GDPR/LGPD合规",detail:"本地分析,仅共享相关结果"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"用于公共运营和关键任务环境的机构智能",sections:[{title:"2.1 重点和运营范围",desc:"面向公共、机构和高重要性企业部门的平台。在大规模摄像头网络上运营。",type:"list",items:["市、州和联邦政府","警察、市政卫队和安全部门","综合指挥控制中心(CIOP)","监狱和拘留机构","机场、港口和码头","边境和国家关键基础设施","公共企业和复杂运营的大型私营公司","大型私营公司:银行、物流等"]},{title:"2.2 专用基础设施",type:"params",params:[{param:"运行位置",value:"客户自有服务器(本地)"},{param:"数据安全",value:"100%内部 — 没有信息暴露给互联网"},{param:"GPU",value:"不需要"},{param:"服务器",value:"常规 — 专用于数据库和同时读取摄像头"},{param:"规模",value:"大规模机构网络 — 数十到数千个摄像头"}]},{title:"2.3 特定检测",type:"list",items:["周界、通道和关键环境中的可疑动作","与敏感区域不相容的行为","入侵和未授权访问尝试","冲突和暴力情况","拘留机构中的逃跑尝试","武器存在","在危险地点遗弃物品","行为模式的突然变化","关键点的异常人员集中","关键任务环境中的危险情况 — 机场、边境、监狱","时间引擎:执行提示,系统无需人工干预继续运行"]},{title:"2.4 合作网络协调",type:"list",items:["触发在整个公共和私人合作网格中传播的搜索和跟踪","当与观察名单匹配时接收Perceptrum的自动通知","协调公共、道路(F.A.S.T.)和私人(Perceptrum)空间之间的综合行动","集中整个综合网络的警报、证据和跟踪记录"]},{title:"2.5 商业模式",type:"params",params:[{param:"许可",value:"机构 — 与公共机构或企业签订合同"},{param:"部署",value:"在客户服务器上本地部署"},{param:"支持",value:"包含入职和配置"},{param:"试点",value:"在现有基础设施上最多7个工作日内可实施"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"从家庭到大型企业的私人环境多模态智能",sections:[{title:"2.6 重点和运营范围",desc:"面向私人、商业、住宅和公寓部门的平台。使高级监控智能访问民主化。",type:"list",items:["住宅和家庭","公寓和住宅/商业建筑","小型和中型商业场所","零售连锁和商店","银行和金融机构","购物中心和停车场","私立学校和大学","私立医院和诊所","仓库和物流设施","农场和农村房产"]},{title:"2.7 专用基础设施",type:"params",params:[{param:"运行位置",value:"用户的个人电脑(家用或企业)"},{param:"最低处理器",value:"Intel i5或更高"},{param:"GPU",value:"不需要"},{param:"存储",value:"分析时临时图像的磁盘空间"},{param:"DVR/NVR",value:"用于搜索之前录像的原生读取"},{param:"激活",value:"分钟 — 通过CSV导入摄像头并立即启动"}]},{title:"2.8 特定检测",type:"list",items:["在不寻常时间或地点的模式外动作","盗窃、抢劫和攻击 — 典型的剥夺行为","在受限区域的不当存在","周界风险和入侵尝试","求救 — 求助手势和行为","遗弃可疑物品","过程中的运营异常(物流、库存、配送)","自动化流程验证:车辆、车牌、配送员、数量计数","按环境类型的可配置事件 — 每个设施的配置文件","定位保护令违规者(接近禁令等)"]},{title:"2.9 自愿合作(Perceptrum专属)",type:"list",items:["自愿合作标志 — 业主决定是否激活以及哪些摄像头参与","激活时:摄像头参与Perceptrum Corporate或F.A.S.T.-AI发出的搜索","本地执行的分析 — 在私人用户自己的计算机上","没有视频流持续传输到公共中心","没有对外开放的网络端口","只有结果(匹配)发送到中心 — 不是图像","警报包括:带叠加的个人图像、日期/时间、摄像头、地址、GPS、置信度","业主随时可撤销的参与","完全符合GDPR/LGPD — 架构设计中的隐私保护"]},{title:"2.10 商业模式",type:"params",params:[{param:"免费版本",value:"基本监控功能 — 免费,无需信用卡"},{param:"高级版本",value:"完全访问 — 可访问的月度许可证"},{param:"公共合作",value:"对私人用户免费 — 公共机构按查询支付费用"},{param:"国家成本",value:"每次搜索几分钱 — 仅在激活搜索时支付"},{param:"分发",value:"可向全国私人用户分发"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"领土智能、移动性和城市空间的动态解读",sections:[{title:"2.11 重点和运营范围",desc:"面向移动性、交通、城市规划和领土动态解读的平台。",type:"list",items:["市级交通和移动部门","城市运营中心(COU)","公共工程和城市规划部门","交通执æ
45³•机构","大型公共活动管理者","高速公路和停车场运营商","公共安全部门 — 车辆追踪和道路运营"]},{title:"2.12 专用基础设施",type:"params",params:[{param:"运行位置",value:"负责交通和城市规划的企业服务器"},{param:"GPU",value:"不需要(复杂违规分析和公路事故预防SBC除外)"},{param:"存储",value:"低 — 直接从现有NAS、DVR、NVR或流读取"},{param:"兼容来源",value:"道路、交通灯、固定和移动雷达公共摄像头 — 任何标准"},{param:"规模",value:"完整城市道路网络 — 街区、走廊、城市"}]},{title:"2.13 特定检测",type:"list",items:["交通违规 — 带证据的自动罚款生成","事故和行人碰撞 — 即时检测和通知","拥堵形成 — 在崩溃前的早期检测","道路封锁和改道","公共空间的不规则占用","影响城市移动性的非典型事件","道路和战略区域的运营风险","流量模式、关键区域和反复发生情况","追踪可疑车辆 — 车牌、型号、颜色、路线","道路和公共空间的人员集中和密度","操作员要求时自动追踪"]},{title:"2.14 领土智能(F.A.S.T.-AI专属)",type:"list",items:["按小时、日和区域分析车辆和行人流量模式","识别关键区域和事件反复发生情况","用真实数据支持道路和城市规划决策","为部长和管理者提供实时领土管理仪表板","支持大型活动管理 — 密度、流量、骚乱风险","生成关于领土行为的持续战略信息"]},{title:"2.15 商业模式",type:"params",params:[{param:"许可",value:"市/州 — 与移动性或安全公共机构签订合同"}
45,{param:"部署",value:"市或运营商服务器 — 在现有基础设施上"},{param:"直接ROI",value:"自动罚款产生的收入超过平台成本"},{param:"试点",value:"在现有公共摄像头上最多7个工作日内可实施"}]}]}],comparison:{title:"三个平台比较摘要",rows:[{feature:"主要重点",drakon:"公共部门和关键任务",perceptrum:"私人和住宅部门",fast:"交通和城市规划"},{feature:"运行位置",drakon:"客户服务器(本地)",perceptrum:"个人电脑(i5+)",fast:"市/运营商服务器"},{feature:"需要GPU",drakon:"❌ 否",perceptrum:"❌ 否",fast:"❌ 否(SBC除外)"},{feature:"摄像头替换",drakon:"❌ 不需要",perceptrum:"❌ 不需要",fast:"❌ 不需要"},{feature:"实时分析(24/7)",drakon:"✅ 是",perceptrum:"✅ 是",fast:"✅ 是"},{feature:"录制后处理",drakon:"✅ 是(DVR/NVR/NAS)",perceptrum:"✅ 是(DVR/NVR/NAS)",fast:"✅ 是(DVR/NVR/NAS)"},{feature:"自然语言JOB",drakon:"✅ 是",perceptrum:"✅ 是",fast:"✅ 是"},{feature:"API/Webhook集成",drakon:"✅ 是",perceptrum:"✅ 是",fast:"✅ 是"},{feature:"多摄像头追踪",drakon:"✅ 是",perceptrum:"✅ 是",fast:"✅ 是"},{feature:"私人合作网络",drakon:"✅ 协调搜索",perceptrum:"✅ 参与(自愿)",fast:"✅ 协调道路搜索"},{feature:"可用免费版本",drakon:"❌ 否",perceptrum:"✅ 是(基本)",fast:"❌ 否"},{feature:"可用PoC",drakon:"✅ 是",perceptrum:"❌ 否",fast:"✅ 是"},{feature:"自动罚款",drakon:"❌ 非重点",perceptrum:"❌ 非重点",fast:"✅ 是 — 自动生成"},{feature:"领土智能",drakon:"机构运营",perceptrum:"私人运营",fast:"✅ 领土和城市"},{feature:"GDPR/LGPD合规",drakon:"✅ 是",perceptrum:"✅ 是(设计上)",fast:"✅ 是"},{feature:"试点激活时间",drakon:"最多7个工作日",perceptrum:"分钟",fast:"最多7个工作日"}]}},tr:{hero:{badge:"Teknik Özellikler",title:"Teknik Özellikler",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Değerlendirme, tedarik ve entegrasyon süreçleri için yapılandırılmış teknik belge. AiQuimist'in üç platformunun tüm özellikleri — ortak işlevler ve özel farklılaştırıcılar.",part1:"BÖLÜM 1 — Temel Özellikler",part1sub:"Üç platformda ortak işlevler",part2:"BÖLÜM 2 — Özel Özellikler",part2sub:"Her ürünün kendine özgü farklılaştırıcıları",part3:"Karşılaştırmalı Özet"},copy:"Tabloyu kopyala",copied:"Kopyalandı!",yes:"✅ Evet",no:"❌ Hayır",feature:"Özellik",capacity:"Kapasite",detail:"Detay",param:"Parametre",value:"Değer",sections:[{id:"s1",title:"1.1 AI Motoru — Evrensel Çok Modlu Yorumlama",desc:"AiQuimist platformu video, ses, metin ve görüntüyü eş zamanlı olarak analiz ederek gerçek bağlamı çıkarır ve ilgili durumları tanımlar.",type:"capabilities",items:[{label:"🎥 Video",detail:"Canlı kameralar ve kayıtların gerçek zamanlı analizi. Sahneler, nesneler, davranışlar, hareketler ve kalıpları tanır."}
45,{label:"🔊 Ses",detail:"Konuşma, anahtar kelime, anlamsal kalıp, ses tonu, aciliyet, çatışma ve yapılandırılabilir ilgi sesi tespiti."},{label:"📄 Metin ve Görüntü",detail:"Dosya yükleme ve analizi (video, görüntü, ses, metin). Kaynaklar arasında kanıt, meta veri ve korelasyon çıkarımı."},{label:"Yerel zamansal işleme",detail:"Yalnızca izole kareler değil, hareket akıcılığını analiz eder"},{label:"Büyük bağlam penceresi",detail:"Olay korelasyonu için uzun video/ses dönemlerinin belleğini korur"},{label:"Gerçek zamanlı analiz (canlı)",detail:"24×7 kamera akışları ve ses kanalları"},{label:"Sonradan işleme",detail:"NVR, DVR, NAS'tan dosyalar ve kayıtlara aynı tespit kriterleri uygulanır"},{label:"Dijital dosya yükleme",detail:"İlişkili çok modlu analiz için video, görüntü, ses ve metin"},{label:"Duygusal durum tanımlama",detail:"Beden dili, ses tonu ve davranışsal sinyallerin okunması"},{label:"AI sağlayıcı soyutlaması",detail:"Yapılandırılabilir uç noktalar, kimlik bilgileri ve limitler; minimum etkiyle sağlayıcı değişimi"}]},{id:"s2",title:"1.2 Kamera ve Kaynak Alımı",type:"mixed",items:[{label:"Evrensel uyumluluk",detail:"Marka, üretici, model veya nesil fark etmeksizin herhangi bir kamera"},{label:"Analog ve dijital",detail:"Donanım değişikliği gerekmez"},{label:"Ana protokol",detail:"RTSP, ONVIF ve eşdeğer HTTP/dosya yöntemleri"},{label:"DVR / NVR / NAS",detail:"Müşteride zaten kurulu ekipmanın okunması"},{label:"Toplu içe aktarma",detail:"Kamera meta verilerini içeren Excel veya CSV (IP, üretici, kullanıcı, şifre, port vb.)"},{label:"Özerk işletim",detail:"İç ağ üzerinden tamamen yerel — internet'e akış açığı yok"},{label:"Ağ güvenliği",detail:"Uzaktan erişim için port açılmaz, tünel/NAT yapılandırılmaz"},{label:"Ölçeklenebilirlik",detail:"Paralel 1 ila N kamera/ses kanalı"},{label:"Akış kullanılabilirliği",detail:"Arızalardan sonra izleme ve otomatik kurtarma"}]},{id:"s3",title:"1.3 Görev Orkestrasyonu — JOB / STEP",desc:"Gözetleme rutinlerinde insan o
45peratörlerin yerini alan akıllı otomasyon sistemi. Doğal dil istemleriyle oluşturulur — kod veya programlama gerektirmez.",type:"capabilities",items:[{label:"JOB (görev)",detail:"1 veya N kamera/kanal okuyan ve tanımlanmış koşullara göre çalışan izleme birimi"},{label:"STEP (adım)",detail:"Her JOB birden fazla zincirlenmiş adımdan oluşur; bir kameranın sonucu (çıktı) bir sonrakini besler (girdi)"},{label:"Adım başına birden fazla kaynak",detail:"Her STEP 1 veya daha fazla kamera ve/veya 1 veya daha fazla ses kanalını etkinleştirebilir"},{label:"Akıllı zincirleme",detail:"Adımlar arasında bilişsel bağımlılık; akış önceki sonuca göre değişir"},{label:"Yerel koşullu kararlar",detail:"Gerçek sonuca dayalı dallanma, kesinti, tekrarlama veya yükseltme"},{label:"Kanal başına istem",detail:"Her kamera veya ses kanalı aynı JOB içinde belirli bir istem alır"},{label:"Zamanlama",detail:"Tanımlanmış veya sürekli süreyle planlanan tarih ve saatlerde yürütme"},{label:"Anında etkinleştirme/devre dışı bırakma",detail:"Yeniden yapılandırma gerekmez"},{label:"Görev sürümleme",detail:"Yapılandırma ve istem geçmişi"},{label:"Teknik olmayan kullanıcı oluşturma",detail:"Teknik bilgisi olmayan operatörler akıllı ajan arayüzü aracılığıyla tam JOB oluşturur"}],params:[{param:"JOB oluşturma",value:"Doğal dil (metin veya ses) — kod yok"},{param:"Zincirleme",value:"STEP N, STEP N-1'in bilişsel sonucunu kullanır"},{param:"STEP başına kaynaklar",value:"1 veya daha fazla kamera + 1 veya daha fazla ses kanalı"},{param:"Zamanlama",value:"Tarih, saat, süre ve tekrarlama yapılandırılabilir"}]},{id:"s4",title:"1.4 Tespit ve Sınıflandırma Yetenekleri",type:"grouped",groups:[{label:"Video tabanlı tespit (bilgisayarlı görü / çok modlu)",items:["Yapılandırılmış istemlere göre ilgili durumların ve eylemlerin tanımlanması","İlgi kişilerinin tanınması — otomatik olay ilişkilendirme içeren izleme listesi","Koşullu tetikleyicilerle kişi sayımı (X'ten fazla / X'ten az / tam X)","Zaman içinde 1 veya birden fazla bireyin/aracın takibi","Yeniden tanımlama ile çok kameralı takip — kamera A → N → B arasındaki hareketi takip eder","Rota sapması ve beklenen yörünge ihlalinin tespiti","Plakaların, işaretlerin ve kamerada görünür metin içeriğinin okunması","Yapılandırılabilir el hareketleri ve işaret dili hareketlerinin tanımlanması (istemde tanımlandığında)","Duygusal durum ve çatışma öncesi beden dilinin tespiti"]},{label:"Ses tabanlı tespit (konuşma / sesler / çok modlu)",items:["Uygulanabilir durumlarda transkripsiyon (STT) ile gerçek zamanlı ve kaydedilmiş ses analizi","Hoparlör ayrımı — hoparlör özeti ve tüm konuşma özeti ile hoparlör tanımlama ve ayrımı","Parametrizasyona göre söylenen anahtar kelimelerin tespiti","Yapılandırılabilir ifade ve anlamsal kalıpların tespiti","Olay göstergeli konuşma kalıplarının tespiti — aciliyet, çatışma, tekrarlama","Denetim için ilgili segmentlerin vurgulanması"]},{label:"Uyarı sistemi",items:["Karşılanan koşul uyarısı — örn.: 'A noktasında X kişilik grup tespit edildi'","Karşılanmayan koşul uyarısı — örn.: 'birey T süresi içinde Y kamerasından geçmedi'","Adım sırası mantığı içeren uyarılar — yapılandırılabilir çok noktalı iş akışı","Yapılandırılabilir tetikleyiciler, zaman pencereleri ve korelasyon kriterleri","Yapılandırılabilir önem düzeyleri, alıcılar ve bildirim kanalları","Uyarılara eklenmiş kanıtlar — kareler, video klipleri, ses segmentleri","Uyarı yaşam döngüsü kaydı — oluşturma, gönderme, alma ve kapatma"]}]},{id:"s5",title:"1.5 Bağlamsallaştırma ve Kanıt Üretimi",type:"capabilities",items:[{label:"Otomatik bağlam açıklaması",detail:"Her tespit edilen olay için doğal dilde oluşturulur"},{label:"Yapılandırılmış meta veriler",detail:"Kaynak, tarih/saat, mantıksal konum, olay türü, önem"},{label:"Otomatik korelasyon",detail:"Birden fazla kaynak arasında aynı birey, aynı alan, aynı aralık"}
45,{label:"Kanıt çıkarımı",detail:"Kareler, video klipleri, ses segmentleri, tanınan metin"},{label:"Çıkarım izlenebilirliği",detail:"Tüm tespitlerin günlükleri ve denetimi"},{label:"Operasyonel raporlar",detail:"Tam denetim izi"}]},{id:"s6",title:"1.6 Doğal Dil İşletimi",desc:"Herhangi bir operatör — teknik eğitim olmaksızın — metin veya ses kullanarak tam JOB'ları oluşturabilir, yapılandırabilir ve işletebilir. Programlama, komut dosyaları veya harici araçlar gerektirmez.",type:"capabilities",items:[{label:"Doğal dil sorguları",detail:"Bağlamsal yanıtlı sorular"},{label:"Metin ve ses komutları",detail:"Görev oluşturma, düzenleme ve etkinleştirme"},{label:"İstemle tam yapılandırma",detail:"İzleme, uyarılar, tetikleyiciler ve alıcılar"},{label:"Yönetişim kontrolleri",detail:"Kritik eylemler için onay, profile göre kısıtlamalar"},{label:"Denetim izi",detail:"Tüm komutların ve değişikliklerin kaydı"}]},{id:"s7",title:"1.7 Harici Entegrasyonlar — API ve Webhook",type:"capabilities",items:[{label:"Otomatik webhook tetikleme",detail:"Tanımlanmış koşullara dayalı harici API çağrıları"},{label:"Teknik olmayan operatör yapılandırması",detail:"Doğal dil istemi aracılığıyla"},{label:"Yapılandırılmış yük",detail:"JSON'da meta veriler ve kanıtlar"},{label:"Harici çağrılarda kimlik doğrulama",detail:"Belirteçler, anahtarlar, imzalar ve izin listeleri"},{label:"İstek denetimi",detail:"Tüm harici çağrıların tam günlüğü"},{label:"Hata işleme",detail:"Yeniden denemeler, kuyruklar ve günlükler"},{label:"Birlikte çalışabilirlik",detail:"Panolar, mesajlaşma, kayıt ve yönetim sistemleri"}],params:[{param:"Protokol",value:"REST API + Webhooks"},{param:"Yük",value:"Meta veriler, kanıtlar ve bağlam içeren yapılandırılmış JSON"},{param:"Kimlik doğrulama",value:"Belirteçler, anahtarlar, imzalar ve izin listeleri"},{param:"Denetim",value:"Tüm harici çağrıların tam günlüğü"}]},{id:"s8",title:"1.8 Tüketim Metrikleri ve Maliyet Yönetimi",type:"capabilities",items:[{label:"JOB/STEP başına metrikler",detail:"Ayrıntılı kayıt ve kullanılabilirlik"},{label:"Kamera/ses kanalı başına metrikler",detail:"Kaynak başına bireysel tüketim"},{label:"Kullanıcı/profil başına metrikler",detail:"Operatör başına kullanım takibi"},{label:"Jeton ve istek sayımı",detail:"Gecikme ile tahmin ve gerçek değerler"},{label:"Boyuta göre maliyetler",detail:"JOB, kamera ve kullanıcı"},{label:"Kotalar ve maliyet merkezleri",detail:"Kota ve departmana göre ayrım desteği"}]},{id:"s9",title:"1.9 Donanım Gereksinimleri",type:"params",params:[{param:"GPU",value:"Gerekmez — üç platformun hiçbirinde"},{param:"GPU (F.A.S.T.-AI)",value:"Bazı karmaşık ihlaller ve otoyol kaza önleme SBC çözümü için kullanılır"},{param:"Tescilli donanım",value:"Gerekmez — mevcut altyapıyla entegre"},{param:"Kameralar",value:"Değişiklik yok — kurulu herhangi bir ekipmanla uyumlu"},{param:"Desteklenen işletim sistemi",value:"Windows (yerel uyumluluk)"},{param:"Dağıtım",value:"Yerinde, genel/özel bulut (ulusal toprak) veya hibrit"},{param:"Aktivasyon",value:"Aylar değil günler — en fazla 7 iş günü içinde pilot uygulanabilir"}]},{id:"s10",title:"1.10 Bilgi Güvenliği, Yönetişim ve Veri Koruma",type:"capabilities",items:[{label:"RBAC erişim kontrolü",detail:"Görev ayrımı ve en az ayrıcalık"},{label:"Tam denetim izleri",detail:"İşlem, komut, yapılandırma değişikliği ve istem günlükleri"},{label:"Veri koruma",detail:"Aktarım sırasında ve beklemede"},{label:"Saklama ve silme politikaları",detail:"Uygulanabilir durumlarda takma ad/anonimleştirme"},{label:"Erişim profili yönetimi",detail:"Seviyeye göre operasyonel kısıtlamalar"},{label:"GDPR/LGPD uyumu",detail:"Minimizasyon, amaç, gereklilik ve hesap verebilirlik"},{label:"Kimlik bilgisi depolama",detail:"Windows Kimlik Bilgisi Yöneticisi/DPAPI veya eşdeğeri — düz metin yasaktır"}]},{id:"s11",title:"1.11 Kullanılabilirlik ve Operasyonel Süreklilik",type:"capabilities",items:[{label:"24×7 işletim",detail:"Kesintisiz sürekli izleme"}
45,{label:"Otomatik kurtarma",detail:"Müdahale olmadan akış arızalarından sonra devam etme"},{label:"Bağlantı kesintisi dayanıklılığı",detail:"Kaydedilen içeriğin yeniden işlenmesi"},{label:"Kuyruklar ve yeniden işleme",detail:"Boşluksuz kapsama garantisi"},{label:"Yüksek kullanılabilirlik",detail:"Yapılandırıldığında yedeklilik, çoğaltma ve yük dengeleme"}]},{id:"s12",title:"1.12 Özel İşbirliği Ağıyla Entegrasyon",desc:"AiQuimist ekosisteminin özel özelliği: gönüllü kullanıcıların özel kameraları video iletmeden veya ağ portları açmadan kamuya açık aramalara otomatik olarak katılır.",type:"capabilities",items:[{label:"Ücretsiz dağıtım",detail:"Tüm ülkedeki özel kullanıcılara dağıtılabilen Windows çözümü"},{label:"Eşleştirme mekanizması",detail:"Aktivasyon kodu, cihaz bağlantısı ve iptal"},{label:"Yalnızca yetkili uç noktalar",detail:"Yalnızca yetkili uç noktalar veri/olayları tüketebilir veya yayımlayabilir"},{label:"Yerel tespit ve bildirim",detail:"Analiz özel kullanıcının bilgisayarında gerçekleşir"}
45,{label:"Eşleşme bildirimi",detail:"İzleme listesiyle eşleşme olduğunda merkezi platforma otomatik"},{label:"Yapılandırılmış uyarı",detail:"Katmanlı bireyin görüntüsü, tarih/saat, kamera, tam adres, GPS, güven düzeyi, tanımlayıcı"},{label:"Re-ID algoritmaları",detail:"Yeniden tanımlama ve uygulanabilir ve yetkilendirilmiş olduğunda yüz tanıma"},{label:"Gönüllü katılım",detail:"Kullanıcı işbirliğini etkinleştirip etkinleştirmeyeceğine ve hangi kameraların katılacağına karar verir"},{label:"Tasarımla gizlilik",detail:"Açık port yok, sürekli iletilen akış yok"},{label:"GDPR/LGPD tam uyumu",detail:"Yerel analiz, yalnızca ilgili sonuç paylaşımı"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Kamu operasyonları ve kritik görev ortamları için kurumsal zeka",sections:[{title:"2.1 Odak ve Operasyonel Kapsam",desc:"Kamu, kurumsal ve yüksek kritiklik kurumsal sektörüne yönelik platform. Büyük ölçekli kamera ağlarında çalışır.",type:"list",items:["Belediyeler, eyalet ve federal hükümetler","Polis, belediye muhafızları ve güvenlik bakanlıkları","Entegre komuta kontrol merkezleri (CIOP)","Cezaevleri ve tutukevleri","Havalimanları, limanlar ve terminaller","Sınırlar ve ulusal kritik altyapı","Kamu kuruluşları ve karmaşık operasyonlu büyük özel şirketler","Büyük özel şirketler: bankalar, lojistik ve diğerleri"]},{title:"2.2 Özel Altyapı",type:"params",params:[{param:"Çalıştığı yer",value:"Müşterinin kendi sunucuları (yerinde)"},{param:"Veri güvenliği",value:"%100 dahili — internete açık bilgi yok"},{param:"GPU",value:"Gerekmez"},{param:"Sunucular",value:"Geleneksel — veritabanı ve eş zamanlı kamera okuma için ayrılmış"},{param:"Ölçek",value:"Büyük ölçekli kurumsal ağlar — onlarca ila binlerce kamera"}]},{title:"2.3 Özel Tespitler",type:"list",items:["Çevre, erişim noktaları ve kritik ortamlarda şüpheli hareketler","Hassas alanlarla bağdaşmayan davranışlar","İzinsiz giriş ve yetkisiz erişim girişimleri","Çatışma ve şiddet durumları","Tutuklama tesislerinde kaçış girişimleri","Silah varlığı","Risk taşıyan yerlerde nesne bırakma","Davranış kalıplarındaki ani değişiklikler","Kritik noktalarda anormal kişi yoğunluğu","Kritik görev ortamlarındaki tehlikeli durumlar — havalimanları, sınırlar, cezaevleri","Zaman Motoru: istemi yürütür ve sistem insan müdahalesi olmadan devam eder"]},{title:"2.4 İşbirliği Ağı Koordinasyonu",type:"list",items:["Tüm kamu ve özel işbirliği ağında yayılan aramalar ve takipler başlatır","İzleme listesiyle eşleşme olduğunda Perceptrum'dan otomatik bildirim alır","Kamu, yol (F.A.S.T.) ve özel (Perceptrum) alanlar arasında entegre operasyonları koordine eder","Tüm entegre ağdan uyarıları, kanıtları ve takip kayıtlarını merkezileştirir"]},{title:"2.5 Ticari Model",type:"params",params:[{param:"Lisanslama",value:"Kurumsal — kamu kuruluşu veya şirketle sözleşme"},{param:"Dağıtım",value:"Müşteri sunucularında yerinde"},{param:"Destek",value:"Dahil işe alım ve yapılandırma"},{param:"Pilot",value:"Mevcut altyapı üzerinde en fazla 7 iş günü içinde uygulanabilir"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Evden büyük kurumsal şirkete kadar özel ortam için çok modlu zeka",sections:[{title:"2.6 Odak ve Operasyonel Kapsam",desc:"Özel, ticari, konut ve site sektörüne yönelik platform. Gelişmiş izleme zekasına erişimi demokratikleştirir.",type:"list",items:["Konutlar ve evler","Siteler ve konut/ticari binalar","Küçük ve orta ölçekli ticari yerler","Perakende zincirleri ve mağazalar","Bankalar ve finans kuruluşları","Alışveriş merkezleri ve otoparklar","Özel okullar ve üniversiteler","Özel hastaneler ve klinikler","Depolar ve lojistik tesisler","Çiftlikler ve kırsal mülkler"]},{title:"2.7 Özel Altyapı",type:"params",params:[{param:"Çalıştığı yer",value:"Kullanıcının kişisel bilgisayarı (ev veya kurumsal)"},{param:"Minimum işlemci",value:"Intel i5 veya üzeri"},{param:"GPU",value:"Gerekmez"},{param:"Depolama",value:"Analiz sırasında geçici görüntüler için disk alanı"},{param:"DVR/NVR",value:"Önceki kayıtlarda arama için yerel okuma"},{param:"Aktivasyon",value:"Dakikalar — CSV aracılığıyla kamera içe aktarma ve anında başlatma"}]},{title:"2.8 Özel Tespitler",type:"list",items:["Olağandışı saatlerde veya yerlerde kalıp dışı hareketler","Hırsızlıklar, soygunlar ve saldırılar — tipik gasp davranışları","Kısıtlı alanlarda uygunsuz varlık","Çevre riski ve izinsiz giriş girişimleri","Yardım talepleri — yardım jest ve davranışları","Şüpheli nesnelerin terk edilmesi","Süreçlerde operasyonel anormallikler (lojistik, envanter, teslimler)","Otomatik süreç doğrulama: araç, plaka, kurye, hacim sayımı","Ortam türüne göre yapılandırılabilir olaylar — her tesisin profili","Uzaklaştırma kararı ihlalcisinin konumlandırılması (yaklaşma yasağı vb.)"]},{title:"2.9 Gönüllü İşbirliği (Perceptrum'a özel)",type:"list",items:["Gönüllü işbirliği bayrağı — sahip etkinleştirip etkinleştirmeyeceğine ve hangi kameraların katılacağına karar verir","Etkinleştirildiğinde: kamera Perceptrum Corporate veya F.A.S.T.-AI tarafından yayımlanan aramalara katılır","Yerel olarak yürütülen analiz — özel kullanıcının kendi bilgisayarında","Kamuya açık merkeze sürekli iletilen video akışı y
45ok","Dışarıya açık ağ portu yok","Yalnızca sonuç (eşleşme) merkeze gönderilir — görüntüler değil","Uyarı şunları içerir: katmanlı bireyin görüntüsü, tarih/saat, kamera, adres, GPS, güven düzeyi","Sahip tarafından istediği zaman iptal edilebilir katılım","GDPR/LGPD tam uyumu — mimari tasarımla gizlilik koruması"]},{title:"2.10 Ticari Model",type:"params",params:[{param:"Ücretsiz sürüm",value:"Temel izleme işlevleri — ücretsiz, kredi kartı gerekmez"},{param:"Premium sürüm",value:"Tam erişim — erişilebilir aylık lisans"},{param:"Kamu işbirliği",value:"Özel kullanıcı için ücretsiz — kamu kuruluşu sorgu başına ödeme yapar"},{param:"Devlet maliyeti",value:"Arama başına birkaç kuruş — yalnızca arama etkinleştirildiğinde ödenir"},{param:"Dağıtım",value:"Tüm ülkedeki özel kullanıcılara dağıtılabilir"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Bölgesel zeka, hareketlilik ve kentsel alanın dinamik yorumlaması",sections:[{title:"2.11 Odak ve Operasyonel Kapsam",desc:"Hareketlilik, trafik, kentsel düzenleme ve bölgenin dinamik yorumlamasına yönelik platform.",type:"list",items:["Belediye trafik ve hareketlilik departmanları","Kentsel operasyon merkezleri (COU)","Kamu işleri ve kentsel planlama departmanları","Trafik denetim kurumları","Büyük kamu etkinliği yöneticileri","Otoyol ve otopark işleticileri","Kamu güvenliği güçleri — araç takibi ve yol operasyonları"]},{title:"2.12 Özel Altyapı",type:"params",params:[{param:"Çalıştığı yer",value:"Trafik ve kentsel düzenleme sorumlusu şirketlerin sunucuları"},{param:"GPU",value:"Gerekmez (karmaşık ihlal analizi ve otoyol kaza önleme SBC hariç)"},{param:"Depolama",value:"Düşük — doğrudan mevcut NAS, DVR, NVR veya akıştan okur"},{param:"Uyumlu kaynaklar",value:"Yol, trafik ışığı, sabit ve mobil radar kamu kameraları — herhangi bir standart"},{param:"Ölçek",value:"Tam kentsel yol ağı — mahalleler, koridorlar, şehirler"}]},{title:"2.13 Özel Tespitler",type:"list",items:["Trafik ihlalleri — kanıtlarla otomatik ceza oluşturma","Kazalar ve yaya çarpmaları — anında tespit ve bildirim","Tıkanıklık oluşumu — çökmeden önce erken tespit","Yol blokajları ve sapmaları","Kamusal alanın düzensiz işgali","Kent hareketliliğini etkileyen atipik olaylar","Yollar ve stratejik alanlardaki operasyonel riskler","Akış kalıpları, kritik bölgeler ve tekrarlamalar","Şüpheli araç takibi — plaka, model, renk, rota","Yollar ve kamusal alanlardaki kişi yoğunluğu ve yoğunluğu","Operatör talep ettiğinde otomatik kovalama"]},{title:"2.14 Bölgesel Zeka (F.A.S.T.-AI'ya özel)",type:"list",items:["Saate, güne ve bölgeye göre araç ve yaya akış kalıplarının analizi","Kritik bölgelerin ve olay tekrarlamalarının tanımlanması","Gerçek verilerle yol ve kentsel planlama kararlarına destek","Bakanlar ve yöneticiler için gerçek zamanlı bölgesel yönetim panosu","Büyük etkinlik yönetimine destek — yoğunluk, akış, izdiham riskleri","Bölge davranışı hakkında sürekli stratejik bilgi üretimi"]},{title:"2.15 Ticari Model",type:"params",params:[{param:"Lisanslama",value:"Belediye/eyalet — hareketlilik veya güvenlik kamu kuruluşuyla sözleşme"},{param:"Dağıtım",value:"Belediye veya işletici sunucuları — mevcut altyapı üzerinde"},{param:"Doğrudan ROI",value:"Otomatik cezalardan elde edilen gelir platform maliyetini aşar"},{param:"Pilot",value:"Mevcut kamu kameraları üzerinde en fazla 7 iş günü içinde uygulanabilir"}]}]}],comparison:{title:"Üç Platformun Karşılaştırmalı Özeti",rows:[{feature:"Ana odak",drakon:"Kamu sektörü ve kritik görev",perceptrum:"Özel ve konut sektörü",fast:"Trafik ve kentsel düzenleme"},{feature:"Çalıştığı yer",drakon:"Müşteri sunucuları (yerinde)",perceptrum:"Kişisel bilgisayar (i5+)",fast:"Belediye/işletici sunucuları"},{feature:"GPU gerekli",drakon:"❌ Hayır",perceptrum:"❌ Hayır",fast:"❌ Hayır (SBC hariç)"},{feature:"Kamera değişimi",drakon:"❌ Gerekmez",perceptrum:"❌ Gerekmez",fast:"❌ Gerekmez"},{feature:"Canlı analiz (24/7)",drakon:"✅ Evet",perceptrum:"✅ Evet",fast:"✅ Evet"},{feature:"Kaydedilmiş sonradan işleme",drakon:"✅ Evet (DVR/NVR/NAS)",perceptrum:"✅ Evet (DVR/NVR/NAS)",fast:"✅ Evet (DVR/NVR/NAS)"},{feature:"Doğal dil JOB'ları",drakon:"✅ Evet",perceptrum:"✅ Evet",fast:"✅ Evet"},{feature:"API/Webhook entegrasyonu",drakon:"✅ Evet",perceptrum:"✅ Evet",fast:"✅ Evet"},{feature:"Çok kameralı takip",drakon:"✅ Evet",perceptrum:"✅ Evet",fast:"✅ Evet"},{feature:"Özel işbirliği ağı",drakon:"✅ Aramaları koordine eder",perceptrum:"✅ Katılır (gönüllü)",fast:"✅ Yol aramalarını koordine eder"},{feature:"Ücretsiz sürüm mevcut",drakon:"❌ Hayır",perceptrum:"✅ Evet (temel)",fast:"❌ Hayır"},{feature:"PoC mevcut",drakon:"✅ Evet",perceptrum:"❌ Hayır",fast:"✅ Evet"},{feature:"Otomatik cezalar",drakon:"❌ Odak değil",perceptrum:"❌ Odak değil",fast:"✅ Evet — otomatik oluşturma"},{feature:"Bölgesel zeka",drakon:"Kurumsal operasyonel",perceptrum:"Özel operasyonel",fast:"✅ Bölgesel ve kentsel"},{feature:"GDPR/LGPD uyumu",drakon:"✅ Evet",perceptrum:"✅ Evet (tasarım gereği)",fast:"✅ Evet"},{feature:"Pilot aktivasyon süresi",drakon:"En fazla 7 iş günü",perceptrum:"Dakikalar",fast:"En fazla 7 iş günü"}]}},hi:{hero:{badge:"तकनीकी विशेषताएँ",title:"तकनीकी विशेषताएँ",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"मूल्यांकन, खरीद और एकीकरण प्रक्रियाओं के लिए संरचित तकनीकी दस्तावेज़। AiQuimist के तीनों प्लेटफ़ॉर्म की सभी विशेषताएँ — साझा कार्यक्षमताएँ और विशेष भेदकारक।",part1:"भाग 1 — मूल विशेषताएँ",part1sub:"तीनों प्लेटफ़ॉर्म में उपस्थित कार्यक्षमताएँ",part2:"भाग 2 — विशेष विशेषताएँ",part2sub:"प्रत्à
45¤¯à¥‡à¤• उत्पाद के विशिष्ट भेदकारक",part3:"तुलनात्मक सारांश"},copy:"तालिका कॉपी करें",copied:"कॉपी हो गया!",yes:"✅ हाँ",no:"❌ नहीं",feature:"विशेषता",capacity:"क्षमता",detail:"विवरण",param:"पैरामीटर",value:"मान",sections:[{id:"s1",title:"1.1 AI इंजन — सार्वभौमिक मल्टीमोडल व्याख्या",desc:"AiQuimist प्लेटफ़ॉर्म वीडियो, ऑडियो, टेक्स्ट और छवि का एक साथ विश्लेषण करता है ताकि वास्तविक संदर्भ निकाला जा सके और प्रासंगिक स्थितियों की पहचान की जा सके।",type:"capabilities",items:[{label:"🎥 वीडियो",detail:"लाइव कैमरों और रिकॉर्डिंग का वास्तविक समय विश्लेषण। दृश्यों, वस्तुओं, व्यवहारों, गतिविधियों और पैटर्न को पहचानता है।"},{label:"🔊 ऑडियो",detail:"भाषण, कीवर्ड, अर्थपूर्ण पैटर्न, आवाज़ का स्वर, तात्कालिकता, संघर्ष और कॉन्फ़िगर करने योग्य रुचि की ध्वनियाँ पहचानता है।"},{label:"📄 टेक्स्ट और छवि",detail:"फ़ाइल अपलोड और विश्लेषण (वीडियो, छवि, ऑडियो, टेक्स्ट)। स्रोतों के बीच साक्ष्य, मेटाडेटा और सहसंबंध निष्कर्षण।"},{label:"मूल अस्थायी प्रसंस्करण",detail:"केवल अलग फ्रेम नहीं, गति की प्रवाहमयता का विश्लेषण करता है"},{label:"बड़ी संदर्भ विंडो",detail:"घटना सहसंबंध के लिए लंबी वीडियो/ऑडियो अवधि की स्मृति बनाए रखता है"},{label:"वास्तविक समय विश्लेषण (लाइव)",detail
45:"24×7 कैमरा स्ट्रीम और ऑडियो चैनल"},{label:"पश्च-प्रसंस्करण",detail:"NVR, DVR, NAS की फ़ाइलों और रिकॉर्डिंग पर समान पहचान मानदंड लागू"},{label:"डिजिटल फ़ाइल अपलोड",detail:"सहसंबद्ध मल्टीमोडल विश्लेषण के लिए वीडियो, छवि, ऑडियो और टेक्स्ट"},{label:"भावनात्मक अवस्था पहचान",detail:"शारीरिक भाषा, आवाज़ का स्वर और व्यवहार संकेत पढ़ना"},{label:"AI प्रदाता अमूर्तन",detail:"कॉन्फ़िगर करने योग्य एंडपॉइंट, क्रेडेंशियल और सीमाएँ; न्यूनतम प्रभाव के साथ प्रदाता परिवर्तन"}]},{id:"s2",title:"1.2 कैमरा और स्रोत अंतर्ग्रहण",type:"mixed",items:[{label:"सार्वभौमिक संगतता",detail:"ब्रांड, निर्माता, मॉडल या पीढ़ी की परवाह किए बिना कोई भी कैमरा"},{label:"एनालॉग और डिजिटल",detail:"हार्डवेयर प्रतिस्थापन की कोई आवश्यकता नहीं"},{label:"मुख्य प्रोटोकॉल",detail:"RTSP, ONVIF और समकक्ष HTTP/फ़ाइल विधियाँ"},{label:"DVR / NVR / NAS",detail:"ग्राहक में पहले से स्थापित उपकरण पढ़ना"},{label:"बल्क आयात",detail:"कैमरा मेटाडेटा के साथ Excel या CSV (IP, निर्माता, उपयोगकर्ता, पासवर्ड, पोर्ट आदि)"},{label:"स्वायत्त संचालन",detail:"आंतरिक नेटवर्क के माध्यम से पूरी तरह स्थानीय — इंटरनेट पर स्ट्रीम का कोई एक्सपोज़र नहीं"},{label:"नेटवर्क सुरक्षा",detail:"दूरस्थ पहुँच के लिए कोई पोर्ट नहीं खुलता, कोई टनल/NAT कॉन्फ़िगर नहीं होता"},{label:"स्केलेबिलिटी",detail:"समानांतर में 1 से N कैमरे/ऑडियो चैनल"},{label:"स्ट्रीम उपलब्धता",detail:"विफलताओं के बाद निगरानी और स्वचालित पुनर्प्राप्ति"}]},{id:"s3",title:"1.3 कार्य समन्वय — JOB / STEP",desc:"निगरानी दिनचर्या में मानव ऑपरेटरों की जगह लेने वाली बुद्धिमान स्वचालन प्रणाली। प्राकृतिक भाषा प्रॉम्प्ट के माध्यम से बनाई गई — कोई कोडिंग या प्रोग्रामिंग नहीं।",type:"capabilities",items:[{label:"JOB (कार्य)",detail:"1 या N कैमरे/चैनल पढ़ने वाली और परिभाषित शर्तों के अनुसार संचालित होने वाली निगरानी इकाई"},{label:"STEP (चरण)",detail:"प्रत्येक JOB कई जुड़े चरणों से बना होता है; एक कैमरे का परिणाम (आउटपुट) अगले को फीड करता है (इनपुट)"},{label:"प्रति चरण एकाधिक स्रोत",detail
45:"प्रत्येक STEP 1 या अधिक कैमरे और/या 1 या अधिक ऑडियो चैनल सक्रिय कर सकता है"},{label:"बुद्धिमान चेनिंग",detail:"चरणों के बीच संज्ञानात्मक निर्भरता; प्रवाह पिछले परिणाम के अनुसार बदलता है"},{label:"मूल सशर्त निर्णय",detail:"वास्तविक परिणाम पर आधारित शाखाएँ, रुकावट, दोहराव या एस्केलेशन"},{label:"प्रति चैनल प्रॉम्प्ट",detail:"प्रत्येक कैमरा या ऑडियो चैनल एक ही JOB के भीतर एक विशिष्ट प्रॉम्प्ट प्राप्त करता है"},{label:"शेड्यूलिंग",detail:"परिभाषित या निरंतर अवधि के साथ निर्धारित तारीखों और समय पर निष्पादन"},{label:"तत्काल सक्रियण/निष्क्रियण",detail:"पुनः कॉन्फ़िगरेशन की कोई आवश्यकता नहीं"},{label:"कार्य संस्करण नियंत्रण",detail:"कॉन्फ़िगरेशन और प्रॉम्प्ट इतिहास"},{label:"गैर-तकनीकी उपयोगकर्ता निर्माण",detail:"बिना तकनीकी ज्ञान वाले ऑपरेटर बुद्धिमान एजेंट इंटरफेस के माध्यम से पूर्ण JOB बनाते हैं"}],params:[{param:"JOB निर्माण",value:"प्राकृतिक भाषा (टेक्स्ट या आवाज़) — कोई कोड नहीं"},{param:"चेनिंग",value:"STEP N, STEP N-1 के संज्ञानात्मक परिणाम का उपयोग करता है"},{param:"STEP प्रति स्रोत",value:"1 या अधिक कैमरे + 1 या अधिक ऑडियो चैनल"},{param:"शेड्यूलिंग",value:"तारीख, समय, अवधि और पुनरावृत्ति कॉन्फ़िगर करने योग्य"}]},{id:"s4",title:"1.4 पहचान और वर्गीकरण क्षमताएँ",type:"grouped",groups:[{label:"वीडियो-आधारित पहचान (कंप्यूटर विज़न / मल्टीमोडल)",items:["कॉन्फ़िगर किए गए प्रॉम्प्ट के अनुसार प्रासंगिक स्थितियों और कार्यों की पहचान","रुचि के व्यक्तियों की पहचान — स्वचालित घटना संबद्धता के साथ वॉचलिस्ट","सशर्त ट्रिगर के साथ लोगों की गिनती (X से अधिक / कम / बिल्कुल X)","समय के साथ 1 या अधिक व्यक्तियों/वाहनों की ट्रैकिंग","पुनः पहचान के साथ मल्टी-कैमरा ट्रैकिंग — कैमरा A → N → B के बीच गति ट्रैक करता है","मार्ग विचलन और अपेक्षित प्रक्षेपवक्र उल्लंघन का पता लगाना","नंबर प्लेट, साइन और कैमरे में दिखाई देने वाली टेक्स्ट सामग्री पढ़ना","कॉन्फ़िगर करने योग्य हस्त संकेतों और सांकेतिक भाषा संकेतों की पहचान (जब प्रॉम्प्ट में परिभाषित)","भावनात्मक अवस्था और पूर्व-संघर्ष शारीरिक भाषा का पता लगाना"]}
45,{label:"ऑडियो-आधारित पहचान (भाषण / ध्वनियाँ / मल्टीमोडल)",items:["लागू होने पर ट्रांसक्रिप्शन (STT) के साथ वास्तविक समय और रिकॉर्ड किए गए ऑडियो का विश्लेषण","स्पीकर डायराइज़ेशन — प्रति स्पीकर सारांश और पूरी बातचीत के सारांश के साथ स्पीकर पहचान","पैरामीटराइज़ेशन के अनुसार बोले गए कीवर्ड का पता लगाना","कॉन्फ़िगर करने योग्य वाक्यांशों और अर्थपूर्ण पैटर्न का पता लगाना","घटना सूचक भाषण पैटर्न का पता लगाना — तात्कालिकता, संघर्ष, दोहराव","ऑडिट के लिए प्रासंगिक खंडों को हाइलाइट करना"]},{label:"अलर्ट सिस्टम",items:["पूरी हुई शर्त पर अलर्ट — उदाहरण: 'बिंदु A पर X व्यक्तियों का समूह पाया गया'","पूरी न हुई शर्त पर अलर्ट — उदाहरण: 'व्यक्ति समय T में कैमरा Y से नहीं गुज़रा'","चरण अनुक्रम तर्क के साथ अलर्ट — कॉन्फ़िगर करने योग्य बहु-बिंदु वर्कफ़्लो","कॉन्फ़िगर करने योग्य ट्रिगर, समय विंडो और सहसंबंध मानदंड","कॉन्फ़िगर करने योग्य गंभीरता स्तर, प्राप्तकर्ता और सूचना चैनल","अलर्ट से जुड़े साक्ष्य — फ्रेम, वीडियो क्लिप, ऑडियो खंड","अलर्ट जीवन चक्र रिकॉर्ड — उत्पन्न, भेजा, प्राप्त और बंद"]}]},{id:"s5",title:"1.5 प्रासंगिकीकरण और साक्ष्य उत्पादन",type:"capabilities",items:[{label:"स्वचालित संदर्भ विवरण",detail:"प्रत्येक पहचानी गई घटना के लिए प्राकृतिक भाषा में उत्पन्न"},{label:"संरचित मेटाडेटा",detail:"स्रोत, तारीख/समय, तार्किक स्थान, घटना प्रकार, गंभीरता"},{label:"स्वचालित सहसंबंध",detail:"कई स्रोतों के बीच एक ही व्यक्ति, एक ही क्षेत्र, एक ही अंतराल"},{label:"साक्ष्य निष्कर्षण",detail:"फ्रेम, वीडियो क्लिप, ऑडियो खंड, पहचाना गया टेक्स्ट"},{label:"अनुमान ट्रेसेबिलिटी",detail:"सभी पहचानों के लॉग और ऑडिट"}
45,{label:"परिचालन रिपोर्ट",detail:"पूर्ण ऑडिट ट्रेल"}]},{id:"s6",title:"1.6 प्राकृतिक भाषा संचालन",desc:"कोई भी ऑपरेटर — बिना तकनीकी प्रशिक्षण के — टेक्स्ट या आवाज़ का उपयोग करके पूर्ण JOB बना, कॉन्फ़िगर और संचालित कर सकता है। कोई प्रोग्रामिंग, स्क्रिप्ट या बाहरी उपकरण नहीं।",type:"capabilities",items:[{label:"प्राकृतिक भाषा प्रश्न",detail:"संदर्भीकृत उत्तरों के साथ प्रश्न"},{label:"टेक्स्ट और आवाज़ कमांड",detail:"कार्य बनाना, संपादित करना और सक्रिय करना"},{label:"प्रॉम्प्ट द्वारा पूर्ण कॉन्फ़िगरेशन",detail:"निगरानी, अलर्ट, ट्रिगर और प्राप्तकर्ता"},{label:"गवर्नेंस नियंत्रण",detail:"महत्वपूर्ण कार्यों के लिए पुष्टि, प्रोफ़ाइल द्वारा प्रतिबंध"},{label:"ऑडिट ट्रेल",detail:"सभी कमांड और परिवर्तनों का रिकॉर्ड"}]},{id:"s7",title:"1.7 बाहरी एकीकरण — API और Webhook",type:"capabilities",items:[{label:"स्वचालित वेबहुक ट्रिगरिंग",detail:"परिभाषित शर्तों पर आधारित बाहरी API कॉल"},{label:"गैर-तकनीकी ऑपरेटर कॉन्फ़िगरेशन",detail:"प्राकृतिक भाषा प्रॉम्प्ट के माध्यम से"},{label:"संरचित पेलोड",detail:"JSON में मेटाडेटा और साक्ष्य"},{label:"बाहरी कॉल में प्रमाणीकरण",detail:"टोकन, कुंजी, हस्ताक्षर और अनुमति सूचियाँ"},{label:"अनुरोध ऑडिट",detail:"सभी बाहरी कॉल का पूर्ण लॉग"},{label:"विफलता प्रबंधन",detail:"पुनः प्रयास, कतार और लॉग"},{label:"इंटरऑपरेबिलिटी",detail:"डैशबोर्ड, मैसेजिंग, रिकॉर्ड और प्रबंधन सिस्टम"}],params:[{param:"प्रोटोकॉल",value:"REST API + Webhooks"},{param:"पेलोड",value:"मेटाडेटा, साक्ष्य और संदर्भ के साथ संरचित JSON"},{param:"प्रमाणीकरण",value:"टोकन, कुंजी, हस्ताक्षर और अनुमति सूचियाँ"},{param:"ऑडिट",value:"सभी बाहरी कॉल का पूर्ण लॉग"}]},{id:"s8",title:"1.8 उपभोग मेट्रिक्स और लागत प्रबंधन",type:"capabilities",items:[{label:"JOB/STEP प्रति मेट्रिक्स",detail:"विस्तृत रिकॉर्डिंग और उपलब्धता"},{label:"कैमरा/ऑडियो चैनल प्रति मेट्रिक्स",detail:"स्रोत द्वारा व्यक्तिगत उपभोग"},{label:"उपयोगकर्ता/प्रोफ़ाइल प्रति मेट्रिक्स",detail:"ऑपरेटर द्वारा उपयोग ट्रैकिंग"},{label:"टोकन और अनुरोध गिनती",detail:"विलंबता के साथ अनुमानित और वास्तविक मान"}
45,{label:"आयाम द्वारा लागत",detail:"JOB, कैमरा और उपयोगकर्ता"},{label:"कोटा और लागत केंद्र",detail:"विभाग द्वारा कोटा और अलगाव के लिए समर्थन"}]},{id:"s9",title:"1.9 हार्डवेयर आवश्यकताएँ",type:"params",params:[{param:"GPU",value:"आवश्यक नहीं — तीनों प्लेटफ़ॉर्म में से कोई नहीं"},{param:"GPU (F.A.S.T.-AI)",value:"कुछ जटिल उल्लंघनों और राजमार्ग दुर्घटना रोकथाम SBC समाधान के लिए उपयोग किया जाता है"},{param:"स्वामित्व हार्डवेयर",value:"आवश्यक नहीं — मौजूदा बुनियादी ढाँचे के साथ एकीकृत"},{param:"कैमरे",value:"कोई प्रतिस्थापन नहीं — किसी भी स्थापित उपकरण के साथ संगत"},{param:"समर्थित OS",value:"Windows (मूल संगतता)"},{param:"तैनाती",value:"ऑन-प्रिमाइसेज़, सार्वजनिक/निजी क्लाउड (राष्ट्रीय क्षेत्र) या हाइब्रिड"},{param:"सक्रियण",value:"महीने नहीं, दिन — अधिकतम 7 कार्यदिवसों में पायलट लागू किया जा सकता है"}]},{id:"s10",title:"1.10 सूचना सुरक्षा, गवर्नेंस और डेटा संरक्षण",type:"capabilities",items:[{label:"RBAC एक्सेस नियंत्रण",detail:"कर्तव्य पृथक्करण और न्यूनतम विशेषाधिकार"},{label:"पूर्ण ऑडिट ट्रेल",detail:"ऑपरेशन, कमांड, कॉन्फ़िगरेशन परिवर्तन और प्रॉम्प्ट के लॉग"},{label:"डेटा संरक्षण",detail:"ट्रांज़िट में और विश्राम में"},{label:"अवधारण और विलोपन नीतियाँ",detail:"लागू होने पर स्यूडोनिमाइज़ेशन/अनामीकरण"},{label:"एक्सेस प्रोफ़ाइल प्रबंधन",detail:"स्तर द्वारा परिचालन प्रतिबंध"},{label:"GDPR/LGPD अनुपालन",detail:"न्यूनतमीकरण, उद्देश्य, आवश्यकता और जवाबदेही"},{label:"क्रेडेंशियल स्टोरेज",detail:"Windows Credential Manager/DPAPI या समकक्ष — प्लेन टेक्स्ट प्रतिबंधित"}]},{id:"s11",title:"1.11 उपलब्धता और परिचालन निरंतरता",type:"capabilities",items:[{label:"24×7 संचालन",detail:"बिना रुकावट के निरंतर निगरानी"},{label:"स्वचालित पुनर्प्राप्ति",detail:"हस्तक्षेप के बिना स्ट्रीम विफलताओं के बाद पुनः आरंभ"},{label:"कनेक्टिविटी रुकावट लचीलापन",detail:"रिकॉर्ड की गई सामग्री का पुनः प्रसंस्करण"},{label:"कतार और पुनः प्रसंस्करण",detail:"अंतराल-मुक्त कवरेज की गारंटी"},{label:"उच्च उपलब्धता",detail:"कॉन्फ़िगर होने पर अतिरेकता, प्रतिकृति और लोड संतुलन"}]},{id:"s12",title:"1.12 निजी सहयोग नेटवर्क के साथ एकीकरण",desc:"AiQuimist पारिस्थितिकी तंत्र की विशेष क्षमता: स्वैच्छिक उपयोगकर्ताओं के निजी कैमरे वीडियो प्रसारित किए बिना या नेटवर्क पोर्ट खोले बिना सार्वजनिक खोजों में स्वतः भाग लेते हैं।",type:"capabilities",items:[{label:"मु
45फ़्त वितरण",detail:"पूरे देश के निजी उपयोगकर्ताओं को वितरित करने योग्य Windows समाधान"},{label:"पेयरिंग तंत्र",detail:"सक्रियण कोड, डिवाइस लिंकिंग और निरसन"},{label:"केवल अधिकृत एंडपॉइंट",detail:"केवल अधिकृत एंडपॉइंट ही डेटा/इवेंट उपभोग या प्रकाशित कर सकते हैं"},{label:"स्थानीय पहचान और अधिसूचना",detail:"विश्लेषण निजी उपयोगकर्ता के कंप्यूटर पर होता है"},{label:"मिलान अधिसूचना",detail:"वॉचलिस्ट के साथ मिलान होने पर केंद्रीय प्लेटफ़ॉर्म को स्वतः"},{label:"संरचित अलर्ट",detail:"ओवरले के साथ व्यक्ति की छवि, तारीख/समय, कैमरा, पूरा पता, GPS, विश्वास स्तर, पहचानकर्ता"},{label:"Re-ID एल्गोरिदम",detail:"पुनः पहचान और, लागू और अधिकृत होने पर, चेहरे की पहचान"},{label:"स्वैच्छिक भागीदारी",detail:"उपयोगकर्ता तय करता है कि सहयोग सक्रिय करना है और कौन से कैमरे भाग लेंगे"},{label:"डिज़ाइन द्वारा गोपनीयता",detail:"कोई खुला पोर्ट नहीं, कोई निरंतर प्रसारित स्ट्रीम नहीं"},{label:"GDPR/LGPD पूर्ण अनुपालन",detail:"स्थानीय विश्लेषण, केवल प्रासंगिक परिणाम साझा करना"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"सार्वजनिक संचालन और मिशन-क्रिटिकल वातावरण के लिए संस्थागत बुद्धिमत्ता",sections:[{title:"2.1 फ़ोकस और परिचालन दायरा",desc:"सार्वजनिक, संस्थागत और उच्च-महत्व के कॉर्पोरेट क्षेत्र के लिए प्लेटफ़ॉर्म। बड़े पैमाने के कैमरा नेटवर्क पर संचालित होता है।",type:"list",items:["नगर पालिकाएँ, राज्य और केंद्र सरकारें","पुलिस, नगर रक्षक और सुरक्षा मंत्रालय","एकीकृत कमांड और नियंत्रण केंद्र (CIOP)","कारागार और हिरासत सुविधाएँ","हवाई अड्डे, बंदरगाह और टर्मिनल","सीमाएँ और राष्ट्रीय महत्वपूर्ण बुनà
45¤¿à¤¯à¤¾à¤¦à¥€ ढाँचा","सार्वजनिक उद्यम और जटिल संचालन वाली बड़ी निजी कंपनियाँ","बड़ी निजी कंपनियाँ: बैंक, लॉजिस्टिक्स और अन्य"]},{title:"2.2 विशेष बुनियादी ढाँचा",type:"params",params:[{param:"कहाँ चलता है",value:"ग्राहक के अपने सर्वर (ऑन-प्रिमाइसेज़)"},{param:"डेटा सुरक्षा",value:"100% आंतरिक — इंटरनेट पर कोई जानकारी उजागर नहीं"},{param:"GPU",value:"आवश्यक नहीं"},{param:"सर्वर",value:"पारंपरिक — डेटाबेस और एक साथ कैमरा पढ़ने के लिए समर्पित"},{param:"पैमाना",value:"बड़े पैमाने के संस्थागत नेटवर्क — दसियों से हजारों कैमरे"}]},{title:"2.3 विशिष्ट पहचान",type:"list",items:["परिधि, प्रवेश और महत्वपूर्ण वातावरण में संदिग्ध गतिविधियाँ","संवेदनशील क्षेत्रों के साथ असंगत व्यवहार","घुसपैठ और अनधिकृत पहुँच प्रयास","संघर्ष और हिंसा की स्थितियाँ","हिरासत सुविधाओं में पलायन प्रयास","हथियारों की उपस्थिति","खतरनाक स्थानों पर वस्तुएँ छोड़ना","व्यवहार पैटर्न में अचानक परिवर्तन","महत्वपूर्ण बिंदुओं पर असामान्य व्यक्ति एकाग्रता","मिशन-क्रिटिकल वातावरण में खतरनाक स्थितियाँ — हवाई अड्डे, सीमाएँ, कारागार","टाइम इंजन: प्रॉम्प्ट निष्पादित करता है और सिस्टम बिना मानवीय हस्तक्षेप के जारी रहता है"]},{title:"2.4 सहयोग नेटवर्क समन्वय",type:"list",items:["पूरे सार्वजनिक और निजी सहयोग नेटवर्क में फैली खोज और ट्रैकिंग शुरू करता है","वॉचलिस्ट से मिलान होने पर Perceptrum से स्वचालित सूचनाएँ प्राप्त करता है","सार्वजनिक, सड़क (F.A.S.T.) और निजी (Perceptrum) स्थानों के बीच एकीकृत संचालन का समन्वय","संपूर्ण एकीकृत नेटवर्क से अलर्ट, साक्ष्य और ट्रैकिंग रिकॉर्ड का केंद्रीकरण"]},{title:"2.5 वाणिज्यिक मॉडल",type:"params",params:[{param:"लाइसेंसिंग",value:"संस्थागत — सार्वजनिक संस्था या कॉर्पोरेशन के साथ अनुबंध"},{param:"तैनाती",value:"ग्राहक के सर्वर पर ऑन-प्रिमाइसेज़"},{param:"सहायता",value:"ऑनबोर्डिंग और कॉन्फ़िगरेशन शामिल"},{param:"पायलट",value:"मौजूदा बुनियादी ढाँचे पर अधिकतम 7 कार्यदिवसों में लागू किया जा सकता है"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"घर से बड़े कॉर्पोरेशन तक निजी वातावरण के लिए मल्टीमोडल बुद्धिमत्ता",sections:[{title:"2.6 फ़ोकस और परिचालन दायरा",desc:"निजी, वाणिज्यिक, आवासीय और अपार्टमेंट क्षेत्र के लिए प्लेटफ़ॉर्म। उन्नत निगरानी बुद्धिमत्ता तक पहुँच का लोकतंत्रीकरण करता है।",type:"list",items:["आवास और घर","अपार्टमेंट और आवासीय/वाणिज्यिक भवन","छोटे और मध्यम वाणिज्यिक स्थान","रिटेल चेन और स्टोर","बैंक और वित्तीय संस्थान","शॉपिंग सेंटर और पार्किंग स्थल","निजी स्कूल और विश्वविद्यालय","निजी अस्पताल और क्लीनिक","गोदाम और लॉजिस्टिक्स सुविधाएँ","खेत और ग्राà
45¤®à¥€à¤£ संपत्तियाँ"]},{title:"2.7 विशेष बुनियादी ढाँचा",type:"params",params:[{param:"कहाँ चलता है",value:"उपयोगकर्ता का निजी कंप्यूटर (घरेलू या कॉर्पोरेट)"},{param:"न्यूनतम प्रोसेसर",value:"Intel i5 या उससे ऊपर"},{param:"GPU",value:"आवश्यक नहीं"},{param:"स्टोरेज",value:"विश्लेषण के दौरान अस्थायी छवियों के लिए डिस्क स्थान"},{param:"DVR/NVR",value:"पिछली रिकॉर्डिंग में खोज के लिए मूल पठन"},{param:"सक्रियण",value:"मिनट — CSV के माध्यम से कैमरा आयात और तत्काल शुरुआत"}]},{title:"2.8 विशिष्ट पहचान",type:"list",items:["असामान्य समय या स्थानों पर पैटर्न से बाहर की गतिविधियाँ","चोरी, डकैती और हमले — विशिष्ट अपहरण व्यवहार","प्रतिबंधित क्षेत्रों में अनुचित उपस्थिति","परिधि जोखिम और घुसपैठ प्रयास","मदद के अनुरोध — सहायता के हाव-भाव और व्यवहार","संदिग्ध वस्तुओं को छोड़ना","प्रक्रियाओं में परिचालन विसंगतियाँ (लॉजिस्टिक्स, इन्वेंटरी, डिलीवरी)","स्वचालित प्रक्रिया सत्यापन: वाहन, नंबर प्लेट, डिलीवरी व्यक्ति, मात्रा गिनती","पर्यावरण प्रकार द्वारा कॉन्फ़िगर करने योग्य घटनाएँ — प्रत्येक सुविधा की प्रोफ़ाइल","संरक्षण आदेश उल्लंघनकर्ता का पता लगाना (नज़दीकी प्रतिबंध आदि)"]},{title:"2.9 स्वैच्छिक सहयोग (Perceptrum विशेष)",type:"list",items:["स्वैच्छिक सहयोग ध्वज — मालिक तय करता है कि सक्रिय करना है और कौन से कैमरे भाग लेंगे","सक्रिय होने पर: कैमरा Perceptrum Corporate या F.A.S.T.-AI द्वारा जारी खोजों में भाग लेता है","स्थानीय रूप से निष्पादित विश्लेषण — निजी उपयोगकर्ता के अपने कंप्यूटर पर","सार्वजनिक केंद्र को कोई वीडियो स्ट्रीम निरंतर प्रसारित नहीं","बाहर की ओर कोई खुला नेटवर्क पोर्ट नहीं","केवल परिणाम (मिलान) केंद्र को भेजा जाता है — छवियाँ नहीं","अलर्ट में शामिल: ओवरले के साथ व्यक्ति की छवि, तारीख/समय, कैमरा, पता, GPS, विश्वास स्तर","मालिक द्वारा किसी भी समय रद्द करने योग्य भागीदारी","GDPR/LGPD पूर्ण अनुपालन — वास्तुकला डिज़ाइन द्वारा गोपनीयता सुरक्षा"]},{title:"2.10 वाणिज्यिक मॉडल",type:"params",params:[{param:"मु
45फ़्त संस्करण",value:"बुनियादी निगरानी कार्यक्षमताएँ — मुफ़्त, कोई क्रेडिट कार्ड नहीं"},{param:"प्रीमियम संस्करण",value:"पूर्ण पहुँच — सुलभ मासिक लाइसेंस"},{param:"सार्वजनिक सहयोग",value:"निजी उपयोगकर्ता के लिए मुफ़्त — सार्वजनिक संस्था क्वेरी द्वारा भुगतान करती है"},{param:"राज्य लागत",value:"प्रति खोज कुछ पैसे — केवल खोज सक्रिय होने पर भुगतान"},{param:"वितरण",value:"पूरे देश के निजी उपयोगकर्ताओं को वितरित किया जा सकता है"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"क्षेत्रीय बुद्धिमत्ता, गतिशीलता और शहरी स्थान की गतिशील व्याख्या",sections:[{title:"2.11 फ़ोकस और परिचालन दायरा",desc:"गतिशीलता, यातायात, शहरी नियोजन और क्षेत्र की गतिशील व्याख्या के लिए प्लेटफ़ॉर्म।",type:"list",items:["नगरपालिका यातायात और गतिशीलता विभाग","शहरी संचालन केंद्र (COU)","सार्वजनिक कार्य और शहरी नियोजन विभाग","यातायात प्रवर्तन एजेंसियाँ","बड़े सार्वजनिक कार्यक्रम प्रबंधक","राजमार्ग और पार्किंग ऑपरेटर","सार्वजनिक सुरक्षा बल — वाहन ट्रैकिंग और सड़क संचालन"]},{title:"2.12 विशेष बुनियादी ढाँचा",type:"params",params:[{param:"कहाँ चलता है",value:"यातायात और शहरी नियोजन जिम्मेदार कंपनियों के सर्वर"},{param:"GPU",value:"आवश्यक नहीं (जटिल उल्लंघन विश्लेषण और राजमार्ग दुर्घटना रोकथाम SBC को छोड़कर)"},{param:"स्टोरेज",value:"कम — मौजूदा NAS, DVR, NVR या स्ट्रीमिंग से सीधे पढ़ता है"},{param:"संगत स्रोत",value:"सड़क, ट्रैफिक लाइट, स्थिर और मोबाइल रडार सार्वजनिक कैमरे — कोई भी मानक"},{param:"पैमाना",value:"पूर्ण शहरी सड़क नेटवर्क — पड़ोस, गलियारे, शहर"}]},{title:"2.13 विशिष्ट पहचान",type:"list",items:["यातायात उल्लंघन — साक्ष्य के साथ स्वचालित जुर्माना उत्पादन","दुर्घटनाएँ और पैदल यात्री टक्कर — तत्काल पहचान और अधिसूचना","यातायात जाम गठन — पतन से पहले प्रारंभà
45¤¿à¤• पहचान","सड़क अवरोध और मोड़","सार्वजनिक स्थान का अनियमित कब्ज़ा","शहरी गतिशीलता को प्रभावित करने वाली असामान्य घटनाएँ","सड़कों और रणनीतिक क्षेत्रों में परिचालन जोखिम","प्रवाह पैटर्न, महत्वपूर्ण क्षेत्र और पुनरावृत्तियाँ","संदिग्ध वाहनों की ट्रैकिंग — नंबर प्लेट, मॉडल, रंग, मार्ग","सड़कों और सार्वजनिक स्थानों पर व्यक्तियों की एकाग्रता और घनत्व","ऑपरेटर द्वारा अनुरोध किए जाने पर स्वचालित पीछा"]},{title:"2.14 क्षेत्रीय बुद्धिमत्ता (F.A.S.T.-AI विशेष)",type:"list",items:["घंटे, दिन और क्षेत्र के अनुसार वाहन और पैदल यात्री प्रवाह पैटर्न का विश्लेषण","महत्वपूर्ण क्षेत्रों और घटना पुनरावृत्तियों की पहचान","वास्तविक डेटा के साथ सड़क और शहरी नियोजन निर्णयों का समर्थन","मंत्रियों और प्रबंधकों के लिए वास्तविक समय क्षेत्रीय प्रबंधन डैशबोर्ड","बड़े कार्यक्रम प्रबंधन का समर्थन — घनत्व, प्रवाह, भगदड़ जोखिम","क्षेत्र व्यवहार पर निरंतर रणनीतिक जानकारी उत्पन्न करना"]},{title:"2.15 वाणिज्यिक मॉडल",type:"params",params:[{param:"लाइसेंसिंग",value:"नगरपालिका/राज्य — गतिशीलता या सुरक्षा सार्वजनिक संस्था के साथ अनुबंध"},{param:"तैनाती",value:"नगरपालिका या ऑपरेटर सर्वर — मौजूदा बुनियादी ढाँचे पर"},{param:"प्रत्यक्ष ROI",value:"स्वचालित जुर्माने से उत्पन्न राजस्व प्लेटफ़ॉर्म लागत से अधिक"},{param:"पायलट",value:"मौजूदा सार्वजनिक कैमरों पर अधिकतम 7 कार्यदिवसों में लागू किया जा सकता है"}]}]}],comparison:{title:"तीन प्लेटफ़ॉर्म का तुलनात्मक सारांश",rows:[{feature:"मुख्य फ़ोकस",drakon:"सार्वजनिक क्षेत्र और मिशन क्रिटिकल",perceptrum:"निजी और आवासीय क्षेत्र",fast:"यातायात और शहरी नियोजन"},{feature:"कहाँ चलता है",drakon:"ग्राहक सर्वर (ऑन-प्रिमाइसेज़)",perceptrum:"निजी कंप्यूटर (i5+)",fast:"नगरपालिका/ऑपरेटर सर्वर"},{feature:"GPU आवश्यक",drakon:"❌ नहीं",perceptrum:"❌ नहीं",fast:"❌ नहीं (SBC को छोड़कर)"},{feature:"कैमरा प्रतिस्थापन",drakon:"❌ आवश्यक नहीं",perceptrum:"❌ आवश्यक नहीं",fast:"❌ आवश्यक नहीं"},{feature:"लाइव विश्लेषण (24/7)",drakon:"✅ हाँ",perceptrum:"✅ हाँ",fast:"✅ हाँ"},{feature:"रिकॉर्डेड पश्च-प्रसंस्करण",drakon:"✅ हाँ (DVR/NVR/NAS)",perceptrum:"✅ हाँ (DVR/NVR/NAS)",fast:"✅ हाँ (DVR/NVR/NAS)"}
45,{feature:"प्राकृतिक भाषा JOB",drakon:"✅ हाँ",perceptrum:"✅ हाँ",fast:"✅ हाँ"},{feature:"API/Webhook एकीकरण",drakon:"✅ हाँ",perceptrum:"✅ हाँ",fast:"✅ हाँ"},{feature:"मल्टी-कैमरा ट्रैकिंग",drakon:"✅ हाँ",perceptrum:"✅ हाँ",fast:"✅ हाँ"},{feature:"निजी सहयोग नेटवर्क",drakon:"✅ खोज समन्वित करता है",perceptrum:"✅ भाग लेता है (स्वैच्छिक)",fast:"✅ सड़क खोज समन्वित करता है"},{feature:"मुफ़्त संस्करण उपलब्ध",drakon:"❌ नहीं",perceptrum:"✅ हाँ (बुनियादी)",fast:"❌ नहीं"},{feature:"PoC उपलब्ध",drakon:"✅ हाँ",perceptrum:"❌ नहीं",fast:"✅ हाँ"},{feature:"स्वचालित जुर्माने",drakon:"❌ फ़ोकस नहीं",perceptrum:"❌ फ़ोकस नहीं",fast:"✅ हाँ — स्वचालित उत्पादन"},{feature:"क्षेत्रीय बुद्धिमत्ता",drakon:"संस्थागत परिचालन",perceptrum:"निजी परिचालन",fast:"✅ क्षेत्रीय और शहरी"},{feature:"GDPR/LGPD अनुपालन",drakon:"✅ हाँ",perceptrum:"✅ हाँ (डिज़ाइन द्वारा)",fast:"✅ हाँ"},{feature:"पायलट सक्रियण समय",drakon:"अधिकतम 7 कार्यदिवस",perceptrum:"मिनट",fast:"अधिकतम 7 कार्यदिवस"}]}},id:{hero:{badge:"Spesifikasi Teknis",title:"Spesifikasi Teknis",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Dokumen teknis terstruktur untuk proses evaluasi, pengadaan, dan integrasi. Semua spesifikasi ketiga platform AiQuimist — fungsi bersama dan pembeda eksklusif.",part1:"BAGIAN 1 — Spesifikasi Inti",part1sub:"Fungsi yang ada di ketiga platform",part2:"BAGIAN 2 — Spesifikasi Eksklusif",part2sub:"Pembeda spesifik setiap produk",part3:"Ringkasan Perbandingan"},copy:"Salin tabel",copied:"Disalin!",yes:"✅ Ya",no:"❌ Tidak",feature:"Fitur",capacity:"Kapasitas",detail:"Detail",param:"Parameter",value:"Nilai",sections:[{id:"s1",title:"1.1 Mesin AI — Interpretasi Multimodal Universal",desc:"Platform AiQuimist menganalisis video, audio, teks, dan gambar secara bersamaan untuk mengekstrak konteks nyata dan mengidentifikasi situasi yang relevan.",type:"capabilities",items:[{label:"🎥 Video",detail:"Analisis real-time kamera langsung dan rekaman. Mengenali adegan, objek, perilaku, gerakan, dan pola."},{label:"🔊 Audio",detail:"Deteksi ucapan, kata kunci, pola semantik, nada suara, urgensi, konflik, dan suara menarik yang dapat dikonfigurasi."},{label:"📄 Teks dan Gambar",detail:"Unggah dan analisis file (video, gambar, audio, teks). Ekstraksi bukti, metadata, dan korelasi antar sumber."},{label:"Pemrosesan temporal native",detail:"Menganalisis kelancaran gerakan, bukan hanya frame terisolasi"},{label:"Jendela konteks besar",detail:"Mempertahankan memori periode video/audio yang panjang untuk korelasi peristiwa"},{label:"Analisis real-time (langsung)",detail:"Stream kamera dan saluran audio 24×7"},{label:"Pasca-pemrosesan",detail:"Kriteria deteksi yang sama diterapkan pada file dan rekaman: NVR, DVR, NAS"},{label:"Unggah file digital",detail:"Video, gambar, audio, dan teks untuk analisis multimodal yang berkorelasi"},{label:"Identifikasi keadaan emosional",detail:"Membaca bahasa tubuh, nada suara, dan sinyal perilaku"},{label:"Abstraksi penyedia AI",detail:"Endpoint, kredensial, dan batas yang dapat dikonfigurasi; pergantian penyedia dengan dampak minimal"}]},{id:"s2",title:"1.2 Penyerapan Kamera dan Sumber",type:"mixed",items:[{label:"Kompatibilitas universal",detail:"Kamera apa pun, terlepas dari merek, pabrikan, model, atau generasi"},{label:"Analog dan digital",detail:"Tidak perlu penggantian perangkat keras"}
45,{label:"Protokol utama",detail:"RTSP, ONVIF, dan metode HTTP/file yang setara"},{label:"DVR / NVR / NAS",detail:"Membaca peralatan yang sudah terpasang di pelanggan"},{label:"Impor massal",detail:"Excel atau CSV dengan metadata kamera (IP, pabrikan, pengguna, kata sandi, port, dll.)"},{label:"Operasi otonom",detail:"Sepenuhnya lokal melalui jaringan internal — tidak ada paparan stream ke internet"},{label:"Keamanan jaringan",detail:"Tidak ada port yang dibuka untuk akses jarak jauh, tidak ada konfigurasi tunnel/NAT"},{label:"Skalabilitas",detail:"1 hingga N kamera/saluran audio secara paralel"},{label:"Ketersediaan stream",detail:"Pemantauan dan pemulihan otomatis setelah kegagalan"}]},{id:"s3",title:"1.3 Orkestrasi Tugas — JOB / STEP",desc:"Sistem otomasi cerdas yang menggantikan operator manusia dalam rutinitas pengawasan. Dibuat melalui prompt bahasa alami — tanpa pengkodean atau pemrograman.",type:"capabilities",items:[{label:"JOB (tugas)",detail:"Unit pemantauan yang membaca 1 atau N kamera/saluran dan beroperasi sesuai kondisi yang ditentukan"}
45,{label:"STEP (tahap)",detail:"Setiap JOB terdiri dari beberapa tahap yang dirantai; hasil satu kamera (output) memberi makan berikutnya (input)"},{label:"Beberapa sumber per tahap",detail:"Setiap STEP dapat mengaktifkan 1 atau lebih kamera dan/atau 1 atau lebih saluran audio"},{label:"Perantaian cerdas",detail:"Ketergantungan kognitif antar tahap; alur berubah berdasarkan hasil sebelumnya"},{label:"Keputusan kondisional native",detail:"Percabangan, interupsi, pengulangan, atau eskalasi berdasarkan hasil aktual"},{label:"Prompt per saluran",detail:"Setiap kamera atau saluran audio menerima prompt spesifik dalam JOB yang sama"},{label:"Penjadwalan",detail:"Eksekusi pada tanggal dan waktu yang dijadwalkan dengan durasi yang ditentukan atau berkelanjutan"},{label:"Aktivasi/nonaktifasi instan",detail:"Tidak perlu konfigurasi ulang"},{label:"Pengelolaan versi tugas",detail:"Riwayat konfigurasi dan prompt"},{label:"Pembuatan oleh pengguna non-teknis",detail:"Operator tanpa pengetahuan teknis membuat JOB lengkap melalui antarmuka agen cerdas"}],params:[{param:"Pembuatan JOB",value:"Bahasa alami (teks atau suara) — tanpa kode"},{param:"Perantaian",value:"STEP N menggunakan hasil kognitif STEP N-1"},{param:"Sumber per STEP",value:"1 atau lebih kamera + 1 atau lebih saluran audio"},{param:"Penjadwalan",value:"Tanggal, waktu, durasi, dan pengulangan dapat dikonfigurasi"}]},{id:"s4",title:"1.4 Kemampuan Deteksi dan Klasifikasi",type:"grouped",groups:[{label:"Deteksi berbasis video (computer vision / multimodal)",items:["Identifikasi situasi dan t
45indakan yang relevan sesuai prompt yang dikonfigurasi","Pengenalan orang yang diminati — watchlist dengan asosiasi peristiwa otomatis","Penghitungan orang dengan pemicu kondisional (lebih dari X / kurang dari X / tepat X)","Pelacakan 1 atau beberapa individu/kendaraan dari waktu ke waktu","Pelacakan multi-kamera dengan reidentifikasi — mengikuti pergerakan antar kamera A → N → B","Deteksi penyimpangan rute dan pelanggaran lintasan yang diharapkan","Pembacaan pelat nomor, rambu, dan konten teks yang terlihat di kamera","Identifikasi gerakan tangan yang dapat dikonfigurasi dan gerakan bahasa isyarat (ketika didefinisikan dalam prompt)","Deteksi keadaan emosional dan bahasa tubuh pra-konflik"]},{label:"Deteksi berbasis audio (ucapan / suara / multimodal)",items:["Analisis audio real-time dan terekam dengan transkripsi (STT) jika berlaku","Diarisasi — pemisahan dan identifikasi pembicara dengan ringkasan per pembicara dan ringkasan keseluruhan percakapan","Deteksi kata kunci yang diucapkan sesuai parametrisasi","Deteksi frasa dan pola semantik yang dapat dikonfigurasi","Deteksi pola ucapan yang menunjukkan kejadian — urgensi, konflik, pengulangan","Penyorotan segmen relevan untuk audit"]},{label:"Sistem peringatan",items:["Peringatan kondisi terpenuhi — mis.: 'kelompok X individu terdeteksi di titik A'","Peringatan kondisi tidak terpenuhi — mis.: 'individu tidak melewati kamera Y dalam waktu T'","Peringatan dengan logika urutan tahap — alur kerja multi-titik yang dapat dikonfigurasi","Pemicu, jendela waktu, dan kriteria korelasi yang dapat dikonfigurasi","Tingkat keparahan, penerima, dan saluran notifikasi yang dapat dikonfigurasi","Bukti terlampir pada peringatan — frame, klip video, segmen audio","Catatan siklus hidup peringatan — dihasilkan, dikirim, diterima, dan ditutup"]}]},{id:"s5",title:"1.5 Kontekstualisasi dan Pembuatan Bukti",type:"capabilities",items:[{label:"Deskripsi konteks otomatis",detail:"Dihasilkan dalam bahasa alami untuk setiap peristiwa yang terdeteksi"},{label:"Metadata terstruktur",detail:"Sumber, tanggal/waktu, lokasi logis, jenis peristiwa, keparahan"},{label:"Korelasi otomatis",detail:"Individu yang sama, area yang sama, interval yang sama — di beberapa sumber"},{label:"Ekstraksi bukti",detail:"Frame, klip video, segmen audio, teks yang dikenali"},{label:"Keterlacakan inferensi",detail:"Log dan audit semua deteksi"},{label:"Laporan operasional",detail:"Jejak audit lengkap"}]},{id:"s6",title:"1.6 Operasi Bahasa Alami",desc:"Operator mana pun — tanpa pelatihan teknis — dapat membuat, mengonfigurasi, dan mengoperasikan JOB lengkap menggunakan teks atau suara. Tanpa pemrograman, skrip, atau alat eksternal.",type:"capabilities",items:[{label:"Kueri bahasa alami",detail:"Pertanyaan dengan jawaban yang dikontekstualisasikan"},{label:"Perintah teks dan suara",detail:"Pembuatan, pengeditan, dan aktivasi tugas"},{label:"Konfigurasi lengkap melalui prompt",detail:"Pemantauan, peringatan, pemicu, dan penerima"},{label:"Kontrol tata kelola",detail:"Konfirmasi untuk tindakan kritis, pembatasan berdasarkan profil"},{label:"Jejak audit",detail:"Catatan semua perintah dan perubahan"}]},{id:"s7",title:"1.7 Integrasi Eksternal — API dan Webhook",type:"capabilities",items:[{label:"Pemicu webhook otomatis",detail:"Panggilan API eksternal berdasarkan kondisi yang ditentukan"},{label:"Konfigurasi operator non-teknis",detail:"Melalui prompt bahasa alami"},{label:"Payload terstruktur",detail:"Metadata dan bukti dalam JSON"},{label:"Autentikasi panggilan eksternal",detail:"Token, kunci, tanda tangan, dan daftar izin"},{label:"Audit permintaan",detail:"Log lengkap semua panggilan eksternal"},{label:"Penanganan kegagalan",detail:"Percobaan ulang, antrian, dan log"},{label:"Interoperabilitas",detail:"Dasbor, pesan, catatan, dan sistem manajemen"}],params:[{param:"Protokol",value:"REST API + Webhook"},{param:"Payload",value:"JSON terstruktur dengan metadata, bukti, dan konteks"},{param:"Autentikasi",value:"Token, kunci, tanda tangan, dan daftar izin"},{param:"Audit",value:"Log lengkap semua panggilan eksternal"}]},{id:"s8",title:"1.8 Metrik Konsumsi dan Manajemen Biaya",type:"capabilities",items:[{label:"Metrik per JOB/STEP",detail:"Pencatatan dan ketersediaan terperinci"}
45,{label:"Metrik per kamera/saluran audio",detail:"Konsumsi individual per sumber"},{label:"Metrik per pengguna/profil",detail:"Pelacakan penggunaan per operator"},{label:"Penghitungan token dan permintaan",detail:"Estimasi dan nilai aktual dengan latensi"},{label:"Biaya per dimensi",detail:"JOB, kamera, dan pengguna"},{label:"Kuota dan pusat biaya",detail:"Dukungan untuk kuota dan pemisahan per departemen"}]},{id:"s9",title:"1.9 Persyaratan Perangkat Keras",type:"params",params:[{param:"GPU",value:"Tidak diperlukan — tidak ada dari ketiga platform"},{param:"GPU (F.A.S.T.-AI)",value:"Digunakan untuk beberapa pelanggaran kompleks dan solusi SBC pencegahan kecelakaan jalan tol"},{param:"Perangkat keras kepemilikan",value:"Tidak diperlukan — terintegrasi dengan infrastruktur yang ada"},{param:"Kamera",value:"Tidak ada penggantian — kompatibel dengan peralatan yang dipasang apa pun"},{param:"OS yang didukung",value:"Windows (kompatibilitas native)"},{param:"Penerapan",value:"On-premises, cloud publik/privat (wilayah nasional), atau hibrida"},{param:"Aktivasi",value:"Hari, bukan bulan — pilot dapat diimplementasikan dalam maksimal 7 hari kerja"}]},{id:"s10",title:"1.10 Keamanan Informasi, Tata Kelola, dan Perlindungan Data",type:"capabilities",items:[{label:"Kontrol akses RBAC",detail:"Pemisahan tugas dan hak akses minimum"},{label:"Jejak audit lengkap",detail:"Log operasi, perintah, perubahan konfigurasi, dan prompt"},{label:"Perlindungan data",detail:"Dalam transit dan saat disimpan"},{label:"Kebijakan retensi dan penghapusan",detail:"Pseudonimisasi/anonimisasi jika berlaku"},{label:"Manajemen profil akses",detail:"Pembatasan operasional berdasarkan tingkat"},{label:"Kepatuhan GDPR/LGPD",detail:"Minimisasi, tujuan, kebutuhan, dan akuntabilitas"},{label:"Penyimpanan kredensial",detail:"Windows Credential Manager/DPAPI atau setara — teks biasa dilarang"}]},{id:"s11",title:"1.11 Ketersediaan dan Kelangsungan Operasional",type:"capabilities",items:[{label:"Operasi 24×7",detail:"Pemantauan berkelanjutan tanpa gangguan"},{label:"Pemulihan otomatis",detail:"Dilanjutkan setelah kegagalan stream tanpa intervensi"},{label:"Ketahanan terhadap gangguan konektivitas",detail:"Pemrosesan ulang konten yang direkam"},{label:"Antrian dan pemrosesan ulang",detail:"Jaminan cakupan tanpa celah"},{label:"Ketersediaan tinggi",detail:"Redundansi, replikasi, dan penyeimbangan beban saat dikonfigurasi"}]},{id:"s12",title:"1.12 Integrasi dengan Jaringan Kerja Sama Privat",desc:"Kemampuan eksklusif ekosistem AiQuimist: kamera privat pengguna sukarela berpartisipasi otomatis dalam pencarian publik — tanpa mengirimkan video, tanpa membuka port jaringan.",type:"capabilities",items:[{label:"Distribusi gratis",detail:"Solusi Windows yang dapat didistribusikan kepada pengguna privat di seluruh negara"},{label:"Mekanisme pemasangan",detail:"Kode aktivasi, tautan perangkat, dan pencabutan"},{label:"Hanya endpoint yang diotorisasi",detail:"Hanya endpoint yang diotorisasi yang dapat mengonsumsi atau menerbitkan data/peristiwa"},{label:"Deteksi dan notifikasi lokal",detail:"Analisis terjadi di komputer pengguna privat"},{label:"Notifikasi kecocokan",detail:"Otomatis ke platform pusat saat ada kecocokan dengan watchlist"},{label:"Peringatan terstruktur",detail:"Gambar individu dengan overlay, tanggal/waktu, kamera, alamat lengkap, GPS, tingkat kepercayaan, pengidentifikasi"},{label:"Algoritma Re-ID",detail:"Reidentifikasi dan, jika berlaku dan diotorisasi, pengenalan wajah"},{label:"Partisipasi sukarela",detail:"Pengguna memutuskan apakah akan mengaktifkan kerja sama dan kamera mana yang berpartisipasi"},{label:"Privasi berdasarkan desain",detail:"Tidak ada port terbuka, tidak ada stream yang dikirimkan terus-menerus"},{label:"Kepatuhan GDPR/LGPD penuh",detail:"Analisis lokal, berbagi hanya hasil yang relevan"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Kecerdasan institusional untuk operasi publik dan lingkungan misi kritis",sections:[{title:"2.1 Fokus dan Cakupan Operasional",desc:"Platform yang ditujukan untuk sektor publik, institusional, dan korporat berkritikalitas tinggi. Beroperasi pada jaringan kamera skala besar.",type:"list",items:["Kotamadya, pemerintah negara bagian dan federal","Polisi, pengawal kota, dan kementerian keamanan","Pusat komando dan kendali terpadu (CIOP)","Penjara dan fasilitas penahanan","Bandara, pelabuhan, dan terminal","Perbatasan dan infrastruktur kritis nasional","Perusahaan publik dan perusahaan swasta besar dengan operasi kompleks","Perusahaan swasta besar: bank, logistik, dan lainnya"]},{title:"2.2 Infrastruktur Eksklusif",type:"params",params:[{param:"Berjalan di mana",value:"Server milik pelanggan (on-premise)"},{param:"Keamanan data",value:"100% internal — tidak ada informasi yang terekspos ke internet"},{param:"GPU",value:"Tidak diperlukan"},{param:"Server",value:"Konvensional — didedikasikan untuk basis data dan pembacaan kamera secara bersamaan"},{param:"Skala",value:"Jaringan institusional skala besar — puluhan hingga ribuan kamera"}]},{title:"2.3 Deteksi Spesifik",type:"list",items:["Gerakan mencurigakan di perimeter, akses, dan lingkungan kritis","Perilaku yang tidak sesuai dengan area sensitif","Penyusupan dan upaya akses tidak sah","Konflik dan situasi kekerasan","Upaya melarikan diri di fasilitas penahanan","Keberadaan senjata","Peninggalan benda di tempat berisiko","Perubahan mendadak dalam pola perilaku","Konsentrasi orang yang tidak normal di titik kritis","Situasi berbahaya di lingkungan misi kritis — bandara, perbatasan, pe
45njara","Mesin Temporal: menjalankan prompt dan sistem terus berjalan tanpa intervensi manusia"]},{title:"2.4 Koordinasi Jaringan Kerja Sama",type:"list",items:["Memicu pencarian dan penelusuran yang menyebar ke seluruh jaringan kerja sama publik dan privat","Menerima notifikasi otomatis dari Perceptrum saat ada kecocokan dengan watchlist","Mengkoordinasikan operasi terpadu antara ruang publik, jalan (F.A.S.T.), dan privat (Perceptrum)","Memusatkan peringatan, bukti, dan catatan penelusuran dari seluruh jaringan terintegrasi"]},{title:"2.5 Model Komersial",type:"params",params:[{param:"Lisensi",value:"Institusional — kontrak dengan lembaga publik atau korporasi"},{param:"Penerapan",value:"On-premise di server pelanggan"},{param:"Dukungan",value:"Orientasi dan konfigurasi termasuk"},{param:"Pilot",value:"Dapat diimplementasikan dalam maksimal 7 hari kerja di infrastruktur yang ada"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Kecerdasan multimodal untuk lingkungan privat — dari rumah ke korporasi besar",sections:[{title:"2.6 Fokus dan Cakupan Operasional",desc:"Platform yang ditujukan untuk sektor privat, komersial, residensial, dan kondominium. Mendemokratisasi akses ke kecerdasan pemantauan tingkat lanjut.",type:"list",items:["Tempat tinggal dan rumah","Kondominium dan gedung residensial/komersial","Tempat komersial kecil dan menengah","Jaringan ritel dan toko","Bank dan lembaga keuangan","Pusat perbelanjaan dan tempat parkir","Sekolah dan universitas swasta","Rumah sakit dan klinik swasta","Gudang dan fasilitas logistik","Pertanian dan properti pedesaan"]},{title:"2.7 Infrastruktur Eksklusif",type:"params",params:[{param:"Berjalan di mana",value:"Komputer pribadi pengguna (rumahan atau korporat)"},{param:"Prosesor minimum",value:"Intel i5 atau lebih tinggi"},{param:"GPU",value:"Tidak diperlukan"},{param:"Penyimpanan",value:"Ruang disk untuk gambar sementara saat analisis"},{param:"DVR/NVR",value:"Pembacaan native untuk pencarian rekaman sebelumnya"},{param:"Aktivasi",value:"Menit — impor kamera melalui CSV dan mulai langsung"}]},{title:"2.8 Deteksi Spesifik",type:"list",items:["Gerakan di luar pola pada jam atau tempat yang tidak biasa","Pencurian, perampokan, dan penyerangan — perilaku perampasan yang khas","Keberadaan yang tidak tepat di area terbatas","Risiko perimeter dan upaya penyusupan","Permintaan bantuan — gerakan dan perilaku pertolongan","Peninggalan benda mencurigakan","Anomali operasional dalam proses (logistik, inventaris, pengiriman)","Verifikasi proses otomatis: kendaraan, pelat nomor, kurir, penghitungan volume","Peristiwa yang dapat dikonfigurasi berdasarkan jenis lingkungan — profil setiap instalasi","Menemukan pelanggar perintah perlindungan (larangan mendekati, dll.)"]},{title:"2.9 Kerja Sama Sukarela (eksklusif Perceptrum)",type:"list",items:["Bendera kerja sama sukarela — pemilik memutuskan apakah akan mengaktifkan dan kamera mana yang berpartisipasi","Saat diaktifkan: kamera berpartisipasi dalam pencarian yang diterbitkan oleh Perceptrum Corporate atau F.A.S.T.-AI","Analisis dijalankan secara lokal — di komputer pengguna privat sendiri","Tidak ada stream video yang dikirimkan terus-menerus ke pusat publik","Tidak ada port jaringan yang terbuka ke luar","Hanya hasil (kecocokan) yang dikirim ke pusat — bukan gambar","Peringatan mencakup: gambar individu dengan overlay, tanggal/waktu, kamera, alamat, GPS, tingkat kepercayaan","Partisipasi yang dapat dicabut kapan saja oleh pemilik","Kepatuhan GDPR/LGPD penuh — perlindungan privasi berdasarkan desain arsitektur"]},{title:"2.10 Model Komersial",type:"params",params:[{param:"Versi gratis",value:"Fungsi pemantauan dasar — gratis, tanpa kartu kredit"},{param:"Versi premium",value:"Akses penuh — lisensi bulanan yang terjangkau"},{param:"Kerja sama publik",value:"Gratis untuk pengguna privat — lembaga publik membayar per kueri"},{param:"Biaya negara",value:"Sen per pencarian — dibayar hanya saat pencarian diaktifkan"},{param:"Distribusi",value:"Dapat didistribusikan kepada pengguna privat di seluruh negara"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Kecerdasan teritorial, mobilitas, dan interpretasi dinamis ruang perkotaan",sections:[{title:"2.11 Fokus dan Cakupan Operasional",desc:"Platform yang ditujukan untuk mobilitas, lalu lintas, tata ruang kota, dan interpretasi dinamis wilayah.",type:"list",items:["Dinas lalu lintas dan mobilitas kotamadya","Pusat operasi perkotaan (COU)","Dinas pekerjaan umum dan perencanaan kota","Lembaga penegak lalu lintas","Pengelola acara publik berskala besar","Operator jalan tol dan tempat parkir","Pasukan keamanan publik — pelacakan kendaraan dan operasi jalan"]},{title:"2.12 Infrastruktur Eksklusif",type:"params",params:[{param:"Berjalan di mana",value:"Server perusahaan yang bertanggung jawab atas lalu lintas dan tata ruang kota"},{param:"GPU",value:"Tidak diperlukan (kecuali analisis pelanggaran kompleks dan SBC pencegahan kecelakaan jalan tol)"},{param:"Penyimpanan",value:"Rendah — membaca langsung dari NAS, DVR, NVR, atau streaming yang ada"},{param:"Sumber yang kompatibel",value:"Kamera publik jalan, lampu lalu lintas, radar tetap dan bergerak — standar apa pun"},{param:"Skala",value:"Jaringan jalan perkotaan lengkap — lingkungan, koridor, kota"}]},{title:"2.13 Deteksi Spesifik",type:"list",items:["Pelanggaran lalu lintas — pembuatan denda otomatis dengan bukti","Kecelakaan dan tabrakan pejalan kaki — deteksi dan notifikasi segera","Pembentukan kemacetan — deteksi dini sebelum kolaps","Pemblokiran dan pengalihan jalan","Penguasaan ruang publik yang tidak teratur","Peristiwa atipikal yang mempe
45ngaruhi mobilitas perkotaan","Risiko operasional di jalan dan kawasan strategis","Pola aliran, zona kritis, dan pengulangan","Pelacakan kendaraan mencurigakan — pelat nomor, model, warna, rute","Konsentrasi dan kepadatan orang di jalan dan ruang publik","Pengejaran otomatis jika diminta operator"]},{title:"2.14 Kecerdasan Teritorial (eksklusif F.A.S.T.-AI)",type:"list",items:["Analisis pola aliran kendaraan dan pejalan kaki berdasarkan jam, hari, dan zona","Identifikasi zona kritis dan pengulangan insiden","Dukungan keputusan perencanaan jalan dan perkotaan dengan data nyata","Dasbor manajemen teritorial real-time untuk sekretaris dan manajer","Dukungan manajemen acara besar — kepadatan, aliran, risiko kerumunan","Pembuatan informasi strategis berkelanjutan tentang perilaku wilayah"]},{title:"2.15 Model Komersial",type:"params",params:[{param:"Lisensi",value:"Kotamadya/negara bagian — kontrak dengan lembaga publik mobilitas atau keamanan"},{param:"Penerapan",value:"Server kotamadya atau operator — di atas infrastruktur yang ada"},{param:"ROI langsung",value:"Pendapatan yang dihasilkan dari denda otomatis melebihi biaya platform"},{param:"Pilot",value:"Dapat diimplementasikan dalam maksimal 7 hari kerja di kamera publik yang ada"}]}]}],comparison:{title:"Ringkasan Perbandingan Tiga Platform",rows:[{feature:"Fokus utama",drakon:"Sektor publik dan misi kritis",perceptrum:"Sektor privat dan residensial",fast:"Lalu lintas dan tata ruang kota"},{feature:"Berjalan di mana",drakon:"Server pelanggan (on-premise)",perceptrum:"Komputer pribadi (i5+)",fast:"Server kotamadya/operator"},{feature:"GPU diperlukan",drakon:"❌ Tidak",perceptrum:"❌ Tidak",fast:"❌ Tidak (kecuali SBC)"},{feature:"Penggantian kamera",drakon:"❌ Tidak diperlukan",perceptrum:"❌ Tidak diperlukan",fast:"❌ Tidak diperlukan"},{feature:"Analisis langsung (24/7)",drakon:"✅ Ya",perceptrum:"✅ Ya",fast:"✅ Ya"},{feature:"Pasca-pemrosesan rekaman",drakon:"✅ Ya (DVR/NVR/NAS)",perceptrum:"✅ Ya (DVR/NVR/NAS)",fast:"✅ Ya (DVR/NVR/NAS)"},{feature:"JOB bahasa alami",drakon:"✅ Ya",perceptrum:"✅ Ya",fast:"✅ Ya"},{feature:"Integrasi API/Webhook",drakon:"✅ Ya",perceptrum:"✅ Ya",fast:"✅ Ya"},{feature:"Pelacakan multi-kamera",drakon:"✅ Ya",perceptrum:"✅ Ya",fast:"✅ Ya"},{feature:"Jaringan kerja sama privat",drakon:"✅ Mengkoordinasikan pencarian",perceptrum:"✅ Berpartisipasi (sukarela)",fast:"✅ Mengkoordinasikan pencarian jalan"},{feature:"Versi gratis tersedia",drakon:"❌ Tidak",perceptrum:"✅ Ya (dasar)",fast:"❌ Tidak"},{feature:"PoC tersedia",drakon:"✅ Ya",perceptrum:"❌ Tidak",fast:"✅ Ya"},{feature:"Denda otomatis",drakon:"❌ Bukan fokus",perceptrum:"❌ Bukan fokus",fast:"✅ Ya — pembuatan otomatis"},{feature:"Kecerdasan teritorial",drakon:"Operasional institusional",perceptrum:"Operasional privat",fast:"✅ Teritorial dan perkotaan"},{feature:"Kepatuhan GDPR/LGPD",drakon:"✅ Ya",perceptrum:"✅ Ya (berdasarkan desain)",fast:"✅ Ya"},{feature:"Waktu aktivasi pilot",drakon:"Maksimal 7 hari kerja",perceptrum:"Menit",fast:"Maksimal 7 hari kerja"}]}},vi:{hero:{badge:"Thông số kỹ thuật",title:"Thông số kỹ thuật",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Tài liệu kỹ thuật có cấu trúc cho các quy trình đánh giá, mua sắm và tích hợp. Tất cả thông số của ba nền tảng AiQuimist — chức năng chung và điểm khác biệt độc quyền.",part1:"PHẦN 1 — Thông số cốt lõi",part1sub:"Các chức năng có mặt ở cả ba nền tảng",part2:"PHẦN 2 — Thông số độc quyền",part2sub:"Điểm khác biệt riêng của từng sản phẩm",part3:"Tóm tắt so sánh"},copy:"Sao chép bảng",copied:"Đã sao chép!",yes:"✅ Có",no:"❌ Không",feature:"Tính năng",capacity:"Dung lượng",detail:"Chi tiết",param:"Tham số",value:"Giá trị",sections:[{id:"s1",title:"1.1 Động cơ AI — Diễn giải đa phương thức toàn cầu",desc:"Nền tảng AiQuimist phân tích đồng thời video, âm thanh, văn bản và hình ảnh để trích xuất ngữ cảnh thực tế và xác định các tình huống liên quan.",type:"capabilities",items:[{label:"🎥 Video",detail
45:"Phân tích thời gian thực camera trực tiếp và bản ghi. Nhận biết cảnh vật, đối tượng, hành vi, chuyển động và các mẫu."},{label:"🔊 Âm thanh",detail:"Phát hiện giọng nói, từ khóa, mẫu ngữ nghĩa, giọng điệu, độ khẩn cấp, xung đột và các âm thanh đáng chú ý có thể cấu hình."},{label:"📄 Văn bản và Hình ảnh",detail:"Tải lên và phân tích tệp (video, hình ảnh, âm thanh, văn bản). Trích xuất bằng chứng, siêu dữ liệu và tương quan giữa các nguồn."},{label:"Xử lý thời gian gốc",detail:"Phân tích sự trơn tru của chuyển động, không chỉ các khung riêng lẻ"},{label:"Cửa sổ ngữ cảnh lớn",detail:"Duy trì bộ nhớ về các giai đoạn video/âm thanh dài để tương quan sự kiện"},{label:"Phân tích thời gian thực (trực tiếp)",detail:"Luồng camera và kênh âm thanh 24×7"},{label:"Hậu xử lý",detail:"Cùng tiêu chí phát hiện áp dụng cho tệp và bản ghi: NVR, DVR, NAS"},{label:"Tải lên tệp kỹ thuật số",detail:"Video, hình ảnh, âm thanh và văn bản để phân tích đa phương thức tương quan"},{label:"Nhận dạng trạng thái cảm xúc",detail:"Đọc ngôn ngữ cơ thể, giọng điệu và tín hiệu hành vi"},{label:"Trừu tượng hóa nhà cung cấp AI",detail:"Endpoint, thông tin xác thực và giới hạn có thể cấu hình; thay đổi nhà cung cấp với tác động tối thiểu"}]},{id:"s2",title:"1.2 Thu nhận Camera và Nguồn",type:"mixed",items:[{label:"Tương thích toàn cầu",detail:"Bất kỳ camera nào, bất kể thương hiệu, nhà sản xuất, mô hình hoặc thế hệ"},{label:"Analog và kỹ thuật số",detail:"Không cần thay thế phần cứng"},{label:"Giao thức chính",detail:"RTSP, ONVIF và các phương thức HTTP/tệp tương đương"},{label:"DVR / NVR / NAS",detail:"Đọc thiết bị đã lắp đặt tại khách hàng"},{label:"Nhập hàng loạt",detail:"Excel hoặc CSV với siêu dữ liệu camera (IP, nhà sản xuất, người dùng, mật khẩu, cổng, v.v.)"},{label:"Vận hành tự chủ",detail:"Hoàn toàn cục bộ qua mạng nội bộ — không có luồng tiếp xúc với internet"},{label:"Bảo mật mạng",detail:"Không mở cổng để truy cập từ xa, không cấu hình đường hầm/NAT"},{label:"Khả năng mở rộng",detail:"1 đến N camera/kênh âm thanh song song"}
45,{label:"Khả dụng luồng",detail:"Giám sát và phục hồi tự động sau sự cố"}]},{id:"s3",title:"1.3 Điều phối nhiệm vụ — JOB / STEP",desc:"Hệ thống tự động hóa thông minh thay thế người vận hành trong các quy trình giám sát. Được tạo thông qua lệnh ngôn ngữ tự nhiên — không cần mã hóa hoặc lập trình.",type:"capabilities",items:[{label:"JOB (nhiệm vụ)",detail:"Đơn vị giám sát đọc 1 hoặc N camera/kênh và hoạt động theo các điều kiện được xác định"},{label:"STEP (bước)",detail:"Mỗi JOB bao gồm nhiều bước được liên kết; kết quả của một camera (đầu ra) cung cấp cho camera tiếp theo (đầu vào)"},{label:"Nhiều nguồn mỗi bước",detail:"Mỗi STEP có thể kích hoạt 1 hoặc nhiều camera và/hoặc 1 hoặc nhiều kênh âm thanh"},{label:"Liên kết thông minh",detail:"Phụ thuộc nhận thức giữa các bước; luồng thay đổi dựa trên kết quả trước đó"},{label:"Quyết định có điều kiện gốc",detail:"Phân nhánh, ngắt, lặp hoặc leo thang dựa trên kết quả thực tế"}
45,{label:"Lệnh mỗi kênh",detail:"Mỗi camera hoặc kênh âm thanh nhận lệnh cụ thể trong cùng một JOB"},{label:"Lập lịch",detail:"Thá»±c thi vào các ngày và giờ đã lên lịch với thời lượng xác định hoặc liên tục"},{label:"Kích hoạt/vô hiệu hóa tức thì",detail:"Không cần cấu hình lại"},{label:"Quản lý phiên bản nhiệm vụ",detail:"Lịch sá»­ cấu hình và lệnh"},{label:"Tạo bởi người dùng phi kỹ thuật",detail:"Người vận hành không có kiến thức kỹ thuật tạo JOB hoàn chỉnh qua giao diện đại lý thông minh"}],params:[{param:"Tạo JOB",value:"Ngôn ngữ tá»± nhiên (văn bản hoặc giọng nói) — không có mã"},{param:"Liên kết",value:"STEP N sá»­ dụng kết quả nhận thức cá»§a STEP N-1"},{param:"Nguồn mỗi STEP",value:"1 hoặc nhiều camera + 1 hoặc nhiều kênh âm thanh"},{param:"Lập lịch",value:"Ngày, giờ, thời lượng và lặp lại có thể cấu hình"}]},{id:"s4",title:"1.4 Khả năng phát hiện và phân loại",type:"grouped",groups:[{label:"Phát hiện dá»±a trên video (thị giác máy tính / đa phương thức)",items:["Xác định các tình huống và hành động liên quan theo các lệnh được cấu hình","Nhận dạng người quan tâm — danh sách theo dõi với liên kết sá»± kiện tá»± động","Đếm người với kích hoạt có điều kiện (nhiều hÆ¡n X / ít hÆ¡n X / chính xác X)","Theo dõi 1 hoặc nhiều cá nhân/phương tiện theo thời gian","Theo dõi đa camera với nhận dạng lại — theo dõi di chuyển giữa camera A → N → B","Phát hiện sai lệch tuyến đường và vi phạm quỹ đạo dá»± kiến","Đọc biển số, biển hiệu và nội dung văn bản hiển thị trên camera","Nhận dạng cá»­ chỉ tay có thể cấu hình và cá»­ chỉ ngôn ngữ ký hiệu (khi được xác định trong lệnh)","Phát hiện trạng thái cảm xúc và ngôn ngữ cÆ¡ thể trước xung đột"]},{label:"Phát hiện dá»±a trên âm thanh (giọng nói / âm thanh / đa phương thức)",items:["Phân tích âm thanh thời gian thá»±c và được ghi lại với phiên âm (STT) khi áp dụng","Phân biệt người nói — tách và nhận dạng người nói với tóm tá
45º¯t mỗi người nói và tóm tắt toàn bộ cuộc trò chuyện","Phát hiện từ khóa được nói theo tham số hóa","Phát hiện cụm từ và mẫu ngữ nghÄ©a có thể cấu hình","Phát hiện mẫu giọng nói cho thấy sá»± cố — khẩn cấp, xung đột, lặp lại","Làm nổi bật các đoạn liên quan để kiểm toán"]},{label:"Hệ thống cảnh báo",items:["Cảnh báo điều kiện đáp ứng — ví dụ: 'nhóm X cá nhân được phát hiện tại điểm A'","Cảnh báo điều kiện không đáp ứng — ví dụ: 'cá nhân không đi qua camera Y trong thời gian T'","Cảnh báo với logic chuỗi bước — quy trình làm việc nhiều điểm có thể cấu hình","Kích hoạt, cá»­a sổ thời gian và tiêu chí tương quan có thể cấu hình","Mức độ nghiêm trọng, người nhận và kênh thông báo có thể cấu hình","Bằng chứng đính kèm cảnh báo — khung, clip video, đoạn âm thanh","Hồ sÆ¡ vòng đời cảnh báo — được tạo, gá»­i, nhận và đóng"]}]},{id:"s5",title:"1.5 Ngữ cảnh hóa và Tạo bằng chứng",type:"capabilities",items:[{label:"Mô tả ngữ cảnh tá»± động",detail:"Được tạo bằng ngôn ngữ tá»± nhiên cho mỗi sá»± kiện được phát hiện"},{label:"Siêu dữ liệu có cấu trúc",detail:"Nguồn, ngày/giờ, vị trí logic, loại sá»± kiện, mức độ nghiêm trọng"},{label:"Tương quan tá»± động",detail:"Cùng cá nhân, cùng khu vá»±c, cùng khoảng thời gian — giữa nhiều nguồn"},{label:"Trích xuất bằng chứng",detail:"Khung, clip video, đoạn âm thanh, văn bản được nhận dạng"}
45,{label:"Khả năng truy xuất suy luận",detail:"Nhật ký và kiểm toán tất cả các phát hiện"},{label:"Báo cáo vận hành",detail:"Dấu vết kiểm toán đầy đủ"}]},{id:"s6",title:"1.6 Vận hành Ngôn ngữ tự nhiên",desc:"Bất kỳ người vận hành nào — không cần đào tạo kỹ thuật — có thể tạo, cấu hình và vận hành JOB hoàn chỉnh bằng văn bản hoặc giọng nói. Không cần lập trình, tập lệnh hoặc công cụ bên ngoài.",type:"capabilities",items:[{label:"Truy vấn ngôn ngữ tự nhiên",detail:"Câu hỏi với câu trả lời được ngữ cảnh hóa"},{label:"Lệnh văn bản và giọng nói",detail:"Tạo, chỉnh sửa và kích hoạt nhiệm vụ"},{label:"Cấu hình hoàn chỉnh qua lệnh",detail:"Giám sát, cảnh báo, kích hoạt và người nhận"},{label:"Kiểm soát quản trị",detail:"Xác nhận cho các hành động quan trọng, hạn chế theo hồ sơ"},{label:"Dấu vết kiểm toán",detail:"Hồ sơ tất cả các lệnh và thay đổi"}]},{id:"s7",title:"1.7 Tích hợp bên ngoài — API và Webhook",type:"capabilities",items:[{label:"Kích hoạt webhook tự động",detail:"Gọi API bên ngoài dựa trên các điều kiện được xác định"},{label:"Cấu hình người vận hành phi kỹ thuật",detail:"Qua lệnh ngôn ngữ tự nhiên"},{label:"Tải trọng có cấu trúc",detail:"Siêu dữ liệu và bằng chứng trong JSON"},{label:"Xác thực trong các cuộc gọi bên ngoài",detail:"Token, khóa, chữ ký và danh sách cho phép"},{label:"Kiểm toán yêu cầu",detail:"Nhật ký đầy đủ tất cả các cuộc gọi bên ngoài"},{label:"Xử lý lỗi",detail:"Thử lại, hàng đợi và nhật ký"},{label:"Khả năng tương tác",detail:"Bảng điều khiển, nhắn tin, hồ sơ và hệ thống quản lý"}],params:[{param:"Giao thức",value:"REST API + Webhook"},{param:"Tải trọng",value:"JSON có cấu trúc với siêu dữ liệu, bằng chứng và ngữ cảnh"},{param:"Xác thực",value:"Token, khóa, chữ ký và danh sách cho phép"},{param:"Kiểm toán",value:"Nhật ký đầy đủ tất cả các cuộc gọi bên ngoài"}]},{id:"s8",title:"1.8 Số liệu tiêu thụ và Quản lý chi phí",type:"capabilities",items:[{label:"Số liệu mỗi JOB/STEP",detail:"Ghi lại và khả dụng chi tiết"}
45,{label:"Số liệu mỗi camera/kênh âm thanh",detail:"Tiêu thụ riêng lẻ theo nguồn"},{label:"Số liệu mỗi người dùng/hồ sơ",detail:"Theo dõi sử dụng theo người vận hành"},{label:"Đếm token và yêu cầu",detail:"Ước tính và giá trị thực tế với độ trễ"},{label:"Chi phí theo chiều",detail:"JOB, camera và người dùng"},{label:"Hạn ngạch và trung tâm chi phí",detail:"Hỗ trợ hạn ngạch và phân tách theo phòng ban"}]},{id:"s9",title:"1.9 Yêu cầu phần cứng",type:"params",params:[{param:"GPU",value:"Không cần — không có nền tảng nào trong ba"},{param:"GPU (F.A.S.T.-AI)",value:"Được sử dụng cho một số vi phạm phức tạp và giải pháp SBC phòng ngừa tai nạn đường cao tốc"},{param:"Phần cứng độc quyền",value:"Không cần — tích hợp với cơ sở hạ tầng hiện có"},{param:"Camera",value:"Không thay thế — tương thích với bất kỳ thiết bị đã lắp đặt nào"},{param:"Hệ điều hành được hỗ trợ",value:"Windows (tương thích gốc)"},{param:"Triển khai",value:"Tại chỗ, đám mây công cộng/riêng tư (lãnh thổ quốc gia) hoặc kết hợp"},{param:"Kích hoạt",value:"Ngày, không phải tháng — thí điểm có thể triển khai trong tối đa 7 ngày làm việc"}]},{id:"s10",title:"1.10 Bảo mật thông tin, Quản trị và Bảo vệ dữ liệu",type:"capabilities",items:[{label:"Kiểm soát truy cập RBAC",detail:"Phân tách nhiệm vụ và đặc quyền tối thiểu"}
45,{label:"Dấu vết kiểm toán đầy đủ",detail:"Nhật ký hoạt động, lệnh, thay đổi cấu hình và lệnh"},{label:"Bảo vệ dữ liệu",detail:"Trong quá trình truyền và khi lưu trữ"},{label:"Chính sách lưu giữ và xóa",detail:"Bút danh/ẩn danh khi áp dụng"},{label:"Quản lý hồ sơ truy cập",detail:"Hạn chế hoạt động theo cấp độ"},{label:"Tuân thủ GDPR/LGPD",detail:"Giảm thiểu, mục đích, sự cần thiết và trách nhiệm giải trình"},{label:"Lưu trữ thông tin xác thực",detail:"Windows Credential Manager/DPAPI hoặc tương đương — văn bản thuần túy bị cấm"}]},{id:"s11",title:"1.11 Tính khả dụng và Tính liên tục hoạt động",type:"capabilities",items:[{label:"Hoạt động 24×7",detail:"Giám sát liên tục không gián đoạn"},{label:"Phục hồi tự động",detail:"Tiếp tục sau sự cố luồng mà không cần can thiệp"},{label:"Khả năng chịu đựng gián đoạn kết nối",detail:"Xử lý lại nội dung được ghi lại"},{label:"Hàng đợi và xử lý lại",detail:"Đảm bảo phạm vi phủ sóng không có khoảng trống"},{label:"Tính khả dụng cao",detail:"Dự phòng, sao chép và cân bằng tải khi được cấu hình"}]},{id:"s12",title:"1.12 Tích hợp với Mạng hợp tác riêng tư",desc:"Khả năng độc quyền của hệ sinh thái AiQuimist: camera riêng tư của người dùng tự nguyện tự động tham gia tìm kiếm công cộng — mà không truyền video, không mở cổng mạng.",type:"capabilities",items:[{label:"Phân phối miễn phí",detail:"Giải pháp Windows có thể phân phối cho người dùng riêng tư trên toàn quốc"},{label:"Cơ chế ghép đôi",detail:"Mã kích hoạt, liên kết thiết bị và thu hồi"},{label:"Chỉ điểm cuối được ủy quyền",detail:"Chỉ điểm cuối được ủy quyền mới có thể tiêu thụ hoặc xuất bản dữ liệu/sự kiện"},{label:"Phát hiện và thông báo cục bộ",detail:"Phân tích xảy ra trên máy tính của người dùng riêng tư"},{label:"Thông báo kết quả khớp",detail:"Tự động đến nền tảng trung tâm khi có kết quả khớp với danh sách theo dõi"},{label:"Cảnh báo có cấu trúc",detail:"Hình ảnh cá nhân có lớp phủ, ngày/giờ, camera, địa chỉ đầy đủ, GPS, mức độ tin cậy, định danh"},{label:"Thuật toán Re-ID",detail:"Nhận dạng lại và nhận dạng khuôn mặt khi áp dụng và được ủy quyền"},{label:"Tham gia tự nguyện",detail:"Người dùng quyết định có kích hoạt hợp tác và camera nào tham gia"},{label:"Quyền riêng tư theo thiết kế",detail:"Không có cổng mở, không có luồng được truyền liên tục"}
45,{label:"Tuân thủ GDPR/LGPD đầy đủ",detail:"Phân tích cục bộ, chỉ chia sẻ kết quả liên quan"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Trí tuệ thể chế cho các hoạt động công cộng và môi trường quan trọng",sections:[{title:"2.1 Trọng tâm và Phạm vi hoạt động",desc:"Nền tảng hướng đến khu vực công, thể chế và doanh nghiệp có mức độ quan trọng cao. Hoạt động trên các mạng camera quy mô lớn.",type:"list",items:["Thành phố, chính phủ tiểu bang và liên bang","Cảnh sát, đội bảo vệ thành phố và bộ an ninh","Trung tâm chỉ huy và kiểm soát tích hợp (CIOP)","Nhà tù và cơ sở giam giữ","Sân bay, cảng biển và bến cảng","Biên giới và cơ sở hạ tầng quan trọng quốc gia","Doanh nghiệp công và công ty tư nhân lớn với hoạt động phức tạp","Công ty tư nhân lớn: ngân hàng, logistics và các công ty khác"]},{title:"2.2 Cơ sở hạ tầng độc quyền",type:"params",params:[{param:"Chạy ở đâu",value:"Máy chủ của khách hàng (tại chỗ)"},{param:"Bảo mật dữ liệu",value:"100% nội bộ — không có thông tin nào tiếp xúc với internet"},{param:"GPU",value:"Không cần"},{param:"Máy chủ",value:"Thông thường — dành riêng cho cơ sở dữ liệu và đọc camera đồng thời"},{param:"Quy mô",value:"Mạng thể chế quy mô lớn — hàng chục đến hàng nghìn camera"}]},{title:"2.3 Phát hiện cụ thể",type:"list",items:["Chuyển động đáng ngờ ở vành đai, lối vào và môi trường quan trọng","Hành vi không phù hợp với khu vực nhạy cảm","Xâm nhập và cố gắng truy cập trái phép","Xung đột và tình huống bạo lực","Cố gắng trốn thoát tại cơ sở giam giữ","Sự hiện diện của vũ khí","Bỏ vật dụng ở nơi nguy hiểm","Thay đổi đột ngột trong mẫu hành vi","Tập trung người bất thường ở các điểm quan trọng","Tình huống nguy hiểm ở môi trường quan trọng — sân bay, biên giới, nhà tù","Động cơ thời gian: thực thi lệnh và hệ thống tiếp tục mà không cần can thiệp của con người"]},{title:"2.4 Điều phối Mạng hợp tác",type:"list",items:["Kích hoạt các tìm kiếm và theo dõi lan truyền qua toàn bộ mạng hợp tác công và riêng","Nhận thông báo tự động từ Perceptrum khi có kết quả khớp với danh sách theo dõi","Điều phối các hoạt động tích hợp giữa không gian công cộng, đường bộ (F.A.S.T.) và riêng tư (Perceptrum)","Tập trung cảnh báo, bằng chứng và hồ sơ theo dõi từ toàn bộ mạng tích hợp"]},{title:"2.5 Mô hình thương mại",type:"params",params:[{param:"Cấp phép",value:"Thể chế — hợp đồng với cơ quan công quyền hoặc tập đoàn"}
45,{param:"Triển khai",value:"Tại chỗ trên máy chá»§ cá»§a khách hàng"},{param:"Hỗ trợ",value:"Bao gồm giới thiệu và cấu hình"},{param:"Thí điểm",value:"Có thể triển khai trong tối đa 7 ngày làm việc trên cÆ¡ sở hạ tầng hiện có"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Trí tuệ đa phương thức cho môi trường riêng tư — từ gia đình đến tập đoàn lớn",sections:[{title:"2.6 Trọng tâm và Phạm vi hoạt động",desc:"Nền tảng hướng đến khu vá»±c riêng tư, thương mại, dân cư và chung cư. Dân chá»§ hóa quyền truy cập vào trí tuệ giám sát nâng cao.",type:"list",items:["Nhà ở và hộ gia đình","Chung cư và tòa nhà dân cư/thương mại","Địa điểm thương mại nhỏ và vừa","Chuỗi bán lẻ và cá»­a hàng","Ngân hàng và tổ chức tài chính","Trung tâm mua sắm và bãi đậu xe","Trường học và đại học tư thục","Bệnh viện và phòng khám tư","Kho và cÆ¡ sở logistics","Trang trại và bất động sản nông thôn"]},{title:"2.7 CÆ¡ sở hạ tầng độc quyền",type:"params",params:[{param:"Chạy ở đâu",value:"Máy tính cá nhân cá»§a người dùng (gia đình hoặc doanh nghiệp)"},{param:"Bộ xá»­ lý tối thiểu",value:"Intel i5 hoặc cao hÆ¡n"},{param:"GPU",value:"Không cần"},{param:"Lưu trữ",value:"Dung lượng ổ đĩa cho hình ảnh tạm thời trong quá trình phân tích"},{param:"DVR/NVR",value:"Đọc gốc để tìm kiếm trong các bản ghi trước đó"},{param:"Kích hoạt",value:"Phút — nhập camera qua CSV và bắt đầu ngay lập tức"}]},{title:"2.8 Phát hiện cụ thể",type:"list",items:["Chuyển động ngoài mẫu vào những thời điểm hoặc địa điểm bá
45º¥t thường","Trộm cắp, cướp và tấn công — hành vi chiếm đoạt điển hình","Hiện diện không phù hợp trong khu vá»±c hạn chế","Rá»§i ro vành đai và cố gắng xâm nhập","Yêu cầu giúp đỡ — cá»­ chỉ và hành vi cứu trợ","Bỏ vật dụng đáng ngờ","Bất thường hoạt động trong các quy trình (logistics, hàng tồn kho, giao hàng)","Xác minh quy trình tá»± động: phương tiện, biển số, người giao hàng, đếm khối lượng","Sá»± kiện có thể cấu hình theo loại môi trường — hồ sÆ¡ cá»§a từng cÆ¡ sở","Xác định người vi phạm lệnh bảo vệ (lệnh tiếp cận, v.v.)"]},{title:"2.9 Hợp tác tá»± nguyện (độc quyền Perceptrum)",type:"list",items:["Cờ hợp tác tá»± nguyện — chá»§ sở hữu quyết định có kích hoạt và camera nào tham gia","Khi được kích hoạt: camera tham gia vào các tìm kiếm được phát hành bởi Perceptrum Corporate hoặc F.A.S.T.-AI","Phân tích được thá»±c hiện cục bộ — trên máy tính cá»§a chính người dùng riêng tư","Không có luồng video được truyền liên tục đến trung tâm công cộng","Không có cổng mạng mở ra bên ngoài","Chỉ kết quả (khớp) được gá»­i đến trung tâm — không phải hình ảnh","Cảnh báo bao gồm: hình ảnh cá nhân có lớp phá»§, ngày/giờ, camera, địa chỉ, GPS, mức độ tin cậy","Sá»± tham gia có thể thu hồi bất kỳ lúc nào bởi chá»§ sở hữu","Tuân thá»§ đầy đủ GDPR/LGPD — bảo vệ quyền riêng tư theo thiết kế kiến trúc"]},{title:"2.10 Mô hình thương mại",type:"params",params:[{param:"Phiên bản miễn phí",value:"Chức năng giám sát cÆ¡ bản — miễn phí, không cần thẻ tín dụng"},{param:"Phiên bản cao cấp",value:"Truy cập đầy đủ — giấy phép hàng tháng có thể truy cập"},{param:"Hợp tác công cộng",value:"Miễn phí cho người dùng riêng tư — cÆ¡ quan công quyền trả phí mỗi truy vấn"},{param:"Chi phí nhà nước",value:"Vài xu mỗi lần tìm kiếm — chỉ trả khi tìm kiếm được kích hoạt"},{param:"Phân phối",value:"Có thể phân phối cho người dùng riêng tư trên toàn quốc"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Trí tuệ lãnh thổ, di động và giải thích động không gian đô thị",sections:[{title:"2.11 Trọng tâm và Phạm vi hoạt động",desc:"Nền tảng hướng đến giao thông, di động, quy hoạch đô thị và giải thích động lãnh thổ.",type:"list",items:["Sở giao thông và di động thành phố","Trung tâm vận hành đô thị (COU)","Sở công trình công cộng và quy hoạch đô thị","CÆ¡ quan thá»±c thi giao thông","Nhà quản lý sá»± kiện công cộng quy mô lớn","Nhà khai thác đường cao tốc và bãi đậu xe","Lá»±c lượng an ninh công cộng — theo dõi phương tiện và hoạt động đường bộ"]},{title:"2.12 CÆ¡ sở hạ tầng độc quyền",type:"params",params:[{param:"Chạy ở đâu",value:"Máy chá»§ cá»§a các công ty chịu trách nhiệm về giao thông và quy hoạch đô thị"},{param:"GPU",value:"Không cần (ngoại trừ phân tích vi phạm phức tạp và SBC phòng ngừa tai nạn đường cao tốc)"},{param:"Lưu trữ",value:"Thấp — đọc trá»±c tiếp từ NAS, DVR, NVR hoặc streaming hiện có"},{param:"Nguồn tương thích",value:"Camera công cộng đường bộ, đèn giao thông, radar cố định và di động — bất kỳ tiêu chuẩn nào"},{param:"Quy mô",value:"Mạng đường bộ đô thị đầy đủ — khu phố, hành lang, thành phố"}]},{title:"2.13 Phát hiện cụ thể",type:"list",items:["Vi phạm giao thông — tạo phạt tá»± động với bằng chứng","Tai nạn và va chạm người đi bộ — phát hiện và thông báo ngay lập tức","Hình thành tắc đường — phát hiện sớm trước khi sụp đổ","Chặn đường và chuyển hướng","Chiếm dụng không gi
45an công cộng trái phép","Các sự kiện không điển hình ảnh hưởng đến giao thông đô thị","Rủi ro hoạt động trên đường và khu vực chiến lược","Mẫu lưu lượng, khu vực quan trọng và các tình huống lặp lại","Theo dõi phương tiện đáng ngờ — biển số, mô hình, màu sắc, tuyến đường","Tập trung và mật độ người trên đường và không gian công cộng","Đuổi theo tự động nếu người vận hành yêu cầu"]},{title:"2.14 Trí tuệ lãnh thổ (độc quyền F.A.S.T.-AI)",type:"list",items:["Phân tích mẫu lưu lượng phương tiện và người đi bộ theo giờ, ngày và khu vực","Xác định khu vực quan trọng và các tình huống lặp lại","Hỗ trợ quyết định quy hoạch đường bộ và đô thị với dữ liệu thực tế","Bảng điều khiển quản lý lãnh thổ thời gian thực cho bộ trưởng và quản lý","Hỗ trợ quản lý sự kiện lớn — mật độ, lưu lượng, rủi ro bạo loạn","Tạo thông tin chiến lược liên tục về hành vi lãnh thổ"]},{title:"2.15 Mô hình thương mại",type:"params",params:[{param:"Cấp phép",value:"Thành phố/tiểu bang — hợp đồng với cơ quan công quyền về di động hoặc an ninh"},{param:"Triển khai",value:"Máy chủ thành phố hoặc nhà khai thác — trên cơ sở hạ tầng hiện có"},{param:"ROI trực tiếp",value:"Doanh thu được tạo ra từ phạt tự động vượt quá chi phí nền tảng"},{param:"Thí điểm",value:"Có thể triển khai trong tối đa 7 ngày làm việc trên camera công cộng hiện có"}]}]}],comparison:{title:"Tóm tắt so sánh ba nền tảng",rows:[{feature:"Trọng tâm chính",drakon:"Khu vực công và nhiệm vụ quan trọng",perceptrum:"Khu vực riêng tư và dân cư",fast:"Giao thông và quy hoạch đô thị"},{feature:"Chạy ở đâu",drakon:"Máy chủ khách hàng (tại chỗ)",perceptrum:"Máy tính cá nhân (i5+)",fast:"Máy chủ thành phố/nhà khai thác"},{feature:"Cần GPU",drakon:"❌ Không",perceptrum:"❌ Không",fast:"❌ Không (ngoại trừ SBC)"},{feature:"Thay thế camera",drakon:"❌ Không cần",perceptrum:"❌ Không cần",fast:"❌ Không cần"},{feature:"Phân tích trực tiếp (24/7)",drakon:"✅ Có",perceptrum:"✅ Có",fast:"✅ Có"},{feature:"Hậu xử lý bản ghi",drakon:"✅ Có (DVR/NVR/NAS)",perceptrum:"✅ Có (DVR/NVR/NAS)",fast:"✅ Có (DVR/NVR/NAS)"},{feature:"JOB ngôn ngữ tự nhiên",drakon:"✅ Có",perceptrum:"✅ Có",fast:"✅ Có"},{feature:"Tích hợp API/Webhook",drakon:"✅ Có",perceptrum:"✅ Có",fast:"✅ Có"},{feature:"Theo dõi đa camera",drakon:"✅ Có",perceptrum:"✅ Có",fast:"✅ Có"},{feature:"Mạng hợp tác riêng tư",drakon:"✅ Điều phối tìm kiếm",perceptrum:"✅ Tham gia (tự nguyện)",fast:"✅ Điều phối tìm kiếm đường bộ"},{feature:"Phiên bản miễn phí có sẵn",drakon:"❌ Không",perceptrum:"✅ Có (cơ bản)",fast:"❌ Không"},{feature:"PoC có sẵn",drakon:"✅ Có",perceptrum:"❌ Không",fast:"✅ Có"},{feature:"Phạt tự động",drakon:"❌ Không phải trọng tâm",perceptrum:"❌ Không phải trọng tâm",fast:"✅ Có — tạo tự động"},{feature:"Trí tuệ lãnh thổ",drakon:"Hoạt động thể chế",perceptrum:"Hoạt động riêng tư",fast:"✅ Lãnh thổ và đô thị"},{feature:"Tuân thủ GDPR/LGPD",drakon:"✅ Có",perceptrum:"✅ Có (theo thiết kế)",fast:"✅ Có"},{feature:"Thời gian kích hoạt thí điểm",drakon:"Tối đa 7 ngày làm việc",perceptrum:"Phút",fast:"Tối đa 7 ngày làm việc"}]}},th:{hero:{badge:"ข้อกำหนดทางเทคนิค",title:"ข้อกำหนดทางเทคนิค",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"เอกสารทางเทคนิคที่มีโครงสร้างสำหรับกระบวนการประเมิน จัดซื้อ และบูรณาการ ข้อกำหนดทั้งหมดของแพลตฟอร์มสามแห่งของ AiQuimist — ฟังก์ชันร่วมและตัวสร้างความแตกต่างพิเศษ",part1:"ส่วนที่ 1 — ข้อกำหนดหลัก",part1sub:"ฟังก์ชันที่มีในทั้งสามแพลตฟอร์ม",part2:"ส่วนที่ 2 — ข้อกำหนดพิเศษ",part2sub:"ตัวสร้างความแตกต่างเฉพาะของแต่ละผลิตภัณฑ์",part3:"สรุปการเปรียบเทียบ"},copy:"คัดลอกตาราง",copied:"คัดลอกแล้ว!",yes:"✅ ใช่",no:"❌ ไม่",feature:"คุณสมบัติ",capacity:"ความจุ",detail:"รายละเอียด",param:"พารามิเตอร์",value:"ค่า",sections:[{id:"s1",title:"1.1 เครื่องยนต์ AI — การตีความมัลติโมดัลสากล",desc:"แพลตฟอร์ม AiQuimist วิเคราะห์วิดีโอ เสียง ข้อความ และภาพพร้อมก
45ันเพื่อดึงบริบทที่แท้จริงและระบุสถานการณ์ที่เกี่ยวข้อง",type:"capabilities",items:[{label:"🎥 วิดีโอ",detail:"การวิเคราะห์แบบเรียลไทม์ของกล้องสดและการบันทึก จดจำฉาก วัตถุ พฤติกรรม การเคลื่อนไหว และรูปแบบ"},{label:"🔊 เสียง",detail:"การตรวจจับการพูด คำสำคัญ รูปแบบความหมาย น้ำเสียง ความเร่งด่วน ความขัดแย้ง และเสียงที่น่าสนใจที่กำหนดค่าได้"},{label:"📄 ข้อความและภาพ",detail:"การอัปโหลดและวิเคราะห์ไฟล์ (วิดีโอ ภาพ เสียง ข้อความ) การดึงหลักฐาน เมตาดาตา และความสัมพันธ์ระหว่างแหล่งข้อมูล"},{label:"การประมวลผลเวลาเนทีฟ",detail:"วิเคราะห์ความลื่นไหลของการเคลื่อนไหว ไม่ใช่แค่เฟรมที่แยกออกมา"},{label:"หน้าต่างบริบทขนาดใหญ่",detail:"รักษาหน่วยความจำของช่วงวิดีโอ/เสียงที่ยาวนานเพื่อความสัมพันธ์ของเหตุการณ์"},{label:"การวิเคราะห์แบบเรียลไทม์ (สด)",detail:"สตรีมกล้องและช่องเสียง 24×7"},{label:"การประมวลผลภายหลัง",detail:"เกณฑ์การตรวจจับเดียวกันที่ใช้กับไฟล์และการบันทึก: NVR, DVR, NAS"},{label:"การอัปโหลดไฟล์ดิจิทัล",detail:"วิดีโอ ภาพ เสียง และข้อความสำหรับการวิเคราะห์มัลติโมดัลที่สัมพันธ์กัน"},{label:"การระบุสถานะทางอารมณ์",detail:"อ่านภาษากาย น้ำเสียง และสัญญาณพฤติกรรม"},{label:"การแยกผู้ให้บริการ AI",detail:"Endpoint ข้อมูลรับรอง และขีดจำกัดที่กำหนดค่าได้ การเปลี่ยนผู้ให้บริการที่มีผลกระทบน้อยที่สุด"}]},{id:"s2",title:"1.2 การรับข้อมูลกล้องและแหล่งข้อมูล",type:"mixed",items:[{label:"ความเข้ากันได้สากล",detail:"กล้องใดก็ได้ ไม่ว่าจะเป็นยี่ห้อ ผู้ผลิต รุ่น หรือรุ่นใด"},{label:"แอนะล็อกและดิจิทัล",detail:"ไม่จำเป็นต้องเปลี่ยนฮาร์ดแวร์"},{label:"โปรโตคอลหลัก",detail:"RTSP, ONVIF และวิธี HTTP/ไฟล์ที่เทียบเท่า"},{label:"DVR / NVR / NAS",detail:"อ่านอุปกรณ์ที่ติดตั้งอยู่แล้วที่ลูกค้า"},{label:"การนำเข้าจำนวนมาก",detail:"Excel หรือ CSV พร้อมเมตาดาตาของกล้อง (IP ผู้ผลิต ผู้ใช้ รหัสผ่าน พอร์ต ฯลฯ)"},{label:"การดำเนินงานอัตโนมัติ",detail:"ท้องถิ่นโดยสมบูรณ์ผ่านเครือข่ายภายใน — ไม่มีการเปิดเผยสตรีมต่ออินเทอร์เน็ต"},{label:"ความปลอดภัยเครือข่าย",detail:"ไม่มีการเปิดพอร์ตสำหรับการเข้าถึงระยะไกล ไม่มีการกำหนดค่าอุโมงค์/NAT"},{label:"ความสามารถในการปรับขนาด",detail:"1 ถึง N กล้อง/
45ช่องเสียงแบบขนาน"},{label:"ความพร้อมใช้งานของสตรีม",detail:"การตรวจสอบและการกู้คืนอัตโนมัติหลังจากความล้มเหลว"}]},{id:"s3",title:"1.3 การจัดระเบียบงาน — JOB / STEP",desc:"ระบบอัตโนมัติอัจฉริยะที่แทนที่ผู้ปฏิบัติงานมนุษย์ในกิจวัตรการเฝ้าระวัง สร้างผ่านพรอมต์ภาษาธรรมชาติ — ไม่ต้องมีการเขียนโค้ดหรือการเขียนโปรแกรม",type:"capabilities",items:[{label:"JOB (งาน)",detail:"หน่วยการตรวจสอบที่อ่านกล้อง/ช่อง 1 หรือ N ช่องและดำเนินการตามเงื่อนไขที่กำหนด"},{label:"STEP (ขั้นตอน)",detail:"JOB แต่ละงานประกอบด้วยขั้นตอนที่เชื่อมโยงหลายขั้นตอน ผลลัพธ์ของกล้องหนึ่ง (เอาต์พุต) ป้อนให้กับกล้องถัดไป (อินพุต)"},{label:"หลายแหล่งข้อมูลต่อขั้นตอน",detail:"แต่ละ STEP สามารถเปิดใช้งานกล้อง 1 ตัวหรือมากกว่าและ/หรือช่องเสียง 1 ช่องหรือมากกว่า"},{label:"การเชื่อมโยงอัจฉริยะ",detail:"การพึ่งพาเชิงความรู้ระหว่างขั้นตอน กระแสเปลี่ยนตามผลลัพธ์ก่อนหน้า"},{label:"การตัดสินใจแบบมีเงื่อนไขเนทีฟ",detail:"การแตกกิ่ง การหยุดชะงัก การทำซ้ำ หรือการยกระดับตามผลลัพธ์จริง"},{label:"พรอมต์ต่อช่อง",detail:"กล้องหรือช่องเสียงแต่ละตัวได้รับพรอมต์เฉพาะภายใน JOB เดียวกัน"},{label:"การจัดกำหนดการ",detail:"การดำเนินการในวันที่และเวลาที่กำหนดด้วยระยะเวลาที่กำหนดหรือต่อเนื่อง"},{label:"การเปิดใช้งาน/ปิดใช้งานทันที",detail:"ไม่จำเป็นต้องกำหนดค่าใหม่"},{label:"การควบคุมเวอร์ชันงาน",detail:"ประวัติการกำหนดค่าและพรอมต์"},{label:"การสร้างโดยผู้ใช้ที่ไม่มีทักษะด้านเทคนิค",detail:"ผู้ปฏิบัติงานที่ไม่มีความรู้ด้านเทคนิคสร้าง JOB ที่สมบูรณ์ผ่านอินเทอร์เฟซตัวแทนอัจฉริยะ"}],params:[{param:"การสร้าง JOB",value:"ภาษาธรรมชาติ (ข้อความหรือเสียง) — ไม่มีโค้ด"},{param:"การเชื่อมโยง",value:"STEP N ใช้ผลลัพธ์เชิงความรู้ของ STEP N-1"},{param:"แหล่งข้อมูลต่อ STEP",value:"กล้อง 1 ตัวหรือมากกว่า + ช่องเสียง 1 ช่องหรือมากกว่า"},{param:"การจัดกำหนดการ",value:"กำหนดค่าวันที่ เวลา ระยะเวลา และการทำซ้ำได้"}]},{id:"s4",title:"1.4 ความสามารถในการตรวจจับและจำแนกประเภท",type:"grouped",groups:[{label:"การตรวจจับโดยใช้วิดีโอ (วิสัยทัศน์คอมพิวเตอร์ / มัลติโมดัล)",items:["การระบุสถานการณ์และการกระทำที่เกี่ยวข้องตามพรอมต์ที่กำหนดค่า","การจดจำบุคคลที่น่าสนใจ — รายการเฝ้าระวังพร้อมก
45ารเชื่อมโยงเหตุการณ์อัตโนมัติ","การนับจำนวนบุคคลพร้อมตัวกระตุ้นแบบมีเงื่อนไข (มากกว่า X / น้อยกว่า X / เท่ากับ X)","การติดตาม 1 คนหรือหลายคน/ยานพาหนะตามเวลา","การติดตามหลายกล้องพร้อมการระบุตัวตนใหม่ — ติดตามการเคลื่อนไหวระหว่างกล้อง A → N → B","การตรวจจับการเบี่ยงเส้นทางและการละเมิดวิถีที่คาดหวัง","การอ่านป้ายทะเบียน ป้าย และเนื้อหาข้อความที่มองเห็นได้ในกล้อง","การระบุท่าทางมือที่กำหนดค่าได้และท่าทางภาษามือ (เมื่อกำหนดในพรอมต์)","การตรวจจับสถานะทางอารมณ์และภาษากายก่อนความขัดแย้ง"]},{label:"การตรวจจับโดยใช้เสียง (การพูด / เสียง / มัลติโมดัล)",items:["การวิเคราะห์เสียงแบบเรียลไทม์และที่บันทึกไว้พร้อมการถอดความ (STT) เมื่อใช้ได้","การแยกผู้พูด — การระบุและแยกผู้พูดพร้อมสรุปต่อผู้พูดและสรุปการสนทนาทั้งหมด","การตรวจจับคำสำคัญที่พูดตามการกำหนดพารามิเตอร์","การตรวจจับวลีและรูปแบบความหมายที่กำหนดค่าได้","การตรวจจับรูปแบบการพูดที่บ่งชี้เหตุการณ์ — ความเร่งด่วน ความขัดแย้ง การทำซ้ำ","การเน้นส่วนที่เกี่ยวข้องเพื่อการตรวจสอบ"]},{label:"ระบบการแจ้งเตือน",items:["การแจ้งเตือนเงื่อนไขที่บรรลุ — เช่น 'ตรวจพบกลุ่ม X คนที่จุด A'","การแจ้งเตือนเงื่อนไขที่ไม่บรรลุ — เช่น 'บุคคลไม่ผ่านกล้อง Y ภายในเวลา T'","การแจ้งเตือนพร้อมตรรกะลำดับขั้นตอน — เวิร์กโฟลว์หลายจุดที่กำหนดค่าได้","ตัวกระตุ้น หน้าต่างเวลา และเกณฑ์ความสัมพันธ์ที่กำหนดค่าได้","ระดับความรุนแรง ผู้รับ และช่องทางการแจ้งเตือนที่กำหนดค่าได้","หลักฐานที่แนบมากับการแจ้งเตือน — เฟรม คลิปวิดีโอ ส่วนเสียง","บันทึกวงจรชีวิตการแจ้งเตือน — สร้าง ส่ง รับ และปิด"]}]},{id:"s5",title:"1.5 การสร้างบริบทและหลักฐาน",type:"capabilities",items:[{label:"คำอธิบายบริบทอัตโนมัติ",detail:"สร้างในภาษาธรรมชาติสำหรับแต่ละเหตุการณ์ที่ตรวจพบ"},{label:"เมตาดาตาที่มีโครงสร้าง",detail
45:"แหล่งข้อมูล วันที่/เวลา ตำแหน่งเชิงตรรกะ ประเภทเหตุการณ์ ความรุนแรง"},{label:"ความสัมพันธ์อัตโนมัติ",detail:"บุคคลเดียวกัน พื้นที่เดียวกัน ช่วงเวลาเดียวกัน — ระหว่างแหล่งข้อมูลหลายแหล่ง"},{label:"การดึงหลักฐาน",detail:"เฟรม คลิปวิดีโอ ส่วนเสียง ข้อความที่จดจำ"},{label:"ความสามารถในการตรวจสอบย้อนกลับการอนุมาน",detail:"บันทึกและการตรวจสอบการตรวจจับทั้งหมด"},{label:"รายงานการปฏิบัติงาน",detail:"เส้นทางการตรวจสอบที่สมบูรณ์"}]},{id:"s6",title:"1.6 การดำเนินงานด้วยภาษาธรรมชาติ",desc:"ผู้ปฏิบัติงานใดก็ได้ — โดยไม่ต้องมีการฝึกอบรมด้านเทคนิค — สามารถสร้าง กำหนดค่า และดำเนินการ JOB ที่สมบูรณ์โดยใช้ข้อความหรือเสียง ไม่ต้องมีการเขียนโปรแกรม สคริปต์ หรือเครื่องมือภายนอก",type:"capabilities",items:[{label:"การสอบถามภาษาธรรมชาติ",detail:"คำถามพร้อมคำตอบที่มีบริบท"},{label:"คำสั่งข้อความและเสียง",detail:"การสร้าง แก้ไข และเปิดใช้งานงาน"},{label:"การกำหนดค่าที่สมบูรณ์ผ่านพรอมต์",detail:"การตรวจสอบ การแจ้งเตือน ตัวกระตุ้น และผู้รับ"},{label:"การควบคุมการกำกับดูแล",detail:"การยืนยันสำหรับการดำเนินการที่สำคัญ ข้อจำกัดตามโปรไฟล์"},{label:"เส้นทางการตรวจสอบ",detail:"บันทึกคำสั่งและการเปลี่ยนแปลงทั้งหมด"}]},{id:"s7",title:"1.7 การบูรณาการภายนอก — API และ Webhook",type:"capabilities",items:[{label:"การเรียก Webhook อัตโนมัติ",detail:"การเรียก API ภายนอกตามเงื่อนไขที่กำหนด"},{label:"การกำหนดค่าผู้ปฏิบัติงานที่ไม่มีทักษะด้านเทคนิค",detail:"ผ่านพรอมต์ภาษาธรรมชาติ"},{label:"เพย์โหลดที่มีโครงสร้าง",detail:"เมตาดาตาและหลักฐานใน JSON"},{label:"การรับรองความถูกต้องในการเรียกภายนอก",detail:"โทเค็น กุญแจ ลายเซ็น และรายการอนุญาต"},{label:"การตรวจสอบคำขอ",detail:"บันทึกที่สมบูรณ์ของการเรียกภายนอกทั้งหมด"},{label:"การจัดการความล้มเหลว",detail:"การลองใหม่ คิว และบันทึก"},{label:"การทำงานร่วมกัน",detail:"แดชบอร์ด การส่งข้อความ บันทึก และระบบการจัดการ"}],params:[{param:"โปรโตคอล",value:"REST API + Webhooks"},{param:"เพย์โหลด",value:"JSON ที่มีโครงสร้างพร้อมเมตาดาตา หลักฐาน และบริบท"},{param:"การรับรองความถูกต้อง",value:"โทเค็น กุญแจ ลายเซ็น และรายการอนุญาต"},{param:"การตรวจสอบ",value:"บันทึกที่สมบูรณ์ของการเรียกภายนอกทั้งหมด"}]},{id:"s8",title:"1.8 เมตริกการใช้งานและการจัดการต้นทุน",type:"capabilities",items:[{label:"เมตริกต่อ JOB/STEP",detail:"การบันทึกและความพร้อมใช้งานโดยละเอียด"}
45,{label:"เมตริกต่อกล้อง/ช่องเสียง",detail:"การใช้งานส่วนบุคคลต่อแหล่งข้อมูล"},{label:"เมตริกต่อผู้ใช้/โปรไฟล์",detail:"การติดตามการใช้งานต่อผู้ปฏิบัติงาน"},{label:"การนับโทเค็นและคำขอ",detail:"ค่าประมาณและค่าจริงพร้อมเวลาแฝง"},{label:"ต้นทุนต่อมิติ",detail:"JOB กล้อง และผู้ใช้"},{label:"โควต้าและศูนย์ต้นทุน",detail:"รองรับโควต้าและการแยกตามแผนก"}]},{id:"s9",title:"1.9 ข้อกำหนดฮาร์ดแวร์",type:"params",params:[{param:"GPU",value:"ไม่จำเป็น — ทั้งสามแพลตฟอร์ม"},{param:"GPU (F.A.S.T.-AI)",value:"ใช้สำหรับการละเมิดบางประเภทที่ซับซ้อนและโซลูชัน SBC ป้องกันอุบัติเหตุทางหลวง"},{param:"ฮาร์ดแวร์เฉพาะ",value:"ไม่จำเป็น — บูรณาการกับโครงสร้างพื้นฐานที่มีอยู่"},{param:"กล้อง",value:"ไม่มีการเปลี่ยนทดแทน — เข้ากันได้กับอุปกรณ์ที่ติดตั้งใดก็ได้"},{param:"ระบบปฏิบัติการที่รองรับ",value:"Windows (ความเข้ากันได้เนทีฟ)"},{param:"การปรับใช้",value:"On-premises คลาวด์สาธารณะ/ส่วนตัว (ดินแดนแห่งชาติ) หรือไฮบริด"},{param:"การเปิดใช้งาน",value:"วัน ไม่ใช่เดือน — สามารถดำเนินการนำร่องได้ภายในสูงสุด 7 วันทำการ"}]},{id:"s10",title:"1.10 ความปลอดภัยของข้อมูล การกำกับดูแล และการคุ้มครองข้อมูล",type:"capabilities",items:[{label:"การควบคุมการเข้าถึง RBAC",detail:"การแยกหน้าที่และสิทธิ์ขั้นต่ำ"},{label:"เส้นทางการตรวจสอบที่สมบูรณ์",detail:"บันทึกการดำเนินงาน คำสั่ง การเปลี่ยนแปลงการกำหนดค่า และพรอมต์"},{label:"การคุ้มครองข้อมูล",detail:"ระหว่างการส่งและขณะพัก"},{label:"นโยบายการเก็บรักษาและการลบ",detail:"การใช้นามสกุล/การทำให้ไม่ระบุตัวตนเมื่อใช้ได้"},{label:"การจัดการโปรไฟล์การเข้าถึง",detail:"ข้อจำกัดการปฏิบัติงานตามระดับ"},{label:"การปฏิบัติตาม GDPR/LGPD",detail:"การลดขั้นต่ำ วัตถุประสงค์ ความจำเป็น และความรับผิดชอบ"},{label:"การจัดเก็บข้อมูลรับรอง",detail:"Windows Credential Manager/DPAPI หรือเทียบเท่า — ห้ามใช้ข้อความธรรมดา"}]},{id:"s11",title:"1.11 ความพร้อมใช้งานและความต่อเนื่องในการปฏิบัติงาน",type:"capabilities",items:[{label:"การดำเนินงาน 24×7",detail
45:"การตรวจสอบอย่างต่อเนื่องโดยไม่มีการหยุดชะงัก"},{label:"การกู้คืนอัตโนมัติ",detail:"ดำเนินการต่อหลังจากความล้มเหลวของสตรีมโดยไม่ต้องแทรกแซง"},{label:"ความยืดหยุ่นต่อการหยุดชะงักของการเชื่อมต่อ",detail:"การประมวลผลใหม่ของเนื้อหาที่บันทึก"},{label:"คิวและการประมวลผลใหม่",detail:"รับประกันความครอบคลุมโดยไม่มีช่องว่าง"},{label:"ความพร้อมใช้งานสูง",detail:"ความซ้ำซ้อน การจำลองแบบ และการปรับสมดุลโหลดเมื่อกำหนดค่า"}]},{id:"s12",title:"1.12 การบูรณาการกับเครือข่ายความร่วมมือส่วนตัว",de
45sc:"ความสามารถพิเศษของระบบนิเวศ AiQuimist: กล้องส่วนตัวของผู้ใช้อาสาสมัครมีส่วนร่วมในการค้นหาสาธารณะโดยอัตโนมัติ — โดยไม่ต้องส่งวิดีโอหรือเปิดพอร์ตเครือข่าย",type:"capabilities",items:[{label:"การแจกจ่ายฟรี",detail:"โซลูชัน Windows ที่สามารถแจกจ่ายให้กับผู้ใช้ส่วนตัวทั่วประเทศ"},{label:"กลไกการจับคู่",detail:"รหัสเปิดใช้งาน การเชื่อมโยงอุปกรณ์ และการเพิกถอน"},{label:"เฉพาะ Endpoint ที่ได้รับอนุญาต",detail:"เฉพาะ Endpoint ที่ได้รับอนุญาตเท่านั้นที่สามารถบริโภคหรือเผยแพร่ข้อมูล/เหตุการณ์"},{label:"การตรวจจับและการแจ้งเตือนในเครื่อง",detail:"การวิเคราะห์เกิดขึ้นบนคอมพิวเตอร์ของผู้ใช้ส่วนตัว"},{label:"การแจ้งเตือนการจับคู่",detail:"อัตโนมัติไปยังแพลตฟอร์มกลางเมื่อมีการจับคู่กับรายการเฝ้าระวัง"},{label:"การแจ้งเตือนที่มีโครงสร้าง",detail:"ภาพบุคคลพร้อมการซ้อนทับ วันที่/เวลา กล้อง ที่อยู่เต็ม GPS ระดับความเชื่อมั่น ตัวระบุ"},{label:"อัลกอริทึม Re-ID",detail:"การระบุตัวตนใหม่ และเมื่อใช้ได้และได้รับอนุญาต การจดจำใบหน้า"},{label:"การมีส่วนร่วมโดยสมัครใจ",detail:"ผู้ใช้ตัดสินใจว่าจะเปิดใช้งานความร่วมมือและกล้องใดที่จะมีส่วนร่วม"},{label:"ความเป็นส่วนตัวตามการออกแบบ",detail:"ไม่มีพอร์ตที่เปิดอยู่ ไม่มีสตรีมที่ส่งอย่างต่อเนื่อง"},{label:"การปฏิบัติตาม GDPR/LGPD อย่างสมบูรณ์",detail:"การวิเคราะห์ในเครื่อง แบ่งปันเฉพาะผลลัพธ์ที่เกี่ยวข้อง"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"ปัญญาเชิงสถาบันสำหรับการดำเนินงานสาธารณะและสภาพแวดล้อมที่สำคัญ",sections:[{title:"2.1 จุดเน้นและขอบเขตการดำเนินงาน",desc:"แพลตฟอร์มที่มุ่งเป้าไปที่ภาคสาธารณะ สถาบัน และองค์กรที่มีความสำคัญสูง ดำเนินการบนเครือข่ายกล้องขนาดใหญ่",type:"list",items:["เทศบาล รัฐบาลระดับรัฐและระดับสหพันธ์","ตำรวจ หน่วยรักษาเมือง และกระทรวงความมั่นคง","ศูนย์บัญชาการและควบคุมแบบบูรณาการ (CIOP)","เรือนจำและสถานที่กักขัง","สนามบิน ท่าเรือ และสถานีขนส่ง","ชายแดนและโครงสร้างพื้นฐานที่สำคัญของชาติ","รัฐวิสาหกิจและบริษัทเอกชนขนาดใหญ่ที่มีการดำเนินงานซับซ้อน","บริษัทเอกชนขนาดใหญ่: ธนาคาร โลจิสติกส์ และอื่นๆ"]},{title:"2.2 โครงสร้างพื้นฐานพิเศษ",type:"params",params:[{param:"ทำงานที่ไหน",value:"เซิร์ฟเวอร์ของลูกค้าเอง (on-premise)"},{param:"ความปลอดภัยของข้อมูล",value:"100% ภายใน — ไม่มีข้อมูลที่เปิดเผยต่ออินเทอร์เน็ต"},{param:"GPU",value:"ไม่จำเป็น"},{param:"เซิร์ฟเวอร์",value:"ทั่วไป — อุทิศสำหรับฐานข้อมูลและการอ่านกล้องพร้อมก
45ัน"},{param:"ขนาด",value:"เครือข่ายสถาบันขนาดใหญ่ — หลายสิบถึงหลายพันกล้อง"}]},{title:"2.3 การตรวจจับเฉพาะ",type:"list",items:["การเคลื่อนไหวที่น่าสงสัยในบริเวณรอบนอก ทางเข้า และสภาพแวดล้อมที่สำคัญ","พฤติกรรมที่ไม่สอดคล้องกับพื้นที่ที่ละเอียดอ่อน","การบุกรุกและความพยายามเข้าถึงที่ไม่ได้รับอนุญาต","ความขัดแย้งและสถานการณ์ความรุนแรง","ความพยายามหลบหนีในสถานที่กักขัง","การมีอยู่ของอาวุธ","การทิ้งวัตถุในสถานที่เสี่ยง","การเปลี่ยนแปลงกะทันหันในรูปแบบพฤติกรรม","การรวมตัวของบุคคลที่ผิดปกติในจุดสำคัญ","สถานการณ์อันตรายในสภาพแวดล้อมที่สำคัญ — สนามบิน ชายแดน เรือนจำ","เครื่องยนต์เวลา: ดำเนินการพรอมต์และระบบดำเนินต่อไปโดยไม่ต้องมีการแทรกแซงจากมนุษย์"]},{title:"2.4 การประสานงานเครือข่ายความร่วมมือ",type:"list",items:["เรียกใช้การค้นหาและการติดตามที่แพร่กระจายไปทั่วเครือข่ายความร่วมมือสาธารณะและส่วนตัว","รับการแจ้งเตือนอัตโนมัติจาก Perceptrum เมื่อมีการจับคู่กับรายการเฝ้าระวัง","ประสานงานการดำเนินงานแบบบูรณาการระหว่างพื้นที่สาธารณะ ถนน (F.A.S.T.) และส่วนตัว (Perceptrum)","รวมศูนย์การแจ้งเตือน หลักฐาน และบันทึกการติดตามจากเครือข่ายที่บูรณาการทั้งหมด"]},{title:"2.5 รูปแบบเชิงพาณิชย์",type:"params",params:[{param:"การออกใบอนุญาต",value:"สถาบัน — สัญญากับหน่วยงานสาธารณะหรือบริษัท"},{param:"การปรับใช้",value:"On-premise บนเซิร์ฟเวอร์ของลูกค้า"},{param:"การสนับสนุน",value:"รวมการเริ่มต้นใช้งานและการกำหนดค่า"},{param:"นำร่อง",value:"สามารถดำเนินการได้ภายในสูงสุด 7 วันทำการบนโครงสร้างพื้นฐานที่มีอยู่"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"ปัญญามัลติโมดัลสำหรับสภาพแวดล้อมส่วนตัว — จากบ้านสู่บริษัทขนาดใหญ่",sections:[{title:"2.6 จุดเน้นและขอบเขตการดำเนินงาน",desc:"แพลตฟอร์มที่มุ่งเป้าไปที่ภาคส่วนเอกชน การพาณิชย์ ที่อยู่อาศัย และคอนโดมิเนียม ทำให้การเข้าถึงปัญญาการตรวจสอบขั้นสูงเป็นประชาธิปไตย",type:"list",items:["ที่อยู่อาศัยและบ้าน","คอนโดมิเนียมและอาคารที่อยู่อาศัย/พาณิชย์","สถานประกอบการเชิงพาณิชย์ขนาดเล็กและขนาดกลาง","ห่วงโซ่ค้าปลีกและร้านค้า","ธนาคารและสถาบันการเงิน","ศูนย์การค้าและที่จอดรถ","โรงเรียนและมหาวิทยาลัยเอกชน","โรงพยาบาลและคลินิกเอกชน","คลังสินค้าและสิ่งอำนวยความสะดวกด้านโลจิสติกส์","ฟาร์มและอสังหาริมทรัพย์ในชนบท"]},{title:"2.7 โครงสร้างพื้นฐานพิเศษ",type:"params",params:[{param:"ทำงานที่ไหน",value:"คอมพิวเตอร์ส่วนตัวของผู้ใช้ (ที่บ้านหรือองค์กร)"},{param:"โปรเซสเซอร์ขั้นต่ำ",value:"Intel i5 หรือสูงกว่า"},{param:"GPU",value:"ไม่จำเป็น"},{param:"พื้นที่จัดเก็บข้อมูล",value:"พื้นที่ดิสก์สำหรับภาพชั่วคราวระหว่างการวิเคราะห์"}
45,{param:"DVR/NVR",value:"การอ่านเนทีฟสำหรับการค้นหาในการบันทึกก่อนหน้า"},{param:"การเปิดใช้งาน",value:"นาที — นำเข้ากล้องผ่าน CSV และเริ่มทันที"}]},{title:"2.8 การตรวจจับเฉพาะ",type:"list",items:["การเคลื่อนไหวนอกรูปแบบในเวลาหรือสถานที่ที่ผิดปกติ","การขโมย การปล้น และการทำร้าย — พฤติกรรมการฉกชิงที่เป็นแบบฉบับ","การมีอยู่ที่ไม่เหมาะสมในพื้นที่จำกัด","ความเสี่ยงบริเวณรอบนอกและความพยายามบุกรุก","การขอความช่วยเหลือ — ท่าทางและพฤติกรรมการช่วยเหลือ","การทิ้งวัตถุที่น่าสงสัย","ความผิดปกติในการดำเนินงานในกระบวนการ (โลจิสติกส์ สินค้าคงคลัง การส่งมอบ)","การตรวจสอบกระบวนการอัตโนมัติ: ยานพาหนะ ป้ายทะเบียน ผู้ส่งมอบ การนับปริมาณ","เหตุการณ์ที่กำหนดค่าได้ตามประเภทสภาพแวดล้อม — โปรไฟล์ของแต่ละสิ่งอำนวยความสะดวก","การค้นหาผู้ละเมิดคำสั่งคุ้มครอง (คำสั่งห้ามเข้าใกล้ ฯลฯ)"]},{title:"2.9 ความร่วมมือโดยสมัครใจ (พิเศษ Perceptrum)",type:"list",items:["ธงความร่วมมือโดยสมัครใจ — เจ้าของตัดสินใจว่าจะเปิดใช้งานและกล้องใดที่จะมีส่วนร่วม","เมื่อเปิดใช้งาน: กล้องมีส่วนร่วมในการค้นหาที่เผยแพร่โดย Perceptrum Corporate หรือ F.A.S.T.-AI","การวิเคราะห์ที่ดำเนินการในเครื่อง — บนคอมพิวเตอร์ของผู้ใช้ส่วนตัวเอง","ไม่มีสตรีมวิดีโอที่ส่งอย่างต่อเนื่องไปยังศูนย์สาธารณะ","ไม่มีพอร์ตเครือข่ายที่เปิดอยู่ภายนอก","เฉพาะผลลัพธ์ (การจับคู่) เท่านั้นที่ส่งไปยังศูนย์ — ไม่ใช่ภาพ","การแจ้งเตือนประกอบด้วย: ภาพบุคคลพร้อมการซ้อนทับ วันที่/เวลา กล้อง ที่อยู่ GPS ระดับความเชื่อมั่น","การมีส่วนร่วมที่สามารถเพิกถอนได้ทุกเมื่อโดยเจ้าของ","การปฏิบัติตาม GDPR/LGPD อย่างสมบูรณ์ — การคุ้มครองความเป็นส่วนตัวตามการออกแบบสถาปัตยกรรม"]},{title:"2.10 รูปแบบเชิงพาณิชย์",type:"params",params:[{param:"เวอร์ชันฟรี",value:"ฟังก์ชันการตรวจสอบพื้นฐาน — ฟรี ไม่ต้องใช้บัตรเครดิต"},{param:"เวอร์ชันพรีเมียม",value:"การเข้าถึงเต็มรูปแบบ — ใบอนุญาตรายเดือนที่เข้าถึงได้"},{param:"ความร่วมมือสาธารณะ",value:"ฟรีสำหรับผู้ใช้ส่วนตัว — หน่วยงานสาธารณะจ่ายต่อการสอบถาม"},{param:"ค่าใช้จ่ายของรัฐ",value:"สตางค์ต่อการค้นหา — จ่ายเฉพาะเมื่อเปิดใช้งานการค้นหา"},{param:"การแจกจ่าย",value:"สามารถแจกจ่ายให้กับผู้ใช้ส่วนตัวทั่วประเทศ"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"ปัญญาเชิงดินแดน ความคล่องตัว และการตีความพื้นที่เมืองแบบไดนามิก",sections:[{title:"2.11 จุดเน้นและขอบเขตการดำเนินงาน",desc:"แพลตฟอร์มที่มุ่งเป้าไปที่ความคล่องตัว การจราจร การวางผังเมือง และการตีความดินแดนแบบไดนามิก",type:"list",items:["กรมจราจรและการเคลื่อนย้ายเทศบาล","ศูนย์ปฏิบัติการเมือง (COU)","กรมโยธาธิการและผังเมือง","หน่วยงานบังคับใช้กฎจราจร","ผู้จัดการกิจกรรมสาธารณะขนาดใหญ่","ผู้ดำเนินการทางหลวงและที่จอดรถ","กองกำลังความมั่นคงสาธารณะ — การติดตามยานพาหนะและการดำเนินงานถนน"]},{title:"2.12 โครงสร้างพื้นฐานพิเศษ",type:"params",params:[{param:"ทำงานที่ไหน",value:"เซิร์ฟเวอร์ของบริษัทที่รับผิดชอบด้านการจราจรและผังเมือง"},{param:"GPU",value:"ไม่จำเป็น (ยกเว้นการวิเคราะห์การละเมิดที่ซับซ้อนและ SBC ป้องกันอุบัติเหตุทางหลวง)"},{param:"พื้นที่จัดเก็บข้อมูล",value:"ต่ำ — อ่านโดยตรงจาก NAS, DVR, NVR หรือสตรีมมิ่งที่มีอยู่"},{param:"แหล่งข้อมูลที่เข้ากันได้",value:"กล้องสาธารณะถนน ไฟจราจร เรดาร์คงที่และเคลื่อนที่ — มาตรฐานใดก็ได้"},{param:"ขนาด",value:"เครือข่ายถนนในเมืองทั้งหมด — ย่าน ทางเดิน เมือง"}]},{title:"2.13 การตรวจจับเฉพาะ",type:"list",items:["การละเมิดกฎจราจร — การสร้างค่าปรับอัตโนมัติพร้อมหลักฐาน","อุบัติเหตุและการชนคนเดินถนน — การตรวจจับและแจ้งเตือนทันที","การก่อตัวของการจราจรติดขัด — การตรวจจับล่วงหน้าก่อนที่จะพัง","การปิดกั้นถนนและการเบี่ยงทาง","การครอบครองพื้นที่สาธารณะที่ไม่ปกติ","เหตุการณ์ที่ผิดปกติที่ส่งผลต่อความคล่องตัวในเมือง","ความเสี่ยงในการดำเนินงานบนถนนและพื้นที่เชิงกลยุทธ์","รูปแบบการไหล เขตสำคัญ และการเà¸
45à¸´à¸”ซ้ำ","การติดตามยานพาหนะที่น่าสงสัย — ป้ายทะเบียน รุ่น สี เส้นทาง","ความเข้มข้นและความหนาแน่นของบุคคลบนถนนและพื้นที่สาธารณะ","การไล่ตามอัตโนมัติหากผู้ปฏิบัติงานร้องขอ"]},{title:"2.14 ปัญญาเชิงดินแดน (พิเศษ F.A.S.T.-AI)",type:"list",items:["การวิเคราะห์รูปแบบการไหลของยานพาหนะและคนเดินถนนตามชั่วโมง วัน และเขต","การระบุเขตสำคัญและการเกิดซ้ำของเหตุการณ์","การสนับสนุนการตัดสินใจวางแผนถนนและเมืองด้วยข้อมูลจริง","แดชบอร์ดการจัดการดินแดนแบบเรียลไทม์สำหรับรัฐมนตรีและผู้จัดการ","การสนับสนุนการจัดการกิจกรรมขนาดใหญ่ — ความหนาแน่น การไหล ความเสี่ยงจากฝูงชน","การสร้างข้อมูลเชิงกลยุทธ์อย่างต่อเนื่องเกี่ยวกับพฤติกรรมดินแดน"]},{title:"2.15 รูปแบบเชิงพาณิชย์",type:"params",params:[{param:"การออกใบอนุญาต",value:"เทศบาล/รัฐ — สัญญากับหน่วยงานสาธารณะด้านการเคลื่อนย้ายหรือความมั่นคง"},{param:"การปรับใช้",value:"เซิร์ฟเวอร์เทศบาลหรือผู้ดำเนินการ — บนโครงสร้างพื้นฐานที่มีอยู่"},{param:"ROI โดยตรง",value:"รายได้จากค่าปรับอัตโนมัติเกินค่าใช้จ่ายแพลตฟอร์ม"},{param:"นำร่อง",value:"สามารถดำเนินการได้ภายในสูงสุด 7 วันทำการบนกล้องสาธารณะที่มีอยู่"}]}]}],comparison:{title:"สรุปการเปรียบเทียบสามแพลตฟอร์ม",rows:[{feature:"จุดเน้นหลัก",drakon:"ภาคสาธารณะและภารกิจสำคัญ",perceptrum:"ภาคเอกชนและที่อยู่อาศัย",fast:"การจราจรและผังเมือง"},{feature:"ทำงานที่ไหน",drakon:"เซิร์ฟเวอร์ลูกค้า (on-premise)",perceptrum:"คอมพิวเตอร์ส่วนตัว (i5+)",fast:"เซิร์ฟเวอร์เทศบาล/ผู้ดำเนินการ"},{feature:"ต้องการ GPU",drakon:"❌ ไม่",perceptrum:"❌ ไม่",fast:"❌ ไม่ (ยกเว้น SBC)"},{feature:"การเปลี่ยนกล้อง",drakon:"❌ ไม่จำเป็น",perceptrum:"❌ ไม่จำเป็น",fast:"❌ ไม่จำเป็น"},{feature:"การวิเคราะห์สด (24/7)",drakon:"✅ ใช่",perceptrum:"✅ ใช่",fast:"✅ ใช่"},{feature:"การประมวลผลหลังการบันทึก",drakon:"✅ ใช่ (DVR/NVR/NAS)",perceptrum:"✅ ใช่ (DVR/NVR/NAS)",fast:"✅ ใช่ (DVR/NVR/NAS)"},{feature:"JOB ภาษาธรรมชาติ",drakon:"✅ ใช่",perceptrum:"✅ ใช่",fast:"✅ ใช่"},{feature:"การบูรณาการ API/Webhook",drakon:"✅ ใช่",perceptrum:"✅ ใช่",fast:"✅ ใช่"},{feature:"การติดตามหลายกล้อง",drakon:"✅ ใช่",perceptrum:"✅ ใช่",fast:"✅ ใช่"},{feature:"เครือข่ายความร่วมมือส่วนตัว",drakon:"✅ ประสานงานการค้นหา",perceptrum:"✅ มีส่วนร่วม (สมัครใจ)",fast:"✅ ประสานงานการค้นหาถนน"},{feature:"เวอร์ชันฟรีพร้อมใช้งาน",drakon:"❌ ไม่",perceptrum:"✅ ใช่ (พื้นฐาน)",fast:"❌ ไม่"},{feature:"PoC พร้อมใช้งาน",drakon:"✅ ใช่",perceptrum:"❌ ไม่",fast:"✅ ใช่"},{feature:"ค่าปรับอัตโนมัติ",drakon:"❌ ไม่ใช่จุดเน้น",perceptrum:"❌ ไม่ใช่จุดเน้น",fast:"✅ ใช่ — การสร้างอัตโนมัติ"},{feature:"ปัญญาเชิงดินแดน",drakon:"à¸
45à¸²à¸£à¸”ำเนินงานเชิงสถาบัน",perceptrum:"การดำเนินงานส่วนตัว",fast:"✅ เชิงดินแดนและเมือง"},{feature:"การปฏิบัติตาม GDPR/LGPD",drakon:"✅ ใช่",perceptrum:"✅ ใช่ (ตามการออกแบบ)",fast:"✅ ใช่"},{feature:"เวลาเปิดใช้งานนำร่อง",drakon:"สูงสุด 7 วันทำการ",perceptrum:"นาที",fast:"สูงสุด 7 วันทำการ"}]}},fa:{hero:{badge:"مشخصات فنی",title:"مشخصات فنی",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"سند فنی ساختاریافته برای فرآیندهای ارزیابی، تدارکات و یکپارچه‌سازی. تمام مشخصات هر سه پلتفرم AiQuimist — عملکردهای مشترک و تمایزات انحصاری.",part1:"بخش Û± — مشخصات اصلی",part1sub:"عملکردهای موجود در هر سه پلتفرم",part2:"بخش Û² — مشخصات انحصاری",part2sub:"تمایزات خاص هر محصول",part3:"خلاصه مقایسه‌ای"},copy:"کپی جدول",copied:"کپی شد!",yes:"✅ بله",no:"❌ خیر",feature:"ویژگی",capacity:"ظرفیت",detail:"جزئیات",param:"پارامتر",value:"مقدار",sections:[{id:"s1",title:"Û±.Û± موتور هوش مصنوعی — تفسیر چندوجهی جهانی",desc:"پلتفرم AiQuimist به طور همزمان ویدیو، صدا، متن و تصویر را تحلیل می‌کند تا زمینه واقعی را استخراج و موقعیت‌های مرتبط را شناسایی کند.",type:"capabilities",items:[{label:"🎥 ویدیو",detail:"تحلیل بلادرنگ دوربین‌های زنده و ضبط‌ها. صحنه‌ها، اشیاء، رفتارها، حرکت‌ها و الگوها را تشخیص می‌دهد."},{label:"🔊 صدا",detail:"تشخیص گفتار، کلمات کلیدی، الگوهای معنایی، لحن صدا، فوریت، درگیری و صداهای مورد علاقه قابل پیکربندی."},{label:"📄 متن و تصویر",detail:"آپلود و تحلیل فایل (ویدیو، تصویر، صدا، متن). استخراج شواهد، ابرداده و همبستگی بین منابع."},{label:"پردازش زمانی بومی",detail:"روانی حرکت را تحلیل می‌کند، نه فقط فریم‌های منفرد"},{label:"پنجره زمینه بزرگ",detail:"حافظه دوره‌های طولانی ویدیو/صدا را برای همبستگی رویدادها حفظ می‌کند"},{label:"تحلیل بلادرنگ (زنده)",detail:"جریان‌های دوربین و کانال‌های صوتی ۲۴×۷"},{label:"پس‌پردازش",detail:"معیارهای یکسان تشخیص برای فایل‌ها و ضبط‌ها: NVR، DVR، NAS"},{label:"آپلود فایل دیجیتال",detail:"ویدیو، تصویر، صدا و متن برای تحلیل چندوجهی همبسته"},{label:"شناسایی حالت احساسی",detail:"خواندن زبان بدن، لحن صدا و سیگنال‌های رفتاری"},{label:"انتزاع ارائه‌دهنده هوش مصنوعی",detail:"نقاط انتهایی، اعتبارنامه‌ها و محدودیت‌های قابل پیکربندی؛ تغییر ارائه‌دهنده با کمترین تأثیر"}]},{id:"s2",title:"Û±.Û² ورودی دوربین و منابع",type:"mixed",items:[{label:"سازگاری جهانی",detail:"هر دوربینی، صرف نظر از برند، سازنده، مدل یا نسل"},{label:"آنالوگ و دیجیتال",detail:"نیازی به تعویض سخت‌افزار نیست"},{label:"پروتکل اصلی",detail:"RTSP، ONVIF و روش‌های معادل HTTP/فایل"},{label:"DVR / NVR / NAS",detail:"خواندن تجهیزات از پیش نصب‌شده در مشتری"}
45,{label:"وارد کردن انبوه",detail:"Excel یا CSV با ابرداده‌های دوربین (IP، سازنده، کاربر، رمز عبور، پورت و غیره)"},{label:"عملیات مستقل",detail:"کاملاً محلی از طریق شبکه داخلی — بدون افشای جریان به اینترنت"},{label:"امنیت شبکه",detail:"بدون باز کردن پورت برای دسترسی از راه دور، بدون پیکربندی تونل/NAT"},{label:"مقیاس‌پذیری",detail:"۱ تا N دوربین/کانال صوتی به صورت موازی"},{label:"در دسترس بودن جریان",detail:"نظارت و بازیابی خودکار پس از خرابی‌ها"}]},{id:"s3",title:"۱.۳ هماهنگی وظایف — JOB / STEP",desc:"سیستم اتوماسیون هوشمند که اپراتورهای انسانی را در روتین‌های نظارت جایگزین می‌کند. از طریق درخواست‌های زبان طبیعی ایجاد می‌شود — بدون کدنویسی یا برنامه‌نویسی.",type:"capabilities",items:[{label:"JOB (وظیفه)",detail
45:"واحد نظارتی که ۱ یا N دوربین/کانال می‌خواند و بر اساس شرایط تعریف‌شده عمل می‌کند"},{label:"STEP (مرحله)",detail:"هر JOB از چندین مرحله زنجیره‌ای تشکیل شده؛ نتیجه یک دوربین (خروجی) به دوربین بعدی (ورودی) تغذیه می‌شود"},{label:"چندین منبع در هر مرحله",detail:"هر STEP می‌تواند ۱ یا چند دوربین و/یا ۱ یا چند کانال صوتی را فعال کند"},{label:"زنجیره‌سازی هوشمند",detail:"وابستگی شناختی بین مراحل؛ جریان بر اساس نتیجه قبلی تغییر می‌کند"},{label:"تصمیم‌گیری شرطی بومی",detail:"انشعاب، وقفه، تکرار یا تشدید بر اساس نتیجه واقعی"},{label:"درخواست در هر کانال",detail:"هر دوربین یا کانال صوتی درخواست خاصی در همان JOB دریافت می‌کند"},{label:"برنامه‌ریزی",detail:"اجرا در تاریخ‌ها و ساعات برنامه‌ریزی‌شده با مدت تعریف‌شده یا پیوسته"},{label:"فعال‌سازی/غیرفعال‌سازی فوری",detail:"نیازی به پیکربندی مجدد نیست"},{label:"نسخه‌بندی وظایف",detail:"تاریخچه پیکربندی و درخواست"},{label:"ایجاد توسط کاربران غیرفنی",detail:"اپراتوران بدون دانش فنی از طریق رابط عامل هوشمند JOB کامل ایجاد می‌کنند"}],params:[{param:"ایجاد JOB",value:"زبان طبیعی (متن یا صدا) — بدون کد"},{param:"زنجیره‌سازی",value:"STEP N از نتیجه شناختی STEP N-1 استفاده می‌کند"},{param:"منابع در هر STEP",value:"۱ یا چند دوربین + ۱ یا چند کانال صوتی"},{param:"برنامه‌ریزی",value:"تاریخ، ساعت، مدت و تکرار قابل پیکربندی"}]},{id:"s4",title:"۱.۴ قابلیت‌های تشخیص و طبقه‌بندی",type:"grouped",groups:[{label:"تشخیص مبتنی بر ویدیو (بینایی کامپیوتر / چندوجهی)",items:["شناسایی موقعیت‌ها و اقدامات مرتبط بر اساس درخواست‌های پیکربندی‌شده","تشخیص افراد مورد علاقه — فهرست مراقبت با ارتباط خودکار رویداد","شمارش افراد با محرک‌های شرطی (بیشتر از X / کمتر از X / دقیقاً X)","ردیابی ۱ یا چند فرد/وسیله نقلیه در طول زمان","ردیابی چند دوربین با شناسایی مجدد — حرکت بین دوربین‌های A → N → B را دنبال می‌کند","تشخیص انحراف از مسیر و نقض مسیر مورد انتظار","خواندن پلاک، تابلو و محتوای متنی قابل مشاهده در دوربین","شناسایی حرکات دست قابل پیکربندی و حرکات زبان اشاره (وقتی در درخواست تعریف شده)","تشخیص حالت احساسی و زبان بدن قبل از درگیری"]},{label:"تشخیص مبتنی بر صدا (گفتار / صداها / چندوجهی)",items:["تحلیل صدای بلادرنگ و ضبط‌شده با رونویسی (STT) در صورت کاربرد","تفکیک گوینده — جدا کردن و شناسایی گوینده با خلاصه هر گوینده و خلاصه کل مکالمه","تشخیص کلمات کلیدی گفتاری بر اساس پارامترسازی","تشخیص عبارات و الگوهای معنایی قابل پیکربندی","تشخیص الگوهای گفتاری نشانه‌دهنده وقوع — فوریت، درگیری، تکرار","برجسته کردن بخش‌های مرتبط برای حسابرسی"]},{label:"سیستم هشدار",items:["هشدار شرط برآورده‌شده — مثال: 'گروه X نفری در نقطه A شناسایی شد'","هشدار شرط برآورده‌نشده — مثال: 'فرد در زمان T از دوربین Y عبور نکرد'","هشدارهای با منطق توالی مراحل — جریان کار چند نقطه‌ای قابل پیکربندی","محرک‌ها، پنجره‌های زمانی و معیارهای همبستگی قابل پیکربندی","سطوح شدت، گیرندگان و کانال‌های اعلان قابل پیکربندی","شواهد پیوست به هشدارها — فریم‌ها، کلیپ‌های ویدیو، بخش‌های صوتی","ثبت چرخه حیات هشدار — تولید، ارسال، دریافت و بسته شدن"]}]},{id:"s5",title:"۱.۵ زمینه‌سازی و تولید شواهد",type:"capabilities",items:[{label:"توضیح زمینه خودکار",detail
45:"برای هر رویداد تشخیص‌داده‌شده به زبان طبیعی تولید می‌شود"},{label:"ابرداده ساختاریافته",detail:"منبع، تاریخ/زمان، موقعیت منطقی، نوع رویداد، شدت"},{label:"همبستگی خودکار",detail:"همان فرد، همان منطقه، همان بازه زمانی — بین چندین منبع"},{label:"استخراج شواهد",detail:"فریم‌ها، کلیپ‌های ویدیو، بخش‌های صوتی، متن تشخیص‌داده‌شده"},{label:"ردیابی‌پذیری استنتاج",detail:"گزارش‌ها و حسابرسی تمام تشخیص‌ها"},{label:"گزارش‌های عملیاتی",detail:"مسیر حسابرسی کامل"}]},{id:"s6",title:"۱.۶ عملکرد با زبان طبیعی",desc:"هر اپراتوری — بدون آموزش فنی — می‌تواند با استفاده از متن یا صدا JOB کامل ایجاد، پیکربندی و اجرا کند. بدون برنامه‌نویسی، اسکریپت یا ابزارهای خارجی.",type:"capabilities",items:[{label:"پرس‌وجوهای زبان طبیعی",detail:"سؤالات با پاسخ‌های زمینه‌ای"},{label:"دستورات متن و صدا",detail:"ایجاد، ویرایش و فعال‌سازی وظایف"},{label:"پیکربندی کامل از طریق درخواست",detail:"نظارت، هشدارها، محرک‌ها و گیرندگان"},{label:"کنترل‌های حاکمیتی",detail:"تأیید برای اقدامات حیاتی، محدودیت‌ها بر اساس پروفایل"},{label:"مسیر حسابرسی",detail:"ثبت تمام دستورات و تغییرات"}]},{id:"s7",title:"۱.۷ یکپارچه‌سازی‌های خارجی — API و Webhook",type:"capabilities",items:[{label:"راه‌اندازی خودکار Webhook",detail:"فراخوانی‌های API خارجی بر اساس شرایط تعریف‌شده"},{label:"پیکربندی اپراتور غیرفنی",detail:"از طریق درخواست زبان طبیعی"},{label:"بارگذاری ساختاریافته",detail:"ابرداده و شواهد در JSON"},{label:"احراز هویت در فراخوانی‌های خارجی",detail:"توکن‌ها، کلیدها، امضاها و فهرست‌های مجاز"},{label:"حسابرسی درخواست",detail:"گزارش کامل تمام فراخوانی‌های خارجی"},{label:"مدیریت خرابی",detail:"تلاش مجدد، صف‌ها و گزارش‌ها"},{label:"قابلیت همکاری",detail:"داشبوردها، پیام‌رسانی، ثبت و سیستم‌های مدیریت"}],params:[{param:"پروتکل",value:"REST API + Webhooks"},{param:"بارگذاری",value:"JSON ساختاریافته با ابرداده، شواهد و زمینه"},{param:"احراز هویت",value:"توکن‌ها، کلیدها، امضاها و فهرست‌های مجاز"},{param:"حسابرسی",value:"گزارش کامل تمام فراخوانی‌های خارجی"}]},{id:"s8",title:"۱.۸ معیارهای مصرف و مدیریت هزینه",type:"capabilities",items:[{label:"معیارها به ازای JOB/STEP",detail:"ثبت و در دسترس بودن دقیق"},{label:"معیارها به ازای دوربین/کانال صوتی",detail:"مصرف فردی به ازای منبع"},{label:"معیارها به ازای کاربر/پروفایل",detail:"ردیابی استفاده به ازای اپراتور"},{label:"شمارش توکن و درخواست",detail:"مقادیر تخمینی و واقعی با تأخیر"},{label:"هزینه‌ها به ازای بُعد",detail:"JOB، دوربین و کاربر"},{label:"سهمیه‌ها و مراکز هزینه",detail:"پشتیبانی از سهمیه‌ها و تفکیک بر اساس بخش"}]},{id:"s9",title:"۱.۹ نیازمندی‌های سخت‌افزاری",type:"params",params:[{param:"GPU",value:"لازم نیست — هیچ‌کدام از سه پلتفرم"},{param:"GPU (F.A.S.T.-AI)",value:"برای برخی تخلفات پیچیده و راه‌حل SBC پیشگیری از تصادف در بزرگراه استفاده می‌شود"},{param:"سخت‌افزار اختصاصی",value:"لازم نیست — با زیرساخت موجود یکپارچه می‌شود"},{param:"دوربین‌ها",value:"بدون جایگزینی — با هر تجهیزات نصب‌شده‌ای سازگار است"},{param:"سیستم‌عامل پشتیبانی‌شده",value:"Windows (سازگاری بومی)"},{param:"استقرار",value:"درون‌سازمانی، ابر عمومی/خصوصی (قلمرو ملی) یا ترکیبی"},{param:"فعال‌سازی",value:"روز نه ماه — پایلوت در حداکثر ۷ روز کاری قابل اجراست"}]},{id:"s10",title:"۱.۱۰ امنیت اطلاعات، حاکمیت و حفاظت از داده",type:"capabilities",items:[{label:"کنترل دسترسی RBAC",detail
45:"تفکیک وظایف و حداقل امتیاز"},{label:"مسیرهای حسابرسی کامل",detail:"گزارش‌های عملیاتی، دستوری، تغییر پیکربندی و درخواست"},{label:"حفاظت از داده",detail:"در حین انتقال و در حالت استراحت"},{label:"سیاست‌های نگهداری و حذف",detail:"کنام‌گذاری/ناشناس‌سازی در صورت کاربرد"},{label:"مدیریت پروفایل دسترسی",detail:"محدودیت‌های عملیاتی بر اساس سطح"},{label:"انطباق با GDPR/LGPD",detail:"به حداقل رساندن، هدف، ضرورت و پاسخگویی"},{label:"ذخیره‌سازی اعتبارنامه",detail:"Windows Credential Manager/DPAPI یا معادل — متن ساده ممنوع است"}]},{id:"s11",title:"Û±.Û±Û± در دسترس بودن و تداوم عملیاتی",type:"capabilities",items:[{label:"عملکرد ۲۴×۷",detail:"نظارت مستمر بدون وقفه"},{label:"بازیابی خودکار",detail:"ادامه پس از خرابی جریان بدون مداخله"},{label:"انعطاف‌پذیری در برابر قطعی اتصال",detail:"پردازش مجدد محتوای ضبط‌شده"},{label:"صف‌ها و پردازش مجدد",detail:"تضمین پوشش بدون شکاف"},{label:"دسترس‌پذیری بالا",detail:"افزونگی، تکرار و توازن بار در صورت پیکربندی"}]},{id:"s12",title:"Û±.Û±Û² یکپارچه‌سازی با شبکه همکاری خصوصی",desc:"قابلیت انحصاری اکوسیستم AiQuimist: دوربین‌های خصوصی کاربران داوطلب به طور خودکار در جستجوهای عمومی شرکت می‌کنند — بدون انتقال ویدیو، بدون باز کردن پورت شبکه.",type:"capabilities",items:[{label:"توزیع رایگان",detail:"راه‌حل Windows قابل توزیع برای کاربران خصوصی در سراسر کشور"},{label:"مکانیسم جفت‌سازی",detail:"کد فعال‌سازی، پیوند دستگاه و لغو"},{label:"فقط نقاط انتهایی مجاز",detail:"فقط نقاط انتهایی مجاز می‌توانند داده/رویدادها را مصرف یا منتشر کنند"},{label:"تشخیص و اعلان محلی",detail:"تحلیل در رایانه کاربر خصوصی انجام می‌شود"},{label:"اعلان تطابق",detail:"به طور خودکار به پلتفرم مرکزی در صورت تطابق با فهرست مراقبت"},{label:"هشدار ساختاریافته",detail:"تصویر فرد با پوشش، تاریخ/زمان، دوربین، آدرس کامل، GPS، سطح اطمینان، شناسه"},{label:"الگوریتم‌های Re-ID",detail:"شناسایی مجدد و در صورت کاربرد و مجاز بودن، تشخیص چهره"},{label:"مشارکت داوطلبانه",detail:"کاربر تصمیم می‌گیرد همکاری را فعال کند یا نه و کدام دوربین‌ها شرکت کنند"},{label:"حریم خصوصی بر اساس طراحی",detail:"بدون پورت باز، بدون جریان منتقل‌شده به طور مستمر"},{label:"انطباق کامل با GDPR/LGPD",detail:"تحلیل محلی، اشتراک‌گذاری فقط نتیجه مرتبط"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"هوش نهادی برای عملیات عمومی و محیط‌های ماموریت حیاتی",sections:[{title:"Û².Û± تمرکز و محدوده عملیاتی",desc:"پلتفرم متمرکز بر بخش دولتی، نهادی و شرکتی با اهمیت بالا. روی شبکه‌های دوربین مقیاس بزرگ عمل می‌کند.",type:"list",items:["شهرداری‌ها، دولت‌های استانی و فدرال","پلیس، گارد شهری و وزارت امنیت","مراکز فرماندهی و کنترل یکپارچه (CIOP)","زندان‌ها و مراکز بازداشت","فرودگاه‌ها، بنادر و پایانه‌ها","مرزها و زیرساخت‌های حیاتی ملی","شرکت‌های دولتی و شرکت‌های خصوصی بزرگ با عملیات پیچیده","شرکت‌های خصوصی بزرگ: بانک‌ها، لجستیک و غیره"]},{title:"Û².Û² زیرساخت انحصاری",type:"params",params:[{param:"محل اجرا",value:"سرورهای خود مشتری (درون‌سازمانی)"},{param:"امنیت داده",value:"Û±Û°Û°Ùª داخلی — هیچ اطلاعاتی در معرض اینترنت نیست"},{param:"GPU",value:"لازم نیست"},{param:"سرورها",value:"معمولی — اختصاص‌یافته برای پایگاه داده و خواندن همزمان دوربین"},{param:"مقیاس",value:"شبکه‌های نهادی مقیاس بزرگ — ده‌ها تا هزاران دوربین"}]},{title:"Û².Û³ تشخیص‌های خاص",type:"list",items:["حرکات مشکوک در محیط، ورودی‌ها و محیط‌های حیاتی","رفتارهای ناسازگار با مناطق حساس","نفوذ و تلاش برای دسترسی غیرمجاز","درگیری‌ها و موقعیت‌های خشونت","تلاش برای فرار در مراکز بازداشت","حضور سلاح","ترک اشیاء در مکان‌های پرخطر","تغییرات ناگهانی در الگوهای رفتاری","تراکم غیرعادی افراد در نقاط حیاتی","موقعیت‌های خطرناک در محیط‌های ماموریت حیاتی — فرودگاه‌ها، مرزها، زندان‌ها","موتور زمانی: درخواست را اجرا می‌کند و سیستم بدون مداخله انسانی ادامه می‌دهد"]},{title:"Û².Û´ هماهنگی شبکه همکاری",type:"list",items:["جستجوها و ردیابی‌هایی را راه‌اندازی می‌کند که در سراسر شبکه همکاری عمومی و خصوصی منتشر می‌شوند","هنگام تطابق با فهرست مراقبت، اعلان‌های خودکار از Perceptrum دریافت می‌کند","عملیات یکپارچه بین فضای عمومی، جاده (F.A.S.T.) و خصوصی (Perceptrum) را هماهنگ می‌کند","هشدارها، شواهد و سوابق ردیابی از کل شبکه یکپارچه را متمرکز می‌کند"]},{title:"Û².Ûµ مدل تجاری",type:"params",params:[{param:"صدور مجوز",value:"نهادی — قرارداد با سازمان دولتی یا شرکت"},{param:"استقرار",value:"درون‌سازمانی روی سرورهای مشتری"},{param:"پشتیبانی",value:"ورود به سیستم و پیکربندی شامل است"},{param:"پایلوت",value:"در حداکثر Û· روز کاری روی زیرساخت موجود قابل اجراست"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"هوش چندوجهی برای محیط خصوصی — از خانه تا شرکت بزرگ",sections:[{title:"Û².Û¶ تمرکز و محدوده عملیاتی",desc:"پلتفرم متمرکز بر بخش خصوصی، تجاری، مسکونی و آپارتمانی. دسترسی به هوش نظارت پیشرفته را دموکراتیک می‌کند.",type:"list",items:["مسکن و خانه‌ها","آپارتمان‌ها و ساختمان‌های مسکونی/تجاری","فضاهای تجاری کوچک و متوسط","زنجیره‌های خرده‌فروشی و فروشگاه‌ها","بانک‌ها و مؤسسات مالی","مراکز خرید و پارکینگ‌ها","مدارس و دانشگاه‌های خصوصی","بیمارستان‌ها و کلینیک‌های خصوصی","انبارها و تØ
45³Ù‡ÛŒÙ„ات لجستیکی","مزارع و ملک‌های روستایی"]},{title:"Û².Û· زیرساخت انحصاری",type:"params",params:[{param:"محل اجرا",value:"رایانه شخصی کاربر (خانگی یا شرکتی)"},{param:"حداقل پردازنده",value:"Intel i5 یا بالاتر"},{param:"GPU",value:"لازم نیست"},{param:"ذخیره‌سازی",value:"فضای دیسک برای تصاویر موقت در حین تحلیل"},{param:"DVR/NVR",value:"خواندن بومی برای جستجو در ضبط‌های قبلی"},{param:"فعال‌سازی",value:"دقیقه — وارد کردن دوربین از طریق CSV و شروع فوری"}]},{title:"Û².Û¸ تشخیص‌های خاص",type:"list",items:["حرکات خارج از الگو در ساعات یا مکان‌های غیرمعمول","سرقت، دزدی و حمله — رفتارهای معمول ربودن","حضور نامناسب در مناطق محدود","خطر محیطی و تلاش برای نفوذ","درخواست کمک — اشارات و رفتارهای کمک‌خواهی","ترک اشیاء مشکوک","ناهنجاری‌های عملیاتی در فرآیندها (لجستیک، موجودی، تحویل)","تأیید فرآیند خودکار: وسیله نقلیه، پلاک، پیک، شمارش حجم","رویدادهای قابل پیکربندی بر اساس نوع محیط — پروفایل هر تأسیسات","یافتن ناقض دستور حمایتی (دستور ممنوعیت تماس و غیره)"]},{title:"Û².Û¹ همکاری داوطلبانه (انحصاری Perceptrum)",type:"list",items:["پرچم همکاری داوطلبانه — مالک تصمیم می‌گیرد فعال کند و کدام دوربین‌ها شرکت کنند","هنگام فعال بودن: دوربین در جستجوهای منتشرشده توسط Perceptrum Corporate یا F.A.S.T.-AI شرکت می‌کند","تحلیل به صورت محلی اجرا می‌شود — روی رایانه خود کاربر خصوصی","هیچ جریان ویدیویی به طور مستمر به مرکز عمومی ارسال نمی‌شود","هیچ پورت شبکه‌ای به بیرون باز نیست","فقط نتیجه (تطابق) به مرکز ارسال می‌شود — نه تصاویر","هشدار شامل: تصویر فرد با پوشش، تاریخ/زمان، دوربین، آدرس، GPS، سطح اطمینان","مشارکتی که مالک در هر زمانی می‌تواند آن را لغو کند","انطباق کامل با GDPR/LGPD — حفاظت از حریم خصوصی بر اساس طراحی معماری"]},{title:"Û².Û±Û° مدل تجاری",type:"params",params:[{param:"نسخه رایگان",value:"عملکردهای نظارت اساسی — رایگان، بدون کارت اعتباری"},{param:"نسخه پریمیوم",value:"دسترسی کامل — مجوز ماهانه قابل دسترس"},{param:"همکاری عمومی",value:"رایگان برای کاربر خصوصی — سازمان دولتی به ازای هر پرس‌وجو پرداخت می‌کند"},{param:"هزینه دولتی",value:"چند سنت به ازای هر جستجو — فقط هنگام فعال شدن جستجو پرداخت می‌شود"},{param:"توزیع",value:"قابل توزیع برای کاربران خصوصی در سراسر کشور"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"هوش سرزمینی، تحرک و تفسیر پویای فضای شهری",sections:[{title:"Û².Û±Û± تمرکز و محدوده عملیاتی",desc:"پلتفرم متمرکز بر تحرک، ترافیک، برنامه‌ریزی شهری و تفسیر پویای قلمرو.",type:"list",items:["ادارات ترافیک و تحرک شهری","مراکز عملیات شهری (COU)","ادارات راه و شهرسازی","سازمان‌های اجرای قانون ترافیک","مدیران رویدادهای عمومی بزرگ","اپراتورهای بزرگراه و پارکینگ","Ù
45†ÛŒØ±ÙˆÙ‡Ø§ÛŒ امنیت عمومی — ردیابی وسیله نقلیه و عملیات جاده"]},{title:"Û².Û±Û² زیرساخت انحصاری",type:"params",params:[{param:"محل اجرا",value:"سرورهای شرکت‌های مسئول ترافیک و برنامه‌ریزی شهری"},{param:"GPU",value:"لازم نیست (به جز تحلیل تخلفات پیچیده و SBC پیشگیری از تصادف بزرگراه)"},{param:"ذخیره‌سازی",value:"کم — مستقیماً از NAS، DVR، NVR یا جریان موجود می‌خواند"},{param:"منابع سازگار",value:"دوربین‌های عمومی جاده، چراغ راهنمایی، رادارهای ثابت و متحرک — هر استانداردی"},{param:"مقیاس",value:"شبکه جاده شهری کامل — محله‌ها، کریدورها، شهرها"}]},{title:"Û².Û±Û³ تشخیص‌های خاص",type:"list",items:["تخلفات ترافیکی — تولید خودکار جریمه با شواهد","تصادفات و برخورد با عابر پیاده — تشخیص و اعلان فوری","تشکیل ترافیک — تشخیص زودهنگام قبل از فروپاشی","مسدود شدن و انحراف جاده","اشغال نامنظم فضای عمومی","رویدادهای غیرمعمول که بر تحرک شهری تأثیر می‌گذارند","خطرات عملیاتی در جاده‌ها و مناطق استراتژیک","الگوهای جریان، مناطق حیاتی و تکرارها","ردیابی وسایل نقلیه مشکوک — پلاک، مدل، رنگ، مسیر","تراکم و چگالی افراد در جاده‌ها و فضاهای عمومی","تعقیب خودکار در صورت درخواست اپراتور"]},{title:"Û².Û±Û´ هوش سرزمینی (انحصاری F.A.S.T.-AI)",type:"list",items:["تحلیل الگوهای جریان وسایل نقلیه و عابران پیاده بر اساس ساعت، روز و منطقه","شناسایی مناطق حیاتی و تکرار حوادث","پشتیبانی از تصمیمات برنامه‌ریزی جاده و شهری با داده‌های واقعی","داشبورد مدیریت سرزمینی بلادرنگ برای وزرا و مدیران","پشتیبانی از مدیریت رویدادهای بزرگ — چگالی، جریان، خطرات ازدحام","تولید مستمر اطلاعات استراتژیک در مورد رفتار قلمرو"]},{title:"Û².Û±Ûµ مدل تجاری",type:"params",params:[{param:"صدور مجوز",value:"شهری/استانی — قرارداد با سازمان دولتی تحرک یا امنیت"},{param:"استقرار",value:"سرورهای شهری یا اپراتور — روی زیرساخت موجود"},{param:"بازده مستقیم سرمایه",value:"درآمد حاصل از جریمه‌های خودکار از هزینه پلتفرم فراتر می‌رود"},{param:"پایلوت",value:"در حداکثر Û· روز کاری روی دوربین‌های عمومی موجود قابل اجراست"}]}]}],comparison:{title:"خلاصه مقایسه‌ای سه پلتفرم",rows:[{feature:"تمرکز اصلی",drakon:"بخش دولتی و ماموریت حیاتی",perceptrum:"بخش خصوصی و مسکونی",fast:"ترافیک و برنامه‌ریزی شهری"},{feature:"محل اجرا",drakon:"سرورهای مشتری (درون‌سازمانی)",perceptrum:"رایانه شخصی (i5+)",fast:"سرورهای شهری/اپراتور"},{feature:"GPU لازم است",drakon:"❌ خیر",perceptrum:"❌ خیر",fast:"❌ خیر (به جز SBC)"},{feature:"تعویض دوربین",drakon:"❌ لازم نیست",perceptrum:"❌ لازم نیست",fast:"❌ لازم نیست"},{feature:"تحلیل زنده (Û²Û´/Û·)",drakon:"✅ بله",perceptrum:"✅ بله",fast:"✅ بله"},{feature:"پس‌پردازش ضبط‌شده",drakon:"✅ بله (DVR/NVR/NAS)",perceptrum:"✅ بله (DVR/NVR/NAS)",fast:"✅ بله (DVR/NVR/NAS)"},{feature:"JOBهای زبان طبیعی",drakon:"✅ بله",perceptrum:"✅ بله",fast:"✅ بله"},{feature:"یکپارچه‌سازی API/Webhook",drakon:"✅ بله",perceptrum:"✅ بله",fast:"✅ بله"},{feature:"ردیابی چند دوربین",drakon:"✅ بله",perceptrum:"✅ بله",fast:"✅ بله"},{feature:"شبکه همکاری خصوصی",drakon:"✅ جستجوها را هماهنگ می‌کند",perceptrum:"✅ شرکت می‌کند (داوطلبانه)",fast:"✅ جستجوهای جاده را هماهنگ می‌کند"},{feature:"نسخه رایگان در دسترس",drakon:"❌ خیر",perceptrum:"✅ بله (پایه)",fast:"❌ خیر"},{feature:"PoC در دسترس",drakon:"✅ بله",perceptrum:"❌ خیر",fast:"✅ بله"},{feature:"جریمه‌های خودکار",drakon:"❌ تمرکز نیست",perceptrum:"❌ تمرکز نیست",fast:"✅ بله — تولید خودکار"},{feature:"هوش سرزمینی",drakon:"نهادی عملیاتی",perceptrum:"خصوصی عملیاتی",fast:"✅ سرزمینی و شهری"},{feature:"انطباق با GDPR/LGPD",drakon:"✅ بله",perceptrum:"✅ بله (بر اساس طراحی)",fast:"✅ بله"},{feature:"زمان فعال‌سازی پایلوت",drakon:"حداکثر Û· روز کاری",perceptrum:"دقیقه",fast:"حداکثر Û· روز کاری"}]}},ur:{hero:{badge:"تکنیکی وضاحتیں",title:"تکنیکی وضاحتیں",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"تشخیص، خریداری اور انضمام کے عمل کے لیے منظم تکنیکی دستاویز۔ AiQuimist کے تینوں پلیٹ فارم کی تمام وضاحتیں — مشترک افعال اور خصوصی امتیازات۔",part1:"حصہ Û± — بنیادی وضاحتیں",part1sub:"تینوں پلیٹ فارم میں موجود افعال",part2:"حصہ Û² — خصوصی وضاحتیں",part2sub:"ہر مصنوع کے مخصوص امتیازات",part3:"تقابلی خلاصہ"},copy:"جدول کاپی کریں",copied:"کاپی ہو گیا!",yes:"✅ ہاں",no:"❌ نہیں",feature:"خصوصیت",capacity:"گنجائش",detail:"تفصیل",param:"پیرامیٹر",value:"قیمت",sections:[{id:"s1",title:"Û±.Û± AI انجن — عالمگیر ملٹی موڈل تشریح",desc:"AiQuimist پلیٹ فارم ویڈیو، آڈیو، متن اور تصویر کو بیک وقت تجزیہ کرتا ہÛ
45’ تاکہ حقیقی سیاق و سباق نکالا جا سکے اور متعلقہ صورت حال کی شناخت کی جا سکے۔",type:"capabilities",items:[{label:"🎥 ویڈیو",detail:"لائیو کیمروں اور ریکارڈنگ کا ریئل ٹائم تجزیہ۔ مناظر، اشیاء، رویہ، حرکت اور نمونوں کو پہچانتا ہے۔"},{label:"🔊 آڈیو",detail:"تقریر، کلیدی الفاظ، معنیاتی نمونے، آواز کا لہجہ، فوریت، تنازع اور قابل ترتیب دلچسپ آوازوں کی پہچان۔"},{label:"📄 متن اور تصویر",detail:"فائل اپ لوڈ اور تجزیہ (ویڈیو، تصویر، آڈیو، متن)۔ ذرائع کے درمیان شواہد، میٹا ڈیٹا اور باہمی تعلق نکالنا۔"},{label:"مقامی وقتی پروسیسنگ",detail:"صرف الگ فریموں کو نہیں بلکہ حرکت کی روانی کا تجزیہ کرتا ہے"},{label:"بڑی سیاق و سباق ونڈو",detail:"واقعات کے باہمی تعلق کے لیے ویڈیو/آڈیو کے طویل ادوار کی یادداشت برقرار رکھتا ہے"},{label:"ریئل ٹائم تجزیہ (لائیو)",detail:"۲۴×۷ کیمرہ سٹریمز اور آڈیو چینلز"},{label:"بعد از پروسیسنگ",detail:"NVR، DVR، NAS کی فائلوں اور ریکارڈنگ پر یکساں پہچان معیار لاگو"},{label:"ڈیجیٹل فائل اپ لوڈ",detail:"باہم متعلق ملٹی موڈل تجزیہ کے لیے ویڈیو، تصویر، آڈیو اور متن"},{label:"جذباتی حالت کی شناخت",detail:"جسمانی زبان، آواز کا لہجہ اور رویہ سے متعلق اشاروں کو پڑھنا"},{label:"AI فراہم کنندہ خلاصہ",detail:"قابل ترتیب اینڈ پوائنٹس، اعتماد نامے اور حدود؛ کم سے کم اثر کے ساتھ فراہم کنندہ تبدیلی"}]},{id:"s2",title:"Û±.Û² کیمرہ اور ذرائع کا انجذاب",type:"mixed",items:[{label:"عالمگیر مطابقت",detail:"برانڈ، مینوفیکچرر، ماڈل یا نسل سے قطع نظر کوئی بھی کیمرہ"},{label:"اینالاگ اور ڈیجیٹل",detail:"ہارڈ ویئر کی تبدیلی کی ضرورت نہیں"},{label:"بنیادی پروٹوکول",detail:"RTSP، ONVIF اور مساوی HTTP/فائل طریقے"},{label:"DVR / NVR / NAS",detail:"گاہک میں پہلے سے نصب آلات کو پڑھنا"},{label:"بڑے پیمانے پر درآمد",detail:"کیمرہ میٹا ڈیٹا کے ساتھ Excel یا CSV (IP، مینوفیکچرر، صارف، پاس ورڈ، پورٹ وغیرہ)"},{label:"خودمختار آپریشن",detail:"اندرونی نیٹ ورک کے ذریعے مکمل طور پر مقامی — انٹرنیٹ پر سٹریم کا کوئی انکشاف نہیں"},{label:"نیٹ ورک سیکیورٹی",detail:"ریموٹ رسائی کے لیے کوئی پورٹ نہیں کھولا جاتا، کوئی ٹنل/NAT ترتیب نہیں دی جاتی"},{label:"توسیع پذیری",detail:"موازی طور پر Û± سے N کیمرے/آڈیو چینلز"},{label:"سٹریم دستیابی",detail:"ناکامیوں کے بعد نگرانی اور خودکار بحالی"}]},{id:"s3",title:"Û±.Û³ کام کی ہم آہنگی — JOB / STEP",desc:"ذہین آٹومیشن سسٹم جو نگرانی کے معمول میں انسانی آپریٹروں کی جگہ لیتا ہے۔ قدرتی زبان کے اشارے کے ذریعے بنایا گیا — کوئی کوڈنگ یا پروگرامنگ نہیں۔",type:"capabilities",items:[{label:"JOB (کام)",detail:"نگرانی اکائی جو Û± یا N کیمرے/چینل پڑھتی ہے اور متعین شرائط کے مطابق کام کرتی ہے"},{label:"STEP (مرحلہ)",detail:"ہر JOB کئی زنجیر بند مراحل پر مشتمل ہے؛ ایک کیمرے کا نتیجہ (آؤٹ پٹ) اگلے کو فیڈ کرتا ہے (ان پٹ)"},{label:"فی مرحلہ متعدد ذرائع",detail:"ہر STEP Û± یا زیادہ کیمرے اور/یا Û± یا زیادہ آڈیو چینلز کو فعال کر سکتا ہے"}
45,{label:"ذہین زنجیر بندی",detail:"مراحل کے درمیان علمی انحصار؛ بہاؤ پچھلے نتیجے کی بنیاد پر بدلتا ہے"},{label:"مقامی مشروط فیصلے",detail:"حقیقی نتیجے کی بنیاد پر شاخیں، رکاوٹ، تکرار یا توسیع"},{label:"فی چینل اشارہ",detail:"ہر کیمرہ یا آڈیو چینل اسی JOB میں ایک مخصوص اشارہ وصول کرتا ہے"},{label:"شیڈولنگ",detail:"متعین یا مسلسل مدت کے ساتھ طے شدہ تاریخوں اور اوقات پر عمل"},{label:"فوری فعال/غیر فعال",detail:"دوبارہ ترتیب کی ضرورت نہیں"},{label:"کام کا ورژننگ",detail:"ترتیب اور اشارے کی تاریخ"},{label:"غیر تکنیکی صارفین کی تخلیق",detail:"تکنیکی علم کے بغیر آپریٹرز ذہین ایجنٹ انٹرفیس کے ذریعے مکمل JOB بناتے ہیں"}],params:[{param:"JOB تخلیق",value:"قدرتی زبان (متن یا آواز) — کوئی کوڈ نہیں"},{param:"زنجیر بندی",value:"STEP N، STEP N-1 کے علمی نتیجے کا استعمال کرتا ہے"},{param:"فی STEP ذرائع",value:"۱ یا زیادہ کیمرے + ۱ یا زیادہ آڈیو چینلز"},{param:"شیڈولنگ",value:"تاریخ، وقت، مدت اور تکرار قابل ترتیب"}]},{id:"s4",title:"۱.۴ پہچان اور درجہ بندی کی صلاحیتیں",type:"grouped",groups:[{label:"ویڈیو پر مبنی پہچان (کمپیوٹر وژن / ملٹی موڈل)",items:["ترتیب دیے گئے اشاروں کے مطابق متعلقہ صورت حال اور اعمال کی شناخت","دلچسپی کے افراد کی پہچان — خودکار واقعہ تعلق کے ساتھ واچ لسٹ","مشروط محرکات کے ساتھ افراد کی گنتی (X سے زیادہ / کم / بالکل X)","وقت کے ساتھ ۱ یا زیادہ افراد/گاڑیوں کو ٹریک کرنا","دوبارہ شناخت کے ساتھ ملٹی کیمرہ ٹریکنگ — کیمرہ A → N → B کے درمیان حرکت کو ٹریک کرتا ہے","راستے سے انحراف اور متوقع راستے کی خلاف ورزی کا پتہ لگانا","نمبر پلیٹ، سائن اور کیمرے میں دکھائی دینے والے متنی مواد کو پڑھنا","قابل ترتیب ہاتھ کے اشارے اور اشاروں کی زبان کے اشارے کی شناخت (جب اشارے میں تعریف کی گئی ہو)","جذباتی حالت اور تنازع سے پہلے کی جسمانی زبان کا پتہ لگانا"]},{label:"آڈیو پر مبنی پہچان (تقریر / آوازیں / ملٹی موڈل)",items:["ریئل ٹائم اور ریکارڈ شدہ آڈیو کا تجزیہ قابل اطلاق ہونے پر ٹرانسکرپشن (STT) کے ساتھ","اسپیکر ڈائرائزیشن — فی اسپیکر خلاصے اور پوری گفتگو کے خلاصے کے ساتھ اسپیکر علیحدگی اور شناخت","پیرامیٹرائزیشن کے مطابق بولے گئے کلیدی الفاظ کا پتہ لگانا","قابل ترتیب فقروں اور معنیاتی نمونوں کا پتہ لگانا","واقعے کی علامت تقریر کے نمونوں کا پتہ لگانا — فوریت، تنازع، تکرار","آڈٹ کے لیے متعلقہ حصوں کو نمایاں کرنا"]},{label:"الرٹ سسٹم",items:["پوری شدہ شرط کا الرٹ — مثال: 'نقطہ A پر X افراد کا گروہ پایا گیا'","نہ پوری ہونے والی شرط کا الرٹ — مثال: 'فرد وقت T میں کیمرہ Y سے نہیں گزرا'","مرحلے کی ترتیب منطق کے ساتھ الرٹ — قابل ترتیب ملٹی پوائنٹ ورک فلو","قابل ترتیب محرکات، وقت کی ونڈوز اور باہمی تعلق کے معیار","قابل ترتیب شدت کی سطحیں، وصول کنندگان اور اطلاع کے چینلز","الرٹ سے منسلک شواہد — فریم، ویڈیو کلپ، آڈیو حصے","الرٹ لائف سائیکل ریکارڈ — تیار، بھیجا، وصول اور بند"]}]},{id:"s5",title:"۱.۵ سیاق و سباق سازی اور شواہد کی تیاری",type:"capabilities",items:[{label:"خودکار سیاق و سباق وضاحت",detail
45:"ہر پہچانے گئے واقعے کے لیے قدرتی زبان میں تیار کی جاتی ہے"},{label:"منظم میٹا ڈیٹا",detail:"ذریعہ، تاریخ/وقت، منطقی مقام، واقعے کی قسم، شدت"},{label:"خودکار باہمی تعلق",detail:"وہی فرد، وہی علاقہ، وہی وقفہ — متعدد ذرائع کے درمیان"},{label:"شواہد نکالنا",detail:"فریم، ویڈیو کلپ، آڈیو حصے، پہچانا گیا متن"},{label:"استنتاج کی قابل ردیابی",detail:"تمام پہچانوں کے لاگ اور آڈٹ"},{label:"آپریشنل رپورٹیں",detail:"مکمل آڈٹ ٹریل"}]},{id:"s6",title:"۱.۶ قدرتی زبان آپریشن",desc:"کوئی بھی آپریٹر — تکنیکی تربیت کے بغیر — متن یا آواز کا استعمال کرتے ہوئے مکمل JOB بنا، ترتیب دے اور چلا سکتا ہے۔ کوئی پروگرامنگ، اسکرپٹ یا بیرونی ٹولز نہیں۔",type:"capabilities",items:[{label:"قدرتی زبان کے سوالات",detail:"سیاق و سباق سے جوابات کے ساتھ سوالات"},{label:"متن اور آواز کے احکام",detail:"کام بنانا، ترمیم اور فعال کرنا"},{label:"اشارے سے مکمل ترتیب",detail:"نگرانی، الرٹ، محرکات اور وصول کنندگان"},{label:"حکمرانی کنٹرول",detail:"اہم اعمال کے لیے تصدیق، پروفائل کے مطابق پابندیاں"},{label:"آڈٹ ٹریل",detail:"تمام احکام اور تبدیلیوں کا ریکارڈ"}]},{id:"s7",title:"۱.۷ بیرونی انضمام — API اور Webhook",type:"capabilities",items:[{label:"خودکار Webhook فائرنگ",detail:"متعین شرائط کی بنیاد پر بیرونی API کالز"},{label:"غیر تکنیکی آپریٹر ترتیب",detail:"قدرتی زبان کے اشارے کے ذریعے"},{label:"منظم پے لوڈ",detail:"JSON میں میٹا ڈیٹا اور شواہد"},{label:"بیرونی کالز میں تصدیق",detail:"ٹوکن، چابیاں، دستخط اور اجازت کی فہرستیں"},{label:"درخواست آڈٹ",detail:"تمام بیرونی کالز کا مکمل لاگ"},{label:"ناکامی کا انتظام",detail:"دوبارہ کوشش، قطاریں اور لاگ"},{label:"باہمی تعاملیت",detail:"ڈیش بورڈ، پیغام رسانی، ریکارڈ اور انتظامی نظام"}],params:[{param:"پروٹوکول",value:"REST API + Webhooks"},{param:"پے لوڈ",value:"میٹا ڈیٹا، شواہد اور سیاق و سباق کے ساتھ منظم JSON"},{param:"تصدیق",value:"ٹوکن، چابیاں، دستخط اور اجازت کی فہرستیں"},{param:"آڈٹ",value:"تمام بیرونی کالز کا مکمل لاگ"}]},{id:"s8",title:"۱.۸ استعمال کے میٹرکس اور لاگت کا انتظام",type:"capabilities",items:[{label:"فی JOB/STEP میٹرکس",detail:"تفصیلی ریکارڈنگ اور دستیابی"},{label:"فی کیمرہ/آڈیو چینل میٹرکس",detail:"ذریعے کے مطابق انفرادی استعمال"},{label:"فی صارف/پروفائل میٹرکس",detail:"آپریٹر کے مطابق استعمال کی ٹریکنگ"},{label:"ٹوکن اور درخواست گنتی",detail:"تاخیر کے ساتھ تخمینی اور حقیقی قدریں"},{label:"جہت کے مطابق لاگت",detail:"JOB، کیمرہ اور صارف"},{label:"کوٹہ اور لاگت مراکز",detail:"کوٹہ اور محکمے کے مطابق علیحدگی کی حمایت"}]},{id:"s9",title:"۱.۹ ہارڈ ویئر کی ضروریات",type:"params",params:[{param:"GPU",value:"ضروری نہیں — تینوں پلیٹ فارم میں سے کوئی بھی نہیں"},{param:"GPU (F.A.S.T.-AI)",value:"کچھ پیچیدہ خلاف ورزیوں اور ہائی وے حادثہ روکتھام SBC حل کے لیے استعمال کیا جاتا ہے"},{param:"خصوصی ہارڈ ویئر",value:"ضروری نہیں — موجودہ انفراسٹرکچر کے ساتھ انضمام"},{param:"کیمرے",value:"کوئی تبدیلی نہیں — نصب کسی بھی آلے کے ساتھ مطابقت"},{param:"سپورٹ شدہ OS",value:"Windows (مقامی مطابقت)"},{param:"تعیناتی",value:"آن پریمسز، عوامی/نجی کلاؤڈ (قومی علاقہ) یا ہائبرڈ"},{param:"فعال سازی",value:"مہینے نہیں، دن — زیادہ سے زیادہ ۷ کاری دنوں میں پائلٹ لاگو کیا جا سکتا ہے"}]},{id:"s10",title:"۱.۱۰ معلوماتی سلامتی، حکمرانی اور ڈیٹا تحفظ",type:"capabilities",items:[{label:"RBAC رسائی کنٹرول",detail
45:"فرائض کی علیحدگی اور کم سے کم استحقاق"},{label:"مکمل آڈٹ ٹریلز",detail:"آپریشن، کمانڈ، ترتیب تبدیلی اور اشارے کے لاگ"},{label:"ڈیٹا تحفظ",detail:"منتقلی میں اور آرام کی حالت میں"},{label:"برقراری اور حذف کی پالیسیاں",detail:"قابل اطلاق ہونے پر تخلص/گمنامی"},{label:"رسائی پروفائل انتظام",detail:"سطح کے مطابق آپریشنل پابندیاں"},{label:"GDPR/LGPD تعمیل",detail:"کمینہ سازی، مقصد، ضرورت اور جوابدہی"},{label:"اعتماد نامے کا ذخیرہ",detail:"Windows Credential Manager/DPAPI یا مساوی — سادہ متن ممنوع ہے"}]},{id:"s11",title:"Û±.Û±Û± دستیابی اور آپریشنل تسلسل",type:"capabilities",items:[{label:"۲۴×۷ آپریشن",detail:"بلا تعطل مسلسل نگرانی"},{label:"خودکار بحالی",detail:"مداخلت کے بغیر سٹریم ناکامیوں کے بعد دوبارہ شروع"},{label:"کنکٹیویٹی میں رکاوٹ کی لچک",detail:"ریکارڈ شدہ مواد کی دوبارہ پروسیسنگ"},{label:"قطاریں اور دوبارہ پروسیسنگ",detail:"بغیر خلا کے کوریج کی ضمانت"},{label:"اعلی دستیابی",detail:"ترتیب دینے پر فاضل، نقل اور بوجھ توازن"}]},{id:"s12",title:"Û±.Û±Û² نجی تعاون نیٹ ورک کے ساتھ انضمام",desc:"AiQuimist ماحولیاتی نظام کی خصوصی صلاحیت: رضاکار صارفین کے نجی کیمرے ویڈیو منتقل کیے بغیر یا نیٹ ورک پورٹ کھولے بغیر عوامی تلاشوں میں خودکار طور پر حصہ لیتے ہیں۔",type:"capabilities",items:[{label:"مفت تقسیم",detail:"پورے ملک میں نجی صارفین کو تقسیم کرنے کے قابل Windows حل"},{label:"جوڑی بنانے کا طریقہ کار",detail:"فعالیت کوڈ، آلہ لنکنگ اور منسوخی"},{label:"صرف مجاز اینڈ پوائنٹس",detail:"صرف مجاز اینڈ پوائنٹس ہی ڈیٹا/واقعات استعمال یا شائع کر سکتے ہیں"},{label:"مقامی پہچان اور اطلاع",detail:"تجزیہ نجی صارف کے کمپیوٹر پر ہوتا ہے"},{label:"ملاپ کی اطلاع",detail:"واچ لسٹ کے ساتھ ملاپ پر مرکزی پلیٹ فارم پر خودکار"},{label:"منظم الرٹ",detail:"اوورلے کے ساتھ فرد کی تصویر، تاریخ/وقت، کیمرہ، مکمل پتہ، GPS، اعتماد کی سطح، شناخت کنندہ"},{label:"Re-ID الگورتھم",detail:"دوبارہ شناخت اور قابل اطلاق اور مجاز ہونے پر چہرے کی پہچان"},{label:"رضاکارانہ شرکت",detail:"صارف فیصلہ کرتا ہے کہ تعاون فعال کرنا ہے یا نہیں اور کون سے کیمرے شرکت کریں گے"},{label:"ڈیزائن کے مطابق رازداری",detail:"کوئی کھلا پورٹ نہیں، کوئی مسلسل منتقل ہونے والی سٹریم نہیں"},{label:"GDPR/LGPD مکمل تعمیل",detail:"مقامی تجزیہ، صرف متعلقہ نتیجہ شیئر کرنا"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"عوامی کارروائیوں اور مشن اہم ماحول کے لیے ادارہ جاتی ذہانت",sections:[{title:"Û².Û± توجہ اور آپریشنل دائرہ کار",desc:"عوامی، ادارہ جاتی اور اعلی اہمیت کے کارپوریٹ شعبے کے لیے پلیٹ فارم۔ بڑے پیمانے پر کیمرہ نیٹ ورک پر کام کرتا ہے۔",type:"list",items:["بلدیات، ریاستی اور وفاقی حکومتیں","پولیس، شہری گارڈ اور وزارت سلامتی","مربوط کمانڈ اور کنٹرول مراکز (CIOP)","جیلیں اور حراستی سہولیات","ہوائی اڈے، بندرگاہیں اور ٹرمینل","سرحدیں اور قومی اہم انفراسٹرکچر","سرکاری اداروں اور پیچیدہ آپریشن والی بڑی نجی کمپنیاں","بڑی نجی کمپنیاں: بینک، لاجسٹک وغیرہ"]},{title:"Û².Û² خصوصی انفراسٹرکچر",type:"params",params:[{param:"کہاں چلتا ہÛ
45’",value:"گاہک کے اپنے سرور (آن پریمسز)"},{param:"ڈیٹا سیکیورٹی",value:"Û±Û°Û°Ùª داخلی — انٹرنیٹ پر کوئی معلومات ظاہر نہیں"},{param:"GPU",value:"ضروری نہیں"},{param:"سرور",value:"روایتی — ڈیٹا بیس اور بیک وقت کیمرہ پڑھنے کے لیے وقف"},{param:"پیمانہ",value:"بڑے پیمانے پر ادارہ جاتی نیٹ ورک — دسیوں سے ہزاروں کیمرے"}]},{title:"Û².Û³ مخصوص پہچان",type:"list",items:["محیط، رسائی اور اہم ماحول میں مشکوک حرکات","حساس علاقوں کے ساتھ غیر مطابق رویہ","دراندازی اور غیر مجاز رسائی کی کوششیں","تنازعات اور تشدد کی صورت حال","حراستی سہولیات میں فرار کی کوششیں","ہتھیاروں کی موجودگی","خطرناک مقامات پر اشیاء چھوڑنا","رویے کے نمونوں میں اچانک تبدیلیاں","اہم مقامات پر افراد کا غیر معمولی ارتکاز","مشن اہم ماحول میں خطرناک صورت حال — ہوائی اڈے، سرحدیں، جیلیں","وقتی انجن: اشارہ چلاتا ہے اور نظام انسانی مداخلت کے بغیر جاری رہتا ہے"]},{title:"Û².Û´ تعاون نیٹ ورک کی ہم آہنگی",type:"list",items:["پورے عوامی اور نجی تعاون نیٹ ورک میں پھیلنے والی تلاشیں اور ٹریکنگ شروع کرتا ہے","واچ لسٹ کے ساتھ ملاپ پر Perceptrum سے خودکار اطلاعات وصول کرتا ہے","عوامی، سڑک (F.A.S.T.) اور نجی (Perceptrum) فضاؤں کے درمیان مربوط آپریشن کی ہم آہنگی","پورے مربوط نیٹ ورک سے الرٹ، شواہد اور ٹریکنگ ریکارڈ مرکزیت"]},{title:"Û².Ûµ تجارتی ماڈل",type:"params",params:[{param:"لائسنسنگ",value:"ادارہ جاتی — عوامی ادارے یا کارپوریشن کے ساتھ معاہدہ"},{param:"تعیناتی",value:"گاہک کے سرور پر آن پریمسز"},{param:"سپورٹ",value:"آن بورڈنگ اور ترتیب شامل ہے"},{param:"پائلٹ",value:"موجودہ انفراسٹرکچر پر زیادہ سے زیادہ Û· کاری دنوں میں لاگو کیا جا سکتا ہے"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"گھر سے بڑی کارپوریشن تک نجی ماحول کے لیے ملٹی موڈل ذہانت",sections:[{title:"Û².Û¶ توجہ اور آپریشنل دائرہ کار",desc:"نجی، تجارتی، رہائشی اور کنڈومینیم شعبے کے لیے پلیٹ فارم۔ اعلی نگرانی ذہانت تک رسائی کو جمہوری بناتا ہے۔",type:"list",items:["مسکن اور گھر","اپارٹمنٹ اور رہائشی/تجارتی عمارتیں","چھوٹی اور درمیانی تجارتی جگہیں","خوردہ زنجیریں اور اسٹور","بینک اور مالیاتی ادارے","شاپنگ مالز اور پارکنگ","نجی اسکول اور یونیورسٹیاں","نجی ہسپتال اور کلینک","گودام اور لاجسٹک سہولیات","فارم اور دیہی جائیدادیں"]},{title:"Û².Û· خصوصی انفراسٹرکچر",type:"params",params:[{param:"کہاں چلتا ہے",value:"صارف کا ذاتی کمپیوٹر (گھریلو یا کارپوریٹ)"},{param:"کم سے کم پروسیسر",value:"Intel i5 یا اس سے اوپر"},{param:"GPU",value:"ضروری نہیں"},{param:"ذخیرہ",value:"تجزیہ کے دوران عارضی تصاویر کے لیے ڈسک کی جگہ"},{param:"DVR/NVR",value:"پچھلی ریکارڈنگ میں تلاش کے لیے مقامی پڑھنا"},{param:"فعال سازی",value:"منٹ — CSV کے ذریعے کیمرہ درآمد اور فوری آغاز"}]},{title:"Û².Û¸ مخصوص پہچان",type:"list",items:["غیر معمولی اوقات یا مقامات پر نمونے سے باہر حرکات","چوری، ڈاکہ اور حملہ — عام لوٹ کے رویے","محدود علاقوں میں غیر مناسب موجودگÛ
45Œ","محیط خطرہ اور دراندازی کی کوششیں","مدد کی درخواستیں — مدد کے اشارے اور رویہ","مشکوک اشیاء کو چھوڑنا","عمل میں آپریشنل بے قاعدگیاں (لاجسٹک، انوینٹری، ڈیلیوری)","خودکار عمل کی تصدیق: گاڑی، نمبر پلیٹ، ڈیلیوری شخص، مقدار گنتی","ماحول کی قسم کے مطابق قابل ترتیب واقعات — ہر تنصیب کا پروفائل","تحفظاتی حکم کی خلاف ورزی کرنے والے کو ڈھونڈنا (قربت کی ممانعت وغیرہ)"]},{title:"Û².Û¹ رضاکارانہ تعاون (Perceptrum کا خصوصی)",type:"list",items:["رضاکارانہ تعاون کا جھنڈا — مالک فیصلہ کرتا ہے کہ فعال کرنا ہے اور کون سے کیمرے شرکت کریں گے","فعال ہونے پر: کیمرہ Perceptrum Corporate یا F.A.S.T.-AI کی شائع کردہ تلاشوں میں شرکت کرتا ہے","تجزیہ مقامی طور پر چلایا جاتا ہے — نجی صارف کے اپنے کمپیوٹر پر","کوئی ویڈیو سٹریم مسلسل مرکزی عوامی مرکز کو نہیں بھیجی جاتی","کوئی نیٹ ورک پورٹ بیرونی طور پر کھلا نہیں","صرف نتیجہ (ملاپ) مرکز کو بھیجا جاتا ہے — تصاویر نہیں","الرٹ میں شامل ہے: اوورلے کے ساتھ فرد کی تصویر، تاریخ/وقت، کیمرہ، پتہ، GPS، اعتماد کی سطح","مالک کی طرف سے کسی بھی وقت منسوخ کی جانے والی شرکت","GDPR/LGPD مکمل تعمیل — تعمیراتی ڈیزائن کے ذریعے رازداری کا تحفظ"]},{title:"Û².Û±Û° تجارتی ماڈل",type:"params",params:[{param:"مفت ورژن",value:"بنیادی نگرانی افعال — مفت، کوئی کریڈٹ کارڈ نہیں"},{param:"پریمیم ورژن",value:"مکمل رسائی — قابل رسائی ماہانہ لائسنس"},{param:"عوامی تعاون",value:"نجی صارف کے لیے مفت — عوامی ادارہ فی سوال ادائی
45گی کرتا ہے"},{param:"ریاستی لاگت",value:"فی تلاش چند سینٹ — صرف تلاش فعال ہونے پر ادائیگی"},{param:"تقسیم",value:"پورے ملک کے نجی صارفین کو تقسیم کیا جا سکتا ہے"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"علاقائی ذہانت، نقل و حرکت اور شہری فضا کی متحرک تشریح",sections:[{title:"۲.۱۱ توجہ اور آپریشنل دائرہ کار",desc:"نقل و حرکت، ٹریفک، شہری منصوبہ بندی اور علاقے کی متحرک تشریح کے لیے پلیٹ فارم۔",type:"list",items:["شہری ٹریفک اور نقل و حرکت کے محکمے","شہری آپریشن مراکز (COU)","سرکاری کاموں اور شہری منصوبہ بندی کے محکمے","ٹریفک نفاذ ایجنسیاں","بڑے عوامی تقاریب کے منتظمین","ہائی وے اور پارکنگ آپریٹرز","عوامی سلامتی کی قوتیں — گاڑی ٹریکنگ اور سڑک آپریشن"]},{title:"۲.۱۲ خصوصی انفراسٹرکچر",type:"params",params:[{param:"کہاں چلتا ہے",value:"ٹریفک اور شہری منصوبہ بندی کی ذمہ دار کمپنیوں کے سرور"},{param:"GPU",value:"ضروری نہیں (پیچیدہ خلاف ورزی کے تجزیہ اور ہائی وے حادثہ روکتھام SBC کے علاوہ)"},{param:"ذخیرہ",value:"کم — موجودہ NAS، DVR، NVR یا سٹریمنگ سے براہ راست پڑھتا ہے"},{param:"مطابق ذرائع",value:"سڑک، ٹریفک لائٹ، مقررہ اور موبائل ریڈار عوامی کیمرے — کوئی بھی معیار"},{param:"پیمانہ",value:"مکمل شہری سڑک نیٹ ورک — محلے، راہداری، شہر"}]},{title:"۲.۱۳ مخصوص پہچان",type:"list",items:["ٹریفک خلاف ورزیاں — شواہد کے ساتھ خودکار جرمانہ پیداوار","حادثات اور پیدل چلنے والوں کی ٹکر — فوری پہچان اور اطلاع","ٹریفک جام کی تشکیل — خاتمے سے پہلے ابتدائی پہچان","سڑک بلاکیج اور تبدیلی","عوامی فضا کا غیر باقاعدہ قبضہ","شہری نقل و حرکت کو متاثر کرنے والے غیر معمولی واقعات","سڑکوں اور اسٹریٹجک علاقوں میں آپریشنل خطرات","بہاؤ کے نمونے، اہم زون اور تکرار","مشکوک گاڑیوں کی ٹریکنگ — نمبر پلیٹ، ماڈل، رنگ، راستہ","سڑکوں اور عوامی فضاؤں پر افراد کا ارتکاز اور کثافت","آپریٹر کی درخواست پر خودکار تعاقب"]},{title:"۲.۱۴ علاقائی ذہانت (F.A.S.T.-AI کا خصوصی)",type:"list",items:["گھنٹے، دن اور زون کے مطابق گاڑیوں اور پیدل چلنے والوں کے بہاؤ کے نمونوں کا تجزیہ","اہم زون اور واقعے کی تکرار کی شناخت","حقیقی ڈیٹا کے ساتھ سڑک اور شہری منصوبہ بندی کے فیصلوں کی حمایت","وزراء اور منتظمین کے لیے ریئل ٹائم علاقائی انتظام ڈیش بورڈ","بڑی تقریبات کے انتظام کی حمایت — کثافت، بہاؤ، ہجوم کے خطرات","علاقے کے رویے کے بارے میں مسلسل اسٹریٹجک معلومات کی پیداوار"]},{title:"۲.۱۵ تجارتی ماڈل",type:"params",params:[{param:"لائسنسنگ",value:"شہری/صوبائی — نقل و حرکت یا سلامتی کے عوامی ادارے کے ساتھ معاہدہ"},{param:"تعیناتی",value:"شہری یا آپریٹر سرور — موجودہ انفراسٹرکچر پر"},{param:"براہ راست ROI",value:"خودکار جرمانوں سے پیدا ہونے والی آمدنی پلیٹ فارم کی لاگت سے زیادہ"},{param:"پائلٹ",value:"موجودہ عوامی کیمروں پر زیادہ سے زیادہ ۷ کاری دنوں میں لاگو کیا جا سکتا ہے"}]}]}],comparison:{title:"تینوں پلیٹ فارم کا تقابلی خلاصہ",rows:[{feature:"بنیادی توجہ",drakon:"عوامی شعبہ اور مشن اہم",perceptrum:"نجی اور رہائشی شعبہ",fast:"ٹریفک اور شہری منصوبہ بندی"}
45,{feature:"کہاں چلتا ہے",drakon:"گاہک سرور (آن پریمسز)",perceptrum:"ذاتی کمپیوٹر (i5+)",fast:"شہری/آپریٹر سرور"},{feature:"GPU ضروری",drakon:"❌ نہیں",perceptrum:"❌ نہیں",fast:"❌ نہیں (SBC کے علاوہ)"},{feature:"کیمرہ تبدیلی",drakon:"❌ ضروری نہیں",perceptrum:"❌ ضروری نہیں",fast:"❌ ضروری نہیں"},{feature:"لائیو تجزیہ (۲۴/۷)",drakon:"✅ ہاں",perceptrum:"✅ ہاں",fast:"✅ ہاں"},{feature:"ریکارڈ شدہ بعد از پروسیسنگ",drakon:"✅ ہاں (DVR/NVR/NAS)",perceptrum:"✅ ہاں (DVR/NVR/NAS)",fast:"✅ ہاں (DVR/NVR/NAS)"},{feature:"قدرتی زبان JOBs",drakon:"✅ ہاں",perceptrum:"✅ ہاں",fast:"✅ ہاں"},{feature:"API/Webhook انضمام",drakon:"✅ ہاں",perceptrum:"✅ ہاں",fast:"✅ ہاں"},{feature:"ملٹی کیمرہ ٹریکنگ",drakon:"✅ ہاں",perceptrum:"✅ ہاں",fast:"✅ ہاں"},{feature:"نجی تعاون نیٹ ورک",drakon:"✅ تلاشوں کی ہم آہنگی",perceptrum:"✅ شرکت (رضاکارانہ)",fast:"✅ سڑک تلاشوں کی ہم آہنگی"},{feature:"مفت ورژن دستیاب",drakon:"❌ نہیں",perceptrum:"✅ ہاں (بنیادی)",fast:"❌ نہیں"},{feature:"PoC دستیاب",drakon:"✅ ہاں",perceptrum:"❌ نہیں",fast:"✅ ہاں"},{feature:"خودکار جرمانے",drakon:"❌ توجہ نہیں",perceptrum:"❌ توجہ نہیں",fast:"✅ ہاں — خودکار پیداوار"},{feature:"علاقائی ذہانت",drakon:"ادارہ جاتی آپریشنل",perceptrum:"نجی آپریشنل",fast:"✅ علاقائی اور شہری"},{feature:"GDPR/LGPD تعمیل",drakon:"✅ ہاں",perceptrum:"✅ ہاں (ڈیزائن کے مطابق)",fast:"✅ ہاں"},{feature:"پائلٹ فعال سازی وقت",drakon:"زیادہ سے زیادہ ۷ کاری دن",perceptrum:"منٹ",fast:"زیادہ سے زیادہ ۷ کاری دن"}]}}},su={pt:{hero:{badge:"Especificações Técnicas",title:"Specs Técnicas",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Documento técnico estruturado para processos de avaliação, contratação e integração. Todas as especificações das três plataformas AiQuimist — funcionalidades compartilhadas e diferenciais exclusivos.",part1:"PARTE 1 — Core Specs",part1sub:"Funcionalidades presentes nas três plataformas",part2:"PARTE 2 — Specs Exclusivas",part2sub:"Diferenciais específicos de cada produto",part3:"Resumo Comparativo"},copy:"Copiar tabela",copied:"Copiado!",yes:"✅ Sim",no:"❌ Não",feature:"Característica",capacity:"Capacidade",detail:"Detalhe",param:"Parâmetro",value:"Valor",sections:[{id:"s1",title:"1.1 Motor de IA — Interpretação Multimodal Universal",desc:"Plataforma AiQuimist que analisa simultaneamente vídeo, áudio, texto e imagem para extrair contexto real e identificar situações relevantes.",type:"capabilities",items:[{label:"🎥 Vídeo",detail:"Análise em tempo real de câmeras ao vivo e gravações. Reconhece cenas, objetos, comportamentos, movimentos e padrões."},{label:"🔊 Áudio",detail:"Detecção de fala, palavras-chave, padrões semânticos, tom de voz, urgência, conflito e sons de interesse configuráveis."},{label:"📄 Texto e Imagem",detail:"Upload e análise de arquivos (vídeo, imagem, áudio, texto). Extração de evidências, metadados e correlação entre fontes."},{label:"Processamento temporal nativo",detail:"Análise de fluidez de movimento, não apenas frames isolados"},{label:"Janela de contexto massiva",detail:"Mantém memória de longos períodos de vídeo/áudio para correlação de eventos"},{label:"Análise em tempo real (ao vivo)",detail:"Streams de câmeras e canais de áudio 24×7"},{label:"Pós-processamento",detail:"Mesmos critérios de detecção aplicados a acervos e arquivos: NVR, DVR, NAS"},{label:"Upload de arquivos digitais",detail:"Vídeo, imagem, áudio e texto para análise multimodal correlacionada"},{label:"Identificação de estado emocional",detail:"Leitura de linguagem corporal, tom de voz e sinais de comportamento"},{label:"Abstração de provedores de IA",detail:"Endpoints, credenciais e limites configuráveis; troca de provedor com impacto mínimo"}]},{id:"s2",title:"1.2 Ingestão de Câmeras e Fontes",type:"mixed",items:[{label:"Compatibilidade universal",detail:"Qualquer câmera, independentemente de marca, fabricante, modelo ou geração"},{label:"Analógico e digital",detail:"Sem exigência de substituição de hardware"},{label:"Protocolo principal",detail:"RTSP, ONVIF e métodos HTTP/arquivo equivalentes"}
45,{label:"DVR / NVR / NAS",detail:"Leitura de equipamentos já instalados no cliente"},{label:"Importação em massa",detail:"Excel ou CSV com metadados das câmeras (IP, fabricante, usuário, senha, porta etc.)"},{label:"Operação standalone",detail:"Totalmente local via rede interna — sem exposição de streams à internet"},{label:"Segurança de rede",detail:"Vedada abertura de portas para acesso remoto ou configuração de túneis/NAT"},{label:"Escalabilidade",detail:"1 a N câmeras/canais de áudio em paralelo"},{label:"Disponibilidade de streams",detail:"Monitoramento e recuperação automática após falhas"}]},{id:"s3",title:"1.3 Orquestração de Tarefas — JOB / STEP",desc:"Sistema de automação inteligente que substitui operadores humanos em rotinas de vigilância. Criado por prompts em linguagem natural — sem código, sem programação.",type:"capabilities",items:[{label:"JOB (tarefa)",detail:"Unidade de monitoramento que lê 1 ou N câmeras/canais e age conforme condições definidas"},{label:"STEP (etapa)",detail:"Cada JOB é composto por múltiplas etapas encadeadas; o resultado de uma câmera (output) alimenta a próxima (input)"},{label:"Múltiplas fontes por etapa",detail:"Cada STEP pode acionar 1 ou mais câmeras e/ou 1 ou mais canais de áudio"},{label:"Encadeamento inteligente",detail:"Dependência cognitiva entre etapas; o fluxo muda com base no resultado anterior"},{label:"Decisões condicionais nativas",detail:"Ramificações, interrupção, repetição ou escalamento baseados em resultado real"},{label:"Prompt por canal",detail:"Cada câmera ou canal de áudio recebe um prompt específico dentro do mesmo JOB (execução, alerta e negativa)"},{label:"Agendamento",detail:"Execução em dias e horários programados, com duração definida ou ininterrupta"},{label:"Ativação/desativação instantânea",detail:"Sem necessidade de reconfiguração"},{label:"Versionamento de tarefas",detail:"Histórico de configurações e prompts"},{label:"Criação por leigos",detail:"Operadores sem conhecimento técnico criam JOBs completos via interface com auxílio de agente inteligente"}],params:[{param:"Criação de JOBs",value:"Linguagem natural (texto ou voz) — sem código"},{param:"Encadeamento",value:"STEP N usa resultado cognitivo do STEP N-1"},{param:"Fontes por STEP",value:"1 ou mais câmeras + 1 ou mais canais de áudio"},{param:"Agendamento",value:"Data, hora, duração e recorrência configuráveis"}]},{id:"s4",title:"1.4 Capacidades de Detecção e Classificação",type:"grouped",groups:[{label:"Detecção baseada em vídeo (visão computacional / multimodal)",items:["Identificação de situações e ações relevantes conforme prompts configurados","Reconhecimento de indivíduos de interesse — watchlist com associação automática de eventos","Contagem de pessoas com gatilhos condicionais (mais de X / menos de X / exatamente X)","Rastreamento (tracking) de 1 ou múltiplos indivíduos/veículos ao longo do tempo","Rastreamento multi-câmera com reidentificação — acompanha deslocamento entre câmeras A → N → B","Detecção de desvio de rota e violação de trajeto esperado","Leitura de placas, cartazes e conteúdo textual visível na câmera","Identificação de gestos manuais configuráveis e gestos em Libras (quando definido em prompt)","Detecção de estado emocional e linguagem corporal de pré-conflito"]},{label:"Detecção baseada em áudio (fala / sons / multimodal)",items:["Análise de áudio em tempo real e gravado com transcrição (STT) quando aplicável","Diarização — separação e identificação de locutores com resumo por locutor e resumo da conversa toda","Detecção de palavras-chave faladas conforme parametrização","Detecção de frases e padrões semânticos configuráveis","Detecção de padrões de fala indicativos de ocorrência — urgência, conflito, repetição","Realce de trechos relevantes para auditoria"]},{label:"Sistema de alertas",items:["Alerta por condição satisfeita — ex.: 'grupo com X indivíduos detectado no ponto A'","Alerta por condição NÃO satisfeita — ex.: 'indivíduo não passou pela câmera Y no prazo T'","Alertas com lógica de sequência de passagens — workflow multipoint configurável","Gatilhos, janelas temporais e critérios de correlação parametrizáveis","Níveis de severidade, destinatários e canais de notificação configuráveis","Evidências anexadas aos alertas — frames, clipes de vídeo, segmentos de áudio","Registro do ciclo de vida do alerta — geração, encaminhamento, recebimento e encerramento"]}]},{id:"s5",title:"1.5 Contextualização e Geração de Evidências",type:"capabilities",items:[{label:"Descrição contextual automática",detail
45:"Gerada em linguagem natural para cada evento detectado"},{label:"Metadados estruturados",detail:"Fonte, data/hora, local lógico, tipo de evento, severidade"},{label:"Correlação automática",detail:"Mesmo indivíduo, mesma área, mesmo intervalo — entre múltiplas fontes"},{label:"Extração de evidências",detail:"Frames, clipes de vídeo, segmentos de áudio, texto reconhecido"},{label:"Rastreabilidade de inferências",detail:"Logs e auditoria de todas as detecções"},{label:"Relatórios operacionais",detail:"Trilha de auditoria completa"}]},{id:"s6",title:"1.6 Operação por Linguagem Natural",desc:"Qualquer operador — sem formação técnica — cria, configura e opera JOBs completos usando texto ou voz. Não há programação, scripts ou ferramentas externas.",type:"capabilities",items:[{label:"Consultas em linguagem natural",detail:"Perguntas com respostas contextualizadas"},{label:"Comandos por texto e voz",detail:"Criação, edição e ativação de tarefas"},{label:"Configuração completa por prompt",detail:"Monitoramentos, alertas, gatilhos e destinatários"},{label:"Controles de governança",detail:"Confirmação para ações críticas, restrições por perfil"}
45,{label:"Trilha de auditoria",detail:"Registro de todos os comandos e alterações"}]},{id:"s7",title:"1.7 Integrações Externas — API e Webhook",type:"capabilities",items:[{label:"Disparo automático de webhooks",detail:"Chamadas a APIs externas baseadas em condições definidas"},{label:"Configuração por operadores leigos",detail:"Via prompt em linguagem natural"},{label:"Payload estruturado",detail:"Metadados e evidências em JSON"},{label:"Autenticação nas chamadas externas",detail:"Tokens, chaves, assinaturas e listas de permissão"},{label:"Auditoria de requisições",detail:"Log completo de todas as chamadas externas"},{label:"Tratamento de falhas",detail:"Retries, filas e logs"},{label:"Interoperabilidade",detail:"Painéis, mensageria, sistemas de registro e gestão"}],params:[{param:"Protocolo",value:"API REST + Webhooks"},{param:"Payload",value:"JSON estruturado com metadados, evidências e contexto"},{param:"Autenticação",value:"Tokens, chaves, assinaturas e listas de permissão"},{param:"Auditoria",value:"Log completo de todas as chamadas externas"}]},{id:"s8",title:"1.8 Métricas de Consumo e Gestão de Custos",type:"capabilities",items:[{label:"Métricas por JOB/STEP",detail:"Registro e disponibilização detalhados"},{label:"Métricas por câmera/canal de áudio",detail:"Consumo individualizado por fonte"},{label:"Métricas por usuário/perfil",detail:"Rastreamento de uso por operador"},{label:"Contagem de tokens e requests",detail:"Estimativa e valores reais com latência"},{label:"Custos por dimensão",detail:"JOB, câmera e usuário"},{label:"Cotas e centros de custo",detail:"Suporte a quotas e segregação por departamento"}]},{id:"s9",title:"1.9 Requisitos de Hardware",type:"params",params:[{param:"GPU",value:"Não exigida — nenhuma das três plataformas"},{param:"GPU (F.A.S.T.-AI)",value:"Utilizada para algumas infrações complexas e solução SBC de prevenção de acidentes em rodovias"},{param:"Hardware proprietário",value:"Não exigido — integra com parque existente"},{param:"Câmeras",value:"Sem substituição — compatível com qualquer equipamento instalado"},{param:"SO suportado",value:"Windows (compatibilidade nativa)"},{param:"Implantação",value:"On-premises, nuvem pública/privada (território nacional) ou híbrido"},{param:"Ativação",value:"Dias, não meses — piloto implantável em até 7 dias úteis"}]},{id:"s10",title:"1.10 Segurança da Informação, Governança e LGPD",type:"capabilities",items:[{label:"Controle de acesso RBAC",detail:"Segregação de funções e menor privilégio"},{label:"Trilhas de auditoria completas",detail:"Logs de operação, comandos, alterações de configuração e prompts"},{label:"Proteção de dados",detail:"Em trânsito e em repouso"},{label:"Políticas de retenção e descarte",detail:"Pseudonimização/anonimização quando aplicável"},{label:"Gestão de perfis de acesso",detail:"Restrições operacionais por nível"},{label:"Conformidade com LGPD",detail:"Minimização, finalidade, necessidade e prestação de contas"},{label:"Armazenamento de credenciais",detail:"Windows Credential Manager/DPAPI ou equivalente — vedado texto simples"}]},{id:"s11",title:"1.11 Disponibilidade e Continuidade Operacional",type:"capabilities",items:[{label:"Operação 24×7",detail:"Monitoramento contínuo sem interrupção"},{label:"Recuperação automática",detail:"Retomada após falhas de stream sem intervenção"},{label:"Resiliência a quedas de conectividade",detail:"Reprocessamento de conteúdo gravado"},{label:"Filas e reprocessamento",detail:"Garantia de cobertura sem lacunas"},{label:"Alta disponibilidade",detail:"Redundância, replicação e balanceamento quando configurados"}]},{id:"s12",title:"1.12 Integração com Rede Cooperativa Privada",desc:"Capacidade exclusiva do ecossistema AiQuimist: câmeras privadas de usuários voluntários participam automaticamente de buscas públicas — sem transmitir vídeo, sem abrir portas de rede.",type:"capabilities",items:[{label:"Distribuição gratuita",detail:"Solução para ambiente Windows distribuível a usuários privados em todo o País"}
45,{label:"Mecanismo de pareamento",detail:"Código de ativação, vinculação e revogação de dispositivo"},{label:"Endpoints autorizados",detail:"Apenas endpoints autorizados podem consumir ou publicar dados/eventos"},{label:"Detecção e notificação local",detail:"Análise ocorre no computador do usuário privado"},{label:"Notificação de correspondência",detail:"Automática à plataforma central quando há match com watchlist"},{label:"Alerta estruturado",detail:"Imagem/recorte com overlay, data/hora, câmera, endereço completo, GPS, nível de confiança, identificador"},{label:"Algoritmos Re-ID",detail:"Reidentificação e, quando aplicável e autorizado, reconhecimento facial"},{label:"Participação voluntária",detail:"O usuário decide se ativa a cooperação e quais câmeras participam"},{label:"Privacidade por design",detail:"Nenhuma porta aberta, nenhum stream transmitido continuamente"},{label:"LGPD integral",detail:"Análise local, compartilhamento apenas do resultado relevante"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Inteligência institucional para operações públicas e ambientes de missão crítica",sections:[{title:"2.1 Foco e Escopo de Operação",desc:"Plataforma voltada para o setor público, institucional e corporativo de alta criticidade. Opera sobre redes de câmeras de grande escala.",type:"list",items:["Prefeituras, governos estaduais e federais","Forças policiais, guardas municipais e secretarias de segurança","Centros integrados de comando e controle (CIOPs)","Presídios e unidades prisionais","Aeroportos, portos e terminais","Fronteiras e infraestrutura crítica nacional","Empresas públicas e grandes corporações privadas de operação complexa","Grandes empresas privadas: bancos, logística e outras"]},{title:"2.2 Infraestrutura Exclusiva",type:"params",params:[{param:"Onde roda",value:"Servidores do próprio cliente (on-premise)"},{param:"Segurança de dados",value:"100% interno — nenhuma informação exposta à internet"},{param:"GPU",value:"Não exigida"},{param:"Servidores",value:"Convencionais — dedicados ao banco de dados e leitura simultânea de câmeras"},{param:"Escala",value:"Redes institucionais de grande porte — dezenas a milhares de câmeras"}]},{title:"2.3 Detecções Específicas",type:"list",items:["Movimentações suspeitas em perímetros, acessos e ambientes críticos","Comportamentos incompatíveis com áreas sensíveis","Invasões e tentativas de acesso não autorizado","Conflitos e situações de violência","Tentativas de fuga em unidades de custódia","Presença de armas","Abandono de objetos em locais de risco","Alterações bruscas de padrão comportamental","Concentração anormal de pessoas em pontos críticos","Situações de risco em missão crítica — aeroportos, fronteiras, presídios","Motor Temporal: executa prompt e o sistema segue sem interferência humana"]},{title:"2.4 Coordenação da Rede Cooperativa",type:"list",items:["Dispara buscas e rastreamentos que se propagam para toda a malha pública e privada cooperante","Recebe notificações automáticas do Perceptrum quando há match com watchlist","Coordena operações integradas entre espaço público, viário (F.A.S.T.) e privado (Perceptrum)","Centraliza alertas, evidências e trilha de rastreamento de toda a rede integrada"]},{title:"2.5 Modelo Comercial",type:"params",params:[{param:"Licenciamento",value:"Institucional — contrato com órgão público ou corporação"},{param:"Implantação",value:"On-premise nos servidores do cliente"},{param:"Suporte",value:"Onboarding e configuração incluídos"},{param:"Piloto",value:"Implantável em até 7 dias úteis sobre infraestrutura existente"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Inteligência multimodal para o ambiente privado — do lar à grande corporação",sections:[{title:"2.6 Foco e Escopo de Operação",desc:"Plataforma voltada para o setor privado, comercial, residencial e condominial. Democratiza o acesso à inteligência de monitoramento avançado.",type:"list",items:["Residências e casas","Condomínios e edifícios residenciais e comerciais","Pequenos e médios comércios","Redes de varejo e lojas","Bancos e agências financeiras","Shopping centers e estacionamentos","Escolas e universidades privadas","Hospitais e clínicas privadas","Indústrias e galpões logísticos","Fazendas e propriedades rurais"]},{title:"2.7 Infraestrutura Exclusiva",type:"params",params:[{param:"On
45de roda",value:"Computador pessoal do usuário (doméstico ou corporativo)"},{param:"Processador mínimo",value:"Intel i5 ou superior"},{param:"GPU",value:"Não exigida"},{param:"Armazenamento",value:"Espaço em disco para imagens temporárias em análise"},{param:"DVR/NVR",value:"Leitura nativa para buscas em gravações anteriores"},{param:"Ativação",value:"Minutos — importação de câmeras via CSV e início imediato"}]},{title:"2.8 Detecções Específicas",type:"list",items:["Movimentações fora do padrão em horários ou locais incomuns","Furtos, roubos e assaltos — comportamentos típicos de subtração","Presença indevida em áreas restritas","Risco perimetral e tentativas de invasão","Pedidos de ajuda — gestos e comportamentos de socorro","Abandono de objetos suspeitos","Anormalidades operacionais em processos (logística, estoque, entregas)","Verificação automatizada de processos: veículo, placa, entregador, contagem de volumes","Eventos configuráveis por tipo de ambiente — perfil de cada instalação","Localiza infrator de medida protetiva (Maria da Penha etc.)"]},{title:"2.9 Cooperação Voluntária (exclusivo Perceptrum)",type:"list",items:["Flag de cooperação voluntária — o proprietário decide se ativa e quais câmeras participam","Quando ativado: câmera passa a participar de buscas emitidas pelo Perceptrum Corporate ou F.A.S.T.-AI","Análise executada localmente — no computador do próprio usuário privado","Nenhum stream de vídeo transmitido continuamente à central pública","Nenhuma porta de rede aberta externamente","Somente o resultado (match) é enviado à central — não as imagens","Alerta inclui: 
45imagem do indivíduo plotado, data/hora, câmera, endereço, GPS, nível de confiança","Participação revogável a qualquer momento pelo proprietário","Conformidade integral com LGPD — privacidade por design arquitetural"]},{title:"2.10 Modelo Comercial",type:"params",params:[{param:"Versão gratuita",value:"Funcionalidades básicas de monitoramento — sem custo, sem cartão de crédito"},{param:"Versão premium",value:"Acesso completo — licença mensal acessível"},{param:"Cooperação pública",value:"Gratuita para o usuário privado — custo pago pelo órgão público por consulta"},{param:"Custo para o Estado",value:"Centavos por busca — pago apenas quando a busca é acionada"},{param:"Distribuição",value:"Distribuível a usuários privados em todo o País"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Inteligência territorial, mobilidade e leitura dinâmica do espaço urbano",sections:[{title:"2.11 Foco e Escopo de Operação",desc:"Plataforma voltada para mobilidade, trânsito, ordenamento urbano e interpretação dinâmica do território.",type:"list",items:["Secretarias e departamentos municipais de trânsito e mobilidade","Centros de operação urbana (COUs)","Departamentos de obras e planejamento urbano","Órgãos de fiscalização de trânsito","Gestores de grandes eventos públicos","Concessionárias de rodovias e estacionamentos","Forças de segurança pública — rastreamento de veículos e operações viárias"]},{title:"2.12 Infraestrutura Exclusiva",type:"params",params:[{param:"Onde roda",value:"Servidores das empresas responsáveis por trânsito e ordenamento urbano"},{param:"GPU",value:"Não exigida (exceto análise de infrações complexas e SBC de prevenção de acidentes em rodovias)"},{param:"Armazenamento",value:"Baixo — lê diretamente NAS, DVR, NVR ou streaming existente"},{param:"Fontes compatíveis",value:"Câmeras públicas de vias, semáforos, radares fixos e móveis — qualquer padrão"},{param:"Escala",value:"Malha viária urbana completa — bairros, corredores, cidades"}]},{title:"2.13 Detecções Específicas",type:"list",items:["Infrações de trânsito — geração automática de multas com evidências","Acidentes e atropelamentos — detecção e notificação imediata","Formação de congestionamentos — detecção precoce antes do colapso","Bloqueios e desvios de via","Ocupação irregular do espaço público","Eventos atípicos que afetam a mobilidade urbana","Riscos operacionais em vias e áreas estratég
45icas","Padrões de fluxo, zonas críticas e recorrências","Rastreamento de veículos suspeitos — placa, modelo, cor, trajeto","Concentração e densidade de pessoas em vias e espaços públicos","Perseguição automática se solicitado pelo operador"]},{title:"2.14 Inteligência Territorial (exclusivo F.A.S.T.-AI)",type:"list",items:["Análise de padrões de fluxo veicular e de pedestres por horário, dia e zona","Identificação de zonas críticas e recorrências de incidentes","Apoio a decisões de planejamento viário e urbano com dados reais","Painel de gestão territorial em tempo real para secretários e gestores","Suporte à gestão de grandes eventos — densidade, fluxo, riscos de tumulto","Geração de informação estratégica contínua sobre o comportamento do território"]},{title:"2.15 Modelo Comercial",type:"params",params:[{param:"Licenciamento",value:"Municipal / estadual — contrato com órgão público de mobilidade ou segurança"},{param:"Implantação",value:"Servidores da prefeitura ou concessionária — sobre infraestrutura existente"},{param:"ROI direto",value:"Receita gerada por multas automáticas supera custo da plataforma"},{param:"Piloto",value:"Implantável em até 7 dias úteis sobre câmeras públicas existentes"}]}]}],comparison:{title:"Resumo Comparativo das Três Plataformas",rows:[{feature:"Foco principal",drakon:"Setor público e missão crítica",perceptrum:"Setor privado e residencial",fast:"Trânsito e ordenamento urbano"},{feature:"Onde roda",drakon:"Servidores do cliente (on-premise)",perceptrum:"Computador pessoal (i5+)",fast:"Servidores municipais/concessionária"},{feature:"GPU necessária",drakon:"❌ Não",perceptrum:"❌ Não",fast:"❌ Não (exceto SBC)"},{feature:"Substituição de câmeras",drakon:"❌ Não exigida",perceptrum:"❌ Não exigida",fast:"❌ Não exigida"},{feature:"Análise ao vivo (24/7)",drakon:"✅ Sim",perceptrum:"✅ Sim",fast:"✅ Sim"},{feature:"Pós-processamento gravado",drakon:"✅ Sim (DVR/NVR/NAS)",perceptrum:"✅ Sim (DVR/NVR/NAS)",fast:"✅ Sim (DVR/NVR/NAS)"},{feature:"JOBs por linguagem natural",drakon:"✅ Sim",perceptrum:"✅ Sim",fast:"✅ Sim"},{feature:"Integração API/Webhook",drakon:"✅ Sim",perceptrum:"✅ Sim",fast:"✅ Sim"},{feature:"Rastreamento multi-câmera",drakon:"✅ Sim",perceptrum:"✅ Sim",fast:"✅ Sim"},{feature:"Rede cooperativa privada",drakon:"✅ Coordena buscas",perceptrum:"✅ Participa (voluntário)",fast:"✅ Coordena buscas viárias"},{feature:"Versão gratuita disponível",drakon:"❌ Não",perceptrum:"✅ Sim (básico)",fast:"❌ Não"},{feature:"PoC disponível",drakon:"✅ Sim",perceptrum:"❌ Não",fast:"✅ Sim"},{feature:"Multas automáticas",drakon:"❌ Não é o foco",perceptrum:"❌ Não é o foco",fast:"✅ Sim — geração automática"},{feature:"Inteligência territorial",drakon:"Operacional institucional",perceptrum:"Operacional privada",fast:"✅ Territorial e urbana"},{feature:"LGPD compliant",drakon:"✅ Sim",perceptrum:"✅ Sim (por design)",fast:"✅ Sim"},{feature:"Tempo de ativação piloto",drakon:"Até 7 dias úteis",perceptrum:"Minutos",fast:"Até 7 dias úteis"}]}},en:{hero:{badge:"Technical Specifications",title:"Technical Specs",subtitle:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",desc:"Structured technical document for evaluation, procurement and integration processes. All specifications for the three AiQuimist platforms — shared capabilities and exclusive differentiators.",part1:"PART 1 — Core Specs",part1sub:"Capabilities present across all three platforms",part2:"PART 2 — Exclusive Specs",part2sub:"Platform-specific features and differentiators",part3:"Comparative Summary"},copy:"Copy table",copied:"Copied!",yes:"✅ Yes",no:"❌ No",feature:"Feature",capacity:"Capability",detail:"Detail",param:"Parameter",value:"Value",sections:[{id:"s1",title:"1.1 AI Engine — Universal Multimodal Interpretation",desc:"AiQuimist platform that simultaneously analyzes video, audio, text and image to extract real context and identify relevant situations.",type:"capabilities",items:[{label:"🎥 Video",detail
45:"Real-time analysis of live cameras and recordings. Recognizes scenes, objects, behaviors, movements and patterns."},{label:"🔊 Audio",detail:"Detection of speech, keywords, semantic patterns, tone of voice, urgency, conflict and configurable sounds of interest."},{label:"📄 Text & Image",detail:"Upload and analysis of files (video, image, audio, text). Evidence extraction, metadata and cross-source correlation."},{label:"Native temporal processing",detail:"Analyzes movement fluidity, not just isolated frames"},{label:"Massive context window",detail:"Maintains memory of long video/audio periods for event correlation"},{label:"Real-time analysis (live)",detail:"Camera streams and audio channels 24×7"},{label:"Post-processing",detail:"Same detection criteria applied to archives and recorded files: NVR, DVR, NAS"},{label:"Digital file upload",detail:"Video, image, audio and text for correlated multimodal analysis"},{label:"Emotional state identification",detail:"Reading of body language, tone of voice and behavioral signals"},{label:"AI provider abstraction",detail:"Configurable endpoints, credentials and limits; provider swap with minimal impact"}]},{id:"s2",title:"1.2 Camera and Source Ingestion",type:"mixed",items:[{label:"Universal compatibility",detail:"Any camera regardless of brand, manufacturer, model or generation"},{label:"Analog and digital",detail:"No hardware replacement required"},{label:"Primary protocol",detail:"RTSP, ONVIF and equivalent HTTP/file methods"},{label:"DVR / NVR / NAS",detail:"Reads equipment already installed at client site"},{label:"Bulk import",detail:"Excel or CSV with camera metadata (IP, manufacturer, user, password, port, etc.)"},{label:"Standalone operation",detail:"Fully local via internal network — no stream exposure to the internet"},{label:"Network security",detail:"No open ports for remote access or NAT/tunnel configurations"},{label:"Scalability",detail:"1 to N cameras/audio channels in parallel"},{label:"Stream availability",detail:"Monitoring and automatic recovery after failures"}]},{id:"s3",title:"1.3 Task Orchestration — JOB / STEP",desc:"Intelligent automation system that replaces human operators in surveillance routines. Created using natural language prompts — no code, no programming.",type:"capabilities",items:[{label:"JOB (task)",detail:"Monitoring unit that reads 1 or N cameras/channels and acts on defined conditions"},{label:"STEP (stage)",detail:"Each JOB consists of multiple chained stages; the result of one camera (output) feeds the next (input)"},{label:"Multiple sources per stage",detail:"Each STEP can trigger 1 or more cameras and/or 1 or more audio channels"},{label:"Intelligent chaining",detail:"Cognitive dependency between stages; flow changes based on previous result"},{label:"Native conditional decisions",detail:"Branches, interruption, repetition or escalation based on real result"},{label:"Prompt per channel",detail:"Each camera or audio channel receives a specific prompt within the same JOB (execution, alert and negative)"},{label:"Scheduling",detail:"Execution on scheduled days and times, with defined or continuous duration"},{label:"Instant activation/deactivation",detail:"No reconfiguration required"},{label:"Task versioning",detail:"History of configurations and prompts"}
45,{label:"Created by non-technical users",detail:"Operators without technical knowledge create complete JOBs via unified interface with intelligent agent assistance"}],params:[{param:"JOB creation",value:"Natural language (text or voice) — no code"},{param:"Chaining",value:"STEP N uses cognitive result of STEP N-1"},{param:"Sources per STEP",value:"1 or more cameras + 1 or more audio channels"},{param:"Scheduling",value:"Date, time, duration and recurrence configurable"}]},{id:"s4",title:"1.4 Detection and Classification Capabilities",type:"grouped",groups:[{label:"Video-based detection (computer vision / multimodal)",items:["Identification of relevant situations and actions per configured prompts","Recognition of persons of interest — watchlist with automatic event association","People counting with conditional triggers (more than X / less than X / exactly X)","Tracking of 1 or multiple individuals/vehicles over time","Multi-camera tracking with re-identification — follows displacement between cameras A → N → B","Route deviation detection and expected trajectory violation","Reading of license plates, signs and textual content visible in camera","Identification of configurable hand gestures and sign language gestures (when defined in prompt)","Emotional state detection and pre-conflict body language"]},{label:"Audio-based detection (speech / sounds / multimodal)",items:["Real-time and recorded audio analysis with transcription (STT) when applicable","Diarization — speaker separation and identification with per-speaker and full-conversation summaries","Spoken keyword detection per parameterization","Detection of configurable phrases and semantic patterns","Detection of speech patterns indicating occurrences — urgency, conflict, repetition","Highlighting of relevant excerpts for auditing"]},{label:"Alert system",items:["Alert on condition met — e.g.: 'group with X individuals detected at point A'","Alert on condition NOT met — e.g.: 'individual did not pass camera Y within timeframe T'","Alerts with passage sequence logic — configurable multipoint workflow","Configurable triggers, time windows and correlation criteria","Configurable severity levels, recipients and notification channels","Evidence attached to alerts — frames, video clips, audio segments","Alert lifecycle recording — generation, routing, receipt and closure"]}]},{id:"s5",title:"1.5 Contextualization and Evidence Generation",type:"capabilities",items:[{label:"Automatic contextual description",detail:"Generated in natural language for each detected event"},{label:"Structured metadata",detail:"Source, date/time, logical location, event type, severity"},{label:"Automatic correlation",detail:"Same individual, same area, same interval — across multiple sources"},{label:"Evidence extraction",detail:"Frames, video clips, audio segments, recognized text"},{label:"Inference traceability",detail:"Logs and auditing of all detections"},{label:"Operational reports",detail:"Complete audit trail"}]},{id:"s6",title:"1.6 Natural Language Operation",desc:"Any operator — without technical training — creates, configures and operates complete JOBs using text or voice. No programming, scripts or external tools.",type:"capabilities",items:[{label:"Natural language queries",detail:"Questions with contextualized responses"},{label:"Text and voice commands",detail:"Task creation, editing and activation"},{label:"Complete configuration via prompt",detail:"Monitoring, alerts, triggers and recipients"},{label:"Governance controls",detail:"Confirmation for critical actions, profile-based restrictions"},{label:"Audit trail",detail:"Record of all commands and changes"}]},{id:"s7",title:"1.7 External Integrations — API and Webhook",type:"capabilities",items:[{label:"Automatic webhook triggering",detail:"External API calls based on defined conditions"}
45,{label:"Configuration by non-technical users",detail:"Via natural language prompt"},{label:"Structured payload",detail:"Metadata and evidence in JSON"},{label:"Authentication on external calls",detail:"Tokens, keys, signatures and permission lists"},{label:"Request auditing",detail:"Complete log of all external calls"},{label:"Failure handling",detail:"Retries, queues and logs"},{label:"Interoperability",detail:"Dashboards, messaging, registration and management systems"}],params:[{param:"Protocol",value:"REST API + Webhooks"},{param:"Payload",value:"Structured JSON with metadata, evidence and context"},{param:"Authentication",value:"Tokens, keys, signatures and permission lists"},{param:"Auditing",value:"Complete log of all external calls"}]},{id:"s8",title:"1.8 Consumption Metrics and Cost Management",type:"capabilities",items:[{label:"Metrics per JOB/STEP",detail:"Detailed recording and availability"},{label:"Metrics per camera/audio channel",detail:"Individualized consumption per source"},{label:"Metrics per user/profile",detail:"Usage tracking per operator"},{label:"Token and request counting",detail:"Estimates and real values with latency"},{label:"Costs by dimension",detail:"JOB, camera and user"},{label:"Quotas and cost centers",detail:"Support for quotas and department segregation"}]},{id:"s9",title:"1.9 Hardware Requirements",type:"params",params:[{param:"GPU",value:"Not required — none of the three platforms"},{param:"GPU (F.A.S.T.-AI)",value:"Used for some complex violations and 
45SBC accident prevention solution on highways"},{param:"Proprietary hardware",value:"Not required — integrates with existing infrastructure"},{param:"Cameras",value:"No replacement — compatible with any installed equipment"},{param:"Supported OS",value:"Windows (native compatibility)"},{param:"Deployment",value:"On-premises, cloud public/private (national territory) or hybrid"},{param:"Activation",value:"Days, not months — pilot deployable within 7 business days"}]},{id:"s10",title:"1.10 Information Security, Governance and Data Protection",type:"capabilities",items:[{label:"RBAC access control",detail:"Function segregation and least privilege"},{label:"Complete audit trails",detail:"Operation logs, commands, configuration changes and prompts"},{label:"Data protection",detail:"In transit and at rest"},{label:"Retention and disposal policies",detail:"Pseudonymization/anonymization when applicable"},{label:"Access profile management",detail:"Operational restrictions by level"},{label:"GDPR/LGPD compliance",detail:"Minimization, purpose, necessity and accountability"},{label:"Credential storage",detail:"Windows Credential Manager/DPAPI or equivalent — plain text storage prohibited"}]},{id:"s11",title:"1.11 Availability and Operational Continuity",type:"capabilities",items:[{label:"24×7 operation",detail:"Continuous monitoring without interruption"}
45,{label:"Automatic recovery",detail:"Stream failure resumption without intervention"},{label:"Connectivity drop resilience",detail:"Reprocessing of recorded content"},{label:"Queues and reprocessing",detail:"Coverage guarantee without gaps"},{label:"High availability",detail:"Redundancy, replication and balancing when configured"}]},{id:"s12",title:"1.12 Integration with Private Cooperative Network",desc:"Unique AiQuimist ecosystem capability: private cameras from voluntary users automatically participate in public searches — without transmitting video, without opening network ports.",type:"capabilities",items:[{label:"Free distribution",detail:"Windows solution distributable to private users nationwide"},{label:"Pairing mechanism",detail:"Activation code, device linking and revocation"},{label:"Authorized endpoints only",detail:"Only authorized endpoints can consume or publish data/events"},{label:"Local detection and notification",detail:"Analysis runs on the private user's computer"},{label:"Match notification",detail:"Automatic to central platform when there is a watchlist match"},{label:"Structured alert",detail:"Individual image with overlay, date/time, camera, full address, GPS, confidence level, identifier"},{label:"Re-ID algorithms",detail:"Re-identification and, when applicable and authorized, facial recognition"},{label:"Voluntary participation",detail:"User decides whether to activate cooperation and which cameras participate"},{label:"Privacy by design",detail:"No open ports, no continuously transmitted streams"},{label:"Full GDPR/LGPD compliance",detail:"Local analysis, sharing only the relevant result"}]}],platforms:[{id:"drakon",product:"Perceptrum Corporate",color:"#00E5CC",icon:"🏛",tagline:"Institutional intelligence for public operations and mission-critical environments",sections:[{title:"2.1 Focus and Operational Scope",desc:"Platform designed for the public, institutional and high-criticality corporate sector. Operates across large-scale camera networks.",type:"list",items:["Municipalities, state and federal governments","Police forces, municipal guards and security secretariats","Integrated command and control centers (CIOCs)","Prisons and correctional facilities","Airports, ports and terminals","Borders and national critical infrastructure","Public companies and large private corporations with complex operations","Large private companies: banks, logistics and others"]},{title:"2.2 Exclusive Infrastructure",type:"params",params:[{param:"Runs on",value:"Client's own servers (on-premise)"},{param:"Data security",value:"100% internal — no information exposed to the internet"},{param:"GPU",value:"Not required"},{param:"Servers",value:"Conventional — dedicated to database and simultaneous camera reading"},{param:"Scale",value:"Large institutional networks — dozens to thousands of cameras"}]},{title:"2.3 Specific Detections",type:"list",items:["Suspicious movements in perimeters, access points and critical environments","Behaviors incompatible with sensitive areas","Intrusions and unauthorized access attempts","Conflicts and violent situations","Escape attempts in custody units","Presence of weapons","Abandoned objects in risk locations","Sudden changes in behavioral patterns","Abnormal crowd concentration at critical points","Risk situations in mission-critical environments — airports, borders, prisons","Temporal Engine: executes prompt and the system proceeds without human intervention"]},{title:"2.4 Cooperative Network Coordination",type:"list",items:["Triggers searches and tracking that propagate across the entire public and cooperative private network","Receives automatic notifications from Perceptrum when there is a watchlist match","Coordinates integrated operations between public (Perceptrum Corporate), road (F.A.S.T.) and private (Perceptrum Personal) spaces","Centralizes alerts, evidence and tracking trail from the entire integrated network"]},{title:"2.5 Commercial Model",type:"params",params:[{param:"Licensing",value:"Institutional — contract with public agency or corporation"},{param:"Deployment",value:"On-premise on client's servers"},{param:"Support",value:"Onboarding and configuration included"},{param:"Pilot",value:"Deployable within 7 business days on existing infrastru
45cture"}]}]},{id:"perceptrum",product:"Perceptrum Personal",color:"#9B30FF",icon:"🏢",tagline:"Multimodal intelligence for the private environment — from home to large corporation",sections:[{title:"2.6 Focus and Operational Scope",desc:"Platform designed for the private, commercial, residential and condominium sector. Democratizes access to advanced monitoring intelligence.",type:"list",items:["Residences and homes","Residential and commercial condominiums and buildings","Small and medium businesses","Retail chains and stores","Banks and financial institutions","Shopping centers and parking lots","Private schools and universities","Private hospitals and clinics","Warehouses and logistics facilities","Farms and rural properties"]},{title:"2.7 Exclusive Infrastructure",type:"params",params:[{param:"Runs on",value:"User's personal computer (home or corporate)"},{param:"Minimum processor",value:"Intel i5 or better"},{param:"GPU",value:"Not required"},{param:"Storage",value:"Disk space for temporary images under analysis"},{param:"DVR/NVR",value:"Native reading for searches in previous recordings"},{param:"Activation",value:"Minutes — camera import via CSV and immediate start"}]},{title:"2.8 Specific Detections",type:"list",items:["Out-of-pattern movements at unusual times or locations","Theft, robbery and assault — typical subtraction behaviors","Unauthorized presence in restricted areas","Perimeter risk and intrusion attempts","Calls for help — distress gestures and behaviors","Abandoned suspicious objects","Operational anomalies in processes (logistics, inventory, deliveries)","Automated process verification: vehicle, license plate, delivery person, volume counting","Configurable events by environment type — profile per installation","Locates violations of protective orders (domestic violence restraining orders etc.)"]},{title:"2.9 Voluntary Cooperation (Perceptrum exclusive)",type:"list",items:["Voluntary cooperation flag — the owner decides whether to activate and which cameras participate","When activated: camera joins searches issued by Perceptrum Corporate or F.A.S.T.-AI","Analysis executed locally — on the private user's own computer","No continuous video stream transmitted to the public center","No external network ports opened","Only the result (match) is sent to the center — not the images","Alert includes: individual image with overlay, date/time, camera, address, GPS, confidence level","Participation revocable at any time by the owner","Full GDPR/LGPD compliance — privacy by architectural design"]},{title:"2.10 Commercial Model",type:"params",params:[{param:"Free version",value:"Basic monitoring features — no cost, no credit card"},{param:"Premium version",value:"Full access — affordable monthly license"},{param:"Public cooperation",value:"Free for the private user — cost paid by public agency per query"},{param:"Cost for the State",value:"Cents per search — paid only when the search is triggered"},{param:"Distribution",value:"Distributable to private users nationwide"}]}]},{id:"fast-ai",product:"F.A.S.T.-AI",color:"#00AAFF",icon:"🚦",tagline:"Territorial intelligence, mobility and dynamic reading of urban space",sections:[{title:"2.11 Focus and Operational Scope",desc:"Platform designed for mobility, traffic, urban planning and dynamic territorial interpretation.",type:"list",items:["Municipal transit and mobility secretariats and departments","Urban operations centers (COUs)","Public works and urban planning departments","Traffic enforcement agencies","Large public event managers","Highway and parking concessionaires","Public security forces — vehicle tracking and road operations"]},{title:"2.12 Exclusive Infrastructure",type:"params",params:[{param:"Runs on",value:"Servers of companies responsible for traffic and urban planning"},{param:"GPU",value:"Not required (except complex violation analysis and SBC accident prevention on highways)"},{param:"Storage",value:"Low — reads directly from NAS, DVR, NVR or existing streaming"},{param:"Compatible sources",value:"Public road cameras, traffic lights, fixed and mobile radars — any standard"},{param:"Scale",value:"Complete urban road network — neighborhoods, corri
45dors, cities"}]},{title:"2.13 Specific Detections",type:"list",items:["Traffic violations — automatic fine generation with evidence","Accidents and pedestrian incidents — detection and immediate notification","Congestion formation — early detection before collapse","Road blockages and diversions","Irregular occupation of public space","Atypical events affecting urban mobility","Operational risks on roads and strategic areas","Flow patterns, critical zones and recurrences","Suspicious vehicle tracking — license plate, model, color, route","People concentration and density on roads and public spaces","Automatic pursuit if requested by the operator"]},{title:"2.14 Territorial Intelligence (F.A.S.T.-AI exclusive)",type:"list",items:["Analysis of vehicular and pedestrian flow patterns by time, day and zone","Identification of critical zones and incident recurrences","Support for road and urban planning decisions with real data","Real-time territorial management dashboard for secretaries and managers","Support for large event management — density, flow, riot risks","Continuous strategic information generation on territorial behavior"]},{title:"2.15 Commercial Model",type:"params",params:[{param:"Licensing",value:"Municipal / state — contract with public mobility or security agency"},{param:"Deployment",value:"City hall or concessionaire servers — on existing infrastructure"},{param:"Direct ROI",value:"Revenue from automatic fines exceeds platform cost"},{param:"Pilot",value:"Deployable within 7 business days on existing public cameras"}]}]}],comparison:{title:"Comparative Summary of the Three Platforms",rows:[{feature:"Primary focus",drakon:"Public sector and mission-critical",perceptrum:"Private and residential sector",fast:"Traffic and urban planning"},{feature:"Runs on",drakon:"Client's servers (on-premise)",perceptrum:"Personal computer (i5+)",fast:"Municipal/concessionaire servers"},{feature:"GPU required",drakon:"❌ No",perceptrum:"❌ No",fast:"❌ No (except SBC)"},{feature:"Camera replacement",drakon:"❌ Not required",perceptrum:"❌ Not required",fast:"❌ Not required"},{feature:"Live analysis (24/7)",drakon:"✅ Yes",perceptrum:"✅ Yes",fast:"✅ Yes"},{feature:"Recorded post-processing",drakon:"✅ Yes (DVR/NVR/NAS)",perceptrum:"✅ Yes (DVR/NVR/NAS)",fast:"✅ Yes (DVR/NVR/NAS)"},{feature:"Natural language JOBs",drakon:"✅ Yes",perceptrum:"✅ Yes",fast:"✅ Yes"},{feature:"API/Webhook integration",drakon:"✅ Yes",perceptrum:"✅ Yes",fast:"✅ Yes"},{feature:"Multi-camera tracking",drakon:"✅ Yes",perceptrum:"✅ Yes",fast:"✅ Yes"},{feature:"Private cooperative network",drakon:"✅ Coordinates searches",perceptrum:"✅ Participates (voluntary)",fast:"✅ Coordinates road searches"},{feature:"Free version available",drakon:"❌ No",perceptrum:"✅ Yes (basic)",fast:"❌ No"},{feature:"PoC available",drakon:"✅ Yes",perceptrum:"❌ No",fast:"✅ Yes"},{feature:"Automatic fines",drakon:"❌ Not the focus",perceptrum:"❌ Not the focus",fast:"✅ Yes — automatic generation"},{feature:"Territorial intelligence",drakon:"Institutional operational",perceptrum:"Private operational",fast:"✅ Territorial and urban"},{feature:"GDPR/LGPD compliant",drakon:"✅ Yes",perceptrum:"✅ Yes (by design)",fast:"✅ Yes"},{feature:"Pilot activation time",drakon:"Up to 7 business days",perceptrum:"Minutes",fast:"Up to 7 business days"}]}}};function fn({text:s,label:i,copied:l}){const[o,u]=C.useState(!1),p=()=>{navigator.clipboard.writeText(s).then(()=>{u(!0),setTimeout(()=>u(!1),2e3)})};return e.jsxs("button",{onClick:p,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-semibold transition-all duration-200 border",style:{background:o?"rgba(0,229,204,0.15)":"rgba(255,255,255,0.05)",borderColor:o?"rgba(0,229,204,0.5)":"rgba(255,255,255,0.12)",color:o?"#00E5CC":"rgba(255,255,255,0.5)"},children:[o?e.jsx(i2,{className:"w-3 h-3"}):e.jsx(r2,{className:"w-3 h-3"}),o?l:i]})}function rb({items:s,color:i,copy:l,copied:o}){const u=s.map(p=>`${p.label}	${p.detail}`).join(`
46`);return e.jsxs("div",{className:"overflow-x-auto",children:[e.jsx("div",{className:"flex justify-end mb-2",children:e.jsx(fn,{text:u,label:l,copied:o})}),e.jsx("table",{className:"w-full text-sm border-collapse",children:e.jsx("tbody",{children:s.map((p,f)=>e.jsxs("tr",{className:f%2===0?"bg-[rgba(255,255,255,0.02)]":"",children:[e.jsxs("td",{className:"py-2.5 px-4 border border-[rgba(255,255,255,0.07)] font-mono font-semibold w-[35%] align-top",style:{color:i},children:["✓ ",p.label]}),e.jsx("td",{className:"py-2.5 px-4 border border-[rgba(255,255,255,0.07)] text-[#C0D8E0]/80 align-top select-all",children:p.detail})]},f))})})]})}
46function sb({params:s,color:i,copy:l,copied:o}){const u=s.map(p=>`${p.param}	${p.value}`).join(`
47`);return e.jsxs("div",{className:"overflow-x-auto",children:[e.jsx("div",{className:"flex justify-end mb-2",children:e.jsx(fn,{text:u,label:l,copied:o})}),e.jsx("table",{className:"w-full text-sm border-collapse",children:e.jsx("tbody",{children:s.map((p,f)=>e.jsxs("tr",{className:f%2===0?"bg-[rgba(255,255,255,0.02)]":"",children:[e.jsx("td",{className:"py-2.5 px-4 border border-[rgba(255,255,255,0.07)] font-mono text-xs font-bold w-[30%] align-top",style:{color:i},children:p.param}),e.jsx("td",{className:"py-2.5 px-4 border border-[rgba(255,255,255,0.07)] text-[#C0D8E0]/85 align-top select-all",children:p.value})]},f))})})]})}function _N({items:s,color:i,copy:l,copied:o}){const u=s.map(p=>`✓ ${p}`).join(`
48`);return e.jsxs("div",{className:"overflow-x-auto",children:[e.jsx("div",{className:"flex justify-end mb-2",children:e.jsx(fn,{text:u,label:l,copied:o})}),e.jsx("table",{className:"w-full text-sm border-collapse",children:e.jsx("tbody",{children:s.map((p,f)=>e.jsx("tr",{className:f%2===0?"bg-[rgba(255,255,255,0.02)]":"",children:e.jsxs("td",{className:"py-2.5 px-4 border border-[rgba(255,255,255,0.07)]",children:[e.jsx("span",{className:"font-bold mr-2",style:{color:i},children:"✓"}),e.jsx("span",{className:"text-[#C0D8E0]/85 select-all",children:p})]})},f))})})]})}function KN({groups:s,color:i,copy:l,copied:o}){const u=s.map(p=>`${p.label}
49${p.items.map(f=>`  ✓ ${f}`).join(`
50`)}`).join(`
51
52`);return e.jsxs("div",{className:"overflow-x-auto",children:[e.jsx("div",{className:"flex justify-end mb-2",children:e.jsx(fn,{text:u,label:l,copied:o})}),e.jsx("table",{className:"w-full text-sm border-collapse",children:e.jsx("tbody",{children:s.map((p,f)=>e.jsxs(Ee.Fragment,{children:[e.jsx("tr",{children:e.jsx("td",{colSpan:1,className:"py-2 px-4 border border-[rgba(255,255,255,0.07)] font-bold text-xs uppercase tracking-wider",style:{background:`${i}18`,color:i},children:p.label})}),p.items.map((m,h)=>e.jsx("tr",{className:h%2===0?"bg-[rgba(255,255,255,0.02)]":"",children:e.jsxs("td",{className:"py-2.5 px-4 pl-8 border border-[rgba(255,255,255,0.07)]",children:[e.jsx("span",{className:"font-bold mr-2",style:{color:i},children:"✓"}),e.jsx("span",{className:"text-[#C0D8E0]/85 select-all",children:m})]})},`g${f}i${h}`))]},`g${f}`))})})]})}function nb({section:s,color:i,copy:l,copied:o}){const[u,p]=C.useState(!0);return e.jsxs("div",{className:"rounded-xl border overflow-hidden mb-4",style:{borderColor:`${i}22`},children:[e.jsxs("button",{onClick:()=>p(!u),className:"w-full flex items-center justify-between px-5 py-4 text-left hover:bg-[rgba(255,255,255,0.02)] transition-colors",style:{background:`${i}0C`},children:[e.jsx("span",{className:"font-bold text-white text-sm md:text-base",children:s.title}),e.jsx("span",{style:{color:i},children:u?e.jsx(kb,{className:"w-4 h-4"}):e.jsx(tn,{className:"w-4 h-4"})})]}),u&&e.jsxs("div",{className:"p-4 bg-[#0A0C11]",children:[s.desc&&e.jsx("p",{className:"text-[#C0D8E0]/70 text-sm mb-4 leading-relaxed",children:s.desc}),s.type==="capabilities"&&e.jsx(rb,{items:s.items,color:i,copy:l,copied:o}),s.type==="params"&&e.jsx(sb,{params:s.params,color:i,copy:l,copied:o}),s.type==="list"&&e.jsx(_N,{items:s.items,color:i,copy:l,copied:o}),s.type==="grouped"&&e.jsx(KN,{groups:s.groups,color:i,copy:l,copied:o}),s.type==="mixed"&&e.jsx(rb,{items:s.items,color:i,copy:l,copied:o}),s.params&&s.type!=="params"&&e.jsx("div",{className:"mt-4",children:e.jsx(sb,{params:s.params,color:i,copy:l,copied:o})})]})]})}function WN(){const i=C.useContext(wo)?.lang??"en",l=i==="pt"?su.pt:su[i]??HN[i]??su.en,o=l.comparison.rows.map(u=>`${u.feature}	${u.drakon}	${u.perceptrum}	${u.fast}`).join(`
53`);return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 text-white font-sans",children:[e.jsx(ha,{title:"Technical Specifications — AiQuimist.ai Platforms",description:"Detailed technical specifications for Perceptrum Corporate, Perceptrum Personal, and F.A.S.T.-AI — hardware requirements, API integrations, AI models, and deployment options.",canonical:"https://aiquimist.ai/specs"}),e.jsx("section",{className:"py-16 border-b border-[rgba(0,229,204,0.12)] bg-[#0A0C11]",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center",children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-black uppercase tracking-wider mb-6",children:l.hero.badge}),e.jsx("h1",{className:"text-4xl md:text-6xl font-black text-white mb-3",children:l.hero.title}),e.jsx("p",{className:"text-[#00E5CC] font-semibold mb-4",children:l.hero.subtitle}),e.jsx("p",{className:"text-[#C0D8E0]/70 max-w-3xl mx-auto leading-relaxed",children:l.hero.desc})]}),e.jsx("div",{className:"flex flex-wrap justify-center gap-3 mt-10",children:[{id:"part1",label:l.hero.part1,sub:l.hero.part1sub,color:"#00E5CC"},{id:"part2",label:l.hero.part2,sub:l.hero.part2sub,color:"#9B30FF"},{id:"comparison",label:l.hero.part3,sub:"Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI",color:"#CC44DD"}].map(u=>e.jsxs("button",{onClick:()=>document.getElementById(u.id)?.scrollIntoView({behavior:"smooth"}),className:"flex flex-col items-center px-5 py-3 rounded-xl border transition-all hover:scale-105",style:{borderColor:`${u.color}30`,background:`${u.color}08`},children:[e.jsx("span",{className:"text-sm font-black",style:{color:u.color},children:u.label}),e.jsx("span",{className:"text-xs text-[#B0C8D0]/40 mt-0.5",children:u.sub})]},u.id))})]})}),e.jsx("section",{id:"part1",className:"py-16",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(T,{children:e.jsxs("div",{className:"flex items-center gap-4 mb-10",children:[e.jsx("div",{className:"flex-1 h-px bg-[rgba(0,229,204,0.2)]"}),e.jsxs("div",{className:"px-6 py-2 rounded-full border border-[rgba(0,229,204,0.3)] bg-[rgba(0,229,204,0.08)]",children:[e.jsx("p",{className:"text-[#00E5CC] font-black text-sm tracking-widest",children:l.hero.part1}),e.jsx("p",{className:"text-[#C0D8E0]/50 text-xs text-center",children:l.hero.part1sub})]}),e.jsx("div",{className:"flex-1 h-px bg-[rgba(0,229,204,0.2)]"})]})}),l.sections.map(u=>e.jsx(T,{children:e.jsx(nb,{section:u,color:"#00E5CC",copy:l.copy,copied:l.copied})},u.id))]})}),e.jsx("section",{id:"part2",className:"py-16 bg-[#0A0C11] border-t border-[rgba(155,48,255,0.15)]",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(T,{children:e.jsxs("div",{className:"flex items-center gap-4 mb-10",children:[e.jsx("div",{className:"flex-1 h-px bg-[rgba(155,48,255,0.2)]"}),e.jsxs("div",{className:"px-6 py-2 rounded-full border border-[rgba(155,48,255,0.3)] bg-[rgba(155,48,255,0.08)]",children:[e.jsx("p",{className:"text-[#9B30FF] font-black text-sm tracking-widest",children:l.hero.part2}),e.jsx("p",{className:"text-[#C0D8E0]/50 text-xs text-center",children:l.hero.part2sub})]}),e.jsx("div",{className:"flex-1 h-px bg-[rgba(155,48,255,0.2)]"})]})}),l.platforms.map(u=>e.jsxs(T,{className:"mb-12",children:[e.jsx("div",{id:u.id,className:"rounded-2xl p-6 mb-4 border",style:{background:`${u.color}08`,borderColor:`${u.color}30`},children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-3xl",children:u.icon}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-black",style:{color:u.color},children:u.product}),e.jsx("p",{className:"text-[#C0D8E0]/60 text-sm",children:u.tagline})]})]})}),u.sections.map((p,f)=>e.jsx(nb,{section:p,color:u.color,copy:l.copy,copied:l.copied},f))]},u.id))]})}),e.jsx("section",{id:"comparison",className:"py-16 border-t border-[rgba(204,68,221,0.15)]",children:e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs(T,{children:[e.jsxs("div",{className:"flex items-center gap-4 mb-10",children:[e.jsx("div",{className:"flex-1 h-px bg-[rgba(204,68,221,0.2)]"}),e.jsx("div",{className:"px-6 py-2 rounded-full border border-[rgba(204,68,221,0.3)] bg-[rgba(204,68,221,0.08)]",children:e.jsx("p",{className:"text-[#CC44DD] font-black text-sm tracking-widest text-center",children:l.comparison.title})}),e.jsx("div",{className:"flex-1 h-px bg-[rgba(204,68,221,0.2)]"})]}),e.jsx("div",{className:"flex justify-end mb-3",children:e.jsx(fn,{text:o,label:l.copy,copied:l.copied})}),e.jsx("div",{className:"overflow-x-auto rounded-xl border border-[rgba(204,68,221,0.2)]",children:e.jsxs("table",{className:"w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{background:"rgba(204,68,221,0.12)"},children:[e.jsx("th",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-left font-bold text-[#CC44DD] text-xs uppercase tracking-wider w-[28%]",children:l.feature}),e.jsx("th",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center font-black text-[#00E5CC] text-xs uppercase tracking-wider",children:"🏛 Perceptrum Corporate"}),e.jsx("th",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center font-black text-[#9B30FF] text-xs uppercase tracking-wider",children:"🏢 Perceptrum Personal"}),e.jsx("th",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center font-black text-[#00AAFF] text-xs uppercase tracking-wider",children:"🚦 F.A.S.T.-AI"})]})}),e.jsx("tbody",{children:l.comparison.rows.map((u,p)=>e.jsxs("tr",{className:p%2===0?"bg-[rgba(255,255,255,0.015)]":"",children:[e.jsx("td",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] font-semibold text-[#C0D8E0] text-xs",children:u.feature}),e.jsx("td",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center text-[#C0D8E0]/80 text-xs select-all",children:u.drakon}),e.jsx("td",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center text-[#C0D8E0]/80 text-xs select-all",children:u.perceptrum}),e.jsx("td",{className:"py-3 px-4 border border-[rgba(255,255,255,0.07)] text-center text-[#C0D8E0]/80 text-xs select-all",children:u.fast})]},p))})]})})]})})}),e.jsx("div",{className:"py-8 border-t border-[rgba(0,229,204,0.08)] text-center",children:e.jsx("p",{className:"text-[#C0D8E0]/30 text-xs",children:"AiQuimist.ai · Perceptrum Corporate · Perceptrum Personal · F.A.S.T.-AI · www.aiquimist.ai"})})]})}function QN(){const{t:s}=_e(),i=s.drakonGov;if(!i)return null;const l=[{tag:i.sc1tag,title:i.sc1title,desc:i.sc1desc,pills:[i.sc1p1,i.sc1p2,i.sc1p3]}
53,{tag:i.sc2tag,title:i.sc2title,desc:i.sc2desc,pills:[i.sc2p1,i.sc2p2,i.sc2p3]},{tag:i.sc3tag,title:i.sc3title,desc:i.sc3desc,pills:[i.sc3p1,i.sc3p2,i.sc3p3]},{tag:i.sc4tag,title:i.sc4title,desc:i.sc4desc,pills:[i.sc4p1,i.sc4p2,i.sc4p3]}],o=[i.hw1,i.hw2,i.hw3,i.hw4,i.hw5],u=[i.ai1,i.ai2,i.ai3,i.ai4,i.ai5],p=[{num:"1",tag:i.orch1tag,title:i.orch1title,desc:i.orch1desc,badge:i.orch1badge,color:"#00E5CC"},{num:"2",tag:i.orch2tag,title:i.orch2title,desc:i.orch2desc,badge:i.orch2badge,color:"#9B30FF"},{num:"3",tag:i.orch3tag,title:i.orch3title,desc:i.orch3desc,badge:i.orch3badge,color:"#CC44DD"}],f=[{icon:e.jsx(pa,{size:28}),title:i.mod1title,desc:i.mod1desc},{icon:e.jsx(He,{size:28}),title:i.mod2title,desc:i.mod2desc},{icon:e.jsx(cu,{size:28}),title:i.mod3title,desc:i.mod3desc},{icon:e.jsx(Lt,{size:28}),title:i.mod4title,desc:i.mod4desc},{icon:e.jsx(It,{size:28}),title:i.mod5title,desc:i.mod5desc},{icon:e.jsx(wi,{size:28}),title:i.mod6title,desc:i.mod6desc},{icon:e.jsx(ou,{size:28}),title:i.mod7title,desc:i.mod7desc},{icon:e.jsx(s2,{size:28}),title:i.mod8title,desc:i.mod8desc}],m=[{icon:e.jsx(Yr,{size:28}),title:i.tech1title,desc:i.tech1desc},{icon:e.jsx(qa,{size:28}),title:i.tech2title,desc:i.tech2desc},{icon:e.jsx(Ca,{size:28}),title:i.tech3title,desc:i.tech3desc},{icon:e.jsx($e,{size:28}),title:i.tech4title,desc:i.tech4desc}],h=[{title:"Perceptrum Corporate",desc:i.eco1desc,color:"#00E5CC"},{title:"F.A.S.T.-AI",desc:i.eco2desc,color:"#00AAFF"},{title:"Perceptrum Personal",desc:i.eco3desc,color:"#9B30FF"}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"City",className:"w-full h-full object-cover opacity-25"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/60 via-trans
53parent to-[#080A0F]"}),e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,rgba(155,48,255,0.12)_0%,transparent_70%)]"})]}),e.jsx("div",{className:"relative z-10 max-w-7xl mx-auto px-6 text-center",children:e.jsxs(T,{children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("img",{src:"/images/logo-perceptrum.png",alt:"Perceptrum",className:"h-24 md:h-32 w-auto object-contain",style:{filter:"drop-shadow(0 0 28px rgba(155,48,255,0.30))"}})}),e.jsxs("span",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full border border-[rgba(155,48,255,0.4)] bg-[rgba(155,48,255,0.08)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-8",children:[e.jsx(pa,{size:14})," ",i.heroTag]}),e.jsxs("h1",{className:"font-display text-5xl md:text-7xl font-black leading-[0.9] mb-8 tracking-tight",children:[i.heroTitle1,e.jsx("br",{}),e.jsx("span",{style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:i.heroTitle2})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-16",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",boxShadow:"0 0 32px rgba(155,48,255,0.4)",color:"#fff"},children:i.heroCta1})}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("orchestration")?.scrollIntoView({behavior:"smooth"}),children:i.heroCta2})]}),e.jsx("div",{className:"grid grid-cols-3 gap-6 max-w-lg mx-auto",children:[{val:"26+",label:i.statLabel1},{val:"5.570",label:i.statLabel2},{val:"24/7",label:i.statLabel3}].map((b,g)=>e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"font-display text-3xl font-black",style:{color:"#9B30FF"},children:b.val}),e.jsx("div",{className:"text-xs text-[#B0C8D0]/70 font-mono mt-1",children:b.label})]},g))})]})})]}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(155,48,255,0.3)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-4",children:i.reachTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-6",children:i.reachTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-3xl mx-auto leading-relaxed",children:i.reachDesc})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:l.map((b,g)=>e.jsx(T,{delay:g*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.9)] border border-[rgba(155,48,255,0.2)] rounded-2xl p-6 hover:border-[rgba(155,48,255,0.5)] transition-all duration-300 hover:shadow-[0_0_30px_rgba(155,48,255,0.15)]",children:[e.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:b.pills.map((v,k)=>e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-mono border border-[rgba(0,229,204,0.25)] text-[#00E5CC] bg-[rgba(0,229,204,0.06)]",children:v},k))}),e.jsx("h3",{className:"font-display text-xl font-bold mb-3 text-[#CC44DD]",children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed",children:b.desc})]})},g))})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-mono tracking-widest uppercase mb-4",children:i.humanTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.humanTitle})]})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:[e.jsx(T,{delay:.1,children:e.jsxs("div",{className:"bg-[rgba(20,10,10,0.9)] border border-[rgba(255,80,80,0.2)] rounded-2xl p-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx($g,{className:"text-red-400",size:24}),e.jsx("h3",{className:"font-display text-xl font-bold text-red-400",children:i.humanLabel})]}),e.jsx("ul",{className:"space-y-4",children:o.map((b,g)=>e.jsxs("li",{className:"flex items-start gap-3 text-[#B0C8D0]/80 text-sm",children:[e.jsx($g,{size:16,className:"text-red-500 mt-0.5 shrink-0"}),b]},g))})]})}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"bg-[rgba(0,20,15,0.9)] border border-[rgba(0,229,204,0.25)] rounded-2xl p-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx(Xe,{className:"text-[#00E5CC]",size:24}),e.jsx("h3",{className:"font-display text-xl font-bold text-[#00E5CC]",children:"Perceptrum Corporate"})]}),e.jsx("ul",{className:"space-y-4",children:u.map((b,g)=>e.jsxs("li",{className:"flex items-start gap-3 text-[#B0C8D0]/80 text-sm",children:[e.jsx(Xe,{size:16,className:"text-[#00E5CC] mt-0.5 shrink-0"}),b]},g))})]})})]})]})}),e.jsx("section",{id:"orchestration",className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(155,48,255,0.3)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-4",children:i.orchTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.orchTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-2xl mx-auto",children:i.orchDesc})]})}),e.jsxs("div",{className:"relative max-w-5xl mx-auto",children:[e.jsx("div",{className:"absolute left-12 top-16 bottom-16 w-px bg-gradient-to-b from-[#00E5CC] via-[#9B30FF] to-[#CC44DD] hidden md:block"}),e.jsx("div",{className:"space-y-8",children:p.map((b,g)=>e.jsx(T,{delay:g*.15,children:e.jsxs("div",{className:"flex gap-8 items-start",children:[e.jsx("div",{className:"relative z-10 w-24 shrink-0 flex flex-col items-center",children:e.jsx("div",{className:"w-12 h-12 rounded-full border-2 flex items-center justify-center font-display text-xl font-black",style:{borderColor:b.color,color:b.color,background:`rgba(${b.color==="#00E5CC"?"0,229,204":b.color==="#9B30FF"?"155,48,255":"204,68,221"}
53,0.1)`},children:b.num})}),e.jsxs("div",{className:"flex-1 bg-[rgba(13,15,20,0.9)] border rounded-2xl p-6 transition-all duration-300",style:{borderColor:`rgba(${b.color==="#00E5CC"?"0,229,204":b.color==="#9B30FF"?"155,48,255":"204,68,221"},0.2)`},children:[e.jsx("span",{className:"text-xs font-mono tracking-widest uppercase mb-2 block",style:{color:b.color},children:b.tag}),e.jsx("h3",{className:"font-display text-xl font-bold mb-2",children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed mb-4",children:b.desc}),e.jsx("span",{className:"inline-block px-3 py-1 rounded-full text-xs font-mono font-bold",style:{background:`rgba(${b.color==="#00E5CC"?"0,229,204":b.color==="#9B30FF"?"155,48,255":"204,68,221"},0.15)`,color:b.color},children:b.badge})]})]})},g))})]})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-mono tracking-widest uppercase mb-4",children:i.modTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.modTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-2xl mx-auto",children:i.modDesc})]})}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
535",children:f.map((b,g)=>e.jsx(T,{delay:g*.07,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.15)] rounded-2xl p-6 text-center hover:border-[rgba(0,229,204,0.45)] hover:shadow-[0_0_24px_rgba(0,229,204,0.12)] transition-all duration-300 h-full",children:[e.jsx("div",{className:"text-[#00E5CC] mb-4 flex justify-center",children:b.icon}),e.jsx("h3",{className:"font-display text-base font-bold mb-2",children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm",children:b.desc})]})},g))})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(155,48,255,0.3)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-4",children:i.d2dTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-6",children:i.d2dTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-3xl mx-auto leading-relaxed",children:i.d2dDesc})]})}),e.jsxs(T,{delay:.1,children:[e.jsx("div",{className:"flex flex-col md:flex-row items-center justify-center gap-4 max-w-3xl mx-auto",children:[i.d2dAgency1,i.d2dAgency2,i.d2dAgency3].map((b,g)=>e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"bg-[rgba(155,48,255,0.1)] border border-[rgba(155,48,255,0.4)] rounded-xl px-8 py-4 text-center",children:[e.jsx("div",{className:"font-display font-bold text-lg text-[#CC44DD]",children:b}),e.jsx("div",{className:"text-xs font-mono text-[#B0C8D0]/60 mt-1",children:"Perceptrum Corporate"})]}),g<2&&e.jsx("div",{className:"text-[#9B30FF] font-mono text-2xl hidden md:block",children:"→"})]},g))}),e.jsx("p",{className:"text-center text-[#B0C8D0]/70 text-sm mt-8 max-w-2xl mx-auto",children:i.d2dSub})]})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(0,170,255,0.3)] text-[#00AAFF] text-xs font-mono tracking-widest uppercase mb-4",children:i.scopeTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.scopeTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-2xl mx-auto",children:i.scopeDesc})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto",children:[{tag:i.scope1tag,title:"F.A.S.T.-AI",desc:i.scope1desc,bullets:[i.scope1b1,i.scope1b2,i.scope1b3],color:"#00AAFF"},{tag:i.scope2tag,title:"Perceptrum Personal",desc:i.scope2desc,bullets:[i.scope2b1,i.scope2b2,i.scope2b3],color:"#9B30FF"}].map((b,g)=>e.jsx(T,{delay:g*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.9)] border rounded-2xl p-8 h-full",style:{borderColor:`rgba(${b.color==="#00AAFF"?"0,170,255":"155,48,255"},0.25)`},children:[e.jsx("span",{className:"text-xs font-mono tracking-widest uppercase mb-3 block",style:{color:b.color},children:b.tag}),e.jsx("h3",{className:"font-display text-2xl font-black mb-4",style:{color:b.color},children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed mb-6",children:b.desc}),e.jsx("ul",{className:"space-y-3",children:b.bullets.map((v,k)=>e.jsxs("li",{className:"flex items-center gap-3 text-sm text-[#B0C8D0]/80",children:[e.jsx(Xe,{size:16,style:{color:b.color,flexShrink:0}}),v]},k))})]})},g))})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-mono tracking-widest uppercase mb-4",children:i.nlpTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.nlpTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-2xl mx-auto",children:i.nlpDesc})]})}),e.jsx(T,{delay:.1,children:e.jsxs("div",{className:"max-w-2xl mx-auto bg-[rgba(5,8,12,0.95)] border border-[rgba(0,229,204,0.2)] rounded-2xl p-8 font-mono text-sm shadow-[0_0_60px_rgba(0,229,204,0.08)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[e.jsx("div",{className:"w-3 h-3 rounded-full bg-red-500"}),e.jsx("div",{className:"w-3 h-3 rounded-full bg-yellow-500"}),e.jsx("div",{className:"w-3 h-3 rounded-full bg-green-500"}),e.jsx("span",{className:"ml-2 text-[#B0C8D0]/40 text-xs",children:"drakon-terminal"})]}),[{prompt:!0,text:i.nlp1},{prompt:!0,text:i.nlp2},{prompt:!0,text:i.nlp3},{prompt:!1,text:i.nlp4}].map((b,g)=>e.jsxs("div",{className:`flex gap-3 mb-3 ${b.prompt?"":"mt-4 pt-4 border-t border-[rgba(0,229,204,0.1)]"}`,children:[e.jsx("span",{className:b.prompt?"text-[#9B30FF]":"text-[#00E5CC]",children:b.prompt?">":"#"}),e.jsx("span",{className:b.prompt?"text-[#B0C8D0]/80":"text-[#00E5CC]",children:b.text})]},g))]})})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-mono tracking-widest uppercase mb-4",children:i.techTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black",children:i.techTitle})]})}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:m.map((b,g)=>e.jsx(T,{delay:g*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] border border-[rgba(0,229,204,0.15)] rounded-2xl p-6 text-center hover:border-[rgba(0,229,204,0.4)] transition-all",children:[e.jsx("div",{className:"text-[#00E5CC] mb-4 flex justify-center",children:b.icon}),e.jsx("h3",{className:"font-display text-base font-bold mb-2",children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm",children:b.desc})]})},g))})]})}),e.jsx("section",{className:"py-24 border-b border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsx(T,{children:e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("span",{className:"inline-block px-4 py-1 rounded-full border border-[rgba(155,48,255,0.3)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-4",children:i.ecoTag}),e.jsx("h2",{className:"font-display text-4xl md:text-5xl font-black mb-4",children:i.ecoTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg max-w-2xl mx-auto",children:i.ecoDesc})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 max-w-4xl mx-auto",children:h.map((b,g)=>e.jsx(T,{delay:g*.1,children:e.jsxs("div",{className:"bg-[rgba(13,15,20,0.9)] border rounded-2xl p-6 text-center",style:{borderColor:`${b.color}33`},children:[e.jsx("div",{className:"font-display text-xl font-black mb-3",style:{color:b.color},children:b.title}),e.jsx("p",{className:"text-[#B0C8D0]/75 text-sm",children:b.desc})]})},g))})]})}),e.jsxs("section",{className:"py-32 relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,rgba(155,48,255,0.18)_0%,transparent_65%)]"}),e.jsx("div",{className:"relative z-10 max-w-4xl mx-auto px-6 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"font-display text-5xl md:text-6xl font-black mb-6 leading-tight",children:i.ctaTitle}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-xl mb-4 max-w-2xl mx-auto",children:i.ctaSub}),e.jsx("p",{className:"text-[#B0C8D0]/55 text-sm mb-12 font-mono",children:i.ctaNote}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",boxShadow:"0 0 40px rgba(155,48,255,0.4)",color:"#fff"},className:"text-lg px-12 h-16",children:i.ctaBtn})}),e.jsx($,{href:"/drakon",children:e.jsx(oe,{size:"lg",variant:"outline",className:"text-lg px-10 h-16",children:i.ctaBtnBack})})]})]})})]})]})}const lb=[{id:"p1",x:50,y:50,type:"perceptrum",label:"Perceptrum"},{id:"p2",x:20,y:35,type:"perceptrum",label:"Perceptrum"},{id:"p3",x:80,y:30,type:"perceptrum",label:"Perceptrum"},{id:"p4",x:15,y:65,type:"perceptrum",label:"Perceptrum"},{id:"p5",x:85,y:68,type:"perceptrum",label:"Perceptrum"},{id:"d1",x:50,y:18,type:"drakon",label:"Perceptrum Corporate"},{id:"d2",x:10,y:50,type:"drakon",label:"Perceptrum Corporate"},{id:"f1",x:90,y:50,type:"fastai",label:"FAST-AI"},{id:"f2",x:50,y:82,type:"fastai",label:"FAST-AI"}
53],ob=[["p1","p2"],["p1","p3"],["p1","p4"],["p1","p5"],["p1","d1"],["p1","d2"],["p1","f1"],["p1","f2"],["p2","d2"],["p3","d1"],["p4","f2"],["p5","f1"],["p2","p4"],["p3","p5"]],JN={perceptrum:"#9B30FF",drakon:"#00E5CC",fastai:"#00AAFF"};function YN({searchActive:s,originNode:i}){const[l,o]=C.useState([]),[u,p]=C.useState(new Set),f=C.useRef(null);C.useEffect(()=>{if(!s){o([]),p(new Set);return}p(new Set([i]));let h=0;const b=[ob.filter(g=>g.includes(i)).map(g=>({from:g[0]===i?g[0]:g[1],to:g[0]===i?g[1]:g[0]}))];return f.current=setInterval(()=>{if(h++,h<=b[0].length){const g=b[0][h-1];o(v=>[...v,{id:`${h}-${Date.now()}`,from:g.from,to:g.to,progress:0}]),p(v=>new Set([...v,g.to]))}h>10&&f.current&&clearInterval(f.current)},300),()=>{f.current&&clearInterval(f.current)}},[s,i]);const m=h=>{const b=lb.find(g=>g.id===h);return b?{x:b.x,y:b.y}:{x:50,y:50}};return e.jsx("div",{className:"relative w-full",style:{paddingBottom:"65%"},children:e.jsxs("svg",{className:"absolute inset-0 w-full h-full",viewBox:"0 0 100 90",preserveAspectRatio:"xMidYMid meet",children:[e.jsx("defs",{children:e.jsxs("filter",{id:"glow",children:[e.jsx("feGaussianBlur",{stdDeviation:"1.5",result:"coloredBlur"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"coloredBlur"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]})}),ob.map(([h,b],g)=>{const v=m(h),k=m(b),j=u.has(h)&&u.has(b);return e.jsx("line",{x1:v.x,y1:v.y,x2:k.x,y2:k.y,stroke:j?"#00E5CC":"rgba(0,229,204,0.12)",strokeWidth:j?"0.4":"0.2",style:{transition:"stroke 0.5s, stroke-width 0.5s"}},g)}),l.map(h=>{const b=m(h.from),g=m(h.to);return e.jsxs("circle",{r:"0.8",fill:"#00E5CC",opacity:"0.9",filter:"url(#glow)",children:[e.jsx("animateMotion",{dur:"0.6s",fill:"freeze",path:`M ${b.x} ${b.y} L ${g.x} ${g.y}`}),e.jsx("animate",{attributeName:"opacity",values:"0.9;0",dur:"0.6s",fill:"freeze"})]},h.id)}),lb.map(h=>{const b=JN[h.type],g=u.has(h.id),v=h.id===i;return e.jsxs("g",{children:[g&&e.jsxs("circle",{cx:h.x,cy:h.y,r:"4",fill:"none",stroke:b,strokeWidth:"0.3",opacity:"0.4",children:[e.jsx("animate",{attributeName:"r",values:"3;6;3",dur:"2s",repeatCount:"indefinite"}),e.jsx("animate",{attributeName:"opacity",values:"0.4;0;0.4",dur:"2s",repeatCount:"indefinite"})]}),e.jsx("circle",{cx:h.x,cy:h.y,r:v?"3.2":"2.4",fill:g?b:"rgba(0,229,204,0.08)",stroke:b,strokeWidth:v?"0.6":"0.3",filter:g?"url(#glow)":void 0,style:{transition:"fill 0.5s"}}),e.jsx("text",{x:h.x,y:h.y+5.5,textAnchor:"middle",fontSize:"3",fill:g?b:"rgba(176,200,208,0.5)",fontFamily:"monospace",style:{transition:"fill 0.5s"},children:h.label.split(".")[0]})]},h.id)})]})})}const $N=["scale1","scale2","scale3","scale4"],sn=18,nn=10;function XN(s){const i=new Set,l=Math.floor(sn/2),o=Math.floor(nn/2),p={scale1:1.5,scale2:3.5,scale3:6,scale4:12}[s];for(let f=0;f<nn;f++)for(let m=0;m<sn;m++)Math.sqrt((m-l)**2+(f-o)**2)<=p&&i.add(`${f}-${m}`);return i}function ZN({scale:s,coverageNational:i,activeNodesLabel:l}){const o=XN(s),u=Math.floor(sn/2),p=Math.floor(nn/2);return e.jsx("div",{className:"relative w-full rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.15)] bg-[#07090E]",style:{paddingBottom:"56%"},children:e.jsxs("div",{className:"absolute inset-0 p-4",children:[e.jsx("div",{className:"w-full h-full",style:{display:"grid",gridTemplateColumns:`repeat(${sn}, 1fr)`,gridTemplateRows:`repeat(${nn}, 1fr)`,gap:"2px"},children:Array.from({length:nn},(f,m)=>Array.from({length:sn},(h,b)=>{const g=`${m}-${b}`,v=o.has(g),k=m===p&&b===u,j=Math.sqrt((b-u)**2+(m-p)**2),A=j*.08;return e.jsxs("div",{style:{borderRadius:"2px",backgroundColor:k?"#CC44DD":v?`rgba(155,48,255,${.7-j*.05})`:"rgba(0,229,204,0.04)",border:v?"1px solid rgba(155,48,255,0.4)":"1px solid rgba(0,229,204,0.06)",boxShadow:v?"0 0 4px rgba(155,48,255,0.3)":"none",transition:`all 0.4s ease ${A}s`,position:"relative"},children:[k&&e.jsx("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx("div",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:"#CC44DD",boxShadow:"0 0 8px #CC44DD",animation:"pulse-dot 1.5s ease-in-out infinite"}})}),v&&!k&&j<=1.5&&e.jsx("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx("div",{style:{width:"3px",height:"3px",borderRadius:"50%",backgroundColor:"#9B30FF"}})})]},g)}))}),e.jsxs("div",{className:"absolute bottom-3 left-3 right-3 flex justify-between items-end pointer-events-none",children:[s==="scale4"&&e.jsx("div",{className:"text-xs font-mono text-[#9B30FF]/80 bg-[#080A0F]/90 px-2 py-1 rounded",children:i}),e.jsxs("div",{className:"ml-auto text-xs font-mono text-[#00E5CC]/60 bg-[#080A0F]/80 px-2 py-1 rounded",children:[o.size," ",l]})]})]})})}function eC({steps:s}){const[i,l]=C.useState(0);return C.useEffect(()=>{const o=setInterval(()=>l(u=>(u+1)%4),1800);return()=>clearInterval(o)},[]),e.jsx("div",{className:"flex flex-col md:flex-row items-stretch gap-0 rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.15)]",children:s.map((o,u)=>e.jsxs("div",{className:"flex-1 relative",style:{background:i===u?`linear-gradient(135deg, rgba(${o.color==="#CC44DD"?"204,68,221":o.color==="#9B30FF"?"155,48,255":o.color==="#00AAFF"?"0,170,255":"0,229,204"},0.15), rgba(8,10,15,0.9))`:"rgba(8,10,15,0.6)",transition:"background 0.5s",padding:"24px 20px",borderRight:u<3?"1px solid rgba(0,229,204,0.08)":"none"},children:[e.jsxs("div",{className:"flex flex-col items-center text-center gap-3",children:[e.jsx("div",{style:{width:"48px",height:"48px",borderRadius:"50%",border:`2px solid ${i>=u?o.color:"rgba(176,200,208,0.15)"}`,display:"flex",alignItems:"center",justifyContent:"center",color:i>=u?o.color:"rgba(176,200,208,0.3)",boxShadow:i===u?`0 0 20px ${o.color}60`:"none",transition:"all 0.5s"},children:o.icon}),e.jsx("div",{style:{fontSize:"11px",fontFamily:"monospace",fontWeight:"bold",color:i>=u?o.color:"rgba(176,200,208,0.3)",letterSpacing:"0.1em",textTransform:"uppercase",transition:"color 0.5s"},children:o.label}),e.jsx("div",{style:{fontSize:"13px",color:i>=u?"rgba(176,200,208,0.85)":"rgba(176,200,208,0.25)",transition:"color 0.5s"},children:o.desc})]}),u<3&&e.jsx("div",{className:"hidden md:flex absolute right-0 top-1/2 -translate-y-1/2 translate-x-1/2 z-10",children:e.jsx("div",{style:{width:"20px",height:"20px",borderRadius:"50%",background:i>u?"#00E5CC":"#080A0F",border:`2px solid ${i>u?"#00E5CC":"rgba(0,229,204,0.2)"}`,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.5s"}
53,children:e.jsx(Za,{size:10,color:i>u?"#080A0F":"rgba(0,229,204,0.3)"})})})]},u))})}const qr=Array.from({length:12},(s,i)=>({x:Math.sin(i*1.8)*42+50,y:Math.cos(i*1.3)*38+50,r:1+Math.random()*1.5,delay:i*.4,color:i%3===0?"#9B30FF":i%3===1?"#00E5CC":"#00AAFF"}));function aC(){const{t:s}=_e(),i=s.perceptrumNet,[l,o]=C.useState(!1),[u,p]=C.useState("scale2");if(!i)return null;const f={scale1:{key:i.scale1,icon:e.jsx(nt,{size:16}),desc:i.scale1desc},scale2:{key:i.scale2,icon:e.jsx(vb,{size:16}),desc:i.scale2desc},scale3:{key:i.scale3,icon:e.jsx(n2,{size:16}),desc:i.scale3desc},scale4:{key:i.scale4,icon:e.jsx(qa,{size:16}),desc:i.scale4desc}},m=[{icon:e.jsx(pa,{size:28}),title:i.tech1title,desc:i.tech1desc,color:"#9B30FF"},{icon:e.jsx(He,{size:28}),title:i.tech2title,desc:i.tech2desc,color:"#00E5CC"},{icon:e.jsx(la,{size:28}),title:i.tech3title,desc:i.tech3desc,color:"#00AAFF"},{icon:e.jsx($e,{size:28}),title:i.tech4title,desc:i.tech4desc,color:"#CC44DD"}],h=[{icon:e.jsx(wi,{size:32}),title:i.uc1title,desc:i.uc1desc,color:"#CC44DD"},{icon:e.jsx(Mt,{size:32}),title:i.uc2title,desc:i.uc2desc,color:"#9B30FF"},{icon:e.jsx(He,{size:32}),title:i.uc3title,desc:i.uc3desc,color:"#00E5CC"},{icon:e.jsx(Ca,{size:32}
53),title:i.uc4title,desc:i.uc4desc,color:"#00AAFF"}],b=[i.perm1,i.perm2,i.perm3,i.perm4,i.perm5,i.perm6],g=[{title:i.step1title,desc:i.step1desc,icon:e.jsx(Mt,{size:24}),color:"#CC44DD",badge:"INPUT"},{title:i.step2title,desc:i.step2desc,icon:e.jsx(qt,{size:24}),color:"#9B30FF",badge:"PROPAGATE"},{title:i.step3title,desc:i.step3desc,icon:e.jsx(Xe,{size:24}),color:"#00E5CC",badge:"MATCH"},{title:i.step4title,desc:i.step4desc,icon:e.jsx(nt,{size:24}),color:"#00AAFF",badge:"LOCATE"}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsx("style",{children:`
54        @keyframes pulse-dot {
55          0%, 100% { transform: scale(1); opacity: 1; }
56          50% { transform: scale(1.6); opacity: 0.6; }
57        }
58        @keyframes float-node {
59          0%, 100% { transform: translateY(0px); }
60          50% { transform: translateY(-8px); }
61        }
62        @keyframes spin-slow {
63          from { transform: rotate(0deg); }
64          to { transform: rotate(360deg); }
65        }
66        @keyframes ping-ring {
67          0% { transform: scale(0.8); opacity: 0.8; }
68          100% { transform: scale(2.4); opacity: 0; }
69        }
70      `}),e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(155,48,255,0.15)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_60%_40%,rgba(155,48,255,0.18)_0%,transparent_60%)]"}),e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_20%_70%,rgba(0,229,204,0.08)_0%,transparent_50%)]"}),e.jsx("svg",{className:"absolute inset-0 w-full h-full opacity-20",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid slice",children:qr.map((v,k)=>e.jsxs("g",{children:[e.jsx("circle",{cx:v.x,cy:v.y,r:"0.3",fill:v.color}),e.jsxs("circle",{cx:v.x,cy:v.y,r:"1",fill:"none",stroke:v.color,strokeWidth:"0.1",children:[e.jsx("animate",{attributeName:"r",values:"0.8;2.5;0.8",dur:`${2+v.delay*.5}s`,begin:`${v.delay}s`,repeatCount:"indefinite"}),e.jsx("animate",{attributeName:"opacity",values:"0.6;0;0.6",dur:`${2+v.delay*.5}s`,begin:`${v.delay}s`,repeatCount:"indefinite"})]}),k<qr.length-1&&e.jsx("line",{x1:v.x,y1:v.y,x2:qr[(k+1)%qr.length].x,y2:qr[(k+1)%qr.length].y,stroke:v.color,strokeWidth:"0.08",opacity:"0.4"})]},k))})]}),e.jsx("div",{className:"relative z-10 max-w-7xl mx-auto px-6 text-center",children:e.jsxs(T,{children:[e.jsxs("span",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full border border-[rgba(155,48,255,0.5)] bg-[rgba(155,48,255,0.1)] text-[#CC44DD] text-xs font-mono tracking-widest uppercase mb-8",children:[e.jsx(la,{size:14})," ",i.heroTag]}),e.jsxs("h1",{className:"font-display text-5xl md:text-7xl lg:text-8xl font-black leading-[0.95] mb-8 tracking-tight",children:[i.heroTitle1,e.jsx("br",{}),e.jsx("span",{style:{background:"linear-gradient(135deg,#9B30FF 0%,#CC44DD 50%,#00E5CC 100%)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:i.heroTitle2})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/80 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-16",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",boxShadow:"0 0 32px rgba(155,48,255,0.4)",color:"#fff"},children:i.heroCta1})}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("how")?.scrollIntoView({behavior:"smooth"}),children:i.heroCta2})]}),e.jsx("div",{className:"grid grid-cols-3 gap-6 max-w-sm mx-auto",children:[{val:i.statVal1,label:i.statLabel1},{val:i.statVal2,label:i.statLabel2},{val:i.statVal3,label:i.statLabel3}].map((v,k)=>e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"font-display text-2xl font-black text-[#9B30FF]",children:v.val}),e.jsx("div",{className:"text-xs text-[#B0C8D0]/60 font-mono mt-1 uppercase tracking-wider",children:v.label})]},k))})]})})]}),e.jsx("section",{className:"py-24 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-16 max-w-3xl mx-auto",children:[e.jsx("span",{className:"text-xs font-bold text-[#9B30FF] uppercase tracking-widest mb-4 block",children:i.whatTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-6",children:i.whatTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/75 leading-relaxed",children:i.whatDesc})]}),e.jsx(T,{delay:.2,children:e.jsx("div",{className:"flex flex-col md:flex-row items-center justify-center gap-4 md:gap-8 max-w-4xl mx-auto",children:[{label:"Perceptrum Personal",color:"#9B30FF",sub:"Câmeras Privadas"}
70,{label:"Perceptrum Corporate",color:"#00E5CC",sub:"Câmeras Governamentais"},{label:"F.A.S.T.-AI",color:"#00AAFF",sub:"Câmeras de Rodovias"}].map((v,k)=>e.jsxs("div",{className:"flex items-center gap-4 md:gap-8",children:[e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsxs("div",{className:"px-6 py-4 rounded-2xl border-2 text-center min-w-[140px]",style:{borderColor:v.color,background:`linear-gradient(135deg, ${v.color}18, rgba(8,10,15,0.9))`,boxShadow:`0 0 20px ${v.color}30`},children:[e.jsx("div",{className:"font-bold text-lg text-white",children:v.label}),e.jsx("div",{className:"text-xs mt-1",style:{color:v.color},children:v.sub})]}),e.jsx("div",{className:"w-2 h-2 rounded-full mt-2",style:{backgroundColor:v.color,animation:"pulse-dot 2s ease-in-out infinite"}})]}),k<2&&e.jsx("div",{className:"flex flex-col items-center gap-1 text-[#00E5CC]/60",children:e.jsx("div",{className:"text-xs font-mono",children:"←→"})})]},k))})})]})}),e.jsx("section",{id:"how",className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.howTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white",children:i.howTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-16",children:g.map((v,k)=>e.jsx(T,{delay:k*.15,children:e.jsxs("div",{className:"relative bg-[#0D0F14] rounded-2xl p-6 border border-[rgba(0,229,204,0.1)] h-full group hover:border-[rgba(155,48,255,0.4)] transition-all duration-300",style:{boxShadow:`inset 0 0 30px ${v.color}08`},children:[e.jsx("div",{className:"absolute top-4 right-4",children:e.jsx("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full border",style:{color:v.color,borderColor:`${v.color}40`,background:`${v.color}15`},children:v.badge})}),e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-4",style:{background:`${v.color}20`,color:v.color,border:`1px solid ${v.color}40`},children:v.icon}),e.jsxs("div",{className:"text-2xl font-black text-[#B0C8D0]/20 mb-3 font-mono",children:["0",k+1]}),e.jsx("h3",{className:"text-lg font-bold text-white mb-3",children:v.title}),e.jsx("p",{className:"text-[#B0C8D0]/65 text-sm leading-relaxed",children:v.desc}),k<3&&e.jsx("div",{className:"absolute -right-3 top-1/2 -translate-y-1/2 z-10 hidden lg:flex",children:e.jsx("div",{className:"w-6 h-6 rounded-full bg-[#080A0F] border border-[rgba(0,229,204,0.3)] flex items-center justify-center",children:e.jsx(Za,{size:12,className:"text-[#00E5CC]"})})})]})},k))}),e.jsx(T,{delay:.3,children:e.jsx(eC,{steps:[{icon:e.jsx(Mt,{size:24}),label:i.pf1label,color:"#CC44DD",desc:i.pf1desc},{icon:e.jsx(qt,{size:24}),label:i.pf2label,color:"#9B30FF",desc:i.pf2desc},{icon:e.jsx(He,{size:24}),label:i.pf3label,color:"#00AAFF",desc:i.pf3desc},{icon:e.jsx(Xe,{size:24}),label:i.pf4label,color:"#00E5CC",desc:i.pf4desc}]})})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(155,48,255,0.12)]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-6",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("span",{className:"text-xs font-bold text-[#9B30FF] uppercase tracking-widest mb-4 block",children:i.netTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white mb-6",children:i.netTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/75 leading-relaxed mb-8",children:i.netDesc}),e.jsx("div",{className:"space-y-3 mb-8",children:[{label:i.netP2P,color:"#9B30FF"},{label:i.netP2D,color:"#00E5CC"},{label:i.netP2F,color:"#00AAFF"},{label:i.netD2P,color:"#00E5CC"},{label:i.netF2P,color:"#00AAFF"}].map((v,k)=>e.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[e.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:v.color}}),e.jsx("span",{className:"text-[#B0C8D0]/70 font-mono",children:v.label})]},k))}),e.jsx("div",{className:"flex gap-4",children:e.jsx(oe,{onClick:()=>{o(!1),setTimeout(()=>
70o(!0),100)},style:{background:l?"linear-gradient(135deg,#9B30FF,#CC44DD)":"transparent",border:"1px solid rgba(155,48,255,0.5)",color:"#fff"},children:l?i.simulatingBtn:i.simulateBtn})})]}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"bg-[#07090E] rounded-2xl p-6 border border-[rgba(155,48,255,0.2)] shadow-[0_0_60px_rgba(155,48,255,0.1)]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:"text-xs font-mono text-[#9B30FF] uppercase tracking-widest",children:i.networkLabel}),l&&e.jsxs("span",{className:"flex items-center gap-1.5 text-xs font-mono text-[#00E5CC]",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-[#00E5CC] animate-pulse"}),i.networkActive]})]}),e.jsx(YN,{searchActive:l,originNode:"p1"}),e.jsx("div",{className:"mt-4 flex flex-wrap gap-3 text-xs font-mono",children:[{label:"Perceptrum",color:"#9B30FF"},{label:"Perceptrum Corporate",color:"#00E5CC"},{label:"FAST-AI",color:"#00AAFF"}].map((v,k)=>e.jsxs("span",{className:"flex items-center gap-1.5 text-[#B0C8D0]/60",children:[e.jsx("span",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:v.color}}),v.label]},k))})]})})]})})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-12",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.scaleTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-4",children:i.scaleTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/75 max-w-3xl mx-auto",children:i.scaleDesc})]}),e.jsx(T,{delay:.2,children:e.jsx("div",{className:"flex justify-center gap-2 mb-8 flex-wrap",children:$N.map(v=>{const k=f[v],j=u===v;return e.jsxs("button",{onClick:()=>p(v),className:"flex items-center gap-2 px-5 py-3 rounded-xl font-bold text-sm transition-all duration-300",style:{background:j?"linear-gradient(135deg,#9B30FF,#CC44DD)":"rgba(13,15,20,0.9)",border:j?"1px solid rgba(155,48,255,0.6)":"1px solid rgba(0,229,204,0.15)",color:j?"#fff":"rgba(176,200,208,0.7)",boxShadow:j?"0 0 20px rgba(155,48,255,0.3)":"none"},children:[k.icon," ",k.key]},v)})})}),e.jsx(T,{delay:.3,children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-start max-w-5xl mx-auto",children:[e.jsx(ZN,{scale:u,coverageNational:i.coverageNational,activeNodesLabel:i.activeNodes}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl p-6 border border-[rgba(155,48,255,0.2)]",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center",style:{background:"rgba(155,48,255,0.2)",color:"#9B30FF"},children:f[u].icon}),e.jsx("h3",{className:"text-xl font-black text-white",children:f[u].key})]}),e.jsx("p",{className:"text-[#B0C8D0]/70",children:f[u].desc})]}),e.jsxs("div",{className:"space-y-3",children:[u==="scale1"&&e.jsxs(e.Fragment,{children:[e.jsx(Ia,{label:i.sp1a,color:"#9B30FF",icon:e.jsx(la,{size:14})}),e.jsx(Ia,{label:i.sp1b,color:"#9B30FF",icon:e.jsx(la,{size:14})}),e.jsx(Ia,{label:i.sp1c,color:"#9B30FF",icon:e.jsx(la,{size:14})})]}),u==="scale2"&&e.jsxs(e.Fragment,{children:[e.jsx(Ia,{label:i.sp2a,color:"#9B30FF",icon:e.jsx(la,{size:14})}),e.jsx(Ia,{label:i.sp2b,color:"#00E5CC",icon:e.jsx(He,{size:14})}),e.jsx(Ia,{label:i.sp2c,color:"#00AAFF",icon:e.jsx(nt,{size:14})})]}),u==="scale3"&&e.jsxs(e.Fragment,{children:[e.jsx(Ia,{label:i.sp3a,color:"#9B30FF",icon:e.jsx(qa,{size:14})}),e.jsx(Ia,{label:i.sp3b,color:"#00AAFF",icon:e.jsx(Ca,{size:14})}),e.jsx(Ia,{label:i.sp3c,color:"#00E5CC",icon:e.jsx(He,{size:14})})]}),u==="scale4"&&e.jsxs(e.Fragment,{children:[e.jsx(Ia,{label:i.sp4a,color:"#9B30FF",icon:e.jsx(qa,{size:14})}),e.jsx(Ia,{label:i.sp4b,color:"#00E5CC",icon:e.jsx(He,{size:14})}),e.jsx(Ia,{label:i.sp4c,color:"#00AAFF",icon:e.jsx(Ca,{size:14})}),e.jsx(Ia,{label:i.sp4d,color:"#CC44DD",icon:e.jsx($e,{size:14})})]})]})]})]})})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-16 max-w-3xl mx-auto",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.permTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white mb-6",children:i.permTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/75 leading-relaxed",children:i.permDesc})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 max-w-4xl mx-auto",children:b.map((v,k)=>e.jsx(T,{delay:k*.1,children:e.jsxs("div",{className:"flex items-start gap-3 bg-[#080A0F] p-5 rounded-xl border border-[rgba(0,229,204,0.1)] h-full hover:border-[rgba(0,229,204,0.3)] transition-all",children:[e.jsx("div",{className:"mt-0.5 flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center",style:{background:"rgba(0,229,204,0.15)",border:"1px solid rgba(0,229,204,0.4)"},children:e.jsx(Xe,{size:14,className:"text-[#00E5CC]"})}),e.jsx("span",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed",children:v})]})},k))}),e.jsx(T,{delay:.4,children:e.jsx("div",{className:"mt-16 max-w-4xl mx-auto",children:e.jsxs("div",{className:"bg-[#080A0F] rounded-3xl p-8 border border-[rgba(155,48,255,0.2)] relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_50%_50%,rgba(155,48,255,0.06),transparent_70%)]"}),e.jsxs("div",{className:"relative z-10",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("span",{className:"text-xs font-mono text-[#9B30FF] uppercase tracking-widest",children:i.authModelLabel}),e.jsx("h3",{className:"text-2xl font-bold text-white mt-2",children:i.authModelTitle})]}),e.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-between gap-6",children:[e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx("div",{className:"w-20 h-20 rounded-2xl flex items-center justify-center text-white font-bold border-2 border-[#9B30FF]",style:{background:"rgba(155,48,255,0.2)"},children:e.jsxs("div",{className:"text-center",children:[e.jsx(la,{size:24,className:"mx-auto mb-1 text-[#9B30FF]"}),e.jsx("div",{className:"text-xs",children:"A"})]})}),e.jsx("span",{className:"text-xs text-[#9B30FF] font-mono",children:i.authOrigin})]}),e.jsxs("div",{className:"flex flex-col items-center gap-2 flex-1 max-w-xs",children:[e.jsx("div",{className:"text-xs font-mono text-[#00E5CC]/70 text-center mb-1",children:i.authSignal}),e.jsxs("div",{className:"w-full h-px bg-gradient-to-r from-[#9B30FF] via-[#00E5CC] to-[#00AAFF] relative",children:[e.jsx("div",{className:"absolute right-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-[#00AAFF]"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-[#9B30FF] via-[#00E5CC] to-[#00AAFF]",style:{animation:"spin-slow 2s linear infinite",backgroundSize:"200%"}})]}),e.jsx("div",{className:"flex gap-2 mt-1",children:e.jsx("span",{className:"text-xs px-2 py-0.5 rounded-full border border-[#00E5CC]/30 text-[#00E5CC]/70 font-mono",children:i.authAuthorized})}),e.jsx("div",{className:"text-xs font-mono text-[#CC44DD]/70 text-center mt-1",children:i.authMatchOnly}),e.jsx("div",{className:"w-full h-px bg-gradient-to-l from-[#9B30FF] via-[#CC44DD] to-[#00AAFF]"})]}),e.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e.jsx("div",{className:"w-20 h-20 rounded-2xl flex items-center justify-center text-white font-bold border-2 border-[#00E5CC]",style:{background:"rgba(0,229,204,0.1)"},children:e.jsxs("div",{className:"text-center",children:[e.jsx(He,{size:24,className:"mx-auto mb-1 text-[#00E5CC]"}),e.jsx("div",{className:"text-xs",children:"B"})]})}),e.jsx("span",{className:"text-xs text-[#00E5CC] font-mono",children:i.authParticipant})]})]}),e.jsxs("div",{className:"mt-8 flex items-center gap-3 justify-center",children:[e.jsx($e,{size:16,className:"text-[#9B30FF]"}),e.jsx("span",{className:"text-sm text-[#B0C8D0]/60",children:"O vídeo nunca sai das instalações do 
70Sistema B. Apenas correspondências binárias são transmitidas."})]})]})]})})})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#CC44DD] uppercase tracking-widest mb-4 block",children:i.ucTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white",children:i.ucTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:h.map((v,k)=>e.jsx(T,{delay:k*.12,children:e.jsxs("div",{className:"relative bg-[#0D0F14] rounded-2xl p-8 border border-[rgba(0,229,204,0.1)] h-full overflow-hidden group hover:border-[rgba(155,48,255,0.4)] transition-all duration-300",children:[e.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 rounded-full opacity-5 group-hover:opacity-10 transition-opacity",style:{background:v.color,filter:"blur(30px)",transform:"translate(30%, -30%)"}}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-14 h-14 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:`${v.color}20`,color:v.color,border:`1px solid ${v.color}40`},children:v.icon}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-bold text-white mb-3",style:{color:v.color},children:v.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed",children:v.desc})]})]})]})},k))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.08)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00AAFF] uppercase tracking-widest mb-4 block",children:i.techTag}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white",children:i.techTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:m.map((v,k)=>e.jsx(T,{delay:k*.1,children:e.jsxs("div",{className:"bg-[#080A0F] rounded-2xl p-6 border border-[rgba(0,229,204,0.1)] h-full text-center group hover:border-[rgba(0,229,204,0.3)] transition-all duration-300",children:[e.jsx("div",{className:"w-14 h-14 rounded-xl flex items-center justify-center mx-auto mb-5",style:{background:`${v.color}20`,color:v.color,border:`1px solid ${v.color}40`},children:v.icon}),e.jsx("h3",{className:"font-bold text-white mb-3 text-sm",children:v.title}),e.jsx("p",{className:"text-[#B0C8D0]/60 text-sm leading-relaxed",children:v.desc})]})},k))})]})}),e.jsxs("section",{className:"py-32 bg-[#080A0F] relative overflow-hidden",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-3xl h-[400px] rounded-full",style:{background:"radial-gradient(ellipse, rgba(155,48,255,0.18) 0%, transparent 70%)"}}),e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-64 h-64 rounded-full border border-[rgba(155,48,255,0.15)]"}),e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-96 h-96 rounded-full border border-[rgba(155,48,255,0.08)]"}),e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] rounded-full border border-[rgba(155,48,255,0.05)]"}),e.jsx("div",{className:"max-w-4xl mx-auto px-6 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6",children:i.ctaTitle}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/75 mb-4 max-w-2xl mx-auto",children:i.ctaSub}),e.jsx("p",{className:"text-sm text-[#B0C8D0]/45 mb-12 font-mono",children:i.ctaNote}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",style:{background:"linear-gradient(135deg,#9B30FF,#CC44DD)",boxShadow:"0 0 40px rgba(155,48,255,0.35)",color:"#fff",height:"56px",padding:"0 32px",fontSize:"16px"},children:i.ctaBtn})}),e.jsx($,{href:"/perceptrum",children:e.jsx(oe,{size:"lg",variant:"outline",style:{height:"56px",padding:"0 32px",fontSize:"16px"},children:i.ctaBtnBack})})]})]})})]})]})}function Ia({label:s,color:i,icon:l}){return e.jsxs("div",{className:"flex items-center gap-3 bg-[#080A0F] px-4 py-3 rounded-xl border border-[rgba(0,229,204,0.08)]",children:[e.jsx("div",{className:"w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0",style:{background:`${i}20`,color:i},children:l}),e.jsx("span",{className:"text-sm text-[#B0C8D0]/75",children:s})]})}const Gl=[{id:"f0",x:50,y:50,type:"fastai",label:"FAST-AI",size:4},{id:"p1",x:18,y:28,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p2",x:82,y:25,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p3",x:12,y:62,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p4",x:88,y:65,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p5",x:50,y:82,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p6",x:28,y:78,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"p7",x:72,y:78,type:"perceptrum",label:"Perceptrum",size:2.8},{id:"d1",x:50,y:12,type:"drakon",label:"Perceptrum Corporate",size:3.2},{id:"d2",x:14,y:45,type:"drakon",label:"Perceptrum Corporate",size:3.2},{id:"d3",x:86,y:45,type:"drakon",label:"Perceptrum Corporate",size:3.2}],cb=[["f0","p1"],["f0","p2"],["f0","p3"],["f0","p4"],["f0","p5"],["f0","p6"],["f0","p7"],["f0","d1"],["f0","d2"],["f0","d3"],["p1","d2"],["p2","d3"],["p1","p3"],["p2","p4"],["p6","p5"],["p7","p5"],["d1","d2"],["d1","d3"]],nu={fastai:"#00E5CC",perceptrum:"#9B30FF",drakon:"#00AAFF"};function db({searchActive:s}){const[i,l]=C.useState(new Set(["f0"])),[o,u]=C.useState([]),p=C.useRef(null);C.useEffect(()=>{if(!s){l(new Set(["f0"])),u([]);return}const m=cb.map(([b,g])=>({from:b==="f0"?"f0":g,to:b==="f0"?g:b})).filter(b=>b.from==="f0");let h=0;return p.current=setInterval(()=>{if(h<m.length){const b=m[h];u(g=>[...g,{id:`${h}-${Date.now()}`,from:b.from,to:b.to}]),l(g=>new Set([...g,b.to])),h++}else p.current&&clearInterval(p.current)},250),()=>{p.current&&clearInterval(p.current)}},[s]);const f=m=>{const h=Gl.find(b=>b.id===m);return h?{x:h.x,y:h.y}:{x:50,y:50}};return e.jsx("div",{className:"relative w-full",style:{paddingBottom:"70%"},children:e.jsxs("svg",{className:"absolute inset-0 w-full h-full",viewBox:"0 0 100 95",preserveAspectRatio:"xMidYMid meet",children:[e.jsxs("defs",{children:[e.jsxs("filter",{id:"glow-fast",children:[e.jsx("feGaussianBlur",{stdDeviation:"1.5",result:"coloredBlur"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"coloredBlur"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}
70),e.jsxs("radialGradient",{id:"bg-grad",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"rgba(0,229,204,0.04)"}),e.jsx("stop",{offset:"100%",stopColor:"rgba(8,10,15,0)"})]})]}),e.jsx("ellipse",{cx:"50",cy:"50",rx:"48",ry:"44",fill:"url(#bg-grad)"}),cb.map(([m,h],b)=>{const g=f(m),v=f(h),k=i.has(m)&&i.has(h),j=k?nu[Gl.find(A=>A.id===m)?.type||"fastai"]:"rgba(0,229,204,0.08)";return e.jsx("line",{x1:g.x,y1:g.y,x2:v.x,y2:v.y,stroke:j,strokeWidth:k?"0.45":"0.18",style:{transition:"stroke 0.5s, stroke-width 0.5s"}},b)}),o.map(m=>{const h=f(m.from),b=f(m.to),g=Gl.find(v=>v.id===m.to)?.type||"perceptrum";return e.jsxs("circle",{r:"1.2",fill:nu[g],opacity:"0.95",filter:"url(#glow-fast)",children:[e.jsx("animateMotion",{dur:"0.55s",fill:"freeze",path:`M ${h.x} ${h.y} L ${b.x} ${b.y}`}),e.jsx("animate",{attributeName:"opacity",values:"0.95;0",dur:"0.55s",fill:"freeze"})]},m.id)}),Gl.map(m=>{const h=nu[m.type],b=i.has(m.id),g=m.id==="f0";return e.jsxs("g",{children:[b&&e.jsxs("circle",{cx:m.x,cy:m.y,r:m.size+2,fill:"none",stroke:h,strokeWidth:"0.3",opacity:"0.35",children:[e.jsx("animate",{attributeName:"r",values:`${m.size+1};${m.size+5};${m.size+1}`,dur:"2s",repeatCount:"indefinite"}),e.jsx("animate",{attributeName:"opacity",values:"0.35;0;0.35",dur:"2s",repeatCount:"indefinite"})]}),e.jsx("circle",{cx:m.x,cy:m.y,r:m.size,fill:b?h:"rgba(0,229,204,0.06)",stroke:h,strokeWidth:g?"0.7":"0.35",filter:b?"url(#glow-fast)":void 0,style:{transition:"fill 0.5s"}}
70),g&&e.jsx("text",{x:m.x,y:m.y+.5,textAnchor:"middle",fontSize:"2.8",fill:"white",fontFamily:"monospace",fontWeight:"bold",children:"F"}),e.jsx("text",{x:m.x,y:m.y+m.size+4,textAnchor:"middle",fontSize:"2.6",fill:b?h:"rgba(176,200,208,0.35)",fontFamily:"monospace",style:{transition:"fill 0.5s"},children:m.label.split(".")[0]})]},m.id)}),e.jsx("line",{x1:"0",y1:"50",x2:"100",y2:"50",stroke:"rgba(0,229,204,0.04)",strokeWidth:"0.15",strokeDasharray:"2,3"}),e.jsx("line",{x1:"50",y1:"0",x2:"50",y2:"95",stroke:"rgba(0,229,204,0.04)",strokeWidth:"0.15",strokeDasharray:"2,3"})]})})}const ln=20,on=11;function tC(s){const i=new Set,l=Math.floor(ln/2),o=Math.floor(on/2),p={scale1:1.2,scale2:3.5,scale3:6.5,scale4:14}[s];for(let f=0;f<on;f++)for(let m=0;m<ln;m++)Math.sqrt((m-l)**2+(f-o)**2)<=p&&i.add(`${f}-${m}`);return i}function iC({scale:s}){const i=tC(s),l=Math.floor(ln/2),o=Math.floor(on/2);return e.jsx("div",{className:"relative w-full rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.15)] bg-[#07090E]",style:{paddingBottom:"55%"},children:e.jsxs("div",{className:"absolute inset-0 p-3",children:[e.jsx("div",{className:"w-full h-full",style:{display:"grid",gridTemplateColumns:`repeat(${ln}, 1fr)`,gridTemplateRows:`repeat(${on}, 1fr)`,gap:"2px"},children:Array.from({length:on},(u,p)=>Array.from({length:ln},(f,m)=>{const h=`${p}-${m}`,b=i.has(h),g=p===o&&m===l,v=Math.sqrt((m-l)**2+(p-o)**2),k=p===o,j=m===l;return e.jsx("div",{style:{borderRadius:"1px",backgroundColor:g?"#00E5CC":b?k||j?`rgba(0,229,204,${.8-v*.04})`:`rgba(0,170,255,${.55-v*.04})`:(k||j)&&!b?"rgba(0,229,204,0.06)":"rgba(0,170,255,0.03)",border:b?"1px solid rgba(0,229,204,0.35)":"1px solid rgba(0,229,204,0.05)",boxShadow:g?"0 0 8px #00E5CC":b?"0 0 3px rgba(0,229,204,0.2)":"none",transition:`all 0.35s ease ${v*.06}s`,position:"relative"},children:g&&e.jsx("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx("div",{style:{width:"5px",height:"5px",borderRadius:"50%",backgroundColor:"#00E5CC",boxShadow:"0 0 8px #00E5CC",animation:"pulse-dot 1.4s ease-in-out infinite"}})})},h)}))}),e.jsx("div",{className:"absolute bottom-2 right-2",children:e.jsxs("div",{className:"text-xs font-mono text-[#00E5CC]/60 bg-[#080A0F]/80 px-2 py-0.5 rounded",children:[i.size," nodes"]})})]})})}function rC({personLabel:s,vehicleLabel:i,bioNote:l,visNote:o}){const[u,p]=C.useState(0);C.useEffect(()=>{const h=setInterval(()=>p(b=>(b+1)%6),1400);return()=>clearInterval(h)},[]);const f=["Proportions","Gait","Posture","Clothing","Silhouette","Movement"],m=["Plate","Color","Model","Wheels","Tires","Damage","Stickers","Brand"];return e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl border border-[rgba(0,229,204,0.15)] p-6",children:[e.jsx("div",{className:"text-xs font-mono text-[#00E5CC] uppercase tracking-widest mb-4",children:s??"RE-ID · Person"}),e.jsxs("div",{className:"flex gap-4 items-center mb-4",children:[e.jsxs("div",{className:"w-16 h-20 rounded-xl border-2 border-[rgba(0,229,204,0.4)] relative overflow-hidden bg-[#080A0F] flex items-center justify-center shrink-0",style:{boxShadow:"0 0 20px rgba(0,229,204,0.2)"},children:[e.jsx("div",{className:"w-6 h-6 rounded-full bg-[#00E5CC]/30 border border-[#00E5CC]/60 mb-1",style:{marginTop:"4px"}}),e.jsx("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 w-5 h-8 rounded-sm bg-[#00AAFF]/20 border border-[#00AAFF]/40"}),[0,1,2,3,4].map(h=>e.jsx("div",{style:{position:"absolute",left:0,right:0,height:"1px",background:`rgba(0,229,204,${u===h?.8:.1})`,top:`${20+h*14}%`,transition:"all 0.3s"}},h))]}),e.jsx("div",{className:"flex flex-wrap gap-2 flex-1",children:f.map((h,b)=>e.jsx("span",{style:{fontSize:"11px",fontFamily:"monospace",padding:"2px 8px",borderRadius:"4px",background:u===b?"rgba(0,229,204,0.2)":"rgba(0,229,204,0.05)",border:`1px solid ${u===b?"#00E5CC":"rgba(0,229,204,0.15)"}`,color:u===b?"#00E5CC":"rgba(176,200,208,0.5)",transition:"all 0.3s",boxShadow:u===b?"0 0 8px rgba(0,229,204,0.3)":"none"},children:h},h))})]}),e.jsx("div",{className:"text-xs text-[#B0C8D0]/60 font-mono",children:l??"Biometric signature built without face required"})]}),e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl border border-[rgba(0,170,255,0.15)] p-6",children:[e.jsx("div",{className:"text-xs font-mono text-[#00AAFF] uppercase tracking-widest mb-4",children:i??"VEHICLE · Full Fingerprint"}),e.jsxs("div",{className:"flex gap-4 items-center mb-4",children:[e.jsxs("div",{className:"w-20 h-14 roun
70ded-xl border-2 border-[rgba(0,170,255,0.4)] relative overflow-hidden bg-[#080A0F] flex items-center justify-center shrink-0",style:{boxShadow:"0 0 20px rgba(0,170,255,0.2)"},children:[e.jsx(Xl,{className:"w-8 h-8 text-[#00AAFF]/60"}),[0,1,2].map(h=>e.jsx("div",{style:{position:"absolute",left:0,right:0,height:"1px",background:`rgba(0,170,255,${Math.floor(u/2)===h?.8:.1})`,top:`${25+h*25}%`,transition:"all 0.3s"}},h))]}),e.jsx("div",{className:"flex flex-wrap gap-2 flex-1",children:m.map((h,b)=>e.jsx("span",{style:{fontSize:"10px",fontFamily:"monospace",padding:"2px 7px",borderRadius:"4px",background:(u+2)%m.length===b?"rgba(0,170,255,0.2)":"rgba(0,170,255,0.05)",border:`1px solid ${(u+2)%m.length===b?"#00AAFF":"rgba(0,170,255,0.15)"}`,color:(u+2)%m.length===b?"#00AAFF":"rgba(176,200,208,0.5)",transition:"all 0.3s",boxShadow:(u+2)%m.length===b?"0 0 8px rgba(0,170,255,0.3)":"none"},children:h},h))})]}),e.jsx("div",{className:"text-xs text-[#B0C8D0]/60 font-mono",children:o??"Identified by any visible characteristic"})]})]})}function sC({labels:s,subs:i}){const[l,o]=C.useState(0);C.useEffect(()=>{const p=setInterval(()=>o(f=>(f+1)%4),1800);return()=>clearInterval(p)},[]);const u=[{icon:e.jsx(Lt,{size:22}),label:s.init,color:"#00E5CC",sub:i?.sf1??"FAST-AI origin"},{icon:e.jsx(qt,{size:22}),label:s.prop,color:"#00AAFF",sub:i?.sf2??"Perceptrum Personal + Perceptrum Corporate"},{icon:e.jsx(He,{size:22}),label:s.exec,color:"#9B30FF",sub:i?.sf3??"Local execution"},{icon:e.jsx(Xe,{size:22}),label:s.confirm,color:"#00E5CC",sub:i?.sf4??"No video shared"}];return e.jsx("div",{className:"flex flex-col md:flex-row items-stretch gap-0 rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.15)]",children:u.map((p,f)=>e.jsxs("div",{className:"flex-1 relative",style:{background:l===f?`linear-gradient(135deg, rgba(${p.color==="#00E5CC"?"0,229,204":p.color==="#00AAFF"?"0,170,255":"155,48,255"},0.15), rgba(8,10,15,0.9))`:"rgba(8,10,15,0.6)",transition:"background 0.5s",padding:"24px 18px",borderRight:f<3?"1px solid rgba(0,229,204,0.08)":"none"},children:[e.jsxs("div",{className:"flex flex-col items-center text-center gap-3",children:[e.jsx("div",{style:{width:"46px",height:"46px",borderRadius:"50%",border:`2px solid ${l>=f?p.color:"rgba(176,200,208,0.15)"}`,display:"flex",alignItems:"center",justifyContent:"center",color:l>=f?p.color:"rgba(176,200,208,0.3)",boxShadow:l===f?`0 0 20px ${p.color}60`:"none",transition:"all 0.5s"},children:p.icon}),e.jsx("div",{style:{fontSize:"10px",fontFamily:"monospace",fontWeight:"bold",color:l>=f?p.color:"rgba(176,200,208,0.3)",letterSpacing:"0.1em",textTransform:"uppercase",transition:"color 0.5s"},children:p.label}),e.jsx("div",{style:{fontSize:"11px",color:l>=f?"rgba(176,200,208,0.7)":"rgba(176,200,208,0.2)",transition:"color 0.5s"},children:p.sub})]}),f<3&&e.jsx("div",{className:"hidden md:flex absolute right-0 top-1/2 -translate-y-1/2 translate-x-1/2 z-10",children:e.jsx("div",{style:{width:"18px",height:"18px",borderRadius:"50%",background:l>f?"#00E5CC":"#080A0F",border:`1px solid ${l>f?"#00E5CC":"rgba(0,229,204,0.2)"}`,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.5s"},children:e.jsx("span",{style:{color:l>f?"#080A0F":"rgba(0,229,204,0.3)",fontSize:"10px",fontWeight:"bold"},children:"›"})})})]},f))})}function nC(){const{t:s}=_e(),i=s.fastaiNet??{},[l,o]=C.useState(!1),[u,p]=C.useState("scale2"),[f,m]=C.useState(0),h=["scale1","scale2","scale3","scale4"];C.useEffect(()=>{const g=setInterval(()=>{m(v=>(v+1)%4),p(v=>{const k=h.indexOf(v);return h[(k+1)%4]})},2200);return()=>clearInterval(g)},[]);const b=[{flag:i.agencyBR,items:i.agencyBRlist},{flag:i.agencyUS,items:i.agencyUSlist},{flag:i.agencyEU,items:i.agencyEUlist},{flag:i.agencyOther,items:i.agencyOtherlist}];return e.jsxs("div",{className:"w-full bg-[#080A0F] pt-24 min-h-screen text-white font-sans",children:[e.jsxs("section",{className:"relative py-24 lg:py-36 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:"/images/city_night.jpg",alt:"Traffic Network",className:"w-full h-full object-cover opacity-15"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#080A0F]/60 via-[#080A0F]/55 to-[#080A0F]"}),e.jsx("div",{className:"absolute inset-0 overflow-hidden opacity-20",children:[20,50,80].map(g=>e.jsx("div",{style:{position:"absolute",top:`${g}%`,left:0,right:0,height:"1px",background:"linear-gradient(90deg, transparent, #00E5CC, transparent)",animation:`slide-road-${g} 4s linear infinite`}},g))})]}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.35)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx(qt,{className:"w-4 h-4"})," ",i.heroTag??"Traffic Intelligence Network"]}),e.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-8xl font-black text-white mb-6 leading-tight tracking-tight",children:[i.heroTitle1??"Every road. Every vehicle.",e.jsx("br",{}),e.jsx("span",{className:"text-[#00E5CC]",children:i.heroTitle2??"Zero blind spots."})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-12 max-w-4xl mx-auto leading-relaxed",children:i.heroSub??"F.A.S.T.-AI connects its traffic cameras with millions of private Perceptrum installations and the entire government Perceptrum Corporate network."}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4 mb-16",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",children:i.heroCta1??"Request Access"})}),e.jsx(oe,{size:"lg",variant:"outline",onClick:()=>document.getElementById("how-it-works")?.scrollIntoView({behavior:"smooth"}),children:i.heroCta2??"See How It Works"})]}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 max-w-4xl mx-auto",children:[[i.statLabel1,i.statVal1],[i.statLabel2,i.statVal2],[i.statLabel3,i.statVal3],[i.statLabel4,i.statVal4]].map(([g,v],k)=>e.jsxs("div",{className:"bg-[rgba(13,15,20,0.85)] backdrop-blur border border-[rgba(0,229,204,0.18)] rounded-xl p-4 text-center",children:[e.jsx("div",{className:"text-[#00E5CC] font-black text-sm mb-1 font-mono",children:v}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-xs uppercase tracking-wider",children:g})]},k))})]})})]}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.1)]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.whatTag??"Federated Traffic Intelligence"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-8",children:i.whatTitle??"One alert. Every camera in the city."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 leading-relaxed mb-8",children:i.whatDesc}),[{color:"#00E5CC",icon:e.jsx(It,{size:18}),label:"FAST-AI Traffic Cameras",desc:"Direct management — highways, avenues, intersections"},{color:"#9B30FF",icon:e.jsx(la,{size:18}),label:"Private Perceptrum",desc:"Millions of authorized private installations"},{color:"#00AAFF",icon:e.jsx(pa,{size:18}),label:"Government Perceptrum Corporate",desc:"Full government surveillance infrastru
70cture"}].map((g,v)=>e.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[e.jsx("div",{style:{width:"36px",height:"36px",borderRadius:"8px",shrink:0,background:`rgba(${g.color==="#00E5CC"?"0,229,204":g.color==="#9B30FF"?"155,48,255":"0,170,255"},0.15)`,border:`1px solid ${g.color}40`,display:"flex",alignItems:"center",justifyContent:"center",color:g.color,flexShrink:0},children:g.icon}),e.jsxs("div",{children:[e.jsx("div",{className:"font-bold text-white text-sm",children:g.label}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-sm",children:g.desc})]})]},v))]}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"bg-[#080A0F] rounded-3xl border border-[rgba(0,229,204,0.15)] p-6",style:{boxShadow:"0 0 60px rgba(0,229,204,0.08)"},children:[e.jsx("div",{className:"text-xs font-mono text-[#00E5CC] uppercase tracking-widest mb-4 text-center",children:"Live Network"}),e.jsx(db,{searchActive:!0}),e.jsx("div",{className:"flex justify-center gap-6 mt-4 flex-wrap",children:[{color:"#00E5CC",label:"FAST-AI"},{color:"#9B30FF",label:"Perceptrum"},{color:"#00AAFF",label:"Perceptrum Corporate"}].map(g=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{style:{width:8,height:8,borderRadius:"50%",backgroundColor:g.color,boxShadow:`0 0 6px ${g.color}`}}),e.jsx("span",{className:"text-xs font-mono text-[#B0C8D0]/60",children:g.label})]},g.label))})]})})]})})}),e.jsx("section",{id:"how-it-works",className:"py-24 bg-[#080A0F] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.howTag??"How It Works"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-4",children:i.howTitle??"Autonomous Distributed Search"})]}),e.jsx(T,{delay:.1,className:"mb-12",children:e.jsx(sC,{labels:{init:i.step1title??"Event Registered",prop:i.step2title??"Signal Propagated",exec:i.step3title??"Multi-network Detection",confirm:i.step4title??"Location Confirmed"},subs:{sf1:i.sf1sub,sf2:i.sf2sub,sf3:i.sf3sub,sf4:i.sf4sub}})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{icon:e.jsx(Lt,{className:"w-6 h-6"}),title:i.step1title,desc:i.step1desc,color:"#00E5CC",num:"01"},{icon:e.jsx(qt,{className:"w-6 h-6"}),title:i.step2title,desc:i.step2desc,color:"#00AAFF",num:"02"},{icon:e.jsx(He,{className:"w-6 h-6"}),title:i.step3title,desc:i.step3desc,color:"#9B30FF",num:"03"},{icon:e.jsx(Xe,{className:"w-6 h-6"}),title:i.step4title,desc:i.step4desc,color:"#00E5CC",num:"04"}].map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl border border-[rgba(0,229,204,0.1)] p-6 h-full hover:border-[rgba(0,229,204,0.3)] transition-all duration-300",style:{boxShadow:"0 0 20px rgba(0,229,204,0.05)"},children:[e.jsx("div",{className:"text-xs font-mono mb-4",style:{color:g.color},children:g.num}),e.jsx("div",{className:"mb-4",style:{color:g.color},children:g.icon}),e.jsx("h3",{className:"text-lg font-bold text-white mb-3",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.reidTag??"Identification Technology"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-6",children:i.reidTitle??"Beyond plates. Beyond faces."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 leading-relaxed max-w-4xl mx-auto",children:i.reidDesc})]}),e.jsx(T,{delay:.1,className:"mb-12",children:e.jsx(rC,{personLabel:i.reidPersonLabel,vehicleLabel:i.reidVehicleLabel,bioNote:i.reidBioNote,visNote:i.reidVisNote})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{icon:e.jsx(fb,{className:"w-6 h-6"}),title:i.reid1title,desc:i.reid1desc,color:"#00E5CC"},{icon:e.jsx(He,{className:"w-6 h-6"}
70),title:i.reid2title,desc:i.reid2desc,color:"#00AAFF"},{icon:e.jsx(Xl,{className:"w-6 h-6"}),title:i.reid3title,desc:i.reid3desc,color:"#9B30FF"},{icon:e.jsx(Mt,{className:"w-6 h-6"}),title:i.reid4title,desc:i.reid4desc,color:"#CC44DD"}].map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"bg-[#080A0F] rounded-2xl border p-6 h-full transition-all duration-300 hover:scale-[1.02]",style:{borderColor:`${g.color}25`,boxShadow:`0 0 30px ${g.color}08`},children:[e.jsx("div",{className:"mb-4 w-10 h-10 rounded-xl flex items-center justify-center",style:{background:`${g.color}18`,color:g.color},children:g.icon}),e.jsx("h3",{className:"font-bold text-white mb-3",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F] border-b border-[rgba(0,229,204,0.1)]",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-start",children:[e.jsxs(T,{children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.scaleTag??"Any Scale"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-6",children:i.scaleTitle??"From a street corner to the entire country."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 leading-relaxed mb-10",children:i.scaleDesc}),e.jsx("div",{className:"grid grid-cols-2 gap-3",children:["scale1","scale2","scale3","scale4"].map((g,v)=>e.jsxs("button",{onClick:()=>p(g),className:"text-left p-4 rounded-xl border transition-all duration-300",style:{borderColor:u===g?"#00E5CC":"rgba(0,229,204,0.12)",background:u===g?"rgba(0,229,204,0.08)":"rgba(13,15,20,0.6)",boxShadow:u===g?"0 0 20px rgba(0,229,204,0.15)":"none"},children:[e.jsx("div",{className:"font-bold text-white text-sm mb-1",children:[i.scale1,i.scale2,i.scale3,i.scale4][v]}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-xs",children:[i.scale1desc,i.scale2desc,i.scale3desc,i.scale4desc][v]})]},g))})]}),e.jsxs(T,{delay:.2,children:[e.jsx(iC,{scale:u}),e.jsx("div",{className:"mt-4 text-center",children:e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full border border-[rgba(0,229,204,0.2)] bg-[rgba(0,229,204,0.05)]",children:[e.jsx(nt,{className:"w-4 h-4 text-[#00E5CC]"}),e.jsx("span",{className:"text-xs font-mono text-[#00E5CC] uppercase tracking-wider",children:[i.scale1,i.scale2,i.scale3,i.scale4][h.indexOf(u)]})]})})]})]})})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.netTag??"The Ecosystem"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-6",children:i.netTitle??"Three networks. One intelligence."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 leading-relaxed max-w-4xl mx-auto",children:i.netDesc})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[e.jsx(T,{children:e.jsxs("div",{className:"bg-[#080A0F] rounded-3xl border border-[rgba(0,229,204,0.15)] p-8",style:{boxShadow:"0 0 60px rgba(0,229,204,0.06)"},children:[e.jsx("button",{onClick:()=>{o(!1),setTimeout(()=>o(!0),100)},className:"w-full py-3 rounded-xl border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-mono uppercase tracking-widest mb-6 hover:bg-[rgba(0,229,204,0.08)] transition-all duration-300",children:i.simulateAlert??"▶ Simulate Alert"}),e.jsx(db,{searchActive:l})]})}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"space-y-4",children:[[{label:i.netF2P,from:"FAST-AI",color:"#00E5CC",to:"Perceptrum",toColor:"#9B30FF"},{label:i.netF2D,from:"FAST-AI",color:"#00E5CC",to:"Perceptrum Corporate",toColor:"#00AAFF"},{label:i.netP2F,from:"Perceptrum",color:"#9B30FF",to:"FAST-AI",toColor:"#00E5CC"},{label:i.netD2F,from:"Perceptrum Corporate",color:"#00AAFF",to:"FAST-AI",toColor:"#00E5CC"},{label:i.netP2D,from:"Perceptrum",color:"#9B30FF",to:"Perceptrum Corporate",toColor:"#00AAFF"}].map((g,v)=>e.jsxs("div",{className:"flex items-center gap-4 bg-[#080A0F] rounded-xl border border-[rgba(0,229,204,0.1)] p-4 hover:border-[rgba(0,229,204,0.25)] transition-all duration-300",children:[e.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:g.color,boxShadow:`0 0 6px ${g.color}`}}),e.jsx("span",{className:"font-mono text-sm text-white font-bold",children:g.label??`${g.from} → ${g.to}`})]},v)),e.jsx("div",{className:"mt-6 bg-[rgba(0,229,204,0.05)] border border-[rgba(0,229,204,0.2)] rounded-xl p-5",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Ca,{className:"w-5 h-5 text-[#00E5CC] shrink-0 mt-0.5"}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-sm leading-relaxed",children:i.ecoAlert??"A single FAST-AI alert can instantly reach millions of cameras across private and government networks — all executing locally, none sharing raw video."})]})})]})})]})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.agencyTag??"Traffic Authorities"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white mb-6",children:i.agencyTitle??"Built for the agencies that protect roads."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 max-w-3xl mx-auto",children:i.agencyDesc})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:b.map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl border border-[rgba(0,229,204,0.1)] p-6 h-full hover:border-[rgba(0,229,204,0.25)] transition-all duration-300",children:[e.jsx("div",{className:"text-lg font-bold text-white mb-5",children:g.flag}),e.jsx("ul",{className:"space-y-3",children:(g.items??[]).map((k,j)=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-[#00E5CC] mt-2 shrink-0"}),e.jsx("span",{className:"text-[#B0C8D0]/75 text-sm leading-snug",children:k})]},j))})]})},v))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.ucTag??"Use Cases"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white",children:i.ucTitle??"Every alert on the road matters."})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{icon:e.jsx(Xl,{className:"w-6 h-6"}),title:i.uc1title,desc:i.uc1desc,color:"#00E5CC"},{icon:e.jsx(yb,{className:"w-6 h-6"}
70),title:i.uc2title,desc:i.uc2desc,color:"#00AAFF"},{icon:e.jsx(Mt,{className:"w-6 h-6"}),title:i.uc3title,desc:i.uc3desc,color:"#9B30FF"},{icon:e.jsx(nt,{className:"w-6 h-6"}),title:i.uc4title,desc:i.uc4desc,color:"#CC44DD"},{icon:e.jsx(Lt,{className:"w-6 h-6"}),title:i.uc5title,desc:i.uc5desc,color:"#00E5CC"}].map((g,v)=>e.jsx(T,{delay:v*.08,children:e.jsxs("div",{className:"bg-[#080A0F] rounded-2xl border p-6 h-full hover:scale-[1.02] transition-all duration-300",style:{borderColor:`${g.color}20`,boxShadow:`0 0 30px ${g.color}06`},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center",style:{background:`${g.color}18`,color:g.color},children:g.icon}),e.jsx("h3",{className:"font-bold text-white",children:g.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsx("section",{className:"py-24 bg-[#080A0F] border-b border-[rgba(0,229,204,0.1)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("div",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4",children:i.techTag??"Architecture"}),e.jsx("h2",{className:"text-4xl md:text-5xl font-black text-white",children:i.techTitle??"Built for roads. Built for scale."})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{icon:e.jsx($e,{className:"w-6 h-6"}),title:i.tech1title,desc:i.tech1desc,color:"#00E5CC"},{icon:e.jsx(He,{className:"w-6 h-6"}),title:i.tech2title,desc:i.tech2desc,color:"#00AAFF"},{icon:e.jsx(Yr,{className:"w-6 h-6"}),title:i.tech3title,desc:i.tech3desc,color:"#9B30FF"},{icon:e.jsx(pa,{className:"w-6 h-6"}),title:i.tech4title,desc:i.tech4desc,color:"#CC44DD"}].map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"bg-[#0D0F14] rounded-2xl border border-[rgba(0,229,204,0.1)] p-6 text-center hover:border-[rgba(0,229,204,0.25)] transition-all duration-300",children:[e.jsx("div",{className:"mx-auto mb-4 w-12 h-12 rounded-2xl flex items-center justify-center",style:{background:`${g.color}18`,color:g.color},children:g.icon}),e.jsx("h3",{className:"font-bold text-white mb-3",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/65 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsx("section",{className:"py-32 bg-[#0D0F14] border-b border-[rgba(0,229,204,0.12)]",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(T,{children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-bold tracking-widest mb-8 uppercase",children:[e.jsx(qa,{className:"w-3.5 h-3.5"})," FAST-AI Network"]}),e.jsx("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6 leading-tight",children:i.ctaTitle??"Connect your city to the network."}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 mb-4 leading-relaxed",children:i.ctaSub}),e.jsx("p",{className:"text-sm text-[#B0C8D0]/50 mb-12 font-mono",children:i.ctaNote}),e.jsxs("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:[e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",children:i.ctaBtn??"Request Access"})}),e.jsx($,{href:"/fast-ai",children:e.jsx(oe,{size:"lg",variant:"outline",children:i.ctaBtnBack??"Back to F.A.S.T.-AI"})})]})]})})})]})}function ub(){return e.jsx("div",{className:"flex items-end gap-[3px] h-10 opacity-60",children:[4,7,12,18,24,18,30,22,14,28,20,10,26,16,8,22,18,12,24,16,10,20,14,8,18].map((s,i)=>e.jsx(Pe.div,{className:"w-[3px] rounded-full",style:{background:i%3===0?"#00E5CC":i%3===1?"#9B30FF":"#00AAFF",height:s},animate:{scaleY:[1,1.4,.8,1.2,1]},transition:{duration:1.2+i*.06,repeat:1/0,ease:"easeInOut",delay:i*.04}},i))})}function Vl(){const{t:s}=_e(),i=s.drakonVoice||{},l=[{val:i.stat1val,label:i.stat1label,color:"#00E5CC"},{val:i.stat2val,label:i.stat2label,color:"#9B30FF"},{val:i.stat3val,label:i.stat3label,color:"#00AAFF"},{val:i.stat4val,label:i.stat4label,color:"#CC44DD"}],o=[{num:i.pipe1num,title:i.pipe1title,desc:i.pipe1desc,color:"#00E5CC"}
70,{num:i.pipe2num,title:i.pipe2title,desc:i.pipe2desc,color:"#9B30FF"},{num:i.pipe3num,title:i.pipe3title,desc:i.pipe3desc,color:"#00AAFF"},{num:i.pipe4num,title:i.pipe4title,desc:i.pipe4desc,color:"#CC44DD"},{num:i.pipe5num,title:i.pipe5title,desc:i.pipe5desc,color:"#00E5CC"}],u=[{icon:e.jsx(Fd,{className:"w-5 h-5"}),title:i.mod1title,desc:i.mod1desc,color:"#00E5CC"},{icon:e.jsx(pa,{className:"w-5 h-5"}),title:i.mod2title,desc:i.mod2desc,color:"#9B30FF"},{icon:e.jsx(wi,{className:"w-5 h-5"}),title:i.mod3title,desc:i.mod3desc,color:"#00AAFF"},{icon:e.jsx(Mt,{className:"w-5 h-5"}),title:i.mod4title,desc:i.mod4desc,color:"#CC44DD"},{icon:e.jsx(Ys,{className:"w-5 h-5"}),title:i.mod5title,desc:i.mod5desc,color:"#00E5CC"},{icon:e.jsx(Yi,{className:"w-5 h-5"}),title:i.mod6title,desc:i.mod6desc,color:"#9B30FF"},{icon:e.jsx(uu,{className:"w-5 h-5"}),title:i.mod7title,desc:i.mod7desc,color:"#00AAFF"},{icon:e.jsx(Yr,{className:"w-5 h-5"}),title:i.mod8title,desc:i.mod8desc,color:"#CC44DD"},{icon:e.jsx(bb,{className:"w-5 h-5"}),title:i.mod9title,desc:i.mod9desc,color:"#00E5CC"}],p=[{icon:e.jsx(Yi,{className:"w-6 h-6"}),title:i.out1title,desc:i.out1desc,color:"#00E5CC"},{icon:e.jsx(l2,{className:"w-6 h-6"}),title:i.out2title,desc:i.out2desc,color:"#9B30FF"},{icon:e.jsx(uu,{className:"w-6 h-6"}),title:i.out3title,desc:i.out3desc,color:"#00AAFF"},{icon:e.jsx(Gr,{className:"w-6 h-6"}),title:i.out4title,desc:i.out4desc,color:"#CC44DD"}],f=[{icon:e.jsx($e,{className:"w-5 h-5"}),title:i.sec1title,desc:i.sec1desc},{icon:e.jsx(Fd,{className:"w-5 h-5"}),title:i.sec2title,desc:i.sec2desc},{icon:e.jsx(pa,{className:"w-5 h-5"}),title:i.sec3title,desc:i.sec3desc},{icon:e.jsx(Lt,{className:"w-5 h-5"}),title:i.sec4title,desc:i.sec4desc},{icon:e.jsx(Xe,{className:"w-5 h-5"}),title:i.sec5title,desc:i.sec5desc},{icon:e.jsx(Xg,{className:"w-5 h-5"}),title:i.sec6title,desc:i.sec6desc}],m=[{icon:e.jsx(wb,{className:"w-4 h-4"}),label:i.req1label,val:i.req1val},{icon:e.jsx(o2,{className:"w-4 h-4"}),label:i.req2label,val:i.req2val},{icon:e.jsx(Gr,{className:"w-4 h-4"}),label:i.req3label,val:i.req3val},{icon:e.jsx(Gr,{className:"w-4 h-4"}),label:i.req4label,val:i.req4val},{icon:e.jsx(Xg,{className:"w-4 h-4"}),label:i.req5label,val:i.req5val},{icon:e.jsx(Ys,{className:"w-4 h-4"}),label:i.req6label,val:i.req6val}],h=[{item:i.pitem1,mode:i.pitem1mode},{item:i.pitem2,mode:i.pitem2mode},{item:i.pitem3,mode:i.pitem3mode},{item:i.pitem4,mode:i.pitem4mode},{item:i.pitem5,mode:i.pitem5mode},{item:i.pitem6,mode:i.pitem6mode},{item:i.pitem7,mode:i.pitem7mode},{item:i.pitem8,mode:i.pitem8mode},{item:i.pitem9,mode:i.pitem9mode},{item:i.pitem10,mode:i.pitem10mode},{item:i.pitem11,mode:i.pitem11mode}],b=[{label:i.deliveryLabel,val:i.deliveryVal},{label:i.warrantyLabel,val:i.warrantyVal},{label:i.langLabel,val:i.langVal}];return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:"Perceptrum Intelligence — AI Voice Agent for Public Safety",description:"Perceptrum Intelligence is an AI-powered voice agent that integrates with Perceptrum Corporate for hands-free incident reporting, real-time dispatch, and field communication.",canonical:"https://aiquimist.ai/perceptrum-intelligence",jsonLd:{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Perceptrum Intelligence",applicationCategory:"SecurityApplication",operatingSystem:"Cloud",url:"https://aiquimist.ai/perceptrum-intelligence",description:"AI voice agent for public safety incident reporting and field communication."}}),e.jsxs("section",{className:"relative pt-40 pb-28 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0A0C14] to-[#0D0510]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[800px] h-[800px] bg-[#9B30FF]/12 rounded-full blur-[160px] -translate-y-1/3 translate-x-1/3 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[600px] h-[600px] bg-[#00E5CC]/6 rounded-full blur-[140px] pointer-events-none"}),e.jsx("div",{className:"absolute inset-0 pointer-events-none opacity-[0.03]",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,229,204,0.5) 2px, rgba(0,229,204,0.5) 3px)",backgroundSize:"100% 3px"}}),e.jsx("div",{className:"relative z-10 max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:e.jsxs(Pe.div,{initial:{opacity:0,y:40}
70,animate:{opacity:1,y:0},transition:{duration:.8},children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("img",{src:"/images/logo-perceptrum-intelligence.png",alt:"Perceptrum Intelligence",className:"h-24 md:h-32 w-auto object-contain",style:{filter:"drop-shadow(0 0 28px rgba(155,48,255,0.30))"}})}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx(Ys,{className:"w-4 h-4"})," ",i.tag||"AUDIO INTELLIGENCE SYSTEM"]}),e.jsx("div",{className:"flex justify-center mb-6",children:e.jsx(ub,{})}),e.jsxs("h1",{className:"text-6xl md:text-8xl lg:text-9xl font-black mb-6 leading-none tracking-tight",style:{fontFamily:"'Orbitron', monospace"},children:[e.jsx("span",{className:"text-white",children:i.heroTitle||"PERCEPTRUM"}),e.jsx("br",{}),e.jsx("span",{style:{color:"#00E5CC",textShadow:"0 0 40px rgba(0,229,204,0.5)"},children:i.heroTitleAccent||"INTELLIGENCE"})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/80 leading-relaxed max-w-3xl mx-auto mb-8",children:i.heroSub}),e.jsx("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full border border-[rgba(0,229,204,0.15)] bg-[rgba(0,229,204,0.04)] text-[#B0C8D0]/60 text-xs font-mono tracking-widest uppercase mb-12",children:i.heroBadge}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:"https://wa.me/05595991116093?text=Perceptrum%20Intelligence%20-%20Solicitar%20demonstra%C3%A7%C3%A3o",target:"_blank",rel:"noopener noreferrer",children:e.jsxs(oe,{size:"lg",className:"h-14 px-10 text-base",children:[i.ctaBtn1||"Request Demo"," ",e.jsx(Qe,{className:"w-5 h-5 ml-2"})]})}),e.jsx("button",{onClick:()=>document.getElementById("pipeline")?.scrollIntoView({behavior:"smooth"}),className:"h-14 px-10 text-base font-bold rounded-[4px] border border-[rgba(0,229,204,0.3)] text-[#00E5CC] hover:bg-[rgba(0,229,204,0.06)] transition-all",children:s.common?.howItWorks||"How It Works"})]})]})})]}),e.jsx("section",{className:"border-y border-[rgba(0,229,204,0.12)] bg-[#0D0F14]/80",children:e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-10",children:e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-8",children:l.map((g,v)=>e.jsxs(T,{delay:v*.1,className:"text-center",children:[e.jsx("div",{className:"text-4xl md:text-5xl font-black mb-1",style:{color:g.color,fontFamily:"'Orbitron', monospace",textShadow:`0 0 24px ${g.color}60`},children:g.val}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-xs uppercase tracking-widest",children:g.label})]},v))})})}),e.jsx("section",{className:"py-24",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 items-center",children:[e.jsxs(T,{children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.overviewTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 leading-tight",children:i.overviewTitle}),e.jsx("p",{className:"text-[#B0C8D0]/85 text-lg leading-relaxed mb-5",children:i.overviewP1}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed",children:i.overviewP2})]}),e.jsx(T,{delay:.2,children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-2xl p-8 border border-[rgba(0,229,204,0.2)]",style:{background:"rgba(0,229,204,0.04)"},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#00E5CC]/20 flex items-center justify-center",children:e.jsx(Gr,{className:"w-4 h-4 text-[#00E5CC]"})}),e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest",children:i.overviewCard1Tag})]}),e.jsx("p",{className:"text-[#B0C8D0]/80 leading-relaxed text-sm",children:i.overviewCard1Text})]}),e.jsxs("div",{className:"rounded-2xl p-8 border border-[rgba(155,48,255,0.2)]",style:{background:"rgba(155,48,255,0.04)"},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#9B30FF]/20 flex items-center justify-center",children:e.jsx(Fd,{className:"w-4 h-4 text-[#9B30FF]"})}),e.jsx("span",{className:"text-xs font-bold text-[#9B30FF] uppercase tracking-widest",children:i.overviewCard2Tag})]}),e.jsx("p",{className:"text-[#B0C8D0]/80 leading-relaxed text-sm",children:i.overviewCard2Text})]})]})})]})})}),e.jsx("section",{id:"pipeline",className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.pipelineTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.pipelineTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto",children:i.pipelineSub})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"hidden lg:block absolute left-1/2 top-0 bottom-0 w-px bg-gradient-to-b from-transparent via-[rgba(0,229,204,0.2)] to-transparent -translate-x-1/2 pointer-events-none"}),e.jsx("div",{className:"space-y-8",children:o.map((g,v)=>e.jsx(T,{delay:v*.12,children:e.jsxs("div",{className:`flex flex-col lg:flex-row items-center gap-8 ${v%2===1?"lg:flex-row-reverse":""}`,children:[e.jsx("div",{className:"flex-1 text-center lg:text-right",style:{textAlign:v%2===1?"left":void 0},children:e.jsxs("div",{className:"inline-block rounded-2xl p-6 border hover:border-opacity-50 transition-all",style:{background:`${g.color}06`,borderColor:`${g.color}25`},children:[e.jsx("div",{className:"text-5xl font-black mb-3 opacity-30",style:{color:g.color,fontFamily:"'Orb
70itron', monospace"},children:g.num}),e.jsx("h3",{className:"text-xl font-bold text-white mb-2",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/70 text-sm leading-relaxed max-w-sm",children:g.desc})]})}),e.jsx("div",{className:"relative z-10 flex-shrink-0",children:e.jsx("div",{className:"w-12 h-12 rounded-full flex items-center justify-center font-black text-sm",style:{background:`${g.color}20`,border:`2px solid ${g.color}`,color:g.color,boxShadow:`0 0 20px ${g.color}40`,fontFamily:"'Orbitron', monospace"},children:v+1})}),e.jsx("div",{className:"flex-1 hidden lg:block"})]})},v))})]})]})}),e.jsx("section",{className:"py-24",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.modulesTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.modulesTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:u.map((g,v)=>e.jsx(T,{delay:v*.08,children:e.jsxs("div",{className:"rounded-2xl p-6 border hover:border-opacity-50 transition-all h-full group",style:{background:`${g.color}04`,borderColor:`${g.color}18`},children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",style:{background:`${g.color}18`,border:`1px solid ${g.color}40`,color:g.color},children:g.icon}),e.jsx("h3",{className:"text-white font-bold text-sm leading-tight",children:g.title})]}),e.jsx("p",{className:"text-[#B0C8D0]/65 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsxs("section",{className:"py-24 relative overflow-hidden border-y border-[rgba(204,68,221,0.2)]",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0F070F] to-[#080A0F]"}),e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[900px] h-[500px] bg-[#CC44DD]/8 rounded-full blur-[140px] pointer-events-none"}),e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(Pe.div,{className:"w-[600px] h-[600px] rounded-full border border-[rgba(204,68,221,0.1)]",animate:{scale:[1,1.15,1],opacity:[.3,.05,.3]},transition:{duration:3,repeat:1/0,ease:"easeInOut"}})}),e.jsxs("div",{className:"relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#CC44DD]/15 border border-[rgba(204,68,221,0.4)] text-[#CC44DD] text-xs font-bold tracking-widest uppercase mb-6",children:[e.jsx(Pe.div,{animate:{scale:[1,1.3,1]},transition:{duration:1,repeat:1/0},children:e.jsx(Zg,{className:"w-3.5 h-3.5"})}),i.alertSectionTag||"REAL-TIME DETECTION"]}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-6 leading-tight max-w-3xl mx-auto",children:i.alertSectionTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto text-lg leading-relaxed",children:i.alertSectionSub})]}),e.jsx(T,{delay:.1,className:"mb-16",children:e.jsx("div",{className:"flex flex-col md:flex-row items-center justify-center gap-3 md:gap-0",children:[{icon:e.jsx(Ys,{className:"w-5 h-5"}),label:`Keyword
71Spoken`,color:"#00E5CC"},{arrow:!0},{icon:e.jsx(Mt,{className:"w-5 h-5"}),label:`System
72Detects`,color:"#9B30FF"},{arrow:!0},{icon:e.jsx(Zg,{className:"w-5 h-5"}),label:`Instant
73Alert`,color:"#CC44DD",pulse:!0},{arrow:!0},{icon:e.jsx($l,{className:"w-5 h-5"}),label:`Evidence
74Delivered`,color:"#00AAFF"}].map((g,v)=>g.arrow?e.jsx("div",{className:"hidden md:flex w-12 items-center justify-center",children:e.jsx("div",{className:"w-full h-px bg-gradient-to-r from-[rgba(255,255,255,0.1)] to-[rgba(255,255,255,0.1)] relative",children:e.jsx(Qe,{className:"w-4 h-4 text-[#B0C8D0]/30 absolute right-0 -translate-y-1/2 top-1/2"})})},v):e.jsxs("div",{className:"relative flex flex-col items-center gap-2 px-4",children:[g.pulse&&e.jsx(Pe.div,{className:"absolute inset-0 rounded-xl border",style:{borderColor:g.color},animate:{scale:[1,1.3,1],opacity:[.6,0,.6]},transition:{duration:1.2,repeat:1/0}}),e.jsx("div",{className:"w-16 h-16 rounded-xl flex items-center justify-center",style:{background:`${g.color}15`,border:`1px solid ${g.color}50`,color:g.color,boxShadow:`0 0 20px ${g.color}25`},children:g.icon}),e.jsx("span",{className:"text-[#B0C8D0]/60 text-xs text-center whitespace-pre-line leading-tight",children:g.label})]},v))})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[{icon:e.jsx(c2,{className:"w-6 h-6"}),title:i.alert1title,desc:i.alert1desc,color:"#00E5CC"},{icon:e.jsx(Mt,{className:"w-6 h-6"}
74),title:i.alert2title,desc:i.alert2desc,color:"#9B30FF"},{icon:e.jsx(nt,{className:"w-6 h-6"}),title:i.alert3title,desc:i.alert3desc,color:"#CC44DD"},{icon:e.jsx($l,{className:"w-6 h-6"}),title:i.alert4title,desc:i.alert4desc,color:"#00AAFF"}].map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"rounded-2xl p-7 border flex gap-5 items-start hover:border-opacity-50 transition-all group",style:{background:`${g.color}05`,borderColor:`${g.color}20`},children:[e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center shrink-0 transition-transform group-hover:scale-110",style:{background:`${g.color}18`,border:`1px solid ${g.color}40`,color:g.color,boxShadow:`0 0 16px ${g.color}20`},children:g.icon}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-white font-bold mb-2",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/65 text-sm leading-relaxed",children:g.desc})]})]})},v))})]})]}),e.jsx("section",{className:"py-24 bg-[#0D0F14] border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.outputsTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.outputsTitle})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:p.map((g,v)=>e.jsx(T,{delay:v*.1,children:e.jsxs("div",{className:"rounded-2xl p-7 border text-center h-full flex flex-col items-center group hover:border-opacity-50 transition-all",style:{background:`${g.color}05`,borderColor:`${g.color}20`},children:[e.jsx("div",{className:"w-14 h-14 rounded-2xl flex items-center justify-center mb-5 transition-transform group-hover:scale-110",style:{background:`${g.color}18`,border:`1px solid ${g.color}40`,color:g.color,boxShadow:`0 0 20px ${g.color}20`},children:g.icon}),e.jsx("h3",{className:"text-white font-bold mb-3",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/65 text-sm leading-relaxed",children:g.desc})]})},v))})]})}),e.jsx("section",{className:"py-24",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.secTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.secTitle})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:f.map((g,v)=>e.jsx(T,{delay:v*.08,children:e.jsxs("div",{className:"flex gap-4 rounded-2xl p-6 border border-[rgba(0,229,204,0.1)] bg-[#0D0F14]/60 hover:border-[rgba(0,229,204,0.25)] transition-all",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.25)] text-[#00E5CC] flex items-center justify-center shrink-0",children:g.icon}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-white font-bold text-sm mb-1",children:g.title}),e.jsx("p",{className:"text-[#B0C8D0]/60 text-xs leading-relaxed",children:g.desc})]})]})},v))})]})}),e.jsx("section",{className:"py-24 bg-[#0D0F14]/60 border-y border-[rgba(0,229,204,0.12)]",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-12",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.reqTag}),e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white",children:i.reqTitle})]}),e.jsx(T,{delay:.15,children:e.jsx("div",{className:"rounded-2xl border border-[rgba(0,229,204,0.15)] overflow-hidden",children:m.map((g,v)=>e.jsxs("div",{className:`flex items-start gap-4 px-6 py-5 ${v<m.length-1?"border-b border-[rgba(0,229,204,0.08)]":""} ${v%2===0?"bg-[rgba(0,229,204,0.02)]":""}`,children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-[#00E5CC]/10 flex items-center justify-center text-[#00E5CC] shrink-0 mt-0.5",children:g.icon}),e.jsxs("div",{className:"flex-1 flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-6",children:[e.jsx("span",{className:"text-[#B0C8D0]/60 text-sm font-medium uppercase tracking-wider min-w-[160px]",children:g.label}),e.jsx("span",{className:"text-white text-sm",children:g.val})]})]},v))})})]})}),e.jsx("section",{className:"py-24",children:e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{className:"text-center mb-16",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest mb-4 block",children:i.pricingTag}),e.jsx("h2",{className:"text-3xl md:text-5xl font-bold text-white mb-4",children:i.pricingTitle}),e.jsx("p",{className:"text-[#B0C8D0]/70 max-w-2xl mx-auto",children:i.pricingSub})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-10 items-start",children:[e.jsx(T,{delay:.1,className:"lg:col-span-1",children:e.jsxs("div",{className:"rounded-2xl p-8 text-center border sticky top-28",style:{background:"linear-gradient(135deg, rgba(0,229,204,0.08) 0%, rgba(155,48,255,0.08) 100%)",borderColor:"rgba(0,229,204,0.3)",boxShadow:"0 0 60px rgba(0,229,204,0.08), 0 0 120px rgba(155,48,255,0.06)"},children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl bg-[#00E5CC]/15 border border-[rgba(0,229,204,0.3)] flex items-center justify-center mx-auto mb-6",children:e.jsx(Ys,{className:"w-8 h-8 text-[#00E5CC]"})}),e.jsx("div",{className:"text-4xl font-black text-white mb-1",style:{fontFamily:"'Orb
74itron', monospace"},children:i.priceHighlight}),e.jsx("div",{className:"text-[#B0C8D0]/60 text-sm mb-6",children:i.priceHighlightSub}),e.jsx("div",{className:"space-y-2 mb-6 text-left",children:b.map((g,v)=>e.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[e.jsx(Xe,{className:"w-3.5 h-3.5 text-[#00E5CC] mt-0.5 shrink-0"}),e.jsxs("span",{className:"text-[#B0C8D0]/70",children:[e.jsxs("span",{className:"text-[#B0C8D0]/40",children:[g.label,":"]})," ",g.val]})]},v))}),e.jsx("p",{className:"text-[#B0C8D0]/50 text-xs leading-relaxed mb-5",children:i.priceNote}),e.jsx("a",{href:"https://wa.me/05595991116093?text=Perceptrum%20Intelligence%20-%20Solicitar%20cotação",target:"_blank",rel:"noopener noreferrer",className:"block",children:e.jsxs(oe,{className:"w-full h-12",children:[i.ctaBtn1," ",e.jsx(Qe,{className:"w-4 h-4 ml-1"})]})})]})}),e.jsx(T,{delay:.2,className:"lg:col-span-2",children:e.jsxs("div",{className:"rounded-2xl border border-[rgba(0,229,204,0.12)] overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-[rgba(0,229,204,0.1)]",style:{background:"rgba(0,229,204,0.04)"},children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest",children:"Item / Component"}),e.jsx("span",{className:"text-xs font-bold text-[#00E5CC] uppercase tracking-widest",children:"Mode"})]})}),h.map((g,v)=>e.jsxs("div",{className:`px-6 py-4 grid grid-cols-2 gap-4 items-center ${v<h.length-1?"border-b border-[rgba(0,229,204,0.06)]":""} ${v%2===0?"":"bg-[rgba(0,229,204,0.015)]"} hover:bg-[rgba(0,229,204,0.03)] transition-colors`,children:[e.jsx("span",{className:"text-white text-sm",children:g.item}),e.jsx("span",{className:"text-[#00E5CC] text-xs font-medium font-mono",children:g.mode})]},v))]})})]})]})}),e.jsxs("section",{className:"py-28 relative overflow-hidden border-t border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-[#9B30FF]/12 rounded-full blur-[140px] pointer-events-none"}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx(ub,{})}),e.jsxs("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6 leading-tight",style:{fontFamily:"'Orbitron', monospace"},children:[i.ctaTitle,e.jsx("br",{}),e.jsx("span",{style:{color:"#00E5CC",textShadow:"0 0 30px rgba(0,229,204,0.5)"},children:i.ctaTitleAccent})]}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/80 mb-10 max-w-2xl mx-auto leading-relaxed",children:i.ctaSub}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:"https://wa.me/05595991116093?text=Perceptrum%20Intelligence%20-%20Solicitar%20demonstra%C3%A7%C3%A3o",target:"_blank",rel:"noopener noreferrer",children:e.jsxs(oe,{size:"lg",className:"h-16 px-10 text-lg",children:[i.ctaBtn1," ",e.jsx(Qe,{className:"w-5 h-5 ml-2"})]})}),e.jsx($,{href:"/contact",children:e.jsx(oe,{size:"lg",variant:"outline",className:"h-16 px-10 text-lg border-[rgba(0,229,204,0.3)] text-[#00E5CC] hover:bg-[#9B30FF]/20",children:i.ctaBtn2})})]}),e.jsx("p",{className:"mt-12 text-[#B0C8D0]/40 text-xs font-medium tracking-widest uppercase",children:i.ctaTagline})]})})]})]})}const lC="https://apps.microsoft.com/detail/9nqpfzr9z7mc?hl=en-US&gl=BR&ocid=pdpshare";function mb(){const{t:s}=_e(),i=s.downloads??{};return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen pt-24 font-sans text-white",children:[e.jsx(ha,{title:"Downloads — Perceptrum Personal Desktop App",description:"Get the Perceptrum Personal desktop application for Windows from Microsoft Store. Deploy AI-powered video surveillance in minutes.",canonical:"https://aiquimist.ai/downloads"}),e.jsxs("section",{className:"relative py-24 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsxs("div",{className:"absolute inset-0 z-0 pointer-events-none",children:[e.jsx("div",{className:"absolute top-0 right-0 w-[700px] h-[500px] bg-[#9B30FF]/10 blur-[130px] rounded-full"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[500px] h-[400px] bg-[#00E5CC]/6 blur-[120px] rounded-full"})]}),e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 text-center",children:e.jsxs(T,{children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-sm font-bold tracking-wider mb-8 uppercase",children:[e.jsx(_r,{className:"w-4 h-4"}),i.tag??"PERCEPTRUM · DOMESTIC / PRIVATE"]}),e.jsxs("h1",{className:"text-5xl md:text-7xl font-black text-white mb-6 leading-tight",children:[i.title??"Download"," ",e.jsx("span",{className:"text-gradient",children:"Perceptrum"})]}),e.jsx("p",{className:"text-xl md:text-2xl text-[#B0C8D0]/85 font-medium mb-6 max-w-3xl mx-auto leading-relaxed",children:i.subtitle??"AI security platform for homes, businesses and condominiums."})]})})]}),e.jsx("section",{className:"py-20 bg-[#0D0F14]",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx(T,{children:e.jsxs("div",{className:"relative rounded-3xl border-2 border-[rgba(0,229,204,0.45)] bg-gradient-to-br from-[#0D1520] to-[#080A0F] p-10 md:p-14 mb-8",style:{boxShadow:"0 0 80px rgba(0,229,204,0.10), 0 0 160px rgba(0,229,204,0.04)"},children:[e.jsx("div",{className:"absolute top-6 right-6",children:e.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-bold uppercase tracking-widest bg-[#00E5CC]/20 text-[#00E5CC] border border-[#00E5CC]/40",children:i.availableLabel??"Available Now"})}),e.jsxs("div",{className:"flex flex-col md:flex-row gap-8 items-start md:items-center",children:[e.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[#00AAFF]/10 border border-[#00AAFF]/30 flex items-center justify-center shrink-0",style:{boxShadow:"0 0 30px rgba(0,170,255,0.12)"},children:e.jsx("img",{src:"/images/microsoft-store.svg",alt:"Microsoft Store",className:"w-12 h-12"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-black text-white mb-3",children:i.windowsTitle??"Perceptrum for Windows"}),e.jsx("p",{className:"text-[#B0C8D0]/80 text-lg leading-relaxed mb-6",children:i.windowsDesc??"This is the official installer for Perceptrum Personal — the domestic and private version."}),e.jsxs("div",{className:"flex flex-wrap gap-3 mb-8",children:[e.jsx("span",{className:"px-3 py-1.5 rounded-lg bg-[#080A0F] border border-[rgba(0,229,204,0.2)] text-[#00E5CC] text-sm font-mono",children:"Windows 10/11 x64"}),e.jsx("span",{className:"px-3 py-1.5 rounded-lg bg-[#080A0F] border border-[rgba(0,229,204,0.2)] text-[#00E5CC] text-sm font-mono",children:"v1.0.0"}),e.jsx("span",{className:"px-3 py-1.5 rounded-lg bg-[#080A0F] border border-[rgba(0,229,204,0.2)] text-[#B0C8D0]/50 text-sm font-mono",children:"Microsoft Store"})]}),e.jsx("a",{href:lC,target:"_blank",rel:"noopener noreferrer",children:e.jsxs(oe,{size:"lg",className:"h-16 px-10 text-lg flex items-center gap-3",style:{background:"linear-gradient(135deg,#00E5CC,#00AAFF)",color:"#080A0F",fontWeight:900,letterSpacing:"0.05em",boxShadow:"0 0 40px rgba(0,229,204,0.35)"},children:[e.jsx("img",{src:"/images/microsoft-store.svg",alt:"Microsoft Store",className:"w-6 h-6 shrink-0"}),i.downloadBtn??"Microsoft Store"]})})]})]})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-16",children:[{icon:e.jsx(d2,{className:"w-8 h-8"}),label:i.macComingSoon??"macOS — Coming Soon"},{icon:e.jsx(u2,{className:"w-8 h-8"}),label:i.linuxComingSoon??"Linux — Coming Soon"}].map((l,o)=>e.jsx(T,{delay:o*.1,children:e.jsxs("div",{className:"rounded-2xl border border-[rgba(255,255,255,0.07)] bg-[#080A0F]/60 p-8 flex items-center gap-5 opacity-45",children:[e.jsx("div",{className:"w-14 h-14 roun
74ded-xl bg-white/4 flex items-center justify-center shrink-0 text-white/30",children:l.icon}),e.jsx("span",{className:"text-[#B0C8D0]/35 font-semibold text-lg",children:l.label})]})},o))}),e.jsx(T,{children:e.jsxs("div",{className:"rounded-2xl border border-[rgba(0,229,204,0.15)] bg-[#080A0F] p-8 mb-8",children:[e.jsxs("h3",{className:"text-xl font-bold text-white mb-6 flex items-center gap-2",children:[e.jsx(Xe,{className:"text-[#00E5CC] w-5 h-5"}),i.winReqTitle??"System Requirements"]}),e.jsx("ul",{className:"space-y-4",children:[i.winReq1,i.winReq2,i.winReq3,i.winReq4].filter(Boolean).map((l,o)=>e.jsxs("li",{className:"flex items-start gap-3 text-[#B0C8D0]/80",children:[e.jsx(Qe,{className:"text-[#00E5CC] w-4 h-4 shrink-0 mt-0.5"}),l]},o))})]})}),e.jsx(T,{children:e.jsx("div",{className:"rounded-2xl border border-[rgba(251,191,36,0.25)] bg-[rgba(251,191,36,0.04)] p-8",children:e.jsxs("div",{className:"flex gap-4",children:[e.jsx(Ul,{className:"text-amber-400 w-6 h-6 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-amber-400 font-bold mb-2 text-lg",children:i.disclaimerTitle??"Important"}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed mb-3",children:i.disclaimerText??"This is the Perceptrum domestic/private version. For enterprise and government deployments, contact our sales team."}),e.jsx($,{href:"/contact",children:e.jsxs("span",{className:"inline-flex items-center gap-1 text-[#00E5CC] text-sm font-semibold hover:underline cursor-pointer",children:[e.jsx(Qe,{className:"w-4 h-4"}),i.contactLink??"Contact Enterprise Sales"]})})]})]})})})]})})]})}const oC=[{label:"Todos",slug:"all",color:"#00E5CC"},{label:"IA & Segurança Pública",slug:"ia-seguranca",color:"#00E5CC"},{label:"Smart Cities",slug:"smart-cities",color:"#9B30FF"},{label:"Tecnologia & IA",slug:"tecnologia",color:"#00AAFF"},{label:"Casos de Uso",slug:"casos-de-uso",color:"#CC44DD"}],mn=[{slug:"ia-transformando-seguranca-publica-brasil",title:"Como a Inteligência Artificial Está Transformando a Segurança Pública no Brasil",excerpt:"Do reconhecimento de padrões à prevenção de crimes em tempo real: entenda como plataformas de IA estão redefinindo o papel das câmeras de vigilância nas cidades brasileiras.",category:"IA & Segurança Pública",categorySlug:"ia-seguranca",date:"2025-04-10",readTime:"8 min",tags:["inteligência artificial","segurança pública","câmeras inteligentes","prevenção de crimes"],accentColor:"#00E5CC",content:[{type:"paragraph",text:"O Brasil enfrenta um dos maiores desafios em segurança pública do mundo. Com mais de 40.000 homicídios por ano e uma densidade de câmeras de vigilância que cresce a taxas de dois dígitos, as cidades brasileiras acumulam petabytes de vídeo que raramente são analisados em tempo real. A inteligência artificial está mudando isso de forma radical."},{type:"heading",level:2,text:"O Problema das Câmeras Cegas"},{type:"paragraph",text:"Durante décadas, câmeras de segurança foram tratadas como ferramentas passivas: gravavam tudo, mas só serviam para investigações após um crime já ocorrido. Um operador humano consegue monitorar, no máximo, entre 4 e 8 monitores simultaneamente com atenção eficaz. Em uma cidade com 10.000 câmeras, isso significa que mais de 99% do footage nunca é realmente assistido."},{type:"paragraph",text:"Plataformas modernas de IA para segurança pública mudam essa equação completamente. Em vez de exigir que humanos observem passivamente, o sistema analisa todos os feeds simultaneamente, 24 horas por dia, identificando situações de risco antes que se transformem em crimes."},{type:"heading",level:2,text:"O que a IA Consegue Detectar"},{type:"paragraph",text:"As capacidades das plataformas atuais de visão computacional para segurança pública vão muito além do simples reconhecimento facial. Entre as detecções mais relevantes para o contexto brasileiro:"},{type:"list",items:["Aglomerações atípicas em espaços públicos — indicador precoce de confrontos ou tumultos","Comportamento de abandono de objetos — detecção de suspeitos deix
74ando mochilas, sacolas ou embrulhos","Monitoramento de perímetros e zonas restritas com alertas automáticos de invasão","Identificação de veículos com placas em listas de restrição ou mandados de busca","Análise de fluxo de pedestres para identificar situações de pânico ou fuga","Detecção de armas e objetos cortantes em feeds de câmeras","Reconhecimento de pessoas em situação de vulnerabilidade (quedas, desmaios, agressões)"]},{type:"callout",icon:"🔍",text:"Plataformas como o Perceptrum Corporate combinam mais de 40 modelos de IA em camadas, permitindo detectar situações de risco com precisão acima de 95% e latência inferior a 200 milissegundos."},{type:"heading",level:2,text:"Da Reatividade à Prevenção Preditiva"},{type:"paragraph",text:"O avanço mais significativo não é a detecção em tempo real — é a capacidade preditiva. Algoritmos treinados com dados históricos de criminalidade conseguem identificar padrões que antecedem crimes: horários de maior incidência por bairro, comportamentos recorrentes de suspeitos, correlação entre eventos (como shows e disputas por território) e roubos."},{type:"paragraph",text:"Isso permite que as secretarias de segurança pública reposicionem viaturas e agentes preventivamente, antes que chamados de emergência cheguem. Estudos em cidades dos EUA e Europa que adotaram vigilância preditiva reportam reduções de 15% a 30% em certos tipos de crime."},{type:"heading",level:2,text:"Integração com Centros de Operações (COPs e CIOPs)"},{type:"paragraph",text:"Um dos grandes gargalos da segurança pública brasileira é a comunicação entre diferentes órgãos — Polícia Militar, Civil, Guarda Municipal, Bombeiros, SAMU. Plataformas de IA modernas se integram nativamente a sistemas de despacho, CAD (Computer-Aided Dispatch) e rádios digitais, criando um fluxo unificado de informação."},{type:"paragraph",text:"Quando um sistema detecta uma situação de risco, ele automaticamente cria um incidente, anexa o clipe de vídeo relevante, geolocaliza a ocorrência no mapa do centro de operações e sugere os recursos mais próximos para atendimento — tudo em segundos."},{type:"heading",level:2,text:"Privacidade, LGPD e o Debate Ético"},{type:"paragraph",text:"A implantação de IA em vigilância pública levanta questões legítimas de privacidade e direitos civis. No Brasil, a LGPD (Lei Geral de Proteção de Dados) e resoluções do CNJ estabelecem diretrizes para o uso de reconhecimento facial em espaços públicos. As plataformas responsáveis operam com criptografia de dados biométricos, auditorias de acesso, bases legais documentadas e capacidade de exclusão de registros mediante solicitação."},{type:"paragraph",text:"O debate não é sobre se usar IA na segurança pública, mas como fazê-lo com responsabilidade, transparência e governança adequada. Cidades que implementaram frameworks de compliance rigorosos conseguem capturar os benefícios da tecnologia mantendo a confiança da população."},{type:"heading",level:2,text:"O Caminho para as Cidades Brasileiras"},{type:"paragraph",text:"A trajetória de adoção para municípios brasileiros geralmente segue três fases: (1) integração das câmeras existentes em uma plataforma centralizada com análise de IA, sem necessidade de substituição de hardware; (2) treinamento das equipes de monitoramento e ajuste dos modelos de IA para as especificidades locais; e (3) expansão para integração com outros sistemas urbanos como semáforos, alarmes e rádio policial."},{type:"callout",icon:"📊",text:"O retorno sobre investimento em plataformas de IA para segurança pública é mensurável: redução de horas extras de monitoramento humano, aumento na taxa de resolução de crimes (pelo acesso a evidências de melhor qualidade) e diminuição do tempo de resposta a incidentes."}]},{slug:"cidades-inteligentes-ia-transformacao-urbana",title:"Cidades Inteligentes: O que São e Como a IA Acelera Essa Transformação",excerpt:"Smart cities não são só tecnologia — são uma nova filosofia de gestão urbana. Entenda os pilares, os de
74safios e como a IA conecta infraestrutura, dados e cidadãos em uma rede inteligente.",category:"Smart Cities",categorySlug:"smart-cities",date:"2025-04-04",readTime:"10 min",tags:["smart cities","cidades inteligentes","gestão urbana","IA","infraestrutura"],accentColor:"#9B30FF",content:[{type:"paragraph",text:"Mais de 55% da população mundial vive em cidades — e esse número chegará a 70% em 2050. No Brasil, a urbanização já ultrapassa 87%. Cidades que não evoluírem sua capacidade de gestão inteligente enfrentarão crises crescentes de mobilidade, segurança, meio ambiente e serviços públicos. É nesse contexto que o conceito de Smart City deixou de ser utopia tecnológica para se tornar necessidade estratégica."},{type:"heading",level:2,text:"O que Faz uma Cidade ser Inteligente?"},{type:"paragraph",text:"Uma cidade inteligente não se define pela quantidade de câmeras ou sensores que possui — mas pela capacidade de transformar dados em decisões mais rápidas e melhores. Os seis pilares fundamentais de uma smart city são: governança inteligente, mobilidade inteligente, meio ambiente inteligente, economia inteligente, pessoas inteligentes e habitação inteligente."},{type:"paragraph",text:"O denominador comum entre todos esses pilares é a coleta, análise e uso de dados em tempo real para otimizar o funcionamento urbano. E é aqui que a inteligência artificial entra como elemento habilitador central."},{type:"heading",level:2,text:"O Papel da IA na Infraestrutura Urbana"},{type:"paragraph",text:"A IA não é apenas mais uma camada tecnológica — ela é o sistema nervoso que dá sentido à quantidade de dados que a cidade moderna produz. Sensores de tráfego, câmeras de vigilância, medidores de consumo de energia, estações meteorológicas, GPS de frotas e aplicativos municipais geram volumes de dados impossíveis de analisar manualmente."},{type:"list",items:["Gestão de tráfego adaptativa: semáforos que ajustam seus ciclos em tempo real com base no fluxo de veículos","Detecção precoce de riscos de enchente: análise de dados de chuva, nível de rios e histórico de alagamentos","Otimização da coleta de lixo: rotas dinâmicas baseadas em sensores de nível em caçambas","Iluminação pública inteligente: ajuste automático de intensidade baseado em presença de pedestres e nível de luminosidade","Monitoramento de qualidade do ar e alertas para grupos de risco","Manutenção preditiva de infraestrutura: pontes, pavimentação e redes de água"]},{type:"heading",level:2,text:"O Conceito de Cidade Federada"},{type:"paragraph",text:"Um dos maiores desafios das smart cities é a fragmentação: cada secretaria compra seu próprio sistema, cria seu próprio silo de dados e não se comunica com os demais. O resultado é que a cidade tem muita tecnologia, mas pouca inteligência integrada."},{type:"paragraph",text:"O conceito de cidade federada resolve esse problema com uma arquitetura que permite que sistemas diferentes — câmeras da segurança pública, sensores de trânsito, dados do SAMU, informações do corpo de bombeiros — compartilhem uma camada de análise centralizada, mantendo a autonomia de cada secretaria."},{type:"callout",icon:"🌐",text:"Plataformas federadas como o F.A.S.T.-AI permitem que municípios comecem com os sistemas que já possuem e progressivamente integrem novas fontes de dados, sem migrações complexas ou substituição de infraestrutura existente."},{type:"heading",level:2,text:"O Case das Câmeras Inteligentes na Gestão Urbana"},{type:"paragraph",text:"As câmeras já existem em grande número nas cidades brasileiras — o problema é que são usadas majoritariamente como arquivo histórico pós-incidente. Quando integradas a plataformas de IA, as mesmas câmeras passam a funcionar como sensores multifuncionais: contam veículos, identificam tipos de ocorrências, medem fluxo de pedestres, detectam situações de emergência e alimentam dashboards de gestão em tempo real."},{type:"paragraph",text:"Uma câmera integrada a uma plataforma de IA pode substituir múltiplos sensores dedicados, reduzindo o custo total de instrumentação da cidade enquanto entrega muito mais valor operacional."},{type:"heading",level:2,text:"Desafios Reais de Implantação no Brasil"},{type:"paragraph",text:"A realidade dos municípios brasileiros tem peculiaridades que projetos de smart city precisam respeitar: orçamentos limitados e ciclos orçamentários anuais que dificultam investimentos de longo prazo; conectividade de fibra concentrada em capitais e ausente em municípios médios; limitações de capacitação técnica nas equipes municipais; e framework regulatório em evolução, especialmente no que tange ao uso de biometria em espaços públicos."},{type:"list",items:["Comece com o que você tem: integre câmeras e sensores existentes antes de comprar mais hardware","Priorize casos de uso com ROI mensurável e prazo curto (segurança, trânsito)","Estabeleça governança de dados clara desde o início — quem acessa o quê e com qual finalidade","Invista em capacitação das equipes: a tecnologia só funciona se houver pessoas para interpretá-la","Escolha plataformas com arquitetura aberta para evitar lock-in tecnológico"]},{type:"heading",level:2,text:"O Futuro: Cidades que Aprendem"},{type:"paragraph",text:"A próxima fronteira das smart cities não é apenas coletar e analisar dados — é aprender continuamente. Sistemas de IA que incorporam feedback operacional ficam progressivamente mais precisos e adaptados às especificidades de cada cidade. Uma plataforma 
74implantada em Manaus vai desenvolver, ao longo do tempo, modelos calibrados para as condições climáticas da Amazônia, os padrões de criminalidade locais e o comportamento de tráfego específico daquela região."},{type:"quote",text:"A cidade inteligente não é um produto que se compra — é uma capacidade que se constrói, dado a dado, incidente a incidente, ao longo do tempo.",source:"Princípio de design do F.A.S.T.-AI"}]},{slug:"visao-computacional-cameras-inteligentes",title:"Visão Computacional: A Tecnologia por Trás das Câmeras que Pensam",excerpt:"Como algoritmos de deep learning transformam pixels em significado — e por que isso muda tudo para a segurança e a gestão urbana.",category:"Tecnologia & IA",categorySlug:"tecnologia",date:"2025-03-28",readTime:"7 min",tags:["visão computacional","deep learning","computer vision","redes neurais","câmeras IA"],accentColor:"#00AAFF",content:[{type:"paragraph",text:"Uma câmera captura luz e a converte em pixels. Por décadas, isso foi tudo que câmeras faziam. A visão computacional muda essa realidade: hoje, algoritmos de deep learning conseguem extrair significado de imagens com precisão igual ou superior à do olho humano — e em velocidades que nenhum ser humano conseguiria igualar."},{type:"heading",level:2,text:"O que é Visão Computacional?"},{type:"paragraph",text:"Visão computacional (Computer Vision, ou CV) é o campo da inteligência artificial dedicado a fazer máquinas 'enxergarem' e interpretarem imagens e vídeos. Não se trata apenas de reconhecer objetos — mas de entender contexto, relações espaciais, movimento, comportamento e, cada vez mais, intenção."},{type:"paragraph",text:"A revolução das redes neurais convolucionais (CNNs) a partir de 2012 transformou a visão computacional de uma área experimental em tecnologia de produção. Hoje, modelos como YOLO, ResNet e Vision Transformers (ViTs) conseguem identificar centenas de objetos e situações em tempo real em hardware comum."},{type:"heading",level:2,text:"As Cinco Camadas da Percepção Visual por IA"}
74,{type:"list",items:["Detecção de objetos: identifica e localiza elementos em uma imagem (pessoas, veículos, armas, objetos abandonados)","Classificação: categoriza o que foi detectado (carro × motocicleta, homem × mulher, correndo × caminhando)","Rastreamento: acompanha um objeto ou pessoa ao longo do tempo, mesmo que saia e retorne ao campo de visão","Análise de pose e comportamento: interpreta posturas corporais e padrões de movimento (agressão, queda, hesitação suspeita)","Reconhecimento de identidade: vincula um rosto ou silhueta a uma identidade específica em uma base de dados"]},{type:"heading",level:2,text:"Como Funciona na Prática: Edge vs. Cloud"},{type:"paragraph",text:"Um sistema de visão computacional para segurança pode processar dados de duas formas: na borda (edge computing), onde a análise acontece diretamente na câmera ou em um servidor local próximo, e na nuvem, onde dados são enviados para processamento centralizado. Soluções modernas usam arquitetura híbrida: análises mais simples na borda (detecção de movimento, contagem de pessoas) e análises complexas na nuvem (reconhecimento facial, análise comportamental)."},{type:"callout",icon:"⚡",text:"Sistemas como o Perceptrum Corporate operam com latência inferior a 200ms do momento da detecção até o alerta no centro de operações — crucial para situações onde segundos fazem diferença."},{type:"heading",level:2,text:"Modelos de IA para Segurança: Treinamento e Calibração"},{type:"paragraph",text:"Um modelo de visão computacional genérico funciona bem em condições de laboratório. No mundo real da segurança urbana, o desempenho depen
74de criticamente do treinamento com dados do contexto de uso. Um modelo treinado com imagens de câmeras de rua européias pode ter dificuldades com as condições de iluminação e densidade urbana das cidades brasileiras."},{type:"paragraph",text:"Por isso, plataformas sérias de segurança urbana incluem um processo de calibração contínua: o sistema aprende com os dados locais, reduz falsos positivos ao longo do tempo e adapta seus limiares de detecção às especificidades do ambiente monitorado."},{type:"heading",level:2,text:"Limitações que Todo Gestor Deve Conhecer"},{type:"paragraph",text:"Nenhuma tecnologia é perfeita, e honestidade sobre as limitações é crucial para expectativas corretas:"},{type:"list",items:["Condições de baixa luminosidade ainda reduzem a precisão, especialmente para reconhecimento facial","Câmeras de baixa resolução (inferiores a 2MP) limitam a capacidade de detecção de detalhes","Oclusão (quando um objeto cobre parcialmente outro) é um desafio para todos os modelos atuais","Ambientes muito movimentados (como estações de metrô no horário de pico) aumentam a taxa de falsos positivos","Nenhum sistema deve substituir completamente o julgamento humano — IA é uma ferramenta de apoio à decisão"]},{type:"heading",level:2,text:"O que Vem a Seguir"},{type:"paragraph",text:"As fronteiras da visão computacional estão se expandindo rapidamente. Modelos multimodais, que combinam visão com linguagem natural, permitem que operadores façam perguntas em português e recebam respostas do sistema de câmeras ('Mostra todos os incidentes envolvendo veículos vermelhos nessa câmera nas últimas 2 horas'). A convergência de IA de linguagem e visão promete transformar o monitoramento urbano novamente — desta vez, tornando o acesso à inteligência das câmeras tão simples quanto uma conversa."}]},{slug:"lgpd-vigilancia-urbana-municipios-brasileiros",title:"LGPD e Vigilância Urbana: O que Municípios Brasileiros Precisam Saber",excerpt:"O uso de câmeras inteligentes e reconhecimento facial em espaços públicos é legal no Brasil? Quais são as obrigações dos municípios? Um guia prático sobre compliance e privacidade.",category:"Tecnologia & IA",categorySlug:"tecnologia",date:"2025-03-18",readTime:"9 min",tags:["LGPD","privacidade","reconhecimento facial","compliance","direito digital","municípios"],accentColor:"#00AAFF",content:[{type:"paragraph",text:"A Lei Geral de Proteção de Dados (LGPD — Lei 13.709/2018) entrou em vigor em 2020 e trouxe um novo marco regulatório para o tratamento de dados pessoais no Brasil. Para municípios que operam ou pretendem operar sistemas de vigilância com câmeras inteligentes, entender as implicações da LGPD não é opcional — é uma condição para a implantação responsável e legalmente segura dessas tecnologias."},{type:"heading",level:2,text:"Dados Biométricos são Dados Sensíveis"},{type:"paragraph",text:"A LGPD classifica dados biométricos — incluindo imagens faciais usadas para identificação — como dados pessoais sensíveis. Isso significa que seu tratamento exige uma base legal específica e obrigações adicionais de proteção. Para municípios, as bases legais mais relevantes são: (a) cumprimento de obrigação legal ou regulatória pelo controlador; (b) exercício regular de direitos; e (c) proteção da vida ou da incolumidade física do titular ou de terceiro."},{type:"callout",icon:"⚖️",text:"O simples fato de um município operar câmeras em espaços públicos já o constitui como controlador de dados pessoais nos termos da LGPD, mesmo que não utilize reconhecimento facial."},{type:"heading",level:2,text:"Obrigações Práticas para Municípios"},{type:"list",items:["Nomear um Encarregado de Proteção de Dados (DPO — Data Protection Officer) responsável pelo programa de privacidade","Elaborar e publicar uma política de privacidade específica para os sistemas de vigilância","Realizar Relatório de Impacto à Proteção de Dados (RIPD) antes de implementar sistemas de reconhecimento facial","Estabelecer prazo de retenção dos vídeos e garantir eliminação automática ao final do prazo","Implementar controles de acesso para garantir que apenas pessoas autorizadas possam acessar imagens e dados","Manter registros de atividade de tratamento de dados atualizados","Notificar a ANPD e os titulares em c
74aso de incidente de segurança que possa causar dano"]},{type:"heading",level:2,text:"O Reconhecimento Facial em Espaços Públicos"},{type:"paragraph",text:"O uso de reconhecimento facial em tempo real em espaços públicos é a questão mais sensível e ainda a mais debatida no Brasil. Em 2022, o Tribunal de Justiça de São Paulo suspendeu um sistema de reconhecimento facial no Metrô de SP por violação à LGPD. O STJ e o CNJ também emitem orientações periódicas sobre o tema."},{type:"paragraph",text:"O uso para fins de segurança pública — busca de foragidos, por exemplo — tem respaldo na legislação de segurança, mas exige documentação rigorosa do processo, supervisão humana das decisões e não pode ser usado de forma discriminatória. A biometria passiva em massa (identificar toda pessoa que passa por uma câmera) é a modalidade com maior risco legal."},{type:"heading",level:2,text:"Boas Práticas que Reduzem o Risco Legal"},{type:"list",items:["Sinalização clara nos espaços monitorados informando sobre o uso de câmeras com IA","Uso de reconhecimento facial apenas por mandado ou ordem judicial expressa","Segregação de dados: imagens de câmeras comuns vs. dados biométricos tratados separadamente","Auditorias externas periódicas do sistema e de seus registros de acesso","Treinamento das equipes operacionais sobre limitações e responsabilidades legais","Contratos com fornecedores de tecnologia que inclua cláusulas de responsabilidade solidária"]},{type:"heading",level:2,text:"O Papel do Fornecedor de Tecnologia"},{type:"paragraph",text:"Ao contratar uma plataforma de vigilância com IA, o município assume a responsabilidade 
74como controlador dos dados. O fornecedor da tecnologia atua como operador. Isso significa que o contrato de fornecimento deve incluir obrigações específicas de proteção de dados: o fornecedor só pode tratar os dados para as finalidades contratadas, deve implementar medidas técnicas de segurança, e deve colaborar com auditorias e notificações de incidentes."},{type:"paragraph",text:"Fornecedores responsáveis oferecem contratos com cláusulas DPA (Data Processing Agreement) claras, documentação técnica sobre as medidas de segurança implementadas, e capacidade de demonstrar conformidade à ANPD se necessário."},{type:"heading",level:2,text:"A LGPD como Oportunidade, não Obstáculo"},{type:"paragraph",text:"Municipalidades que encaram a LGPD como inimiga da segurança pública têm a perspectiva invertida. O compliance com a lei de proteção de dados é o que permite construir confiança pública nas tecnologias de vigilância, fundamental para o sucesso político e operacional dos projetos. Cidades que implantam câmeras inteligentes com transparência, limites claros e governança visível colhem muito mais cooperação da população do que aquelas que operam na opacidade."}]},{slug:"analise-comportamental-ia-prevencao-crimes",title:"Análise Comportamental por IA: Como Antecipar Riscos antes que se Tornem Crimes",excerpt:"A próxima fronteira da segurança pública vai além de detectar o que está acontecendo — é prever o que está prestes a acontecer. Entenda como funciona a análise comportamental por IA.",category:"IA & Segurança Pública",categorySlug:"ia-seguranca",date:"2025-03-10",readTime:"8 min",tags:["análise comportamental","prevenção de crimes","IA preditiva","machine learning","segurança"],accentColor:"#00E5CC",content:[{type:"paragraph",text:"Existe um momento, nos segundos antes de um crime acontecer, em que a situação ainda pode ser revertida. Um segurança treinado sabe reconhecer isso intuitivamente — o nervosismo de quem está prestes a cometer um furto, o jeito de quem está buscando uma vítima em uma multidão, o momento em que uma discussão está escalando para violência física. A análise comportamental por IA busca codificar e automatizar exatamente essa capacidade."},{type:"heading",level:2,text:"Como a IA Aprende Comportamento"},{type:"paragraph",text:"Modelos de análise comportamental são treinados com enormes volumes de vídeo anotado: horas de situações normais (pessoas caminhando, comprando, esperando) e horas de situações de risco (furtos, agressões, vandalismo). O algoritmo aprende a distinguir padrões de movimento, postura corporal, velocidade, direção e relação entre múltiplas pessoas que correlacionam com comportamentos de risco."},{type:"callout",icon:"🧠",text:"Modelos avançados analisam não apenas posição e movimento, mas também micro-padrões como hesitação de passos, direção do olhar estimada por pose corporal, e padrões de aproximação entre indivíduos."},{type:"heading",level:2,text:"Tipos de Comportamento que Sistemas Modernos Detectam"},{type:"list",items:["Loitering (perambulação suspeita): pessoa circulando em área restrita ou sensível sem propósito aparente","Tail-gaiting: seguir alguém de perto de forma consistente, padrão associado a assédio e furto","Roteamento atípico: detectar quando alguém entra em um espaço por um caminho incomum, evitando câmeras","Escalada de conflito: sequência de posturas corporais que indicam discussão evoluindo para confronto físico","Comportamento de abandono de objeto: depositar algo e afastar rapidamente","Sinais de vulnerabilidade: pessoa que parece desorientada, tonta ou em sofrimento físico","Formação de grupo: aglomeração rápida de pessoas em padrão inconsistente com o ambiente (show vs. briga)"]},{type:"heading",level:2,text:"O Problema dos Falsos Positivos"},{type:"paragraph",text:"O maior desafio da análise comportamental não é a detecção — é a especificidade. Um sistema muito sensível gera tantos alertas que os operadores passam a ignorá-los (o famoso 'efeito Boy Who Cried Wolf'). Um sistema muito conservador perde situações de risco reais. O equilíbrio correto depende do ambiente: uma estação de metrô na hora do rush requer limiares diferentes de um museu à noite."},{type:"paragraph",text:"Plataformas maduras permitem ajuste granular de sensibilidade por câmera, horário e tipo de evento, com aprendizado contínuo baseado no feedback dos operadores. Quando um operador marca um alerta como falso positivo, o sistema aprende com aquele exemplo e melhora progressivamente."},{type:"heading",level:2,text:"Integração com Recursos em Campo"},{type:"paragraph",text:"Análise comportamental isolada tem valor limitado. O diferencial real vem da integração: quando o sistema detecta um padrão de risco, ele precisa acionar o recurso humano certo, da forma certa, na velocidade certa. Isso inclui alertas diretos para rádios de agentes em c
74ampo, despacho automático de viaturas mais próximas, registro automático do incidente com clipe de vídeo e geolocalização."},{type:"heading",level:2,text:"Considerações Éticas e Vieses Algorítmicos"},{type:"paragraph",text:"Análise comportamental levanta questões éticas sérias. O risco de viés algorítmico é real: se os dados de treinamento refletirem padrões históricos de policiamento que já eram discriminatórios, o modelo pode replicar e amplificar essas distorções. Um sistema que aprende que 'pessoa jovem, de determinada raça, em determinado bairro, às 23h' é suspeita pode perpetuar discriminações sistêmicas."},{type:"paragraph",text:"O uso ético da análise comportamental exige: conjuntos de dados de treinamento auditados para representatividade e viés; monitoramento contínuo do desempenho segmentado por grupos demográficos; supervisão humana obrigatória antes de qualquer ação operacional; e transparência sobre como o sistema funciona e é testado."},{type:"heading",level:2,text:"O Futuro: Análise Multimodal"},{type:"paragraph",text:"A próxima geração de análise comportamental vai além do vídeo: integração de dados de áudio (detectar sons de gritos, tiros, vidros quebrando), dados de redes sociais públicas para contexto de eventos, padrões de telefonia celular em espaços monitorados e dados históricos de incidentes para calibração preditiva. A convergência dessas fontes promete sistemas de prevenção de crimes significativamente mais precisos e menos intrusivos do que qualquer abordagem individual."}]},{slug:"cameras-tradicionais-agentes-inteligentes-salto-tecnologico",title:"De Câmeras Tradicionais a Agentes Inteligentes: O Salto Tecnológico da Segurança Privada",excerpt:"Como condomínios, empresas e estabelecimentos comerciais estão passando de câmeras de arquivo para sistemas de monitoramento autônomo que agem, alertam e aprendem.",category:"Casos de Uso",categorySlug:"casos-de-uso",date:"2025-03-01",readTime:"6 min",tags:["segurança privada","condomínios","câmeras inteligentes","monitoramento autônomo","Perceptrum"],accentColor:"#CC44DD",content:[{type:"paragraph",text:"O mercado de segurança privada no Brasil movimenta mais de R$ 80 bilhÃ
74µes por ano e emprega cerca de 1,5 milhão de vigilantes. A grande maioria das câmeras instaladas — estimadas em mais de 60 milhões no país — funciona como arquivo: grava tudo, mas raramente alguém assiste ao vídeo antes de um incidente acontecer. Esse modelo está chegando ao seu limite."},{type:"heading",level:2,text:"O Modelo Antigo: Câmeras como Arquivo"},{type:"paragraph",text:"O funcionamento tradicional de um sistema de CFTV (Circuito Fechado de Televisão) é simples: câmeras gravam em loop, imagens são armazenadas por 30 a 90 dias e, em caso de incidente, a gravação é consultada retroativamente. A presença de um vigilante humano diante dos monitores adiciona alguma capacidade de resposta em tempo real, mas é limitada pela atenção humana e pelo custo da mão de obra."},{type:"paragraph",text:"Esse modelo tem custos crescentes (salários de vigilantes, manutenção de câmeras, armazenamento) e eficácia decrescente (vigilantes com horas de trabalho monitorando câmeras têm atenção que degrada rapidamente). O resultado é o que pesquisadores chamam de 'segurança ilusória': a aparência de proteção sem a substância."},{type:"heading",level:2,text:"O Novo Modelo: Agentes de Vigilância Autônomos"},{type:"paragraph",text:"Plataformas de segurança com IA transformam as câmeras existentes em agentes autônomos de vigilância. Em vez de uma câmera passiva, o sistema passa a ter uma câmera ativa: ela detecta, classifica, rastreia, alerta e registra — automaticamente, sem intervenção humana constante."},{type:"callout",icon:"🔐",text:"Com plataformas como o Perceptrum, um único operador pode gerenciar centenas de câmeras com eficácia superior à de uma equipe de vigilantes humanos monitorando dezenas — a um custo operacional muito menor."},{type:"heading",level:2,text:"Casos de Uso na Segurança Privada"},{type:"list",items:["Condomínios residenciais: detecção de intrusos no perímetro, reconhecimento de moradores e visitantes autorizados, alerta de veículos desconhecidos","Estabelecimentos comerciais: detecção de furto (comportamento de esconder produtos), alerta de aglomeração suspeita, monitoramento de caixas e áreas de estoque","Galpões e armazéns: controle de acesso por reconhecimento, detecção de presença em horários não autorizados, monitoramento de ativos","Hospitais e clínicas: detecção de pacientes em situação de risco (quedas, convulsões), controle de acesso a áreas restritas","Bancos e agências: detecção de comportamento suspeito na fila, monitoramento de cofres e terminais, alerta de capacetes e objetos que obstruem a face","Escolas e universidades: detecção de objetos proibidos, monitoramento de perímetro, identificação de pessoas não autorizadas"]},{type:"heading",level:2,text:"A Transição para Pequenas e Médias Empresas"},{type:"paragraph",text:"Durante anos, IA para segurança foi acessível apenas para grandes corporações com orçamentos de TI robustos. A democratização da computação em nuvem e a queda no custo de processamento de IA mudaram isso. Hoje, um estabelecimento médio pode acessar capacidades de análise que antes eram exclusivas de grandes bancos ou aeroportos, por um custo mensal compatível com o salário de um vigilante."},{type:"paragraph",text:"O modelo SaaS (Software as a Service) elimina a necessidade de investimento inicial em infraestrutura: o estabelecimento mantém suas câmeras existentes, instala um agente de software e passa a ter análise de IA ativa. O hardware físico pode ser atualizado progressivamente, priorizando as áreas de maior risco."},{type:"heading",level:2,text:"ROI Concreto: o que Medir"},{type:"list",items:["Redução de perdas por furto: comparação de inventário antes e depois da implantação","Custo de vigilância humana reduzida: horas de vigilante substituídas por monitoramento autônomo","Tempo de resposta a incidentes: comparação entre modelo manual e com alertas automáticos","Taxa de resolução de incidentes: melhoria na qualidade das evidências disponíveis para investigação","Prêmios de seguro: seguradoras oferecem descontos de 10-25% para estabelecimentos com sistemas certificados de monitoramento inteligente"]},{type:"paragraph",text:"A transição de câmeras passivas para agentes inteligentes não é uma questão de se, mas de quando. Para estabelecimentos que dependem de segurança — e todos dependem — a questão é qual será o custo de esperar."}]},{slug:"reconhecimento-facial-seguranca-publica-etica-tecnologia",title:"Reconhecimento Facial em Segurança Pública: Usos, Limites e o Debate Ético no Brasil",excerpt:"O reconhecimento facial é uma das tecnologias mais poderosas e controversas da segurança moderna. Entenda como funciona, onde é eficaz e onde encontra seus limites legais e éticos.",category:"IA & Segurança Pública",categorySlug:"ia-seguranca",date:"2025-02-20",readTime:"9 min",tags:["reconhecimento facial","biometria","ética em IA","segurança pública","direitos civis"],accentColor:"#00E5CC",content:[{type:"paragraph",text:"Em 2019, a Polícia Civil de São Paulo usou reconhecimento facial para 
74identificar e prender um foragido da Justiça no Carnaval — a primeira prisão com essa tecnologia no Brasil. Desde então, a adoção do reconhecimento facial em segurança pública cresceu rapidamente, junto com o debate sobre seus limites e riscos. Entender essa tecnologia — o que ela faz bem, o que ela faz mal e onde ela não deveria ser usada — é essencial para gestores de segurança pública."},{type:"heading",level:2,text:"Como Funciona o Reconhecimento Facial"},{type:"paragraph",text:"Reconhecimento facial é um subconjunto da visão computacional que analisa características geométricas únicas do rosto humano — distância entre os olhos, formato do nariz, contorno da mandíbula — para criar uma representação matemática chamada embedding facial. Esse embedding pode ser comparado a outros embeddings em uma base de dados para determinar se há correspondência com uma identidade conhecida."},{type:"paragraph",text:"Sistemas modernos operam em dois modos: verificação (confirmar que uma pessoa é quem diz ser, como em controle de acesso) e identificação (determinar quem é uma pessoa desconhecida em uma imagem). O segundo modo — identificação — é o mais sensível do ponto de vista legal e ético."},{type:"heading",level:2,text:"Onde o Reconhecimento Facial é Eficaz"},{type:"list",items:["Busca de foragidos: comparação de imagens de câmeras com bancos de mandados — alta eficácia com supervisão humana","Controle de acesso em áreas seguras: verificação de identidade em pontos específicos (aeroportos, instalações críticas)","Identificação de vítimas: reconhecimento em situações de emergência ou desastres","Investigação pós-incidente: busca retrospectiva em acervo de vídeo para identificar suspeitos já conhecidos","Deduplicação de cadastros: identificar se uma mesma pessoa está cadastrada múltiplas vezes em sistemas públicos"]},{type:"heading",level:2,text:"Onde os Limites são Críticos"},{type:"paragraph",text:"As limitações técnicas do reconhecimento facial são bem documentadas e têm implicações diretas para seu uso em segurança pública. Estudos do NIST (Instituto Nacional de Padrões e Tecnologia dos EUA) mostram que a taxa de erro varia significativamente por faixa etária, gênero e, especialmente, etnia — com taxas de falsa correspondência até 100x maiores para pessoas negras em alguns sistemas."},{type:"callout",icon:"⚠️",text:"Uma taxa de falso positivo de 0,1% parece pequena — mas em uma cidade com 1 milhão de câmeras e 1 bilhão de análises por dia, significa potencialmente 1 milhão de correspondências incorretas."},{type:"heading",level:2,text:"O Debate Brasileiro: Entre Eficiência e Direitos"},{type:"paragraph",text:"O debate brasileiro sobre reconhecimento facial em espaços públicos está longe de resolvido. De um lado, forças de segurança argumentam que a tecnologia aumenta significativamente a capacidade de identificação de criminosos e terroristas. De outro, organizações de direitos civis e especialistas em tecnologia apontam os riscos de discriminação, erro judicial e vigilância em massa."},{type:"paragraph",text:"A posição mais defensável juridicamente e eticamente é a do uso controlado: reconhecimento facial como ferramenta de apoio à investigação, com resultados sempre revisados por um humano antes de qualquer ação, e com proibição de uso para identificação em massa de cidadãos sem suspeita individualizada."},{type:"heading",level:2,text:"O Framework de Uso Responsável"},{type:"list",items:["Apenas para crimes graves (lista taxativa definida em lei ou decreto)","Resultado de reconhecimento facial é lead investigativo, nunca prova ou base suficiente para prisão","Revisão humana obrigatória por servidor habilitado antes de qualquer ação","Registro detalhado de cada consulta, com motivo, executor e resultado","Auditoria periódica das taxas de acerto e erro por grupo demográfico","Vedação de uso para manifestações políticas, protestos e atividades sindicais","Prazo máximo de retenção dos dados biométricos coletados"]},{type:"paragraph",text:"O caminho à frente para o reconhecimento facial em segurança pública brasileira passa por legislação específica — ainda ausente — que estabeleça claramente o que pode e não pode ser feito, com fiscalização independente e punições efetivas para uso indevido. Enquanto esse marco não existe, gestores públicos que adotam a tecnologia precisam preencher esse vácuo regulatório com políticas internas rigorosas."}]}];function cC(s){return mn.find(i=>i.slug===s)}function dC(s){return s==="all"?mn:mn.filter(i=>i.categorySlug===s)}const uC={en:"en-US",pt:"pt-BR",es:"es-ES",fr:"fr-FR",de:"de-DE",it:"it-IT",nl:"nl-NL",pl:"pl-PL",ru:"ru-RU",zh:"zh-CN",ja:"ja-JP",ko:"ko-KR",ar:"ar-SA",he:"he-IL",fa:"fa-IR",ur:"ur-PK",tr:"tr-TR",hi:"hi-IN",vi:"vi-VN",th:"th-TH",id:"id-ID",uk:"uk-UA",ro:"ro-RO",sv:"sv-SE"};function no(s,i="en"){const[l,o,u]=s.split("-").map(Number),p=new Date(Date.UTC(l,(o||1)-1,u||1)),f=uC[i]||"en-US";try{return new Intl.DateTimeFormat(f,{day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(p)}catch{return`${u}/${o}/${l}`}}function mC(){const[s,i]=C.useState("all"),{t:l,lang:o}=_e(),u=l.blog??{},p=l.nav?.home??"Home",f=l.nav?.blog??"Blog",m=dC(s),h=mn[0],b=m.filter(A=>A.slug!==h.slug),g=(A,P)=>u.posts?.[A]?.title??P,v=(A,P)=>u.posts?.[A]?.excerpt??P,k=(A,P)=>u.categories?.[A]??P,j=(A,P)=>Array.isArray(u.posts?.[A]?.tags)?u.posts[A].tags:P;return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:`${u.heroTitle1??"Blog"} — AiQuimist.ai`,description:u.heroSubtitle??"Blog AiQuimist.ai",canonical:"https://aiquimist.ai/blog",jsonLd:{"@context":"https://schema.org","@type":"Blog",name:"AiQuimist.ai Blog",url:"https://aiquimist.ai/blog",description:u.heroSubtitle??"",publisher:{"@type":"Organization",name:"AiQuimist.ai",url:"https://aiquimist.ai"}}}),e.jsxs("section",{className:"relative pt-40 pb-20 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0A0C14] to-[#06080D]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[700px] h-[700px] bg-[#00E5CC]/6 rounded-full blur-[160px] -translate-y-1/3 translate-x-1/3 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[500px] h-[500px] bg-[#9B30FF]/8 rounded-full blur-[130px] pointer-events-none"}),e.jsxs("div",{className:"relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-[#B0C8D0]/50 mb-8",children:[e.jsx($,{href:"/",className:"hover:text-[#00E5CC] transition-colors",children:p}),e.jsx(Qe,{className:"w-3 h-3"}),e.jsx("span",{className:"text-[#00E5CC]",children:f})]}),e.jsxs(T,{className:"max-w-3xl",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#00E5CC]/10 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] text-xs font-black uppercase tracking-wider mb-6",children:[e.jsx(Eu,{className:"w-3 h-3"}),u.badge??"Blog & Insights"]}),e.jsxs("h1",{className:"font-['Orbitron'] text-4xl sm:text-5xl font-black mb-6 leading-tight",children:[u.heroTitle1??"IA, Segurança Pública",e.jsx("br",{}),e.jsx("span",{style:{background:"linear-gradient(90deg,#00E5CC,#9B30FF)",WebkitBackgroun
74dClip:"text",WebkitTextFillColor:"transparent"},children:u.heroTitle2??"e Cidades Inteligentes"})]}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 leading-relaxed",style:{fontFamily:"'Exo 2', sans-serif"},children:u.heroSubtitle??"Conteúdo técnico e estratégico sobre inteligência artificial aplicada à segurança pública, smart cities e monitoramento inteligente."})]})]})]}),e.jsx("section",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:e.jsxs(T,{children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-[0.2em] text-[#00E5CC]/60 mb-6",style:{fontFamily:"'Share Tech Mono', monospace"},children:u.featuredLabel??"Artigo em Destaque"}),e.jsx($,{href:`/blog/${h.slug}`,children:e.jsxs(Pe.div,{whileHover:{scale:1.005},transition:{duration:.2},className:"group relative rounded-2xl overflow-hidden border border-[rgba(0,229,204,0.15)] bg-[#0C0E14] cursor-pointer",style:{boxShadow:"0 0 60px rgba(0,229,204,0.05)"},children:[e.jsx("div",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none",style:{background:`linear-gradient(135deg, ${h.accentColor}08 0%, transparent 60%)`}}),e.jsxs("div",{className:"p-8 sm:p-12 grid lg:grid-cols-5 gap-8",children:[e.jsxs("div",{className:"lg:col-span-3 flex flex-col justify-between",children:[e.jsxs("div",{children:[e.jsx("span",{className:"inline-block px-3 py-1 rounded-full text-xs font-bold uppercase tracking-wider mb-6 border",style:{color:h.accentColor,borderColor:`${h.accentColor}40`,background:`${h.accentColor}10`},children:k(h.categorySlug??"",h.category)}),e.jsx("h2",{className:"font-['Orbitron'] text-2xl sm:text-3xl font-bold text-white mb-4 leading-tight group-hover:text-[#00E5CC] transition-colors duration-300",children:g(h.slug,h.title)}),e.jsx("p",{className:"text-[#B0C8D0]/70 leading-relaxed mb-6",style:{fontFamily:"'Exo 2', sans-serif"},children:v(h.slug,h.excerpt)})]}),e.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[e.jsxs("div",{className:"flex items-center gap-4 text-sm text-[#B0C8D0]/50",style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsx("span",{children:no(h.date,o)}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ki,{className:"w-3 h-3"}),h.readTime," ",u.readTime??"de leitura"]})]}),e.jsxs("span",{className:"flex items-center gap-2 text-[#00E5CC] text-sm font-semibold group-hover:gap-3 transition-all",children:[u.readArticle??"Ler artigo"," ",e.jsx(Za,{className:"w-4 h-4"})]})]})]}),e.jsx("div",{className:"lg:col-span-2 flex flex-col justify-center",children:e.jsx("div",{className:"flex flex-wrap gap-2",children:j(h.slug,h.tags).map(A=>e.jsxs("span",{className:"flex items-center gap-1 px-3 py-1.5 rounded-lg bg-[#080A0F] border border-[rgba(255,255,255,0.06)] text-[#B0C8D0]/50 text-xs",style:{fontFamily:"'Share Tech Mono', monospace"},children:[e.jsx(Ou,{className:"w-2.5 h-2.5"}),A]},A))})})]})]})})]})}),e.jsx("section",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-8",children:e.jsx("div",{className:"flex flex-wrap gap-3",children:oC.map(A=>e.jsx("button",{onClick:()=>i(A.slug),className:"px-4 py-2 rounded-full text-sm font-semibold border transition-all duration-200",style:s===A.slug?{background:`${A.color}20`,borderColor:A.color,color:A.color}:{background:"transparent",borderColor:"rgba(255,255,255,0.1)",color:"rgba(176,200,208,0.6)"},children:k(A.slug,A.label)},A.slug))})}),e.jsxs("section",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-24",children:[b.length===0&&e.jsx("p",{className:"text-[#B0C8D0]/40 text-center py-16",style:{fontFamily:"'Exo 2', sans-serif"},children:u.noArticles??"Nenhum artigo encontrado nesta categoria."}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:b.map((A,P)=>e.jsx(T,{delay:P*.05,children:e.jsx($,{href:`/blog/${A.slug}`,children:e.jsxs(Pe.article,{whileHover:{y:-4},transition:{duration:.2},className:"group h-full flex flex-col rounded-xl border border-[rgba(255,255,255,0.07)] bg-[#0C0E14] overflow-hidden cursor-pointer hover:border-[rgba(0,229,204,0.2)] transition-colors duration-300",children:[e.jsx("div",{className:"h-1 w-full",style:{background:`linear-gradient(90deg, ${A.accentColor}, ${A.accentColor}40)`}}),e.jsxs("div",{className:"p-6 flex flex-col flex-1",children:[e.jsx("span",{className:"inline-block px-2.5 py-1 rounded-full text-[10px] font-bold uppercase tracking-wider mb-4 border w-fit",style:{color:A.accentColor,borderColor:`${A.accentColor}30`,background:`${A.accentColor}10`},children:k(A.categorySlug??"",A.category)}),e.jsx("h3",{className:"font-['Orbitron'] text-base font-bold text-white mb-3 leading-snug group-hover:text-[#00E5CC] transition-colors duration-300 flex-1",children:g(A.slug,A.title)}),e.jsx("p",{className:"text-sm text-[#B0C8D0]/60 leading-relaxed mb-6 line-clamp-3",style:{fontFamily:"'Exo 2', sans-serif"},children:v(A.slug,A.excerpt)}),e.jsxs("div",{className:"flex items-center justify-between text-xs text-[#B0C8D0]/40 mt-auto",style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsx("span",{children:no(A.date,o)}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ki,{className:"w-3 h-3"}),A.readTime]})]})]})]})})},A.slug))})]}),e.jsx("section",{className:"border-t border-[rgba(0,229,204,0.12)] py-20",children:e.jsx("div",{className:"max-w-3xl mx-auto px-4 text-center",children:e.jsxs(T,{children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-[0.2em] text-[#9B30FF]/70 mb-4",style:{fontFamily:"'Share Tech Mono', monospace"},children:u.wantMore??"Quer saber mais?"}),e.jsx("h2",{className:"font-['Orbitron'] text-2xl sm:text-3xl font-bold mb-4",children:u.talkExperts??"Fale com nossos especialistas"}),e.jsx("p",{className:"text-[#B0C8D0]/60 mb-8",style:{fontFamily:"'Exo 2', sans-serif"},children:u.expertDesc??""}),e.jsx($,{href:"/contact",children:e.jsxs(Pe.button,{whileHover:{scale:1.04},whileTap:{scale:.97},className:"inline-flex items-center gap-2 px-8 py-4 rounded-xl font-bold text-[#080A0F] text-sm uppercase tracking-wider",style:{background:"linear-gradient(135deg,#00E5CC,#00AAFF)"},children:[u.requestDemo??"Solicitar Demo"," ",e.jsx(Za,{className:"w-4 h-4"})]})})]})})})]})}function dv(){const{t:s}=_e(),i=s.notFound;return e.jsxs("div",{className:"min-h-screen w-full flex items-center justify-center bg-[#080A0F]",children:[e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[400px] bg-[#9B30FF]/10 rounded-full blur-[100px] pointer-events-none"}),e.jsx("div",{className:"relative z-10 text-center max-w-lg mx-auto px-6",children:e.jsxs(Pe.div,{initial:{opacity:0,y:30}
74,animate:{opacity:1,y:0},transition:{duration:.6},children:[e.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[#9B30FF]/20 border border-[rgba(0,229,204,0.18)] flex items-center justify-center mx-auto mb-8",children:e.jsx(Lt,{className:"w-10 h-10 text-[#00E5CC]"})}),e.jsx("h1",{className:"text-5xl md:text-7xl font-black text-white mb-4",children:i?.title??"404 — Page Not Found"}),e.jsx("p",{className:"text-xl text-[#B0C8D0]/70 mb-10 leading-relaxed",children:i?.message??"The page you're looking for doesn't exist or has been moved."}),e.jsx($,{href:"/",children:e.jsxs(oe,{size:"lg",className:"h-14 px-8 text-base",children:[e.jsx(xb,{className:"w-5 h-5 mr-2"}),i?.back??"Back to Home"]})})]})})]})}function pC(s,i){if(!i)return s;const l={...s};return typeof i.text=="string"&&(l.text=i.text),Array.isArray(i.items)&&(l.items=i.items),typeof i.source=="string"&&(l.source=i.source),l}function hC(s,i){switch(s.type){case"paragraph":return e.jsx("p",{className:"text-[#B0C8D0]/80 leading-relaxed text-base sm:text-lg",style:{fontFamily:"'Exo 2', sans-serif"},children:s.text},i);case"heading":return s.level===2?e.jsx("h2",{className:"font-['Orbitron'] text-xl sm:text-2xl font-bold text-white mt-10 mb-4",children:s.text},i):e.jsx("h3",{className:"font-['Orbitron'] text-lg font-bold text-[#00E5CC] mt-8 mb-3",children:s.text},i);case"list":return e.jsx("ul",{className:"space-y-3 my-2",style:{fontFamily:"'Exo 2', sans-serif"},children:s.items.map((l,o)=>e.jsxs("li",{className:"flex items-start gap-3 text-[#B0C8D0]/75 text-base leading-relaxed",children:[e.jsx("span",{className:"mt-2 w-1.5 h-1.5 rounded-full flex-shrink-0",style:{background:"#00E5CC"}}),l]},o))},i);case"callout":return e.jsxs("div",{className:"my-2 p-5 rounded-xl border flex items-start gap-4",style:{background:"rgba(0,229,204,0.05)",borderColor:"rgba(0,229,204,0.25)"},children:[e.jsx("span",{className:"text-2xl flex-shrink-0",children:s.icon}),e.jsx("p",{className:"text-[#B0C8D0]/85 leading-relaxed",style:{fontFamily:"'Exo 2', sans-serif"},children:s.text})]},i);case"quote":return e.jsxs("blockquote",{className:"my-2 pl-6 border-l-2 italic",style:{borderColor:"#9B30FF",fontFamily:"'Exo 2', sans-serif"},children:[e.jsxs("p",{className:"text-[#B0C8D0]/80 text-lg leading-relaxed",children:['"',s.text,'"']}),s.source&&e.jsxs("footer",{className:"mt-2 text-sm text-[#B0C8D0]/50 not-italic",children:["— ",s.source]})]},i);default:return null}}function gC(){const[,s]=By("/blog/:slug"),i=s?.slug??"",l=cC(i),{t:o,lang:u}=_e(),p=o.blog??{},f=o.nav?.home??"Home",m=o.nav?.blog??"Blog",h=o.nav?.drakonSub??"Public Safety",b=o.nav?.perceptrumSub??"Private Security",g=o.nav?.fastSub??"Smart Cities";if(!l)return e.jsx(dv,{});const v=mn.filter(z=>z.slug!==i).slice(0,3),k=(z,_)=>p.posts?.[z]?.title??_,j=(z,_)=>p.posts?.[z]?.excerpt??_,A=(z,_)=>p.categories?.[z]??_,P=k(l.slug,l.title),D=j(l.slug,l.excerpt),M=p.posts?.[l.slug],w=Array.isArray(M?.content)?M.content:void 0,O=Array.isArray(M?.tags)?M.tags:void 0,N=O&&O.length===l.tags.length?O:l.tags,F=w&&w.length===l.content.length?l.content.map((z,_)=>pC(z,w[_])):l.content;return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:P,description:D,canonical:`https://aiquimist.ai/blog/${l.slug}`,ogType:"article",jsonLd:{"@context":"https://schema.org","@type":"Article",headline:P,description:D,datePublished:l.date,author:{"@type":"Organization",name:"AiQuimist.ai"},publisher:{"@type":"Organization",name:"AiQuimist.ai",url:"https://aiquimist.ai"},mainEntityOfPage:{"@type":"WebPage","@id":`https://aiquimist.ai/blog/${l.slug}`},keywords:l.tags.join(", "),articleSection:A(l.categorySlug??"",l.category)}}),e.jsxs("section",{className:"relative pt-40 pb-16 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0A0C14] to-[#06080D]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[600px] h-[600px] rounded-full blur-[150px] -translate-y-1/3 translate-x-1/3 pointer-events-none opacity-40",style:{background:l.accentColor}}),e.jsxs("div",{className:"relative z-10 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-[#B0C8D0]/50 mb-8 flex-wrap",children:[e.jsx($,{href:"/",className:"hover:text-[#00E5CC] transition-colors",children:f}),e.jsx(Qe,{className:"w-3 h-3"}),e.jsx($,{href:"/blog",className:"hover:text-[#00E5CC] transition-colors",children:m}),e.jsx(Qe,{className:"w-3 h-3"}),e.jsx("span",{className:"text-[#00E5CC] truncate max-w-[200px] sm:max-w-none",children:P})]}),e.jsxs(T,{children:[e.jsx("span",{className:"inline-block px-3 py-1 rounded-full text-xs font-bold uppercase tracking-wider mb-6 border",style:{color:l.accentColor,borderColor:`${l.accentColor}40`,background:`${l.accentColor}10`},children:A(l.categorySlug??"",l.category)}),e.jsx("h1",{className:"font-['Orbitron'] text-3xl sm:text-4xl lg:text-5xl font-black text-white mb-6 leading-tight",children:P}),e.jsx("p",{className:"text-lg text-[#B0C8D0]/70 leading-relaxed mb-8",style:{fontFamily:"'Exo 2', sans-serif"},children:D}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-[#B0C8D0]/50 flex-wrap",style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(Eu,{className:"w-3.5 h-3.5"})," AiQuimist.ai"]}),e.jsx("span",{children:no(l.date,u)}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(ki,{className:"w-3.5 h-3.5"}),l.readTime," ",p.readTime??"de leitura"]})]})]})]})]}),e.jsx("section",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:e.jsxs("div",{className:"grid lg:grid-cols-4 gap-12",children:[e.jsxs("article",{className:"lg:col-span-3 space-y-6",children:[F.map((z,_)=>hC(z,_)),e.jsx("div",{className:"pt-8 border-t border-[rgba(255,255,255,0.06)] flex flex-wrap gap-2",children:N.map((z,_)=>e.jsxs("span",{className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-[#0C0E14] border border-[rgba(255,255,255,0.08)] text-[#B0C8D0]/50 text-xs",style:{fontFamily:"'Share Tech Mono', monospace"},children:[e.jsx(Ou,{className:"w-2.5 h-2.5"}),z]},`${z}-${_}`))}),e.jsxs("div",{className:"flex items-center gap-4 pt-4",children:[e.jsx("span",{className:"text-sm text-[#B0C8D0]/40",style:{fontFamily:"'Exo 2', sans-serif"},children:p.shareLabel??"Compartilhar:"}),e.jsxs("button",{onClick:()=>{navigator.share?navigator.share({title:P,url:window.location.href}):navigator.clipboard.writeText(window.location.href)},className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-[rgba(0,229,204,0.25)] text-[#00E5CC] text-sm hover:bg-[#00E5CC]/10 transition-colors",children:[e.jsx(m2,{className:"w-3.5 h-3.5"})," ",p.copyLink??"Copiar link"]})]})]}),e.jsx("aside",{className:"lg:col-span-1 space-y-6",children:e.jsxs("div",{className:"sticky top-28",children:[e.jsxs("div",{className:"p-6 rounded-xl border mb-6",style:{background:"rgba(0,229,204,0.04)",borderColor:"rgba(0,229,204,0.2)"},children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-wider text-[#00E5CC] mb-3",style:{fontFamily:"'Share Tech Mono', monospace"},children:p.wantToSee??"Quer ver na prática?"}),e.jsx("p",{className:"text-sm text-[#B0C8D0]/65 mb-4",style:{fontFamily:"'Exo 2', sans-serif"},children:p.scheduleDemo??""}),e.jsx($,{href:"/contact",children:e.jsx(Pe.button,{whileHover:{scale:1.04},className:"w-full py-3 rounded-lg font-bold text-[#080A0F] text-sm uppercase tracking-wider",style:{background:"linear-gradient(135deg,#00E5CC,#00AAFF)"},children:p.requestDemoBtn??"Solicitar Demo"})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-wider text-[#B0C8D0]/40 mb-2",style:{fontFamily:"'Share Tech Mono', monospace"},children:p.ourProducts??"Nossos produtos"}),[{name:"Perceptrum Corporate",desc:h,href:"/drakon",color:"#00E5CC"},{name:"Perceptrum Personal",desc:b,href:"/perceptrum",color:"#9B30FF"},{name:"F.A.S.T.-AI",desc:g,href:"/fast-ai",color:"#00AAFF"}].map(z=>e.jsx($,{href:z.href,children:e.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg border border-[rgba(255,255,255,0.06)] hover:border-[rgba(0,229,204,0.2)] transition-colors cursor-pointer group",children:[e.jsx("div",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{background:z.color}}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold text-white group-hover:text-[#00E5CC] transition-colors",children:z.name}),e.jsx("p",{className:"text-xs text-[#B0C8D0]/45",style:{fontFamily:"'Exo 2', sans-serif"},children:z.desc})]})]})},z.href))]})]})})]})}),e.jsx("section",{className:"border-t border-[rgba(0,229,204,0.12)] py-16",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs(T,{children:[e.jsxs("div",{className:"flex items-center justify-between mb-10",children:[e.jsx("h2",{className:"font-['Orbitron'] text-xl font-bold",children:p.otherArt
74icles??"Outros Artigos"}),e.jsxs($,{href:"/blog",className:"flex items-center gap-2 text-[#00E5CC] text-sm hover:gap-3 transition-all",children:[p.seeAll??"Ver todos"," ",e.jsx(Za,{className:"w-4 h-4"})]})]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:v.map(z=>e.jsx($,{href:`/blog/${z.slug}`,children:e.jsxs(Pe.article,{whileHover:{y:-4},transition:{duration:.2},className:"group flex flex-col h-full rounded-xl border border-[rgba(255,255,255,0.07)] bg-[#0C0E14] overflow-hidden cursor-pointer hover:border-[rgba(0,229,204,0.2)] transition-colors duration-300",children:[e.jsx("div",{className:"h-0.5 w-full",style:{background:`linear-gradient(90deg, ${z.accentColor}, ${z.accentColor}40)`}}),e.jsxs("div",{className:"p-6 flex flex-col flex-1",children:[e.jsx("span",{className:"inline-block px-2.5 py-1 rounded-full text-[10px] font-bold uppercase tracking-wider mb-3 border w-fit",style:{color:z.accentColor,borderColor:`${z.accentColor}30`,background:`${z.accentColor}10`},children:A(z.categorySlug??"",z.category)}),e.jsx("h3",{className:"font-['Orbitron'] text-sm font-bold text-white mb-3 leading-snug group-hover:text-[#00E5CC] transition-colors flex-1",children:k(z.slug,z.title)}),e.jsxs("div",{className:"flex items-center gap-3 text-xs text-[#B0C8D0]/40 mt-auto",style:{fontFamily:"'Exo 2', sans-serif"},children:[e.jsx("span",{children:no(z.date,u)}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ki,{className:"w-2.5 h-2.5"}),z.readTime]})]})]})]})},z.slug))})]}),e.jsx("div",{className:"mt-12 text-center",children:e.jsx($,{href:"/blog",children:e.jsxs(Pe.button,{whileHover:{scale:1.03},className:"inline-flex items-center gap-2 px-6 py-3 rounded-xl border border-[rgba(0,229,204,0.25)] text-[#00E5CC] text-sm font-semibold hover:bg-[#00E5CC]/8 transition-colors",children:[e.jsx(p2,{className:"w-4 h-4"})," ",p.backToBlog??"Voltar para o Blog"]})})})]})})]})}const uv={"ia-ml":{label:"IA & Machine Learning",color:"#00E5CC",bg:"rgba(0,229,204,0.1)"},"visao-computacional":{label:"Visão Computacional",color:"#00AAFF",bg:"rgba(0,170,255,0.1)"},"seguranca-publica":{label:"Segurança Pública",color:"#9B30FF",bg:"rgba(155,48,255,0.1)"},"smart-cities":{label:"Smart Cities",color:"#CC44DD",bg:"rgba(204,68,221,0.1)"},"privacidade-legal":{label:"Privacidade & Legal",color:"#FF9500",bg:"rgba(255,149,0,0.1)"}},Jr=[{term:"Agente de IA",slug:"agente-de-ia",category:"ia-ml",shortDef:"Sistema autônomo que percebe o ambiente e toma decisões para atingir objetivos.",fullDef:"Um agente de IA é um sistema computacional capaz de perceber seu ambiente por meio de sensores (câmeras, microfones, APIs), processar as informações com modelos de inteligência artificial e executar ações de forma autônoma para atingir objetivos predefinidos. Diferentemente de algoritmos tradicionais baseados em regras fixas, agentes de IA adaptam seu comportamento com base em aprendizado contínuo. Na segurança pública, agentes de IA monitoram feeds de câmeras em tempo real, detectam anomalias e acionam alertas sem intervenção humana constante.",relatedTerms:["Machine Learning","Inferência em Tempo Real","Modelo de IA"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]},{term:"Aprendizado de Máquina",slug:"aprendizado-de-maquina",category:"ia-ml",shortDef:"Subcampo da IA onde sistemas aprendem padrões a partir de dados sem programação explícita.",fullDef:"Aprendizado de Máquina (Machine Learning) é um ramo da inteligência artificial que permite aos computadores aprender e melhorar automaticamente por meio da experiência, sem serem explicitamente programados para cada tarefa. Os algoritmos analisam grandes volumes de dados históricos, identificam padrões e constroem modelos preditivos. Na segurança pública, algoritmos de ML são treinados com milhares de horas de vídeo para reconhecer comportamentos suspeitos, identificar veículos, detectar aglomerações anormais e antecipar ocorrências.",relatedTerms:["Deep Learning","Treinamento de Modelo","Rede Neural"],seenIn:["Perceptrum Corporate","Perceptrum Personal"]},{term:"Deep Learning",slug:"deep-learning",category:"ia-ml",shortDef:"Técnica de ML usando redes neurais profundas com múltiplas camadas para extrair representações complexas.",fullDef:"Deep Learning é uma subárea do aprendizado de máquina que utiliza redes neurais artificiais com múltiplas camadas (profundas) para modelar abstrações complexas em dados. Inspirado na estrutura do cérebro humano, o Deep Learning revolucionou tarefas como reconhecimento de imagem, processamento de linguagem natural e detecção de objetos. Modelos como CNNs (Redes Neurais Convolucionais) e Transformers são a base das principais soluções de visão computacional aplicadas à segurança pública.",relatedTerms:["Rede Neural Convolucional","Transformer","Aprendizado de Máquina"],seenIn:["Perceptrum Corporate","Perceptrum Personal","F.A.S.T.-AI"]},{term:"Modelo de IA",slug:"modelo-de-ia",category:"ia-ml",shortDef:"Representação matemática treinada capaz de fazer previsões ou classificações sobre novos dad
74os.",fullDef:"Um modelo de IA é o resultado de um processo de treinamento: uma representação matemática aprendida a partir de dados que pode ser aplicada para fazer previsões, classificações ou recomendações sobre dados novos. Modelos podem ser simples (regressão logística) ou extremamente complexos (redes neurais com bilhões de parâmetros). Na prática de segurança pública, diferentes modelos são combinados — um para detecção de objetos, outro para rastreamento, outro para análise comportamental — formando um pipeline de IA.",relatedTerms:["Inferência em Tempo Real","Treinamento de Modelo","Pipeline de IA"]},{term:"Inferência em Tempo Real",slug:"inferencia-em-tempo-real",category:"ia-ml",shortDef:"Execução de modelos de IA com latência mínima para processar dados ao vivo.",fullDef:"Inferência em Tempo Real é a capacidade de executar modelos de inteligência artificial com latência suficientemente baixa para processar dados ao vivo — como streams de vídeo — e produzir resultados em milissegundos. É o que diferencia um sistema de análise de vídeo pós-evento de um sistema de monitoramento ativo: a inferência em tempo real permite detectar uma ameaça e alertar operadores enquanto o evento ainda está acontecendo. Requer hardware especializado (GPUs, NPUs, aceleradores de IA) e modelos otimizados (quantização, pruning).",relatedTerms:["GPU","Latência","Agente de IA"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]},{term:"Treinamento de Modelo",slug:"treinamento-de-modelo",category:"ia-ml",shortDef:"Processo de ajuste dos parâmetros de uma rede neural usando dados rotulados para minimizar erros.",fullDef:"Treinamento de Modelo é o processo pelo qual um modelo de machine learning aprende a partir de dados. Durante o treinamento, o algoritmo ajusta iterativamente seus parâmetros internos (pesos) para minimizar a diferença entre suas previsões e os resultados corretos (rótulos). No contexto de segurança pública, treinar um modelo de detecção de comportamento suspeito requer um corpus de dados de vídeos anotados — uma tarefa que pode demandar meses e enormes recursos computacionais, além de expertise em domínio específico.",relatedTerms:["Dataset","Overfitting","Fine-tuning"]},{term:"Fine-tuning",slug:"fine-tuning",category:"ia-ml",shortDef:"Adaptação de um modelo pré-treinado para uma tarefa específica com dados de domínio.",fullDef:"Fine-tuning é a técnica de pegar um modelo de IA pré-treinado em um grande dataset genérico e ajustá-lo com um conjunto menor de dados específicos de domínio. Isso reduz drasticamente o custo e o tempo de desenvolvimento: em vez de treinar do zero, o modelo parte de um conhecimento base amplo e é especializado para a tarefa desejada. Na segurança pública, um modelo de visão computacional treinado em ImageNet pode ser ajustado com dados de câmeras de segurança urbana para detectar veículos roubados ou comportamentos específicos.",relatedTerms:["Transferência de Aprendizado","Dataset","Treinamento de Modelo"]},{term:"Rede Neural Convolucional (CNN)",slug:"rede-neural-convolucional",category:"ia-ml",shortDef:"Arquitetura de rede neural especializada no processamento de dados em grade, como imagens.",fullDef:"Redes Neurais Convolucionais (CNNs) são uma classe de redes neurais profundas especialmente eficazes no processamento de dados com estrutura espacial, como imagens e vídeos. Elas utilizam operações de convolução para extrair hierarquicamente características visuais — bordas, texturas, formas, objetos completos. São a tecnologia central por trás de sistemas de detecção de objetos (YOLO, SSD, EfficientDet), reconhecimento facial e análise de vídeo em segurança pública.",relatedTerms:["Deep Learning","Detecção de Objetos","YOLO"]},{term:"LLM (Large Language Model)",slug:"llm",category:"ia-ml",shortDef:"Modelo de linguagem de grande escala capaz de compreender e gerar texto com fluência humana.",fullDef:"Large Language Models são modelos de inteligência artificial treinados em enormes corpora de texto com bilhões ou trilhões de parâmetros, capazes de compreender e gerar linguagem natural com alta fluência. Exemplos incluem GPT-4, Claude, Gemini e Llama. Na segurança pública, LLMs são utilizados em assistentes de despacho de emergência, análise de relatórios de ocorrências, síntese automática de boletins e no componente de voz de agentes de IA como o Perceptrum Intelligence.",relatedTerms:["Perceptrum Intelligence","Processamento de Linguagem Natural","Transformer"],seenIn:["Perceptrum Intelligence"]},{term:"Processamento de Linguagem Natural (PLN)",slug:"processamento-de-linguagem-natural",category:"ia-ml",shortDef:"Campo da IA que permite a máquinas compreender, interpretar e gerar linguagem humana.",fullDef:"Processamento de Linguagem Natural (PLN ou NLP, do inglês Natural Language Processing) é a área da inteligência artificial que trata da interação entre computadores e a linguagem humana. Engloba tarefas como análise de sentimento, tradução automática, extração de entidades, reconhecimento de fala e geração de texto. Em sistemas de segurança pública, PLN é usado para analisar chamadas de emergência, transcrever comunicações de rádio, processar boletins de ocorrência e permitir consultas em linguagem natural a bancos de dados de incidentes.",relatedTerms:["LLM","Reconhecimento de Fala","Análise de Sentimento"],seenIn:["Perceptrum Intelligence"]},{term:"Visão Computacional",slug:"visao-computacional",category:"visao-computacional",shortDef:"Campo da IA que permite a máquinas 
74interpretar e compreender informações visuais do mundo real.",fullDef:"Visão Computacional é o campo interdisciplinar que trata de como computadores podem ser programados para interpretar e compreender o conteúdo visual do mundo real — imagens digitais, vídeos e dados de câmeras. Utiliza algoritmos de processamento de imagem, aprendizado de máquina e redes neurais profundas para realizar tarefas como classificação de imagens, detecção e rastreamento de objetos, segmentação semântica e análise de comportamento. É a tecnologia fundamental por trás das câmeras inteligentes modernas usadas na segurança pública.",relatedTerms:["Detecção de Objetos","Reconhecimento Facial","Análise de Comportamento"],seenIn:["Perceptrum Corporate","Perceptrum Personal"]},{term:"Detecção de Objetos",slug:"deteccao-de-objetos",category:"visao-computacional",shortDef:"Técnica de visão computacional que identifica e localiza objetos específicos em imagens ou vídeos.",fullDef:"Detecção de Objetos é uma técnica de visão computacional que identifica e localiza instâncias de objetos de categorias predefinidas em imagens ou frames de vídeo, geralmente delimitando-os com bounding boxes e atribuindo um rótulo e score de confiança. Algoritmos populares incluem YOLO (You Only Look Once), SSD (Single Shot Detector) e Faster R-CNN. Na segurança pública, é usada para detectar pessoas, veículos, armas, bagagens abandonadas e outros elementos de interesse em tempo real.",relatedTerms:["YOLO","Rastreamento de Objetos","Segmentação"],seenIn:["Perceptrum Corporate"]},{term:"Rastreamento de Objetos (Object Tracking)",slug:"rastreamento-de-objetos",category:"visao-computacional",shortDef:"Capacidade de seguir a trajetória de objetos específicos ao longo de frames consecutivos de vídeo.",fullDef:"Rastreamento de Objetos é a tarefa de identificar e seguir a posição e trajetória de um ou múltiplos objetos ao longo de uma sequência de frames de vídeo. Algoritmos como SORT, DeepSORT, ByteTrack e OC-SORT atribuem identidades persistentes a cada objeto detectado, permitindo acompanhar seu movimento mesmo em casos de oclusão parcial ou mudanças de iluminação. Em sistemas de vigilância inteligente, o rastreamento permite seguir uma pessoa suspeita através de múltiplas câmeras.",relatedTerms:["Detecção de Objetos","Re-identificação de Pessoa","Análise de Comportamento"],seenIn:["Perceptrum Corporate"]},{term:"Reconhecimento Facial",slug:"reconhecimento-facial",category:"visao-computacional",shortDef:"Tecnologia biométrica que identifica ou verifica indivíduos por meio de características do rosto.",fullDef:"Reconhecimento Facial é uma tecnologia biométrica que usa algoritmos de visão computacional e aprendizado profundo para identificar ou verificar a identidade de indivíduos com base em características faciais. O processo envolve detecção do rosto na imagem, extração de características (embeddings faciais) e comparação com uma base de dados. Em segurança pública, é aplicado para identificar pessoas em listas de procurados ou desaparecidos. Seu uso levanta importantes questões éticas e legais, especialmente em relação à LGPD e ao viés algorítmico.",relatedTerms:["Biometria","LGPD","Viés Algorítmico"],seenIn:["Perceptrum Corporate"]},{term:"Análise de Comportamento",slug:"analise-de-comportamento",category:"visao-computacional",shortDef:"Interpretação automática de padrões de movimento e ação de pessoas ou veículos para detectar anomalias.",fullDef:"Análise de Comportamento (Behavioral Analytics) é a capacidade de sistemas de visão computacional de interpretar e classificar padrões de movimento, postura, interação e ação de pessoas ou veículos em cenas de vídeo. Vai além da simples detecção de objetos: o sistema compreende o que está acontecendo — uma briga, uma queda, alguém rondando uma área restrita, veículo em contramão. Baseada em modelos de aprendizado profundo treinados em grandes datasets de vídeo anotados com comportamentos específicos.",relatedTerms:["Detecção de Anomalias","Rastreamento de Objetos","Agente de IA"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]}
74,{term:"Detecção de Anomalias",slug:"deteccao-de-anomalias",category:"visao-computacional",shortDef:"Identificação automática de eventos, padrões ou comportamentos que fogem do padrão normal.",fullDef:"Detecção de Anomalias é a capacidade de sistemas de IA de identificar automaticamente eventos, padrões ou comportamentos que desviam significativamente do que é considerado normal para um determinado contexto. Em monitoramento urbano, isso inclui aglomerações anômalas, objetos abandonados, movimentos suspeitos em horários incomuns, invasão de perímetros e acidentes. A detecção de anomalias pode ser baseada em regras explícitas, modelos estatísticos ou redes neurais treinadas para reconhecer padrões normais e sinalizar desvios.",relatedTerms:["Análise de Comportamento","Cerca Virtual","Alerta em Tempo Real"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]},{term:"Re-identificação de Pessoa (Re-ID)",slug:"re-identificacao-de-pessoa",category:"visao-computacional",shortDef:"Reconhecimento de um indivíduo em diferentes câmeras ou momentos sem uso de reconhecimento facial.",fullDef:"Re-identificação de Pessoa (Person Re-Identification) é a técnica que permite associar o mesmo indivíduo em imagens capturadas por diferentes câmeras, em diferentes momentos ou ângulos, sem necessariamente utilizar reconhecimento facial. Usa características visuais como cor de roupa, textura, postura e gait (forma de caminhar) para manter a identidade do indivíduo através de uma rede de câmeras. É fundamental para o rastreamento em espaços urbanos com múltiplas câmeras e para investigações pós-evento.",relatedTerms:["Rastreamento de Objetos","Reconhecimento Facial","Multi-câmera"],seenIn:["Perceptrum Corporate"]},{term:"Segmentação de Instâncias",slug:"segmentacao-de-instancias",category:"visao-computacional",shortDef:"Técnica que identifica e delineia com precisão pixel a pixel cada objeto em uma cena.",fullDef:"Segmentação de Instâncias é uma tarefa avançada de visão computacional que vai além da detecção de objetos: em vez de apenas delimitar objetos com retângulos (bounding boxes), ela classifica cada pixel da imagem e associa pixels a instâncias específicas de objetos. Isso permite, por exemplo, contar com precisão o número de pessoas em uma multidão, medir áreas de aglomeração, detectar veículos com precisão em condições de sobreposição e analisar cenas complexas com maior detalhamento.",relatedTerms:["Detecção de Objetos","Contagem de Pessoas","Visão Computacional"],seenIn:["Perceptrum Personal"]},{term:"YOLO (You Only Look Once)",slug:"yolo",category:"visao-computacional",shortDef:"Família de arquiteturas de detecção de objetos em tempo real reconhecida pela velocidade e precisão.",fullDef:"YOLO (You Only Look Once) é uma família de arquiteturas de redes neurais desenvolvidas para detecção de objetos em tempo real com velocidade e precisão excepcionais. Ao contrário de abordagens anteriores que analisavam regiões da imagem em múltiplas etapas, o YOLO processa a imagem inteira em uma única passagem pela rede neural, tornando-o extremamente eficiente. As versões mais recentes (YOLOv8, YOLOv9, YOLO-World) são amplamente usadas em sistemas de câmeras inteligentes para segurança pública.",relatedTerms:["Detecção de Objetos","Inferência em Tempo Real","Rede Neural Convolucional"]},{term:"Leitura de Placa (OCR/ALPR)",slug:"leitura-de-placa",category:"visao-computacional",shortDef:"Reconhecimento automático de placas de veículos por câmeras usando visão computacional e OCR.",fullDef:"Leitura Automática de Placas de Veículos (ALPR — Automatic License Plate Recognition, também chamado de ANPR na Europa ou OCR de placa no Brasil) é a tecnologia que permite a câmeras inteligentes detectar, localizar e ler automaticamente as placas de veículos em movimento. Fundamental para controle de acesso, identificação de veículos roubados, monitoramento de tráfego e investigações. Sistemas modernos operam em tempo real, mesmo com veículos em alta velocidade, baixa iluminação e placas parcialmente obstruídas.",relatedTerms:["Detecção de Objetos","OCR","Monitoramento de Tráfego"],seenIn:["Perceptrum Corporate"]},{term:"CISP (Centro Integrado de Segurança Pública)",slug:"cisp",category:"seguranca-publica",shortDef:"Estrutura centralizada que integra múltiplos órgãos de segurança com tecnologia e dados compartilhados.",fullDef:"Centro Integrado de Segurança Pública (CISP) é uma estrutura organizacional e tecnológica que reúne em um único ambiente físico e digital representantes de diferentes órgãos de segurança pública — polícia civil, militar, bombeiros, guarda municipal, SAMU — com sistemas de informação integrados, monitoramento centralizado e protocolos de resposta coordenada. Com IA, os CISPs modernos recebem feeds de câmeras inteligentes, dados de sensores urbanos e alertas automáticos para aumentar a eficiência operacional.",relatedTerms:["SOC de Segurança","Monitoramento Integrado","Interoperabilidade"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]},{term:"Monitoramento Inteligente",slug:"monitoramento-inteligente",category:"seguranca-publica",shortDef:"Vigilância urbana com análise automatizada por IA, superando o modelo passivo de câmeras tradicionais.",fullDef:"Monitoramento Inteligente é a evolução do sistema de CFTV (Circuito Fechado de TV) tradicional, onde câmeras passivas são substituídas ou complementadas por agentes de IA que analisam os feeds em tempo real. Ao invés de depender exclusivamente de operadores humanos assistindo a múltiplos monitores, o monitoramento inteligente automatiza a detecção de eventos de interesse, gera alertas proativos, mantém rastreamento contínuo e produz relatórios automáticos — permitindo que os operadores foquem em análise e decisão.",relatedTerms:["CFTV","Agente de IA","Cerca Virtual","Detecção de Anomalias"],seenIn:["Perceptrum Corporate"]},{term:"Cerca Virtual (Geofencing)",slug:"cerca-virtual",category:"seguranca-publica",shortDef:"Delimitação de zonas geográficas ou áreas em vídeo que disparam alertas quando violadas.",fullDef:"Cerca Virtual é o conceito de definir zonas digitais — seja em um mapa geográfico (geofencing) ou diretamente sobre o feed de câmera — que, quando cruzadas por pessoas, veículos ou objetos, disparam alertas automáticos. Na segurança pública, cercas virtuais protegem áreas sensíveis (escolas, aeroportos, instalações críticas), detectam invasão de perímetro, monitoram zonas de restrição de veículos e alertam sobre aglomerações em áreas proibidas. São configuráveis por horário, tipo de objeto e direção de cruzamento.",relatedTerms:["Geofencing","Detecção de Anomalias","Alerta em Tempo Real"],seenIn:["Perceptrum Corporate"]},{term:"Policiamento Preditivo",slug:"policiamento-preditivo",category:"seguranca-publica",shortDef:"Uso de dados históricos e modelos de IA para prever locais e períodos com maior probabilidade de crimes.",fullDef:"Policiamento Preditivo é a aplicação de análise de dados e algoritmos de machine learning para prever onde e quando crimes são mais prováveis de ocorrer, permitindo alocação proativa de recursos policiais. Os modelos analisam histórico de ocorrências, padrões temporais, dados socioeconômicos e geoespaciais. Embora aumente a eficiência operacional, levanta debates éticos sobre viés racial, profecias autocumpridas e vigilância preventiva. Requer supervisão humana cuidadosa e transparência algorítmica.",relatedTerms:["Análise de Dados","Mapeamento Criminal","Ética em IA"]},{term:"SOC de Segurança Pública",slug:"soc-seguranca-publica",category:"seguranca-publica",shortDef:"Centro operacional de monitoramento 24/7 que consolida dados de segurança para tomada de decisão.",fullDef:"O Security Operations Center (SOC) no contexto de segurança pública é um centro de operações que consolida o monitoramento de câmeras, sensores, rádios, dados de incidentes e inteligência em tempo real. Com integração de IA, o SOC recebe alertas automáticos, visualiza dashboards de situação operacional, coordena despacho de equipes e mantém histórico de incidentes. É o ambiente de trabalho dos o
74peradores que utilizam sistemas como Perceptrum Corporate para decisões táticas.",relatedTerms:["CISP","Monitoramento Inteligente","Dashboard Operacional"],seenIn:["Perceptrum Corporate","F.A.S.T.-AI"]},{term:"Biometria",slug:"biometria",category:"seguranca-publica",shortDef:"Identificação de indivíduos por características físicas ou comportamentais únicas e mensuráveis.",fullDef:"Biometria é o campo que estuda e aplica características físicas ou comportamentais únicas e mensuráveis dos seres humanos para identificação e autenticação. Na segurança pública, as principais modalidades biométricas incluem reconhecimento facial, impressão digital, íris, veias da palma, voz e gait (análise do andar). Sistemas biométricos precisam equilibrar precisão (minimizar falsos positivos e negativos), velocidade e conformidade com legislação de proteção de dados como a LGPD.",relatedTerms:["Reconhecimento Facial","LGPD","Privacidade"]},{term:"Despacho Inteligente",slug:"despacho-inteligente",category:"seguranca-publica",shortDef:"Automatização da alocação de recursos de emergência com base em prioridade e proximidade.",fullDef:"Despacho Inteligente é a aplicação de algoritmos de otimização e inteligência artificial para automatizar e aprimorar a alocação de recursos de emergência — viaturas, bombeiros, SAMU — com base em prioridade da ocorrência, localização, tempo de resposta estimado e disponibilidade de equipes. Integrado a sistemas de rádio digital e GPS, o despacho inteligente reduz o tempo de resposta, minimiza erros humanos em situações de alto estresse e garante que os recursos mais adequados sejam enviados a cada ocorrência.",relatedTerms:["CISP","Perceptrum Intelligence","Interoperabilidade"],seenIn:["Perceptrum Intelligence","F.A.S.T.-AI"]},{term:"Smart City",slug:"smart-city",category:"smart-cities",shortDef:"Cidade que usa tecnologia e dados para melhorar eficiência de serviços, qualidade de vida e sustentabilidade.",fullDef:"Smart City (Cidade Inteligente) é o conceito de cidade que integra tecnologias da informação e comunicação (TICs), Internet das Coisas (IoT), big data e inteligência artificial para otimizar a gestão de recursos urbanos, melhorar a qualidade dos serviços públicos, aumentar a eficiência operacional e elevar a qualidade de vida dos cidadãos. Na prática, isso envolve sensores conectados, câmeras inteligentes, iluminação adaptativa, gestão inteligente de tráfego, monitoramento ambiental e plataformas de dados integradas.",relatedTerms:["IoT","Plataforma de Dados Urbanos","Monitoramento Inteligente"],seenIn:["Perceptrum Personal","F.A.S.T.-AI"]},{term:"IoT (Internet das Coisas)",slug:"iot",category:"smart-cities",shortDef:"Rede de dispositivos físicos conectados que coletam e trocam dados pela internet.",fullDef:"Internet das Coisas (IoT — Internet of Things) é o ecossistema de dispositivos físicos embarcados com sensores, software e conectividade que lhes permite coletar, transmitir e receber dados via internet. Em cidades inteligentes, IoT inclui câmeras IP, sensores de qualidade do ar, detectores de ruído, medidores de fluxo de tráfego, postes de iluminação inteligentes, lixeiras conectadas e estações meteorológicas. Todos esses dispositivos alimentam plataformas de dados que informam decisões de gestão urbana e segurança pública.",relatedTerms:["Smart City","Edge Computing","Sensor Urbano"],seenIn:["Perceptrum Personal"]},{term:"Edge Computing",slug:"edge-computing",category:"smart-cities",shortDef:"Processamento de dados próximo à fonte geradora para reduzir latência e largura de banda.",fullDef:"Edge Computing é o paradigma de computação que processa dados próximo à fonte geradora — na câmera, no sensor, ou em um servidor local — em vez de enviar tudo para a nuvem. Em sistemas de vigilância urbana, isso significa que a câmera ou um dispositivo local faz a inferência de IA (detecção, análise comportamental) e só envia para a nuvem os alertas e metadados relevantes, não o vídeo bruto completo. Reduz drasticamente o consumo de banda, diminui a latência e melhora a privacidade.",relatedTerms:["IoT","Inferência em Tempo Real","Câmera Inteligente"],seenIn:["Perceptrum Corporate"]},{term:"Digital Twin (Gêmeo Digital)",slug:"digital-twin",category:"smart-cities",shortDef:"Réplica virtual em tempo real de um ativo, sistema ou cidade para simulação e monitoramento.",fullDef:"Digital Twin é uma representação virtual dinâmica e em tempo real de um ativo físico, sistema ou ambiente — no caso de cidades inteligentes, pode ser um gêmeo digital de toda a malha urbana, integrando dados de tráfego, câmeras, sensores ambientais e utilidades. Permite simulações de cenários (evacuação, alocação de recursos durante eventos), análise preditiva de falhas de infraestrutura e tomada de decisão baseada em dados sem impactar o sistema real. É uma tecnologia emergente aplicada ao planejamento urbano e gestão de emergências.",relatedTerms:["Smart City","Simulação","IoT"],seenIn:["Perceptrum Personal"]}
74,{term:"Plataforma de Dados Urbanos",slug:"plataforma-de-dados-urbanos",category:"smart-cities",shortDef:"Sistema centralizado que agrega, normaliza e disponibiliza dados de múltiplas fontes da cidade.",fullDef:"Plataforma de Dados Urbanos é um sistema de software que agrega, integra, normaliza e disponibiliza dados provenientes de diversas fontes da infraestrutura urbana — câmeras, sensores IoT, sistemas de transporte, ouvidorias, registros de saúde, dados meteorológicos — em uma interface única. Permite análise cruzada, criação de dashboards gerenciais, APIs para aplicativos de terceiros e tomada de decisão informada para gestores municipais. É o backbone de uma cidade verdadeiramente inteligente.",relatedTerms:["Smart City","IoT","Interoperabilidade"],seenIn:["Perceptrum Personal","F.A.S.T.-AI"]},{term:"CFTV (Circuito Fechado de TV)",slug:"cftv",category:"smart-cities",shortDef:"Sistema de câmeras de videomonitoramento para fins de segurança e vigilância.",fullDef:"CFTV (Circuito Fechado de Televisão) é o sistema de câmeras de videomonitoramento instaladas em espaços públicos e privados para fins de segurança, vigilância e controle. As câmeras analógicas tradicionais evoluíram para câmeras IP (digitais) conectadas em rede, e hoje passam por uma nova transformação com a incorporação de inteligência artificial diretamente nos dispositivos ou no software de gerenciamento. No Brasil, grandes cidades operam centenas ou milhares de câmeras de CFTV em programas de segurança pública.",relatedTerms:["Câmera Inteligente","Monitoramento Inteligente","VMS"],seenIn:["Perceptrum Corporate"]},{term:"VMS (Video Management System)",slug:"vms",category:"smart-cities",shortDef:"Software centralizado para gerenciar, visualizar e armazenar feeds de câmeras de segurança.",fullDef:"Video Management System (VMS) é um software que centraliza o gerenciamento de redes de câmeras de segurança — visualização ao vivo, gravação, arquivamento, busca em gravações e configuração de câmeras. VMSs tradicionais são passivos: exigem operadores humanos para monitorar. VMSs integrados com IA adicionam análise automática de vídeo, alertas proativos, busca por conteúdo (procurar todas as ocorrências de uma pessoa de camisa vermelha) e relatórios inteligentes, transformando o monitoramento de reativo em proativo.",relatedTerms:["CFTV","Monitoramento Inteligente","Armazenamento de Vídeo"],seenIn:["Perceptrum Corporate"]},{term:"LGPD (Lei Geral de Proteção de Dados)",slug:"lgpd",category:"privacidade-legal",shortDef:"Lei brasileira nº 13.709/2018 que regula o tratamento de dados pessoais no Brasil.",fullDef:"A Lei Geral de Proteção de Dados (LGPD — Lei nº 13.709/2018) é a principal legislação brasileira que regula o tratamento de dados pessoais por pessoas físicas e jurídicas, públicas e privadas. Inspirada no RGPD europeu, estabelece princípios como finalidade, adequação, necessidade, livre acesso, qualidade dos dados, transparência, segurança e responsabilização. Para sistemas de vigilância pública com IA — reconhecimento facial, análise comportamental — a LGPD impõe obrigações específicas de base legal, minimização de dados, DPIA (avaliação de impacto) e direitos dos t
74itulares.",relatedTerms:["GDPR","Privacidade por Design","ANPD","Reconhecimento Facial"],seenIn:["Perceptrum Corporate","Perceptrum Personal"]},{term:"GDPR (General Data Protection Regulation)",slug:"gdpr",category:"privacidade-legal",shortDef:"Regulamento europeu de proteção de dados que estabelece padrões globais de privacidade.",fullDef:"O GDPR (General Data Protection Regulation) é o regulamento da União Europeia (Regulamento 2016/679) que estabelece regras abrangentes sobre coleta, processamento e armazenamento de dados pessoais de residentes europeus. Com escopo extraterritorial — aplicando-se a qualquer organização que processe dados de cidadãos da UE — tornou-se o padrão global de referência para legislações de privacidade, influenciando diretamente a LGPD brasileira, o CCPA californiano e dezenas de outras leis nacionais.",relatedTerms:["LGPD","Privacidade por Design","Dados Sensíveis"]},{term:"Privacidade por Design (Privacy by Design)",slug:"privacidade-por-design",category:"privacidade-legal",shortDef:"Princípio de incorporar proteções de privacidade ao design de sistemas desde o início.",fullDef:"Privacidade por Design é o princípio de incorporar proteções e controles de privacidade proativamente no design de sistemas tecnológicos, processos e práticas de negócios — em vez de tratar privacidade como um complemento posterior. Concebido por Ann Cavoukian, 
74é hoje um requisito explícito do GDPR (Artigo 25) e uma boa prática alinhada à LGPD. Para sistemas de IA em segurança pública, significa definir desde o início quais dados são coletados, por quanto tempo são retidos, quem tem acesso e como são protegidos.",relatedTerms:["LGPD","GDPR","Minimização de Dados"]},{term:"ANPD (Autoridade Nacional de Proteção de Dados)",slug:"anpd",category:"privacidade-legal",shortDef:"Órgão federal brasileiro responsável por fiscalizar e regulamentar o cumprimento da LGPD.",fullDef:"A Autoridade Nacional de Proteção de Dados (ANPD) é o órgão da administração pública federal brasileira responsável por zelar pelo cumprimento da LGPD, elaborar diretrizes para a política nacional de proteção de dados, fiscalizar e aplicar sanções em caso de infrações, promover ações educativas sobre proteção de dados e deliberar sobre interpretações da lei. Criada pela Lei nº 13.853/2019, a ANPD tem poder para aplicar multas de até 2% do faturamento da empresa no Brasil, limitadas a R$ 50 milhões por infração.",relatedTerms:["LGPD","DPO","Conformidade"]},{term:"Viés Algorítmico",slug:"vies-algoritmico",category:"privacidade-legal",shortDef:"Preconceito sistemático em sistemas de IA que resulta em tratamento injusto ou discriminatório.",fullDef:"Viés Algorítmico (Algorithmic Bias) ocorre quando um sistema de inteligência artificial produz resultados sistematicamente preconceituosos ou discriminatórios, geralmente como reflexo de vieses presentes nos dados de treinamento ou nas escolhas de design do algoritmo. Em sistemas de reconhecimento facial e análise de comportamento para segurança pública, o viés algorítmico pode resultar em taxas muito maiores de falsos positivos para grupos demográficos específicos — especialmente pessoas negras e mulheres — perpetuando discriminação. Mitigar o viés requer datasets diversificados, auditorias regulares e supervisão humana.",relatedTerms:["Ética em IA","Reconhecimento Facial","Fairness"]},{term:"Ética em IA",slug:"etica-em-ia",category:"privacidade-legal",shortDef:"Campo que examina as implicações morais, sociais e legais do desenvolvimento e uso de sistemas de IA.",fullDef:"Ética em IA é o campo interdisciplinar que examina as implicações morais, sociais, políticas e legais do desenvolvimento e implantação de sistemas de inteligência artificial. Temas centrais incluem transparência e explicabilidade (como o sistema toma decisões?), viés e fairness (o sistema trata todos os grupos igualmente?), responsabilização (quem é responsável por erros da IA?), privacidade, autonomia humana e impactos no emprego. Em segurança pública, a ética em IA é especialmente crítica dado o poder coercitivo do Estado e os direitos fundamentais em jogo.",relatedTerms:["Viés Algorítmico","Explicabilidade de IA","LGPD"]},{term:"DPO (Data Protection Officer)",slug:"dpo",category:"privacidade-legal",shortDef:"Encarregado de proteção de dados responsável pela conformidade com a LGPD/GDPR na organização.",fullDef:"Data Protection Officer (DPO), denominado Encarregado de Proteção de Dados pela LGPD, é o profissional ou organização responsável por atuar como canal entre o controlador de dados, os titulares dos dados e a Autoridade Nacional de Proteção de Dados. O DPO monitora a conformidade com a LGPD, orienta sobre avaliações de impacto à proteção de dados (DPIA), responde a solicitações de titulares e reporta violações. A indicação de um DPO é obrigatória para controladores sujeitos à LGPD.",relatedTerms:["LGPD","ANPD","DPIA"]},{term:"Explicabilidade de IA (XAI)",slug:"explicabilidade-de-ia",category:"privacidade-legal",shortDef:"Capacidade de um sistema de IA de fornecer explicações compreensíveis para suas decisões.",fullDef:"Explicabilidade de IA (XAI — Explainable Artificial Intelligence) refere-se a métodos e técnicas que tornam os resultados de sistemas de inteligência artificial compreensíveis e interpretáveis para humanos — sejam usuários finais, reguladores ou desenvolvedores. Em segurança pública, XAI é cr
74ítico: quando um sistema de IA sinaliza uma pessoa como suspeita, os operadores e os cidadãos têm direito a entender por quê. Técnicas de XAI incluem LIME, SHAP, mapas de ativação de gradiente (Grad-CAM) e modelos inerentemente interpretáveis.",relatedTerms:["Ética em IA","Viés Algorítmico","Conformidade"]}];function fC(s){return s==="all"?Jr:Jr.filter(i=>i.category===s)}const bC=Array.from(new Set(Jr.map(s=>s.term[0].toUpperCase()))).sort();function xC(){const[s,i]=C.useState(""),[l,o]=C.useState("all"),[u,p]=C.useState(null),[f,m]=C.useState(null),h=C.useRef(null),{t:b}=_e(),g=b.glossary??{},v=(N,F)=>g.categories?.[N]??F,k=N=>g.terms?.[N]??{},j=N=>k(N.slug).term??N.term,A=N=>k(N.slug).shortDef??N.shortDef,P=N=>k(N.slug).fullDef??N.fullDef,D=C.useMemo(()=>{let N=fC(l);if(u&&(N=N.filter(F=>j(F)[0]?.toUpperCase()===u)),s.trim()){const F=s.toLowerCase();N=N.filter(z=>j(z).toLowerCase().includes(F)||A(z).toLowerCase().includes(F)||P(z).toLowerCase().includes(F))}return N.sort((F,z)=>j(F).localeCompare(j(z)))},[s,l,u,g.terms]),M=C.useMemo(()=>{const N={};for(const F of D){const z=j(F)[0]?.toUpperCase()??"#";N[z]||(N[z]=[]),N[z].push(F)}return N},[D,g.terms]),w=Object.keys(M).sort(),O={"@context":"https://schema.org","@type":"DefinedTermSet",name:`${g.badge??"Glossário de IA"} — AiQuimist.ai`,url:"https://aiquimist.ai/glossario",description:g.heroSubtitle??"Glossário técnico de IA e Segurança Pública.",hasDefinedTerm:Jr.map(N=>({"@type":"DefinedTerm",name:N.term,description:N.shortDef,url:`https://aiquimist.ai/glossario#${N.slug}`,inDefinedTermSet:"https://aiquimist.ai/glossario"}))};return e.jsxs("div",{className:"w-full bg-[#080A0F] min-h-screen text-white",children:[e.jsx(ha,{title:`${g.badge??"Glossário de IA"} — AiQuimist.ai`,description:g.heroSubtitle??"Definições técnicas de IA, visão computacional, segurança pública, smart cities e privacidade de dados.",canonical:"https://aiquimist.ai/glossario",jsonLd:O}),e.jsxs("section",{className:"relative pt-40 pb-20 overflow-hidden border-b border-[rgba(0,229,204,0.12)]",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#080A0F] via-[#0A0C14] to-[#06080D]"}),e.jsx("div",{className:"absolute top-0 right-0 w-[700px] h-[700px] bg-[#00E5CC]/5 rounded-full blur-[160px] -translate-y-1/3 translate-x-1/3 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[500px] h-[500px] bg-[#9B30FF]/7 rounded-full blur-[130px] pointer-events-none"}),e.jsxs("div",{className:"relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-[#B0C8D0]/50 mb-8",children:[e.jsx($,{href:"/",className:"hover:text-[#00E5CC] transition-colors",children:b.nav?.home??"Home"}),e.jsx(Qe,{className:"w-3 h-3"}),e.jsx("span",{className:"text-[#00E5CC]",children:g.badge??"Glossário"})]}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full border border-[#00E5CC]/30 bg-[#00E5CC]/8 text-[#00E5CC] text-xs font-mono tracking-widest mb-8",children:[e.jsx(Eu,{className:"w-3.5 h-3.5"}),(g.badge??"GLOSSÁRIO TÉCNICO").toUpperCase()]}),e.jsxs("h1",{className:"font-['Orbitron'] font-black text-4xl md:text-5xl lg:text-6xl uppercase leading-tight mb-6",children:[g.heroTitle1??"IA, Segurança"," ",e.jsx("span",{className:"text-[#00E5CC]",children:"&"}),e.jsx("br",{}),e.jsx("span",{className:"text-[#9B30FF]",children:g.heroTitle2??"Smart Cities"})]}),e.jsx("p",{className:"text-[#B0C8D0] text-lg md:text-xl max-w-2xl leading-relaxed mb-10",children:g.heroSubtitle??"Definições técnicas e acessíveis dos principais conceitos de inteligência artificial aplicada à segurança pública, cidades inteligentes e proteção de dados."}),e.jsx("div",{className:"flex flex-wrap gap-6",children:[{value:`${Jr.length}+`,label:g.termsCount??"Termos definidos"},{value:"5",label:g.categoriesLabel??"Categorias"},{value:g.updatedYear??"Atualizado 2025",label:""}].map(N=>e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"font-['Orbitron'] font-bold text-2xl text-[#00E5CC]",children:N.value}),N.label&&e.jsx("span",{className:"text-[#B0C8D0]/60 text-sm",children:N.label})]},N.value))})]})]}),e.jsx("section",{className:"sticky top-[72px] z-30 bg-[#080A0F]/95 backdrop-blur-xl border-b border-[rgba(0,229,204,0.08)] py-4",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex flex-col md:flex-row gap-4 items-start md:items-center",children:[e.jsxs("div",{className:"relative flex-1 max-w-md",children:[e.jsx(Mt,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-[#00E5CC]/60"}),e.jsx("input",{ref:h,type:"text",value:s,onChange:N=>{i(N.target.value),p(null)},placeholder:g.searchPlaceholder??"Buscar termo...",className:"w-full pl-11 pr-10 py-3 bg-[rgba(0,229,204,0.05)] border border-[rgba(0,229,204,0.2)] rounded-xl text-white text-sm font-['Exo_2'] placeholder-[#B0C8D0]/30 focus:outline-none focus:border-[#00E5CC]/60 focus:bg-[rgba(0,229,204,0.08)] transition-all"}),s&&e.jsx("button",{onClick:()=>i(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-[#B0C8D0]/40 hover:text-[#B0C8D0] transition-colors",children:e.jsx(Jl,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("button",{onClick:()=>{o("all"),p(null)},className:`px-3 py-1.5 rounded-full text-xs font-['Share_Tech_Mono'] tracking-wider transition-all border ${l==="all"?"bg-[#00E5CC]/15 border-[#00E5CC]/50 text-[#00E5CC]":"border-white/10 text-[#B0C8D0]/50 hover:border-white/20 hover:text-[#B0C8D0]"}`,children:(g.allCategories??"TODOS").toUpperCase()}),Object.entries(uv).map(([N,F])=>e.jsx("button",{onClick:()=>{o(N),p(null)},style:l===N?{borderColor:F.color+"80",color:F.color,background:F.bg}:{},className:`px-3 py-1.5 rounded-full text-xs font-['Share_Tech_Mono'] tracking-wider transition-all border ${l===N?"":"border-white/10 text-[#B0C8D0]/50 hover:border-white/20 hover:text-[#B0C8D0]"}`,children:v(N,F.label).toUpperCase()},N))]})]})})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex gap-8",children:[e.jsx("aside",{className:"hidden lg:flex flex-col gap-1 w-10 flex-shrink-0 sticky top-48 self
74-start",children:bC.map(N=>{const F=D.some(z=>z.term[0].toUpperCase()===N);return e.jsx("button",{onClick:()=>{F&&(p(u===N?null:N),i(""))},disabled:!F,className:`w-8 h-7 text-xs font-['Share_Tech_Mono'] rounded transition-all ${u===N?"bg-[#00E5CC] text-[#080A0F] font-bold":F?"text-[#00E5CC]/60 hover:text-[#00E5CC] hover:bg-[rgba(0,229,204,0.1)]":"text-[#B0C8D0]/15 cursor-default"}`,children:N},N)})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"mb-8 flex items-center justify-between",children:[e.jsxs("p",{className:"text-[#B0C8D0]/50 text-sm font-['Share_Tech_Mono']",children:[D.length," ",D.length===1?g.termFound??"TERMO ENCONTRADO":g.termsFound??"TERMOS ENCONTRADOS"]}),(s||u||l!=="all")&&e.jsxs("button",{onClick:()=>{i(""),p(null),o("all")},className:"text-xs text-[#00E5CC]/60 hover:text-[#00E5CC] transition-colors flex items-center gap-1",children:[e.jsx(Jl,{className:"w-3 h-3"})," ",g.clearFilters??"Limpar filtros"]})]}),D.length===0?e.jsxs("div",{className:"text-center py-20",children:[e.jsx("div",{className:"text-5xl mb-4",children:"🔍"}),e.jsxs("p",{className:"text-[#B0C8D0]/50 text-lg",children:[g.noResults??"Nenhum termo encontrado para",' "',s,'"']}),e.jsx("button",{onClick:()=>{i(""),p(null)},className:"mt-4 text-[#00E5CC] hover:underline text-sm",children:g.clearSearch??"Limpar busca"})]}):e.jsx("div",{className:"space-y-12",children:w.map(N=>e.jsx(T,{children:e.jsxs("div",{children:[e.jsxs("div",{id:`letter-${N}`,className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"font-['Orbitron'] font-black text-4xl",style:{color:"rgba(0,229,204,0.2)"},children:N}),e.jsx("div",{className:"flex-1 h-px bg-[rgba(0,229,204,0.08)]"})]}),e.jsx("div",{className:"space-y-3",children:M[N].map(F=>e.jsx(vC,{term:F,expanded:f===F.slug,onToggle:()=>m(f===F.slug?null:F.slug),searchQuery:s,categoryLabel:g.categoryLabel??"CATEGORIA",relatedTermsLabel:g.relatedTerms??"TERMOS RELACIONADOS",presentInLabel:g.presentIn??"PRESENTE EM",translatedCatLabel:v,displayTerm:j(F),displayShort:A(F),displayFull:P(F),translatedRelated:k(F.slug).relatedTerms},F.slug))})]})},N))})]})]})})}),e.jsx("section",{className:"py-20 border-t border-[rgba(0,229,204,0.08)]",children:e.jsx(T,{children:e.jsxs("div",{className:"max-w-3xl mx-auto px-4 text-center",children:[e.jsx("h2",{className:"font-['Orbitron'] font-black text-2xl md:text-3xl uppercase mb-4",children:g.ctaHeading??"Veja a IA aplicada na prática"}),e.jsx("p",{className:"text-[#B0C8D0]/70 mb-8",children:g.ctaSubtitle??"Todos esses conceitos estão integrados nas plataformas AiQuimist.ai. Conheça como funcionam em campo."}),e.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[e.jsx($,{href:"/drakon",className:"px-6 py-3 bg-[#00E5CC] text-[#080A0F] font-['Orbitron'] font-bold text-sm rounded-lg hover:bg-[#00E5CC]/90 transition-colors",children:g.ctaBtn1??"PERCEPTRUM CORPORATE"}),e.jsx($,{href:"/blog",className:"px-6 py-3 border border-[rgba(0,229,204,0.3)] text-[#00E5CC] font-['Orbitron'] font-bold text-sm rounded-lg hover:bg-[rgba(0,229,204,0.08)] transition-colors",children:g.ctaBtn2??"LER BLOG"})]})]})})})]})}function lu(s,i){if(!i.trim())return s;const l=new RegExp(`(${i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return s.split(l).map((u,p)=>l.test(u)?e.jsx("mark",{className:"bg-[#00E5CC]/25 text-[#00E5CC] rounded px-0.5",children:u},p):u)}function vC({term:s,expanded:i,onToggle:l,searchQuery:o,categoryLabel:u,relatedTermsLabel:p,presentInLabel:f,translatedCatLabel:m,displayTerm:h,displayShort:b,displayFull:g,translatedRelated:v}){const k=uv[s.category],j=s.relatedTerms||[],A=Array.isArray(v)&&v.length===j.length?v:j;return e.jsxs(Pe.div,{id:s.slug,layout:!0,className:`rounded-xl border transition-all duration-200 overflow-hidden ${i?"border-[rgba(0,229,204,0.25)] bg-[rgba(0,229,204,0.04)]":"border-[rgba(255,255,255,0.06)] bg-[rgba(255,255,255,0.02)] hover:border-[rgba(0,229,204,0.15)] hover:bg-[rgba(0,229,204,0.03)]"}`,children:[e.jsxs("button",{onClick:l,className:"w-full text-left px-6 py-4 flex items-center gap-4 group",children:[e.jsx("div",{className:"w-2 h-2 rounded-full flex-shrink-0 mt-0.5",style:{background:k.color}}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-['Orbitron'] font-bold text-base text-white group-hover:text-[#00E5CC] transition-colors leading-snug",children:lu(h,o)}),e.jsx("p",{className:"text-[#B0C8D0]/60 text-sm mt-1 leading-relaxed",children:lu(b,o)})]}),e.jsxs("div",{className:"flex-shrink-0 flex items-center gap-3 mt-1",children:[s.seenIn&&s.seenIn.length>0&&e.jsx("div",{className:"hidden sm:flex gap-1",children:s.seenIn.map(P=>e.jsx("span",{className:"px-2 py-0.5 text-[10px] font-['Share_Tech_Mono'] rounded-full border border-[rgba(0,229,204,0.2)] text-[#00E5CC]/60",children:P},P))}),e.jsx(Qe,{className:`w-4 h-4 text-[#B0C8D0]/30 transition-transform duration-200 ${i?"rotate-90":""}`})]})]})})]}),e.jsx(pb,{initial:!1,children:i&&e.jsx(Pe.div,{initial:{height:0,opacity:0}
74,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:"easeInOut"},children:e.jsxs("div",{className:"px-6 pb-6 border-t border-[rgba(0,229,204,0.08)] pt-5 space-y-5",children:[e.jsx("p",{className:"text-[#B0C8D0] text-sm leading-relaxed",children:lu(g,o)}),e.jsxs("div",{className:"flex flex-wrap gap-6",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[#B0C8D0]/40 text-xs font-['Share_Tech_Mono'] mb-2",children:u}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-['Share_Tech_Mono']",style:{background:k.bg,color:k.color},children:[e.jsx(Ou,{className:"w-3 h-3"}),m(s.category,k.label)]})]}),j.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[#B0C8D0]/40 text-xs font-['Share_Tech_Mono'] mb-2",children:p}),e.jsx("div",{className:"flex flex-wrap gap-2",children:j.map((P,D)=>{const M=A[D]??P,w=Jr.find(O=>O.term.toLowerCase()===P.toLowerCase())?.slug;return w?e.jsxs("a",{href:`#${w}`,onClick:O=>{O.preventDefault(),document.getElementById(w)?.scrollIntoView({behavior:"smooth",block:"center"})},className:"px-2.5 py-1 rounded-lg bg-[rgba(0,170,255,0.08)] border border-[rgba(0,170,255,0.2)] text-[#00AAFF] text-xs hover:bg-[rgba(0,170,255,0.15)] transition-colors flex items-center gap-1",children:[M," ",e.jsx(h2,{className:"w-2.5 h-2.5"})]},`${P}-${D}`):e.jsx("span",{className:"px-2.5 py-1 rounded-lg bg-[rgba(176,200,208,0.05)] border border-[rgba(176,200,208,0.1)] text-[#B0C8D0]/50 text-xs",children:M},`${P}-${D}`)})})]}),s.seenIn&&s.seenIn.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[#B0C8D0]/40 text-xs font-['Share_Tech_Mono'] mb-2",children:f}),e.jsx("div",{className:"flex flex-wrap gap-2",children:s.seenIn.map(P=>{const D=P==="Perceptrum Corporate"?"/drakon":P==="Perceptrum Personal"?"/perceptrum":P==="F.A.S.T.-AI"?"/fast-ai":P==="Perceptrum Intelligence"?"/drakon-voice":"#";return e.jsx($,{href:D,className:"px-2.5 py-1 rounded-lg bg-[rgba(155,48,255,0.08)] border border-[rgba(155,48,255,0.25)] text-[#9B30FF] text-xs hover:bg-[rgba(155,48,255,0.15)] transition-colors",children:P},P)})})]})]})]})})})]})}function ZeladoriaIaPage(){return C.useEffect(()=>{window.location.href="/zeladoria-ia.html"},[]),e.jsx("div",{className:"min-h-screen bg-[#080A0F] pt-32 text-center text-[#B0C8D0]",children:"Carregando Zeladoria I.A..."})}const yC=new K2;function kC(){return e.jsxs("div",{className:"flex flex-col min-h-screen",children:[e.jsx(kN,{}),e.jsx("main",{className:"flex-grow",children:e.jsxs(My,{children:[e.jsx(ke,{path:"/",component:MN}),e.jsx(ke,{path:"/drakon",component:ab}),e.jsx(ke,{path:"/perceptrum",component:tb}),e.jsx(ke,{path:"/fast-ai",component:au}),e.jsx(ke,{path:"/zeladoria-ia",component:ZeladoriaIaPage}),e.jsx(ke,{path:"/about",component:tu}),e.jsx(ke,{path:"/careers",component:qN}),e.jsx(ke,{path:"/contact",component:iu}),e.jsx(ke,{path:"/privacy-policy",component:GN}),e.jsx(ke,{path:"/terms-of-service",component:UN}),e.jsx(ke,{path:"/use-cases",component:ru}),e.jsx(ke,{path:"/specs",component:WN}),e.jsx(ke,{path:"/drakon-voice",component:Vl}),e.jsx(ke,{path:"/downloads",component:mb}),e.jsx(ke,{path:"/blog",component:mC}),e.jsx(ke,{path:"/blog/:slug",component:gC}),e.jsx(ke,{path:"/glossario",component:xC}),e.jsx(ke,{path:"/vigilancia-integrada",component:QN}),e.jsx(ke,{path:"/rede-perceptrum",component:aC}),e.jsx(ke,{path:"/rede-fast-ai",component:nC}),e.jsx(ke,{path:"/perceptrum-personal",component:tb}),e.jsx(ke,{path:"/perceptrum-corporate",component:ab}),e.jsx(ke,{path:"/perceptrum-intelligence",component:Vl}),e.jsx(ke,{path:"/download",component:mb}),e.jsx(ke,{path:"/fastai",component:au}),e.jsx(ke,{path:"/fast_ai",component:au}),e.jsx(ke,{path:"/drakonvoice",component:Vl}),e.jsx(ke,{path:"/drakon-voice-ai",component:Vl}),e.jsx(ke,{path:"/usecases",component:ru}),e.jsx(ke,{path:"/use_cases",component:ru}),e.jsx(ke,{path:"/aboutus",component:tu}),e.jsx(ke,{path:"/about-us",component:tu}),e.jsx(ke,{path:"/contato",component:iu}),e.jsx(ke,{path:"/contato-nos",component:iu}),e.jsx(ke,{component:dv})]})}),e.jsx(wN,{})]})}function wC(){return e.jsx(Fb,{children:e.jsx(Q2,{client:yC,children:e.jsx(Wj,{children:e.jsxs(yN,{children:[e.jsx(Iy,{base:"/".replace(/\/$/,""),children:e.jsx(kC,{})}),e.jsx(pw,{})]})})})})}const jC=v2.createRoot(document.getElementById("root"));jC.render(e.jsx(wC,{}));typeof window.__hideSplash=="function"&&window.__hideSplash();

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