{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/@coveo/headless/dist/browser/ sync","webpack://@verndale/toolkit/./src/js/coveo/components/DropdownFacet/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/ListingRow/QuerySummary.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/MultiFieldSuggestions/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/modules/LocationSelector/SearchBox.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/ListingRow/Facet.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/Sort/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/ListingRowResults/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/ListingRow/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/Pager/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/components/ResultLink/index.jsx","webpack://@verndale/toolkit/./src/js/coveo/engine/Engine.js","webpack://@verndale/toolkit/./src/js/coveo/helpers/index.js","webpack://@verndale/toolkit/./src/js/coveo/state/context.js","webpack://@verndale/toolkit/./src/js/coveo/urlManager/index.jsx","webpack://@verndale/toolkit/./src/js/hooks/useClickOutside.jsx","webpack://@verndale/toolkit/./node_modules/js-cookie/src/js.cookie.js"],"names":["webpackEmptyContext","req","module","DropdownFacet","props","showNumberSelected","controller","facet","type","immediateAction","onFacetChange","onResetFacet","state","setState","useState","selectedValues","setSelectedValues","expanded","setExpanded","isInitialMount","useRef","useEffect","hash","params","key","value","values","selected","item","data","setLocationCookie","handleFacetClick","ref","useOutsideClick","checkSelected","renderFacet","React","hasResults","firstResult","lastResult","total","summary","controllers","text","onSuggestionClick","states","setStates","index","facetSearchValue","suggestionsControllers","className","placeholder","locationCookieName","onInputChange","onSubmit","isAutocomplete","submitToController","allowEmptySearch","removeLastSearchValue","suggestionSelected","setSuggestionSelected","inputValue","setInputValue","isEnterKey","e","initialInputValue","getLocationCookie","initial","handleSubmit","handleSuggestionClick","suggestion","MultiFieldSuggestions","Facet","Sort","getCriterionFromName","name","criterionName","criterion","buildCriterionExpression","ListingRowResults","facetFields","onFacetClick","facets","cutOffDate","isFacetValueSelected","facetId","facetValue","x","formatDate","timestamp","date","shouldShowDate","result","ResultLink","field","coveoExpression","coveoSortCaptions","coveoSortOptions","coveoEngine","coveoContextLanguage","coveoSource","applyFiltersLabel","clearSearchLabelMobile","showSearchBox","clearResultsLabel","singleSelectFields","singleSelectTitles","multiSelectFields","multiSelectTitles","filterResultsLabel","sortByLabel","appliedLabel","hideFilters","setHideFilters","searchActive","setSearchActive","hasFacetSelected","setHasFacetSelected","selectedFacetsPerField","setSelectedFacetsPerField","singleSelectFacetFields","multiSelectFacetFields","singleSelectFacetTitles","multiSelectFacetTitles","sortOptions","sortCaptions","fieldsToInclude","useMemo","singleSelectFacets","options","buildFacet","multiSelectFacets","criteria","option","splitOption","buildRelevanceSortCriterion","buildDateSortCriterion","SortOrder","buildFieldSortCriterion","initialCriterion","querySummary","buildQuerySummary","searchBox","buildSearchBox","pager","buildPager","unsubscribeUrlManager","bindUrlManager","sort","buildSort","resultsListController","buildResultList","commonQuery","advancedQuery","joinedAdvancedQuery","advancedQuerySearchActionCreator","loadAdvancedSearchQueryActions","updateQuery","loadQueryActions","analytics","onClearAllFacets","onClearHash","onResultFacetClick","tagValue","handleApplyFilters","newHash","selectedFacets","newHashWithFacets","handleFacetChange","newSelectedFacetsPerField","SearchContext","QuerySummary","acc","SearchBox","Pager","isLoading","setIsLoading","useContext","page","engine","interactiveResult","buildInteractiveResult","ctaClick","setCurrentCommunityCookie","Boxever","_boxever_settings","eventToSend","filterProtocol","postprocessSearchResponse","response","postprocessFacetSearchResponse","postprocessQuerySuggestSearchResponse","preprocessRequest","request","clientOrigin","body","buildEngine","organizationId","accessToken","searchHub","pipeline","buildSearchEngine","commonConfigurator","coveoCommonConfig","commonEngine","nearbyColumnHeadless","nearbyColumnEngineConfig","nearbyColumnEngine","locationDataStorage","locationCookie","args","prevCookieData","cookieData","unitConversion","distance","unit","getGoogleMapsInfoWindowContentString","linkToAnchor","linkWholeCard","showDistance","imageDomain","unitLabelCard","underlineTitle","imgString","titleString","ssl_latitude_d","ssl_longitude_d","ssl_communityname","ssl_thumbnailimage","ssl_pricingandavailabilityphone","ssl_residentsandfamilyphone","ssl_communityid","uri","ssl_mainimagedesktop","currentCommunityData","currentCommunityString","Cookies","isAbsolute","isRelative","getQueryFunctionsLatitudeLongitude","latitude","longitude","setLatitudeLongitudePreprocessRequest","global","newBody","getAdvancedGeolocationQuery","source","radiusInMiles","careType","contextLanguage","hiddenCommunitiesArray","el","getCoveoFindACommunityFieldsToInclude","sendCoveoInterfaceLoad","logInterfaceLoad","loadSearchAnalyticsActions","executeSearch","loadSearchActions","sendCoveoGeolocationInterfaceLoad","advancedUrlQuery","language","previousLoad","registerSortCriterion","loadSortCriteriaActions","setPipeline","loadPipelineActions","logSearchFromLink","sendCoveoGeolocationQuery","logSearchboxSubmit","checkForAdvancedQueryInHash","checkForHiddenQueryInHash","clearAllFacets","getModuleStorageCacheData","localStorageData","localStorageDataParsed","setModuleStorageCacheData","locationInfo","compareLocationInfo","locationInfo1","locationInfo2","sortResultsByDistance","results","a","b","createContext","statusControllers","buildSearchStatus","fragment","urlManager","buildUrlManager","onHashChange","unsubscribeManager","callback","handleClick","event","factory","registeredInModuleLoader","OldCookies","api","extend","i","attributes","decode","s","init","converter","set","stringifiedAttributes","attributeName","get","json","jar","cookies","parts","cookie"],"mappings":"4GAAA,SAASA,EAAoBC,EAAK,CACjC,IAAI,EAAI,IAAI,MAAM,uBAAyBA,EAAM,GAAG,EACpD,QAAE,KAAO,mBACH,CACP,CACAD,EAAoB,KAAO,UAAW,CAAE,MAAO,CAAC,CAAG,EACnDA,EAAoB,QAAUA,EAC9BA,EAAoB,GAAK,MACzBE,EAAO,QAAUF,C,0ECJjB,MAAMG,EAAgBC,GAAS,CAC7B,KAAM,CACJ,mBAAAC,EAAqB,GACrB,WAAAC,EACA,MAAAC,EAAQ,CACN,GAAI,WACJ,MAAO,cACP,eAAgB,EAClB,EACA,KAAAC,EAAO,4BACP,gBAAAC,EAAkB,GAClB,cAAAC,EAAgB,KAChB,aAAAC,CACF,EAAIP,EACE,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,EAC7C,CAACS,EAAgBC,CAAiB,G,EAAIF,YAAS,CAAC,CAAC,EACjD,CAACG,EAAUC,CAAW,G,EAAIJ,YAAS,EAAK,EACxCK,G,EAAiBC,UAAO,EAAI,G,EAElCC,aAAU,IAAM,CACdf,EAAW,UAAU,IAAM,CACzBO,EAASP,EAAW,KAAK,CAC3B,CAAC,CACH,EAAG,CAAC,CAAC,G,EAELe,aAAU,IAAM,CACd,GAAIF,EAAe,SAAWb,EAAW,MAAM,OAAO,OAAS,EAAG,CAChE,MAAMgB,EAAO,OAAO,SAAS,KAAK,MAAM,CAAC,EACzC,GAAIA,IAAS,OAAW,CACtB,MAAMC,EAAS,IAAI,gBAAgBD,CAAI,EACvC,SAAW,CAACE,EAAKC,CAAK,IAAKF,EACzB,GAAIC,EAAI,WAAW,KAAOpB,EAAM,MAAM,EAAE,EAAG,CACzC,MAAMsB,EAASD,EAAM,MAAM,GAAG,EACxBE,EAAWrB,EAAW,MAAM,OAAO,OAAOsB,GAAQF,EAAO,SAASE,EAAK,KAAK,CAAC,EACnFD,EAAS,QAAQC,GAAQ,CACvBtB,EAAW,aAAasB,CAAI,CAC9B,CAAC,EACDZ,EAAkB,CAAC,GAAGD,EAAgB,GAAGY,CAAQ,CAAC,CACpD,CAEJ,CACAR,EAAe,QAAU,EAC3B,CACF,EAAG,CAACb,EAAW,MAAM,MAAM,CAAC,G,EAE5Be,aAAU,IAAM,CACVV,GACFK,EAAkB,CAAC,CAAC,CAExB,EAAG,CAACL,CAAY,CAAC,G,EAEjBU,aAAU,IAAM,CACVX,GAAeA,EAAcH,EAAOQ,CAAc,EACtD,IAAIc,EAAO,KAAK,MAAM,MAAQtB,EAAM,GAAK,OAASQ,EAAe,IAAIa,GAAQA,EAAK,KAAK,EAAE,KAAK,GAAG,EAAI,IAAI,G,EACzGE,MAAkBD,CAAI,CACxB,EAAG,CAACd,CAAc,CAAC,EAEnB,MAAMgB,EAAmBN,GAAS,CAC5BlB,EAAM,gBACJE,GAAiBH,EAAW,mBAAmBmB,CAAK,EACpDV,EAAe,SAASU,CAAK,EAC/BT,EAAkB,CAAC,CAAC,EAEpBA,EAAkB,CAACS,CAAK,CAAC,IAGvBhB,GAAiBH,EAAW,aAAamB,CAAK,EAC9CV,EAAe,KAAKa,GAAQA,EAAK,QAAUH,EAAM,KAAK,EACxDT,EACED,EAAe,OAAOa,GAAQA,EAAK,QAAUH,EAAM,KAAK,CAC1D,EAEAT,EAAkB,CAAC,GAAGD,EAAgBU,CAAK,CAAC,EAGlD,EAEMO,G,EAAMC,KAAgB,IAAM,CAChCf,EAAY,EAAK,CACnB,CAAC,EAEKgB,EAAgBT,GAChBhB,EAAwBH,EAAW,gBAAgBmB,CAAK,EAChDV,EAAe,SAASU,CAAK,EAGrCU,EAAcV,GAOhBW,gBAAC,OACC,UAAW,wCAAwC5B,KACjD0B,EAAcT,CAAK,GAAKA,EAAM,QAAU,WACpC,8BACA,MACFb,EAAM,UAAY,6BAA+B,KACrD,QAAS,IAAMmB,EAAiBN,CAAK,CAAC,EAEtCW,gBAAC,SACC,KAAK,WACL,UAAU,oCACV,MAAOX,EACP,aAAYA,EAAM,MAClB,SAAS,KACT,SAAUb,EAAM,UAChB,eAAgBsB,EAAcT,CAAK,GAAKA,EAAM,QAAU,WAC1D,EACAW,gBAAC,UACC,UAAU,qCACV,aAAYX,EAAM,MAClB,SAAUb,EAAM,UAChB,eAAcsB,EAAcT,CAAK,GAAKA,EAAM,QAAU,WACvD,EACDW,gBAAC,SACC,UAAU,2BACV,MAAOX,EAAM,MACb,cAAY,OAAO,EAElBA,EAAM,KACT,EACCjB,IAAS,6BACR4B,gBAAC,QAAK,UAAU,6BAA6B,cAAY,MAAM,EAC5DX,EAAM,eACT,CAEJ,EAIJ,OACEW,gBAAC,OAAI,UAAU,wBAAwB,IAAKJ,GAC1CI,gBAAC,OAAI,UAAU,4BAA4B,EACzCA,gBAAC,OAAI,UAAU,6BAA6B,EAC1CA,gBAAC,OAAI,UAAU,WAAW,EACxBA,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,KAAK,cAAc,EAC7CA,gBAAC,OAAI,UAAU,aAAa,CAAC,CAC/B,EACAA,gBAAC,UACC,aAAW,gBACX,UAAU,gBACV,SAAS,IAAI,EAEbA,gBAAC,UAAO,MAAK,GAAC,SAAQ,IACnB7B,EAAM,KACT,EACCK,EAAM,OAAO,IAAIa,GAChBW,gBAAC,UAAO,IAAKX,EAAM,MAAO,MAAOA,EAAM,KAAK,EACzCA,EAAM,KACT,CACD,CACH,EACAW,gBAAC,UACC,aAAY7B,EAAM,MAClB,UAAU,kCACV,KAAK,SACL,gBAAeU,EACf,QAAS,IAAMC,EAAY,CAACD,CAAQ,CAAC,EAErCmB,gBAAC,YAAM7B,EAAM,KAAM,EAClBA,EAAM,gBAAkBQ,EAAe,OAAS,GAC/CqB,gBAAC,QAAK,UAAU,0BAA0B,EAEtCrB,EAAe,KACba,GAAQA,IAASb,EAAeA,EAAe,OAAS,EAC1D,EAAE,KAEN,EAEDV,GAAsBU,EAAe,OAAS,GAC7CqB,gBAAC,QAAK,UAAU,0BAA0B,EACvCrB,EAAe,OAAO,WACzB,CAEJ,EACAqB,gBAAC,OAAI,UAAU,gBAAgB,EAC7BA,gBAAC,MAAG,UAAU,4BAA4B,EACvCxB,EAAM,OAAO,IAAIa,GAChBW,gBAAC,MAAG,UAAU,wBAAwB,IAAKX,EAAM,KAAK,EACnDU,EAAYV,CAAK,CACpB,CACD,CACH,CACF,CACF,CACF,CACF,CACF,CAEJ,EAEA,IAAetB,C,0GC7Kf,EAtB4BC,GAAS,CACnC,KAAM,CAAE,WAAAE,CAAW,EAAIF,EACjB,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,G,EAEnDe,aAAU,IAAMf,EAAW,UAAU,IAAMO,EAASP,EAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAE1E,KAAM,CAAE,WAAA+B,EAAY,YAAAC,EAAa,WAAAC,EAAY,MAAAC,CAAM,EAAI5B,EAEvD,GAAI,CAACyB,GAAcG,IAAU,EAC3B,OAAO,KAGT,MAAMC,EACJD,EAAQ,EACJ,CACE,mBAAmBF,wBAAkCC,yBAAkCC,oBACzF,EACA,CAAC,sCAAsC,EAE7C,OAAOJ,gBAAC,KAAE,wBAAyB,CAAE,OAAQK,EAAQ,KAAK,GAAG,CAAE,CAAC,CAAE,CACpE,E,WC0BA,EA9C8BrC,GAAS,CACrC,KAAM,CAAE,YAAAsC,EAAa,KAAAC,EAAM,kBAAAC,EAAoB,IAAM,CAAC,CAAE,EAAIxC,EACtD,CAACyC,EAAQC,CAAS,G,EAAIhC,YAC1B4B,EAAY,IAAIpC,GAAcA,EAAW,KAAK,CAChD,EAEA,O,EAAAe,aAAU,IAAM,CACdqB,EAAY,QAAQpC,GAClBA,EAAW,UAAU,IACnBwC,EAAUJ,EAAY,IAAIpC,GAAcA,EAAW,KAAK,CAAC,CAC3D,CACF,CACF,EAAG,CAAC,CAAC,G,EAELe,aAAU,IAAM,CACd,GAAIsB,IAAS,GAAI,CACfD,EAAY,QAAQpC,GAAcA,EAAW,MAAM,CAAC,EACpD,MACF,CACAoC,EAAY,QAAQpC,GAAcA,EAAW,WAAWqC,CAAI,CAAC,CAC/D,EAAG,CAACA,CAAI,CAAC,EAGPP,gBAAC,OAAI,UAAU,wCAAwC,EACpDS,EAAO,IAAI,CAACjC,EAAOmC,IACdnC,EAAM,OAAO,SAAW,EAAU,KAGlCwB,gBAAC,MAAG,IAAKW,GACNnC,EAAM,OAAO,IAAIoC,GAChBZ,gBAAC,MACC,IAAKY,EAAiB,SACtB,QAAS,IACPJ,EAAkBI,EAAiB,YAAY,CAAC,EAGjDA,EAAiB,YACpB,CACD,CACH,CAEL,CACH,CAEJ,E,WCoCA,EA7EkB5C,GAAS,CACzB,KAAM,CACJ,uBAAA6C,EACA,WAAA3C,EACA,UAAA4C,EACA,YAAAC,EACA,mBAAAC,EACA,cAAAC,EAAgB,KAChB,SAAAC,EAAW,KACX,eAAAC,EAAiB,GACjB,mBAAAC,EAAqB,GACrB,iBAAAC,EAAmB,GACnB,sBAAAC,EAAwB,EAC1B,EAAItD,EACE,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,EAC7C,CAACqD,EAAoBC,CAAqB,G,EAAI9C,YAAS,EAAK,EAC5D,CAAC+C,EAAYC,CAAa,G,EAAIhD,YAAS,EAAE,EAEzCiD,EAAaC,GAAKA,EAAE,MAAQ,S,EAClC3C,aAAU,IAAM,CACdf,EAAW,UAAU,IAAM,CACzBO,EAASP,EAAW,KAAK,CAC3B,CAAC,EACD,IAAI2D,G,EACFC,MAAkBd,CAAkB,GAAG,iBAAmB,GACxDM,IAAuBO,EAAoB,IAC/C,MAAME,EAAUZ,EAAiBU,EAAoB,GACrDH,EAAcK,CAAO,EACjBd,GAAeA,EAAcc,CAAO,CAC1C,EAAG,CAAC,CAAC,EACL,KAAM,CAAClD,EAAUC,CAAW,G,EAAIJ,YAAS,EAAK,EAExCsD,EAAe,IAAM,CACrB,CAACX,GAAoB7C,EAAM,QAAU,KACrC4C,GAAoBlD,EAAW,OAAO,EACtCgD,GAAUA,EAAShD,EAAW,MAAM,KAAK,EAC/C,EAEM+D,GAAwBC,GAAc,CACtCjB,GAAeA,EAAciB,CAAU,EAC3ChE,EAAW,WAAWgE,CAAU,EAChCV,EAAsB,EAAI,EAC1BE,EAAcQ,CAAU,CAC1B,EAEMtC,I,EAAMC,KAAgB,IAAM,CAChCf,EAAY,EAAK,CACnB,CAAC,EAED,OACEkB,gBAAC,OAAI,UAAWc,EAAW,IAAKlB,IAC9BI,gBAAC,SACC,KAAK,OACL,MAAOyB,EACP,SAAUG,GAAK,CACbF,EAAcE,EAAE,OAAO,KAAK,EACvB/C,GAAUC,EAAY,EAAI,EAC3BmC,GAAeA,EAAcW,EAAE,OAAO,KAAK,EAC/CJ,EAAsB,EAAK,EAC3BtD,EAAW,WAAW0D,EAAE,OAAO,KAAK,CACtC,EACA,UAAWA,GAAKD,EAAWC,CAAC,GAAKI,EAAa,EAC9C,YAAajB,EACf,EACCF,GAAwB,OAAS,GAAK,CAACU,GAAsB1C,GAC5DmB,2BAAA,KACEA,gBAACmC,EAAA,CACC,YAAa,CAAC,GAAGtB,CAAsB,EACvC,KAAMrC,EAAM,MACZ,kBAAmByD,GACrB,CACF,CAEJ,CAEJ,E,UC9EO,MAAMG,EAAQpE,GAAS,CAC5B,KAAM,CAAE,WAAAE,EAAY,MAAAC,EAAO,KAAAC,EAAO,2BAA4B,EAAIJ,EAC5D,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,EAInD,I,EAFAe,aAAU,IAAMf,EAAW,UAAU,IAAMO,EAASP,EAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAEtE,CAACM,EAAM,OAAO,OAChB,OAAOwB,gBAAC,WAAI,iBAAe,EAG7B,MAAML,EAAmBN,GAAS,CAC5BlB,EAAM,eAAgBD,EAAW,mBAAmBmB,CAAK,EACxDnB,EAAW,aAAamB,CAAK,CACpC,EAEMU,EAAcV,GAMhBW,gBAAC,OACC,UAAW,wCACT7B,EAAM,eAAiB,eAAiB,+BAExCD,EAAW,gBAAgBmB,CAAK,EAAI,8BAAgC,MAClEb,EAAM,UAAY,6BAA+B,KACrD,QAAS,IAAMmB,EAAiBN,CAAK,CAAC,EAEtCW,gBAAC,SACC,KAAK,WACL,UAAU,oCACV,MAAOX,EACP,aAAYA,EAAM,MAClB,SAAS,KACT,SAAUb,EAAM,UAChB,eAAgBN,EAAW,gBAAgBmB,CAAK,CAAC,CACnD,EACAW,gBAAC,UACC,UAAU,qCACV,aAAYX,EAAM,MAClB,SAAUb,EAAM,UAChB,eAAcN,EAAW,gBAAgBmB,CAAK,CAAC,CAChD,EACDW,gBAAC,SACC,UAAU,2BACV,MAAOX,EAAM,MACb,cAAY,OAAO,EAElBA,EAAM,KACT,EACAW,gBAAC,QAAK,UAAU,6BAA6B,cAAY,MAAM,EAC5DX,EAAM,eACT,CACF,EAIJ,OACEW,gBAAC,YAAS,UAAU,yBAAyB,EAC1C7B,EAAM,OACL6B,gBAAC,WACCA,gBAAC,UAAO,UAAU,gCAAgC,EAC/C7B,EAAM,KACT,CACF,EAEF6B,gBAAC,UACCA,gBAAC,UACCA,gBAAC,UACExB,EAAM,OAAO,IAAIa,GAChBW,gBAAC,MAAG,IAAKX,EAAM,KAAK,EAAGU,EAAYV,CAAK,CAAE,CAC3C,CACH,CACF,CACF,CACF,CAEJ,E,eC7EO,MAAMgD,EAAOrE,GAAS,CAC3B,KAAM,CAAE,WAAAE,CAAW,EAAIF,EACjB,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,G,EAEnDe,aAAU,IAAMf,EAAW,UAAU,IAAMO,EAASP,EAAW,KAAK,CAAC,EAAG,CAAC,CAAC,EAE1E,MAAMoE,EAAuBC,GAC3BvE,EAAM,SAAS,KAAK,CAAC,CAACwE,CAAa,IAAMA,IAAkBD,CAAI,EAQjE,OACEvC,gBAAC,UACC,OARwB,IAC1BhC,EAAM,SAAS,KACb,CAAC,CAAC,CAAEyE,CAAS,IACXjE,EAAM,gB,EAAiBkE,MAAyBD,CAAS,CAC7D,GAI6B,EAAE,GAC7B,SAAUb,GAAK1D,EAAW,OAAOoE,EAAqBV,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,EAExE5D,EAAM,SAAS,IAAI,CAAC,CAACwE,CAAa,EAAG7B,IACpCX,gBAAC,UAAO,IAAKW,EAAO,MAAO6B,GACxBA,CACH,CACD,CACH,CAEJ,E,eC3BO,MAAMG,EAAoB3E,GAAS,CACxC,KAAM,CAAE,WAAAE,EAAY,YAAA0E,EAAa,aAAAC,EAAc,OAAAC,CAAO,EAAI9E,EACpD,CAACQ,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,EAC7C6E,EAAa,IAAI,KAAK,KAAM,GAAI,CAAC,G,EAEvC9D,aAAU,IAAM,CACdf,EAAW,UAAU,IAAM,CACzBO,EAASP,EAAW,KAAK,CAC3B,CAAC,CACH,EAAG,CAAC,CAAC,EAEL,MAAM8E,EAAuB,CAACC,EAASC,IAAe,CACpD,MAAM/E,EAAQ2E,EAAO,KACnB3E,GAASA,EAAM,WAAW,MAAM,UAAY8E,CAC9C,EACA,OAAK9E,EAGEA,EAAM,WAAW,MAAM,OAAO,KAAKgF,GAAK,OAAO,OAAOA,CAAC,EAAE,SAASD,CAAU,GAAKC,EAAE,QAAU,UAAU,EAFrG,EAGX,EAEMC,EAAcC,GAAc,CAChC,GAAI,CAACA,EACH,MAAO,GAGT,MAAMC,EAAO,IAAI,KAAKD,CAAS,EAE/B,OAAO,IAAI,KAAK,eAAe,QAAS,CACtC,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EAAE,OAAOC,CAAI,CAChB,EAEMC,EAAkBF,GAClB,GAACA,GAAa,IAAI,KAAKA,CAAS,EAAIN,GAO1C,OAAKvE,EAAM,QAAQ,OAKjBwB,gBAAC,WACCA,gBAAC,MAAG,MAAO,CAAE,UAAW,MAAO,CAAC,EAC7BxB,EAAM,QAAQ,IAAIgF,GACjBxD,gBAAC,MAAG,IAAKwD,EAAO,QAAQ,EACtBxD,gBAAC,OAAI,UAAU,oBAAoB,EACjCA,gBAAC,MAAG,UAAW,6BAA6B9B,EAAW,MAAM,UAAY,qCAAuC,MAC9G8B,gBAACyD,IAAA,CAAW,OAAQD,GACjBA,EAAO,IAAI,YAAcA,EAAO,IAAI,YAAcA,EAAO,GAC5D,CACF,EACAxD,gBAAC,OAAI,UAAW,mCAAmC9B,EAAW,MAAM,UAAY,uCAAyC,KAAM,wBAAyB,CAAE,OAAQsF,EAAO,OAAQ,CAAC,CAAE,EAClLD,EAAeC,EAAO,IAAI,YAAY,GACtCxD,gBAAC,OAAI,UAAU,gCAAgC,EAAC,gBAChCoD,EAAWI,EAAO,IAAI,YAAY,CAClD,EAEFxD,gBAAC,OAAI,UAAU,gCAAgC,EAC5C4C,EAAY,IAAIc,GAEb,OAAO,KAAKF,EAAO,GAAG,EAAE,SAASE,CAAK,GACpC1D,gBAAC,UACC,UAAW,6BACTgD,EAAqBU,EAAOF,EAAO,IAAIE,EAAM,EACzC,sCACA,KAEN,IAAKA,EACL,QAAS,IAAMb,EAAaa,EAAOF,EAAO,IAAIE,EAAM,EACpD,SAAUxF,EAAW,MAAM,SAAS,EAEnCsF,EAAO,IAAIE,EACd,CAGL,CACH,CACF,CACF,CACD,CACH,CACF,EA5CO1D,gBAAC,WAAI,YAAU,CA8C1B,E,eC6SA,EAhXmBhC,GAAS,CAC1B,KAAM,CACJ,gBAAA2F,EAAkB,KAClB,kBAAAC,EAAoB,GACpB,iBAAAC,EAAmB,GACnB,YAAAC,EACA,qBAAAC,EAAuB,KACvB,YAAAC,EAAc,0BACd,kBAAAC,EAAoB,gBACpB,uBAAAC,EAAyB,eACzB,cAAAC,EAAgB,GAChB,kBAAAC,EAAoB,gBACpB,mBAAAC,EACA,mBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,mBAAAC,EAAqB,iBACrB,YAAAC,EAAc,UACd,mBAAA1D,EACA,aAAA2D,EAAe,SACjB,EAAI3G,EAEE,CAAC4G,EAAaC,CAAc,G,EAAInG,YAAS,EAAK,EAC9C,CAACoG,EAAcC,EAAe,G,EAAIrG,YAAS,EAAK,EAChD,CAACsG,GAAkBC,CAAmB,G,EAAIvG,YAAS,EAAK,EACxD,CAACwG,EAAwBC,EAAyB,G,EAAIzG,YAAS,CAAC,CAAC,EACjE0G,GACJf,EAAmB,OAAS,EAAIA,EAAmB,MAAM,GAAG,EAAI,CAAC,EAC7DgB,GACJd,EAAkB,OAAS,EAAIA,EAAkB,MAAM,GAAG,EAAI,CAAC,EAC3De,GAA0BhB,EAAmB,MAAM,GAAG,EACtDiB,GAAyBf,EAAkB,MAAM,GAAG,EACpDgB,GAAc3B,EAAiB,MAAM,GAAG,EACxC4B,GAAe7B,EAAkB,MAAM,GAAG,EAE1C8B,I,EAAkBC,WAAQ,IAAM,CAAC,cAAe,UAAW,cAAc,EAAG,CAAC,CAAC,EAChFtB,EAAmB,OAAS,GAC9BqB,GAAgB,KAAK,GAAGrB,EAAmB,MAAM,GAAG,CAAC,EACnDE,EAAkB,OAAS,GAC7BmB,GAAgB,KAAK,GAAGnB,EAAkB,MAAM,GAAG,CAAC,EAEtD,MAAMqB,GAAqBR,GAAwB,IAAI1B,GAAS,CAC9D,MAAMmC,EAAU,CAAE,QAASnC,EAAO,MAAOA,CAAM,EAC/C,MAAO,CACL,MAAO4B,GAAwBF,GAAwB,QAAQ1B,CAAK,GACpE,eAAgB,GAChB,Y,EAAYoC,MAAWhC,EAAa,CAAE,QAAA+B,CAAQ,CAAC,CACjD,CACF,CAAC,EAEKE,GAAoBV,GAAuB,IAAI3B,GAAS,CAC5D,MAAMmC,EAAU,CACd,QAASnC,EACT,MAAOA,CACT,EACA,MAAO,CACL,MAAO6B,GAAuBF,GAAuB,QAAQ3B,CAAK,GAClE,eAAgB,GAChB,Y,EAAYoC,MAAWhC,EAAa,CAAE,QAAA+B,CAAQ,CAAC,CACjD,CACF,CAAC,EAEK/C,EAAS,CAAC,GAAG8C,GAAoB,GAAGG,EAAiB,EAE3D,IAAIC,GAAW,CAAC,EACZR,GAAY,OAAS,IACvBQ,GAAWR,GAAY,IAAI,CAACS,EAAQtF,IAAU,CAC5C,MAAMuF,EAAcD,EAAO,MAAM,GAAG,EACpC,GAAIC,EAAY,SAAW,EACzB,OAAQA,EAAY,QACb,YACH,MAAO,CAACT,GAAa9E,I,EAAQwF,MAA4B,CAAC,UAE1D,MAAO,CAACV,GAAa9E,I,EAAQwF,MAA4B,CAAC,MAG9D,QAAQD,EAAY,QACb,OACH,MAAO,CACLT,GAAa9E,I,EACbyF,MACEF,EAAY,KAAO,YACfG,KAAU,UACVA,KAAU,UAChB,CACF,UAEA,MAAO,CACLZ,GAAa9E,I,EACb2F,MACEJ,EAAY,GACZA,EAAY,KAAO,YACfG,KAAU,UACVA,KAAU,UAChB,CACF,EAGR,CAAC,GAGH,MAAME,GAAmBP,GAAS,GAAG,GAC/BQ,I,EAAeb,WAAQ,K,EAAMc,MAAkB3C,CAAW,EAAG,CAAC,CAAC,EAC/D4C,I,EAAYf,WAAQ,K,EAAMgB,MAAe7C,CAAW,EAAG,CAAC,CAAC,EACzD8C,I,EAAQjB,WAAQ,K,EAAMkB,MAAW/C,CAAW,EAAG,CAAC,CAAC,EACjDgD,I,EAAwBnB,WAAQ,K,EAAMoB,KAAejD,CAAW,EAAG,CAAC,CAAC,EAErEkD,I,EAAOrB,WAAQ,K,EACnBsB,MACEnD,EACA,CACE,aAAc,CAAE,UAAWyC,EAAiB,CAC9C,EACA,CAAC,CACH,CACF,EACMW,I,EAAwBvB,WAAQ,K,EACpCwB,KACErD,EACA,CACE,QAAS,CACP,gBAAiB4B,EACnB,CACF,EACA,CAAC,CACH,CACF,G,EAEAzG,aAAU,IAAM,CACdiI,GAAsB,UAAU,IAAM,CAChCA,GAAsB,MAAM,WAChCjC,EACEnC,EAAO,KAAK3E,IAASA,GAAM,WAAW,MAAM,eAAe,CAC7D,CACF,CAAC,EAED,IAAIiJ,EAAc,KACdC,EAAgB,KAChB1D,IACFyD,EAAc,CAAE,GAAIzD,CAAgB,GAElCI,GAAwBC,IAC1BqD,EAAgB,CACd,GAAI,aAAarD,8BAAwCD,KAC3D,GAIF,IAAIuD,EAAsB,MACtBF,GAAeC,KACjBC,EAAsB,CAAE,GAAGF,EAAa,GAAGC,CAAc,GAG3D,MAAME,G,EAAmCC,MAA+B1D,CAAW,EAC7E,CAAE,YAAA2D,EAAY,G,EAAIC,MAAiB5D,CAAW,EAC9CrE,GAAO,aAAa,QAAQ,kCAAkC,EAMpE,GAJI6H,GACFxD,EAAY,SAASyD,EAAiC,8BAA8BD,CAAmB,CAAC,EAGtG7H,GAAM,CACR,KAAM,CAAE,MAAAJ,GAAO,UAAAsI,EAAU,EAAI,KAAK,MAAMlI,EAAI,EAC5C,aAAa,WAAW,kCAAkC,EAC1DqE,EAAY,SAAS2D,GAAY,CAAE,EAAGpI,EAAM,CAAC,CAAC,EAC9CyE,EAAY,mDAAmD6D,EAAS,CAC1E,MACE7D,EAAY,mBAAmB,EAGjC,MAAO,IAAM,CACXgD,GAAsB,CACxB,CACF,EAAG,CAAC,CAAC,EAEL,MAAMc,GAAmB,IAAM,CAC7B9E,EAAO,QAAQ3E,GAAS,CACtBA,EAAM,WAAW,YAAY,CAC/B,CAAC,CACH,EAEM0J,GAAc,IAAM,CACxB,OAAO,SAAS,KAAO,EACzB,EAEMC,GAAqB,CAACpE,EAAOqE,IAAa,CAC9CjF,EAAO,QAAQ3E,GAAS,CACtBA,EAAM,WAAW,MAAM,OAAO,QAAQkB,GAAS,CACzC,OAAO,OAAOA,CAAK,EAAE,SAAS0I,CAAQ,GACxC5J,EAAM,WAAW,mBAAmBkB,CAAK,CAE7C,CAAC,CACH,CAAC,CACH,EAEM2I,GAAqB,IAAM,CAI/B,MAAMC,EAHO,OAAO,SAAS,KACN,MAAM,GAAG,EACD,OAAOzI,GAAQ,CAACA,EAAK,SAAS,GAAG,CAAC,EACpC,KAAK,GAAG,EAE/B0I,EAAiB,CAAC,EACxB,OAAO,KAAKhD,CAAsB,EAAE,QAAQxB,GAAS,CACpCwB,EAAuBxB,GAC/B,QAAQvF,IAAS,CACtB+J,EAAe,KAAK,KAAKxE,KAASvF,GAAM,OAAO,CACjD,CAAC,CACH,CAAC,EAED,MAAMgK,EAAoB,GAAGF,IAC3BA,EAAQ,OAAS,EAAI,IAAM,KAC1BC,EAAe,KAAK,GAAG,IAC1B,OAAO,SAAS,KAAOC,CACzB,EAEMC,GAAoB,CAACjK,EAAOQ,IAAmB,CACnD,MAAMsE,EAAU9E,EAAM,WAAW,MAAM,QACjCkK,EAA4B,CAAE,GAAGnD,CAAuB,EAC9DmD,EAA0BpF,GAAWtE,EACrCwG,GAA0BkD,CAAyB,CACrD,EAEMzI,I,EAAMC,KAAgB,IAAM,CAChCkF,GAAgB,EAAK,CACvB,CAAC,EAED,OACE/E,gBAACsI,IAAc,SAAd,CACC,MAAO,CACL,OAAQxE,EACR,sBAAuBoD,EACzB,CAAC,EAEDlH,gBAAC,OAAI,UAAU,uBAAuB,EACpCA,gBAAC,OAAI,UAAU,2CAA2C,EACxDA,gBAAC,OAAI,UAAU,4BAA4B,EACzCA,gBAAC,OAAI,UAAU,4BAA4B,EACxCyE,EACDzE,gBAAC,UACC,UAAU,6CACV,QAAS6H,GACT,SAAU,CAAC7C,IAEVZ,CACH,CACF,EACCtB,EAAO,IAAI,CAAC3E,EAAOwC,IAClBX,gBAACoC,EAAA,CAAM,IAAKzB,EAAO,WAAYxC,EAAM,WAAY,MAAOA,EAAO,CAChE,CACH,EACA6B,gBAAC,OAAI,UAAU,6BAA6B,EAC1CA,gBAAC,OAAI,UAAU,mCAAmC,EAChDA,gBAAC,OAAI,UAAU,8BAA8B,EAC3CA,gBAACuI,EAAA,CAAa,WAAY/B,GAAc,CAC1C,EACAxG,gBAAC,OAAI,UAAU,+CAA+C,EAC5DA,gBAAC,YACCA,gBAAC,UACC,UAAU,qFACV,KAAK,SACL,QAAS,IAAM6E,EAAe,CAACD,CAAW,CAAC,EAE3C5E,gBAAC,QAAK,UAAU,aAAa,EAC1B4E,EAAc,eAAiB,cAClC,CACF,CACF,EACA5E,gBAAC,QAAK,UAAU,sCAAsC,EACnD8C,EAAO,OAAO,CAAC0F,EAAKrK,IAEjBqK,EACArK,EAAM,WAAW,MAAM,OAAO,OAC5BkB,GAASA,EAAM,QAAU,UAC3B,EAAE,OAEH,CAAC,EAAG,IACNsF,CACH,CACF,EACA3E,gBAAC,OACC,UAAW,wCACT4E,EAAc,SAAW,MAG1B9B,EAAO,IAAI,CAAC3E,EAAOwC,IAClBX,gBAACjC,IAAA,CACC,IAAK4C,EACL,WAAYxC,EAAM,WAClB,MAAOA,EACP,cAAeiK,GACjB,CACD,CACH,EACApI,gBAAC,OAAI,UAAU,2CAA2C,EACxDA,gBAAC,UAAO,UAAU,oDAAoD,KAAK,SAAS,QAAS,IAAMgI,GAAmB,CAAC,EACrHhI,gBAAC,QAAK,UAAU,YAAY,EAAEiE,CAAkB,EAChDjE,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,KAAK,cAAc,EAC7CA,gBAAC,OAAI,UAAU,cAAc,CAAC,CAChC,CACF,EACAA,gBAAC,YACCA,gBAAC,UAAO,UAAU,kDAAkD,KAAK,SAAS,QAAS,IAAM4H,GAAiB,CAAC,EACjH5H,gBAAC,QAAK,UAAU,aAAa,EAC1BkE,CACH,CACF,CACF,CACF,EACAlE,gBAAC,OAAI,UAAU,oCAAoC,EACjDA,gBAAC,OAAI,UAAW,8BAA8B8E,EAAe,gBAAkB,MAC5EJ,EAAY,OACb1E,gBAACqC,EAAA,CAAK,WAAY2E,GAAM,SAAUhB,GAAU,EAC5ChG,gBAAC,OAAI,QAAQ,YAAY,MAAM,KAAK,OAAO,KAAK,KAAK,cAAc,EACjEA,gBAAC,OAAI,UAAU,aAAa,CAAC,CAC/B,CACF,EACCmE,GACCnE,gBAAC,OACC,IAAKJ,GACL,UAAW,iCACTkF,EAAe,gBAAkB,MAGnC9E,gBAAC,OAAI,UAAU,yBAAyB,EACtCA,gBAAC,UACC,UAAU,gCACV,aAAW,SACX,QAAS,IAAM+E,GAAgB,CAACD,CAAY,CAAC,EAE7C9E,gBAAC,OACC,QAAQ,YACR,OAAO,KACP,KAAK,cAAc,EAEnBA,gBAAC,OAAI,UAAU,SAAS,CAAC,CAC3B,CACF,EACAA,gBAAC,WACCA,gBAACyI,EAAA,CACC,YAAa,oBACb,WAAY/B,GACZ,mBAAoB1F,EACtB,CACF,CACF,CACF,CAEJ,CACF,EACAhB,gBAAC2C,EAAA,CACC,WAAYuE,GACZ,YAAa,CACX,GAAG9B,GACH,GAAGC,EACL,EACA,OAAQvC,EACR,aAAcgF,GAChB,CACF,CACF,EACA9H,gBAAC,OAAI,UAAU,6BAA6B,EAC1CA,gBAAC0I,IAAA,CAAM,WAAY9B,GAAO,UAAW,qBAAsB,CAC7D,CACF,CACF,CAEJ,C,+FCrYO,MAAM8B,EAAQ1K,GAAS,CAC5B,KAAM,CAAE,WAAAE,EAAY,UAAA4C,CAAU,EAAI9C,EAC5B,CAAC2K,EAAWC,CAAY,G,EAAIlK,YAAS,EAAK,EAC1C,CAACF,EAAOC,CAAQ,G,EAAIC,YAASR,EAAW,KAAK,EAC7C,CAAE,sBAAAgJ,CAAsB,G,EAAI2B,cAAWP,GAAa,EAW1D,O,EATArJ,aAAU,IAAM,CACdf,EAAW,UAAU,IAAM,CACzBO,EAASP,EAAW,KAAK,CAC3B,CAAC,EACDgJ,EAAsB,UAAU,IAAM,CACpC0B,EAAa1B,EAAsB,MAAM,SAAS,CACpD,CAAC,CACH,EAAG,CAAC,CAAC,EAED,CAAC1I,EAAM,aAAe,CAACA,EAAM,gBACxB,KAIPwB,gBAAC,OAAI,UAAWc,GACdd,gBAAC,UACC,SAAU,CAACxB,EAAM,gBACjB,QAAS,IAAMN,EAAW,aAAa,EACvC,UAAW,+BACTyK,EAAY,sBAAwB,MAGtC3I,gBAAC,OAAI,QAAQ,YAAY,MAAM,4BAA4B,EACzDA,gBAAC,QACC,EAAE,iBACF,OAAO,eACP,YAAY,IACZ,KAAK,OACL,SAAS,SAAS,CACpB,CACF,CACF,EACCxB,EAAM,aAAa,IAAIsK,GACtB9I,gBAAC,UACC,UAAW,cACT9B,EAAW,cAAc4K,CAAI,EAAI,qBAAuB,MACtDH,EAAY,sBAAwB,KACxC,IAAKG,EACL,SAAU5K,EAAW,cAAc4K,CAAI,EACvC,QAAS,IAAM5K,EAAW,WAAW4K,CAAI,CAAC,EAEzCA,CACH,CACD,EACD9I,gBAAC,UACC,SAAU,CAACxB,EAAM,YACjB,QAAS,IAAMN,EAAW,SAAS,EACnC,UAAW,+BACTyK,EAAY,sBAAwB,MAGtC3I,gBAAC,OAAI,QAAQ,YAAY,MAAM,4BAA4B,EACzDA,gBAAC,QACC,EAAE,gBACF,OAAO,eACP,YAAY,IACZ,KAAK,OACL,SAAS,SAAS,CACpB,CACF,CACF,CACF,CAEJ,C,qFCnEA,MAAMyD,EAAazF,GAAS,CAC1B,KAAM,CAAE,OAAA+K,CAAO,G,EAAIF,cAAWP,GAAa,EACrC,CAAE,OAAA9E,EAAS,CAAC,EAAG,UAAA1C,EAAY,EAAG,EAAI9C,EAElCgL,G,EAAoBC,MAAuBF,EAAQ,CACvD,QAAS,CAAE,OAAQvF,CAAO,CAC5B,CAAC,G,EAEDvE,aAAU,IAAM,IAAM+J,EAAkB,oBAAoB,EAAG,CAAC,CAAC,EAEjE,MAAME,EAAYtH,GAAM,CACtBA,EAAE,eAAe,EAEb4B,EAAO,kB,EACT2F,MAA0B3F,CAAM,EAGlCwF,EAAkB,OAAO,EAEzB,KAAM,CAAE,QAAAI,EAAS,kBAAAC,CAAkB,EAAI,OAEjCC,EAAc,CAClB,QAAS,MACT,KAAM,2BACN,IAAK,OAAO,kBAAkB,YAC9B,WAAYF,EAAQ,MAAM,CAC5B,EAEAA,EAAQ,YACNE,EACA7J,GAAQ,CACN,OAAO,SAAW+D,EAAO,QAC3B,EACA,MACF,CACF,EAEA,OACExD,gBAAC,KACC,UAAWc,EACX,KAAM0C,EAAO,U,EAAW+F,MAAe/F,EAAO,QAAQ,EAAI,IAC1D,QAAS0F,EACT,cAAe,IAAMF,EAAkB,OAAO,EAC9C,YAAa,IAAMA,EAAkB,OAAO,EAC5C,UAAW,IAAMA,EAAkB,OAAO,EAC1C,aAAc,IAAMA,EAAkB,mBAAmB,EACzD,WAAY,IAAMA,EAAkB,oBAAoB,CAAC,EAExDhL,EAAM,QACT,CAEJ,EAEA,IAAeyF,C,6GCxDf,MAAM+F,EAA4BC,IAChCA,EAAS,MAAM,QAAQ,QAAQjG,GAAUA,CAAM,EACxCiG,GAGHC,EAAiCD,GAC9BA,EAGHE,EAAwCF,GACrCA,EAGHG,EAAoB,CAACC,EAASC,IAAiB,CACnD,GAAI,IAAO,mBACLA,IAAiB,kBAAoBD,EAAQ,KAAM,CACrD,MAAME,EAAO,IAAO,kBAAkBF,EAAQ,KAAK,SAAS,CAAC,EAC7DA,EAAQ,KAAOE,CACjB,CAOF,OAAOF,CACT,EAEMG,EAAc,CAAC,CAAE,eAAAC,EAAgB,YAAAC,EAAa,UAAAC,EAAW,SAAAC,CAAS,K,EAC/CC,MAAkB,CACvC,cAAe,CACb,eAAgBJ,EAChB,YAAaC,EACb,OAAQ,CACN,UAAWC,EACX,SAAUC,EACV,mCAAoCZ,EACpC,wCAAyCE,EACzC,yCACEC,CACJ,EACA,UAAW,CACT,aAAc,SAAS,SAAW,SAAS,SAAW,aACxD,EACA,kBAAAC,CACF,CACF,CAAC,EAKGU,EAAqB,SAAS,cAClC,mCACF,EAEMC,EAAoB,CAAC,EAC3B,IAAIC,EAAe,KAEfF,IACFC,EAAkB,eAChBD,EAAmB,QAAQ,oBAC7BC,EAAkB,YAAcD,EAAmB,QAAQ,iBAC3DC,EAAkB,UAAYD,EAAmB,QAAQ,eACzDC,EAAkB,SAAWD,EAAmB,QAAQ,cAExDE,G,EAAeH,MAAkB,CAC/B,cAAe,CACb,eAAgBE,EAAkB,eAClC,YAAaA,EAAkB,YAC/B,OAAQ,CACN,UAAWA,EAAkB,UAC7B,SAAUA,EAAkB,SAC5B,mCAAoCf,EACpC,wCAAyCE,EACzC,yCACEC,CACJ,EACA,UAAW,CACT,aAAc,SAAS,SAAW,SAAS,SAAW,aACxD,EACA,kBAAAC,CACF,CACF,CAAC,GAGH,MAAMa,EAAuB,SAAS,cACpC,sDACF,EAEMC,EAA2B,CAAC,EAClC,IAAIC,EAAqB,KAErBF,IACFC,EAAyB,eACvBD,EAAqB,QAAQ,oBAC/BC,EAAyB,YACvBD,EAAqB,QAAQ,iBAC/BC,EAAyB,UACvBD,EAAqB,QAAQ,eAC/BC,EAAyB,SACvBD,EAAqB,QAAQ,cAE/BE,G,EAAqBN,MAAkB,CACrC,cAAe,CACb,eAAgBK,EAAyB,eACzC,YAAaA,EAAyB,YACtC,OAAQ,CACN,UAAWA,EAAyB,UACpC,SAAUA,EAAyB,SACnC,mCAAoClB,EACpC,wCAAyCE,EACzC,yCACEC,CACJ,EACA,UAAW,CACT,aAAc,SAAS,SAAW,SAAS,SAAW,aACxD,EACA,kBAAAC,CACF,CACF,CAAC,E,yVC/GH,MAAMgB,EAAsB,oBAEtB9I,EAAoBd,GAAsB,CAC9C,MAAM6J,EAAiB,aAAa,QAAQD,CAAmB,EAC/D,OAAOC,EAAiB,KAAK,MAAMA,CAAc,EAAI,IACvD,EAEMnL,EAAqBoL,GAAS,CAClC,OAAO,KAAKA,CAAI,EAAE,QAAS1L,GAAQ,CAC7B0L,EAAK1L,IAAQ,SACf0L,EAAK1L,GAAO,KAEhB,CAAC,EAED,MAAM2L,EAAiBjJ,EAAkB,GAAK,CAAC,EAE/C,OAAO,KAAKiJ,CAAc,EAAE,QAAS3L,GAAQ,CACvC2L,EAAe3L,IAAQ,SACzB2L,EAAe3L,GAAO,KAE1B,CAAC,EAED,MAAM4L,EAAa,CACjB,GAAGD,EACH,GAAGD,CACL,EAEA,aAAa,QAAQF,EAAqB,KAAK,UAAUI,CAAU,CAAC,CACtE,EAEMC,EAAiB,CAACC,EAAUC,IAI5BA,IAAS,MACHD,EAJI,WAIc,QAAQ,CAAC,GAE7BA,EALW,MAKY,QAAQ,CAAC,EAGpCE,EAAuC,CAAC,CAC5C,aAAAC,EAAe,KACf,cAAAC,EAAgB,GAChB,OAAA9H,EACA,aAAA+H,EAAe,GACf,YAAAC,EAAc,GACd,KAAAL,EAAO,KACP,cAAAM,EAAgB,KAChB,eAAAC,EAAiB,EACnB,IAAM,CACJ,MAAMC,EACJnI,EAAO,IAAI,oBAAsBA,EAAO,IAAI,qBACxC,aAAagI,IACXhI,EAAO,IAAI,mBACPA,EAAO,IAAI,mBACXA,EAAO,IAAI,yBAEjB,GACAoI,EAAcpI,EAAO,IAAI,kBAC3B,8DACEA,EAAO,IAAI,kBACPA,EAAO,IAAI,kBACXA,EAAO,IAAI,aAEjB,GAsBJ,MArBsB,GACpB8H,EACI,YACED,GAA8B7H,EAAO,IAAI,+BAEzCkI,EAAiB,mCAAqC,QAExD;AAAA;AAAA,UAGEC;AAAAA;AAAAA;AAAAA,UAGAC,KACNL,EACI,0CAA0C/H,EAAO,IAAI,mBAAmBiI,UACxE;AAAA;AAAA,iBAGSH,EAAgB,OAAS,IAG1C,EAEMnC,EAA4B3F,GAAU,CAC1C,KAAM,CACJ,OAAA1F,EACA,SAAAoN,EACA,eAAAW,EACA,gBAAAC,EACA,kBAAAC,EACA,mBAAAC,EACA,gCAAAC,EACA,4BAAAC,EACA,gBAAAC,EACA,IAAAC,EACA,qBAAAC,CACF,EAAI7I,EAAO,IACL8I,EAAuB,CAC3B,aAAcT,EACd,cAAeC,EACf,kBAAAC,EACA,mBAAoBC,GAEhBK,EACJ,gCAAAJ,EACA,4BAAAC,EACA,gBAAAC,EACA,kBAAmBC,EACnB,aAAclB,CAChB,EACMqB,EAAyB,KAAK,UAAUD,CAAoB,EAClEE,QAAY,oBAAqBD,CAAsB,CACzD,EAEMhD,EAAiB6C,GAAO,CAC5B,MAAMK,EAAa,sCAAsC,KAAKL,CAAG,EAC3DM,EAAa,oBAAoB,KAAKN,CAAG,EAE/C,OAAOK,GAAcC,EAAaN,EAAM,EAC1C,EAEMO,EAAqC,CAACC,EAAUC,IAC7C,CACL,CACE,UAAW,YACX,SAAU,0CAA0C,WAClDD,CACF,MAAM,WAAWC,CAAS,IAC5B,EACA,CACE,UAAW,mBACX,SAAU,uBACZ,CACF,EAGIC,EAAwC,CAACF,EAAUC,IAAc,CACrE,MAAME,EAAS,OACfA,EAAO,kBAAoBhD,GAAQ,CACjC,MAAMiD,EAAU,KAAK,MAAMjD,EAAK,SAAS,CAAC,EAC1C,OAAAiD,EAAQ,eAAiBL,EACvBC,EACAC,CACF,EACO,KAAK,UAAUG,CAAO,CAC/B,CACF,EAEMC,EAA8B,CAAC,CACnC,OAAAC,EACA,cAAAC,EAAgB,GAChB,SAAAC,EAAW,KACX,MAAA5O,EAAQ,KACR,gBAAA6O,EAAkB,KAClB,uBAAAC,EAAyB,CAAC,CAC5B,KACS,CACL,GAAI,cAAcJ,OAChB1O,IAAU,MAAQ2O,EACd,sBAAsBA,KACtB,MAEJC,EAAW,wBAAwBA,MAAe,6BACzBC,MACzB7O,EAAQ,6BAA6BA,MAAY,4CAEjD8O,EAAuB,OAAS,EAC5BA,EACG,IAAIC,GAAM,2BAA2BA,KAAM,EAC3C,KAAK,GAAG,EACX,IAER,GAGIC,EAAwC,IACrC,CACL,WACA,MACA,iBACA,kBACA,qBACA,uBACA,kBACA,oBACA,cACA,sBACA,YACA,WACA,cACA,wBACA,mBACA,kCACA,8BACA,qBACA,uBACA,8BACF,EAGIC,EAAyB,CAAC,CAAE,OAAA1E,EAAQ,SAAAqB,EAAW,SAAU,IAAM,CACnE,KAAM,CAAE,iBAAAsD,CAAiB,EAAIC,EAA2B5E,CAAM,EACxD,CAAE,cAAA6E,CAAc,EAAIC,EAAkB9E,CAAM,EAClDA,EAAO,SAAS6E,EAAcF,EAAiB,CAAC,CAAC,CACnD,EAEMI,EAAoC,CAAC,CACzC,OAAA/E,EACA,SAAA6D,EACA,UAAAC,EACA,OAAAK,EACA,iBAAAa,EAAmB,KACnB,cAAAZ,EACA,MAAA3O,EAAQ,KACR,SAAAwP,EACA,SAAA5D,EAAW,UACX,uBAAAkD,EAAyB,CAAC,EAC1B,aAAAW,EAAe,EACjB,IAAM,CACJ,GAAIA,EACF,OAGF,KAAM,CAAE,sBAAAC,CAAsB,G,EAAIC,MAAwBpF,CAAM,EAC1D,CAAE,YAAAqF,CAAY,G,EAAIC,MAAoBtF,CAAM,EAC5C,CAAE,iBAAA2E,EAAkB,kBAAAY,CAAkB,G,EAC1CX,MAA2B5E,CAAM,EAC7B,CAAE,cAAA6E,CAAc,G,EAAIC,MAAkB9E,CAAM,EAClD+D,EAAsCF,EAAUC,CAAS,EACzD,MAAMtF,G,EACJC,MAA+BuB,CAAM,EACvC,IAAI1B,EACA0G,EACF1G,EAAgB,CACd,GAAI,cAAc6F,8BAAmCc,4CAAmDD,GAC1G,EAEA1G,EAAgB4F,EAA4B,CAC1C,OAAQC,EACR,MAAO1O,EACP,cAAe2O,EAAgB,WAAWA,CAAa,EAAI,KAC3D,gBAAiBa,EACjB,uBAAwBV,CAC1B,CAAC,EAGHvE,EAAO,SACLmF,G,EAAsB5H,MAAwB,WAAY,WAAW,CAAC,CACxE,EACAyC,EAAO,SAASqF,EAAYhE,CAAQ,CAAC,EACrCrB,EAAO,SACLxB,EAAiC,8BAC/BF,CACF,CACF,EACI0G,EAAkBhF,EAAO,SAAS6E,EAAcU,EAAkB,CAAC,CAAC,EACnEvF,EAAO,SAAS6E,EAAcF,EAAiB,CAAC,CAAC,CACxD,EAEMa,EAA4B,CAAC,CACjC,OAAAxF,EACA,SAAA6D,EACA,UAAAC,EACA,iBAAAkB,EACA,OAAAb,EAAS,0BACT,cAAAC,EAAgB,GAChB,SAAAC,EAAW,KACX,MAAA5O,EAAQ,KACR,SAAAwP,EAAW,KACX,SAAA5D,EAAW,UACX,uBAAAkD,EAAyB,CAAC,CAC5B,IAAM,CACJ,KAAM,CAAE,sBAAAY,CAAsB,G,EAAIC,MAAwBpF,CAAM,EAC1D,CAAE,YAAAqF,CAAY,G,EAAIC,MAAoBtF,CAAM,EAC5C,CAAE,mBAAAyF,CAAmB,G,EAAIb,MAA2B5E,CAAM,EAC1D,CAAE,cAAA6E,CAAc,G,EAAIC,MAAkB9E,CAAM,EAClD+D,EAAsCF,EAAUC,CAAS,EACzD,MAAMtF,G,EACJC,MAA+BuB,CAAM,EACvC,IAAI1B,EACA0G,EACF1G,EAAgB,CACd,GAAI,cAAc6F,8BAAmCc,4CAAmDD,GAC1G,EAEA1G,EAAgB4F,EAA4B,CAC1C,OAAQC,EACR,MAAO1O,EACP,SAAU4O,EACV,cAAeD,EAAgB,WAAWA,CAAa,EAAI,KAC3D,gBAAiBa,EACjB,uBAAwBV,CAC1B,CAAC,EAEHvE,EAAO,SACLmF,G,EAAsB5H,MAAwB,WAAY,WAAW,CAAC,CACxE,EACAyC,EAAO,SAASqF,EAAYhE,CAAQ,CAAC,EACrCrB,EAAO,SACLxB,EAAiC,8BAC/BF,CACF,CACF,EACA0B,EAAO,SAAS6E,EAAcY,EAAmB,CAAC,CAAC,CACrD,EAEMC,EAA8B,IAAM,CACxC,MAAMvP,EAAO,OAAO,SAAS,KAAK,MAAM,CAAC,EAGzC,OAFe,IAAI,gBAAgBA,CAAI,EACV,IAAI,IAAI,GAE9B,IACT,EAEMwP,EAA4B,IAAM,CACtC,MAAMxP,EAAO,OAAO,SAAS,KAAK,MAAM,CAAC,EAGzC,OAFe,IAAI,gBAAgBA,CAAI,EACZ,IAAI,IAAI,GAE5B,IACT,EAEMyP,EAAiB,IAAM,CAI3B,MAAM1G,EAHO,OAAO,SAAS,KACN,MAAM,GAAG,EACD,OAAOzI,GAAQ,CAACA,EAAK,SAAS,GAAG,CAAC,EACpC,KAAK,GAAG,EACrC,OAAO,SAAS,KAAOyI,CACzB,EAEM2G,EAA4B9Q,GAAU,CAC1C,MAAM+Q,EAAmB,aAAa,QAAQ,mBAAmB,EAC3DC,EAAyBD,EAC3B,KAAK,MAAMA,CAAgB,EAC3B,KACJ,OAAI/Q,EACKgR,EAAyBA,EAAuBhR,GAAU,KAE5DgR,CACT,EAEMC,EAA4B,CAACjR,EAAQuB,EAAO2P,IAAiB,CAEjE,MAAMH,EAAmB,CACvB,GAF0BD,EAA0B,GAAK,CAAC,EAG1D,CAAC9Q,GAAS,CACR,MAAOuB,EACP,aAAc2P,CAChB,CACF,EACA,aAAa,QAAQ,oBAAqB,KAAK,UAAUH,CAAgB,CAAC,CAC5E,EAEMI,EAAsB,CAACC,EAAeC,IACtC,CAACD,GAAiB,CAACC,EAAsB,GAE3CD,EAAc,WAAaC,EAAc,UACzCD,EAAc,YAAcC,EAAc,UAOxCC,EAAwBC,GAEvBA,EACiBA,EAAQ,KAAK,CAACC,EAAGC,IAAM,CAE3C,GAAID,EAAE,IAAI,WAAaC,EAAE,IAAI,SAAU,MAAO,GAC9C,GAAID,EAAE,IAAI,SAAWC,EAAE,IAAI,SAAU,MAAO,GAC5C,GAAID,EAAE,IAAI,SAAWC,EAAE,IAAI,SAAU,MAAO,EAC9C,CAAC,EANoB,CAAC,C,oDC5XxB,MAAMjH,G,EAAgBkH,iBAAc,EAEpC,IAAelH,C,mFCFR,SAASvB,EAAegC,EAAQ,CACrC,MAAM0G,G,EAAoBC,MAAkB3G,CAAM,EAC5C4G,EAAW,IAAM,OAAO,SAAS,KAAK,MAAM,CAAC,EAC7CC,G,EAAaC,MAAgB9G,EAAQ,CACzC,aAAc,CAAE,SAAU4G,EAAS,CAAE,CACvC,CAAC,EAEKG,EAAe,IAAM,CACzBF,EAAW,YAAYD,EAAS,CAAC,CACnC,EAEA,OAAO,iBAAiB,aAAcG,CAAY,EAClD,MAAMC,EAAqBH,EAAW,UAAU,IAAM,CACpD,MAAM1Q,EAAO,IAAI0Q,EAAW,MAAM,WAElC,GAAI,CAACH,EAAkB,MAAM,oBAAqB,CAChD,QAAQ,aAAa,KAAM,SAAS,MAAOvQ,CAAI,EAC/C,MACF,CAEA,QAAQ,UAAU,KAAM,SAAS,MAAOA,CAAI,CAC9C,CAAC,EAED,MAAO,IAAM,CACX,OAAO,oBAAoB,aAAc4Q,CAAY,EACrDC,EAAmB,CACrB,CACF,C,oDC3BA,MAAMlQ,EAAkBmQ,GAAY,CAClC,MAAMpQ,G,EAAMZ,UAAO,EAEnB,O,EAAAC,aAAU,IAAM,CACd,MAAMgR,EAAcC,GAAS,CACvBtQ,EAAI,SAAW,CAACA,EAAI,QAAQ,SAASsQ,EAAM,MAAM,GACnDF,EAAS,CAEb,EAEA,gBAAS,iBAAiB,QAASC,CAAW,EAEvC,IAAM,CACX,SAAS,oBAAoB,QAASA,CAAW,CACnD,CACF,EAAG,CAACrQ,CAAG,CAAC,EAEDA,CACT,EAEA,IAAeC,C,wBCtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOE,SAAUsQ,EAAS,CACpB,IAAIC,EASJ,GAPC,EAAOD,EAAO,mEACdC,EAA2B,GAG3BtS,EAAO,QAAUqS,EAAQ,EACzBC,EAA2B,GAExB,CAACA,EAA0B,CAC9B,IAAIC,EAAa,OAAO,QACpBC,EAAM,OAAO,QAAUH,EAAQ,EACnCG,EAAI,WAAa,UAAY,CAC5B,cAAO,QAAUD,EACVC,CACR,CACD,CACD,GAAE,UAAY,CACb,SAASC,GAAU,CAGlB,QAFIC,EAAI,EACJhN,EAAS,CAAC,EACPgN,EAAI,UAAU,OAAQA,IAAK,CACjC,IAAIC,EAAa,UAAWD,GAC5B,QAASpR,KAAOqR,EACfjN,EAAOpE,GAAOqR,EAAWrR,EAE3B,CACA,OAAOoE,CACR,CAEA,SAASkN,EAAQC,EAAG,CACnB,OAAOA,EAAE,QAAQ,mBAAoB,kBAAkB,CACxD,CAEA,SAASC,EAAMC,EAAW,CACzB,SAASP,GAAM,CAAC,CAEhB,SAASQ,EAAK1R,EAAKC,EAAOoR,EAAY,CACrC,GAAI,SAAO,SAAa,KAIxB,CAAAA,EAAaF,EAAO,CACnB,KAAM,GACP,EAAGD,EAAI,SAAUG,CAAU,EAEvB,OAAOA,EAAW,SAAY,WACjCA,EAAW,QAAU,IAAI,KAAK,IAAI,KAAS,EAAIA,EAAW,QAAU,KAAM,GAI3EA,EAAW,QAAUA,EAAW,QAAUA,EAAW,QAAQ,YAAY,EAAI,GAE7E,GAAI,CACH,IAAIjN,EAAS,KAAK,UAAUnE,CAAK,EAC7B,UAAU,KAAKmE,CAAM,IACxBnE,EAAQmE,EAEV,MAAE,CAAW,CAEbnE,EAAQwR,EAAU,MACjBA,EAAU,MAAMxR,EAAOD,CAAG,EAC1B,mBAAmB,OAAOC,CAAK,CAAC,EAC9B,QAAQ,4DAA6D,kBAAkB,EAE1FD,EAAM,mBAAmB,OAAOA,CAAG,CAAC,EAClC,QAAQ,2BAA4B,kBAAkB,EACtD,QAAQ,UAAW,MAAM,EAE3B,IAAI2R,EAAwB,GAC5B,QAASC,KAAiBP,EACrB,CAACA,EAAWO,KAGhBD,GAAyB,KAAOC,EAC5BP,EAAWO,KAAmB,KAWlCD,GAAyB,IAAMN,EAAWO,GAAe,MAAM,GAAG,EAAE,KAGrE,OAAQ,SAAS,OAAS5R,EAAM,IAAMC,EAAQ0R,EAC/C,CAEA,SAASE,EAAK7R,EAAK8R,EAAM,CACxB,GAAI,SAAO,SAAa,KAUxB,SANIC,EAAM,CAAC,EAGPC,EAAU,SAAS,OAAS,SAAS,OAAO,MAAM,IAAI,EAAI,CAAC,EAC3DZ,EAAI,EAEDA,EAAIY,EAAQ,OAAQZ,IAAK,CAC/B,IAAIa,EAAQD,EAAQZ,GAAG,MAAM,GAAG,EAC5Bc,EAASD,EAAM,MAAM,CAAC,EAAE,KAAK,GAAG,EAEhC,CAACH,GAAQI,EAAO,OAAO,CAAC,IAAM,MACjCA,EAASA,EAAO,MAAM,EAAG,EAAE,GAG5B,GAAI,CACH,IAAI/O,EAAOmO,EAAOW,EAAM,EAAE,EAI1B,GAHAC,GAAUT,EAAU,MAAQA,GAAWS,EAAQ/O,CAAI,GAClDmO,EAAOY,CAAM,EAEVJ,EACH,GAAI,CACHI,EAAS,KAAK,MAAMA,CAAM,CAC3B,MAAE,CAAW,CAKd,GAFAH,EAAI5O,GAAQ+O,EAERlS,IAAQmD,EACX,KAEF,MAAE,CAAW,CACd,CAEA,OAAOnD,EAAM+R,EAAI/R,GAAO+R,EACzB,CAEA,OAAAb,EAAI,IAAMQ,EACVR,EAAI,IAAM,SAAUlR,EAAK,CACxB,OAAO6R,EAAI7R,EAAK,EAAuB,CACxC,EACAkR,EAAI,QAAU,SAAUlR,EAAK,CAC5B,OAAO6R,EAAI7R,EAAK,EAAuB,CACxC,EACAkR,EAAI,OAAS,SAAUlR,EAAKqR,EAAY,CACvCK,EAAI1R,EAAK,GAAImR,EAAOE,EAAY,CAC/B,QAAS,EACV,CAAC,CAAC,CACH,EAEAH,EAAI,SAAW,CAAC,EAEhBA,EAAI,cAAgBM,EAEbN,CACR,CAEA,OAAOM,EAAK,UAAY,CAAC,CAAC,CAC3B,CAAC,C","file":"Areas/SunriseSeniorLiving/Scripts/9130.74b6af1e6a787d35e449.bundle.js","sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 73373;\nmodule.exports = webpackEmptyContext;","import React, { useEffect, useState, useRef, useContext } from 'react';\nimport useOutsideClick from '../../../hooks/useClickOutside';\nimport { setLocationCookie } from '../../helpers';\n\nconst DropdownFacet = props => {\n const {\n showNumberSelected = false,\n controller,\n facet = {\n id: 'facet-id',\n title: 'Facet Title',\n isSingleSelect: false\n },\n type = 'with-checkbox-and-results',\n immediateAction = false,\n onFacetChange = null,\n onResetFacet\n } = props;\n const [state, setState] = useState(controller.state);\n const [selectedValues, setSelectedValues] = useState([]);\n const [expanded, setExpanded] = useState(false);\n const isInitialMount = useRef(true);\n\n useEffect(() => {\n controller.subscribe(() => {\n setState(controller.state);\n });\n }, []);\n\n useEffect(() => {\n if (isInitialMount.current && controller.state.values.length > 0) {\n const hash = window.location.hash.slice(1);\n if (hash !== undefined) {\n const params = new URLSearchParams(hash);\n for (const [key, value] of params) {\n if (key.startsWith('f-' + props.facet.id)) {\n const values = value.split(',');\n const selected = controller.state.values.filter(item => values.includes(item.value));\n selected.forEach(item => {\n controller.toggleSelect(item);\n });\n setSelectedValues([...selectedValues, ...selected]);\n }\n }\n }\n isInitialMount.current = false;\n }\n }, [controller.state.values]);\n\n useEffect(() => {\n if (onResetFacet) {\n setSelectedValues([]);\n }\n }, [onResetFacet])\n\n useEffect(() => {\n if (onFacetChange) onFacetChange(facet, selectedValues);\n var data = JSON.parse('{ \"' + facet.id + '\": \"' + selectedValues.map(item => item.value).join(',') + '\"}');\n setLocationCookie(data);\n }, [selectedValues]);\n\n const handleFacetClick = value => {\n if (facet.isSingleSelect) {\n if (immediateAction) controller.toggleSingleSelect(value);\n if (selectedValues.includes(value)) {\n setSelectedValues([]);\n } else {\n setSelectedValues([value]);\n }\n } else {\n if (immediateAction) controller.toggleSelect(value);\n if (selectedValues.some(item => item.value === value.value)) {\n setSelectedValues(\n selectedValues.filter(item => item.value !== value.value)\n );\n } else {\n setSelectedValues([...selectedValues, value]);\n }\n }\n };\n\n const ref = useOutsideClick(() => {\n setExpanded(false);\n });\n\n const checkSelected = value => {\n if (immediateAction) return controller.isValueSelected(value);\n else return selectedValues.includes(value);\n };\n\n const renderFacet = value => {\n //type is one of\n //'with-checkbox-and-results'\n //'with-results'\n //'with-checkbox'\n //'with-underline-on-select'\n return (\n handleFacetClick(value)}\n >\n \n \n \n {value.value}\n \n {type === 'with-checkbox-and-results' && (\n \n {value.numberOfResults}\n \n )}\n \n );\n };\n\n return (\n
\n
\n
\n
\n \n \n \n \n \n {state.values.map(value => (\n \n ))}\n \n setExpanded(!expanded)}\n >\n {facet.title}\n {facet.isSingleSelect && selectedValues.length > 0 && (\n \n {\n selectedValues.find(\n item => item === selectedValues[selectedValues.length - 1]\n ).value\n }\n \n )}\n {showNumberSelected && selectedValues.length > 0 && (\n \n {selectedValues.length} selected\n \n )}\n \n
\n
    \n {state.values.map(value => (\n
  • \n {renderFacet(value)}\n
  • \n ))}\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default DropdownFacet;\n","import React, { useEffect, useState } from 'react';\n\nexport const QuerySummary = props => {\n const { controller } = props;\n const [state, setState] = useState(controller.state);\n\n useEffect(() => controller.subscribe(() => setState(controller.state)), []);\n\n const { hasResults, firstResult, lastResult, total } = state;\n\n if (!hasResults || total === 0) {\n return null;\n }\n\n const summary =\n total > 1\n ? [\n `Showing ${firstResult} - ${lastResult} of ${total} results`\n ]\n : [`Showing 1 of result`];\n\n return

;\n};\n\nexport default QuerySummary;\n","import React, { useEffect, useState } from 'react';\n\nconst MultiFieldSuggestions = props => {\n const { controllers, text, onSuggestionClick = () => {} } = props;\n const [states, setStates] = useState(\n controllers.map(controller => controller.state)\n );\n\n useEffect(() => {\n controllers.forEach(controller =>\n controller.subscribe(() =>\n setStates(controllers.map(controller => controller.state))\n )\n );\n }, []);\n\n useEffect(() => {\n if (text === '') {\n controllers.forEach(controller => controller.clear());\n return;\n }\n controllers.forEach(controller => controller.updateText(text));\n }, [text]);\n\n return (\n

\n {states.map((state, index) => {\n if (state.values.length === 0) return null;\n else\n return (\n
    \n {state.values.map(facetSearchValue => (\n \n onSuggestionClick(facetSearchValue.displayValue)\n }\n >\n {facetSearchValue.displayValue}\n \n ))}\n
\n );\n })}\n
\n );\n};\n\nexport default MultiFieldSuggestions;\n","import React, { useState, useEffect, useRef } from 'react';\nimport { getLocationCookie } from '../../helpers';\nimport MultiFieldSuggestions from '../../components/MultiFieldSuggestions';\nimport useOutsideClick from '../../../hooks/useClickOutside';\n\nconst SearchBox = props => {\n const {\n suggestionsControllers,\n controller,\n className,\n placeholder,\n locationCookieName,\n onInputChange = null,\n onSubmit = null,\n isAutocomplete = false,\n submitToController = true,\n allowEmptySearch = false,\n removeLastSearchValue = false\n } = props;\n const [state, setState] = useState(controller.state);\n const [suggestionSelected, setSuggestionSelected] = useState(false);\n const [inputValue, setInputValue] = useState('');\n\n const isEnterKey = e => e.key === 'Enter';\n useEffect(() => {\n controller.subscribe(() => {\n setState(controller.state);\n });\n let initialInputValue =\n getLocationCookie(locationCookieName)?.LastSearchValue || '';\n if (removeLastSearchValue) initialInputValue = '';\n const initial = isAutocomplete ? initialInputValue : '';\n setInputValue(initial);\n if (onInputChange) onInputChange(initial);\n }, []);\n const [expanded, setExpanded] = useState(false);\n\n const handleSubmit = () => {\n if (!allowEmptySearch && state.value === '') return;\n if (submitToController) controller.submit();\n if (onSubmit) onSubmit(controller.state.value);\n };\n\n const handleSuggestionClick = suggestion => {\n if (onInputChange) onInputChange(suggestion);\n controller.updateText(suggestion);\n setSuggestionSelected(true);\n setInputValue(suggestion);\n };\n\n const ref = useOutsideClick(() => {\n setExpanded(false);\n });\n\n return (\n
\n {\n setInputValue(e.target.value);\n if (!expanded) setExpanded(true);\n if (onInputChange) onInputChange(e.target.value);\n setSuggestionSelected(false);\n controller.updateText(e.target.value);\n }}\n onKeyDown={e => isEnterKey(e) && handleSubmit()}\n placeholder={placeholder}\n />\n {suggestionsControllers?.length > 0 && !suggestionSelected && expanded && (\n <>\n \n \n )}\n
\n );\n};\n\nexport default SearchBox;\n","import React, { useEffect, useState, FunctionComponent } from 'react';\n\nexport const Facet = props => {\n const { controller, facet, type = 'with-checkbox-and-results' } = props;\n const [state, setState] = useState(controller.state);\n\n useEffect(() => controller.subscribe(() => setState(controller.state)), []);\n\n if (!state.values.length) {\n return
No facet values
;\n }\n\n const handleFacetClick = value => {\n if (facet.isSingleSelect) controller.toggleSingleSelect(value);\n else controller.toggleSelect(value);\n };\n\n const renderFacet = value => {\n //type is one of\n //'with-checkbox-and-results'\n //'with-results'\n //'with-checkbox'\n return (\n handleFacetClick(value)}\n >\n \n \n \n {value.value}\n \n \n {value.numberOfResults}\n \n \n );\n };\n\n return (\n
\n {facet.title && (\n
\n \n {facet.title}\n \n
\n )}\n
    \n
  • \n
      \n {state.values.map(value => (\n
    • {renderFacet(value)}
    • \n ))}\n
    \n
  • \n
\n
\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { buildCriterionExpression } from '@coveo/headless';\n\nexport const Sort = props => {\n const { controller } = props;\n const [state, setState] = useState(controller.state);\n\n useEffect(() => controller.subscribe(() => setState(controller.state)), []);\n\n const getCriterionFromName = name =>\n props.criteria.find(([criterionName]) => criterionName === name);\n\n const getCurrentCriterion = () =>\n props.criteria.find(\n ([, criterion]) =>\n state.sortCriteria === buildCriterionExpression(criterion)\n );\n\n return (\n controller.sortBy(getCriterionFromName(e.target.value)[1])}\n >\n {props.criteria.map(([criterionName], index) => (\n \n ))}\n \n );\n};\n","import React, { useState, useEffect } from 'react';\r\nimport ResultLink from '../ResultLink';\r\n\r\nexport const ListingRowResults = props => {\r\n const { controller, facetFields, onFacetClick, facets } = props;\r\n const [state, setState] = useState(controller.state);\r\n const cutOffDate = new Date(2024, 10, 6);\r\n\r\n useEffect(() => {\r\n controller.subscribe(() => {\r\n setState(controller.state);\r\n });\r\n }, []);\r\n\r\n const isFacetValueSelected = (facetId, facetValue) => {\r\n const facet = facets.find(\r\n facet => facet.controller.state.facetId === facetId\r\n );\r\n if (!facet) {\r\n return false;\r\n }\r\n return facet.controller.state.values.some(x => Object.values(x).includes(facetValue) && x.state === 'selected');\r\n };\r\n\r\n const formatDate = (timestamp) => {\r\n if (!timestamp) {\r\n return '';\r\n }\r\n\r\n const date = new Date(timestamp);\r\n\r\n return new Intl.DateTimeFormat('en-US', {\r\n month: 'long',\r\n day: '2-digit',\r\n year: 'numeric',\r\n }).format(date);\r\n };\r\n\r\n const shouldShowDate = (timestamp) => {\r\n if (!timestamp || new Date(timestamp) < cutOffDate) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (!state.results.length) {\r\n return
No results
;\r\n }\r\n\r\n return (\r\n
\r\n
    \r\n {state.results.map(result => (\r\n
  • \r\n
    \r\n

    \r\n \r\n {result.raw.ssl_heading ? result.raw.ssl_heading : result.uri}\r\n \r\n

    \r\n
    \r\n { shouldShowDate(result.raw.ssl_modified) && (\r\n
    \r\n Last Edited: {formatDate(result.raw.ssl_modified)}\r\n
    \r\n )}\r\n
    \r\n {facetFields.map(field => {\r\n return (\r\n Object.keys(result.raw).includes(field) && (\r\n onFacetClick(field, result.raw[field])}\r\n disabled={controller.state.isLoading}\r\n >\r\n {result.raw[field]}\r\n \r\n )\r\n );\r\n })}\r\n
    \r\n
    \r\n
  • \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState, useMemo } from 'react';\nimport SearchContext from '../../state/context';\nimport {\n buildQuerySummary,\n buildSearchBox,\n buildFacet,\n buildPager,\n buildSort,\n buildRelevanceSortCriterion,\n buildDateSortCriterion,\n SortOrder,\n buildResultList,\n buildFieldSortCriterion,\n loadQueryActions,\n loadAdvancedSearchQueryActions\n} from '@coveo/headless';\nimport QuerySummary from './QuerySummary';\nimport SearchBox from '../../modules/LocationSelector/SearchBox';\nimport { bindUrlManager } from '../../urlManager';\nimport { Facet } from './Facet';\nimport { Pager } from '../Pager';\nimport { Sort } from '../Sort';\nimport { ListingRowResults } from '../ListingRowResults';\nimport useOutsideClick from '../../../hooks/useClickOutside';\nimport DropdownFacet from '../DropdownFacet';\n\nconst ListingRow = props => {\n const {\n coveoExpression = null,\n coveoSortCaptions = '',\n coveoSortOptions = '',\n coveoEngine,\n coveoContextLanguage = 'en',\n coveoSource = 'Production US - English',\n applyFiltersLabel = 'Apply Filters',\n clearSearchLabelMobile = 'Clear Search',\n showSearchBox = true,\n clearResultsLabel = 'Clear Results',\n singleSelectFields,\n singleSelectTitles,\n multiSelectFields,\n multiSelectTitles,\n filterResultsLabel = 'Filter Results',\n sortByLabel = 'Sort By',\n locationCookieName,\n appliedLabel = 'applied'\n } = props;\n\n const [hideFilters, setHideFilters] = useState(false);\n const [searchActive, setSearchActive] = useState(false);\n const [hasFacetSelected, setHasFacetSelected] = useState(false);\n const [selectedFacetsPerField, setSelectedFacetsPerField] = useState({});\n const singleSelectFacetFields =\n singleSelectFields.length > 0 ? singleSelectFields.split('|') : [];\n const multiSelectFacetFields =\n multiSelectFields.length > 0 ? multiSelectFields.split('|') : [];\n const singleSelectFacetTitles = singleSelectTitles.split('|');\n const multiSelectFacetTitles = multiSelectTitles.split('|');\n const sortOptions = coveoSortOptions.split('|');\n const sortCaptions = coveoSortCaptions.split('|');\n\n const fieldsToInclude = useMemo(() => ['ssl_heading', 'excerpt', 'ssl_modified'], []);\n if (singleSelectFields.length > 0)\n fieldsToInclude.push(...singleSelectFields.split('|'));\n if (multiSelectFields.length > 0)\n fieldsToInclude.push(...multiSelectFields.split('|'));\n\n const singleSelectFacets = singleSelectFacetFields.map(field => {\n const options = { facetId: field, field: field };\n return {\n title: singleSelectFacetTitles[singleSelectFacetFields.indexOf(field)],\n isSingleSelect: true,\n controller: buildFacet(coveoEngine, { options })\n };\n });\n\n const multiSelectFacets = multiSelectFacetFields.map(field => {\n const options = {\n facetId: field,\n field: field\n };\n return {\n title: multiSelectFacetTitles[multiSelectFacetFields.indexOf(field)],\n isSingleSelect: false,\n controller: buildFacet(coveoEngine, { options })\n };\n });\n\n const facets = [...singleSelectFacets, ...multiSelectFacets];\n\n let criteria = [];\n if (sortOptions.length > 0) {\n criteria = sortOptions.map((option, index) => {\n const splitOption = option.split(' ');\n if (splitOption.length === 1) {\n switch (splitOption[0]) {\n case 'relevancy':\n return [sortCaptions[index], buildRelevanceSortCriterion()];\n default:\n return [sortCaptions[index], buildRelevanceSortCriterion()];\n }\n } else {\n switch (splitOption[0]) {\n case 'date':\n return [\n sortCaptions[index],\n buildDateSortCriterion(\n splitOption[1] === 'ascending'\n ? SortOrder.Ascending\n : SortOrder.Descending\n )\n ];\n default:\n return [\n sortCaptions[index],\n buildFieldSortCriterion(\n splitOption[0],\n splitOption[1] === 'ascending'\n ? SortOrder.Ascending\n : SortOrder.Descending\n )\n ];\n }\n }\n });\n }\n\n const initialCriterion = criteria[2][1];\n const querySummary = useMemo(() => buildQuerySummary(coveoEngine), []);\n const searchBox = useMemo(() => buildSearchBox(coveoEngine), []);\n const pager = useMemo(() => buildPager(coveoEngine), []);\n const unsubscribeUrlManager = useMemo(() => bindUrlManager(coveoEngine), []);\n\n const sort = useMemo(() =>\n buildSort(\n coveoEngine,\n {\n initialState: { criterion: initialCriterion }\n },\n []\n )\n );\n const resultsListController = useMemo(() =>\n buildResultList(\n coveoEngine,\n {\n options: {\n fieldsToInclude: fieldsToInclude\n }\n },\n []\n )\n );\n\n useEffect(() => {\n resultsListController.subscribe(() => {\n if (resultsListController.state.isLoading) return;\n setHasFacetSelected(\n facets.some(facet => facet.controller.state.hasActiveValues)\n );\n });\n\n let commonQuery = null;\n let advancedQuery = null;\n if (coveoExpression) {\n commonQuery = { cq: coveoExpression };\n }\n if (coveoContextLanguage && coveoSource) {\n advancedQuery = {\n aq: `(@source=\"${coveoSource}\") (@ssl_contextlanguage=\"${coveoContextLanguage}\")`\n };\n }\n\n //join commonQuery and advancedQuery in one object\n let joinedAdvancedQuery = null;\n if (commonQuery || advancedQuery) {\n joinedAdvancedQuery = { ...commonQuery, ...advancedQuery };\n }\n\n const advancedQuerySearchActionCreator = loadAdvancedSearchQueryActions(coveoEngine);\n const { updateQuery } = loadQueryActions(coveoEngine);\n const data = localStorage.getItem('coveo_standalone_search_box_data');\n\n if (joinedAdvancedQuery) {\n coveoEngine.dispatch(advancedQuerySearchActionCreator.registerAdvancedSearchQueries(joinedAdvancedQuery));\n }\n\n if (data) {\n const { value, analytics } = JSON.parse(data);\n localStorage.removeItem('coveo_standalone_search_box_data');\n coveoEngine.dispatch(updateQuery({ q: value }));\n coveoEngine.executeFirstSearchAfterStandaloneSearchBoxRedirect(analytics);\n } else {\n coveoEngine.executeFirstSearch();\n }\n\n return () => {\n unsubscribeUrlManager();\n };\n }, []);\n\n const onClearAllFacets = () => {\n facets.forEach(facet => {\n facet.controller.deselectAll();\n });\n };\n\n const onClearHash = () => {\n window.location.hash = '';\n };\n\n const onResultFacetClick = (field, tagValue) => {\n facets.forEach(facet => {\n facet.controller.state.values.forEach(value => {\n if (Object.values(value).includes(tagValue)) {\n facet.controller.toggleSingleSelect(value);\n }\n });\n });\n };\n\n const handleApplyFilters = () => {\n const hash = window.location.hash;\n const hashArray = hash.split('&');\n const newHashArray = hashArray.filter(item => !item.includes('f'));\n const newHash = newHashArray.join('&');\n\n const selectedFacets = [];\n Object.keys(selectedFacetsPerField).forEach(field => {\n const facets = selectedFacetsPerField[field];\n facets.forEach(facet => {\n selectedFacets.push(`f-${field}=${facet.value}`);\n });\n });\n\n const newHashWithFacets = `${newHash}${\n newHash.length > 0 ? '&' : ''\n }${selectedFacets.join('&')}`;\n window.location.hash = newHashWithFacets;\n };\n\n const handleFacetChange = (facet, selectedValues) => {\n const facetId = facet.controller.state.facetId;\n const newSelectedFacetsPerField = { ...selectedFacetsPerField };\n newSelectedFacetsPerField[facetId] = selectedValues;\n setSelectedFacetsPerField(newSelectedFacetsPerField);\n };\n\n const ref = useOutsideClick(() => {\n setSearchActive(false);\n });\n\n return (\n \n
\n
\n
\n
\n {filterResultsLabel}\n \n {clearResultsLabel}\n \n
\n {facets.map((facet, index) => (\n \n ))}\n
\n
\n
\n
\n \n
\n
\n \n setHideFilters(!hideFilters)}\n >\n \n {hideFilters ? 'Show Filters' : 'Hide Filters'}\n \n \n \n \n {facets.reduce((acc, facet) => {\n return (\n acc +\n facet.controller.state.values.filter(\n value => value.state === 'selected'\n ).length\n );\n }, 0)}{' '}\n {appliedLabel}\n \n
\n \n {facets.map((facet, index) => (\n \n ))}\n
\n
\n \n \n \n \n
\n
\n
\n {sortByLabel} \n \n \n \n \n
\n {showSearchBox && (\n \n
\n setSearchActive(!searchActive)}\n >\n \n \n \n \n
\n \n
\n
\n
\n )}\n
\n
\n \n
\n \n
\n \n
\n \n \n );\n};\n\nexport default ListingRow;\n","import React, { useEffect, useState, useContext } from 'react';\nimport SearchContext from '../../state/context';\n\nexport const Pager = props => {\n const { controller, className } = props;\n const [isLoading, setIsLoading] = useState(false);\n const [state, setState] = useState(controller.state);\n const { resultsListController } = useContext(SearchContext);\n\n useEffect(() => {\n controller.subscribe(() => {\n setState(controller.state);\n });\n resultsListController.subscribe(() => {\n setIsLoading(resultsListController.state.isLoading);\n });\n }, []);\n\n if (!state.hasNextPage && !state.hasPreviousPage) {\n return null;\n }\n\n return (\n \n );\n};\n","import React, { useContext, useEffect } from 'react';\nimport { buildInteractiveResult } from '@coveo/headless';\nimport SearchContext from '../../state/context';\nimport { filterProtocol, setCurrentCommunityCookie } from '../../helpers';\n\nconst ResultLink = props => {\n const { engine } = useContext(SearchContext);\n const { result = {}, className = '' } = props;\n\n const interactiveResult = buildInteractiveResult(engine, {\n options: { result: result }\n });\n\n useEffect(() => () => interactiveResult.cancelPendingSelect(), []);\n\n const ctaClick = (e) => {\n e.preventDefault();\n\n if (result.ssl_communityid) {\n setCurrentCommunityCookie(result);\n }\n\n interactiveResult.select();\n\n const { Boxever, _boxever_settings } = window;\n\n const eventToSend = {\n channel: 'WEB',\n type: 'Community_Carousel_Click',\n pos: window._boxever_settings.pointOfSale,\n browser_id: Boxever.getID()\n };\n\n Boxever.eventCreate(\n eventToSend,\n data => {\n window.location = result.clickUri;\n },\n 'json'\n );\n }\n\n return (\n interactiveResult.select()}\n onMouseDown={() => interactiveResult.select()}\n onMouseUp={() => interactiveResult.select()}\n onTouchStart={() => interactiveResult.beginDelayedSelect()}\n onTouchEnd={() => interactiveResult.cancelPendingSelect()}\n >\n {props.children}\n \n );\n};\n\nexport default ResultLink;\n","import { buildSearchEngine } from '@coveo/headless';\n\nconst postprocessSearchResponse = response => {\n response.body?.results.forEach(result => result);\n return response;\n};\n\nconst postprocessFacetSearchResponse = response => {\n return response;\n};\n\nconst postprocessQuerySuggestSearchResponse = response => {\n return response;\n};\n\nconst preprocessRequest = (request, clientOrigin) => {\n if (global.preProcessRequest) {\n if (clientOrigin === 'searchApiFetch' && request.body) {\n const body = global.preProcessRequest(request.body.toString());\n request.body = body;\n }\n }\n\n if (clientOrigin === 'analyticsFetch') {\n // E.g., send data to a third party\n }\n\n return request;\n};\n\nconst buildEngine = ({ organizationId, accessToken, searchHub, pipeline }) => {\n const headlessEngine = buildSearchEngine({\n configuration: {\n organizationId: organizationId,\n accessToken: accessToken,\n search: {\n searchHub: searchHub,\n pipeline: pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n\n return headlessEngine;\n};\n\nconst commonConfigurator = document.querySelector(\n '.coveo-common-engine-configurator'\n);\n\nconst coveoCommonConfig = {};\nlet commonEngine = null;\n\nif (commonConfigurator) {\n coveoCommonConfig.organizationId =\n commonConfigurator.dataset.coveoOrganizationId;\n coveoCommonConfig.accessToken = commonConfigurator.dataset.coveoAccessToken;\n coveoCommonConfig.searchHub = commonConfigurator.dataset.coveoSearchHub;\n coveoCommonConfig.pipeline = commonConfigurator.dataset.coveoPipeline;\n\n commonEngine = buildSearchEngine({\n configuration: {\n organizationId: coveoCommonConfig.organizationId,\n accessToken: coveoCommonConfig.accessToken,\n search: {\n searchHub: coveoCommonConfig.searchHub,\n pipeline: coveoCommonConfig.pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n}\n\nconst nearbyColumnHeadless = document.querySelector(\n '.nearby-communities-supporting-column-headless > div'\n);\n\nconst nearbyColumnEngineConfig = {};\nlet nearbyColumnEngine = null;\n\nif (nearbyColumnHeadless) {\n nearbyColumnEngineConfig.organizationId =\n nearbyColumnHeadless.dataset.coveoOrganizationId;\n nearbyColumnEngineConfig.accessToken =\n nearbyColumnHeadless.dataset.coveoAccessToken;\n nearbyColumnEngineConfig.searchHub =\n nearbyColumnHeadless.dataset.coveoSearchHub;\n nearbyColumnEngineConfig.pipeline =\n nearbyColumnHeadless.dataset.coveoPipeline;\n\n nearbyColumnEngine = buildSearchEngine({\n configuration: {\n organizationId: nearbyColumnEngineConfig.organizationId,\n accessToken: nearbyColumnEngineConfig.accessToken,\n search: {\n searchHub: nearbyColumnEngineConfig.searchHub,\n pipeline: nearbyColumnEngineConfig.pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n}\n\nexport { buildEngine, commonEngine, nearbyColumnEngine };\n","import Cookies from 'js-cookie';\nimport {\n loadPipelineActions,\n loadSearchAnalyticsActions,\n loadSearchActions,\n loadSortCriteriaActions,\n loadAdvancedSearchQueryActions,\n buildFieldSortCriterion\n} from '@coveo/headless';\n\nconst locationDataStorage = 'ssl-location-data'\n//hijacking this method and moving data to local storage\nconst getLocationCookie = locationCookieName => {\n const locationCookie = localStorage.getItem(locationDataStorage);\n return locationCookie ? JSON.parse(locationCookie) : null;\n};\n\nconst setLocationCookie = (args) => {\n Object.keys(args).forEach((key) => {\n if (args[key] == 'null') {\n args[key] = null;\n }\n });\n\n const prevCookieData = getLocationCookie() || {};\n\n Object.keys(prevCookieData).forEach((key) => {\n if (prevCookieData[key] == 'null') {\n prevCookieData[key] = null;\n }\n });\n\n const cookieData = {\n ...prevCookieData,\n ...args\n };\n\n localStorage.setItem(locationDataStorage, JSON.stringify(cookieData));\n}\n\nconst unitConversion = (distance, unit) => {\n const miles = 0.000621371;\n const kilometers = 0.001;\n\n if (unit === 'mi') {\n return (distance * miles).toFixed(2);\n }\n return (distance * kilometers).toFixed(2);\n};\n\nconst getGoogleMapsInfoWindowContentString = ({\n linkToAnchor = null,\n linkWholeCard = true,\n result,\n showDistance = true,\n imageDomain = '',\n unit = 'mi',\n unitLabelCard = 'mi',\n underlineTitle = false\n}) => {\n const imgString =\n result.raw.ssl_thumbnailimage || result.raw.ssl_mainimagedesktop\n ? ``\n : '';\n const titleString = result.raw.ssl_communityname\n ? `

${\n result.raw.ssl_communityname\n ? result.raw.ssl_communityname\n : result.raw.title\n }

`\n : '';\n const contentString = `${\n linkWholeCard\n ? ``\n : ''\n }
\n
\n ${imgString}\n
\n
\n ${titleString} ${\n showDistance\n ? `
${result.raw.distance_search} ${unitLabelCard}
`\n : ''\n }\n
\n
${linkWholeCard ? '
' : ''}`;\n\n return contentString;\n};\n\nconst setCurrentCommunityCookie = result => {\n const {\n module,\n distance,\n ssl_latitude_d,\n ssl_longitude_d,\n ssl_communityname,\n ssl_thumbnailimage,\n ssl_pricingandavailabilityphone,\n ssl_residentsandfamilyphone,\n ssl_communityid,\n uri,\n ssl_mainimagedesktop\n } = result.raw;\n const currentCommunityData = {\n ssl_latitude: ssl_latitude_d,\n ssl_longitude: ssl_longitude_d,\n ssl_communityname,\n ssl_thumbnailimage: ssl_thumbnailimage\n ? ssl_thumbnailimage\n : ssl_mainimagedesktop,\n ssl_pricingandavailabilityphone,\n ssl_residentsandfamilyphone,\n ssl_communityid,\n ssl_communitylink: uri,\n ssl_distance: distance\n };\n const currentCommunityString = JSON.stringify(currentCommunityData);\n Cookies.set('current_community', currentCommunityString);\n};\n\nconst filterProtocol = uri => {\n const isAbsolute = /^(https?|ftp|file|mailto|tel|sip):/i.test(uri);\n const isRelative = /^(\\/|\\.\\/|\\.\\.\\/)/.test(uri);\n\n return isAbsolute || isRelative ? uri : '';\n};\n\nconst getQueryFunctionsLatitudeLongitude = (latitude, longitude) => {\n return [\n {\n fieldName: `@distance`,\n function: `dist(@ssl_latitude_d,@ssl_longitude_d, ${parseFloat(\n latitude\n )}, ${parseFloat(longitude)})`\n },\n {\n fieldName: `@distanceInMiles`,\n function: `@distance*0.000621371`\n }\n ];\n};\n\nconst setLatitudeLongitudePreprocessRequest = (latitude, longitude) => {\n const global = window;\n global.preProcessRequest = body => {\n const newBody = JSON.parse(body.toString());\n newBody.queryFunctions = getQueryFunctionsLatitudeLongitude(\n latitude,\n longitude\n );\n return JSON.stringify(newBody);\n };\n};\n\nconst getAdvancedGeolocationQuery = ({\n source,\n radiusInMiles = 50,\n careType = null,\n state = null,\n contextLanguage = 'en',\n hiddenCommunitiesArray = []\n}) => {\n return {\n aq: `(@source==\"${source}\") ${\n state === null && radiusInMiles\n ? `(@distanceInMiles<=${radiusInMiles})`\n : ''\n } ${\n careType ? `(@ssl_levelsofcare==\"${careType}\")` : ''\n } (@ssl_contextlanguage==${contextLanguage}) ${\n state ? `(@ssl_stateabbreviation==\"${state}\")` : ''\n } (@ssl_pagetype=='community_pagetype') ${\n hiddenCommunitiesArray.length > 0\n ? hiddenCommunitiesArray\n .map(el => `(NOT @ssl_communityid==\"${el}\")`)\n .join(' ')\n : ''\n }`\n };\n};\n\nconst getCoveoFindACommunityFieldsToInclude = () => {\n return [\n 'distance',\n 'uri',\n 'ssl_latitude_d',\n 'ssl_longitude_d',\n 'ssl_thumbnailimage',\n 'ssl_mainimagedesktop',\n 'ssl_communityid',\n 'ssl_communityname',\n 'ssl_heading',\n 'ssl_contextlanguage',\n 'ssl_state',\n 'ssl_city',\n 'ssl_zipcode',\n 'ssl_stateabbreviation',\n 'ssl_levelsofcare',\n 'ssl_pricingandavailabilityphone',\n 'ssl_residentsandfamilyphone',\n 'ssl_communityprice',\n 'ssl_commnunitystatus',\n 'ssl_mainimagedesktop_405x548'\n ];\n};\n\nconst sendCoveoInterfaceLoad = ({ engine, pipeline = 'default' }) => {\n const { logInterfaceLoad } = loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n engine.dispatch(executeSearch(logInterfaceLoad()));\n};\n\nconst sendCoveoGeolocationInterfaceLoad = ({\n engine,\n latitude,\n longitude,\n source,\n advancedUrlQuery = null,\n radiusInMiles,\n state = null,\n language,\n pipeline = 'default',\n hiddenCommunitiesArray = [],\n previousLoad = false\n}) => {\n if (previousLoad) {\n return;\n }\n\n const { registerSortCriterion } = loadSortCriteriaActions(engine);\n const { setPipeline } = loadPipelineActions(engine);\n const { logInterfaceLoad, logSearchFromLink } =\n loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n setLatitudeLongitudePreprocessRequest(latitude, longitude);\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(engine);\n let advancedQuery;\n if (advancedUrlQuery) {\n advancedQuery = {\n aq: `(@source==\"${source}\") (@ssl_contextlanguage==${language}) (@ssl_pagetype=='community_pagetype') ${advancedUrlQuery}`\n };\n } else {\n advancedQuery = getAdvancedGeolocationQuery({\n source: source,\n state: state,\n radiusInMiles: radiusInMiles ? parseFloat(radiusInMiles) : null,\n contextLanguage: language,\n hiddenCommunitiesArray: hiddenCommunitiesArray\n });\n }\n\n engine.dispatch(\n registerSortCriterion(buildFieldSortCriterion('distance', 'ascending'))\n );\n engine.dispatch(setPipeline(pipeline));\n engine.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries(\n advancedQuery\n )\n );\n if (advancedUrlQuery) engine.dispatch(executeSearch(logSearchFromLink()));\n else engine.dispatch(executeSearch(logInterfaceLoad()));\n};\n\nconst sendCoveoGeolocationQuery = ({\n engine,\n latitude,\n longitude,\n advancedUrlQuery,\n source = 'Production US - English',\n radiusInMiles = 50,\n careType = null,\n state = null,\n language = 'en',\n pipeline = 'default',\n hiddenCommunitiesArray = []\n}) => {\n const { registerSortCriterion } = loadSortCriteriaActions(engine);\n const { setPipeline } = loadPipelineActions(engine);\n const { logSearchboxSubmit } = loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n setLatitudeLongitudePreprocessRequest(latitude, longitude);\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(engine);\n let advancedQuery;\n if (advancedUrlQuery) {\n advancedQuery = {\n hq: `(@source==\"${source}\") (@ssl_contextlanguage==${language}) (@ssl_pagetype=='community_pagetype') ${advancedUrlQuery}`\n };\n } else {\n advancedQuery = getAdvancedGeolocationQuery({\n source: source,\n state: state,\n careType: careType,\n radiusInMiles: radiusInMiles ? parseFloat(radiusInMiles) : null,\n contextLanguage: language,\n hiddenCommunitiesArray: hiddenCommunitiesArray\n });\n }\n engine.dispatch(\n registerSortCriterion(buildFieldSortCriterion('distance', 'ascending'))\n );\n engine.dispatch(setPipeline(pipeline));\n engine.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries(\n advancedQuery\n )\n );\n engine.dispatch(executeSearch(logSearchboxSubmit()));\n};\n\nconst checkForAdvancedQueryInHash = () => {\n const hash = window.location.hash.slice(1);\n const params = new URLSearchParams(hash);\n const advancedQuery = params.get('aq');\n if (advancedQuery) return advancedQuery;\n return null;\n};\n\nconst checkForHiddenQueryInHash = () => {\n const hash = window.location.hash.slice(1);\n const params = new URLSearchParams(hash);\n const hiddenQuery = params.get('hq');\n if (hiddenQuery) return hiddenQuery;\n return null;\n};\n\nconst clearAllFacets = () => {\n const hash = window.location.hash;\n const hashArray = hash.split('&');\n const newHashArray = hashArray.filter(item => !item.includes('f'));\n const newHash = newHashArray.join('&');\n window.location.hash = newHash;\n};\n\nconst getModuleStorageCacheData = module => {\n const localStorageData = localStorage.getItem('ssl-modules-cache');\n const localStorageDataParsed = localStorageData\n ? JSON.parse(localStorageData)\n : null;\n if (module) {\n return localStorageDataParsed ? localStorageDataParsed[module] : null;\n }\n return localStorageDataParsed;\n};\n\nconst setModuleStorageCacheData = (module, value, locationInfo) => {\n const prevLocaStorageData = getModuleStorageCacheData() || {};\n const localStorageData = {\n ...prevLocaStorageData,\n [module]: {\n value: value,\n locationInfo: locationInfo\n }\n };\n localStorage.setItem('ssl-modules-cache', JSON.stringify(localStorageData));\n};\n\nconst compareLocationInfo = (locationInfo1, locationInfo2) => {\n if (!locationInfo1 || !locationInfo2) return false;\n if (\n locationInfo1.Latitude === locationInfo2.Latitude &&\n locationInfo1.Longitude === locationInfo2.Longitude\n ) {\n return true;\n }\n return false;\n};\n\nconst sortResultsByDistance = results => {\n //sort array objects by distance\n if (!results) return [];\n const sortedResults = results.sort((a, b) => {\n // console.log(a.raw.distance, b.raw.distance);\n if (a.raw.distance === b.raw.distance) return 0;\n if (a.raw.distance > b.raw.distance) return 1;\n if (a.raw.distance < b.raw.distance) return -1;\n });\n return sortedResults;\n};\n\nexport {\n sortResultsByDistance,\n clearAllFacets,\n checkForHiddenQueryInHash,\n checkForAdvancedQueryInHash,\n sendCoveoInterfaceLoad,\n sendCoveoGeolocationQuery,\n sendCoveoGeolocationInterfaceLoad,\n setLatitudeLongitudePreprocessRequest,\n getCoveoFindACommunityFieldsToInclude,\n getAdvancedGeolocationQuery,\n getQueryFunctionsLatitudeLongitude,\n getLocationCookie,\n setLocationCookie,\n filterProtocol,\n getGoogleMapsInfoWindowContentString,\n unitConversion,\n setCurrentCommunityCookie,\n setModuleStorageCacheData,\n getModuleStorageCacheData,\n compareLocationInfo\n};\n","import { createContext } from 'react';\n\nconst SearchContext = createContext();\n\nexport default SearchContext;\n","import { buildUrlManager, buildSearchStatus } from '@coveo/headless';\n\nexport function bindUrlManager(engine) {\n const statusControllers = buildSearchStatus(engine);\n const fragment = () => window.location.hash.slice(1);\n const urlManager = buildUrlManager(engine, {\n initialState: { fragment: fragment() }\n });\n\n const onHashChange = () => {\n urlManager.synchronize(fragment());\n };\n\n window.addEventListener('hashchange', onHashChange);\n const unsubscribeManager = urlManager.subscribe(() => {\n const hash = `#${urlManager.state.fragment}`;\n\n if (!statusControllers.state.firstSearchExecuted) {\n history.replaceState(null, document.title, hash);\n return;\n }\n\n history.pushState(null, document.title, hash);\n });\n\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n unsubscribeManager();\n };\n}\n","import { useEffect, useRef } from 'react';\n\nconst useOutsideClick = callback => {\n const ref = useRef();\n\n useEffect(() => {\n const handleClick = event => {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n\n document.addEventListener('click', handleClick);\n\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [ref]);\n\n return ref;\n};\n\nexport default useOutsideClick;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n"],"sourceRoot":""}