vendor: 6,264 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Consulting-kwt6nL0V.js","assets/Footer-Bh9qcSNH.js","assets/sheet-CunSzLfy.js","assets/menu-DIGw8dLK.js","assets/arrow-right-CjHr-uZN.js","assets/linkedin-DnrJplel.js","assets/arrow-up-right-CsNLRig_.js","assets/consultingData-DBslzYkX.js","assets/ElevenLabsDemo-QA0ydDAr.js","assets/play-DZyBZOEG.js","assets/star-BfWrXAyh.js","assets/ELAccordionTrigger-DF5sAP-Z.js","assets/plus-DG09K9it.js","assets/ElevenLabsLanding-CukCEmzn.js","assets/ELLFooter-kpxugy_B.js","assets/zap-4HvNtknb.js","assets/users-B29EdtGZ.js","assets/ElevenLabsConsulting-CLCH4gF3.js","assets/AiPods-DOeGu5-G.js","assets/AgenticArchitecture-C11xxue7.js","assets/Deck-BoxAY6M-.js","assets/deckData-DK6lqocO.js","assets/Training-CVUxZe_h.js","assets/Services-CBIlLolI.js","assets/servicesData-Cp2bGf5m.js","assets/supabase-D2HWM3u-.js","assets/PrivateDeck-DdukE3wM.js","assets/ClientsSlide-C7E39cWd.js","assets/PrivateDeck-DHzl8Gfj.css","assets/Proposal-BJKT3dRx.js","assets/useQuery-064nmTIJ.js","assets/ProposalChrome-Cp3IvsJb.js","assets/ProposalRPC-CW64vZ4u.js","assets/ProposalSKIMS-BuVDIFry.js","assets/skimsProposalData-CbH-dWPu.js","assets/ProposalSKIMSv1-oj_rdh9U.js","assets/ProposalFinance-Xlj9QKTm.js","assets/ProposalFinanceV2-Ci26i07o.js","assets/ProposalETA-CR1SVO2G.js","assets/ProposalVue-GlMctycv.js","assets/AuthorityOS-DDL_bIAY.js","assets/index-BSDwXa87.js","assets/MoonshotAcademy-sNTjxSiY.js","assets/Community-DIbiREks.js"])))=>i.map(i=>d[i]); 2var df=e=>{throw TypeError(e)};var au=(e,t,n)=>t.has(e)||df("Cannot "+n);var L=(e,t,n)=>(au(e,t,"read from private field"),n?n.call(e):t.get(e)),je=(e,t,n)=>t.has(e)?df("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),he=(e,t,n,o)=>(au(e,t,"write to private field"),o?o.call(e,n):t.set(e,n),n),gt=(e,t,n)=>(au(e,t,"access private method"),n);var Li=(e,t,n,o)=>({set _(r){he(e,t,r,n)},get _(){return L(e,t,o)}});function gc(e,t){for(var n=0;n<t.length;n++){const o=t[n];if(typeof o!="string"&&!Array.isArray(o)){for(const r in o)if(r!=="default"&&!(r in e)){const a=Object.getOwnPropertyDescriptor(o,r);a&&Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:()=>o[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&o(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function o(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var LR=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _h(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var iv={exports:{}},yc={},lv={exports:{}},ye={};/** 3 * @license React 4 * react.production.min.js 5 * 6 * Copyright (c) Facebook, Inc. and its affiliates. 7 * 8 * This source code is licensed under the MIT license found in the 9 * LICENSE file in the root directory of this source tree. 10 */var wi=Symbol.for("react.element"),Z1=Symbol.for("react.portal"),X1=Symbol.for("react.fragment"),ek=Symbol.for("react.strict_mode"),tk=Symbol.for("react.profiler"),nk=Symbol.for("react.provider"),ok=Symbol.for("react.context"),rk=Symbol.for("react.forward_ref"),ak=Symbol.for("react.suspense"),sk=Symbol.for("react.memo"),ik=Symbol.for("react.lazy"),uf=Symbol.iterator;function lk(e){return e===null||typeof e!="object"?null:(e=uf&&e[uf]||e["@@iterator"],typeof e=="function"?e:null)}var cv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dv=Object.assign,uv={};function ns(e,t,n){this.props=e,this.context=t,this.refs=uv,this.updater=n||cv}ns.prototype.isReactComponent={};ns.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ns.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function pv(){}pv.prototype=ns.prototype;function Ph(e,t,n){this.props=e,this.context=t,this.refs=uv,this.updater=n||cv}var jh=Ph.prototype=new pv;jh.constructor=Ph;dv(jh,ns.prototype);jh.isPureReactComponent=!0;var pf=Array.isArray,hv=Object.prototype.hasOwnProperty,Ah={current:null},mv={key:!0,ref:!0,__self:!0,__source:!0};function fv(e,t,n){var o,r={},a=null,s=null;if(t!=null)for(o in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(a=""+t.key),t)hv.call(t,o)&&!mv.hasOwnProperty(o)&&(r[o]=t[o]);var i=arguments.length-2;if(i===1)r.children=n;else if(1<i){for(var c=Array(i),d=0;d<i;d++)c[d]=arguments[d+2];r.children=c}if(e&&e.defaultProps)for(o in i=e.defaultProps,i)r[o]===void 0&&(r[o]=i[o]);return{$$typeof:wi,type:e,key:a,ref:s,props:r,_owner:Ah.current}}function ck(e,t){return{$$typeof:wi,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Ch(e){return typeof e=="object"&&e!==null&&e.$$typeof===wi}function dk(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var hf=/\/+/g;function su(e,t){return typeof e=="object"&&e!==null&&e.key!=null?dk(""+e.key):t.toString(36)}function il(e,t,n,o,r){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(a){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case wi:case Z1:s=!0}}if(s)return s=e,r=r(s),e=o===""?"."+su(s,0):o,pf(r)?(n="",e!=null&&(n=e.replace(hf,"$&/")+"/"),il(r,t,n,"",function(d){return d})):r!=null&&(Ch(r)&&(r=ck(r,n+(!r.key||s&&s.key===r.key?"":(""+r.key).replace(hf,"$&/")+"/")+e)),t.push(r)),1;if(s=0,o=o===""?".":o+":",pf(e))for(var i=0;i<e.length;
vendor: 10,604 bytes, lines 10-34
10i++){a=e[i];var c=o+su(a,i);s+=il(a,t,n,c,r)}else if(c=lk(e),typeof c=="function")for(e=c.call(e),i=0;!(a=e.next()).done;)a=a.value,c=o+su(a,i++),s+=il(a,t,n,c,r);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function Ri(e,t,n){if(e==null)return e;var o=[],r=0;return il(e,o,"","",function(a){return t.call(n,a,r++)}),o}function uk(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Tt={current:null},ll={transition:null},pk={ReactCurrentDispatcher:Tt,ReactCurrentBatchConfig:ll,ReactCurrentOwner:Ah};function gv(){throw Error("act(...) is not supported in production builds of React.")}ye.Children={map:Ri,forEach:function(e,t,n){Ri(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Ri(e,function(){t++}),t},toArray:function(e){return Ri(e,function(t){return t})||[]},only:function(e){if(!Ch(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ye.Component=ns;ye.Fragment=X1;ye.Profiler=tk;ye.PureComponent=Ph;ye.StrictMode=ek;ye.Suspense=ak;ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pk;ye.act=gv;ye.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=dv({},e.props),r=e.key,a=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,s=Ah.current),t.key!==void 0&&(r=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(c in t)hv.call(t,c)&&!mv.hasOwnProperty(c)&&(o[c]=t[c]===void 0&&i!==void 0?i[c]:t[c])}var c=arguments.length-2;if(c===1)o.children=n;else if(1<c){i=Array(c);for(var d=0;d<c;d++)i[d]=arguments[d+2];o.children=i}return{$$typeof:wi,type:e.type,key:r,ref:a,props:o,_owner:s}};ye.createContext=function(e){return e={$$typeof:ok,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:nk,_context:e},e.Consumer=e};ye.createElement=fv;ye.createFactory=function(e){var t=fv.bind(null,e);return t.type=e,t};ye.createRef=function(){return{current:null}};ye.forwardRef=function(e){return{$$typeof:rk,render:e}};ye.isValidElement=Ch;ye.lazy=function(e){return{$$typeof:ik,_payload:{_status:-1,_result:e},_init:uk}};ye.memo=function(e,t){return{$$typeof:sk,type:e,compare:t===void 0?null:t}};ye.startTransition=function(e){var t=ll.transition;ll.transition={};try{e()}finally{ll.transition=t}};ye.unstable_act=gv;ye.useCallback=function(e,t){return Tt.current.useCallback(e,t)};ye.useContext=function(e){return Tt.current.useContext(e)};ye.useDebugValue=function(){};ye.useDeferredValue=function(e){return Tt.current.useDeferredValue(e)};ye.useEffect=function(e,t){return Tt.current.useEffect(e,t)};ye.useId=function(){return Tt.current.useId()};ye.useImperativeHandle=function(e,t,n){return Tt.current.useImperativeHandle(e,t,n)};ye.useInsertionEffect=function(e,t){return Tt.current.useInsertionEffect(e,t)};ye.useLayoutEffect=function(e,t){return Tt.current.useLayoutEffect(e,t)};ye.useMemo=function(e,t){return Tt.current.useMemo(e,t)};ye.useReducer=function(e,t,n){return Tt.current.useReducer(e,t,n)};ye.useRef=function(e){return Tt.current.useRef(e)};ye.useState=function(e){return Tt.current.useState(e)};ye.useSyncExternalStore=function(e,t,n){return Tt.current.useSyncExternalStore(e,t,n)};ye.useTransition=function(){return Tt.current.useTransition()};ye.version="18.3.1";lv.exports=ye;var p=lv.exports;const R=_h(p),Eh=gc({__proto__:null,default:R},[p]);/** 11 * @license React 12 * react-jsx-runtime.production.min.js 13 * 14 * Copyright (c) Facebook, Inc. and its affiliates. 15 * 16 * This source code is licensed under the MIT license found in the 17 * LICENSE file in the root directory of this source tree. 18 */var hk=p,mk=Symbol.for("react.element"),fk=Symbol.for("react.fragment"),gk=Object.prototype.hasOwnProperty,yk=hk.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,vk={key:!0,ref:!0,__self:!0,__source:!0};function yv(e,t,n){var o,r={},a=null,s=null;n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(s=t.ref);for(o in t)gk.call(t,o)&&!vk.hasOwnProperty(o)&&(r[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)r[o]===void 0&&(r[o]=t[o]);return{$$typeof:mk,type:e,key:a,ref:s,props:r,_owner:yk.current}}yc.Fragment=fk;yc.jsx=yv;yc.jsxs=yv;iv.exports=yc;var l=iv.exports;const wk=_h(l),RR=gc({__proto__:null,default:wk},[l]);var Pl={},vv={exports:{}},qt={},wv={exports:{}},bv={};/** 19 * @license React 20 * scheduler.production.min.js 21 * 22 * Copyright (c) Facebook, Inc. and its affiliates. 23 * 24 * This source code is licensed under the MIT license found in the 25 * LICENSE file in the root directory of this source tree. 26 */(function(e){function t(T,M){var U=T.length;T.push(M);e:for(;0<U;){var ie=U-1>>>1,ae=T[ie];if(0<r(ae,M))T[ie]=M,T[U]=ae,U=ie;else break e}}function n(T){return T.length===0?null:T[0]}function o(T){if(T.length===0)return null;var M=T[0],U=T.pop();if(U!==M){T[0]=U;e:for(var ie=0,ae=T.length,ce=ae>>>1;ie<ce;){var le=2*(ie+1)-1,Ee=T[le],$e=le+1,J=T[$e];if(0>r(Ee,U))$e<ae&&0>r(J,Ee)?(T[ie]=J,T[$e]=U,ie=$e):(T[ie]=Ee,T[le]=U,ie=le);else if($e<ae&&0>r(J,U))T[ie]=J,T[$e]=U,ie=$e;else break e}}return M}function r(T,M){var U=T.sortIndex-M.sortIndex;return U!==0?U:T.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var s=Date,i=s.now();e.unstable_now=function(){return s.now()-i}}var c=[],d=[],u=1,m=null,g=3,y=!1,x=!1,f=!1,b=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(T){for(var M=n(d);M!==null;){if(M.callback===null)o(d);else if(M.startTime<=T)o(d),M.sortIndex=M.expirationTime,t(c,M);else break;M=n(d)}}function S(T){if(f=!1,w(T),!x)if(n(c)!==null)x=!0,K(_);else{var M=n(d);M!==null&&ee(S,M.startTime-T)}}function _(T,M){x=!1,f&&(f=!1,v(I),I=-1),y=!0;var U=g;try{for(w(M),m=n(c);m!==null&&(!(m.expirationTime>M)||T&&!Y());){var ie=m.callback;if(typeof ie=="function"){m.callback=null,g=m.priorityLevel;var ae=ie(m.expirationTime<=M);M=e.unstable_now(),typeof ae=="function"?m.callback=ae:m===n(c)&&o(c),w(M)}else o(c);m=n(c)}if(m!==null)var ce=!0;else{var le=n(d);le!==null&&ee(S,le.startTime-M),ce=!1}return ce}finally{m=null,g=U,y=!1}}var A=!1,j=null,I=-1,D=5,F=-1;function Y(){return!(e.unstable_now()-F<D)}function N(){if(j!==null){var T=e.unstable_now();F=T;var M=!0;try{M=j(!0,T)}finally{M?q():(A=!1,j=null)}}else A=!1}var q;if(typeof h=="function")q=function(){h(N)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,ne=z.port2;z.port1.onmessage=N,q=function(){ne.postMessage(null)}}else q=function(){b(N,0)};function K(T){j=T,A||(A=!0,q())}function ee(T,M){I=b(function(){T(e.unstable_now())},M)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(T){T.callback=null},e.unstable_continueExecution=function(){x||y||(x=!0,K(_))},e.unstable_forceFrameRate=function(T){0>T||125<T?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):D=0<T?Math.floor(1e3/T):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(T){switch(g){case 1:case 2:case 3:var M=3;break;default:M=g}var U=g;g=M;try{return T()}finally{g=U}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(T,M){switch(T){case 1:case 2:case 3:case 4:case 5:break;default:T=3}var U=g;g=T;try{return M()}finally{g=U}},e.unstable_scheduleCallback=function(T,M,U){var ie=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?ie+U:ie):U=ie,T){case 1:var ae=-1;break;case 2:ae=250;break;case 5:ae=1073741823;break;case 4:ae=1e4;break;default:ae=5e3}return ae=U+ae,T={id:u++,callback:M,priorityLevel:T,startTime:U,expirationTime:ae,sortIndex:-1},U>ie?(T.sortIndex=U,t(d,T),n(c)===null&&T===n(d)&&(f?(v(I),I=-1):f=!0,ee(S,U-ie))):(T.sortIndex=ae,t(c,T),x||y||(x=!0,K(_))),T},e.unstable_shouldYield=Y,e.unstable_wrapCallback=function(T){var M=g;return function(){var U=g;g=M;try{return T.apply(this,arguments)}finally{g=U}}}})(bv);wv.exports=bv;var bk=wv.exports;/** 27 * @license React 28 * react-dom.production.min.js 29 * 30 * Copyright (c) Facebook, Inc. and its affiliates. 31 * 32 * This source code is licensed under the MIT license found in the 33 * LICENSE file in the root directory of this source tree. 34 */var xk=p,Ht=bk;function V(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var xv=new Set,Us={};function Kr(e,t){Va(e,t),Va(e+"Capture",t)}function Va(e,t){for(Us[e]=t,e=0;e<t.length;e++)xv.add(t[e])}var ao=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ep=Object.prototype.hasOwnProperty,kk=/^[: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]*$/,mf={},ff={};function Sk(e){return ep.call(ff,e)?!0:ep.call(mf,e)?!1:kk.test(e)?ff[e]=!0:(mf[e]=!0,!1)}function _k(e,t,n,o){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Pk(e,t,n,o){if(t===null||typeof t>"u"||_k(e,t,n,o))return!0;
vendor: 5,200 bytes, lines 34-35
34if(o)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function It(e,t,n,o,r,a,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var ft={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ft[e]=new It(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ft[t]=new It(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ft[e]=new It(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ft[e]=new It(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ft[e]=new It(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ft[e]=new It(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ft[e]=new It(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ft[e]=new It(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ft[e]=new It(e,5,!1,e.toLowerCase(),null,!1,!1)});var Th=/[\-:]([a-z])/g;function Ih(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Th,Ih);ft[t]=new It(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Th,Ih);ft[t]=new It(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Th,Ih);ft[t]=new It(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ft[e]=new It(e,1,!1,e.toLowerCase(),null,!1,!1)});ft.xlinkHref=new It("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ft[e]=new It(e,1,!1,e.toLowerCase(),null,!0,!0)});function Oh(e,t,n,o){var r=ft.hasOwnProperty(t)?ft[t]:null;(r!==null?r.type!==0:o||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Pk(t,n,r,o)&&(n=null),o||r===null?Sk(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=n===null?r.type===3?!1:"":n:(t=r.attributeName,o=r.attributeNamespace,n===null?e.removeAttribute(t):(r=r.type,n=r===3||r===4&&n===!0?"":""+n,o?e.setAttributeNS(o,t,n):e.setAttribute(t,n))))}var mo=xk.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ni=Symbol.for("react.element"),ua=Symbol.for("react.portal"),pa=Symbol.for("react.fragment"),Mh=Symbol.for("react.strict_mode"),tp=Symbol.for("react.profiler"),kv=Symbol.for("react.provider"),Sv=Symbol.for("react.context"),Lh=Symbol.for("react.forward_ref"),np=Symbol.for("react.suspense"),op=Symbol.for("react.suspense_list"),Rh=Symbol.for("react.memo"),Oo=Symbol.for("react.lazy"),_v=Symbol.for("react.offscreen"),gf=Symbol.iterator;function ps(e){return e===null||typeof e!="object"?null:(e=gf&&e[gf]||e["@@iterator"],typeof e=="function"?e:null)}var Ke=Object.assign,iu;function Ps(e){if(iu===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);iu=t&&t[1]||""}return` 35`+iu+e}var lu=!1;function cu(e,t){if(!e||lu)return"";lu=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var o=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){o=d}e.call(t.prototype)}else{try{throw Error()}catch(d){o=d}e()}}
vendor: 4,643 bytes, lines 35-38
35catch(d){if(d&&o&&typeof d.stack=="string"){for(var r=d.stack.split(` 36`),a=o.stack.split(` 37`),s=r.length-1,i=a.length-1;1<=s&&0<=i&&r[s]!==a[i];)i--;for(;1<=s&&0<=i;s--,i--)if(r[s]!==a[i]){if(s!==1||i!==1)do if(s--,i--,0>i||r[s]!==a[i]){var c=` 38`+r[s].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=s&&0<=i);break}}}finally{lu=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ps(e):""}function jk(e){switch(e.tag){case 5:return Ps(e.type);case 16:return Ps("Lazy");case 13:return Ps("Suspense");case 19:return Ps("SuspenseList");case 0:case 2:case 15:return e=cu(e.type,!1),e;case 11:return e=cu(e.type.render,!1),e;case 1:return e=cu(e.type,!0),e;default:return""}}function rp(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case pa:return"Fragment";case ua:return"Portal";case tp:return"Profiler";case Mh:return"StrictMode";case np:return"Suspense";case op:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Sv:return(e.displayName||"Context")+".Consumer";case kv:return(e._context.displayName||"Context")+".Provider";case Lh:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Rh:return t=e.displayName||null,t!==null?t:rp(e.type)||"Memo";case Oo:t=e._payload,e=e._init;try{return rp(e(t))}catch{}}return null}function Ak(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return rp(t);case 8:return t===Mh?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function sr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Pv(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ck(e){var t=Pv(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var r=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(s){o=""+s,a.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return o},setValue:function(s){o=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Di(e){e._valueTracker||(e._valueTracker=Ck(e))}function jv(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),o="";return e&&(o=Pv(e)?e.checked?"true":"false":e.value),e=o,e!==n?(t.setValue(e),!0):!1}function jl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ap(e,t){var n=t.checked;return Ke({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function yf(e,t){var n=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;n=sr(t.value!=null?t.value:n),e._wrapperState={initialChecked:o,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Av(e,t){t=t.checked,t!=null&&Oh(e,"checked",t,!1)}function sp(e,t){Av(e,t);var n=sr(t.value),o=t.type;if(n!=null)o==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ip(e,t.type,n):t.hasOwnProperty("defaultValue")&&ip(e,t.type,sr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function vf(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}
vendor: 12,477 bytes, line 38
38function ip(e,t,n){(t!=="number"||jl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var js=Array.isArray;function Sa(e,t,n,o){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&o&&(e[n].defaultSelected=!0)}else{for(n=""+sr(n),t=null,r=0;r<e.length;r++){if(e[r].value===n){e[r].selected=!0,o&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function lp(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(V(91));return Ke({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function wf(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(V(92));if(js(n)){if(1<n.length)throw Error(V(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:sr(n)}}function Cv(e,t){var n=sr(t.value),o=sr(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),o!=null&&(e.defaultValue=""+o)}function bf(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Ev(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function cp(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Ev(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var zi,Tv=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,o,r){MSApp.execUnsafeLocalFunction(function(){return e(t,n,o,r)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(zi=zi||document.createElement("div"),zi.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=zi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Hs(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Is={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ek=["Webkit","ms","Moz","O"];Object.keys(Is).forEach(function(e){Ek.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Is[t]=Is[e]})});function Iv(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Is.hasOwnProperty(e)&&Is[e]?(""+t).trim():t+"px"}function Ov(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var o=n.indexOf("--")===0,r=Iv(n,t[n],o);n==="float"&&(n="cssFloat"),o?e.setProperty(n,r):e[n]=r}}var Tk=Ke({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function dp(e,t){if(t){if(Tk[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(V(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(V(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(V(61))}if(t.style!=null&&typeof t.style!="object")throw Error(V(62))}}function up(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 pp=null;function Nh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var hp=null,_a=null,Pa=null;function xf(e){if(e=ki(e)){if(typeof hp!="function")throw Error(V(280));var t=e.stateNode;t&&(t=kc(t),hp(e.stateNode,e.type,t))}}function Mv(e){_a?Pa?Pa.push(e):Pa=[e]:_a=e}function Lv(){if(_a){var e=_a,t=Pa;if(Pa=_a=null,xf(e),t)for(e=0;e<t.length;e++)xf(t[e])}}function Rv(e,t){return e(t)}function Nv(){}var du=!1;function Dv(e,t,n){if(du)return e(t,n);du=!0;try{return Rv(e,t,n)}finally{du=!1,(_a!==null||Pa!==null)&&(Nv(),Lv())}}function Gs(e,t){var n=e.stateNode;if(n===null)return null;var o=kc(n);if(o===null)return null;n=o[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":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(V(231,t,typeof n));return n}var mp=!1;if(ao)try{var hs={};Object.defineProperty(hs,"passive",{get:function(){mp=!0}}),window.addEventListener("test",hs,hs),window.removeEventListener("test",hs,hs)}catch{mp=!1}function Ik(e,t,n,o,r,a,s,i,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(n,d)}catch(u){this.onError(u)}}var Os=!1,Al=null,Cl=!1,fp=null,Ok={onError:function(e){Os=!0,Al=e}};function Mk(e,t,n,o,r,a,s,i,c){Os=!1,Al=null,Ik.apply(Ok,arguments)}function Lk(e,t,n,o,r,a,s,i,c){if(Mk.apply(this,arguments),Os){if(Os){var d=Al;Os=!1,Al=null}else throw Error(V(198));Cl||(Cl=!0,fp=d)}}function Qr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function zv(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function kf(e){if(Qr(e)!==e)throw Error(V(188))}function Rk(e){var t=e.alternate;if(!t){if(t=Qr(e),t===null)throw Error(V(188));return t!==e?null:e}for(var n=e,o=t;;){var r=n.return;if(r===null)break;var a=r.alternate;if(a===null){if(o=r.return,o!==null){n=o;continue}break}if(r.child===a.child){for(a=r.child;a;){if(a===n)return kf(r),e;if(a===o)return kf(r),t;a=a.sibling}throw Error(V(188))}if(n.return!==o.return)n=r,o=a;else{for(var s=!1,i=r.child;i;){if(i===n){s=!0,n=r,o=a;break}if(i===o){s=!0,o=r,n=a;break}i=i.sibling}if(!s){for(i=a.child;i;){if(i===n){s=!0,n=a,o=r;break}if(i===o){s=!0,o=a,n=r;break}i=i.sibling}if(!s)throw Error(V(189))}}if(n.alternate!==o)throw Error(V(190))}if(n.tag!==3)throw Error(V(188));return n.stateNode.current===n?e:t}function Fv(e){return e=Rk(e),e!==null?Vv(e):null}function Vv(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Vv(e);if(t!==null)return t;e=e.sibling}return null}var $v=Ht.unstable_scheduleCallback,Sf=Ht.unstable_cancelCallback,Nk=Ht.unstable_shouldYield,Dk=Ht.unstable_requestPaint,Xe=Ht.unstable_now,zk=Ht.unstable_getCurrentPriorityLevel,Dh=Ht.unstable_ImmediatePriority,Bv=Ht.unstable_UserBlockingPriority,El=Ht.unstable_NormalPriority,Fk=Ht.unstable_LowPriority,Wv=Ht.unstable_IdlePriority,vc=null,Vn=null;function Vk(e){if(Vn&&typeof Vn.onCommitFiberRoot=="function")try{Vn.onCommitFiberRoot(vc,e,void 0,(e.current.flags&128)===128)}catch{}}var vn=Math.clz32?Math.clz32:Wk,$k=Math.log,Bk=Math.LN2;function Wk(e){return e>>>=0,e===0?32:31-($k(e)/Bk|0)|0}var Fi=64,Vi=4194304;function As(e){switch(e&-e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Tl(e,t){var n=e.pendingLanes;if(n===0)return 0;var o=0,r=e.suspendedLanes,a=e.pingedLanes,s=n&268435455;if(s!==0){var i=s&~r;i!==0?o=As(i):(a&=s,a!==0&&(o=As(a)))}else s=n&~r,s!==0?o=As(s):a!==0&&(o=As(a));if(o===0)return 0;if(t!==0&&t!==o&&!(t&r)&&(r=o&-o,a=t&-t,r>=a||r===16&&(a&4194240)!==0))return t;if(o&4&&(o|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0<t;)n=31-vn(t),r=1<<n,o|=e[n],t&=~r;return o}function Uk(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hk(e,t){for(var n=e.suspendedLanes,o=e.pingedLanes,r=e.expirationTimes,a=e.pendingLanes;0<a;){var s=31-vn(a),i=1<<s,c=r[s];c===-1?(!(i&n)||i&o)&&(r[s]=Uk(i,t)):c<=t&&(e.expiredLanes|=i),a&=~i}}function gp(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Uv(){var e=Fi;return Fi<<=1,!(Fi&4194240)&&(Fi=64),e}function uu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bi(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-vn(t),e[t]=n}function Gk(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-vn(n),a=1<<r;t[r]=0,o[r]=-1,e[r]=-1,n&=~a}}function zh(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var o=31-vn(n),r=1<<o;r&t|e[o]&t&&(e[o]|=t),n&=~r}}var Ce=0;function Hv(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Gv,Fh,qv,Jv,Kv,yp=!1,$i=[],Jo=null,Ko=null,Qo=null,qs=new Map,Js=new Map,Ro=[],qk="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 submit".split(" ");function _f(e,t){switch(e){case"focusin":case"focusout":Jo=null;break;case"dragenter":case"dragleave":Ko=null;break;case"mouseover":case"mouseout":Qo=null;break;case"pointerover":case"pointerout":qs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Js.delete(t.pointerId)}}function ms(e,t,n,o,r,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:o,nativeEvent:a,targetContainers:[r]},t!==null&&(t=ki(t),t!==null&&Fh(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function Jk(e,t,n,o,r){switch(t){case"focusin":return Jo=ms(Jo,e,t,n,o,r),!0;case"dragenter":return Ko=ms(Ko,e,t,n,o,r),!0;case"mouseover":return Qo=ms(Qo,e,t,n,o,r),!0;case"pointerover":var a=r.pointerId;return qs.set(a,ms(qs.get(a)||null,e,t,n,o,r)),!0;case"gotpointercapture":return a=r.pointerId,Js.set(a,ms(Js.get(a)||null,e,t,n,o,r)),!0}return!1}function Qv(e){var t=jr(e.target);if(t!==null){var n=Qr(t);if(n!==null){if(t=n.tag,t===13){if(t=zv(n),t!==null){e.blockedOn=t,Kv(e.priority,function(){qv(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function cl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=vp(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var o=new n.constructor(n.type,n);pp=o,n.target.dispatchEvent(o),pp=null}else return t=ki(n),t!==null&&Fh(t),e.blockedOn=n,!1;t.shift()}return!0}function Pf(e,t,n){cl(e)&&n.delete(t)}function Kk(){yp=!1,Jo!==null&&cl(Jo)&&(Jo=null),Ko!==null&&cl(Ko)&&(Ko=null),Qo!==null&&cl(Qo)&&(Qo=null),qs.forEach(Pf),Js.forEach(Pf)}function fs(e,t){e.blockedOn===t&&(e.blockedOn=null,yp||(yp=!0,Ht.unstable_scheduleCallback(Ht.unstable_NormalPriority,Kk)))}function Ks(e){function t(r){return fs(r,e)}if(0<$i.length){fs($i[0],e);for(var n=1;n<$i.length;n++){var o=$i[n];o.blockedOn===e&&(o.blockedOn=null)}}for(Jo!==null&&fs(Jo,e),Ko!==null&&fs(Ko,e),Qo!==null&&fs(Qo,e),qs.forEach(t),Js.forEac
vendor: 13,235 bytes, line 38
38h(t),n=0;n<Ro.length;n++)o=Ro[n],o.blockedOn===e&&(o.blockedOn=null);for(;0<Ro.length&&(n=Ro[0],n.blockedOn===null);)Qv(n),n.blockedOn===null&&Ro.shift()}var ja=mo.ReactCurrentBatchConfig,Il=!0;function Qk(e,t,n,o){var r=Ce,a=ja.transition;ja.transition=null;try{Ce=1,Vh(e,t,n,o)}finally{Ce=r,ja.transition=a}}function Yk(e,t,n,o){var r=Ce,a=ja.transition;ja.transition=null;try{Ce=4,Vh(e,t,n,o)}finally{Ce=r,ja.transition=a}}function Vh(e,t,n,o){if(Il){var r=vp(e,t,n,o);if(r===null)xu(e,t,o,Ol,n),_f(e,o);else if(Jk(r,e,t,n,o))o.stopPropagation();else if(_f(e,o),t&4&&-1<qk.indexOf(e)){for(;r!==null;){var a=ki(r);if(a!==null&&Gv(a),a=vp(e,t,n,o),a===null&&xu(e,t,o,Ol,n),a===r)break;r=a}r!==null&&o.stopPropagation()}else xu(e,t,o,null,n)}}var Ol=null;function vp(e,t,n,o){if(Ol=null,e=Nh(o),e=jr(e),e!==null)if(t=Qr(e),t===null)e=null;else if(n=t.tag,n===13){if(e=zv(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ol=e,null}function Yv(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(zk()){case Dh:return 1;case Bv:return 4;case El:case Fk:return 16;case Wv:return 536870912;default:return 16}default:return 16}}var Uo=null,$h=null,dl=null;function Zv(){if(dl)return dl;var e,t=$h,n=t.length,o,r="value"in Uo?Uo.value:Uo.textContent,a=r.length;for(e=0;e<n&&t[e]===r[e];e++);var s=n-e;for(o=1;o<=s&&t[n-o]===r[a-o];o++);return dl=r.slice(e,1<o?1-o:void 0)}function ul(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Bi(){return!0}function jf(){return!1}function Jt(e){function t(n,o,r,a,s){this._reactName=n,this._targetInst=r,this.type=o,this.nativeEvent=a,this.target=s,this.currentTarget=null;for(var i in e)e.hasOwnProperty(i)&&(n=e[i],this[i]=n?n(a):a[i]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Bi:jf,this.isPropagationStopped=jf,this}return Ke(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Bi)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Bi)},persist:function(){},isPersistent:Bi}),t}var os={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Bh=Jt(os),xi=Ke({},os,{view:0,detail:0}),Zk=Jt(xi),pu,hu,gs,wc=Ke({},xi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Wh,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==gs&&(gs&&e.type==="mousemove"?(pu=e.screenX-gs.screenX,hu=e.screenY-gs.screenY):hu=pu=0,gs=e),pu)},movementY:function(e){return"movementY"in e?e.movementY:hu}}),Af=Jt(wc),Xk=Ke({},wc,{dataTransfer:0}),eS=Jt(Xk),tS=Ke({},xi,{relatedTarget:0}),mu=Jt(tS),nS=Ke({},os,{animationName:0,elapsedTime:0,pseudoElement:0}),oS=Jt(nS),rS=Ke({},os,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),aS=Jt(rS),sS=Ke({},os,{data:0}),Cf=Jt(sS),iS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},lS={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"},cS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function dS(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=cS[e])?!!t[e]:!1}function Wh(){return dS}var uS=Ke({},xi,{key:function(e){if(e.key){var t=iS[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ul(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?lS[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Wh,charCode:function(e){return e.type==="keypress"?ul(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ul(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),pS=Jt(uS),hS=Ke({},wc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ef=Jt(hS),mS=Ke({},xi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Wh}),fS=Jt(mS),gS=Ke({},os,{propertyName:0,elapsedTime:0,pseudoElement:0}),yS=Jt(gS),vS=Ke({},wc,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),wS=Jt(vS),bS=[9,13,27,32],Uh=ao&&"CompositionEvent"in window,Ms=null;ao&&"documentMode"in document&&(Ms=document.documentMode);var xS=ao&&"TextEvent"in window&&!Ms,Xv=ao&&(!Uh||Ms&&8<Ms&&11>=Ms),Tf=" ",If=!1;function ew(e,t){switch(e){case"keyup":return bS.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function tw(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ha=!1;function kS(e,t){switch(e){case"compositionend":return tw(t);case"keypress":return t.which!==32?null:(If=!0,Tf);case"textInput":return e=t.data,e===Tf&&If?null:e;default:return null}}function SS(e,t){if(ha)return e==="compositionend"||!Uh&&ew(e,t)?(e=Zv(),dl=$h=Uo=null,ha=!1,e):null;switch(e){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 Xv&&t.locale!=="ko"?null:t.data;default:return null}}var _S={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 Of(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!_S[e.type]:t==="textarea"}function nw(e,t,n,o){Mv(o),t=Ml(t,"onChange"),0<t.length&&(n=new Bh("onChange","change",null,n,o),e.push({event:n,listeners:t}))}var Ls=null,Qs=null;function PS(e){hw(e,0)}function bc(e){var t=ga(e);if(jv(t))return e}function jS(e,t){if(e==="change")return t}var ow=!1;if(ao){var fu;if(ao){var gu="oninput"in document;if(!gu){var Mf=document.createElement("div");Mf.setAttribute("oninput","return;"),gu=typeof Mf.oninput=="function"}fu=gu}else fu=!1;ow=fu&&(!document.documentMode||9<document.documentMode)}function Lf(){Ls&&(Ls.detachEvent("onpropertychange",rw),Qs=Ls=null)}function rw(e){if(e.propertyName==="value"&&bc(Qs)){var t=[];nw(t,Qs,e,Nh(e)),Dv(PS,t)}}function AS(e,t,n){e==="focusin"?(Lf(),Ls=t,Qs=n,Ls.attachEvent("onpropertychange",rw)):e==="focusout"&&Lf()}function CS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return bc(Qs)}function ES(e,t){if(e==="click")return bc(t)}function TS(e,t){if(e==="input"||e==="change")return bc(t)}function IS(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bn=typeof Object.is=="function"?Object.is:IS;function Ys(e,t){if(bn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(o=0;o<n.length;o++){var r=n[o];if(!ep.call(t,r)||!bn(e[r],t[r]))return!1}return!0}function Rf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Nf(e,t){var n=Rf(e);e=0;for(var o;n;){if(n.nodeType===3){if(o=e+n.textContent.length,e<=t&&o>=t)return{node:n,offset:t-e};e=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Rf(n)}}function aw(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?aw(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function sw(){for(var e=window,t=jl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=jl(e.document)}return t}function Hh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function OS(e){var t=sw(),n=e.focusedElem,o=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&aw(n.ownerDocument.documentElement,n)){if(o!==null&&Hh(n)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=n.textContent.length,a=Math.min(o.start,r);o=o.end===void 0?a:Math.min(o.end,r),!e.extend&&a>o&&(r=o,o=a,a=r),r=Nf(n,a);var s=Nf(n,o);r&&s&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),a>o?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var MS=ao&&"documentMode"in document&&11>=document.documentMode,ma=null,wp=null,Rs=null,bp=!1;function Df(e,t,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bp||ma==null||ma!==jl(o)||(o=ma,"selectionStart"in o&&Hh(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Rs&&Ys(Rs,o)||(Rs=o,o=Ml(wp,"onSelect"),0<o.length&&(t=new Bh("onSelect","select",null,t,n),e.push({event:t,listeners:o}),t.target=ma)))}function Wi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var fa={animationend:Wi("Animation","AnimationEnd"),animationiteration:Wi("Animation","AnimationIteration"),animationstart:Wi("Animation","AnimationStart"),transitionend:Wi("Transition","TransitionEnd")},yu={},iw={};ao&&(iw=document.createElement("div").style,"AnimationEvent"in window||(delete fa.animationend.animation,delete fa.animationiteration.animation,delete fa.animationstart.animation),"TransitionEvent"in window||delete fa.transitionend.transition);function xc(e){if(yu[e])return yu[e];if(!fa[e])return e;var t=fa[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in iw)return yu[e]=t[n];return e}var lw=xc("animationend"),cw=xc("animationiteration"),dw=xc("animationstart"),uw=xc("transitionend"),pw=new Map,zf="abort auxClick 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(" ");function hr(e,t){pw.set(e,t),Kr(t,[e])}for(var vu=0;vu<zf.length;vu++){var wu=zf[vu],LS=wu.toLowerCase(),RS=wu[0].toUpperCase()+wu.slice(1);
vendor: 4,117 bytes, line 38
38hr(LS,"on"+RS)}hr(lw,"onAnimationEnd");hr(cw,"onAnimationIteration");hr(dw,"onAnimationStart");hr("dblclick","onDoubleClick");hr("focusin","onFocus");hr("focusout","onBlur");hr(uw,"onTransitionEnd");Va("onMouseEnter",["mouseout","mouseover"]);Va("onMouseLeave",["mouseout","mouseover"]);Va("onPointerEnter",["pointerout","pointerover"]);Va("onPointerLeave",["pointerout","pointerover"]);Kr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Kr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Kr("onBeforeInput",["compositionend","keypress","textInput","paste"]);Kr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Kr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Kr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cs="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(" "),NS=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cs));function Ff(e,t,n){var o=e.type||"unknown-event";e.currentTarget=n,Lk(o,t,void 0,e),e.currentTarget=null}function hw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var o=e[n],r=o.event;o=o.listeners;e:{var a=void 0;if(t)for(var s=o.length-1;0<=s;s--){var i=o[s],c=i.instance,d=i.currentTarget;if(i=i.listener,c!==a&&r.isPropagationStopped())break e;Ff(r,i,d),a=c}else for(s=0;s<o.length;s++){if(i=o[s],c=i.instance,d=i.currentTarget,i=i.listener,c!==a&&r.isPropagationStopped())break e;Ff(r,i,d),a=c}}}if(Cl)throw e=fp,Cl=!1,fp=null,e}function Fe(e,t){var n=t[Pp];n===void 0&&(n=t[Pp]=new Set);var o=e+"__bubble";n.has(o)||(mw(t,e,2,!1),n.add(o))}function bu(e,t,n){var o=0;t&&(o|=4),mw(n,e,o,t)}var Ui="_reactListening"+Math.random().toString(36).slice(2);function Zs(e){if(!e[Ui]){e[Ui]=!0,xv.forEach(function(n){n!=="selectionchange"&&(NS.has(n)||bu(n,!1,e),bu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ui]||(t[Ui]=!0,bu("selectionchange",!1,t))}}function mw(e,t,n,o){switch(Yv(t)){case 1:var r=Qk;break;case 4:r=Yk;break;default:r=Vh}n=r.bind(null,t,n,e),r=void 0,!mp||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),o?r!==void 0?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):r!==void 0?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function xu(e,t,n,o,r){var a=o;if(!(t&1)&&!(t&2)&&o!==null)e:for(;;){if(o===null)return;var s=o.tag;if(s===3||s===4){var i=o.stateNode.containerInfo;if(i===r||i.nodeType===8&&i.parentNode===r)break;if(s===4)for(s=o.return;s!==null;){var c=s.tag;if((c===3||c===4)&&(c=s.stateNode.containerInfo,c===r||c.nodeType===8&&c.parentNode===r))return;s=s.return}for(;i!==null;){if(s=jr(i),s===null)return;if(c=s.tag,c===5||c===6){o=a=s;continue e}i=i.parentNode}}o=o.return}Dv(function(){var d=a,u=Nh(n),m=[];e:{var g=pw.get(e);if(g!==void 0){var y=Bh,x=e;switch(e){case"keypress":if(ul(n)===0)break e;case"keydown":case"keyup":y=pS;break;case"focusin":x="focus",y=mu;break;case"focusout":x="blur",y=mu;break;case"beforeblur":case"afterblur":y=mu;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=Af;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=eS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=fS;break;case lw:case cw:case dw:y=oS;break;case uw:y=yS;break;case"scroll":y=Zk;break;case"wheel":y=wS;break;case"copy":case"cut":case"paste":y=aS;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=Ef}var f=(t&4)!==0,b=!f&&e==="scroll",v=f?g!==null?g+"Capture":null:g;f=[];for(var h=d,w;h!==null;){w=h;var S=w.stateNode;
vendor: 1,134 bytes, line 38
38if(w.tag===5&&S!==null&&(w=S,v!==null&&(S=Gs(h,v),S!=null&&f.push(Xs(h,S,w)))),b)break;h=h.return}0<f.length&&(g=new y(g,x,null,n,u),m.push({event:g,listeners:f}))}}if(!(t&7)){e:{if(g=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",g&&n!==pp&&(x=n.relatedTarget||n.fromElement)&&(jr(x)||x[so]))break e;if((y||g)&&(g=u.window===u?u:(g=u.ownerDocument)?g.defaultView||g.parentWindow:window,y?(x=n.relatedTarget||n.toElement,y=d,x=x?jr(x):null,x!==null&&(b=Qr(x),x!==b||x.tag!==5&&x.tag!==6)&&(x=null)):(y=null,x=d),y!==x)){if(f=Af,S="onMouseLeave",v="onMouseEnter",h="mouse",(e==="pointerout"||e==="pointerover")&&(f=Ef,S="onPointerLeave",v="onPointerEnter",h="pointer"),b=y==null?g:ga(y),w=x==null?g:ga(x),g=new f(S,h+"leave",y,n,u),g.target=b,g.relatedTarget=w,S=null,jr(u)===d&&(f=new f(v,h+"enter",x,n,u),f.target=w,f.relatedTarget=b,S=f),b=S,y&&x)t:{for(f=y,v=x,h=0,w=f;w;w=ta(w))h++;for(w=0,S=v;S;S=ta(S))w++;for(;0<h-w;)f=ta(f),h--;for(;0<w-h;)v=ta(v),w--;for(;h--;){if(f===v||v!==null&&f===v.alternate)break t;f=ta(f),v=ta(v)}f=null}else f=null;y!==null&&Vf(m,g,y,f,!1),x!==null&&b!==null&&Vf(m,b,x,f,!0)}}
vendor: 5,210 bytes, lines 38-39
38e:{if(g=d?ga(d):window,y=g.nodeName&&g.nodeName.toLowerCase(),y==="select"||y==="input"&&g.type==="file")var _=jS;else if(Of(g))if(ow)_=TS;else{_=CS;var A=AS}else(y=g.nodeName)&&y.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(_=ES);if(_&&(_=_(e,d))){nw(m,_,n,u);break e}A&&A(e,g,d),e==="focusout"&&(A=g._wrapperState)&&A.controlled&&g.type==="number"&&ip(g,"number",g.value)}switch(A=d?ga(d):window,e){case"focusin":(Of(A)||A.contentEditable==="true")&&(ma=A,wp=d,Rs=null);break;case"focusout":Rs=wp=ma=null;break;case"mousedown":bp=!0;break;case"contextmenu":case"mouseup":case"dragend":bp=!1,Df(m,n,u);break;case"selectionchange":if(MS)break;case"keydown":case"keyup":Df(m,n,u)}var j;if(Uh)e:{switch(e){case"compositionstart":var I="onCompositionStart";break e;case"compositionend":I="onCompositionEnd";break e;case"compositionupdate":I="onCompositionUpdate";break e}I=void 0}else ha?ew(e,n)&&(I="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(I="onCompositionStart");I&&(Xv&&n.locale!=="ko"&&(ha||I!=="onCompositionStart"?I==="onCompositionEnd"&&ha&&(j=Zv()):(Uo=u,$h="value"in Uo?Uo.value:Uo.textContent,ha=!0)),A=Ml(d,I),0<A.length&&(I=new Cf(I,e,null,n,u),m.push({event:I,listeners:A}),j?I.data=j:(j=tw(n),j!==null&&(I.data=j)))),(j=xS?kS(e,n):SS(e,n))&&(d=Ml(d,"onBeforeInput"),0<d.length&&(u=new Cf("onBeforeInput","beforeinput",null,n,u),m.push({event:u,listeners:d}),u.data=j))}hw(m,t)})}function Xs(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ml(e,t){for(var n=t+"Capture",o=[];e!==null;){var r=e,a=r.stateNode;r.tag===5&&a!==null&&(r=a,a=Gs(e,n),a!=null&&o.unshift(Xs(e,a,r)),a=Gs(e,t),a!=null&&o.push(Xs(e,a,r))),e=e.return}return o}function ta(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Vf(e,t,n,o,r){for(var a=t._reactName,s=[];n!==null&&n!==o;){var i=n,c=i.alternate,d=i.stateNode;if(c!==null&&c===o)break;i.tag===5&&d!==null&&(i=d,r?(c=Gs(n,a),c!=null&&s.unshift(Xs(n,c,i))):r||(c=Gs(n,a),c!=null&&s.push(Xs(n,c,i)))),n=n.return}s.length!==0&&e.push({event:t,listeners:s})}var DS=/\r\n?/g,zS=/\u0000|\uFFFD/g;function $f(e){return(typeof e=="string"?e:""+e).replace(DS,` 39`).replace(zS,"")}function Hi(e,t,n){if(t=$f(t),$f(e)!==t&&n)throw Error(V(425))}function Ll(){}var xp=null,kp=null;function Sp(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var _p=typeof setTimeout=="function"?setTimeout:void 0,FS=typeof clearTimeout=="function"?clearTimeout:void 0,Bf=typeof Promise=="function"?Promise:void 0,VS=typeof queueMicrotask=="function"?queueMicrotask:typeof Bf<"u"?function(e){return Bf.resolve(null).then(e).catch($S)}:_p;function $S(e){setTimeout(function(){throw e})}function ku(e,t){var n=t,o=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(o===0){e.removeChild(r),Ks(t);return}o--}else n!=="$"&&n!=="$?"&&n!=="$!"||o++;n=r}while(n);Ks(t)}function Yo(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Wf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var rs=Math.random().toString(36).slice(2),Dn="__reactFiber$"+rs,ei="__reactProps$"+rs,so="__reactContainer$"+rs,Pp="__reactEvents$"+rs,BS="__reactListeners$"+rs,WS="__reactHandles$"+rs;function jr(e){var t=e[Dn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[so]||n[Dn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Wf(e);e!==null;){if(n=e[Dn])return n;e=Wf(e)}return t}e=n,n=e.parentNode}return null}function ki(e){return e=e[Dn]||e[so],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ga(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(V(33))}function kc(e){return e[ei]||null}var jp=[],ya=-1;function mr(e){return{current:e}}function Ve(e){0>ya||(e.current=jp[ya],jp[ya]=null,ya--)}function Ne(e,t){ya++,jp[ya]=e.current,e.current=t}var ir={},kt=mr(ir),Dt=mr(!1),zr=ir;function $a(e,t){var n=e.type.contextTypes;if(!n)return ir;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var r={},a;for(a in n)r[a]=t[a];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function zt(e){return e=e.childContextTypes,e!=null}function Rl(){Ve(Dt),Ve(kt)}function Uf(e,t,n){if(kt.current!==ir)throw Error(V(168));Ne(kt,t),Ne(Dt,n)}function fw(e,t,n){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return n;o=o.getChildContext();for(var r in o)if(!(r in t))throw Error(V(108,Ak(e)||"Unknown",r));return Ke({},n,o)}function Nl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ir,zr=kt.current,Ne(kt,e),Ne(Dt,Dt.current),!0}function Hf(e,t,n){var o=e.stateNode;if(!o)throw Error(V(169));n?(e=fw(e,t,zr),o.__reactInternalMemoizedMergedChildContext=e,Ve(
vendor: 13,976 bytes, line 39
39Dt),Ve(kt),Ne(kt,e)):Ve(Dt),Ne(Dt,n)}var eo=null,Sc=!1,Su=!1;function gw(e){eo===null?eo=[e]:eo.push(e)}function US(e){Sc=!0,gw(e)}function fr(){if(!Su&&eo!==null){Su=!0;var e=0,t=Ce;try{var n=eo;for(Ce=1;e<n.length;e++){var o=n[e];do o=o(!0);while(o!==null)}eo=null,Sc=!1}catch(r){throw eo!==null&&(eo=eo.slice(e+1)),$v(Dh,fr),r}finally{Ce=t,Su=!1}}return null}var va=[],wa=0,Dl=null,zl=0,Qt=[],Yt=0,Fr=null,no=1,oo="";function _r(e,t){va[wa++]=zl,va[wa++]=Dl,Dl=e,zl=t}function yw(e,t,n){Qt[Yt++]=no,Qt[Yt++]=oo,Qt[Yt++]=Fr,Fr=e;var o=no;e=oo;var r=32-vn(o)-1;o&=~(1<<r),n+=1;var a=32-vn(t)+r;if(30<a){var s=r-r%5;a=(o&(1<<s)-1).toString(32),o>>=s,r-=s,no=1<<32-vn(t)+r|n<<r|o,oo=a+e}else no=1<<a|n<<r|o,oo=e}function Gh(e){e.return!==null&&(_r(e,1),yw(e,1,0))}function qh(e){for(;e===Dl;)Dl=va[--wa],va[wa]=null,zl=va[--wa],va[wa]=null;for(;e===Fr;)Fr=Qt[--Yt],Qt[Yt]=null,oo=Qt[--Yt],Qt[Yt]=null,no=Qt[--Yt],Qt[Yt]=null}var Wt=null,Bt=null,We=!1,fn=null;function vw(e,t){var n=Zt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Gf(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Wt=e,Bt=Yo(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Wt=e,Bt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Fr!==null?{id:no,overflow:oo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Zt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Wt=e,Bt=null,!0):!1;default:return!1}}function Ap(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Cp(e){if(We){var t=Bt;if(t){var n=t;if(!Gf(e,t)){if(Ap(e))throw Error(V(418));t=Yo(n.nextSibling);var o=Wt;t&&Gf(e,t)?vw(o,n):(e.flags=e.flags&-4097|2,We=!1,Wt=e)}}else{if(Ap(e))throw Error(V(418));e.flags=e.flags&-4097|2,We=!1,Wt=e}}}function qf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Wt=e}function Gi(e){if(e!==Wt)return!1;if(!We)return qf(e),We=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Sp(e.type,e.memoizedProps)),t&&(t=Bt)){if(Ap(e))throw ww(),Error(V(418));for(;t;)vw(e,t),t=Yo(t.nextSibling)}if(qf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(V(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Bt=Yo(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Bt=null}}else Bt=Wt?Yo(e.stateNode.nextSibling):null;return!0}function ww(){for(var e=Bt;e;)e=Yo(e.nextSibling)}function Ba(){Bt=Wt=null,We=!1}function Jh(e){fn===null?fn=[e]:fn.push(e)}var HS=mo.ReactCurrentBatchConfig;function ys(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(V(309));var o=n.stateNode}if(!o)throw Error(V(147,e));var r=o,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(s){var i=r.refs;s===null?delete i[a]:i[a]=s},t._stringRef=a,t)}if(typeof e!="string")throw Error(V(284));if(!n._owner)throw Error(V(290,e))}return e}function qi(e,t){throw e=Object.prototype.toString.call(t),Error(V(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Jf(e){var t=e._init;return t(e._payload)}function bw(e){function t(v,h){if(e){var w=v.deletions;w===null?(v.deletions=[h],v.flags|=16):w.push(h)}}function n(v,h){if(!e)return null;for(;h!==null;)t(v,h),h=h.sibling;return null}function o(v,h){for(v=new Map;h!==null;)h.key!==null?v.set(h.key,h):v.set(h.index,h),h=h.sibling;return v}function r(v,h){return v=tr(v,h),v.index=0,v.sibling=null,v}function a(v,h,w){return v.index=w,e?(w=v.alternate,w!==null?(w=w.index,w<h?(v.flags|=2,h):w):(v.flags|=2,h)):(v.flags|=1048576,h)}function s(v){return e&&v.alternate===null&&(v.flags|=2),v}function i(v,h,w,S){return h===null||h.tag!==6?(h=Tu(w,v.mode,S),h.return=v,h):(h=r(h,w),h.return=v,h)}function c(v,h,w,S){var _=w.type;return _===pa?u(v,h,w.props.children,S,w.key):h!==null&&(h.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Oo&&Jf(_)===h.type)?(S=r(h,w.props),S.ref=ys(v,h,w),S.return=v,S):(S=vl(w.type,w.key,w.props,null,v.mode,S),S.ref=ys(v,h,w),S.return=v,S)}function d(v,h,w,S){return h===null||h.tag!==4||h.stateNode.containerInfo!==w.containerInfo||h.stateNode.implementation!==w.implementation?(h=Iu(w,v.mode,S),h.return=v,h):(h=r(h,w.children||[]),h.return=v,h)}function u(v,h,w,S,_){return h===null||h.tag!==7?(h=Dr(w,v.mode,S,_),h.return=v,h):(h=r(h,w),h.return=v,h)}function m(v,h,w){if(typeof h=="string"&&h!==""||typeof h=="number")return h=Tu(""+h,v.mode,w),h.return=v,h;if(typeof h=="object"&&h!==null){switch(h.$$typeof){case Ni:return w=vl(h.type,h.key,h.props,null,v.mode,w),w.ref=ys(v,null,h),w.return=v,w;case ua:return h=Iu(h,v.mode,w),h.return=v,h;case Oo:var S=h._init;return m(v,S(h._payload),w)}if(js(h)||ps(h))return h=Dr(h,v.mode,w,null),h.return=v,h;qi(v,h)}return null}function g(v,h,w,S){var _=h!==null?h.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return _!==null?null:i(v,h,""+w,S);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Ni:return w.key===_?c(v,h,w,S):null;case ua:return w.key===_?d(v,h,w,S):null;case Oo:return _=w._init,g(v,h,_(w._payload),S)}if(js(w)||ps(w))return _!==null?null:u(v,h,w,S,null);qi(v,w)}return null}function y(v,h,w,S,_){if(typeof S=="string"&&S!==""||typeof S=="number")return v=v.get(w)||null,i(h,v,""+S,_);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case Ni:return v=v.get(S.key===null?w:S.key)||null,c(h,v,S,_);case ua:return v=v.get(S.key===null?w:S.key)||null,d(h,v,S,_);case Oo:var A=S._init;return y(v,h,w,A(S._payload),_)}if(js(S)||ps(S))return v=v.get(w)||null,u(h,v,S,_,null);qi(h,S)}return null}function x(v,h,w,S){for(var _=null,A=null,j=h,I=h=0,D=null;j!==null&&I<w.length;I++){j.index>I?(D=j,j=null):D=j.sibling;var F=g(v,j,w[I],S);if(F===null){j===null&&(j=D);break}e&&j&&F.alternate===null&&t(v,j),h=a(F,h,I),A===null?_=F:A.sibling=F,A=F,j=D}if(I===w.length)return n(v,j),We&&_r(v,I),_;if(j===null){for(;I<w.length;I++)j=m(v,w[I],S),j!==null&&(h=a(j,h,I),A===null?_=j:A.sibling=j,A=j);return We&&_r(v,I),_}for(j=o(v,j);I<w.length;I++)D=y(j,v,I,w[I],S),D!==null&&(e&&D.alternate!==null&&j.delete(D.key===null?I:D.key),h=a(D,h,I),A===null?_=D:A.sibling=D,A=D);return e&&j.forEach(function(Y){return t(v,Y)}),We&&_r(v,I),_}function f(v,h,w,S){var _=ps(w);if(typeof _!="function")throw Error(V(150));if(w=_.call(w),w==null)throw Error(V(151));for(var A=_=null,j=h,I=h=0,D=null,F=w.next();j!==null&&!F.done;I++,F=w.next()){j.index>I?(D=j,j=null):D=j.sibling;var Y=g(v,j,F.value,S);if(Y===null){j===null&&(j=D);break}e&&j&&Y.alternate===null&&t(v,j),h=a(Y,h,I),A===null?_=Y:A.sibling=Y,A=Y,j=D}if(F.done)return n(v,j),We&&_r(v,I),_;if(j===null){for(;!F.done;I++,F=w.next())F=m(v,F.value,S),F!==null&&(h=a(F,h,I),A===null?_=F:A.sibling=F,A=F);return We&&_r(v,I),_}for(j=o(v,j);!F.done;I++,F=w.next())F=y(j,v,I,F.value,S),F!==null&&(e&&F.alternate!==null&&j.delete(F.key===null?I:F.key),h=a(F,h,I),A===null?_=F:A.sibling=F,A=F);return e&&j.forEach(function(N){return t(v,N)}),We&&_r(v,I),_}function b(v,h,w,S){if(typeof w=="object"&&w!==null&&w.type===pa&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Ni:e:{for(var _=w.key,A=h;A!==null;){if(A.key===_){if(_=w.type,_===pa){if(A.tag===7){n(v,A.sibling),h=r(A,w.props.children),h.return=v,v=h;break e}}else if(A.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Oo&&Jf(_)===A.type){n(v,A.sibling),h=r(A,w.props),h.ref=ys(v,A,w),h.return=v,v=h;break e}n(v,A);break}else t(v,A);A=A.sibling}w.type===pa?(h=Dr(w.props.children,v.mode,S,w.key),h.return=v,v=h):(S=vl(w.type,w.key,w.props,null,v.mode,S),S.ref=ys(v,h,w),S.return=v,v=S)}return s(v);case ua:e:{for(A=w.key;h!==null;){if(h.key===A)if(h.tag===4&&h.stateNode.containerInfo===w.containerInfo&&h.stateNode.implementation===w.implementation){n(v,h.sibling),h=r(h,w.children||[]),h.return=v,v=h;break e}else{n(v,h);break}else t(v,h);h=h.sibling}h=Iu(w,v.mode,S),h.return=v,v=h}return s(v);case Oo:return A=w._init,b(v,h,A(w._payload),S)}if(js(w))return x(v,h,w,S);if(ps(w))return f(v,h,w,S);qi(v,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,h!==null&&h.tag===6?(n(v,h.sibling),h=r(h,w),h.return=v,v=h):(n(v,h),h=Tu(w,v.mode,S),h.return=v,v=h),s(v)):n(v,h)}return b}var Wa=bw(!0),xw=bw(!1),Fl=mr(null),Vl=null,ba=null,Kh=null;function Qh(){Kh=ba=Vl=null}function Yh(e){var t=Fl.current;Ve(Fl),e._currentValue=t}function Ep(e,t,n){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===n)break;e=e.return}}function Aa(e,t){Vl=e,Kh=ba=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Nt=!0),e.firstContext=null)}function en(e){var t=e._currentValue;if(Kh!==e)if(e={context:e,memoizedValue:t,next:null},ba===null){if(Vl===null)throw Error(V(308));ba=e,Vl.dependencies={lanes:0,firstContext:e}}else ba=ba.next=e;return t}var Ar=null;function Zh(e){Ar===null?Ar=[e]:Ar.push(e)}function kw(e,t,n,o){var r=t.interleaved;return r===null?(n.next=n,Zh(t)):(n.next=r.next,r.next=n),t.interleaved=n,io(e,o)}function io(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Mo=!1;function Xh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Sw(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ro(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Zo(e,t,n){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,Se&2){var r=o.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),o.pending=t,io(e,n)}return r=o.interleaved,r===null?(t.next=t,Zh(o)):(t.next=r.next,r.next=t),o.interleaved=t,io(e,n)}function pl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,n|=o,t.lanes=n,zh(e,n)}}function Kf(e,t){var n=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,n===o)){var r=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?r=a=s:a=a.next=s,n=n.next}while(n!==null);a===null?r=a=t:a=a.next=t}else r=a=t;n={baseState:o.baseState,firstBaseUpdate:r,lastBaseUpdate:a,shared:o.shared,effects:o.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $l(e,t,n,o){var r=e.updateQueue;Mo=!1;var a=r.firstBaseUpdate,s=r.lastBaseUpdate,i=r.shared.pending;if(i!==null){r.shared.pending=null;var c=i,d=c.next;c.next=null,s===null?a=d:s.next=d,s=c;var u=e.alternate;u!==null&&(u=u.updateQueue,i=u.lastBaseUpdate,i!==s&&(i===null?u.firstBaseUpdate=d:i.next=d,u.lastBaseUpdate=c))}if(a!==null){var m=r.baseState;s=0,u=d=c=null,i=a;do{var g=i.lane,y=i.eventTime;if((o&g)===g){u!==null&&(u=u.next={eventTime:y,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var x=e,f=i;switch(g=t,y=n,f.tag){case 1:if(x=f.payload,typeof x=="function"){m=x.call(y,m,g);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=f.payload,g=typeof x=="function"?x.call(y,m,g):x,g==null)break e;m=Ke({},m,g);break e;case 2:Mo=!0}}i.callback!==null&&i.lane!==0&&(e.flags|=64,g=r.effects,g===null?r.effects=[i]:g.push(i))}else y={eventTime:y,lane:g,tag:i.tag,payload:i.payload,callback:i.callback,next:null},u===null?(d=u=y,c=m):u=u.next=y,s|=g;if(i=i.next,i===null){if(i=r.shared.pending,i===null)break;g=i,i=g.next,g.next=null,r.lastBaseUpdate=g,r.shared.pending=null}}while(!0);if(u===null&&(c=m),r.baseState=c,r.firstBaseUpdate=d,r.lastBaseUpdate=u,t=r.shared.interleaved,t!==null){r=t;do s|=r.lane,r=r.next;while(r!==t)}else a===null&&(r.shared.lanes=0);$r|=s,e.lanes=s,e.memoizedState=m}}function Qf(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var o=e[t],r=o.callback;if(r!==null){if(o.callback=null,o=n,typeof r!="function")throw Error(V(191,r));r.call(o)}}}var Si={},$n=mr(Si),ti=mr(Si),ni=mr(Si);function Cr(e){if(e===Si)throw Error(V(174));return e}function em(e,t){switch(Ne(ni,t),Ne(ti,e),Ne($n,Si),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:cp(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=cp(t,e)}Ve($n),Ne($n,t)}function Ua(){Ve($n),Ve(ti),Ve(ni)}function _w(e){Cr(ni.current);var t=Cr($n.current),n=cp(t,e.type);t!==n&&(Ne(ti,e),Ne($n,n))}function tm(e){ti.current===e&&(Ve($n),Ve(ti))}var Ge=mr(0);function Bl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _u=[];function nm(){for(var e=0;e<_u.length;e++)_u[e]._workInProgressVersionPrimary=null;_u.length=0}var hl=mo.ReactCurrentDispatcher,Pu=mo.ReactCurrentBatchConfig,Vr=0,qe=null,at=null,ct=null,Wl=!1,Ns=!1,oi=0,GS=0;function yt(){throw Error(V(321))}function om(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!bn(e[n],t[n]))return!1;return!0}function rm(e,t,n,o,r,a){if(Vr=a,qe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,hl.current=e===null||e.memoizedState===null?QS:YS,e=n(o,r),Ns){a=0;
vendor: 4,705 bytes, line 39
39do{if(Ns=!1,oi=0,25<=a)throw Error(V(301));a+=1,ct=at=null,t.updateQueue=null,hl.current=ZS,e=n(o,r)}while(Ns)}if(hl.current=Ul,t=at!==null&&at.next!==null,Vr=0,ct=at=qe=null,Wl=!1,t)throw Error(V(300));return e}function am(){var e=oi!==0;return oi=0,e}function On(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ct===null?qe.memoizedState=ct=e:ct=ct.next=e,ct}function tn(){if(at===null){var e=qe.alternate;e=e!==null?e.memoizedState:null}else e=at.next;var t=ct===null?qe.memoizedState:ct.next;if(t!==null)ct=t,at=e;else{if(e===null)throw Error(V(310));at=e,e={memoizedState:at.memoizedState,baseState:at.baseState,baseQueue:at.baseQueue,queue:at.queue,next:null},ct===null?qe.memoizedState=ct=e:ct=ct.next=e}return ct}function ri(e,t){return typeof t=="function"?t(e):t}function ju(e){var t=tn(),n=t.queue;if(n===null)throw Error(V(311));n.lastRenderedReducer=e;var o=at,r=o.baseQueue,a=n.pending;if(a!==null){if(r!==null){var s=r.next;r.next=a.next,a.next=s}o.baseQueue=r=a,n.pending=null}if(r!==null){a=r.next,o=o.baseState;var i=s=null,c=null,d=a;do{var u=d.lane;if((Vr&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),o=d.hasEagerState?d.eagerState:e(o,d.action);else{var m={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(i=c=m,s=o):c=c.next=m,qe.lanes|=u,$r|=u}d=d.next}while(d!==null&&d!==a);c===null?s=o:c.next=i,bn(o,t.memoizedState)||(Nt=!0),t.memoizedState=o,t.baseState=s,t.baseQueue=c,n.lastRenderedState=o}if(e=n.interleaved,e!==null){r=e;do a=r.lane,qe.lanes|=a,$r|=a,r=r.next;while(r!==e)}else r===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Au(e){var t=tn(),n=t.queue;if(n===null)throw Error(V(311));n.lastRenderedReducer=e;var o=n.dispatch,r=n.pending,a=t.memoizedState;if(r!==null){n.pending=null;var s=r=r.next;do a=e(a,s.action),s=s.next;while(s!==r);bn(a,t.memoizedState)||(Nt=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,o]}function Pw(){}function jw(e,t){var n=qe,o=tn(),r=t(),a=!bn(o.memoizedState,r);if(a&&(o.memoizedState=r,Nt=!0),o=o.queue,sm(Ew.bind(null,n,o,e),[e]),o.getSnapshot!==t||a||ct!==null&&ct.memoizedState.tag&1){if(n.flags|=2048,ai(9,Cw.bind(null,n,o,r,t),void 0,null),ut===null)throw Error(V(349));Vr&30||Aw(n,t,r)}return r}function Aw(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=qe.updateQueue,t===null?(t={lastEffect:null,stores:null},qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Cw(e,t,n,o){t.value=n,t.getSnapshot=o,Tw(t)&&Iw(e)}function Ew(e,t,n){return n(function(){Tw(t)&&Iw(e)})}function Tw(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bn(e,n)}catch{return!0}}function Iw(e){var t=io(e,1);t!==null&&wn(t,e,1,-1)}function Yf(e){var t=On();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ri,lastRenderedState:e},t.queue=e,e=e.dispatch=KS.bind(null,qe,e),[t.memoizedState,e]}function ai(e,t,n,o){return e={tag:e,create:t,destroy:n,deps:o,next:null},t=qe.updateQueue,t===null?(t={lastEffect:null,stores:null},qe.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(o=n.next,n.next=e,e.next=o,t.lastEffect=e)),e}function Ow(){return tn().memoizedState}function ml(e,t,n,o){var r=On();qe.flags|=e,r.memoizedState=ai(1|t,n,void 0,o===void 0?null:o)}function _c(e,t,n,o){var r=tn();o=o===void 0?null:o;var a=void 0;if(at!==null){var s=at.memoizedState;if(a=s.destroy,o!==null&&om(o,s.deps)){r.memoizedState=ai(t,n,a,o);return}}qe.flags|=e,r.memoizedState=ai(1|t,n,a,o)}function Zf(e,t){return ml(8390656,8,e,t)}function sm(e,t){return _c(2048,8,e,t)}function Mw(e,t){return _c(4,2,e,t)}function Lw(e,t){return _c(4,4,e,t)}function Rw(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Nw(e,t,n){return n=n!=null?n.concat([e]):null,_c(4,4,Rw.bind(null,t,e),n)}function im(){}function Dw(e,t){var n=tn();t=t===void 0?null:t;var o=n.memoizedState;return o!==null&&t!==null&&om(t,o[1])?o[0]:(n.memoizedState=[e,t],e)}function zw(e,t){var n=tn();t=t===void 0?null:t;var o=n.memoizedState;return o!==null&&t!==null&&om(t,o[1])?o[0]:(e=e(),n.memoizedState=[e,t],e)}function Fw(e,t,n){return Vr&21?(bn(n,t)||(n=Uv(),qe.lanes|=n,$r|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Nt=!0),e.memoizedState=n)}function qS(e,t){var n=Ce;Ce=n!==0&&4>n?n:4,e(!0);var o=Pu.transition;Pu.transition={};try{e(!1),t()}finally{Ce=n,Pu.transition=o}}function Vw(){return tn().memoizedState}
vendor: 8,620 bytes, lines 39-41
39function JS(e,t,n){var o=er(e);if(n={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null},$w(e))Bw(t,n);else if(n=kw(e,t,n,o),n!==null){var r=Ct();wn(n,e,o,r),Ww(n,t,o)}}function KS(e,t,n){var o=er(e),r={lane:o,action:n,hasEagerState:!1,eagerState:null,next:null};if($w(e))Bw(t,r);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var s=t.lastRenderedState,i=a(s,n);if(r.hasEagerState=!0,r.eagerState=i,bn(i,s)){var c=t.interleaved;c===null?(r.next=r,Zh(t)):(r.next=c.next,c.next=r),t.interleaved=r;return}}catch{}finally{}n=kw(e,t,r,o),n!==null&&(r=Ct(),wn(n,e,o,r),Ww(n,t,o))}}function $w(e){var t=e.alternate;return e===qe||t!==null&&t===qe}function Bw(e,t){Ns=Wl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ww(e,t,n){if(n&4194240){var o=t.lanes;o&=e.pendingLanes,n|=o,t.lanes=n,zh(e,n)}}var Ul={readContext:en,useCallback:yt,useContext:yt,useEffect:yt,useImperativeHandle:yt,useInsertionEffect:yt,useLayoutEffect:yt,useMemo:yt,useReducer:yt,useRef:yt,useState:yt,useDebugValue:yt,useDeferredValue:yt,useTransition:yt,useMutableSource:yt,useSyncExternalStore:yt,useId:yt,unstable_isNewReconciler:!1},QS={readContext:en,useCallback:function(e,t){return On().memoizedState=[e,t===void 0?null:t],e},useContext:en,useEffect:Zf,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ml(4194308,4,Rw.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ml(4194308,4,e,t)},useInsertionEffect:function(e,t){return ml(4,2,e,t)},useMemo:function(e,t){var n=On();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var o=On();return t=n!==void 0?n(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=JS.bind(null,qe,e),[o.memoizedState,e]},useRef:function(e){var t=On();return e={current:e},t.memoizedState=e},useState:Yf,useDebugValue:im,useDeferredValue:function(e){return On().memoizedState=e},useTransition:function(){var e=Yf(!1),t=e[0];return e=qS.bind(null,e[1]),On().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var o=qe,r=On();if(We){if(n===void 0)throw Error(V(407));n=n()}else{if(n=t(),ut===null)throw Error(V(349));Vr&30||Aw(o,t,n)}r.memoizedState=n;var a={value:n,getSnapshot:t};return r.queue=a,Zf(Ew.bind(null,o,a,e),[e]),o.flags|=2048,ai(9,Cw.bind(null,o,a,n,t),void 0,null),n},useId:function(){var e=On(),t=ut.identifierPrefix;if(We){var n=oo,o=no;n=(o&~(1<<32-vn(o)-1)).toString(32)+n,t=":"+t+"R"+n,n=oi++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=GS++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},YS={readContext:en,useCallback:Dw,useContext:en,useEffect:sm,useImperativeHandle:Nw,useInsertionEffect:Mw,useLayoutEffect:Lw,useMemo:zw,useReducer:ju,useRef:Ow,useState:function(){return ju(ri)},useDebugValue:im,useDeferredValue:function(e){var t=tn();return Fw(t,at.memoizedState,e)},useTransition:function(){var e=ju(ri)[0],t=tn().memoizedState;return[e,t]},useMutableSource:Pw,useSyncExternalStore:jw,useId:Vw,unstable_isNewReconciler:!1},ZS={readContext:en,useCallback:Dw,useContext:en,useEffect:sm,useImperativeHandle:Nw,useInsertionEffect:Mw,useLayoutEffect:Lw,useMemo:zw,useReducer:Au,useRef:Ow,useState:function(){return Au(ri)},useDebugValue:im,useDeferredValue:function(e){var t=tn();return at===null?t.memoizedState=e:Fw(t,at.memoizedState,e)},useTransition:function(){var e=Au(ri)[0],t=tn().memoizedState;return[e,t]},useMutableSource:Pw,useSyncExternalStore:jw,useId:Vw,unstable_isNewReconciler:!1};function dn(e,t){if(e&&e.defaultProps){t=Ke({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Tp(e,t,n,o){t=e.memoizedState,n=n(o,t),n=n==null?t:Ke({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Pc={isMounted:function(e){return(e=e._reactInternals)?Qr(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var o=Ct(),r=er(e),a=ro(o,r);a.payload=t,n!=null&&(a.callback=n),t=Zo(e,a,r),t!==null&&(wn(t,e,r,o),pl(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var o=Ct(),r=er(e),a=ro(o,r);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=Zo(e,a,r),t!==null&&(wn(t,e,r,o),pl(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ct(),o=er(e),r=ro(n,o);r.tag=2,t!=null&&(r.callback=t),t=Zo(e,r,o),t!==null&&(wn(t,e,o,n),pl(t,e,o))}};function Xf(e,t,n,o,r,a,s){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,a,s):t.prototype&&t.prototype.isPureReactComponent?!Ys(n,o)||!Ys(r,a):!0}function Uw(e,t,n){var o=!1,r=ir,a=t.contextType;return typeof a=="object"&&a!==null?a=en(a):(r=zt(t)?zr:kt.current,o=t.contextTypes,a=(o=o!=null)?$a(e,r):ir),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Pc,e.stateNode=t,t._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=a),t}function eg(e,t,n,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,o),t.state!==e&&Pc.enqueueReplaceState(t,t.state,null)}function Ip(e,t,n,o){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Xh(e);var a=t.contextType;typeof a=="object"&&a!==null?r.context=en(a):(a=zt(t)?zr:kt.current,r.context=$a(e,a)),r.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(Tp(e,t,a,n),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&Pc.enqueueReplaceState(r,r.state,null),$l(e,n,r,o),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function Ha(e,t){try{var n="",o=t;do n+=jk(o),o=o.return;while(o);var r=n}catch(a){r=` 40Error generating stack: `+a.message+` 41`+a.stack}return{value:e,source:t,stack:r,digest:null}}function Cu(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Op(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var XS=typeof WeakMap=="function"?WeakMap:Map;function Hw(e,t,n){n=ro(-1,n),n.tag=3,n.payload={element:null};var o=t.value;return n.callback=function(){Gl||(Gl=!0,Bp=o),Op(e,t)},n}function Gw(e,t,n){n=ro(-1,n),n.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var r=t.value;n.payload=function(){return o(r)},n.callback=function(){Op(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){Op(e,t),typeof o!="function"&&(Xo===null?Xo=new Set([this]):Xo.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function tg(e,t,n){var o=e.pingCache;if(o===null){o=e.pingCache=new XS;var r=new Set;o.set(t,r)}else r=o.get(t),r===void 0&&(r=new Set,o.set(t,r));r.has(n)||(r.add(n),e=h2.bind(null,e,t,n),t.then(e,e))}function ng(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function og(e,t,n,o,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=ro(-1,1),t.tag=2,Zo(n,t,1))),n.lanes|=1),e)}var e2=mo.ReactCurrentOwner,Nt=!1;function Pt(e,t,n,o){t.child=e===null?xw(t,null,n,o):Wa(t,e.child,n,o)}function rg(e,t,n,o,r){n=n.render;var a=t.ref;return Aa(t,r),o=rm(e,t,n,o,a,r),n=am(),e!==null&&!Nt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,lo(e,t,r)):(We&&n&&Gh(t),t.flags|=1,Pt(e,t,o,r),t.child)}function ag(e,t,n,o,r){if(e===null){var a=n.type;return typeof a=="function"&&!fm(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,qw(e,t,a,o,r)):(e=vl(n.type,null,o,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&r)){var s=a.memoizedProps;if(n=n.compare,n=n!==null?n:Ys,n(s,o)&&e.ref===t.ref)return lo(e,t,r)}return t.flags|=1,e=tr(a,o),e.ref=t.ref,e.return=t,t.child=e}function qw(e,t,n,o,r){if(e!==null){var a=e.memoizedProps;if(Ys(a,o)&&e.ref===t.ref)if(Nt=!1,t.pendingProps=o=a,(e.lanes&r)!==0)e.flags&131072&&(Nt=!0);else return t.lanes=e.lanes,lo(e,t,r)}return Mp(e,t,n,o,r)}
vendor: 8,876 bytes, line 41
41function Jw(e,t,n){var o=t.pendingProps,r=o.children,a=e!==null?e.memoizedState:null;if(o.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ne(ka,Vt),Vt|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ne(ka,Vt),Vt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=a!==null?a.baseLanes:n,Ne(ka,Vt),Vt|=o}else a!==null?(o=a.baseLanes|n,t.memoizedState=null):o=n,Ne(ka,Vt),Vt|=o;return Pt(e,t,r,n),t.child}function Kw(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Mp(e,t,n,o,r){var a=zt(n)?zr:kt.current;return a=$a(t,a),Aa(t,r),n=rm(e,t,n,o,a,r),o=am(),e!==null&&!Nt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,lo(e,t,r)):(We&&o&&Gh(t),t.flags|=1,Pt(e,t,n,r),t.child)}function sg(e,t,n,o,r){if(zt(n)){var a=!0;Nl(t)}else a=!1;if(Aa(t,r),t.stateNode===null)fl(e,t),Uw(t,n,o),Ip(t,n,o,r),o=!0;else if(e===null){var s=t.stateNode,i=t.memoizedProps;s.props=i;var c=s.context,d=n.contextType;typeof d=="object"&&d!==null?d=en(d):(d=zt(n)?zr:kt.current,d=$a(t,d));var u=n.getDerivedStateFromProps,m=typeof u=="function"||typeof s.getSnapshotBeforeUpdate=="function";m||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(i!==o||c!==d)&&eg(t,s,o,d),Mo=!1;var g=t.memoizedState;s.state=g,$l(t,o,s,r),c=t.memoizedState,i!==o||g!==c||Dt.current||Mo?(typeof u=="function"&&(Tp(t,n,u,o),c=t.memoizedState),(i=Mo||Xf(t,n,i,o,g,c,d))?(m||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=c),s.props=o,s.state=c,s.context=d,o=i):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{s=t.stateNode,Sw(e,t),i=t.memoizedProps,d=t.type===t.elementType?i:dn(t.type,i),s.props=d,m=t.pendingProps,g=s.context,c=n.contextType,typeof c=="object"&&c!==null?c=en(c):(c=zt(n)?zr:kt.current,c=$a(t,c));var y=n.getDerivedStateFromProps;(u=typeof y=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(i!==m||g!==c)&&eg(t,s,o,c),Mo=!1,g=t.memoizedState,s.state=g,$l(t,o,s,r);var x=t.memoizedState;i!==m||g!==x||Dt.current||Mo?(typeof y=="function"&&(Tp(t,n,y,o),x=t.memoizedState),(d=Mo||Xf(t,n,d,o,g,x,c)||!1)?(u||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(o,x,c),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(o,x,c)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||i===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=x),s.props=o,s.state=x,s.context=c,o=d):(typeof s.componentDidUpdate!="function"||i===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),o=!1)}return Lp(e,t,n,o,a,r)}function Lp(e,t,n,o,r,a){Kw(e,t);var s=(t.flags&128)!==0;if(!o&&!s)return r&&Hf(t,n,!1),lo(e,t,a);o=t.stateNode,e2.current=t;var i=s&&typeof n.getDerivedStateFromError!="function"?null:o.render();return t.flags|=1,e!==null&&s?(t.child=Wa(t,e.child,null,a),t.child=Wa(t,null,i,a)):Pt(e,t,i,a),t.memoizedState=o.state,r&&Hf(t,n,!0),t.child}function Qw(e){var t=e.stateNode;t.pendingContext?Uf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Uf(e,t.context,!1),em(e,t.containerInfo)}function ig(e,t,n,o,r){return Ba(),Jh(r),t.flags|=256,Pt(e,t,n,o),t.child}var Rp={dehydrated:null,treeContext:null,retryLane:0};function Np(e){return{baseLanes:e,cachePool:null,transitions:null}}function Yw(e,t,n){var o=t.pendingProps,r=Ge.current,a=!1,s=(t.flags&128)!==0,i;if((i=s)||(i=e!==null&&e.memoizedState===null?!1:(r&2)!==0),i?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),Ne(Ge,r&1),e===null)return Cp(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=o.children,e=o.fallback,a?(o=t.mode,a=t.child,s={mode:"hidden",children:s},!(o&1)&&a!==null?(a.childLanes=0,a.pendingProps=s):a=Cc(s,o,0,null),e=Dr(e,o,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Np(n),t.memoizedState=Rp,e):lm(t,s));if(r=e.memoizedState,r!==null&&(i=r.dehydrated,i!==null))return t2(e,t,s,o,i,r,n);if(a){a=o.fallback,s=t.mode,r=e.child,i=r.sibling;var c={mode:"hidden",children:o.children};return!(s&1)&&t.child!==r?(o=t.child,o.childLanes=0,o.pendingProps=c,t.deletions=null):(o=tr(r,c),o.subtreeFlags=r.subtreeFlags&14680064),i!==null?a=tr(i,a):(a=Dr(a,s,n,null),a.flags|=2),a.return=t,o.return=t,o.sibling=a,t.child=o,o=a,a=t.child,s=e.child.memoizedState,s=s===null?Np(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},a.memoizedState=s,a.childLanes=e.childLanes&~n,t.memoizedState=Rp,o}return a=e.child,e=a.sibling,o=tr(a,{mode:"visible",children:o.children}),!(t.mode&1)&&(o.lanes=n),o.return=t,o.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function lm(e,t){return t=Cc({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ji(e,t,n,o){return o!==null&&Jh(o),Wa(t,e.child,null,n),e=lm(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function t2(e,t,n,o,r,a,s){if(n)return t.flags&256?(t.flags&=-257,o=Cu(Error(V(422))),Ji(e,t,s,o)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=o.fallback,r=t.mode,o=Cc({mode:"visible",children:o.children},r,0,null),a=Dr(a,r,s,null),a.flags|=2,o.return=t,a.return=t,o.sibling=a,t.child=o,t.mode&1&&Wa(t,e.child,null,s),t.child.memoizedState=Np(s),t.memoizedState=Rp,a);if(!(t.mode&1))return Ji(e,t,s,null);if(r.data==="$!"){if(o=r.nextSibling&&r.nextSibling.dataset,o)var i=o.dgst;return o=i,a=Error(V(419)),o=Cu(a,o,void 0),Ji(e,t,s,o)}if(i=(s&e.childLanes)!==0,Nt||i){if(o=ut,o!==null){switch(s&-s){case 4:r=2;break;case 16:r=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(o.suspendedLanes|s)?0:r,r!==0&&r!==a.retryLane&&(a.retryLane=r,io(e,r),wn(o,e,r,-1))}return mm(),o=Cu(Error(V(421))),Ji(e,t,s,o)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=m2.bind(null,e),r._reactRetry=t,null):(e=a.treeContext,Bt=Yo(r.nextSibling),Wt=t,We=!0,fn=null,e!==null&&(Qt[Yt++]=no,Qt[Yt++]=oo,Qt[Yt++]=Fr,no=e.id,oo=e.overflow,Fr=t),t=lm(t,o.children),t.flags|=4096,t)}function lg(e,t,n){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),Ep(e.return,t,n)}function Eu(e,t,n,o,r){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:n,tailMode:r}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=o,a.tail=n,a.tailMode=r)}function Zw(e,t,n){var o=t.pendingProps,r=o.revealOrder,a=o.tail;if(Pt(e,t,o.children,n),o=Ge.current,o&2)o=o&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&lg(e,n,t);else if(e.tag===19)lg(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(Ne(Ge,o),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;n!==null;)e=n.alternate,e!==null&&Bl(e)===null&&(r=n),n=n.sibling;n=r,n===null?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Eu(t,!1,r,n,a);break;case"backwards":for(n=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Bl(e)===null){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Eu(t,!0,n,null,a);break;case"together":Eu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function fl(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function lo(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),$r|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(V(153));
vendor: 5,451 bytes, line 41
41if(t.child!==null){for(e=t.child,n=tr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=tr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function n2(e,t,n){switch(t.tag){case 3:Qw(t),Ba();break;case 5:_w(t);break;case 1:zt(t.type)&&Nl(t);break;case 4:em(t,t.stateNode.containerInfo);break;case 10:var o=t.type._context,r=t.memoizedProps.value;Ne(Fl,o._currentValue),o._currentValue=r;break;case 13:if(o=t.memoizedState,o!==null)return o.dehydrated!==null?(Ne(Ge,Ge.current&1),t.flags|=128,null):n&t.child.childLanes?Yw(e,t,n):(Ne(Ge,Ge.current&1),e=lo(e,t,n),e!==null?e.sibling:null);Ne(Ge,Ge.current&1);break;case 19:if(o=(n&t.childLanes)!==0,e.flags&128){if(o)return Zw(e,t,n);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),Ne(Ge,Ge.current),o)break;return null;case 22:case 23:return t.lanes=0,Jw(e,t,n)}return lo(e,t,n)}var Xw,Dp,eb,tb;Xw=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Dp=function(){};eb=function(e,t,n,o){var r=e.memoizedProps;if(r!==o){e=t.stateNode,Cr($n.current);var a=null;switch(n){case"input":r=ap(e,r),o=ap(e,o),a=[];break;case"select":r=Ke({},r,{value:void 0}),o=Ke({},o,{value:void 0}),a=[];break;case"textarea":r=lp(e,r),o=lp(e,o),a=[];break;default:typeof r.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=Ll)}dp(n,o);var s;n=null;for(d in r)if(!o.hasOwnProperty(d)&&r.hasOwnProperty(d)&&r[d]!=null)if(d==="style"){var i=r[d];for(s in i)i.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Us.hasOwnProperty(d)?a||(a=[]):(a=a||[]).push(d,null));for(d in o){var c=o[d];if(i=r!=null?r[d]:void 0,o.hasOwnProperty(d)&&c!==i&&(c!=null||i!=null))if(d==="style")if(i){for(s in i)!i.hasOwnProperty(s)||c&&c.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in c)c.hasOwnProperty(s)&&i[s]!==c[s]&&(n||(n={}),n[s]=c[s])}else n||(a||(a=[]),a.push(d,n)),n=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,i=i?i.__html:void 0,c!=null&&i!==c&&(a=a||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Us.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&Fe("scroll",e),a||i===c||(a=[])):(a=a||[]).push(d,c))}n&&(a=a||[]).push("style",n);var d=a;(t.updateQueue=d)&&(t.flags|=4)}};tb=function(e,t,n,o){n!==o&&(t.flags|=4)};function vs(e,t){if(!We)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var o=null;n!==null;)n.alternate!==null&&(o=n),n=n.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function vt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,o=0;if(t)for(var r=e.child;r!==null;)n|=r.lanes|r.childLanes,o|=r.subtreeFlags&14680064,o|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)n|=r.lanes|r.childLanes,o|=r.subtreeFlags,o|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=o,e.childLanes=n,t}function o2(e,t,n){var o=t.pendingProps;switch(qh(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return vt(t),null;case 1:return zt(t.type)&&Rl(),vt(t),null;case 3:return o=t.stateNode,Ua(),Ve(Dt),Ve(kt),nm(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(Gi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,fn!==null&&(Hp(fn),fn=null))),Dp(e,t),vt(t),null;case 5:tm(t);var r=Cr(ni.current);if(n=t.type,e!==null&&t.stateNode!=null)eb(e,t,n,o,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(t.stateNode===null)throw Error(V(166));return vt(t),null}if(e=Cr($n.current),Gi(t)){o=t.stateNode,n=t.type;var a=t.memoizedProps;switch(o[Dn]=t,o[ei]=a,e=(t.mode&1)!==0,n){case"dialog":Fe("cancel",o),Fe("close",o);break;case"iframe":case"object":case"embed":Fe("load",o);break;case"video":case"audio":for(r=0;r<Cs.length;r++)Fe(Cs[r],o);break;case"source":Fe("error",o);break;case"img":case"image":case"link":Fe("error",o),Fe("load",o);break;case"details":Fe("toggle",o);break;case"input":yf(o,a),Fe("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!a.multiple},Fe("invalid",o);break;case"textarea":wf(o,a),Fe("invalid",o)}dp(n,a),r=null;for(var s in a)if(a.hasOwnProperty(s)){var i=a[s];s==="children"?typeof i=="string"?o.textContent!==i&&(a.suppressHydrationWarning!==!0&&Hi(o.textContent,i,e),r=["children",i]):typeof i=="number"&&o.textContent!==""+i&&(a.suppressHydrationWarning!==!0&&Hi(o.textContent,i,e),r=["children",""+i]):Us.hasOwnProperty(s)&&i!=null&&s==="onScroll"&&Fe("scroll",o)}switch(n){case"input":Di(o),vf(o,a,!0);break;case"textarea":Di(o),bf(o);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(o.onclick=Ll)}o=r,t.updateQueue=o,o!==null&&(t.flags|=4)}else{s=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Ev(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=s.createElement("div"),e.innerHTML="<script><\/script>
41",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=s.createElement(n,{is:o.is}):(e=s.createElement(n),n==="select"&&(s=e,o.multiple?s.multiple=!0:o.size&&(s.size=o.size))):e=s.createElementNS(e,n),e[Dn]=t,e[ei]=o,Xw(e,t,!1,!1),t.stateNode=e;e:{switch(s=up(n,o),n){case"dialog":Fe("cancel",e),Fe("close",e),r=o;break;case"iframe":case"object":case"embed":Fe("load",e),r=o;break;case"video":case"audio":for(r=0;r<Cs.length;r++)Fe(Cs[r],e);r=o;break;case"source":Fe("error",e),r=o;break;case"img":case"image":case"link":Fe("error",e),Fe("load",e),r=o;break;case"details":Fe("toggle",e),r=o;break;case"input":yf(e,o),r=ap(e,o),Fe("invalid",e);break;case"option":r=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},r=Ke({},o,{value:void 0}),Fe("invalid",e);break;case"textarea":wf(e,o),r=lp(e,o),Fe("invalid",e);break;default:r=o}dp(n,r),i=r;for(a in i)if(i.hasOwnProperty(a)){var c=i[a];a==="style"?Ov(e,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&Tv(e,c)):a==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&Hs(e,c):typeof c=="number"&&Hs(e,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(Us.hasOwnProperty(a)?c!=null&&a==="onScroll"&&Fe("scroll",e):c!=null&&Oh(e,a,c,s))}switch(n){case"input":Di(e),vf(e,o,!1);break;case"textarea":Di(e),bf(e);break;case"option":o.value!=null&&e.setAttribute("value",""+sr(o.value));break;case"select":e.multiple=!!o.multiple,a=o.value,a!=null?Sa(e,!!o.multiple,a,!1):o.defaultValue!=null&&Sa(e,!!o.multiple,o.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=Ll)}switch(n){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return vt(t),null;case 6:if(e&&t.stateNode!=null)tb(e,t,e.memoizedProps,o);else{if(typeof o!="string"&&t.stateNode===null)throw Error(V(166));if(n=Cr(ni.current),Cr($n.current),Gi(t)){if(o=t.stateNode,n=t.memoizedProps,o[Dn]=t,(a=o.nodeValue!==n)&&(e=Wt,e!==null))switch(e.tag){case 3:Hi(o.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Hi(o.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else o=(n.nodeType===9?n:n.ownerDocument).createTextNode(o),o[Dn]=t,t.stateNode=o}return vt(t),null;case 13:if(Ve(Ge),o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(We&&Bt!==null&&t.mode&1&&!(t.flags&128))ww(),Ba(),t.flags|=98560,a=!1;else if(a=Gi(t),o!==null&&o.dehydrated!==null){if(e===null){if(!a)throw Error(V(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(V(317));a[Dn]=t}else Ba(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;vt(t),a=!1}else fn!==null&&(Hp(fn),fn=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(t.child.flags|=8192,t.mode&1&&(e===null||Ge.current&1?st===0&&(st=3):mm())),t.updateQueue!==null&&(t.flags|=4),vt(t),null);case 4:return Ua(),Dp(e,t),e===null&&Zs(t.stateNode.containerInfo),vt(t),null;case 10:return Yh(t.type._context),vt(t),null;case 17:return zt(t.type)&&Rl(),vt(t),null;case 19:if(Ve(Ge),a=t.memoizedState,a===null)return vt(t),null;if(o=(t.flags&128)!==0,s=a.rendering,s===null)if(o)vs(a,!1);else{if(st!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=Bl(e),s!==null){for(t.flags|=128,vs(a,!1),o=s.updateQueue,o!==null&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=n,n=t.child;n!==null;)a=n,e=o,a.flags&=14680066,s=a.alternate,s===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=s.childLanes,a.lanes=s.lanes,a.child=s.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=s.memoizedProps,a.memoizedState=s.memoizedState,a.updateQueue=s.updateQueue,a.type=s.type,e=s.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ne(Ge,Ge.current&1|2),t.child}e=e.sibling}a.tail!==null&&Xe()>Ga&&(t.flags|=128,o=!0,vs(a,!1),t.lanes=4194304)}else{if(!o)if(e=Bl(s),e!==null){if(t.flags|=128,o=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),vs(a,!0),a.tail===null&&a.tailMode==="hidden"&&!s.alternate&&!We)return vt(t),null}else 2*Xe()-a.renderingStartTime>Ga&&n!==1073741824&&(t.flags|=128,o=!0,vs(a,!1),t.lanes=4194304);a.isBackwards?(s.sibling=t.child,t.child=s):(n=a.last,n!==null?n.sibling=s:t.child=s,a.last=s)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Xe(),t.sibling=null,n=Ge.current,Ne(Ge,o?n&1|2:n&1),t):(vt(t),null);case 22:case 23:return hm(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&t.mode&1?Vt&1073741824&&(vt(t),t.subtreeFlags&6&&(t.flags|=8192)):vt(t),null;case 24:return null;case 25:return null}throw Error(V(156,t.tag))}function r2(e,t){switch(qh(t),t.tag){case 1:return zt(t.type)&&Rl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;
vendor: 25,759 bytes, line 41
41case 3:return Ua(),Ve(Dt),Ve(kt),nm(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return tm(t),null;case 13:if(Ve(Ge),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(V(340));Ba()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ve(Ge),null;case 4:return Ua(),null;case 10:return Yh(t.type._context),null;case 22:case 23:return hm(),null;case 24:return null;default:return null}}var Ki=!1,xt=!1,a2=typeof WeakSet=="function"?WeakSet:Set,X=null;function xa(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(o){Ze(e,t,o)}else n.current=null}function zp(e,t,n){try{n()}catch(o){Ze(e,t,o)}}var cg=!1;function s2(e,t){if(xp=Il,e=sw(),Hh(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var r=o.anchorOffset,a=o.focusNode;o=o.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var s=0,i=-1,c=-1,d=0,u=0,m=e,g=null;t:for(;;){for(var y;m!==n||r!==0&&m.nodeType!==3||(i=s+r),m!==a||o!==0&&m.nodeType!==3||(c=s+o),m.nodeType===3&&(s+=m.nodeValue.length),(y=m.firstChild)!==null;)g=m,m=y;for(;;){if(m===e)break t;if(g===n&&++d===r&&(i=s),g===a&&++u===o&&(c=s),(y=m.nextSibling)!==null)break;m=g,g=m.parentNode}m=y}n=i===-1||c===-1?null:{start:i,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(kp={focusedElem:e,selectionRange:n},Il=!1,X=t;X!==null;)if(t=X,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,X=e;else for(;X!==null;){t=X;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var f=x.memoizedProps,b=x.memoizedState,v=t.stateNode,h=v.getSnapshotBeforeUpdate(t.elementType===t.type?f:dn(t.type,f),b);v.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(V(163))}}catch(S){Ze(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,X=e;break}X=t.return}return x=cg,cg=!1,x}function Ds(e,t,n){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var r=o=o.next;do{if((r.tag&e)===e){var a=r.destroy;r.destroy=void 0,a!==void 0&&zp(t,n,a)}r=r.next}while(r!==o)}}function jc(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var o=n.create;n.destroy=o()}n=n.next}while(n!==t)}}function Fp(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function nb(e){var t=e.alternate;t!==null&&(e.alternate=null,nb(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Dn],delete t[ei],delete t[Pp],delete t[BS],delete t[WS])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ob(e){return e.tag===5||e.tag===3||e.tag===4}function dg(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ob(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Vp(e,t,n){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ll));else if(o!==4&&(e=e.child,e!==null))for(Vp(e,t,n),e=e.sibling;e!==null;)Vp(e,t,n),e=e.sibling}function $p(e,t,n){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for($p(e,t,n),e=e.sibling;e!==null;)$p(e,t,n),e=e.sibling}var ht=null,mn=!1;function So(e,t,n){for(n=n.child;n!==null;)rb(e,t,n),n=n.sibling}function rb(e,t,n){if(Vn&&typeof Vn.onCommitFiberUnmount=="function")try{Vn.onCommitFiberUnmount(vc,n)}catch{}switch(n.tag){case 5:xt||xa(n,t);case 6:var o=ht,r=mn;ht=null,So(e,t,n),ht=o,mn=r,ht!==null&&(mn?(e=ht,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ht.removeChild(n.stateNode));break;case 18:ht!==null&&(mn?(e=ht,n=n.stateNode,e.nodeType===8?ku(e.parentNode,n):e.nodeType===1&&ku(e,n),Ks(e)):ku(ht,n.stateNode));break;case 4:o=ht,r=mn,ht=n.stateNode.containerInfo,mn=!0,So(e,t,n),ht=o,mn=r;break;case 0:case 11:case 14:case 15:if(!xt&&(o=n.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){r=o=o.next;do{var a=r,s=a.destroy;a=a.tag,s!==void 0&&(a&2||a&4)&&zp(n,t,s),r=r.next}while(r!==o)}So(e,t,n);break;case 1:if(!xt&&(xa(n,t),o=n.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=n.memoizedProps,o.state=n.memoizedState,o.componentWillUnmount()}catch(i){Ze(n,t,i)}So(e,t,n);break;case 21:So(e,t,n);break;case 22:n.mode&1?(xt=(o=xt)||n.memoizedState!==null,So(e,t,n),xt=o):So(e,t,n);break;default:So(e,t,n)}}function ug(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new a2),t.forEach(function(o){var r=f2.bind(null,e,o);n.has(o)||(n.add(o),o.then(r,r))})}}function sn(e,t){var n=t.deletions;if(n!==null)for(var o=0;o<n.length;o++){var r=n[o];try{var a=e,s=t,i=s;e:for(;i!==null;){switch(i.tag){case 5:ht=i.stateNode,mn=!1;break e;case 3:ht=i.stateNode.containerInfo,mn=!0;break e;case 4:ht=i.stateNode.containerInfo,mn=!0;break e}i=i.return}if(ht===null)throw Error(V(160));rb(a,s,r),ht=null,mn=!1;var c=r.alternate;c!==null&&(c.return=null),r.return=null}catch(d){Ze(r,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)ab(t,e),t=t.sibling}function ab(e,t){var n=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(sn(t,e),Tn(e),o&4){try{Ds(3,e,e.return),jc(3,e)}catch(f){Ze(e,e.return,f)}try{Ds(5,e,e.return)}catch(f){Ze(e,e.return,f)}}break;case 1:sn(t,e),Tn(e),o&512&&n!==null&&xa(n,n.return);break;case 5:if(sn(t,e),Tn(e),o&512&&n!==null&&xa(n,n.return),e.flags&32){var r=e.stateNode;try{Hs(r,"")}catch(f){Ze(e,e.return,f)}}if(o&4&&(r=e.stateNode,r!=null)){var a=e.memoizedProps,s=n!==null?n.memoizedProps:a,i=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{i==="input"&&a.type==="radio"&&a.name!=null&&Av(r,a),up(i,s);var d=up(i,a);for(s=0;s<c.length;s+=2){var u=c[s],m=c[s+1];u==="style"?Ov(r,m):u==="dangerouslySetInnerHTML"?Tv(r,m):u==="children"?Hs(r,m):Oh(r,u,m,d)}switch(i){case"input":sp(r,a);break;case"textarea":Cv(r,a);break;case"select":var g=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!a.multiple;var y=a.value;y!=null?Sa(r,!!a.multiple,y,!1):g!==!!a.multiple&&(a.defaultValue!=null?Sa(r,!!a.multiple,a.defaultValue,!0):Sa(r,!!a.multiple,a.multiple?[]:"",!1))}r[ei]=a}catch(f){Ze(e,e.return,f)}}break;case 6:if(sn(t,e),Tn(e),o&4){if(e.stateNode===null)throw Error(V(162));r=e.stateNode,a=e.memoizedProps;try{r.nodeValue=a}catch(f){Ze(e,e.return,f)}}break;case 3:if(sn(t,e),Tn(e),o&4&&n!==null&&n.memoizedState.isDehydrated)try{Ks(t.containerInfo)}catch(f){Ze(e,e.return,f)}break;case 4:sn(t,e),Tn(e);break;case 13:sn(t,e),Tn(e),r=e.child,r.flags&8192&&(a=r.memoizedState!==null,r.stateNode.isHidden=a,!a||r.alternate!==null&&r.alternate.memoizedState!==null||(um=Xe())),o&4&&ug(e);break;case 22:if(u=n!==null&&n.memoizedState!==null,e.mode&1?(xt=(d=xt)||u,sn(t,e),xt=d):sn(t,e),Tn(e),o&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(X=e,u=e.child;u!==null;){for(m=X=u;X!==null;){switch(g=X,y=g.child,g.tag){case 0:case 11:case 14:case 15:Ds(4,g,g.return);break;case 1:xa(g,g.return);var x=g.stateNode;if(typeof x.componentWillUnmount=="function"){o=g,n=g.return;try{t=o,x.props=t.memoizedProps,x.state=t.memoizedState,x.componentWillUnmount()}catch(f){Ze(o,n,f)}}break;case 5:xa(g,g.return);break;case 22:if(g.memoizedState!==null){hg(m);continue}}y!==null?(y.return=g,X=y):hg(m)}u=u.sibling}e:for(u=null,m=e;;){if(m.tag===5){if(u===null){u=m;try{r=m.stateNode,d?(a=r.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(i=m.stateNode,c=m.memoizedProps.style,s=c!=null&&c.hasOwnProperty("display")?c.display:null,i.style.display=Iv("display",s))}catch(f){Ze(e,e.return,f)}}}else if(m.tag===6){if(u===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(f){Ze(e,e.return,f)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;u===m&&(u=null),m=m.return}u===m&&(u=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:sn(t,e),Tn(e),o&4&&ug(e);break;case 21:break;default:sn(t,e),Tn(e)}}function Tn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(ob(n)){var o=n;break e}n=n.return}throw Error(V(160))}switch(o.tag){case 5:var r=o.stateNode;o.flags&32&&(Hs(r,""),o.flags&=-33);var a=dg(e);$p(e,a,r);break;case 3:case 4:var s=o.stateNode.containerInfo,i=dg(e);Vp(e,i,s);break;default:throw Error(V(161))}}catch(c){Ze(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function i2(e,t,n){X=e,sb(e)}function sb(e,t,n){for(var o=(e.mode&1)!==0;X!==null;){var r=X,a=r.child;if(r.tag===22&&o){var s=r.memoizedState!==null||Ki;if(!s){var i=r.alternate,c=i!==null&&i.memoizedState!==null||xt;i=Ki;var d=xt;if(Ki=s,(xt=c)&&!d)for(X=r;X!==null;)s=X,c=s.child,s.tag===22&&s.memoizedState!==null?mg(r):c!==null?(c.return=s,X=c):mg(r);for(;a!==null;)X=a,sb(a),a=a.sibling;X=r,Ki=i,xt=d}pg(e)}else r.subtreeFlags&8772&&a!==null?(a.return=r,X=a):pg(e)}}function pg(e){for(;X!==null;){var t=X;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:xt||jc(5,t);break;case 1:var o=t.stateNode;if(t.flags&4&&!xt)if(n===null)o.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:dn(t.type,n.memoizedProps);o.componentDidUpdate(r,n.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&Qf(t,a,o);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Qf(t,s,n)}break;case 5:var i=t.stateNode;if(n===null&&t.flags&4){n=i;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var m=u.dehydrated;m!==null&&Ks(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(V(163))}xt||t.flags&512&&Fp(t)}catch(g){Ze(t,t.return,g)}}if(t===e){X=null;break}if(n=t.sibling,n!==null){n.return=t.return,X=n;break}X=t.return}}function hg(e){for(;X!==null;){var t=X;if(t===e){X=null;break}var n=t.sibling;if(n!==null){n.return=t.return,X=n;break}X=t.return}}function mg(e){for(;X!==null;){var t=X;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{jc(4,t)}catch(c){Ze(t,n,c)}break;case 1:var o=t.stateNode;if(typeof o.componentDidMount=="function"){var r=t.return;try{o.componentDidMount()}catch(c){Ze(t,r,c)}}var a=t.return;try{Fp(t)}catch(c){Ze(t,a,c)}break;case 5:var s=t.return;try{Fp(t)}catch(c){Ze(t,s,c)}}}catch(c){Ze(t,t.return,c)}if(t===e){X=null;break}var i=t.sibling;if(i!==null){i.return=t.return,X=i;break}X=t.return}}var l2=Math.ceil,Hl=mo.ReactCurrentDispatcher,cm=mo.ReactCurrentOwner,Xt=mo.ReactCurrentBatchConfig,Se=0,ut=null,rt=null,mt=0,Vt=0,ka=mr(0),st=0,si=null,$r=0,Ac=0,dm=0,zs=null,Rt=null,um=0,Ga=1/0,Xn=null,Gl=!1,Bp=null,Xo=null,Qi=!1,Ho=null,ql=0,Fs=0,Wp=null,gl=-1,yl=0;function Ct(){return Se&6?Xe():gl!==-1?gl:gl=Xe()}function er(e){return e.mode&1?Se&2&&mt!==0?mt&-mt:HS.transition!==null?(yl===0&&(yl=Uv()),yl):(e=Ce,e!==0||(e=window.event,e=e===void 0?16:Yv(e.type)),e):1}function wn(e,t,n,o){if(50<Fs)throw Fs=0,Wp=null,Error(V(185));bi(e,n,o),(!(Se&2)||e!==ut)&&(e===ut&&(!(Se&2)&&(Ac|=n),st===4&&No(e,mt)),Ft(e,o),n===1&&Se===0&&!(t.mode&1)&&(Ga=Xe()+500,Sc&&fr()))}function Ft(e,t){var n=e.callbackNode;Hk(e,t);var o=Tl(e,e===ut?mt:0);if(o===0)n!==null&&Sf(n),e.callbackNode=null,e.callbackPriority=0;else if(t=o&-o,e.callbackPriority!==t){if(n!=null&&Sf(n),t===1)e.tag===0?US(fg.bind(null,e)):gw(fg.bind(null,e)),VS(function(){!(Se&6)&&fr()}),n=null;else{switch(Hv(o)){case 1:n=Dh;break;case 4:n=Bv;break;case 16:n=El;break;case 536870912:n=Wv;break;default:n=El}n=mb(n,ib.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ib(e,t){if(gl=-1,yl=0,Se&6)throw Error(V(327));var n=e.callbackNode;if(Ca()&&e.callbackNode!==n)return null;var o=Tl(e,e===ut?mt:0);if(o===0)return null;if(o&30||o&e.expiredLanes||t)t=Jl(e,o);else{t=o;var r=Se;Se|=2;var a=cb();(ut!==e||mt!==t)&&(Xn=null,Ga=Xe()+500,Nr(e,t));do try{u2();break}catch(i){lb(e,i)}while(!0);Qh(),Hl.current=a,Se=r,rt!==null?t=0:(ut=null,mt=0,t=st)}if(t!==0){if(t===2&&(r=gp(e),r!==0&&(o=r,t=Up(e,r))),t===1)throw n=si,Nr(e,0),No(e,o),Ft(e,Xe()),n;if(t===6)No(e,o);else{if(r=e.current.alternate,!(o&30)&&!c2(r)&&(t=Jl(e,o),t===2&&(a=gp(e),a!==0&&(o=a,t=Up(e,a))),t===1))throw n=si,Nr(e,0),No(e,o),Ft(e,Xe()),n;switch(e.finishedWork=r,e.finishedLanes=o,t){case 0:case 1:throw Error(V(345));case 2:Pr(e,Rt,Xn);break;case 3:if(No(e,o),(o&130023424)===o&&(t=um+500-Xe(),10<t)){if(Tl(e,0)!==0)break;if(r=e.suspendedLanes,(r&o)!==o){Ct(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=_p(Pr.bind(null,e,Rt,Xn),t);break}Pr(e,Rt,Xn);break;case 4:if(No(e,o),(o&4194240)===o)break;for(t=e.eventTimes,r=-1;0<o;){var s=31-vn(o);a=1<<s,s=t[s],s>r&&(r=s),o&=~a}if(o=r,o=Xe()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*l2(o/1960))-o,10<o){e.timeoutHandle=_p(Pr.bind(null,e,Rt,Xn),o);break}Pr(e,Rt,Xn);break;case 5:Pr(e,Rt,Xn);break;default:throw Error(V(329))}}}return Ft(e,Xe()),e.callbackNode===n?ib.bind(null,e):null}function Up(e,t){var n=zs;return e.current.memoizedState.isDehydrated&&(Nr(e,t).flags|=256),e=Jl(e,t),e!==2&&(t=Rt,Rt=n,t!==null&&Hp(t)),e}function Hp(e){Rt===null?Rt=e:Rt.push.apply(Rt,e)}function c2(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var o=0;o<n.length;o++){var r=n[o],a=r.getSnapshot;r=r.value;try{if(!bn(a(),r))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function No(e,t){for(t&=~dm,t&=~Ac,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-vn(t),o=1<<n;e[n]=-1,t&=~o}}function fg(e){if(Se&6)throw Error(V(327));Ca();var t=Tl(e,0);if(!(t&1))return Ft(e,Xe()),null;var n=Jl(e,t);if(e.tag!==0&&n===2){var o=gp(e);o!==0&&(t=o,n=Up(e,o))}if(n===1)throw n=si,Nr(e,0),No(e,t),Ft(e,Xe()),n;if(n===6)throw Error(V(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pr(e,Rt,Xn),Ft(e,Xe()),null}function pm(e,t){var n=Se;Se|=1;try{return e(t)}finally{Se=n,Se===0&&(Ga=Xe()+500,Sc&&fr())}}function Br(e){Ho!==null&&Ho.tag===0&&!(Se&6)&&Ca();var t=Se;Se|=1;var n=Xt.transition,o=Ce;try{if(Xt.transition=null,Ce=1,e)return e()}finally{Ce=o,Xt.transition=n,Se=t,!(Se&6)&&fr()}}function hm(){Vt=ka.current,Ve(ka)}function Nr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,FS(n)),rt!==null)for(n=rt.return;n!==null;){var o=n;switch(qh(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&Rl();break;case 3:Ua(),Ve(Dt),Ve(kt),nm();break;case 5:tm(o);break;case 4:Ua();break;case 13:Ve(Ge);break;case 19:Ve(Ge);break;case 10:Yh(o.type._context);break;case 22:case 23:hm()}n=n.return}if(ut=e,rt=e=tr(e.current,null),mt=Vt=t,st=0,si=null,dm=Ac=$r=0,Rt=zs=null,Ar!==null){for(t=0;t<Ar.length;t++)if(n=Ar[t],o=n.interleaved,o!==null){n.interleaved=null;var r=o.next,a=n.pending;if(a!==null){var s=a.next;a.next=r,o.next=s}n.pending=o}Ar=null}return e}function lb(e,t){do{var n=rt;try{if(Qh(),hl.current=Ul,Wl){for(var o=qe.memoizedState;o!==null;){var r=o.queue;r!==null&&(r.pending=null),o=o.next}Wl=!1}if(Vr=0,ct=at=qe=null,Ns=!1,oi=0,cm.current=null,n===null||n.return===null){st=1,si=t,rt=null;break}e:{var a=e,s=n.return,i=n,c=t;if(t=mt,i.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=i,m=u.tag;if(!(u.mode&1)&&(m===0||m===11||m===15)){var g=u.alternate;g?(u.updateQueue=g.updateQueue,u.memoizedState=g.memoizedState,u.lanes=g.lanes):(u.updateQueue=null,u.memoizedState=null)}var y=ng(s);if(y!==null){y.flags&=-257,og(y,s,i,a,t),y.mode&1&&tg(a,d,t),t=y,c=d;var x=t.updateQueue;if(x===null){var f=new Set;f.add(c),t.updateQueue=f}else x.add(c);break e}else{if(!(t&1)){tg(a,d,t),mm();break e}c=Error(V(426))}}else if(We&&i.mode&1){var b=ng(s);if(b!==null){!(b.flags&65536)&&(b.flags|=256),og(b,s,i,a,t),Jh(Ha(c,i));break e}}a=c=Ha(c,i),st!==4&&(st=2),zs===null?zs=[a]:zs.push(a),a=s;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var v=Hw(a,c,t);Kf(a,v);break e;case 1:i=c;var h=a.type,w=a.stateNode;if(!(a.flags&128)&&(typeof h.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(Xo===null||!Xo.has(w)))){a.flags|=65536,t&=-t,a.lanes|=t;var S=Gw(a,i,t);Kf(a,S);break e}}a=a.return}while(a!==null)}ub(n)}catch(_){t=_,rt===n&&n!==null&&(rt=n=n.return);continue}break}while(!0)}function cb(){var e=Hl.current;return Hl.current=Ul,e===null?Ul:e}function mm(){(st===0||st===3||st===2)&&(st=4),ut===null||!($r&268435455)&&!(Ac&268435455)||No(ut,mt)}function Jl(e,t){var n=Se;Se|=2;var o=cb();(ut!==e||mt!==t)&&(Xn=null,Nr(e,t));do try{d2();break}catch(r){lb(e,r)}while(!0);if(Qh(),Se=n,Hl.current=o,rt!==null)throw Error(V(261));return ut=null,mt=0,st}function d2(){for(;rt!==null;)db(rt)}function u2(){for(;rt!==null&&!Nk();)db(rt)}function db(e){var t=hb(e.alternate,e,Vt);e.memoizedProps=e.pendingProps,t===null?ub(e):rt=t,cm.current=null}function ub(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=r2(n,t),n!==null){n.flags&=32767,rt=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{st=6,rt=null;return}}else if(n=o2(n,t,Vt),n!==null){rt=n;return}if(t=t.sibling,t!==null){rt=t;return}rt=t=e}while(t!==null);st===0&&(st=5)}function Pr(e,t,n){var o=Ce,r=Xt.transition;try{Xt.transition=null,Ce=1,p2(e,t,n,o)}finally{Xt.transition=r,Ce=o}return null}function p2(e,t,n,o){do Ca();while(Ho!==null);if(Se&6)throw Error(V(327));n=e.finishedWork;var r=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(V(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(Gk(e,a),e===ut&&(rt=ut=null,mt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Qi||(Qi=!0,mb(El,function(){return Ca(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=Xt.transition,Xt.transition=null;var s=Ce;Ce=1;var i=Se;Se|=4,cm.current=null,s2(e,n),ab(n,e),OS(kp),Il=!!xp,kp=xp=null,e.current=n,i2(n),Dk(),Se=i,Ce=s,Xt.transition=a}else e.current=n;if(Qi&&(Qi=!1,Ho=e,ql=r),a=e.pendingLanes,a===0&&(Xo=null),Vk(n.stateNode),Ft(e,Xe()),t!==null)for(o=e.onRecoverableError,n=0;n<t.length;n++)r=t[n],o(r.value,{componentStack:r.stack,digest:r.digest});if(Gl)throw Gl=!1,e=Bp,Bp=null,e;return ql&1&&e.tag!==0&&Ca(),a=e.pendingLanes,a&1?e===Wp?Fs++:(Fs=0,Wp=e):Fs=0,fr(),null}function Ca(){if(Ho!==null){var e=Hv(ql),t=Xt.transition,n=Ce;try{if(Xt.transition=null,Ce=16>e?16:e,Ho===null)var o=!1;else{if(e=Ho,Ho=null,ql=0,Se&6)throw Error(V(331));var r=Se;for(Se|=4,X=e.current;X!==null;){var a=X,s=a.child;if(X.flags&16){var i=a.deletions;if(i!==null){for(var c=0;c<i.length;c++){var d=i[c];for(X=d;X!==null;){var u=X;switch(u.tag){case 0:case 11:case 15:Ds(8,u,a)}var m=u.child;if(m!==null)m.return=u,X=m;else for(;X!==null;){u=X;var g=u.sibling,y=u.return;if(nb(u),u===d){X=null;break}if(g!==null){g.return=y,X=g;break}X=y}}}var x=a.alternate;if(x!==null){var f=x.child;if(f!==null){x.child=null;do{var b=f.sibling;f.sibling=null,f=b}while(f!==null)}}X=a}}if(a.subtreeFlags&2064&&s!==null)s.return=a,X=s;else e:for(;X!==null;){if(a=X,a.flags&2048)switch(a.tag){case 0:case 11:case 15:Ds(9,a,a.return)}var v=a.sibling;if(v!==null){v.return=a.return,X=v;break e}X=a.return}}var h=e.current;for(X=h;X!==null;){s=X;var w=s.child;if(s.subtreeFlags&2064&&w!==null)w.return=s,X=w;else e:for(s=h;X!==null;){if(i=X,i.flags&2048)try{switch(i.tag){case 0:case 11:case 15:jc(9,i)}}catch(_){Ze(i,i.return,_)}if(i===s){X=null;break e}var S=i.sibling;if(S!==null){S.return=i.return,X=S;break e}X=i.return}}if(Se=r,fr(),Vn&&typeof Vn.onPostCommitFiberRoot=="function")try{Vn.onPostCommitFiberRoot(vc,e)}catch{}o=!0}return o}finally{Ce=n,Xt.transition=t}}return!1}function gg(e,t,n){t=Ha(n,t),t=Hw(e,t,1),e=Zo(e,t,1),t=Ct(),e!==null&&(bi(e,1,t),Ft(e,t))}function Ze(e,t,n){if(e.tag===3)gg(e,e,n);else for(;t!==null;){if(t.tag===3){gg(t,e,n);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(Xo===null||!Xo.has(o))){e=Ha(n,e),e=Gw(t,e,1),t=Zo(t,e,1),e=Ct(),t!==null&&(bi(t,1,e),Ft(t,e));break}}t=t.return}}function h2(e,t,n){var o=e.pingCache;o!==null&&o.delete(t),t=Ct(),e.pingedLanes|=e.suspendedLanes&n,ut===e&&(mt&n)===n&&(st===4||st===3&&(mt&130023424)===mt&&500>Xe()-um?Nr(e,0):dm|=n),Ft(e,t)}function pb(e,t){t===0&&(e.mode&1?(t=Vi,Vi<<=1,!(Vi&130023424)&&(Vi=4194304)):t=1);var n=Ct();e=io(e,t),e!==null&&(bi(e,t,n),Ft(e,n))}function m2(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),pb(e,n)}function f2(e,t){var n=0;switch(e.tag){case 13:var o=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(V(314))}o!==null&&o.delete(t),pb(e,n)}var hb;hb=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Dt.current)Nt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Nt=!1,n2(e,t,n);Nt=!!(e.flags&131072)}else Nt=!1,We&&t.flags&1048576&&yw(t,zl,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;fl(e,t),e=t.pendingProps;var r=$a(t,kt.current);Aa(t,n),r=rm(null,t,o,e,r,n);var a=am();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,zt(o)?(a=!0,Nl(t)):a=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,Xh(t),r.updater=Pc,t.stateNode=r,r._reactInternals=t,Ip(t,o,e,n),t=Lp(null,t,o,!0,a,n)):(t.tag=0,We&&a&&Gh(t),Pt(null,t,r,n),t=t.child),t;case 16:o=t.elementType;e:{switch(fl(e,t),e=t.pendingProps,r=o._init,o=r(o._payload),t.type=o,r=t.tag=y2(o),e=dn(o,e),r){case 0:t=Mp(null,t,o,e,n);break e;case 1:t=sg(null,t,o,e,n);break e;case 11:t=rg(null,t,o,e,n);break e;case 14:t=ag(null,t,o,dn(o.type,e),n);break e}throw Error(V(306,o,""))}return t;case 0:return o=t.type,r=t.pendingProps,r=t.elementType===o?r:dn(o,r),Mp(e,t,o,r,n);case 1:return o=t.type,r=t.pendingProps,r=t.elementType===o?r:dn(o,r),sg(e,t,o,r,n);case 3:e:{if(Qw(t),e===null)throw Error(V(387));o=t.pendingProps,a=t.memoizedState,r=a.element,Sw(e,t),$l(t,o,null,n);var s=t.memoizedState;if(o=s.element,a.isDehydrated)if(a={element:o,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){r=Ha(Error(V(423)),t),t=ig(e,t,o,n,r);break e}else if(o!==r){r=Ha(Error(V(424)),t),t=ig(e,t,o,n,r);break e}else for(Bt=Yo(t.stateNode.containerInfo.firstChild),Wt=t,We=!0,fn=null,n=xw(t,null,o,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ba(),o===r){t=lo(e,t,n);break e}Pt(e,t,o,n)}t=t.child}return t;case 5:return _w(t),e===null&&Cp(t),o=t.type,r=t.pendingProps,a=e!==null?e.memoizedProps:null,s=r.children,Sp(o,r)?s=null:a!==null&&Sp(o,a)&&(t.flags|=32),Kw(e,t),Pt(e,t,s,n),t.child;case 6:return e===null&&Cp(t),null;case 13:return Yw(e,t,n);case 4:return em(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=Wa(t,null,o,n):Pt(e,t,o,n),t.child;case 11:return o=t.type,r=t.pendingProps,r=t.elementType===o?r:dn(o,r),rg(e,t,o,r,n);case 7:return Pt(e,t,t.pendingProps,n),t.child;case 8:return Pt(e,t,t.pendingProps.children,n),t.child;case 12:return Pt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(o=t.type._context,r=t.pendingProps,a=t.memoizedProps,s=r.value,Ne(Fl,o._currentValue),o._currentValue=s,a!==null)if(bn(a.value,s)){if(a.children===r.children&&!Dt.current){t=lo(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var i=a.dependencies;if(i!==null){s=a.child;for(var c=i.firstContext;c!==null;){if(c.context===o){if(a.tag===1){c=ro(-1,n&-n),c.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}a.lanes|=n,c=a.alternate,c!==null&&(c.lanes|=n),Ep(a.return,n,t),i.lanes|=n;break}c=c.next}}else if(a.tag===10)s=a.type===t.type?null:a.child;else if(a.tag===18){if(s=a.return,s===null)throw Error(V(341));s.lanes|=n,i=s.alternate,i!==null&&(i.lanes|=n),Ep(s,n,t),s=a.sibling}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===t){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}Pt(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,o=t.pendingProps.children,Aa(t,n),r=en(r),o=o(r),t.flags|=1,Pt(e,t,o,n),t.child;case 14:return o=t.type,r=dn(o,t.pendingProps),r=dn(o.type,r),ag(e,t,o,r,n);case 15:return qw(e,t,t.type,t.pendingProps,n);case 17:return o=t.type,r=t.pendingProps,r=t.elementType===o?r:dn(o,r),fl(e,t),t.tag=1,zt(o)?(e=!0,Nl(t)):e=!1,Aa(t,n),Uw(t,o,r),Ip(t,o,r,n),Lp(null,t,o,!0,e,n);case 19:return Zw(e,t,n);
vendor: 7,750 bytes, line 41
41case 22:return Jw(e,t,n)}throw Error(V(156,t.tag))};function mb(e,t){return $v(e,t)}function g2(e,t,n,o){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Zt(e,t,n,o){return new g2(e,t,n,o)}function fm(e){return e=e.prototype,!(!e||!e.isReactComponent)}function y2(e){if(typeof e=="function")return fm(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Lh)return 11;if(e===Rh)return 14}return 2}function tr(e,t){var n=e.alternate;return n===null?(n=Zt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function vl(e,t,n,o,r,a){var s=2;if(o=e,typeof e=="function")fm(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case pa:return Dr(n.children,r,a,t);case Mh:s=8,r|=8;break;case tp:return e=Zt(12,n,t,r|2),e.elementType=tp,e.lanes=a,e;case np:return e=Zt(13,n,t,r),e.elementType=np,e.lanes=a,e;case op:return e=Zt(19,n,t,r),e.elementType=op,e.lanes=a,e;case _v:return Cc(n,r,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case kv:s=10;break e;case Sv:s=9;break e;case Lh:s=11;break e;case Rh:s=14;break e;case Oo:s=16,o=null;break e}throw Error(V(130,e==null?e:typeof e,""))}return t=Zt(s,n,t,r),t.elementType=e,t.type=o,t.lanes=a,t}function Dr(e,t,n,o){return e=Zt(7,e,o,t),e.lanes=n,e}function Cc(e,t,n,o){return e=Zt(22,e,o,t),e.elementType=_v,e.lanes=n,e.stateNode={isHidden:!1},e}function Tu(e,t,n){return e=Zt(6,e,null,t),e.lanes=n,e}function Iu(e,t,n){return t=Zt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function v2(e,t,n,o,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=uu(0),this.expirationTimes=uu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=uu(0),this.identifierPrefix=o,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function gm(e,t,n,o,r,a,s,i,c){return e=new v2(e,t,n,i,c),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Zt(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:o,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xh(a),e}function w2(e,t,n){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ua,key:o==null?null:""+o,children:e,containerInfo:t,implementation:n}}function fb(e){if(!e)return ir;e=e._reactInternals;e:{if(Qr(e)!==e||e.tag!==1)throw Error(V(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(zt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(V(171))}if(e.tag===1){var n=e.type;if(zt(n))return fw(e,n,t)}return t}function gb(e,t,n,o,r,a,s,i,c){return e=gm(n,o,!0,e,r,a,s,i,c),e.context=fb(null),n=e.current,o=Ct(),r=er(n),a=ro(o,r),a.callback=t??null,Zo(n,a,r),e.current.lanes=r,bi(e,r,o),Ft(e,o),e}function Ec(e,t,n,o){var r=t.current,a=Ct(),s=er(r);return n=fb(n),t.context===null?t.context=n:t.pendingContext=n,t=ro(a,s),t.payload={element:e},o=o===void 0?null:o,o!==null&&(t.callback=o),e=Zo(r,t,s),e!==null&&(wn(e,r,s,a),pl(e,r,s)),s}function Kl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function yg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ym(e,t){yg(e,t),(e=e.alternate)&&yg(e,t)}function b2(){return null}var yb=typeof reportError=="function"?reportError:function(e){console.error(e)};function vm(e){this._internalRoot=e}Tc.prototype.render=vm.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(V(409));Ec(e,t,null,null)};Tc.prototype.unmount=vm.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Br(function(){Ec(null,e,null,null)}),t[so]=null}};function Tc(e){this._internalRoot=e}Tc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Jv();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ro.length&&t!==0&&t<Ro[n].priority;n++);Ro.splice(n,0,e),n===0&&Qv(e)}};function wm(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ic(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function vg(){}function x2(e,t,n,o,r){if(r){if(typeof o=="function"){var a=o;o=function(){var d=Kl(s);a.call(d)}}var s=gb(t,o,e,0,null,!1,!1,"",vg);return e._reactRootContainer=s,e[so]=s.current,Zs(e.nodeType===8?e.parentNode:e),Br(),s}for(;r=e.lastChild;)e.removeChild(r);if(typeof o=="function"){var i=o;o=function(){var d=Kl(c);i.call(d)}}var c=gm(e,0,!1,null,null,!1,!1,"",vg);return e._reactRootContainer=c,e[so]=c.current,Zs(e.nodeType===8?e.parentNode:e),Br(function(){Ec(t,c,n,o)}),c}function Oc(e,t,n,o,r){var a=n._reactRootContainer;if(a){var s=a;if(typeof r=="function"){var i=r;r=function(){var c=Kl(s);i.call(c)}}Ec(t,s,e,r)}else s=x2(n,t,e,r,o);return Kl(s)}Gv=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=As(t.pendingLanes);n!==0&&(zh(t,n|1),Ft(t,Xe()),!(Se&6)&&(Ga=Xe()+500,fr()))}break;case 13:Br(function(){var o=io(e,1);if(o!==null){var r=Ct();wn(o,e,1,r)}}),ym(e,1)}};Fh=function(e){if(e.tag===13){var t=io(e,134217728);if(t!==null){var n=Ct();wn(t,e,134217728,n)}ym(e,134217728)}};qv=function(e){if(e.tag===13){var t=er(e),n=io(e,t);if(n!==null){var o=Ct();wn(n,e,t,o)}ym(e,t)}};Jv=function(){return Ce};Kv=function(e,t){var n=Ce;try{return Ce=e,t()}finally{Ce=n}};hp=function(e,t,n){switch(t){case"input":if(sp(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var o=n[t];if(o!==e&&o.form===e.form){var r=kc(o);if(!r)throw Error(V(90));jv(o),sp(o,r)}}}break;case"textarea":Cv(e,n);break;case"select":t=n.value,t!=null&&Sa(e,!!n.multiple,t,!1)}};Rv=pm;Nv=Br;var k2={usingClientEntryPoint:!1,Events:[ki,ga,kc,Mv,Lv,pm]},ws={findFiberByHostInstance:jr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},S2={bundleType:ws.bundleType,version:ws.version,rendererPackageName:ws.rendererPackageName,rendererConfig:ws.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:mo.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Fv(e),e===null?null:e.stateNode},findFiberByHostInstance:ws.findFiberByHostInstance||b2,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};
41if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Yi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Yi.isDisabled&&Yi.supportsFiber)try{vc=Yi.inject(S2),Vn=Yi}catch{}}qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=k2;qt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!wm(t))throw Error(V(200));return w2(e,t,null,n)};qt.createRoot=function(e,t){if(!wm(e))throw Error(V(299));var n=!1,o="",r=yb;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=gm(e,1,!1,null,null,n,!1,o,r),e[so]=t.current,Zs(e.nodeType===8?e.parentNode:e),new vm(t)};qt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(V(188)):(e=Object.keys(e).join(","),Error(V(268,e)));return e=Fv(t),e=e===null?null:e.stateNode,e};qt.flushSync=function(e){return Br(e)};qt.hydrate=function(e,t,n){if(!Ic(t))throw Error(V(200));return Oc(null,e,t,!0,n)};qt.hydrateRoot=function(e,t,n){if(!wm(e))throw Error(V(405));var o=n!=null&&n.hydratedSources||null,r=!1,a="",s=yb;if(n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=gb(t,null,e,1,n??null,r,!1,a,s),e[so]=t.current,Zs(e),o)for(e=0;e<o.length;e++)n=o[e],r=n._getVersion,r=r(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Tc(t)};qt.render=function(e,t,n){if(!Ic(t))throw Error(V(200));return Oc(null,e,t,!1,n)};qt.unmountComponentAtNode=function(e){if(!Ic(e))throw Error(V(40));return e._reactRootContainer?(Br(function(){Oc(null,null,e,!1,function(){e._reactRootContainer=null,e[so]=null})}),!0):!1};qt.unstable_batchedUpdates=pm;qt.unstable_renderSubtreeIntoContainer=function(e,t,n,o){if(!Ic(n))throw Error(V(200));if(e==null||e._reactInternals===void 0)throw Error(V(38));return Oc(e,t,n,!1,o)};qt.version="18.3.1-next-f1338f8080-20240426";function vb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(vb)}catch(e){console.error(e)}}vb(),vv.exports=qt;var gr=vv.exports;const bm=_h(gr),NR=gc({__proto__:null,default:bm},[gr]);var wb,xm,wg=gr;xm=Pl.createRoot=wg.createRoot,wb=Pl.hydrateRoot=wg.hydrateRoot;const DR=gc({__proto__:null,get createRoot(){return xm},default:Pl,get hydrateRoot(){return wb}},[Pl]),_2="modulepreload",P2=function(e){return"/"+e},bg={},C=function(t,n,o){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),i=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=P2(c),c in bg)return;bg[c]=!0;const d=c.endsWith(".css"),u=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":_2,d||(m.as="script"),m.crossOrigin="",m.href=c,i&&m.setAttribute("nonce",i),document.head.appendChild(m),d)return new Promise((g,y)=>{m.addEventListener("load",g),m.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return r.then(s=>{for(const i of s||[])i.status==="rejected"&&a(i.reason);return t().catch(a)})},bb=p.createContext(null),j2=new Set(["compounding","beginning"]);function A2({children:e}){const[t,n]=p.useState("beginning");return p.useEffect(()=>{const r=new URLSearchParams(window.location.search).get("path");r&&j2.has(r)&&n(r)},[]),p.useEffect(()=>{const o=new URLSearchParams(window.location.search);if(o.get("path")===t)return;o.set("path",t);const r=`${window.location.pathname}?${o.toString()}${window.location.hash}`;window.history.replaceState({},"",r)},[t]),l.jsx(bb.Provider,{value:{path:t,setPath:n},children:e})}function C2(){const e=p.useContext(bb);
41if(!e)throw new Error("usePath must be used inside <PathProvider>");return e}const k={ink:"#000000",paper:"#FFFFFF",blueprint:"#0751CF",blueprintOnInk:"#5B8DEF",onPaper:"#000000",onPaperMute:"rgba(0, 0, 0, 0.58)",onPaperDim:"rgba(0, 0, 0, 0.36)",onInk:"#FFFFFF",onInkMute:"rgba(255, 255, 255, 0.64)",onInkDim:"rgba(255, 255, 255, 0.40)",chalk:"rgba(0, 0, 0, 0.12)",chalkOnInk:"rgba(255, 255, 255, 0.18)"},G={display:"'Switzer', 'Hanken Grotesk', 'Plus Jakarta Sans', system-ui, sans-serif",sans:"'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif",mono:"'JetBrains Mono', ui-monospace, monospace"};function Ue(e,t=10.5){return{fontFamily:G.mono,fontSize:t,fontWeight:700,letterSpacing:"0.22em",textTransform:"uppercase",color:e}}function Et({ground:e,eyebrow:t,id:n,fullHeight:o=!1,children:r}){const a=e==="ink",s=l.jsxs(l.Fragment,{children:[t&&l.jsxs("header",{className:"relative w-full",style:{paddingLeft:"clamp(24px, 5vw, 64px)",paddingRight:"clamp(24px, 5vw, 64px)",paddingTop:"28px"},children:[l.jsx("div",{style:Ue(a?k.onInkDim:k.blueprint,12.5),children:t}),l.jsx("div",{"aria-hidden":!0,style:{height:1,background:a?k.chalkOnInk:k.chalk,marginTop:"16px"}})]}),l.jsx("div",{className:o?"flex-1 flex flex-col justify-center":void 0,style:{position:"relative",zIndex:1,paddingLeft:"clamp(24px, 5vw, 64px)",paddingRight:"clamp(24px, 5vw, 64px)",paddingTop:o?"clamp(40px, 6vh, 80px)":"clamp(64px, 9vh, 112px)",paddingBottom:o?"clamp(40px, 6vh, 80px)":"clamp(72px, 10vh, 128px)"},children:r})]});return a?l.jsx("section",{id:n,className:o?"min-h-screen flex flex-col":void 0,style:{background:k.ink,color:k.onInk,position:"relative",overflow:"hidden"},children:s}):l.jsx("section",{id:n,className:o?"min-h-screen flex flex-col":void 0,style:{background:k.paper,color:k.onPaper,position:"relative",overflow:"hidden",paddingLeft:"clamp(12px, 2vw, 24px)",paddingRight:"clamp(12px, 2vw, 24px)"},children:l.jsx("div",{className:o?"flex-1 flex flex-col w-full":void 0,style:{maxWidth:1392,width:"100%",margin:"0 auto",borderLeft:`1px solid ${k.chalk}`,borderRight:`1px solid ${k.chalk}`},children:s})})}function Yr(){return l.jsx("style",{children:` 42 .cut-link { position: relative; } 43 .cut-link::after { 44 content: ""; 45 position: absolute; 46 left: 0; 47 bottom: -4px; 48 height: 1px; 49 width: 100%; 50 background: currentColor; 51 transform: scaleX(0); 52 transform-origin: left center; 53 transition: transform 340ms cubic-bezier(.2,.7,.2,1); 54 } 55 .cut-link:hover::after { transform: scaleX(1); } 56 .cut-tab:focus-visible { 57 outline: 2px solid ${k.blueprint}; 58 outline-offset: 2px; 59 } 60 @media (prefers-reduced-motion: reduce) { 61 .cut-link::after { transition: none; } 62 } 63 `})}const nr={hero:{wordmark:"MOONSHOT PARTNERS",eyebrow:"Product studio · London",hello:"Hello, future ally,",title:"We are Moonshot.",leadIn:"Your AI transformation partner.",note:"Ready to become AI-native?"},switcher:{eyebrow:"TWO ROUTES",helper:"Choose your starting point.",beginning:{label:"STARTING WITH AI",n:"01",caption:"For teams building their first real AI system."},compounding:{label:"ALREADY RUNNING AI",n:"02",caption:"For teams whose AI now has to hold up."}},method:{eyebrow:"OUR APPROACH",statement:"Moonshot helps you move from AI-absent to AI-native.",cards:[{n:"01",label:"Strategy",headline:"Find where AI can move the needle.",body:"We look across your business to identify the highest-impact AI opportunities, prioritize what matters, and turn them into a clear plan of action."},{n:"02",label:"Transformation",headline:"Put AI to work across your business.",body:"We implement the tools, workflows and change needed to drive adoption, measure impact and turn AI into measurable business value."},{n:"03",label:"Engineering",headline:"Build more, with less.",body:"AI-native engineering squads ship software faster and more efficiently, with a model built around outcomes delivered, not hours worked."}]},cases:{eyebrow:"SELECTED WORK",title:{lead:"Some of our work,",tail:"a couple of use cases."},intro:"",items:[{kicker:"AI-Native Engineering",title:"AI agents shipping real softw
63are for Schools Out.",body:["Schools Out is a SaaS platform connecting families with after-school programmes. They needed to go from idea to working product with a small team and no time to waste.","We automated their software development cycle end to end with AI agents, from specs to code to testing, with our team reviewing and steering every step. A small team shipping at the pace of a much bigger one."],kickerEnd:"Agents do the heavy lifting. People make the calls.",image:"/Images/ClientLogos/Client_pictures/Schoolsoutfounders.avif",imageAlt:"Schools Out founders",cta:"https://cal.com/team/moonshotpartners/discoverycall"},{kicker:"AI-Native Operating System",title:"Agentic AI architecture for IOV42.",body:["We are building IOV42's agent stack. Three layers. Each layer earns its own permissions. The company decides what every agent is allowed to do, and changes it when the work changes.","What gets built is theirs to run. We design the architecture, the controls, and the operating model. IOV42 owns every decision the agents make."],kickerEnd:"A stack they own. Permissions they set. A team working from the inside.",image:"/Images/Team/DSCF6261-5-800x800.jpg",imageAlt:"IOV42 founder",imageAspect:"1 / 1",imagePosition:"center 30%",cta:"https://cal.com/team/moonshotpartners/discoverycall"}]},contact:{eyebrow:"TALK TO US",heading:"We care like we're inâhouse.",intro:"",talkSoon:"Looking forward to talk soon",submitLabel:"Submit",submitNote:"By submitting this form you confirm that you agree to Moonshot's privacy policy."},navbar:{links:[{label:"Approach",href:"#approach"},{label:"Clients",href:"#clients"},{label:"Work",href:"#work"}],cta:{label:"Book a call",href:"https://cal.com/team/moonshotpartners/discoverycall"}},footer:{imprint:"Moonshot Partners · London",links:[{label:"LinkedIn",href:"https://www.linkedin.com/company/moonshotpartners"},{label:"Email",href:"mailto:[email protected]"},{label:"Privacy",href:"/privacy"}]}},bs="#FFFFFF";function E2(){return l.jsx("nav",{style:{position:"sticky",top:0,zIndex:40,height:"96px",background:k.ink},children:l.jsxs("div",{className:"max-w-7xl mx-auto h-full flex items-center justify-between gap-6",style:{paddingLeft:"clamp(24px, 5vw, 64px)",paddingRight:"clamp(24px, 5vw, 64px)"},children:[l.jsx("a",{href:"/","aria-label":"Moonshot Partners",className:"flex items-center",style:{height:"100%"},children:l.jsx("img",{src:"/moonshot-logo.png",alt:"Moonshot Partners",style:{height:"26px",width:"auto",display:"block",filter:"brightness(0) invert(1)"}})}),l.jsxs("div",{className:"flex items-center gap-1 md:gap-6",children:[l.jsx("div",{className:"hidden md:flex items-center gap-6",children:nr.navbar.links.map(e=>l.jsx("a",{href:e.href,className:"cut-link",style:{fontFamily:G.mono,fontSize:"12px",fontWeight:700,letterSpacing:"0.22em",textTransform:"uppercase",color:bs},children:e.label},e.href))}),l.jsx("a",{href:nr.navbar.cta.href,target:"_blank",rel:"noopener noreferrer",style:{fontFamily:G.mono,fontSize:"12px",fontWeight:700,letterSpacing:"0.22em",textTransform:"uppercase",color:bs,border:`1px solid ${bs}`,borderRadius:2,padding:"11px 20px",transition:"background 200ms ease, color 200ms ease"},onMouseEnter:e=>{e.currentTarget.style.background=bs,e.currentTarget.style.color=k.ink},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color=bs},children:nr.navbar.cta.label})]})]})})}function T2(){const e=nr.hero;return l.jsxs("section",{id:"top",style:{background:k.ink,color:k.onInk,minHeight:"calc(100vh - 96px)",position:"relative",overflow:"hidden"},children:[l.jsxs("div",{style:{maxWidth:1280,margin:"0 auto",padding:"clamp(40px, 6vh, 72px) clamp(28px, 5vw, 80px)",minHeight:"calc(100vh - 96px)",display:"flex",flexDirection:"column",position:"relative"},children:[l.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",paddingTop:"clamp(16px, 2.5vh, 32px)",paddingBottom:"clamp(16px, 2.5vh, 32px)"},children:[l.jsx("p",{style:{fontFamily:G.display,fontWeight:400,fontSize:"clamp(20px, 2.1vw, 30px)",lineHeight:1.3,color:k.onInk,margin:0,marginBottom:"clamp(10px, 1.5vh, 16px)",opacity:0,animation:"moonshotHeroFade 700ms 60ms cubic-bezier(.2,.7,.2,1) forwards"},children:e.hello}),l.jsx("h1",{style:{fontFamily:G.display,fontWeight:500,fontSize:"clamp(40px, 7.6vw, 112px)",lineHeight:1.02,letterSpacing:"-0.025em",color:k.onInk,margin:0,marginLeft:"-0.02em",maxWidth:"9ch",opacity:0,animation:"moonshotHeroFade 700ms 140ms cubic-bezier(.2,.7,.2,1) forwards"},children:e.title}),l.jsx("p",{style:{fontFamily:G.display,fontWeight:400,fontSize:"clamp(20px, 2.5vw, 36px)",lineHeight:1.45,color:k.onInkMute,margin:0,marginTop:"clamp(20px, 3vh, 32px)",maxWidth:"46ch",opacity:0,animation:"moonshotHeroFade 700ms 280ms cubic-bezier(.2,.7,.2,1) forwards"},children:e.leadIn}),l.jsx("div",{className:"flex flex-col md:ml-[58%]",style:{gap:16,alignItems:"flex-start",maxWidth:420,marginTop:"clamp(20px, 3vh, 32px)",opacity:0,animation:"moonshotHeroFade 700ms 400ms cubic-bezier(.2,.7,.2,1) forwards"},children:l.jsxs("div",{className:"flex items-center flex-wrap",style:{gap:16}
63,children:[l.jsxs("div",{className:"flex -space-x-3",children:[l.jsx("img",{src:"/Images/Team/Fran.jpeg",alt:"Fran",className:"w-16 h-16 rounded-full object-cover",style:{border:`1px solid ${k.chalkOnInk}`}}),l.jsx("img",{src:"/Images/Team/Juan.png",alt:"Juan",className:"w-16 h-16 rounded-full object-cover",style:{border:`1px solid ${k.chalkOnInk}`}})]}),l.jsxs("p",{style:{fontFamily:G.display,fontWeight:400,fontSize:18,lineHeight:1.55,color:k.onInkMute,margin:0,maxWidth:"27ch"},children:[e.note," ",l.jsx("a",{href:"https://cal.com/team/moonshotpartners/discoverycall",target:"_blank",rel:"noopener noreferrer",style:{color:k.onInk,fontWeight:600,whiteSpace:"nowrap",textDecoration:"underline",textUnderlineOffset:"5px",textDecorationColor:"rgba(255, 255, 255, 0.35)",transition:"text-decoration-color 200ms ease"},onMouseEnter:t=>{t.currentTarget.style.textDecorationColor="#FFFFFF"},onMouseLeave:t=>{t.currentTarget.style.textDecorationColor="rgba(255, 255, 255, 0.35)"},children:"Let's talk â"})]})]})})]}),l.jsx("div",{style:{paddingTop:"16px",paddingBottom:"16px",marginTop:"12px",opacity:0,animation:"moonshotHeroFade 700ms 520ms cubic-bezier(.2,.7,.2,1) forwards"},children:l.jsxs("div",{className:"flex items-center flex-wrap md:flex-nowrap justify-center md:justify-start",style:{gap:"18px 28px"},children:[l.jsx("span",{className:"basis-full text-center md:basis-auto md:text-left",style:{...Ue(k.onInkMute,10)},children:"Trusted by teams at"}),l.jsx("span",{"aria-hidden":!0,className:"hidden md:block",style:{width:1,height:14,background:k.chalkOnInk,marginRight:"12px"}}),["Pearson","go1","Grove","Speedinvest","Techstars","dYdX","Libsyn","Medium"].map(t=>l.jsx("span",{className:"shrink-0 text-[14.5px] md:text-[15px] leading-none tracking-[-0.01em] text-white/90 font-medium",style:{fontFamily:G.sans},children:t},t))]})})]}),l.jsx("style",{children:` 64 @keyframes moonshotHeroFade { 65 from { opacity: 0; transform: translateY(8px); } 66 to { opacity: 1; transform: translateY(0); } 67 } 68 @media (prefers-reduced-motion: reduce) { 69 #top [style*="moonshotHeroFade"] { animation-duration: 1ms !important; } 70 } 71 `})]})}function I2(){const e=nr.method;return l.jsx("section",{id:"approach",style:{background:k.paper,color:k.onPaper},children:l.jsxs("div",{style:{maxWidth:1440,margin:"0 auto",padding:"clamp(72px, 10vh, 128px) clamp(28px, 5vw, 80px)"},children:[l.jsx("p",{style:{...Ue(k.blueprint,13),margin:0,marginBottom:"clamp(40px, 6vh, 64px)"},children:e.eyebrow}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-[38%_1fr] items-start",style:{gap:"clamp(48px, 6vw, 96px)"},children:[l.jsx("div",{className:"md:sticky self-start",style:{top:120},children:l.jsx("h2",{style:{fontFamily:G.display,fontWeight:500,fontSize:"clamp(34px, 3.2vw, 54px)",lineHeight:1.08,letterSpacing:"-0.02em",color:k.onPaper,margin:0},children:e.statement})}),l.jsx("div",{className:"flex flex-col",style:{gap:28},children:e.cards.map(t=>l.jsxs("article",{style:{border:`1px solid ${k.chalk}`,borderRadius:2,padding:"clamp(36px, 4.5vw, 64px)"},children:[l.jsxs("p",{style:{...Ue(k.onPaper,13),margin:0},children:[l.jsx("span",{style:{color:k.blueprint},children:t.n}),l.jsx("span",{"aria-hidden":!0,style:{padding:"0 10px",color:k.onPaperDim},children:"·"}),t.label]}),l.jsx("h3",{style:{fontFamily:G.display,fontWeight:600,fontSize:"clamp(26px, 2.4vw, 40px)",lineHeight:1.12,letterSpacing:"-0.015em",color:k.onPaper,margin:0,marginTop:20},children:t.headline}),l.jsx("p",{style:{fontFamily:G.sans,fontWeight:400,fontSize:"clamp(15px, 1.15vw, 17px)",lineHeight:1.7,color:k.onPaperMute,margin:0,marginTop:18,maxWidth:"58ch"},children:t.body})]},t.n))})]})]})})}function O2(){const e=nr.cases;return l.jsx(Et,{ground:"paper",eyebrow:e.eyebrow,id:"work",children:l.jsxs("div",{className:"flex flex-col",style:{gap:"clamp(48px, 7vh, 72px)"},children:[l.jsxs("div",{className:"flex flex-col gap-6",children:[l.jsxs("h2",{style:{fontFamily:G.display,fontSize:"clamp(38px, 5.2vw, 80px)",lineHeight:1,letterSpacing:"-0.02em",color:k.onPaper,margin:0},children:[l.jsx("span",{style:{display:"block",fontWeight:300},children:e.title.lead}),l.jsx("span",{style:{display:"block",fontWeight:800},children:e.title.tail})]}),e.intro]}),l.jsx("div",{className:"flex flex-col",style:{gap:"clamp(56px, 8vh, 80px)"},children:e.items.map((t,n)=>{const o=n%2===1;return l.jsxs("article",{className:"grid grid-cols-1 lg:grid-cols-12 gap-x-12 gap-y-8 items-center",children:[l.jsxs("div",{className:`lg:col-span-6 ${o?"lg:order-2":""}`,children:[l.jsx("p",{style:{...Ue(k.blueprint,12.5),letterSpacing:"0.28em",margin:0},children:t.kicker}),l.jsx("h3",{style:{fontFamily:G.display,fontWeight:700,fontSize:"clamp(24px, 2.4vw, 34px)",lineHeight:1.08,letterSpacing:"-0.015em",color:k.onPaper,margin:0,marginTop:"20px",maxWidth:"24ch"},children:t.title}),t.body.map((r,a)=>l.jsx("p",{style:{fontFamily:G.sans,fontSize:"clamp(13px, 1.05vw, 15px)",lineHeight:1.7,color:k.onPaperMute,margin:0,marginTop:a===0?"24px":"14px",maxWidth:"52ch"},children:r},a)),l.jsx("p",{style:{fontFamily:G.sans,fontWeight:600,fontSize:"13.5px",lineHeight:1.55,color:k.onPaperDim,margin:0,marginTop:"20px",maxWidth:"52ch"},children:t.kickerEnd}),l.jsx("a",{href:t.cta,target:"_blank",rel:"noopener noreferrer",className:"cut-link",style:{...Ue(k.onPaper),display:"inline-block",marginTop:"28px"},children:"Talk to the team â"})]}),l.jsx("div",{className:`lg:col-span-6 ${o?"lg:order-1":""}`,children:l.jsx("div",{style:{overflow:"hidden",borderRadius:2,border:`1px solid ${k.chalk}`,aspectRatio:t.imageAspect??"4 / 3"},children:l.jsx("img",{src:t.image,alt:t.imageAlt,loading:"lazy",style:{width:"100%",height:"100%",objectFit:"cover",objectPosition:t.imagePosition??"center",display:"block"}})})})]},t.title)})})]})})}const Re={black:"#0A0A0A",ink:"#111111",cream:"#F5F1EA",creamSoft:"#EDE7DD",textOnDark:"#F
715F1EA",textOnDarkMute:"rgba(245, 241, 234, 0.62)",textOnDarkDim:"rgba(245, 241, 234, 0.42)",textOnLight:"#0A0A0A",textOnLightMute:"rgba(10, 10, 10, 0.62)",textOnLightDim:"rgba(10, 10, 10, 0.42)",rule:"rgba(10, 10, 10, 0.16)",ruleOnDark:"rgba(245, 241, 234, 0.18)",orange:"#E8703A"},Me={serif:"'DM Serif Display', 'Playfair Display', Georgia, serif",sans:"'Lato', 'Inter', system-ui, -apple-system, sans-serif",mono:"'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace"};function zR({variant:e,pageNumber:t,eyebrow:n,sectionTag:o,children:r,flush:a=!1}){const s=e==="dark",i=s?Re.black:Re.cream,c=s?Re.textOnDark:Re.textOnLight,d=s?Re.textOnDarkDim:Re.textOnLightDim,u=s?Re.ruleOnDark:Re.rule;return l.jsxs("section",{className:"moonshot-edit-slide relative w-full min-h-screen snap-start overflow-hidden flex flex-col",style:{background:i,color:c},children:[(n||o||t)&&l.jsxs("header",{className:"relative w-full",style:{paddingLeft:"clamp(24px, 5vw, 64px)",paddingRight:"clamp(24px, 5vw, 64px)",paddingTop:"28px"},children:[l.jsxs("div",{className:"flex items-baseline justify-between gap-6",children:[l.jsx("div",{style:{fontFamily:Me.sans,fontSize:"10px",fontWeight:700,letterSpacing:"0.22em",textTransform:"uppercase",color:d},children:n}),t&&l.jsx("div",{style:{fontFamily:Me.mono,fontSize:"10px",fontWeight:500,letterSpacing:"0.18em",color:d,fontVariantNumeric:"tabular-nums"},children:t})]}),l.jsx("div",{"aria-hidden":!0,style:{height:"1px",background:u,marginTop:"16px"}})]}),l.jsx("div",{className:"flex-1 flex flex-col justify-center",style:{paddingLeft:a?"0":"clamp(24px, 5vw, 64px)",paddingRight:a?"0":"clamp(24px, 5vw, 64px)",paddingTop:a?"0":"clamp(40px, 6vh, 80px)",paddingBottom:a?"0":"clamp(40px, 6vh, 80px)"},children:r})]})}function FR({children:e,variant:t="dark"}){const n=t==="dark"?Re.textOnDarkDim:Re.textOnLightDim;return l.jsx("span",{style:{fontFamily:Me.sans,fontSize:"10px",fontWeight:700,letterSpacing:"0.24em",textTransform:"uppercase",color:n},children:e})}function VR({top:e,bottom:t,variant:n="dark",size:o="lg"}){const r=n==="dark"?Re.textOnDark:Re.textOnLight,a=n==="dark"?Re.textOnDarkMute:Re.textOnLightMute,s={md:"clamp(32px, 3.8vw, 48px)",lg:"clamp(40px, 5vw, 72px)",xl:"clamp(48px, 6vw, 88px)"};return l.jsxs("h1",{style:{fontFamily:Me.serif,fontWeight:400,fontSize:s[o],lineHeight:1.04,letterSpacing:"-0.012em",color:r,margin:0,maxWidth:"20ch"},children:[e&&l.jsx("span",{style:{display:"block"},children:e}),t&&l.jsx("span",{style:{display:"block",color:a},children:t})]})}function $R({n:e,label:t,body:n,variant:o="dark"}){const r=o==="dark"?Re.textOnDark:Re.textOnLight,a=o==="dark"?Re.textOnDarkMute:Re.textOnLightMute,s=o==="dark"?Re.ruleOnDark:Re.rule;return l.jsxs("div",{className:"grid items-baseline editorial-numbered-step",style:{gridTemplateColumns:"70px 200px 1fr",gap:"clamp(16px, 2vw, 32px)",paddingTop:"24px",paddingBottom:"24px",borderTop:`1px solid ${s}`},children:[l.jsx("span",{style:{fontFamily:Me.mono,fontVariantNumeric:"tabular-nums",fontSize:"13px",fontWeight:500,letterSpacing:"0.04em",color:a},children:e}),l.jsx("span",{style:{fontFamily:Me.serif,fontWeight:400,fontSize:"clamp(18px, 1.8vw, 24px)",lineHeight:1.15,color:r},children:t}),l.jsx("span",{style:{fontFamily:Me.sans,fontSize:"13px",fontWeight:400,lineHeight:1.6,color:a,maxWidth:"70ch"},children:n})]})}const Sr="#0A0A0A",xg="#FFFFFF",kg="rgba(10, 10, 10, 0.62)",Ou="rgba(10, 10, 10, 0.38)",_o="rgba(10, 10, 10, 0.14)",M2=["Netflix","MasterClass","Robinhood","Medium","Ticketmaster","Webflow"];function xb(){return l.jsxs("section",{id:"testimonial",style:{background:xg,color:Sr,position:"relative",overflow:"hidden",minHeight:"100vh",display:"flex",flexDirection:"column",paddingLeft:"clamp(12px, 2vw, 24px)",paddingRight:"clamp(12px, 2vw, 24px)"},children:[l.jsx("div",{style:{maxWidth:1392,width:"100%",margin:"0 auto",flex:1,display:"flex",flexDirection:"column",justifyContent:"center",borderLeft:`1px solid ${_o}`,borderRight:`1px solid ${_o}`},children:l.jsxs("div",{style:{maxWidth:1280,margin:"0 auto",padding:"clamp(56px, 8vh, 104px) clamp(28px, 5vw, 80px)",display:"grid",gridTemplateColumns:"minmax(0, 1.15fr) minmax(0, 1fr)",gap:"clamp(48px, 7vw, 120px)",alignItems:"center"},className:"moonshot-testimonial-grid",children:[l.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"clamp(28px, 4vh, 44px)"},children:[l.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:14,fontFamily:Me.mono,fontSize:12.5,letterSpacing:"0.32em",textTransform:"uppercase",color:k.blueprint},children:[l.jsx("span",{style:{width:24,height:1,background:k.blueprint}}),"In the words of"]}),l.jsx("span",{style:{fontFamily:Me.serif,fontWeight:400,fontSize:"clamp(44px, 5.2vw, 76px)",letterSpacing:"0.04em",lineHeight:1,color:Sr},children:"Graphite"}),l.jsx("p",{style:{fontFamily:Me.serif,fontStyle:"italic",fontWeight:400,fontSize:"clamp(23px, 2.2vw, 36px)",lineHeight:1.35,letterSpacing:"-0.008em",color:Sr,margin:0,maxWidth:"32ch"},children:'"Working with Moonshot is a perfect extension of our team."'}),l.jsx("blockquote",{style:{position:"relative",fontFamily:Me.serif,fontStyle:"italic",fontWeight:400,fontSize:"clamp(17px, 1.4vw, 23px)",lineHeight:1.6,color:Sr,margin:0,maxWidth:"56ch",paddingLeft:"clamp(20px, 2vw, 28px)",borderLeft:`2px solid ${Sr}`},children:"They bring deep technical knowhow and give us comfort in their ways of working and quality, at all times, working with us and our clients. It is hard to find reliable external engineering help that delivers on time with architectural and engineering decisions that don't need to be redone once our team takes over the code base."}),l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16,paddingTop:"clamp(8px, 1.5vh, 16px)",borderTop:`1px solid ${_o}`},children:[l.jsx("img",{src:"/Images/Team/1581192611755.jpeg",alt:"Ethan Smith",style:{width:60,height:60,borderRadius:"999px",objectFit:"cover",border:`1px solid ${_o}`,marginTop:"clamp(16px, 2vh, 20px)"}}),l.jsxs("div",{style:{display:"flex",flexDirection:"column",marginTop:"clamp(16px, 2vh, 20px)"},children:[l.jsx("span",{style:{fontFamily:Me.serif,fontSize:19,color:Sr,lineHeight:1.2},children:"Ethan Smith"}),l.jsxs("span",{style:{fontFamily:Me.mono,fontSize:12,letterSpacing:"0.24em",textTransform:"uppercase",color:kg,marginTop:4,display:"inline-flex",alignItems:"center",flexWrap:"wrap",gap:10},children:["CEO, Graphite",l.jsxs("span",{style:{whiteSpace:"nowrap",display:"inline-flex",alignItems:"center",gap:10},children:[l.jsx("span",{style:{color:Ou},children:"·"}),l.jsx("span",{style:{color:Ou,fontStyle:"italic",textTransform:"none",letterSpacing:0,fontFamily:Me.serif,fontSize:15},children:"Teacher at Reforge"})]})]})]})]})]}),l.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"clamp(24px, 3vh, 36px)",paddingLeft:"clamp(0px, 3vw, 56px)",borderLeft:`1px solid ${_o}`},className:"moonshot-testimonial-right",children:[l.jsx("span",{style:{fontFamily:Me.mono,fontSize:12.5,letterSpacing:"0.32em",textTransform:"uppercase",color:Ou},children:"Their clients"}),l.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1px",background:_o,border:`1px solid ${_o}`},children:M2.map(e=>l.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"clamp(20px, 3vh, 32px) 16px",background:xg,fontFamily:Me.serif,fontWeight:400,fontSize:"clamp(20px, 2vw, 30px)",letterSpacing:"-0.01em",color:Sr,textAlign:"center"},children:e},e))}),l.jsx("p",{style:{fontFamily:Me.serif,fontStyle:"italic",fontSize:"clamp(14px, 1.15vw, 17px)",lineHeight:1.5,color:kg,margin:0,maxWidth:"38ch"},children:"The teams that trust Graphite are the teams we build alongside."})]})]})}),l.jsx("style",{children:` 72 @media (max-width: 880px) { 73 .moonshot-testimonial-grid { 74 grid-template-columns: 1fr !important; 75 } 76 .moonshot-testimonial-right { 77 border-left: none !important; 78 border-top: 1px solid ${_o}; 79 padding-left: 0 !important; 80 padding-top: clamp(32px, 5vh, 48px); 81 } 82 } 83 `})]})}const L2=[{name:"Pearson",category:"Education Services",categoryIcon:"ð",description:"Global learning company. Pearson acquired Wizard â the Brazilian platform Moonshot helped scale.",location:"London, UK",valuation:"Valued at $9.1 Billion USD",logo:"",url:"https://www.pearson.com",tab:"enterprise"},{name:"Go1",category:"Education Services",categoryIcon:"ð",description:"Leading learning platform aggregating world-class education content for enterprises worldwide.",location:"Brisbane, Australia",valuation:"Valued at $2.8 Billion USD",logo:"/Images/ClientLogos/Startups/Go1.png",badgeIcon:"ð¦",url:"https://www.go1.com",tab:"enterprise"},{name:"Grove",category:"Business Services",categoryIcon:"ð¢",description:"Sustainable home essentials brand building a healthier household products marketplace.",location:"San Francisco, USA",valuation:"Valued at $1 Billion+ USD",logo:"/Images/ClientLogos/Startups/Grove.svg",badgeIcon:"ð¦",url:"https://www.grove.co",tab:"enterprise"},{name:"Speedinvest",category:"Venture Capital",categoryIcon:"ð°",description:"Leading European VC firm backing early-stage tech startups across deep tech and fintech.",location:"Vienna, Austria",valuation:">$1B AUM",logo:"",url:"https://www.speedinvest.com",tab:"enterprise"},{name:"Techstars",category:"Venture Capital",categoryIcon:"ð°",description:"World-leading startup accelerator and venture fund empowering global entrepreneurs.",location:"Boulder, USA",valuation:"Top Global Accelerator",logo:"/Images/ClientLogos/Startups/Techstars.png",url:"https://www.techstars.com",tab:"enterprise"},{name:"Wizard",category:"Education Services",categoryIcon:"ð",description:"AI-powered tutoring platform Moonshot helped scale â later acquired by Pearson.",location:"São Paulo, Brazil",valuation:"Acquired by Pearson",logo:"/Images/ClientLogos/Enterprise/Wizard.png",url:"https://www.wizard.com.br",tab:"enterprise"},{name:"Libsyn",category:"SaaS",categoryIcon:"ð»",description:"Premier podcast hosting and monetization platform powering thousands of content creators.",location:"Pittsburgh, USA",valuation:"Listed on NA
83SDAQ",logo:"/Images/ClientLogos/Enterprise/Libsyn.png",url:"https://www.libsyn.com",tab:"enterprise"},{name:"Digitel",category:"Telecom",categoryIcon:"ð¡",description:"Leading telecommunications provider delivering connectivity solutions across emerging markets.",location:"Caracas, Venezuela",valuation:">8M Active Users",logo:"/Images/ClientLogos/Enterprise/Digitel.png",url:"https://www.digitel.com.ve",tab:"enterprise"},{name:"Parliament Hill",category:"Financial Services",categoryIcon:"ð¦",description:"Financial technology firm specializing in platform solutions for the life and pensions industry.",location:"London, UK",valuation:"Enterprise",logo:"/Images/ClientLogos/Enterprise/Parliament_Hill.avif",url:"https://www.parliament-hill.co.uk",tab:"enterprise"},{name:"Chattermill",category:"SaaS",categoryIcon:"ð»",description:"Unified customer feedback analytics using AI to drive product and CX improvements.",location:"London, UK",valuation:"Series B",logo:"",url:"https://www.chattermill.com",tab:"startups"},{name:"IOV42",category:"SaaS",categoryIcon:"ð»",description:"Enterprise blockchain platform enabling trust and transparency in digital transactions.",location:"London, UK",valuation:"Series A",logo:"/Images/ClientLogos/Enterprise/IOV42.png",url:"https://www.iov42.com",tab:"startups"},{name:"Indigo.ai",category:"AI & Automation",categoryIcon:"ð¤",description:"Conversational AI platform helping enterprises automate customer interactions at scale.",location:"Milan, Italy",valuation:"Series A",logo:"/Images/ClientLogos/Enterprise/Indigoai.svg",url:"https://indigo.ai/en/",tab:"startups"},{name:"The Lanby",category:"Healthcare",categoryIcon:"ð¥",description:"Membership-based primary care clinic offering concierge healthcare in New York.",location:"New York, USA",valuation:"Series A",logo:"/Images/ClientLogos/Startups/The_Lanby.png",url:"https://www.thelanby.com",tab:"startups"},{name:"Mom Ease",category:"SaaS",categoryIcon:"ð»",description:"Digital platform supporting maternal health and postpartum well-being.",location:"New York, USA",valuation:"Pre-Seed",logo:"/Images/ClientLogos/Startups/Mom_Ease.png",url:"https://www.momeasenow.com",tab:"startups"},{name:"Play Verto",category:"EdTech",categoryIcon:"ð",description:"Gamified financial literacy platform teaching kids money skills through play.",location:"London, UK",valuation:"Seed Stage",logo:"/Images/ClientLogos/Startups/Play_Verto.svg",url:"https://www.playverto.com",tab:"startups"},{name:"Fleengo",category:"SaaS",categoryIcon:"ð»",description:"Digital platform streamlining business operations and workflow automation for growing teams.",location:"Miami, USA",valuation:"Seed Stage",logo:"/Images/ClientLogos/Startups/Fleengo.png",url:"https://www.fleengo.com",tab:"startups"},{name:"Schoolsout",category:"SaaS",categoryIcon:"ð»",description:"Platform connecting families with extracurricular activities and after-school programs.",location:"Portland, USA",valuation:"Seed Stage",logo:"/Images/ClientLogos/Startups/Schoolsout.png",url:"https://schoolsoutapp.com",tab:"startups"},{name:"Saturn Partners",category:"Venture Capital",categoryIcon:"ð°",description:"Strategic investment firm partnering with visionary founders to build transformative companies.",location:"London, UK",valuation:"Private Equity",logo:"/Images/ClientLogos/Our_Ventures/Saturn_Partners.svg",url:"https://www.saturnpartners.io",statusTag:"Founded",tab:"ventures"},{name:"Pattern Bank",category:"Fashion",categoryIcon:"ð",description:"Global marketplace for textile prints, patterns, and graphics â serving fashion and lifestyle brands worldwide.",location:"London, UK",valuation:"Private Equity",logo:"/Images/ClientLogos/Our_Ventures/Pattern_Bank.png",logoFilterOverride:"brightness(0) saturate(0)",url:"https://patternbank.com",statusTag:"Acquired",industry:"Fashion",tab:"ventures"},{name:"The Pattern Cloud",category:"Fashion",categoryIcon:"ð",description:"Online platform for selling, managing, and downloading digital patterns for fashion and interiors.",location:"London, UK",valuation:"Private Equity",logo:"/Images/ClientLogos/Our_Ventures/The_Pattern_Cloud.png",url:"https://www.thepatterncloud.com",statusTag:"Acquired",industry:"Fashion",tab:"ventures"},{name:"The Design Agent",category:"AI & Design",categoryIcon:"ð¨",description:"AI-powered design automation platform transforming creative workflows for modern teams.",location:"London, UK",valuation:"Private Equity",logo:"/Images/ClientLogos/Our_Ventures/The_Design_Agent.png",logoFilterOverride:"brightness(0) saturate(0)",url:"https://www.thedesignagent.com",statusTag:"Acquired",industry:"Fashion",tab:"ventures"},{name:"Sunlight",category:"SaaS",categoryIcon:"ð»",description:"Sunlight helps companies grow an engaging learning culture by facilitating their team's access to any book, event, or course in the world.",location:"London, UK",valuation:"Series A",logo:"/Images/ClientLogos/Our_Ventures/Su
83nlight.png",url:"https://www.go1.com/go1pay",statusTag:"Founded â Sold to Go1",tab:"ventures"},{name:"Akdemia",category:"EdTech",categoryIcon:"ð",description:"EdTech platform democratizing professional training across Latin America.",location:"Caracas, Venezuela",valuation:"Series A",logo:"/Images/ClientLogos/Our_Ventures/Akdemia.png",url:"https://www.akdemia.com",statusTag:"Founded",tab:"ventures"}],R2=[{key:"enterprise",label:"Enterprise",count:"09"},{key:"startups",label:"Startups",count:"08"},{key:"ventures",label:"Our Ventures",count:"06"}],N2="grayscale(1) brightness(0) opacity(0.78)",D2=new Set(["The Pattern Cloud"]);function kb(){const[e,t]=p.useState("enterprise"),n=L2.filter(o=>o.tab===e).slice(0,8);return l.jsx("div",{id:"clients",children:l.jsx(Et,{ground:"paper",eyebrow:"Clients",fullHeight:!0,children:l.jsxs("div",{className:"flex flex-col gap-12",children:[l.jsxs("h2",{style:{fontFamily:Me.serif,fontWeight:400,letterSpacing:"-0.012em",color:Re.textOnLight,margin:0},children:[l.jsxs("span",{style:{display:"block",fontSize:"clamp(40px, 4.9vw, 66px)",lineHeight:1.04},children:["Trusted by ",l.jsx("em",{style:{fontStyle:"italic"},children:"industry leaders"})]}),l.jsx("span",{style:{display:"block",fontSize:"clamp(20px, 2.2vw, 30px)",lineHeight:1.3,marginTop:10,color:"rgba(10, 10, 10, 0.78)"},children:"and early-stage ventures alike."})]}),l.jsx("div",{className:"flex items-center gap-2 flex-wrap",role:"tablist","aria-label":"Client roster",style:{paddingTop:"20px",borderTop:`1px solid ${Re.rule}`},children:R2.map(o=>{const r=o.key===e;return l.jsxs("button",{type:"button",role:"tab","aria-selected":r,onClick:()=>t(o.key),className:"cut-tab inline-flex items-baseline gap-3 transition-colors duration-200",style:{border:`1px solid ${r?k.blueprint:"rgba(10, 10, 10, 0.18)"}`,background:r?k.blueprint:"transparent",color:r?"#FFFFFF":"rgba(10, 10, 10, 0.6)",padding:"8px 18px",borderRadius:"2px",fontFamily:Me.mono,fontSize:"10.5px",fontWeight:700,letterSpacing:"0.22em",textTransform:"uppercase",cursor:"pointer"},children:[l.jsx("span",{children:o.label}),l.jsxs("span",{style:{fontVariantNumeric:"tabular-nums",color:r?"rgba(255, 255, 255, 0.6)":"rgba(10, 10, 10, 0.4)",fontSize:"9.5px",fontWeight:400},children:["· ",o.count]})]},o.key)})}),l.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3.5",children:n.map(o=>l.jsx(z2,{client:o},`${e}-${o.name}`))})]})})})}function z2({client:e}){const t=e.url?"a":"div",n=e.url?{href:e.url,target:"_blank",rel:"noopener noreferrer"}:{};return l.jsxs(t,{...n,className:"group relative flex flex-col transition-colors duration-300",style:{background:"rgba(10, 10, 10, 0.02)",border:"1px solid rgba(10, 10, 10, 0.10)",padding:"14px 16px",textDecoration:"none",color:Re.textOnLight},children:[l.jsxs("div",{className:"flex items-start min-h-[44px] md:min-h-[32px]",style:{marginBottom:"8px",gap:"10px",flexShrink:0},children:[e.statusTag?l.jsx("span",{className:"hidden md:inline-block",style:{fontSize:"9px",letterSpacing:"0.22em",textTransform:"uppercase",color:Re.textOnLight,fontWeight:700,padding:"4px 8px",border:"1px solid rgba(10, 10, 10, 0.42)",lineHeight:1.2,fontFamily:Me.sans},children:e.statusTag}):e.badgeIcon==="ð¦"?l.jsx("span",{className:"hidden md:inline-block",style:{fontSize:"9px",letterSpacing:"0.22em",fontWeight:700,padding:"4px 8px",background:k.blueprint,color:"#FFFFFF",lineHeight:1.2,fontFamily:Me.sans},children:"UNICORN"}):null,l.jsx("span",{className:"text-right ml-auto",style:{fontSize:"9px",letterSpacing:"0.22em",color:"rgba(10, 10, 10, 0.45)",fontWeight:600,textTransform:"uppercase",maxWidth:"60%",lineHeight:1.3,paddingTop:"4px",fontFamily:Me.sans},children:e.category})]}),l.jsxs("div",{className:"flex items-center justify-center relative",style:{height:"92px",flexShrink:0,background:"rgba(10, 10, 10, 0.04)",padding:"10px 14px",marginTop:"2px"},children:[e.statusTag?l.jsx("span",{className:"md:hidden text-[7.5px] tracking-[0.18em] px-1.5 py-0.5",style:{position:"absolute",top:8,left:8,textTransform:"uppercase",color:Re.textOnLight,fontWeight:700,border:"1px solid rgba(10, 10, 10, 0.42)",background:"#FFFFFF",lineHeight:1.2,fontFamily:Me.sans},children:e.statusTag}):e.badgeIcon==="ð¦"?l.jsx("span",{className:"md:hidden text-[7.5px] tracking-[0.18em] px-1.5 py-0.5",style:{position:"absolute",top:8,left:8,fontWeight:700,background:k.blueprint,color:"#FFFFFF",lineHeight:1.2,fontFamily:Me.sans},children:"UNICORN"}):null,e.logo&&!D2.has(e.name)?l.jsx("img",{src:e.logo,alt:e.name,loading:"lazy",style:{maxWidth:"80%",maxHeight:"52px",objectFit:"contain",filter:N2}}):l.jsx("span",{style:{fontFamily:Me.serif,fontWeight:400,fontSize:"clamp(16px, 1.6vw, 22px)",letterSpacing:"-0.005em",lineHeight:1.1,color:Re.textOnLight,textAlign:"center"},children:e.name})]}),l.jsxs("div",{className:"mt-3 flex flex-col",style:{borderTop:"1px solid rgba(10, 10, 10, 0.08)",paddingTop:"8px",minHeight:"56px",flexShrink:0},children:[l.jsx("div",{style:{fontSize:"9px",letterSpacing:"0.22em",color:"rgba(10, 10, 10, 0.45)",textTransform:"uppercase",lineHeight:1.3,flexShrink:0,fontFamily:Me.sans,fontWeight:600},children:e.location}),l.jsx("div",{className:"mt-auto",style:{fontFamily:Me.serif,fontWeight:400,fontSize:"14.5px",color:k.blueprint,lineHeight:1.25,paddingTop:"6px",flexShrink:0},children:e.valuation})]})]})}var _i=e=>e.type==="checkbox",Er=e=>e instanceof Date,jt=e=>e==null;const Sb=e=>typeof e=="object";var et=e=>!jt(e)&&!Array.isArray(e)&&Sb(e)&&!Er(e),F2=e=>et(e)&&e.target?_i(e.target)?e.target.checked:e.target.value:e,V2=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,$2=(e,t)=>e.has(V2(t)),B2=e=>{const t=e.constructor&&e.constructor.prototype;return et(t)&&t.hasOwnProperty("isPrototypeOf")},km=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function lt(e){let t;const n=Array.isArray(e),o=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(!(km&&(e instanceof Blob||o))&&(n||et(e)))if(t=n?[]:{},!n&&!B2(e))t=e;else for(const r in e)e.hasOwnProperty(r)&&(t[r]=lt(e[r]));else return e;return t}var Mc=e=>/^\w*$/.test(e),ot=e=>e===void 0,Sm=e=>Array.isArray(e)?e.filter(Boolean):[],_m=e=>
vendor: 8,897 bytes, line 83
83Sm(e.replace(/["|']|\]/g,"").split(/\.|\[/)),te=(e,t,n)=>{if(!t||!et(e))return n;const o=(Mc(t)?[t]:_m(t)).reduce((r,a)=>jt(r)?r:r[a],e);return ot(o)||o===e?ot(e[t])?n:e[t]:o},Mn=e=>typeof e=="boolean",Oe=(e,t,n)=>{let o=-1;const r=Mc(t)?[t]:_m(t),a=r.length,s=a-1;for(;++o<a;){const i=r[o];let c=n;if(o!==s){const d=e[i];c=et(d)||Array.isArray(d)?d:isNaN(+r[o+1])?{}:[]}if(i==="__proto__"||i==="constructor"||i==="prototype")return;e[i]=c,e=e[i]}};const Sg={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},gn={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Qn={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},W2=R.createContext(null);W2.displayName="HookFormContext";var U2=(e,t,n,o=!0)=>{const r={defaultValues:t._defaultValues};for(const a in e)Object.defineProperty(r,a,{get:()=>{const s=a;return t._proxyFormState[s]!==gn.all&&(t._proxyFormState[s]=!o||gn.all),e[s]}});return r};const H2=typeof window<"u"?R.useLayoutEffect:R.useEffect;var zn=e=>typeof e=="string",G2=(e,t,n,o,r)=>zn(e)?(o&&t.watch.add(e),te(n,e,r)):Array.isArray(e)?e.map(a=>(o&&t.watch.add(a),te(n,a))):(o&&(t.watchAll=!0),n),Gp=e=>jt(e)||!Sb(e);function Do(e,t,n=new WeakSet){if(Gp(e)||Gp(t))return e===t;if(Er(e)&&Er(t))return e.getTime()===t.getTime();const o=Object.keys(e),r=Object.keys(t);if(o.length!==r.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(const a of o){const s=e[a];if(!r.includes(a))return!1;if(a!=="ref"){const i=t[a];if(Er(s)&&Er(i)||et(s)&&et(i)||Array.isArray(s)&&Array.isArray(i)?!Do(s,i,n):s!==i)return!1}}return!0}var _b=(e,t,n,o,r)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[o]:r||!0}}:{},Vs=e=>Array.isArray(e)?e:[e],_g=()=>{let e=[];return{get observers(){return e},next:r=>{for(const a of e)a.next&&a.next(r)},subscribe:r=>(e.push(r),{unsubscribe:()=>{e=e.filter(a=>a!==r)}}),unsubscribe:()=>{e=[]}}},Mt=e=>et(e)&&!Object.keys(e).length,Pm=e=>e.type==="file",yn=e=>typeof e=="function",Ql=e=>{if(!km)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Pb=e=>e.type==="select-multiple",jm=e=>e.type==="radio",q2=e=>jm(e)||_i(e),Mu=e=>Ql(e)&&e.isConnected;function J2(e,t){const n=t.slice(0,-1).length;let o=0;for(;o<n;)e=ot(e)?o++:e[t[o++]];return e}function K2(e){for(const t in e)if(e.hasOwnProperty(t)&&!ot(e[t]))return!1;return!0}function tt(e,t){const n=Array.isArray(t)?t:Mc(t)?[t]:_m(t),o=n.length===1?e:J2(e,n),r=n.length-1,a=n[r];return o&&delete o[a],r!==0&&(et(o)&&Mt(o)||Array.isArray(o)&&K2(o))&&tt(e,n.slice(0,-1)),e}var jb=e=>{for(const t in e)if(yn(e[t]))return!0;return!1};function Yl(e,t={}){const n=Array.isArray(e);if(et(e)||n)for(const o in e)Array.isArray(e[o])||et(e[o])&&!jb(e[o])?(t[o]=Array.isArray(e[o])?[]:{},Yl(e[o],t[o])):jt(e[o])||(t[o]=!0);return t}function Ab(e,t,n){const o=Array.isArray(e);if(et(e)||o)for(const r in e)Array.isArray(e[r])||et(e[r])&&!jb(e[r])?ot(t)||Gp(n[r])?n[r]=Array.isArray(e[r])?Yl(e[r],[]):{...Yl(e[r])}:Ab(e[r],jt(t)?{}:t[r],n[r]):n[r]=!Do(e[r],t[r]);return n}var xs=(e,t)=>Ab(e,t,Yl(t));const Pg={value:!1,isValid:!1},jg={value:!0,isValid:!0};var Cb=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!ot(e[0].attributes.value)?ot(e[0].value)||e[0].value===""?jg:{value:e[0].value,isValid:!0}:jg:Pg}return Pg},Eb=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:o})=>ot(e)?e:t?e===""?NaN:e&&+e:n&&zn(e)?new Date(e):o?o(e):e;const Ag={isValid:!1,value:null};var Tb=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,Ag):Ag;function Cg(e){const t=e.ref;return Pm(t)?t.files:jm(t)?Tb(e.refs).value:Pb(t)?[...t.selectedOptions].map(({value:n})=>n):_i(t)?Cb(e.refs).value:Eb(ot(t.value)?e.ref.value:t.value,e)}var Q2=(e,t,n,o)=>{const r={};for(const a of e){const s=te(t,a);s&&Oe(r,a,s._f)}return{criteriaMode:n,names:[...e],fields:r,shouldUseNativeValidation:o}},Zl=e=>e instanceof RegExp,ks=e=>ot(e)?e:Zl(e)?e.source:et(e)?Zl(e.value)?e.value.source:e.value:e,Eg=e=>({isOnSubmit:!e||e===gn.onSubmit,isOnBlur:e===gn.onBlur,isOnChange:e===gn.onChange,isOnAll:e===gn.all,isOnTouch:e===gn.onTouched});const Tg="AsyncFunction";var Y2=e=>!!e&&!!e.validate&&!!(yn(e.validate)&&e.validate.constructor.name===Tg||et(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Tg)),Z2=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ig=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(o=>e.startsWith(o)&&/^\.\w+/.test(e.slice(o.length))));const $s=(e,t,n,o)=>{for(const r of n||Object.keys(e)){const a=te(e,r);if(a){const{_f:s,...i}=a;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],r)&&!o)return!0;if(s.ref&&t(s.ref,s.name)&&!o)return!0;if($s(i,t))break}else if(et(i)&&$s(i,t))break}}};function Og(e,t,n){const o=te(e,n);if(o||Mc(n))return{error:o,name:n};const r=n.split(".");for(;r.length;){const a=r.join("."),s=te(t,a),i=te(e,a);if(s&&!Array.isArray(s)&&n!==a)return{name:n};if(i&&i.type)return{name:a,error:i};if(i&&i.root&&i.root.type)return{name:`${a}.root`,error:i.root};r.pop()}return{name:n}}var X2=(e,t,n,o)=>{n(e);const{name:r,...a}=e;return Mt(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(s=>t[s]===(!o||gn.all))},e_=(e,t,n)=>!e||!t||e===t||Vs(e).some(o=>o&&(n?o===t:o.startsWith(t)||t.startsWith(o))),t_=(e,t,n,o,r)=>r.isOnAll?!1:!n&&r.isOnTouch?!(t||e):(n?o.isOnBlur:r.isOnBlur)?!e:(n?o.isOnChange:r.isOnChange)?e:!0,n_=(e,t)=>!Sm(te(e,t)).length&&tt(e,t),o_=(e,t,n)=>{const o=Vs(te(e,n));return Oe(o,"root",t[n]),Oe(e,n,o),e},wl=e=>zn(e);function Mg(e,t,n="validate"){if(wl(e)||Array.isArray(e)&&e.every(wl)||Mn(e)&&!e)return{type:n,message:wl(e)?e:"",ref:t}}var na=e=>et(e)&&!Zl(e)?e:{value:e,message:""},Lg=async(e,t,n,o,r,a)=>{const{ref:s,refs:i,required:c,maxLength:d,minLength:u,min:m,max:g,pattern:y,validate:x,name:f,valueAsNumber:b,mount:v}=e._f,h=te(n,f);if(!v||t.has(f))return{};const w=i?i[0]:s,S=N=>{r&&w.reportValidity&&(w.setCustomValidity(Mn(N)?"":N||""),w.reportValidity())},_={},A=jm(s),j=_i(s),I=A||j,D=(b||Pm(s))&&ot(s.value)&&ot(h)||Ql(s)&&s.value===""||h===""||Array.isArray(h)&&!h.length,F=_b.bind(null,f,o,_),Y=(N,q,z,ne=Qn.maxLength,K=Qn.minLength)=>{const ee=N?q:z;_[f]={type:N?ne:K,message:ee,ref:s,...F(N?ne:K,ee)}};if(a?!Array.isArray(h)||!h.length:c&&(!I&&(D||jt(h))||Mn(h)&&!h||j&&!Cb(i).isValid||A&&!Tb(i).isValid)){const{value:N,message:q}=wl(c)?{value:!!c,message:c}:na(c);if(N&&(_[f]={type:Qn.required,message:q,ref:w,...F(Qn.required,q)},!o))return S(q),_}if(!D&&(!jt(m)||!jt(g))){let N,q;const z=na(g),ne=na(m);if(!jt(h)&&!isNaN(h)){const K=s.valueAsNumber||h&&+h;jt(z.value)||(N=K>z.value),jt(ne.value)||(q=K<ne.value)}else{const K=s.valueAsDate||new Date(h),ee=U=>new Date(new Date().toDateString()+" "+U),T=s.type=="time",M=s.type=="week";zn(z.value)&&h&&(N=T?ee(h)>ee(z.value):M?h>z.value:K>new Date(z.value)),zn(ne.value)&&h&&(q=T?ee(h)<ee(ne.value):M?h<ne.value:K<new Date(ne.value))}if((N||q)&&(Y(!!N,z.message,ne.message,Qn.max,Qn.min),!o))return S(_[f].message),_}if((d||u)&&!D&&(zn(h)||a&&Array.isArray(h))){const N=na(d),q=na(u),z=!jt(N.value)&&h.length>+N.value,ne=!jt(q.value)&&h.length<+q.value;if((z||ne)&&(Y(z,N.message,q.message),!o))return S(_[f].message),_}if(y&&!D&&zn(h)){const{value:N,message:q}=na(y);if(Zl(N)&&!h.match(N)&&(_[f]={type:Qn.pattern,message:q,ref:s,...F(Qn.pattern,q)},!o))return S(q),_}if(x){if(yn(x)){const N=await x(h,n),q=Mg(N,w);if(q&&(_[f]={...q,...F(Qn.validate,q.message)},!o))return S(q.message),_}else if(et(x)){let N={};for(const q in x){if(!Mt(N)&&!o)break;const z=Mg(await x[q](h,n),w,q);z&&(N={...z,...F(q,z.message)},S(z.message),o&&(_[f]=N))}if(!Mt(N)&&(_[f]={ref:w,...N},!o))return _}}return S(!0),_};const r_={mode:gn.onSubmit,reValidateMode:gn.onChange,shouldFocusError:!0};function a_(e={}){let t={...r_,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:yn(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},o={},r=et(t.defaultValues)||et(t.values)?lt(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:lt(r),s={action:!1,mount:!1,watch:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c,d=0;const u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let m={...u};const g={array:_g(),state:_g()},y=t.criteriaMode===gn.all,x=P=>E=>{clearTimeout(d),d=setTimeout(P,E)},f=async P=>{if(!t.disabled&&(u.isValid||m.isValid||P)){const E=t.resolver?Mt((await j()).errors):await D(o,!0);E!==n.isValid&&g.state.next({isValid:E})}},b=(P,E)=>
vendor: 5,093 bytes, line 83
83{!t.disabled&&(u.isValidating||u.validatingFields||m.isValidating||m.validatingFields)&&((P||Array.from(i.mount)).forEach(O=>{O&&(E?Oe(n.validatingFields,O,E):tt(n.validatingFields,O))}),g.state.next({validatingFields:n.validatingFields,isValidating:!Mt(n.validatingFields)}))},v=(P,E=[],O,H,W=!0,B=!0)=>{if(H&&O&&!t.disabled){if(s.action=!0,B&&Array.isArray(te(o,P))){const Z=O(te(o,P),H.argA,H.argB);W&&Oe(o,P,Z)}if(B&&Array.isArray(te(n.errors,P))){const Z=O(te(n.errors,P),H.argA,H.argB);W&&Oe(n.errors,P,Z),n_(n.errors,P)}if((u.touchedFields||m.touchedFields)&&B&&Array.isArray(te(n.touchedFields,P))){const Z=O(te(n.touchedFields,P),H.argA,H.argB);W&&Oe(n.touchedFields,P,Z)}(u.dirtyFields||m.dirtyFields)&&(n.dirtyFields=xs(r,a)),g.state.next({name:P,isDirty:Y(P,E),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Oe(a,P,E)},h=(P,E)=>{Oe(n.errors,P,E),g.state.next({errors:n.errors})},w=P=>{n.errors=P,g.state.next({errors:n.errors,isValid:!1})},S=(P,E,O,H)=>{const W=te(o,P);if(W){const B=te(a,P,ot(O)?te(r,P):O);ot(B)||H&&H.defaultChecked||E?Oe(a,P,E?B:Cg(W._f)):z(P,B),s.mount&&f()}},_=(P,E,O,H,W)=>{let B=!1,Z=!1;const be={name:P};if(!t.disabled){if(!O||H){(u.isDirty||m.isDirty)&&(Z=n.isDirty,n.isDirty=be.isDirty=Y(),B=Z!==be.isDirty);const Te=Do(te(r,P),E);Z=!!te(n.dirtyFields,P),Te?tt(n.dirtyFields,P):Oe(n.dirtyFields,P,!0),be.dirtyFields=n.dirtyFields,B=B||(u.dirtyFields||m.dirtyFields)&&Z!==!Te}if(O){const Te=te(n.touchedFields,P);Te||(Oe(n.touchedFields,P,O),be.touchedFields=n.touchedFields,B=B||(u.touchedFields||m.touchedFields)&&Te!==O)}B&&W&&g.state.next(be)}return B?be:{}},A=(P,E,O,H)=>{const W=te(n.errors,P),B=(u.isValid||m.isValid)&&Mn(E)&&n.isValid!==E;if(t.delayError&&O?(c=x(()=>h(P,O)),c(t.delayError)):(clearTimeout(d),c=null,O?Oe(n.errors,P,O):tt(n.errors,P)),(O?!Do(W,O):W)||!Mt(H)||B){const Z={...H,...B&&Mn(E)?{isValid:E}:{},errors:n.errors,name:P};n={...n,...Z},g.state.next(Z)}},j=async P=>{b(P,!0);const E=await t.resolver(a,t.context,Q2(P||i.mount,o,t.criteriaMode,t.shouldUseNativeValidation));return b(P),E},I=async P=>{const{errors:E}=await j(P);if(P)for(const O of P){const H=te(E,O);H?Oe(n.errors,O,H):tt(n.errors,O)}else n.errors=E;return E},D=async(P,E,O={valid:!0})=>{for(const H in P){const W=P[H];if(W){const{_f:B,...Z}=W;if(B){const be=i.array.has(B.name),Te=W._f&&Y2(W._f);Te&&u.validatingFields&&b([H],!0);const Ot=await Lg(W,i.disabled,a,y,t.shouldUseNativeValidation&&!E,be);if(Te&&u.validatingFields&&b([H]),Ot[B.name]&&(O.valid=!1,E))break;!E&&(te(Ot,B.name)?be?o_(n.errors,Ot,B.name):Oe(n.errors,B.name,Ot[B.name]):tt(n.errors,B.name))}!Mt(Z)&&await D(Z,E,O)}}return O.valid},F=()=>{for(const P of i.unMount){const E=te(o,P);E&&(E._f.refs?E._f.refs.every(O=>!Mu(O)):!Mu(E._f.ref))&&J(P)}i.unMount=new Set},Y=(P,E)=>!t.disabled&&(P&&E&&Oe(a,P,E),!Do(U(),r)),N=(P,E,O)=>G2(P,i,{...s.mount?a:ot(E)?r:zn(P)?{[P]:E}:E},O,E),q=P=>Sm(te(s.mount?a:r,P,t.shouldUnregister?te(r,P,[]):[])),z=(P,E,O={})=>{const H=te(o,P);let W=E;if(H){const B=H._f;B&&(!B.disabled&&Oe(a,P,Eb(E,B)),W=Ql(B.ref)&&jt(E)?"":E,Pb(B.ref)?[...B.ref.options].forEach(Z=>Z.selected=W.includes(Z.value)):B.refs?_i(B.ref)?B.refs.forEach(Z=>{(!Z.defaultChecked||!Z.disabled)&&(Array.isArray(W)?Z.checked=!!W.find(be=>be===Z.value):Z.checked=W===Z.value||!!W)}):B.refs.forEach(Z=>Z.checked=Z.value===W):Pm(B.ref)?B.ref.value="":(B.ref.value=W,B.ref.type||g.state.next({name:P,values:lt(a)})))}(O.shouldDirty||O.shouldTouch)&&_(P,W,O.shouldTouch,O.shouldDirty,!0),O.shouldValidate&&M(P)},ne=(P,E,O)=>{for(const H in E){if(!E.hasOwnProperty(H))return;const W=E[H],B=P+"."+H,Z=te(o,B);(i.array.has(P)||et(W)||Z&&!Z._f)&&!Er(W)?ne(B,W,O):z(B,W,O)}},K=(P,E,O={})=>{const H=te(o,P),W=i.array.has(P),B=lt(E);Oe(a,P,B),W?(g.array.next({name:P,values:lt(a)}),(u.isDirty||u.dirtyFields||m.isDirty||m.dirtyFields)&&O.shouldDirty&&g.state.next({name:P,dirtyFields:xs(r,a),isDirty:Y(P,B)})):H&&!H._f&&!jt(B)?ne(P,B,O):z(P,B,O),Ig(P,i)&&g.state.next({...n,name:P}),g.state.next({name:s.mount?P:void 0,values:lt(a)})},ee=async P=>{s.mount=!0;const E=P.target;let O=E.name,H=!0;const W=te(o,O),B=Te=>{H=Number.isNaN(Te)||Er(Te)&&isNaN(Te.getTime())||Do(Te,te(a,O,Te))},Z=Eg(t.mode),be=Eg(t.reValidateMode);if(W){let Te,Ot;const Jn=E.type?Cg(W._f):F2(P),Cn=P.type===Sg.BLUR||P.type===Sg.FOCUS_OUT,Ii=!Z2(W._f)&&!t.resolver&&!te(n.errors,O)&&!W._f.deps||t_(Cn,te(n.touchedFields,O),n.isSubmitted,be,Z),xr=Ig(O,i,Cn);Oe(a,O,Jn),Cn?(W._f.onBlur&&W._f.onBlur(P),c&&c(0)):W._f.onChange&&W._f.onChange(P);const En=_(O,Jn,Cn),Oi=!Mt(En)||xr;if(!Cn&&g.state.next({name:O,type:P.type,values:lt(a)}),Ii)return(u.isValid||m.isValid)&&(t.mode==="onBlur"?Cn&&f():Cn||f()),Oi&&g.state.next({name:O,...xr?{}:En});if(!Cn&&xr&&g.state.next({...n}),t.resolver){const{errors:Kn}=await j([O]);if(B(Jn),H){const ou=Og(n.errors,o,O),Mi=Og(Kn,o,ou.name||O);Te=Mi.error,O=Mi.name,Ot=Mt(Kn)}}else b([O],!0),Te=(await Lg(W,i.disabled,a,y,t.shouldUseNativeValidation))[O],b([O]),B(Jn),H&&(Te?Ot=!1:(u.isValid||m.isValid)&&(Ot=await D(o,!0)));H&&(W._f.deps&&M(W._f.deps),A(O,Ot,Te,En))}},T=(P,E)=>
vendor: 4,100 bytes, line 83
83{if(te(n.errors,E)&&P.focus)return P.focus(),1},M=async(P,E={})=>{let O,H;const W=Vs(P);if(t.resolver){const B=await I(ot(P)?P:W);O=Mt(B),H=P?!W.some(Z=>te(B,Z)):O}else P?(H=(await Promise.all(W.map(async B=>{const Z=te(o,B);return await D(Z&&Z._f?{[B]:Z}:Z)}))).every(Boolean),!(!H&&!n.isValid)&&f()):H=O=await D(o);return g.state.next({...!zn(P)||(u.isValid||m.isValid)&&O!==n.isValid?{}:{name:P},...t.resolver||!P?{isValid:O}:{},errors:n.errors}),E.shouldFocus&&!H&&$s(o,T,P?W:i.mount),H},U=P=>{const E={...s.mount?a:r};return ot(P)?E:zn(P)?te(E,P):P.map(O=>te(E,O))},ie=(P,E)=>({invalid:!!te((E||n).errors,P),isDirty:!!te((E||n).dirtyFields,P),error:te((E||n).errors,P),isValidating:!!te(n.validatingFields,P),isTouched:!!te((E||n).touchedFields,P)}),ae=P=>{P&&Vs(P).forEach(E=>tt(n.errors,E)),g.state.next({errors:P?n.errors:{}})},ce=(P,E,O)=>{const H=(te(o,P,{_f:{}})._f||{}).ref,W=te(n.errors,P)||{},{ref:B,message:Z,type:be,...Te}=W;Oe(n.errors,P,{...Te,...E,ref:H}),g.state.next({name:P,errors:n.errors,isValid:!1}),O&&O.shouldFocus&&H&&H.focus&&H.focus()},le=(P,E)=>yn(P)?g.state.subscribe({next:O=>"values"in O&&P(N(void 0,E),O)}):N(P,E,!0),Ee=P=>g.state.subscribe({next:E=>{e_(P.name,E.name,P.exact)&&X2(E,P.formState||u,Gn,P.reRenderRoot)&&P.callback({values:{...a},...n,...E,defaultValues:r})}}).unsubscribe,$e=P=>(s.mount=!0,m={...m,...P.formState},Ee({...P,formState:m})),J=(P,E={})=>{for(const O of P?Vs(P):i.mount)i.mount.delete(O),i.array.delete(O),E.keepValue||(tt(o,O),tt(a,O)),!E.keepError&&tt(n.errors,O),!E.keepDirty&&tt(n.dirtyFields,O),!E.keepTouched&&tt(n.touchedFields,O),!E.keepIsValidating&&tt(n.validatingFields,O),!t.shouldUnregister&&!E.keepDefaultValue&&tt(r,O);g.state.next({values:lt(a)}),g.state.next({...n,...E.keepDirty?{isDirty:Y()}:{}}),!E.keepIsValid&&f()},Pe=({disabled:P,name:E})=>{(Mn(P)&&s.mount||P||i.disabled.has(E))&&(P?i.disabled.add(E):i.disabled.delete(E))},Le=(P,E={})=>{let O=te(o,P);const H=Mn(E.disabled)||Mn(t.disabled);return Oe(o,P,{...O||{},_f:{...O&&O._f?O._f:{ref:{name:P}},name:P,mount:!0,...E}}),i.mount.add(P),O?Pe({disabled:Mn(E.disabled)?E.disabled:t.disabled,name:P}):S(P,!0,E.value),{...H?{disabled:E.disabled||t.disabled}:{},...t.progressive?{required:!!E.required,min:ks(E.min),max:ks(E.max),minLength:ks(E.minLength),maxLength:ks(E.maxLength),pattern:ks(E.pattern)}:{},name:P,onChange:ee,onBlur:ee,ref:W=>{if(W){Le(P,E),O=te(o,P);const B=ot(W.value)&&W.querySelectorAll&&W.querySelectorAll("input,select,textarea")[0]||W,Z=q2(B),be=O._f.refs||[];if(Z?be.find(Te=>Te===B):B===O._f.ref)return;Oe(o,P,{_f:{...O._f,...Z?{refs:[...be.filter(Mu),B,...Array.isArray(te(r,P))?[{}]:[]],ref:{type:B.type,name:P}}:{ref:B}}}),S(P,!1,void 0,B)}else O=te(o,P,{}),O._f&&(O._f.mount=!1),(t.shouldUnregister||E.shouldUnregister)&&!($2(i.array,P)&&s.action)&&i.unMount.add(P)}}},xe=()=>t.shouldFocusError&&$s(o,T,i.mount),we=P=>{Mn(P)&&(g.state.next({disabled:P}),$s(o,(E,O)=>{const H=te(o,O);H&&(E.disabled=H._f.disabled||P,Array.isArray(H._f.refs)&&H._f.refs.forEach(W=>{W.disabled=H._f.disabled||P}))},0,!1))},ke=(P,E)=>async O=>{let H;O&&(O.preventDefault&&O.preventDefault(),O.persist&&O.persist());let W=lt(a);if(g.state.next({isSubmitting:!0}),t.resolver){const{errors:B,values:Z}=await j();n.errors=B,W=lt(Z)}else await D(o);if(i.disabled.size)for(const B of i.disabled)tt(W,B);if(tt(n.errors,"root"),Mt(n.errors)){g.state.next({errors:{}});try{await P(W,O)}catch(B){H=B}}else E&&await E({...n.errors},O),xe(),setTimeout(xe);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Mt(n.errors)&&!H,submitCount:n.submitCount+1,errors:n.errors}),H)throw H},it=(P,E={})=>{te(o,P)&&(ot(E.defaultValue)?K(P,lt(te(r,P))):(K(P,E.defaultValue),Oe(r,P,lt(E.defaultValue))),E.keepTouched||tt(n.touchedFields,P),E.keepDirty||(tt(n.dirtyFields,P),n.isDirty=E.defaultValue?Y(P,lt(te(r,P))):Y()),E.keepError||(tt(n.errors,P),u.isValid&&f()),g.state.next({...n}))},St=(P,E={})=>{const O=P?lt(P):r,H=lt(O),W=Mt(P),B=W?r:H;if(E.keepDefaultValues||(r=O),!E.keepValues){if(E.keepDirtyValues){const Z=new Set([...i.mount,...Object.keys(xs(r,a))]);
83for(const be of Array.from(Z))te(n.dirtyFields,be)?Oe(B,be,te(a,be)):K(be,te(B,be))}else{if(km&&ot(P))for(const Z of i.mount){const be=te(o,Z);if(be&&be._f){const Te=Array.isArray(be._f.refs)?be._f.refs[0]:be._f.ref;if(Ql(Te)){const Ot=Te.closest("form");if(Ot){Ot.reset();break}}}}if(E.keepFieldsRef)for(const Z of i.mount)K(Z,te(B,Z));else o={}}a=t.shouldUnregister?E.keepDefaultValues?lt(r):{}:lt(B),g.array.next({values:{...B}}),g.state.next({values:{...B}})}i={mount:E.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!u.isValid||!!E.keepIsValid||!!E.keepDirtyValues,s.watch=!!t.shouldUnregister,g.state.next({submitCount:E.keepSubmitCount?n.submitCount:0,isDirty:W?!1:E.keepDirty?n.isDirty:!!(E.keepDefaultValues&&!Do(P,r)),isSubmitted:E.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:W?{}:E.keepDirtyValues?E.keepDefaultValues&&a?xs(r,a):n.dirtyFields:E.keepDefaultValues&&P?xs(r,P):E.keepDirty?n.dirtyFields:{},touchedFields:E.keepTouched?n.touchedFields:{},errors:E.keepErrors?n.errors:{},isSubmitSuccessful:E.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1})},jn=(P,E)=>St(yn(P)?P(a):P,E),An=(P,E={})=>{const O=te(o,P),H=O&&O._f;if(H){const W=H.refs?H.refs[0]:H.ref;W.focus&&(W.focus(),E.shouldSelect&&yn(W.select)&&W.select())}},Gn=P=>{n={...n,...P}},qn={control:{register:Le,unregister:J,getFieldState:ie,handleSubmit:ke,setError:ce,_subscribe:Ee,_runSchema:j,_focusError:xe,_getWatch:N,_getDirty:Y,_setValid:f,_setFieldArray:v,_setDisabledField:Pe,_setErrors:w,_getFieldArray:q,_reset:St,_resetDefaultValues:()=>yn(t.defaultValues)&&t.defaultValues().then(P=>{jn(P,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:F,_disableForm:we,_subjects:g,_proxyFormState:u,get _fields(){return o},get _formValues(){return a},get _state(){return s},set _state(P){s=P},get _defaultValues(){return r},get _names(){return i},set _names(P){i=P},get _formState(){return n},get _options(){return t},set _options(P){t={...t,...P}}},subscribe:$e,trigger:M,register:Le,handleSubmit:ke,watch:le,setValue:K,getValues:U,reset:jn,resetField:it,clearErrors:ae,unregister:J,setError:ce,setFocus:An,getFieldState:ie};return{...qn,formControl:qn}}function Ib(e={}){const t=R.useRef(void 0),n=R.useRef(void 0),[o,r]=R.useState({isDirty:!1,isValidating:!1,isLoading:yn(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:yn(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:o},e.defaultValues&&!yn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:s,...i}=a_(e);t.current={...i,formState:o}}const a=t.current.control;return a._options=e,H2(()=>{const s=a._subscribe({formState:a._proxyFormState,callback:()=>r({...a._formState}),reRenderRoot:!0});return r(i=>({...i,isReady:!0})),a._formState.isReady=!0,s},[a]),R.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),R.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),R.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),R.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),R.useEffect(()=>{if(a._proxyFormState.isDirty){const s=a._getDirty();s!==o.isDirty&&a._subjects.state.next({isDirty:s})}},[a,o.isDirty]),R.useEffect(()=>{e.values&&!Do(e.values,n.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),n.current=e.values,r(s=>({...s}))):a._resetDefaultValues()},[a,e.values]),R.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=U2(o,a),t.current}const Rg=(e,t,n)=>{if(e&&"reportValidity"in e){const o=te(n,t);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},Ob=(e,t)=>{for(const n in t.fields){const o=t.fields[n];o&&o.ref&&"reportValidity"in o.ref?Rg(o.ref,n,e):o.refs&&o.refs.forEac
vendor: 3,046 bytes, line 83
83h(r=>Rg(r,n,e))}},s_=(e,t)=>{t.shouldUseNativeValidation&&Ob(e,t);const n={};for(const o in e){const r=te(t.fields,o),a=Object.assign(e[o]||{},{ref:r&&r.ref});if(i_(t.names||Object.keys(e),o)){const s=Object.assign({},te(n,o));Oe(s,"root",a),Oe(n,o,s)}else Oe(n,o,a)}return n},i_=(e,t)=>e.some(n=>n.startsWith(t+"."));var l_=function(e,t){for(var n={};e.length;){var o=e[0],r=o.code,a=o.message,s=o.path.join(".");if(!n[s])if("unionErrors"in o){var i=o.unionErrors[0].errors[0];n[s]={message:i.message,type:i.code}}else n[s]={message:a,type:r};if("unionErrors"in o&&o.unionErrors.forEach(function(u){return u.errors.forEach(function(m){return e.push(m)})}),t){var c=n[s].types,d=c&&c[o.code];n[s]=_b(s,t,n,r,d?[].concat(d,o.message):o.message)}e.shift()}return n},Mb=function(e,t,n){return n===void 0&&(n={}),function(o,r,a){try{return Promise.resolve(function(s,i){try{var c=Promise.resolve(e[n.mode==="sync"?"parse":"parseAsync"](o,t)).then(function(d){return a.shouldUseNativeValidation&&Ob({},a),{errors:{},values:n.raw?o:d}})}catch(d){return i(d)}return c&&c.then?c.then(void 0,i):c}(0,function(s){if(function(i){return Array.isArray(i==null?void 0:i.errors)}(s))return{values:{},errors:s_(l_(s.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw s}))}catch(s){return Promise.reject(s)}}},Ae;(function(e){e.assertEqual=r=>{};function t(r){}e.assertIs=t;function n(r){throw new Error}e.assertNever=n,e.arrayToEnum=r=>{const a={};for(const s of r)a[s]=s;return a},e.getValidEnumValues=r=>{const a=e.objectKeys(r).filter(i=>typeof r[r[i]]!="number"),s={};for(const i of a)s[i]=r[i];return e.objectValues(s)},e.objectValues=r=>e.objectKeys(r).map(function(a){return r[a]}),e.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const a=[];for(const s in r)Object.prototype.hasOwnProperty.call(r,s)&&a.push(s);return a},e.find=(r,a)=>{for(const s of r)if(a(s))return s},e.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function o(r,a=" | "){return r.map(s=>typeof s=="string"?`'${s}'`:s).join(a)}e.joinValues=o,e.jsonStringifyReplacer=(r,a)=>typeof a=="bigint"?a.toString():a})(Ae||(Ae={}));var Ng;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ng||(Ng={}));const oe=Ae.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Lo=e=>{switch(typeof e){case"undefined":return oe.undefined;case"string":return oe.string;case"number":return Number.isNaN(e)?oe.nan:oe.number;case"boolean":return oe.boolean;case"function":return oe.function;case"bigint":return oe.bigint;case"symbol":return oe.symbol;case"object":return Array.isArray(e)?oe.array:e===null?oe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?oe.promise:typeof Map<"u"&&e instanceof Map?oe.map:typeof Set<"u"&&e instanceof Set?oe.set:typeof Date<"u"&&e instanceof Date?oe.date:oe.object;default:return oe.unknown}}
vendor: 6,015 bytes, line 83
83,$=Ae.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class co extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=o=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(a){return a.message},o={_errors:[]},r=a=>{for(const s of a.issues)if(s.code==="invalid_union")s.unionErrors.map(r);else if(s.code==="invalid_return_type")r(s.returnTypeError);else if(s.code==="invalid_arguments")r(s.argumentsError);else if(s.path.length===0)o._errors.push(n(s));else{let i=o,c=0;for(;c<s.path.length;){const d=s.path[c];c===s.path.length-1?(i[d]=i[d]||{_errors:[]},i[d]._errors.push(n(s))):i[d]=i[d]||{_errors:[]},i=i[d],c++}}};return r(this),o}static assert(t){if(!(t instanceof co))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ae.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},o=[];for(const r of this.issues)if(r.path.length>0){const a=r.path[0];n[a]=n[a]||[],n[a].push(t(r))}else o.push(t(r));return{formErrors:o,fieldErrors:n}}get formErrors(){return this.flatten()}}co.create=e=>new co(e);const qp=(e,t)=>{let n;switch(e.code){case $.invalid_type:e.received===oe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case $.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ae.jsonStringifyReplacer)}`;break;case $.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ae.joinValues(e.keys,", ")}`;break;case $.invalid_union:n="Invalid input";break;case $.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ae.joinValues(e.options)}`;break;case $.invalid_enum_value:n=`Invalid enum value. Expected ${Ae.joinValues(e.options)}, received '${e.received}'`;break;case $.invalid_arguments:n="Invalid function arguments";break;case $.invalid_return_type:n="Invalid function return type";break;case $.invalid_date:n="Invalid date";break;case $.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ae.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case $.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case $.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case $.custom:n="Invalid input";break;case $.invalid_intersection_types:n="Intersection results could not be merged";break;case $.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case $.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ae.assertNever(e)}return{message:n}};let c_=qp;function d_(){return c_}const u_=e=>{const{data:t,path:n,errorMaps:o,issueData:r}=e,a=[...n,...r.path||[]],s={...r,path:a};if(r.message!==void 0)return{...r,path:a,message:r.message};let i="";const c=o.filter(d=>!!d).slice().reverse();for(const d of c)i=d(s,{data:t,defaultError:i}).message;return{...r,path:a,message:i}};function Q(e,t){const n=d_(),o=u_({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===qp?void 0:qp].filter(r=>!!r)});e.common.issues.push(o)}class Gt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const o=[];for(const r of n){if(r.status==="aborted")return de;r.status==="dirty"&&t.dirty(),o.push(r.value)}return{status:t.value,value:o}}static async mergeObjectAsync(t,n){const o=[];for(const r of n){const a=await r.key,s=await r.value;o.push({key:a,value:s})}return Gt.mergeObjectSync(t,o)}static mergeObjectSync(t,n){const o={};for(const r of n){const{key:a,value:s}=r;if(a.status==="aborted"||s.status==="aborted")return de;a.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof s.value<"u"||r.alwaysSet)&&(o[a.value]=s.value)}return{status:t.value,value:o}}}const de=Object.freeze({status:"aborted"}),Es=e=>({status:"dirty",value:e}),nn=e=>
vendor: 5,879 bytes, line 83
83({status:"valid",value:e}),Dg=e=>e.status==="aborted",zg=e=>e.status==="dirty",qa=e=>e.status==="valid",Xl=e=>typeof Promise<"u"&&e instanceof Promise;var re;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(re||(re={}));class lr{constructor(t,n,o,r){this._cachedPath=[],this.parent=t,this.data=n,this._path=o,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Fg=(e,t)=>{if(qa(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new co(e.common.issues);return this._error=n,this._error}}};function ge(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:o,description:r}=e;if(t&&(n||o))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:r}:{errorMap:(s,i)=>{const{message:c}=e;return s.code==="invalid_enum_value"?{message:c??i.defaultError}:typeof i.data>"u"?{message:c??o??i.defaultError}:s.code!=="invalid_type"?{message:i.defaultError}:{message:c??n??i.defaultError}},description:r}}class _e{get description(){return this._def.description}_getType(t){return Lo(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Lo(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Gt,ctx:{common:t.parent.common,data:t.data,parsedType:Lo(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Xl(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const o=this.safeParse(t,n);if(o.success)return o.data;throw o.error}safeParse(t,n){const o={common:{issues:[],async:(n==null?void 0:n.async)??!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lo(t)},r=this._parseSync({data:t,path:o.path,parent:o});return Fg(o,r)}"~validate"(t){var o,r;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lo(t)};if(!this["~standard"].async)try{const a=this._parseSync({data:t,path:[],parent:n});return qa(a)?{value:a.value}:{issues:n.common.issues}}catch(a){(r=(o=a==null?void 0:a.message)==null?void 0:o.toLowerCase())!=null&&r.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(a=>qa(a)?{value:a.value}:{issues:n.common.issues})}async parseAsync(t,n){const o=await this.safeParseAsync(t,n);if(o.success)return o.data;throw o.error}async safeParseAsync(t,n){const o={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Lo(t)},r=this._parse({data:t,path:o.path,parent:o}),a=await(Xl(r)?r:Promise.resolve(r));return Fg(o,a)}refine(t,n){const o=r=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(r):n;return this._refinement((r,a)=>{const s=t(r),i=()=>a.addIssue({code:$.custom,...o(r)});return typeof Promise<"u"&&s instanceof Promise?s.then(c=>c?!0:(i(),!1)):s?!0:(i(),!1)})}refinement(t,n){return this._refinement((o,r)=>t(o)?!0:(r.addIssue(typeof n=="function"?n(o,r):n),!1))}_refinement(t){return new Ka({schema:this,typeName:ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return or.create(this,this._def)}nullable(){return Qa.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Bn.create(this)}promise(){return oc.create(this,this._def)}or(t){return tc.create([this,t],this._def)}and(t){return nc.create(this,t,this._def)}transform(t){return new Ka({...ge(this._def),schema:this,typeName:ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Qp({...ge(this._def),innerType:this,defaultValue:n,typeName:ue.ZodDefault})}brand(){return new L_({typeName:ue.ZodBranded,type:this,...ge(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Yp({...ge(this._def),innerType:this,catchValue:n,typeName:ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Am.create(this,t)}readonly(){return Zp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const p_=/^c[^\s-]{8,}
vendor: 4,606 bytes, line 83
83$/i,h_=/^[0-9a-z]+$/,m_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,f_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,g_=/^[a-z0-9_-]{21}$/i,y_=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,v_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,w_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,b_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Lu;const x_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,k_=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,S_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,__=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,P_=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,j_=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Lb="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",A_=new RegExp(`^${Lb}$`);function Rb(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function C_(e){return new RegExp(`^${Rb(e)}$`)}function E_(e){let t=`${Lb}T${Rb(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function T_(e,t){return!!((t==="v4"||!t)&&x_.test(e)||(t==="v6"||!t)&&S_.test(e))}function I_(e,t){if(!y_.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const o=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),r=JSON.parse(atob(o));return!(typeof r!="object"||r===null||"typ"in r&&(r==null?void 0:r.typ)!=="JWT"||!r.alg||t&&r.alg!==t)}catch{return!1}}function O_(e,t){return!!((t==="v4"||!t)&&k_.test(e)||(t==="v6"||!t)&&__.test(e))}class Go extends _e{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==oe.string){const a=this._getOrReturnCtx(t);return Q(a,{code:$.invalid_type,expected:oe.string,received:a.parsedType}),de}const o=new Gt;let r;for(const a of this._def.checks)if(a.kind==="min")t.data.length<a.value&&(r=this._getOrReturnCtx(t,r),Q(r,{code:$.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),o.dirty());else if(a.kind==="max")t.data.length>a.value&&(r=this._getOrReturnCtx(t,r),Q(r,{code:$.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),o.dirty());else if(a.kind==="length"){const s=t.data.length>a.value,i=t.data.length<a.value;(s||i)&&(r=this._getOrReturnCtx(t,r),s?Q(r,{code:$.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):i&&Q(r,{code:$.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),o.dirty())}else if(a.kind==="email")w_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"email",code:$.invali
vendor: 5,987 bytes, line 83
83d_string,message:a.message}),o.dirty());else if(a.kind==="emoji")Lu||(Lu=new RegExp(b_,"u")),Lu.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"emoji",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="uuid")f_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"uuid",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="nanoid")g_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"nanoid",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="cuid")p_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"cuid",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="cuid2")h_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"cuid2",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="ulid")m_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"ulid",code:$.invalid_string,message:a.message}),o.dirty());else if(a.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),Q(r,{validation:"url",code:$.invalid_string,message:a.message}),o.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"regex",code:$.invalid_string,message:a.message}),o.dirty())):a.kind==="trim"?t.data=t.data.trim():a.kind==="includes"?t.data.includes(a.value,a.position)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),o.dirty()):a.kind==="toLowerCase"?t.data=t.data.toLowerCase():a.kind==="toUpperCase"?t.data=t.data.toUpperCase():a.kind==="startsWith"?t.data.startsWith(a.value)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:{startsWith:a.value},message:a.message}),o.dirty()):a.kind==="endsWith"?t.data.endsWith(a.value)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:{endsWith:a.value},message:a.message}),o.dirty()):a.kind==="datetime"?E_(a).test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:"datetime",message:a.message}),o.dirty()):a.kind==="date"?A_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:"date",message:a.message}),o.dirty()):a.kind==="time"?C_(a).test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:$.invalid_string,validation:"time",message:a.message}),o.dirty()):a.kind==="duration"?v_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"duration",code:$.invalid_string,message:a.message}),o.dirty()):a.kind==="ip"?T_(t.data,a.version)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"ip",code:$.invalid_string,message:a.message}),o.dirty()):a.kind==="jwt"?I_(t.data,a.alg)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"jwt",code:$.invalid_string,message:a.message}),o.dirty()):a.kind==="cidr"?O_(t.data,a.version)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"cidr",code:$.invalid_string,message:a.message}),o.dirty()):a.kind==="base64"?P_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"base64",code:$.invalid_string,message:a.message}),o.dirty()):a.kind==="base64url"?j_.test(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{validation:"base64url",code:$.invalid_string,message:a.message}),o.dirty()):Ae.assertNever(a);return{status:o.value,value:t.data}}_regex(t,n,o){return this.refinement(r=>t.test(r),{validation:n,code:$.invalid_string,...re.errToObj(o)})}_addCheck(t){return new Go({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...re.errToObj(t)})}url(t){return this._addCheck({kind:"url",...re.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...re.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...re.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...re.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...re.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...re.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...re.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...re.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...re.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...re.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...re.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...re.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...re.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...re.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...re.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...re.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...re.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...re.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...re.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...re.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...re.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...re.errToObj(n)})}nonempty(t){return this.min(1,re.errToObj(t))}trim(){return new Go({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Go({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Go({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}
vendor: 4,658 bytes, line 83
83get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Go.create=e=>new Go({checks:[],typeName:ue.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...ge(e)});function M_(e,t){const n=(e.toString().split(".")[1]||"").length,o=(t.toString().split(".")[1]||"").length,r=n>o?n:o,a=Number.parseInt(e.toFixed(r).replace(".","")),s=Number.parseInt(t.toFixed(r).replace(".",""));return a%s/10**r}class ii extends _e{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==oe.number){const a=this._getOrReturnCtx(t);return Q(a,{code:$.invalid_type,expected:oe.number,received:a.parsedType}),de}let o;const r=new Gt;for(const a of this._def.checks)a.kind==="int"?Ae.isInteger(t.data)||(o=this._getOrReturnCtx(t,o),Q(o,{code:$.invalid_type,expected:"integer",received:"float",message:a.message}),r.dirty()):a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty()):a.kind==="multipleOf"?M_(t.data,a.value)!==0&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(o=this._getOrReturnCtx(t,o),Q(o,{code:$.not_finite,message:a.message}),r.dirty()):Ae.assertNever(a);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,re.toString(n))}gt(t,n){return this.setLimit("min",t,!1,re.toString(n))}lte(t,n){return this.setLimit("max",t,!0,re.toString(n))}lt(t,n){return this.setLimit("max",t,!1,re.toString(n))}setLimit(t,n,o,r){return new ii({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:o,message:re.toString(r)}]})}_addCheck(t){return new ii({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:re.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:re.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:re.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:re.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:re.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:re.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:re.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:re.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:re.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Ae.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const o of this._def.checks){if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;o.kind==="min"?(n===null||o.value>n)&&(n=o.value):o.kind==="max"&&(t===null||o.value<t)&&(t=o.value)}return Number.isFinite(n)&&Number.isFinite(t)}
vendor: 4,226 bytes, line 83
83}ii.create=e=>new ii({checks:[],typeName:ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...ge(e)});class li extends _e{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==oe.bigint)return this._getInvalidInput(t);let o;const r=new Gt;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(o=this._getOrReturnCtx(t,o),Q(o,{code:$.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):Ae.assertNever(a);return{status:r.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return Q(n,{code:$.invalid_type,expected:oe.bigint,received:n.parsedType}),de}gte(t,n){return this.setLimit("min",t,!0,re.toString(n))}gt(t,n){return this.setLimit("min",t,!1,re.toString(n))}lte(t,n){return this.setLimit("max",t,!0,re.toString(n))}lt(t,n){return this.setLimit("max",t,!1,re.toString(n))}setLimit(t,n,o,r){return new li({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:o,message:re.toString(r)}]})}_addCheck(t){return new li({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:re.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:re.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:re.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:re.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:re.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}li.create=e=>new li({checks:[],typeName:ue.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...ge(e)});class Jp extends _e{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==oe.boolean){const o=this._getOrReturnCtx(t);return Q(o,{code:$.invalid_type,expected:oe.boolean,received:o.parsedType}),de}return nn(t.data)}}Jp.create=e=>new Jp({typeName:ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...ge(e)});class ec extends _e{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==oe.date){const a=this._getOrReturnCtx(t);return Q(a,{code:$.invalid_type,expected:oe.date,received:a.parsedType}),de}if(Number.isNaN(t.data.getTime())){const a=this._getOrReturnCtx(t);return Q(a,{code:$.invalid_date}),de}const o=new Gt;let r;for(const a of this._def.checks)a.kind==="min"?t.data.getTime()<a.value&&(r=this._getOrReturnCtx(t,r),Q(r,{code:$.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),o.dirty()):a.kind==="max"?t.data.getTime()>a.value&&(r=this._getOrReturnCtx(t,r),Q(r,{code:$.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),o.dirty()):Ae.assertNever(a);return{status:o.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ec({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:re.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:re.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}ec.create=e=>new ec({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ue.ZodDate,...ge(e)});class Vg extends _e{_parse(t){if(this._getType(t)!==oe.symbol){const o=this._getOrReturnCtx(t);
vendor: 8,532 bytes, line 83
83return Q(o,{code:$.invalid_type,expected:oe.symbol,received:o.parsedType}),de}return nn(t.data)}}Vg.create=e=>new Vg({typeName:ue.ZodSymbol,...ge(e)});class $g extends _e{_parse(t){if(this._getType(t)!==oe.undefined){const o=this._getOrReturnCtx(t);return Q(o,{code:$.invalid_type,expected:oe.undefined,received:o.parsedType}),de}return nn(t.data)}}$g.create=e=>new $g({typeName:ue.ZodUndefined,...ge(e)});class Bg extends _e{_parse(t){if(this._getType(t)!==oe.null){const o=this._getOrReturnCtx(t);return Q(o,{code:$.invalid_type,expected:oe.null,received:o.parsedType}),de}return nn(t.data)}}Bg.create=e=>new Bg({typeName:ue.ZodNull,...ge(e)});class Wg extends _e{constructor(){super(...arguments),this._any=!0}_parse(t){return nn(t.data)}}Wg.create=e=>new Wg({typeName:ue.ZodAny,...ge(e)});class Ug extends _e{constructor(){super(...arguments),this._unknown=!0}_parse(t){return nn(t.data)}}Ug.create=e=>new Ug({typeName:ue.ZodUnknown,...ge(e)});class cr extends _e{_parse(t){const n=this._getOrReturnCtx(t);return Q(n,{code:$.invalid_type,expected:oe.never,received:n.parsedType}),de}}cr.create=e=>new cr({typeName:ue.ZodNever,...ge(e)});class Hg extends _e{_parse(t){if(this._getType(t)!==oe.undefined){const o=this._getOrReturnCtx(t);return Q(o,{code:$.invalid_type,expected:oe.void,received:o.parsedType}),de}return nn(t.data)}}Hg.create=e=>new Hg({typeName:ue.ZodVoid,...ge(e)});class Bn extends _e{_parse(t){const{ctx:n,status:o}=this._processInputParams(t),r=this._def;if(n.parsedType!==oe.array)return Q(n,{code:$.invalid_type,expected:oe.array,received:n.parsedType}),de;if(r.exactLength!==null){const s=n.data.length>r.exactLength.value,i=n.data.length<r.exactLength.value;(s||i)&&(Q(n,{code:s?$.too_big:$.too_small,minimum:i?r.exactLength.value:void 0,maximum:s?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),o.dirty())}if(r.minLength!==null&&n.data.length<r.minLength.value&&(Q(n,{code:$.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),o.dirty()),r.maxLength!==null&&n.data.length>r.maxLength.value&&(Q(n,{code:$.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),o.dirty()),n.common.async)return Promise.all([...n.data].map((s,i)=>r.type._parseAsync(new lr(n,s,n.path,i)))).then(s=>Gt.mergeArray(o,s));const a=[...n.data].map((s,i)=>r.type._parseSync(new lr(n,s,n.path,i)));return Gt.mergeArray(o,a)}get element(){return this._def.type}min(t,n){return new Bn({...this._def,minLength:{value:t,message:re.toString(n)}})}max(t,n){return new Bn({...this._def,maxLength:{value:t,message:re.toString(n)}})}length(t,n){return new Bn({...this._def,exactLength:{value:t,message:re.toString(n)}})}nonempty(t){return this.min(1,t)}}Bn.create=(e,t)=>new Bn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ue.ZodArray,...ge(t)});function la(e){if(e instanceof Ye){const t={};for(const n in e.shape){const o=e.shape[n];t[n]=or.create(la(o))}return new Ye({...e._def,shape:()=>t})}else return e instanceof Bn?new Bn({...e._def,type:la(e.element)}):e instanceof or?or.create(la(e.unwrap())):e instanceof Qa?Qa.create(la(e.unwrap())):e instanceof Wr?Wr.create(e.items.map(t=>la(t))):e}class Ye extends _e{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ae.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==oe.object){const d=this._getOrReturnCtx(t);return Q(d,{code:$.invalid_type,expected:oe.object,received:d.parsedType}),de}const{status:o,ctx:r}=this._processInputParams(t),{shape:a,keys:s}=this._getCached(),i=[];if(!(this._def.catchall instanceof cr&&this._def.unknownKeys==="strip"))for(const d in r.data)s.includes(d)||i.push(d);const c=[];for(const d of s){const u=a[d],m=r.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new lr(r,m,r.path,d)),alwaysSet:d in r.data})}if(this._def.catchall instanceof cr){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of i)c.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(d==="strict")i.length>0&&(Q(r,{code:$.unrecognized_keys,keys:i}),o.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of i){const m=r.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new lr(r,m,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of c){const m=await u.key,g=await u.value;d.push({key:m,value:g,alwaysSet:u.alwaysSet})}return d}).then(d=>Gt.mergeObjectSync(o,d)):Gt.mergeObjectSync(o,c)}get shape(){return this._def.shape()}strict(t){return re.errToObj,new Ye({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,o)=>{var a,s;const r=((s=(a=this._def).errorMap)==null?void 0:s.call(a,n,o).message)??o.defaultError;return n.code==="unrecognized_keys"?{message:re.errToObj(t).message??r}:{message:r}}}:{}})}strip(){return new Ye({...this._def,unknownKeys:"strip"})}passthrough(){return new Ye({...this._def,unknownKeys:"passthrough"})}extend(t){return new Ye({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Ye({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Ye({...this._def,catchall:t})}pick(t){const n={};for(const o of Ae.objectKeys(t))t[o]&&this.shape[o]&&(n[o]=this.shape[o]);return new Ye({...this._def,shape:()=>n})}omit(t){const n={};for(const o of Ae.objectKeys(this.shape))t[o]||(n[o]=this.shape[o]);return new Ye({...this._def,shape:()=>n})}deepPartial(){return la(this)}partial(t){const n={};for(const o of Ae.objectKeys(this.shape)){const r=this.shape[o];t&&!t[o]?n[o]=r:n[o]=r.optional()}return new Ye({...this._def,shape:()=>n})}required(t){const n={};for(const o of Ae.objectKeys(this.shape))if(t&&!t[o])n[o]=this.shape[o];else{let a=this.shape[o];for(;a instanceof or;)a=a._def.innerType;n[o]=a}return new Ye({...this._def,shape:()=>n})}keyof(){return Nb(Ae.objectKeys(this.shape))}}Ye.create=(e,t)=>new Ye({shape:()=>e,unknownKeys:"strip",catchall:cr.create(),typeName:ue.ZodObject,...ge(t)});Ye.strictCreate=(e,t)=>new Ye({shape:()=>e,unknownKeys:"strict",catchall:cr.create(),typeName:ue.ZodObject,...ge(t)});Ye.lazycreate=(e,t)=>new Ye({shape:e,unknownKeys:"strip",catchall:cr.create(),typeName:ue.ZodObject,...ge(t)});class tc extends _e{_parse(t){const{ctx:n}=this._processInputParams(t),o=this._def.options;function r(a){for(const i of a)if(i.result.status==="valid")return i.result;for(const i of a)if(i.result.status==="dirty")return n.common.issues.push(...i.ctx.common.issues),i.result;const s=a.map(i=>new co(i.ctx.common.issues));return Q(n,{code:$.invalid_union,unionErrors:s}),de}if(n.common.async)return Promise.all(o.map(async a=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await a._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(r);{let a;const s=[];for(const c of o){const d={...n,common:{...n.common,issues:[]},parent:null},u=c._parseSync({data:n.data,path:n.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!a&&(a={result:u,ctx:d}),d.common.issues.length&&s.push(d.common.issues)}if(a)return n.common.issues.push(...a.ctx.common.issues),a.result;const i=s.map(c=>new co(c));return Q(n,{code:$.invalid_union,unionErrors:i}),de}}get options(){return this._def.options}}tc.create=(e,t)=>new tc({options:e,typeName:ue.ZodUnion,...ge(t)});function Kp(e,t){const n=Lo(e),o=Lo(t);if(e===t)return{valid:!0,data:e};if(n===oe.object&&o===oe.object){const r=Ae.objectKeys(t),a=Ae.objectKeys(e).filter(i=>r.indexOf(i)!==-1),s={...e,...t};for(const i of a){const c=Kp(e[i],t[i]);if(!c.valid)return{valid:!1};s[i]=c.data}return{valid:!0,data:s}}else if(n===oe.array&&o===oe.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let a=0;a<e.length;a++){const s=e[a],i=t[a],c=Kp(s,i);if(!c.valid)return{valid:!1};r.push(c.data)}return{valid:!0,data:r}}else return n===oe.date&&o===oe.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class nc extends _e{_parse(t){const{status:n,ctx:o}=this._processInputParams(t),r=(a,s)=>{if(Dg(a)||Dg(s))return de;const i=Kp(a.value,s.value);return i.valid?((zg(a)||zg(s))&&n.dirty(),{status:n.value,value:i.data}
vendor: 4,126 bytes, line 83
83):(Q(o,{code:$.invalid_intersection_types}),de)};return o.common.async?Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([a,s])=>r(a,s)):r(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}nc.create=(e,t,n)=>new nc({left:e,right:t,typeName:ue.ZodIntersection,...ge(n)});class Wr extends _e{_parse(t){const{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==oe.array)return Q(o,{code:$.invalid_type,expected:oe.array,received:o.parsedType}),de;if(o.data.length<this._def.items.length)return Q(o,{code:$.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),de;!this._def.rest&&o.data.length>this._def.items.length&&(Q(o,{code:$.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const a=[...o.data].map((s,i)=>{const c=this._def.items[i]||this._def.rest;return c?c._parse(new lr(o,s,o.path,i)):null}).filter(s=>!!s);return o.common.async?Promise.all(a).then(s=>Gt.mergeArray(n,s)):Gt.mergeArray(n,a)}get items(){return this._def.items}rest(t){return new Wr({...this._def,rest:t})}}Wr.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Wr({items:e,typeName:ue.ZodTuple,rest:null,...ge(t)})};class Gg extends _e{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==oe.map)return Q(o,{code:$.invalid_type,expected:oe.map,received:o.parsedType}),de;const r=this._def.keyType,a=this._def.valueType,s=[...o.data.entries()].map(([i,c],d)=>({key:r._parse(new lr(o,i,o.path,[d,"key"])),value:a._parse(new lr(o,c,o.path,[d,"value"]))}));if(o.common.async){const i=new Map;return Promise.resolve().then(async()=>{for(const c of s){const d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return de;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),i.set(d.value,u.value)}return{status:n.value,value:i}})}else{const i=new Map;for(const c of s){const d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return de;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),i.set(d.value,u.value)}return{status:n.value,value:i}}}}Gg.create=(e,t,n)=>new Gg({valueType:t,keyType:e,typeName:ue.ZodMap,...ge(n)});class ci extends _e{_parse(t){const{status:n,ctx:o}=this._processInputParams(t);if(o.parsedType!==oe.set)return Q(o,{code:$.invalid_type,expected:oe.set,received:o.parsedType}),de;const r=this._def;r.minSize!==null&&o.data.size<r.minSize.value&&(Q(o,{code:$.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),n.dirty()),r.maxSize!==null&&o.data.size>r.maxSize.value&&(Q(o,{code:$.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),n.dirty());const a=this._def.valueType;function s(c){const d=new Set;for(const u of c){if(u.status==="aborted")return de;u.status==="dirty"&&n.dirty(),d.add(u.value)}return{status:n.value,value:d}}const i=[...o.data.values()].map((c,d)=>a._parse(new lr(o,c,o.path,d)));return o.common.async?Promise.all(i).then(c=>s(c)):s(i)}min(t,n){return new ci({...this._def,minSize:{value:t,message:re.toString(n)}})}max(t,n){return new ci({...this._def,maxSize:{value:t,message:re.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}ci.create=(e,t)=>new ci({valueType:e,minSize:null,maxSize:null,typeName:ue.ZodSet,...ge(t)});class qg extends _e{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}qg.create=(e,t)=>new qg({getter:e,typeName:ue.ZodLazy,...ge(t)});class Jg extends _e{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Q(n,{received:n.data,code:$.invalid_literal,expected:this._def.value}),de}return{status:"valid",value:t.data}}get value(){return this._def.value}}Jg.create=(e,t)=>
vendor: 4,426 bytes, line 83
83new Jg({value:e,typeName:ue.ZodLiteral,...ge(t)});function Nb(e,t){return new Ja({values:e,typeName:ue.ZodEnum,...ge(t)})}class Ja extends _e{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),o=this._def.values;return Q(n,{expected:Ae.joinValues(o),received:n.parsedType,code:$.invalid_type}),de}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),o=this._def.values;return Q(n,{received:n.data,code:$.invalid_enum_value,options:o}),de}return nn(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Ja.create(t,{...this._def,...n})}exclude(t,n=this._def){return Ja.create(this.options.filter(o=>!t.includes(o)),{...this._def,...n})}}Ja.create=Nb;class Kg extends _e{_parse(t){const n=Ae.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(t);if(o.parsedType!==oe.string&&o.parsedType!==oe.number){const r=Ae.objectValues(n);return Q(o,{expected:Ae.joinValues(r),received:o.parsedType,code:$.invalid_type}),de}if(this._cache||(this._cache=new Set(Ae.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const r=Ae.objectValues(n);return Q(o,{received:o.data,code:$.invalid_enum_value,options:r}),de}return nn(t.data)}get enum(){return this._def.values}}Kg.create=(e,t)=>new Kg({values:e,typeName:ue.ZodNativeEnum,...ge(t)});class oc extends _e{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==oe.promise&&n.common.async===!1)return Q(n,{code:$.invalid_type,expected:oe.promise,received:n.parsedType}),de;const o=n.parsedType===oe.promise?n.data:Promise.resolve(n.data);return nn(o.then(r=>this._def.type.parseAsync(r,{path:n.path,errorMap:n.common.contextualErrorMap})))}}oc.create=(e,t)=>new oc({type:e,typeName:ue.ZodPromise,...ge(t)});class Ka extends _e{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:o}=this._processInputParams(t),r=this._def.effect||null,a={addIssue:s=>{Q(o,s),s.fatal?n.abort():n.dirty()},get path(){return o.path}};if(a.addIssue=a.addIssue.bind(a),r.type==="preprocess"){const s=r.transform(o.data,a);if(o.common.async)return Promise.resolve(s).then(async i=>{if(n.value==="aborted")return de;const c=await this._def.schema._parseAsync({data:i,path:o.path,parent:o});return c.status==="aborted"?de:c.status==="dirty"||n.value==="dirty"?Es(c.value):c});{if(n.value==="aborted")return de;const i=this._def.schema._parseSync({data:s,path:o.path,parent:o});return i.status==="aborted"?de:i.status==="dirty"||n.value==="dirty"?Es(i.value):i}}if(r.type==="refinement"){const s=i=>{const c=r.refinement(i,a);if(o.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(o.common.async===!1){const i=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});return i.status==="aborted"?de:(i.status==="dirty"&&n.dirty(),s(i.value),{status:n.value,value:i.value})}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(i=>i.status==="aborted"?de:(i.status==="dirty"&&n.dirty(),s(i.value).then(()=>({status:n.value,value:i.value}))))}if(r.type==="transform")if(o.common.async===!1){const s=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!qa(s))return de;const i=r.transform(s.value,a);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:i}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then(s=>qa(s)?Promise.resolve(r.transform(s.value,a)).then(i=>({status:n.value,value:i})):de);Ae.assertNever(r)}}Ka.create=(e,t,n)=>new Ka({schema:e,typeName:ue.ZodEffects,effect:t,...ge(n)});Ka.createWithPreprocess=(e,t,n)=>new Ka({schema:t,effect:{type:"preprocess",transform:e},typeName:ue.ZodEffects,...ge(n)});class or extends _e{_parse(t){return this._getType(t)===oe.undefined?nn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}or.create=(e,t)=>
83new or({innerType:e,typeName:ue.ZodOptional,...ge(t)});class Qa extends _e{_parse(t){return this._getType(t)===oe.null?nn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Qa.create=(e,t)=>new Qa({innerType:e,typeName:ue.ZodNullable,...ge(t)});class Qp extends _e{_parse(t){const{ctx:n}=this._processInputParams(t);let o=n.data;return n.parsedType===oe.undefined&&(o=this._def.defaultValue()),this._def.innerType._parse({data:o,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Qp.create=(e,t)=>new Qp({innerType:e,typeName:ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...ge(t)});class Yp extends _e{_parse(t){const{ctx:n}=this._processInputParams(t),o={...n,common:{...n.common,issues:[]}},r=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});return Xl(r)?r.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new co(o.common.issues)},input:o.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new co(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}Yp.create=(e,t)=>new Yp({innerType:e,typeName:ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...ge(t)});class Qg extends _e{_parse(t){if(this._getType(t)!==oe.nan){const o=this._getOrReturnCtx(t);return Q(o,{code:$.invalid_type,expected:oe.nan,received:o.parsedType}),de}return{status:"valid",value:t.data}}}Qg.create=e=>new Qg({typeName:ue.ZodNaN,...ge(e)});class L_ extends _e{_parse(t){const{ctx:n}=this._processInputParams(t),o=n.data;return this._def.type._parse({data:o,path:n.path,parent:n})}unwrap(){return this._def.type}}class Am extends _e{_parse(t){const{status:n,ctx:o}=this._processInputParams(t);if(o.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});return a.status==="aborted"?de:a.status==="dirty"?(n.dirty(),Es(a.value)):this._def.out._parseAsync({data:a.value,path:o.path,parent:o})})();{const r=this._def.in._parseSync({data:o.data,path:o.path,parent:o});return r.status==="aborted"?de:r.status==="dirty"?(n.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:o.path,parent:o})}}static create(t,n){return new Am({in:t,out:n,typeName:ue.ZodPipeline})}}class Zp extends _e{_parse(t){const n=this._def.innerType._parse(t),o=r=>(qa(r)&&(r.value=Object.freeze(r.value)),r);return Xl(n)?n.then(r=>o(r)):o(n)}unwrap(){return this._def.innerType}}Zp.create=(e,t)=>new Zp({innerType:e,typeName:ue.ZodReadonly,...ge(t)});Ye.lazycreate;var ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ue||(ue={}));const bt=Go.create,R_=Jp.create;cr.create;Bn.create;const Db=Ye.create;Ye.strictCreate;tc.create;nc.create;Wr.create;Ja.create;oc.create;or.create;Qa.create;const N_=Db({serviceInterest:bt().optional(),challenge:bt().min(1,"Please describe your challenge"),firstName:bt().min(1,"First name is required"),lastName:bt().min(1,"Last name is required"),email:bt().email("Please enter a valid email address"),country:bt().min(1,"Please select a country"),jobTitle:bt().min(1,"Job title is required"),company:bt().optional(),newsletter:R_().optional()}),D_=["United Kingdom","United States","Argentina","Brazil","Colombia","Mexico","Spain","Germany","France","India","Other"],z_=[{value:"strategy",label:"AI Strategy"},{value:"transformation",label:"AI Transformation"},{value:"engineering",label:"AI-Native Engineering"},{value:"not-sure",label:"Not sure yet"}],Po={...Ue(k.onInkMute,10),display:"block",marginBottom:"8px"},jo={width:"100%",background:"transparent",border:"none",borderBottom:`1px solid ${k.chalkOnInk}`,color:k.onInk,caretColor:k.onInk,fontFamily:G.sans,fontSize:"14px",padding:"10px 0",outline:"none",transition:"border-color 200ms ease"},oa={fontFamily:G.sans,fontSize:"11px",fontStyle:"italic",color:k.onInk,marginTop:"6px"},Yg={appearance:"none",backgroundImage:"linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.6) 50%), linear-gradient(135deg, rgba(255, 255, 255, 0.6) 50%, transparent 50%)",backgroundPosition:"right 8px center, right 4px center",backgroundSize:"5px 5px, 5px 5px",backgroundRepeat:"no-repeat",paddingRight:"24px",colorScheme:"dark"},Ru={background:k.ink,color:k.onInk};function F_(){const{path:e}=C2(),t=nr.contact,{register:n,handleSubmit:o,reset:r,formState:{errors:a}}=Ib({resolver:Mb(N_),defaultValues:{serviceInterest:e==="compounding"?"engineering":"strategy"}}),s=i=>{const c=encodeURIComponent(`New inquiry from ${i.firstName} ${i.lastName}`),d=encodeURIComponent([`Interest: ${i.serviceInterest??"â"}`,`Path: ${e}`,"","Challenge:",i.challenge,"",`Name: ${i.firstName} ${i.lastName}`,`Email: ${i.email}`,`Country: ${i.country}`,`Job Title: ${i.jobTitle}`,`Company: ${i.company||"â"}`].join(` 84`));window.open(`mailto:[email protected]?subject=${c}&body=${d}`,"_blank"),r()};return l.jsx("section",{id:"contact",style:{background:k.ink,color:k.onInk,position:"relative"},children:l.jsxs("div",{style:{maxWidth:1280,margin:"0 auto",paddingTop:"clamp(72px, 10vh, 120px)",paddingBottom:"clamp(72px, 10vh, 120px)",paddingLeft:"clamp(28px, 5vw, 80px)",paddingRight:"clamp(28px, 5vw, 80px)"},children:[l.jsxs("div",{className:"flex items-center gap-3 mb-12",children:[l.jsx("span",{style:{...Ue(k.onInkDim,12.5),letterSpacing:"0.28em"},children:t.eyebrow}),l.jsx("span",{"aria-hidden":!0,style:{flex:1,height:1,background:k.chalkOnInk}})]}),l.jsxs("div",{className:"flex flex-col items-center",children:[l.jsx("h2",{style:{fontFamily:G.display,fontWeight:700,fontSize:"clamp(36px, 5.2vw, 76px)",lineHeight:1,letterSpacing:"-0.02em",color:k.onInk,margin:0,textAlign:"center",maxWidth:"18ch"},children:t.heading}),t.intro,l.jsxs("div",{className:"flex items-center gap-4 mt-10 flex-wrap justify-center",children:[l.jsxs("div",{className:"flex -sp
84ace-x-2",children:[l.jsx("img",{src:"/Images/Team/Fran.jpeg",alt:"Fran",className:"w-12 h-12 rounded-full object-cover",style:{border:`1px solid ${k.chalkOnInk}`}}),l.jsx("img",{src:"/Images/Team/Juan.png",alt:"Juan",className:"w-12 h-12 rounded-full object-cover",style:{border:`1px solid ${k.chalkOnInk}`}})]}),l.jsx("p",{style:{fontFamily:G.sans,fontSize:"13px",color:k.onInkMute,margin:0},children:t.talkSoon}),l.jsx("a",{href:"https://cal.com/team/moonshotpartners/discoverycall",target:"_blank",rel:"noopener noreferrer",style:{...Ue(k.onInk),border:`1px solid ${k.chalkOnInk}`,borderRadius:2,padding:"8px 16px",transition:"all 200ms ease"},onMouseEnter:i=>{i.currentTarget.style.background=k.paper,i.currentTarget.style.color=k.ink,i.currentTarget.style.borderColor=k.paper},onMouseLeave:i=>{i.currentTarget.style.background="transparent",i.currentTarget.style.color=k.onInk,i.currentTarget.style.borderColor=k.chalkOnInk},children:"Let's Talk"})]}),l.jsx("style",{children:` 85 .moonshot-contact-form input::placeholder, 86 .moonshot-contact-form textarea::placeholder { 87 color: rgba(251, 251, 249, 0.42); 88 opacity: 1; 89 } 90 .moonshot-contact-form input:focus, 91 .moonshot-contact-form textarea:focus, 92 .moonshot-contact-form select:focus { 93 border-bottom-color: ${k.blueprintOnInk}; 94 } 95 `}),l.jsxs("form",{onSubmit:o(s),className:"w-full max-w-3xl mt-16 moonshot-contact-form",children:[l.jsxs("div",{className:"mb-10",children:[l.jsx("span",{style:Po,children:"I'm interested in"}),l.jsx("select",{...n("serviceInterest"),style:{...jo,...Yg},children:z_.map(i=>l.jsx("option",{value:i.value,style:Ru,children:i.label},i.value))})]}),l.jsxs("div",{className:"mb-10",children:[l.jsx("span",{style:Po,children:"Your challenge *"}),l.jsx("textarea",{rows:3,placeholder:"Describe your challengeâ¦",...n("challenge"),style:{...jo,resize:"vertical",minHeight:"80px"}}),a.challenge&&l.jsx("p",{style:oa,children:a.challenge.message})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-10",children:[l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"First name *"}),l.jsx("input",{type:"text",...n("firstName"),placeholder:"First name",style:jo}),a.firstName&&l.jsx("p",{style:oa,children:a.firstName.message})]}),l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"Last name *"}),l.jsx("input",{type:"text",...n("lastName"),placeholder:"Last name",style:jo}),a.lastName&&l.jsx("p",{style:oa,children:a.lastName.message})]}),l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"Corporate email *"}),l.jsx("input",{type:"email",...n("email"),placeholder:"[email protected]",style:jo}),a.email&&l.jsx("p",{style:oa,children:a.email.message})]}),l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"Country *"}),l.jsxs("select",{...n("country"),style:{...jo,...Yg},defaultValue:"",children:[l.jsx("option",{value:"",disabled:!0,style:Ru,children:"Select a country"}),D_.map(i=>l.jsx("option",{value:i,style:Ru,children:i},i))]}),a.country&&l.jsx("p",{style:oa,children:a.country.message})]}),l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"Job title *"}),l.jsx("input",{type:"text",...n("jobTitle"),placeholder:"Job title",style:jo}),a.jobTitle&&l.jsx("p",{style:oa,children:a.jobTitle.message})]}),l.jsxs("div",{children:[l.jsx("span",{style:Po,children:"Company"}),l.jsx("input",{type:"text",...n("company"),placeholder:"Company",style:jo})]})]}),l.jsxs("label",{className:"flex items-start gap-3 mt-10",style:{fontFamily:G.sans,fontSize:"12px",color:k.onInkMute,lineHeight:1.55,maxWidth:"62ch"},children:[l.jsx("input",{type:"checkbox",...n("newsletter"),style:{marginTop:"3px",width:"14px",height:"14px",accentColor:k.blueprintOnInk}}),l.jsx("span",{children:"I would like to receive Moonshot communications with updates, resources, and useful tips."})]}),l.jsx("p",{style:{fontFamily:G.sans,fontSize:"11px",color:k.onInkDim,marginTop:"12px",lineHeight:1.5},children:t.submitNote}),l.jsx("button",{type:"submit",className:"mt-10",style:{...Ue(k.ink,11),letterSpacing:"0.24em",background:k.paper,border:`1px solid ${k.paper}`,borderRadius:2,padding:"13px 28px",cursor:"pointer",transition:"background 200ms ease, color 200ms ease"},onMouseEnter:i=>{i.currentTarget.style.background="transparent",i.currentTarget.style.color=k.onInk},onMouseLeave:i=>{i.currentTarget.style.background=k.paper,i.currentTarget.style.color=k.ink},children:t.submitLabel})]})]})]})})}/** 96 * @remix-run/router v1.23.0 97 * 98 * Copyright (c) Remix Software Inc. 99 * 100 * This source code is licensed under the MIT license found in the 101 * LICENSE.md file in the root directory of this source tree. 102 * 103 * @license MIT 104 */function di(){return di=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},di.apply(this,arguments)}var qo;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(qo||(qo={}));const Zg="popstate";function V_(e){e===void 0&&(e={});function t(o,r){let{pathname:a,search:s,hash:i}=o.location;return Xp("",{pathname:a,search:s,hash:i},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function n(o,r){return typeof r=="string"?r:rc(r)}return B_(t,n,null,e)}function Je(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function zb(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function $_(){return Math.random().toString(36).substr(2,8)}function Xg(e,t){return{usr:e.state,key:e.key,idx:t}}function Xp(e,t,n,o){return n===void 0&&(n=null),di({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?as(t):t,{state:n,key:t&&t.key||o||$_()})}function rc(e){let{pathname:t="/",search:n="",hash:o=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),o&&o!=="#"&&(t+=o.charAt(0)==="#"?o:"#"+o),t}function as(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let o=e.indexOf("?");o>=0&&(t.search=e.substr(o),e=e.substr(0,o)),e&&(t.pathname=e)}return t}function B_(e,t,n,o){o===void 0&&(o={});let{window:r=document.defaultView,v5Compat:a=!1}=o,s=r.history,i=qo.Pop,c=null,d=u();d==null&&(d=0,s.replaceState(di({},s.state,{idx:d}),""));function u(){return(s.state||{idx:null}).idx}function m(){i=qo.Pop;let b=u(),v=b==null?null:b-d;d=b,c&&c({action:i,location:f.location,delta:v})}function g(b,v){i=qo.Push;let h=Xp(f.location,b,v);d=u()+1;let w=Xg(h,d),S=f.createHref(h);try{s.pushState(w,"",S)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;r.location.assign(S)}a&&c&&c({action:i,location:f.location,delta:1})}function y(b,v){i=qo.Replace;let h=Xp(f.location,b,v);d=u();let w=Xg(h,d),S=f.createHref(h);s.replaceState(w,"",S),a&&c&&c({action:i,location:f.location,delta:0})}function x(b){let v=r.location.origin!=="null"?r.location.origin:r.location.href,h=typeof b=="string"?b:rc(b);return h=h.replace(/ $/,"%20"),Je(v,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,v)}let f={get action(){return i},get location(){return e(r,s)},listen(b){if(c)throw new Error("A history only accepts one active listener");return r.addEventListener(Zg,m),c=b,()=>{r.removeEventListener(Zg,m),c=null}},createHref(b){return t(r,b)},createURL:x,encodeLocation(b){let v=x(b);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:g,replace:y,go(b){return s.go(b)}};return f}var ey;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(ey||(ey={}));function W_(e,t,n){return n===void 0&&(n="/"),U_(e,t,n,!1)}function U_(e,t,n,o){let r=typeof t=="string"?as(t):t,a=Ya(r.pathname||"/",n);if(a==null)return null;let s=Fb(e);H_(s);let i=null;for(let c=0;i==null&&c<s.length;++c){let d=nP(a);i=eP(s[c],d,o)}return i}function Fb(e,t,n,o){t===void 0&&(t=[]),n===void 0&&(n=[]),o===void 0&&(o="");let r=(a,s,i)=>{let c={relativePath:i===void 0?a.path||"":i,caseSensitive:a.caseSensitive===!0,childrenIndex:s,route:a};c.relativePath.startsWith("/")&&(Je(c.relativePath.startsWith(o),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+o+'" is not val
104id. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(o.length));let d=rr([o,c.relativePath]),u=n.concat(c);a.children&&a.children.length>0&&(Je(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),Fb(a.children,t,u,d)),!(a.path==null&&!a.index)&&t.push({path:d,score:Z_(d,a.index),routesMeta:u})};return e.forEach((a,s)=>{var i;if(a.path===""||!((i=a.path)!=null&&i.includes("?")))r(a,s);else for(let c of Vb(a.path))r(a,s,c)}),t}function Vb(e){let t=e.split("/");if(t.length===0)return[];let[n,...o]=t,r=n.endsWith("?"),a=n.replace(/\?$/,"");if(o.length===0)return r?[a,""]:[a];let s=Vb(o.join("/")),i=[];return i.push(...s.map(c=>c===""?a:[a,c].join("/"))),r&&i.push(...s),i.map(c=>e.startsWith("/")&&c===""?"/":c)}function H_(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:X_(t.routesMeta.map(o=>o.childrenIndex),n.routesMeta.map(o=>o.childrenIndex)))}const G_=/^:[\w-]+$/,q_=3,J_=2,K_=1,Q_=10,Y_=-2,ty=e=>e==="*";function Z_(e,t){let n=e.split("/"),o=n.length;return n.some(ty)&&(o+=Y_),t&&(o+=J_),n.filter(r=>!ty(r)).reduce((r,a)=>r+(G_.test(a)?q_:a===""?K_:Q_),o)}function X_(e,t){return e.length===t.length&&e.slice(0,-1).every((o,r)=>o===t[r])?e[e.length-1]-t[t.length-1]:0}function eP(e,t,n){let{routesMeta:o}=e,r={},a="/",s=[];for(let i=0;i<o.length;++i){let c=o[i],d=i===o.length-1,u=a==="/"?t:t.slice(a.length)||"/",m=ac({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},u),g=c.route;if(!m&&d&&n&&!o[o.length-1].route.index&&(m=ac({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},u)),!m)return null;
vendor: 6,917 bytes, lines 104-113
104Object.assign(r,m.params),s.push({params:r,pathname:rr([a,m.pathname]),pathnameBase:sP(rr([a,m.pathnameBase])),route:g}),m.pathnameBase!=="/"&&(a=rr([a,m.pathnameBase]))}return s}function ac(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,o]=tP(e.path,e.caseSensitive,e.end),r=t.match(n);if(!r)return null;let a=r[0],s=a.replace(/(.)\/+$/,"$1"),i=r.slice(1);return{params:o.reduce((d,u,m)=>{let{paramName:g,isOptional:y}=u;if(g==="*"){let f=i[m]||"";s=a.slice(0,a.length-f.length).replace(/(.)\/+$/,"$1")}const x=i[m];return y&&!x?d[g]=void 0:d[g]=(x||"").replace(/%2F/g,"/"),d},{}),pathname:a,pathnameBase:s,pattern:e}}function tP(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),zb(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let o=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,i,c)=>(o.push({paramName:i,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(o.push({paramName:"*"}),r+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?r+="\\/*$":e!==""&&e!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,t?void 0:"i"),o]}function nP(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return zb(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Ya(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,o=e.charAt(n);return o&&o!=="/"?null:e.slice(n)||"/"}function oP(e,t){t===void 0&&(t="/");let{pathname:n,search:o="",hash:r=""}=typeof e=="string"?as(e):e;return{pathname:n?n.startsWith("/")?n:rP(n,t):t,search:iP(o),hash:lP(r)}}function rP(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(r=>{r===".."?n.length>1&&n.pop():r!=="."&&n.push(r)}),n.length>1?n.join("/"):"/"}function Nu(e,t,n,o){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(o)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function aP(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Cm(e,t){let n=aP(e);return t?n.map((o,r)=>r===n.length-1?o.pathname:o.pathnameBase):n.map(o=>o.pathnameBase)}function Em(e,t,n,o){o===void 0&&(o=!1);let r;typeof e=="string"?r=as(e):(r=di({},e),Je(!r.pathname||!r.pathname.includes("?"),Nu("?","pathname","search",r)),Je(!r.pathname||!r.pathname.includes("#"),Nu("#","pathname","hash",r)),Je(!r.search||!r.search.includes("#"),Nu("#","search","hash",r)));let a=e===""||r.pathname==="",s=a?"/":r.pathname,i;if(s==null)i=n;else{let m=t.length-1;if(!o&&s.startsWith("..")){let g=s.split("/");for(;g[0]==="..";)g.shift(),m-=1;r.pathname=g.join("/")}i=m>=0?t[m]:"/"}let c=oP(r,i),d=s&&s!=="/"&&s.endsWith("/"),u=(a||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||u)&&(c.pathname+="/"),c}const rr=e=>e.join("/").replace(/\/\/+/g,"/"),sP=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),iP=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,lP=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function cP(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const $b=["post","put","patch","delete"];new Set($b);const dP=["get",...$b];new Set(dP);/** 105 * React Router v6.30.1 106 * 107 * Copyright (c) Remix Software Inc. 108 * 109 * This source code is licensed under the MIT license found in the 110 * LICENSE.md file in the root directory of this source tree. 111 * 112 * @license MIT 113 */function ui(){return ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},ui.apply(this,arguments)}const Lc=p.createContext(null),Bb=p.createContext(null),fo=p.createContext(null),Rc=p.createContext(null),go=p.createContext({outlet:null,matches:[],isDataRoute:!1}),Wb=p.createContext(null);function uP(e,t){let{relative:n}=t===void 0?{}:t;ss()||Je(!1);let{basename:o,navigator:r}=p.useContext(fo),{hash:a,pathname:s,search:i}=Dc(e,{relative:n}),c=s;return o!=="/"&&(c=s==="/"?o:rr([o,s])),r.createHref({pathname:c,search:i,hash:a})}function ss(){return p.useContext(Rc)!=null}function _n(){return ss()||Je(!1),p.useContext(Rc).location}function Ub(e){p.useContext(fo).static||p.useLayoutEffect(e)}function Nc(){let{isDataRoute:e}=p.useContext(go);return e?_P():pP()}function pP(){ss()||Je(!1);let e=p.useContext(Lc),{basename:t,future:n,navigator:o}=p.useContext(fo),{matches:r}=p.useContext(go),{pathname:a}=_n(),s=JSON.stringify(Cm(r,n.v7_relativeSplatPath)),i=p.useRef(!1);return Ub(()=>{i.current=!0}),p.useCallback(function(d,u){if(u===void 0&&(u={}),!i.current)return;if(typeof d=="number"){o.go(d);return}let m=Em(d,JSON.parse(s),a,u.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:rr([t,m.pathname])),(u.replace?o.replace:o.push)(m,u.state,u)},[t,o,s,a,e])}function Pi(){let{matches:e}=p.useContext(go),t=e[e.length-1];return t?t.params:{}}function Dc(e,t){let{relative:n}=t===void 0?{}:t,{future:o}=p.useContext(fo),{matches:r}=p.useContext(go),{pathname:a}=_n(),s=JSON.stringify(Cm(r,o.v7_relativeSplatPath));return p.useMemo(()=>Em(e,JSON.parse(s),a,n==="path"),[e,s,a,n])}function hP(e,t){return mP(e,t)}function mP(e,t,n,o){ss()||Je(!1);let{navigator:r}=p.useContext(fo),{matches:a}=p.useContext(go),s=a[a.length-1],i=s?s.params:{};s&&s.pathname;let c=s?s.pathnameBase:"/";s&&s.route;let d=_n(),u;if(t){var m;let b=typeof t=="string"?as(t):t;c==="/"||(m=b.pathname)!=null&&m.startsWith(c)||Je(!1),u=b}else u=d;let g=u.pathname||"/",y=g;if(c!=="/"){let b=c.replace(/^\//,"").split("/");y="/"+g.replace(/^\//,"").split("/").slice(b.length).join("/")}let x=W_(e,{pathname:y}),f=wP(x&&x.map(b=>Object.assign({},b,{params:Object.assign({},i,b.params),pathname:rr([c,r.encodeLocation?r.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?c:rr([c,r.encodeLocation?r.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),a,n,o);return t&&f?p.createElement(Rc.Provider,{value:{location:ui({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:qo.Pop}},f):f}function fP(){let e=SP(),t=cP(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application
113Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),n?p.createElement("pre",{style:r},n):null,null)}const gP=p.createElement(fP,null);class yP extends p.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?p.createElement(go.Provider,{value:this.props.routeContext},p.createElement(Wb.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function vP(e){let{routeContext:t,match:n,children:o}=e,r=p.useContext(Lc);return r&&r.static&&r.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=n.route.id),p.createElement(go.Provider,{value:t},o)}function wP(e,t,n,o){var r;if(t===void 0&&(t=[]),n===void 0&&(n=null),o===void 0&&(o=null),e==null){var a;if(!n)return null;if(n.errors)e=n.matches;else if((a=o)!=null&&a.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let s=e,i=(r=n)==null?void 0:r.errors;if(i!=null){let u=s.findIndex(m=>m.route.id&&(i==null?void 0:i[m.route.id])!==void 0);u>=0||Je(!1),s=s.slice(0,Math.min(s.length,u+1))}let c=!1,d=-1;if(n&&o&&o.v7_partialHydration)for(let u=0;u<s.length;u++){let m=s[u];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(d=u),m.route.id){let{loaderData:g,errors:y}=n,x=m.route.loader&&g[m.route.id]===void 0&&(!y||y[m.route.id]===void 0);if(m.route.lazy||x){c=!0,d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}return s.reduceRight((u,m,g)=>{let y,x=!1,f=null,b=null;n&&(y=i&&m.route.id?i[m.route.id]:void 0,f=m.route.errorElement||gP,c&&(d<0&&g===0?(x=!0,b=null):d===g&&(x=!0,b=m.route.hydrateFallbackElement||null)));let v=t.concat(s.slice(0,g+1)),h=()=>{let w;return y?w=f:x?w=b:m.route.Component?w=p.createElement(m.route.Component,null):m.route.element?w=m.route.element:w=u,p.createElement(vP,{match:m,routeContext:{outlet:u,matches:v,isDataRoute:n!=null},children:w})};return n&&(m.route.ErrorBoundary||m.route.errorElement||g===0)?p.createElement(yP,{location:n.location,revalidation:n.revalidation,component:f,error:y,children:h(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):h()},null)}var Hb=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Hb||{}),sc=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(sc||{});function bP(e){let t=p.useContext(Lc);return t||Je(!1),t}function xP(e){let t=p.useContext(Bb);return t||Je(!1),t}function kP(e){let t=p.useContext(go);return t||Je(!1),t}function Gb(e){let t=kP(),n=t.matches[t.matches.length-1];return n.route.id||Je(!1),n.route.id}function SP(){var e;let t=p.useContext(Wb),n=xP(sc.UseRouteError),o=Gb(sc.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[o]}function _P(){let{router:e}=bP(Hb.UseNavigateStable),t=Gb(sc.UseNavigateStable),n=p.useRef(!1);return Ub(()=>{n.current=!0}),p.useCallback(function(r,a){a===void 0&&(a={}),n.current&&(typeof r=="number"?e.navigate(r):e.navigate(r,ui({fromRouteId:t},a)))},[e,t])}function PP(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function ny(e){let{to:t,replace:n,state:o,relative:r}=e;ss()||Je(!1);let{future:a,static:s}=p.useContext(fo),{matches:i}=p.useContext(go),{pathname:c}=_n(),d=Nc(),u=Em(t,Cm(i,a.v7_relativeSplatPath),c,r==="path"),m=JSON.stringify(u);return p.useEffect(()=>d(JSON.parse(m),{replace:n,state:o,relative:r}),[d,m,r,n,o]),null}function se(e){Je(!1)}function jP(e){let{basename:t="/",children:n=null,location:o,navigationType:r=qo.Pop,navigator:a,static:s=!1,future:i}=e;ss()&&Je(!1);let c=t.replace(/^\/*/,"/"),d=p.useMemo(()=>({basename:c,navigator:a,static:s,future:ui({v7_relativeSplatPath:!1},i)}),[c,i,a,s]);
113typeof o=="string"&&(o=as(o));let{pathname:u="/",search:m="",hash:g="",state:y=null,key:x="default"}=o,f=p.useMemo(()=>{let b=Ya(u,c);return b==null?null:{location:{pathname:b,search:m,hash:g,state:y,key:x},navigationType:r}},[c,u,m,g,y,x,r]);return f==null?null:p.createElement(fo.Provider,{value:d},p.createElement(Rc.Provider,{children:n,value:f}))}function AP(e){let{children:t,location:n}=e;return hP(eh(t),n)}new Promise(()=>{});function eh(e,t){t===void 0&&(t=[]);let n=[];return p.Children.forEach(e,(o,r)=>{if(!p.isValidElement(o))return;let a=[...t,r];if(o.type===p.Fragment){n.push.apply(n,eh(o.props.children,a));return}o.type!==se&&Je(!1),!o.props.index||!o.props.children||Je(!1);let s={id:o.props.id||a.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,loader:o.props.loader,action:o.props.action,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(s.children=eh(o.props.children,a)),n.push(s)}),n}/** 114 * React Router DOM v6.30.1 115 * 116 * Copyright (c) Remix Software Inc. 117 * 118 * This source code is licensed under the MIT license found in the 119 * LICENSE.md file in the root directory of this source tree. 120 * 121 * @license MIT 122 */function ic(){return ic=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},ic.apply(this,arguments)}function qb(e,t){if(e==null)return{};var n={},o=Object.keys(e),r,a;for(a=0;a<o.length;a++)r=o[a],!(t.indexOf(r)>=0)&&(n[r]=e[r]);return n}function CP(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function EP(e,t){return e.button===0&&(!t||t==="_self")&&!CP(e)}function th(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let o=e[n];return t.concat(Array.isArray(o)?o.map(r=>[n,r]):[[n,o]])},[]))}function TP(e,t){let n=th(e);return t&&t.forEach((o,r)=>{n.has(r)||t.getAll(r).forEach(a=>{n.append(r,a)})}),n}const IP=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],OP=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],MP="6";try{window.__reactRouterVersion=MP}catch{}const LP=p.createContext({isTransitioning:!1}),RP="startTransition",oy=Eh[RP];function NP(e){let{basename:t,children:n,future:o,window:r}=e,a=p.useRef();a.current==null&&(a.current=V_({window:r,v5Compat:!0}));let s=a.current,[i,c]=p.useState({action:s.action,location:s.location}),{v7_startTransition:d}=o||{},u=p.useCallback(m=>{d&&oy?oy(()=>c(m)):c(m)},[c,d]);return p.useLayoutEffect(()=>s.listen(u),[s,u]),p.useEffect(()=>PP(o),[o]),p.createElement(jP,{basename:t,children:n,location:i.location,navigationType:i.action,navigator:s,future:o})}const DP=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",zP=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,dt=p.forwardRef(function(t,n){let{onClick:o,relative:r,reloadDocument:a,replace:s,state:i,target:c,to:d,preventScrollReset:u,viewTransition:m}=t,g=qb(t,IP),{basename:y}=p.useContext(fo),x,f=!1;if(typeof d=="string"&&zP.test(d)&&(x=d,DP))try{let w=new URL(window.location.href),S=d.startsWith("//")?new URL(w.protocol+d):new URL(d),_=Ya(S.pathname,y);S.origin===w.origin&&_!=null?d=_+S.search+S.hash:f=!0}catch{}let b=uP(d,{relative:r}),v=VP(d,{replace:s,state:i,target:c,preventScrollReset:u,relative:r,viewTransition:m});function h(w){o&&o(w),w.defaultPrevented||v(w)}return p.createElement("a",ic({},g,{href:x||b,onClick:f||a?o:h,ref:n,target:c}))}),BR=p.forwardRef(function(t,n){let{"aria-current":o="page",caseSensitive:r=!1,className:a="",end:s=!1,style:i,to:c,viewTransition:d,children:u}=t,m=qb(t,OP),g=Dc(c,{relative:m.relative}),y=_n(),x=p.useContext(Bb),{navigator:f,basename:b}=p.useContext(fo),v=x!=null&&$P(g)&&d===!0,h=f.encodeLocation?f.encodeLocation(g).pathname:g.pathname,w=y.pathname,S=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;r||(w=w.toLowerCase(),S=S?S.toLowerCase():null,h=h.toLowerCase()),S&&b&&(S=Ya(S,b)||S);const _=h!=="/"&&h.endsWith("/")?h.length-1:h.length;let A=w===h||!s&&w.startsWith(h)&&w.charAt(_)==="/",j=S!=null&&(S===h||!s&&S.startsWith(h)&&S.charAt(h.length)==="/"),I={isActive:A,isPending:j,isTransitioning:v},D=A?o:void 0,F;typeof a=="function"?F=a(I):F=[a,A?"active":null,j?"pending":null,v?"transitioning":null].filter(
122Boolean).join(" ");let Y=typeof i=="function"?i(I):i;return p.createElement(dt,ic({},m,{"aria-current":D,className:F,ref:n,style:Y,to:c,viewTransition:d}),typeof u=="function"?u(I):u)});var nh;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(nh||(nh={}));var ry;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ry||(ry={}));function FP(e){let t=p.useContext(Lc);return t||Je(!1),t}function VP(e,t){let{target:n,replace:o,state:r,preventScrollReset:a,relative:s,viewTransition:i}=t===void 0?{}:t,c=Nc(),d=_n(),u=Dc(e,{relative:s});return p.useCallback(m=>{if(EP(m,n)){m.preventDefault();let g=o!==void 0?o:rc(d)===rc(u);c(e,{replace:g,state:r,preventScrollReset:a,relative:s,viewTransition:i})}},[d,c,u,o,r,n,e,a,s,i])}function WR(e){let t=p.useRef(th(e)),n=p.useRef(!1),o=_n(),r=p.useMemo(()=>TP(o.search,n.current?null:t.current),[o.search]),a=Nc(),s=p.useCallback((i,c)=>{const d=th(typeof i=="function"?i(r):i);n.current=!0,a("?"+d,c)},[a,r]);return[r,s]}function $P(e,t){t===void 0&&(t={});let n=p.useContext(LP);n==null&&Je(!1);let{basename:o}=FP(nh.useViewTransitionState),r=Dc(e,{relative:t.relative});if(!n.isTransitioning)return!1;let a=Ya(n.currentLocation.pathname,o)||n.currentLocation.pathname,s=Ya(n.nextLocation.pathname,o)||n.nextLocation.pathname;return ac(r.pathname,s)!=null||ac(r.pathname,a)!=null}const BP=[{slug:"agile-consulting-services",title:"Agile Consulting Services: Revolutionize Your Business with Moonshot's"},{slug:"ai-development-services-for-startups",title:"AI Development Services for Startups"},{slug:"angularjs-development-company",title:"AngularJS Development Company"},{slug:"api-integration-services-london-uk",title:"API Integration Company Based in London, UK"},{slug:"artificial-intelligence-development-company",title:"Artificial Intelligence Development Company, AI Development That Drives Real Business Outcomes"},{slug:"bespoke-software-development-london-uk",title:"Bespoke Software Development Company Based in London, UK"},{slug:"custom-enterprise-software-development",title:"Your Custom Enterprise Software Development Partner"},{slug:"custom-software-development-for-startups",title:"Custom Software Development for Startups"},{slug:"database-development-services",title:"Database Development Services Tailored for Your Business"},{slug:"devops-consulting",title:"Revolutionize Your Software Development with Our DevOps Consulting"},{slug:"elearning-software-development-company-london-uk",title:"Custom E-Learning Softw
122are Development Solutions for Your Company in London, UK"},{slug:"enterprise-application-development-services",title:"Expert Enterprise Application Development Services"},{slug:"hire-dedicated-software-development-team",title:"Hire A Dedicated Software Development Team"},{slug:"it-staff-augmentation-services",title:"IT Staff Augmentation Services: Tailored to Your Needs"},{slug:"leading-software-product-development-company",title:"Leading Software Product Development Company â Build & Scale"},{slug:"mobile-app-development-services",title:"Mobile App Development Services Tailored to Your Needs"},{slug:"mvp-development-services",title:"MVP Development Services"},{slug:"mvp-development-services-for-startups",title:"MVP Development Services for Startups"},{slug:"mvp-development-services-london-uk",title:"MVP Development Services in London, UK"},{slug:"mvp-software-development-services-in-usa",title:"MVP Software Development Services in USA"},{slug:"outsource-react-js-development",title:"Outsource React.js Development"},{slug:"outsourcing-software-development-solutions",title:"Outsourcing Softw
122are Development Solutions Tailored to Your Needs"},{slug:"react-js-consulting-services",title:"React.JS Consulting Services"},{slug:"saas-application-development-company",title:"SaaS Application Development Company"},{slug:"saas-mvp-development-services",title:"SaaS MVP Development Services"},{slug:"software-consulting-services-london-uk",title:"Bespoke Software Consulting Services in London, UK"},{slug:"software-testing-services",title:"Professional Software Testing Services to Ensure Software Excellence"},{slug:"web-application-development-in-london",title:"Expert Web Application Development in London"},{slug:"web-application-development-services-london-uk",title:"Expert Web Application Development Services in London, UK"}],WP=[{slug:"banking-as-a-service-baas-a-solution-for-your-business",title:"Banking as a Service (BaaS): a solution for your business",author:"Ricardo Rodriguez",date:"Published:"},{slug:"best-growth-marketing-agencies",title:"Best Growth Marketing Agencies 2025: Top 15 Global Rankings",author:"Francisco Hernández",date:"Published:"},{slug:"best-resource-management-tools-for-it-agencies",title:"Best Resource Management Tools for IT Agencies 2025 | Expert Guide",author:"Francisco Hernández",date:"Published:"},{slug:"best-software-development-companies-in-the-uk",title:"Best Software Development Companies in the UK",author:"Francisco Hernández",date:"Published:"},{slug:"boost-your-business-with-modernized-data-integration-architecture",title:"Boost Your Business with Modernized Data Integration Architecture",author:"Ricardo Rodriguez",date:"Published:"},{slug:"chat-gpt-is-google-search-business-dominance-challenged",title:"Chat GPT: Is Google Search Business dominance challenged?",author:"David Gomez",date:"Published:"},{slug:"creating-our-first-node-js-package-with-typescript",title:"Creating our first Node.js package with Typescript",author:"Leonardo Cabeza",date:"Published:"},{slug:"educational-custom-software-development-overview",title:"Educational Custom Software Development Overview",author:"Juan Lagrange",date:"Published:"},{slug:"freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product",title:"Freemium vs. Free Trial: Choosing the Right Model for Your Digital Product",author:"Ricardo Rodriguez",date:"Published:"},{slug:"including-women-in-technology-insights-from-women-at-moonshot-partners",title:"The Importance of Including Women in Technology: Insights from Women at Moonshot Partners",author:"Moonshot-Girls",date:"Published:"},{slug:"innovative-business-ideas",title:"Innovative Business Ideas to Start with $50K in 2025",author:"Moonshot Editorial Team",date:"Published:"},{slug:"master-chatgpt-prompts-with-the-socratic-mother-prompt",title:'Master ChatGPT Prompts with the "Mother Prompt"',author:"Veronica Delfino",date:"Published:"},{slug:"minimum-viable-product-healthcare-innovation-unleashed",title:"Minimum Viable Product: Healthcare Innovation Unleashed",author:"Juan Lagrange",date:"Published:"},{slug:"mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge",title:"MVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for Knowledge",author:"David Gomez",date:"Published:"},{slug:"mvp-guide-building-an-mvp-with-no-coding-skills",title:"MVP Guide: Building an MVP with no coding skills",author:"Valentina Delfino",date:"Published:"},{slug:"mvp-testing-techniques-unveiled-redefining-product-validation",title:"MVP Testing Techniques Unveiled: Redefining Product Validation",author:"Juan Lagrange",date:"Published:"},{slug:"mvp-ux-design-balancing-simplicity-and-functionality",title:"MVP UX Design: Balancing Simplicity and Functionality",author:"Katherinne Jara Cáceres",date:"Published:"},{slug:"mvp-vs-prototype-vs-poc-decoding-development-strategies",title:"MVP vs Prototype vs PoC: Decoding Development Strategies",author:"Rubens Pasquale",date:"Published:"},{slug:"mvps-inspiring-mvp-examples-across-industries",title:"MVPs: Inspiring MVP Examples Across Industries",author:"Veronica Delfino",date:"Published:"},{slug:"nearshore-software-development-guide",title:"Nearshore Softw
122are Development: The Definitive Guide to Nearshore Outsourcing in 2025",author:"Francisco Hernández",date:"Published:"},{slug:"offshore-software-development-a-comprehensive-guide",title:"Offshore Software Development: A Comprehensive Guide",author:"Pedro MejÃa",date:"Published:"},{slug:"suaas-everything-you-need-to-know-to-launch-and-grow-your-business",title:"Start-Up as a Service: Everything You Need to Know to Launch and Grow Your Business",author:"Rubens Pasquale",date:"Published:"},{slug:"survey-app-development-a-comprehensive-guide-to-app-surveys",title:"Survey App Development: A Comprehensive Guide to survey apps",author:"Rubens Pasquale",date:"Published:"},{slug:"the-future-of-ai-ethics-regulations-and-implications-for-businesses",title:"The Future of AI: Ethics, Regulations, and Implications for Businesses",author:"Rubens Pasquale",date:"Published:"},{slug:"the-return-to-office-in-the-digital-nomads-era",title:"At what cost? The abrupt return to office in the digital nomads' era",author:"Jessica Leon",date:"Published:"},{slug:"top-nearshore-software-development-services-in-uk",title:"Top Nearshore Software Development Services in UK",author:"Francisco Hernández",date:"Published:"},{slug:"unlock-your-businesss-potential-with-custom-software-development",title:"Unlock Your Business's Potential with Custom Software Development Solutions",author:"Juan Lagrange",date:"Published:"},{slug:"unsung-heroes-women-also-shaped-the-history-of-tech",title:"Unsung Heroes: Women Also Shaped the History of Tech",author:"Pedro MejÃa",date:"Published:"},{slug:"web-application-development",title:"What Is Web Application Development and How To Build It?",author:"Francisco Hernández",date:"Published:"},{slug:"website-pages-are-not-indexing-check-these-5-common-reasons",title:"Website pages are not indexing? Check these 5 common reasons",author:"Sasha Briceño",date:"Published:"},{slug:"what-is-a-fractional-product-manager",title:"What Is a Fractional Product Manager, and Why Hire One?",author:"Moonshot Editorial Team",date:"Published:"},{slug:"why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world",title:"Why Strong Company Culture is the Key to Success in a Rapidly Changing World",author:"Jessica Leon",date:"Published:"}],UP=[{slug:"boosting-app-growth-targeted-messaging-for-english-learning",title:"Boosting App Growth: Targeted Messaging for English Learning"},{slug:"etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow",title:"ETL Data Workflows: Spartan Nash boosts business logic through the modernization of ETL workflow"},{slug:"gamified-and-customizable-web-based-survey-app-development",title:"Playverto and Moonshot partnered to build a customizable web-based survey tool that is changing the game for community engagement"},{slug:"investing-in-people-how-sunlight-helps-organizations-thrive",title:"Investing in people: How Sunlight helps organizations thrive"},{slug:"language-learning-app-development",title:"Empowering Language Learning: Innovative Web and Mobile App Development"},{slug:"no-code-automation-how-moonshot-empowered-a-venture-capital",title:"No-Code Automation: How Moonshot Empowered a Venture Capital in their Investment Strategy"},{slug:"nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai",title:"NOVA: AI-Powered Discovery Calls Made Easy"},{slug:"pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search",title:"Pattern Discovery AI: Enhancing Design Exploration with Intelligent Search"},{slug:"product-discovery-the-lanbys-primary-healthcare-innovation",title:"Product Discovery: The Lanby's Primary Healthcare Innovation"},{slug:"website-seo-optimization",title:"Go1 UX and SEO Website Optimization Upgrade: Boosting Performance and Driving Growth"}],HP=[{slug:"android",title:"Android Developer"},{slug:"backend",title:"Backend Engineer"},{slug:"frontend",title:"Frontend Engineer"},{slug:"ios-developer",title:"iOS Developer"},{slug:"product-manager",title:"Product Manager"}],GP=[{slug:"david-gomez",name:"David Gomez"},{slug:"francisco-hernandez",name:"Francisco Hernández"},{slug:"jessica-leon",name:"Jessica Leon"},{slug:"juan-lagrange",name:"Juan Lagrange"},{slug:"katherinne-jara-caceres",name:"Katherinne Jara Cáceres"},{slug:"leonardo-cabeza",name:"Leonardo Cabeza"},{slug:"moonshot-editorial-team",name:"Moonshot Editorial Team"},{slug:"moonshot-girls",name:"Moonshot-Girls"},{slug:"pedro-mejia",name:"Pedro MejÃa"},{slug:"ricardo-rodriguez",name:"Ricardo Rodriguez"},{slug:"rubens-pasquale",name:"Rubens Pasquale"}
122,{slug:"sasha-briceno",name:"Sasha Briceño"},{slug:"valentina-delfino",name:"Valentina Delfino"},{slug:"veronica-delfino",name:"Veronica Delfino"}],Ur={services:BP,blog:WP,caseStudies:UP,careers:HP,authors:GP},Tm="https://www.moonshot.partners",nt={legalName:"Hyperdrive LTD",brandName:"Moonshot Partners",address:{streetAddress:"7, Bell Yard",addressLocality:"London",postalCode:"WC2A 2JR",addressCountry:"United Kingdom",formatted:"London WC2 Office7, Bell Yard, London WC2A 2JR, United Kingdom"},telephone:"+44 (774) 520-2025",telephoneHref:"tel:+447745202025",email:"[email protected]",linkedin:"https://www.linkedin.com/company/moonshotpartners"},qP=[{label:"Blog",href:"/blog"},{label:"Case studies",href:"/case-studies"},{label:"About",href:"/about"},{label:"Contact",href:"/contact"},{label:"Tech talent",href:"/tech-talent"},{label:"Extended teams",href:"/extended-teams"},{label:"Moonshots AI Lab",href:"/moonshots-ai-lab"},{label:"Subscription",href:"/subscription"}],ay={color:k.onInkMute,fontFamily:G.sans,fontSize:"13px",lineHeight:1.45};function JP(){const e=nr.footer,t=e.links.find(n=>n.label==="Privacy");return l.jsxs("footer",{"aria-label":"Moonshot site directory",className:"editorial-home-footer",style:{background:k.ink,borderTop:`1px solid ${k.chalkOnInk}`,color:k.onInk,overflow:"hidden"},children:[l.jsxs("div",{className:"editorial-home-footer__inner max-w-7xl mx-auto",style:{paddingLeft:"clamp(24px, 5vw, 64px)",paddingRight:"clamp(24px, 5vw, 64px)",paddingTop:"clamp(40px, 6vw, 72px)",paddingBottom:"32px"},children:[l.jsxs("div",{className:"editorial-home-footer__masthead",children:[l.jsx(dt,{to:"/","aria-label":"Moonshot Partners home",children:l.jsx("img",{src:"/moonshot-logo.png",alt:"Moonshot Partners",style:{height:"20px",width:"auto",display:"block",filter:"brightness(0) invert(1)"}})}),l.jsxs("div",{className:"editorial-home-footer__utility",children:[l.jsx("a",{href:nt.linkedin,target:"_blank",rel:"noopener noreferrer",className:"editorial-home-footer__meta-link",children:"LinkedIn"}),l.jsx("a",{href:`mailto:${nt.email}`,className:"editorial-home-footer__meta-link",children:nt.email}),t&&l.jsx(dt,{to:t.href,className:"editorial-home-footer__meta-link",children:t.label})]})]}),l.jsxs("div",{className:"editorial-home-footer__directory",children:[l.jsxs("section",{"aria-labelledby":"footer-services-heading",children:[l.jsxs("h2",{id:"footer-services-heading",style:Ue(k.onInkDim),children:["Services / ",String(Ur.services.length).padStart(2,"0")]}),l.jsx("ol",{className:"editorial-home-footer__services",children:Ur.services.map((n,o)=>l.jsxs("li",{children:[l.jsx("span",{"aria-hidden":!0,children:String(o+1).padStart(2,"0")}),l.jsx(dt,{to:`/services/${n.slug}`,title:n.title,style:ay,children:n.title})]},n.slug))})]}),l.jsxs("section",{"aria-labelledby":"footer-explore-heading",children:[l.jsx("h2",{id:"footer-explore-heading",style:Ue(k.onInkDim),children:"Explore"}),l.jsx("ul",{className:"editorial-home-footer__stack",children:qP.map(n=>l.jsx("li",{children:l.jsx(dt,{to:n.href,style:ay,children:n.label})},n.href))})]}),l.jsxs("section",{"aria-labelledby":"footer-contact-heading",children:[l.jsx("h2",{id:"footer-contact-heading",style:Ue(k.onInkDim),children:"Get in touch"}),l.jsxs("address",{className:"editorial-home-footer__stack",children:[l.jsx("span",{children:nt.address.formatted}),l.jsx("a",{href:nt.telephoneHref,children:nt.telephone}),l.jsx("a",{href:`mailto:${nt.email}`,children:nt.email}),l.jsx("a",{href:nt.linkedin,target:"_blank",rel:"noopener noreferrer",children:"LinkedIn"})]})]})]}),l.jsxs("div",{className:"editorial-home-footer__legal",children:[l.jsx("span",{children:e.imprint}),l.jsxs("span",{children:["© 2025 ",nt.legalName]})]})]}),l.jsx("style",{children:` 123 .editorial-home-footer a { 124 text-decoration: none; 125 transition: color 180ms ease; 126 } 127 .editorial-home-footer a:hover { color: ${k.onInk}; } 128 .editorial-home-footer a:focus-visible { 129 outline: 2px solid ${k.blueprintOnInk}; 130 outline-offset: 4px; 131 } 132 .editorial-home-footer__masthead { 133 align-items: center; 134 display: flex; 135 flex-wrap: wrap; 136 gap: 24px; 137 justify-content: space-between; 138 padding-bottom: 32px; 139 } 140 .editorial-home-footer__utility { 141 align-items: center; 142 display: flex; 143 flex-wrap: wrap; 144 gap: 24px; 145 } 146 .editorial-home-footer__meta-link { 147 color: ${k.onInkDim}; 148 font-family: ${G.mono}; 149 font-size: 10px; 150 font-weight: 600; 151 letter-spacing: .22em; 152 text-transform: uppercase; 153 } 154 .editorial-home-footer__directory { 155 border-top: 1px solid ${k.chalkOnInk}; 156 display: grid; 157 gap: clamp(32px, 5vw, 72px); 158 grid-template-columns: minmax(0, 1.9fr) minmax(150px, .5fr) minmax(220px, .65fr); 159 padding: clamp(36px, 5vw, 64px) 0; 160 } 161 .editorial-home-footer__directory h2 { margin: 0 0 22px; } 162 .editorial-home-footer__services { 163 column-gap: 32px; 164 display: grid; 165 grid-template-columns: repeat(2, minmax(0, 1fr)); 166 list-style: none; 167 margin: 0; 168 padding: 0; 169 } 170 .editorial-home-footer__services li { 171 align-items: baseline; 172 border-top: 1px solid ${k.chalkOnInk}; 173 display: grid; 174 gap: 12px; 175 grid-template-columns: 24px minmax(0, 1fr); 176 padding: 10px 0; 177 } 178 .editorial-home-footer__services li > span { 179 color: ${k.onInkDim}; 180 font-family: ${G.mono}; 181 font-size: 9px; 182 } 183 .editorial-home-footer__stack { 184 color: ${k.onInkMute}; 185 display: flex; 186 flex-direction: column; 187 font-family: ${G.sans}; 188 font-size: 13px; 189 font-style: normal; 190 gap: 12px; 191 line-height: 1.55; 192 list-style: none; 193 margin: 0; 194 padding: 0; 195 } 196 .editorial-home-footer__stack a { color: ${k.onInkMute}; } 197 .editorial-home-footer__legal { 198 border-top: 1px solid ${k.chalkOnInk}; 199 color: ${k.onInkDim}; 200 display: flex; 201 flex-wrap: wrap; 202 font-family: ${G.mono}; 203 font-size: 9px; 204 gap: 12px 32px; 205 justify-content: space-between; 206 letter-spacing: .14em; 207 padding-top: 24px; 208 text-transform: uppercase; 209 } 210 @media (max-width: 940px) { 211 .editorial-home-footer__directory { 212 grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); 213 } 214 .editorial-home-footer__directory section:first-child { grid-column: 1 / -1; } 215 } 216 @media (max-width: 640px) { 217 .editorial-home-footer__directory { grid-template-columns: 1fr; } 218 .editorial-home-footer__directory section:first-child { grid-column: auto; } 219 .editorial-home-footer__services { grid-template-columns: 1fr; } 220 } 221 @media (prefers-reduced-motion: reduce) { 222 .editorial-home-footer a { transition: none; } 223 } 224 `})]})}const KP=()=>l.jsxs(A2,{children:[l.jsx(Yr,{}),l.jsx(E2,{}),l.jsx(T2,{}),l.jsx(I2,{}),l.jsx(kb,{}),l.jsx(O2,{}),l.jsx(xb,{}),l.jsx(F_,{}),l.jsx(JP,{})]});function UR(e,t){const n=p.createContext(t),o=a=>{const{children:s,...i}=a,c=p.useMemo(()=>i,Object.values(i));return l.jsx(n.Provider,{value:c,children:s})};o.displayName=e+"Provider";function r(a){const s=p.useContext(n);if(s)return s;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function yr(e,t=[]){let n=[];function o(a,s){const i=p.createContext(s),c=n.length;n=[...n,s];const d=m=>{var v;const{scope:g,children:y,...x}=m,f=((v=g==null?void 0:g[e])==null?void 0:v[c])||i,b=p.useMemo(()=>x,Object.values(x));return l.jsx(f.Provider,{value:b,children:y})};d.displayName=a+"Provider";function u(m,g){var f;const y=((f=g==null?void 0:g[e])==null?void 0:f[c])||i,x=p.useContext(y);if(x)return x;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${a}\``)}return[d,u]}const r=()=>{const a=n.map(s=>p.createContext(s));return function(i){const c=(i==null?void 0:i[e])||a;return p.useMemo(()=>({[`__scope${e}`]:{...i,[e]:c}}),[i,c])}};return r.scopeName=e,[o,QP(r,...t)]}function QP(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const s=o.reduce((i,{useScope:c,scopeName:d})=>{const m=c(a)[`__scope${d}`];return{...i,...m}},{});return p.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}function sy(e,t){if(typeof e=="function")return e(t);
vendor: 8,450 bytes, line 224
224e!=null&&(e.current=t)}function Jb(...e){return t=>{let n=!1;const o=e.map(r=>{const a=sy(r,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():sy(e[r],null)}}}}function De(...e){return p.useCallback(Jb(...e),e)}function pi(e){const t=ZP(e),n=p.forwardRef((o,r)=>{const{children:a,...s}=o,i=p.Children.toArray(a),c=i.find(ej);if(c){const d=c.props.children,u=i.map(m=>m===c?p.Children.count(d)>1?p.Children.only(null):p.isValidElement(d)?d.props.children:null:m);return l.jsx(t,{...s,ref:r,children:p.isValidElement(d)?p.cloneElement(d,void 0,u):null})}return l.jsx(t,{...s,ref:r,children:a})});return n.displayName=`${e}.Slot`,n}var YP=pi("Slot");function ZP(e){const t=p.forwardRef((n,o)=>{const{children:r,...a}=n;if(p.isValidElement(r)){const s=nj(r),i=tj(a,r.props);return r.type!==p.Fragment&&(i.ref=o?Jb(o,s):s),p.cloneElement(r,i)}return p.Children.count(r)>1?p.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Kb=Symbol("radix.slottable");function XP(e){const t=({children:n})=>l.jsx(l.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Kb,t}function ej(e){return p.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kb}function tj(e,t){const n={...t};for(const o in t){const r=e[o],a=t[o];/^on[A-Z]/.test(o)?r&&a?n[o]=(...i)=>{const c=a(...i);return r(...i),c}:r&&(n[o]=r):o==="style"?n[o]={...r,...a}:o==="className"&&(n[o]=[r,a].filter(Boolean).join(" "))}return{...e,...n}}function nj(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Im(e){const t=e+"CollectionProvider",[n,o]=yr(t),[r,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=f=>{const{scope:b,children:v}=f,h=R.useRef(null),w=R.useRef(new Map).current;return l.jsx(r,{scope:b,itemMap:w,collectionRef:h,children:v})};s.displayName=t;const i=e+"CollectionSlot",c=pi(i),d=R.forwardRef((f,b)=>{const{scope:v,children:h}=f,w=a(i,v),S=De(b,w.collectionRef);return l.jsx(c,{ref:S,children:h})});d.displayName=i;const u=e+"CollectionItemSlot",m="data-radix-collection-item",g=pi(u),y=R.forwardRef((f,b)=>{const{scope:v,children:h,...w}=f,S=R.useRef(null),_=De(b,S),A=a(u,v);return R.useEffect(()=>(A.itemMap.set(S,{ref:S,...w}),()=>void A.itemMap.delete(S))),l.jsx(g,{[m]:"",ref:_,children:h})});y.displayName=u;function x(f){const b=a(e+"CollectionConsumer",f);return R.useCallback(()=>{const h=b.collectionRef.current;if(!h)return[];const w=Array.from(h.querySelectorAll(`[${m}]`));return Array.from(b.itemMap.values()).sort((A,j)=>w.indexOf(A.ref.current)-w.indexOf(j.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:s,Slot:d,ItemSlot:y},x,o]}function fe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e==null||e(r),n===!1||!r.defaultPrevented)return t==null?void 0:t(r)}}var pt=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},oj=Eh[" useInsertionEffect ".trim().toString()]||pt;function Hr({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,a,s]=rj({defaultProp:t,onChange:n}),i=e!==void 0,c=i?e:r;{const u=p.useRef(e!==void 0);p.useEffect(()=>{const m=u.current;m!==i&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${i?"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.`),u.current=i},[i,o])}const d=p.useCallback(u=>{var m;if(i){const g=aj(u)?u(e):u;g!==e&&((m=s.current)==null||m.call(s,g))}else a(u)},[i,e,a,s]);return[c,d]}function rj({defaultProp:e,onChange:t}){const[n,o]=p.useState(e),r=p.useRef(n),a=p.useRef(t);return oj(()=>{a.current=t},[t]),p.useEffect(()=>{var s;r.current!==n&&((s=a.current)==null||s.call(a,n),r.current=n)},[n,r]),[n,o,a]}function aj(e){return typeof e=="function"}var sj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ve=sj.reduce((e,t)=>{const n=pi(`Primitive.${t}`),o=p.forwardRef((r,a)=>{const{asChild:s,...i}=r,c=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),l.jsx(c,{...i,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Qb(e,t){e&&gr.flushSync(()=>e.dispatchEvent(t))}function ij(e,t){return p.useReducer((n,o)=>t[n][o]??n,e)}var ji=e=>{const{present:t,children:n}=e,o=lj(t),r=typeof n=="function"?n({present:o.isPresent}):p.Children.only(n),a=De(o.ref,cj(r));return typeof n=="function"||o.isPresent?p.cloneElement(r,{ref:a}):null};ji.displayName="Presence";function lj(e){const[t,n]=p.useState(),o=p.useRef(null),r=p.useRef(e),a=p.useRef("none"),s=e?"mounted":"unmounted",[i,c]=ij(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const d=Zi(o.current);a.current=i==="mounted"?d:"none"},[i]),pt(()=>{const d=o.current,u=r.current;if(u!==e){const g=a.current,y=Zi(d);e?c("MOUNT"):y==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&g!==y?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,c]),pt(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,m=y=>{const f=Zi(o.current).includes(y.animationName);if(y.target===t&&f&&(c("ANIMATION_END"),!r.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=y=>{y.target===t&&(a.current=Zi(o.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:p.useCallback(d=>{o.current=d?getComputedStyle(d):null,n(d)},[])}}function Zi(e){return(e==null?void 0:e.animationName)||"none"}function cj(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var dj=Eh[" useId ".trim().toString()]||(()=>{}),uj=0;function Ai(e){const[t,n]=p.useState(dj());return pt(()=>{n(o=>o??String(uj++))},[e]),t?`radix-${t}`:""}var zc="Collapsible",[pj,Yb]=yr(zc),[hj,Om]=pj(zc),Zb=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:o,defaultOpen:r,disabled:a,onOpenChange:s,...i}=e,[c,d]=Hr({prop:o,defaultProp:r??!1,onChange:s,caller:zc});return l.jsx(hj,{scope:n,disabled:a,contentId:Ai(),open:c,onOpenToggle:p.useCallback(()=>d(u=>!u),[d]),children:l.jsx(ve.div,{"data-state":Lm(c),"data-disabled":a?"":void 0,...i,ref:t})})});Zb.displayName=zc;var Xb="CollapsibleTrigger",e0=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,...o}=e,r=Om(Xb,n);return l.jsx(ve.button,{type:"button","aria-controls":r.contentId,"aria-expanded":r.open||!1,"data-state":Lm(r.open),"data-disabled":r.disabled?"":void 0,disabled:r.disabled,...o,ref:t,onClick:fe(e.onClick,r.onOpenToggle)})});e0.displayName=Xb;var Mm="CollapsibleContent",t0=p.forwardRef((e,t)=>{const{forceMount:n,...o}=e,r=Om(Mm,e.__scopeCollapsible);return l.jsx(ji,{present:n||r.open,children:({present:a})=>l.jsx(mj,{...o,ref:t,present:a})})});t0.displayName=Mm;var mj=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:o,children:r,...a}=e,s=Om(Mm,n),[i,c]=p.useState(o),d=p.useRef(null),u=De(t,d),m=p.useRef(0),g=m.current,y=p.useRef(0),x=y.current,f=s.open||i,b=p.useRef(f),v=p.useRef(void 0);return p.useEffect(()=>{const h=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(h)},[]),pt(()=>{const h=d.current;if(h){v.current=v.current||{transitionDuration:h.style.transitionDuration,animationName:h.style.animationName},h.style.transitionDuration="0s",h.style.animationName="none";const w=h.getBoundingClientRect();m.current=w.height,y.current=w.width,b.current||(h.style.transitionDuration=v.current.transitionDuration,h.style.animationName=v.current.animationName),c(o)}}
vendor: 4,268 bytes, lines 224-229
224,[s.open,o]),l.jsx(ve.div,{"data-state":Lm(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!f,...a,ref:u,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":x?`${x}px`:void 0,...e.style},children:f&&r})});function Lm(e){return e?"open":"closed"}var fj=Zb,gj=e0,yj=t0,vj=p.createContext(void 0);function n0(e){const t=p.useContext(vj);return e||t||"ltr"}var Pn="Accordion",wj=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Rm,bj,xj]=Im(Pn),[Fc,HR]=yr(Pn,[xj,Yb]),Nm=Yb(),o0=R.forwardRef((e,t)=>{const{type:n,...o}=e,r=o,a=o;return l.jsx(Rm.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?l.jsx(Pj,{...a,ref:t}):l.jsx(_j,{...r,ref:t})})});o0.displayName=Pn;var[r0,kj]=Fc(Pn),[a0,Sj]=Fc(Pn,{collapsible:!1}),_j=R.forwardRef((e,t)=>{const{value:n,defaultValue:o,onValueChange:r=()=>{},collapsible:a=!1,...s}=e,[i,c]=Hr({prop:n,defaultProp:o??"",onChange:r,caller:Pn});return l.jsx(r0,{scope:e.__scopeAccordion,value:R.useMemo(()=>i?[i]:[],[i]),onItemOpen:c,onItemClose:R.useCallback(()=>a&&c(""),[a,c]),children:l.jsx(a0,{scope:e.__scopeAccordion,collapsible:a,children:l.jsx(s0,{...s,ref:t})})})}),Pj=R.forwardRef((e,t)=>{const{value:n,defaultValue:o,onValueChange:r=()=>{},...a}=e,[s,i]=Hr({prop:n,defaultProp:o??[],onChange:r,caller:Pn}),c=R.useCallback(u=>i((m=[])=>[...m,u]),[i]),d=R.useCallback(u=>i((m=[])=>m.filter(g=>g!==u)),[i]);return l.jsx(r0,{scope:e.__scopeAccordion,value:s,onItemOpen:c,onItemClose:d,children:l.jsx(a0,{scope:e.__scopeAccordion,collapsible:!0,children:l.jsx(s0,{...a,ref:t})})})}),[jj,Vc]=Fc(Pn),s0=R.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:o,dir:r,orientation:a="vertical",...s}=e,i=R.useRef(null),c=De(i,t),d=bj(n),m=n0(r)==="ltr",g=fe(e.onKeyDown,y=>{var I;if(!wj.includes(y.key))return;const x=y.target,f=d().filter(D=>{var F;return!((F=D.ref.current)!=null&&F.disabled)}),b=f.findIndex(D=>D.ref.current===x),v=f.length;if(b===-1)return;y.preventDefault();let h=b;const w=0,S=v-1,_=()=>{h=b+1,h>S&&(h=w)},A=()=>{h=b-1,h<w&&(h=S)};switch(y.key){case"Home":h=w;break;case"End":h=S;break;case"ArrowRight":a==="horizontal"&&(m?_():A());break;case"ArrowDown":a==="vertical"&&_();break;case"ArrowLeft":a==="horizontal"&&(m?A():_());break;case"ArrowUp":a==="vertical"&&A();break}const j=h%v;(I=f[j].ref.current)==null||I.focus()});return l.jsx(jj,{scope:n,disabled:o,direction:r,orientation:a,children:l.jsx(Rm.Slot,{scope:n,children:l.jsx(ve.div,{...s,"data-orientation":a,ref:c,onKeyDown:o?void 0:g})})})}),lc="AccordionItem",[Aj,Dm]=Fc(lc),i0=R.forwardRef((e,t)=>{const{__scopeAccordion:n,value:o,...r}=e,a=Vc(lc,n),s=kj(lc,n),i=Nm(n),c=Ai(),d=o&&s.value.includes(o)||!1,u=a.disabled||e.disabled;return l.jsx(Aj,{scope:n,open:d,disabled:u,triggerId:c,children:l.jsx(fj,{"data-orientation":a.orientation,"data-state":h0(d),...i,...r,ref:t,disabled:u,open:d,onOpenChange:m=>{m?s.onItemOpen(o):s.onItemClose(o)}})})});i0.displayName=lc;var l0="AccordionHeader",c0=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...o}=e,r=Vc(Pn,n),a=Dm(l0,n);return l.jsx(ve.h3,{"data-orientation":r.orientation,"data-state":h0(a.open),"data-disabled":a.disabled?"":void 0,...o,ref:t})});c0.displayName=l0;var oh="AccordionTrigger",d0=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...o}=e,r=Vc(Pn,n),a=Dm(oh,n),s=Sj(oh,n),i=Nm(n);return l.jsx(Rm.ItemSlot,{scope:n,children:l.jsx(gj,{"aria-disabled":a.open&&!s.collapsible||void 0,"data-orientation":r.orientation,id:a.triggerId,...i,...o,ref:t})})});d0.displayName=oh;var u0="AccordionContent",p0=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...o}=e,r=Vc(Pn,n),a=Dm(u0,n),s=Nm(n);return l.jsx(yj,{role:"region","aria-labelledby":a.triggerId,"data-orientation":r.orientation,...s,...o,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});p0.displayName=u0;function h0(e){return e?"open":"closed"}var Cj=o0,Ej=i0,Tj=c0,m0=d0,f0=p0;/** 225 * @license lucide-react v0.462.0 - ISC 226 * 227 * This source code is licensed under the ISC license. 228 * See the LICENSE file in the root directory of this source tree. 229 */const Ij=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),g0=(...e)=>
vendor: 8,514 bytes, lines 229-264
229e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim();/** 230 * @license lucide-react v0.462.0 - ISC 231 * 232 * This source code is licensed under the ISC license. 233 * See the LICENSE file in the root directory of this source tree. 234 */var Oj={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** 235 * @license lucide-react v0.462.0 - ISC 236 * 237 * This source code is licensed under the ISC license. 238 * See the LICENSE file in the root directory of this source tree. 239 */const Mj=p.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:r="",children:a,iconNode:s,...i},c)=>p.createElement("svg",{ref:c,...Oj,width:t,height:t,stroke:e,strokeWidth:o?Number(n)*24/Number(t):n,className:g0("lucide",r),...i},[...s.map(([d,u])=>p.createElement(d,u)),...Array.isArray(a)?a:[a]]));/** 240 * @license lucide-react v0.462.0 - ISC 241 * 242 * This source code is licensed under the ISC license. 243 * See the LICENSE file in the root directory of this source tree. 244 */const $c=(e,t)=>{const n=p.forwardRef(({className:o,...r},a)=>p.createElement(Mj,{ref:a,iconNode:t,className:g0(`lucide-${Ij(e)}`,o),...r}));return n.displayName=`${e}`,n};/** 245 * @license lucide-react v0.462.0 - ISC 246 * 247 * This source code is licensed under the ISC license. 248 * See the LICENSE file in the root directory of this source tree. 249 */const y0=$c("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** 250 * @license lucide-react v0.462.0 - ISC 251 * 252 * This source code is licensed under the ISC license. 253 * See the LICENSE file in the root directory of this source tree. 254 */const zm=$c("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** 255 * @license lucide-react v0.462.0 - ISC 256 * 257 * This source code is licensed under the ISC license. 258 * See the LICENSE file in the root directory of this source tree. 259 */const Lj=$c("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** 260 * @license lucide-react v0.462.0 - ISC 261 * 262 * This source code is licensed under the ISC license. 263 * See the LICENSE file in the root directory of this source tree. 264 */const Rj=$c("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function v0(e){var t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(n=v0(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}function w0(){for(var e,t,n=0,o="",r=arguments.length;n<r;n++)(e=arguments[n])&&(t=v0(e))&&(o&&(o+=" "),o+=t);return o}const Fm="-",Nj=e=>{const t=zj(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:s=>{const i=s.split(Fm);return i[0]===""&&i.length!==1&&i.shift(),b0(i,t)||Dj(s)},getConflictingClassGroupIds:(s,i)=>{const c=n[s]||[];return i&&o[s]?[...c,...o[s]]:c}}},b0=(e,t)=>{var s;if(e.length===0)return t.classGroupId;const n=e[0],o=t.nextPart.get(n),r=o?b0(e.slice(1),o):void 0;if(r)return r;if(t.validators.length===0)return;const a=e.join(Fm);return(s=t.validators.find(({validator:i})=>i(a)))==null?void 0:s.classGroupId},iy=/^\[(.+)\]$/,Dj=e=>{if(iy.test(e)){const t=iy.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},zj=e=>{const{theme:t,prefix:n}=e,o={nextPart:new Map,validators:[]};return Vj(Object.entries(e.classGroups),n).forEach(([a,s])=>{rh(s,o,a,t)}),o},rh=(e,t,n,o)=>{e.forEach(r=>{if(typeof r=="string"){const a=r===""?t:ly(t,r);a.classGroupId=n;return}if(typeof r=="function"){if(Fj(r)){rh(r(o),t,n,o);return}t.validators.push({validator:r,classGroupId:n});return}Object.entries(r).forEach(([a,s])=>{rh(s,ly(t,a),n,o)})})},ly=(e,t)=>{let n=e;return t.split(Fm).forEach(o=>{n.nextPart.has(o)||n.nextPart.set(o,{nextPart:new Map,validators:[]}),n=n.nextPart.get(o)}),n},Fj=e=>e.isThemeGetter,Vj=(e,t)=>t?e.map(([n,o])=>{const r=o.map(a=>typeof a=="string"?t+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([s,i])=>[t+s,i])):a);return[n,r]}):e,$j=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,o=new Map;const r=(a,s)=>{n.set(a,s),t++,t>e&&(t=0,o=n,n=new Map)};return{get(a){let s=n.get(a);if(s!==void 0)return s;if((s=o.get(a))!==void 0)return r(a,s),s},set(a,s){n.has(a)?n.set(a,s):r(a,s)}}},x0="!",Bj=e=>{const{separator:t,experimentalParseClassName:n}=e,o=t.length===1,r=t[0],a=t.length,s=i=>{const c=[];let d=0,u=0,m;for(let b=0;b<i.length;b++){let v=i[b];if(d===0){if(v===r&&(o||i.slice(b,b+a)===t)){c.push(i.slice(u,b)),u=b+a;continue}if(v==="/"){m=b;continue}}v==="["?d++:v==="]"&&d--}const g=c.length===0?i:i.substring(u),y=g.startsWith(x0),x=y?g.substring(1):g,f=m&&m>u?m-u:void 0;return{modifiers:c,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:f}};return n?i=>n({className:i,parseClassName:s}):s},Wj=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(o=>{o[0]==="["?(t.push(...n.sort(),o),n=[]):n.push(o)}),t.push(...n.sort()),t},Uj=e=>({cache:$j(e.cacheSize),parseClassName:Bj(e),...Nj(e)}),Hj=/\s+/,Gj=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:r}=t,a=[],s=e.trim().split(Hj);let i="";for(let c=s.length-1;c>=0;c-=1){const d=s[c],{modifiers:u,hasImportantModifier:m,baseClassName:g,maybePostfixModifierPosition:y}=n(d);let x=!!y,f=o(x?g.substring(0,y):g);if(!f){if(!x){i=d+(i.length>0?" "+i:i);continue}if(f=o(g),!f){i=d+(i.length>0?" "+i:i);continue}x=!1}const b=Wj(u).join(":"),v=m?b+x0:b,h=v+f;if(a.includes(h))continue;a.push(h);const w=r(f,x);for(let S=0;S<w.length;++S){const _=w[S];a.push(v+_)}i=d+(i.length>0?" "+i:i)}return i};function qj(){let e=0,t,n,o="";for(;e<arguments.length;)(t=arguments[e++])&&(n=k0(t))&&(o&&(o+=" "),o+=n);return o}const k0=e=>{if(typeof e=="string")return e;let t,n="";for(let o=0;o<e.length;o++)e[o]&&(t=k0(e[o]))&&(n&&(n+=" "),n+=t);return n};function Jj(e,...t){let n,o,r,a=s;function s(c){const d=t.reduce((u,m)=>m(u),e());return n=Uj(d),o=n.cache.get,r=n.cache.set,a=i,i(c)}function i(c){const d=o(c);if(d)return d;const u=Gj(c,n);return r(c,u),u}return function(){return a(qj.apply(null,arguments))}}const ze=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},S0=/^\[(?:([a-z-]+):)?(.+)\]$/i,Kj=/^\d+\/\d+$/,Qj=new Set(["px","full","screen"]),Yj=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Zj=/\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$/,Xj=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,eA=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,tA=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Yn=e=>Ea(e)||Qj.has(e)||Kj.test(e),Ao=e=>is(e,"length",cA),Ea=e=>!!e&&!Number.isNaN(Number(e)),Du=e=>is(e,"number",Ea),Ss=e=>!!e&&Number.isInteger(Number(e)),nA=e=>e.endsWith("%")&&Ea(e.slice(0,-1)),me=e=>S0.test(e),Co=e=>Yj.test(e),oA=new Set(["length","size","percentage"]),rA=e=>is(e,oA,_0),aA=e=>is(e,"position",_0),sA=new Set(["image","url"]),iA=e=>is(e,sA,uA),lA=e=>is(e,"",dA),_s=()=>!0,is=(e,t,n)=>{const o=S0.exec(e);return o?o[1]?typeof t=="string"?o[1]===t:t.has(o[1]):n(o[2]):!1},cA=e=>Zj.test(e)&&!Xj.test(e),_0=()=>!1,dA=e=>eA.test(e),uA=e=>tA.test(e),pA=()=>{const e=ze("colors"),t=ze("spacing"),n=ze("blur"),o=ze("brightness"),r=ze("borderColor"),a=ze("borderRadius"),s=ze("borderSpacing"),i=ze("borderWidth"),c=ze("contrast"),d=ze("grayscale"),u=ze("hueRotate"),m=ze("invert"),g=ze("gap"),y=ze("gradientColorStops"),x=ze("gradientColorStopPositions"),f=ze("inset"),b=ze("margin"),v=ze("opacity"),h=ze("padding"),w=ze("saturate"),S=ze("scale"),_=ze("sepia"),A=ze("skew"),j=ze("space"),I=ze("translate"),D=()=>["auto","contain","none"],F=()=>["auto","hidden","clip","visible","scroll"],Y=()=>["auto",me,t],N=()=>[me,t],q=()=>["",Yn,Ao],z=()=>["auto",Ea,me],ne=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],K=()=>["solid","dashed","dotted","double","none"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],T=()=>["start","end","center","between","around","evenly","stretch"],M=()=>["","0",me],U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ie=()=>[Ea,me];return{cacheSize:500,separator:":",theme:{colors:[_s],spacing:[Yn,Ao],blur:["none","",Co,me],brightness:ie(),borderColor:[e],borderRadius:["n
264one","","full",Co,me],borderSpacing:N(),borderWidth:q(),contrast:ie(),grayscale:M(),hueRotate:ie(),invert:M(),gap:N(),gradientColorStops:[e],gradientColorStopPositions:[nA,Ao],inset:Y(),margin:Y(),opacity:ie(),padding:N(),saturate:ie(),scale:ie(),sepia:M(),skew:ie(),space:N(),translate:N()},classGroups:{aspect:[{aspect:["auto","square","video",me]}],container:["container"],columns:[{columns:[Co]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"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"],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:[...ne(),me]}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Ss,me]}],basis:[{basis:Y()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",me]}],grow:[{grow:M()}],shrink:[{shrink:M()}],order:[{order:["first","last","none",Ss,me]}],"grid-cols":[{"grid-cols":[_s]}],"col-start-end":[{col:["auto",{span:["full",Ss,me]},me]}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":[_s]}],"row-start-end":[{row:["auto",{span:[Ss,me]},me]}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",me]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",me]}],gap:[{gap:[g]}],"gap-x":[{"gap-x":[g]}],"gap-y":[{"gap-y":[g]}],"justify-content":[{justify:["normal",...T()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...T(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...T(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[j]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[j]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",me,t]}],"min-w":[{"min-w":[me,t,"min","max","fit"]}],"max-w":[{"max-w":[me,t,"none","full","min","max","fit","prose",{screen:[Co]},Co]}],h:[{h:[me,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[me,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[me,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[me,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Co,Ao]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Du]}],"font-family":[{font:[_s]}],"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:["tighter","tight","normal","wide","wider","widest",me]}],"line-clamp":[{"line-clamp":["none",Ea,Du]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Yn,me]}],"list-image":[{"list-image":["none",me]}],"list-style-type":[{list:["none","disc","decimal",me]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[v]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[v]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...K(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Yn,Ao]}],"underline-offset":[{"underline-offset":["auto",Yn,me]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:N()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[v]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ne(),aA]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",rA]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},iA]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}
vendor: 5,184 bytes, line 264
264],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[y]}],"gradient-via":[{via:[y]}],"gradient-to":[{to:[y]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[v]}],"border-style":[{border:[...K(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[v]}],"divide-style":[{divide:K()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-s":[{"border-s":[r]}],"border-color-e":[{"border-e":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",...K()]}],"outline-offset":[{"outline-offset":[Yn,me]}],"outline-w":[{outline:[Yn,Ao]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[v]}],"ring-offset-w":[{"ring-offset":[Yn,Ao]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Co,lA]}],"shadow-color":[{shadow:[_s]}],opacity:[{opacity:[v]}],"mix-blend":[{"mix-blend":[...ee(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ee()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[o]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Co,me]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[m]}],saturate:[{saturate:[w]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[v]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",me]}],duration:[{duration:ie()}],ease:[{ease:["linear","in","out","in-out",me]}],delay:[{delay:ie()}],animate:[{animate:["none","spin","ping","pulse","bounce",me]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[Ss,me]}],"translate-x":[{"translate-x":[I]}],"translate-y":[{"translate-y":[I]}],"skew-x":[{"skew-x":[A]}],"skew-y":[{"skew-y":[A]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",me]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",me]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":N()}],"scroll-mx":[{"scroll-mx":N()}],"scroll-my":[{"scroll-my":N()}],"scroll-ms":[{"scroll-ms":N()}],"scroll-me":[{"scroll-me":N()}],"scroll-mt":[{"scroll-mt":N()}],"scroll-mr":[{"scroll-mr":N()}],"scroll-mb":[{"scroll-mb":N()}],"scroll-ml":[{"scroll-ml":N()}],"scroll-p":[{"scroll-p":N()}],"scroll-px":[{"scroll-px":N()}],"scroll-py":[{"scroll-py":N()}],"scroll-ps":[{"scroll-ps":N()}],"scroll-pe":[{"scroll-pe":N()}],"scroll-pt":[{"scroll-pt":N()}],"scroll-pr":[{"scroll-pr":N()}],"scroll-pb":[{"scroll-pb":N()}],"scroll-pl":[{"scroll-pl":N()}],"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"]}
264],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",me]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Yn,Ao,Du]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}},hA=Jj(pA);function He(...e){return hA(w0(e))}const mA=Cj,P0=p.forwardRef(({className:e,...t},n)=>l.jsx(Ej,{ref:n,className:He("border-b",e),...t}));P0.displayName="AccordionItem";const j0=p.forwardRef(({className:e,children:t,...n},o)=>l.jsx(Tj,{className:"flex",children:l.jsxs(m0,{ref:o,className:He("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,l.jsx(zm,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));j0.displayName=m0.displayName;const A0=p.forwardRef(({className:e,children:t,...n},o)=>l.jsx(f0,{ref:o,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:l.jsx("div",{className:He("pb-4 pt-0",e),children:t})}));A0.displayName=f0.displayName;function uo({html:e,ground:t}){return l.jsx("div",{className:`legacy-rich legacy-rich--${t}`,dangerouslySetInnerHTML:{__html:e}})}function fA({children:e,ground:t}){return l.jsx("h2",{style:{fontFamily:G.display,fontSize:"clamp(34px, 5vw, 70px)",fontWeight:500,letterSpacing:"-0.045em",lineHeight:.98,maxWidth:"18ch",color:t==="ink"?k.onInk:k.onPaper,margin:0},children:e})}function Zr({ground:e,index:t,heading:n,children:o}){return l.jsx(Et,{ground:e,eyebrow:`Service field note / ${String(t+1).padStart(2,"0")}`,children:l.jsxs("div",{className:"legacy-section-grid",children:[l.jsx(fA,{ground:e,children:n}),l.jsx("div",{children:o})]})})}function gA({section:e,ground:t,index:n}){return l.jsx(Zr,{ground:t,index:n,heading:e.heading,children:l.jsx(uo,{html:e.bodyHtml,ground:t})})}function yA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk;return l.jsxs(Zr,{ground:t,index:n,heading:e.heading,children:[e.noteHtml&&l.jsx(uo,{html:e.noteHtml,ground:t}),l.jsx("div",{className:"legacy-card-grid",style:{borderTop:`1px solid ${o}`},children:e.items.map(r=>l.jsxs("article",{style:{borderBottom:`1px solid ${o}`,padding:"clamp(28px, 4vw, 48px) 0"},children:[l.jsx("h3",{className:"legacy-card-title",children:r.title}),l.jsx(uo,{html:r.bodyHtml,ground:t})]},r.title))})]})}function vA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk,r=t==="ink"?k.onInkDim:k.onPaperDim;return l.jsxs(Zr,{ground:t,index:n,heading:e.heading,children:[e.noteHtml&&l.jsx(uo,{html:e.noteHtml,ground:t}),l.jsx("ol",{style:{listStyle:"none",margin:0,padding:0,borderTop:`1px solid ${o}`},children:e.steps.map((a,s)=>l.jsxs("li",{className:"legacy-process-step",style:{borderBottom:`1px solid ${o}`},children:[l.jsx("span",{style:Ue(r,11),children:String(s+1).padStart(2,"0")}),l.jsxs("div",{children:[l.jsx("h3",{className:"legacy-card-title",children:a.title}),l.jsx(uo,{html:a.bodyHtml,ground:t})]})]},a.title))})]})}function wA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk,r=t==="ink"?k.onInkMute:k.onPaperMute;return l.jsxs(Zr,{ground:t,index:n,heading:e.heading,children:[e.introHtml&&l.jsx(uo,{html:e.introHtml,ground:t}),l.jsx("div",{className:"legacy-card-grid",children:e.quotes.map((a,s)=>l.jsxs("figure",{style:{margin:0,padding:"32px 0",borderTop:`1px solid ${o}`},children:[l.jsx(uo,{html:a.quoteHtml,ground:t}),l.jsxs("figcaption",{style:{marginTop:24},children:[l.jsx("strong",{style:{fontFamily:G.sans},children:a.name}),a.role&&l.jsx("span",{style:{...Ue(r,10),display:"block",marginTop:8},children:a.role})]})]},`${a.name}-${s}`))})]})}function bA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk;return l.jsx(Zr,{ground:t,index:n,heading:e.heading,children:l.jsx(mA,{type:"single",collapsible:!0,children:e.items.map((r,a)=>l.jsxs(P0,{value:`faq-${a}`,style:{borderColor:o},children:[l.jsx(j0,{className:"legacy-faq-trigger",children:r.q}),l.jsx(A0,{forceMount:!0,children:l.jsx(uo,{html:r.aHtml,ground:t})})]},r.q))})})}function xA({section:e,ground:t,index:n}){const o=t==="ink"?k.onInk:k.onPaper;return l.jsx(Et,{ground:t,eyebrow:`Next move / ${String(n+1).padStart(2,"0")}`,children:l.jsxs("div",{className:"legacy-cta-band",children:[l.jsx("h2",{style:{fontFamily:G.display,fontSize:"clamp(42px, 7vw, 96px)",fontWeight:500,letterSpacing:"-0.055em",lineHeight:.94,color:o,margin:0,maxWidth:"15ch"},children:e.heading}),l.jsx("a",{className:"legacy-cta",href:"/#contact",children:e.ctaLabel})]})})}function kA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk;return l.jsx(Zr,{ground:t,index:n,heading:e.heading,children:l.jsx("div",{className:"legacy-card-grid",children:e.cards.map(r=>l.jsxs("a",{href:r.href,className:"legacy-linked-card",style:{borderTop:`1px solid ${o}`},children:[r.image&&l.jsx("img",{src:r.image,alt:"",loading:"lazy"}),l.jsx("h3",{className:"legacy-card-title",children:r.title}),l.jsx(uo,{html:r.blurbHtml,ground:t})]},r.href))})})}function SA({section:e,ground:t,index:n}){const o=t==="ink"?k.chalkOnInk:k.chalk,r=e.type==="otherServices"?e.links:e.posts;return l.jsx(Zr,{ground:t,index:n,heading:e.heading,children:l.jsx("div",{style:{borderTop:`1px solid ${o}`},children:r.map(a=>l.jsxs("a",{className:"legacy-index-link",href:a.href,children:[l.jsx("span",{children:"label"in a?a.label:a.title}
264),l.jsx("span",{"aria-hidden":!0,children:"â"})]},a.href))})})}function _A({section:e,index:t}){if(e.type==="clients")return l.jsx(kb,{});const n=t%2===0?"ink":"paper";switch(e.type){case"prose":return l.jsx(gA,{section:e,ground:n,index:t});case"richGrid":return l.jsx(yA,{section:e,ground:n,index:t});case"process":return l.jsx(vA,{section:e,ground:n,index:t});case"testimonials":return l.jsx(wA,{section:e,ground:n,index:t});case"faq":return l.jsx(bA,{section:e,ground:n,index:t});case"ctaBand":return l.jsx(xA,{section:e,ground:n,index:t});case"caseStudies":return l.jsx(kA,{section:e,ground:n,index:t});case"otherServices":case"relatedPosts":return l.jsx(SA,{section:e,ground:n,index:t})}}const PA=[{title:"Case Studies",href:"/case-studies"},{title:"Blog",href:"/blog"},{title:"Contact Us",href:"/contact"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}],jA=[{title:"Customizable Survey App",href:"/case-studies/gamified-and-customizable-web-based-survey-app-development"},{title:"Language Learning App",href:"/case-studies/language-learning-app-development"},{title:"Banking as a Service integrations",href:"/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive"},{title:"SEO Website Optimization",href:"/case-studies/website-seo-optimization"},{title:"ETL Data workflow modernization",href:"/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow"}];function zu({links:e}){return l.jsx("ul",{className:"legacy-footer-list",children:e.map(t=>l.jsx("li",{children:l.jsx(dt,{to:t.href,"aria-label":`${t.title} â footer`,children:t.title})},t.href))})}function yo(){const[e,t]=p.useState("services");return l.jsxs("footer",{className:"legacy-footer","aria-label":"Moonshot legacy footer",style:{background:k.ink,color:k.onInk},children:[l.jsxs("div",{className:"legacy-footer-frame",children:[l.jsxs("div",{className:"legacy-footer-tabs",role:"group","aria-label":"Footer directory",children:[l.jsxs("button",{type:"button",id:"legacy-footer-company-tab","aria-pressed":e==="company","aria-controls":"legacy-footer-company-panel",className:"legacy-footer-tab",onClick:()=>t("company"),children:[l.jsx("span",{children:"01"}),"Company"]}),l.jsxs("button",{type:"button",id:"legacy-footer-services-tab","aria-pressed":e==="services","aria-controls":"legacy-footer-services-panel",className:"legacy-footer-tab",onClick:()=>t("services"),children:[l.jsx("span",{children:"02"}),"Our Services"]})]}),l.jsxs("div",{className:"legacy-footer-directory",children:[l.jsxs("div",{id:"legacy-footer-company-panel",role:"region","aria-labelledby":"legacy-footer-company-tab",className:"legacy-footer-company",hidden:e!=="company",children:[l.jsxs("section",{children:[l.jsx("h2",{children:"Explore"}),l.jsx(zu,{links:PA}),l.jsx("a",{className:"legacy-footer-external",href:"https://www.m8l.com/",target:"_blank",rel:"noreferrer",children:"Growth Marketing Services â"})]}),l.jsxs("section",{children:[l.jsx("h2",{children:"Our Experience"}),l.jsx(zu,{links:jA})]}),l.jsxs("section",{children:[l.jsx("h2",{children:"Company"}),l.jsx(zu,{links:[{title:"Privacy Policy",href:"/privacy-policy"},{title:"Cookie Policy",href:"/cookie-policy"}]})]}),l.jsxs("section",{className:"legacy-footer-contact",children:[l.jsx("h2",{children:"Get In Touch"}),l.jsx("address",{children:nt.address.formatted}),l.jsx("a",{href:nt.telephoneHref,children:nt.telephone}),l.jsx("a",{href:`mailto:${nt.email}`,children:nt.email}),l.jsxs(dt,{className:"legacy-footer-cta",to:"/#contact",children:["Talk to us! ",l.jsx("span",{"aria-hidden":!0,children:"â"})]})]})]}),l.jsxs("section",{id:"legacy-footer-services-panel",role:"region","aria-labelledby":"legacy-footer-services-tab",className:"legacy-footer-services",hidden:e!=="services",children:[l.jsxs("div",{className:"legacy-footer-services-heading",children:[l.jsx("div",{style:Ue(k.blueprintOnInk,10),children:"Directory / 29 records"}),l.jsx("h2",{children:"Our Services"})]}),l.jsx("ol",{children:Ur.services.map((n,o)=>l.jsxs("li",{children:[l.jsx("span",{children:String(o+1).padStart(2,"0")}),l.jsx(dt,{to:`/services/${n.slug}`,children:n.title})]},n.slug))})]})]})]}),l.jsxs("div",{className:"legacy-footer-signoff",children:[l.jsx(dt,{to:"/","aria-label":"Moonshot home",children:l.jsx("img",{src:"/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",alt:"Moonshot"})}),l.jsx("a",{href:nt.linkedin,target:"_blank",rel:"noreferrer",children:"Join us at LinkedIn â"}),l.jsxs("p",{children:["©2025 ",nt.legalName,". All rights reserved. ",nt.address.addressLocality,","," ",nt.address.addressCountry,"."]})]}),l.jsx("style",{children:` 265 .legacy-footer *, 266 .legacy-footer *::before, 267 .legacy-footer *::after { box-sizing: border-box; } 268 .legacy-footer [hidden] { display: none !important; } 269 .legacy-footer { 270 width: 100%; 271 overflow-x: hidden; 272 border-top: 1px solid ${k.chalkOnInk}; 273 font-family: ${G.sans}; 274 } 275 .legacy-footer-frame { 276 width: min(100%, 1440px); 277 margin: 0 auto; 278 display: grid; 279 grid-template-columns: minmax(180px, .24fr) minmax(0, 1.76fr); 280 border-left: 1px solid ${k.chalkOnInk}; 281 border-right: 1px solid ${k.chalkOnInk}; 282 } 283 .legacy-footer-tabs { 284 display: grid; 285 align-content: start; 286 border-right: 1px solid ${k.chalkOnInk}; 287 } 288 .legacy-footer-tab { 289 min-width: 0; 290 display: grid; 291 gap: 24px; 292 border: 0; 293 border-bottom: 1px solid ${k.chalkOnInk}; 294 padding: 30px 24px; 295 background: transparent; 296 color: ${k.onInkMute}; 297 font-family: ${G.display}; 298 font-size: clamp(20px, 2vw, 28px); 299 font-weight: 540; 300 letter-spacing: -.035em; 301 line-height: 1; 302 text-align: left; 303 cursor: pointer; 304 } 305 .legacy-footer-tab span { 306 color: ${k.onInkDim}; 307 font-family: ${G.mono}; 308 font-size: 10px; 309 font-weight: 700; 310 letter-spacing: .16em; 311 } 312 .legacy-footer-tab[aria-pressed="true"] { 313 background: ${k.blueprint}; 314 color: ${k.onInk}; 315 } 316 .legacy-footer-tab[aria-pressed="true"] span { color: ${k.onInk}; } 317 .legacy-footer-directory { min-width: 0; } 318 .legacy-footer-company { 319 display: grid; 320 grid-template-columns: repeat(4, minmax(0, 1fr)); 321 } 322 .legacy-footer-company > section { 323 min-width: 0; 324 padding: clamp(28px, 4vw, 52px) clamp(22px, 3vw, 40px); 325 border-right: 1px solid ${k.chalkOnInk}; 326 } 327 .legacy-footer-company > section:last-child { border-right: 0; } 328 .legacy-footer h2 { 329 margin: 0 0 28px; 330 color: ${k.onInk}; 331 font-family: ${G.mono}; 332 font-size: 10px; 333 font-weight: 700; 334 letter-spacing: .2em; 335 line-height: 1.4; 336 text-transform: uppercase; 337 } 338 .legacy-footer-list { 339 margin: 0; 340 padding: 0; 341 display: grid; 342 gap: 16px; 343 list-style: none; 344 }
345 .legacy-footer a { overflow-wrap: anywhere; } 346 .legacy-footer-list a, 347 .legacy-footer-external, 348 .legacy-footer-contact > a:not(.legacy-footer-cta) { 349 color: ${k.onInkMute}; 350 font-size: 13px; 351 line-height: 1.55; 352 text-decoration: none; 353 } 354 .legacy-footer-list a:hover, 355 .legacy-footer-external:hover, 356 .legacy-footer-contact > a:hover { color: ${k.onInk}; } 357 .legacy-footer-external { display: block; margin-top: 16px; } 358 .legacy-footer-contact { display: flex; flex-direction: column; align-items: flex-start; } 359 .legacy-footer-contact address { 360 margin: 0 0 20px; 361 color: ${k.onInkMute}; 362 font-size: 13px; 363 font-style: normal; 364 line-height: 1.65; 365 } 366 .legacy-footer-cta { 367 width: 100%; 368 display: flex; 369 justify-content: space-between; 370 gap: 16px; 371 margin-top: auto; 372 border-top: 1px solid ${k.chalkOnInk}; 373 padding-top: 24px; 374 color: ${k.onInk}; 375 font-family: ${G.display}; 376 font-size: clamp(20px, 2vw, 30px); 377 font-weight: 540; 378 letter-spacing: -.035em; 379 text-decoration: none; 380 } 381 .legacy-footer-cta span { color: ${k.blueprintOnInk}; } 382 .legacy-footer-services { padding: clamp(30px, 5vw, 64px); } 383 .legacy-footer-services-heading { 384 display: grid; 385 grid-template-columns: minmax(150px, .35fr) minmax(0, 1.65fr); 386 gap: 32px; 387 align-items: end; 388 margin-bottom: 42px; 389 } 390 .legacy-footer-services-heading h2 { 391 margin: 0; 392 font-family: ${G.display}; 393 font-size: clamp(46px, 7vw, 92px); 394 font-weight: 520; 395 letter-spacing: -.06em; 396 line-height: .88; 397 text-transform: none; 398 } 399 .legacy-footer-services ol { 400 margin: 0; 401 padding: 0; 402 columns: 3 240px; 403 column-gap: clamp(28px, 5vw, 72px); 404 list-style: none; 405 border-top: 1px solid ${k.chalkOnInk}; 406 } 407 .legacy-footer-services li { 408 break-inside: avoid; 409 display: grid; 410 grid-template-columns: 28px minmax(0, 1fr); 411 gap: 12px; 412 border-bottom: 1px solid ${k.chalkOnInk}; 413 padding: 16px 0; 414 } 415 .legacy-footer-services li span { 416 color: ${k.blueprintOnInk}; 417 font-family: ${G.mono}; 418 font-size: 9px; 419 font-weight: 700; 420 letter-spacing: .12em; 421 } 422 .legacy-footer-services li a { 423 color: ${k.onInkMute}; 424 font-size: 12px; 425 line-height: 1.45; 426 text-decoration: none; 427 } 428 .legacy-footer-services li a:hover { color: ${k.onInk}; } 429 .legacy-footer-signoff { 430 width: min(100%, 1440px); 431 min-height: 116px; 432 margin: 0 auto; 433 display: grid; 434 grid-template-columns: 1fr auto 1fr; 435 gap: 32px; 436 align-items: center; 437 border: 1px solid ${k.chalkOnInk}; 438 padding: 28px clamp(24px, 5vw, 64px); 439 } 440 .legacy-footer-signoff img { display: block; width: 170px; height: auto; } 441 .legacy-footer-signoff > a:nth-child(2) { 442 color: ${k.onInk}; 443 font-family: ${G.mono}; 444 font-size: 10px; 445 font-weight: 700; 446 letter-spacing: .12em; 447 text-decoration: none; 448 text-transform: uppercase; 449 } 450 .legacy-footer-signoff p { 451 margin: 0; 452 color: ${k.onInkDim}; 453 font-family: ${G.mono}; 454 font-size: 9px; 455 letter-spacing: .06em; 456 line-height: 1.6; 457 text-align: right; 458 } 459 .legacy-footer button:focus-visible, 460 .legacy-footer a:focus-visible { 461 outline: 2px solid ${k.blueprintOnInk}; 462 outline-offset: 3px; 463 } 464 @media (max-width: 1040px) { 465 .legacy-footer-company { grid-template-columns: repeat(2, minmax(0, 1fr)); } 466 .legacy-footer-company > section { border-bottom: 1px solid ${k.chalkOnInk}; } 467 } 468 @media (max-width: 760px) { 469 .legacy-footer-frame { grid-template-columns: minmax(0, 1fr); } 470 .legacy-footer-tabs { 471 grid-template-columns: repeat(2, minmax(0, 1fr)); 472 border-right: 0; 473 } 474 .legacy-footer-tab { gap: 12px; padding: 20px; } 475 .legacy-footer-company { grid-template-columns: minmax(0, 1fr); } 476 .legacy-footer-company > section { 477 border-right: 0; 478 border-bottom: 1px solid ${k.chalkOnInk}; 479 } 480 .legacy-footer-services { padding: 36px 22px; } 481 .legacy-footer-services-heading { grid-template-columns: 1fr; } 482 .legacy-footer-services ol { columns: 1; } 483 .legacy-footer-signoff { 484 grid-template-columns: minmax(0, 1fr); 485 align-items: start; 486 } 487 .legacy-footer-signoff p { text-align: left; } 488 } 489 `})]})}const AA=[{label:"Blog",href:"/blog"},{label:"Case Studies",href:"/case-studies"},{label:"About",href:"/about"},{label:"Contact",href:"/contact"}];function vo(){return l.jsxs("header",{className:"legacy-nav-shell",children:[l.jsx("nav",{className:"legacy-nav","aria-label":"Moonshot legacy navigation",children:l.jsxs("div",{className:"legacy-nav__frame",children:[l.jsx(dt,{to:"/",className:"legacy-nav__brand","aria-label":"Moonshot home",children:l.jsx("img",{src:"/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",alt:""})}),l.jsxs("div",{className:"legacy-nav__links",children:[l.jsx("div",{className:"legacy-nav__primary",children:AA.map(e=>l.jsx(dt,{to:e.href,children:e.label},e.href))}),l.jsxs("details",{className:"legacy-nav__services",children:[l.jsx("summary",{children:"Services"}),l.jsxs("div",{className:"legacy-nav__service-panel",children:[l.jsxs("div",{className:"legacy-nav__service-heading",children:[l.jsx("span",{children:"Directory"}),l.jsxs("strong",{children:[Ur.services.length," services"]})]}),l.jsx("ol",{children:Ur.services.map((e,t)=>
489l.jsxs("li",{children:[l.jsx("span",{"aria-hidden":!0,children:String(t+1).padStart(2,"0")}),l.jsx(dt,{to:`/services/${e.slug}`,"aria-label":`${e.title} â services menu`,children:e.title})]},e.slug))})]})]}),l.jsxs(dt,{to:"/#contact",className:"legacy-nav__cta",children:["Talk to us ",l.jsx("span",{"aria-hidden":!0,children:"â"})]})]})]})}),l.jsx("style",{children:` 490 .legacy-nav-shell, 491 .legacy-nav-shell *, 492 .legacy-nav-shell *::before, 493 .legacy-nav-shell *::after { box-sizing: border-box; } 494 .legacy-nav-shell { 495 position: relative; 496 z-index: 50; 497 width: 100%; 498 background: ${k.ink}; 499 color: ${k.onInk}; 500 font-family: ${G.sans}; 501 } 502 .legacy-nav { 503 width: 100%; 504 border-bottom: 1px solid ${k.chalkOnInk}; 505 } 506 .legacy-nav__frame { 507 width: min(100%, 1440px); 508 min-height: 76px; 509 margin: 0 auto; 510 padding: 0 clamp(20px, 4vw, 56px); 511 display: flex; 512 align-items: center; 513 justify-content: space-between; 514 gap: clamp(24px, 4vw, 64px); 515 border-left: 1px solid ${k.chalkOnInk}; 516 border-right: 1px solid ${k.chalkOnInk}; 517 } 518 .legacy-nav a { 519 color: inherit; 520 text-decoration: none; 521 } 522 .legacy-nav a:focus-visible, 523 .legacy-nav summary:focus-visible { 524 outline: 2px solid ${k.blueprintOnInk}; 525 outline-offset: 4px; 526 } 527 .legacy-nav__brand { 528 flex: 0 0 auto; 529 display: inline-flex; 530 align-items: center; 531 } 532 .legacy-nav__brand img { 533 display: block; 534 width: auto; 535 height: 22px; 536 filter: brightness(0) invert(1); 537 } 538 .legacy-nav__links { 539 min-width: 0; 540 display: flex; 541 align-items: center; 542 justify-content: flex-end; 543 gap: clamp(18px, 2.5vw, 38px); 544 } 545 .legacy-nav__primary { 546 min-width: 0; 547 display: flex; 548 align-items: center; 549 flex-wrap: wrap; 550 justify-content: flex-end; 551 gap: clamp(16px, 2vw, 30px); 552 } 553 .legacy-nav__primary a, 554 .legacy-nav__services > summary { 555 color: ${k.onInkMute}; 556 font-family: ${G.mono}; 557 font-size: 10px; 558 font-weight: 700; 559 letter-spacing: .14em; 560 line-height: 1.4; 561 text-transform: uppercase; 562 white-space: nowrap; 563 transition: color 180ms ease; 564 } 565 .legacy-nav__primary a:hover, 566 .legacy-nav__services > summary:hover { color: ${k.onInk}; } 567 .legacy-nav__services { position: relative; } 568 .legacy-nav__services > summary { 569 display: flex; 570 align-items: center; 571 gap: 8px; 572 list-style: none; 573 cursor: pointer; 574 } 575 .legacy-nav__services > summary::-webkit-details-marker { display: none; } 576 .legacy-nav__services > summary::after { 577 content: "+"; 578 color: ${k.blueprintOnInk}; 579 font-size: 14px; 580 line-height: 1; 581 } 582 .legacy-nav__services[open] > summary::after { content: "â"; } 583 .legacy-nav__service-panel { 584 position: absolute; 585 top: calc(100% + 29px); 586 right: 0; 587 width: min(820px, calc(100vw - 40px)); 588 max-height: min(72vh, 680px); 589 overflow-y: auto; 590 overscroll-behavior: contain; 591 border: 1px solid ${k.chalkOnInk}; 592 background: ${k.ink}; 593 box-shadow: 0 24px 60px rgba(0, 0, 0, .28); 594 } 595 .legacy-nav__service-heading { 596 position: sticky; 597 top: 0; 598 z-index: 1; 599 display: flex; 600 justify-content: space-between; 601 gap: 20px; 602 padding: 18px 20px; 603 border-bottom: 1px solid ${k.chalkOnInk}; 604 background: ${k.ink}; 605 color: ${k.onInkDim}; 606 font-family: ${G.mono}; 607 font-size: 9px; 608 font-weight: 700; 609 letter-spacing: .18em; 610 text-transform: uppercase; 611 } 612 .legacy-nav__service-heading strong { 613 color: ${k.blueprintOnInk}; 614 font: inherit; 615 } 616 .legacy-nav__service-panel ol { 617 display: grid; 618 grid-template-columns: repeat(2, minmax(0, 1fr)); 619 margin: 0; 620 padding: 0; 621 list-style: none; 622 } 623 .legacy-nav__service-panel li { 624 min-width: 0; 625 display: grid; 626 grid-template-columns: 26px minmax(0, 1fr); 627 align-items: baseline; 628 gap: 10px; 629 padding: 13px 16px; 630 border-bottom: 1px solid ${k.chalkOnInk}; 631 } 632 .legacy-nav__service-panel li:nth-child(odd) { 633 border-right: 1px solid ${k.chalkOnInk}; 634 } 635 .legacy-nav__service-panel li > span { 636 color: ${k.onInkDim}; 637 font-family: ${G.mono}; 638 font-size: 9px; 639 } 640 .legacy-nav__service-panel li a { 641 color: ${k.onInkMute}; 642 font-size: 12px; 643 line-height: 1.4;
644 overflow-wrap: anywhere; 645 } 646 .legacy-nav__service-panel li a:hover { color: ${k.onInk}; } 647 .legacy-nav__cta { 648 flex: 0 0 auto; 649 display: inline-flex; 650 align-items: center; 651 gap: 10px; 652 padding: 12px 15px; 653 background: ${k.blueprint}; 654 color: ${k.onInk}; 655 font-family: ${G.mono}; 656 font-size: 10px; 657 font-weight: 700; 658 letter-spacing: .12em; 659 line-height: 1; 660 text-transform: uppercase; 661 white-space: nowrap; 662 } 663 @media (max-width: 860px) { 664 .legacy-nav__frame { 665 min-height: 0; 666 padding-top: 20px; 667 padding-bottom: 20px; 668 flex-wrap: wrap; 669 gap: 20px; 670 } 671 .legacy-nav__links { 672 flex: 1 1 100%; 673 width: 100%; 674 justify-content: flex-start; 675 flex-wrap: wrap; 676 gap: 18px 24px; 677 } 678 .legacy-nav__primary { 679 flex: 1 1 auto; 680 justify-content: flex-start; 681 } 682 .legacy-nav__services { position: static; } 683 .legacy-nav__service-panel { 684 top: 100%; 685 right: 20px; 686 left: 20px; 687 width: auto; 688 } 689 } 690 @media (max-width: 560px) { 691 .legacy-nav__links { align-items: stretch; } 692 .legacy-nav__primary { 693 flex: 1 1 100%; 694 width: 100%; 695 display: grid; 696 grid-template-columns: repeat(2, minmax(0, 1fr)); 697 gap: 12px 20px; 698 } 699 .legacy-nav__services { 700 flex: 1 1 auto; 701 align-self: center; 702 } 703 .legacy-nav__service-panel { 704 position: absolute; 705 top: 100%; 706 right: 12px; 707 left: 12px; 708 width: auto; 709 max-height: min(64vh, 520px); 710 } 711 .legacy-nav__service-panel ol { grid-template-columns: 1fr; } 712 .legacy-nav__service-panel li:nth-child(odd) { border-right: 0; } 713 } 714 @media (prefers-reduced-motion: reduce) { 715 .legacy-nav__primary a, 716 .legacy-nav__services > summary { transition: none; } 717 } 718 `})]})}const CA="Moonshot Partners",EA="https://user-images.githubusercontent.com/4649902/90065414-ddfeb200-dcb1-11ea-97d4-6673f0e4034a.png",TA="Moonshot Partners is a developer of cutting-edge digital products and software. They also offer expert consultancy services to assist businesses in achieving growth.",IA={"@type":"Brand",name:"Moonshot Partners"},OA={"@type":"AggregateRating",ratingValue:"5",bestRating:"5.0",worstRating:"0.0",reviewCount:"3"},MA=[{"@type":"Review",author:{"@type":"Person",name:"Alexis de Vienne"},datePublished:"2024-02-01",reviewRating:{"@type":"Rating",ratingValue:"5"},reviewBody:"Their ability to understand and translate our complex needs into a compelling, functional web design was remarkable."},{"@type":"Review",author:{"@type":"Person",name:"Benjamin Pook"},datePublished:"2020-07-26",reviewRating:{"@type":"Rating",ratingValue:"5"},reviewBody:"I'm impressed by their culture and attitude."},{"@type":"Review",author:{"@type":"Person",name:"Marcos Ciarrocchi"},datePublished:"2023-01-20",reviewRating:{"@type":"Rating",ratingValue:"5"},reviewBody:"They met all our technical needs effectively."}],Ci={"@context":"https://schema.org/","@type":"Product",name:CA,image:EA,description:TA,brand:IA,aggregateRating:OA,review:MA};let cy=!1;function LA(e){return JSON.stringify(e).replace(/</g,"\\u003c")}function ls(e){p.useEffect(()=>{if(!(e!=null&&e.length))return;cy||(document.head.querySelectorAll('script[type="application/ld+json"][data-prerender="jsonld"]').forEach(n=>n.remove()),cy=!0);const t=e.map(n=>{const o=document.createElement("script");return o.type="application/ld+json",o.textContent=LA(n),document.head.appendChild(o),o});return()=>{t.forEach(n=>n.remove())}},[e])}function dy(e,t,n){n===null?e.removeAttribute(t):e.setAttribute(t,n)}function wo({title:e,description:t,path:n}){p.useEffect(()=>{const o=document.title,r=document.querySelector('meta[name="description"]'),a=(r==null?void 0:r.getAttribute("content"))??null,s=r??document.createElement("meta");r||(s.setAttribute("name","description"),document.head.appendChild(s));const i=document.querySelector('link[rel="canonical"]'),c=(i==null?void 0:i.getAttribute("href"))??null,d=i??document.createElement("link");
718return i||(d.setAttribute("rel","canonical"),document.head.appendChild(d)),document.title=e,s.setAttribute("content",t??""),d.setAttribute("href",`${Tm}${n}`),()=>{document.title=o,r?dy(s,"content",a):s.remove(),i?dy(d,"href",c):d.remove()}},[t,n,e])}const Za="https://schema.org",uy={January:"01",February:"02",March:"03",April:"04",May:"05",June:"06",July:"07",August:"08",September:"09",October:"10",November:"11",December:"12"};function dr(e){return/^https?:\/\//i.test(e)?e:`${Tm}${e.startsWith("/")?e:`/${e}`}`}function RA(e){if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;const t=e.match(/^([A-Z][a-z]+)\s+(\d{1,2}),\s+(\d{4})$/);return!t||!uy[t[1]]?null:`${t[3]}-${uy[t[1]]}-${t[2].padStart(2,"0")}`}function NA(e){const t={amp:"&",apos:"'",gt:">",lt:"<",nbsp:" ",quot:'"'};return e.replace(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(n,o)=>o.startsWith("#x")?String.fromCodePoint(Number.parseInt(o.slice(2),16)):o.startsWith("#")?String.fromCodePoint(Number.parseInt(o.slice(1),10)):t[o.toLowerCase()]??n)}function DA(e){return NA(e.replace(/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi," ").replace(/<br\s*\/?>/gi," ").replace(/<\/\s*(p|div|li|h[1-6]|blockquote)>/gi," ").replace(/<[^>]+>/g," ")).replace(/\s+/g," ").trim()}const zA={"@type":"Organization",name:nt.brandName,url:Tm};function FA(e){const t=[{"@context":Za,"@type":"Service",name:e.hero.h1,...e.seo.description?{description:e.seo.description}:{},provider:zA,url:dr(e.path)}],n=e.sections.find(o=>o.type==="faq");return n&&t.push({"@context":Za,"@type":"FAQPage",mainEntity:n.items.map(o=>
718({"@type":"Question",name:o.q,acceptedAnswer:{"@type":"Answer",text:DA(o.aHtml)}}))}),t}function VA(e,t){const n=RA(t);return{"@context":Za,"@type":"BlogPosting",headline:e.title,url:dr(e.path),author:{"@type":"Person",name:e.author},...e.heroImage?{image:dr(e.heroImage)}:{},...n?{datePublished:n}:{}}}function $A(e){return{"@context":Za,"@type":"Article",headline:e.title,url:dr(e.path),...e.heroImage?{image:dr(e.heroImage)}:{}}}function BA(e){return{"@context":Za,"@type":"Person",name:e.name,url:dr(`/author/${e.slug}`),...e.role?{jobTitle:e.role}:{},...e.photo?{image:dr(e.photo)}:{},...e.linkedin?{sameAs:[e.linkedin]}:{}}}function C0(e){var n;const t=e.path==="/about"?"AboutPage":e.path==="/contact"?"ContactPage":"WebPage";return{"@context":Za,"@type":t,name:((n=e.hero)==null?void 0:n.h1)??e.title??e.seo.title,url:dr(e.path),...e.seo.description?{description:e.seo.description}:{}}}function WA(){p.useEffect(()=>{const e=document.querySelector('meta[name="robots"]'),t=(e==null?void 0:e.getAttribute("content"))??null,n=e??document.createElement("meta");return e||(n.name="robots",document.head.appendChild(n)),n.content="noindex",()=>{e?t===null?n.removeAttribute("content"):n.setAttribute("content",t):n.remove()}},[])}const Xr=()=>{const e=_n();return WA(),p.useEffect(()=>{const t=document.title;return document.title="Page not found | Moonshot Partners",()=>{document.title=t}},[]),p.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),l.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center",children:[l.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),l.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),l.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})},UA=Object.assign({
718"../../data/legacy/services/agile-consulting-services.json":()=>C(()=>import("./agile-consulting-services-jVoAa8Kj.js"),[]),
718"../../data/legacy/services/ai-development-services-for-startups.json":()=>C(()=>import("./ai-development-services-for-startups-DV4ficDG.js"),[]),
718"../../data/legacy/services/angularjs-development-company.json":()=>C(()=>import("./angularjs-development-company-Bgzti7n_.js"),[]),
718"../../data/legacy/services/api-integration-services-london-uk.json":()=>C(()=>import("./api-integration-services-london-uk-CnCXiIIs.js"),[]),
718"../../data/legacy/services/artificial-intelligence-development-company.json":()=>C(()=>import("./artificial-intelligence-development-company-DHHXjQk5.js"),[]),
718"../../data/legacy/services/bespoke-software-development-london-uk.json":()=>C(()=>import("./bespoke-software-development-london-uk--mhHDSvD.js"),[]),
718"../../data/legacy/services/custom-enterprise-software-development.json":()=>C(()=>import("./custom-enterprise-software-development-9MmZxk3o.js"),[]),
718"../../data/legacy/services/custom-software-development-for-startups.json":()=>C(()=>import("./custom-software-development-for-startups-p2kTV7_5.js"),[]),
718"../../data/legacy/services/database-development-services.json":()=>C(()=>import("./database-development-services-DZUi2Gko.js"),[]),
718"../../data/legacy/services/devops-consulting.json":()=>C(()=>import("./devops-consulting-BVoVQVWK.js"),[]),
718"../../data/legacy/services/elearning-software-development-company-london-uk.json":()=>C(()=>import("./elearning-software-development-company-london-uk-BMjUBJav.js"),[]),
718"../../data/legacy/services/enterprise-application-development-services.json":()=>C(()=>import("./enterprise-application-development-services-gcSoeTOF.js"),[]),
718"../../data/legacy/services/hire-dedicated-software-development-team.json":()=>C(()=>import("./hire-dedicated-software-development-team-DADutSxO.js"),[]),
718"../../data/legacy/services/it-staff-augmentation-services.json":()=>C(()=>import("./it-staff-augmentation-services-CpJOOs9e.js"),[]),
718"../../data/legacy/services/leading-software-product-development-company.json":()=>C(()=>import("./leading-software-product-development-company-D3BJIP-t.js"),[]),
718"../../data/legacy/services/mobile-app-development-services.json":()=>C(()=>import("./mobile-app-development-services-C_BAF3Es.js"),[]),
718"../../data/legacy/services/mvp-development-services-for-startups.json":()=>C(()=>import("./mvp-development-services-for-startups-Q-y_OKtH.js"),[]),
718"../../data/legacy/services/mvp-development-services-london-uk.json":()=>C(()=>import("./mvp-development-services-london-uk-CB0zi2JY.js"),[]),
718"../../data/legacy/services/mvp-development-services.json":()=>C(()=>import("./mvp-development-services-KRmHAiJ4.js"),[]),
718"../../data/legacy/services/mvp-software-development-services-in-usa.json":()=>C(()=>import("./mvp-software-development-services-in-usa-B57bfkTT.js"),[]),
718"../../data/legacy/services/outsource-react-js-development.json":()=>C(()=>import("./outsource-react-js-development-DQeYjtUq.js"),[]),
718"../../data/legacy/services/outsourcing-software-development-solutions.json":()=>C(()=>import("./outsourcing-software-development-solutions-tqgeolKI.js"),[]),
718"../../data/legacy/services/react-js-consulting-services.json":()=>C(()=>import("./react-js-consulting-services-oBP3QxJO.js"),[]),
718"../../data/legacy/services/saas-application-development-company.json":()=>C(()=>import("./saas-application-development-company-Duh3R62x.js"),[]),
718"../../data/legacy/services/saas-mvp-development-services.json":()=>C(()=>import("./saas-mvp-development-services-C0N_y35k.js"),[]),
718"../../data/legacy/services/software-consulting-services-london-uk.json":()=>C(()=>import("./software-consulting-services-london-uk-hDFUU-7X.js"),[]),
718"../../data/legacy/services/software-testing-services.json":()=>C(()=>import("./software-testing-services-DS9Rm3db.js"),[]),
718"../../data/legacy/services/web-application-development-in-london.json":()=>C(()=>import("./web-application-development-in-london-BCt7M2OD.js"),[]),
718"../../data/legacy/services/web-application-development-services-london-uk.json":()=>C(()=>import("./web-application-development-services-london-uk-Cy4s9Tzz.js"),[])});function HA({data:e}){return wo({title:e.seo.title,description:e.seo.description,path:e.path}),ls([Ci,...FA(e)]),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs("main",{className:"legacy-service-page",style:{minHeight:"100vh",background:k.paper,overflowX:"hidden"},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:`Moonshot / ${e.slug}`,fullHeight:!0,children:l.jsxs("div",{className:"legacy-hero-grid",children:[l.jsxs("div",{children:[l.jsx("div",{style:{...Ue(k.blueprintOnInk,11),marginBottom:24},children:"Engineering services"}),l.jsx("h1",{style:{fontFamily:G.display,fontSize:"clamp(54px, 9vw, 132px)",fontWeight:500,letterSpacing:"-0.065em",lineHeight:.86,color:k.onInk,margin:0,maxWidth:"12ch"},children:e.hero.h1})," "]}),l.jsxs("div",{className:"legacy-hero-aside",children:[l.jsx("div",{className:"legacy-rich legacy-rich--ink legacy-hero-intro",dangerouslySetInnerHTML:{__html:e.hero.introHtml}}),l.jsx("a",{className:"legacy-cta",href:"/#contact",children:"Let's Talk"})]})]})}),l.jsx(xb,{}),e.stats.length>0&&l.jsx("section",{className:"legacy-stats","aria-label":"Service outcomes",style:{background:k.ink,color:k.onInk},children:e.stats.map(t=>l.jsxs("div",{children:[l.jsx("strong",{children:t.value}),l.jsx("span",{children:t.label})]},`${t.value}-${t.label}`))}),e.sections.map((t,n)=>l.jsx(_A,{section:t,index:n},`${t.type}-${"heading"in t?t.heading:n}`)),l.jsx("style",{children:` 719 .legacy-service-page *, 720 .legacy-service-page *::before, 721 .legacy-service-page *::after { box-sizing: border-box; } 722 723 .legacy-hero-grid { 724 width: 100%; 725 max-width: 1280px; 726 margin: 0 auto; 727 display: grid; 728 grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr); 729 gap: clamp(48px, 8vw, 128px); 730 align-items: end; 731 } 732 733 .legacy-hero-aside { 734 border-top: 1px solid ${k.chalkOnInk}; 735 padding-top: 28px; 736 padding-bottom: 8px; 737 } 738 739 .legacy-section-grid { 740 width: 100%; 741 max-width: 1280px; 742 margin: 0 auto; 743 display: grid; 744 grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); 745 gap: clamp(48px, 9vw, 144px); 746 align-items: start; 747 } 748 749 .legacy-rich { 750 font-family: ${G.sans}; 751 font-size: clamp(16px, 1.3vw, 19px); 752 line-height: 1.7; 753 max-width: 68ch; 754 } 755 756 .legacy-rich--paper { color: ${k.onPaperMute}; } 757 .legacy-rich--ink { color: ${k.onInkMute}; } 758 .legacy-rich > :first-child { margin-top: 0; } 759 .legacy-rich > :last-child { margin-bottom: 0; } 760 .legacy-rich p { margin: 0 0 1.35em; } 761 .legacy-rich h2, 762 .legacy-rich h3, 763 .legacy-rich h4 { 764 font-family: ${G.display}; 765 color: inherit; 766 line-height: 1.15; 767 letter-spacing: -0.025em; 768 margin: 1.8em 0 0.65em; 769 } 770 .legacy-rich h2 { font-size: clamp(28px, 3vw, 44px); } 771 .legacy-rich h3 { font-size: clamp(22px, 2.2vw, 32px); } 772 .legacy-rich h4 { font-size: clamp(18px, 1.7vw, 24px); } 773 .legacy-rich ul, 774 .legacy-rich ol { padding-left: 1.25em; margin: 1.25em 0; } 775 .legacy-rich li { margin: 0.55em 0; } 776 .legacy-rich blockquote { 777 margin: 1.8em 0; 778 padding-left: 1.25em; 779 border-left: 2px solid currentColor; 780 font-size: 1.15em; 781 } 782 .legacy-rich a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; } 783 .legacy-rich--paper a { color: ${k.blueprint}; } 784 .legacy-rich img { 785 display: block; 786 max-width: 100%; 787 height: auto; 788 margin: 24px 0; 789 filter: grayscale(1); 790 } 791 792 .legacy-hero-intro { 793 color: ${k.onInkMute}; 794 font-size: clamp(17px, 1.45vw, 21px); 795 margin-bottom: 30px; 796 } 797 798 .legacy-cta { 799 display: inline-flex; 800 align-items: center; 801 justify-content: center; 802 min-height: 48px; 803 padding: 14px 22px; 804 background: ${k.blueprint}; 805 color: #fff; 806 border: 1px solid ${k.blueprint}; 807 border-radius: 2px; 808 font-family: ${G.mono}; 809 font-size: 11px; 810 font-weight: 700; 811 letter-spacing: 0.18em; 812 line-height: 1; 813 text-decoration: none; 814 text-transform: uppercase; 815 transition: background-color 180ms ease, color 180ms ease; 816 } 817 .legacy-cta:hover { background: #fff; color: ${k.ink}; } 818 .legacy-cta:focus-visible, 819 .legacy-index-link:focus-visible, 820 .legacy-linked-card:focus-visible { 821 outline: 2px solid ${k.blueprintOnInk}; 822 outline-offset: 4px; 823 } 824 825 .legacy-stats { 826 display: grid; 827 grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); 828 border-top: 1px solid ${k.chalkOnInk}; 829 border-bottom: 1px solid ${k.chalkOnInk}; 830 padding: 0 clamp(24px, 5vw, 64px); 831 } 832 .legacy-stats > div { 833 min-height: 140px; 834 display: flex; 835 flex-direction: column; 836 justify-content: center; 837 gap: 10px; 838 border-right: 1px solid ${k.chalkOnInk}; 839 padding: 24px; 840 } 841 .legacy-stats strong { 842 font-family: ${G.display}; 843 font-size: clamp(38px, 5vw, 68px); 844 line-height: 1; 845 } 846 .legacy-stats span { 847 font-family: ${G.mono}; 848 font-size: 10px; 849 font-weight: 700; 850 letter-spacing: 0.22em; 851 text-transform: uppercase; 852 color: ${k.onInkDim}; 853 } 854 855 .legacy-card-grid { 856 display: grid; 857 grid-template-columns: repeat(2, minmax(0, 1fr)); 858 column-gap: clamp(28px, 5vw, 72px); 859 } 860 .legacy-card-title { 861 font-family: ${G.display}; 862 font-size: clamp(23px, 2.3vw, 34px); 863 font-weight: 550; 864 letter-spacing: -0.03em; 865 line-height: 1.08; 866 margin: 0 0 18px; 867 } 868 .legacy-process-step { 869 display: grid; 870 grid-template-columns: 54px minmax(0, 1fr); 871 gap: 22px; 872 padding: clamp(30px, 5vw, 58px) 0; 873 } 874 .legacy-faq-trigger { 875 color: inherit; 876 font-family: ${G.display}; 877 font-size: clamp(18px, 1.7vw, 24px); 878 font-weight: 500; 879 line-height: 1.25; 880 padding: 24px 0; 881 text-align: left; 882 } 883 .legacy-cta-band { 884 max-width: 1280px; 885 margin: 0 auto; 886 display: flex; 887 align-items: flex-end; 888 justify-content: space-between; 889 gap: 48px; 890 } 891 .legacy-linked-card { 892 display: block; 893 color: inherit; 894 padding: 28px 0; 895 text-decoration: none; 896 } 897 .legacy-linked-card img { 898 width: 100%; 899 aspect-ratio: 16 / 10; 900 object-fit: cover; 901 filter: grayscale(1); 902 margin-bottom: 24px; 903 } 904 .legacy-index-link { 905 display: flex; 906 align-items: center; 907 justify-content: space-between; 908 gap: 24px; 909 color: inherit; 910 border-bottom: 1px solid currentColor; 911 padding: 22px 0; 912 font-family: ${G.display}; 913 font-size: clamp(20px, 2.2vw, 32px); 914 line-height: 1.1; 915 text-decoration: none; 916 } 917 918 @media (max-width: 900px) { 919 .legacy-hero-grid, 920 .legacy-section-grid { grid-template-columns: 1fr; } 921 .legacy-hero-grid { align-items: start; } 922 .legacy-card-grid { grid-template-columns: 1fr; } 923 .legacy-cta-band { align-items: flex-start; flex-direction: column; } 924 } 925 926 @media (max-width: 640px) { 927 .legacy-process-step { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; } 928 .legacy-stats { grid-template-columns: 1fr 1fr; } 929 .legacy-stats > div { min-height: 110px; } 930 } 931 932 @media (prefers-reduced-motion: reduce) { 933 .legacy-cta { transition: none; } 934 } 935 `})]}),l.jsx(yo,{})]})}function GA(){const{slug:e=""}=Pi(),[t,n]=p.useState({slug:"",data:null,missing:!1});return p.useEffect(()=>{let o=!0;const r=UA[`../../data/legacy/services/${e}.json`];return n({slug:e,data:null,missing:!1}),r?(r().then(a=>{o&&n({slug:e,data:a.default,missing:!1})}).catch(()=>{o&&n({slug:e,data:null,missing:!0})}),()=>{o=!1}):(n({slug:e,data:null,missing:!0}),()=>{o=!1})},[e]),t.slug!==e||!t.data&&!t.missing?l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh",background:k.paper}}):t.missing||!t.data?l.jsx(Xr,{}):l.jsx(HA,{data:t.data})}const qA="blog",JA="/blog",KA={title:"Insights on Software, Design and Digital Strategy | Moonshot",description:"Get expert insights on software, product design, and digital strategy. Stay ahead of the competition with our in-depth articles and guides"},QA={h1:"The best insights and learnings from the Moonshot team & community."},YA=[{heading:"Best Resource Management Tools for IT Agencies 2025 | Expert Guide",bodyHtml:`<a href="/blog/best-resource-management-tools-for-it-agencies">September 27, 2025</a><a href="/blog/best-growth-marketing-agencies"><h2>Best Growth Marketing Agencies 2025: Top 15 Global Rankings</h2>September 27, 2025</a><a href="/blog/nearshore-software-development-guide"><h2>
935Nearshore Software Development: The Definitive Guide to Nearshore Outsourcing in 2025</h2>March 10, 2025</a><a href="/blog/top-nearshore-software-development-services-in-uk"><h2>Top Nearshore Software Development Services in UK</h2>March 10, 2025</a><a href="/blog/innovative-business-ideas"><h2>Innovative Business Ideas to Start with $50K in 2025</h2>January 28, 2025</a><a href="/blog/what-is-a-fractional-product-manager"><h2>What Is a Fractional Product Manager, and Why Hire One?</h2>January 28, 2025</a><a href="/blog/best-software-development-companies-in-the-uk"><h2>Best Software Development Companies in the UK</h2>July 22, 2024</a><a href="/blog/web-application-development"><h2>What Is Web Application Development and How To Build It?</h2>April 16, 2024</a><a href="/blog/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge"><h2>MVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for Knowledge</h2>August 11, 2023</a><a href="/blog/mvp-ux-design-balancing-simplicity-and-functionality"><h2>MVP UX Design: Balancing Simplicity and Functionality</h2>August 10, 2023</a><a href="/blog/mvp-guide-building-an-mvp-with-no-coding-skills"><h2>MVP Guide: Building an MVP with no coding skills</h2>July 13, 2023</a><a href="/blog/mvp-vs-prototype-vs-poc-decoding-development-strategies"><h2>MVP vs Prototype vs PoC: Decoding Development Strategies</h2>July 12, 2023</a><a href="/blog/mvp-testing-techniques-unveiled-redefining-product-validation"><h2>MVP Testing Techniques Unveiled: Redefining Product Validation</h2>July 6, 2023</a><a href="/blog/mvps-inspiring-mvp-examples-across-industries"><h2>MVPs: Inspiring MVP Examples Across Industries</h2>July 5, 2023</a><a href="/blog/educational-custom-software-development-overview"><h2>Educational Custom Software Development Overview</h2>June 1, 2023</a><a href="/blog/survey-app-development-a-comprehensive-guide-to-app-surveys"><h2>Survey App Development: A Comprehensive Guide to survey apps</h2>May 24, 2023</a><a href="/blog/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world"><h2>Why Strong Company Culture is the Key to Success in a Rapidly Changing World</h2>May 12, 2023</a><a href="/blog/banking-as-a-service-baas-a-solution-for-your-business"><h2>Banking as a Service (BaaS): a solution for your business</h2>May 10, 2023</a><a href="/blog/website-pages-are-not-indexing-check-these-5-common-reasons"><h2>Website pages are not indexing? Check these 5 common reasons</h2>April 27, 2023</a><a href="/blog/minimum-viable-product-healthcare-innovation-unleashed"><h2>Minimum Viable Product: Healthcare Innovation Unleashed</h2>April 13, 2023</a><a href="/blog/offshore-software-development-a-comprehensive-guide"><h2>Offshore Software Development: A Comprehensive Guide</h2>March 31, 2023</a><a href="/blog/including-women-in-technology-insights-from-women-at-moonshot-partners"><h2>The Importance of Including Women in Technology: Insights from Women at Moonshot Partners</h2>March 29, 2023</a><a href="/blog/the-future-of-ai-ethics-regulations-and-implications-for-businesses"><h2>The Future of AI: Ethics, Regulations, and Implications for Businesses</h2>March 24, 2023</a><a href="/blog/master-chatgpt-prompts-with-the-socratic-mother-prompt"><h2>Master ChatGPT Prompts with the "Mother Prompt"</h2>March 16, 2023</a><a href="/?e5556464_page=2">Next</a>`},{bodyHtml:'<a href="/">Home</a><a href="#">About Us</a><a href="/case-studies/playverto">Case Studies</a><a href="/blog">Blog</a><a href="/contact">Contact Us</a><a href="#"><img src="/legacy/images/642f0a6de6525e6afa1be26f_Close.svg">Close Menu</a>'}],Bs={slug:qA,path:JA,seo:KA,hero:QA,sections:YA};function ZA(){const e=new Map,t=/[A-Z][a-z]+ \d{1,2}, \d{4}/,n=new DOMParser;for(const o of Bs.sections){const r=n.parseFromString(o.bodyHtml,"text/html");for(const a of Array.from(r.querySelectorAll('a[href^="/blog/"]'))){const s=(a.getAttribute("href")??"").replace("/blog/","").split(/[#?]/)[0],i=(a.textContent??"").match(t);s&&i&&!e.has(s)&&e.set(s,i[0])}}return e}const XA=ZA(),eC=Ur.blog.map((e,t)=>({...e,index:t,recoveredDate:XA.get(e.slug)??null})).sort((e,t)=>
935{const n=e.recoveredDate?Date.parse(e.recoveredDate):Number.NaN,o=t.recoveredDate?Date.parse(t.recoveredDate):Number.NaN,r=Number.isFinite(n),a=Number.isFinite(o);return r&&a&&o!==n?o-n:r!==a?r?-1:1:e.index-t.index});function tC(){return wo({...Bs.seo,path:Bs.path}),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs("main",{style:{background:k.paper,color:k.ink},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:"Moonshot archive / insights",children:l.jsxs("div",{className:"legacy-index-hero",children:[l.jsx("div",{style:Ue(k.blueprintOnInk,11),children:"32 recovered records"}),l.jsx("h1",{children:Bs.hero.h1})]})}),l.jsx(Et,{ground:"paper",eyebrow:"Index / newest recovered date first",children:l.jsx("ol",{className:"legacy-blog-list",children:eC.map((e,t)=>l.jsxs("li",{children:[l.jsx("div",{className:"legacy-blog-number",children:String(t+1).padStart(2,"0")}),l.jsxs("div",{className:"legacy-blog-copy",children:[l.jsx(dt,{to:`/blog/${e.slug}`,children:e.title}),l.jsxs("div",{className:"legacy-blog-meta",children:[l.jsx("span",{children:e.author}),e.recoveredDate&&l.jsx("time",{children:e.recoveredDate})]})]})]},e.slug))})}),l.jsx("style",{children:` 936 .legacy-index-hero { 937 max-width: 1280px; 938 margin: 0 auto; 939 display: grid; 940 grid-template-columns: minmax(150px, .32fr) minmax(0, 1.68fr); 941 gap: clamp(32px, 7vw, 112px); 942 align-items: start; 943 } 944 .legacy-index-hero h1 { 945 max-width: 1100px; 946 margin: 0; 947 color: ${k.onInk}; 948 font-family: ${G.display}; 949 font-size: clamp(48px, 8vw, 116px); 950 font-weight: 520; 951 letter-spacing: -.06em; 952 line-height: .9; 953 } 954 .legacy-blog-list { 955 max-width: 1280px; 956 margin: 0 auto; 957 padding: 0; 958 list-style: none; 959 border-top: 1px solid ${k.chalk}; 960 } 961 .legacy-blog-list li { 962 display: grid; 963 grid-template-columns: minmax(58px, .32fr) minmax(0, 1.68fr); 964 gap: clamp(24px, 7vw, 112px); 965 padding: clamp(28px, 4vw, 52px) 0; 966 border-bottom: 1px solid ${k.chalk}; 967 } 968 .legacy-blog-number { 969 color: ${k.blueprint}; 970 font-family: ${G.mono}; 971 font-size: 12px; 972 font-weight: 700; 973 letter-spacing: .16em; 974 } 975 .legacy-blog-copy > a { 976 color: ${k.ink}; 977 font-family: ${G.display}; 978 font-size: clamp(28px, 4vw, 56px); 979 font-weight: 540; 980 letter-spacing: -.045em; 981 line-height: 1; 982 text-decoration: none; 983 } 984 .legacy-blog-copy > a:hover { color: ${k.blueprint}; } 985 .legacy-blog-meta { 986 display: flex; 987 flex-wrap: wrap; 988 gap: 12px 28px; 989 margin-top: 22px; 990 color: ${k.onPaperMute}; 991 font-family: ${G.mono}; 992 font-size: 10px; 993 font-weight: 700; 994 letter-spacing: .12em; 995 text-transform: uppercase; 996 } 997 @media (max-width: 700px) { 998 .legacy-index-hero { grid-template-columns: 1fr; } 999 .legacy-blog-list li { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; } 1000 } 1001 `})]}),l.jsx(yo,{})]})}const nC="Android Developer",oC="Join us as an Android Developer and help us build innovative mobile solutions. Join our team from any place in the world.",rC={"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.moonshot.partners/",logo:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg"},aC="FULL_TIME",sC="Apr 07, 2023",iC={"@type":"Country",name:"Remote"},lC="TELECOMMUTE",Bc={"@context":"https://schema.org/","@type":"JobPosting",title:nC,description:oC,hiringOrganization:rC,employmentType:aC,datePosted:sC,applicantLocationRequirements:iC,jobLocationType:lC},cC="Backend Engineer",dC="Join our team as a Backend Engineer and help us build innovative software solutions. Join our team from any place in the world.",uC={"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.moonshot.partners/",logo:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg"},pC="FULL_TIME",hC="Apr 07, 2023",mC={"@type":"Country",name:"Remote"},fC="TELECOMMUTE",Wc={"@context":"https://schema.org/","@type":"JobPosting",title:cC,description:dC,hiringOrganization:uC,employmentType:pC,datePosted:hC,applicantLocationRequirements:mC,jobLocationType:fC},Uc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"banking-as-a-service-baas-a-solution-for-your-business"}
1001,headline:"Banking as a Service (BaaS): a solution for your business",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/645a942d9f546cbdbc8c25c5_Banking-as-a-Service-BaaS.jpg",height:1e3,width:1e3},datePublished:"May 10, 2023",dateModified:"May 22, 2023",author:{"@type":"Person",name:"Ricardo Rodriguez",url:"ricardo-rodriguez",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"The article introduces Banking as a Service (BaaS), a cloud-based solution that provides businesses with access to banking and financial services through APIs. By integrating these services into their products and services, businesses can provide their customers with a convenient one-stop-shop for all their financial needs, enhancing customer experience and leading to increased loyalty and retention. BaaS providers partner with licensed financial institutions to provide the necessary regulatory and compliance infrastructure, offering various services such as account management, payment processing, and lending services. The article also provides several use cases for BaaS, such as card issuing and acquiring, KYC checks, and plug-and-play neobanks. By partnering with a BaaS provider, businesses can avoid the costs of building and maintaining their banking infrastructure, with pay-as-you-go pricing models, enabling them to focus on their core competencies.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is Banking as a Service (BaaS)?",acceptedAnswer:{"@type":"Answer",text:"BaaS is a cloud-based solution that offers businesses access to banking and financial services through APIs, enabling them to integrate these services into their products and services."}},{"@type":"Question",name:"How does BaaS work?",acceptedAnswer:{"@type":"Answer",text:"BaaS providers partner with licensed financial institutions to provide the necessary regulatory and compliance infrastructure, offering various financial services through APIs that can be easily integrated into a business's existing products and services."}},{"@type":"Question",name:"What are some benefits of using BaaS for businesses?",acceptedAnswer:{"@type":"Answer",text:"Integrating financial services into their services and products, allows businesses to provide a convenient one-stop-shop for all their customers' financial needs, enhancing customer experience and increasing loyalty and retention. BaaS also offers cost savings by avoiding the costs of building and maintaining their banking infrastructure."}},{"@type":"Question",name:"How can businesses integrate BaaS into their existing products and services?",acceptedAnswer:{"@type":"Answer",text:"Businesses can integrate BaaS by partnering with a BaaS provider, who offers pay-as-you-go pricing models, allowing businesses to focus on their core goals and competencies while providing banking and financial services under their own brand."}},{"@type":"Question",name:"What are some use cases for BaaS?",acceptedAnswer:{"@type":"Answer",text:"BaaS can be used for card issuing and acquiring, KYC checks, and plug-and-play neobanks. For example, a travel company can partner with a financial institution to offer travel insurance, or a fintech company can partner with a bank to provide the underlying banking infrastructure and regulatory compliance for a digital wallet."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Hc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"best-growth-marketing-agencies"},headline:"Best Growth Marketing Agencies 2025: Top 15 Global Rankings",image:{"@type":"ImageObject",url:"",height:1e3,width:1e3},datePublished:"Sep 27, 2025",dateModified:"Sep 27, 2025",author:{"@type":"Person",name:"Francisco Hernández",url:"francisco-hernandez",sameAs:"https://www.linkedin.com/in/talkwithfran/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Top 15 growth marketing agencies 2025. Meaningful leads with Orlando Osorio & Alberto Sadde. Complete guide with backlinks, pricing ($10K-$30K/month).","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedA
1001nswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Gc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"best-resource-management-tools-for-it-agencies"},headline:"Best Resource Management Tools for IT Agencies 2025 | Expert Guide",image:{"@type":"ImageObject",url:"",height:1e3,width:1e3},datePublished:"Sep 27, 2025",dateModified:"Sep 27, 2025",author:{"@type":"Person",name:"Francisco Hernández",url:"francisco-hernandez",sameAs:"https://www.linkedin.com/in/talkwithfran/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Best IT resource management tools 2025. Mosaic leads with AI optimization, Supervisible #2 with agency expertise. Complete guide for tech teams ($6-$35).","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},qc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"best-software-development-companies-in-the-uk"},headline:"Best Software Development Companies in the UK",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/645e35c57a277132dbca5f0a_Why-Strong-Company-Culture-is-the-Key-to-Success-in-a-Rapidly-Changing-World.jpg",height:1e3,width:1e3},datePublished:"Jul 22, 2024",dateModified:"",author:{"@type":"Person",name:"Francisco Hernández",url:"francisco-hernandez",sameAs:"https://www.linkedin.com/in/talkwithfran/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Find out which are the best software development companies in the United Kingdom and how to choose the best partner for your business needs","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Jc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"boost-your-business-with-modernized-data-integration-architecture"},headline:"Boost Your Business with Modernized Data Integration Architecture",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/63f533b0272aa6b1b390c3f3_data-integration.jpg",height:1e3,width:1e3},datePublished:"Feb 18, 2023",dateModified:"May 17, 2023",author:{"@type":"Person",name:"Ricardo Rodriguez",url:"ricardo-rodriguez",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Discover why modernizing your data integration architecture is crucial for boosting your business, and learn about the latest methodologies and tools to enhance your data insights and operational efficiency. In today's digital world, data is one of a company's most valuable assets. Still, the challenge arises when data resides in multiple silos, making it difficult to access, share, and analyze. Data integration is about bringing together different information sources to understand a situation or problem better. Outdated or poorly integrated systems can lead to data discrepancies and inconsistencies, red flags that your data integrations need to be updated. To modernize data integrations, assess the current data integration architecture, identify the integration needs of your organization, and choose modern integration tools that are flexible, scalable, and can integrate various data sources. Cloud-based solutions, APIs, and AI and machine learning are modern integration tools that can help organizations gain better insights into their data.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is data integration and why is it important for businesses today?",acceptedA
1001nswer:{"@type":"Answer",text:"Data integration refers to the process of combining data from different sources to provide a unified view and analysis. This practice is crucial for businesses today because it allows them to make informed decisions, gain insights into customer behavior, improve operational efficiency, and develop Business Intelligence (BI). Moreover, as data often resides in multiple silos, data integration helps to facilitate access, sharing, and analysis."}},{"@type":"Question",name:"What are the signs that my data integration process needs to be updated?",acceptedAnswer:{"@type":"Answer",text:"Several red flags may indicate that your data integration needs updating. These include data quality issues such as missing or incorrect data, inefficiencies in data processing often characterized by excessive time spent on manual tasks, difficulty in accessing data, and inability to integrate new data sources like cloud-based services or APIs."}},{"@type":"Question",name:"What steps should I take if I identify that my data integration processes need to be updated?",acceptedAnswer:{"@type":"Answer",text:"The first steps in modernizing your data integration processes are to assess your current data integration architecture to identify any inefficiencies or areas for improvement and to understand the specific integration needs of your organization. Based on this, you should choose modern integration tools that are flexible, scalable, and able to integrate a variety of data sources."}},{"@type":"Question",name:"What are the benefits of using modern data integration tools like cloud-based solutions, APIs, and AI and Machine Learning?",acceptedAnswer:{"@type":"Answer",text:"Modern data integration tools offer a variety of benefits. Cloud-based solutions, for instance, offer flexibility, scalability, and faster access to data. They also allow integration of multiple data sources, both on-premises and in the cloud. APIs facilitate software integration, reducing the need for manual data entry, and ensuring accurate and secure data transmission. AI and Machine Learning can automate data integration processes, detect anomalies, and provide valuable insights for optimizing operations."}},{"@type":"Question",name:"What are some best practices for implementing and maintaining modern data integrations?",acceptedAnswer:{"@type":"Answer",text:"When implementing modern data integrations, it's important to consider data security and compliance with data privacy regulations. Use modern encryption methods to enhance data security and ensure compliance. Once the integrations are in place, test and regularly monitor them to ensure they are working correctly and efficiently."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Kc={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Moonshot Partners collaborated with a leading global English Language Learning provider to develop a user segmentation feature that enabled targeted messaging. This improved the app's activation, retention, and referral rates. The team conducted an in-depth analysis of the app, surveyed users, and created a new feature for the marketing team to better understand their users and deliver personalized messages. As a result, the app saw a 15% increase in conversion, 20% improvement in retention, 7% increase in referrals, and a 14% boost in its Net Promoter Score (NPS). The users now receive more relevant and personalized messages, increasing satisfaction and retention, while the marketing team can craft messages that resonate with each user segment. Targeted messaging is essential for enhancing business funnel metrics and the success of any app or digital product.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/boosting-app-growth-targeted-messaging-for-english-learning"},headline:"Boosting App Growth: Targeted Messaging for English Learning ",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/boosting-app-growth-targeted-messaging-for-english-learning"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/boosting-app-growth-targeted-messaging-for-english-learning",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Qc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"chat-gpt-is-google-search-business-dominance-challenged"},headline:"Chat GPT: Is Google Search Business dominance challenged?",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/63f534013d2fa9a0c9a245c8_open-ai-vs-google.jpg",height:1e3,width:1e3},datePublished:"Feb 16, 2023",dateModified:"May 17, 2023",author:{"@type":"Person",name:"David Gomez",url:"david-gomez",sameAs:"https://www.linkedin.com/in/davidgoag/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Let's explore the potential threat that OpenAI's ChatGPT language model poses to Google's dominance in the search industry. While ChatGPT has the potential to surpass Google's keyword-based search, there are limitations such as biased training data, sustainability, and data privacy. Google has responded by developing their natural language processing search with LaMDA and working on a chatbot that will feed on Google Search. The article provides insights into the ongoing competition between the two search technologies and concludes with a hack to combine the power of both tools.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How does ChatGPT's natural language processing impact Google'
1001s dominance in the search industry?",acceptedAnswer:{"@type":"Answer",text:"ChatGPT's natural language processing capabilities have the potential to challenge Google's dominance in the search industry. As more users recognize the benefits of natural language search, they may shift away from traditional keyword-based queries that Google's search algorithm relies on. This could make Google's search results less relevant and useful compared to the more accurate and context-aware responses provided by ChatGPT."}},{"@type":"Question",name:"What are the limitations of AI-powered search engines like ChatGPT in terms of training data and bias issues?",acceptedAnswer:{"@type":"Answer",text:"AI-powered search engines like ChatGPT face limitations in terms of training data and potential bias issues. The models learn patterns from a large dataset, but if the training data is biased or lacks diversity, it can lead to inaccurate results and perpetuate societal biases. For example, if the data predominantly represents a specific group or type of information, the model may prioritize those groups, resulting in biased outcomes. To generalize and provide accurate results, AI models require sound, unbiased, and diverse training data."}},{"@type":"Question",name:"What are the sustainability concerns associated with ChatGPT's computational power requirements?",acceptedAnswer:{"@type":"Answer",text:"One of the main sustainability concerns related to ChatGPT is its high computational power requirements. Training the model involves significant computational resources and energy consumption. Once trained, operating ChatGPT also requires powerful hardware, which can be expensive and further contributes to energy consumption. To mitigate this impact, it is important to explore energy-efficient methods and reduce the environmental footprint associated with running ChatGPT."}},{"@type":"Question",name:"How do data privacy concerns affect both ChatGPT and Google Search engines?",acceptedAnswer:{"@type":"Answer",text:"Both ChatGPT and Google Search engines face data privacy concerns. ChatGPT models are trained on large amounts of data, which may contain sensitive personal information such as names, addresses, phone numbers, and financial details. Similarly, Google Search collects user data, including search queries, browsing history, and location, to personalize search results and target ads. This data can be vulnerable to hacking, data breaches, and unauthorized access, posing privacy risks. Both technologies need to prioritize robust data protection measures like encryption, access controls, and monitoring to ensure the privacy and security of user data."}},{"@type":"Question",name:"Can Google adapt to the shift towards natural language search, or will it face a decline in usage and revenue?",acceptedAnswer:{"@type":"Answer",text:"Google has a history of innovation and adaptability, which gives it the potential to adjust to the shift towards natural language search. The company has already been working on natural language processing search technology, such as LaMDA, to improve its conversational skills and relevance. However, if Google fails to adapt quickly and provide more accurate and context-aware search results, it could face a decline in usage and revenue as users increasingly prefer the benefits offered by natural language search engines like ChatGPT. The outcome of this evolving situation remains uncertain, and it is a developing story that we need to keep an eye on."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},gC="Get in Touch | Moonshot - Let's Bring Your Ideas to Life",yC="Contact us to discuss your digital product ideas and needs. Schedule a free consultation with our agency experts.",vC="https://www.moonshot.partners/contact",wC={"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/contact",contactPoint:[{"@type":"ContactPoint",email:"[email protected]",telephone:"+44 7745202025",contactType:"sales"}],address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"}},Yc={"@context":"https://schema.org","@type":"ContactPage",name:gC,description:yC,url:vC,mainEntity:wC},Zc={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"creating-our-first-node-js-package-with-typescript"},headline:"Creating our first Node.js package with Typescript",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/63fd15eebc2d9a6dabb62eea_node-script-OP.jpg",height:1e3,width:1e3},datePublished:"Feb 27, 2023",dateModified:"May 17, 2023",author:{"@type":"Person",name:"Leonardo Cabeza",url:"leonardo-cabeza",sameAs:"https://www.linkedin.com/in/leonardo-cabeza/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"This article explores the advantages of creating Node.js packages with TypeScript, a statically typed superset of JavaScript. Learn about the benefits of building modular, reusable code and how to leverage TypeScript'
1001s additional features to improve code quality and development time. Discover the importance of building packages in Node.js and how it can simplify code management, increase productivity, and encourage collaboration within the community.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What are Node.js packages and how can they be used?",acceptedAnswer:{"@type":"Answer",text:"Node.js packages are modules of reusable code that can be easily shared and integrated into other projects. Developers can create packages to write code once and reuse it across multiple projects, saving time and effort. These packages can be published and downloaded from the Node Package Manager (npm), allowing for easy sharing and collaboration within the developer community."}},{"@type":"Question",name:"What is TypeScript and why is it useful in combination with Node.js packages?",acceptedAnswer:{"@type":"Answer",text:"TypeScript is a statically typed superset of JavaScript that adds additional features and structure to the language. It provides type checking, object-oriented programming concepts, and additional tooling to improve code quality and development time. When combined with Node.js packages, TypeScript can help simplify code management, increase productivity, and enhance code consistency and maintainability over time."}},{"@type":"Question",name:"Why is building packages in Node.js important?",acceptedAnswer:{"@type":"Answer",text:"Building packages in Node.js offers several benefits. They allow developers to write code once and reuse it across multiple projects, reducing duplication and saving time and effort. Packages are modular units of code that can be easily updated, modified, or replaced without affecting other parts of the application, making it easier to maintain and scale applications over time. Node.js packages also simplify dependency management and encourage collaboration within the developer community, fostering feedback and improvement. Finally, leveraging packages can increase productivity by allowing developers to focus on project-specific code rather than reinventing existing solutions."}},{"@type":"Question",name:"What are the steps involved in creating a Node.js package with TypeScript?",acceptedAnswer:{"@type":"Answer",text:"The process of creating a Node.js package with TypeScript involves several steps. These include setting up the initial project structure and installing dependencies, writing TypeScript code with proper typing, transpiling the TypeScript code to JavaScript, configuring the package.json file, generating necessary files for publishing, authenticating with npmjs.com, and finally publishing the package to the npm registry."}},{"@type":"Question",name:"How can I publish my Node.js package to npmjs.com?",acceptedAnswer:{"@type":"Answer",text:"To publish your Node.js package to npmjs.com, you need to perform several steps. First, update the package.json file with the required fields such as package name, version, main entry point, and additional files. Then, transpile the TypeScript code to JavaScript using the TypeScript CLI tool. Authenticate the npm CLI tool with your npmjs.com account. Finally, use the npm CLI tool to publish the package to npmjs.com, ensuring that it meets the necessary specifications. Once published, your package will be available on npmjs.com for others to install and use."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Xc=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/david-gomez",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"David Gomez",url:"https://www.moonshot.partners/author/david-gomez",image:"https://www.moonshot.partners/legacy/images/6415cd0db071a72e966ba489_david-gomez.jpeg",sameAs:["https://www.linkedin.com/in/davidgoag/"],jobTitle:"Product Designer",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/david-gomez"}}],ed={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"educational-custom-software-development-overview"},headline:"Educational Custom Software Development Overview",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/6478ef99ac44bd95e7a63668_Custom-Education-Software-Development.jpg",height:1e3,width:1e3},datePublished:"Jun 01, 2023",dateModified:"Jun 01, 2023",author:{"@type":"Person",name:"Juan Lagrange",url:"juan-lagrange",sameAs:"https://www.linkedin.com/in/jalagrange/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"This article explores the importance of custom software development in education. It discusses the benefits of personalized learning, the growing need for tailored education services, and the various types of custom education software available. The article also outlines the process of software development, key features of effective custom education software, and the challenges and solutions involved. Additionally, it provides case studies of successful custom education software and predicts future trends in the field. Overall, the article emphasizes the transformative role of custom software in enhancing teaching and learning experiences and shaping the future of education.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is custom education software development?",acceptedAnswer:{"@type":"Answer",text:"Custom education software development refers to the process of creating specialized applications or platforms specifically designed to meet the unique needs of learners, educators, and administrators in an educational setting. These customized solutions aim to enhance the learning experience, streamline administrative tasks, and provide personalized learning paths for students."}},{"@type":"Question",name:"Why is personalized learning important in education?",acceptedAnswer:{"@type":"Answer",text:"Personalized learning is crucial in education because it recognizes that students have diverse learning styles, preferences, and paces. By customizing education software to accommodate individual needs, personalized learning allows for a tailored learning experience, improved student engagement, and better learning outcomes. It promotes student autonomy, addresses individual strengths and weaknesses, and creates a more effective and enjoyable learning environment."}},{"@type":"Question",name:"What are the key features of effective custom education software?",acceptedAnswer:{"@type":"Answer",text:"Effective custom education software should have key features such as personalized learning paths, collaboration and interaction tools, progress tracking and reporting, user-friendly interface and experience, and robust data security and privacy measures. These features enable customized learning experiences, facilitate student engagement and collaboration, provide insights for performance improvement, ensure a seamless user experience, and protect sensitive user data."}},{"@type":"Question",name:"What are the challenges in custom education software development?",acceptedA
1001nswer:{"@type":"Answer",text:"Custom education software development may face challenges such as technical complexity, cost and time management, integration with existing technology systems, ensuring user privacy and data security, and continuous updating and improvement. These challenges can be mitigated by engaging a professional software development team, adopting agile development practices, using flexible and API-friendly frameworks, implementing robust security measures, and establishing a long-term partnership for updates and improvements."}},{"@type":"Question",name:"What is the future of custom software in education?",acceptedAnswer:{"@type":"Answer",text:"The future of custom software in education holds great potential for advancements such as greater personalization using AI and machine learning, immersive learning experiences with VR and AR technologies, advanced analytics for better tracking and reporting, and heightened data security measures. Custom software will continue to play a transformative role in education by adapting to individual needs, expanding access to quality education, and fostering innovative learning environments."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},td={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"This article highlights how Spartan Nash, an American food and grocery products distributor, faced challenges due to unreliable data resulting from outdated architecture and data quality issues. To address this, Spartan Nash enlisted the help of Moonshot, a tech partner that specializes in identifying inefficiencies or areas for improvement in existing workflows. Moonshot proposed milestones to achieve significant improvements in data processing, such as building Snowflake tables to store workflow output, refactoring workflows into easy-to-change silos, and establishing a standard schema for data structures used by all departments. The project delivered well-documented Alteryx workflows, explaining each business logic unit's purpose and method, and identified potential risks and limitations while providing detailed recommendations for optimizing future workflows. The optimization resulted in more efficient workflows, easier maintenance, and streamlined data processing for Spartan Nash.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow"},headline:"ETL Data Workflows: Spartan Nash boosts business logic through the modernization of ETL workflow",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},nd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/francisco-hernandez",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Francisco Hernández",url:"https://www.moonshot.partners/author/francisco-hernandez",image:"https://www.moonshot.partners/legacy/images/66203fd2d733fad4e7573370_image-1.png",sameAs:["https://www.linkedin.com/in/talkwithfran/"],jobTitle:"Chief Operating Officer",worksFor:{"@type":"Organization",name:"Moonshot",url:""}}],bC="Frontend Engineer",xC="Join us as a Frontend Engineer and help build innovative web solutions. Join our team from any place in the world.",kC={"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.moonshot.partners/",logo:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg"},SC="FULL_TIME",_C="Apr 07, 2023",PC={"@type":"Country",name:"Remote"},jC="TELECOMMUTE",od={"@context":"https://schema.org/","@type":"JobPosting",title:bC,description:xC,hiringOrganization:kC,employmentType:SC,datePosted:_C,applicantLocationRequirements:PC,jobLocationType:jC},rd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Playverto, a social enterprise specializing in data-led community engagement, has partnered with Moonshot to create an innovative survey tool that leverages play-based answer types to empower diverse communities to share their authentic insights. The interactive web-based application offers a gamified approach to surveys, with a variety of animated answer types that inspire deeper engagement and generate more heartfelt responses. With complete customization options and an intuitive interface that requires no coding experience, anyone can effortlessly create and launch a survey in over 50 languages. The platform's success is evident, with Playverto boasting 80% completion rates, providing actionable insights for real-world change.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/gamified-and-customizable-web-based-survey-app-development"},headline:"Gamified and customizable web-based survey app development",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/gamified-and-customizable-web-based-survey-app-development"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/gamified-and-customizable-web-based-survey-app-development",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},ad={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"including-women-in-technology-insights-from-women-at-moonshot-partners"},headline:"The Importance of Including Women in Technology: Insights from Women at Moonshot Partners",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64246a2c83fe0042dc90a3e4_Women-in-tech-1000p.png",height:1e3,width:1e3},datePublished:"Mar 29, 2023",dateModified:"Mar 29, 2023",author:{"@type":"Person",name:"Moonshot-Girls",url:"moonshot-girls",sameAs:""},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"In this blog post, we highlight the importance of including women in the technology industry and share insights from women at Moonshot Partners. Despite progress made towards gender equality, women still face barriers in various aspects of life, including the workforce. Women represent only 28% of researchers in STEM worldwide, and the gender pay gap in technology remains
1001notably high. As the tech industry continues to evolve, it's crucial to address these disparities by promoting gender diversity. Women bring unique perspectives and experiences, contributing to the development of more inclusive technological solutions. Diverse teams are known to be innovative and impact performance significantly, which is why leaders across all sectors recognize the need for a diverse workforce. Closing the gender gap in technology can also provide economic and social benefits, potentially adding $12 trillion to the global GDP by 2025. At Moonshot Partners, women play a vital role in the organization, offering value, enthusiasm, organization, and creativity. The article features their reflections on their journey as women in the tech industry. In summary, the blog post emphasizes the significance of including women in the technology field, shares testimonials from women working at Moonshot Partners, and offers tips for helping to close the gender gap in this sector.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},sd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"innovative-business-ideas"},headline:"Innovative Business Ideas to Start with $50K in 2025",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/679941281a24c081513403b5_Business-ideas.jpg",height:1e3,width:1e3},datePublished:"Jan 28, 2025",dateModified:"",author:{"@type":"Person",name:"Moonshot Editorial Team",url:"moonshot-editorial-team",sameAs:""},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Unlock your entrepreneurial potential with Moonshot's expert guide to launching a successful $50K business in 2025. ","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},id={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Sunlight, a London-based startup, aimed to create a platform that enables personalized learning for teams. However, due to market constraints, they struggled to find qualified candidates that met their criteria. Moonshot's software development expertise was vital in building and launching the platform, integrating features such as Banking as a Service (BaaS) integrations and an analytics dashboard. The streamlined process allows anyone to open an account within two minutes and invite colleagues, team members, and managers. The project followed Test-Driven Development (TDD) methodology to improve code quality, faster development, and easier collaboration between Sunlight and Moonshot teams. The collaboration between Sunlight and Moonshot resulted in a platform that fosters a culture of constant learning. Sunlight successfully secured their first enterprise clients and raised US$2M in funding. Moonshot's commitment to delivering a high-quality solution that exceeded expectations was noted by Sunlight's co-founders.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive"},headline:"Investing in people: How Sunlight helps organizations thrive",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},AC="iOS Developer",CC="Join us as an iOS Developer and help build innovative mobile solutions. Join our team from any place in the world.",EC={"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.moonshot.partners/",logo:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg"},TC="FULL_TIME",IC="Apr 07, 2023",OC={"@type":"Country",name:"Remote"},MC="TELECOMMUTE",ld={"@context":"https://schema.org/","@type":"JobPosting",title:AC,description:CC,hiringOrganization:EC,employmentType:TC,datePosted:IC,applicantLocationRequirements:OC,jobLocationType:MC},cd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/jessica-leon",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Jessica Leon",url:"https://www.moonshot.partners/author/jessica-leon",image:"https://www.moonshot.partners/legacy/images/6415cd75f4c83f3d27efd9ec_jessica-leon.jpg",sameAs:["https://www.linkedin.com/in/jessicaleonmonsalvo/"],jobTitle:"People & Operations Manager",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/jessica-leon"}}],dd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/juan-lagrange",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Juan Lagrange",url:"https://www.moonshot.partners/author/juan-lagrange",image:"https://www.moonshot.partners/legacy/images/6415cb9c7dad695414ea72d9_juan-lagrange.jpeg",sameAs:["https://www.linkedin.com/in/jalagrange/"],jobTitle:"Co-Founder",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/juan-lagrange"}}],ud=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/katherinne-jara-caceres",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Katherinne Jara Cáceres",url:"https://www.moonshot.partners/author/katherinne-jara-caceres",image:"https://www.moonshot.partners/legacy/images/64c12cb4397f6590fd2ae5da_Katherinne-Jara.jpeg",sameAs:["https://www.linkedin.com/in/katherinne-jara-c%C3%A1ceres-3a3a94211/"],jobTitle:"UI Senior Designer and Branding",worksFor:{"@type":"Organization",name:"",url:""}}],pd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Moonshot partnered with a leading Language Learning App provider to develop a high-performance web and mobile app. The objective was to improve user experience and retention by addressing existing difficulties in app navigation. The project began with a discovery phase, including market research to understand the needs of potential users. The team used the Scrum framework to manage the development process, with event-driven architecture to design the app. Quality assurance was also a top priority, with rigorous testing processes to ensure the app's quality. The app was delivered with two access levels, one freemium for users to try, and another that c
1001omplemented the learning journey of current students. The new app featured gamification elements, including earned achievements, medals, and a custom avatar creation page, to add fun and dynamism to the platform. Multi-language content was also included, with over 25 books containing more than 3,000 exercises available in three languages. The course content was organized and structured, reducing the number of clicks required to access the exercises. A split-screen course progress page was added, allowing students to track their progress and stay motivated. Engagement was a crucial factor, with new features designed for a branded battle game to enhance the user experience and drive engagement. The overall results of these improvements were a significant increase in user satisfaction, engagement, and retention. As a result, the Language Learning App was able to achieve its goal of continuously improving its value proposition and scale an ed-tech app with global standards.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/language-learning-app-development"},headline:"Empowering Language Learning: Innovative Web and Mobile App Development",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/language-learning-app-development"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/language-learning-app-development",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},hd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/leonardo-cabeza",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Leonardo Cabeza",url:"https://www.moonshot.partners/author/leonardo-cabeza",image:"https://www.moonshot.partners/legacy/images/6414742f1ebc5eb0e07388ad_Leonardo-Cabeza.jpg",sameAs:["https://www.linkedin.com/in/leonardo-cabeza/"],jobTitle:" Senior Software Engineer",worksFor:{"@type":"Organization",name:"",url:""}}],LC="https://moonshot-2023.webflow.io",RC={"/author/david-gomez":"david-gomez.json","/author/francisco-hernandez":"francisco-hernandez.json","/author/jessica-leon":"jessica-leon.json","/author/juan-lagrange":"juan-lagrange.json","/author/katherinne-jara-caceres":"katherinne-jara-caceres.json","/author/leonardo-cabeza":"leonardo-cabeza.json","/author/moonshot-editorial-team":"moonshot-editorial-team.json","/author/moonshot-girls":"moonshot-girls.json","/author/pedro-mejia":"pedro-mejia.json","/author/ricardo-rodriguez":"ricardo-rodriguez.json","/author/rubens-pasquale":"rubens-pasquale.json","/author/sasha-briceno":"sasha-briceno.json","/author/valentina-delfino":"valentina-delfino.json","/author/veronica-delfino":"veronica-delfino.json","/blog/banking-as-a-service-baas-a-solution-for-your-business":"banking-as-a-service-baas-a-solution-for-your-business.json","/blog/best-growth-marketing-agencies":"best-growth-marketing-agencies.json","/blog/best-resource-management-tools-for-it-agencies":"best-resource-management-tools-for-it-agencies.json","/blog/best-software-development-companies-in-the-uk":"best-software-development-companies-in-the-uk.json","/blog/boost-your-business-with-modernized-data-integration-architecture":"boost-your-business-with-modernized-data-integration-architecture.json","/blog/chat-gpt-is-google-search-business-dominance-challenged":"chat-gpt-is-google-search-business-dominance-challenged.json","/blog/creating-our-first-node-js-package-with-typescript":"creating-our-first-node-js-package-with-typescript.json","/blog/educational-custom-software-development-overview":"educational-custom-software-development-overview.json","/blog/including-women-in-technology-insights-from-women-at-moonshot-partners":"including-women-in-technology-insights-from-women-at-moonshot-partners.json","/blog/innovative-business-ideas":"innovative-business-ideas.json","/blog/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge":"mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json","/blog/mvp-testing-techniques-unveiled-redefining-product-validation":"mvp-testing-techniques-unveiled-redefining-product-validation.json","/blog/mvp-ux-design-balancing-simplicity-and-functionality":"mvp-ux-design-balancing-simplicity-and-functionality.json","/blog/mvp-vs-prototype-vs-poc-decoding-development-strategies":"mvp-vs-prototype-vs-poc-decoding-development-strategies.json","/blog/mvps-inspiring-mvp-examples-across-industries":"mvps-inspiring-mvp-examples-across-industries.json","/blog/suaas-everything-you
1001-need-to-know-to-launch-and-grow-your-business":"suaas-everything-you-need-to-know-to-launch-and-grow-your-business.json","/blog/the-return-to-office-in-the-digital-nomads-era":"the-return-to-office-in-the-digital-nomads-era.json","/blog/top-nearshore-software-development-services-in-uk":"top-nearshore-software-development-services-in-uk.json","/blog/unlock-your-businesss-potential-with-custom-software-development":"unlock-your-businesss-potential-with-custom-software-development.json","/blog/web-application-development":"web-application-development.json","/blog/website-pages-are-not-indexing-check-these-5-common-reasons":"website-pages-are-not-indexing-check-these-5-common-reasons.json","/blog/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world":"why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json","/careers/android":"android.json","/careers/backend":"backend.json","/careers/frontend":"frontend.json","/careers/ios-developer":"ios-developer.json","/careers/product-manager":"product-manager.json","/case-studies/boosting-app-growth-targeted-messaging-for-english-learning":"boosting-app-growth-targeted-messaging-for-english-learning.json","/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow":"etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json","/case-studies/gamified-and-customizable-web-based-survey-app-development":"gamified-and-customizable-web-based-survey-app-development.json","/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive":"investing-in-people-how-sunlight-helps-organizations-thrive.json","/case-studies/language-learning-app-development":"language-learning-app-development.json","/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital":"no-code-automation-how-moonshot-empowered-a-venture-capital.json","/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai":"nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json","/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search":"pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json","/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation":"product-discovery-the-lanbys-primary-healthcare-innovation.json","/case-studies/website-seo-optimization":"website-seo-optimization.json","/contact":"contact.json","/services/agile-consulting-services":"services-shared.json","/services/ai-development-services-for-startups":"services-shared.json","/services/angularjs-development-company":"services-shared.json","/services/api-integration-services-london-uk":"services-shared.json","/services/artificial-intelligence-development-company":"services-shared.json","/services/bespoke-software-development-london-uk":"services-shared.json","/services/custom-enterprise-software-development":"services-shared.json","/services/custom-software-development-for-startups":"services-shared.json","/services/database-development-services":"services-shared.json","/services/devops-consulting":"services-shared.json","/services/elearning-software-development-company-london-uk":"services-shared.json","/services/enterprise-application-development-services":"services-shared.json","/services/hire-dedicated-software-development-team":"services-shared.json","/services/it-staff-augmentation-services":"services-shared.json","/services/leading-software-product-development-company":"services-shared.json","/services/mobile-app-development-services":"services-shared.json","/services/mvp-development-services":"services-shared.json","/services/mvp-development-services-for-startups":"services-shared.json","/services/mvp-development-services-london-uk":"services-shared.json","/services/mvp-software-development-services-in-usa":"services-shared.json","/services/outsource-react-js-development":"services-shared.json","/services/outsourcing-software-development-solutions":"services-shared.json","/services/react-js-consulting-services":"services-shared.json","/services/saas-application-development-company":"services-shared.json","/services/saas-mvp-development-services":"services-shared.json","/services/software-consulting-services-london-uk":"services-shared.json","/services/software-testing-services":"services-shared.json","/services/web-application-development-in-london":"services-shared.json","/services/web-application-development-services-london-uk":"services-shared.json"},NC={total:29,sharedHash:"5cc863969e31182dd80f2be9e7ca855f2cb79a5e703e22c6439e347ef47786c1",sharedPaths:["/services/agile-consulting-services","/services/ai-development-services-for-startups","/services/angularjs-development-company","/services/api-integration-services-london-uk","/services/artificial-intelligence-development-company","/services/bespoke-software-development-london-uk","/services/custom-enterprise-software-development","/services/custom-software-development-for-startups","/services/database-development-services","/services/devops-consulting","/services/elearning-software-development-company-london-uk","/services/enterprise-application-development-services","/services/hire-dedicated-software-development-team","/services/it-staff-augmentation-services","/services/leading-software-product-development-company","/services/mobile-app-development-services","/services/mvp-development-services","/services/mvp-development-services-for-startups","/services/mvp-development-services-london-uk","/services/mvp-software-development-services-in-usa","/services/outsource-react-js-development","/services/outsourcing-software-development-solutions","/services/react-js-consulting-services","/services/saas-application-development-company","/services/saas-mvp-development-services","/services/software-consulting-services-london-uk","/services/software-testing-services","/services/web-application-development-in-london","/services/web-application-development-services-london-uk"],individual:[]},DC=[{path:"/",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/about",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/author",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/blog",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/blog/freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1870 (line 35 column 659)"},{path:"/blog/master-chatgpt-prompts-with-the-socratic-mother-prompt",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1512 (line 35 column 367)"},{path:"/blog/minimum-viable-product-healthcare-innovation-unleashed",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 2479 (line 35 column 1324)"},{path:"/blog/mvp-guide-building-an-mvp-with-no-coding-skills",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 2004 (line 35 column 865)"},{path:"/blog/nearshore-software-development-guide",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1278 (line 35 column 128)"}
1001,{path:"/blog/offshore-software-development-a-comprehensive-guide",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1810 (line 35 column 648)"},{path:"/blog/survey-app-development-a-comprehensive-guide-to-app-surveys",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1953 (line 35 column 772)"},{path:"/blog/the-future-of-ai-ethics-regulations-and-implications-for-businesses",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 2000 (line 35 column 850)"},{path:"/blog/unsung-heroes-women-also-shaped-the-history-of-tech",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1468 (line 35 column 366)"},{path:"/blog/what-is-a-fractional-product-manager",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1245 (line 35 column 156)"},{path:"/careers/android",reason:"JSON-LD block 2: JSON parse error: Bad control character in string literal in JSON at position 1255 (line 42 column 167)"},{path:"/careers/backend",reason:"JSON-LD block 2: JSON parse error: Bad control character in string literal in JSON at position 1255 (line 42 column 167)"},{path:"/careers/frontend",reason:"JSON-LD block 2: JSON parse error: Bad control character in string literal in JSON at position 1255 (line 42 column 167)"},{path:"/careers/ios-developer",reason:"JSON-LD block 2: JSON parse error: Bad control character in string literal in JSON at position 1255 (line 42 column 167)"},{path:"/careers/product-manager",reason:"JSON-LD block 2: JSON parse error: Bad control character in string literal in JSON at position 1255 (line 42 column 167)"},{path:"/case-studies",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/contact",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/cookie-policy",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/extended-teams",reason:"No JSON-LD blocks found"},{path:"/moonshots-ai-lab",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/privacy-policy",reason:"JSON-LD block 1: JSON parse error: Bad control character in string literal in JSON at position 1410 (line 49 column 167)"},{path:"/subscription",reason:"No JSON-LD blocks found"},{path:"/tech-talent",reason:"No JSON-LD blocks found"}],vr={source:LC,archived:RC,services:NC,skipped:DC},md=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/moonshot-editorial-team",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Moonshot Editorial Team",url:"https://www.moonshot.partners/author/moonshot-editorial-team",image:"https://www.moonshot.partners/legacy/images/661ebf77f7fdf899854f7444_moonshot_partners_logo.jpeg",sameAs:[""],jobTitle:"",worksFor:{"@type":"Organization",name:"",url:""}}],fd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/moonshot-girls",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Moonshot-Girls",url:"https://www.moonshot.partners/author/moonshot-girls",image:"https://www.moonshot.partners/legacy/images/64246a2f972f4920cb998f76_Women-in-tech-212p.png",sameAs:[""],jobTitle:"Women in Tech Group",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/moonshot-girls"}}],gd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge"},headline:"MVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for Knowledge",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64d6445c74d5d159ae23915b_MVP-AI-Unleashed_-Moonshots-AI-Lab-Unites-Teams-in-a-Quest-for-Knowledge.jpg",height:1e3,width:1e3},datePublished:"Aug 11, 2023",dateModified:"Aug 11, 2023",author:{"@type":"Person",name:"David Gomez",url:"david-gomez",sameAs:"https://www.linkedin.com/in/davidgoag/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"The article discusses Moonshot Partners' AI Lab's commitment to innovation through collaboration and explores the role of Artificial Intelligence (AI) in creating Minimum Viable Products (MVPs). The lab's formation and purpose are highlighted, emphasizing its role in fostering unity, creativity, and skill enhancement among diverse team members. The article details how AI transforms MVP development, leveraging data analysis, prototyping, validation, and iteration for agile and user-centric outcomes. It emphasizes the importance of united teams in overcoming AI implementation challenges. The future outlook underscores AI's potential in accelerating MVP creation, enhancing user experiences, and impacting Moonshot Partners and the industry at large by setting new standards and empowering smaller players.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is Moonshot Partners' AI Lab?",acceptedAnswer:{"@type":"Answer",text:"Moonshot Partners' AI Lab is a space dedicated to fostering innovation through collaborative exploration of Artificial Intelligence (AI) and no-code development. It brings together diverse minds to drive AI research and knowledge acquisition."}},{"@type":"Question",name:"How does AI impact MVP creation?",acceptedAnswer:{"@type":"Answer",text:"AI revolutionizes MVP creation by analyzing extensive datasets to align products with market needs, enhancing user experiences, and automating tasks for increased efficiency and faster time-to-market."}},{"@type":"Question",name:"How does team collaboration enhance AI-driven MVPs?",acceptedAnswer:{"@type":"Answer",text:"Team collaboration plays a pivotal role in AI-driven MVP development. Unified teams share knowledge, leverage strengths, and adapt to AI-driven processes, ensuring a seamless integration of technology and achieving successful outcomes."}},{"@type":"Question",name:"What are the unique features of AI-created MVPs?",acceptedAnswer:{"@type":"Answer",text:"AI-created MVPs feature market-aligned designs, enhanced user experiences, and scalability. They're closely tailored to market trends, offer intuitive interfaces, predict user behavior, and are built with scalability to meet evolving business needs."}},{"@type":"Question",name:"What is the future outlook for AI in MVP creation?",acceptedA
1001nswer:{"@type":"Answer",text:"The future holds immense potential for AI in MVP creation. AI will accelerate MVP development, enhance user experiences, and increase market precision. Its influence will not only transform organizations like Moonshot Partners but also set new industry standards and drive economic growth."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},yd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"mvp-testing-techniques-unveiled-redefining-product-validation"},headline:"MVP Testing Techniques Unveiled: Redefining Product Validation",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64a7691201bef184d3bda2c7_MVP-Testing-Techniques.jpg",height:1e3,width:1e3},datePublished:"Jul 06, 2023",dateModified:"Jul 06, 2023",author:{"@type":"Person",name:"Juan Lagrange",url:"juan-lagrange",sameAs:"https://www.linkedin.com/in/jalagrange/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Discover groundbreaking approaches to MVP testing in this article. Traditionally, Minimum Viable Product (MVP) testing involved customer interviews, explainer videos, paper prototyping, and digital prototyping. However, the ever-evolving digital landscape calls for exploring innovative techniques. Hallway MVP testing introduces unbiased individuals to evaluate your product, highlighting user interface issues that may have been overlooked. The Wizard of Oz MVP technique creates the illusion of a fully functional product while manually conducting processes behind the scenes. Concierge MVPs offer personalized user experiences by interacting directly with customers. Piecemeal MVPs leverage existing tools and services to emulate core functionality, saving time and capital. Implementing these techniques requires clear objectives, selecting the right participants, and an iterative process. Measuring results with quantitative and qualitative metrics ensures the success of your MVP. Explore real case studies of successful MVP testing using innovative techniques, including Zappos, Food On The Table, and Groupon.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How can I choose between traditional and innovative testing techniques?",acceptedAnswer:{"@type":"Answer",text:"Choosing the right test and technique depends on a multitude of factors, including your business model, target audience, and the nature of the product. Traditional methods, such as feature gating or single-feature MVPs, work best for straightforward solutions where you want to gauge customer reaction to a specific feature. Innovative techniques like Wizard of Oz or Concierge MVPs, on the other hand, are best suited for products that involve complex operations or high-touch customer experiences. These techniques allow you to simulate the full customer experience without building a complete product first. Ultimately, your choice should be driven by your specific product needs, business context, and the insights you wish to gain from the MVP testing."}},{"@type":"Question",name:"Is the MVP testing phase duration industry-dependent?",acceptedAnswer:{"@type":"Answer",text:"Yes, the duration of the test phase can be industry-dependent. Fast-paced industries like tech or e-commerce might require shorter testing phases to keep up with rapidly changing trends. Conversely, sectors like healthcare or energy, where regulations are stringent and the pace of change is slower, might necessitate longer testing periods.However, remember that the duration should be dictated by the nature of your product and the time needed to gather meaningful feedback rather than being purely determined by industry norms."}},{"@type":"Question",name:"What are some other MVP innovative testing techniques not covered in this article?",acceptedA
1001nswer:{"@type":"Answer",text:"There are several innovative mvp tests apart from those discussed in this article. Examples include the 'Fake Door' MVP, where you gauge customer interest by advertising a non-existent product feature and measuring how many users try to access it. 'Explainer Video' MVPs can also be effective, where an explanatory video is used to pitch the product idea before actual development. Another method is the 'Crowdfunding' MVP, where platforms like Kickstarter are used to validate the market demand for your product. The response to the crowdfunding campaign can provide valuable insights into the potential success of your product."}},{"@type":"Question",name:"How long does the MVP testing phase typically last?",acceptedAnswer:{"@type":"Answer",text:"The duration of the test phase can vary greatly depending on the complexity of the product, target market response, and the depth of feedback required. Typically, it can range from a few weeks to several months. It's vital to allow enough time for users to engage with your MVP and for you to collect, analyze, and act on the feedback received."}},{"@type":"Question",name:"Can MVP testing be applied to all industries?",acceptedAnswer:{"@type":"Answer",text:"Yes, the concept of MVP testing is versatile and can be applied to virtually any industry. From tech startups to established manufacturing firms, any business developing a new product can leverage MVP testing. The key is to adapt the test process to suit the specific requirements and constraints of your industry and product. Remember, the core idea of MVP testing is to validate your product idea with minimal investment, and this concept holds universal value."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},vd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"mvp-ux-design-balancing-simplicity-and-functionality"},headline:"MVP UX Design: Balancing Simplicity and Functionality",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64d518191eaac39c086c472c_MVP-UX-Design.jpg",height:1e3,width:1e3},datePublished:"Aug 10, 2023",dateModified:"Aug 10, 2023",author:{"@type":"Person",name:"Katherinne Jara Cáceres",url:"katherinne-jara-caceres",sameAs:"https://www.linkedin.com/in/katherinne-jara-c%C3%A1ceres-3a3a94211/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"This article explores the symbiotic relationship between User Experience (UX) and Minimum Viable Products (MVPs) in product success. It emphasizes the need to strike a balance between simplicity and functionality. UX's vital role in MVPs is highlighted, enabling early insights into user behavior. MVP UX Design principles are outlined, focusing on user-centricity, functionality, simplicity, and iterative design. The significance of balance in design is emphasized, with real-world case studies showcasing its impact. Strategies for achieving simplicity and enhancing functionality are discussed, along with successful examples like Instagram, Uber, and Spotify. The future trends of MVP UX Design, including personalization, are considered. The conclusion underscores the importance of this balance in achieving product success.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is UX Design for MVP?",acceptedAnswer:{"@type":"Answer",text:"UX Design for an MVP refers to the application of User Experience (UX) design principles to a Minimum Viable Product (MVP). The aim is to create an MVP that provides a positive user experience, focusing on the key interaction points between the product and its users."}},{"@type":"Question",name:"Why is it important for the UX designer to balance simplicity and functionality in the design?",acceptedA
1001nswer:{"@type":"Answer",text:"Balancing simplicity and functionality is crucial for the UX designer as an imbalance can lead to a poor user experience. Overloading an MVP with features can make it complex and challenging to use, while an overly simplified MVP may lack essential functionality that meets user needs."}},{"@type":"Question",name:"How can one achieve a design balance between simplicity and functionality in an MVP?",acceptedAnswer:{"@type":"Answer",text:"UX Designers can achieve balance through user-centric design, focusing on core features, minimizing clutter, and iterative improvements based on user feedback. Regular user testing and prioritizing features based on user needs and business goals can also help maintain this balance."}},{"@type":"Question",name:"What are some examples of successfully designed MVP?",acceptedAnswer:{"@type":"Answer",text:"Instagram, Uber, and Spotify are notable examples of successful MVP design. They managed to balance simplicity and functionality, leading to their widespread adoption and success."}},{"@type":"Question",name:"What are the future trends in MVP UX Design? ",acceptedAnswer:{"@type":"Answer",text:"In the future, MVP UX Design is likely to emphasize personalization, tailoring user experiences to individual preferences. Additionally, emerging technologies like artificial intelligence and augmented reality might be integrated into MVPs to enhance both simplicity and functionality, further improving the user experience."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},wd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"mvp-vs-prototype-vs-poc-decoding-development-strategies"},headline:"MVP vs Prototype vs PoC: Decoding Development Strategies",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64aea62ab7d80b6f3b9a8596_MVP-vs-prototype-vs-PoC.jpg",height:1e3,width:1e3},datePublished:"Jul 12, 2023",dateModified:"Jul 12, 2023",author:{"@type":"Person",name:"Rubens Pasquale",url:"rubens-pasquale",sameAs:"https://www.linkedin.com/in/rubenspf/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"In the article, we explored three critical stages of product development - Proof of Concept (PoC), Prototype, and Minimum Viable Product (MVP), explaining their unique purposes and benefits. PoC primarily validates an idea's feasibility, while Prototypes allow for interaction and feedback on the design, and MVPs test the market response with minimal features. We delved into when and why to use each approach, the potential challenges, and best practices. We also discussed factors to consider when choosing the right approach and how to transition effectively between stages. A case study illustrated successful transitions. The article concluded with FAQs addressing common queries, emphasizing the strategic importance of these concepts in product development and their role in ensuring better product-market fit. The article encourages viewing these approaches as flexible tools to reduce risks, conserve resources, and enhance the chances of launching a successful product.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is the primary purpose of a PoC?",acceptedAnswer:{"@type":"Answer",text:"A Proof of Concept (PoC) primarily serves to validate the feasibility of an idea or a solution. It's a way to test whether the concept can be implemented successfully in the real world and whether it's worth investing further time and resources."}},{"@type":"Question",name:"How does a Prototype differ from an MVP?",acceptedA
1001nswer:{"@type":"Answer",text:"A Prototype is an interactive model of the product that allows users and stakeholders to provide feedback on its design and functionality. On the other hand, an MVP is a minimal version of the product with just enough features to satisfy early customers and provide feedback for future product development. A Prototype is used for testing design concepts and garnering user feedback, while an MVP is used for testing the product in the market."}},{"@type":"Question",name:"When should I transition from a Prototype to an MVP?",acceptedAnswer:{"@type":"Answer",text:"The transition from a Prototype to an MVP should occur when you have validated the product design with your target audience, collected valuable feedback, and iterated the design. Once you're confident that your product design solves the primary problem for your target customers, it's time to build and launch the MVP."}},{"@type":"Question",name:"Can I skip the PoC or Prototype stage and start with an MVP?",acceptedAnswer:{"@type":"Answer",text:"While it's technically possible to skip straight to the MVP stage, it's generally not advisable. The PoC and Prototype stages allow you to validate your idea and product design before investing significantly in product development. Skipping these stages may lead to a product that's not fully validated and could result in wasted resources if the product doesn't resonate with the market."}},{"@type":"Question",name:"Are PoCs, Prototypes, and MVPs only relevant for software products?",acceptedAnswer:{"@type":"Answer",text:"While these concepts originated in the software industry, they're now widely used across various sectors, including hardware, services, and processes. Regardless ofthe industry, any new product or service can benefit from the risk mitigation, user feedback, and iterative design opportunities that these approaches provide."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},bd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"mvps-inspiring-mvp-examples-across-industries"},headline:"MVPs: Inspiring MVP Examples Across Industries",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/64a5749502585ffbbf8f61cf_MVPs_-Inspiring-MVP-Examples-Across-Industries.jpg",height:1e3,width:1e3},datePublished:"Jul 05, 2023",dateModified:"Jul 05, 2023",author:{"@type":"Person",name:"Veronica Delfino",url:"veronica-delfino",sameAs:"https://www.linkedin.com/in/veronica-delfino"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"The article explores the power and benefits of Minimum Viable Products (MVPs) in product development across various sectors. An MVP is a pared-down version of a product with just enough features to attract early adopters and validate the product idea. It aids in efficient resource allocation, rapid market validation, iterative product improvement, and customer feedback-driven development. Real-life examples such as Uber, Airbnb, and Dropbox in tech startups, Amazon, Warby Parker, and Birchbox in e-commerce, Facebook, Instagram, and Snapchat in social media, and Instagram, TikTok, and Duolingo in mobile apps, all underline the effectiveness of MVPs. These MVPs helped businesses validate their ideas quickly, allocate resources efficiently, scale rapidly, and ultimately shape their industries.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What are the Key Characteristics of a Successful Minimum Viable Product?",acceptedAnswer:{"@type":"Answer",text:"A successful MVP should have a few key characteristics. First, it should offer a solution to a real problem that customers are facing. Second, it should deliver value to the customers and be enough to engage early adopters. Lastly, it should serve as a learning tool, providing a platform to collect feedback, learn more about the market, and guide future iterations of the business model."}},{"@type":"Question",name:"How Can an MVP Help Mitigate Risks and
1001Save Resources?",acceptedAnswer:{"@type":"Answer",text:"MVPs play a crucial role in risk mitigation. By launching a product with only essential features, businesses can gauge the market's response to their core value proposition without committing significant resources. This approach allows them to validate their ideas before a full-scale launch and make adjustments based on real user feedback, saving both time and money."}},{"@type":"Question",name:"How Can Businesses Decide Which Features to Include in an MVP?",acceptedAnswer:{"@type":"Answer",text:"Deciding on the features to include in an MVP is a strategic process. Businesses should focus on their product's core value proposition and prioritize the features that directly contribute to delivering that value. Customer feedback, competitive analysis, and clear project objectives can provide valuable insights during this process."}},{"@type":"Question",name:"What are the Benefits of Adopting an MVP Approach in Product Development?",acceptedAnswer:{"@type":"Answer",text:"An MVP approach offers numerous benefits. It allows to validate business ideas quickly, minimizes upfront investment, enables user-centric development, and accelerates the learning process. Moreover, it mitigates risks and creates a pathway for iterative improvements, leading to a product that truly resonates with customers and is inline with their business model."}},{"@type":"Question",name:"What are Popular Minimum Viable Product Examples in the Healthcare Industry?",acceptedAnswer:{"@type":"Answer",text:"In the healthcare industry, there are several successful MVP examples. One example is Zocdoc, a platform that began as a simple tool for finding and booking doctor appointments. Based on user feedback, it expanded to include insurance verification, telehealth services, and more. Another example is Fitbit, which started with a basic device that tracked steps and sleep. Over time, it has developed a range of fitness trackers and smartwatches with advanced features like heart rate monitoring, guided workouts, and health insights, all based on user feedback and market trends."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},xd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Moonshot, a software development company, developed a custom software solution for a venture capital fund facing challenges in data analysis and gathering. The venture fund was manually collecting information from various sources, a process that was both laborious and time-consuming, hampering their ability to make informed investment decisions quickly. Leveraging no-code automation, Moonshot built a tool that automated the initial data gathering and filtering process. The tool used advanced data scrapers and algorithms for seamless information processing, with a robust and scalable architecture utilizing AWS services. The result was a comprehensive, centralized database that enabled the venture fund's investment teams to make swift, smarter decisions, significantly reducing manual effort and increasing overall productivity. This transformative solution not only unlocked numerous opportunities for the venture fund but also facilitated the growth and success of their clients.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital"},headline:" No-Code Automation: How Moonshot Empowered a Venture Capital in their Investment Strategy",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},kd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"NOVA is your AI discovery call agent. It qualifies leads, captures key insights, and helps you scale early-stage conversations so your team can focus on closing deals.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai"},headline:"NOVA: AI-Powered Discovery Calls Made Easy",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Sd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"An advanced AI-driven Pattern Discovery tool, designed to enhance the design search experience with intelligent and intuitive query-based discovery.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search"},headline:"Pattern Discovery AI: Enhancing Design Exploration with Intelligent Search",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},_d=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/pedro-mejia",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Pedro MejÃa",url:"https://www.moonshot.partners/author/pedro-mejia",image:"https://www.moonshot.partners/legacy/images/6415ccfef8e2adcb06c949c6_pedro-mejia.jpeg",sameAs:["https://www.linkedin.com/in/pedromejiar/"],jobTitle:" Head of Sales & Growth",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/pedro-mejia"}}],Pd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"The Lanby, a unique healthcare provider in the US, partnered with Moonshot to revolutionize integrative primary healthcare through innovative product discovery. The project focused on creating an interactive Care Plan that was relevant for patients, feasible for the care team, and scalable for the business. Through workshops and in-depth interviews, Moonshot mapped the main patient journey to understand their ultimate goal, identify their most pressing pains, and top gains to empower them. The team analyzed various technological solutions to establish a solid foundation for scalable and sustainable growth, while maintaining business growth and scalability. The project resulted in ten guiding tenets and eight main principles for product development that ensure a digital ecosystem as unique as The Lanby's distinguished practice. The outcome was an optimal patient experience with customizable features, such as an interactive and customizable Care Plan, task management system, and communication hub. The Lanby relied on Moonshot as a trusted product development and tech advisor, resulting in a partnership that laid a solid foundation for The Lanby's growth and success in integrative primary healthcare.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation"},headline:"Product Discovery: The Lanby's Primary Healthcare Innovation",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},zC="Product Manager",FC="We're seeking a talented Product Manager with a passion to build the future. Join our team from any place in the world and take part in this amazing adventure.",VC={"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.moonshot.partners/",logo:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg"},$C="FULL_TIME",BC="Apr 07, 2023",WC={"@type":"Country",name:"Lisbon"},UC="TELECOMMUTE",jd={"@context":"https://schema.org/","@type":"JobPosting",title:zC,description:FC,hiringOrganization:VC,employmentType:$C,datePosted:BC,applicantLocationRequirements:WC,jobLocationType:UC},Ad=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/ricardo-rodriguez",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Ricardo Rodriguez",url:"https://www.moonshot.partners/author/ricardo-rodriguez",image:"https://www.moonshot.partners/legacy/images/643d97bfaffd6ad567bc1181_Ricardo.png",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"],jobTitle:"Co-Founder at Moonshot Partners",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/ricardo-rodriguez"}}],Cd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/rubens-pasquale",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Rubens Pasquale",url:"https://www.moonshot.partners/author/rubens-pasquale",image:"https://www.moonshot.partners/legacy/images/6415ccecd03969342a771e9f_rubens-pasquale.jpeg",sameAs:["https://www.linkedin.com/in/rubenspf/"],jobTitle:"Chief Executive Officer",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/rubens-pasquale"}}],Ed=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/sasha-briceno",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Sasha Briceño",url:"https://www.moonshot.partners/author/sasha-briceno",
1001image:"https://www.moonshot.partners/legacy/images/644add478057b42e4f5c8b0a_Sasha-Briceno.jpeg",sameAs:["https://www.linkedin.com/in/sabrice/"],jobTitle:"Content Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.",worksFor:{"@type":"Organization",name:"",url:""}}],Td={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"suaas-everything-you-need-to-know-to-launch-and-grow-your-business"},headline:"Start-Up as a Service: Everything You Need to Know to Launch and Grow Your Business",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/640b6bfe97b40fe8d868ca63_Start-Up-as-a-service-SUaas.jpg",height:1e3,width:1e3},datePublished:"Mar 10, 2023",dateModified:"Mar 10, 2023",author:{"@type":"Person",name:"Rubens Pasquale",url:"rubens-pasquale",sameAs:"https://www.linkedin.com/in/rubenspf/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Start-Up as a Service (SUaaS) is a business model that provides entrepreneurs with all the resources and support they need to launch and grow their businesses. SUaaS providers offer various services and features, including office space, legal and financial advice, mentoring and coaching, networking opportunities, and access to funding. The future of SUaaS is bright as more and more entrepreneurs recognize the value of this business model. Competition is expected to increase as the market grows, driving innovation and new services and features. The opportunities for entrepreneurs and SUaaS providers are significant, and we are committed to being a trusted and reliable partner for all our clients. Choosing the right SUaaS provider is important, and entrepreneurs should consider the services and features offered, reviews and ratings, and success stories. At Moonshot Partners, we are committed to helping entrepreneurs succeed and offer customized solutions tailored to their specific needs. With our expertise and experience, entrepreneurs can gain a competitive edge in the start-up space and achieve their goals.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How can Start-Up as a Service help my business? ",acceptedAnswer:{"@type":"Answer",text:"Start-Up as a Service providers offer a range of resources and support to help entrepreneurs launch and grow their businesses, including office space, legal and financial advice, mentoring, coaching, technical advice, product advice, and consulting."}},{"@type":"Question",name:"What are the benefits of using a Start-Up as a Service provider? ",acceptedAnswer:{"@type":"Answer",text:"Using a Start-Up as a Service provider can have several benefits, including cost-effective solutions, access to expertise and resources, and enhance business development."}},{"@type":"Question",name:"How do I choose the right Start-Up as a Service provider for my business? ",acceptedAnswer:{"@type":"Answer",text:"When selecting a Start-Up as a Service provider, entrepreneurs should consider the services and features offered, reviews and ratings, and success stories."}},{"@type":"Question",name:"What are the key features to look for in a Start-Up as a Service provider? ",acceptedAnswer:{"@type":"Answer",text:"Key features to look for in a Start-Up as a Service provider include access to resources, access to funding, networking opportunities, expertise, support, and flexibility."}},{"@type":"Question",name:"What are the trends and predictions for the Start-Up as a Service market?",acceptedAnswer:{"@type":"Answer",text:"Some of the key trends and predictions for the SUaaS market include increased competition, new services and features, and expansion into new markets. As the market grows, more providers are expected to enter the market, driving innovation and new services and features. SUaaS providers have the opportunity to innovate and grow in a rapidly expanding market, but they may face challenges in scaling their services and maintaining quality."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Id={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"the-return-to-office-in-the-digital-nomads-era"},headline:"At what cost? The abrupt return to office in the digital nomads' era",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/63f53361a9c2c09158e280bb_abrupt-return-to-office.jpg",height:1e3,width:1e3},datePublished:"Feb 20, 2023",dateModified:"May 17, 2023",author:{"@type":"Person",name:"Jessica Leon",url:"jessica-leon",sameAs:"https://www.linkedin.com/in/jessicaleonmonsalvo/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"The abrupt return to the office, as imposed by some companies and even Elon Musk at Twitter, risks erasing some benef
1001its that remote work has brought. These benefits include financial savings, especially from eliminating commuting and transport costs, physical and mental health benefits from having more time for self-care and less stress, opportunities to spend time with loved ones, and exposure to diverse cultures. Remote work has proven to be an innovative approach to building world-class teams, optimizing time, and unlocking the full potential of teams. While there are still some aspects of remote work that need to be improved, this shift in paradigm towards remote work seems to be here to stay, and those companies that don't understand it risk becoming obsolete in the future.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What are some of the benefits of remote work?",acceptedAnswer:{"@type":"Answer",text:"Remote work offers several benefits, including cost savings on transportation, parking, and work clothes; reduced commuting time, leading to less stress and more free time; more time to spend with family, friends, and pets; opportunity for self-care and personal growth; and exposure to different cultures in a global workforce."}},{"@type":"Question",name:"Why did Elon Musk abolish remote work at Twitter?",acceptedAnswer:{"@type":"Answer",text:"Elon Musk, as the new CEO and owner of Twitter, abolished remote work citing the need for intense, in-person activity to navigate the economic downturn and achieve success."}},{"@type":"Question",name:"What are the potential downsides of returning to the office?",acceptedAnswer:{"@type":"Answer",text:"Returning to the office can mean increased costs for employees in terms of transportation, parking, work clothes, and other expenses. It also means time spent commuting, which could lead to stress and other health issues. It may also limit the flexibility that remote work provides for balancing work and personal life."}},{"@type":"Question",name:"How can remote work contribute to an individual's well-being?",acceptedAnswer:{"@type":"Answer",text:"Remote work can contribute to an individual's well-being by reducing commuting stress, providing more time for personal activities, and allowing for more flexible scheduling. It can also provide the opportunity for better self-care and personal growth, and can offer exposure to diverse cultures and perspectives in a global team."}},{"@type":"Question",name:"What does the shift towards remote work mean for companies in the long term?",acceptedAnswer:{"@type":"Answer",text:"The shift towards remote work could signify a change in the work-life paradigm, with more companies recognizing the benefits of flexible work arrangements. Companies that fail to adapt to this shift might risk falling behind. However, successful remote work requires effective communication, problem detection, and onboarding processes."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Od={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"top-nearshore-software-development-services-in-uk"},headline:"Top Nearshore Software Development Services in UK",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/67cef1feae52c63a0b6af6e9_pexels-usen-parmanov-442859060-15399856-1.jpg",height:1e3,width:1e3},datePublished:"Mar 10, 2025",dateModified:"Mar 10, 2025",author:{"@type":"Person",name:"Francisco Hernández",url:"francisco-hernandez",sameAs:"https://www.linkedin.com/in/talkwithfran/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Discover the best nearshore software development companies in the UK and let them help you boost your projects and efficacy.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedA
1001nswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Md={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"unlock-your-businesss-potential-with-custom-software-development"},headline:"Unlock Your Business's Potential with Custom Software Development Solutions",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/6401f548307e276c38fdeb2f_custom-software-development-OP.jpg",height:1e3,width:1e3},datePublished:"Mar 01, 2023",dateModified:"Mar 17, 2023",author:{"@type":"Person",name:"Juan Lagrange",url:"juan-lagrange",sameAs:"https://www.linkedin.com/in/jalagrange/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Custom software development is the process of creating software specifically tailored to a company's unique business needs. This article highlights the importance of custom software development, such as improved efficiency, enhanced security, scalability, competitive advantage, cost savings, and ownership and control. Custom software solutions provide tailored and unique solutions to business requirements, leading to increased productivity and business growth. The article also outlines how to determine if it is the right moment and idea for a custom software solution. Business owners should assess the current and future business needs and the complexity of business processes. They should also evaluate the existing software solutions and determine if off-the-shelf software can address their needs. If not, custom software development is the best option. Choosing the right software development partner is crucial to the success of custom software development projects. Business owners should consider the partner's experience, expertise, communication, and price. The custom software development process can vary depending on the complexity of the project and the development methodology used. However, the article provides an overview of the software development process, which includes planning, requirements gathering, design, development, testing, deployment, and ongoing support. In conclusion, custom software development can provide unique solutions tailored to specific business requirements, leading to improved efficiency, security, scalability, competitive advantage, cost savings, and ownership and control. To determine if custom software development is the right solution, business owners should assess their current and future business needs and evaluate the existing software solutions. Choosing the right software development partner is crucial to the success of the project. The custom software development process includes planning, requirements gathering, design, development, testing, deployment, and ongoing support.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How long does custom software development typically take? ",acceptedAnswer:{"@type":"Answer",text:"The timeline for custom software development can vary depending on the complexity of the project and the development methodology used. However, a typical custom software development project can take anywhere from 3 to 9 months."}},{"@type":"Question",name:"Can custom software be integrated with other software systems?",acceptedAnswer:{"@type":"Answer",text:"Yes, custom softw
1001are can be designed to integrate with other software systems, such as ERP or CRM systems, to provide a seamless experience for users."}},{"@type":"Question",name:"How secure is developing custom software compared to off-the-shelf software solutions? ",acceptedAnswer:{"@type":"Answer",text:"Custom software can be more secure than off-the-shelf software, as it is designed with specific security measures in mind. Additionally, custom software can be updated regularly to address any security vulnerabilities."}},{"@type":"Question",name:"What technologies are typically used in custom software development? ",acceptedAnswer:{"@type":"Answer",text:"The technology stack used in custom software development can vary depending on the project requirements and the expertise of the development team. Standard technologies used include Java, .NET, PHP, and Python."}},{"@type":"Question",name:"How much does custom software development cost? ",acceptedAnswer:{"@type":"Answer",text:"The cost of custom software development can vary depending on the complexity of the project and the development methodology used. However, it's important to consider the long-term benefits that custom software can provide, such as improved efficiency and increased customer satisfaction, when evaluating the cost of custom software development."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Ld=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/valentina-delfino",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom software solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Valentina Delfino",url:"https://www.moonshot.partners/author/valentina-delfino",image:"https://www.moonshot.partners/legacy/images/64aeea295f772fbca60db092_1517352851617.jpeg",sameAs:["https://www.linkedin.com/in/valentinadelfino/"],jobTitle:"Project Manager",worksFor:{"@type":"Organization",name:"",url:""}}],Rd=[{"@context":"https://schema.org","@type":"Organization",name:"Moonshot Partners",legalName:"Hyperdrive Ltd.",url:"https://www.moonshot.partners/author/veronica-delfino",logo:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",foundingDate:"2020-01-01",founder:[{"@type":"Person",name:"Juan A. Lagrange",sameAs:["https://www.linkedin.com/in/jalagrange/"]},{"@type":"Person",name:"Ricardo Rodriguez",sameAs:["https://www.linkedin.com/in/rrodrigu3z/"]}],contactPoint:{"@type":"ContactPoint",telephone:"+44 7745202025",email:"[email protected]",contactType:"customer service"},address:{"@type":"PostalAddress",streetAddress:"Office7, Bell Yard",addressLocality:"London",addressRegion:"WC2",postalCode:"WC2A 2JR",addressCountry:"UK"},sameAs:["https://www.linkedin.com/company/moonshot-partners"],description:"Moonshot Partners is a UK-based technology company that creates custom softw
1001are solutions for businesses; digital products and consulting services.",employee:[{"@type":"Person",name:"Rubens Pasquale",jobTitle:"CEO",sameAs:"https://www.linkedin.com/in/rubenspf/"},{"@type":"Person",name:"Ricardo Rodriguez",jobTitle:"CTO",sameAs:"https://www.linkedin.com/in/rrodrigu3z/"},{"@type":"Person",name:"Juan Lagrange",jobTitle:"COO",sameAs:"https://www.linkedin.com/in/jalagrange/"},{"@type":"Person",name:"Carlos Lagrange",jobTitle:"Head of Design",sameAs:"https://www.linkedin.com/in/carlosxcl/"},{"@type":"Person",name:"Pedro Mejia",jobTitle:"Head of Sales & Growth",sameAs:"https://www.linkedin.com/in/pedromejiar/"}]},{"@context":"http://schema.org","@type":"Person",name:"Veronica Delfino",url:"https://www.moonshot.partners/author/veronica-delfino",image:"https://www.moonshot.partners/legacy/images/6414f6efc3949b6790f0c463_veronica-delfino.jpeg",sameAs:["https://www.linkedin.com/in/veronica-delfino"],jobTitle:"Project Manager & SEO Strategist",worksFor:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/author/veronica-delfino"}}],Nd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"web-application-development"},headline:"What Is Web Application Development and How To Build It?",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/661ec058d17a5bdca30135ed_ferenc-almasi-eYpcLDXHVb0-unsplash.jpg",height:1e3,width:1e3},datePublished:"Apr 16, 2024",dateModified:"Apr 17, 2024",author:{"@type":"Person",name:"Francisco Hernández",url:"francisco-hernandez",sameAs:"https://www.linkedin.com/in/talkwithfran/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"Web application development is the creation of application programs that can be accessed by a web browser. Understand how it works and its benefits for your company.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}},{"@type":"Question",name:"",acceptedAnswer:{"@type":"Answer",text:""}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Dd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"website-pages-are-not-indexing-check-these-5-common-reasons"},headline:"Website pages are not indexing? Check these 5 common reasons",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/644ad360eb911e433291d428_5-common-indexation-errors-that-can-hurt-your-website-s-ranking.jpg",height:1e3,width:1e3},datePublished:"Apr 27, 2023",dateModified:"Apr 27, 2023",author:{"@type":"Person",name:"Sasha Briceño",url:"sasha-briceno",sameAs:"https://www.linkedin.com/in/sabrice/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"In order to improve website ranking on search engines, it is crucial to have proper indexing. However, software development teams may encounter several issues while indexing, resulting in a drop in website ranking. This article discusses the five most common indexation errors, which are duplicate content, broken links, low word count, missing or incorrect sitemap, and misuse of the Noindex tag, Robots.txt File, and Nofollow Attribute. The article provides solutions to these problems such as creating clear guidelines for content creation, using technical solutions like canonical tags and redirects, conducting link audits, creating high-quality content with more than 500 words, and ensuring the website has a properly formatted sitemap. Additionally, the article suggests conducting regular reviews and audits of the website's use of Noindex tag, Robots.txt File, and Nofollow Attribute, and ensuring team members are aware of guidelines and adhere to them. By mitigating these errors, businesses can drive traffic, increase engagement, and ultimately improve their website's visibility and ranking.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is indexing, and why is it essential for website rankings?",acceptedA
1001nswer:{"@type":"Answer",text:"Indexing is the process where Google fetches a page, reads it, and adds it to its index, which is where all web pages that Google knows about are stored. Proper indexing is essential for website rankings because it increases the possibility of a website appearing on page one of search results and allows users to find the most relevant pages of the website, recognizing its value and services."}},{"@type":"Question",name:"What are the five most common indexation errors?",acceptedAnswer:{"@type":"Answer",text:"The five most common indexation errors are duplicate content, broken links, low word count, missing or incorrect sitemap, and misuse of the Noindex tag, Robots.txt File, and Nofollow Attribute."}},{"@type":"Question",name:"How can software development teams solve the problem of duplicate content?",acceptedAnswer:{"@type":"Answer",text:"Software development teams can solve the problem of duplicate content by creating and implementing clear guidelines for content creation, employing technical solutions such as canonical tags and redirects, and putting forward tools to automate the process of identifying and eliminating duplicate content."}},{"@type":"Question",name:"How can businesses address the problem of a missing or incorrect sitemap?",acceptedAnswer:{"@type":"Answer",text:"Businesses can address the problem of a missing or incorrect sitemap by checking that the website has a sitemap that lists all of the pages on the site, ensuring that the sitemap is up-to-date and accurate, and making sure that the sitemap is formatted correctly, with correct syntax, so search engines can easily read and understand it."}},{"@type":"Question",name:"What is the risk of misusing the Noindex tag, Robots.txt File, and Nofollow Attribute, and how can it be solved?",acceptedAnswer:{"@type":"Answer",text:"Misusing the Noindex tag, Robots.txt File, and Nofollow Attribute can put a website's ranking at risk. To solve this problem, businesses can put clear and concise guidelines for the use of these tags and attributes, conduct regular reviews and audits of their use on the website, and ensure that all members of the software development team are aware of these guidelines and adhere to them."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},zd={"@context":"https://schema.org","@graph":[{"@type":"Article",description:"Go1, a global eLearning library that offers employee training and development programs from top training providers, sought to increase its organic traffic and marketing leads generated through inbound strategies to sustain its impressive annual revenue growth rate of 100%. To achieve this, Go1 partnered with Moonshot, a specialized high-tech consultancy, to optimize its website's conversion rate and enhance its entire website code and structure alongside an SEO strategy. The project was divided into two phases. In the first phase, Moonshot delivered fast, optimized pages to showcase Go1's course catalog by publishing content from their database to reach long-tail users and target areas with low SEO competition. In the second phase, the team took ownership of the entire website project and focused on building fewer pages with more engaging content. The solution kept the static site architecture and added a CDN, resulting in over an 80% improvement in initial response time, reducing it from an average of 8 seconds to under 200ms in certain locations. Moonshot also created reusable components, enabling non-technical stakeholders to create pages easily from the CMS, and a comprehensive monitoring system with synthetic tests and alert systems to ensure accuracy and proper display of content on over 20,000 pages. The partnership with Moonshot resulted in a significant increase in website visits, engagement, and time spent on the website, making Moonshot a transformational force within the customer that c
1001ould align stakeholders and push for an end-to-end solution.",mainEntityOfPage:{"@type":"WebPage","@id":"https://www.moonshot.partners/case-studies/website-seo-optimization"},headline:"Website SEO Optimization: Boosting Performance and Driving Growth for Go1",image:"https://www.moonshot.partners/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg",author:{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/website-seo-optimization"}},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshot.partners/case-studies/website-seo-optimization",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Fd={"@context":"https://schema.org","@graph":[{"@type":"Article",mainEntityOfPage:{"@type":"Blog","@id":"why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world"},headline:"Why Strong Company Culture is the Key to Success in a Rapidly Changing World",image:{"@type":"ImageObject",url:"https://www.moonshot.partners/legacy/images/645e35c57a277132dbca5f0a_Why-Strong-Company-Culture-is-the-Key-to-Success-in-a-Rapidly-Changing-World.jpg",height:1e3,width:1e3},datePublished:"May 12, 2023",dateModified:"May 22, 2023",author:{"@type":"Person",name:"Jessica Leon",url:"jessica-leon",sameAs:"https://www.linkedin.com/in/jessicaleonmonsalvo/"},publisher:{"@type":"Organization",name:"Moonshot Partners",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}},description:"In this blog post by Jessica León titled "Why Strong Company Culture is the Key to Success in a Rapidly Changing World," the importance of a strong organizational culture is emphasized. The article highlights that in times of uncertainty, a solid strategy alone is not enough for a company to thrive. A strong company culture, which encompasses shared values, behaviors, and practices, sets a business apart. The article explains how culture impacts decision-making, workflow, employee engagement, and teamwork. It also explores the significance of a strong culture during periods of uncertainty, as it fosters creativity, adaptability, and resilience. The article concludes by providing tips for leaders to nurture a strong culture, including leading by example, defining and communicating values, encouraging open communication, continuous improvement, recognizing mistakes, and hiring for cultural fit. Overall, the article emphasizes that a strong organizational culture is crucial for achieving business objectives and building a successful team.","@graph":[{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is company culture? ",acceptedAnswer:{"@type":"Answer",text:"Company culture refers to the collective values, beliefs, behaviors, and practices that shape how a company operates and interacts with its employees, customers, and community."}},{"@type":"Question",name:"Why is a strong company culture important? ",acceptedAnswer:{"@type":"Answer",text:"A strong company culture is important because it sets the foundation for teamwork, employee engagement, and decision-making. It fosters a sense of purpose, unity, and shared values, leading to better performance and success in a rapidly changing world."}},{"@type":"Question",name:"How does company culture impact decision-making? ",acceptedAnswer:{"@type":"Answer",text:"Company culture influences decision-making by providing a framework of shared values and priorities. When employees understand the company's values, they can make decisions that align with those values, ensuring consistency and coherence in the decision-making process."}},{"@type":"Question",name:"How does company culture help during times of uncertainty? ",acceptedAnswer:{"@type":"Answer",text:"In times of uncertainty, a strong company culture provides a sense of belonging and stability. It encourages creativity, adaptability, and resilience among employees, fostering innovation and the ability to navigate unexpected challenges."}},{"@type":"Question",name:"How can leaders nurture a strong company culture?",acceptedA
1001nswer:{"@type":"Answer",text:"Leaders can nurture a strong company culture by cultivating their own character, leading by example, defining and communicating company values, encouraging open communication, continuously assessing and improving the culture, recognizing mistakes, and hiring individuals who align with the company's values and culture."}}]}]},{"@type":"Organization",name:"Moonshot Partners",url:"https://www.moonshotpartners.ai/",sameAs:"https://www.linkedin.com/company/moonshotpartners",logo:{"@type":"ImageObject",url:"https://cdn.prod.website-files.com/63a1cdcc096251c4c387f1c2/640b86c3beb22e0e1ed3f7b7_Logo1.svg",width:215,height:38}}]},Vm=[{slug:"david-gomez",name:"David Gomez",role:"Product Designer",bioHtml:"Collaborative Product Designer with remarkable interpersonal skills, research capabilities and business analysis competence",photo:"/legacy/images/6415cd0db071a72e966ba489_david-gomez.jpeg",linkedin:"https://www.linkedin.com/in/davidgoag/",posts:[{title:"MVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for Knowledge",href:"/blog/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge"},{title:"Chat GPT: Is Google Search Business dominance challenged?",href:"/blog/chat-gpt-is-google-search-business-dominance-challenged"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"francisco-hernandez",name:"Francisco Hernández",role:"Chief Operating Officer",bioHtml:"Former founder with over 12 years of experience in the tech ecosystem, has led numerous projects across Latin America and Europe, specializing in edtech startups. He is also the founder and host of âBecoming Yourself,â a podcast focused on personal transformation. He is also a certified coach from the International Coaching Federation.",photo:"/legacy/images/66203fd2d733fad4e7573370_image-1.png",linkedin:"https://www.linkedin.com/in/talkwithfran/",posts:[{title:"Best Resource Management Tools for IT Agencies 2025 | Expert Guide",href:"/blog/best-resource-management-tools-for-it-agencies"},{title:"Best Growth Marketing Agencies 2025: Top 15 Global Rankings",href:"/blog/best-growth-marketing-agencies"},{title:"Nearshore Software Development: The Definitive Guide to Nearshore Outsourcing in 2025",href:"/blog/nearshore-software-development-guide"},{title:"Top Nearshore Software Development Services in UK",href:"/blog/top-nearshore-software-development-services-in-uk"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"},{title:"What Is Web Application Development and How To Build It?",href:"/blog/web-application-development"}]},{slug:"jessica-leon",name:"Jessica Leon",role:"People & Operations Manager",bioHtml:"As a Human Resources professional, I am passionate about creating a productive and positive work environment. I strive to ensure that every team member is supported and empowered to reach their highest potential.",photo:"/legacy/images/6415cd75f4c83f3d27efd9ec_jessica-leon.jpg",linkedin:"https://www.linkedin.com/in/jessicaleonmonsalvo/",posts:[{title:"Why Strong Company Culture is the Key to Success in a Rapidly Changing World",href:"/blog/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world"},{title:"At what cost? The abrupt return to office in the digital nomads' era",href:"/blog/the-return-to-office-in-the-digital-nomads-era"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"juan-lagrange",name:"Juan Lagrange",role:"Co-Founder",bioHtml:"Firm believer that education is the best investments towards a better world and a better future. Helping companies build their digital future",photo:"/legacy/images/6415cb9c7dad695414ea72d9_juan-lagrange.jpeg",linkedin:"https://www.linkedin.com/in/jalagrange/",posts:[{title:"MVP Testing Techniques Unveiled: Redefining Product Validation",href:"/blog/mvp-testing-techniques-unveiled-redefining-product-validation"},{title:"Educational Custom Software Development Overview",href:"/blog/educational-custom-software-development-overview"},{title:"Minimum Viable Product: Healthcare Innovation Unleashed",href:"/blog/minimum-viable-product-healthcare-innovation-unleashed"},{title:"Unlock Your Business's Potential with Custom Software Development Solutions",href:"/blog/unlock-your-businesss-potential-with-custom-software-development"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"katherinne-jara-caceres",name:"Katherinne Jara Cáceres",role:"UI Senior Designer and Branding",bioHtml:`I am a passionate UI Designer with a background in branding. 1002My goal is to create digital experiences that captivate users and reflect the identity of the brand. With skills in graphic design, user research, and a solid understanding of design trends, I am committed to delivering aesthetic and functional solutions that drive business success.`,photo:"/legacy/images/64c12cb4397f6590fd2ae5da_Katherinne-Jara.jpeg",linkedin:"https://www.linkedin.com/in/katherinne-jara-c%C3%A1ceres-3a3a94211/",posts:[{title:"MVP UX Design: Balancing Simplicity and Functionality",href:"/blog/mvp-ux-design-balancing-simplicity-and-functionality"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"leonardo-cabeza",name:"Leonardo Cabeza",role:"Senior Softw
1002are Engineer",photo:"/legacy/images/6414742f1ebc5eb0e07388ad_Leonardo-Cabeza.jpg",linkedin:"https://www.linkedin.com/in/leonardo-cabeza/",posts:[{title:"Creating our first Node.js package with Typescript",href:"/blog/creating-our-first-node-js-package-with-typescript"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"moonshot-editorial-team",name:"Moonshot Editorial Team",photo:"/legacy/images/661ebf77f7fdf899854f7444_moonshot_partners_logo.jpeg",posts:[{title:"Innovative Business Ideas to Start with $50K in 2025",href:"/blog/innovative-business-ideas"},{title:"What Is a Fractional Product Manager, and Why Hire One?",href:"/blog/what-is-a-fractional-product-manager"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"moonshot-girls",name:"Moonshot-Girls",role:"Women in Tech Group",bioHtml:"The Moonshot-Girls are a dynamic and inspiring group of women working in the technology industry at Moonshot Partners. They bring together diverse backgrounds, experiences, and perspectives, creating a powerful collective of knowledge and expertise. These talented professionals are passionate about advocating for gender equality and inclusion within the tech sector. By sharing their insights, experiences, and stories, the Moonshot-Girls strive to empower other women to pursue careers in technology, foster innovation, and close the gender gap. Through their collaborative efforts, they contribute to building a more diverse and inclusive tech community for future generations.",photo:"/legacy/images/64246a2f972f4920cb998f76_Women-in-tech-212p.png",posts:[{title:"The Importance of Including Women in Technology: Insights from Women at Moonshot Partners",href:"/blog/including-women-in-technology-insights-from-women-at-moonshot-partners"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"pedro-mejia",name:"Pedro MejÃa",role:"Head of Sales & Growth",bioHtml:"Helping startups and companies grow better in the digital world",photo:"/legacy/images/6415ccfef8e2adcb06c949c6_pedro-mejia.jpeg",linkedin:"https://www.linkedin.com/in/pedromejiar/",posts:[{title:"Offshore Software Development: A Comprehensive Guide",href:"/blog/offshore-software-development-a-comprehensive-guide"},{title:"Unsung Heroes: Women Also Shaped the History of Tech",href:"/blog/unsung-heroes-women-also-shaped-the-history-of-tech"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"ricardo-rodriguez",name:"Ricardo Rodriguez",role:"Co-Founder at Moonshot Partners",bioHtml:"Entrepreneur, researcher and experienced developer. Exploring ways for improving the automatic generation of questionnaires using AI, deep learning and NLP in the e-learning and education space",photo:"/legacy/images/643d97bfaffd6ad567bc1181_Ricardo.png",linkedin:"https://www.linkedin.com/in/rrodrigu3z/",posts:[{title:"Banking as a Service (BaaS): a solution for your business",href:"/blog/banking-as-a-service-baas-a-solution-for-your-business"},{title:"Freemium vs. Free Trial: Choosing the Right Model for Your Digital Product",href:"/blog/freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product"},{title:"Boost Your Business with Modernized Data Integration Architecture",href:"/blog/boost-your-business-with-modernized-data-integration-architecture"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"rubens-pasquale",name:"Rubens Pasquale",role:"Chief Executive Officer",bioHtml:"Mentor and business consultant. Helping companies grow through technology",photo:"/legacy/images/6415ccecd03969342a771e9f_rubens-pasquale.jpeg",linkedin:"https://www.linkedin.com/in/rubenspf/",posts:[{title:"MVP vs Prototype vs PoC: Decoding Development Strategies",href:"/blog/mvp-vs-prototype-vs-poc-decoding-development-strategies"},{title:"Survey App Development: A Comprehensive Guide to survey apps",href:"/blog/survey-app-development-a-comprehe
1002nsive-guide-to-app-surveys"},{title:"The Future of AI: Ethics, Regulations, and Implications for Businesses",href:"/blog/the-future-of-ai-ethics-regulations-and-implications-for-businesses"},{title:"Start-Up as a Service: Everything You Need to Know to Launch and Grow Your Business",href:"/blog/suaas-everything-you-need-to-know-to-launch-and-grow-your-business"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"sasha-briceno",name:"Sasha Briceño",role:"Content Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.",photo:"/legacy/images/644add478057b42e4f5c8b0a_Sasha-Briceno.jpeg",linkedin:"https://www.linkedin.com/in/sabrice/",posts:[{title:"Website pages are not indexing? Check these 5 common reasons",href:"/blog/website-pages-are-not-indexing-check-these-5-common-reasons"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"valentina-delfino",name:"Valentina Delfino",role:"Project Manager",bioHtml:"Experienced project manager leading a dynamic team in developing a groundbreaking crypto transaction app that seamlessly integrates with Xero, revolutionizing reconciliations.",photo:"/legacy/images/64aeea295f772fbca60db092_1517352851617.jpeg",linkedin:"https://www.linkedin.com/in/valentinadelfino/",posts:[{title:"MVP Guide: Building an MVP with no coding skills",href:"/blog/mvp-guide-building-an-mvp-with-no-coding-skills"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]},{slug:"veronica-delfino",name:"Veronica Delfino",role:"Project Manager & SEO Strategist",photo:"/legacy/images/6414f6efc3949b6790f0c463_veronica-delfino.jpeg",linkedin:"https://www.linkedin.com/in/veronica-delfino",posts:[{title:"MVPs: Inspiring MVP Examples Across Industries",href:"/blog/mvps-inspiring-mvp-examples-across-industries"},{title:'Master ChatGPT Prompts with the "Mother Prompt"',href:"/blog/master-chatgpt-prompts-with-the-socratic-mother-prompt"},{title:"Best Software Development Companies in the UK",href:"/blog/best-software-development-companies-in-the-uk"}]}];function HC(e){const t=document.createElement("template");t.innerHTML=e;for(const n of t.content.querySelectorAll("img:not([loading])"))n.setAttribute("loading","lazy");return t.innerHTML}function Xa({html:e,className:t="",deferImages:n=!1}){const o=p.useMemo(()=>n?HC(e):e,[e,n]);return l.jsxs(l.Fragment,{children:[l.jsx("style",{children:` 1003 .legacy-prose.prose { 1004 color: ${k.onPaper}; 1005 font-family: ${G.sans}; 1006 font-size: clamp(17px, 1.25vw, 20px); 1007 line-height: 1.82; 1008 } 1009 .legacy-prose.prose :where(h2, h3, h4) { 1010 color: ${k.ink}; 1011 font-family: ${G.display}; 1012 font-weight: 560; 1013 letter-spacing: -.035em; 1014 line-height: 1.04; 1015 } 1016 .legacy-prose.prose h2 { 1017 margin-top: 3.5em; 1018 padding-top: 24px; 1019 border-top: 1px solid ${k.chalk}; 1020 font-size: clamp(34px, 4.5vw, 62px); 1021 } 1022 .legacy-prose.prose h3 { 1023 margin-top: 2.5em; 1024 font-size: clamp(26px, 3vw, 40px); 1025 } 1026 .legacy-prose.prose h4 { font-size: clamp(21px, 2vw, 28px); } 1027 .legacy-prose.prose a { 1028 color: ${k.blueprint}; 1029 font-weight: 650; 1030 text-decoration-thickness: 1px; 1031 text-underline-offset: 4px; 1032 } 1033 .legacy-prose.prose strong { color: ${k.ink}; } 1034 .legacy-prose.prose :where(ul, ol) { padding-left: 1.3em; } 1035 .legacy-prose.prose li::marker { color: ${k.blueprint}; } 1036 .legacy-prose.prose blockquote { 1037 border-left-color: ${k.blueprint}; 1038 color: ${k.onPaperMute}; 1039 font-family: ${G.display}; 1040 font-size: 1.35em; 1041 font-style: normal; 1042 letter-spacing: -.02em; 1043 } 1044 .legacy-prose.prose img { 1045 width: 100%; 1046 border-radius: 0; 1047 filter: grayscale(1); 1048 } 1049 .legacy-prose.prose a img { 1050 display: inline-block; 1051 width: 1.2em; 1052 height: 1.2em; 1053 margin: 0 .35em; 1054 object-fit: contain; 1055 filter: none; 1056 vertical-align: -.2em; 1057 } 1058 .legacy-prose.prose :where(hr, table, thead, tr) { 1059 border-color: ${k.chalk}; 1060 } 1061 .legacy-prose.prose code { 1062 color: ${k.ink}; 1063 font-family: ${G.mono}; 1064 } 1065 `}),l.jsx("div",{className:`legacy-prose prose prose-lg max-w-none ${t}`.trim(),dangerouslySetInnerHTML:{__html:o}})]})}function Vd({accession:e,eyebrow:t,title:n,metadata:o,heroImage:r,heroImageAlt:a="",children:s}){return l.jsxs("main",{style:{background:k.paper,color:k.ink},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:t,children:l.jsxs("div",{className:"legacy-detail-grid",children:[l.jsxs("aside",{className:"legacy-detail-ledger",children:[l.jsx("div",{style:Ue(k.blueprintOnInk,11),children:e}),o&&l.jsx("div",{className:"legacy-detail-meta",children:o})]}),l.jsxs("div",{children:[r&&l.jsx("img",{className:"legacy-detail-image",src:r,alt:a,loading:"eager",fetchpriority:"high"}),l.jsx("h1",{className:"legacy-detail-title",children:n})]})]})}),l.jsx(Et,{ground:"paper",children:l.jsx("article",{className:"legacy-copy-sheet",children:s})}),l.jsx("style",{children:` 1066 .legacy-detail-grid { 1067 width: 100%; 1068 max-width: 1280px; 1069 margin: 0 auto; 1070 display: grid; 1071 grid-template-columns: minmax(150px, 0.32fr) minmax(0, 1.68fr); 1072 gap: clamp(32px, 7vw, 112px); 1073 align-items: end; 1074 } 1075 .legacy-detail-ledger { 1076 min-width: 0; 1077 align-self: stretch; 1078 display: flex; 1079 flex-direction: column; 1080 justify-content: space-between; 1081 gap: 48px; 1082 border-left: 1px solid ${k.chalkOnInk}; 1083 padding-left: 18px; 1084 } 1085 .legacy-detail-ledger >
1085 div:first-child { overflow-wrap: anywhere; } 1086 .legacy-detail-meta { 1087 display: grid; 1088 gap: 12px; 1089 color: ${k.onInkMute}; 1090 font-family: ${G.mono}; 1091 font-size: 11px; 1092 letter-spacing: .08em; 1093 line-height: 1.65; 1094 text-transform: uppercase; 1095 } 1096 .legacy-detail-meta a { 1097 color: ${k.onInk}; 1098 text-decoration-color: ${k.blueprintOnInk}; 1099 text-underline-offset: 4px; 1100 } 1101 .legacy-detail-title { 1102 max-width: 1050px; 1103 margin: 0; 1104 color: ${k.onInk}; 1105 font-family: ${G.display}; 1106 font-size: clamp(46px, 7.2vw, 108px); 1107 font-weight: 520; 1108 letter-spacing: -.055em; 1109 line-height: .91; 1110 } 1111 .legacy-detail-image { 1112 width: min(100%, 760px); 1113 max-height: 420px; 1114 margin: 0 0 clamp(34px, 6vw, 72px) auto; 1115 border: 1px solid ${k.chalkOnInk}; 1116 object-fit: cover; 1117 filter: grayscale(1) contrast(1.05); 1118 } 1119 .legacy-copy-sheet { 1120 width: min(100%, 900px); 1121 margin: 0 auto; 1122 } 1123 @media (max-width: 760px) { 1124 .legacy-detail-grid { grid-template-columns: 1fr; } 1125 .legacy-detail-ledger { 1126 min-height: 0; 1127 display: grid; 1128 grid-template-columns: auto 1fr; 1129 align-items: start; 1130 } 1131 .legacy-detail-image { margin-left: 0; } 1132 .legacy-detail-title { font-size: clamp(44px, 14vw, 72px); } 1133 } 1134 `})]})}const GC=Object.assign({
1134"../../data/legacy/blog/banking-as-a-service-baas-a-solution-for-your-business.json":()=>C(()=>import("./banking-as-a-service-baas-a-solution-for-your-business-DcS2B-vg.js"),[]),
1134"../../data/legacy/blog/best-growth-marketing-agencies.json":()=>C(()=>import("./best-growth-marketing-agencies-CYgCEfTK.js"),[]),
1134"../../data/legacy/blog/best-resource-management-tools-for-it-agencies.json":()=>C(()=>import("./best-resource-management-tools-for-it-agencies-Vf1n-dtP.js"),[]),
1134"../../data/legacy/blog/best-software-development-companies-in-the-uk.json":()=>C(()=>import("./best-software-development-companies-in-the-uk-DjjTxnzj.js"),[]),
1134"../../data/legacy/blog/boost-your-business-with-modernized-data-integration-architecture.json":()=>C(()=>import("./boost-your-business-with-modernized-data-integration-architecture-BCSdqgZf.js"),[]),
1134"../../data/legacy/blog/chat-gpt-is-google-search-business-dominance-challenged.json":()=>C(()=>import("./chat-gpt-is-google-search-business-dominance-challenged-uiCxb5Fy.js"),[]),
1134"../../data/legacy/blog/creating-our-first-node-js-package-with-typescript.json":()=>C(()=>import("./creating-our-first-node-js-package-with-typescript-wlnc4XEi.js"),[]),
1134"../../data/legacy/blog/educational-custom-software-development-overview.json":()=>C(()=>import("./educational-custom-software-development-overview-D4x9XiD6.js"),[]),
1134"../../data/legacy/blog/freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product.json":()=>C(()=>import("./freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product-Cmz3lNmm.js"),[]),
1134"../../data/legacy/blog/including-women-in-technology-insights-from-women-at-moonshot-partners.json":()=>C(()=>import("./including-women-in-technology-insights-from-women-at-moonshot-partners-CBeqBU2G.js"),[]),
1134"../../data/legacy/blog/innovative-business-ideas.json":()=>C(()=>import("./innovative-business-ideas-XSKILG7_.js"),[]),
1134"../../data/legacy/blog/master-chatgpt-prompts-with-the-socratic-mother-prompt.json":()=>C(()=>import("./master-chatgpt-prompts-with-the-socratic-mother-prompt-CJO4BF7c.js"),[]),
1134"../../data/legacy/blog/minimum-viable-product-healthcare-innovation-unleashed.json":()=>C(()=>import("./minimum-viable-product-healthcare-innovation-unleashed-CAHJmdQX.js"),[]),
1134"../../data/legacy/blog/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json":()=>C(()=>import("./mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge-CV2kby3i.js"),[]),
1134"../../data/legacy/blog/mvp-guide-building-an-mvp-with-no-coding-skills.json":()=>C(()=>import("./mvp-guide-building-an-mvp-with-no-coding-skills-6MzYu4iS.js"),[]),
1134"../../data/legacy/blog/mvp-testing-techniques-unveiled-redefining-product-validation.json":()=>C(()=>import("./mvp-testing-techniques-unveiled-redefining-product-validation-CN4mSfKX.js"),[]),
1134"../../data/legacy/blog/mvp-ux-design-balancing-simplicity-and-functionality.json":()=>C(()=>import("./mvp-ux-design-balancing-simplicity-and-functionality-B2vypPA8.js"),[]),
1134"../../data/legacy/blog/mvp-vs-prototype-vs-poc-decoding-development-strategies.json":()=>C(()=>import("./mvp-vs-prototype-vs-poc-decoding-development-strategies-BBijherZ.js"),[]),
1134"../../data/legacy/blog/mvps-inspiring-mvp-examples-across-industries.json":()=>C(()=>import("./mvps-inspiring-mvp-examples-across-industries-FOE5chJO.js"),[]),
1134"../../data/legacy/blog/nearshore-software-development-guide.json":()=>C(()=>import("./nearshore-software-development-guide-D7uW8gtp.js"),[]),
1134"../../data/legacy/blog/offshore-software-development-a-comprehensive-guide.json":()=>C(()=>import("./offshore-software-development-a-comprehensive-guide-DvxZArMU.js"),[]),
1134"../../data/legacy/blog/suaas-everything-you-need-to-know-to-launch-and-grow-your-business.json":()=>C(()=>import("./suaas-everything-you-need-to-know-to-launch-and-grow-your-business-DuFjNPW4.js"),[]),
1134"../../data/legacy/blog/survey-app-development-a-comprehensive-guide-to-app-surveys.json":()=>C(()=>import("./survey-app-development-a-comprehensive-guide-to-app-surveys-DiCNj18H.js"),[]),
1134"../../data/legacy/blog/the-future-of-ai-ethics-regulations-and-implications-for-businesses.json":()=>C(()=>import("./the-future-of-ai-ethics-regulations-and-implications-for-businesses-CaFxgtd6.js"),[]),
1134"../../data/legacy/blog/the-return-to-office-in-the-digital-nomads-era.json":()=>C(()=>import("./the-return-to-office-in-the-digital-nomads-era-BDVtmIaZ.js"),[]),
1134"../../data/legacy/blog/top-nearshore-software-development-services-in-uk.json":()=>C(()=>import("./top-nearshore-software-development-services-in-uk-BEEjDkKw.js"),[]),
1134"../../data/legacy/blog/unlock-your-businesss-potential-with-custom-software-development.json":()=>C(()=>import("./unlock-your-businesss-potential-with-custom-software-development-DPDrYVlG.js"),[]),
1134"../../data/legacy/blog/unsung-heroes-women-also-shaped-the-history-of-tech.json":()=>C(()=>import("./unsung-heroes-women-also-shaped-the-history-of-tech-BGClKjud.js"),[]),
1134"../../data/legacy/blog/web-application-development.json":()=>C(()=>import("./web-application-development-CW-E_Q2G.js"),[]),
1134"../../data/legacy/blog/website-pages-are-not-indexing-check-these-5-common-reasons.json":()=>C(()=>import("./website-pages-are-not-indexing-check-these-5-common-reasons-Cj0ozn5i.js"),[]),
1134"../../data/legacy/blog/what-is-a-fractional-product-manager.json":()=>C(()=>import("./what-is-a-fractional-product-manager-CPXiygj8.js"),[]),
1134"../../data/legacy/blog/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json":()=>C(()=>import("./why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world-DsYQQsRe.js"),[])}),qC=Object.assign({
1134"../../data/legacy/blog-bodies/banking-as-a-service-baas-a-solution-for-your-business.html":()=>C(()=>import("./banking-as-a-service-baas-a-solution-for-your-business-BWuYJ_L0.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/best-growth-marketing-agencies.html":()=>C(()=>import("./best-growth-marketing-agencies-BeTgJR15.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/best-resource-management-tools-for-it-agencies.html":()=>C(()=>import("./best-resource-management-tools-for-it-agencies-qBrvV2dg.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/best-software-development-companies-in-the-uk.html":()=>C(()=>import("./best-software-development-companies-in-the-uk-CoqRxQuE.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/boost-your-business-with-modernized-data-integration-architecture.html":()=>C(()=>import("./boost-your-business-with-modernized-data-integration-architecture-rS2t9dyB.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/chat-gpt-is-google-search-business-dominance-challenged.html":()=>C(()=>import("./chat-gpt-is-google-search-business-dominance-challenged-CUjNBjmm.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/creating-our-first-node-js-package-with-typescript.html":()=>C(()=>import("./creating-our-first-node-js-package-with-typescript-Dt4uO6De.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/educational-custom-software-development-overview.html":()=>C(()=>import("./educational-custom-software-development-overview-B8LhkLGG.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product.html":()=>C(()=>import("./freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product-DBTtW4nq.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/including-women-in-technology-insights-from-women-at-moonshot-partners.html":()=>C(()=>import("./including-women-in-technology-insights-from-women-at-moonshot-partners-Cl3Sb0Gv.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/innovative-business-ideas.html":()=>C(()=>import("./innovative-business-ideas-420NovMe.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/master-chatgpt-prompts-with-the-socratic-mother-prompt.html":()=>C(()=>import("./master-chatgpt-prompts-with-the-socratic-mother-prompt-BLliZXfM.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/minimum-viable-product-healthcare-innovation-unleashed.html":()=>C(()=>import("./minimum-viable-product-healthcare-innovation-unleashed-CanXhrdB.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.html":()=>C(()=>import("./mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge-jMd7TReW.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvp-guide-building-an-mvp-with-no-coding-skills.html":()=>C(()=>import("./mvp-guide-building-an-mvp-with-no-coding-skills-1hdzG-ax.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvp-testing-techniques-unveiled-redefining-product-validation.html":()=>C(()=>import("./mvp-testing-techniques-unveiled-redefining-product-validation-B3LOlmpW.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvp-ux-design-balancing-simplicity-and-functionality.html":()=>C(()=>import("./mvp-ux-design-balancing-simplicity-and-functionality--F_EOQdX.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvp-vs-prototype-vs-poc-decoding-development-strategies.html":()=>C(()=>import("./mvp-vs-prototype-vs-poc-decoding-development-strategies-ml4eMQon.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/mvps-inspiring-mvp-examples-across-industries.html":()=>C(()=>import("./mvps-inspiring-mvp-examples-across-industries-ClXrJhVy.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/nearshore-software-development-guide.html":()=>C(()=>import("./nearshore-software-development-guide-DG1D3bUO.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/offshore-software-development-a-comprehensive-guide.html":()=>C(()=>import("./offshore-software-development-a-comprehensive-guide-Cw154e_l.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/suaas-everything-you-need-to-know-to-launch-and-grow-your-business.html":()=>C(()=>import("./suaas-everything-you-need-to-know-to-launch-and-grow-your-business-_oEcAnux.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/survey-app-development-a-comprehensive-guide-to-app-surveys.html":()=>C(()=>import("./survey-app-development-a-comprehensive-guide-to-app-surveys-CuGoAH2D.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/the-future-of-ai-ethics-regulations-and-implications-for-businesses.html":()=>C(()=>import("./the-future-of-ai-ethics-regulations-and-implications-for-businesses-7fDsLqih.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/the-return-to-office-in-the-digital-nomads-era.html":()=>C(()=>import("./the-return-to-office-in-the-digital-nomads-era-ClRX0Hpb.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/top-nearshore-software-development-services-in-uk.html":()=>C(()=>import("./top-nearshore-software-development-services-in-uk-C963B8ft.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/unlock-your-businesss-potential-with-custom-software-development.html":()=>C(()=>import("./unlock-your-businesss-potential-with-custom-software-development-lXaLeZst.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/unsung-heroes-women-also-shaped-the-history-of-tech.html":()=>C(()=>import("./unsung-heroes-women-also-shaped-the-history-of-tech--xDOE_bB.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/web-application-development.html":()=>C(()=>import("./web-application-development-CV17vAON.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/website-pages-are-not-indexing-check-these-5-common-reasons.html":()=>C(()=>import("./website-pages-are-not-indexing-check-these-5-common-reasons-DNzFhGIv.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/what-is-a-fractional-product-manager.html":()=>C(()=>import("./what-is-a-fractional-product-manager-pTDedscP.js"),[]).then(e=>e.default),
1134"../../data/legacy/blog-bodies/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.html":()=>C(()=>import("./why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world-BxNjaM1c.js"),[]).then(e=>e.default)}),JC=Object.assign({"../../data/legacy/jsonld/android.json":Bc,"../../data/legacy/jsonld/backend.json":Wc,"../../data/legacy/jsonld/banking-as-a-service-baas-a-solution-for-your-business.json":Uc,"../../data/legacy/jsonld/best-growth-marketing-agencies.json":Hc,"../../data/legacy/jsonld/best-resource-management-tools-for-it-agencies.json":Gc,"../../data/legacy/jsonld/best-software-development-companies-in-the-uk.json":qc,"../../data/legacy/jsonld/boost-your-business-with-modernized-data-integration-architecture.json":Jc,"../../data/legacy/jsonld/boosting-app-growth-targeted-messaging-for-english-learning.json":Kc,"../../data/legacy/jsonld/chat-gpt-is-google-search-business-dominance-challenged.json":Qc,"../../data/legacy/jsonld/contact.json":Yc,"../../data/legacy/jsonld/creating-our-first-node-js-package-with-typescript.json":Zc,"../../data/legacy/jsonld/david-gomez.json":Xc,"../../data/legacy/jsonld/educational-custom-software-development-overview.json":ed,"../../data/legacy/jsonld/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json":td,"../../data/legacy/jsonld/francisco-hernandez.json":nd,"../../data/legacy/jsonld/frontend.json":od,"../../data/legacy/jsonld/gamified-and-customizable-web-based-survey-app-development.json":rd,"../../data/legacy/jsonld/including-women-in-technology-insights-from-women-at-moonshot-partners.json":ad,"../../data/legacy/jsonld/innovative-business-ideas.json":sd,"../../data/legacy/jsonld/investing-in-people-how-sunlight-helps-organizations-thrive.json":id,"../../data/legacy/jsonld/ios-developer.json":ld,"../../data/legacy/jsonld/jessica-leon.json":cd,"../../data/legacy/jsonld/juan-lagrange.json":dd,"../../data/legacy/jsonld/katherinne-jara-caceres.json":ud,"../../data/legacy/jsonld/language-learning-app-development.json":pd,"../../data/legacy/jsonld/leonardo-cabeza.json":hd,"../../data/legacy/jsonld/manifest.json":vr,"../../data/legacy/jsonld/moonshot-editorial-team.json":md,"../../data/legacy/jsonld/moonshot-girls.json":fd,"../../data/legacy/jsonld/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json":gd,"../../data/legacy/jsonld/mvp-testing-techniques-unveiled-redefining-product-validation.json":yd,"../../data/legacy/jsonld/mvp-ux-design-balancing-simplicity-and-functionality.json":vd,"../../data/legacy/jsonld/mvp-vs-prototype-vs-poc-decoding-development-strategies.json":wd,"../../data/legacy/jsonld/mvps-inspiring-mvp-examples-across-industries.json":bd,"../../data/legacy/jsonld/no-code-automation-how-moonshot-empowered-a-venture-capital.json":xd,"../../data/legacy/jsonld/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json":kd,"../../data/legacy/jsonld/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json":Sd,"../../data/legacy/jsonld/pedro-mejia.json":_d,"../../data/legacy/jsonld/product-discovery-the-lanbys-primary-healthcare-innovation.json":Pd,"../../data/legacy/jsonld/product-manager.json":jd,"../../data/legacy/jsonld/ricardo-rodriguez.json":Ad,"../../data/legacy/jsonld/rubens-pasquale.json":Cd,"../../data/legacy/jsonld/sasha-briceno.json":Ed,"../../data/legacy/jsonld/services-shared.json":Ci,"../../data/legacy/jsonld/suaas-everything-you-need-to-know-to-launch-and-grow-your-business.json":Td,"../../data/legacy/jsonld/the-return-to-office-in-the-digital-nomads-era.json":Id,"../../data/legacy/jsonld/top-nearshore-software-development-services-in-uk.json":Od,"../../data/legacy/jsonld/unlock-your-businesss-potential-with-custom-software-development.json":Md,"../../data/legacy/jsonld/valentina-delfino.json":Ld,"../../data/legacy/jsonld/veronica-delfino.json":Rd,"../../data/legacy/jsonld/web-application-development.json":Nd,"../../data/legacy/jsonld/website-pages-are-not-indexing-check-these-5-common-reasons.json":Dd,"../../data/legacy/jsonld/website-seo-optimization.json":zd,"../../data/legacy/jsonld/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json":Fd}),KC=vr.archived;function QC(e){const t=KC[e];if(!t)return[];const n=JC[`../../data/legacy/jsonld/${t}`];return n?Array.isArray(n)?n:[n]:[]}function YC(e){const t=/[A-Z][a-z]+ \d{1,2}, \d{4}/,n=new DOMParser;for(const o of Bs.sections){const r=n.parseFromString(o.bodyHtml,"text/html");for(const a of Array.from(r.querySelectorAll('a[href^="/blog/"]'))){const s=(a.getAttribute("href")??"").replace("/blog/","").split(/[#?]/)[0],i=(a.textContent??"").match(t);if(s===e&&i)return i[0]}}return null}function ZC({data:e,body:t}){wo({...e.seo,path:e.path});const n=Vm.find(s=>
1134s.name===e.author),o=YC(e.slug);ls([...QC(e.path),VA(e,o)]);const r=o??e.date,a=Number.isFinite(Date.parse(r))?r:null;return l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsx(Vd,{accession:`BLOG / ${e.slug}`,eyebrow:"Moonshot archive / insight",title:e.title,heroImage:e.heroImage,heroImageAlt:"",metadata:l.jsxs(l.Fragment,{children:[l.jsx("span",{children:"Written by"}),n?l.jsx(dt,{to:`/author/${n.slug}`,children:e.author}):l.jsx("span",{children:e.author}),a&&l.jsx("time",{children:a})]}),children:l.jsx(Xa,{html:t,deferImages:!0})}),l.jsx(yo,{})]})}function XC(){const{slug:e=""}=Pi(),[t,n]=p.useState({slug:"",data:null,body:"",missing:!1});return p.useEffect(()=>{let o=!0;const r=GC[`../../data/legacy/blog/${e}.json`],a=qC[`../../data/legacy/blog-bodies/${e}.html`];return n({slug:e,data:null,body:"",missing:!1}),!r||!a?(n({slug:e,data:null,body:"",missing:!0}),()=>{o=!1}):(Promise.all([r(),a()]).then(([s,i])=>{o&&n({slug:e,data:s.default,body:i,missing:!1})}).catch(()=>{o&&n({slug:e,data:null,body:"",missing:!0})}),()=>{o=!1})},[e]),t.slug!==e||!t.data&&!t.missing?l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh"}}):t.missing||!t.data?l.jsx(Xr,{}):l.jsx(ZC,{data:t.data,body:t.body})}const eE="case-studies",tE="/case-studies",nE={title:"Moonshot Partners Success Stories: Empowering Businesses",description:"Explore inspiring success stories of businesses transformed through custom software development, web apps, and digital solutions by Moonshot Partners."},oE={h1:"Empowering Businesses: A Showcase of Our Success Stories"},rE=[{heading:"Pattern Discovery AI: Enhancing Design Exploration with Intelligent Search",bodyHtml:`â<strong>Are you ready to discover what can be achieved when you partner with a dedicated, innovative team that's committed to your success?</strong> Dive into our <em>Success Stories</em> and get inspired!<a href="/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search">The Pattern Cloud | The Design Agent</a><a href="/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai">Moonshot's AI lab<h2>NOVA: AI-Powered Discovery Calls Made Easy</h2></a><a href="/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital">Venture Capital Group<h2> No-Code Automation: How Moonshot Empowered a Venture Capital in their Investment Strategy</h2></a><a href="/case-studies/boosting-app-growth-targeted-messaging-for-english-learning">English Learning Provider<h2>Boosting App Growth: Targeted Messaging for English Learning </h2></a><a href="/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation">The Lanby<h2>Product Discovery: The Lanby's Primary Healthcare Innovation</h2></a><a href="/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow">Spartan Nash<h2>ETL Data Workflows: Spartan Nash boosts business logic through the modernization of ETL workflow</h2></a><a href="/case-studies/website-seo-optimization">Go1<h2>Website SEO Optimization: Boosting Performance and Driving Growth for Go1</h2></a><a href="/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive">Sunlight<h2>Investing in people: How Sunlight helps organizations thrive</h2></a><a href="/case-studies/language-learning-app-development">Web/Mobile App<h2>Empowering Language Learning: Innovative Web and Mobile App Development</h2></a><a href="/case-studies/gamified-and-customizable-web-based-survey-app-development">Play Verto<h2>Gamified and customizable web-based survey app development</h2></a><p>Here, we celebrate the incredible journeys we've shared with our clients as we've helped them overcome challenges and achieve their goals through custom software development, web app creation, digital product services, and software consultancy. Our team at <
1134a href="/about"><strong>Moonshot Partners</strong></a> is passionate about delivering innovative solutions tailored to our clients' unique needs. We understand the importance of collaboration and believe that the key to a successful partnership lies in understanding our clients' business objectives and providing bespoke solutions to meet those goals.In this section, you'll find a collection of inspirational and informal success stories that showcase the impact our s have had on businesses just like yours. âWe'll dive into the challenges faced, the strategies implemented, and the transformative results achieved through our collaborations.As you explore these stories, you'll gain insights into how our custom software development, web app creation, and digital product services have helped businesses streamline their operations, improve performance, and stay ahead of the competition. âMoreover, our software consultancy services have guided companies in making informed decisions and leveraging the right technology to drive growth.We invite you to join us in celebrating these remarkable achievements and encourage you to imagine the possibilities for your own business. Let these success stories inspire you, and feel free to <a href="/contact"><strong>reach out to us</strong></a> with any questions or to discuss how we can help your business reach new heights. </p>`},{bodyHtml:'<a href="/">Home</a><a href="#">About Us</a><a href="/case-studies/playverto">Case Studies</a><a href="/blog">Blog</a><a href="/contact">Contact Us</a><a href="#"><img src="/legacy/images/642f0a6de6525e6afa1be26f_Close.svg">Close Menu</a>'}],Fu={slug:eE,path:tE,seo:nE,hero:oE,sections:rE};function aE(){return wo({...Fu.seo,path:Fu.path}),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs("main",{style:{background:k.paper,color:k.ink},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:"Moonshot archive / outcomes",children:l.jsxs("div",{className:"legacy-case-hero",children:[l.jsx("div",{style:Ue(k.blueprintOnInk,11),children:"10 recovered records"}),l.jsx("h1",{children:Fu.hero.h1})]})}),l.jsx(Et,{ground:"paper",eyebrow:"Case files / complete index",children:l.jsx("ol",{className:"legacy-case-grid",children:Ur.caseStudies.map((e,t)=>l.jsxs("li",{children:[l.jsxs("div",{className:"legacy-case-number",children:["CASE ",String(t+1).padStart(2,"0")]}),l.jsx(dt,{to:`/case-studies/${e.slug}`,children:e.title}),l.jsx("span",{"aria-hidden":!0,children:"â"})]},e.slug))})}),l.jsx("style",{children:` 1135 .legacy-case-hero { 1136 max-width: 1280px; 1137 margin: 0 auto; 1138 display: grid; 1139 grid-template-columns: minmax(150px, .32fr) minmax(0, 1.68fr); 1140 gap: clamp(32px, 7vw, 112px); 1141 } 1142 .legacy-case-hero h1 { 1143 max-width: 1100px; 1144 margin: 0; 1145 color: ${k.onInk}; 1146 font-family: ${G.display}; 1147 font-size: clamp(48px, 8vw, 116px); 1148 font-weight: 520; 1149 letter-spacing: -.06em; 1150 line-height: .9; 1151 } 1152 .legacy-case-grid { 1153 max-width: 1280px; 1154 margin: 0 auto; 1155 padding: 0; 1156 display: grid; 1157 grid-template-columns: repeat(2, minmax(0, 1fr)); 1158 list-style: none; 1159 border-top: 1px solid ${k.chalk}; 1160 border-left: 1px solid ${k.chalk}; 1161 } 1162 .legacy-case-grid li { 1163 min-height: 320px; 1164 display: grid; 1165 grid-template-rows: auto 1fr auto; 1166 gap: 34px; 1167 padding: clamp(26px, 4vw, 48px); 1168 border-right: 1px solid ${k.chalk}; 1169 border-bottom: 1px solid ${k.chalk}; 1170 } 1171 .legacy-case-number { 1172 color: ${k.blueprint}; 1173 font-family: ${G.mono}; 1174 font-size: 11px; 1175 font-weight: 700; 1176 letter-spacing: .16em; 1177 } 1178 .legacy-case-grid a { 1179 color: ${k.ink}; 1180 font-family: ${G.display}; 1181 font-size: clamp(28px, 3.4vw, 48px); 1182 font-weight: 540; 1183 letter-spacing: -.045em; 1184 line-height: 1.02; 1185 text-decoration: none; 1186 } 1187 .legacy-case-grid a:hover { color: ${k.blueprint}; } 1188 .legacy-case-grid li > span { color: ${k.blueprint}; font-size: 28px; } 1189 @media (max-width: 760px) { 1190 .legacy-case-hero, .legacy-case-grid { grid-template-columns: 1fr; } 1191 .legacy-case-grid li { min-height: 260px; } 1192 } 1193 `})]}),l.jsx(yo,{})]})}const sE=Object.assign({
1193"../../data/legacy/case-studies/boosting-app-growth-targeted-messaging-for-english-learning.json":()=>C(()=>import("./boosting-app-growth-targeted-messaging-for-english-learning-Cn4Phrm8.js"),[]),
1193"../../data/legacy/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json":()=>C(()=>import("./etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow-XUOfAOCW.js"),[]),
1193"../../data/legacy/case-studies/gamified-and-customizable-web-based-survey-app-development.json":()=>C(()=>import("./gamified-and-customizable-web-based-survey-app-development-c5hDLTd8.js"),[]),
1193"../../data/legacy/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive.json":()=>C(()=>import("./investing-in-people-how-sunlight-helps-organizations-thrive-hKg2JYcO.js"),[]),
1193"../../data/legacy/case-studies/language-learning-app-development.json":()=>C(()=>import("./language-learning-app-development-Co4tUR2u.js"),[]),
1193"../../data/legacy/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital.json":()=>C(()=>import("./no-code-automation-how-moonshot-empowered-a-venture-capital-BB5AFNLK.js"),[]),
1193"../../data/legacy/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json":()=>C(()=>import("./nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai-FRsX67LZ.js"),[]),
1193"../../data/legacy/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json":()=>C(()=>import("./pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search-D-dgreEg.js"),[]),
1193"../../data/legacy/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation.json":()=>C(()=>import("./product-discovery-the-lanbys-primary-healthcare-innovation-BsoCW_Ta.js"),[]),
1193"../../data/legacy/case-studies/website-seo-optimization.json":()=>C(()=>import("./website-seo-optimization-Dzyny5uB.js"),[])}),iE=Object.assign({
1193"../../data/legacy/case-study-bodies/boosting-app-growth-targeted-messaging-for-english-learning.html":()=>C(()=>import("./boosting-app-growth-targeted-messaging-for-english-learning-CKvZxkwd.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.html":()=>C(()=>import("./etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow-CVFTXimT.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/gamified-and-customizable-web-based-survey-app-development.html":()=>C(()=>import("./gamified-and-customizable-web-based-survey-app-development-CPVaMHbJ.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/investing-in-people-how-sunlight-helps-organizations-thrive.html":()=>C(()=>import("./investing-in-people-how-sunlight-helps-organizations-thrive-CIEWNQ7Q.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/language-learning-app-development.html":()=>C(()=>import("./language-learning-app-development-B7ZFg2VF.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/no-code-automation-how-moonshot-empowered-a-venture-capital.html":()=>C(()=>import("./no-code-automation-how-moonshot-empowered-a-venture-capital-BxVericS.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.html":()=>C(()=>import("./nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai-BTz7_dvS.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.html":()=>C(()=>import("./pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search-kk7dd25i.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/product-discovery-the-lanbys-primary-healthcare-innovation.html":()=>C(()=>import("./product-discovery-the-lanbys-primary-healthcare-innovation-Byjytx9e.js"),[]).then(e=>e.default),
1193"../../data/legacy/case-study-bodies/website-seo-optimization.html":()=>C(()=>import("./website-seo-optimization-B9JTeYEf.js"),[]).then(e=>e.default)}),lE=Object.assign({"../../data/legacy/jsonld/android.json":Bc,"../../data/legacy/jsonld/backend.json":Wc,"../../data/legacy/jsonld/banking-as-a-service-baas-a-solution-for-your-business.json":Uc,"../../data/legacy/jsonld/best-growth-marketing-agencies.json":Hc,"../../data/legacy/jsonld/best-resource-management-tools-for-it-agencies.json":Gc,"../../data/legacy/jsonld/best-software-development-companies-in-the-uk.json":qc,"../../data/legacy/jsonld/boost-your-business-with-modernized-data-integration-architecture.json":Jc,"../../data/legacy/jsonld/boosting-app-growth-targeted-messaging-for-english-learning.json":Kc,"../../data/legacy/jsonld/chat-gpt-is-google-search-business-dominance-challenged.json":Qc,"../../data/legacy/jsonld/contact.json":Yc,"../../data/legacy/jsonld/creating-our-first-node-js-package-with-typescript.json":Zc,"../../data/legacy/jsonld/david-gomez.json":Xc,"../../data/legacy/jsonld/educational-custom-software-development-overview.json":ed,"../../data/legacy/jsonld/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json":td,"../../data/legacy/jsonld/francisco-hernandez.json":nd,"../../data/legacy/jsonld/frontend.json":od,"../../data/legacy/jsonld/gamified-and-customizable-web-based-survey-app-development.json":rd,"../../data/legacy/jsonld/including-women-in-technology-insights-from-women-at-moonshot-partners.json":ad,"../../data/legacy/jsonld/innovative-business-ideas.json":sd,"../../data/legacy/jsonld/investing-in-people-how-sunlight-helps-organizations-thrive.json":id,"../../data/legacy/jsonld/ios-developer.json":ld,"../../data/legacy/jsonld/jessica-leon.json":cd,"../../data/legacy/jsonld/juan-lagrange.json":dd,"../../data/legacy/jsonld/katherinne-jara-caceres.json":ud,"../../data/legacy/jsonld/language-learning-app-development.json":pd,"../../data/legacy/jsonld/leonardo-cabeza.json":hd,"../../data/legacy/jsonld/manifest.json":vr,"../../data/legacy/jsonld/moonshot-editorial-team.json":md,"../../data/legacy/jsonld/moonshot-girls.json":fd,"../../data/legacy/jsonld/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json":gd,"../../data/legacy/jsonld/mvp-testing-techniques-unveiled-redefining-product-validation.json":yd,"../../data/legacy/jsonld/mvp-ux-design-balancing-simplicity-and-functionality.json":vd,"../../data/legacy/jsonld/mvp-vs-prototype-vs-poc-decoding-development-strategies.json":wd,"../../data/legacy/jsonld/mvps-inspiring-mvp-examples-across-industries.json":bd,"../../data/legacy/jsonld/no-code-automation-how-moonshot-empowered-a-venture-capital.json":xd,"../../data/legacy/jsonld/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json":kd,"../../data/legacy/jsonld/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json":Sd,"../../data/legacy/jsonld/pedro-mejia.json":_d,"../../data/legacy/jsonld/product-discovery-the-lanbys-primary-healthcare-innovation.json":Pd,"../../data/legacy/jsonld/product-manager.json":jd,"../../data/legacy/jsonld/ricardo-rodriguez.json":Ad,"../../data/legacy/jsonld/rubens-pasquale.json":Cd,"../../data/legacy/jsonld/sasha-briceno.json":Ed,"../../data/legacy/jsonld/services-shared.json":Ci,"../../data/legacy/jsonld/suaas-everything-you-need-to-know-to-launch-and-grow-your-business.json":Td,"../../data/legacy/jsonld/the-return-to-office-in-the-digital-nomads-era.json":Id,"../../data/legacy/jsonld/top-nearshore-software-development-services-in-uk.json":Od,"../../data/legacy/jsonld/unlock-your-businesss-potential-with-custom-software-development.json":Md,"../../data/legacy/jsonld/valentina-delfino.json":Ld,"../../data/legacy/jsonld/veronica-delfino.json":Rd,"../../data/legacy/jsonld/web-application-development.json":Nd,"../../data/legacy/jsonld/website-pages-are-not-indexing-check-these-5-common-reasons.json":Dd,"../../data/legacy/jsonld/website-seo-optimization.json":zd,"../../data/legacy/jsonld/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json":Fd}),cE=vr.archived;function dE(e){const t=cE[e];if(!t)return[];const n=lE[`../../data/legacy/jsonld/${t}`];return n?Array.isArray(n)?n:[n]:[]}function uE({data:e,body:t}){return wo({...e.seo,path:e.path}
1193),ls([...dE(e.path),$A(e)]),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsx(Vd,{accession:`CASE / ${e.slug}`,eyebrow:"Moonshot archive / case study",title:e.title,heroImage:e.heroImage,heroImageAlt:"",metadata:l.jsx("span",{children:"Client outcome / recovered record"}),children:l.jsx(Xa,{html:t})}),l.jsx(yo,{})]})}function pE(){const{slug:e=""}=Pi(),[t,n]=p.useState({slug:"",data:null,body:"",missing:!1});return p.useEffect(()=>{let o=!0;const r=sE[`../../data/legacy/case-studies/${e}.json`],a=iE[`../../data/legacy/case-study-bodies/${e}.html`];return n({slug:e,data:null,body:"",missing:!1}),!r||!a?(n({slug:e,data:null,body:"",missing:!0}),()=>{o=!1}):(Promise.all([r(),a()]).then(([s,i])=>{o&&n({slug:e,data:s.default,body:i,missing:!1})}).catch(()=>{o&&n({slug:e,data:null,body:"",missing:!0})}),()=>{o=!1})},[e]),t.slug!==e||!t.data&&!t.missing?l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh"}}):t.missing||!t.data?l.jsx(Xr,{}):l.jsx(uE,{data:t.data,body:t.body})}const hE=Object.assign({
1193"../../data/legacy/careers/android.json":()=>C(()=>import("./android-Dp6-GEdo.js"),[]),
1193"../../data/legacy/careers/backend.json":()=>C(()=>import("./backend-DmOfQuFl.js"),[]),
1193"../../data/legacy/careers/frontend.json":()=>C(()=>import("./frontend-CRBJEGLu.js"),[]),
1193"../../data/legacy/careers/ios-developer.json":()=>C(()=>import("./ios-developer-CKprzbDb.js"),[]),
1193"../../data/legacy/careers/product-manager.json":()=>C(()=>import("./product-manager-4tc7zI0X.js"),[])}),mE=Object.assign({
1193"../../data/legacy/career-bodies/android.html":()=>C(()=>import("./android-3o9jPNw-.js"),[]).then(e=>e.default),
1193"../../data/legacy/career-bodies/backend.html":()=>C(()=>import("./backend-8_jtusTQ.js"),[]).then(e=>e.default),
1193"../../data/legacy/career-bodies/frontend.html":()=>C(()=>import("./frontend-_Nb9NHx2.js"),[]).then(e=>e.default),
1193"../../data/legacy/career-bodies/ios-developer.html":()=>C(()=>import("./ios-developer-Dtcra8Yr.js"),[]).then(e=>e.default),
1193"../../data/legacy/career-bodies/product-manager.html":()=>C(()=>import("./product-manager-BRymXd0g.js"),[]).then(e=>e.default)});function fE({data:e,body:t}){return wo({...e.seo,path:e.path}),ls([C0(e)]),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsx(Vd,{accession:`ROLE / ${e.slug}`,eyebrow:"Moonshot archive / careers",title:e.title,heroImage:e.heroImage,heroImageAlt:"",metadata:l.jsx("span",{children:"Remote team / archived opening"}),children:l.jsx(Xa,{html:t})}),l.jsx(yo,{})]})}function gE(){const{slug:e=""}=Pi(),[t,n]=p.useState({slug:"",data:null,body:"",missing:!1});return p.useEffect(()=>{let o=!0;const r=hE[`../../data/legacy/careers/${e}.json`],a=mE[`../../data/legacy/career-bodies/${e}.html`];return n({slug:e,data:null,body:"",missing:!1}),!r||!a?(n({slug:e,data:null,body:"",missing:!0}),()=>{o=!1}):(Promise.all([r(),a()]).then(([s,i])=>{o&&n({slug:e,data:s.default,body:i,missing:!1})}).catch(()=>{o&&n({slug:e,data:null,body:"",missing:!0})}),()=>{o=!1})},[e]),t.slug!==e||!t.data&&!t.missing?l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh"}}):t.missing||!t.data?l.jsx(Xr,{}):l.jsx(fE,{data:t.data,body:t.body})}const yE="author",vE="/author",wE={title:"Authors and Experts | Moonshot Partners",description:"Discover the authors behind Moonshot Partners. Learn about our team's expertise in tech, design, and innovation"},bE={h1:"Authors",introHtml:`<img src="/legacy/images/6415cd0db071a72e966ba489_david-gomez.jpeg" alt="David Gomez"><a href="/author/david-gomez"><h2>David Gomez</h2></a>Product DesignerCollaborative Product Designer with remarkable interpersonal skills, research capabilities and business analysis competence<a href="https://www.linkedin.com/in/davidgoag/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/66203fd2d733fad4e7573370_image-1.png" alt="Francisco Hernández"><a href="/author/francisco-hernandez"><h2>Francisco Hernández</h2></a>Chief Operating OfficerFormer founder with over 12 years of experience in the tech ecosystem, has led numerous projects across Latin America and Europe, specializing in edtech startups. He is also the founder and host of âBecoming Yourself,â a podcast focused on personal transformation. He is also a certified coach from the International Coaching Federation.<a href="https://www.linkedin.com/in/talkwithfran/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415cd75f4c83f3d27efd9ec_jessica-leon.jpg" alt="Jessica Leon"><a href="/author/jessica-leon"><h2>Jessica Leon</h2></a>People & Operations ManagerAs a Human Resources professional, I am passionate about creating a productive and positive work environment. I strive to ensure that every team member is supported and empowered to reach their highest potential. <a href="https://www.linkedin.com/in/jessicaleonmonsalvo/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415cb9c7dad695414ea72d9_juan-lagrange.jpeg" alt="Juan Lagrange"><a href="/author/juan-lagrange"><h2>Juan Lagrange</h2></a>Co-FounderFirm believer that education is the best investments towards a better world and a better future. Helping companies build their digital future<a href="https://www.linkedin.com/in/jalagrange/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64c12cb4397f6590fd2ae5da_Katherinne-Jara.jpeg" alt="Katherinne Jara Cáceres"><a href="/author/katherinne-jara-caceres"><h2>Katherinne Jara Cáceres</h2></a>UI Senior Designer and BrandingI am a passionate UI Designer with a background in branding. 1194My goal is to create digital experiences that captivate users and reflect the identity of the brand. With skills in graphic design, user research, and a solid understanding of design trends, I am committed to delivering aesthetic and functional solutions that drive business success.<a href="https://www.linkedin.com/in/katherinne-jara-c%C3%A1ceres-3a3a94211/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6414742f1ebc5eb0e07388ad_Leonardo-Cabeza.jpg" alt="Leonardo Cabeza"><a href="/author/leonardo-cabeza"><h2>Leonardo Cabeza</h2></a>
1194 Senior Software Engineer<a href="https://www.linkedin.com/in/leonardo-cabeza/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/661ebf77f7fdf899854f7444_moonshot_partners_logo.jpeg" alt="Moonshot Editorial Team"><a href="/author/moonshot-editorial-team"><h2>Moonshot Editorial Team</h2></a><a href="#">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64246a2f972f4920cb998f76_Women-in-tech-212p.png" alt="Moonshot-Girls"><a href="/author/moonshot-girls"><h2>Moonshot-Girls</h2></a>Women in Tech GroupThe Moonshot-Girls are a dynamic and inspiring group of women working in the technology industry at Moonshot Partners. They bring together diverse backgrounds, experiences, and perspectives, creating a powerful collective of knowledge and expertise. These talented professionals are passionate about advocating for gender equality and inclusion within the tech sector. By sharing their insights, experiences, and stories, the Moonshot-Girls strive to empower other women to pursue careers in technology, foster innovation, and close the gender gap. Through their collaborative efforts, they contribute to building a more diverse and inclusive tech community for future generations.<a href="#">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415ccfef8e2adcb06c949c6_pedro-mejia.jpeg" alt="Pedro MejÃa"><a href="/author/pedro-mejia"><h2>Pedro MejÃa</h2></a> Head of Sales & GrowthHelping startups and companies grow better in the digital world <a href="https://www.linkedin.com/in/pedromejiar/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/643d97bfaffd6ad567bc1181_Ricardo.png" alt="Ricardo Rodriguez"><a href="/author/ricardo-rodriguez"><h2>Ricardo Rodriguez</h2></a>Co-Founder at Moonshot PartnersEntrepreneur, researcher and experienced developer. Exploring ways for improving the automatic generation of questionnaires using AI, deep learning and NLP in the e-learning and education space<a href="https://www.linkedin.com/in/rrodrigu3z/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415ccecd03969342a771e9f_rubens-pasquale.jpeg" alt="Rubens Pasquale"><a href="/author/rubens-pasquale"><h2>Rubens Pasquale</h2></a>Chief Executive OfficerMentor and business consultant. Helping companies grow through technology<a href="https://www.linkedin.com/in/rubenspf/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/644add478057b42e4f5c8b0a_Sasha-Briceno.jpeg" alt="Sasha Briceño"><a href="/author/sasha-briceno"><h2>Sasha Briceño</h2></a>Content Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.<a href="https://www.linkedin.com/in/sabrice/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64aeea295f772fbca60db092_1517352851617.jpeg" alt="Valentina Delfino"><a href="/author/valentina-delfino"><h2>Valentina Delfino</h2></a>Project ManagerExperienced project manager leading a dynamic team in developing a groundbreaking crypto transaction app that seamlessly integrates with Xero, revolutionizing reconciliations. <a href="https://www.linkedin.com/in/valentinadelfino/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6414f6efc3949b6790f0c463_veronica-delfino.jpeg" alt="Veronica Delfino"><a href="/author/veronica-delfino"><h2>Veronica Delfino</h2></a>Project Manager & SEO Strategist<a href="https://www.linkedin.com/in/veronica-delfino">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><a href="/"><img src="/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg" alt="Moonshot Partners Logo"></a><img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg" alt="LinkedIn"><a href="https://www.linkedin.com/company/moonshotpartners">Join us at LinkedIn</a><a>Companychevron_right</a><a>Our Serviceschevron_right</a>Explore<a href="/case-studies">Case Studies</a><a href="/blog">Blog</a><a href="/contact">Contact Us</a><a href="/blog/best-software-development-companies-in-the-uk">Best Software Development Companies in the UK</a><a href="https://www.m8l.com/">Growth Marketing Services</a>Our Experience<a href="/case-studies/gamified-and-customizable-web-based-survey-app-development">
1194Customizable Survey App</a><a href="/case-studies/language-learning-app-development">Language Learning App</a><a href="/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive">Banking as a Service integrations</a><a href="/case-studies/website-seo-optimization">SEO Website Optimization</a><a href="/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow">ETL Data workflow modernization</a>Company<a href="/privacy-policy">Privacy Policy</a><a href="/cookie-policy">Cookie Policy</a>Get In Touch<img src="/legacy/images/642f29e52837486afa4b96e4_map-pin.svg" alt="Business Address"><a href="https://goo.gl/maps/2iSMRr3gGBhVpxqE8">London (WC2) Office7,Bell Yard, London WC2A 2JR.United Kingdom</a><img src="/legacy/images/642f2a0309735f81bb08e4c1_phone.svg" alt="Phone"><a href="#">+44 (774) 520-2025</a><img src="/legacy/images/642f2a1a7ebaeaedb5d883a9_mail.svg" alt="E-mail"><a href="mailto:[email protected]">[email protected]</a><a href="https://cal.com/team/moonshotpartners/discoverycall">Talk to us!</a>Our Services<a href="/services/ai-development-services-for-startups">AI Development Services for Startups </a><a href="/services/artificial-intelligence-development-company">Artificial Intelligence Development Company</a><a href="/services/web-application-development-in-london">Expert Web Application Development in London</a><a href="/services/leading-software-product-development-company">Leading Software Product Development Company</a><a href="/services/saas-mvp-development-services">SaaS MVP Development Services</a><a href="/services/saas-mvp-development-services">SaaS MVP Development Services</a><a href="/services/mvp-development-services-for-startups">MVP Development Services for Startups</a><a href="/services/mvp-software-development-services-in-usa">MVP Software Development Services in USA</a><a href="/services/mvp-development-services">MVP Development Services</a><a href="/services/enterprise-application-development-services">Enterprise Application Development Services</a><a href="/services/custom-enterprise-software-development">Custom Enterprise Software Development</a><a href="/services/mobile-app-development-services">Mobile App Development Services</a><a href="/services/react-js-consulting-services">React.JS Consulting Services</a><a href="/services/bespoke-software-development-london-uk">Bespoke Software Development Company</a><a href="/services/it-staff-augmentation-services">IT Staff Augmentation Services</a><a href="/services/hire-dedicated-software-development-team">Hire A Dedicated Software Development Team</a><a href="/services/saas-application-development-company">SaaS Application Development Company</a><a href="/services/angularjs-development-company">AngularJS Development Company</a><a href="/services/custom-software-development-for-startups">Custom Software Development for Startups</a><a href="/services/agile-consulting-services">Agile Consulting Services</a>©2025 Hyperdrive LTD. All rights reserved. London, United Kingdom.`},xE=[{bodyHtml:"Authors"},{heading:"David Gomez",bodyHtml:`<img src="/legacy/images/6415cd0db071a72e966ba489_david-gomez.jpeg" alt="David Gomez">Product DesignerCollaborative Product Designer with remarkable interpersonal skills, research capabilities and business analysis competence<a href="https://www.linkedin.com/in/davidgoag/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/66203fd2d733fad4e7573370_image-1.png" alt="Francisco Hernández"><a href="/author/francisco-hernandez"><h2>Francisco Hernández</h2></a>Chief Operating OfficerFormer founder with over 12 years of experience in the tech ecosystem, has led numerous projects across Latin America and Europe, specializing in edtech startups. He is also the founder and host of âBecoming Yourself,â a podcast focused on personal transformation. He is also a certified coach from the International Coaching Federation.<a href="https://www.linkedin.com/in/talkwithfran/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415cd75f4c83f3d27efd9ec_jessica-leon.jpg" alt="Jessica Leon"><a href="/author/jessica-leon"><h2>Jessica Leon</h2></a>People & Operations ManagerAs a Human Resources professional, I am passionate about creating a productive and positive work environment. I strive to ensure that every team member is supported and empowered to reach their highe
1194st potential. <a href="https://www.linkedin.com/in/jessicaleonmonsalvo/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415cb9c7dad695414ea72d9_juan-lagrange.jpeg" alt="Juan Lagrange"><a href="/author/juan-lagrange"><h2>Juan Lagrange</h2></a>Co-FounderFirm believer that education is the best investments towards a better world and a better future. Helping companies build their digital future<a href="https://www.linkedin.com/in/jalagrange/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64c12cb4397f6590fd2ae5da_Katherinne-Jara.jpeg" alt="Katherinne Jara Cáceres"><a href="/author/katherinne-jara-caceres"><h2>Katherinne Jara Cáceres</h2></a>UI Senior Designer and BrandingI am a passionate UI Designer with a background in branding. 1195My goal is to create digital experiences that captivate users and reflect the identity of the brand. With skills in graphic design, user research, and a solid understanding of design trends, I am committed to delivering aesthetic and functional solutions that drive business success.<a href="https://www.linkedin.com/in/katherinne-jara-c%C3%A1ceres-3a3a94211/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6414742f1ebc5eb0e07388ad_Leonardo-Cabeza.jpg" alt="Leonardo Cabeza"><a href="/author/leonardo-cabeza"><h2>Leonardo Cabeza</h2></a> Senior Software Engineer<a href="https://www.linkedin.com/in/leonardo-cabeza/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/661ebf77f7fdf899854f7444_moonshot_partners_logo.jpeg" alt="Moonshot Editorial Team"><a href="/author/moonshot-editorial-team"><h2>Moonshot Editorial Team</h2></a><a href="#">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64246a2f972f4920cb998f76_Women-in-tech-212p.png" alt="Moonshot-Girls"><a href="/author/moonshot-girls"><h2>Moonshot-Girls</h2></a>Women in Tech GroupThe Moonshot-Girls are a dynamic and inspiring group of women working in the technology industry at Moonshot Partners. They bring together diverse backgrounds, experiences, and perspectives, creating a powerful collective of knowledge and expertise. These talented professionals are passionate about advocating for gender equality and inclusion within the tech sector. By sharing their insights, experiences, and stories, the Moonshot-Girls strive to empower other women to pursue careers in technology, foster innovation, and close the gender gap. Through their collaborative efforts, they contribute to building a more diverse and inclusive tech community for future generations.<a href="#">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415ccfef8e2adcb06c949c6_pedro-mejia.jpeg" alt="Pedro MejÃa"><a href="/author/pedro-mejia"><h2>Pedro MejÃa</h2></a> Head of Sales & GrowthHelping startups and companies grow better in the digital world <a href="https://www.linkedin.com/in/pedromejiar/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/643d97bfaffd6ad567bc1181_Ricardo.png" alt="Ricardo Rodriguez"><a href="/author/ricardo-rodriguez"><h2>Ricardo Rodriguez</h2></a>Co-Founder at Moonshot PartnersEntrepreneur, researcher and experienced developer. Exploring ways for improving the automatic generation of questionnaires using AI, deep learning and NLP in the e-learning and education space<a href="https://www.linkedin.com/in/rrodrigu3z/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6415ccecd03969342a771e9f_rubens-pasquale.jpeg" alt="Rubens Pasquale"><a href="/author/rubens-pasquale"><h2>Rubens Pasquale</h2></a>Chief Executive OfficerMentor and business consultant. Helping companies grow through technology<a href="https://www.linkedin.com/in/rubenspf/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/644add478057b42e4f5c8b0a_Sasha-Briceno.jpeg" alt="Sasha Briceño"><a href="/author/sasha-briceno"><h2>Sasha Briceño</h2></a>Content Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.<a href="https://www.linkedin.com/in/sabrice/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/64aeea295f772fbca60db092_1517352851617.jpeg" alt="Valentina Delfino"><a href="/author/valentina-delfino"><h2>Valentina Delfino</h2></a>Project ManagerExperienced project manager leading a dynamic team in developing a groundbreaking crypto transaction app that seamlessly integrates with Xero, revolutionizing reconciliations. <a href="https://www.linkedin.com/in/valentinadelfino/">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a><img src="/legacy/images/6414f6efc3949b6790f0c463_veronica-delfino.jpeg" alt="Veronica Delfino"><a href="/author/veronica-delfino"><h2>Veronica Delfino</h2></a>Project Manager & SEO Strategist<a href="https://www.linkedin.com/in/veronica-delfino">Follow me on <img src="/legacy/images/642f2a2a8a35457364f92358_linkedin.svg"></a>`}],Vu={slug:yE,path:vE,seo:wE,hero:bE,sections:xE};function kE(){return wo({...Vu.seo,path:Vu.path}),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs("main",{style:{background:k.paper,color:k.ink},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:"Moonshot archive / contributors",children:l.jsxs("div",{className:"legacy-author-hero",children:[l.jsx("div",{style:Ue(k.blueprintOnInk,11),children:"14 recovered profiles"}),l.jsx("h1",{children:Vu.hero.h1})]})}),l.jsx(Et,{ground:"paper",eyebrow:"Directory / complete index",children:l.jsx("ol",{className:"legacy-author-grid",children:Vm.map((e,t)=>l.jsxs("li",{children:[e.photo&&l.jsx("img",{src:e.photo,alt:"",loading:"lazy"}),l.jsxs("div",{className:"legacy-author-card-number",children:["DOSSIER ",String(t+1).padStart(2,"0")]}),l.jsx(dt,{to:`/author/${e.slug}`,children:e.name}),e.role&&l.jsx("p",{children:e.role}),e.linkedin&&l.jsx("a",{className:"legacy-author-linkedin",href:e.linkedin,target:"_blank",rel:"noreferrer",children:"LinkedIn â"})]},e.slug))})}),l.jsx("style",{children:` 1196 .legacy-author-hero { 1197 max-width: 1280px; 1198 margin: 0 auto; 1199 display: grid; 1200 grid-template-columns: minmax(150px, .32fr) minmax(0, 1.68fr); 1201 gap: clamp(32px, 7vw, 112px); 1202 align-items: end; 1203 } 1204 .legacy-author-hero h1 { 1205 margin: 0; 1206 color: ${k.onInk}; 1207 font-family: ${G.display}; 1208 font-size: clamp(76px, 16vw, 228px); 1209 font-weight: 520; 1210 letter-spacing: -.07em; 1211 line-height: .76; 1212 } 1213 .legacy-author-grid { 1214 max-width: 1280px; 1215 margin: 0 auto; 1216 padding: 0; 1217 display: grid; 1218 grid-template-columns: repeat(3, minmax(0, 1fr)); 1219 list-style: none; 1220 border-top: 1px solid ${k.chalk}; 1221 border-left: 1px solid ${k.chalk}; 1222 } 1223 .legacy-author-grid li { 1224 min-width: 0; 1225 padding: clamp(22px, 3vw, 36px); 1226 border-right: 1px solid ${k.chalk}; 1227 border-bottom: 1px solid ${k.chalk}; 1228 } 1229 .legacy-author-grid img { 1230 width: 100%; 1231 aspect-ratio: 1; 1232 margin-bottom: 24px; 1233 object-fit: cover; 1234 filter: grayscale(1) contrast(1.05); 1235 } 1236 .legacy-author-card-number { 1237 margin-bottom: 16px; 1238 color: ${k.blueprint}; 1239 font-family: ${G.mono}; 1240 font-size: 10px; 1241 font-weight: 700; 1242 letter-spacing: .14em; 1243 } 1244 .legacy-author-grid li > a:first-of-type { 1245 color: ${k.ink}; 1246 font-family: ${G.display}; 1247 font-size: clamp(26px, 3vw, 42px); 1248 font-weight: 550; 1249 letter-spacing: -.04em; 1250 line-height: 1; 1251 text-decoration: none; 1252 } 1253 .legacy-author-grid li > a:first-of-type:hover { color: ${k.blueprint}; } 1254 .legacy-author-grid p { 1255 margin: 18px 0 24px; 1256 color: ${k.onPaperMute}; 1257 font-family: ${G.sans}; 1258 font-size: 14px; 1259 line-height: 1.65; 1260 } 1261 .legacy-author-linkedin { 1262 color: ${k.blueprint}; 1263 font-family: ${G.mono}; 1264 font-size: 10px; 1265 font-weight: 700; 1266 letter-spacing: .12em; 1267 text-transform: uppercase; 1268 } 1269 @media (max-width: 920px) { 1270 .legacy-author-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } 1271 } 1272 @media (max-width: 640px) { 1273 .legacy-author-hero, .legacy-author-grid { grid-template-columns: 1fr; } 1274 } 1275 `})]}),l.jsx(yo,{})]})}
1275const SE={"/":{title:"Custom Software Development Company | Moonshot",description:"Backed by +7 years' experience and trusted by industry leaders, partner with us for Product Design and Software Solutions. Talk to us!",textSample:"We'reMOONSHOTYour strategic partner in creating exceptional software products.We are really good at caring like weâre in-houseLooking forward to talk soon!LETâS TALK+40 projects+26 clients+7 years of experience+65 specialized developers+100 projects+50 clients+7 years of experience+65 specialized developers+100 projects+50 clients+7 years of experience+65 specialized developers+100 projects+50 cli"},"/author":{title:"Authors and Experts | Moonshot Partners",description:"Discover the authors behind Moonshot Partners. Learn about our team's expertise in tech, design, and innovation",textSample:"AuthorsDavid GomezProduct DesignerCollaborative Product Designer with remarkable interpersonal skills, research capabilities and business analysis competenceFollow me on Francisco HernándezChief Operating OfficerFormer founder with over 12 years of experience in the tech ecosystem, has led numerous projects across Latin America and Europe, specializing in edtech startups. He is also the founder an"},"/blog":{title:"Insights on Software, Design and Digital Strategy | Moonshot",description:"Get expert insights on software, product design, and digital strategy. Stay ahead of the competition with our in-depth articles and guides",textSample:"The best insights and learnings from the Moonshot team & community.Best Resource Management Tools for IT Agencies 2025 | Expert GuideSeptember 27, 2025Best Growth Marketing Agencies 2025: Top 15 Global RankingsSeptember 27, 2025Nearshore Software Development: The Definitive Guide to Nearshore Outsourcing in 2025March 10, 2025Top Nearshore Software Development Services in UKMarch 10, 2025Innovative"},"/contact":{title:"Get in Touch | Moonshot - Let's Bring Your Ideas to Life",description:"Contact us to discuss your digital product ideas and needs. Schedule a free consultation with our agency experts.",textSample:"Let's discuss your digital product ideas and needs!Book a Discovery CallHomeAbout UsCase StudiesBlogContact UsClose MenuJoin us at LinkedInCompanychevron_rightOur Serviceschevron_rightExploreCase StudiesBlogContact UsBest Software Development Companies in the UKGrowth Marketing ServicesOur ExperienceCustomizable Survey AppLanguage Learning AppBanking as a Service integrationsSEO Website Optimizati"},"/privacy-policy":{title:"Privacy Policy",textSample:"Our Privacy Policy Last Update: April 12, 2023âMoonshot Partners, owned by Hyperdrive LTD, is committed to protecting the privacy of its website visitors. This privacy policy outlines how we collect, use, and protect any personal information that we receive from visitors to our website, https://www.moonshot.partners/.Personal Information CollectedWe collect personal information, such as name and e"},"/cookie-policy":{title:"Cookie Policy",textSample:"Our Cookie PolicyThis is the Cookie Policy for the Moonshot Partners Website, owned by Hyperdrive LTD, accessible from https://www.moonshot.partners.What Are CookiesAs is common practice with almost all professional websites, this site uses cookies, which are tiny files that are downloaded to your computer, to improve your experience. This page describes what information they gather, how we use it"},"/case-studies":{title:"Moonshot Partners Success Stories: Empowering Businesses",description:"Explore inspiring success stories of businesses transformed through custom software development, web apps, and digital solutions by Moonshot Partners.",textSample:"Empowering Businesses: A Showcase of Our Success StoriesâAre you ready to discover what can be achieved when you partner with a dedicated, innovative team that's committed to your success? Dive into our Success Stories and get inspired!The Pattern Cloud | The Design AgentPattern Discovery AI: Enhancing Design Exploration with Intelligent SearchMoonshot's AI labNOVA: AI-Powered Discovery Calls Made"},"/moonshots-ai-lab":{title:"Moonshot's AI Studio",textSample:"Reimagine how work gets done with AIFree your team to focus on what truly matters while automation takes care of the rest.Talk with our AI agent!Moonshotâs AI StudioTHE BENEFITSUnlock the Power of AI for Your BusinessBy automating repetitive tasks, businesses can focus on innovation and growth.Define your AI strategyClarify how AI will drive value across your entire company, support your overall s"},"/about":{title:"About",description:"Backed by +7 years' experience and trusted by industry leaders, partner with us for Product Design and Software Solutions. Talk to us!",textSample:"We're the Team behindthe BuildWeâre a team of builders, thinkers, and problem-solvers. We turn complex ideas into reliable, scalable software. Always with purpose, always with care.ï¡|LET'S CONNECTWeâre always iterating & improving.Mistakes are welcome, provided we learn from them.We constantly train ourselves and each other.We care a lot about people, their growth and well-being-We trust in radica"},"/tech-talent":{title:"Tech Talent",textSample:"Tech Talent With Cultural-FitPremium staff augmentation without the premium price tag.JOIN NOW2-4 weeks hiring cyclePay-only-on-successTop LATAM talentHow It WorksDifferent paths, same destination: Exceptional talent matches.For CompaniesFor TalentTalent for CompaniesCompany Hiring Process: from request to onboarding in 2â4 weeks.How We Do It1Share Your NeedsTell us about your tech stack, company "},"/subscription":{title:"Subscription",textSample:"Your On-Demand Dev Team. One Flat Monthly Fee Stop chasing freelancers and hiring full-time. Get continuous software development, optimization, and maintenance with a predictable subscription.BOOK A DISCOVERY CALLOutcome-Based DeliveryChoose what you need, and weâll focus on delivering results aligned with your specific outcome.Unlimited AccessGet full access to all our services, including Figma P"},"/extended-teams":{title:"Extended Teams",textSample:"Extended TeamsTalentExpertiseReact.JS Consulting ServicesAgile Consulting ServicesDevOps ConsultingBespoke Software Consulting ServicesAI Development Services for Startups Expert Web Application Development in LondonLeading Softw
1275are Product Development CompanyCustom Enterprise Software DevelopmentBespoke Software Development CompanyCustom Software Development for StartupsCustom E-Learning Software"},"/author/david-gomez":{title:"David Gomez | Moonshot Partners",description:"Product Designer",textSample:"David GomezProduct DesignerCollaborative Product Designer with remarkable interpersonal skills, research capabilities and business analysis competenceFollow me onArticles by David GomezMVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for KnowledgeExplore Moonshot Partners' AI Lab: Uniting minds for innovation. Discover AI's role in MVP creation, shaping tech's future with transformati"},"/author/francisco-hernandez":{title:"Francisco Hernández | Moonshot Partners",description:"Chief Operating Officer",textSample:"Francisco HernándezChief Operating OfficerFormer founder with over 12 years of experience in the tech ecosystem, has led numerous projects across Latin America and Europe, specializing in edtech startups. He is also the founder and host of âBecoming Yourself,â a podcast focused on personal transformation. He is also a certified coach from the International Coaching Federation.Follow me onArticles "},"/author/jessica-leon":{title:"Jessica Leon | Moonshot Partners",description:"People & Operations Manager",textSample:"Jessica LeonPeople & Operations ManagerAs a Human Resources professional, I am passionate about creating a productive and positive work environment. I strive to ensure that every team member is supported and empowered to reach their highest potential. Follow me onArticles by Jessica LeonWhy Strong Company Culture is the Key to Success in a Rapidly Changing World Discover why a strong company cultu"},"/author/juan-lagrange":{title:"Juan Lagrange | Moonshot Partners",description:"Co-Founder",textSample:"Juan LagrangeCo-FounderFirm believer that education is the best investments towards a better world and a better future. Helping companies build their digital futureFollow me onArticles by Juan LagrangeMVP Testing Techniques Unveiled: Redefining Product ValidationUncover innovative techniques for MVP testing, from hallway testing to Wizard of Oz MVPs. Learn how these methods redefine product valida"},"/author/katherinne-jara-caceres":{title:"Katherinne Jara Cáceres | Moonshot Partners",description:"UI Senior Designer and Branding",textSample:"Katherinne Jara CáceresUI Senior Designer and BrandingI am a passionate UI Designer with a background in branding. My goal is to create digital experiences that captivate users and reflect the identity of the brand. With skills in graphic design, user research, and a solid understanding of design trends, I am committed to delivering aesthetic and functional solutions that drive business success.Fo"},"/author/leonardo-cabeza":{title:"Leonardo Cabeza | Moonshot Partners",description:"Senior Software Engineer",textSample:"Leonardo Cabeza Senior Software EngineerFollow me onArticles by Leonardo CabezaCreating our first Node.js package with TypescriptIn this article, we will learn how to create a Node.js package with Typescript and publish it to npmjs.comFebruary 27, 2023Join us at LinkedInCompanychevron_rightOur Serviceschevron_rightExploreCase StudiesBlogContact UsBest Software Development Companies in the UKGrowth"},"/author/moonshot-editorial-team":{title:"Moonshot Editorial Team | Moonshot Partners",textSample:"Moonshot Editorial TeamFollow me onArticles by Moonshot Editorial TeamInnovative Business Ideas to Start with $50K in 2025Unlock your entrepreneurial potential with Moonshot's expert guide to launching a successful $50K business in 2025. January 28, 2025What Is a Fractional Product Manager, and Why Hire One?Boost your product's success with a Fractional Product Managerâexpert leadership and tailor"},"/author/moonshot-girls":{title:"Moonshot-Girls | Moonshot Partners",description:"Women in Tech Group",textSample:"Moonshot-GirlsWomen in Tech GroupThe Moonshot-Girls are a dynamic and inspiring group of women working in the technology industry at Moonshot Partners. They bring together diverse backgrounds, experiences, and perspectives, creating a powerful collective of knowledge and expertise. These talented professionals are passionate about advocating for gender equality and inclusion within the tech sector"},"/author/pedro-mejia":{title:"Pedro MejÃa | Moonshot Partners",description:"Head of Sales & Growth",textSample:"Pedro MejÃa Head of Sales & GrowthHelping startups and companies grow better in the digital world Follow me onArticles by Pedro MejÃaOffshore Softw
1275are Development: A Comprehensive GuideLooking to reduce costs and access skilled developers? Offshore software development may be the answer. Learn about benefits, risks, and best practices here.March 31, 2023Unsung Heroes: Women Also Shaped the History"},"/author/ricardo-rodriguez":{title:"Ricardo Rodriguez | Moonshot Partners",description:"Co-Founder at Moonshot Partners",textSample:"Ricardo RodriguezCo-Founder at Moonshot PartnersEntrepreneur, researcher and experienced developer. Exploring ways for improving the automatic generation of questionnaires using AI, deep learning and NLP in the e-learning and education spaceFollow me onArticles by Ricardo RodriguezBanking as a Service (BaaS): a solution for your businessDiscover how Banking as a Service (BaaS) can revolutionize yo"},"/author/rubens-pasquale":{title:"Rubens Pasquale | Moonshot Partners",description:"Chief Executive Officer",textSample:"Rubens PasqualeChief Executive OfficerMentor and business consultant. Helping companies grow through technologyFollow me onArticles by Rubens PasqualeMVP vs Prototype vs PoC: Decoding Development StrategiesExplore the intricacies of MVPs, Prototypes, and PoCs, understand their differences, and learn how to choose the right development approach for your project.July 12, 2023Survey App Development: "},"/author/sasha-briceno":{title:"Sasha Briceño | Moonshot Partners",description:"Content Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.",textSample:"Sasha BriceñoContent Creator and Co-Founder of Noodlesoup Studio. Writing & Photography.Follow me onArticles by Sasha BriceñoWebsite pages are not indexing? Check these 5 common reasonsProper indexing is crucial for website rankings. Discover 5 common indexation errors such as duplicate content and broken links and how to solve them.April 27, 2023Join us at LinkedInCompanychevron_rightOur Services"},"/author/valentina-delfino":{title:"Valentina Delfino | Moonshot Partners",description:"Project Manager",textSample:"Valentina DelfinoProject ManagerExperienced project manager leading a dynamic team in developing a groundbreaking crypto transaction app that seamlessly integrates with Xero, revolutionizing reconciliations. Follow me onArticles by Valentina DelfinoMVP Guide: Building an MVP with no coding skillsEmpower your entrepreneurial journey with no-code tools. Learn how to create a Minimum Viable Product ("},"/author/veronica-delfino":{title:"Veronica Delfino | Moonshot Partners",description:"Project Manager & SEO Strategist",textSample:'Veronica DelfinoProject Manager & SEO StrategistFollow me onArticles by Veronica DelfinoMVPs: Inspiring MVP Examples Across IndustriesExplore real-world examples of Minimum Viable Products (MVPs) across various industries, inspiring innovation and successful startups.July 5, 2023Master ChatGPT Prompts with the "Mother Prompt"Discover the "Mother Prompt" method for crafting perfect ChatGPT prompts.'},"/blog/banking-as-a-service-baas-a-solution-for-your-business":{title:"Banking as a Service (BaaS): a solution for your business",description:"Discover how Banking as a Service (BaaS) can revolutionize your business. Partner with a financial institution and offer financial products under your own brand",textSample:"Banking as a Service (BaaS): a solution for your businessBanking as a Service (BaaS): a solution for your businessWritten by: Ricardo RodriguezPublished:May 10, 2023UpdatedMay 22, 20235minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and"},"/blog/best-growth-marketing-agencies":{title:"Best Growth Marketing Agencies 2025: Top 15 Global Rankings",description:"Top 15 growth marketing agencies 2025. Meaningful leads with Orlando Osorio & Alberto Sadde. Complete guide with backlinks, pricing ($10K-$30K/month).",textSample:"Best Growth Marketing Agencies 2025: Top 15 Global RankingsBest Growth Marketing Agencies 2025: Top 15 Global RankingsWritten by: Francisco HernándezPublished:September 27, 2025UpdatedSeptember 27, 20259minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entreprene"},"/blog/best-resource-management-tools-for-it-agencies":{title:"Best Resource Management Tools for IT Agencies 2025",description:"Best IT resource management tools 2025. Mosaic leads with AI o
1275ptimization, Supervisible #2 with agency expertise. Complete guide for tech teams ($6-$35).",textSample:"Best Resource Management Tools for IT Agencies 2025 | Expert GuideBest Resource Management Tools for IT Agencies 2025 | Expert GuideWritten by: Francisco HernándezPublished:September 27, 2025UpdatedSeptember 27, 202511minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed start"},"/blog/best-software-development-companies-in-the-uk":{title:"Best Software Development Companies in the UK",description:"Find out which are the best software development companies in the United Kingdom and how to choose the best partner for your business needs",textSample:"Best Software Development Companies in the UKBest Software Development Companies in the UKWritten by: Francisco HernándezPublished:July 22, 2024Updated10minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.Letâs TalkThe United "},"/blog/boost-your-business-with-modernized-data-integration-architecture":{title:"Modernize Your Data Integration for Business Growth",description:"Discover how modernizing your data integration can boost your business. Learn the latest methodologies and tools to enhance data insights and efficiency.",textSample:"Boost Your Business with Modernized Data Integration ArchitectureBoost Your Business with Modernized Data Integration ArchitectureWritten by: Ricardo RodriguezPublished:February 18, 2023UpdatedMay 17, 20234minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepr"},"/blog/chat-gpt-is-google-search-business-dominance-challenged":{title:"Chat GPT vs Google: The Future of Search?",description:"Is Google's search dominance safe with the rise of AI-powered search engines like Chat GPT? What does it mean for the future of search?",textSample:"Chat GPT: Is Google Search Business dominance challenged?Chat GPT: Is Google Search Business dominance challenged?Written by: David GomezPublished:February 16, 2023UpdatedMay 17, 20234minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and "},"/blog/creating-our-first-node-js-package-with-typescript":{title:"Creating our first Node.js package with Typescript",description:"In this article, we will learn how to create a Node.js package with Typescript and publish it to npmjs.com",textSample:"Creating our first Node.js package with TypescriptCreating our first Node.js package with TypescriptWritten by: Leonardo CabezaPublished:February 27, 2023UpdatedMay 17, 202310minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups"},"/blog/educational-custom-software-development-overview":{title:"Educational Custom Software Development Overview",description:"Discover the power of custom software for education, enabling personalized learning, streamlining administrative tasks, and shaping the future of education.",textSample:"Educational Custom Software Development OverviewEducational Custom Software Development OverviewWritten by: Juan LagrangePublished:June 1, 2023UpdatedJune 1, 202316minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.Letâs Talk"},"/blog/freemium-vs-free-trial-choosing-the-right-model-for-your-digital-product":{title:"Cho
1275osing the Right Pricing Model for Your Digital Product",description:"Find the perfect pricing strategy for your digital product. Explore the pros and cons of Freemium, Free Trial, and hybrid models with our expert advice",textSample:"Freemium vs. Free Trial: Choosing the Right Model for Your Digital ProductFreemium vs. Free Trial: Choosing the Right Model for Your Digital ProductWritten by: Ricardo RodriguezPublished:March 13, 2023UpdatedSeptember 26, 20257minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-s"},"/blog/including-women-in-technology-insights-from-women-at-moonshot-partners":{title:"Women in Tech: Insights & Tips for Closing the Gender Gap",description:"Discover the value of women in tech through insights from Moonshot Partners, and learn how diversity benefits the industry and ways to close the gender gap.",textSample:"The Importance of Including Women in Technology: Insights from Women at Moonshot PartnersThe Importance of Including Women in Technology: Insights from Women at Moonshot PartnersWritten by: Moonshot-GirlsPublished:March 29, 2023UpdatedMarch 29, 202311minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development se"},"/blog/innovative-business-ideas":{title:"Innovative Business Ideas to Start with $50K in 2025",description:"Unlock your entrepreneurial potential with Moonshot's expert guide to launching a successful $50K business in 2025.",textSample:"Innovative Business Ideas to Start with $50K in 2025Innovative Business Ideas to Start with $50K in 2025Written by: Moonshot Editorial TeamPublished:January 28, 2025Updated6minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.L"},"/blog/master-chatgpt-prompts-with-the-socratic-mother-prompt":{title:'Master ChatGPT Prompts with the "Mother Prompt"',description:'Discover the "Mother Prompt" method for crafting perfect ChatGPT prompts. Learn through a step-by-step guide, humorous examples, and user experiences.',textSample:'Master ChatGPT Prompts with the "Mother Prompt"Master ChatGPT Prompts with the "Mother Prompt"Written by: Veronica DelfinoPublished:March 16, 2023UpdatedMarch 16, 20234minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.Letâs '},"/blog/minimum-viable-product-healthcare-innovation-unleashed":{title:"Minimum Viable Product: Healthcare Innovation Unleashed",description:"Discover how Minimum Viable Products (MVPs) are revolutionizing healthcare innovation. Learn from PillPack and Teladocâs successful examples.",textSample:"Minimum Viable Product: Healthcare Innovation UnleashedMinimum Viable Product: Healthcare Innovation UnleashedWritten by: Juan LagrangePublished:April 13, 2023UpdatedApril 13, 20235minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and sca"},"/blog/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge":{title:"MVP AI Lab Unleashed: Moonshots' Labs Unites Teams",description:"Explore Moonshot Partners' AI Lab: Uniting minds for innovation. Discover AI's role in MVP creation, shaping tech's future with transformative insights.",textSample:"MVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for KnowledgeMVP AI Lab Unleashed: Moonshots' Labs Unites Teams in a Quest for KnowledgeWritten by: David GomezPublished:August 11, 2023UpdatedAugust 11, 20238minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed st"},"/blog/mvp-guide-building-an-mvp-with-no-coding-skills":{title:"MVP Guide: Building an MVP with no coding skills",description:"Empower your entrepreneurial journey with no-code tools. Learn how to create a Minimum Viable Product (MVP) without coding, from idea to launch.",textSample:"MVP Guide: Building an MVP with no coding skillsMVP Guide: Building an MVP with no coding skillsWritten by: Valentina DelfinoPublished:July 13, 2023UpdatedSeptember 26, 202513minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups"},"/blog/mvp-testing-techniques-unveiled-redefining-product-validation":{title:"MVP Testing Techniques Unveiled: Redefining Product Validation",description:"Uncover innovative techniques for MVP testing, from hallway testing to Wizard of Oz MVPs. Learn how these methods redefine product validation.",textSample:"MVP Testing Techniques Unveiled: Redefining Product ValidationMVP Testing Techniques Unveiled: Redefining Product ValidationWritten by: Juan LagrangePublished:July 6, 2023UpdatedJuly 6, 202312minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicor"},"/blog/mvp-ux-design-balancing-simplicity-and-functionality":{title:"MVP UX Design: Balancing Simplicity and Functionality",description:"Discover how MVP UX design balances simplicity and functionality for successful products. Learn key principles, case studies, and strategies. Dive in now!",textSample:"MVP UX Design: Balancing Simplicity and FunctionalityMVP UX Design: Balancing Simplicity and FunctionalityWritten by: Katherinne Jara CáceresPublished:August 10, 2023UpdatedAugust 10, 202312minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns"},"/blog/mvp-vs-prototype-vs-poc-decoding-development-strategies":{title:"MVP vs Prototype vs PoC: Decoding Development Strategies",description:"Explore the intricacies of MVPs, Prototypes, and PoCs, understand their differences, and learn how to choose the right development approach for your project.",textSample:"MVP vs Prototype vs PoC: Decoding Development StrategiesMVP vs Prototype vs PoC: Decoding Development StrategiesWritten by: Rubens PasqualePublished:July 12, 2023UpdatedJuly 12, 202315minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and "},"/blog/mvps-inspiring-mvp-examples-across-industries":{title:"MVPs: Inspiring MVP Examples Across Industries",description:"Explore real-world examples of Minimum Viable Products (MVPs) across various industries, inspiring innovation and successful startups.",textSample:"MVPs: Inspiring MVP Examples Across IndustriesMVPs: Inspiring MVP Examples Across IndustriesWritten by: Veronica DelfinoPublished:July 5, 2023UpdatedJuly 5, 202310minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.Letâs TalkU"},"/blog/nearshore-software-development-guide":{title:"The Definitive Guide to Succeed at Nearshore Outsourcing",description:"Discover all the benefits of nearshore software development outsourcing and how to overcome its challenges.",textSample:"Nearshore Softw
1275are Development: The Definitive Guide to Nearshore Outsourcing in 2025Nearshore Software Development: The Definitive Guide to Nearshore Outsourcing in 2025Written by: Francisco HernándezPublished:March 10, 2025UpdatedMarch 10, 20255minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development servic"},"/blog/offshore-software-development-a-comprehensive-guide":{title:"Offshore Software Development: A Comprehensive Guide",description:"Looking to reduce costs and access skilled developers? Offshore software development may be the answer. Learn about benefits, risks, and best practices here.",textSample:"Offshore Software Development: A Comprehensive GuideOffshore Software Development: A Comprehensive GuideWritten by: Pedro MejÃaPublished:March 31, 2023UpdatedMarch 31, 20232minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.L"},"/blog/suaas-everything-you-need-to-know-to-launch-and-grow-your-business":{title:"Start-Up as a Service: How to Launch and Grow Your Business",description:"Discover the secrets to launching and growing a successful startup with Start-Up as a Service. We provide the expertise and tools you need to succeed.",textSample:"Start-Up as a Service: Everything You Need to Know to Launch and Grow Your BusinessStart-Up as a Service: Everything You Need to Know to Launch and Grow Your BusinessWritten by: Rubens PasqualePublished:March 10, 2023UpdatedMarch 10, 20237minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supp"},"/blog/survey-app-development-a-comprehensive-guide-to-app-surveys":{title:"Survey App Development: A Comprehensive Guide to survey apps",description:"Custom survey app development: Capture accurate data, enhance user experience, gain a competitive edge. Partner with us for innovative solutions. Contact us now",textSample:"Survey App Development: A Comprehensive Guide to survey appsSurvey App Development: A Comprehensive Guide to survey appsWritten by: Rubens PasqualePublished:May 24, 2023UpdatedMay 24, 202315minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns"},"/blog/the-future-of-ai-ethics-regulations-and-implications-for-businesses":{title:"AI's Future: Ethics, Regulations & Business Implications",description:"Explore AI's impact on industries like FinTech, EdTech, and PropTech, and learn about ethical, regulatory, and practical implications for businesses.",textSample:"The Future of AI: Ethics, Regulations, and Implications for BusinessesThe Future of AI: Ethics, Regulations, and Implications for BusinessesWritten by: Rubens PasqualePublished:March 24, 2023UpdatedMarch 24, 20234minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, "},"/blog/the-return-to-office-in-the-digital-nomads-era":{title:"At what cost? The return to office in the digital nomad's era",description:"Discover the benefits of remote work in the digital nomads era, and why returning to the office may come at a high cost.",textSample:"At what cost? The abrupt return to office in the digital nomads' eraAt what cost? The abrupt return to office in the digital nomads' eraWritten by: Jessica LeonPublished:February 20, 2023UpdatedMay 17, 20235minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrep"},"/blog/top-nearshore-software-development-services-in-uk":{title:"10 Best Nearshore Softw
1275are Development Services in the UK",description:"Discover the best nearshore software development companies in the UK and let them help you boost your projects and efficacy.",textSample:"Top Nearshore Software Development Services in UKTop Nearshore Software Development Services in UKWritten by: Francisco HernándezPublished:March 10, 2025UpdatedMarch 10, 20256minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups"},"/blog/unlock-your-businesss-potential-with-custom-software-development":{title:"Custom Software Development: project solutions",description:"Unlock your business's potential with custom software development. Increase efficiency, enhance security, and gain a competitive advantage. Learn more here.",textSample:"Unlock Your Business's Potential with Custom Software Development SolutionsUnlock Your Business's Potential with Custom Software Development SolutionsWritten by: Juan LagrangePublished:March 1, 2023UpdatedMarch 17, 20237minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed sta"},"/blog/unsung-heroes-women-also-shaped-the-history-of-tech":{title:"Women Who Shaped Tech History | A Tribute to Female Pioneers",description:"Discover the incredible contributions of women in tech history, from Ada Lovelace to Radia Perlman. Learn about their pioneering work and lasting legacies.",textSample:"Unsung Heroes: Women Also Shaped the History of TechUnsung Heroes: Women Also Shaped the History of TechWritten by: Pedro MejÃaPublished:March 7, 2023UpdatedMarch 7, 20235minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns, and scale-ups.Let"},"/blog/web-application-development":{title:"Web Application Development: What Is and How To Build It?",description:"Learn what web app development is and how to build one. Discover its benefits for your company and enhance your business with effective web solutions.",textSample:"What Is Web Application Development and How To Build It?What Is Web Application Development and How To Build It?Written by: Francisco HernándezPublished:April 16, 2024UpdatedApril 17, 20248minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorns,"},"/blog/website-pages-are-not-indexing-check-these-5-common-reasons":{title:"5 Common Reasons Why Website Pages Aren't Indexing",description:"Proper indexing is crucial for website rankings. Discover 5 common indexation errors such as duplicate content and broken links and how to solve them.",textSample:"Website pages are not indexing? Check these 5 common reasonsWebsite pages are not indexing? Check these 5 common reasonsWritten by: Sasha BriceñoPublished:April 27, 2023UpdatedApril 27, 20236minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, unicorn"},"/blog/what-is-a-fractional-product-manager":{title:"What Is a Fractional Product Manager, And Why Hire One?",description:"Boost your product's success with a Fractional Product Managerâexpert leadership and tailored strategies at a fraction of the cost.",textSample:"What Is a Fractional Product Manager, and Why Hire One?What Is a Fractional Product Manager, and Why Hire One?Written by: Moonshot Editorial TeamPublished:January 28, 2025UpdatedJanuary 28, 20255minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed startups, entrepreneurs, uni"},"/blog/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world":{title:"Why Strong Company Culture is the Key to Success",description:"Discover why a strong company culture is essential for success in a rapidly changing world. Learn how leaders can nurture and harness its power.",textSample:"Why Strong Company Culture is the Key to Success in a Rapidly Changing WorldWhy Strong Company Culture is the Key to Success in a Rapidly Changing WorldWritten by: Jessica LeonPublished:May 12, 2023UpdatedMay 22, 20235minute readï¡ïïïïIn this article:LinkLinkShare:ï¡ïïïïYour Trusted Tech PartnerOur expert teams are ready to partner with you through our development services, supporting pre-seed start"},"/case-studies/boosting-app-growth-targeted-messaging-for-english-learning":{title:"Boosting App Growth: Targeted Messaging for English Learning",description:"Success Case increasing app growth with Moonshot Partners' targeted messaging & user segmentation solution, improving conversions, retention, and referrals",textSample:"Boosting App Growth: Targeted Messaging for English Learning15% conversion increase20% retention improvement7% rise in referrals14% NPS boostThe challengeAfter launching a new web and mobile application, our client - a leading global English L
1275anguage Learning provider - was struggling to effectively segment and target their messaging to users based on demographic information and behavior. This cri"},"/case-studies/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow":{title:"Optimizing ETL Workflows for Reliable Data at Spartan Nash",description:"Discover how Moonshot optimized ETL workflows for Spartan Nash to streamline data processing, overcome data quality issues, and improve decision-making.",textSample:"ETL Data Workflows: Spartan Nash boosts business logic through the modernization of ETL workflowSpartan Nash is an American food, grocery products, and supplies distributor, serving independent retailers and military commissaries, with corporate-owned retail stores in 44 states of the US, Europe, Latin America, and the Middle East, listed on the stock exchange with over $9B in revenue for 2022. Sp"},"/case-studies/gamified-and-customizable-web-based-survey-app-development":{title:"Playverto and Moonshot Create Innovative Survey Tool",description:"Playverto & Moonshot's web-based platform offers a gamified approach to customizable surveys revolutionizing market research",textSample:"Playverto and Moonshot partnered to build a customizable web-based survey tool that is changing the game for community engagementPlayverto is a social enterprise specializing in data-led community engagement through the use of technology and play-based experiences. Play Verto is on a mission to enable the social impact ecosystem by inspiring diverse communities to share authentic insights and play"},"/case-studies/investing-in-people-how-sunlight-helps-organizations-thrive":{title:"Enabling Team Growth with Sunlight's Learning Platform",description:"Discover how Moonshot helped Sunlight build an agile and secure web-app platform for personalized team learning, resulting in US$2M funding.",textSample:"Investing in people: How Sunlight helps organizations thriveSunlight is a London-based pre-seed startup that aims to enable team growth by providing personalized access to any learning resource in the world through an engaging, secure, and easy-to-use platform. It is an agile and efficient self-management tool for companies to administrate their learning budgets by enabling them to deliver, track,"},"/case-studies/language-learning-app-development":{title:"Moonshot Develops Innovative Language Learning App",description:"Moonshot empowers a Language Learning App with gamification and multi-language content, improving user experience and retention.",textSample:"Empowering Language Learning: Innovative Web and Mobile App DevelopmentGamification elements: fun and dynamicMulti-language content: 3 languagesTrack progress and stay motivatedScrum framework and event-driven architectureThe challengeIn the aim to continuously improve its value proposition, a global leading English provider was looking for new ways to grow their franchise base by building a web a"},"/case-studies/no-code-automation-how-moonshot-empowered-a-venture-capital":{title:"No-Code Automation: How Moonshot Empowered a Venture Capital",description:"Moonshot revolutionized venture capital decision-making, introducing a custom automation tool that consolidates and analyses diverse data sources.",textSample:"No-Code Automation: How Moonshot Empowered a Venture Capital in their Investment StrategyTailored Data Automation ToolSeamless Data ExtractionScalable AWS ArchitectureBoosted Productivity & GrowthThe challengeIn the dynamic landscape of venture capital, the ability to make informed investment decisions quickly can mean the difference between success and missed opportunities. Our client, in their v"},"/case-studies/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai":{title:"NOVA: AI-Powered Discovery Calls Made Easy",description:"NOVA: AI-Powered Discovery Calls Made Easy",textSample:"NOVA: AI-Powered Discovery Calls Made EasyAt Moonshot Partners, our premier digital product studio, we sought to improve client interactions by reducing friction during initial website visits and enhancing lead qualification efficie
1275ncy. We implemented Nova, an advanced conversational AI Discovery Agent, to engage visitors more effectively and streamline the initial discovery process.Improved Clien"},"/case-studies/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search":{title:"Pattern Discovery AI: Advancing Design with Smart Search",description:"Pattern Discovery AI: Enhancing Design Exploration with Intelligent Search",textSample:"Pattern Discovery AI: Enhancing Design Exploration with Intelligent SearchAt The Design Agent, part of The Pattern Cloud, we aimed to revolutionize the design discovery process by creating an intelligent search tool that streamlines the exploration of pattern designs. We introduced Pattern Discovery AI, an innovative AI-powered search platform, to provide users with a seamless and creative way to "},"/case-studies/product-discovery-the-lanbys-primary-healthcare-innovation":{title:"Product Discovery: The Lanby's Primary Healthcare Innovation",description:"Learn how The Lanby partnered with Moonshot to revolutionize primary healthcare through innovative product discovery and a patient-centric approach",textSample:"Product Discovery: The Lanby's Primary Healthcare InnovationThe Lanby is a unique healthcare provider in the US, focused on an integrative primary care solution that brings together physicians, wellness advisors, and concierge managers to provide holistic and integrative care. With a relentless drive to revolutionize the healthcare industry, this startup is committed to tackling challenges from a "},"/case-studies/website-seo-optimization":{title:"Website SEO optimization project Success Case: Go1",description:"Partnering with Moonshot, Go1 improved their website SEO for faster loading times, GDPR compliance, and increased organic traffic and engagement.",textSample:"Go1 UX and SEO Website Optimization Upgrade: Boosting Performance and Driving GrowthGo1 is a globally curated eLearning library from top training providers in a single subscription that integrates both learning management (LMS) and Human Resources Information systems (HRIS) to provide a one-stop-shop for businesses and organizations to access, manage and deliver employee training and development p"},"/careers/android":{title:"Android Developer Job | Moonshot",description:"Join us as an Android Developer and help us build innovative mobile solutions. Join our team from any place in the world.",textSample:"Android DeveloperResponsibilitiesHelp design, develop, and maintain complex mobile applicationsDevelop with a focus on app performance and maintaining responsive UIWork with backend API developersCollaborate with product management, technical writers, and user experience designersHandle individual project priorities, deadlines and work you're doingContribute to software quality, performance, and r"},"/careers/backend":{title:"Backend Engineer Job Opening | Moonshot",description:"Join our team as a Backend Engineer and help us build innovative software solutions. Join our team from any place in the world.",textSample:"Backend EngineerResponsibilitiesDeveloping and maintaining all server-side network componentsEnsuring optimal performance of the central database and responsiveness to front-end requestsCollaborating with front-end developers on the integration of elementsDesigning customer-facing UI and back-end services for various business processesDeveloping high-performance applications by writing testable, r"},"/careers/frontend":{title:"Frontend Engineer Job | Moonshot",description:"Join us as a Frontend Engineer and help build innovative web solutions. Join our team from any place in the world.",textSample:"Frontend EngineerResponsibilitiesHelp design, develop, and maintain complex web applicationsDevelop with a focus on app performance and maintaining responsive UIWork closely with our platform engineers to define the APIs needed for the Saas UICollaborate with product management, technical writers, and user experience designersEnsure accessibilityHandle individual project priorities, deadlines and "},"/careers/ios-developer":{title:"iOS Developer Job | Moonshot",description:"Join us as an iOS Developer and help build innovative mobile solutions. Join our team from any place in the world.",textSample:"iOS DeveloperResponsibilitiesHelp design, develop, and maintain complex mobile applicationsDevelop with a focus on app performance and maintaining responsive UIWork with backend API developersCollaborate with product management, technical writers, and user experience designersHandle individual project priorities, deadlines and work you're doingContribute to software quality, performance, and resil"}
1275,"/careers/product-manager":{title:"Join Our Team as a Talented Product Manager | Moonshot",description:"We're seeking a talented Product Manager with a passion to build the future. Join our team from any place in the world and take part in this amazing adventure.",textSample:"Product ManagerWe are looking for a talented individual to play a key role in aligning the product strategy with the overall business goals, developing a vision for the product, creating a prioritized roadmap of features and initiatives, providing insights and support to sales and other teams, monitoring market trends and competitors.If you have a passion for product management, we encourage you t"},"/services/agile-consulting-services":{title:"Expert Agile Consulting Services | Maximize Your Efficiency",description:"Transform your business with Moonshot's agile consulting services. Embrace innovation, flexibility, and rapid response to change. Tailored strategies to meet your unique business challenges.",textSample:"Agile Methodology: Why Do You Need It?Whatâs Agile Methodology?Agile Methodology is a project management and software development approach that focuses on iterative progress, collaborative efforts, and rapid adaptability to change. It breaks projects into smaller, manageable segments, allowing for frequent reassessment and adaptation.Benefits of Agile MethodologyAdopting Agile offers numerous bene",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/ai-development-services-for-startups":{title:"AI Development Services for Startups | Moonshot Partners",description:"Expert AI development for startups. We build custom AI solutions & MVPs to help you validate ideas, secure funding, and gain a competitive market edge.",textSample:"Key HighlightsTailored AI development services enable startups to rapidly build, validate, and scale intelligent products for market traction and funding success.Custom solutions include natural language processing, process automation, and advanced machine learning tailored for early-stage operational efficiency.Agile, lean development processes integrate advanced learning models, ensuring MVPs ar"},"/services/angularjs-development-company":{title:"AngularJS Development Company | Hire Angularjs Developers",description:"Maximize your web potential with Moonshot AngularJS development services. Expertise in cutting-edge solutions to innovate and scale your business.",textSample:"Why AngularJS ?AngularJS is ideal for MVP development, providing all the essential tools to build applications from scratch efficie
1275ntly. Its robust framework streamlines the process, delivering fast results and meeting client needs for swift, effective solutions.Letâs TalkOur Angularjs Development ServicesLet's innovate together, crafting web applications that are not just built, but are engineere",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/api-integration-services-london-uk":{title:"API Integration Services: Custom Development | London, UK",description:"Discover tailored API Integration Services in the UK, optimized for seamless business operations. Enhance workflows and drive growth with expert solutions.",textSample:"Our API Development ServicesUnlike one-size-fits-all solutions, our API Development Services are meticulously crafted to align with your distinct requirements. Think of it as a bespoke solution, tailored exclusively for your business needs. Say goodbye to compromises and embrace a seamlessly integrated API experience designed just for you.Here's what we bring to the table:Custom API DevelopmentTai",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/artificial-intelligence-development-company":{title:"Artificial Intelligence Development Company | AI Development Services",description:"Partner with an AI software development company that delivers tailored machine learning, NLP, and automation solutions for startups and enterprises.",textSample:"A Strategic Approach to AI with our Development ExpertiseWhether you're in healthcare, fintech, e-commerce, real estate, or cybersecurity, our AI development services are designed to streamline business processes, enhance user experience, and create scalable, bespoke solutions powered by data and automation. Every successful AI implementation starts with strategy: We work closely with you to align"},"/services/bespoke-software-development-london-uk":{title:"Bespoke Software Development Services | London, UK.",description:"Based in London, England, our agency bridges tradition with innovation, serving clients locally and globally. Bring your company's vision to life with bespoke software development, enhance your brand, and captivate your audience.",textSample:"Our Bespoke Software Development ServicesUnlock the full potential of your business with bespoke software. Unlike generic off-the-shelf solutions, which may come with unnecessary features or lack essential ones, bespoke software is made to fit your unique needs, like a perfectly crafted suit. Say âgoodbyeâ to frustration, and âhelloâ to a software solution designed just for you. What we can do for",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/custom-enterprise-software-development":{title:"Custom Enterprise Software Development | Moonshot",description:"Transform your business with our custom enterprise software development. We deliver scalable, secure & innovative solutions tailored to your needs. Talk to us!",textSample:"We Provide Efficient Custom Enterprise Software Development ServicesEnterprise Application Development ServicesWe create tailored enterprise applications that streamline business operations, enhance efficiency, and align with your specific organizational needs. Our solutions are designed to integrate seamlessly with your existing systems, providing robust and scalable functionality.Enterprise Mobi",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/custom-software-development-for-startups":{title:"Software Development for Startups | Tailored Solutions",description:"Drive your startup with tailored software development solutions. From MVP to scalable growth, we're here to support you every step of the way.",textSample:"Our Software Development Services for StartupsExplore how our high-quality software development services can shape your business idea into a thriving venture. Below, you'll discover everything we can offer you as your trusted development partner, from the MVP development stage to delivering the final product.Custom SoftwareDeploy your Minimum Viable Product (MVP), streamline your systems, or eleva",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/database-development-services":{title:"Database Development Services for All Your Business Needs",description:"Elevate your business with our database softw
1275are development services. Tailored solutions for your unique needs. Explore our case studies today.",textSample:"Why Invest in Database Development Services?Data Organization and AccessibilityA well-designed database centralizes information, making it easier for teams to store, retrieve, and analyze data efficiently.Enhanced Decision-MakingWith real-time access to structured data, companies can make data-driven decisions faster, improving responsiveness to market trends.ScalabilityCustom database development",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/devops-consulting":{title:"Expert DevOps Consulting Services | Maximize Productivity",description:"Transform your software delivery with our DevOps consulting services. Achieve faster time-to-market and enhance software quality with our solutions.",textSample:"What is DevOps Consulting?DevOps consulting involves integrating and implementing DevOps practices into your business to streamline and enhance IT operations and software development. Moonshot's DevOps consulting company specializes in creating a seamless synergy between development and operations teams.Key Principles of DevOpsDevOps is built on principles like automation, continuous integration a",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/elearning-software-development-company-london-uk":{title:"E-Learning Softw
1275are Development Company | Custom Solutions",description:"Unlock learning potential with our eLearning Software Development Services. Expertise, customization, and innovation in one. Choose Moonshot. Let's Talk!",textSample:"Our E-learning SolutionsAt Moonshot, we know that, when it comes to learning, one size doesn't fit all. Our e-learning solutions are tailor-made to meet your organization's unique needs, providing a seamless blend of technology and pedagogy.Learning Management System (LMS)Get the most out of your training programs with our robust learning management systems (LMS). Our LMS solutions are designed to",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/enterprise-application-development-services":{title:"Enterprise Application Development Services | Moonshot",description:"Moonshot offers expert enterprise app development, from consulting to optimization. Scalable solutions for your business needs",textSample:"Enterprise Application Development ProcessEnterprise application development involves creating tailored software solutions to meet specific business needs. The process typically includes:Requirements Gathering: Understanding business goals and defining key features for custom enterprise solutions.Planning & Design: Creating a project plan or roadmap and designing a robust system architecture to su",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/hire-dedicated-software-development-team":{title:"Hire Dedicated Software Developers | Moonshot",description:"Elevate your projects with Moonshotâs dedicated software development team. Tailored solutions and project management.",textSample:"What Is A Dedicated Software Development Team?A dedicated software development team is a strategic approach where a company engages a specialized team to exclusively handle its projects. Unlike traditional outsourcing, where tasks are delegated to external entities, a dedicated team becomes an integral extension of the company.Letâs TalkBenefits of Hiring a Dedicated Software Development TeamAcces",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/it-staff-augmentation-services":{title:"IT Staff Augmentation Services",description:"Unlock growth with Moonshot's IT staff augmentation services. Access top talent, flexible solutions for startups, and cost-effective staffing for short-term projects.",textSample:"What is IT Staff Augmentation?IT Staff Augmentation is a strategic outsourcing model in the tech and business world. It allows companies to enhance their teams by bringing in skilled professionals for temporary projects without the commitment of long-term hiring.For instance, a software development company might use IT Staff Augmentation to quickly add experienced mobile app developers for a speci",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/leading-software-product-development-company":{title:"Leading Software Product Development Services: Build & Scale",description:"Transform your business with leading software product development services. Drive growth, boost efficiency, and get solutions to market fasterâdiscover more.",textSample:"Our Software Product Development ServicesWe offer software product development services that address real-world needs. Each service is customizable, targeting specific functionality and objectives that fit your roadmap.Custom Software DevelopmentWe build custom software that goes beyond off-the-shelf products. Our solutions address unique workflows, security requirements, and business objectives.C"},"/services/mobile-app-development-services":{title:"Expert Mobile App Development Services | Top App Developers",description:"Unlock the full potential of your business with our top-notch mobile app development services. Expert app developers ready to bring your ideas to life.",textSample:"Our Mobile Application Development ServicesMove beyond generic solutions. Our mobile app development services are crafted to meet your needs.We offer the following services:Comprehe
1275nsive Mobile App Development ServicesCross-Platform SolutionsUser-Centric UI/UX DesignRapid PrototypingAutomated QA and TestingEmbedded Android & AOSP CustomizationsMaintenance and Ongoing SupportProduct Design Services",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/mvp-development-services":{title:"MVP Development Services | Moonshot",description:"Launch your product quickly and efficiently with our expert MVP Development Services. We help you validate your idea with a tailored Minimum Viable Product.",textSample:"Our Custom MVP Software Development Services At Moonshot, we provide essential MVP services as part of our core software development offering to bring your vision to life efficiently:1. MVP Prototyping and DesignWe create wireframes and prototypes to visualize and refine your minimum viable product before development, ensuring a well-defined MVP design.2. MVP Software DevelopmentWe launch your MVP",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/mvp-development-services-for-startups":{title:"Expert MVP Development Services for Startups| Moonshot",description:"Unlock your startup's potential with our MVP development services. Validate your product idea and achieve rapid market entry with tailored MVP solutions and ongoing support.",textSample:"Our MVP Development Services for StartupsAt Moonshot, we offer a comprehensive suite of MVP development services tailored to the unique needs of startups like yours. Our team of designers, developers, and project managers work seamlessly to bring your vision to life and ensure your product's success in the market.We'll help you build a minimum viable product that aligns with your business goals an",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/mvp-development-services-london-uk":{title:"MVP Development Services in London, UK | Launch Your Startup",description:"We turn your innovative startup ideas into functional, market-ready products. Embrace agility and cost-efficiency with our expert MVP development services.",textSample:"What is MVP Development?MVP (Minimum Viable Product) development is a methodology in product development services that focuses on creating a new product with enough features to satisfy early adopters. The final, complete set of features is only designed and developed after considering feedback from the product's initial users.MVP in Software DevelopmentMVP in software development is about implemen",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/mvp-software-development-services-in-usa":{title:"MVP Software Development Services in USA | Moonshot",description:"Accelerate your US business with our MVP development services. From Silicon Valley to NYC, we deliver innovative, scalable solutions. Talk to us!",textSample:"What is an MVP Softw
1275are and Why Does Your Business in the USA Need It?An MVP (Minimum Viable Product) is the core version of your product that offers enough core features to attract early adopters and validate your business idea with real users. It's a strategic approach that saves you time, minimizes risks, and provides critical user feedback. In the competitive US market, launching with an MVP a",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/outsource-react-js-development":{title:"Outsource React JS Development",description:"¿Looking to outsource your React JS development? Discover the benefits of outsourcing ReactJS services and find expert developers.",textSample:"Our React Outsourcing ServicesEnd-to-End React SolutionsWe provide a comprehensive range of services from initial consultation and project scoping to development and post-launch support. Our holistic approach positions us as a top choice for React project outsourcing.Agile MethodologiesOur use of agile methodologies ensures flexibility and responsiveness throughout the development process, allowin",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/outsourcing-software-development-solutions":{title:"Expert Software Development Outsourcing Services",description:"Boost your business with expert softw
1275are development outsourcing. Cost-effective, seamless solutions for success.",textSample:"Our Software Development Outsourcing ServicesUnlike generic off-the-shelf solutions, which may offer unnecessary services or lack essential ones, our software development outsourcing services are tailor-made to meet your unique needs. It's like having a perfectly crafted suit for your business requirements. Bid farewell to frustration and welcome a software solution designed exclusively for you.Th",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/react-js-consulting-services":{title:"ReactJS Consulting Services | Moonshot",description:"Looking for React.js consulting services? Our team of experienced developers can help enhance your React.js web & mobile apps. Find a reactjs expert!",textSample:"Our React.JS Consulting ServicesReactJS consulting services are designed to empower your business or startup with the full potential of ReactJS.Custom ReactJS DevelopmentReactJS App OptimizationReactJS Integration ServicesReactJS Performance TuningReactJS Migration ServicesReactJS Support and MaintenanceLetâs TalkBenefits Of Team Up With React.JS ConsultantsPartnering with ReactJS consultants can ",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/saas-application-development-company":{title:"Custom SaaS App Software Development Company",description:"Discover SaaS Application Development Services with Moonshot. Elevate your business ideas with functionality, scalability, and cloud-based solutions.",textSample:"Our SaaS Application Development SolutionsAt Moonshot, our SaaS Application Development services and solutions are designed to elevate your business goals in the digital space.Data-Driven Innovation and FunctionalityOur approach to SaaS product development prioritizes data-driven innovation, ensuring that every functionality meets the evolving demands of the market and enhances user engagement.Use",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/saas-mvp-development-services":{title:"SaaS MVP Development Services | Moonshot",description:"Develop your SaaS MVP quickly and effectively with Moonshot. Validate your idea, reduce risks, and stay on budgetâcontact us to kickstart your project!",textSample:"What is a SaaS MVP?A SaaS MVP (Minimum Viable Product) is the initial version of a software-as-a-service product that includes only the essential features necessary to meet the needs of early adopters. This approach allows startups to validate their product idea quickly while minimizing resource investment.In the tech world, speed is critical. SaaS MVP development lets companies launch quickly, ge",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/software-consulting-services-london-uk":{title:"Tailored Software Consulting Services in London, UK",description:"Elevate your UK business with bespoke software solutions and expert consulting. Tailored strategies, efficient workflows, and innovation to drive your success.",textSample:"Our Software Consulting ServicesNo one-size-fits-all solutions hereâthink of it like getting a custom-tailored suit for your business needs. Forget the headaches of unnecessary features or missing essentials; we're here to craft a software solution that suits you to perfection.Here's what's on the table for you:Custom Software DevelopmentFrom concept to execution, we collaborate closely to underst",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/software-testing-services":{title:"Expert Software Testing Services for Quality Assurance",description:"Enhance your software quality with our comprehensive software testing services. Specializing in QA, automated, and manual testing to ensure reliability and performance.",textSample:"Comprehensive Software Testing SolutionsUnit TestingUnit Testing is a vital part of software testing where individual components or units of the code are tested. The purpose is to validate that each unit of the softw
1275are performs as designed. This is the first level of testing and is often performed by the developers themselves. Unit tests isolate a section of code and verify its correctness. A wel",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]},"/services/web-application-development-in-london":{title:"Expert Web Application Development in London",description:"Discover expert web application development services in London with Moonshot. We create scalable, custom solutions tailored to your business needs using cutting-edge technologies.",textSample:"Custom Web Applications Tailored to Your BusinessMoonshot delivers bespoke software development and web development company services designed to address your unique challenges and opportunities. By leveraging cutting-edge technologies like React, Angular, Node.js, Python, and PHP, we ensure your application is robust, user-friendly, and future-proof.Custom CRM Systems: Optimize workflows and enhan"},"/services/web-application-development-services-london-uk":{title:"Professional Web Application Development Services",description:"Discover expert web application development tailored to your business needs. Elevate your digital presence with innovative, scalable, and secure solutions. Letâs Talk!",textSample:"Why Choose Our Web App Development CompanyMoonshot stands out for its commitment to delivering top-notch, end-to-end custom web app solutions. We specialize in agile software development methodologies, ensuring swift, adaptive project management and delivery.Our tech stack includes cutting-edge technologies like Nest.js, React, Angular, and Vue.js for front-end development, as well as robust back-",warnings:["Image download failed: https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg"]}},_E=Vm,PE=Object.assign({"../../data/legacy/jsonld/android.json":Bc,"../../data/legacy/jsonld/backend.json":Wc,"../../data/legacy/jsonld/banking-as-a-service-baas-a-solution-for-your-business.json":Uc,"../../data/legacy/jsonld/best-growth-marketing-agencies.json":Hc,"../../data/legacy/jsonld/best-resource-management-tools-for-it-agencies.json":Gc,"../../data/legacy/jsonld/best-software-development-companies-in-the-uk.json":qc,"../../data/legacy/jsonld/boost-your-business-with-modernized-data-integration-architecture.json":Jc,"../../data/legacy/jsonld/boosting-app-growth-targeted-messaging-for-english-learning.json":Kc,"../../data/legacy/jsonld/chat-gpt-is-google-search-business-dominance-challenged.json":Qc,"../../data/legacy/jsonld/contact.json":Yc,"../../data/legacy/jsonld/creating-our-first-node-js-package-with-typescript.json":Zc,"../../data/legacy/jsonld/david-gomez.json":Xc,"../../data/legacy/jsonld/educational-custom-software-development-overview.json":ed,"../../data/legacy/jsonld/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json":td,"../../data/legacy/jsonld/francisco-hernandez.json":nd,"../../data/legacy/jsonld/frontend.json":od,"../../data/legacy/jsonld/gamified-and-customizable-web-based-survey-app-development.json":rd,"../../data/legacy/jsonld/including-women-in-technology-insights-from-women-at-moonshot-partners.json":ad,"../../data/legacy/jsonld/innovative-business-ideas.json":sd,"../../data/legacy/jsonld/investing-in-people-how-sunlight-helps-organizations-thrive.json":id,"../../data/legacy/jsonld/ios-developer.json":ld,"../../data/legacy/jsonld/jessica-leon.json":cd,"../../data/legacy/jsonld/juan-lagrange.json":dd,"../../data/legacy/jsonld/katherinne-jara-caceres.json":ud,"../../data/legacy/jsonld/language-learning-app-development.json":pd,"../../data/legacy/jsonld/leonardo-cabeza.json":hd,"../../data/legacy/jsonld/manifest.json":vr,"../../data/legacy/jsonld/moonshot-editorial-team.json":md,"../../data/legacy/jsonld/moonshot-girls.json":fd,"../../data/legacy/jsonld/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json":gd,"../../data/legacy/jsonld/mvp-testing-techniques-unveiled-redefining-product-validation.json":yd,"../../data/legacy/jsonld/mvp-ux-design-balancing-simplicity-and-functionality.json":vd,"../../data/legacy/jsonld/mvp-vs-prototype-vs-poc-decoding-development-strategies.json":wd,"../../data/legacy/jsonld/mvps-inspiring-mvp-examples-across-industries.json":bd,"../../data/legacy/jsonld/no-code-automation-how-moonshot-empowered-a-venture-capital.json":xd,"../../data/legacy/jsonld/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json":kd,"../../data/legacy/jsonld/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json":Sd,"../../data/legacy/jsonld/pedro-mejia.json":_d,"../../data/legacy/jsonld/product-discovery-the-lanbys-primary-healthcare-innovation.json":Pd,"../../data/legacy/jsonld/product-manager.json":jd,"../../data/legacy/jsonld/ricardo-rodriguez.json":Ad,"../../data/legacy/jsonld/rubens-pasquale.json":Cd,"../../data/legacy/jsonld/sasha-briceno.json":Ed,"../../data/legacy/jsonld/services-shared.json":Ci,"../../data/legacy/jsonld/suaas-everything-you
1275-need-to-know-to-launch-and-grow-your-business.json":Td,"../../data/legacy/jsonld/the-return-to-office-in-the-digital-nomads-era.json":Id,"../../data/legacy/jsonld/top-nearshore-software-development-services-in-uk.json":Od,"../../data/legacy/jsonld/unlock-your-businesss-potential-with-custom-software-development.json":Md,"../../data/legacy/jsonld/valentina-delfino.json":Ld,"../../data/legacy/jsonld/veronica-delfino.json":Rd,"../../data/legacy/jsonld/web-application-development.json":Nd,"../../data/legacy/jsonld/website-pages-are-not-indexing-check-these-5-common-reasons.json":Dd,"../../data/legacy/jsonld/website-seo-optimization.json":zd,"../../data/legacy/jsonld/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json":Fd}),jE=vr.archived;function AE(e){const t=jE[e];if(!t)return[];const n=PE[`../../data/legacy/jsonld/${t}`];return n?Array.isArray(n)?n:[n]:[]}function CE({author:e}){const t=`/author/${e.slug}`,n=SE[t];return wo({title:(n==null?void 0:n.title)??e.name,description:(n==null?void 0:n.description)??e.role??null,path:t}),ls([BA(e),...AE(t)]),l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs(Vd,{accession:`AUTHOR / ${e.slug}`,eyebrow:"Moonshot archive / contributor",title:e.name,heroImage:e.photo,heroImageAlt:e.name,children:[e.role&&l.jsx("p",{className:"legacy-author-role",children:e.role}),e.bioHtml&&l.jsx(Xa,{html:e.bioHtml}),e.linkedin&&l.jsx("p",{className:"legacy-author-follow",children:l.jsx("a",{href:e.linkedin,target:"_blank",rel:"noreferrer",children:"Follow me on"})}),l.jsxs("section",{className:"legacy-author-articles",children:[l.jsx("h2",{children:"Articles"}),l.jsx("ol",{children:e.posts.map((o,r)=>l.jsxs("li",{children:[l.jsx("span",{children:String(r+1).padStart(2,"0")}),l.jsx(dt,{to:o.href,children:o.title})]},`${o.href}-${r}`))})]}),l.jsx("style",{children:` 1276 .legacy-author-role { 1277 margin: 0 0 52px; 1278 color: ${k.onPaperMute}; 1279 font-family: ${G.sans}; 1280 font-size: clamp(19px, 2vw, 25px); 1281 line-height: 1.65; 1282 } 1283 .legacy-author-follow { margin: 36px 0 0; } 1284 .legacy-author-follow a { 1285 color: ${k.blueprint}; 1286 font-family: ${G.mono}; 1287 font-size: 12px; 1288 font-weight: 700; 1289 letter-spacing: .14em; 1290 text-transform: uppercase; 1291 text-decoration: none; 1292 border-bottom: 1px solid ${k.blueprint}; 1293 padding-bottom: 3px; 1294 } 1295 .legacy-author-articles { margin-top: clamp(72px, 10vw, 128px); } 1296 .legacy-author-articles h2 { 1297 margin: 0 0 28px; 1298 font-family: ${G.display}; 1299 font-size: clamp(44px, 7vw, 86px); 1300 font-weight: 540; 1301 letter-spacing: -.055em; 1302 line-height: .95; 1303 } 1304 .legacy-author-articles ol { 1305 margin: 0; 1306 padding: 0; 1307 list-style: none; 1308 border-top: 1px solid ${k.chalk}; 1309 } 1310 .legacy-author-articles li { 1311 display: grid; 1312 grid-template-columns: 42px minmax(0, 1fr); 1313 gap: 18px; 1314 padding: 24px 0; 1315 border-bottom: 1px solid ${k.chalk}; 1316 } 1317 .legacy-author-articles li span { 1318 color: ${k.blueprint}; 1319 font-family: ${G.mono}; 1320 font-size: 10px; 1321 font-weight: 700; 1322 letter-spacing: .12em; 1323 } 1324 .legacy-author-articles li a { 1325 color: ${k.ink}; 1326 font-family: ${G.display}; 1327 font-size: clamp(22px, 2.8vw, 34px); 1328 font-weight: 540; 1329 letter-spacing: -.035em; 1330 line-height: 1.1; 1331 text-decoration: none; 1332 } 1333 .legacy-author-articles li a:hover { color: ${k.blueprint}; } 1334 `})]}),l.jsx(yo,{})]})}function EE(){const{slug:e=""}=Pi(),t=_E.find(n=>n.slug===e);return t?l.jsx(CE,{author:t}):l.jsx(Xr,{})}const py=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,hy=w0,$m=(e,t)=>n=>{var o;if((t==null?void 0:t.variants)==null)return hy(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:r,defaultVariants:a}=t,s=Object.keys(r).map(d=>{const u=n==null?void 0:n[d],m=a==null?void 0:a[d];if(u===null)return null;const g=py(u)||py(m);return r[d][g]}),i=n&&Object.entries(n).reduce((d,u)=>{let[m,g]=u;return g===void 0||(d[m]=g),d},{}),c=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,u)=>{let{class:m,className:g,...y}=u;return Object.entries(y).every(x=>{let[f,b]=x;return Array.isArray(b)?b.includes({...a,...i}[f]):{...a,...i}[f]===b})?[...d,m,g]:d},[]);return hy(e,s,c,n==null?void 0:n.class,n==null?void 0:n.className)},TE=$m("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),E0=p.forwardRef(({className:e,variant:t,size:n,asChild:o=!1,...r},a)=>{const s=o?YP:"button";return l.jsx(s,{className:He(TE({variant:t,size:n}),e),ref:a,...r})});E0.displayName="Button";const ca=p.forwardRef(({className:e,type:t,...n},o)=>l.jsx("input",{type:t,className:He("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...n}));ca.displayName="Input";const T0=p.forwardRef(({className:e,...t},n)=>l.jsx("textarea",{className:He("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1334ing-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));T0.displayName="Textarea";function I0(e){const t=p.useRef({value:e,previous:e});return p.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function O0(e){const[t,n]=p.useState(void 0);return pt(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const a=r[0];let s,i;if("borderBoxSize"in a){const c=a.borderBoxSize,d=Array.isArray(c)?c[0]:c;s=d.inlineSize,i=d.blockSize}else s=e.offsetWidth,i=e.offsetHeight;n({width:s,height:i})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else n(void 0)},[e]),t}var $d="Checkbox",[IE,GR]=yr($d),[OE,Bm]=IE($d);function ME(e){const{__scopeCheckbox:t,checked:n,children:o,defaultChecked:r,disabled:a,form:s,name:i,onCheckedChange:c,required:d,value:u="on",internal_do_not_use_render:m}=e,[g,y]=Hr({prop:n,defaultProp:r??!1,onChange:c,caller:$d}),[x,f]=p.useState(null),[b,v]=p.useState(null),h=p.useRef(!1),w=x?!!s||!!x.closest("form"):!0,S={checked:g,disabled:a,setChecked:y,control:x,setControl:f,name:i,form:s,value:u,hasConsumerStoppedPropagationRef:h,required:d,defaultChecked:ar(r)?!1:r,isFormControl:w,bubbleInput:b,setBubbleInput:v};return l.jsx(OE,{scope:t,...S,children:LE(m)?m(S):o})}var M0="CheckboxTrigger",L0=p.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...o},r)=>{const{control:a,value:s,disabled:i,checked:c,required:d,setControl:u,setChecked:m,hasConsumerStoppedPropagationRef:g,isFormControl:y,bubbleInput:x}=Bm(M0,e),f=De(r,u),b=p.useRef(c);return p.useEffect(()=>{const v=a==null?void 0:a.form;if(v){const h=()=>m(b.current);return v.addEventListener("reset",h),()=>v.removeEventListener("reset",h)}},[a,m]),l.jsx(ve.button,{type:"button",role:"checkbox","aria-checked":ar(c)?"mixed":c,"aria-required":d,"data-state":F0(c),"data-disabled":i?"":void 0,disabled:i,value:s,...o,ref:f,onKeyDown:fe(t,v=>{v.key==="Enter"&&v.preventDefault()}),onClick:fe(n,v=>{m(h=>ar(h)?!0:!h),x&&y&&(g.current=v.isPropagationStopped(),g.current||v.stopPropagation())})})});L0.displayName=M0;var Wm=p.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:o,checked:r,defaultChecked:a,required:s,disabled:i,value:c,onCheckedChange:d,form:u,...m}=e;return l.jsx(ME,{__scopeCheckbox:n,checked:r,defaultChecked:a,disabled:i,required:s,onCheckedChange:d,name:o,form:u,value:c,internal_do_not_use_render:({isFormControl:g})=>l.jsxs(l.Fragment,{children:[l.jsx(L0,{...m,ref:t,__scopeCheckbox:n}),g&&l.jsx(z0,{__scopeCheckbox:n})]})})});Wm.displayName=$d;var R0="CheckboxIndicator",N0=p.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:o,...r}=e,a=Bm(R0,n);return l.jsx(ji,{present:o||ar(a.checked)||a.checked===!0,children:l.jsx(ve.span,{"data-state":F0(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})});N0.displayName=R0;var D0="CheckboxBubbleInput",z0=p.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:o,hasConsumerStoppedPropagationRef:r,checked:a,defaultChecked:s,required:i,disabled:c,name:d,value:u,form:m,bubbleInput:g,setBubbleInput:y}=Bm(D0,e),x=De(n,y),f=I0(a),b=O0(o);p.useEffect(()=>{const h=g;if(!h)return;const w=window.HTMLInputElement.prototype,_=Object.getOwnPropertyDescriptor(w,"checked").set,A=!r.current;if(f!==a&&_){const j=new Event("click",{bubbles:A});h.indeterminate=ar(a),_.call(h,ar(a)?!1:a),h.dispatchEvent(j)}},[g,f,a,r]);const v=p.useRef(ar(a)?!1:a);return l.jsx(ve.input,{type:"checkbox","aria-hidden":!0,defaultChecked:s??v.current,required:i,disabled:c,name:d,value:u,form:m,...t,tabIndex:-1,ref:x,style:{...t.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});z0.displayName=D0;function LE(e){return typeof e=="function"}function ar(e){return e==="indeterminate"}function F0(e){return ar(e)?"indeterminate":e?"checked":"unchecked"}const V0=p.forwardRef(({className:e,...t},n)=>l.jsx(Wm,{ref:n,className:He("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:l.jsx(N0,{className:He("flex items-center justify-center text-current"),children:l.jsx(y0,{className:"h-4 w-4"})})}));V0.displayName=Wm.displayName;var RE="Label",$0=p.forwardRef((e,t)=>
vendor: 19,353 bytes, line 1334
1334l.jsx(ve.label,{...e,ref:t,onMouseDown:n=>{var r;n.target.closest("button, input, select, textarea")||((r=e.onMouseDown)==null||r.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));$0.displayName=RE;var B0=$0;const NE=$m("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),In=p.forwardRef(({className:e,...t},n)=>l.jsx(B0,{ref:n,className:He(NE(),e),...t}));In.displayName=B0.displayName;function my(e,[t,n]){return Math.min(n,Math.max(t,e))}function xn(e){const t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...n)=>{var o;return(o=t.current)==null?void 0:o.call(t,...n)},[])}function DE(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e);p.useEffect(()=>{const o=r=>{r.key==="Escape"&&n(r)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[n,t])}var zE="DismissableLayer",ah="dismissableLayer.update",FE="dismissableLayer.pointerDownOutside",VE="dismissableLayer.focusOutside",fy,W0=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Bd=p.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:s,onDismiss:i,...c}=e,d=p.useContext(W0),[u,m]=p.useState(null),g=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,y]=p.useState({}),x=De(t,j=>m(j)),f=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),v=f.indexOf(b),h=u?f.indexOf(u):-1,w=d.layersWithOutsidePointerEventsDisabled.size>0,S=h>=v,_=BE(j=>{const I=j.target,D=[...d.branches].some(F=>F.contains(I));!S||D||(r==null||r(j),s==null||s(j),j.defaultPrevented||i==null||i())},g),A=WE(j=>{const I=j.target;[...d.branches].some(F=>F.contains(I))||(a==null||a(j),s==null||s(j),j.defaultPrevented||i==null||i())},g);return DE(j=>{h===d.layers.size-1&&(o==null||o(j),!j.defaultPrevented&&i&&(j.preventDefault(),i()))},g),p.useEffect(()=>{if(u)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(fy=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),gy(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=fy)}},[u,g,n,d]),p.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),gy())},[u,d]),p.useEffect(()=>{const j=()=>y({});return document.addEventListener(ah,j),()=>document.removeEventListener(ah,j)},[]),l.jsx(ve.div,{...c,ref:x,style:{pointerEvents:w?S?"auto":"none":void 0,...e.style},onFocusCapture:fe(e.onFocusCapture,A.onFocusCapture),onBlurCapture:fe(e.onBlurCapture,A.onBlurCapture),onPointerDownCapture:fe(e.onPointerDownCapture,_.onPointerDownCapture)})});Bd.displayName=zE;var $E="DismissableLayerBranch",U0=p.forwardRef((e,t)=>{const n=p.useContext(W0),o=p.useRef(null),r=De(t,o);return p.useEffect(()=>{const a=o.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),l.jsx(ve.div,{...e,ref:r})});U0.displayName=$E;function BE(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e),o=p.useRef(!1),r=p.useRef(()=>{});return p.useEffect(()=>{const a=i=>{if(i.target&&!o.current){let c=function(){H0(FE,n,d,{discrete:!0})};const d={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=c,t.addEventListener("click",r.current,{once:!0})):c()}else t.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",a),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function WE(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e),o=p.useRef(!1);return p.useEffect(()=>{const r=a=>{a.target&&!o.current&&H0(VE,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function gy(){const e=new CustomEvent(ah);document.dispatchEvent(e)}function H0(e,t,n,{discrete:o}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Qb(r,a):r.dispatchEvent(a)}var UE=Bd,HE=U0,$u=0;function GE(){p.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??yy()),document.body.insertAdjacentElement("beforeend",e[1]??yy()),$u++,()=>{$u===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),$u--}},[])}function yy(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Bu="focusScope.autoFocusOnMount",Wu="focusScope.autoFocusOnUnmount",vy={bubbles:!1,cancelable:!0},qE="FocusScope",G0=p.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...s}=e,[i,c]=p.useState(null),d=xn(r),u=xn(a),m=p.useRef(null),g=De(t,f=>c(f)),y=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(o){let f=function(w){if(y.paused||!i)return;const S=w.target;i.contains(S)?m.current=S:To(m.current,{select:!0})},b=function(w){if(y.paused||!i)return;const S=w.relatedTarget;S!==null&&(i.contains(S)||To(m.current,{select:!0}))},v=function(w){if(document.activeElement===document.body)for(const _ of w)_.removedNodes.length>0&&To(i)};document.addEventListener("focusin",f),document.addEventListener("focusout",b);const h=new MutationObserver(v);return i&&h.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",b),h.disconnect()}}},[o,i,y.paused]),p.useEffect(()=>{if(i){by.add(y);const f=document.activeElement;if(!i.contains(f)){const v=new CustomEvent(Bu,vy);i.addEventListener(Bu,d),i.dispatchEvent(v),v.defaultPrevented||(JE(XE(q0(i)),{select:!0}),document.activeElement===f&&To(i))}return()=>{i.removeEventListener(Bu,d),setTimeout(()=>{const v=new CustomEvent(Wu,vy);i.addEventListener(Wu,u),i.dispatchEvent(v),v.defaultPrevented||To(f??document.body,{select:!0}),i.removeEventListener(Wu,u),by.remove(y)},0)}}},[i,d,u,y]);const x=p.useCallback(f=>{if(!n&&!o||y.paused)return;const b=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,v=document.activeElement;if(b&&v){const h=f.currentTarget,[w,S]=KE(h);w&&S?!f.shiftKey&&v===S?(f.preventDefault(),n&&To(w,{select:!0})):f.shiftKey&&v===w&&(f.preventDefault(),n&&To(S,{select:!0})):v===h&&f.preventDefault()}},[n,o,y.paused]);return l.jsx(ve.div,{tabIndex:-1,...s,ref:g,onKeyDown:x})});G0.displayName=qE;function JE(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(To(o,{select:t}),document.activeElement!==n)return}function KE(e){const t=q0(e),n=wy(t,e),o=wy(t.reverse(),e);return[n,o]}function q0(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function wy(e,t){for(const n of e)if(!QE(n,{upTo:t}))return n}function QE(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function YE(e){return e instanceof HTMLInputElement&&"select"in e}function To(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&YE(e)&&t&&e.select()}}var by=ZE();function ZE(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=xy(e,t),e.unshift(t)},remove(t){var n;e=xy(e,t),(n=e[0])==null||n.resume()}}}function xy(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}function XE(e){return e.filter(t=>t.tagName!=="A")}const eT=["top","right","bottom","left"],ur=Math.min,$t=Math.max,cc=Math.round,Xi=Math.floor,Wn=e=>({x:e,y:e}),tT={left:"right",right:"left",bottom:"top",top:"bottom"},nT={start:"end",end:"start"};function sh(e,t,n){return $t(e,ur(t,n))}function po(e,t){return typeof e=="function"?e(t):e}function ho(e){return e.split("-")[0]}function cs(e){return e.split("-")[1]}function Um(e){return e==="x"?"y":"x"}function Hm(e){return e==="y"?"height":"width"}const oT=new Set(["top","bottom"]);function Fn(e){return oT.has(ho(e))?"y":"x"}function Gm(e){return Um(Fn(e))}function rT(e,t,n){n===void 0&&(n=!1);const o=cs(e),r=Gm(e),a=Hm(r);let s=r==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(s=dc(s)),[s,dc(s)]}function aT(e){const t=dc(e);return[ih(e),t,ih(t)]}function ih(e){return e.replace(/start|end/g,t=>nT[t])}const ky=["left","right"],Sy=["right","left"],sT=["top","bottom"],iT=["bottom","top"];function lT(e,t,n){switch(e){case"top":case"bottom":return n?t?Sy:ky:t?ky:Sy;case"left":case"right":return t?sT:iT;default:return[]}}function cT(e,t,n,o){const r=cs(e);let a=lT(ho(e),n==="start",o);return r&&(a=a.map(s=>s+"-"+r),t&&(a=a.concat(a.map(ih)))),a}function dc(e){return e.replace(/left|right|bottom|top/g,t=>tT[t])}function dT(e){return{top:0,right:0,bottom:0,left:0,...e}}function J0(e){return typeof e!="number"?dT(e):{top:e,right:e,bottom:e,left:e}}function uc(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function _y(e,t,n){let{reference:o,floating:r}=e;const a=Fn(t),s=Gm(t),i=Hm(s),c=ho(t),d=a==="y",u=o.x+o.width/2-r.width/2,m=o.y+o.height/2-r.height/2,g=o[i]/2-r[i]/2;let y;switch(c){case"top":y={x:u,y:o.y-r.height};break;case"bottom":y={x:u,y:o.y+o.height};break;case"right":y={x:o.x+o.width,y:m};break;case"left":y={x:o.x-r.width,y:m};break;default:y={x:o.x,y:o.y}}switch(cs(t)){case"start":y[s]-=g*(n&&d?-1:1);break;case"end":y[s]+=g*(n&&d?-1:1);break}return y}const uT=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:a=[],platform:s}=n,i=a.filter(Boolean),c=await(s.isRTL==null?void 0:s.isRTL(t));let d=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:u,y:m}=_y(d,o,c),g=o,y={},x=0;for(let f=0;f<i.length;f++){const{name:b,fn:v}=i[f],{x:h,y:w,data:S,reset:_}=await v({x:u,y:m,initialPlacement:o,placement:g,strategy:r,middlewareData:y,rects:d,platform:s,elements:{reference:e,floating:t}});u=h??u,m=w??m,y={...y,[b]:{...y[b],...S}},_&&x<=50&&(x++,typeof _=="object"&&(_.placement&&(g=_.placement),_.rects&&(d=_.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:r}):_.rects),{x:u,y:m}=_y(d,g,c)),f=-1)}return{x:u,y:m,placement:g,strategy:r,middlewareData:y}};async function hi(e,t){var n;t===void 0&&(t={});const{x:o,y:r,platform:a,rects:s,elements:i,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:m="floating",altBoundary:g=!1,padding:y=0}=po(t,e),x=J0(y),b=i[g?m==="floating"?"reference":"floating":m],v=uc(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(b)))==null||n?b:b.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(i.floating)),boundary:d,rootBoundary:u,strategy:c})),h=m==="floating"?{x:o,y:r,width:s.floating.width,height:s.floating.height}:s.reference,w=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i.floating)),S=await(a.isElement==null?void 0:a.isElement(w))?await(a.getScale==null?void 0:a.getScale(w))||{x:1,y:1}:{x:1,y:1},_=uc(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:h,offsetParent:w,strategy:c}):h);return{top:(v.top-_.top+x.top)/S.y,bottom:(_.bottom-v.bottom+x.bottom)/S.y,left:(v.left-_.left+x.left)/S.x,right:(_.right-v.right+x.right)/S.x}}const pT=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:a,platform:s,elements:i,middlewareData:c}=t,{element:d,padding:u=0}=po(e,t)||{};if(d==null)return{};const m=J0(u),g={x:n,y:o},y=Gm(r),x=Hm(y),f=await s.getDimensions(d),b=y==="y",v=b?"top":"left",h=b?"bottom":"right",w=b?"clientHeight":"clientWidth",S=a.reference[x]+a.reference[y]-g[y]-a.floating[x],_=g[y]-a.reference[y],A=await(s.getOffsetParent==null?void 0:s.getOffsetParent(d));let j=A?A[w]:0;(!j||!await(s.isElement==null?void 0:s.isElement(A)))&&(j=i.floating[w]||a.floating[x]);const I=S/2-_/2,D=j/2-f[x]/2-1,F=ur(m[v],D),Y=ur(m[h],D),N=F,q=j-f[x]-Y,z=j/2-f[x]/2+I,ne=sh(N,z,q),K=!c.arrow&&cs(r)!=null&&z!==ne&&a.reference[x]/2-(z<N?F:Y)-f[x]/2<0,ee=K?z<N?z-N:z-q:0;return{[y]:g[y]+ee,data:{[y]:ne,centerOffset:z-ne-ee,...K&&{alignmentOffset:ee}},reset:K}}}),hT=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:a,rects:s,initialPlacement:i,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:m=!0,fallbackPlacements:g,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:f=!0,...b}=po(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const v=ho(r),h=Fn(i),w=ho(i)===i,S=await(c.isRTL==null?void 0:c.isRTL(d.floating)),_=g||(w||!f?[dc(i)]:aT(i)),A=x!=="none";!g&&A&&_.push(...cT(i,f,x,S));const j=[i,..._],I=await hi(t,b),D=[];let F=((o=a.flip)==null?void 0:o.overflows)||[];if(u&&D.push(I[v]),m){const z=rT(r,s,S);D.push(I[z[0]],I[z[1]])}if(F=[...F,{placement:r,overflows:D}],!D.every(z=>z<=0)){var Y,N;const z=(((Y=a.flip)==null?void 0:Y.index)||0)+1,ne=j[z];if(ne&&(!(m==="alignment"?h!==Fn(ne):!1)||F.every(T=>T.overflows[0]>0&&Fn(T.placement)===h)))return{data:{index:z,overflows:F},reset:{placement:ne}};let K=(N=F.filter(ee=>ee.overflows[0]<=0).sort((ee,T)=>ee.overflows[1]-T.overflows[1])[0])==null?void 0:N.placement;if(!K)switch(y){case"bestFit":{var q;const ee=(q=F.filter(T=>{if(A){const M=Fn(T.placement);return M===h||M==="y"}return!0}).map(T=>[T.placement,T.overflows.filter(M=>M>0).reduce((M,U)=>M+U,0)]).sort((T,M)=>T[1]-M[1])[0])==null?void 0:q[0];ee&&(K=ee);break}case"initialPlacement":K=i;break}if(r!==K)return{reset:{placement:K}}}return{}}}};function Py(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jy(e){return eT.some(t=>e[t]>=0)}const mT=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=po(e,t);switch(o){case"referenceHidden":{const a=await hi(t,{...r,elementContext:"reference"}),s=Py(a,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:jy(s)}}}case"escaped":{const a=await hi(t,{...r,altBoundary:!0}),s=Py(a,n.floating);return{data:{escapedOffsets:s,escaped:jy(s)}}}default:return{}}}}},K0=new Set(["left","top"]);async function fT(e,t){const{placement:n,platform:o,elements:r}=e,a=await(o.isRTL==null?void 0:o.isRTL(r.floating)),s=ho(n),i=cs(n),c=Fn(n)==="y",d=K0.has(s)?-1:1,u=a&&c?-1:1,m=po(t,e);let{mainAxis:g,crossAxis:y,alignmentAxis:x}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return i&&typeof x=="number"&&(y=i==="end"?x*-1:x),c?{x:y*u,y:g*d}:{x:g*d,y:y*u}}const gT=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:a,placement:s,middlewareData:i}=t,c=await fT(t,e);return s===((n=i.offset)==null?void 0:n.placement)&&(o=i.arrow)!=null&&o.alignmentOffset?{}:{x:r+c.x,y:a+c.y,data:{...c,placement:s}}}}},yT=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:a=!0,crossAxis:s=!1,limiter:i={fn:b=>{let{x:v,y:h}=b;return{x:v,y:h}}},...c}=po(e,t),d={x:n,y:o},u=await hi(t,c),m=Fn(ho(r)),g=Um(m);let y=d[g],x=d[m];if(a){const b=g==="y"?"top":"left",v=g==="y"?"bottom":"right",h=y+u[b],w=y-u[v];y=sh(h,y,w)}if(s){const b=m==="y"?"top":"left",v=m==="y"?"bottom":"right",h=x+u[b],w=x-u[v];x=sh(h,x,w)}const f=i.fn({...t,[g]:y,[m]:x});return{...f,data:{x:f.x-n,y:f.y-o,enabled:{[g]:a,[m]:s}}}}}},vT=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:a,middlewareData:s}=t,{offset:i=0,mainAxis:c=!0,crossAxis:d=!0}=po(e,t),u={x:n,y:o},m=Fn(r),g=Um(m);let y=u[g],x=u[m];const f=po(i,t),b=typeof f=="number"?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};if(c){const w=g==="y"?"height":"width",S=a.reference[g]-a.floating[w]+b.mainAxis,_=a.reference[g]+a.reference[w]-b.mainAxis;y<S?y=S:y>_&&(y=_)}if(d){var v,h;const w=g==="y"?"width":"height",S=K0.has(ho(r)),_=a.reference[m]-a.floating[w]+(S&&((v=s.offset)==null?void 0:v[m])||0)+(S?0:b.crossAxis),A=a.reference[m]+a.reference[w]+(S?0:((h=s.offset)==null?void 0:h[m])||0)-(S?b.crossAxis:0);x<_?x=_:x>A&&(x=A)}return{[g]:y,[m]:x}}}},wT=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:a,platform:s,elements:i}=t,{apply:c=()=>{},...d}=po(e,t),u=await hi(t,d),m=ho(r),g=cs(r),y=Fn(r)==="y",{width:x,height:f}=a.floating;let b,v;m==="top"||m==="bottom"?(b=m,v=g===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"):(v=m,b=g==="end"?"top":"bottom");const h=f-u.top-u.bottom,w=x-u.left-u.right,S=ur(f-u[b],h),_=ur(x-u[v],w),A=!t.middlewareData.shift;let j=S,I=_;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(I=w),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(j=h),A&&!g){const F=$t(u.left,0),Y=$t(u.right,0),N=$t(u.top,0),q=$t(u.bottom,0);y?I=x-2*(F!==0||Y!==0?F+Y:$t(u.left,u.right)):j=f-2*(N!==0||q!==0?N+q:$t(u.top,u.bottom))}await c({...t,availableWidth:I,availableHeight:j});const D=await s.getDimensions(i.floating);return x!==D.width||f!==D.height?{reset:{rects:!0}}:{}}}};function Wd(){return typeof window<"u"}function ds(e){return Q0(e)?(e.nodeName||"").toLowerCase():"#document"}function Ut(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Hn(e){var t;return(t=(Q0(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Q0(e){return Wd()?e instanceof Node||e instanceof Ut(e).Node:!1}function kn(e){return Wd()?e instanceof Element||e instanceof Ut(e).Element:!1}function Un(e){return Wd()?e instanceof HTMLElement||e instanceof Ut(e).HTMLElement:!1}function Ay(e){return!Wd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ut(e).ShadowRoot}const bT=new Set(["inline","contents"]);function Ei(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=Sn(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!bT.has(r)}const xT=new Set(["table","td","th"]);function kT(e){return xT.has(ds(e))}const ST=[":popover-open",":modal"];function Ud(e){return ST.some(t=>{try{return e.matches(t)}catch{return!1}})}const _T=["transform","translate","scale","rotate","perspective"],PT=["transform","translate","scale","rotate","perspective","filter"],jT=["paint","layout","strict","content"];function qm(e){const t=Jm(),n=kn(e)?Sn(e):e;return _T.some(o=>n[o]?n[o]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||PT.some(o=>(n.willChange||"").includes(o))||jT.some(o=>(n.contain||"").includes(o))}function AT(e){let t=pr(e);for(;
vendor: 4,764 bytes, line 1334
1334Un(t)&&!es(t);){if(qm(t))return t;if(Ud(t))return null;t=pr(t)}return null}function Jm(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const CT=new Set(["html","body","#document"]);function es(e){return CT.has(ds(e))}function Sn(e){return Ut(e).getComputedStyle(e)}function Hd(e){return kn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function pr(e){if(ds(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Ay(e)&&e.host||Hn(e);return Ay(t)?t.host:t}function Y0(e){const t=pr(e);return es(t)?e.ownerDocument?e.ownerDocument.body:e.body:Un(t)&&Ei(t)?t:Y0(t)}function mi(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Y0(e),a=r===((o=e.ownerDocument)==null?void 0:o.body),s=Ut(r);if(a){const i=lh(s);return t.concat(s,s.visualViewport||[],Ei(r)?r:[],i&&n?mi(i):[])}return t.concat(r,mi(r,[],n))}function lh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Z0(e){const t=Sn(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=Un(e),a=r?e.offsetWidth:n,s=r?e.offsetHeight:o,i=cc(n)!==a||cc(o)!==s;return i&&(n=a,o=s),{width:n,height:o,$:i}}function Km(e){return kn(e)?e:e.contextElement}function Ta(e){const t=Km(e);if(!Un(t))return Wn(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:a}=Z0(t);let s=(a?cc(n.width):n.width)/o,i=(a?cc(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!i||!Number.isFinite(i))&&(i=1),{x:s,y:i}}const ET=Wn(0);function X0(e){const t=Ut(e);return!Jm()||!t.visualViewport?ET:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function TT(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ut(e)?!1:t}function Gr(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),a=Km(e);let s=Wn(1);t&&(o?kn(o)&&(s=Ta(o)):s=Ta(e));const i=TT(a,n,o)?X0(a):Wn(0);let c=(r.left+i.x)/s.x,d=(r.top+i.y)/s.y,u=r.width/s.x,m=r.height/s.y;if(a){const g=Ut(a),y=o&&kn(o)?Ut(o):o;let x=g,f=lh(x);for(;f&&o&&y!==x;){const b=Ta(f),v=f.getBoundingClientRect(),h=Sn(f),w=v.left+(f.clientLeft+parseFloat(h.paddingLeft))*b.x,S=v.top+(f.clientTop+parseFloat(h.paddingTop))*b.y;c*=b.x,d*=b.y,u*=b.x,m*=b.y,c+=w,d+=S,x=Ut(f),f=lh(x)}}return uc({width:u,height:m,x:c,y:d})}function Qm(e,t){const n=Hd(e).scrollLeft;return t?t.left+n:Gr(Hn(e)).left+n}function ex(e,t,n){n===void 0&&(n=!1);const o=e.getBoundingClientRect(),r=o.left+t.scrollLeft-(n?0:Qm(e,o)),a=o.top+t.scrollTop;return{x:r,y:a}}function IT(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const a=r==="fixed",s=Hn(o),i=t?Ud(t.floating):!1;if(o===s||i&&a)return n;let c={scrollLeft:0,scrollTop:0},d=Wn(1);const u=Wn(0),m=Un(o);if((m||!m&&!a)&&((ds(o)!=="body"||Ei(s))&&(c=Hd(o)),Un(o))){const y=Gr(o);d=Ta(o),u.x=y.x+o.clientLeft,u.y=y.y+o.clientTop}const g=s&&!m&&!a?ex(s,c,!0):Wn(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-c.scrollLeft*d.x+u.x+g.x,y:n.y*d.y-c.scrollTop*d.y+u.y+g.y}}function OT(e){return Array.from(e.getClientRects())}function MT(e){const t=Hn(e),n=Hd(e),o=e.ownerDocument.body,r=$t(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=$t(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let s=-n.scrollLeft+Qm(e);const i=-n.scrollTop;return Sn(o).direction==="rtl"&&(s+=$t(t.clientWidth,o.clientWidth)-r),{width:r,height:a,x:s,y:i}}function LT(e,t){const n=Ut(e),o=Hn(e),r=n.visualViewport;let a=o.clientWidth,s=o.clientHeight,i=0,c=0;if(r){a=r.width,s=r.height;const d=Jm();(!d||d&&t==="fixed")&&(i=r.offsetLeft,c=r.offsetTop)}return{width:a,height:s,x:i,y:c}}const RT=new Set(["absolute","fixed"]);function NT(e,t){const n=Gr(e,!0,t==="fixed"),o=n.top+e.clientTop,r=n.left+e.clientLeft,a=Un(e)?Ta(e):Wn(1),s=e.clientWidth*a.x,i=e.clientHeight*a.y,c=r*a.x,d=o*a.y;return{width:s,height:i,x:c,y:d}}function Cy(e,t,n){let o;if(t==="viewport")o=LT(e,n);else if(t==="document")o=MT(Hn(e));else if(kn(t))o=NT(t,n);else{const r=X0(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return uc(o)}function tx(e,t){const n=pr(e);return n===t||!kn(n)||es(n)?!1:Sn(n).position==="fixed"||tx(n,t)}function DT(e,t){const n=t.get(e);if(n)return n;let o=mi(e,[],!1).filter(i=>kn(i)&&ds(i)!=="body"),r=null;const a=Sn(e).position==="fixed";let s=a?pr(e):e;for(;kn(s)&&!es(s);){const i=Sn(s),c=qm(s);!c&&i.position==="fixed"&&(r=null),(a?!c&&!r:!c&&i.position==="static"&&!!r&&RT.has(r.position)||Ei(s)&&!c&&tx(e,s))?o=o.filter(u=>u!==s):r=i,s=pr(s)}return t.set(e,o),o}function zT(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const s=[...n==="clippingAncestors"?Ud(t)?[]:DT(t,this._c):[].concat(n),o],i=s[0],c=s.reduce((d,u)=>{const m=Cy(t,u,r);return d.top=$t(m.top,d.top),d.right=ur(m.right,d.right),d.bottom=ur(m.bottom,d.bottom),d.left
vendor: 9,524 bytes, line 1334
1334=$t(m.left,d.left),d},Cy(t,i,r));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function FT(e){const{width:t,height:n}=Z0(e);return{width:t,height:n}}function VT(e,t,n){const o=Un(t),r=Hn(t),a=n==="fixed",s=Gr(e,!0,a,t);let i={scrollLeft:0,scrollTop:0};const c=Wn(0);function d(){c.x=Qm(r)}if(o||!o&&!a)if((ds(t)!=="body"||Ei(r))&&(i=Hd(t)),o){const y=Gr(t,!0,a,t);c.x=y.x+t.clientLeft,c.y=y.y+t.clientTop}else r&&d();a&&!o&&r&&d();const u=r&&!o&&!a?ex(r,i):Wn(0),m=s.left+i.scrollLeft-c.x-u.x,g=s.top+i.scrollTop-c.y-u.y;return{x:m,y:g,width:s.width,height:s.height}}function Uu(e){return Sn(e).position==="static"}function Ey(e,t){if(!Un(e)||Sn(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Hn(e)===n&&(n=n.ownerDocument.body),n}function nx(e,t){const n=Ut(e);if(Ud(e))return n;if(!Un(e)){let r=pr(e);for(;r&&!es(r);){if(kn(r)&&!Uu(r))return r;r=pr(r)}return n}let o=Ey(e,t);for(;o&&kT(o)&&Uu(o);)o=Ey(o,t);return o&&es(o)&&Uu(o)&&!qm(o)?n:o||AT(e)||n}const $T=async function(e){const t=this.getOffsetParent||nx,n=this.getDimensions,o=await n(e.floating);return{reference:VT(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function BT(e){return Sn(e).direction==="rtl"}const WT={convertOffsetParentRelativeRectToViewportRelativeRect:IT,getDocumentElement:Hn,getClippingRect:zT,getOffsetParent:nx,getElementRects:$T,getClientRects:OT,getDimensions:FT,getScale:Ta,isElement:kn,isRTL:BT};function ox(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function UT(e,t){let n=null,o;const r=Hn(e);function a(){var i;clearTimeout(o),(i=n)==null||i.disconnect(),n=null}function s(i,c){i===void 0&&(i=!1),c===void 0&&(c=1),a();const d=e.getBoundingClientRect(),{left:u,top:m,width:g,height:y}=d;if(i||t(),!g||!y)return;const x=Xi(m),f=Xi(r.clientWidth-(u+g)),b=Xi(r.clientHeight-(m+y)),v=Xi(u),w={rootMargin:-x+"px "+-f+"px "+-b+"px "+-v+"px",threshold:$t(0,ur(1,c))||1};let S=!0;function _(A){const j=A[0].intersectionRatio;if(j!==c){if(!S)return s();j?s(!1,j):o=setTimeout(()=>{s(!1,1e-7)},1e3)}j===1&&!ox(d,e.getBoundingClientRect())&&s(),S=!1}try{n=new IntersectionObserver(_,{...w,root:r.ownerDocument})}catch{n=new IntersectionObserver(_,w)}n.observe(e)}return s(!0),a}function HT(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:c=!1}=o,d=Km(e),u=r||a?[...d?mi(d):[],...mi(t)]:[];u.forEach(v=>{r&&v.addEventListener("scroll",n,{passive:!0}),a&&v.addEventListener("resize",n)});const m=d&&i?UT(d,n):null;let g=-1,y=null;s&&(y=new ResizeObserver(v=>{let[h]=v;h&&h.target===d&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var w;(w=y)==null||w.observe(t)})),n()}),d&&!c&&y.observe(d),y.observe(t));let x,f=c?Gr(e):null;c&&b();function b(){const v=Gr(e);f&&!ox(f,v)&&n(),f=v,x=requestAnimationFrame(b)}return n(),()=>{var v;u.forEach(h=>{r&&h.removeEventListener("scroll",n),a&&h.removeEventListener("resize",n)}),m==null||m(),(v=y)==null||v.disconnect(),y=null,c&&cancelAnimationFrame(x)}}const GT=gT,qT=yT,JT=hT,KT=wT,QT=mT,Ty=pT,YT=vT,ZT=(e,t,n)=>{const o=new Map,r={platform:WT,...n},a={...r.platform,_c:o};return uT(e,t,{...r,platform:a})};var XT=typeof document<"u",eI=function(){},bl=XT?p.useLayoutEffect:eI;function pc(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!pc(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;o--!==0;){const a=r[o];if(!(a==="_owner"&&e.$$typeof)&&!pc(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function rx(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Iy(e,t){const n=rx(e);return Math.round(t*n)/n}function Hu(e){const t=p.useRef(e);return bl(()=>{t.current=e}),t}function tI(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:a,floating:s}={},transform:i=!0,whileElementsMounted:c,open:d}=e,[u,m]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,y]=p.useState(o);pc(g,o)||y(o);const[x,f]=p.useState(null),[b,v]=p.useState(null),h=p.useCallback(T=>{T!==A.current&&(A.current=T,f(T))},[]),w=p.useCallback(T=>{T!==j.current&&(j.current=T,v(T))},[]),S=a||x,_=s||b,A=p.useRef(null),j=p.useRef(null),I=p.useRef(u),D=c!=null,F=Hu(c),Y=Hu(r),N=Hu(d),q=p.useCallback(()=>{if(!A.current||!j.current)return;const T={placement:t,strategy:n,middleware:g};Y.current&&(T.platform=Y.current),ZT(A.current,j.current,T).then(M=>{const U={...M,isPositioned:N.current!==!1};z.current&&!pc(I.current,U)&&(I.current=U,gr.flushSync(()=>{m(U)}))})},[g,t,n,Y,N]);bl(()=>{d===!1&&I.current.isPositioned&&(I.current.isPositioned=!1,m(T=>({...T,isPositioned:!1})))},[d]);const z=p.useRef(!1);bl(()=>(z.current=!0,()=>{z.current=!1}),[]),bl(()=>{if(S&&(A.current=S),_&&(j.current=_),S&&_){if(F.current)return F.current(S,_,q);q()}},[S,_,q,F,D]);const ne=p.useMemo(()=>({reference:A,floating:j,setReference:h,setFloating:w}),[h,w]),K=p.useMemo(()=>({reference:S,floating:_}),[S,_]),ee=p.useMemo(()=>{const T={position:n,left:0,top:0};if(!K.floating)return T;const M=Iy(K.floating,u.x),U=Iy(K.floating,u.y);return i?{...T,transform:"translate("+M+"px, "+U+"px)",...rx(K.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:M,top:U}},[n,i,K.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:q,refs:ne,elements:K,floatingStyles:ee}),[u,q,ne,K,ee])}const nI=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:r}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Ty({element:o.current,padding:r}).fn(n):{}:o?Ty({element:o,padding:r}).fn(n):{}}}},oI=(e,t)=>({...GT(e),options:[e,t]}),rI=(e,t)=>({...qT(e),options:[e,t]}),aI=(e,t)=>({...YT(e),options:[e,t]}),sI=(e,t)=>({...JT(e),options:[e,t]}),iI=(e,t)=>({...KT(e),options:[e,t]}),lI=(e,t)=>({...QT(e),options:[e,t]}),cI=(e,t)=>({...nI(e),options:[e,t]});var dI="Arrow",ax=p.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...a}=e;return l.jsx(ve.svg,{...a,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:l.jsx("polygon",{points:"0,0 30,0 15,10"})})});ax.displayName=dI;var uI=ax,Ym="Popper",[sx,Gd]=yr(Ym),[pI,ix]=sx(Ym),lx=e=>{const{__scopePopper:t,children:n}=e,[o,r]=p.useState(null);return l.jsx(pI,{scope:t,anchor:o,onAnchorChange:r,children:n})};lx.displayName=Ym;var cx="PopperAnchor",dx=p.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,a=ix(cx,n),s=p.useRef(null),i=De(t,s);return p.useEffect(()=>{a.onAnchorChange((o==null?void 0:o.current)||s.current)}),o?null:l.jsx(ve.div,{...r,ref:i})});dx.displayName=cx;var Zm="PopperContent",[hI,mI]=sx(Zm),ux=p.forwardRef((e,t)=>{var J,Pe,Le,xe,we,ke;const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:a="center",alignOffset:s=0,arrowPadding:i=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:m="partial",hideWhenDetached:g=!1,updatePositionStrategy:y="optimized",onPlaced:x,...f}=e,b=ix(Zm,n),[v,h]=p.useState(null),w=De(t,it=>h(it)),[S,_]=p.useState(null),A=O0(S),j=(A==null?void 0:A.width)??0,I=(A==null?void 0:A.height)??0,D=o+(a!=="center"?"-"+a:""),F=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},Y=Array.isArray(d)?d:[d],N=Y.length>0,q={padding:F,boundary:Y.filter(gI),altBoundary:N},{refs:z,floatingStyles:ne,placement:K,isPositioned:ee,middlewareData:T}=tI({strategy:"fixed",placement:D,whileElementsMounted:(...it)=>HT(...it,{animationFrame:y==="always"}),elements:{reference:b.anchor},middleware:[oI({mainAxis:r+I,alignmentAxis:s}),c&&rI({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?aI():void 0,...q}),c&&sI({...q}),iI({...q,apply:({elements:it,rects:St,availableWidth:jn,availableHeight:An})=>{const{width:Gn,height:ea}=St.reference,qn=it.floating.style;qn.setProperty("--radix-popper-available-width",`${jn}px`),qn.setProperty("--radix-popper-available-height",`${An}px`),qn.setProperty("--radix-popper-anchor-width",`${Gn}px`),qn.setProperty("--radix-popper-anchor-height",`${ea}px`)}}),S&&cI({element:S,padding:i}),yI({arrowWidth:j,arrowHeight:I}),g&&lI({strategy:"referenceHidden",...q})]}),[M,U]=mx(K),ie=xn(x);pt(()=>{ee&&(ie==null||ie())},[ee,ie]);const ae=(J=T.arrow)==null?void 0:J.x,ce=(Pe=T.arrow)==null?void 0:Pe.y,le=((Le=T.arrow)==null?void 0:Le.centerOffset)!==0,[Ee,$e]=p.useState();return pt(()=>{v&&$e(window.getComputedStyle(v).zIndex)},[v]),l.jsx("div",{ref:z.setFloating,"data-radix-popper-content-wrapper":"",style:{...ne,transform:ee?ne.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ee,"--radix-popper-transform-origin":[(xe=T.transformOrigin)==null?void 0:xe.x,(we=T.transformOrigin)==null?void 0:we.y].join(" "),...((ke=T.hide)==null?void 0:ke.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:l.jsx(hI,{scope:n,placedSide:M,onArrowChange:_,arrowX:ae,arrowY:ce,shouldHideArrow:le,children:l.jsx(ve.div,{"data-side":M,"data-align":U,...f,ref:w,style:{...f.style,animation:ee?void 0:"none"}})})})});ux.displayName=Zm;var px="PopperArrow",fI={top:"bottom",right:"left",bottom:"top",left:"r
1334ight"},hx=p.forwardRef(function(t,n){const{__scopePopper:o,...r}=t,a=mI(px,o),s=fI[a.placedSide];return l.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:l.jsx(uI,{...r,ref:n,style:{...r.style,display:"block"}})})});hx.displayName=px;function gI(e){return e!==null}var yI=e=>({name:"transformOrigin",options:e,fn(t){var b,v,h;const{placement:n,rects:o,middlewareData:r}=t,s=((b=r.arrow)==null?void 0:b.centerOffset)!==0,i=s?0:e.arrowWidth,c=s?0:e.arrowHeight,[d,u]=mx(n),m={start:"0%",center:"50%",end:"100%"}[u],g=(((v=r.arrow)==null?void 0:v.x)??0)+i/2,y=(((h=r.arrow)==null?void 0:h.y)??0)+c/2;let x="",f="";return d==="bottom"?(x=s?m:`${g}px`,f=`${-c}px`):d==="top"?(x=s?m:`${g}px`,f=`${o.floating.height+c}px`):d==="right"?(x=`${-c}px`,f=s?m:`${y}px`):d==="left"&&(x=`${o.floating.width+c}px`,f=s?m:`${y}px`),{data:{x,y:f}}}});function mx(e){const[t,n="center"]=e.split("-");return[t,n]}var vI=lx,fx=dx,gx=ux,yx=hx,wI="Portal",Xm=p.forwardRef((e,t)=>{var i;const{container:n,...o}=e,[r,a]=p.useState(!1);pt(()=>a(!0),[]);const s=n||r&&((i=globalThis==null?void 0:globalThis.document)==null?void 0:i.body);return s?bm.createPortal(l.jsx(ve.div,{...o,ref:t}),s):null});Xm.displayName=wI;var vx=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"}),bI="VisuallyHidden",qd=p.forwardRef((e,t)=>l.jsx(ve.span,{...e,ref:t,style:{...vx,...e.style}}));qd.displayName=bI;var xI=qd,kI=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},ra=new WeakMap,el=new WeakMap,tl={},Gu=0,wx=function(e){return e&&(e.host||wx(e.parentNode))},SI=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=wx(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},_I=function(e,t,n,o){var r=SI(t,Array.isArray(e)?e:[e]);tl[n]||(tl[n]=new WeakMap);var a=tl[n],s=[],i=new Set,c=new Set(r),d=function(m){!m||i.has(m)||(i.add(m),d(m.parentNode))};r.forEach(d);var u=function(m){!m||c.has(m)||Array.prototype.forEach.call(m.children,function(g){if(i.has(g))u(g);else try{var y=g.getAttribute(o),x=y!==null&&y!=="false",f=(ra.get(g)||0)+1,b=(a.get(g)||0)+1;ra.set(g,f),a.set(g,b),s.push(g),f===1&&x&&el.set(g,!0),b===1&&g.setAttribute(n,"true"),x||g.setAttribute(o,"true")}catch(v){console.error("aria-hidden: cannot operate on ",g,v)}})};return u(t),i.clear(),Gu++,function(){s.forEach(function(m){var g=ra.get(m)-1,y=a.get(m)-1;ra.set(m,g),a.set(m,y),g||(el.has(m)||m.removeAttribute(o),el.delete(m)),y||m.removeAttribute(n)}),Gu--,Gu||(ra=new WeakMap,ra=new WeakMap,el=new WeakMap,tl={})}},PI=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=kI(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live]"))),_I(o,r,n,"aria-hidden")):function(){return null}},zo=function(){return zo=Object.assign||function(t){for(var n,o=1,r=arguments.length;o<r;o++){n=arguments[o];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},zo.apply(this,arguments)};function jI(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n}function AI(e,t,n){if(n||arguments.length===2)for(var o=0,r=t.length,a;o<r;o++)(a||!(o in t))&&(a||(a=Array.prototype.slice.call(t,0,o)),a[o]=t[o]);return e.concat(a||Array.prototype.slice.call(t))}var xl="right-scroll-bar-position",kl="width-before-scroll-bar",CI="with-scroll-bars-hidden",EI="--removed-body-scroll-bar-size";function qu(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function TI(e,t){var n=p.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(o){var r=n.value;r!==o&&(n.value=o,n.callback(o,r))}}}})[0];return n.callback=t,n.facade}var II=typeof window<"u"?p.useLayoutEffect:p.useEffect,Oy=new WeakMap;function OI(e,t){var n=TI(null,function(o){return e.forEach(function(r){return qu(r,o)})});return II(function(){var o=Oy.get(n);if(o){var r=new Set(o),a=new Set(e),s=n.current;r.forEach(function(i){a.has(i)||qu(i,null)}),a.forEach(function(i){r.has(i)||qu(i,s)})}Oy.set(n,e)},[e]),n}var hc=function(){return hc=Object.assign||function(t){for(var n,o=1,r=arguments.length;o<r;o++){n=arguments[o];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},hc.apply(this,arguments)};function MI(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n}function LI(e){return e}
vendor: 7,086 bytes, lines 1334-1374
1334function RI(e,t){t===void 0&&(t=LI);var n=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var s=t(a,o);return n.push(s),function(){n=n.filter(function(i){return i!==s})}},assignSyncMedium:function(a){for(o=!0;n.length;){var s=n;n=[],s.forEach(a)}n={push:function(i){return a(i)},filter:function(){return n}}},assignMedium:function(a){o=!0;var s=[];if(n.length){var i=n;n=[],i.forEach(a),s=n}var c=function(){var u=s;s=[],u.forEach(a)},d=function(){return Promise.resolve().then(c)};d(),n={push:function(u){s.push(u),d()},filter:function(u){return s=s.filter(u),n}}}};return r}function NI(e){e===void 0&&(e={});var t=RI(null);return t.options=hc({async:!0,ssr:!1},e),t}var bx=function(e){var t=e.sideCar,n=MI(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=t.read();if(!o)throw new Error("Sidecar medium not found");return p.createElement(o,hc({},n))};bx.isSideCarExport=!0;function DI(e,t){return e.useMedium(t),bx}var xx=NI(),Ju=function(){},Jd=p.forwardRef(function(e,t){var n=p.useRef(null),o=p.useState({onScrollCapture:Ju,onWheelCapture:Ju,onTouchMoveCapture:Ju}),r=o[0],a=o[1],s=e.forwardProps,i=e.children,c=e.className,d=e.removeScrollBar,u=e.enabled,m=e.shards,g=e.sideCar,y=e.noRelative,x=e.noIsolation,f=e.inert,b=e.allowPinchZoom,v=e.as,h=v===void 0?"div":v,w=e.gapMode,S=jI(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),_=g,A=OI([n,t]),j=zo(zo({},S),r);return p.createElement(p.Fragment,null,u&&p.createElement(_,{sideCar:xx,removeScrollBar:d,shards:m,noRelative:y,noIsolation:x,inert:f,setCallbacks:a,allowPinchZoom:!!b,lockRef:n,gapMode:w}),s?p.cloneElement(p.Children.only(i),zo(zo({},j),{ref:A})):p.createElement(h,zo({},j,{className:c,ref:A}),i))});Jd.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Jd.classNames={fullWidth:kl,zeroRight:xl};var zI=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function FI(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=zI();return t&&e.setAttribute("nonce",t),e}function VI(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $I(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var BI=function(){var e=0,t=null;return{add:function(n){e==0&&(t=FI())&&(VI(t,n),$I(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},WI=function(){var e=BI();return function(t,n){p.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},kx=function(){var e=WI(),t=function(n){var o=n.styles,r=n.dynamic;return e(o,r),null};return t},UI={left:0,top:0,right:0,gap:0},Ku=function(e){return parseInt(e||"",10)||0},HI=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],o=t[e==="padding"?"paddingTop":"marginTop"],r=t[e==="padding"?"paddingRight":"marginRight"];return[Ku(n),Ku(o),Ku(r)]},GI=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return UI;var t=HI(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},qI=kx(),Ia="data-scroll-locked",JI=function(e,t,n,o){var r=e.left,a=e.top,s=e.right,i=e.gap;return n===void 0&&(n="margin"),` 1335 .`.concat(CI,` { 1336 overflow: hidden `).concat(o,`; 1337 padding-right: `).concat(i,"px ").concat(o,`; 1338 } 1339 body[`).concat(Ia,`] { 1340 overflow: hidden `).concat(o,`; 1341 overscroll-behavior: contain; 1342 `).concat([t&&"position: relative ".concat(o,";"),n==="margin"&&` 1343 padding-left: `.concat(r,`px; 1344 padding-top: `).concat(a,`px; 1345 padding-right: `).concat(s,`px; 1346 margin-left:0; 1347 margin-top:0; 1348 margin-right: `).concat(i,"px ").concat(o,`; 1349 `),n==="padding"&&"padding-right: ".concat(i,"px ").concat(o,";")].filter(Boolean).join(""),` 1350 } 1351 1352 .`).concat(xl,` { 1353 right: `).concat(i,"px ").concat(o,`; 1354 } 1355 1356 .`).concat(kl,` { 1357 margin-right: `).concat(i,"px ").concat(o,`; 1358 } 1359 1360 .`).concat(xl," .").concat(xl,` { 1361 right: 0 `).concat(o,`; 1362 } 1363 1364 .`).concat(kl," .").concat(kl,` { 1365 margin-right: 0 `).concat(o,`; 1366 } 1367 1368 body[`).concat(Ia,`] { 1369 `).concat(EI,": ").concat(i,`px; 1370 } 1371`)},My=function(){var e=parseInt(document.body.getAttribute(Ia)||"0",10);return isFinite(e)?e:0},KI=function(){p.useEffect(function(){return document.body.setAttribute(Ia,(My()+1).toString()),function(){var e=My()-1;e<=0?document.body.removeAttribute(Ia):document.body.setAttribute(Ia,e.toString())}},[])},QI=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;KI();var a=p.useMemo(function(){return GI(r)},[r]);return p.createElement(qI,{styles:JI(a,!t,r,n?"":"!important")})},ch=!1;if(typeof window<"u")try{var nl=Object.defineProperty({},"passive",{get:function(){return ch=!0,!0}});window.addEventListener("test",nl,nl),window.removeEventListener("test",nl,nl)}catch{ch=!1}var aa=ch?{passive:!1}:!1,YI=function(e){return e.tagName==="TEXTAREA"},Sx=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!YI(e)&&n[t]==="visible")},ZI=function(e){return Sx(e,"overflowY")},XI=function(e){return Sx(e,"overflowX")},Ly=function(e,t){var n=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=_x(e,o);if(r){var a=Px(e,o),s=a[1],i=a[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==n.body);return!1},eO=function(e){var t=e.scrollTop,n=e.scrollHeight,o=e.clientHeight;return[t,n,o]},tO=function(e){var t=e.scrollLeft,n=e.scrollWidth,o=e.clientWidth;return[t,n,o]},_x=function(e,t){return e==="v"?ZI(t):XI(t)},Px=function(e,t){return e==="v"?eO(t):tO(t)},nO=function(e,t){return e==="h"&&t==="rtl"?-1:1},oO=function(e,t,n,o,r){var a=nO(e,window.getComputedStyle(t).direction),s=a*o,i=n.target,c=t.contains(i),d=!1,u=s>0,m=0,g=0;do{if(!i)break;var y=Px(e,i),x=y[0],f=y[1],b=y[2],v=f-b-a*x;(x||v)&&_x(e,i)&&(m+=v,g+=x);var h=i.parentNode;i=h&&h.nodeType===Node.DOCUMENT_FRAGMENT_NODE?h.host:h}while(!c&&i!==document.body||c&&(t.contains(i)||t===i));return(u&&(Math.abs(m)<1||!r)||!u&&(Math.abs(g)<1||!r))&&(d=!0),d},ol=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ry=function(e){return[e.deltaX,e.deltaY]},Ny=function(e){return e&&"current"in e?e.current:e},rO=function(e,t){return e[0]===t[0]&&e[1]===t[1]},aO=function(e){return` 1372 .block-interactivity-`.concat(e,` {pointer-events: none;} 1373 .allow-interactivity-`).concat(e,` {pointer-events: all;} 1374`)},sO=0,sa=[];function iO(e){var t=p.useRef([]),n=p.useRef([0,0]),o=p.useRef(),r=p.useState(sO++)[0],a=p.useState(kx)[0],s=p.useRef(e);p.useEffect(function(){s.current=e},[e]),p.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));
vendor: 4,131 bytes, line 1374
1374var f=AI([e.lockRef.current],(e.shards||[]).map(Ny),!0).filter(Boolean);return f.forEach(function(b){return b.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),f.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var i=p.useCallback(function(f,b){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!s.current.allowPinchZoom;var v=ol(f),h=n.current,w="deltaX"in f?f.deltaX:h[0]-v[0],S="deltaY"in f?f.deltaY:h[1]-v[1],_,A=f.target,j=Math.abs(w)>Math.abs(S)?"h":"v";if("touches"in f&&j==="h"&&A.type==="range")return!1;var I=Ly(j,A);if(!I)return!0;if(I?_=j:(_=j==="v"?"h":"v",I=Ly(j,A)),!I)return!1;if(!o.current&&"changedTouches"in f&&(w||S)&&(o.current=_),!_)return!0;var D=o.current||_;return oO(D,b,f,D==="h"?w:S,!0)},[]),c=p.useCallback(function(f){var b=f;if(!(!sa.length||sa[sa.length-1]!==a)){var v="deltaY"in b?Ry(b):ol(b),h=t.current.filter(function(_){return _.name===b.type&&(_.target===b.target||b.target===_.shadowParent)&&rO(_.delta,v)})[0];if(h&&h.should){b.cancelable&&b.preventDefault();return}if(!h){var w=(s.current.shards||[]).map(Ny).filter(Boolean).filter(function(_){return _.contains(b.target)}),S=w.length>0?i(b,w[0]):!s.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),d=p.useCallback(function(f,b,v,h){var w={name:f,delta:b,target:v,should:h,shadowParent:lO(v)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(S){return S!==w})},1)},[]),u=p.useCallback(function(f){n.current=ol(f),o.current=void 0},[]),m=p.useCallback(function(f){d(f.type,Ry(f),f.target,i(f,e.lockRef.current))},[]),g=p.useCallback(function(f){d(f.type,ol(f),f.target,i(f,e.lockRef.current))},[]);p.useEffect(function(){return sa.push(a),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:g}),document.addEventListener("wheel",c,aa),document.addEventListener("touchmove",c,aa),document.addEventListener("touchstart",u,aa),function(){sa=sa.filter(function(f){return f!==a}),document.removeEventListener("wheel",c,aa),document.removeEventListener("touchmove",c,aa),document.removeEventListener("touchstart",u,aa)}},[]);var y=e.removeScrollBar,x=e.inert;return p.createElement(p.Fragment,null,x?p.createElement(a,{styles:aO(r)}):null,y?p.createElement(QI,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function lO(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const cO=DI(xx,iO);var jx=p.forwardRef(function(e,t){return p.createElement(Jd,zo({},e,{ref:t,sideCar:cO}))});jx.classNames=Jd.classNames;var dO=[" ","Enter","ArrowUp","ArrowDown"],uO=[" ","Enter"],qr="Select",[Kd,Qd,pO]=Im(qr),[us,qR]=yr(qr,[pO,Gd]),Yd=Gd(),[hO,wr]=us(qr),[mO,fO]=us(qr),Ax=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:r,onOpenChange:a,value:s,defaultValue:i,onValueChange:c,dir:d,name:u,autoComplete:m,disabled:g,required:y,form:x}=e,f=Yd(t),[b,v]=p.useState(null),[h,w]=p.useState(null),[S,_]=p.useState(!1),A=n0(d),[j,I]=Hr({prop:o,defaultProp:r??!1,onChange:a,caller:qr}),[D,F]=Hr({prop:s,defaultProp:i,onChange:c,caller:qr}),Y=p.useRef(null),N=b?x||!!b.closest("form"):!0,[q,z]=p.useState(new Set),ne=Array.from(q).map(K=>K.props.value).join(";");return l.jsx(vI,{...f,children:l.jsxs(hO,{required:y,scope:t,trigger:b,onTriggerChange:v,valueNode:h,onValueNodeChange:w,valueNodeHasChildren:S,onValueNodeHasChildrenChange:_,contentId:Ai(),value:D,onValueChange:F,open:j,onOpenChange:I,dir:A,triggerPointerDownPosRef:Y,disabled:g,children:[l.jsx(Kd.Provider,{scope:t,children:l.jsx(mO,{scope:e.__scopeSelect,onNativeOptionAdd:p.useCallback(K=>{z(ee=>new Set(ee).add(K))},[]),onNativeOptionRemove:p.useCallback(K=>{z(ee=>{const T=new Set(ee);return T.delete(K),T})},[]),children:n})}),N?l.jsxs(Yx,{"aria-hidden":!0,required:y,tabIndex:-1,name:u,autoComplete:m,value:D,onChange:K=>F(K.target.value),disabled:g,form:x,children:[D===void 0?l.jsx("option",{value:""}):null,Array.from(q)]},ne):null]})})};Ax.displayName=qr;var Cx="SelectTrigger",Ex=p.forwardRef((e,t)=>
vendor: 16,847 bytes, line 1374
1374{const{__scopeSelect:n,disabled:o=!1,...r}=e,a=Yd(n),s=wr(Cx,n),i=s.disabled||o,c=De(t,s.onTriggerChange),d=Qd(n),u=p.useRef("touch"),[m,g,y]=Xx(f=>{const b=d().filter(w=>!w.disabled),v=b.find(w=>w.value===s.value),h=e1(b,f,v);h!==void 0&&s.onValueChange(h.value)}),x=f=>{i||(s.onOpenChange(!0),y()),f&&(s.triggerPointerDownPosRef.current={x:Math.round(f.pageX),y:Math.round(f.pageY)})};return l.jsx(fx,{asChild:!0,...a,children:l.jsx(ve.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":Zx(s.value)?"":void 0,...r,ref:c,onClick:fe(r.onClick,f=>{f.currentTarget.focus(),u.current!=="mouse"&&x(f)}),onPointerDown:fe(r.onPointerDown,f=>{u.current=f.pointerType;const b=f.target;b.hasPointerCapture(f.pointerId)&&b.releasePointerCapture(f.pointerId),f.button===0&&f.ctrlKey===!1&&f.pointerType==="mouse"&&(x(f),f.preventDefault())}),onKeyDown:fe(r.onKeyDown,f=>{const b=m.current!=="";!(f.ctrlKey||f.altKey||f.metaKey)&&f.key.length===1&&g(f.key),!(b&&f.key===" ")&&dO.includes(f.key)&&(x(),f.preventDefault())})})})});Ex.displayName=Cx;var Tx="SelectValue",Ix=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,children:a,placeholder:s="",...i}=e,c=wr(Tx,n),{onValueNodeHasChildrenChange:d}=c,u=a!==void 0,m=De(t,c.onValueNodeChange);return pt(()=>{d(u)},[d,u]),l.jsx(ve.span,{...i,ref:m,style:{pointerEvents:"none"},children:Zx(c.value)?l.jsx(l.Fragment,{children:s}):a})});Ix.displayName=Tx;var gO="SelectIcon",Ox=p.forwardRef((e,t)=>{const{__scopeSelect:n,children:o,...r}=e;return l.jsx(ve.span,{"aria-hidden":!0,...r,ref:t,children:o||"â¼"})});Ox.displayName=gO;var yO="SelectPortal",Mx=e=>l.jsx(Xm,{asChild:!0,...e});Mx.displayName=yO;var Jr="SelectContent",Lx=p.forwardRef((e,t)=>{const n=wr(Jr,e.__scopeSelect),[o,r]=p.useState();if(pt(()=>{r(new DocumentFragment)},[]),!n.open){const a=o;return a?gr.createPortal(l.jsx(Rx,{scope:e.__scopeSelect,children:l.jsx(Kd.Slot,{scope:e.__scopeSelect,children:l.jsx("div",{children:e.children})})}),a):null}return l.jsx(Nx,{...e,ref:t})});Lx.displayName=Jr;var cn=10,[Rx,br]=us(Jr),vO="SelectContentImpl",wO=pi("SelectContent.RemoveScroll"),Nx=p.forwardRef((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:a,onPointerDownOutside:s,side:i,sideOffset:c,align:d,alignOffset:u,arrowPadding:m,collisionBoundary:g,collisionPadding:y,sticky:x,hideWhenDetached:f,avoidCollisions:b,...v}=e,h=wr(Jr,n),[w,S]=p.useState(null),[_,A]=p.useState(null),j=De(t,J=>S(J)),[I,D]=p.useState(null),[F,Y]=p.useState(null),N=Qd(n),[q,z]=p.useState(!1),ne=p.useRef(!1);p.useEffect(()=>{if(w)return PI(w)},[w]),GE();const K=p.useCallback(J=>{const[Pe,...Le]=N().map(ke=>ke.ref.current),[xe]=Le.slice(-1),we=document.activeElement;for(const ke of J)if(ke===we||(ke==null||ke.scrollIntoView({block:"nearest"}),ke===Pe&&_&&(_.scrollTop=0),ke===xe&&_&&(_.scrollTop=_.scrollHeight),ke==null||ke.focus(),document.activeElement!==we))return},[N,_]),ee=p.useCallback(()=>K([I,w]),[K,I,w]);p.useEffect(()=>{q&&ee()},[q,ee]);const{onOpenChange:T,triggerPointerDownPosRef:M}=h;p.useEffect(()=>{if(w){let J={x:0,y:0};const Pe=xe=>{var we,ke;J={x:Math.abs(Math.round(xe.pageX)-(((we=M.current)==null?void 0:we.x)??0)),y:Math.abs(Math.round(xe.pageY)-(((ke=M.current)==null?void 0:ke.y)??0))}},Le=xe=>{J.x<=10&&J.y<=10?xe.preventDefault():w.contains(xe.target)||T(!1),document.removeEventListener("pointermove",Pe),M.current=null};return M.current!==null&&(document.addEventListener("pointermove",Pe),document.addEventListener("pointerup",Le,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Pe),document.removeEventListener("pointerup",Le,{capture:!0})}}},[w,T,M]),p.useEffect(()=>{const J=()=>T(!1);return window.addEventListener("blur",J),window.addEventListener("resize",J),()=>{window.removeEventListener("blur",J),window.removeEventListener("resize",J)}},[T]);const[U,ie]=Xx(J=>{const Pe=N().filter(we=>!we.disabled),Le=Pe.find(we=>we.ref.current===document.activeElement),xe=e1(Pe,J,Le);xe&&setTimeout(()=>xe.ref.current.focus())}),ae=p.useCallback((J,Pe,Le)=>{const xe=!ne.current&&!Le;(h.value!==void 0&&h.value===Pe||xe)&&(D(J),xe&&(ne.current=!0))},[h.value]),ce=p.useCallback(()=>w==null?void 0:w.focus(),[w]),le=p.useCallback((J,Pe,Le)=>{const xe=!ne.current&&!Le;(h.value!==void 0&&h.value===Pe||xe)&&Y(J)},[h.value]),Ee=o==="popper"?dh:Dx,$e=Ee===dh?{side:i,sideOffset:c,align:d,alignOffset:u,arrowPadding:m,collisionBoundary:g,collisionPadding:y,sticky:x,hideWhenDetached:f,avoidCollisions:b}:{};return l.jsx(Rx,{scope:n,content:w,viewport:_,onViewportChange:A,itemRefCallback:ae,selectedItem:I,onItemLeave:ce,itemTextRefCallback:le,focusSelectedItem:ee,selectedItemText:F,position:o,isPositioned:q,searchRef:U,children:l.jsx(jx,{as:wO,allowPinchZoom:!0,children:l.jsx(G0,{asChild:!0,trapped:h.open,onMountAutoFocus:J=>{J.preventDefault()},onUnmountAutoFocus:fe(r,J=>{var Pe;(Pe=h.trigger)==null||Pe.focus({preventScroll:!0}),J.preventDefault()}),children:l.jsx(Bd,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:J=>J.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:l.jsx(Ee,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed",dir:h.dir,onContextMenu:J=>J.preventDefault(),...v,...$e,onPlaced:()=>z(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:fe(v.onKeyDown,J=>{const Pe=J.ctrlKey||J.altKey||J.metaKey;if(J.key==="Tab"&&J.preventDefault(),!Pe&&J.key.length===1&&ie(J.key),["ArrowUp","ArrowDown","Home","End"].includes(J.key)){let xe=N().filter(we=>!we.disabled).map(we=>we.ref.current);if(["ArrowUp","End"].includes(J.key)&&(xe=xe.slice().reverse()),["ArrowUp","ArrowDown"].includes(J.key)){const we=J.target,ke=xe.indexOf(we);xe=xe.slice(ke+1)}setTimeout(()=>K(xe)),J.preventDefault()}})})})})})})});Nx.displayName=vO;var bO="SelectItemAlignedPosition",Dx=p.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:o,...r}=e,a=wr(Jr,n),s=br(Jr,n),[i,c]=p.useState(null),[d,u]=p.useState(null),m=De(t,j=>u(j)),g=Qd(n),y=p.useRef(!1),x=p.useRef(!0),{viewport:f,selectedItem:b,selectedItemText:v,focusSelectedItem:h}=s,w=p.useCallback(()=>{if(a.trigger&&a.valueNode&&i&&d&&f&&b&&v){const j=a.trigger.getBoundingClientRect(),I=d.getBoundingClientRect(),D=a.valueNode.getBoundingClientRect(),F=v.getBoundingClientRect();if(a.dir!=="rtl"){const we=F.left-I.left,ke=D.left-we,it=j.left-ke,St=j.width+it,jn=Math.max(St,I.width),An=window.innerWidth-cn,Gn=my(ke,[cn,Math.max(cn,An-jn)]);i.style.minWidth=St+"px",i.style.left=Gn+"px"}else{const we=I.right-F.right,ke=window.innerWidth-D.right-we,it=window.innerWidth-j.right-ke,St=j.width+it,jn=Math.max(St,I.width),An=window.innerWidth-cn,Gn=my(ke,[cn,Math.max(cn,An-jn)]);i.style.minWidth=St+"px",i.style.right=Gn+"px"}const Y=g(),N=window.innerHeight-cn*2,q=f.scrollHeight,z=window.getComputedStyle(d),ne=parseInt(z.borderTopWidth,10),K=parseInt(z.paddingTop,10),ee=parseInt(z.borderBottomWidth,10),T=parseInt(z.paddingBottom,10),M=ne+K+q+T+ee,U=Math.min(b.offsetHeight*5,M),ie=window.getComputedStyle(f),ae=parseInt(ie.paddingTop,10),ce=parseInt(ie.paddingBottom,10),le=j.top+j.height/2-cn,Ee=N-le,$e=b.offsetHeight/2,J=b.offsetTop+$e,Pe=ne+K+J,Le=M-Pe;if(Pe<=le){const we=Y.length>0&&b===Y[Y.length-1].ref.current;i.style.bottom="0px";const ke=d.clientHeight-f.offsetTop-f.offsetHeight,it=Math.max(Ee,$e+(we?ce:0)+ke+ee),St=Pe+it;i.style.height=St+"px"}else{const we=Y.length>0&&b===Y[0].ref.current;i.style.top="0px";const it=Math.max(le,ne+f.offsetTop+(we?ae:0)+$e)+Le;i.style.height=it+"px",f.scrollTop=Pe-le+f.offsetTop}i.style.margin=`${cn}px 0`,i.style.minHeight=U+"px",i.style.maxHeight=N+"px",o==null||o(),requestAnimationFrame(()=>y.current=!0)}},[g,a.trigger,a.valueNode,i,d,f,b,v,a.dir,o]);pt(()=>w(),[w]);const[S,_]=p.useState();pt(()=>{d&&_(window.getComputedStyle(d).zIndex)},[d]);const A=p.useCallback(j=>{j&&x.current===!0&&(w(),h==null||h(),x.current=!1)},[w,h]);return l.jsx(kO,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:y,onScrollButtonChange:A,children:l.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:l.jsx(ve.div,{...r,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Dx.displayName=bO;var xO="SelectPopperPosition",dh=p.forwardRef((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:r=cn,...a}=e,s=Yd(n);return l.jsx(gx,{...s,...a,ref:t,align:o,collisionPadding:r,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});dh.displayName=xO;var[kO,ef]=us(Jr,{}),uh="SelectViewport",zx=p.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:o,...r}=e,a=br(uh,n),s=ef(uh,n),i=De(t,a.onViewportChange),c=p.useRef(0);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),l.jsx(Kd.Slot,{scope:n,children:l.jsx(ve.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:fe(r.onScroll,d=>{const u=d.currentTarget,{contentWrapper:m,shouldExpandOnScrollRef:g}=s;if(g!=null&&g.current&&m){const y=Math.abs(c.current-u.scrollTop);if(y>0){const x=window.innerHeight-cn*2,f=parseFloat(m.style.minHeight),b=parseFloat(m.style.height),v=Math.max(f,b);if(v<x){const h=v+y,w=Math.min(x,h),S=h-w;m.style.height=w+"px",m.style.bottom==="0px"&&(u.scrollTop=S>0?S:0,m.style.justifyContent="flex-end")}}}c.current=u.scrollTop})})})]})});zx.displayName=uh;var Fx="SelectGroup",[SO,_O]=us(Fx),PO=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=Ai();return l.jsx(SO,{scope:n,id:r,children:l.jsx(ve.div,{role:"group","aria-labelledby":r,...o,ref:t})})});PO.displayName=Fx;var Vx="SelectLabel",$x=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=_O(Vx,n);return l.jsx(ve.div,{id:r.id,...o,ref:t})});$x.displayName=Vx;var mc="SelectItem",[jO,Bx]=us(mc),Wx=p.forwardRef((e,t)=>{const{__scopeSelect:n,value:o,disabled:r=!1,textValue:a,...s}=e,i=wr(mc,n),c=br(mc,n),d=i.value===o,[u,m]=p.useState(a??""),[g,y]=p.useState(!1),x=De(t,h=>{var w;return(w=c.itemRefCallback)==null?void 0:w.call(c,h,o,r)}),f=Ai(),b=p.useRef("touch"),v=()=>{r||(i.onValueChange(o),i.onOpenChange(!1))};if(o==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return l.jsx(jO,{scope:n,value:o,disabled:r,textId:f,isSelected:d,onItemTextChange:p.useCallback(h=>{m(w=>w||((h==null?void 0:h.textContent)??"").trim())},[]),children:l.jsx(Kd.ItemSlot,{scope:n,value:o,disabled:r,textValue:u,children:l.jsx(ve.div,{role:"option","aria-labelledby":f,"data-highlighted":g?"":void 0,"aria-selected":d&&g,"data-state":d?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...s,ref:x,onFocus:fe(s.onFocus,()=>y(!0)),onBlur:fe(s.onBlur,()=>y(!1)),onClick:fe(s.onClick,()=>{b.current!=="mouse"&&v()}),onPointerUp:fe(s.onPointerUp,()=>{b.current==="mouse"&&v()}),onPointerDown:fe(s.onPointerDown,h=>{b.current=h.pointerType}),onPointerMove:fe(s.onPointerMove,h=>{var w;b.current=h.pointerType,r?(w=c.onItemLeave)==null||w.call(c):b.current==="mouse"&&h.currentTarget.focus({preventScroll:!0})}),onPointerLeave:fe(s.onPointerLeave,h=>{var w;h.currentTarget===document.activeElement&&((w=c.onItemLeave)==null||w.call(c))}),onKeyDown:fe(s.onKeyDown,h=>{var S;((S=c.searchRef)==null?void 0:S.current)!==""&&h.key===" "||(uO.includes(h.key)&&v(),h.key===" "&&h.preventDefault())})})})})});Wx.displayName=mc;var Ts="SelectItemText",Ux=p.forwardRef((e,t)=>{const{__scopeSelect:n,className:o,style:r,...a}=e,s=wr(Ts,n),i=br(Ts,n),c=Bx(Ts,n),d=fO(Ts,n),[u,m]=p.useState(null),g=De(t,v=>m(v),c.onItemTextChange,v=>{var h;return(h=i.itemTextRefCallback)==null?void 0:h.call(i,v,c.value,c.disabled)}),y=u==null?void 0:u.textContent,x=p.useMemo(()=>l.jsx("option",{value:c.value,disabled:c.disabled,children:y},c.value),[c.disabled,c.value,y]),{onNativeOptionAdd:f,onNativeOptionRemove:b}=d;return pt(()=>(f(x),()=>b(x)),[f,b,x]),l.jsxs(l.Fragment,{children:[l.jsx(ve.span,{id:c.textId,...a,ref:g}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?gr.createPortal(a.children,s.valueNode):null]})});Ux.displayName=Ts;var Hx="SelectItemIndicator",Gx=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return Bx(Hx,n).isSelected?l.jsx(ve.span,{"aria-hidden":!0,...o,ref:t}):null});Gx.displayName=Hx;var ph="SelectScrollUpButton",qx=p.forwardRef((e,t)=>{const n=br(ph,e.__scopeSelect),o=ef(ph,e.__scopeSelect),[r,a]=p.useState(!1),s=De(t,o.onScrollButtonChange);return pt(()=>{if(n.viewport&&n.isPositioned){let i=function(){const d=c.scrollTop>0;a(d)};const c=n.viewport;return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?l.jsx(Kx,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:c}=n;i&&c&&(i.scrollTop=i.scrollTop-c.offsetHeight)}}):null});qx.displayName=ph;var hh="SelectScrollDownButton",Jx=p.forwardRef((e,t)=>{const n=br(hh,e.__scopeSelect),o=ef(hh,e.__scopeSelect),[r,a]=p.useState(!1),s=De(t,o.onScrollButtonChange);return pt(()=>{if(n.viewport&&n.isPositioned){let i=function(){const d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};const c=n.viewport;return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),r?l.jsx(Kx,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:c}=n;i&&c&&(i.scrollTop=i.scrollTop+c.offsetHeight)}}):null});Jx.displayName=hh;var Kx=p.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...r}=e,a=br("SelectScrollButton",n),s=p.useRef(null),i=Qd(n),c=p.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return p.useEffect(()=>()=>c(),[c]),pt(()=>{var u;const d=i().find(m=>m.ref.current===document.activeElement);(u=d==null?void 0:d.ref.current)==null||u.scrollIntoView({block:"nearest"})},[i]),l.jsx(ve.div,{"aria-hidden":!0,...r,ref:t,style:{flexShrink:0,...r.style},onPointerDown:fe(r.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(o,50))}),onPointerMove:fe(r.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),s.current===null&&(s.current=window.setInterval(o,50))}),onPointerLeave:fe(r.onPointerLeave,()=>{c()})})}),AO="SelectSeparator",Qx=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e;return l.jsx(ve.div,{"aria-hidden":!0,...o,ref:t})});Qx.displayName=AO;var mh="SelectArrow",CO=p.forwardRef((e,t)=>{const{__scopeSelect:n,...o}=e,r=Yd(n),a=wr(mh,n),s=br(mh,n);return a.open&&s.position==="popper"?l.jsx(yx,{...r,...o,ref:t}):null});CO.displayName=mh;var EO="SelectBubbleInput",Yx=p.forwardRef(({__scopeSelect:e,value:t,...n},o)=>{const r=p.useRef(null),a=De(o,r),s=I0(t);return p.useEffect(()=>{const i=r.current;if(!i)return;const c=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==t&&u){const m=new Event("change",{bubbles:!0});u.call(i,t),i.dispatchEvent(m)}},[s,t]),l.jsx(ve.select,{...n,style:{...vx,...n.style},ref:a,defaultValue:t})});Yx.displayName=EO;function Zx(e){return e===""||e===void 0}function Xx(e){const t=xn(e),n=p.useRef(""),o=p.useRef(0),r=p.useCallback(s=>{const i=n.current+s;t(i),function c(d){n.current=d,window.clearTimeout(o.current),d!==""&&(o.current=window.setTimeout(()=>c(""),1e3))}(i)},[t]),a=p.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return p.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,r,a]}function e1(e,t,n){const r=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=TO(e,Math.max(a,0));r.length===1&&(s=s.filter(d=>d!==n));const c=s.find(d=>d.textValue.toLowerCase().startsWith(r.toLowerCase()));return c!==n?c:void 0}function TO(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var IO=Ax,t1=Ex,OO=Ix,MO=Ox,LO=Mx,n1=Lx,RO=zx,o1=$x,r1=Wx,NO=Ux,DO=Gx,a1=qx,s1=Jx,i1=Qx;const Dy=IO,zy=OO,fh=p.forwardRef(({className:e,children:t,...n},o)=>l.jsxs(t1,{ref:o,className:He("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm r
1374ing-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,l.jsx(MO,{asChild:!0,children:l.jsx(zm,{className:"h-4 w-4 opacity-50"})})]}));fh.displayName=t1.displayName;const l1=p.forwardRef(({className:e,...t},n)=>l.jsx(a1,{ref:n,className:He("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(Lj,{className:"h-4 w-4"})}));l1.displayName=a1.displayName;const c1=p.forwardRef(({className:e,...t},n)=>l.jsx(s1,{ref:n,className:He("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(zm,{className:"h-4 w-4"})}));c1.displayName=s1.displayName;const gh=p.forwardRef(({className:e,children:t,position:n="popper",...o},r)=>l.jsx(LO,{children:l.jsxs(n1,{ref:r,className:He("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...o,children:[l.jsx(l1,{}),l.jsx(RO,{className:He("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),l.jsx(c1,{})]})}));gh.displayName=n1.displayName;const zO=p.forwardRef(({className:e,...t},n)=>l.jsx(o1,{ref:n,className:He("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));zO.displayName=o1.displayName;const da=p.forwardRef(({className:e,children:t,...n},o)=>l.jsxs(r1,{ref:o,className:He("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...n,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(DO,{children:l.jsx(y0,{className:"h-4 w-4"})})}),l.jsx(NO,{children:t})]}));da.displayName=r1.displayName;const FO=p.forwardRef(({className:e,...t},n)=>l.jsx(i1,{ref:n,className:He("-mx-1 my-1 h-px bg-muted",e),...t}));FO.displayName=i1.displayName;const VO=Db({serviceInterest:bt().optional(),challenge:bt().min(1,"Please describe your challenge"),firstName:bt().min(1,"First name is required"),lastName:bt().min(1,"Last name is required"),email:bt().email("Please enter a valid email address"),country:bt().min(1,"Please select a country"),jobTitle:bt().min(1,"Job title is required"),company:bt().optional()}),$O=["United States","United Kingdom","Argentina","Brazil","Colombia","Mexico","Spain","Germany","France","India","Other"];function BO(){const{register:e,handleSubmit:t,setValue:n,reset:o,formState:{errors:r}}=Ib({resolver:Mb(VO)}),a=s=>{const i=encodeURIComponent(`New inquiry from ${s.firstName} ${s.lastName}`),c=encodeURIComponent(`Challenge: ${s.challenge} 1375 1376Name: ${s.firstName} ${s.lastName} 1377Email: ${s.email} 1378Country: ${s.country} 1379Job Title: ${s.jobTitle} 1380Company: ${s.company||"N/A"}`);window.open(`mailto:[email protected]?subject=${i}&body=${c}`,"_blank"),o()};return l.jsxs("section",{id:"contact",className:"py-28 relative bg-ink overflow-hidden scroll-mt-16",children:[l.jsxs("svg",{className:"absolute inset-0 w-full h-full opacity-[0.02]",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("defs",{children:l.jsx("pattern",{id:"grid",width:"40",height:"40",patternUnits:"userSpaceOnUse",children:l.jsx("path",{d:"M 40 0 L 0 0 0 40",fill:"none",stroke:"#A4A19D",strokeWidth:"1"})})}),l.jsx("rect",{width:"100%",height:"100%",fill:"url(#grid)"})]}),l.jsx("div",{className:"absolute -top-20 right-0 w-96 h-96 bg-teal-400/5 blur-3xl rounded-full"}),l.jsx("div",{className:"absolute -bottom-20 left-0 w-96 h-96 bg-teal-400/5 blur-3xl rounded-full"}),l.jsxs("div",{className:"relative z-10 max-w-7xl mx-auto px-6",children:[l.jsxs("div",{className:"text-center mb-16",children:[l.jsxs("div",{className:"flex items-center justify-center gap-3 mb-8",children:[l.jsx("span",{className:"h-px w-12 bg-teal-400/60"}),l.jsx("span",{className:"text-xs uppercase tracking-[0.25em] text-neutral-400 font-medium",children:"Get in Touch"}),l.jsx("span",{className:"h-px w-12 bg-teal-400/60"})]}),l.jsx("h2",{className:"font-display text-3xl lg:text-5xl text-neutral-200",children:"We care like we're in-house"}),l.jsxs("div",{className:"flex items-center gap-4 mt-8 justify-center",children:[l.jsxs("div",{className:"flex -sp
1380ace-x-2",children:[l.jsx("img",{src:"/Images/Team/Fran.jpeg",alt:"Fran",className:"w-12 h-12 rounded-full object-cover border border-neutral-200/10"}),l.jsx("img",{src:"/Images/Team/Juan.png",alt:"Juan",className:"w-12 h-12 rounded-full object-cover border border-neutral-200/10"})]}),l.jsx("p",{className:"text-base text-neutral-700 italic font-display",children:"Looking forward to talk soon"}),l.jsx("a",{href:"https://cal.com/team/moonshotpartners/discoverycall",target:"_blank",rel:"noopener noreferrer",className:"text-xs border border-neutral-200/20 text-neutral-400 rounded-full px-4 py-1.5 hover:text-neutral-200 hover:bg-neutral-200/5 transition-colors",children:"Let's Talk"})]})]}),l.jsxs("form",{onSubmit:t(a),className:"max-w-2xl mx-auto border border-neutral-200/10 rounded-2xl p-8 lg:p-12 bg-navy-900/80 backdrop-blur-sm",children:[l.jsxs("div",{children:[l.jsx(In,{htmlFor:"serviceInterest",className:"text-neutral-400 text-sm",children:"I'm interested in"}),l.jsxs(Dy,{onValueChange:s=>n("serviceInterest",s),children:[l.jsx(fh,{className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200",children:l.jsx(zy,{placeholder:"Select a service"})}),l.jsxs(gh,{children:[l.jsx(da,{value:"ai-delivery",children:"AI Delivery (Pods)"}),l.jsx(da,{value:"consulting",children:"Consulting"}),l.jsx(da,{value:"training",children:"Training"}),l.jsx(da,{value:"not-sure",children:"Not Sure Yet"})]})]})]}),l.jsxs("div",{className:"mt-4",children:[l.jsx(In,{htmlFor:"challenge",className:"text-neutral-400 text-sm",children:"Your challenge*"}),l.jsx(T0,{id:"challenge",placeholder:"Describe your challenge...",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("challenge")}),r.challenge&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.challenge.message})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mt-4",children:[l.jsxs("div",{children:[l.jsx(In,{htmlFor:"firstName",className:"text-neutral-400 text-sm",children:"First Name*"}),l.jsx(ca,{id:"firstName",placeholder:"First Name",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("firstName")}),r.firstName&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.firstName.message})]}),l.jsxs("div",{children:[l.jsx(In,{htmlFor:"lastName",className:"text-neutral-400 text-sm",children:"Last Name*"}),l.jsx(ca,{id:"lastName",placeholder:"Last Name",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("lastName")}),r.lastName&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.lastName.message})]}),l.jsxs("div",{children:[l.jsx(In,{htmlFor:"email",className:"text-neutral-400 text-sm",children:"Corporate Email Address*"}),l.jsx(ca,{id:"email",type:"email",placeholder:"[email protected]",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("email")}),r.email&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.email.message})]}),l.jsxs("div",{children:[l.jsx(In,{htmlFor:"country",className:"text-neutral-400 text-sm",children:"Country*"}),l.jsxs(Dy,{onValueChange:s=>n("country",s),children:[l.jsx(fh,{className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200",children:l.jsx(zy,{placeholder:"Select a country"})}),l.jsx(gh,{children:$O.map(s=>l.jsx(da,{value:s,children:s},s))})]}),r.country&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.country.message})]}),l.jsxs("div",{children:[l.jsx(In,{htmlFor:"jobTitle",className:"text-neutral-400 text-sm",children:"Job title*"}),l.jsx(ca,{id:"jobTitle",placeholder:"Job title",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("jobTitle")}),r.jobTitle&&l.jsx("p",{className:"text-sm text-red-400 mt-1",children:r.jobTitle.message})]}),l.jsxs("div",{children:[l.jsx(In,{htmlFor:"company",className:"text-neutral-400 text-sm",children:"Company"}),l.jsx(ca,{id:"company",placeholder:"Company",className:"mt-1 bg-ink border-neutral-200/10 text-neutral-200 placeholder:text-neutral-700",...e("company")})]})]}),l.jsxs("div",{className:"mt-6 flex items-start gap-2",children:[l.jsx(V0,{id:"newsletter",className:"mt-1 border-neutral-400"}),l.jsx(In,{htmlFor:"newsletter",className:"text-sm font-normal leading-snug text-neutral-400",children:"I would like to sign up with my email address to receive Moonshot communications with updates, valuable resources and useful tips."})]}),l.jsx("p",{className:"text-xs text-neutral-700 mt-2",children:"By
1380submitting this form you confirm that you agree to Moonshot's privacy policy."}),l.jsx(E0,{type:"submit",className:"mt-8 bg-neutral-200 text-ink rounded-full px-8 py-3 font-semibold hover:bg-white transition-all duration-300",children:"Submit"})]})]})]})}const WO=Object.assign({
1380"../../data/legacy/static/about.json":()=>C(()=>import("./about-B6eg6LK2.js"),[]),
1380"../../data/legacy/static/contact.json":()=>C(()=>import("./contact-4cqMc3gu.js"),[]),
1380"../../data/legacy/static/cookie-policy.json":()=>C(()=>import("./cookie-policy-BAln6LRn.js"),[]),
1380"../../data/legacy/static/extended-teams.json":()=>C(()=>import("./extended-teams-B23R7Xws.js"),[]),
1380"../../data/legacy/static/moonshots-ai-lab.json":()=>C(()=>import("./moonshots-ai-lab-B0EkVYdl.js"),[]),
1380"../../data/legacy/static/privacy-policy.json":()=>C(()=>import("./privacy-policy-Diy4Ifqx.js"),[]),
1380"../../data/legacy/static/subscription.json":()=>C(()=>import("./subscription-DCNqJGZH.js"),[]),
1380"../../data/legacy/static/tech-talent.json":()=>C(()=>import("./tech-talent-C6DNSw0K.js"),[])
1380}),UO=Object.assign({"../../data/legacy/jsonld/android.json":Bc,"../../data/legacy/jsonld/backend.json":Wc,"../../data/legacy/jsonld/banking-as-a-service-baas-a-solution-for-your-business.json":Uc,"../../data/legacy/jsonld/best-growth-marketing-agencies.json":Hc,"../../data/legacy/jsonld/best-resource-management-tools-for-it-agencies.json":Gc,"../../data/legacy/jsonld/best-software-development-companies-in-the-uk.json":qc,"../../data/legacy/jsonld/boost-your-business-with-modernized-data-integration-architecture.json":Jc,"../../data/legacy/jsonld/boosting-app-growth-targeted-messaging-for-english-learning.json":Kc,"../../data/legacy/jsonld/chat-gpt-is-google-search-business-dominance-challenged.json":Qc,"../../data/legacy/jsonld/contact.json":Yc,"../../data/legacy/jsonld/creating-our-first-node-js-package-with-typescript.json":Zc,"../../data/legacy/jsonld/david-gomez.json":Xc,"../../data/legacy/jsonld/educational-custom-software-development-overview.json":ed,"../../data/legacy/jsonld/etl-data-workflows-spartan-nash-boosts-business-logic-through-the-modernization-of-etl-workflow.json":td,"../../data/legacy/jsonld/francisco-hernandez.json":nd,"../../data/legacy/jsonld/frontend.json":od,"../../data/legacy/jsonld/gamified-and-customizable-web-based-survey-app-development.json":rd,"../../data/legacy/jsonld/including-women-in-technology-insights-from-women-at-moonshot-partners.json":ad,"../../data/legacy/jsonld/innovative-business-ideas.json":sd,"../../data/legacy/jsonld/investing-in-people-how-sunlight-helps-organizations-thrive.json":id,"../../data/legacy/jsonld/ios-developer.json":ld,"../../data/legacy/jsonld/jessica-leon.json":cd,"../../data/legacy/jsonld/juan-lagrange.json":dd,"../../data/legacy/jsonld/katherinne-jara-caceres.json":ud,"../../data/legacy/jsonld/language-learning-app-development.json":pd,"../../data/legacy/jsonld/leonardo-cabeza.json":hd,"../../data/legacy/jsonld/manifest.json":vr,"../../data/legacy/jsonld/moonshot-editorial-team.json":md,"../../data/legacy/jsonld/moonshot-girls.json":fd,"../../data/legacy/jsonld/mvp-ai-lab-unleashed-moonshots-labs-unites-teams-in-a-quest-for-knowledge.json":gd,"../../data/legacy/jsonld/mvp-testing-techniques-unveiled-redefining-product-validation.json":yd,"../../data/legacy/jsonld/mvp-ux-design-balancing-simplicity-and-functionality.json":vd,"../../data/legacy/jsonld/mvp-vs-prototype-vs-poc-decoding-development-strategies.json":wd,"../../data/legacy/jsonld/mvps-inspiring-mvp-examples-across-industries.json":bd,"../../data/legacy/jsonld/no-code-automation-how-moonshot-empowered-a-venture-capital.json":xd,"../../data/legacy/jsonld/nova-enhancing-client-engagement-and-lead-qualification-with-conversational-ai.json":kd,"../../data/legacy/jsonld/pattern-discovery-ai-enhancing-design-exploration-with-intelligent-search.json":Sd,"../../data/legacy/jsonld/pedro-mejia.json":_d,"../../data/legacy/jsonld/product-discovery-the-lanbys-primary-healthcare-innovation.json":Pd,"../../data/legacy/jsonld/product-manager.json":jd,"../../data/legacy/jsonld/ricardo-rodriguez.json":Ad,"../../data/legacy/jsonld/rubens-pasquale.json":Cd,"../../data/legacy/jsonld/sasha-briceno.json":Ed,"../../data/legacy/jsonld/services-shared.json":Ci,"../../data/legacy/jsonld/suaas-everything-you-need-to-know-to-launch-and-grow-your-business.json":Td,"../../data/legacy/jsonld/the-return-to-office-in-the-digital-nomads-era.json":Id,"../../data/legacy/jsonld/top-nearshore-software-development-services-in-uk.json":Od,"../../data/legacy/jsonld/unlock-your-businesss-potential-with-custom-software-development.json":Md,"../../data/legacy/jsonld/valentina-delfino.json":Ld,"../../data/legacy/jsonld/veronica-delfino.json":Rd,"../../data/legacy/jsonld/web-application-development.json":Nd,"../../data/legacy/jsonld/website-pages-are-not-indexing-check-these-5-common-reasons.json":Dd,"../../data/legacy/jsonld/website-seo-optimization.json":zd,"../../data/legacy/jsonld/why-strong-company-culture-is-the-key-to-success-in-a-rapidly-changing-world.json":Fd}),HO=vr.archived;function GO(e){const t=HO[e];if(!t)return[];const n=UO[`../../data/legacy/jsonld/${t}`];return n?Array.isArray(n)?n:[n]:[]}const qO='<a href="/"><img src="/legacy/images/63a492476c31f24b2f1103b9_MoonshotLogo.svg"';function JO(e){const t=e.indexOf(qO);return t===-1?e:e.slice(0,t)}function KO(e){return e.heading||!e.bodyHtml.includes('href="/services/')?!1:e.bodyHtml.replace(/<a href="\/services\/[^"]+">[^<]*<\/a>/g,"").trim()===""}function QO({data:e}
1380){wo({title:e.seo.title,description:e.seo.description??null,path:e.path}),ls([...GO(e.path),C0(e)]);const t=e.sections.filter(n=>!KO(n)).map(n=>({...n,bodyHtml:JO(n.bodyHtml)})).filter(n=>n.heading||n.bodyHtml.trim()!=="");return l.jsxs(l.Fragment,{children:[l.jsx(vo,{}),l.jsxs("main",{className:"legacy-static-page",style:{minHeight:"100vh",background:k.paper,overflowX:"hidden"},children:[l.jsx(Yr,{}),l.jsx(Et,{ground:"ink",eyebrow:`Moonshot archive / ${e.slug}`,fullHeight:!0,children:l.jsxs("div",{className:"legacy-static-hero",children:[l.jsxs("div",{className:"legacy-static-accession",children:[l.jsx("span",{style:Ue(k.blueprintOnInk,10),children:"Recovered page"}),l.jsx("span",{style:Ue(k.onInkDim,10),children:e.path})]}),l.jsxs("div",{children:[l.jsx("h1",{children:e.hero.h1}),l.jsx(Xa,{html:e.hero.introHtml,className:"legacy-static-prose legacy-static-prose--ink legacy-static-intro"})]})]})}),t.map((n,o)=>{const r=o%2===0?"paper":"ink",a=r==="ink";return l.jsx(Et,{ground:r,eyebrow:`Section ${String(o+1).padStart(2,"0")} / ${e.slug}`,children:l.jsxs("div",{className:`legacy-static-section${a?" legacy-static-section--ink":""}`,children:[l.jsx("div",{className:"legacy-static-section-meta",children:l.jsxs("span",{style:Ue(a?k.blueprintOnInk:k.blueprint,10),children:[String(o+1).padStart(2,"0")," / ",String(t.length).padStart(2,"0")]})}),l.jsxs("article",{children:[n.heading&&l.jsx("h2",{children:n.heading}),l.jsx(Xa,{html:n.bodyHtml,className:`legacy-static-prose${a?" legacy-static-prose--ink":""}`})]})]})},`${n.heading??"section"}-${o}`)}),e.slug==="contact"&&l.jsx(BO,{}),l.jsx("style",{children:` 1381 .legacy-static-page *, 1382 .legacy-static-page *::before, 1383 .legacy-static-page *::after { box-sizing: border-box; } 1384 .legacy-static-hero { 1385 width: min(100%, 1280px); 1386 margin: 0 auto; 1387 display: grid; 1388 grid-template-columns: minmax(150px, .32fr) minmax(0, 1.68fr); 1389 gap: clamp(34px, 8vw, 128px); 1390 align-items: end; 1391 } 1392 .legacy-static-accession { 1393 min-width: 0; 1394 align-self: stretch; 1395 display: flex; 1396 flex-direction: column; 1397 justify-content: space-between; 1398 gap: 36px; 1399 border-left: 1px solid ${k.chalkOnInk}; 1400 padding-left: 18px; 1401 } 1402 .legacy-static-accession span { overflow-wrap: anywhere; } 1403 .legacy-static-hero h1 { 1404 max-width: 11ch; 1405 margin: 0; 1406 color: ${k.onInk}; 1407 font-family: ${G.display}; 1408 font-size: clamp(54px, 9.5vw, 140px); 1409 font-weight: 520; 1410 letter-spacing: -.065em; 1411 line-height: .86; 1412 } 1413 .legacy-static-intro { 1414 max-width: 720px; 1415 margin-top: clamp(34px, 5vw, 64px); 1416 border-top: 1px solid ${k.chalkOnInk}; 1417 padding-top: 24px; 1418 font-size: clamp(18px, 1.6vw, 23px) !important; 1419 } 1420 .legacy-static-section { 1421 width: min(100%, 1280px); 1422 margin: 0 auto; 1423 display: grid; 1424 grid-template-columns: minmax(100px, .32fr) minmax(0, 1.68fr); 1425 gap: clamp(34px, 8vw, 128px); 1426 } 1427 .legacy-static-section-meta { 1428 border-left: 1px solid ${k.chalk}; 1429 padding-left: 18px; 1430 } 1431 .legacy-static-section--ink .legacy-static-section-meta { 1432 border-left-color: ${k.chalkOnInk}; 1433 } 1434 .legacy-static-section > article { min-width: 0; } 1435 .legacy-static-section > article > h2 { 1436 max-width: 1050px; 1437 margin: 0 0 clamp(42px, 7vw, 84px); 1438 color: ${k.ink}; 1439 font-family: ${G.display}; 1440 font-size: clamp(42px, 7vw, 96px); 1441 font-weight: 530; 1442 letter-spacing: -.055em; 1443 line-height: .92; 1444 } 1445 .legacy-static-section--ink > article > h2 { color: ${k.onInk}; } 1446 .legacy-static-prose.prose { max-width: 100%; } 1447 .legacy-static-prose.prose img { 1448 display: inline-block; 1449 width: auto;
1450 max-width: min(100%, 360px); 1451 max-height: 180px; 1452 object-fit: contain; 1453 object-position: left center; 1454 margin: 10px 18px 10px 0; 1455 vertical-align: middle; 1456 } 1457 .legacy-static-prose--ink.prose, 1458 .legacy-static-prose--ink.prose :where(p, li, blockquote) { 1459 color: ${k.onInkMute}; 1460 } 1461 .legacy-static-prose--ink.prose :where(h2, h3, h4, strong) { 1462 color: ${k.onInk}; 1463 } 1464 .legacy-static-prose--ink.prose :where(h2, hr, table, thead, tr) { 1465 border-color: ${k.chalkOnInk}; 1466 } 1467 .legacy-static-prose--ink.prose a { color: ${k.blueprintOnInk}; } 1468 .legacy-static-prose--ink.prose code { color: ${k.onInk}; } 1469 .legacy-static-prose--ink.prose img { filter: grayscale(1) brightness(.82); } 1470 @media (max-width: 760px) { 1471 .legacy-static-hero, 1472 .legacy-static-section { grid-template-columns: minmax(0, 1fr); } 1473 .legacy-static-accession { 1474 min-height: 0; 1475 display: grid; 1476 grid-template-columns: repeat(2, minmax(0, 1fr)); 1477 } 1478 .legacy-static-section-meta { 1479 border-left: 0; 1480 border-bottom: 1px solid ${k.chalk}; 1481 padding: 0 0 16px; 1482 } 1483 .legacy-static-section--ink .legacy-static-section-meta { 1484 border-bottom-color: ${k.chalkOnInk}; 1485 } 1486 } 1487 `})]}),l.jsx(yo,{})]})}function Eo({slug:e}){const[t,n]=p.useState({slug:"",data:null,missing:!1});return p.useEffect(()=>{let o=!0;const r=WO[`../../data/legacy/static/${e}.json`];return n({slug:e,data:null,missing:!1}),r?(r().then(a=>{o&&n({slug:e,data:a.default,missing:!1})}).catch(()=>{o&&n({slug:e,data:null,missing:!0})}),()=>{o=!1}):(n({slug:e,data:null,missing:!0}),()=>{o=!1})},[e]),t.slug!==e||!t.data&&!t.missing?l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh",background:k.paper}}):t.missing||!t.data?l.jsx(Xr,{}):l.jsx(QO,{data:t.data})}function YO({to:e}){const{search:t,hash:n}=_n(),o=e+t+n;return p.useEffect(()=>{window.location.replace(o)},[o]),l.jsxs("p",{children:["This page has moved. ",l.jsx("a",{href:o,children:"Continue to Moonshot Partners"}),"."]})}const ZO=[{source:"/about-us",destination:"/about"},{source:"/outsource-software-development",destination:"/services/outsourcing-software-development-solutions"},{source:"/services/outsource-software-development",destination:"/services/outsourcing-software-development-solutions"},{source:"/services/app-development",destination:"/services/mobile-app-development-services"},{source:"/app-development-service",destination:"/services/mobile-app-development-services"},{source:"/services/software-testing",destination:"/services/software-testing-services"},{source:"/software-testing-services",destination:"/services/software-testing-services"},{source:"/services/web-application-development",destination:"/services/web-application-development-services-london-uk"},{source:"/web-application-development-services",destination:"/services/web-application-development-services-london-uk"},{source:"/careers",destination:"/"},{source:"/privacy",destination:"/privacy-policy"}],XO=["https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400;1,700&family=JetBrains+Mono:wght@400;500&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=Funnel+Display:[email protected]&family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,500;0,6..12,600;0,6..12,700;1,6..12,400&display=swap","https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;
1487800&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap","https://api.fontshare.com/v2/css?f[]=switzer@300,400,500,600,700,800&display=swap","https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700&family=Hanken+Grotesk:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=JetBrains+Mono:wght@400;500;600;700&display=swap"],eM=["https://api.fontshare.com/v2/css?f[]=switzer@300,400,500,600,700,800&display=swap","https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;500;600;700&family=Hanken+Grotesk:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@400;500;600;700&display=swap"];function tM(e){return e==="/blog"||e.startsWith("/blog/")?eM:XO}function nM(){const{pathname:e}=_n();return l.jsx(l.Fragment,{children:tM(e).map(t=>l.jsx("link",{rel:"stylesheet",href:t},t))})}const oM=1,rM=1e6;let Qu=0;function aM(){return Qu=(Qu+1)%Number.MAX_SAFE_INTEGER,Qu.toString()}const Yu=new Map,Fy=e=>{if(Yu.has(e))return;const t=setTimeout(()=>{Yu.delete(e),Ws({type:"REMOVE_TOAST",toastId:e})},rM);Yu.set(e,t)},sM=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,oM)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?Fy(n):e.toasts.forEach(o=>{Fy(o.id)}),{...e,toasts:e.toasts.map(o=>o.id===n||n===void 0?{...o,open:!1}:o)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},Sl=[];let _l={toasts:[]};function Ws(e){_l=sM(_l,e),Sl.forEach(t=>{t(_l)})}function iM({...e}){const t=aM(),n=r=>Ws({type:"UPDATE_TOAST",toast:{...r,id:t}}),o=()=>Ws({type:"DISMISS_TOAST",toastId:t});return Ws({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:r=>{r||o()}}}),{id:t,dismiss:o,update:n}}function lM(){const[e,t]=p.useState(_l);return p.useEffect(()=>(Sl.push(t),()=>{const n=Sl.indexOf(t);n>-1&&Sl.splice(n,1)}),[e]),{...e,toast:iM,dismiss:n=>Ws({type:"DISMISS_TOAST",toastId:n})}}var tf="ToastProvider",[nf,cM,dM]=Im("Toast"),[d1,JR]=yr("Toast",[dM]),[uM,Zd]=d1(tf),u1=e=>{const{__scopeToast:t,label:n="Notification",duration:o=5e3,swipeDirection:r="right",swipeThreshold:a=50,children:s}=e,[i,c]=p.useState(null),[d,u]=p.useState(0),m=p.useRef(!1),g=p.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${tf}\`. Expected non-empty \`string\`.`),l.jsx(nf.Provider,{scope:t,children:l.jsx(uM,{scope:t,label:n,duration:o,swipeDirection:r,swipeThreshold:a,toastCount:d,viewport:i,onViewportChange:c,onToastAdd:p.useCallback(()=>u(y=>y+1),[]),onToastRemove:p.useCallback(()=>u(y=>y-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:g,children:s})})};u1.displayName=tf;var p1="ToastViewport",pM=["F8"],yh="toast.viewportPause",vh="toast.viewportResume",h1=p.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:o=pM,label:r="Notifications ({hotkey})",...a}=e,s=Zd(p1,n),i=cM(n),c=p.useRef(null),d=p.useRef(null),u=p.useRef(null),m=p.useRef(null),g=De(t,m,s.onViewportChange),y=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),x=s.toastCount>0;p.useEffect(()=>{const b=v=>{var w;o.length!==0&&o.every(S=>v[S]||v.code===S)&&((w=m.current)==null||w.focus())};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[o]),p.useEffect(()=>{const b=c.current,v=m.current;if(x&&b&&v){const h=()=>{if(!s.isClosePausedRef.current){const A=new CustomEvent(yh);v.dispatchEvent(A),s.isClosePausedRef.current=!0}},w=()=>{if(s.isClosePausedRef.current){const A=new CustomEvent(vh);v.dispatchEvent(A),s.isClosePausedRef.current=!1}},S=A=>{!b.contains(A.relatedTarget)&&w()},_=()=>{b.contains(document.activeElement)||w()};return b.addEventListener("focusin",h),b.addEventListener("focusout",S),b.addEventListener("pointermove",h),b.addEventListener("pointerleave",_),window.addEventListener("blur",h),window.addEventListener("focus",w),()=>{b.removeEventListener("focusin",h),b.removeEventListener("focusout",S),b.removeEventListener("pointermove",h),b.removeEventListener("pointerleave",_),window.removeEventListener("blur",h),window.removeEventListener("focus",w)}}},[x,s.isClosePausedRef]);const f=p.useCallback(({tabbingDirection:b})=>{const h=i().map(w=>{const S=w.ref.current,_=[S,...PM(S)];return b==="forwards"?_:_.reverse()});return(b==="forwards"?h.reverse():h).flat()},[i]);return p.useEffect(()=>{const b=m.current;if(b){const v=h=>{var _,A,j;const w=h.altKey||h.ctrlKey||h.metaKey;
1487if(h.key==="Tab"&&!w){const I=document.activeElement,D=h.shiftKey;if(h.target===b&&D){(_=d.current)==null||_.focus();return}const N=f({tabbingDirection:D?"backwards":"forwards"}),q=N.findIndex(z=>z===I);Zu(N.slice(q+1))?h.preventDefault():D?(A=d.current)==null||A.focus():(j=u.current)==null||j.focus()}};return b.addEventListener("keydown",v),()=>b.removeEventListener("keydown",v)}},[i,f]),l.jsxs(HE,{ref:c,role:"region","aria-label":r.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:x?void 0:"none"},children:[x&&l.jsx(wh,{ref:d,onFocusFromOutsideViewport:()=>{const b=f({tabbingDirection:"forwards"});Zu(b)}}),l.jsx(nf.Slot,{scope:n,children:l.jsx(ve.ol,{tabIndex:-1,...a,ref:g})}),x&&l.jsx(wh,{ref:u,onFocusFromOutsideViewport:()=>{const b=f({tabbingDirection:"backwards"});Zu(b)}})]})});h1.displayName=p1;var m1="ToastFocusProxy",wh=p.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:o,...r}=e,a=Zd(m1,n);return l.jsx(qd,{"aria-hidden":!0,tabIndex:0,...r,ref:t,style:{position:"fixed"},onFocus:s=>{var d;const i=s.relatedTarget;!((d=a.viewport)!=null&&d.contains(i))&&o()}})});wh.displayName=m1;var Ti="Toast",hM="toast.swipeStart",mM="toast.swipeMove",fM="toast.swipeCancel",gM="toast.swipeEnd",f1=p.forwardRef((e,t)=>{const{forceMount:n,open:o,defaultOpen:r,onOpenChange:a,...s}=e,[i,c]=Hr({prop:o,defaultProp:r??!0,onChange:a,caller:Ti});return l.jsx(ji,{present:n||i,children:l.jsx(wM,{open:i,...s,ref:t,onClose:()=>c(!1),onPause:xn(e.onPause),onResume:xn(e.onResume),onSwipeStart:fe(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:fe(e.onSwipeMove,d=>{const{x:u,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${m}px`)}),onSwipeCancel:fe(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:fe(e.onSwipeEnd,d=>{const{x:u,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${m}px`),c(!1)})})})});f1.displayName=Ti;var[yM,vM]=d1(Ti,{onClose(){}}),wM=p.forwardRef((e,t)=>{const{__scopeToast:n,type:o="foreground",duration:r,open:a,onClose:s,onEscapeKeyDown:i,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:m,onSwipeCancel:g,onSwipeEnd:y,...x}=e,f=Zd(Ti,n),[b,v]=p.useState(null),h=De(t,z=>v(z)),w=p.useRef(null),S=p.useRef(null),_=r||f.duration,A=p.useRef(0),j=p.useRef(_),I=p.useRef(0),{onToastAdd:D,onToastRemove:F}=f,Y=xn(()=>{var ne;(b==null?void 0:b.contains(document.activeElement))&&((ne=f.viewport)==null||ne.focus()),s()}),N=p.useCallback(z=>{!z||z===1/0||(window.clearTimeout(I.current),A.current=new Date().getTime(),I.current=window.setTimeout(Y,z))},[Y]);p.useEffect(()=>{const z=f.viewport;if(z){const ne=()=>{N(j.current),d==null||d()},K=()=>{const ee=new Date().getTime()-A.current;j.current=j.current-ee,window.clearTimeout(I.current),c==null||c()};return z.addEventListener(yh,K),z.addEventListener(vh,ne),()=>{z.removeEventListener(yh,K),z.removeEventListener(vh,ne)}}},[f.viewport,_,c,d,N]),p.useEffect(()=>{a&&!f.isClosePausedRef.current&&N(_)},[a,_,f.isClosePausedRef,N]),p.useEffect(()=>(D(),()=>F()),[D,F]);const q=p.useMemo(()=>b?k1(b):null,[b]);return f.viewport?l.jsxs(l.Fragment,{children:[q&&l.jsx(bM,{__scopeToast:n,role:"status","aria-live":o==="foreground"?"assertive":"polite","aria-atomic":!0,children:q}),l.jsx(yM,{scope:n,onClose:Y,children:gr.createPortal(l.jsx(nf.ItemSlot,{scope:n,children:l.jsx(UE,{asChild:!0,onEscapeKeyDown:fe(i,()=>{f.isFocusedToastEscapeKeyDownRef.current||Y(),f.isFocusedToastEscapeKeyDownRef.current=!1}),children:l.jsx(ve.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":f.swipeDirection,...x,ref:h,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:fe(e.onKeyDown,z=>{z.key==="Escape"&&(i==null||i(z.nativeEvent),z.nativeEvent.defaultPrevented||(f.is
1487FocusedToastEscapeKeyDownRef.current=!0,Y()))}),onPointerDown:fe(e.onPointerDown,z=>{z.button===0&&(w.current={x:z.clientX,y:z.clientY})}),onPointerMove:fe(e.onPointerMove,z=>{if(!w.current)return;const ne=z.clientX-w.current.x,K=z.clientY-w.current.y,ee=!!S.current,T=["left","right"].includes(f.swipeDirection),M=["left","up"].includes(f.swipeDirection)?Math.min:Math.max,U=T?M(0,ne):0,ie=T?0:M(0,K),ae=z.pointerType==="touch"?10:2,ce={x:U,y:ie},le={originalEvent:z,delta:ce};ee?(S.current=ce,rl(mM,m,le,{discrete:!1})):Vy(ce,f.swipeDirection,ae)?(S.current=ce,rl(hM,u,le,{discrete:!1}),z.target.setPointerCapture(z.pointerId)):(Math.abs(ne)>ae||Math.abs(K)>ae)&&(w.current=null)}),onPointerUp:fe(e.onPointerUp,z=>{const ne=S.current,K=z.target;if(K.hasPointerCapture(z.pointerId)&&K.releasePointerCapture(z.pointerId),S.current=null,w.current=null,ne){const ee=z.currentTarget,T={originalEvent:z,delta:ne};Vy(ne,f.swipeDirection,f.swipeThreshold)?rl(gM,y,T,{discrete:!0}):rl(fM,g,T,{discrete:!0}),ee.addEventListener("click",M=>M.preventDefault(),{once:!0})}})})})}),f.viewport)})]}):null}),bM=e=>{const{__scopeToast:t,children:n,...o}=e,r=Zd(Ti,t),[a,s]=p.useState(!1),[i,c]=p.useState(!1);return SM(()=>s(!0)),p.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),i?null:l.jsx(Xm,{asChild:!0,children:l.jsx(qd,{...o,children:a&&l.jsxs(l.Fragment,{children:[r.label," ",n]})})})},xM="ToastTitle",g1=p.forwardRef((e,t)=>{const{__scopeToast:n,...o}=e;return l.jsx(ve.div,{...o,ref:t})});g1.displayName=xM;var kM="ToastDescription",y1=p.forwardRef((e,t)=>{const{__scopeToast:n,...o}=e;return l.jsx(ve.div,{...o,ref:t})});y1.displayName=kM;var v1="ToastAction",w1=p.forwardRef((e,t)=>{const{altText:n,...o}=e;return n.trim()?l.jsx(x1,{altText:n,asChild:!0,children:l.jsx(of,{...o,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${v1}\`. Expected non-empty \`string\`.`),null)});w1.displayName=v1;var b1="ToastClose",of=p.forwardRef((e,t)=>{const{__scopeToast:n,...o}=e,r=vM(b1,n);return l.jsx(x1,{asChild:!0,children:l.jsx(ve.button,{type:"button",...o,ref:t,onClick:fe(e.onClick,r.onClose)})})});of.displayName=b1;var x1=p.forwardRef((e,t)=>{const{__scopeToast:n,altText:o,...r}=e;return l.jsx(ve.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...r,ref:t})});function k1(e){const t=[];return Array.from(e.childNodes).forEach(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent&&t.push(o.textContent),_M(o)){const r=o.ariaHidden||o.hidden||o.style.display==="none",a=o.dataset.radixToastAnnounceExclude==="";if(!r)if(a){const s=o.dataset.radixToastAnnounceAlt;s&&t.push(s)}else t.push(...k1(o))}}),t}function rl(e,t,n,{discrete:o}){const r=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?Qb(r,a):r.dispatchEvent(a)}var Vy=(e,t,n=0)=>{const o=Math.abs(e.x),r=Math.abs(e.y),a=o>r;return t==="left"||t==="right"?a&&o>n:!a&&r>n};function SM(e=()=>{}){const t=xn(e);pt(()=>{let n=0,o=0;return n=window.requestAnimationFrame(()=>o=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(o)}},[t])}function _M(e){return e.nodeType===e.ELEMENT_NODE}function PM(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Zu(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var jM=u1,S1=h1,_1=f1,P1=g1,j1=y1,A1=w1,C1=of;const AM=jM,E1=p.forwardRef(({className:e,...t},n)=>l.jsx(S1,{ref:n,className:He("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]",e),...t}));E1.displayName=S1.displayName;const CM=$m("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"}}),T1=p.forwardRef(({className:e,variant:t,...n},o)=>l.jsx(_1,{ref:o,className:He(CM({variant:t}),e),...n}));T1.displayName=_1.displayName;const EM=p.forwardRef(({className:e,...t},n)=>l.jsx(A1,{ref:n,className:He("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 group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t}));EM.displayName=A1.displayName;const I1=p.forwardRef(({className:e,...t},n)=>l.jsx(C1,{ref:n,className:He("absolute right-2 top-2 rounded-md p-1 text-foreground
1487/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:l.jsx(Rj,{className:"h-4 w-4"})}));I1.displayName=C1.displayName;const O1=p.forwardRef(({className:e,...t},n)=>l.jsx(P1,{ref:n,className:He("text-sm font-semibold",e),...t}));O1.displayName=P1.displayName;const M1=p.forwardRef(({className:e,...t},n)=>l.jsx(j1,{ref:n,className:He("text-sm opacity-90",e),...t}));M1.displayName=j1.displayName;function TM(){const{toasts:e}=lM();return l.jsxs(AM,{children:[e.map(function({id:t,title:n,description:o,action:r,...a}){return l.jsxs(T1,{...a,children:[l.jsxs("div",{className:"grid gap-1",children:[n&&l.jsx(O1,{children:n}),o&&l.jsx(M1,{children:o})]}),r,l.jsx(I1,{})]},t)}),l.jsx(E1,{})]})}var $y=["light","dark"],IM="(prefers-color-scheme: dark)",OM=p.createContext(void 0),MM={setTheme:e=>{},themes:[]},LM=()=>{var e;return(e=p.useContext(OM))!=null?e:MM};p.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:o,enableColorScheme:r,defaultTheme:a,value:s,attrs:i,nonce:c})=>{let d=a==="system",u=n==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${i.map(x=>`'${x}'`).join(",")})`};`:`var d=document.documentElement,n='${n}',s='setAttribute';`,m=r?$y.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",g=(x,f=!1,b=!0)=>{let v=s?s[x]:x,h=f?x+"|| ''":`'${v}'`,w="";return r&&b&&!f&&$y.includes(x)&&(w+=`d.style.colorScheme = '${x}';`),n==="class"?f||v?w+=`c.add(${h})`:w+="null":v&&(w+=`d[s](n,${h})`),w},y=e?`!function(){${u}${g(e)}}()`:o?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${d})){var t='${IM}',m=window.matchMedia(t);if(m.media!==t||m.matches){${g("dark")}}else{${g("light")}}}else if(e){${s?`var x=${JSON.stringify(s)};`:""}${g(s?"x[e]":"e",!0)}}${d?"":"else{"+g(a,!1,!1)+"}"}${m}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${s?`var x=${JSON.stringify(s)};`:""}${g(s?"x[e]":"e",!0)}}else{${g(a,!1,!1)};}${m}}catch(t){}}();`;return p.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:y}})});var RM=e=>{switch(e){case"success":return zM;case"info":return VM;case"warning":return FM;case"error":return $M;default:return null}},NM=Array(12).fill(0),DM=({visible:e,className:t})=>R.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},R.createElement("div",{className:"sonner-spinner"},NM.map((n,o)=>R.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),zM=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),FM=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),VM=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),$M=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),BM=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},R.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),R.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),WM=()=>{let[e,t]=R.useState(document.hidden);return R.useEffect(()=>{let n=()=>{t(document.hidden)};
1487return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},bh=1,UM=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...o}=e,r=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:bh++,a=this.toasts.find(i=>i.id===r),s=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),a?this.toasts=this.toasts.map(i=>i.id===r?(this.publish({...i,...e,id:r,title:n}),{...i,...e,id:r,dismissible:s,title:n}):i):this.addToast({title:n,...o,dismissible:s,id:r}),r},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>
1487this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let o=e instanceof Promise?e:e(),r=n!==void 0,a,s=o.then(async c=>{if(a=["resolve",c],R.isValidElement(c))r=!1,this.create({id:n,type:"default",message:c});else if(GM(c)&&!c.ok){r=!1;let d=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:n,type:"error",message:d,description:u})}else if(t.success!==void 0){r=!1;let d=typeof t.success=="function"?await t.success(c):t.success,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"success",message:d,description:u})}}).catch(async c=>{if(a=["reject",c],t.error!==void 0){r=!1;let d=typeof t.error=="function"?await t.error(c):t.error,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"error",message:d,description:u})}}).finally(()=>{var c;r&&(this.dismiss(n),n=void 0),(c=t.finally)==null||c.call(t)}),i=()=>new Promise((c,d)=>s.then(()=>a[0]==="reject"?d(a[1]):c(a[1])).catch(d));return typeof n!="string"&&typeof n!="number"?{unwrap:i}:Object.assign(n,{unwrap:i})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||bh++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Lt=new UM,HM=(e,t)=>{let n=(t==null?void 0:t.id)||bh++;return Lt.addToast({title:e,...t,id:n}),n},GM=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",qM=HM,JM=()=>Lt.toasts,KM=()=>Lt.getActiveToasts(),KR=Object.assign(qM,{success:Lt.success,info:Lt.info,warning:Lt.warning,error:Lt.error,custom:Lt.custom,message:Lt.message,promise:Lt.promise,dismiss:Lt.dismiss,loading:Lt.loading},{getHistory:JM,getToasts:KM});function QM(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",t==="top"&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}QM(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
1487left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
1487:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
1487--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} 1488`);function al(e){return e.label!==void 0}var YM=3,ZM="32px",XM="16px",By=4e3,eL=356,tL=14,nL=20,oL=200;function ln(...e){return e.filter(Boolean).join(" ")}function rL(e){let[t,n]=e.split("-"),o=[];return t&&o.push(t),n&&o.push(n),o}var aL=e=>{var t,n,o,r,a,s,i,c,d,u,m;let{invert:g,toast:y,unstyled:x,interacting:f,setHeights:b,visibleToasts:v,heights:h,index:w,toasts:S,expanded:_,removeToast:A,defaultRichColors:j,closeButton:I,style:D,cancelButtonStyle:F,actionButtonStyle:Y,className:N="",descriptionClassName:q="",duration:z,position:ne,gap:K,loadingIcon:ee,expandByDefault:T,classNames:M,icons:U,closeButtonAriaLabel:ie="Close toast",pauseWhenPageIsHidden:ae}=e,[ce,le]=R.useState(null),[Ee,$e]=R.useState(null),[J,Pe]=R.useState(!1),[Le,xe]=R.useState(!1),[we,ke]=R.useState(!1),[it,St]=R.useState(!1),[jn,An]=R.use
1488State(!1),[Gn,ea]=R.useState(0),[qn,P]=R.useState(0),E=R.useRef(y.duration||z||By),O=R.useRef(null),H=R.useRef(null),W=w===0,B=w+1<=v,Z=y.type,be=y.dismissible!==!1,Te=y.className||"",Ot=y.descriptionClassName||"",Jn=R.useMemo(()=>h.findIndex(pe=>pe.toastId===y.id)||0,[h,y.id]),Cn=R.useMemo(()=>{var pe;return(pe=y.closeButton)!=null?pe:I},[y.closeButton,I]),Ii=R.useMemo(()=>y.duration||z||By,[y.duration,z]),xr=R.useRef(0),En=R.useRef(0),Oi=R.useRef(0),Kn=R.useRef(null),[ou,Mi]=ne.split("-"),lf=R.useMemo(()=>h.reduce((pe,Ie,Be)=>Be>=Jn?pe:pe+Ie.height,0),[h,Jn]),cf=WM(),Q1=y.invert||g,ru=Z==="loading";En.current=R.useMemo(()=>Jn*K+lf,[Jn,lf]),R.useEffect(()=>{E.current=Ii},[Ii]),R.useEffect(()=>{Pe(!0)},[]),R.useEffect(()=>{let pe=H.current;if(pe){let Ie=pe.getBoundingClientRect().height;return P(Ie),b(Be=>[{toastId:y.id,height:Ie,position:y.position},...Be]),()=>b(Be=>Be.filter(on=>on.toastId!==y.id))}},[b,y.id]),R.useLayoutEffect(()=>{if(!J)return;let pe=H.current,Ie=pe.style.height;pe.style.height="auto";let Be=pe.getBoundingClientRect().height;pe.style.height=Ie,P(Be),b(on=>on.find(rn=>rn.toastId===y.id)?on.map(rn=>rn.toastId===y.id?{...rn,height:Be}:rn):[{toastId:y.id,height:Be,position:y.position},...on])},[J,y.title,y.description,b,y.id]);let bo=R.useCallback(()=>{xe(!0),ea(En.current),b(pe=>pe.filter(Ie=>Ie.toastId!==y.id)),setTimeout(()=>{A(y)},oL)},[y,A,b,En]);R.useEffect(()=>{if(y.promise&&Z==="loading"||y.duration===1/0||y.type==="loading")return;let pe;return _||f||ae&&cf?(()=>{if(Oi.current<xr.current){let Ie=new Date().getTime()-xr.current;E.current=E.current-Ie}Oi.current=new Date().getTime()})():E.current!==1/0&&(xr.current=new Date().getTime(),pe=setTimeout(()=>{var Ie;(Ie=y.onAutoClose)==null||Ie.call(y,y),bo()},E.current)),()=>clearTimeout(pe)},[_,f,y,Z,ae,cf,bo]),R.useEffect(()=>{y.delete&&bo()},[bo,y.delete]);function Y1(){var pe,Ie,Be;return U!=null&&U.loading?R.createElement("div",{className:ln(M==null?void 0:M.loader,(pe=y==null?void 0:y.classNames)==null?void 0:pe.loader,"sonner-loader"),"data-visible":Z==="loading"},U.loading):ee?R.createElement("div",{className:ln(M==null?void 0:M.loader,(Ie=y==null?void 0:y.classNames)==null?void 0:Ie.loader,"sonner-loader"),"data-visible":Z==="loading"},ee):R.createElement(DM,{className:ln(M==null?void 0:M.loader,(Be=y==null?void 0:y.classNames)==null?void 0:Be.loader),visible:Z==="loading"})}return R.createElement("li",{tabIndex:0,ref:H,className:ln(N,Te,M==null?void 0:M.toast,(t=y==null?void 0:y.classNames)==null?void 0:t.toast,M==null?void 0:M.default,M==null?void 0:M[Z],(n=y==null?void 0:y.classNames)==null?void 0:n[Z]),"data-sonner-toast":"","data-rich-colors":(o=y.richColors)!=null?o:j,"data-styled":!(y.jsx||y.unstyled||x),"data-mounted":J,"data-promise":!!y.promise,"data-swiped":jn,"data-removed":Le,"data-visible":B,"data-y-position":ou,"data-x-position":Mi,"data-index":w,"data-front":W,"data-swiping":we,"data-dismissible":be,"data-type":Z,"data-invert":Q1,"data-swipe-out":it,"data-swipe-direction":Ee,"data-expanded":!!(_||T&&J),style:{"--index":w,"--toasts-before":w,"--z-index":S.length-w,"--offset":`${Le?Gn:En.current}px`,"--initial-height":T?"auto":`${qn}px`,...D,...y.style},onDragEnd:()=>{ke(!1),le(null),Kn.current=null},onPointerDown:pe=>{ru||!be||(O.current=new Date,ea(En.current),pe.target.setPointerCapture(pe.pointerId),pe.target.tagName!=="BUTTON"&&(ke(!0),Kn.current={x:pe.clientX,y:pe.clientY}))},onPointerUp:()=>{var pe,Ie,Be,on;if(it||!be)return;Kn.current=null;let rn=Number(((pe=H.current)==null?void 0:pe.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),xo=Number(((Ie=H.current)==null?void 0:Ie.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),kr=new Date().getTime()-((Be=O.current)==null?void 0:Be.getTime()),an=ce==="x"?rn:xo,ko=Math.abs(an)/kr;if(Math.abs(an)>=nL||ko>.11){ea(En.current),(on=y.onDismiss)==null||on.call(y,y),$e(ce==="x"?rn>0?"right":"left":xo>0?"down":"up"),bo(),St(!0),An(!1);return}ke(!1),le(null)},onPointerMove:pe=>{var Ie,Be,on,rn;if(!Kn.current||!be||((Ie=window.getSelection())==null?void 0:Ie.toString().length)>0)return;let xo=pe.clientY-Kn.current.y,kr=pe.clientX-Kn.current.x,an=(Be=e.swipeDirections)!=null?Be:rL(ne);!ce&&(Math.abs(kr)>1||Math.abs(xo)>1)&&le(Math.abs(kr)>Math.abs(xo)?"x":"y");let ko={x:0,y:0};ce==="y"?(an.includes("top")||an.includes("bottom"))&&(an.includes("top")&&xo<0||an.includes("bottom")&&xo>0)&&(ko.y=xo):ce==="x"&&(an.includes("left")||an.includes("right"))&&(an.includes("left")&&kr<0||an.includes("right")&&kr>0)&&(ko.x=kr),(Math.abs(ko.x)>0||Math.abs(ko.y)>0)&&An(!0),(on=H.current)==null||on.style.setProperty("--swipe-amount-x",`${ko.x}px`),(rn=H.current)==null||rn.style.setProperty("--swipe-amount-y",`${ko.y}px`)}},Cn&&!y.jsx?R.createElement("button",{"aria-label":ie,"data-disabled":ru,"data-close-button":!0,onClick:ru||!be?()=>{}:()=>{var pe;bo(),(pe=y.onDismiss)==null||pe.call(y,y)},className:ln(M==null?void 0:M.closeButton,(r=y==null?void 0:y.classNames)==null?void 0:r.closeButton)},(a=U==null?void 0:U.close)!=null?a:BM):null,y.jsx||p.isValidElement(y.title)?y.jsx?
vendor: 4,357 bytes, line 1488
1488y.jsx:typeof y.title=="function"?y.title():y.title:R.createElement(R.Fragment,null,Z||y.icon||y.promise?R.createElement("div",{"data-icon":"",className:ln(M==null?void 0:M.icon,(s=y==null?void 0:y.classNames)==null?void 0:s.icon)},y.promise||y.type==="loading"&&!y.icon?y.icon||Y1():null,y.type!=="loading"?y.icon||(U==null?void 0:U[Z])||RM(Z):null):null,R.createElement("div",{"data-content":"",className:ln(M==null?void 0:M.content,(i=y==null?void 0:y.classNames)==null?void 0:i.content)},R.createElement("div",{"data-title":"",className:ln(M==null?void 0:M.title,(c=y==null?void 0:y.classNames)==null?void 0:c.title)},typeof y.title=="function"?y.title():y.title),y.description?R.createElement("div",{"data-description":"",className:ln(q,Ot,M==null?void 0:M.description,(d=y==null?void 0:y.classNames)==null?void 0:d.description)},typeof y.description=="function"?y.description():y.description):null),p.isValidElement(y.cancel)?y.cancel:y.cancel&&al(y.cancel)?R.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||F,onClick:pe=>{var Ie,Be;al(y.cancel)&&be&&((Be=(Ie=y.cancel).onClick)==null||Be.call(Ie,pe),bo())},className:ln(M==null?void 0:M.cancelButton,(u=y==null?void 0:y.classNames)==null?void 0:u.cancelButton)},y.cancel.label):null,p.isValidElement(y.action)?y.action:y.action&&al(y.action)?R.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||Y,onClick:pe=>{var Ie,Be;al(y.action)&&((Be=(Ie=y.action).onClick)==null||Be.call(Ie,pe),!pe.defaultPrevented&&bo())},className:ln(M==null?void 0:M.actionButton,(m=y==null?void 0:y.classNames)==null?void 0:m.actionButton)},y.action.label):null))};function Wy(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function sL(e,t){let n={};return[e,t].forEach((o,r)=>{let a=r===1,s=a?"--mobile-offset":"--offset",i=a?XM:ZM;function c(d){["top","right","bottom","left"].forEach(u=>{n[`${s}-${u}`]=typeof d=="number"?`${d}px`:d})}typeof o=="number"||typeof o=="string"?c(o):typeof o=="object"?["top","right","bottom","left"].forEach(d=>{o[d]===void 0?n[`${s}-${d}`]=i:n[`${s}-${d}`]=typeof o[d]=="number"?`${o[d]}px`:o[d]}):c(i)}),n}var iL=p.forwardRef(function(e,t){let{invert:n,position:o="bottom-right",hotkey:r=["altKey","KeyT"],expand:a,closeButton:s,className:i,offset:c,mobileOffset:d,theme:u="light",richColors:m,duration:g,style:y,visibleToasts:x=YM,toastOptions:f,dir:b=Wy(),gap:v=tL,loadingIcon:h,icons:w,containerAriaLabel:S="Notifications",pauseWhenPageIsHidden:_}=e,[A,j]=R.useState([]),I=R.useMemo(()=>Array.from(new Set([o].concat(A.filter(ae=>ae.position).map(ae=>ae.position)))),[A,o]),[D,F]=R.useState([]),[Y,N]=R.useState(!1),[q,z]=R.useState(!1),[ne,K]=R.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ee=R.useRef(null),T=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),M=R.useRef(null),U=R.useRef(!1),ie=R.useCallback(ae=>{j(ce=>{var le;return(le=ce.find(Ee=>Ee.id===ae.id))!=null&&le.delete||Lt.dismiss(ae.id),ce.filter(({id:Ee})=>Ee!==ae.id)})},[]);return R.useEffect(()=>Lt.subscribe(ae=>{if(ae.dismiss){j(ce=>ce.map(le=>le.id===ae.id?{...le,delete:!0}:le));return}setTimeout(()=>{bm.flushSync(()=>{j(ce=>{let le=ce.findIndex(Ee=>Ee.id===ae.id);return le!==-1?[...ce.slice(0,le),{...ce[le],...ae},...ce.slice(le+1)]:[ae,...ce]})})})}),[]),R.useEffect(()=>{if(u!=="system"){K(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?K("dark"):K("light")),typeof window>"u")return;let ae=window.matchMedia("(prefers-color-scheme: dark)");try{ae.addEventListener("change",({matches:ce})=>{K(ce?"dark":"light")})}catch{ae.addListener(({matches:le})=>{try{K(le?"dark":"light")}catch(Ee){console.error(Ee)}})}},[u]),R.useEffect(()=>{A.length<=1&&N(!1)},[A]),R.useEffect(()=>{let ae=ce=>{var le,Ee;r.every($e=>ce[$e]||ce.code===$e)&&(N(!0),(le=ee.current)==null||le.focus()),ce.code==="Escape"&&(document.activeElement===ee.current||(Ee=ee.current)!=null&&Ee.contains(document.activeElement))&&N(!1)};return document.addEventListener("keydown",ae),()=>document.removeEventListener("keydown",ae)},[r]),R.useEffect(()=>{if(ee.current)return()=>
vendor: 4,264 bytes, line 1488
1488{M.current&&(M.current.focus({preventScroll:!0}),M.current=null,U.current=!1)}},[ee.current]),R.createElement("section",{ref:t,"aria-label":`${S} ${T}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},I.map((ae,ce)=>{var le;let[Ee,$e]=ae.split("-");return A.length?R.createElement("ol",{key:ae,dir:b==="auto"?Wy():b,tabIndex:-1,ref:ee,className:i,"data-sonner-toaster":!0,"data-theme":ne,"data-y-position":Ee,"data-lifted":Y&&A.length>1&&!a,"data-x-position":$e,style:{"--front-toast-height":`${((le=D[0])==null?void 0:le.height)||0}px`,"--width":`${eL}px`,"--gap":`${v}px`,...y,...sL(c,d)},onBlur:J=>{U.current&&!J.currentTarget.contains(J.relatedTarget)&&(U.current=!1,M.current&&(M.current.focus({preventScroll:!0}),M.current=null))},onFocus:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||U.current||(U.current=!0,M.current=J.relatedTarget)},onMouseEnter:()=>N(!0),onMouseMove:()=>N(!0),onMouseLeave:()=>{q||N(!1)},onDragEnd:()=>N(!1),onPointerDown:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||z(!0)},onPointerUp:()=>z(!1)},A.filter(J=>!J.position&&ce===0||J.position===ae).map((J,Pe)=>{var Le,xe;return R.createElement(aL,{key:J.id,icons:w,index:Pe,toast:J,defaultRichColors:m,duration:(Le=f==null?void 0:f.duration)!=null?Le:g,className:f==null?void 0:f.className,descriptionClassName:f==null?void 0:f.descriptionClassName,invert:n,visibleToasts:x,closeButton:(xe=f==null?void 0:f.closeButton)!=null?xe:s,interacting:q,position:ae,style:f==null?void 0:f.style,unstyled:f==null?void 0:f.unstyled,classNames:f==null?void 0:f.classNames,cancelButtonStyle:f==null?void 0:f.cancelButtonStyle,actionButtonStyle:f==null?void 0:f.actionButtonStyle,removeToast:ie,toasts:A.filter(we=>we.position==J.position),heights:D.filter(we=>we.position==J.position),setHeights:F,expandByDefault:a,gap:v,loadingIcon:h,expanded:Y,pauseWhenPageIsHidden:_,swipeDirections:e.swipeDirections})})):null}))});const lL=({...e})=>{const{theme:t="system"}=LM();return l.jsx(iL,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})};var[Xd,QR]=yr("Tooltip",[Gd]),rf=Gd(),L1="TooltipProvider",cL=700,Uy="tooltip.open",[dL,R1]=Xd(L1),N1=e=>{const{__scopeTooltip:t,delayDuration:n=cL,skipDelayDuration:o=300,disableHoverableContent:r=!1,children:a}=e,s=p.useRef(!0),i=p.useRef(!1),c=p.useRef(0);return p.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),l.jsx(dL,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:p.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,o)},[o]),isPointerInTransitRef:i,onPointerInTransitChange:p.useCallback(d=>{i.current=d},[]),disableHoverableContent:r,children:a})};N1.displayName=L1;var D1="Tooltip",[YR,eu]=Xd(D1),xh="TooltipTrigger",uL=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,r=eu(xh,n),a=R1(xh,n),s=rf(n),i=p.useRef(null),c=De(t,i,r.onTriggerChange),d=p.useRef(!1),u=p.useRef(!1),m=p.useCallback(()=>d.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),l.jsx(fx,{asChild:!0,...s,children:l.jsx(ve.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...o,ref:c,onPointerMove:fe(e.onPointerMove,g=>{g.pointerType!=="touch"&&!u.current&&!a.isPointerInTransitRef.current&&(r.onTriggerEnter(),u.current=!0)}),onPointerLeave:fe(e.onPointerLeave,()=>{r.onTriggerLeave(),u.current=!1}),onPointerDown:fe(e.onPointerDown,()=>{r.open&&r.onClose(),d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:fe(e.onFocus,()=>{d.current||r.onOpen()}),onBlur:fe(e.onBlur,r.onClose),onClick:fe(e.onClick,r.onClose)})})});uL.displayName=xh;var pL="TooltipPortal",[ZR,hL]=Xd(pL,{forceMount:void 0}),ts="TooltipContent",z1=p.forwardRef((e,t)=>
vendor: 4,632 bytes, line 1488
1488{const n=hL(ts,e.__scopeTooltip),{forceMount:o=n.forceMount,side:r="top",...a}=e,s=eu(ts,e.__scopeTooltip);return l.jsx(ji,{present:o||s.open,children:s.disableHoverableContent?l.jsx(F1,{side:r,...a,ref:t}):l.jsx(mL,{side:r,...a,ref:t})})}),mL=p.forwardRef((e,t)=>{const n=eu(ts,e.__scopeTooltip),o=R1(ts,e.__scopeTooltip),r=p.useRef(null),a=De(t,r),[s,i]=p.useState(null),{trigger:c,onClose:d}=n,u=r.current,{onPointerInTransitChange:m}=o,g=p.useCallback(()=>{i(null),m(!1)},[m]),y=p.useCallback((x,f)=>{const b=x.currentTarget,v={x:x.clientX,y:x.clientY},h=wL(v,b.getBoundingClientRect()),w=bL(v,h),S=xL(f.getBoundingClientRect()),_=SL([...w,...S]);i(_),m(!0)},[m]);return p.useEffect(()=>()=>g(),[g]),p.useEffect(()=>{if(c&&u){const x=b=>y(b,u),f=b=>y(b,c);return c.addEventListener("pointerleave",x),u.addEventListener("pointerleave",f),()=>{c.removeEventListener("pointerleave",x),u.removeEventListener("pointerleave",f)}}},[c,u,y,g]),p.useEffect(()=>{if(s){const x=f=>{const b=f.target,v={x:f.clientX,y:f.clientY},h=(c==null?void 0:c.contains(b))||(u==null?void 0:u.contains(b)),w=!kL(v,s);h?g():w&&(g(),d())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[c,u,s,d,g]),l.jsx(F1,{...e,ref:a})}),[fL,gL]=Xd(D1,{isInside:!1}),yL=XP("TooltipContent"),F1=p.forwardRef((e,t)=>{const{__scopeTooltip:n,children:o,"aria-label":r,onEscapeKeyDown:a,onPointerDownOutside:s,...i}=e,c=eu(ts,n),d=rf(n),{onClose:u}=c;return p.useEffect(()=>(document.addEventListener(Uy,u),()=>document.removeEventListener(Uy,u)),[u]),p.useEffect(()=>{if(c.trigger){const m=g=>{const y=g.target;y!=null&&y.contains(c.trigger)&&u()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[c.trigger,u]),l.jsx(Bd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:m=>m.preventDefault(),onDismiss:u,children:l.jsxs(gx,{"data-state":c.stateAttribute,...d,...i,ref:t,style:{...i.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:[l.jsx(yL,{children:o}),l.jsx(fL,{scope:n,isInside:!0,children:l.jsx(xI,{id:c.contentId,role:"tooltip",children:r||o})})]})})});z1.displayName=ts;var V1="TooltipArrow",vL=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,r=rf(n);return gL(V1,n).isInside?null:l.jsx(yx,{...r,...o,ref:t})});vL.displayName=V1;function wL(e,t){const n=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,o,r,a)){case a:return"left";case r:return"right";case n:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function bL(e,t,n=5){const o=[];switch(t){case"top":o.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":o.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":o.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":o.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return o}function xL(e){const{top:t,right:n,bottom:o,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:o},{x:r,y:o}]}function kL(e,t){const{x:n,y:o}=e;let r=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const i=t[a],c=t[s],d=i.x,u=i.y,m=c.x,g=c.y;u>o!=g>o&&n<(m-d)*(o-u)/(g-u)+d&&(r=!r)}return r}function SL(e){const t=e.slice();return t.sort((n,o)=>n.x<o.x?-1:n.x>o.x?1:n.y<o.y?-1:n.y>o.y?1:0),_L(t)}function _L(e){if(e.length<=1)return e.slice();const t=[];for(let o=0;o<e.length;o++){const r=e[o];for(;t.length>=2;){const a=t[t.length-1],s=t[t.length-2];if((a.x-s.x)*(r.y-s.y)>=(a.y-s.y)*(r.x-s.x))t.pop();else break}t.push(r)}t.pop();const n=[];for(let o=e.length-1;o>=0;o--){const r=e[o];for(;n.length>=2;){const a=n[n.length-1],s=n[n.length-2];if((a.x-s.x)*(r.y-s.y)>=(a.y-s.y)*(r.x-s.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var PL=N1,$1=z1;const jL=PL,AL=p.forwardRef(({className:e,sideOffset:t=4,...n},o)=>l.jsx($1,{ref:o,sideOffset:t,className:He("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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]:sli
1488de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));AL.displayName=$1.displayName;var tu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},nu=typeof window>"u"||"Deno"in globalThis;function un(){}function CL(e,t){return typeof e=="function"?e(t):e}function EL(e){return typeof e=="number"&&e>=0&&e!==1/0}function TL(e,t){return Math.max(e+(t||0)-Date.now(),0)}function kh(e,t){return typeof e=="function"?e(t):e}function IL(e,t){return typeof e=="function"?e(t):e}function Hy(e,t){const{type:n="all",exact:o,fetchStatus:r,predicate:a,queryKey:s,stale:i}=e;if(s){if(o){if(t.queryHash!==af(s,t.options))return!1}else if(!gi(t.queryKey,s))return!1}if(n!=="all"){const c=t.isActive();if(n==="active"&&!c||n==="inactive"&&c)return!1}return!(typeof i=="boolean"&&t.isStale()!==i||r&&r!==t.state.fetchStatus||a&&!a(t))}function Gy(e,t){const{exact:n,status:o,predicate:r,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(fi(t.options.mutationKey)!==fi(a))return!1}else if(!gi(t.options.mutationKey,a))return!1}return!(o&&t.state.status!==o||r&&!r(t))}function af(e,t){return((t==null?void 0:t.queryKeyHashFn)||fi)(e)}function fi(e){return JSON.stringify(e,(t,n)=>Sh(n)?Object.keys(n).sort().reduce((o,r)=>(o[r]=n[r],o),{}):n)}function gi(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>gi(e[n],t[n])):!1}function B1(e,t){if(e===t)return e;const n=qy(e)&&qy(t);if(n||Sh(e)&&Sh(t)){const o=n?e:Object.keys(e),r=o.length,a=n?t:Object.keys(t),s=a.length,i=n?[]:{},c=new Set(o);let d=0;for(let u=0;u<s;u++){const m=n?u:a[u];(!n&&c.has(m)||n)&&e[m]===void 0&&t[m]===void 0?(i[m]=void 0,d++):(i[m]=B1(e[m],t[m]),i[m]===e[m]&&e[m]!==void 0&&d++)}return r===s&&d===r?e:i}return t}function XR(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function qy(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Sh(e){if(!Jy(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!Jy(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Jy(e){return Object.prototype.toString.call(e)==="[object Object]"}function OL(e){return new Promise(t=>{setTimeout(t,e)})}function ML(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?B1(e,t):t}function LL(e,t,n=0){const o=[...e,t];return n&&o.length>n?o.slice(1):o}function RL(e,t,n=0){const o=[t,...e];return n&&o.length>n?o.slice(0,-1):o}var sf=Symbol();function W1(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===sf?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function e4(e,t){return typeof e=="function"?e(...t):!!e}var Tr,Fo,Oa,Xy,NL=(Xy=class extends tu{constructor(){super();je(this,Tr);je(this,Fo);je(this,Oa);he(this,Oa,t=>{if(!nu&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){L(this,Fo)||this.setEventListener(L(this,Oa))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Fo))==null||t.call(this),he(this,Fo,void 0))}setEventListener(t){var n;he(this,Oa,t),(n=L(this,Fo))==null||n.call(this),he(this,Fo,t(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus()}))}setFocused(t){L(this,Tr)!==t&&(he(this,Tr,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof L(this,Tr)=="boolean"?L(this,Tr):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Tr=new WeakMap,Fo=new WeakMap,Oa=new WeakMap,Xy),U1=new NL,Ma,Vo,La,ev,DL=(ev=class extends tu{constructor(){super();je(this,Ma,!0);je(this,Vo);je(this,La);he(this,La,t=>{if(!nu&&window.addEventListener){const n=()=>t(!0),o=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",o)}}})}onSubscribe(){L(this,Vo)||this.setEventListener(L(this,La))}onUnsubscribe(){var t;this.hasListeners()||((t=L(this,Vo))==null||t.call(this),he(this,Vo,void 0))}setEventListener(t){var n;he(this,La,t),(n=L(this,Vo))==null||n.call(this),he(this,Vo,t(this.setOnline.bind(this)))}setOnline(t){L(this,Ma)!==t&&(he(this,Ma,t),this.listeners.forEac
vendor: 19,019 bytes, line 1488
1488h(o=>{o(t)}))}isOnline(){return L(this,Ma)}},Ma=new WeakMap,Vo=new WeakMap,La=new WeakMap,ev),fc=new DL;function zL(){let e,t;const n=new Promise((r,a)=>{e=r,t=a});n.status="pending",n.catch(()=>{});function o(r){Object.assign(n,r),delete n.resolve,delete n.reject}return n.resolve=r=>{o({status:"fulfilled",value:r}),e(r)},n.reject=r=>{o({status:"rejected",reason:r}),t(r)},n}function FL(e){return Math.min(1e3*2**e,3e4)}function H1(e){return(e??"online")==="online"?fc.isOnline():!0}var G1=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Xu(e){return e instanceof G1}function q1(e){let t=!1,n=0,o=!1,r;const a=zL(),s=f=>{var b;o||(g(new G1(f)),(b=e.abort)==null||b.call(e))},i=()=>{t=!0},c=()=>{t=!1},d=()=>U1.isFocused()&&(e.networkMode==="always"||fc.isOnline())&&e.canRun(),u=()=>H1(e.networkMode)&&e.canRun(),m=f=>{var b;o||(o=!0,(b=e.onSuccess)==null||b.call(e,f),r==null||r(),a.resolve(f))},g=f=>{var b;o||(o=!0,(b=e.onError)==null||b.call(e,f),r==null||r(),a.reject(f))},y=()=>new Promise(f=>{var b;r=v=>{(o||d())&&f(v)},(b=e.onPause)==null||b.call(e)}).then(()=>{var f;r=void 0,o||(f=e.onContinue)==null||f.call(e)}),x=()=>{if(o)return;let f;const b=n===0?e.initialPromise:void 0;try{f=b??e.fn()}catch(v){f=Promise.reject(v)}Promise.resolve(f).then(m).catch(v=>{var A;if(o)return;const h=e.retry??(nu?0:3),w=e.retryDelay??FL,S=typeof w=="function"?w(n,v):w,_=h===!0||typeof h=="number"&&n<h||typeof h=="function"&&h(n,v);if(t||!_){g(v);return}n++,(A=e.onFail)==null||A.call(e,n,v),OL(S).then(()=>d()?void 0:y()).then(()=>{t?g(v):x()})})};return{promise:a,cancel:s,continue:()=>(r==null||r(),a),cancelRetry:i,continueRetry:c,canStart:u,start:()=>(u()?x():y().then(x),a)}}var VL=e=>setTimeout(e,0);function $L(){let e=[],t=0,n=i=>{i()},o=i=>{i()},r=VL;const a=i=>{t?e.push(i):r(()=>{n(i)})},s=()=>{const i=e;e=[],i.length&&r(()=>{o(()=>{i.forEach(c=>{n(c)})})})};return{batch:i=>{let c;t++;try{c=i()}finally{t--,t||s()}return c},batchCalls:i=>(...c)=>{a(()=>{i(...c)})},schedule:a,setNotifyFunction:i=>{n=i},setBatchNotifyFunction:i=>{o=i},setScheduler:i=>{r=i}}}var At=$L(),Ir,tv,J1=(tv=class{constructor(){je(this,Ir)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),EL(this.gcTime)&&he(this,Ir,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(nu?1/0:5*60*1e3))}clearGcTimeout(){L(this,Ir)&&(clearTimeout(L(this,Ir)),he(this,Ir,void 0))}},Ir=new WeakMap,tv),Ra,Or,Kt,Mr,wt,yi,Lr,pn,Zn,nv,BL=(nv=class extends J1{constructor(t){super();je(this,pn);je(this,Ra);je(this,Or);je(this,Kt);je(this,Mr);je(this,wt);je(this,yi);je(this,Lr);he(this,Lr,!1),he(this,yi,t.defaultOptions),this.setOptions(t.options),this.observers=[],he(this,Mr,t.client),he(this,Kt,L(this,Mr).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,he(this,Ra,UL(this.options)),this.state=t.state??L(this,Ra),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=L(this,wt))==null?void 0:t.promise}setOptions(t){this.options={...L(this,yi),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&L(this,Kt).remove(this)}setData(t,n){const o=ML(this.state.data,t,this.options);return gt(this,pn,Zn).call(this,{data:o,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),o}setState(t,n){gt(this,pn,Zn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var o,r;const n=(o=L(this,wt))==null?void 0:o.promise;return(r=L(this,wt))==null||r.cancel(t),n?n.then(un).catch(un):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(L(this,Ra))}isActive(){return this.observers.some(t=>IL(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===sf||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>kh(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!TL(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(o=>o.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=L(this,wt))==null||n.continue()}onOnline(){var n;const t=this.observers.find(o=>o.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=L(this,wt))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),L(this,Kt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(L(this,wt)&&(L(this,Lr)?L(this,wt).cancel({revert:!0}):L(this,wt).cancelRetry()),this.scheduleGc()),L(this,Kt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||gt(this,pn,Zn).call(this,{type:"invalidate"})}fetch(t,n){var d,u,m;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(L(this,wt))return L(this,wt).continueRetry(),L(this,wt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const g=this.observers.find(y=>y.options.queryFn);g&&this.setOptions(g.options)}const o=new AbortController,r=g=>{Object.defineProperty(g,"signal",{enumerable:!0,get:()=>(he(this,Lr,!0),o.signal)})},a=()=>{const g=W1(this.options,n),x=(()=>{const f={client:L(this,Mr),queryKey:this.queryKey,meta:this.meta};return r(f),f})();return he(this,Lr,!1),this.options.persister?this.options.persister(g,x,this):g(x)},i=(()=>{const g={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:L(this,Mr),state:this.state,fetchFn:a};return r(g),g})();(d=this.options.behavior)==null||d.onFetch(i,this),he(this,Or,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=i.fetchOptions)==null?void 0:u.meta))&>(this,pn,Zn).call(this,{type:"fetch",meta:(m=i.fetchOptions)==null?void 0:m.meta});const c=g=>{var y,x,f,b;Xu(g)&&g.silent||gt(this,pn,Zn).call(this,{type:"error",error:g}),Xu(g)||((x=(y=L(this,Kt).config).onError)==null||x.call(y,g,this),(b=(f=L(this,Kt).config).onSettled)==null||b.call(f,this.state.data,g,this)),this.scheduleGc()};return he(this,wt,q1({initialPromise:n==null?void 0:n.initialPromise,fn:i.fetchFn,abort:o.abort.bind(o),onSuccess:g=>{var y,x,f,b;if(g===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(g)}catch(v){c(v);return}(x=(y=L(this,Kt).config).onSuccess)==null||x.call(y,g,this),(b=(f=L(this,Kt).config).onSettled)==null||b.call(f,g,this.state.error,this),this.scheduleGc()},onError:c,onFail:(g,y)=>{gt(this,pn,Zn).call(this,{type:"failed",failureCount:g,error:y})},onPause:()=>{gt(this,pn,Zn).call(this,{type:"pause"})},onContinue:()=>{gt(this,pn,Zn).call(this,{type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0})),L(this,wt).start()}},Ra=new WeakMap,Or=new WeakMap,Kt=new WeakMap,Mr=new WeakMap,wt=new WeakMap,yi=new WeakMap,Lr=new WeakMap,pn=new WeakSet,Zn=function(t){const n=o=>{switch(t.type){case"failed":return{...o,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...WL(o.data,this.options),fetchMeta:t.meta??null};case"success":return he(this,Or,void 0),{...o,data:t.data,dataUpdateCount:o.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=t.error;return Xu(r)&&r.revert&&L(this,Or)?{...L(this,Or),fetchStatus:"idle"}:{...o,error:r,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...t.state}}};this.state=n(this.state),At.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),L(this,Kt).notify({query:this,type:"updated",action:t})})},nv);function WL(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:H1(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function UL(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,o=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ln,ov,HL=(ov=class extends tu{constructor(t={}){super();je(this,Ln);this.config=t,he(this,Ln,new Map)}build(t,n,o){const r=n.queryKey,a=n.queryHash??af(r,n);let s=this.get(a);return s||(s=new BL({client:t,queryKey:r,queryHash:a,options:t.defaultQueryOptions(n),state:o,defaultOptions:t.getQueryDefaults(r)}),this.add(s)),s}add(t){L(this,Ln).has(t.queryHash)||(L(this,Ln).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=L(this,Ln).get(t.queryHash);n&&(t.destroy(),n===t&&L(this,Ln).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){At.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return L(this,Ln).get(t)}getAll(){return[...L(this,Ln).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(o=>Hy(n,o))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(o=>Hy(t,o)):n}notify(t){At.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){At.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){At.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ln=new WeakMap,ov),Rn,_t,Rr,Nn,Io,rv,GL=(rv=class extends J1{constructor(t){super();je(this,Nn);je(this,Rn);je(this,_t);je(this,Rr);this.mutationId=t.mutationId,he(this,_t,t.mutationCache),he(this,Rn,[]),this.state=t.state||qL(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){L(this,Rn).includes(t)||(L(this,Rn).push(t),this.clearGcTimeout(),L(this,_t).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){he(this,Rn,L(this,Rn).filter(n=>n!==t)),this.scheduleGc(),L(this,_t).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){L(this,Rn).length||(this.state.status==="pending"?this.scheduleGc():L(this,_t).remove(this))}continue(){var t;return((t=L(this,Rr))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var a,s,i,c,d,u,m,g,y,x,f,b,v,h,w,S,_,A,j,I;const n=()=>{gt(this,Nn,Io).call(this,{type:"continue"})};he(this,Rr,q1({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(D,F)=>{gt(this,Nn,Io).call(this,{type:"failed",failureCount:D,error:F})},onPause:()=>{gt(this,Nn,Io).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>L(this,_t).canRun(this)}));const o=this.state.status==="pending",r=!L(this,Rr).canStart();try{if(o)n();else{gt(this,Nn,Io).call(this,{type:"pending",variables:t,isPaused:r}),await((s=(a=L(this,_t).config).onMutate)==null?void 0:s.call(a,t,this));const F=await((c=(i=this.options).onMutate)==null?void 0:c.call(i,t));F!==this.state.context&>(this,Nn,Io).call(this,{type:"pending",context:F,variables:t,isPaused:r})}const D=await L(this,Rr).start();return await((u=(d=L(this,_t).config).onSuccess)==null?void 0:u.call(d,D,t,this.state.context,this)),await((g=(m=this.options).onSuccess)==null?void 0:g.call(m,D,t,this.state.context)),await((x=(y=L(this,_t).config).onSettled)==null?void 0:x.call(y,D,null,this.state.variables,this.state.context,this)),await((b=(f=this.options).onSettled)==null?void 0:b.call(f,D,null,t,this.state.context)),gt(this,Nn,Io).call(this,{type:"success",data:D}),D}catch(D){try{throw await((h=(v=L(this,_t).config).onError)==null?void 0:h.call(v,D,t,this.state.context,this)),await((S=(w=this.options).onError)==null?void 0:S.call(w,D,t,this.state.context)),await((A=(_=L(this,_t).config).onSettled)==null?void 0:A.call(_,void 0,D,this.state.variables,this.state.context,this)),await((I=(j=this.options).onSettled)==null?void 0:I.call(j,void 0,D,t,this.state.context)),D}finally{gt(this,Nn,Io).call(this,{type:"error",error:D})}}finally{L(this,_t).runNext(this)}}},Rn=new WeakMap,_t=new WeakMap,Rr=new WeakMap,Nn=new WeakSet,Io=function(t){const n=o=>{switch(t.type){case"failed":return{...o,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...o,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:t.error,failureCount:o.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),At.batch(()=>{L(this,Rn).forEach(o=>{o.onMutationUpdate(t)}),L(this,_t).notify({mutation:this,type:"updated",action:t})})},rv);function qL(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var to,hn,vi,av,JL=(av=class extends tu{constructor(t={}){super();je(this,to);je(this,hn);je(this,vi);this.config=t,he(this,to,new Set),he(this,hn,new Map),he(this,vi,0)}build(t,n,o){const r=new GL({mutationCache:this,mutationId:++Li(this,vi)._,options:t.defaultMutationOptions(n),state:o});return this.add(r),r}add(t){L(this,to).add(t);const n=sl(t);if(typeof n=="string"){const o=L(this,hn).get(n);o?o.push(t):L(this,hn).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(L(this,to).delete(t)){const n=sl(t);if(typeof n=="string"){const o=L(this,hn).get(n);if(o)if(o.length>1){const r=o.indexOf(t);r!==-1&&o.splice(r,1)}else o[0]===t&&L(this,hn).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=sl(t);if(typeof n=="string"){const o=L(this,hn).get(n),r=o==null?void 0:o.find(a=>a.state.status==="pending");return!r||r===t}else return!0}runNext(t){var o;const n=sl(t);if(typeof n=="string"){const r=(o=L(this,hn).get(n))==null?void 0:o.find(a=>a!==t&&a.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}else return Promise.resolve()}clear(){At.batch(()=>{L(this,to).forEach(t=>{this.notify({type:"removed",mutation:t})}),L(this,to).clear(),L(this,hn).clear()})}getAll(){return Array.from(L(this,to))}find(t){const n={exact:!0,...t};return this.getAll().find(o=>Gy(n,o))}findAll(t={}){return this.getAll().filter(n=>Gy(t,n))}notify(t){At.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return At.batch(()=>Promise.all(t.map(n=>n.continue().catch(un))))}},to=new WeakMap,hn=new WeakMap,vi=new WeakMap,av);function sl(e){var t;return(t=e.options.scope)==null?void 0:t.id}function Ky(e){return{onFetch:(t,n)=>{var u,m,g,y,x;const o=t.options,r=(g=(m=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:m.fetchMore)==null?void 0:g.direction,a=((y=t.state.data)==null?void 0:y.pages)||[],s=((x=t.state.data)==null?void 0:x.pageParams)||[];let i={pages:[],pageParams:[]},c=0;const d=async()=>{let f=!1;const b=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(t.signal.aborted?f=!0:t.signal.addEventListener("abort",()=>{f=!0}),t.signal)})},v=W1(t.options,t.fetchOptions),h=async(w,S,_)=>{if(f)return Promise.reject();if(S==null&&w.pages.length)return Promise.resolve(w);const j=(()=>{const Y={client:t.client,queryKey:t.queryKey,pageParam:S,direction:_?"backward":"forward",meta:t.options.meta};return b(Y),Y})(),I=await v(j),{maxPages:D}=t.options,F=_?RL:LL;return{pages:F(w.pages,I,D),pageParams:F(w.pageParams,S,D)}};if(r&&a.length){const w=r==="backward",S=w?KL:Qy,_={pages:a,pageParams:s},A=S(o,_);i=await h(_,A,w)}else{const w=e??a.length;do{const S=c===0?s[0]??o.initialPageParam:Qy(o,i);if(c>0&&S==null)break;i=await h(i,S),c++}while(c<w)}return i};t.options.persister?t.fetchFn=()=>{var f,b;return(b=(f=t.options).persister)==null?void 0:b.call(f,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=d}}}function Qy(e,{pages:t,pageParams:n}){const o=t.length-1;return t.length>0?e.getNextPageParam(t[o],t,n[o],n):void 0}function KL(e,{pages:t,pageParams:n}){var o;return t.length>0?(o=e.getPreviousPageParam)==null?void 0:o.call(e,t[0],t,n[0],n):void 0}var Qe,$o,Bo,Na,Da,Wo,za,Fa,sv,QL=(sv=class{constructor(e={}){je(this,Qe);je(this,$o);je(this,Bo);je(this,Na);je(this,Da);je(this,Wo);je(this,za);je(this,Fa);he(this,Qe,e.queryCache||new HL),he(this,$o,e.mutationCache||new JL),he(this,Bo,e.defaultOptions||{}),he(this,Na,new Map),he(this,Da,new Map),he(this,Wo,0)}mount(){Li(this,Wo)._++,L(this,Wo)===1&&(he(this,za,U1.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,Qe).onFocus())})),he(this,Fa,fc.subscribe(async e=>{e&&(await this.resumePausedMutations(),L(this,Qe).onOnline())})))}unmount(){var e,t;Li(this,Wo)._--,L(this,Wo)===0&&((e=L(this,za))==null||e.call(this),he(this,za,void 0),(t=L(this,Fa))==null||t.call(this),he(this,Fa,void 0))}isFetching(e){return L(this,Qe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return L(this,$o).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=L(this,Qe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=L(this,Qe).build(this,t),o=n.state.data;return o===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(kh(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(o))}getQueriesData(e){return L(this,Qe).findAll(e).map(({queryKey:t,state:n})=>{const o=n.data;return[t,o]})}setQueryData(e,t,n){const o=this.defaultQueryOptions({queryKey:e}),r=L(this,Qe).get(o.queryHash),a=r==null?void 0:r.state.data,s=CL(t,a);if(s!==void 0)return L(this,Qe).build(this,o).setData(s,{...n,manual:!0})}setQueriesData(e,t,n){return At.batch(()=>L(this,Qe).findAll(e).map(({queryKey:o})=>[o,this.setQueryData(o,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=L(this,Qe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=L(this,Qe);At.batch(()=>
1488{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=L(this,Qe);return At.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},o=At.batch(()=>L(this,Qe).findAll(e).map(r=>r.cancel(n)));return Promise.all(o).then(un).catch(un)}invalidateQueries(e,t={}){return At.batch(()=>(L(this,Qe).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},o=At.batch(()=>L(this,Qe).findAll(e).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let a=r.fetch(void 0,n);return n.throwOnError||(a=a.catch(un)),r.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(o).then(un)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=L(this,Qe).build(this,t);return n.isStaleByTime(kh(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(un).catch(un)}fetchInfiniteQuery(e){return e.behavior=Ky(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(un).catch(un)}ensureInfiniteQueryData(e){return e.behavior=Ky(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return fc.isOnline()?L(this,$o).resumePausedMutations():Promise.resolve()}getQueryCache(){return L(this,Qe)}getMutationCache(){return L(this,$o)}getDefaultOptions(){return L(this,Bo)}setDefaultOptions(e){he(this,Bo,e)}setQueryDefaults(e,t){L(this,Na).set(fi(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...L(this,Na).values()],n={};return t.forEach(o=>{gi(e,o.queryKey)&&Object.assign(n,o.defaultOptions)}),n}setMutationDefaults(e,t){L(this,Da).set(fi(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...L(this,Da).values()],n={};return t.forEach(o=>{gi(e,o.mutationKey)&&Object.assign(n,o.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...L(this,Bo).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=af(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===sf&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...L(this,Bo).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){L(this,Qe).clear(),L(this,$o).clear()}},Qe=new WeakMap,$o=new WeakMap,Bo=new WeakMap,Na=new WeakMap,Da=new WeakMap,Wo=new WeakMap,za=new WeakMap,Fa=new WeakMap,sv),K1=p.createContext(void 0),t4=e=>{const t=p.useContext(K1);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},YL=({client:e,children:t})=>(p.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),l.jsx(K1.Provider,{value:e,children:t}));function ZL(){const{pathname:e,search:t,hash:n}=_n(),o=Nc();return p.useEffect(()=>{window.scrollTo(0,0)},[e]),p.useEffect(()=>{e.length>1&&e.endsWith("/")&&o(`${e.replace(/\/+$/,"")}${t}${n}`,{replace:!0})},[n,o,e,t]),null}const XL={meta:{docTitle:"VinÃcius Freitas · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Vinicius-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"SÃO PAULO, BRAZIL · REMOTE",tenure:"AI ENGINEER",firstName:"VinÃcius",lastName:"Freitas",role:"Software Engineer · Autonomous Delivery",thesis:`I build the pipeline that ships the code. 1489Then I ship on it.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Brands"},{n:"04",label:"Craft"},{n:"05",label:"AI Practice"},{n:"06",label:"Today"}]},profile:{section:"01 · PROFILE",title:`An engineer who builds 1490the machine that builds.`,lead:["VinÃcius is an AI engineer working at the sharpest edge of agent-driven development: the point where a ticket goes in and a merged pull request comes out. At Moonshot he built the delivery pipeline the team ships on, and he ships his own work through it every day.","The pipeline is not a demo. It classifies the work, writes the spec, implements against a failing test, runs browser QA on a real device, and sends the diff to a second model for review before a human signs off. Evals over vibes, at every step.","Before Moonshot he built an internal ERP from scratch for Frison, a Brazilian automotive services company: Java, Spring Boot and React handling more than 1,000 transactions a day across cash flow, inventory and operational reconciliation. He shares his tooling in the open, including a governance harness for Claude Code."],facts:[{value:"1,000+",label:"Daily transactions, first ERP"},{value:"MCP",label:"Protocol-native agent tooling"},{value:"CAE",label:"Cambridge English, certified"}]},work:{section:"02 · SELECTED WORK",title:`From shop-floor ERP 1491to autonomous delivery.`,roles:[{company:"Moonshot Partners",role:"Software Engineer",period:"2026 · Present",place:"Remote · London team",current:!0,summary:"Builds and operates the autonomous delivery pipeline the team ships on: ticket to merged pull request, with spec writing, failing-test implementation, real-device browser QA and second-model review built into the flow. Ships product work through it for live Moonshot products: Schools Out and Mom Ease.",stack:["Python","TypeScript","LLM evals","MCP","Claude Code","Flutter"]},{company:"Frison Convenience",role:"Software Engineer",period:"2025 · 202
14916",place:"São Paulo, Brazil",current:!1,summary:"Built an internal ERP from scratch for an automotive services company: Java, Spring Boot and React, handling more than 1,000 transactions a day across cash flow, inventory and operational reconciliation.",stack:["Java","Spring Boot","React","React Native","MySQL"]}]},brands:{section:"03 · BRANDS",title:`The pipeline ships 1492real products.`,intro:"VinÃcius's autonomous delivery work carries live Moonshot products, used by real families every week.",logos:[{name:"Schools Out",src:"/Images/ClientLogos/Startups/Schoolsout.png",note:"Moonshot marketplace helping parents plan kids' activities during school breaks."},{name:"Mom Ease",src:"/Images/ClientLogos/Startups/Mom_Ease.png",note:"Digital platform supporting maternal health and postpartum well-being."}]},craft:{section:"04 · CRAFT",title:`The toolkit, 1493and the discipline.`,intro:"Full-stack range in service of one obsession: delivery systems that hold themselves to a failing test.",groups:[{label:"Languages",items:["Python","TypeScript","Java","C#","SQL"]},{label:"AI Engineering",items:["LLMs","AI agents","LLM evals","MCP","Claude Code"]},{label:"Frameworks",items:["Spring Boot","React","React Native","Flutter"]},{label:"Practice",items:["CI/CD","Software architecture","Agent-driven development"]}],principlesLabel:"How he works",principles:[{word:"Pipeline-first",gloss:"Builds the system that ships, then ships with it."},{word:"Evals over vibes",gloss:"Every agent step is measured against a failing test."},{word:"Open source",gloss:"Shares the tooling, including a governance harness for Claude Code."}]},ai:{section:"05 · AI PRACTICE",title:`The pipeline is 1494the product.`,lead:"Most engineers use AI to write code faster. VinÃcius builds the machine that writes, tests and reviews the code, and holds it accountable at every step.",points:[{k:"Ticket to merged PR",v:"His pipeline takes a ticket and carries it to a merged pull request: classify, spec, implement against a failing test, QA in a real browser on a real device."},{k:"Second-model review",v:"Every diff is reviewed by a different model before a human signs off. Independent eyes, by design."},{k:"Governance in the open",v:"Open-source tools for agent-driven development, including a governance harness for Claude Code."}],pullquote:"The engineers building your AI adoption should already live in it. VinÃcius built the house."},today:{section:"06 · TODAY",title:`Now shipping client work 1495through his own pipeline.`,body:"At Moonshot, VinÃcius runs autonomous delivery for real product work: the pipeline does the heavy lifting, and he makes the calls.",ctaLabel:"Work with this team",ctaHint:"Engage VinÃcius and the Moonshot engineering team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},eR={meta:{docTitle:"Marianna Schiavino · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Marianna-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"EUROPE · REMOTE",tenure:"18+ YEARS",firstName:"Marianna",lastName:"Schiavino",role:"Fractional Product Lead",thesis:`Eighteen years shipping 1496products people actually use.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Brands"},{n:"04",label:"Craft"},{n:"05",label:"AI Practice"},{n:"06",label:"Today"}]},profile:{section:"01 · PROFILE",title:`A product lead who has 1497shipped on every scale.`,lead:["Marianna has spent more than eighteen years leading product, delivery and growth: from Telefónica's social channels in Caracas to a mobile game with twenty million users, from logistics startups in Miami to enterprise AI builds today. She helps teams ship faster by making AI an operational layer of the work itself.","Her range is unusual: zero-to-one consumer marketplaces, B2B platforms inside a multinational telecom, and now AI-assisted delivery for consultancies, enterprise clients and early-stage teams. She takes products from discovery to launch, and builds the AI-augmented systems that keep delivery moving after she leaves.","At Millicom (Tigo) her B2B app reached ninety percent adoption among its eligible base with an NPS above seventy. At ICO Group she grew Apensar into a twenty-million-user game ranked top five in its category across five countries. The pattern repeats: she finds what matters, and ships it."],facts:[{value:"18+",label:"Years across product & growth"},{value:"20M+",label:"Users on Apensar"},{value:"90%",label:"Adoption of her Tigo B2B app"},{value:"4x",label:"Sign-up conversion growth at School's Out"}]},work:{section:"02 · SELECTED WORK",title:`A long arc, told 1498in three chapters.`,roles:[{company:"Moonshot Partners",role:"Product Manager · Fractional",period:"2024 · Present",place:"Remote",current:!0,summary:"Product manager for Moonshot's consumer marketplace products, including School's Out, a marketplace that helps parents plan kids' activities during school breaks. Owns roadmap prioritization end-to-e
1498nd: using JTBD to define what to build and impact on business-critical metrics to decide what ships next. Grew Sign Up Started per session from 4.7% to 18.8% in 15 weeks by rebuilding onboarding and messaging around parent intent, while paid CAC dropped from $14.9 to $9 in the same period. Drives product decisions across design, engineering and growth, with agent-assisted specs, QA and analysis, so a lean team ships its roadmap faster than teams triple its size.",stack:["Linear","Figma","Amplitude","Stripe","Klaviyo","Webflow"]},{company:"Millicom (Tigo)",role:"Program & Digital Product Manager",period:"2020 · 2023",place:"Miami, USA",current:!1,summary:"Developed and implemented regional product strategy for a B2B mobile app, achieving ninety percent adoption among the eligible user base and maintaining an NPS above seventy. Digitized and transformed sales processes, improving conversion rates by sixty percent on specific in-app actions and keeping sprint completion at ninety-five percent.",stack:["Product management","Agile","SCRUM","Salesforce"]},{company:"ICO Group",role:"Head of Marketing & Business Development",period:"2013 · 2018",place:"Miami, USA",current:!1,summary:"Grew Apensar, a Spanish-language mobile game, past twenty million users and into the top five of its category in five countries, leading marketing, monetization and business development, and managing regional sales teams generating over half a million dollars a year. Earlier chapters at QuickLoad (logistics) and Telefónica Venezuela built the growth instincts the later ones ran on.",stack:["Growth","Monetization","Go-to-market","Team leadership"]}]},brands:{section:"03 · BRANDS",title:`The work ships 1499under real names.`,intro:"From telecom giants to twenty-million-user games to marketplaces parents rely on, Marianna's product work has always lived in public.",logos:[{name:"Schools Out",src:"/Images/ClientLogos/Startups/Schoolsout.png",note:"Moonshot marketplace helping parents plan kids' activities during school breaks."}]},craft:{section:"04 · CRAFT",title:`The toolkit, 1500and the discipline.`,intro:"Product judgment sharpened across telecom, gaming, logistics and marketplaces, now wired into an AI-augmented delivery system.",groups:[{label:"Product",items:["Product lifecycle","Stakeholder management","Strategic planning","Cross-functional collaboration","A/B testing"]},{label:"AI Delivery",items:["Claude skills & agents","Transcript-to-spec pipelines","AI-assisted QA","Prototype vs production audits"]},{label:"Growth",items:["Go-to-market","Monetization","Branding & identity"]},{label:"Tools",items:["Linear","Figma","Amplitude","Stripe","Klaviyo","Webflow"]}],principlesLabel:"How she works",principles:[{word:"Operational AI",gloss:"AI as a layer of the operation, not a writing tool."},{word:"Discovery to launch",gloss:"Owns the whole arc, and leaves systems that keep shipping."},{word:"Teams that move fast",gloss:"Consultancies, enterprise clients and early-stage teams, same tempo."}]},ai:{section:"05 · AI PRACTICE",title:`Agents that spec, 1501QA and ship.`,lead:"Most people use AI to draft copy. Marianna uses it to run the delivery engine: agent workflows that turn raw conversation into implementation-ready work, and quality checks that catch gaps before users do.",points:[{k:"Transcripts to specs",v:"AI agent workflows that turn full transcripts into implementation-ready specs and tickets, compressing days of spec work into hours."},{k:"Custom Claude tooling",v:"Reusable Claude skills and agents for branded client-document production, workshop design, meeting-to-deliverable pipelines and methodology enforcement."},{k:"AI-assisted QA",v:"Run-through audits from prototype to production that surface the gaps before users ever meet them."}],pullquote:"The product leads building your AI adoption should already run on it. Marianna does."},today:{section:"06 · TODAY",title:`Now making AI the way 1502product teams operate.`,body:"At Moonshot, Marianna builds the product systems where agents spec, QA and ship alongside the team, and the humans make the calls.",ctaLabel:"Work with this team",ctaHint:"Engage Marianna and the Moonshot product team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},tR={meta:{docTitle:"Pedro Tavares · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Pedro-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"BRAZIL · REMOTE",tenure:"SOFTWARE ENGINEER",firstName:"Pedro",lastName:"Tavares",role:"Agent Systems · Generative AI",thesis:`From complex flows to
1503architectures where agents act.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Brands"},{n:"04",label:"Craft"},{n:"05",label:"AI Practice"},{n:"06",label:"Today"}]},profile:{section:"01 · PROFILE",title:`An engineer for the 1504age of automation.`,lead:["Pedro is a software engineer at Moonshot working on the automation of business processes through agent systems and generative AI. His day-to-day is the conception and engineering of intelligent products: taking complex operational flows and turning them into scalable software architectures that give AI agents real autonomy.","He trained inside Globo, Brazil's media giant, on a commercial ADTECH platform integrated with Salesforce: catalog management, pricing and data workflows. TypeScript APIs, MySQL, Kafka-based messaging, and critical integrations between commercial systems and backend services, refactored along the way from a DDD base toward Clean Architecture.","He works the way fast teams need: iterative, focused on continuous value delivery, and quick to spot the bottleneck, then quick to fix it. Outside work he has spent years volunteering against poverty, from fundraising with Fundo Brasil to community food programmes."],facts:[{value:"Globo",label:"Trained inside Brazil's media giant"},{value:"2026",label:"Software Engineering, FIAP"},{value:"3+ yrs",label:"Volunteering against poverty"}]},work:{section:"02 · SELECTED WORK",title:`From Brazil's biggest 1505media stack to agents.`,roles:[{company:"Moonshot Partners",role:"Software Engineer",period:"2026 · Present",place:"Remote · London team",current:!0,summary:"Engineers the automation of business processes through agent systems and generative AI: intelligent products built on scalable architectures that give agents the autonomy to carry real operational work. Currently shipping on Schools Out, Moonshot's marketplace for families.",stack:["TypeScript","AI agents","Generative AI","Software architecture"]},{company:"Globo",role:"Software Engineer",period:"2025 · 2026",place:"São Paulo, Brazil",current:!1,summary:"Worked on a commercial ADTECH platform integrated with Salesforce, responsible for catalog management, pricing and data workflows. Contributed to a full-stack platform (TypeScript APIs, MySQL, Kafka-based messaging), supported critical integrations between commercial systems and backend services, built internal automation tools that reduced operational overhead, and helped refactor APIs from a DDD base toward Clean Architecture. Known for finding the bottleneck and shipping the practical fix.",stack:["TypeScript","MySQL","Kafka","Salesforce","Clean Architecture"]}]},brands:{section:"03 · BRANDS",title:`The agents work on 1506real products.`,intro:"Pedro's agent systems ship inside live Moonshot products, in front of real families.",logos:[{name:"Schools Out",src:"/Images/ClientLogos/Startups/Schoolsout.png",note:"Moonshot marketplace helping parents plan kids' activities during school breaks."}]},craft:{section:"04 · CRAFT",title:`The toolkit, 1507and the discipline.`,intro:"Platform engineering fundamentals from a giant's ADTECH stack, pointed at the agent era.",groups:[{label:"Languages",items:["TypeScript","Java","SQL"]},{label:"Systems",items:["APIs","Kafka messaging","MySQL","Salesforce integrations","Clean Architecture"]},{label:"AI Engineering",items:["Agent systems","Generative AI"]},{label:"Method",items:["Kanban","Scrum","Iterative delivery"]}],principlesLabel:"How he works",principles:[{word:"Autonomy by design",gloss:"Architectures that let agents act, safely."},{word:"Bottleneck hunter",gloss:"Finds the slow part, ships the practical fix."},{word:"Continuous delivery",gloss:"Fast-paced, iterative, value in every cycle."}]},ai:{section:"05 · AI PRACTICE",title:`Architectures where 1508agents do the work.`,lead:"Pedro's craft is the translation step most teams miss: from a messy operational flow to a software architecture where an agent can take over the work, with the structure to do it safely.",points:[{k:"Agent systems",v:"Business processes automated end to end through systems of agents, not one-off scripts."},{k:"Generative AI in products",v:"Intelligent products conceived and engineered around what generative models can reliably carry."},{k:"Flows to architecture",v:"Complex operational flows redesigned as scalable architectures that give agents room, and rails, to act."}],pullquote:"The engineers building your AI adoption should already live in it. Pedro builds where the agents work."},today:{section:"06 · TODAY",title:`Now automating operations 1509with agent systems.`,body:"At Moonshot, Pedro engineers the agent systems that carry real business processes, designed so the agents act and the humans stay in control.",ctaLabel:"Work with this team",ctaHint:"Engage Pedro and the Moonshot engineering team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},nR={meta:{docTitle:"Oscarlyn Costero · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Oscarlyn-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"REMOTE",tenure:"SOFTWARE ENGINEER",firstName:"Oscarlyn",lastName:"Costero",role:"Frontend to Full-Stack",thesis:`Code that outlives startups, 1510acquisitions and rebrands.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Brands"},{n:"04",label:"Craft"},{n:"05",label:"AI Practice"},{n:"06",label:"Today"}]},profile:{section:"01 · PROFILE",title:`An engineer who grew 1511with her products.`,lead:["Oscarlyn is a software engineer on Schools Out, Moonshot's marketplace helping parents plan kids' activities during school breaks. It is her newest chapter, and her deepest dive yet into backend work after a career built on the front of the stack.","She spent four years at Play Verto as a Senior Softw
1511are Engineer, building a platform that turns research into play: gamified studies that gather insights from the communities living the issues being studied. She started on the interfaces and finished owning backend services too. Before that she was an engineer at Sunlight, the learning-stipend product later acquired by Go1, where it lives on today as Go1Pay.","Trained in Systems Engineering at UNEFA (2010 · 2016), she works the way Moonshot engineers work now: Claude Code in the daily loop, agents carrying the mechanical parts, her judgment making the calls."],facts:[{value:"4 yrs",label:"Senior engineer at Play Verto"},{value:"Go1Pay",label:"Her Sunlight work lives on inside Go1"},{value:"UNEFA",label:"Systems Engineering, 2010 · 2016"}]},work:{section:"02 · SELECTED WORK",title:`From the interface 1512to the whole stack.`,roles:[{company:"Moonshot Partners",role:"Software Engineer",period:"2026 · Present",place:"Remote",current:!0,summary:"Ships Schools Out, Moonshot's marketplace connecting families with after-school programmes: the features parents touch and, increasingly, the services underneath them. Full-stack work with a growing backend focus, agents in the loop.",stack:["React","TypeScript","Node.js","PostgreSQL","Claude Code"]},{company:"Play Verto",role:"Senior Software Engineer",period:"2022 · 2026",place:"Remote",current:!1,summary:"Four years building Play Verto, a platform that gamifies research to gather insights from communities with lived experience of the issues being studied. Started on the frontend; in the later years took on the backend services holding it up.",stack:["React","Ruby","REST APIs","Backend services"]},{company:"Sunlight",role:"Software Engineer",period:"Until 2022",place:"Remote",current:!1,summary:"Engineer on Sunlight, the learning-stipend platform that let employees spend professional development budgets on books, courses and conferences. The product was later acquired by Go1 and lives on as Go1Pay.",stack:["Ruby","React","Payments"]}]},brands:{section:"03 · BRANDS",title:`The work ships 1513under real names.`,intro:"From a stipend platform that now runs inside Go1 to the marketplace parents use for school breaks, Oscarlyn's code has always lived in public.",logos:[{name:"Schools Out",src:"/Images/ClientLogos/Startups/Schoolsout.png",note:"Moonshot marketplace helping parents plan kids' activities during school breaks."},{name:"Play Verto",src:"/Images/ClientLogos/Startups/Play_Verto.svg",note:"Gamified research platform she helped build across four senior years."}]},craft:{section:"04 · CRAFT",title:`The toolkit, 1514and the discipline.`,intro:"Frontend craft first, backend depth now, AI tooling throughout.",groups:[{label:"Frontend",items:["React","TypeScript","JavaScript","UI engineering"]},{label:"Backend",items:["Node.js","Ruby","REST APIs","PostgreSQL"]},{label:"AI Tooling",items:["Claude Code","Agent-assisted development"]},{label:"Practice",items:["Marketplaces","Production support","Code review"]}],principlesLabel:"How she works",principles:[{word:"Front to back",gloss:"Started in the interface, grew into the services behind it."},{word:"Products that last",gloss:"Her code has survived acquisitions and rebrands."},{word:"AI in the loop",gloss:"Claude Code as a daily driver, not a novelty."}]},ai:{section:"05 · AI PRACTICE",title:`The stack grew. 1515So did the tooling.`,lead:"Oscarlyn works the way Moonshot engineers work: Claude Code in the daily loop, agents drafting the mechanical parts of the work while a decade of product engineering decides what good looks like.",points:[{k:"Claude Code, daily",v:"Agent-assisted development woven into Schools Out's real production work, not a side experiment."},{k:"Both sides of the stack",v:"Frontend instincts plus growing backend depth, with agents accelerating both."},{k:"Judgment first",v:"Years of shipping decide what good looks like. The tools simply get there faster."}],pullquote:"The engineers building your AI adoption should already live in it. Oscarlyn ships with it every day."},today:{section:"06 · TODAY",title:`Now shipping the marketplace 1516parents rely on.`,body:"At Moonshot, Oscarlyn builds Schools Out across the stack, with agents in the loop and product judgment behind every call.",ctaLabel:"Work with this team",ctaHint:"Engage Oscarlyn and the Moonshot engineering team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},oR={meta:{docTitle:"Luis Perez · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Luis-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"COLOMBIA · REMOTE",tenure:"10+ YEARS",firstName:"Luis",lastName:"Perez",role:"Senior Softw
1516are Engineer",thesis:`Engineering experience. 1517From the database to the product.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Craft"},{n:"04",label:"Data & AI"},{n:"05",label:"Today"}]},profile:{section:"01 · PROFILE",title:`A software engineer 1518with a builder's range.`,lead:["Luis brings more than a decade of programming experience across Ruby on Rails, JavaScript and database-backed applications. His career spans hands-on development, technical leadership and the responsibilities of a co-founder and CTO.","He joined Moonshot Partners in 2020 and became a Senior Software Engineer in 2021. His work includes ContaCrypto, cryptocurrency accounting software developed by Moonshot, alongside technical consulting in data architecture, governance and AI at Admina.","Earlier, he co-founded Slice Group and led the development of Kepler Admin, an open-source content manager for Ruby on Rails. That combination of product development, reusable tooling and team leadership shapes the experience he brings to a delivery team."],facts:[{value:"10+",label:"Years of programming experience"},{value:"2020",label:"Joined Moonshot Partners"},{value:"Rails",label:"Core engineering expertise"}]},work:{section:"02 · SELECTED WORK",title:`Software, data 1519and technical leadership.`,roles:[{company:"Moonshot Partners",role:"Senior Software Engineer",period:"2020 · Present",place:"Remote",current:!0,summary:"Joined as a Software Engineer in November 2020 and moved into a senior role in November 2021. Works across Ruby on Rails, JavaScript services, frontend applications and databases, with experience in both web products and blockchain technologies.",stack:["Ruby on Rails","React","Node.js","PostgreSQL","MongoDB","Solidity"]},{company:"Admina",role:"Technical Consultant",period:"2025 · Present",place:"MedellÃn, Colombia · Remote",current:!0,summary:"Specializes in data architecture, governance and analysis. Designs and implements AI strategies to support data-driven business decisions and operational improvement.",stack:["Data architecture","Data governance","Analysis","AI strategy"]},{company:"ContaCrypto",role:"Senior Software Engineer · Part-time",period:"2023 · 2024",place:"Remote · London team",current:!1,summary:"Worked on cryptocurrency accounting software developed by Moonshot Partners. Brings experience building software in a financial domain to teams working with operational and accounting data.",stack:["Accounting software","Cryptocurrency","Software engineering"]},{company:"Globalwork",role:"Tech Lead",period:"2020 · 2021",place:"MedellÃn, Colombia · Hybrid",current:!1,summary:"Held the Tech Lead role across a web stack covering Rails, Node.js, real-time communication, frontend applications and relational and document databases.",stack:["Ruby on Rails","Node.js","Socket.io","Vue.js","Nuxt","PostgreSQL","MongoDB"]},{company:"Kepler Admin",role:"Project Lead Development · Part-time",period:"2015 · 2019",place:"Antioquia, Colombia · Remote",current:!1,summary:"Led the creation and development of an open-source content manager for Ruby on Rails, combining application development with reusable tooling for other developers.",stack:["Open source","Ruby on Rails","PostgreSQL"]},{company:"Slice Group",role:"Co-founder & CTO",period:"2014 · 2019",place:"Punto Fijo, Venezuela",current:!1,summary:"Co-founded the company and held the CTO role, combining software development with engineering leadership. Worked with Rails, Node.js and relational databases.",stack:["Ruby on Rails","Node.js","PostgreSQL","MySQL","Team leadership"]}]},craft:{section:"03 · CRAFT",title:`A foundation in Rails. 1520Experience across the stack.`,intro:"Backend development, web interfaces and data systems, supported by experience leading projects and development teams.",groups:[{label:"Backend",items:["Ruby","Ruby on Rails","Node.js"]},{label:"Frontend",items:["JavaScript","React","Vue.js","Ember.js","HTML","CSS"]},{label:"Data",items:["PostgreSQL","MySQL","MongoDB","AWS DynamoDB"]},{label:"Technical leadership",items:["Project leadership","Development team management","Open-source tooling"]}],principlesLabel:"Experience he brings",principles:[{word:"Hands-on engineering",gloss:"Works across application code, interfaces and databases."},{word:"Technical ownership",gloss:"Experience as a senior engineer, Tech Lead and CTO."},{word:"Reusable foundations",gloss:"Created and led an open-source content manager for Rails."}]},ai:{section:"04 · DATA & AI",title:`Data foundations 1521for business decisions.`,lead:"Luis's technical consulting at Admina connects data architecture, governance and analysis with the design and implementation of AI strategies.",points:[{k:"Architecture",v:"Experience designing the structure of data systems alongside application development."},{k:"Governance & analysis",v:"Works on how data is managed and analyzed to support business decisions."},{k:"AI strategy",v:"Designs and implements AI strategies with operational improvement as the objective."}],pullquote:"Software engineering, data and technical leadership in one profile."},today:{section:"05 · TODAY",title:`Senior engineering, 1522as part of your team.`,body:"At Moonshot, Luis brings Rails and JavaScript engineering, accounting-software experience and a background in technical leadership to the teams he works with.",ctaLabel:"Work with this team",ctaHint:"Engage Luis and the Moonshot engineering team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},rR={meta:{docTitle:"Bryan Ruiz · Moonshot Talent",label:"MOONSHOT · TALENT",portrait:"/Images/Team/Bryan-portrait.jpg"},hero:{eyebrow:"MOONSHOT · TALENT",location:"MEDELLÃN, COLOMBIA · REMOTE",tenure:"10 YEARS",firstName:"Bryan",lastName:"Ruiz",role:"Senior Product Designer",thesis:`Products people come back to. 1523From research to working code.`,index:[{n:"01",label:"Profile"},{n:"02",label:"Selected Work"},{n:"03",label:"Collaborations"},{n:"04",label:"Craft"},{n:"05",label:"Between Disciplines"},{n:"06",label:"Today"}]},profile:{section:"01 · PROFILE",title:`A product designer 1524who listens before solving.`,lead:["Bryan has been designing digital products for ten years. Along the way his technical craft has grown to cover design systems, Figma with Code Connect, prototyping in code and shipping in compliance-heavy B2B domains.","He has partnered with Moonshot Partners as a Senior Product Designer since 2023, working on user interface design and product discovery across client products. Alongside that, he runs Bryologista, his independent product design practice, founded in 2019.","He came to product design from advertising, studied at Universidad Pontificia Bolivariana and PUC-Rio, and spent years in marketing, art direction and photography across Colombia, Spain, Brazil and New Zealand. It left him with an instinct most designers have to learn: what makes people act, and what makes them quietly drift away."],facts:[{value:"10",label:"Years designing digital products"},{value:"2023",label:"Partnering with Moonshot since"},{value:"B2B",label:"Compliance-heavy product domains"}]},work:{section:"02 · SELECTED WORK",title:`Product design, 1525from discovery to interface.`,roles:[{company:"Moonshot Partners",role:"Senior Product Designer",period:"2023 · Present",place:"London, United Kingdom · Remote",current:!0,summary:"Partners with Moonshot as a Product Designer across client products, working on user interface design and product discovery.",stack:["Interface design","Product discovery","Design systems","Prototyping"]},{company:"Bryologista",role:"Senior Product Designer · Freelance",period:"2019 · Present",place:"Remote",current:!0,summary:"Independent product design practice. Covers UI and user experience design for digital products, with portfolio work published at bryologista.com.",stack:["UI design","UX design","Design research","AI-native products"]},{company:"Campo Noble",role:"Online Marketing Leader",period:"2019 · 2022",place:"MedellÃn, Colombia",current:!1,summary:"Led the brand's online marketing for over two and a half years. Work judged by one question: did people act on it. Visual storytelling and design, measured against real behaviour.",stack:["Visual storytelling","Design","Online marketing"]},{company:"BTODigital",role:"Designer",period:"2017 · 2018",place:"Spain",current:!1,summary:"Full-time designer working on user interfaces and visual storytelling for digital projects.",stack:["UI design","Visual storytelling"]},{company:"PUC-Rio",role:"Monitor · Art Direction",period:"2015",place:"Rio de Janeiro, Brazil",current:!1,summary:"Supported the art direction programme at PontifÃcia Universidade Católica do Rio de Janeiro during his exchange in advertising.",stack:["Art direction","Visual storytelling","Design"]}]},brands:{section:"03 · RECENT COLLABORATIONS",title:`Products people 1526use every day.`,intro:"From a national telecom serving millions of subscribers to a young platform families lean on after birth, Bryan's recent work at Moonshot is for products where every screen has to earn its place.",logos:[{name:"Digitel",src:"/Images/ClientLogos/Enterprise/Digitel.png",note:"Venezuelan telecom operator with more than 8M active users."},{name:"Mom Ease",src:"/Images/ClientLogos/Startups/Mom_Ease.png",note:"Digital platform supporting maternal health and postpartum well-being."}]},craft:{section:"04 · CRAFT",title:`Design systems 1527that reach the code.`,intro:"Research, interface design and systems thinking, carried through to working prototypes instead of static handoffs.",groups:[{label:"Product & research",items:["Product design","UX design","UI design","Interaction design","Design research","Product discovery"]},{label:"Systems & code",items:["Design systems","Figma + Code Connect","Prototyping in code","Front-end design","AI-native products","Agentic systems"]},{label:"Storytelling & brand",items:["Visual storytelling","Art direction","Brand design","Photography"]}],principlesLabel:"How he works",principles:[{word:"Listen first",gloss:"Understands the problem and the people before proposing a solution."},{word:"Feedback without ego",gloss:"Takes critique as material for the work, not a threat to it."},{word:"Time as a resource",gloss:"Treats the team's time, and his own, as something worth protecting."}]},ai:{section:"05 · BETWEEN DISCIPLINES",title:`Where design meets 1528behaviour.`,lead:"Most of Bryan's energy now goes into the spaces between disciplines: research, interface, marketing and code. It is where products stop feeling like softw
1528are people have to use and start feeling like something they choose to.",points:[{k:"A marketer's instinct",v:"Years accountable for whether people acted. He reads engagement data the way a marketer does, as a story about intent."},{k:"A storyteller's eye",v:"Photography and art direction taught him that character is a feature. Interfaces he designs have a point of view."},{k:"Code as a medium",v:"Prototypes in code, so ideas are tested with real behaviour before they reach every customer."}],pullquote:"What will matter most isn't tool fluency. It's the ability to curate, to exercise judgment and to hold a long-term vision."},today:{section:"06 · TODAY",title:`A senior designer, 1529embedded with your team.`,body:"Through Moonshot, Bryan works alongside product and engineering teams, from a focused engagement to a longer partnership. He listens first, finds where the experience loses people, and ships the fix in the product rather than in a slide.",ctaLabel:"Work with this team",ctaHint:"Engage Bryan and the Moonshot product team.",ctaHref:"https://www.moonshot.partners",signature:"Presented by Moonshot Partners"}},aR=p.lazy(()=>C(()=>import("./Consulting-kwt6nL0V.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),sR=p.lazy(()=>C(()=>import("./ElevenLabsDemo-QA0ydDAr.js"),__vite__mapDeps([8,2,3,9,10,11,12]))),iR=p.lazy(()=>C(()=>import("./ElevenLabsLanding-CukCEmzn.js"),__vite__mapDeps([13,14,2,9,3,6,4,5,15,16,11,12]))),lR=p.lazy(()=>C(()=>import("./ElevenLabsConsulting-CLCH4gF3.js"),__vite__mapDeps([17,14,2,9,3,6,4,5,7,10]))),cR=p.lazy(()=>C(()=>import("./AiPods-DOeGu5-G.js"),__vite__mapDeps([18,1,2,3,4,5,6]))),dR=p.lazy(()=>C(()=>import("./AgenticArchitecture-C11xxue7.js"),__vite__mapDeps([19,1,2,3,4,5,6]))),uR=p.lazy(()=>C(()=>import("./Deck-BoxAY6M-.js"),__vite__mapDeps([20,21,7,6]))),pR=p.lazy(()=>C(()=>import("./Training-CVUxZe_h.js"),__vite__mapDeps([22,1,2,3,4,5,6]))),hR=p.lazy(()=>C(()=>import("./Services-CBIlLolI.js"),__vite__mapDeps([23,1,2,3,4,5,24,15,12,25]))),mR=p.lazy(()=>C(()=>import("./PrivateDeck-DdukE3wM.js"),__vite__mapDeps([26,25,27,28]))),fR=p.lazy(()=>C(()=>import("./Proposal-BJKT3dRx.js"),__vite__mapDeps([29,30,25,31,24,21,6]))),gR=p.lazy(()=>C(()=>import("./ProposalRPC-CW64vZ4u.js"),__vite__mapDeps([32,31,21,4]))),yR=p.lazy(()=>C(()=>import("./ProposalSKIMS-BuVDIFry.js"),__vite__mapDeps([33,34]))),vR=p.lazy(()=>C(()=>import("./ProposalSKIMSv1-oj_rdh9U.js"),__vite__mapDeps([35,34]))),wR=p.lazy(()=>C(()=>import("./ProposalSevenLegal-C8pcdUZk.js"),[])),bR=p.lazy(()=>C(()=>import("./ProposalNLP-DYrneEU4.js"),[])),xR=p.lazy(()=>C(()=>import("./ProposalBonum-DW5IOy6E.js"),[])),Yy=p.lazy(()=>C(()=>import("./ProposalLeeson-n4AGyaMG.js"),[])),Zy=p.lazy(()=>C(()=>import("./ProposalPACE-Bu_GcK4G.js"),[])),kR=p.lazy(()=>C(()=>import("./ProposalFinance-Xlj9QKTm.js"),__vite__mapDeps([36,21,27,6]))),SR=p.lazy(()=>C(()=>import("./ProposalFinanceV2-Ci26i07o.js"),__vite__mapDeps([37,21,6]))),_R=p.lazy(()=>C(()=>import("./ProposalETA-CR1SVO2G.js"),__vite__mapDeps([38,21,27,6]))),PR=p.lazy(()=>C(()=>import("./ProposalVue-GlMctycv.js"),__vite__mapDeps([39,6,16,27]))),jR=p.lazy(()=>C(()=>import("./TalentMariaRodriguez-CpzfFcP1.js"),[])),ia=p.lazy(()=>C(()=>import("./TalentProfile-CXHs0OGz.js"),[])),AR=p.lazy(()=>C(()=>import("./AuthorityOS-DDL_bIAY.js"),__vite__mapDeps([40,41,25]))),CR=p.lazy(()=>C(()=>import("./MoonshotAcademy-sNTjxSiY.js"),__vite__mapDeps([42,3,4]))),ER=p.lazy(()=>C(()=>import("./Community-DIbiREks.js"),__vite__mapDeps([43,41,25,30,16]))),TR=new QL,IR=()=>l.jsx(YL,{client:TR,children:l.jsxs(jL,{children:[l.jsx(TM,{}),l.jsx(lL,{}),l.jsxs(NP,{future:{v7_startTransition:!0},children:[l.jsx(ZL,{}),l.jsx(nM,{}),l.jsx(p.Suspense,{fallback:l.jsx("div",{"aria-busy":"true",style:{minHeight:"100vh"}}),children:l.jsxs(AP,{children:[ZO.map(({source:e,destination:t})=>l.jsx(se,{path:e,element:l.jsx(YO,{to:t})},e)),l.jsx(se,{path:"/",element:l.jsx(KP,{})}),l.jsx(se,{path:"/consulting",element:l.jsx(aR,{})}),l.jsx(se,{path:"/ai-pods",element:l.jsx(cR,{})}),l.jsx(se,{path:"/training",element:l.jsx(pR,{})}),l.jsx(se,{path:"/elevenlabs-demo",element:l.jsx(sR,{})}),l.jsx(se,{path:"/elevenlabs-landing",element:l.jsx(iR,{})}),l.jsx(se,{path:"/elevenlabs-consulting",element:l.jsx(lR,{})}),l.jsx(se,{path:"/ai-architecture",element:l.jsx(dR,{})}),l.jsx(se,{path:"/deck",element:l.jsx(uR,{})}),l.jsx(se,{path:"/aitransformation",element:l.jsx(hR,{})}),l.jsx(se,{path:"/proposal/rpc",element:l.jsx(gR,{})}),l.jsx(se,{path:"/proposal/skims",element:l.jsx(yR,{})}),l.jsx(se,{path:"/proposal/skims-v1",element:l.jsx(vR,{})}),l.jsx(se,{path:"/proposal/leesongroup",element:l.jsx(Yy,{})}),l.jsx(se,{path:"/proposal/leasongroup",element:l.jsx(Yy,{})}),l.jsx(se,{path:"/leeson",element:l.jsx(Zy,{})}),l.jsx(se,{path:"/proposal/leeson",element:l.jsx(Zy,{})}),l.jsx(se,{path:"/proposal/private-equity",element:l.jsx(kR,{})}),l.jsx(se,{path:"/proposal/finance-v2",element:l.jsx(SR,{})}),l.jsx(se,{path:"/proposal/eta",element:l.jsx(_R,{})}),l.jsx(se,{path:"/proposal/vue",element:l.jsx(PR,{})}),l.jsx(se,{path:"/proposal/sevenlegal",element:l.jsx(wR,{})}),l.jsx(se,{path:"/proposal/nlp",element:l.jsx(bR,{})}),l.jsx(se,{path:"/proposal/bonum",element:l.jsx(xR,{})}),l.jsx(se,{path:"/talent/mariarodriguez",element:l.jsx(jR,{})}),l.jsx(se,{path:"/talent/viniciusfreitas",element:l.jsx(ia,{profile:XL})}),l.jsx(se,{path:"/talent/luisperez",element:l.jsx(ia,{profile:oR})}),l.jsx(se,{path:"/talent/bryanruiz",element:l.jsx(ia,{profile:rR})}),l.jsx(se,{path:"/talent/mariannaschiavino",element:l.jsx(ia,{profile:eR})}),l.jsx(se,{path:"/talent/pedrotavares",element:l.jsx(ia,{profile:tR})}),l.jsx(se,{path:"/talent/oscarlyncostero",element:l.jsx(ia,{profile:nR})}),l.jsx(se,{path:"/moonshotcontent",element:l.jsx(AR,{})}),l.jsx(se,{path:"/content-os",element:l.jsx(ny,{to:"/moonshotcontent",replace:!0})}),l.jsx(se,{path:"/moonshotacademy",element:l.jsx(CR,{})}),l.jsx(se,{path:"/deck/:slug",element:l.jsx(mR,{})}),l.jsx(se,{path:"/proposal/:slug",element:l.jsx(fR,{})}),l.jsx(se,{path:"/community/*",element:l.jsx(ER,{})}),l.jsx(se,{path:"/services/mvp-development-services-in-usa",element:l.jsx(ny,{to:"/services/mvp-software-development-services-in-usa",replace:!0})}),l.jsx(se,{path:"/services/:slug",element:l.jsx(GA,{})}),l.jsx(se,{path:"/blog",element:l.jsx(tC,{})}),l.jsx(se,{path:"/blog/:slug",element:l.jsx(XC,{})}),l.jsx(se,{path:"/case-studies",element:l.jsx(aE,{})}),l.jsx(se,{path:"/case-studies/:slug",element:l.jsx(pE,{})}),l.jsx(se,{path:"/careers/:slug",element:l.jsx(gE,{})}),l.jsx(se,{path:"/author",element:l.jsx(kE,{})}),l.jsx(se,{path:"/author/:slug",element:l.jsx(EE,{})}),l.jsx(se,{path:"/about",element:l.jsx(Eo,{slug:"about"})}),l.jsx(se,{path:"/contact",element:l.jsx(Eo,{slug:"contact"})}),l.jsx(se,{path:"/privacy-policy",element:l.jsx(Eo,{slug:"privacy-policy"})}),l.jsx(se,{path:"/cookie-policy",element:l.jsx(Eo,{slug:"cookie-policy"})}),l.jsx(se,{path:"/tech-talent",element:l.jsx(Eo,{slug:"tech-talent"})}),l.jsx(se,{path:"/subscription",element:l.jsx(Eo,{slug:"subscription"})}),l.jsx(se,{path:"/extended-teams",element:l.jsx(Eo,{slug:"extended-teams"})}),l.jsx(se,{path:"/moonshots-ai-lab",element:l.jsx(Eo,{slug:"moonshots-ai-lab"})}),l.jsx(se,{path:"*",element:l.jsx(Xr,{})})]})})]})]})});function OR(e,t,n=5e3){if(e.dataset.prerendered!=="true"||!e.hasChildNodes()){t(e);return}const o=document.createElement("div");for(o.id="prerender-shell";e.firstChild;)o.appendChild(e.firstChild);e.before(o);const r={position:"absolute",top:"0",left:"0",right:"0",visibility:"hidden"};Object.assign(e.style,r);const a=()=>{o.remove();for(const d of Object.keys(r))e.style.removeProperty(d);i.disconnect(),clearTimeout(c)},s=()=>{e.childElementCount>0&&!e.querySelector("[aria-busy]")&&a()},i=new MutationObserver(s),c=setTimeout(a,n);i.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-busy"]});try{t(e),s()}catch(d){throw a(),d}}OR(document.getElementById("root"),e=>xm(e).render(l.jsx(IR,{})));
1529export{Me as $,mA as A,E0 as B,BO as C,fe as D,ji as E,jx as F,PI as G,Tj as H,ca as I,GE as J,G0 as K,dt as L,Bd as M,UR as N,Hr as O,ve as P,Ai as Q,R,Dy as S,m0 as T,Xm as U,pi as V,k as W,Rj as X,G as Y,Pi as Z,Re as _,y0 as a,zR as a0,VR as a1,$R as a2,FR as a3,gr as a4,j0 as a5,t4 as a6,Nc as a7,Gd as a8,fx as a9,Eh as aA,NR as aB,DR as aC,RR as aD,gx as aa,yx as ab,vI as ac,WR as ad,LR as ae,_h as af,AP as ag,se as ah,ny as ai,BR as aj,tu as ak,zL as al,IL as am,XR as an,kh as ao,un as ap,nu as aq,EL as ar,TL as as,U1 as at,WL as au,ML as av,At as aw,e4 as ax,fi as ay,qL as az,P0 as b,He as c,A0 as d,$c as e,L2 as f,Ib as g,In as h,T0 as i,l as j,fh as k,zy as l,gh as m,da as n,V0 as o,Db as p,KR as q,p as r,bt as s,Mb as t,_n as u,WA as v,$m as w,zm as x,yr as y,De as z};
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.