"use strict";(globalThis.webpackChunk_websiteComponents=globalThis.webpackChunk_websiteComponents||[]).push([[9882],{39882(t,e,n){n.d(e,{A:()=>g}),n(41427),n(64648),n(36027),n(78382),n(88792),n(49347),n(87241),n(90620);var i=n(39551),o=n(42363),r=n(59596),s=n(84264),a=n(31747),u=n(83279),c=n(78677),f=n(17699),l=n(3745);function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach(function(e){(0,c.A)(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function h(t,e,n){return e=(0,s.A)(e),(0,r.A)(t,d()?Reflect.construct(e,n||[],(0,s.A)(t).constructor):e.apply(t,n))}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function m(t,e,n,i){var o=(0,a.A)((0,s.A)(1&i?t.prototype:t),e,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}var g=function(t){function e(t,n){var o;return(0,i.A)(this,e),o=h(this,e,[t,v({programKey:"refracted-circles-program",frag:"\n#ifndef HALF_PI\n#define HALF_PI 1.5707963267948966\n#endif\n\nfloat easeOut(float t) {\n  return sin(t * HALF_PI);\n}\n\nuniform vec4 uViewport;\nuniform sampler2D uImage;\nuniform float uCenterRadius;\nuniform float uMaxRings;\nuniform float uRingSize;\nuniform float uRotation;\nuniform float uScaleEven;\nuniform float uScaleOdd;\nuniform float uScaleTaperEven;\nuniform float uScaleTaperOdd;\nuniform float uShiftIntensity;\nuniform float uStepFlipRotation;\nuniform float uStepFlipX;\nuniform float uStepFlipY;\nuniform vec2 uResolution;\nuniform vec2 uShift;\nvarying vec2 vUv;\n\nvec2 rotate(vec2 uv, float amount) {\n  vec2 prime = vec2(uv.x * cos(amount) + uv.y * sin(amount),\n    -uv.x * sin(amount) + uv.y * cos(amount));\n  return prime;\n}\n\nfloat getStep (vec2 uv) {\n  return (floor(max(0.0, distance(uv, vec2(0.0)) - uCenterRadius) / uRingSize));\n}\n\nvec2 getFragCoord () {\n  float scale = uResolution.x / uViewport.z;\n  vec2 coord = gl_FragCoord.xy;\n  coord.y -= uViewport.y;\n\n  return coord * scale;\n}\n\nvoid main () {\n  vec2 uv = vUv - 0.5;\n  float aspect = uResolution.x / uResolution.y;\n  vec2 stepCoord = (getFragCoord() / uResolution) - 0.5;\n\n  float step = min(getStep(stepCoord * uResolution), uMaxRings);\n  float isEven = mod(step, 2.0);\n  float flipRotation = sign((1.0 - isEven + uStepFlipRotation) * 2.0 - 1.0);\n  vec2 flipAxis = vec2(\n    sign((1.0 - isEven + uStepFlipX) * 2.0 - 1.0),\n    sign((1.0 - isEven + uStepFlipY) * 2.0 - 1.0)\n  );\n  float progress = easeOut((step + 1.0) / (uMaxRings + 1.0));\n  float progressRotation = easeOut((step) / (uMaxRings));\n  float rotation = progressRotation * (uRotation) * flipRotation;\n  float scale = mix(uScaleOdd, uScaleEven, isEven);\n  float taper = mix(uScaleTaperEven, uScaleTaperOdd, isEven);\n  float taperScale = (1.0 - progress) * taper;\n  vec2 shift = uShift * uShiftIntensity * progress;\n\n  uv.x *= aspect;\n  uv = rotate(uv, rotation);\n  uv.x /= aspect;\n  uv =\n    (uv + shift) *\n      flipAxis *\n      scale *\n      (1.0 + taperScale) +\n    0.5;\n\n  vec4 tx = texture2D(uImage, mod(uv * -sign(mod(uv, 2.0) - 1.0), 1.0));\n  tx.xyz *= tx.a;\n\n  gl_FragColor = tx;\n}\n",uniforms:{uCenterRadius:100,uMaxRings:-1,uShift:[0,0]}},n)]),(0,c.A)(o,"isIntersecting",!1),(0,c.A)(o,"onIntersection",function(t){o.isIntersecting=t,o.interaction.setIsIntersecting(t)}),(0,c.A)(o,"onScrollProgress",function(t){o.interaction.setScrollProgress(t)}),o.autoUpdate=!1,o.updateInteraction(),o.setSize(),o}return(0,u.A)(e,t),(0,o.A)(e,[{key:"updateInteraction",value:function(){this.interaction&&this.interaction.destroy();var t=(0,l.A)(this.props.interactionType);this.interaction=new t({shiftUniform:this.uniforms.uShift,props:this.props,node:this.node.closest("section")||this.node}),this.interaction.setIsIntersecting(this.isIntersecting)}},{key:"onUpdateProps",value:function(t){m(e,"onUpdateProps",this,3)([t]),this.props.interactionType!==t.interactionType?this.updateInteraction():this.interaction.setProps(this.props)}},{key:"getUniformsFromProps",value:function(){var t=this.props,e=t.size,n=t.rotation,i=t.scaleEven,o=t.scaleOdd,r=t.scaleTaperEven,s=t.scaleTaperOdd,a=t.shiftIntensity,u=t.isStepFlipRotation,c=t.isStepFlipX,f=t.isStepFlipY,l=t.contextScale;return{uRotation:n*Math.PI/180,uRingSize:e*l,uScaleEven:.01*i,uScaleOdd:.01*o,uScaleTaperEven:.01*r,uScaleTaperOdd:.01*s,uStepFlipRotation:1-+u,uStepFlipX:1-+c,uStepFlipY:1-+f,uShiftIntensity:.002*a}}},{key:"update",value:function(){this.interaction.update()&&(this.isDirty=!0)}},{key:"onRefresh",value:function(){m(e,"onRefresh",this,3)([]),this.setSize()}},{key:"setSize",value:function(){var t=this.width,e=this.height,n=this.props,i=n.centerOffsetSize,o=n.isLimitRings,r=n.numRings,s=n.size,a=n.contextScale,u=.5*Math.min(t,e),c=.5*Math.sqrt(t*t+e*e),f=u*(.01*i*a),l=Math.ceil((c-i*a)/(s*a)),p=o?Math.min(r,l):l;this.uniforms.uCenterRadius=f,this.uniforms.uMaxRings=p}},{key:"onDestroy",value:function(){m(e,"onDestroy",this,3)([]),this.interaction.destroy()}}])}(f.A);(0,c.A)(g,"defaultProps",{isLimitRings:!1,numRings:0,centerOffsetSize:0,size:0,rotation:0,scaleEven:0,scaleOdd:0,scaleTaperEven:0,scaleTaperOdd:0,isStepFlipRotation:!1,isStepFlipX:!1,isStepFlipY:!1,interactionType:"none",shiftIntensity:0,shiftSpeed:0,contextScale:1,scrollProgress:-1,mouseX:-1,mouseY:-1})},3745(t,e,n){n.d(e,{A:()=>A});var i=n(78677);const o=!!("ontouchstart"in window||window.navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof DocumentTouch),r="mouse",s="scroll";var a=n(39551),u=n(42363),c=function(){return(0,u.A)(function t(e){var n=e.shiftUniform,i=e.props,o=e.node;(0,a.A)(this,t),this.shiftUniform=n,this.props=i,this.node=o},[{key:"setProps",value:function(t){this.props=t}},{key:"setImmediate",value:function(){}},{key:"setIsIntersecting",value:function(){}},{key:"setScrollProgress",value:function(){}},{key:"update",value:function(){return this.shiftUniform[0]=0,this.shiftUniform[1]=0,!1}},{key:"destroy",value:function(){}}])}(),f=(n(87241),n(59596)),l=n(84264),p=n(83279);function v(t,e,n){return e=(0,l.A)(e),(0,f.A)(t,h()?Reflect.construct(e,n||[],(0,l.A)(t).constructor):e.apply(t,n))}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(h=function(){return!!t})()}n(79506);var d=function(t){function e(){var t;(0,a.A)(this,e);for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return t=v(this,e,[].concat(o)),(0,i.A)(t,"shiftTarget",[0,0]),(0,i.A)(t,"shiftResetTID",-1),(0,i.A)(t,"onPointerMove",function(e){var n=t.node.getBoundingClientRect(),i=(e.clientX-n.left)/n.width,o=(e.clientY-n.top)/n.height;t.shiftTarget[0]=-2*i+1,t.shiftTarget[1]=2*o-1,t.onPointerLeave()}),(0,i.A)(t,"onPointerLeave",function(){clearTimeout(t.shiftResetTID),t.shiftResetTID=setTimeout(t.resetShift,2e3)}),(0,i.A)(t,"resetShift",function(){t.shiftTarget=[0,0]}),t}return(0,p.A)(e,t),(0,u.A)(e,[{key:"setIsIntersecting",value:function(t){t?this.enable():this.disable()}},{key:"enable",value:function(){this.node.addEventListener("mousemove",this.onPointerMove),this.node.addEventListener("mouseleave",this.onPointerLeave)}},{key:"disable",value:function(){this.node.removeEventListener("mousemove",this.onPointerMove),this.node.removeEventListener("mouseleave",this.onPointerLeave)}},{key:"update",value:function(){var t=this.props,e=t.shiftSpeed,n=t.mouseX,i=t.mouseY,o=this.shiftUniform,r=this.shiftTarget;-1!==n&&-1!==i&&(r=[.01*n*-2+1,.01*i*2-1]);var s=r[0]-o[0],a=r[1]-o[1];return(0!==s||0!==a)&&(o[0]+=s*(.002*e),o[1]+=a*(.002*e),!0)}},{key:"destroy",value:function(){this.disable(),clearTimeout(this.shiftResetTID)}}])}(c);function m(t,e,n){return e=(0,l.A)(e),(0,f.A)(t,g()?Reflect.construct(e,n||[],(0,l.A)(t).constructor):e.apply(t,n))}function g(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(g=function(){return!!t})()}var y=function(t){function e(){var t;(0,a.A)(this,e);for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return t=m(this,e,[].concat(o)),(0,i.A)(t,"targetProgress",0),(0,i.A)(t,"isImmediate",!0),t}return(0,p.A)(e,t),(0,u.A)(e,[{key:"setIsIntersecting",value:function(t){t&&this.setImmediate()}},{key:"setImmediate",value:function(){this.isImmediate=!0}},{key:"setScrollProgress",value:function(t){this.isImmediate&&(this.shiftUniform[1]=t,this.isImmediate=!1),this.targetProgress=t}},{key:"update",value:function(){var t=this.props,e=t.shiftSpeed,n=t.scrollProgress,i=this.shiftUniform[1],o=this.targetProgress;if(n>=0&&(o=.01*n),i===o)return!1;var r=o-i;return this.shiftUniform[1]=r<.01?o:i+r*(.01*e),this.shiftUniform[0]=0,!0}}])}(c),S=(0,i.A)((0,i.A)((0,i.A)({},"none",c),s,y),r,d);const A=function(t){return t===r&&o?S[s]:S[t]}},79506(t,e,n){var i=n(45286),o=n(70383),r=n(48600),s=n(70930),a=n(50437),u=n(39942),c=n(24213),f=n(43648),l=n(75919),p=n(26445),v=n(35125),h=n(56547),d=n(54863),m=h("isConcatSpreadable"),g=d>=51||!o(function(){var t=[];return t[m]=!1,t.concat()[0]!==t}),y=function(t){if(!s(t))return!1;var e=t[m];return void 0!==e?!!e:r(t)};i({target:"Array",proto:!0,arity:1,forced:!g||!v("concat")},{concat:function(t){var e,n,i,o,r,s=a(this),v=p(s,0),h=0;for(e=-1,i=arguments.length;e<i;e++)if(y(r=-1===e?s:arguments[e]))for(o=u(r),c(h+o),n=0;n<o;n++,h++)n in r&&f(v,h,r[n]);else c(h+1),f(v,h++,r);return l(v,h),v}})},31747(t,e,n){n.d(e,{A:()=>o});var i=n(81160);function o(){return o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var o=(0,i.A)(t,e);if(o){var r=Object.getOwnPropertyDescriptor(o,e);return r.get?r.get.call(arguments.length<3?t:n):r.value}},o.apply(null,arguments)}},81160(t,e,n){n.d(e,{A:()=>o});var i=n(84264);function o(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=(0,i.A)(t)););return t}}}]);