1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9158],{1602:(e,t,r)=>{var i=r(19031);e.exports=function(){return i.Date.now()}},2391:(e,t,r)=>{"use strict";r.d(t,{A:()=>N});var i=r(764),n=r(70572),s=r(77328),a=r.n(s),u=r(41988),o=r(18847),l=r.n(o),c=r(89099),d=r(44015),m=r(94952),h=r(38197),p=r(52939),g=r(65952),f=r(78452),v=r(31933),_=r(40832),b=r(26432),y=r(62613);let Y=l()(()=>r.e(9077).then(r.bind(r,99077)),{loadableGenerated:{webpack:()=>[99077]}}),k=l()(()=>r.e(897).then(r.bind(r,10897)),{loadableGenerated:{webpack:()=>[10897]}}),w=l()(()=>r.e(9794).then(r.bind(r,9794)),{loadableGenerated:{webpack:()=>[9794]}}),A=l()(()=>Promise.all([r.e(5821),r.e(894)]).then(r.bind(r,70894)),{loadableGenerated:{webpack:()=>[70894]}}),P=l()(()=>r.e(1416).then(r.bind(r,1416)),{loadableGenerated:{webpack:()=>[1416]}}),C=l()(()=>r.e(300).then(r.bind(r,70300)),{loadableGenerated:{webpack:()=>[70300]}}),N=e=>{let{locationData:t,skuData:r,ratingAttributes:s,reviews:{reviews:o},geoList:l,geoCoordinates:N}=e,{setNavigationMenuPathing:O}=(0,m.mB)(),R=(0,c.useRouter)(),E=null==o?void 0:o.slice(0,6),j=(0,n.useRef)(null),{mutate:q}=(0,h.A)({skuId:r.id}),{city:x="",state:M=""}=(0,p.aV)(t),S=r.name,T={city:x,state:M,service:S};(0,n.useEffect)(()=>(O(t.url),()=>O()),[t.url,O]);let I=(0,g.M)({mapper:T,seedData:r.contentful.contentBlocks}),B=(0,g.g)({mapper:T,seedData:r.contentful.metaData});return(0,i.FD)(i.FK,{children:[(0,i.Y)(a(),{children:(0,u.U)({canonical:"".concat("https://www.hellotech.com").concat(R.asPath),title:B.title,de
1scription:B.description})}),(0,i.Y)(d.z,{locationData:t,skuData:r,ratingAttributes:s,geoCoordinates:N}),(0,i.Y)("div",{dangerouslySetInnerHTML:{__html:"\x3c!-- ".concat(e.cacheDate," --\x3e")}}),(0,i.Y)(_.A,{imageSource:(0,p.Xy)(t),location:x||M}),(0,i.Y)(b.A,{skuId:r.id,onGetPriceClick:q,onRatingClick:null,serviceName:S,cityName:x||M,serviceBullets:r.skuBullets,ratingAttributes:s}),(0,i.Y)(Y,{serviceImage:"/_nextassets_/images/peace_of_mind.jpg",title:I.contentOneTitle,cityDescriptions:I.contentOneBody}),(0,i.Y)(f.A,{minHeight:"300px",children:(0,i.Y)(w,{locationOrCategory:S})}),(0,i.Y)(f.A,{minHeight:o?"300px":"",children:o&&(0,i.Y)(k,{reviews:E,cityName:x,reviewsRef:j})}),(0,i.Y)(A,{title:y.oc.title,text:y.oc.subTitle,classes:"paddingTop-huge"}),(0,i.Y)(P,{title:I.contentTwoTitle,serviceDescriptions:I.contentTwoBody}),(0,i.Y)(f.A,{minHeight:"300px",children:(0,i.Y)(C,{})}),(0,i.Y)(v.A,{geoList:l,locationData:t})]})}},2735:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var i=r(764),n=r(67646),s=r(23457);let a=e=>{let{serviceName:t,cityName:r,serviceBullets:a,ratingAttributes:u,onRatingClick:o}=e;return(0,i.FD)("div",{className:"paddingX-tiny",children:[(0,i.FD)("h1",{className:"h2",children:[r," ",t]}),u&&(0,i.Y)(s.A,{size:"sm",onClick:o,stars:u.rating,count:u.ratingCount,className:"paddingY-small2"}),(0,i.Y)("h5",{className:"paddingBottom-small1",children:"Service Includes"}),a.map(e=>(0,i.FD)("div",{className:"flex alignItemsCenter paddingBottom-small1",children:[(0,i.Y)(n.Icon,{name:"checkmark-v2",className:"htTealGreen paddingRight-small1"}),(0,i.Y)("p",{className:"p1",children:e.bullet})]},e.bullet))]})}},4917:(e,t,r)=>{var i=r(98825),n=r(1602),s=r(52782),a=Math.max,u=Math.min;e.exports=function(e,t,r){var o,l,c,d,m,h,p=0,g=!1,f=!1,v=!0;if("function"!=typeof e)throw TypeError("Expected a function");function _(t){var r=o,i=l;return o=l=void 0,p=t,d=e.apply(i,r)}function b(e){var r=e-h,i=e-p;return void 0===h||r>=t||r<0||f&&i>=c}function y(){var e,r,i,s=n();if(b(s))return Y(s);m=setTimeout(y,(e=s-h,r=s-p,i=t-e,f?u(i,c-r):i))}function Y(e){return(m=void 0,v&&o)?_(e):(o=l=void 0,d)}function k(){var e,r=n(),i=b(r);if(o=arguments,l=this,h=r,i){if(void 0===m)return p=e=h,m=setTimeout(y,t),g?_(e):d;if(f)return clearTimeout(m),m=setTimeout(y,t),_(h)}return void 0===m&&(m=setTimeout(y,t)),d}return t=s(t)||0,i(r)&&(g=!!r.leading,c=(f="maxWait"in r)?a(s(r.maxWait)||0,t):c,v="trailing"in r?!!r.trailing:v),k.cancel=function(){void 0!==m&&clearTimeout(m),p=0,o=h=l=m=void 0},k.flush=function(){return void 0===m?d:Y(n())},k}},8091:(e,t,r)=>{"use strict";r.d(t,{l:()=>u});var i=r(70572),n=r(37149),s=r(60388),a=r(67768);function u(e,t){let r=(0,a.jE)(t);return function(e={},t){let r=(0,a.jE)(t).getMutationCache(),u=i.useRef(e),l=i.useRef(null);return null===l.current&&(l.current=o(r,e)),i.useEffect(()=>{u.current=e}),i.useSyncExternalStore(i.useCallback(e=>r.subscribe(()=>{let t=(0,n.BH)(l.current,o(r,u.current));l.current!==t&&(l.current=t,s.jG.schedule(e))}),[r]),()=>l.current,()=>l.current)}({filters:{...e,status:"pending"}},r).length}function o(e,t){return e.findAll(t.filters).map(e=>t.select?t.select(e):e.state)}},23143:(e,t,r)=>{"use strict";r.d(t,{XV:()=>l});var i=r(67684),n=r(62701),s=r(10189),a=r(98812);let u="Product Viewed",o=function(){var e,t,r,i;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:n.id,image_url:n.image,is_remote:n.remote||!1,name:n.name,partner:n.partner,price:n.basePrice/100,sku_id:n.id,base_price:n.basePrice/100,category:n.category,content_ids:[n.id],product_url:"".concat(null==(t=window)||null==(e=t.location)?void 0:e.origin).concat(null==(i=window)||null==(r=i.location)?void 0:r.pathname)}},l={skuPage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,i._)({},o(e),t);s.A.track(u,r)},skuPageLanding(e){var t,r;let[a]=e.skus||{},l="".concat(e.startsAtPrice).replace(/\D/g,""),c=e.seoName,{partner:d}=e,m=(0,i._)({},o((0,n._)((0,i._)({},a),{price:l,name:c,partner:d,base_price:l,image_url:null==(r=e.images)||null==(t=r.front)?void 0:t.original})));s.A.track(u,m)},skuAddedToCart(e){var t;let{cart:r,sku:i}=e,n=r.items.find(e=>e.skuId===i.id),u=null==(t=r.breakdown)?void 0:t.items.find(e=>e.skuId===i.id),o=i.partner?{partner_id:i.partner.id,partner_name:i.partner.landingSeoName}:null,l={category:i.category,id:"".concat(i.id),content_ids:[i.id],image_url:i.heroImageUrl,is_remote:null==n?void 0:n.remote,name:i.name,partner:
1o,sku_id:i.id,cart:(0,a.t)(r),price:u.amount/100,base_price:u.amount/100,physical_product:u.isProduct,requires_installation:u.requiresInstallation};s.A.track("Product Added",l)},getAPriceClickSegment(e){let{zipCode:t,email:r,treatment:i,serviceName:n,skuId:a}=e;s.A.track("Geo Get A Price",{zipCode:t,email:r,treatment:i,skuId:a,skuName:n})}}},26432:(e,t,r)=>{"use strict";r.d(t,{A:()=>c});var i=r(67684),n=r(764),s=r(67646),a=r(2735),u=r(61691),o=r(28298),l=r.n(o);let c=e=>(0,n.Y)(s.Grid.Fluid,{children:(0,n.FD)(s.Grid.Row,{classes:l().subHeaderWrapper,children:[(0,n.Y)(s.Grid.Column,{mdOffset:1,md:6,lgOffset:1,lg:5,classes:l().subHeaderCity,children:(0,n.Y)(a.A,(0,i._)({},e))}),(0,n.Y)(s.Grid.Column,{sm:4,md:5,lgOffset:1,lg:4,classes:"marginAuto",children:(0,n.Y)(u.A,(0,i._)({},e))})]})})},31930:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var i=r(89099),n=r.n(i),s=r(57810);let a=()=>((0,s.Bd)()&&n().push("/us"),null)},38197:(e,t,r)=>{"use strict";r.d(t,{A:()=>v});var i=r(67684),n=r(62701),s=r(70572),a=r(94622),u=r(34356),o=r(4917),l=r.n(o),c=r(89099),d=r.n(c),m=r(44930),h=r(46725),p=r(87620),g=r(57146),f=r(50595);let v=function(){let{skuId:e,options:t={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=(0,a.n)({mutationFn:async t=>{let r=await u.N5.canAddService({sku_id:e||t});if(p.m4.has((0,g.LY)(r))||r.err)throw r;return(0,n._)((0,i._)({},r),{skuId:e||t})},onSuccess:e=>{var t;(null==e||null==(t=e.data)?void 0:t.result)===!0&&d().push((0,f.er)(String(e.skuId)))},onError:e=>{let{errors:t,error_title:r}=(0,g.HH)(e);(0,m.Sc)({error_title:r,errors:t}),(0,h.V)("useCartAddPlan")(e)}}),o=(0,s.useMemo)(()=>l()((e,t)=>{null==e||e.preventDefault(),r.mutate(t)},1e3,{trailing:!1,leading:!0}),[r]);return(0,n._)((0,i._)({},r),{mutate:o})}},39824:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},47052:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/us/[...location]",function(){return r(82866)}])},47231:(e,t,r)=>{"use strict";r.d(t,{Bz:()=>m,HK:()=>d,MR:()=>h,Wu:()=>g});var i=r(91408),n=r(96415);let s="Email is required",a="Please enter a valid email address",u="Enter 5-digit ZIP code",o="Please enter a valid number",l="Please enter valid pricing",c="Passcode is required",d=/(^\d+$)/,m=/(?=.*?\d)^\$?(([1-9]\d{0,2}(,\d{3})*)|\d+)?(\.\d{1,2})?$/,h=/\w+/,p={firstName:(0,i.Yj)().required("First name is required").trim(),lastName:(0,i.Yj)().required("Last name is required"),email:(0,i.Yj)().email(a).required(s),email_autoOff:(0,i.Yj)().email(a).required(s),password:i.Yj().required("Password is required").min(6,"Password is too short - should be 6 chars minimum."),passwordConfirmation:(0,i.Yj)().oneOf([(0,i.KR)("password"),void 0],"Passwords must match"),hearAboutUs:(0,i.Yj)().required("Please tell us how you heard about us"),address:(0,i.Yj)().required("Address is required"),phone:(0,i.Yj)().required("Phone is required").matches(new RegExp(/^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/),"Phone requires 10 digits"),zipCode:(0,i.Yj)().matches(/(^\d{5}$)/,u).max(5).required(u),text:(0,i.Yj)().required("Input is required"),numeric:(0,i.Yj)().matches(d,o).required(o),currency:(0,i.Yj)().matches(m,l).required(l),emptyRequirement:(0,i.Yj)(),addressDetails:(0,i.Yj)(),passcode:(0,i.Yj)().matches(d,c).max(6).required(c)},g=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"onSubmit",r=arguments.length>2?arguments[2]:void 0,s=[].concat(e).filter(e=>e&&p[e]).reduce((e,t)=>(t&&(e[t]=p[t]),e),{});return{resolver:(0,n.t)((0,i.Ik)().shape(s)),defaultValues:r,reValidateMode:t}}},52782:(e,t,r)=>{var i=r(88046),n=r(98825),s=r(76014),a=0/0,u=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(s(e))return a;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var r=o.test(e);return r||l.test(e)?c(e.slice(2),r?2:8):u.test(e)?a:+e}},56376:(e,t,r)=>{"use strict";r.d(t,{HT:()=>s,V0:()=>n,s8:()=>i});let i="testA",n="testB",s="Get Your Price"},56961:(e,t,r)=>{"use strict";r.d(t,{_:()=>u});var i=r(21407),n=r(60388),s=r(90089),a=r(37149),u=class extends s.Q{#e;#t=void 0;#r;#i;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,a.f8)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,a.EN)(t.mutationKey)!==(0,a.EN)(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(e){this.#n(),this.#s(e)}getCurrentResult(){return this.#t}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#n(),this.#s()}mutate(e,t){return this.#i=t,this.#r?.removeObserver(this),this.#r=this.#e.getMutationCache().build(this.#e,this.options),this.#r.addObserver(this),this.#r.execute(e)}#n(){let e=this.#r?.state??(0,i.$)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#s(e){n.jG.batch(()=>
1{if(this.#i&&this.hasListeners()){let t=this.#t.variables,r=this.#t.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#i.onSuccess?.(e.data,t,r,i)}catch(e){Promise.reject(e)}try{this.#i.onSettled?.(e.data,null,t,r,i)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#i.onError?.(e.error,t,r,i)}catch(e){Promise.reject(e)}try{this.#i.onSettled?.(void 0,e.error,t,r,i)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}}},61691:(e,t,r)=>{"use strict";r.d(t,{A:()=>_});var i=r(67684),n=r(764),s=r(70572),a=r(15039),u=r.n(a),o=r(89099),l=r(8091),c=r(88992),d=r(67646),m=r(23143),h=r(56376),p=r(50595),g=r(47231),f=r(28298),v=r.n(f);let _=e=>{var t;let{skuId:r,onGetPriceClick:a,className:f,serviceName:_,cityName:b}=e,y=(0,l.l)(),Y=(0,o.useRouter)(),k=(0,s.useRef)(!1),{register:w,handleSubmit:A,formState:{errors:P}}=(0,c.mN)((0,i._)({},(0,g.Wu)(["zipCode"],"onChange",{zipCode:"",email:""})));return(0,n.Y)(d.Panel,{largeBorderRadius:!0,className:u()(f,v().zipEmail,"paddingX-medium paddingY-medium"),children:(0,n.FD)(d.Form,{classes:v().field_sales__form,onSubmit:A(e=>{let{zipCode:t,email:i=""}=e;a(),m.XV.getAPriceClickSegment({serviceName:_,skuId:r,zipCode:t,email:i,treatment:"testB"})}),children:[(0,n.FD)("h4",{className:"htBlue700 paddingBottom-medium",children:["Book your ",b," ",_]}),(0,n.Y)(d.InputField,(0,i._)({onFocus:()=>{k.current||(k.current=!0,Y.prefetch((0,p.er)("".concat(r))))},label:"Zip Code",maxLength:5,type:"text",containerClass:"paddingBottom-small2",error:null==(t=P.zipCode)?void 0:t.message},w("zipCode"))),(0,n.Y)(d.Button,{disabled:!!y,className:"marginTop-small2 marginBottom-medium",theme:d.BUTTON_THEMES.PRIMARY,type:"submit",children:h.HT})]})},Y.asPath)}},82866:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__N_SSG:()=>c,default:()=>d});var i=r(67684),n=r(764),s=r(28603),a=r(2391),u=r(9845),o=r(31930);function l(e){var t,r;return(null==e||null==(t=e.pageType)?void 0:t.includes("sku"))?(0,n.Y)(a.A,(0,i._)({},e)):(null==e||null==(r=e.pageType)?void 0:r.includes("geo"))?(0,n.Y)(u.A,(0,i._)({},e)):(0,n.Y)(o.A,{})}l.pageAttributes={page:r(34667).Lo},l.Layout=(0,s.A)({promo:!0,footer:!0});var c=!0;let d=l},88046:(e,t,r)=>{var i=r(39824),n=/^\s+/;e.exports=function(e){return e?e.slice(0,i(e)+1).replace(n,""):e}},94622:(e,t,r)=>{"use strict";r.d(t,{n:()=>o});var i=r(70572),n=r(56961),s=r(60388),a=r(37149),u=r(67768);function o(e,t){let r=(0,u.jE)(t),[o]=i.useState(()=>new n._(r,e));i.useEffect(()=>{o.setOptions(e)},[o,e]);let l=i.useSyncExternalStore(i.useCallback(e=>o.subscribe(s.jG.batchCalls(e)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),c=i.useCallback((e,t)=>{o.mutate(e,t).catch(a.lQ)},[o]);if(l.error&&(0,a.GU)(o.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:c,mutateAsync:l.mutate}}},98812:(e,t,r)=>{"use strict";r.d(t,{t:()=>s});var i=r(7766),n=r.n(i);let s=e=>{let t=n()(e,"breakdown",{}),r=n()(e,"items",[]),i=n()(t,"items",[])||[],s=e=>r.find(t=>t.skuId===e),a=n()(e,"partner",!1),u=a?{partner_id:a.id,partner_name:e.partnerName||n()(e,"partners.name","")||n()(e,"partners.landingSeoName","")||""}:null,o=i.map(e=>{let{skuId:t}=e;return{sku_id:t,base_price:e.amount/100,category:e.category,is_remote:n()(s(t),"remote",!1),image_url:n()(s(t),"heroImageUrl",!1),name:e.name,partner:u,physical_product:e.isProduct,requires_installation:e.requiresInstallation}});return{cart_id:e.id,amount:t.total/100,savings:t.totalSavings,products:o}}}},e=>{e.O(0,[8230,4473,864,8827,9357,4546,9974,4344,8603,7695,636,8792],()=>e(e.s=47052)),_N_E=e.O()}]); 2//# sourceMappingURL=[...location]-9fd70a6b28bd251f.js.map
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.