1(self.webpackChunkveil=self.webpackChunkveil||[]).push([["681"],{40919:function(e,t,a){var o={"./aerospace-aviation/index.json":"17145","./customer-support/index.json":"93505","./defense/index.json":"66706","./finance/index.json":"93939","./healthcare/index.json":"52231","./index.json":"95021","./industrial/index.json":"14245","./it-software/index.json":"16461","./recruitment/index.json":"26707","./retail/index.json":"97962"};function l(e){return a(r(e))}function r(e){if(!a.o(o,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}l.keys=function(){return Object.keys(o)},l.resolve=r,e.exports=l,l.id="40919"},74527:function(e,t,a){"use strict";a.d(t,{Z:()=>x});var o=a("29812"),l=a("29671");let r=` 2attribute vec2 a_position; 3void main() { 4 gl_Position = vec4(a_position, 0.0, 1.0); 5} 6`,n=` 7precision mediump float; 8uniform float t; 9uniform vec2 r; // resolution 10uniform float s; // scale >1.0 makes animation appear smaller 11uniform float sat; // saturation factor [0..1] 12uniform float rotExtra; // extra rotation angle (radians) 13 14vec2 myTanh(vec2 x) { 15 vec2 ex = exp(x); 16 vec2 emx = exp(-x); 17 return (ex - emx) / (ex + emx); 18} 19 20// RGB <-> HSV helpers 21vec3 rgb2hsv(vec3 c){ 22 vec4 K = vec4(0.0, -1.0/3.0, 2.0/3.0, -1.0); 23 vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); 24 vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); 25 float d = q.x - min(q.w, q.y); 26 float e = 1.0e-10; 27 return vec3(abs(q.z + (q.w - q.y) / (6.0 * (d + e))), d / (q.x + e), q.x); 28} 29 30vec3 hsv2rgb(vec3 c){ 31 vec3 p = abs(fract(c.xxx + vec3(0.0, 1.0/3.0, 2.0/3.0)) * 6.0 - 3.0); 32 vec3 rgb = c.z * mix(vec3(1.0), clamp(p - 1.0, 0.0, 1.0), c.y); 33 return rgb; 34} 35 36void main() { 37 vec4 o_anim = vec4(0.0); 38 { 39 // Base, unscaled coordinates 40 vec2 p_base = (gl_FragCoord.xy * 2.0 - r) / r.y / 0.7; 41 // Make the left side originate from a larger area by using a smaller local scale on the far left, 42 // smoothly blending to the global scale 's' toward the center/right. 43 // Narrow the left-side influence so it affects a smaller horizontal band 44 float leftBlend = smoothstep(-0.95, -0.35, p_base.x); // 0 at far left, 1 by xâ-0.35 45 // Fine-tune vertical shift: move by ~100px on the far left (taper to 0 near center) 46 float yoff = (2.0 * 100.0) / r.y / 0.7; // convert ~100px to normalized units 47 p_base.y -= yoff * (1.0 - leftBlend); 48 // Global upward shift to raise the animation within the full-size container 49 p_base.y += 1.10; 50 // Reduce left enlargement strength so the left area appears narrower 51 float localS = mix(0.90, s, leftBlend); 52 vec2 p_anim = p_base * localS; 53 // Rotate the calculated animation inside the canvas by +45\xb0 plus optional extra, then flip 180\xb0 54 float ang = 0.785398163 + rotExtra + 3.1415926535; // 45\xb0 + extra + 180\xb0 flip 55 float CA_ROT = cos(ang); 56 float SA_ROT = sin(ang); 57 vec2 p_rot = vec2(CA_ROT * p_anim.x - SA_ROT * p_anim.y, 58 SA_ROT * p_anim.x + CA_ROT * p_anim.y); 59 vec2 d = vec2(-1.0, 1.0); 60 float denom = 0.1 + 5.0 / dot(5.0 * p_rot - d, 5.0 * p_rot - d); 61 vec2 c = p_rot * mat2(1.0, 1.0, d.x / denom, d.y / denom); 62 vec2 v = c; 63 // Remove rotational time component to avoid spinning 64 float angle = log(length(v)); 65 mat2 rot = mat2(cos(angle), sin(angle), -sin(angle), cos(angle)); 66 v *= rot * 5.0; 67 vec4 animAccum = vec4(0.0); 68 for (int i = 1; i <= 9; i++) { 69 float fi = float(i); 70 animAccum += sin(vec4(v.x, v.y, v.y, v.x)) + vec4(1.0); 71 // Drive waves to propagate along +x: use phase (v.x - c*t) 72 float c = 1.6; // increased wave speed 73 vec2 arg = vec2(v.y * fi, (v.x - c * t) * fi); 74 v += 0.7 * sin(arg) / fi + 0.5; 75 } 76 // Same as FlowLoop2 but ring factor removed: no division by (0.03 + abs(length(p_rot) - 0.7)) * 0.2 77 vec4 animTerm = 1.0 - exp(-exp(c.x * vec4(0.6, -0.4, -1.0, 0.0)) 78 / animAccum 79 / (0.1 + 0.1 * pow(length(sin(v / 0.3) * 0.2 + c * vec2(1.0, 2.0)) - 1.0, 2.0)) 80 / (1.0 + 7.0 * exp(0.3 * c.y - dot(c, c)))); 81 o_anim += animTerm; 82 } 83 // Reduce overall intensity slightly (boosted a bit to avoid vanishing) 84 vec4 finalColor = o_anim * 1.60; 85 // Keep full saturation (removed global desaturation) 86 // (no-op) 87 // Strong and precise: set entire animation to gold (preserve luminance) 88 // Use pre-saturation color for detection to avoid false positives 89 vec3 colPre = clamp(o_anim.rgb * 1.25, 0.0, 1.0); 90 float maxGB = max(colPre.g, colPre.b); 91 float redAmount = max(0.0, colPre.r - maxGB); 92 // Sensitivity and curve for red dominance 93 float redDom = smoothstep(0.05, 0.25, redAmount); 94 // Luminance-preserving gold target 95 vec3 gold = vec3(1.0, 0.84, 0.25); 96 float lGold = dot(gold, vec3(0.2126, 0.7152, 0.0722)); 97 float lSrc = max(1e-3, dot(finalColor.rgb, vec3(0.2126, 0.7152, 0.0722))); 98 vec3 goldLuma = gold * (lSrc / max(1e-3, lGold)); 99 // Strong blend only where red dominates 100 float k = redDom * 0.95; 101 finalColor.rgb = goldLuma; 102 103 // Additional left-side-only desaturation (rotation-aware) 104 vec2 uv_l = gl_FragCoord.xy / r; // 0..1 across canvas 105 vec2 cc_l = uv_l - vec2(0.5); 106 float CAf_l = cos(rotExtra), SAf_l = sin(rotExtra); 107 vec2 ccR_l = vec2(CAf_l * cc_l.x - SAf_l * cc_l.y, SAf_l * cc_l.x + CAf_l * cc_l.y); 108 float ux_l = ccR_l.x + 0.5; 109 float leftMask2 = 1.0 - smoothstep(0.32, 0.52, ux_l); // ~full on far left, 0 near center 110 // Removed left-side desaturation 111 // Left-side brightness boost 112 float brightBoost = 0.35; // ~35% brighter on the far left, tapering toward center 113 vec3 boosted = finalColor.rgb * (1.0 + brightBoost); 114 finalColor.rgb = mix(finalColor.rgb, boosted, leftMask2); 115 116 // Removed blue-channel desaturation; preserve saturation 117 float maxRG = max(finalColor.r, finalColor.g); 118 float blueDom = max(0.0, finalColor.b - maxRG); 119 float isBlueRGB = smoothstep(0.05, 0.18, blueDom); 120 float goldLike = step(0.45, finalColor.r) * step(0.20, finalColor.g) * step(finalColor.b, 0.35) * step(finalColor.g, finalColor.r); 121 float blueMaskLeft = 0.0 * isBlueRGB * (1.0 - goldLike) * leftMask2; 122 123 // Maintain a minimal alpha 124 finalColor.a = max(finalColor.a, 0.18); 125 finalColor = clamp(finalColor, 0.0, 1.0); 126 127 // Edge fade left/right (rotation-aware) 128 vec2 uv = gl_FragCoord.xy / r; // 0..1 across canvas 129 vec2 cc = uv - vec2(0.5); // center at 0,0 130 float angF = rotExtra; // rotate fade only by extra angle 131 float CAf = cos(angF), SAf = sin(angF); 132 vec2 ccR = vec2(CAf * cc.x - SAf * cc.y, SAf * cc.x + CAf * cc.y); 133 float ux = ccR.x + 0.5; // rotated horizontal coordinate 134 float edgeW = 0.18; // edge fade width as fraction of width 135 float leftFade = smoothstep(0.0, edgeW, ux); 136 float rightFade = 1.0 - smoothstep(1.0 - edgeW, 1.0, ux); 137 leftFade *= leftFade; 138 rightFade *= rightFade; 139 float edgeMask = leftFade * rightFade; // 0 at extreme edges, 1 in center 140 finalColor.rgb *= edgeMask; 141 finalColor.a *= edgeMask; 142 gl_FragColor = finalColor; 143} 144`,i=(0,o.aZ)({__name:"FlowLoop3",setup(e){let t=(0,o.iH)(null),a=(0,o.iH)(null),l=null,i=null,
144s=null,c=-1,f=null,d=null,u=null,v=null,m=null,g=0,p=0,h=null,x=!1;function b(e,t,a){let o=e.createShader(t);if(e.shaderSource(o,a),e.compileShader(o),!e.getShaderParameter(o,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(o);throw e.deleteShader(o),Error("Shader compile failed: "+t)}return o}function _(){if(!t.value||!l)return;let e=Math.min(window.devicePixelRatio||1,2),{clientWidth:a,clientHeight:o}=t.value,r=Math.max(1,Math.floor(a*e)),n=Math.max(1,Math.floor(o*e));(t.value.width!==r||t.value.height!==n)&&(t.value.width=r,t.value.height=n),l.viewport(0,0,r,n)}function w(e){if(!l||!i||!t.value)return;!g&&(g=e);let a=(e-g)/1e3;_(),l.useProgram(i),l.uniform1f(f,a),l.uniform2f(d,t.value.width,t.value.height),l.uniform1f(u,2.4),l.uniform1f(v,.45);let o=window.innerWidth<=768?Math.PI/2:0;l.uniform1f(m,o),l.drawArrays(l.TRIANGLES,0,6),p=!document.hidden&&x?requestAnimationFrame(w):0}return(0,o.bv)(()=>{if(!t.value||!(l=t.value.getContext("webgl",{alpha:!0,premultipliedAlpha:!0,antialias:!0})))return;i=function(e,t,a){let o=b(e,e.VERTEX_SHADER,t),l=b(e,e.FRAGMENT_SHADER,a),r=e.createProgram();if(e.attachShader(r,o),e.attachShader(r,l),e.linkProgram(r),e.deleteShader(o),e.deleteShader(l),!e.getProgramParameter(r,e.LINK_STATUS)){let t=e.getProgramInfoLog(r);throw e.deleteProgram(r),Error("Program link failed: "+t)}return r}(l,r,n),l.useProgram(i);let e=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]);s=l.createBuffer(),l.bindBuffer(l.ARRAY_BUFFER,s),l.bufferData(l.ARRAY_BUFFER,e,l.STATIC_DRAW),c=l.getAttribLocation(i,"a_position"),l.enableVertexAttribArray(c),l.vertexAttribPointer(c,2,l.FLOAT,!1,0,0),f=l.getUniformLocation(i,"t"),d=l.getUniformLocation(i,"r"),u=l.getUniformLocation(i,"s"),v=l.getUniformLocation(i,"sat"),m=l.getUniformLocation(i,"rotExtra"),window.addEventListener("resize",_);let o=()=>{0===p&&!document.hidden&&x&&(p=requestAnimationFrame(w))};a.value&&"IntersectionObserver"in window?(h=new IntersectionObserver(e=>{for(let t of e){let e=t.isIntersecting&&t.intersectionRatio>0;x=e,!e&&p&&(cancelAnimationFrame(p),p=0),e&&o()}},{root:null,rootMargin:"0px 0px 300px 0px",threshold:[0,.01]})).observe(a.value):(x=!0,o());let g=()=>{document.hidden?p&&(cancelAnimationFrame(p),p=0):x&&o()};document.addEventListener("visibilitychange",g),window.__flowloop3_vis=g}),(0,o.Jd)(()=>{if(window.removeEventListener("resize",_),cancelAnimationFrame(p),h&&a.value){try{h.unobserve(a.value)}catch{}h.disconnect(),h=null}try{document.removeEventListener("visibilitychange",window.__flowloop3_vis)}catch{}l&&(s&&l.deleteBuffer(s),i&&l.deleteProgram(i),l=null)}),(e,l)=>((0,o.wg)(),(0,o.iD)("div",{ref_key:"root",ref:a,class:"relative w-full h-full"},[(0,o._)("canvas",{ref_key:"canvas",ref:t,class:"absolute inset-0 w-full h-full block"},null,512)],512))}});var s=a("29938");let c={class:"relative overflow-hidden pt-8 md:pt-20 pb-8 md:pb-20 px-4 md:px-6 bg-neutral-900 text-neutral-100"},f={class:"pointer-events-none absolute inset-0 z-0"},d={class:"relative z-[1] max-w-7xl mx-auto"},u={class:"relative rounded-lg overflow-hidden px-8 md:px-16 pt-8 pb-8 md:py-12 bg-transparent"},v={class:"relative z-[1] grid grid-cols-12 gap-6 md:gap-8 items-center"},m={class:"col-span-12 md:col-span-5 flex md:justify-end md:self-center mt-14 md:mt-0"},g={class:"w-full md:w-auto flex md:items-center"},p={class:"flex flex-wrap gap-3 md:gap-4"},h=(0,o.aZ)({name:"Retargeting",__name:"Retargeting",props:{items:{}},setup(e){let t=(0,s.yj)(),r=(0,s.tv)(),n=(0,o.Fl)(()=>{let e=t.path,a=e.lastIndexOf("/");return a>=0?e.slice(0,a+1):"/"}),h=(0,o.Fl)(()=>"/"===t.path),x=(0,o.Fl)(()=>/^\/blog(\/|$)/.test(t.path)),b=(0,o.Fl)(()=>{var e;return String((null===(e=t.params)||void 0===e?void 0:e.industry)||"")}),_=(0,o.Fl)(()=>/^\/offerings\//.test(t.path)),w=a(40919),y=(0,o.Fl)(()=>{let e=[];try{w.keys().forEach(t=>{var a,o;if(!/^\.\/[^/]+\/index\.json$/.test(t))return;let l=w(t),r=l.default||l,n=(null==r?void 0:null===(a=r.seo)||void 0===a?void 0:a.slug)||(null==r?void 0:r.slug);if(!n)return;let i=(null==r?void 0:r.title)||(null==r?void 0:null===(o=r.seo)||void 0===o?void 0:o.title)||String(n).replace(/-/g," ");e.push({label:i,to:`/offerings/${n}`})})}catch{}return e.sort((e,t)=>
144e.label.localeCompare(t.label))}),A=(0,o.Fl)(()=>{if(e.items&&e.items.length)return e.items;if(h.value||x.value)return y.value;if(_.value){let e=b.value;return y.value.filter(t=>t.to!==`/offerings/${e}`)}let a=n.value,o=t.path.replace(/\/$/,""),l=[];for(let e of r.getRoutes()){var i;let t=e.path;if(!t.startsWith(a)||t===a||t===o||t.endsWith("/index")||t===a.slice(0,-1))continue;let r=t.slice(a.length);if(r.includes("/"))continue;let n=(null===(i=e.meta)||void 0===i?void 0:i.title)||(e.name?String(e.name):r.replace(/-/g," "));l.push({label:n,to:t})}return l});return(e,t)=>((0,o.wg)(),(0,o.iD)("section",c,[(0,o._)("div",f,[(0,o.Wm)(i,{class:"w-full h-full opacity-90 origin-center [transform:translateX(-60%)_scaleX(4)_scaleY(-1.7)_rotate(180deg)]"})]),(0,o._)("div",d,[(0,o._)("div",u,[(0,o._)("div",v,[t[0]||(t[0]=(0,o.uE)('<div class="col-span-12 md:col-span-7"><h2 class="text-5xl md:text-6xl font-light leading-tight text-neutral-100"><span class="block">Automate</span><span class="block">Anything.</span></h2><p class="text-neutral-300 text-lg align-left mt-4"> Identify workflows. Reveal bottlenecks. Increase efficiency.<br> Confidence in every change. Data in every decision. </p></div>',1)),(0,o._)("div",m,[(0,o._)("div",g,[(0,o._)("div",p,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(A.value,(e,t)=>((0,o.wg)(),(0,o.j4)((0,o.SU)(l.z),{key:t,variant:"outline",size:"sm",class:"rounded-full h-9 px-4 text-sm border-neutral-600 text-neutral-100 bg-transparent hover:bg-neutral-800 hover:text-neutral-100 hover:border-neutral-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-700",onClick:t=>{var a;return a=e.to,void r.push(a)}},{default:(0,o.w5)(()=>{var t;return[(0,o.Uk)((0,o.zw)((t=e.label,/^aiats$/i.test(t)?"AI ATS":t)),1)]}),_:2},1032,["onClick"]))),128))])])])])])])]))}}),x=h}}]);
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.