{"version":3,"sources":["assets/image/grey.svg","assets/image/chevron-right.png","assets/image/option-selected.png","assets/accordion-selected.svg","assets/accordion-collapse.svg","assets/close-btn.svg","assets/image/chevron-down-circle.svg","assets/image/gray.png","assets/themes lazy /^/.*/.css$/ groupOptions: {} namespace object","components/Common/Animations/RetailRiseFade/index.js","components/Common/Animations/RiseAndFade/index.js","components/Feature/DevMicrosite/CorpoLeasing/index.js","components/Feature/DevMicrosite/EnquireBanner/index.js","components/Common/Checkbox/index.js","components/Feature/DevMicrosite/EnquireForm/index.js","components/Feature/DevMicrosite/FactsAndFigures/index.js","components/Feature/DevMicrosite/FactsAndFiguresWithImage/index.js","components/Common/Accordion/index.js","components/Feature/DevMicrosite/FloorPlans/index.js","components/Feature/DevMicrosite/Footer/index.js","components/Feature/DevMicrosite/FullWidthImage/index.js","components/Feature/DevMicrosite/HeaderAndText/index.js","components/Feature/DevMicrosite/Hero/index.js","helper/GetAncestorElement.js","components/Feature/DevMicrosite/HeroGrid/index.js","components/Feature/DevMicrosite/ImageCarousel/index.js","components/Common/Tooltip/index.js","components/Feature/DevMicrosite/InteractiveAerialView/index.js","components/Feature/DevMicrosite/MainNavigation/index.js","components/Feature/DevMicrosite/Partners/index.js","components/Feature/DevMicrosite/PressListing/index.js","components/Common/BaseComponent/index.js","components/Feature/DevMicrosite/RichText/index.js","components/Feature/DevMicrosite/SolidColour/index.js","components/Feature/DevMicrosite/TextImage/index.js","components/Feature/DevMicrosite/VideoModule/index.js","components/Foundation/Layout/Main/index.js","temp/componentFactory.js","dataFetcher.js","micrositeList.js","Layout.js","NotFound.js","RouteHandler.js","AppRoot.js","index.js","lib/GraphQLClientFactory.js","temp/config.js"],"names":["module","exports","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","t","keys","Object","RetailRiseFade","Component","constructor","props","super","handleScroll","imageWrapperList","document","querySelectorAll","i","length","imageWrapper","position","getBoundingClientRect","isShowing","window","innerHeight","top","value","style","transform","split","opacity","componentDidMount","addEventListener","this","render","divStyle","positionValue","isNaN","React","createElement","className","children","RiseAndFade","arguments","FeatureDevMicrositeCorpoLeasing","LogoImageUrl","LogoImageAlt","LogoLink","ShortDescription","ShortDescriptionFontName","ShortDescriptionFontSize","Contacts","ContactNameFontName","ContactNameFontSize","ContactLinksFontName","ContactLinksFontSize","Button","BackgroundColour","FontColour","fields","componentStyle","color","backgroundColor","href","target","alt","src","defaultImg","data-src","fontFamily","Text","field","item","index","ContactName","ContactImageUrl","ContactImageAltText","ContactNumber","ContactEmail","CcEmail","BccEmail","phoneNumberLayout","mailtorecipients","numberVal","test","number","key","text","FeatureDevMicrositeEnquireBanner","BackgroundImageUrl","BackgroundImageAltText","Heading","HeadingFontName","HeadingFontSize","Subheading","SubheadingFontName","SubheadingFontSize","CtaLink","CtaTheme","CtaFontName","RichText","assign","Checkbox","checkBoxState","setCheckBoxState","useState","isInvalid","isTouched","name","uniqueKey","handleCheckboxClick","checked","isRequired","errorMessage","isSubmitted","type","onClick","autoComplete","FeatureDevMicrositeEnquireForm","inputFieldRef","useRef","successPageUrl","SuccessPage","formData","setFormData","Fields","userEmailAddress","complete","submitted","successMessage","successPage","postData","show","showField","verifiedRecaptcha","expiredRecaptcha","load","recaptchaLoaded","customDropDownStyles","control","provided","state","boxShadow","isFocused","outline","border","minHeight","minWidth","overflow","valueContainer","padding","placeholder","margin","singleValue","display","input","height","cursor","width","indicatorSeparator","option","visibility","isSelected","dropdownIndicator","selectProps","menuIsOpen","useEffect","setTimeout","validateField","fieldname","droplistValue","Name","items","Type","IsRequired","Value","Valid","Touched","FormatValidation","fieldFormatValidation","re","RegExp","String","toLowerCase","checkFields","data","message","EnableRecaptcha","PublicKey","PageSummary","PrivacyPolicy","UseAsModule","RemoveDefaultMargin","params","dangerouslySetInnerHTML","__html","DOMPurify","sanitize","onSubmit","preventDefault","contactUsWrapper","querySelector","natureOfEnquiry","formsWrapper","submitBtn","recaptchaWrapper","getElementsByClassName","invalidField","outerWidth","scrollIntoView","classList","add","setAttribute","dataSource","rendering","push","FieldName","label","toString","EnquireFormPostObject","ItemID","UserEmailAddress","axios","url","method","response","console","log","location","TagManager","dataLayer","event","dataLayerName","catch","error","removeAttribute","noValidate","Values","Placeholder","RequiredValidationMessage","fieldLayout","ref","required","onChange","onBlur","htmlFor","Select","classNamePrefix","options","Id","icon","checkedOption","getOptionLabel","alignItems","marginRight","styles","ReCAPTCHA","size","sitekey","onExpired","recaptchaExpired","asyncScriptOnLoad","FeatureDevMicrositeFactsAndFigures","Title","TitleFontName","TitleFontSize","Description","DescriptionFontName","DescriptionFontSize","SelectedItems","Footnote","FootnoteFontName","FootnoteFontSize","renderList","hasIcons","figuresLayout","IconName","selectedItemStyle","titleFontName","descriptionFontName","figuresListLayout","renderFootnotes","footnoteStyle","FeatureDevMicrositeFactsAndFiguresWithImage","HeaderBackgroundColour","HeaderFontColour","ImagePosition","SlideshowImages","SlideshowDelay","headerStyle","marginTop","renderImage","flickityOptions","autoPlay","imagesLoaded","pageDots","prevNextButtons","wrapAround","draggable","selectedAttraction","setGallerySize","fullscreen","Flickity","reloadOnUpdate","static","ImageUrl","ImageAltText","itemsHasIcons","undefined","renderFootnote","Accordion","selectedId","setSelectedId","selectedItemImage","collapseItemImage","scrollPosition","setScrollPosition","scrollMaxHeight","setScrollMaxHeight","arrowBtnEnabled","setArrowBtnEnabled","upBtnEnabled","setUpBtnEnabled","downBtnEnabled","setDownBtnEnabled","currentSection","setCurrentSection","totalSection","setTotalSection","sectionFixedHeight","setSectionFixedHeight","scrollTop","setScrollTop","accordionContainer","ulContainer","scrollHeight","offsetHeight","Math","ceil","linkLabelStyle","backgroundImage","svgFillColor","prev","accList","animationReset","remove","clearTimeout","viewBox","fill","xmlns","d","stroke","stroke-width","stroke-linecap","stroke-linejoin","onScroll","currentTarget","aria-label","floorPlan","aria-controls","aria-expanded","accordionClickHandler","accordion","getElementById","forEach","parentElement","toggle","fill-rule","clip-rule","cx","cy","r","FloorNameFontName","FloorNameFontSize","FloorName","aria-hidden","PrecinctsNameFontSize","Precincts","precinct","ind","Colour","PrecinctsFontName","PrecinctName","FeatureDevmicrositeFloorPlans","Header","HeaderFontName","HeaderFontSize","ImageBackgroundColour","FloorPlanID","FloorPlans","selectedFloorId","setSelectedFloorId","isModalOpen","setIsModalOpen","accordionHeight","setAccordionHeight","hasArrows","setHasArrows","styling","flrPlanImgRef","imgRef","quickPinchZoomRef","onUpdate","useCallback","_ref","x","y","scale","current","img","make3dTransformValue","setProperty","scaleTo","offsetWidth","updateSelectedImage","accordionArrows","modalHandler","body","contains","measuredRef","node","order","accordionSelected","accordionCollapse","closeBtn","QuickPinchZoom","tapZoomFactor","FeatureDevMicrositeFooter","LogoUrl","LogoAltText","CopyrightText","FooterLinks","FooterFontName","FooterFontSize","renderLogo","logoLayout","querystring","renderFooterLinks","footerLinksLayout","hasMoreLinksClass","LinkTitle","LinkUrl","linkLayout","FeatureDevMicrositeFullWidthImage","FeatureDevMicrositeHeaderAndText","FeatureDevMicrositeHero","HeroUrl","HeroAlt","HeroType","HeroTitle","TitleColour","HeroTitleFontSize","HeroTagline","TaglineFontName","HeroTaglineFontSize","titleStyle","taglineStyle","chevronStyle","setChevronStyle","getHeader","headerColor","getComputedStyle","getPropertyValue","renderHeroBanner","heroBannerLayout","controls","loop","muted","playsInline","onError","heroBtnHandler","parentWrapper","getAncestorElement","element","ancestorClass","nextSibling","nextElementSibling","initialTop","pageYOffset","defaultTop","offsetTop","difference","startTime","performance","now","requestAnimationFrame","step","animationTime","scrollTo","cos","PI","chevronDown","FeatureDevMicrositeHeroGrid","GridImages","isMobile","setIsMobile","fontColor","heroGridStyle","paddingTop","renderGallery","galleryLayout","Link","ImageTitleFontSize","imageLayout","posVal","isEven","newIndex","colVal","FeatureDevMicrositeImageCarousel","ImageGallery","images","CaptionFontName","CaptionFontSize","flkty","setFlkty","on","selectedCarousel","guid","selectedHTMLBtns","textContent","Array","from","button","flickityRef","Caption","caption","ImageOrientation","slides","slide","selectedIndex","select","previous","chevronRight","next","Tooltip","timeout","active","setActive","showTip","delay","onMouseEnter","onMouseLeave","hideTip","clearInterval","fontSize","direction","content","line","arr","Fragment","FeatureDevMicrositeInteractiveAerialView","Hotspots","IsFullwidth","aspectRatio","renderTooltips","tooltipsLayout","TooltipLabel","TooltipLabelFontName","TooltipLabelFontSize","TooltipPosition","TooltipBgColour","TooltipFontColour","LeftPosition","TopPosition","HasBorder","BorderColour","parseFloat","left","tooltipStyle","labelStyle","hotspotStyle","borderColor","FeatureDevMicrositeMainNavigation","SiteLogoUrl","SiteLogoAltText","SiteUrl","EnquireLink","EnquireIconUrl","NavigationLinks","NavigationFontName","NavigationFontSize","NavigationBackgroundColour","NavigationFontColour","showMenu","setShowMenu","isTablet","setIsTablet","handleResize","matchMedia","matches","removeEventListener","textColor","navColor","NavWrapperBgColor","navWrapperStyle","background","setMenuStats","status","isNavShown","LinkName","navLinkLayout","renderLogoLayout","PartnersHeading","itemType","PartnersGridItems","Partners","imageElement","FeatureDevMicrositePartners","PressItemCard","ImageAlt","PublicationName","PublicationDate","CtaLabel","$","fieldName","strokeWidth","strokeLinecap","strokeLinejoin","FeatureDevMicrositePressListing","PressListingItems","BaseComponent","sectionId","setVisible","setMargin","marginClass","showBase","visible","FeatureDevMicrositeRichText","el","onclick","history","go","FontName","Content","sitecoreContext","pageEditing","includes","withSitecoreContext","FeatureDevMicrositeSolidColour","solidColourStyle","titleColourStyle","FeatureDevMicrositeTextImage","textImageStyle","fontFamilyName","ScrollAnimation","animateIn","animateOnce","galleryClass","ImageAspectRatio","ratioClass","FeatureDevMicrositeVideoModule","appendScript","iframeEvent","ar","onload","contentWindow","object","scripts","DOMParser","parseFromString","scriptElement","head","appendChild","EmbedCode","FoundationLayoutMain","components","Map","componentFactory","componentName","get","set","CommonAnimationsRetailRiseFade","CommonAnimationsRiseAndFade","FeatureDevMicrositeFloorPlans","dataFetcher","withCredentials","Layout","domain","activeSitename","gtmId","validMicrosite","micrositeList","find","site","replace","centre","route","context","objectFitImages","canonicalSrc","URL","canonicalWrapper","faviconSrc","initialize","setState","origin","metaImage","metaImageAlt","Helmet","PageTitle","MetaDescription","RobotsTag","MetaImageUrl","MetaImageAltText","MetaImage","property","developmentPageInfo","siteName","itemProp","VisitorIdentification","itemId","data-target-db","databaseName","NotFound","language","RouteHandler","ssrInitialState","ssrState","notFound","routeData","defaultLanguage","config","sitecore","componentIsMounted","languageIsChanging","ssrRenderComplete","setSsrRenderComplete","updateRouteData","componentWillUnmount","sitecoreRoutePath","match","sitecoreRoute","startsWith","fetchOptions","layoutServiceConfig","host","sitecoreApiHost","querystringParams","sc_lang","sc_apikey","sitecoreApiKey","fetcher","dataApi","fetchRouteData","getRouteData","lang","contextFactory","setSitecoreContext","componentDidUpdate","previousProps","existingRoute","newRoute","isExperienceEditorActive","routePatterns","AppRoot","SitecoreContextFactory","path","Router","graphQLClient","routeRenderFunction","ApolloProvider","client","SitecoreContext","Switch","routePattern","Route","renderFunction","ReactDOM","__JSS_STATE__","ssrRawJson","JSON","parse","innerHTML","hydrate","initialGraphQLState","APOLLO_STATE","endpoint","ssr","initialCacheState","link","createPersistedQueryLink","concat","BatchHttpLink","uri","credentials","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","rootElement","pathname","BrowserRouter"],"mappings":"+FAAAA,EAAOC,QAAU,IAA0B,kC,kBCA3CD,EAAOC,QAAU,8R,wCCAjBD,EAAOC,QAAU,sV,oBCAjBD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,iD,w3ECA3CD,EAAOC,QAAU,s5E,oBCAjB,IAAIC,EAAM,CACT,kBAAmB,CAClB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,aAAc,CACb,KAED,cAAe,CACd,IACA,GAED,qBAAsB,CACrB,IACA,GAED,eAAgB,CACf,IACA,GAED,iBAAkB,CACjB,IACA,GAED,eAAgB,CACf,IACA,GAED,qBAAsB,CACrB,IACA,KAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAON,QAAQQ,IAAIF,EAAIG,MAAM,GAAGd,IAAIG,EAAoBK,IAAID,MAAK,WAChE,OAAOJ,EAAoBY,EAAEH,EAAI,MAGnCX,EAAoBe,KAAO,WAC1B,OAAOC,OAAOD,KAAKhB,IAEpBC,EAAoBW,GAAK,IACzBd,EAAOC,QAAUE,G,+HCrDjB,MAAMiB,UAAuBC,YACzBC,YAAYC,GACRC,MAAMD,GAAO,KASjBE,aAAe,KACX,MAAMC,EAAmBC,SAASC,iBAAiB,4BACnD,GAAIF,EACA,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAiBI,OAAQD,IAAK,CAC9C,IAAIE,EAAeL,EAAiBG,GAChCG,EAAWD,EAAaE,wBACxBC,EAAYC,OAAOC,aAAeJ,EAASK,IAE3CC,EADiBP,EAAaQ,MAAMC,UAAUC,MAAM,cAC7B,GAAGA,MAAM,KAAK,GACrCC,EAAU,EACVJ,EAAQ,EACJJ,IACAI,GAAgB,EAChBI,GAAoB,KAIxBJ,EAAQ,EACRI,EAAU,GAEdX,EAAaQ,MAAMC,UAAY,cAAcF,MAC7CP,EAAaQ,MAAMG,QAAUA,IA3BzCC,oBACQR,QACAA,OAAOS,iBAAiB,SAAUC,KAAKpB,cA+B/CqB,SACI,MAAM,SAAEd,GAAaa,KAAKtB,OAAS,GACnC,IAAIwB,EAAUC,EAUd,OALIA,EAJCC,MAAMjB,GAIS,EAHAA,EAKpBe,EAAW,CACPP,UAAW,cAAcQ,OAGzBE,IAAAC,cAAA,OAAKC,UAAU,0BAA0Bb,MAAOQ,GAC3CF,KAAKtB,MAAM8B,WAMbjC,QC1Df,MAAMkC,UAAoBjC,YAAUC,cAAA,SAAAiC,WAAA,KAOhC9B,aAAe,KACX,MAAMC,EAAmBC,SAASC,iBAAiB,4BACnD,GAAIF,EACA,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAiBI,OAAQD,IAAK,CAC9C,IAAIE,EAAeL,EAAiBG,GAChCG,EAAWD,EAAaE,wBACxBC,EAAYC,OAAOC,aAAeJ,EAASK,IAE3CC,EADiBP,EAAaQ,MAAMC,UAAUC,MAAM,cAC7B,GAAGA,MAAM,KAAK,GACrCC,EAAU,EACVJ,EAAQ,EACJJ,IACAI,GAAgB,EAChBI,GAAoB,KAIxBJ,EAAQ,EACRI,EAAU,GAEdX,EAAaQ,MAAMC,UAAY,cAAcF,MAC7CP,EAAaQ,MAAMG,QAAUA,IA3BzCC,oBACQR,QACAA,OAAOS,iBAAiB,SAAUC,KAAKpB,cA+B/CqB,SACI,MAAM,SAAEd,GAAaa,KAAKtB,OAAS,GACnC,IAAIwB,EAAUC,EAUd,OALIA,EAJCC,MAAMjB,GAIS,EAHAA,EAKpBe,EAAW,CACPP,UAAW,cAAcQ,OAGzBE,IAAAC,cAAA,OAAKC,UAAU,0BAA0Bb,MAAOQ,GAC3CF,KAAKtB,MAAM8B,WAMbC,Q,iBCwHAE,MA5K0BjC,IACvC,MAAM,aACJkC,EAAe,KAAI,aACnBC,EAAe,KAAI,SACnBC,EAAW,KAAI,iBACfC,EAAmB,KAAI,yBACvBC,EAA2B,KAAI,yBAC/BC,EAA2B,CAACxB,MAAO,WAAU,SAC7CyB,EAAW,KAAI,oBACfC,EAAsB,KAAI,oBAC1BC,EAAsB,CAAC3B,MAAO,WAAU,qBACxC4B,EAAuB,KAAI,qBAC3BC,EAAuB,CAAC7B,MAAO,WAAU,OACzC8B,EAAS,KAAI,iBACbC,EAAmB,KAAI,WACvBC,EAAa,MACX/C,EAAMgD,QAAU,GAEdC,EAAiB,CACrBC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAGzF,OAAKmB,GAAgBA,EAAanB,OAC/BsB,GAAoBA,EAAiBtB,OACrCyB,GAAYA,EAASjC,OAAS,EAG7BoB,IAAAC,cAAA,OAAKC,UAAW,oBAAqBb,MAAOiC,GAC1CtB,IAAAC,cAAA,OAAKC,UAAU,aACZK,GAAgBA,EAAanB,OAASsB,GAAoBA,EAAiBtB,MAE1EY,IAAAC,cAAA,OAAKC,UAAU,4BACZK,GAAgBA,EAAanB,OAC5BY,IAAAC,cAAA,OAAKC,UAAU,0BACbF,IAAAC,cAAA,KAAGwB,KAAMhB,EAASrB,MAAMqC,KAAMvB,UAAWO,GAAYA,EAASrB,MAAMqC,KAAO,KAAO,gBAAiBC,OAAQjB,EAASrB,MAAMsC,QACxH1B,IAAAC,cAAA,OACE0B,IACEnB,GAAgBA,EAAapB,MACzBoB,EAAapB,MACb,wBAENwC,IAAKC,IACLC,WAAUvB,EAAanB,MACvBc,UAAU,eAKjBQ,GAAoBA,EAAiBtB,OACpCY,IAAAC,cAAA,OAAKC,UAAW,uDAAyF,YAAnCU,EAAyBxB,MAAsB,GAAKwB,EAAyBxB,OAASC,MAAO,CAAE0C,WAAYpB,GAA4BA,EAAyBvB,QACpOY,IAAAC,cAAC+B,OAAI,CAACC,MAAOvB,MAIjB,KACHG,GACCA,EAASjC,OAAS,GAClBoB,IAAAC,cAAA,OAAKC,UAAU,6BACZW,EAAS7D,IAAI,CAACkF,EAAMC,KACnB,MAAM,YACJC,EAAc,KAAI,gBAClBC,EAAkB,KAAI,oBACtBC,EAAsB,KAAI,cAC1BC,EAAgB,KAAI,aACpBC,EAAe,KAAI,QACnBC,EAAU,KAAI,SACdC,EAAW,MACTR,EAAKb,OAET,IAAIsB,EAAoB,GACpBC,EAAmB,GACvB,GAAIL,GAAiBA,EAAcnD,MAAO,CACxC,IAAIyD,EACA,KAAKC,KAAKP,EAAcnD,QAC1ByD,EAAYN,EAAcnD,MAAMG,MAAM,KACtCoD,EACEE,EAAU7F,IAAI,CAAC+F,EAAQZ,IAEnBnC,IAAAC,cAAA,OAAKC,UAAU,2BACb8C,IAAK,0BAA0Bb,GAC/BnC,IAAAC,cAAA,KAAGwB,KAAM,OAAOsB,EAAU1D,MAAO,CAAEkC,MAAOD,EAAeC,QACvDvB,IAAAC,cAAC+B,OAAI,CAACC,MAAO,CAAE7C,MAAO2D,SAMhCJ,EACE3C,IAAAC,cAAA,OAAKC,UAAU,4BACbF,IAAAC,cAAA,KAAGwB,KAAM,OAAOc,EAAcnD,MAASC,MAAO,CAAEkC,MAAOD,EAAeC,QACpEvB,IAAAC,cAAC+B,OAAI,CAACC,MAAOM,MAcvB,OARIC,GAAgBA,EAAapD,QAC/BwD,EAAmB,GAAGJ,EAAapD,MAC/BqD,GAAWA,EAAQrD,QAAOwD,GAAoB,OAAOH,EAAQrD,OAC7DsD,GAAYA,EAAStD,QACnB,MAAM0D,KAAKF,GAAmBA,GAAoB,QAAQF,EAAStD,MAClEwD,GAAoB,QAAQF,EAAStD,QAGzCgD,GAAeA,EAAYhD,OAC7BiD,GAAmBA,EAAgBjD,OACnCmD,GAAiBA,EAAcnD,OAC/BoD,GAAgBA,EAAapD,MAE5BY,IAAAC,cAAA,OAAKC,UAAU,8DACb8C,IAAK,2BAA2Bb,GAE/BE,GAAmBA,EAAgBjD,OAClCY,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,OACE0B,IACEW,GAAuBA,EAAoBlD,MACvCkD,EAAoBlD,MACpB,wBAENwC,IAAKC,IACLC,WAAUO,EAAgBjD,MAC1Bc,UAAU,cAIfkC,GAAeA,EAAYhD,OAC1BY,IAAAC,cAAA,OAAKC,UAAW,2BAAwD,YAA9Ba,EAAoB3B,MAAsB,GAAK2B,EAAoB3B,OAASC,MAAO,CAAE0C,WAAYjB,GAAuBA,EAAoB1B,QACpLY,IAAAC,cAAC+B,OAAI,CAACC,MAAOG,KAGjBpC,IAAAC,cAAA,OAAKC,UAAW,+BAA6D,YAA/Be,EAAqB7B,MAAsB,GAAK6B,EAAqB7B,OAASC,MAAO,CAAE0C,WAAYf,GAAwBA,EAAqB5B,QAC3LuD,EACAH,GACCA,EAAapD,OACbY,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,KAAGwB,KAAM,UAAUmB,EAAoBvD,MAAO,CAAEkC,MAAOD,EAAeC,QACpEvB,IAAAC,cAAC+B,OAAI,CAACC,MAAO,CAAE7C,MAAO,eAS3B,QAOd8B,GAAUA,EAAO9B,OAAS8B,EAAO9B,MAAMqC,MAAQP,EAAO9B,MAAM6D,MAC3DjD,IAAAC,cAAA,KACEwB,KAAMP,EAAO9B,MAAMqC,KACnBC,OAAQR,EAAO9B,MAAMsC,OACrBxB,UAAU,+DAEVF,IAAAC,cAAC+B,OAAI,CAACC,MAAO,CAAE7C,MAAO8B,EAAO9B,MAAM6D,WAQtC,MCxGIC,MAhE2B7E,IACxC,MAAM,mBACJ8E,EAAkB,uBAClBC,EAAsB,QACtBC,EAAO,gBACPC,EAAe,gBACfC,EAAkB,CAACnE,MAAO,WAAU,WACpCoE,EAAU,mBACVC,EAAkB,mBAClBC,EAAqB,CAACtE,MAAO,WAAU,QACvCuE,EAAO,SACPC,EAAQ,YACRC,GACExF,EAAMgD,OAEV,OACEgC,GAAWG,GAAcL,GAAsBQ,GAC/C3D,IAAAC,cAAA,OAAKC,UAAU,kBAEXiD,GAAsBA,EAAmB/D,OACzCY,IAAAC,cAAA,OAAKC,UAAU,yBACbF,IAAAC,cAAA,OACE0B,IACEyB,GAA0BA,EAAuBhE,MAC7CgE,EAAuBhE,MACvB,qBAENwC,IAAKC,IACLC,WAAUqB,EAAmB/D,MAC7Bc,UAAU,cAIhBF,IAAAC,cAAA,OAAKC,UAAU,6BACbF,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,WACGoD,GAAWA,EAAQjE,OAClBY,IAAAC,cAAA,OAAKC,UAAW,2BAAoD,YAA1BqD,EAAgBnE,MAAsB,GAAKmE,EAAgBnE,OAASC,MAAO,CAAE0C,WAAYuB,GAAmBA,EAAgBlE,QACpKY,IAAAC,cAAC+B,OAAI,CAACC,MAAOoB,KAGhBG,GAAcA,EAAWpE,OACxBY,IAAAC,cAAA,OAAKC,UAAW,6BAA0D,YAA7BwD,EAAmBtE,MAAsB,GAAKsE,EAAmBtE,SAASuE,GAAWA,EAAQvE,OAASuE,EAAQvE,MAAMqC,MAAQkC,EAAQvE,MAAM6D,KAAO,YAAc,KAAM5D,MAAO,CAAE0C,WAAY0B,GAAsBA,EAAmBrE,QAC9QY,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOuB,KAGpBG,GAAWA,EAAQvE,OAASuE,EAAQvE,MAAMqC,MAAQkC,EAAQvE,MAAM6D,MAC/DjD,IAAAC,cAAA,OAAKC,UAAU,uBACbF,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAOJ,EAAQvE,MAAK,CAClBc,UAAW,aAAY0D,GAAYA,EAASxE,MAAQwE,EAASxE,MAAQ,WACrEC,MAAO,CAAE0C,WAAY8B,GAAeA,EAAYzE,SAE/CuE,EAAQvE,MAAM6D,Y,sECIlBe,MAzDG3F,IACd,MAAO4F,EAAeC,GAAoBC,mBAAS,CAC/CC,WAAW,EACPC,WAAW,KAGb,UACFnE,EAAY,KAAI,GAChBtC,EAAK,KAAI,KACT0G,EAAO,KAAI,UACXC,EAAY,KAAI,oBAChBC,EAAsB,KAAI,QAC1BC,GAAU,EAAK,WACfC,GAAa,EAAK,aAClBC,EAAe,KAAI,YACnBC,GAAc,GACdvG,GAAS,IAEP,UACF+F,EAAS,UACTC,GACAJ,EAEJ,OACIjE,IAAAC,cAAA,OAAKC,UAAU,2BAA2B8C,IAAKuB,GAC3CvE,IAAAC,cAAA,aACID,IAAAC,cAAA,SACI4E,KAAK,WACL3E,UAAW,GAAGA,KAAauE,EAAU,YAAc,KACnD7G,GAAIA,EACJ0G,KAAM1G,EACNwB,MAAOkF,EACPQ,QAAStH,IACLgH,EAAoBhH,GACpB0G,EAAiB,CACbE,WAAY5G,EAAEkE,OAAO+C,QACrBJ,WAAW,KAGnBU,aAAa,QAEjB/E,IAAAC,cAAA,QAAMC,UAAW,KAAKmE,GAAaO,IAAgBF,GAAcN,EAAa,2CAA6C,KACvHpE,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAO,CAAE7C,MAAOkF,QAGhCD,GAAaO,IACXF,GACAN,GACApE,IAAAC,cAAA,OAAKC,UAAU,wBACVyE,K,kBC0kBNK,MApnByB3G,IAEtC,MAAM4G,EAAgBC,iBAAO,MACvBC,EAAiB9G,EAAMgD,OAAO+D,YAAc/G,EAAMgD,OAAO+D,YAAYhG,MAAQ,IAC5EiG,EAAUC,GAAenB,mBAAS,CACvC9C,OAAQhD,EAAMgD,OAAOkE,OACrBC,iBAAkB,GAClBC,UAAU,EACVC,WAAW,EACXC,eAAgB,KAChBC,YAAavH,EAAMgD,OAAO+D,YAC1BS,SAAU,GACVC,MAAM,EACNC,UAAW,KACXC,mBAAmB,EACnBC,kBAAkB,EAClBC,MAAM,EACNC,iBAAiB,IAIbC,EAAuB,CAC3BC,QAASA,CAACC,EAAUC,KAAK,IACpBD,EACHvE,WAAY,UACZyE,UAAW,eAAeD,EAAME,UAAY,MAAQ,SAASF,EAAME,UAAY,UAAY,YAC3FC,QAAS,OACTC,OAAQ,OAIRC,UAAW,OACXC,SAAU,OACVC,SAAU,SAEV,UAAW,CAETN,UAAW,oBAAmBD,EAAME,UAAY,UAAY,WAC5DK,SAAU,YAMdC,eAAgBA,CAACT,EAAUC,KAAK,IAC3BD,EACH,aAAc,OACdU,QAAS,MAEXC,YAAaA,CAACX,EAAUC,KAAK,IACxBD,EACHU,QAAS,gBACTzF,MAAO,UACP2F,OAAQ,IAEVC,YAAaA,KAAA,CACXpF,WAAY,UACZiF,QAAS,gBACT,YAAa,CACXI,QAAS,UAGbC,MAAQf,IAAQ,IACXA,EACHxH,SAAU,WACVK,IAAK,EACLmI,OAAQ,UACRJ,OAAQ,EACRF,QAAS,gBACTO,OAAQ,UACRC,MAAO,SAETC,mBAAoBA,KAAA,CAClBL,QAAS,SAEXM,OAAQA,CAACpB,EAAUC,KAAK,IACnBD,EACHvE,WAAY,UACZP,gBAAiB+E,EAAME,UAAY,UAAY,GAC/ClF,MAAO,UACP,YAAa,CACXoG,WAAYpB,EAAMqB,WAAa,WAAa,YAGhDC,kBAAmBA,CAACvB,EAAUC,KAAK,IAC9BD,EACH/E,MAAO,UACPjC,UAAWiH,EAAMuB,YAAYC,YAAc,iBAE3C,OAAQ,CACNT,OAAQ,OACRE,MAAO,QAET,UAAW,CACTjG,MAAO,cAMbyG,oBAAU,KACRC,WAAW,KACT3C,EAAY,IAAKD,EAAUa,MAAM,KAChC,OAEF,IAEH,MAyBMgC,EAAgBA,CAAC1K,EAAG6D,EAAQ8G,EAAWC,KAC3C,IAAI,KAAEC,EAAO,MAAShH,GAAU,GAC5B1C,EAAI,EACR0G,EAAShE,OAAOrE,IAAKsL,IACnB,GAAgC,mBAA5BA,EAAMjH,OAAOkH,KAAKnJ,MAChBkJ,EAAMjH,OAAOmH,WAAWpJ,MACtBkJ,EAAMjH,OAAOgH,KAAKjJ,QAAUiJ,EAAKjJ,QACnCkJ,EAAMjH,OAAOoH,MAAQjL,EAAEkE,OAAO+C,QAC9B6D,EAAMjH,OAAOqH,MAAQlL,EAAEkE,OAAO+C,SAEvB6D,EAAMjH,OAAOgH,KAAKjJ,QAAUiJ,EAAKjJ,MAC1CkJ,EAAMjH,OAAOoH,MAAQjL,EAAEkE,OAAO+C,QAE9B6D,EAAMjH,OAAOqH,OAAQ,OAElB,GAAgC,aAA5BJ,EAAMjH,OAAOkH,KAAKnJ,MACvBkJ,EAAMjH,OAAOmH,WAAWpJ,MACtBkJ,EAAMjH,OAAOgH,KAAKjJ,QAAU+I,IAC9BG,EAAMjH,OAAOoH,MAAQL,EACrBE,EAAMjH,OAAOqH,QAAQN,GAEdE,EAAMjH,OAAOgH,KAAKjJ,QAAU+I,EACrCG,EAAMjH,OAAOoH,MAAQL,EAErBE,EAAMjH,OAAOqH,OAAQ,OAElB,GAAIJ,EAAMjH,OAAOgH,KAAKjJ,QAAUiJ,EAAKjJ,MAQ1C,GAPAkJ,EAAMjH,OAAOoH,MAAQjL,EAAEkE,OAAOtC,MAC9BkJ,EAAMjH,OAAOsH,SAAU,EAES,wBAA5BL,EAAMjH,OAAOkH,KAAKnJ,QACpBiG,EAASG,iBAAmBhI,EAAEkE,OAAOtC,OAGnCkJ,EAAMjH,OAAOuH,iBAAiBxJ,MAAO,CACvC,MAAMyJ,EAAwBxK,EAAMgD,OAAOkE,OAAO5G,GAAG0C,OAAOuH,iBAAiBxJ,MAE7E,IAAI0J,EAAK,IAAIC,OAAOF,GAGlBP,EAAMjH,OAAOmH,WAAWpJ,QACvB0J,EAAGhG,KAAKkG,OAAOxL,EAAEkE,OAAOtC,OAAO6J,eAEhCX,EAAMjH,OAAOqH,OAAQ,EAEpBJ,EAAMjH,OAAOmH,WAAWpJ,QACzB5B,EAAEkE,OAAOtC,OACR0J,EAAGhG,KAAKkG,OAAOxL,EAAEkE,OAAOtC,OAAO6J,eAIhCX,EAAMjH,OAAOqH,OAAQ,EAFrBJ,EAAMjH,OAAOqH,OAAQ,OAKnBJ,EAAMjH,OAAOmH,WAAWpJ,MAC1BkJ,EAAMjH,OAAOqH,QAAQlL,EAAEkE,OAAOtC,MAE9BkJ,EAAMjH,OAAOqH,OAAQ,OAIzB,GAAIJ,EAAMjH,OAAOuH,iBAAiBxJ,MAAO,CACvC,MAAMyJ,EAAwBxK,EAAMgD,OAAOkE,OAAO5G,GAAG0C,OAAOuH,iBAAiBxJ,MAE7E,IAAI0J,EAAK,IAAIC,OAAOF,GAGlBP,EAAMjH,OAAOmH,WAAWpJ,QACvB0J,EAAGhG,KAAKkG,OAAOV,EAAMjH,OAAOoH,OAAOQ,eAEpCX,EAAMjH,OAAOqH,OAAQ,EAEpBJ,EAAMjH,OAAOmH,WAAWpJ,QACzBkJ,EAAMjH,OAAOoH,OACZK,EAAGhG,KAAKkG,OAAOV,EAAMjH,OAAOoH,OAAOQ,eAIpCX,EAAMjH,OAAOqH,OAAQ,EAFrBJ,EAAMjH,OAAOqH,OAAQ,OAKnBJ,EAAMjH,OAAOmH,WAAWpJ,MAC1BkJ,EAAMjH,OAAOqH,QAAQJ,EAAMjH,OAAOoH,MAElCH,EAAMjH,OAAOqH,OAAQ,EAK3BpD,EAAY,IAAKD,EAAUhE,OAAQgE,EAAShE,SAC5C1C,MAGFuK,KAGIA,EAAcA,KAClB,IAAIC,EAAO9D,EAAShE,OACpB,IAAK,IAAI1C,EAAI,EAAGA,EAAIwK,EAAKvK,OAAQD,IAAK,CACpC,IAA6B,IAAzBwK,EAAKxK,GAAG0C,OAAOqH,MAAgB,CACjCpD,EAAY,IAAKD,EAAUI,UAAU,IACrC,MAEAH,EAAY,IAAKD,EAAUI,UAAU,MAoS3C,IAAI2D,EAAU,KACd,MAAM,kBAAEpD,EAAiB,iBAAEC,EAAgB,KAAEC,GAASb,GAChD,gBACJgE,EAAkB,KAAI,UACtBC,EAAY,KAAI,YAChBC,EAAc,KAAI,OAClBhE,EAAS,KAAI,cACbiE,EAAgB,KAAI,YACpBC,EAAc,MACZpL,EAAMgD,QAAU,GAEpB,IAAI,oBAAEqI,EAAsB,IAAOrL,EAAMsL,QAAU,GAanD,OARItE,EAASM,iBACXyD,EACEpJ,IAAAC,cAAA,OACEC,UAAU,kCACV0J,wBAAyB,CAAEC,OAAQC,IAAUC,SAAS1E,EAASM,oBAKnEJ,GAAUA,EAAO3G,OAAS,GAC1BoB,IAAAC,cAAA,OAAKC,UAAW,sBAAqBuJ,GAAeA,EAAYrK,MAAQ,gBAAkB,KACvFgK,EACCK,GAAeA,EAAYrK,MACzBY,IAAAC,cAAA,OAAKC,UAAU,aACZkJ,GAEDA,EAEJpJ,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,OAAKC,UAAU,yBACbF,IAAAC,cAAC+B,OAAI,CAACC,MAAOsH,KAEfvJ,IAAAC,cAAA,QAAM+J,SArUWxM,IACvBA,EAAEyM,iBACF,IAAIC,EAAmBzL,SAAS0L,cAC9B,sBAEEC,EAAkB,GAClBC,EAAe7M,EAAEkE,OACnB4I,EAAYD,EAAaF,cAAc,eAEzC,MAAM,kBAAEnE,GAAsBX,EACxBkF,EAAmB9L,SACtB+L,uBAAuB,kBAAkB,GACzCL,cAAc,mBAiBjB,GAhBAjB,IACA5D,EAAY,IAAKD,EAAUK,WAAW,IAEtCuC,WAAW,KACT,IAAIwC,EAAeJ,EAAaF,cAAc,sDAE9C,GAAIM,EAAc,CACIhM,SAAS0L,cAAc,uCACtBlL,OAAOyL,YAAc,IACxCL,EAAaM,iBAEbF,EAAaE,mBAGhB,KAECJ,IACGvE,EAEH,YADAuE,EAAiBK,UAAUC,IAAI,eAInC,IAAKxF,EAASI,SAAU,OAExB6E,EAAUQ,aAAa,WAAY,IAEnC,IAAIzJ,EAAS,GACb,MAAM0J,EAAa1M,EAAM2M,UAAUD,YAAc,GAIjD1F,EAAShE,OAAOrE,IAAKiF,IACa,aAA5BA,EAAMZ,OAAOkH,KAAKnJ,OACpBiC,EAAO4J,KAAK,CACVC,UAAWjJ,EAAMZ,OAAOgH,KAAKjJ,MAC7BqJ,MAAOxG,EAAMZ,OAAOoH,MAAMrJ,MAAQ,GAAG6C,EAAMZ,OAAOoH,MAAM0C,SAASlJ,EAAMZ,OAAOoH,MAAMrJ,QAAU6C,EAAMZ,OAAOoH,QAE7G2B,EAAkBnI,EAAMZ,OAAOoH,MAAQxG,EAAMZ,OAAOoH,MAAM0C,MAAQ,IAC7B,mBAA5BlJ,EAAMZ,OAAOkH,KAAKnJ,MAC3BiC,EAAO4J,KAAK,CACVC,UAAWjJ,EAAMZ,OAAOgH,KAAKjJ,MAC7BqJ,MAAOxG,EAAMZ,OAAOoH,MAAQxG,EAAMZ,OAAOoH,MAAM2C,WAAa,UAG1DnJ,EAAMZ,OAAOoH,OACfpH,EAAO4J,KAAK,CACVC,UAAWjJ,EAAMZ,OAAOgH,KAAKjJ,MAC7BqJ,MAAOxG,EAAMZ,OAAOoH,UAM5B,IAAI5C,EAAW,CACbwF,sBAAuB,CACrBC,OAAQP,EACRQ,iBAAkBlG,EAASG,iBAC3BD,OAAQlE,IAKZmK,IAAM,CACJC,IAnCU,uCAoCVC,OAAQ,OACRvC,KAAMtD,IAELtI,KAAMoO,IACDA,GAAYA,EAASxC,MAAQwC,EAASxC,KAAKC,UAC7CwC,QAAQC,IAAI,cAAe1G,GACvBA,EACFlG,OAAO6M,SAASrK,KAAO0D,EAEvBG,EAAY,IACPD,EACHM,eAAgBgG,EAASxC,KAAKC,QAC9B1D,WAAW,IAIfqG,IAAWC,UAAU,CACnBA,UAAW,CACTC,MAAO,sBACP7B,gBAAiBA,GAEnB8B,cAAe,cAEjBhC,EAAiBS,oBAGpBwB,MAAOC,IACN9B,EAAU+B,gBAAgB,YAC1BT,QAAQQ,MAAMA,MA4NqBE,YAAU,GACzCtM,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAAA,OAAKC,UAAU,gBACZqF,GACCA,EAAO3G,OAAS,GACH2G,EAtNZvI,IAAI,CAACsL,EAAOnG,KAC3B,MAAM,KACJoG,EAAI,KACJF,EAAI,WACJG,EAAU,QACVG,EAAO,MACPD,EAAK,MACLD,EAAK,OACL8D,EAAM,YACNC,EAAW,0BACXC,GACEnE,EAAMjH,OAEV,IAAIqL,EAAc,GAElB,OAAQnE,EAAKnJ,OACX,IAAK,gBACHsN,EACE1M,IAAAC,cAAA,OAAKC,UAAU,uBAAuB8C,IAAK,UAAYb,GACrDnC,IAAAC,cAAC+B,OAAI,CAACC,MAAOoG,KAGjB,MACF,IAAK,aACL,IAAK,sBACL,IAAK,qBACHqE,EACE1M,IAAAC,cAAA,OAAKC,UAAU,aAAa8C,IAAK,UAAYb,GAC3CnC,IAAAC,cAAA,SACE4E,KAAK,OACL8H,IAAK1H,EACLrH,GAAIyK,EAAKjJ,MACTwN,WAAUpE,EAAWpJ,MACrByN,SAAWrP,GAAM0K,EAAc1K,EAAG8K,EAAMjH,QACxCyL,OAAStP,GAAM0K,EAAc1K,EAAG8K,EAAMjH,QACtCnB,UAAW,kCAAiCmF,EAASK,YAAaiD,IACtD,IAAVD,IACCF,EAAWpJ,QAAmB,IAAVsJ,EAEnB,GADA,sBAGJ3D,aAAa,QAEf/E,IAAAC,cAAA,SACEC,UAAW,GAAGsI,EAAWpJ,MACrB,2BACA,6BACEqJ,EAAQ,sBAAwB,KACtCsE,QAAS1E,EAAKjJ,OAEboN,EAAYpN,MACZoJ,EAAWpJ,OAAS,OAErBiG,EAASK,YAAaiD,IACZ,IAAVD,IACCF,EAAWpJ,QAAmB,IAAVsJ,EAOnB,KANF1I,IAAAC,cAAA,YACED,IAAAC,cAAA,KAAGC,UAAU,0CAAyC,KACtDF,IAAAC,cAAA,SAAOC,UAAU,2BACduM,EAA0BrN,SAMrC,MACF,IAAK,WACHsN,EACE1M,IAAAC,cAAA,OACEC,UAAU,aACV8C,IAAK,UAAYb,GAEjBnC,IAAAC,cAAC+M,IAAM,CACL9M,UAAW,4BAA2BmF,EAASK,YAAaiD,IAAsB,IAAVD,IACrEF,EAAWpJ,QAAmB,IAAVsJ,EAEnB,GADA,gCAEJuE,gBAAgB,eAChBC,QAASX,EAAOvP,IAAIiF,IAAK,CAAO7C,MAAO6C,EAAMZ,OAAO8L,GAAG/N,MAAO+L,MAAOlJ,EAAMZ,OAAOgH,KAAKjJ,MAAOgO,KAAMC,OACpGC,eAAgB9P,GACdwC,IAAAC,cAAA,OAAKZ,MAAO,CAAE+H,QAAS,OAAQmG,WAAY,WACzCvN,IAAAC,cAAA,OAAKZ,MAAO,CAAEmO,YAAa,QAAU5L,IAAKpE,EAAE4P,KAAMzL,IAAI,KACtD3B,IAAAC,cAAA,YAAOzC,EAAE2N,QAGblE,YAAauF,EAAYpN,MACzBqO,OAAQrH,EACRyG,SAAWrP,IAET0K,EAAc,KAAMI,EAAMjH,OAAQgH,EAAKjJ,MAAO5B,MAGlDwC,IAAAC,cAAA,SACEC,UAAW,GAAGsI,EAAWpJ,MACrB,oCACA,sCACEqJ,EAAQ,sBAAwB,KACtCsE,QAAS1E,EAAKjJ,OAEbiJ,EAAKjJ,MACLoJ,EAAWpJ,OAAS,OAGrBiG,EAASK,YAAaiD,IACZ,IAAVD,IACCF,EAAWpJ,QAAmB,IAAVsJ,EAOnB,KANF1I,IAAAC,cAAA,YACED,IAAAC,cAAA,KAAGC,UAAU,0CAAyC,KACtDF,IAAAC,cAAA,SAAOC,UAAU,2BACduM,EAA0BrN,SAMrC,MACF,IAAK,mBACHsN,EACE1M,IAAAC,cAAA,OAAKC,UAAU,2BAA2B8C,IAAK,UAAYb,GACzDnC,IAAAC,cAAA,YACErC,GAAIyK,EAAKjJ,MACT6H,YAAauF,EAAYpN,OAASoJ,EAAWpJ,MAAQ,KAAO,IAC5DyN,SAAWrP,GAAM0K,EAAc1K,EAAG8K,EAAMjH,QACxCyL,OAAStP,GAAM0K,EAAc1K,EAAG8K,EAAMjH,QACtCnB,WACGmF,EAASK,WAAaiD,KACX,IAAVD,GACAF,EAAWpJ,MACT,qBACA,eAEN2F,aAAa,SAEbM,EAASK,WAAaiD,KACZ,IAAVD,GACAF,EAAWpJ,MACXY,IAAAC,cAAA,YACED,IAAAC,cAAA,KAAGC,UAAU,0CAAyC,KACtDF,IAAAC,cAAA,SAAOC,UAAU,2BACduM,EAA0BrN,QAG7B,MAGR,MACF,IAAK,iBACHsN,EACE1M,IAAAC,cAAC+D,EAAQ,CACPhB,IAAK,UAAYb,EACjBvE,GAAIyK,EAAKjJ,MACTkF,KAAMkI,EAAYpN,MAClBoF,oBAAsByH,IACpB/D,EAAc+D,EAAO3D,EAAMjH,SAE7BuD,YAAaS,EAASK,UACtBhB,WAAY8D,EAAWpJ,MACvBuF,aAAc8H,EAA0BrN,QAG5C,MACF,QACEsN,EAAc,GAGlB,OAAOA,IAkDMxG,GACCmD,GACAA,EAAgBjK,OAChBkK,GACAA,EAAUlK,OACRY,IAAAC,cAAA,OACEC,UACE,8BACC8F,EACG,qBACA,MACHC,EAAmB,cAAgB,MAGtCjG,IAAAC,cAACyN,IAAS,CACRC,KAAK,SACLC,QACEtE,GAAaA,EAAUlK,MACnBkK,EAAUlK,MACV,2CAENyN,SAzdSlB,IAE7BrG,EADEqG,EACU,IACPtG,EACHW,mBAAmB,EACnBC,kBAAkB,GAGR,IAAKZ,EAAUW,mBAAmB,KAkd1B6H,UAveCC,KACvBxI,EAAY,IACPD,EACHW,mBAAmB,EACnBC,kBAAkB,KAoeE8H,kBAheA5H,KACtByF,QAAQC,IAAI,6BACZvG,EAAY,IAAKD,EAAUc,iBAAiB,OAgexBnG,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,YACED,IAAAC,cAAA,aAAO,4BAKhBuJ,GAAiBA,EAAcpK,OAC9BY,IAAAC,cAAA,OAAKC,UAAU,wBACbF,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOuH,OAKzBxJ,IAAAC,cAAA,OAAKC,UAAU,oBACbF,IAAAC,cAAA,UACEC,UAAU,wCACV2E,KAAK,UAEL7E,IAAAC,cAAA,QAAMC,UAAU,aAAa,UAC7BF,IAAAC,cAAA,KAAGC,UAAU,kCChfhB8N,MAhI6B3P,IAC1C,MAAM,MACJ4P,EAAK,cACLC,EAAa,cACbC,EAAgB,CAAC/O,MAAO,WAAU,YAClCgP,EAAW,oBACXC,EAAmB,oBACnBC,EAAsB,CAAClP,MAAO,WAAU,cACxCmP,EAAa,iBACbpN,EAAgB,WAChBC,EAAU,SACVoN,EAAQ,iBACRC,EAAgB,iBAChBC,EAAmB,CAACtP,MAAO,YACvBf,EAAMgD,OAENC,EAAiB,CACrBC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAuFzF,OACEmP,GAAiBA,EAAc3P,OAAS,GACxCoB,IAAAC,cAAA,OAAKC,UAAU,gBAAgBb,MAAOiC,GACpCtB,IAAAC,cAAA,OAAKC,UAAU,aACZ+N,GAASA,EAAM7O,OACdY,IAAAC,cAAA,OAAKC,UAAW,wBAAgD,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,SAASgP,GAAqC,KAAtBA,EAAYhP,MAAe,UAAY,KAAMC,MAAO,CAAE0C,WAAYmM,GAAiBA,EAAc9O,QACtNY,IAAAC,cAAC+B,OAAI,CAACC,MAAOgM,KAGhBG,GAAeA,EAAYhP,OAC1BY,IAAAC,cAAA,OAAKC,UAAU,4BACbF,IAAAC,cAAA,OAAKC,UAAW,+BAA4D,YAA9BoO,EAAoBlP,MAAsB,GAAKkP,EAAoBlP,OAASC,MAAO,CAAE0C,WAAYsM,GAAuBA,EAAoBjP,QACxLY,IAAAC,cAAC+B,OAAI,CAACC,MAAOmM,MAhGNO,MACjB,GAAIJ,GAAiBA,EAAc3P,OAAS,EAAG,CAC7C,IAAIgQ,GAAW,EACXC,EAAgBN,EAAcvR,IAAI,CAACkF,EAAMC,KAC3C,MAAM,MACJ8L,EAAQ,KAAI,YACZG,EAAc,KAAI,SAClBU,EAAW,KAAI,cACfZ,EAAgB,KAAI,oBACpBG,EAAsB,KAAI,cAC1BF,EAAgB,CAAC/O,MAAO,WAAU,oBAClCkP,EAAsB,CAAElP,MAAO,YAC7B8C,EAAKb,QAAU,GAEb0N,EAAoB,CACxBC,cAAed,GAAiBA,EAAc9O,MAC9C6P,oBAAqBZ,GAAuBA,EAAoBjP,OAGlE,IAAI8P,EAAoB,GA2CxB,OAzCKjB,GAASA,EAAM7O,OAAWgP,GAAeA,EAAYhP,SAEtD8P,EADDjB,GAASA,EAAM7O,OAASgP,GAAqC,KAAtBA,EAAYhP,MAEhDY,IAAAC,cAAA,OAAK+C,IAAK,gBAAkBb,EAAOjC,UAAU,oDAC3CF,IAAAC,cAAA,OAAKC,UAAU,4BACbF,IAAAC,cAAA,KAAGC,UAAW,cAAa4O,GAAYA,EAAS1P,MAAQ0P,EAAS1P,MAAQ,OAE3EY,IAAAC,cAAA,OAAKC,UAAU,6CACbF,IAAAC,cAAA,OAAKC,UAAW,8BAAqD,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAO,CAAE0C,WAAYgN,EAAkBC,gBAClJhP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOgM,OAOvBjO,IAAAC,cAAA,OAAK+C,IAAK,gBAAkBb,EAAOjC,UAAU,oDAC3CF,IAAAC,cAAA,OAAKC,UAAU,4BACbF,IAAAC,cAAA,KAAGC,UAAW,cAAa4O,GAAYA,EAAS1P,MAAQ0P,EAAS1P,MAAQ,OAE3EY,IAAAC,cAAA,OAAKC,UAAW,gCAAgC+N,GAAyB,KAAhBA,EAAM7O,OAAgBgP,GAAeA,EAAYhP,MAAS,sBAAwB,KACxI6O,GAASA,EAAM7O,OACdY,IAAAC,cAAA,OAAKC,UAAW,8BAAqD,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAO,CAAE0C,WAAYgN,EAAkBC,gBAClJhP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOgM,KAGpBG,GAAeA,EAAYhP,OAC1BY,IAAAC,cAAA,OAAKC,UAAW,oCAAiE,YAA9BoO,EAAoBlP,MAAsB,GAAKkP,EAAoBlP,OAASC,MAAO,CAAE0C,WAAYgN,EAAkBE,sBACpKjP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOmM,QAS3BU,GAAYA,EAAS1P,QACvBwP,GAAW,GAGNM,IAGT,OACElP,IAAAC,cAAA,OAAKC,UAAW,+BAA8B0O,EAAW,GAAK,aAC3DC,GAEA,OAAO,MA+BTF,GACAH,GAAYA,EAASpP,OA7BJ+P,MACtB,MAAMC,EAAgB,CACpBrN,WAAY0M,GAAoBA,EAAiBrP,MAAQqP,EAAiBrP,MAAQ,WAEpF,OACEY,IAAAC,cAAA,OAAKC,UAAW,+BACdF,IAAAC,cAAA,OAAKC,UAAW,6CAAuE,YAA3BwO,EAAiBtP,MAAsB,GAAKsP,EAAiBtP,OAASC,MAAO+P,GACvIpP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOuM,OAsBYW,M,iBC8DxBE,MAvLsChR,IACnD,MAAM,QACJgF,EAAO,gBACPC,EAAe,gBACfC,EAAkB,CAACnE,MAAO,WAAU,WACpCoE,EAAU,mBACVC,EAAkB,mBAClBC,EAAqB,CAACtE,MAAO,WAAU,uBACvCkQ,EAAsB,iBACtBC,EAAgB,cAChBhB,EAAa,iBACbpN,EAAgB,WAChBC,EAAU,cACVoO,EAAa,gBACbC,EAAe,eACfC,EAAc,SACdlB,EAAQ,iBACRC,EAAgB,iBAChBC,EAAmB,CAACtP,MAAO,YACzBf,EAAMgD,QAEJ,oBACJqI,EAAsB,IACpBrL,EAAMsL,QAAU,GAEdrI,EAAiB,CACrBC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAGnFuQ,EAAc,CAClBpO,MAAOgO,GAAoBA,EAAiBnQ,MAAQmQ,EAAiBnQ,MAAQ,UAC7EoC,gBAAiB8N,GAA0BA,EAAuBlQ,MAAQkQ,EAAuBlQ,MAAQ,UACzGwQ,UAAWlG,GAA+C,MAAxBA,EAA8B,MAAQ,IAkH1E,OACE6E,GAAiBA,EAAc3P,OAAS,GACxCoB,IAAAC,cAAA,WACGoD,GAAWA,EAAQjE,OAASoE,GAAcA,EAAWpE,MAChDY,IAAAC,cAAA,OAAKC,UAAU,6BAA6Bb,MAAOsQ,GACjD3P,IAAAC,cAAA,OAAKC,UAAU,aACZmD,GAAWA,EAAQjE,OAClBY,IAAAC,cAAA,OAAKC,UAAW,uCAAiE,YAA1BqD,EAAgBnE,MAAsB,GAAKmE,EAAgBnE,SAASoE,GAAmC,KAArBA,EAAWpE,MAAe,gBAAkB,KAAMC,MAAO,CAAE0C,WAAYuB,GAAmBA,EAAgBlE,QACjPY,IAAAC,cAAC+B,OAAI,CAACC,MAAOoB,KAGhBG,GAAcA,EAAWpE,OACxBY,IAAAC,cAAA,OAAKC,UAAU,yCACbF,IAAAC,cAAA,OAAKC,UAAW,2CAAuE,YAA7BwD,EAAmBtE,MAAsB,GAAKsE,EAAmBtE,OAASC,MAAO,CAAE0C,WAAY0B,GAAsBA,EAAmBrE,QAChMY,IAAAC,cAAC+B,OAAI,CAACC,MAAOuB,QAMvB,GAENxD,IAAAC,cAAA,OAAKC,UAAU,sBAAsBb,MAAOiC,GAC1CtB,IAAAC,cAAA,OAAKC,UAAW,QAAOsP,GAAiBA,EAAcpQ,OAA+C,UAAtCoQ,EAAcpQ,MAAM6J,cAA4B,aAAe,KAC5HjJ,IAAAC,cAAA,OAAKC,UAAU,8CAvIH2P,MAClB,MAAMC,EAAkB,CACtBC,SAAUL,GAAkBA,EAAetQ,MAAgC,IAAvBsQ,EAAetQ,MAAgB,IACnF4Q,cAAc,EACdC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,EACZC,WAAW,EACXC,mBAAoB,IACpBC,gBAAgB,EAChBC,YAAY,GAGd,OACEvQ,IAAAC,cAAA,OAAKC,UAAU,aACZuP,GAAmBA,EAAgB7Q,OAAS,GAC3CoB,IAAAC,cAACuQ,IAAQ,CAACtQ,UAAW,WAAYgN,QAAS4C,EAAiBW,gBAAc,EAACC,QAAM,GAC7EjB,EAAgBzS,IAAI,CAACkF,EAAMC,KAC1B,MAAQwO,SAAUlF,EAAKmF,aAAcjP,GAAQO,EAAKb,OAClD,OAAIoK,GAAOA,EAAIrM,MAEXY,IAAAC,cAAA,OACE2B,IAAK6J,EAAIrM,MACTc,UAAU,gBACV8C,IAAK,WAAWb,EAChBR,IAAKA,GAAOA,EAAIvC,MAAQuC,EAAIvC,MAAQ,mBAG5B,UA4GfyQ,IAEH7P,IAAAC,cAAA,OAAKC,UAAU,6CAtFJyO,MACjB,GAAIJ,GAAiBA,EAAc3P,OAAS,EAAG,CAC7C,IAAIgQ,GAAW,EACXC,EAAgBN,EAAcvR,IAAI,CAACkF,EAAMC,KAC3C,MAAM,MACJ8L,EAAQ,KAAI,YACZG,EAAc,KAAI,SAClBU,EAAW,KAAI,cACfZ,EAAgB,KAAI,oBACpBG,EAAsB,KAAI,oBAC1BC,EAAsB,CAAClP,MAAO,WAAU,cACxC+O,EAAgB,CAAC/O,MAAO,YACtB8C,EAAKb,QAAU,GAEb0N,EAAoB,CACxBC,cAAed,GAAiBA,EAAc9O,MAC9C6P,oBAAqBZ,GAAuBA,EAAoBjP,OAGlE,IAAI8P,EAAoB,GA4BxB,OA1BKjB,GAASA,EAAM7O,OAAWgP,GAAeA,EAAYhP,SACxD8P,EACElP,IAAAC,cAAA,OAAK+C,IAAK,sBAAwBb,EAAOjC,UAAU,oCACjDF,IAAAC,cAAA,OAAKC,UAAU,kCACbF,IAAAC,cAAA,KAAGC,UAAW,cAAa4O,GAAYA,EAAS1P,MAAQ0P,EAAS1P,MAAQ,OAG3EY,IAAAC,cAAA,OAAKC,UAAW,sCAAsC+N,GAAyB,KAAhBA,EAAM7O,OAAkBgP,GAAqC,KAAtBA,EAAYhP,MAAgB,iBAAmB,KAClJ6O,GAASA,EAAM7O,OACdY,IAAAC,cAAA,OAAKC,UAAW,yBAAgD,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAO,CAAE0C,WAAYgN,EAAkBC,gBAC7IhP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOgM,KAGpBG,GAAeA,EAAYhP,OAC1BY,IAAAC,cAAA,OAAKC,UAAW,+BAA4D,YAA9BoO,EAAoBlP,MAAsB,GAAKkP,EAAoBlP,OAASC,MAAO,CAAE0C,WAAYgN,EAAkBE,sBAC/JjP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOmM,QAOzBU,GAAYA,EAAS1P,QACvBwP,GAAW,GAGNM,IAGT,OACElP,IAAAC,cAAA,OAAKC,UAAW,sCAAqC0O,EAAW,GAAK,aAClEC,EACAL,GAAYA,EAASpP,OApEP,WAA4B,IAA3ByR,EAAaxQ,UAAAzB,OAAA,QAAAkS,IAAAzQ,UAAA,IAAAA,UAAA,GAEnC,MAAM+O,EAAgB,CACpBrN,WAAY0M,GAAoBA,EAAiBrP,MAAQqP,EAAiBrP,MAAQ,WAGpF,OAAQY,IAAAC,cAAA,OAAKC,UAAU,6CACrBF,IAAAC,cAAA,OAAKC,UAAW,wDAAmF,YAA3BwO,EAAiBtP,MAAsB,GAAKsP,EAAiBtP,UAAUyR,EAAgB,GAAK,cAClK7Q,IAAAC,cAAA,OAAKC,UAAU,OAAOb,MAAO+P,GAC3BpP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOuM,OA2DcuC,CAAenC,IAE7C,OAAO,MAgCLD,Q,+DC8BEqC,MA/MI3S,IACf,MAAM,GACFT,EAAE,MACF0K,EAAQ,GAAE,WACV2I,EAAU,cACVC,EAAa,kBACbC,EAAiB,kBACjBC,EAAiB,OACjB3D,GACApP,GAkBGgT,EAAgBC,GAAqBnN,mBAAS,IAC9CoN,EAAiBC,GAAsBrN,sBACvCsN,EAAiBC,GAAsBvN,oBAAS,IAChDwN,EAAcC,GAAmBzN,oBAAS,IAC1C0N,EAAgBC,GAAqB3N,oBAAS,IAC9C4N,EAAgBC,GAAqB7N,mBAAS,IAC9C8N,EAAcC,GAAmB/N,mBAAS,IAC1CgO,EAAoBC,GAAyBjO,mBAAS,IACtDkO,EAAWC,GAAgBnO,mBAAS,GAM3C6D,oBAAU,KACN,MAAMuK,EAAqB9T,SAAS0L,cAAc,cAC5CqI,EAAc/T,SAAS0L,cAAc,uBAC3CqH,EAAmBgB,EAAYC,cAC/BL,EAAsBG,EAAmBG,cAEzC,IAAIT,EAAeU,KAAKC,KAAKJ,EAAYC,aAAeF,EAAmBG,cAE3E,OAAQT,GACJ,KAAKA,EAAe,EAChBP,GAAmB,GAIvBO,EAAe,IACfP,GAAmB,GACnBI,GAAkB,GAClBI,EAAgBD,KAQrB,IACHjK,oBAAU,KAYN,GARwB4J,EAApBG,EAAiB,GAGgBD,EAAjCC,IAAmBE,GAKnBF,EAAgB,CAEEtT,SAAS0L,cAAc,cAE/BkI,UAAYhB,IAE3B,CAACU,IAEJ/J,oBAAU,OAEP,CAACuJ,IAEJ,MAiCMsB,EAAiB,CACnBC,gBAAiB,iDAAiDrF,EAAOlM,cAGvEwR,EAAetF,GAAUA,EAAOlM,MAAQkM,EAAOlM,MAAQ,OAE7D,OACIvB,IAAAC,cAAA,OAAKrC,GAAG,yBACH6T,GACGzR,IAAAC,cAAA,UAAQC,UAAW,uBAAuByR,EAAe,KAAO,mBAC5D7M,QA3BEtH,IACdA,EAAEyM,iBACF+H,EAAkBgB,GAAQA,EAAO,GACjC1B,EAAkBD,EAAiBc,GAEnC,MAAMc,EAAUxU,SAAS0L,cAAc,cACjC+I,EAAiBjL,WAAW,IAAMgL,EAAQrI,UAAUuI,OAAO,eAAgB,KAMjF,OAJGF,GACCA,EAAQrI,UAAUC,IAAI,eAGnB,IAAMuI,aAAaF,KAgBdlT,IAAAC,cAAA,OAAKC,UAAU,eAAeb,MAAO,CAAEC,UAAW,mBAC9CU,IAAAC,cAAA,OAAKrC,GAAG,oBAAoB4J,MAAM,KAAKF,OAAO,KAAK+L,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BACrFvT,IAAAC,cAAA,QAAMuT,EAAE,2CAA2CC,OAAQV,EAAcW,eAAa,MACtF1T,IAAAC,cAAA,QAAMuT,EAAE,qBAAqBC,OAAQV,EAAcW,eAAa,IAAIC,iBAAe,QAAQC,kBAAgB,aAK3H5T,IAAAC,cAAA,OAAKC,UAAW,cAAauR,EAAkB,gBAAkB,IAAM7T,GAAIA,EAAIiW,SA1GlE5H,IACjBqG,EAAarG,EAAM6H,cAAczB,aA0GzBrS,IAAAC,cAAA,MAAIC,UAAU,qBAAqB6T,aAAW,mCACzCzL,EAAMtL,IAAI,CAACgX,EAAW7R,IACnBnC,IAAAC,cAAA,MAAIC,UAAU,eAAe8C,IAAK,kBAAoBb,GAClDnC,IAAAC,cAAA,OAAK+C,IAAKgR,EAAUpW,GAAIsC,UAAW,mBAAkB+Q,IAAe9O,GAAS,WAEzEnC,IAAAC,cAAA,UACIgU,gBAAe,WAAW9R,EAC1B+R,gBAAejD,IAAe9O,EAC9BvE,GAAI,qBAAqBuE,EACzBjC,UAAU,kBACV4E,QAAUtH,IA/IZ2W,EAAC3W,EAAG2E,KAC9B3E,EAAEyM,iBACF,IAAImK,EAAY3V,SAAS4V,eAAezW,GACxC,GAAIwW,EAAW,CACUA,EAAU1V,iBAAiB,mBACjC4V,QAAQpS,GAAQA,EAAK0I,UAAUuI,OAAO,WACrD3V,EAAEkE,OAAO6S,cAAc3J,UAAU4J,OAAO,UACxCtD,EAAc/O,KAwI4BgS,CAAsB3W,EAAG2E,KAC3CnC,IAAAC,cAAA,WAEKgR,IAAe9O,EACZnC,IAAAC,cAAA,OAAKuH,MAAM,KAAKF,OAAO,KAAK+L,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BAC9DvT,IAAAC,cAAA,QAAMwU,YAAU,UAAUC,YAAU,UAAUlB,EAAE,gLAAgLF,KAAMP,KAIxO/S,IAAAC,cAAA,OAAKuH,MAAM,KAAKF,OAAO,KAAK+L,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BAChEvT,IAAAC,cAAA,UAAQ0U,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKpB,OAAQV,EAAcW,eAAa,MAClE1T,IAAAC,cAAA,QAAMqT,KAAMP,EAAcS,EAAE,oBAC5BxT,IAAAC,cAAA,QAAMqT,KAAMP,EAAcS,EAAE,wBAKpCxT,IAAAC,cAAA,QAAMZ,MAAO,IAAKwT,EAAgB9Q,WAAYiS,EAAU3S,OAAOyT,mBAAqBd,EAAU3S,OAAOyT,kBAAkB1V,OAASc,UAAW,oBAAgE,YAA7C8T,EAAU3S,OAAO0T,kBAAkB3V,MAAsB,GAAK4U,EAAU3S,OAAO0T,kBAAkB3V,QAAU4U,EAAU3S,OAAO2T,UAAU5V,SAI5SY,IAAAC,cAAA,OACIgV,cAAahE,IAAe9O,EAC5BvE,GAAI,WAAWuE,EACfjC,UAAW,2BAA0B8T,EAAU3S,OAAO6T,wBAA2E,YAAjDlB,EAAU3S,OAAO6T,sBAAsB9V,MAAsB,GAAK4U,EAAU3S,OAAO6T,sBAAsB9V,SACzLY,IAAAC,cAAA,UACK+T,EAAU3S,OAAO8T,UAAUnY,IAAI,CAACoY,EAAUC,IACvCrV,IAAAC,cAAA,MAAIZ,MAAO,CAAE,gBAAiB+V,EAAS/T,OAAOiU,OAAOlW,MAAO2C,WAAYiS,EAAU3S,OAAOkU,mBAAqBvB,EAAU3S,OAAOkU,kBAAkBnW,OAAS4D,IAAK,kBAAoBqS,GAAMD,EAAS/T,OAAOmU,aAAapW,UAIlOY,IAAAC,cAAA,MAAIZ,MAAO,CAAE,eAAgBoO,GAAUA,EAAOlM,MAAQkM,EAAOlM,MAAQ,eAMxFkQ,GACGzR,IAAAC,cAAA,UAAQC,UAAW,uBAAuB2R,EAAiB,OAAS,qBAChE/M,QAtGEtH,IACdA,EAAEyM,iBACF+H,EAAkBgB,GAAQA,EAAO,GACjC1B,EAAkBD,EAAiBc,GAEnC,MAAMc,EAAUxU,SAAS0L,cAAc,cACjC+I,EAAiBjL,WAAW,IAAMgL,EAAQrI,UAAUuI,OAAO,eAAgB,KAMjF,OAJGF,GACCA,EAAQrI,UAAUC,IAAI,eAGnB,IAAMuI,aAAaF,KA2FdlT,IAAAC,cAAA,OAAKC,UAAU,kBACXF,IAAAC,cAAA,OAAKrC,GAAG,oBAAoB4J,MAAM,KAAKF,OAAO,KAAK+L,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BACrFvT,IAAAC,cAAA,QAAMuT,EAAE,2CAA2CC,OAAQV,EAAcW,eAAa,MACtF1T,IAAAC,cAAA,QAAMuT,EAAE,qBAAqBC,OAAQV,EAAcW,eAAa,IAAIC,iBAAe,QAAQC,kBAAgB,eCpDxH6B,MA3IwBpX,IAErC,MAAM,OACJqX,EAAS,KAAI,eACbC,EAAiB,KAAI,eACrBC,EAAiB,CAACxW,MAAO,WAAU,iBACnC+B,EAAmB,KAAI,sBACvB0U,EAAwB,KAAI,WAC5BzU,EAAa,KAAI,YACjB0U,EAAc,KAAI,WAClBC,EAAa,GAAE,cACfvG,EAAgB,MACdnR,EAAMgD,QAEJ,oBACJqI,EAAsB,IACpBrL,EAAMsL,QAAU,IAEbqM,EAAiBC,GAAsB9R,mBAAS,IAChD+R,EAAaC,GAAkBhS,oBAAS,IACxCiS,EAAiBC,GAAsBlS,mBAAS,OAChDmS,EAAWC,GAAgBpS,qBAE5B7C,EAAiB,CACrBsO,UAAWlG,GAA+C,MAAxBA,EAA8B,MAAQ,IAGpE8M,EAAU,CACdjV,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAInFqX,EAAgBvR,mBAChBwR,EAASxR,mBACTyR,EAAoBzR,mBACpB0R,EAAWC,sBAAYC,IAAsB,IAArB,EAAEC,EAAC,EAAEC,EAAC,MAAEC,GAAOH,EAE3C,MAAQI,QAASC,GAAQT,EAEzB,GAAIS,EAAK,CACP,MAAM/X,EAAQgY,YAAqB,CAAEL,IAAGC,IAAGC,UAC3CE,EAAI9X,MAAMgY,YAAY,YAAajY,KAGpC,IAEH4I,oBAAU,MACHkO,GAAeS,GAAqBA,EAAkBO,SAASP,EAAkBO,QAAQI,QAAQ,CAAEP,EAAG,EAAGC,EAAG,EAAGC,MAAO,KAC1H,CAACf,IAeJlO,oBAAU,KAZmBpK,KAC3B,MAAQsZ,QAASC,GAAQV,EAErBU,IACFA,EAAIvM,UAAUuI,OAAO,eACrBgE,EAAIrM,aAAa,MAAOiL,EAAWnY,GAAIyD,OAAOsP,SAASvR,OACvD+X,EAAIrM,aAAa,MAAOiL,EAAWnY,GAAIyD,OAAOuP,aAAaxR,OACtD+X,EAAII,YACTJ,EAAIvM,UAAUC,IAAI,iBAKpB2M,CAAoBxB,IACnB,CAACA,IAEJhO,oBAAU,KACR,MAAMyP,EAAkBhZ,SAAS0L,cAAc,4BAC/CoM,EAAakB,IACZ,CAACnB,IAGJ,MAAMoB,EAAeA,KACnB,MAAMC,EAAOlZ,SAASkZ,KAClBA,EAAK/M,UAAUgN,SAAS,cAAeD,EAAK/M,UAAUuI,OAAO,cAC5DwE,EAAK/M,UAAUC,IAAI,cACxBsL,GAAgBD,IAGZ2B,EAAchB,sBAAYiB,IACjB,OAATA,GACFzB,EAAmByB,EAAK/Y,wBAAwBuI,SAEjD,IAEH,OACEyO,GAAcA,EAAWnX,OAAS,GAClCoB,IAAAC,cAAA,OAAKC,UAAU,cAAcb,MAAOiC,GAClCtB,IAAAC,cAAA,OAAKC,UAAU,kBAEbF,IAAAC,cAAA,OACEC,UAAW,gBACXb,MAA+B,SAAxBmQ,EAAcpQ,MAAmB,CAAE2Y,MAAO,IAAO,IAExD/X,IAAAC,cAAA,OAAKC,UAAW,iCAAgCoW,EAAY,YAAc,IAAMjX,MAAOmX,EAAS7J,IAAKkL,GACjG7X,IAAAC,cAAA,OAAKC,UAAW,WAAmC,YAAzB0V,EAAexW,MAAsB,GAAKwW,EAAexW,OAASC,MAAO,CAAE0C,WAAY4T,GAAkBA,EAAevW,QAChJY,IAAAC,cAAC+B,OAAI,CAACC,MAAOyT,GAAUA,EAAOtW,MAAQsW,EAAS,MAGnD1V,IAAAC,cAAC+Q,EAAS,CACRpT,GAAIkY,EAAY1W,MAChBkJ,MAAOyN,EACP9E,WAAY+E,EACZ9E,cAAe+E,EACf9E,kBAAmB6G,IACnB5G,kBAAmB6G,IACnBxK,OAAQ+I,MAMdxW,IAAAC,cAAA,OACEC,UAAW,gBACXb,MAA+B,SAAxBmQ,EAAcpQ,MAAmB,CAAE2Y,MAAO,GAAM,IAEvD/X,IAAAC,cAAA,OAAKC,UAAU,8BAA8Bb,MAAO,CAAEmC,gBAAiBqU,EAAsBzW,MAAQyW,EAAsBzW,MAAQ,SACjIY,IAAAC,cAAA,OAAK0M,IAAK8J,EAAe7Y,GAAG,eAAesC,UAAU,yBAAyB4E,QAAS4S,EAAcrY,MAAO,CAAE,iBAAkB+W,EAAkB,QAClJpW,IAAAC,cAAA,OAAKC,UAAW,yBAAwBgW,GAAe,eACrDlW,IAAAC,cAAA,UAAQ6E,QAAS4S,GAAc1X,IAAAC,cAAA,OAAKC,UAAU,YAAY0B,IAAKsW,OAC/DlY,IAAAC,cAAA,OAAKC,UAAU,gBACbF,IAAAC,cAACkY,IAAc,CACbxL,IAAKgK,EACLC,SAAUA,EAAUvX,MAAO,CAAEiI,OAAQ,OAAQE,MAAO,QACpD4Q,cAAe,EACflY,UAAU,cACVF,IAAAC,cAAA,OAAK0M,IAAK+J,EAAQ9U,IAAKmU,EAAWC,GAAiB3U,OAAOsP,SAASvR,MAAOuC,IAAKoU,EAAWC,GAAiB3U,OAAOuP,aAAaxR,gBC3BlIiZ,MAzGoBha,IAC/B,MAAM,QACFia,EAAO,YACPC,EAAW,SACX9X,EAAQ,cACR+X,EAAa,YACbC,EAAW,eACXC,EAAc,eACdC,EAAiB,CAACvZ,MAAO,YACzBf,EAAMgD,OA0EV,OACIrB,IAAAC,cAAA,OAAKC,UAAU,UACXF,IAAAC,cAAA,OAAKC,UAAU,aA1EJ0Y,MACf,IAAIC,EAAa,GAoCjB,OAlCIP,GAAWA,EAAQlZ,QAEfyZ,EADApY,GAAYA,EAASrB,OAASqB,EAASrB,MAAMqC,KAEzCzB,IAAAC,cAAA,OAAKC,UAAU,gBACXF,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAOtD,EAASrB,MAAK,CAAEqC,KAAMhB,EAASrB,MAAMqC,KAAOhB,EAASrB,MAAM0Z,cAC9D9Y,IAAAC,cAAA,OACI0B,IACI4W,GAAeA,EAAYnZ,MACrBmZ,EAAYnZ,MACZ,iBAEVwC,IAAKC,IACLC,WAAUwW,EAAQlZ,MAClBc,UAAU,eAMtBF,IAAAC,cAAA,OAAKC,UAAU,gBACXF,IAAAC,cAAA,OACI0B,IACI4W,GAAeA,EAAYnZ,MACrBmZ,EAAYnZ,MACZ,iBAEVwC,IAAKC,IACLC,WAAUwW,EAAQlZ,MAClBc,UAAU,eAMvB2Y,GAsCED,GACD5Y,IAAAC,cAAA,OAAKC,UAAU,OACXF,IAAAC,cAAA,OAAKC,UAAU,gCACVsY,GACGA,EAAcpZ,OACdY,IAAAC,cAAA,OAAKC,UAAU,sBAAsBb,MAAO,CAAE0C,WAAY2W,GAAkBA,EAAetZ,QACvFY,IAAAC,cAAC+B,OAAI,CAACC,MAAOuW,MAIzBxY,IAAAC,cAAA,OAAKC,UAAU,gCA7CL6Y,MACtB,IAAIC,EAAoB,GAExB,GAAIP,GAAeA,EAAY7Z,OAAS,EAAG,CACvC,IAAIqa,EAAoBR,EAAY7Z,OAAS,EAAI,aAAe,GAChEoa,EACIhZ,IAAAC,cAAA,OAAKC,UAAW,iBAA0C,YAAzByY,EAAevZ,MAAsB,GAAKuZ,EAAevZ,SAAS6Z,IAAqB5Z,MAAO,CAAE0C,WAAY2W,GAAkBA,EAAetZ,QACzKqZ,EAAYzb,IAAI,CAACkF,EAAMC,KACpB,MAAM,UACF+W,EAAS,QACTC,GACAjX,EAAKb,OAET,IAAI+X,EAAa,GAWjB,OAVIF,GAAaA,EAAU9Z,OACvB+Z,GAAWA,EAAQ/Z,OAAS+Z,EAAQ/Z,MAAMqC,OAC1C2X,EACIpZ,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,CAAGf,IAAKkW,EAAU9Z,MAAQ+C,GAClBgX,EAAQ/Z,MAAK,CACjBqC,KAAM0X,EAAQ/Z,MAAMqC,KAAO0X,EAAQ/Z,MAAM0Z,cAEzC9Y,IAAAC,cAAC+B,OAAI,CAACC,MAAOiX,MAGlBE,KAKvB,OAAOJ,GAiBUD,QC/EVM,MApB4Bhb,IACvC,MAAM,SACJsS,EAAQ,aACRC,GACEvS,EAAMgD,OAGV,OAAIuP,GAAgBA,EAAaxR,OAASuR,GAAYA,EAASvR,MAEvDY,IAAAC,cAAA,OAAKC,UAAU,oBACXF,IAAAC,cAAA,OACQ0B,IAAKiP,EAAaxR,MAClB0C,WAAU6O,EAASvR,MACnBc,UAAU,cAIjB,MCuBFoZ,MAvC2Bjb,IACxC,MAAM,MACJ4P,EAAK,cACLC,EAAa,cACbC,EAAgB,CAAC/O,MAAO,WAAU,YAClCgP,EAAW,oBACXC,EAAmB,oBACnBC,EAAsB,CAAClP,MAAO,WAAU,iBACxC+B,EAAgB,WAChBC,GACE/C,EAAMgD,OAEJC,EAAiB,CACrBC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAIzF,OACE6O,GAASG,GACTpO,IAAAC,cAAA,OAAKC,UAAU,kBAAkBb,MAAOiC,GACtCtB,IAAAC,cAAA,OAAKC,UAAU,aACZ+N,GAASA,EAAM7O,OACdY,IAAAC,cAAA,OAAKC,UAAW,2BAAkD,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAO,CAAE0C,WAAYmM,GAAiBA,EAAc9O,QAC5JY,IAAAC,cAAC+B,OAAI,CAACC,MAAOgM,KAGhBG,GAAeA,EAAYhP,OAC1BY,IAAAC,cAAA,OAAKC,UAAU,8BACbF,IAAAC,cAAA,OAAKC,UAAW,iCAA8D,YAA9BoO,EAAoBlP,MAAsB,GAAKkP,EAAoBlP,OAASC,MAAO,CAAE0C,WAAYsM,GAAuBA,EAAoBjP,QAC1LY,IAAAC,cAAC+B,OAAI,CAACC,MAAOmM,S,wCC6GZmL,MAxIkBlb,IAC/B,MAAM,QACJmb,EAAO,QACPC,EAAO,SACPC,EAAQ,UACRC,EAAS,YACTC,EAAW,cACX1L,EAAa,kBACb2L,EAAoB,CAACza,MAAO,WAAU,YACtC0a,EAAW,gBACXC,EAAe,oBACfC,EAAsB,CAAC5a,MAAO,YAC5Bf,EAAMgD,OAEJ4Y,EAAa,CACjB1Y,MAAOqY,GAAeA,EAAYxa,MAAQwa,EAAYxa,MAAQ,UAC9D2C,WAAYmM,GAAiBA,EAAc9O,OAGvC8a,EAAe,CACnB3Y,MAAOqY,GAAeA,EAAYxa,MAAQwa,EAAYxa,MAAQ,UAC9D2C,WAAYgY,GAAmBA,EAAgB3a,QAG1C+a,EAAcC,GAAmBjW,qBAExC6D,oBAAU,KACR,MAAMqS,EAAY5b,SAAS0L,cAAc,8BACzC,GAAIkQ,EAAW,CACb,MACMC,EADcrb,OAAOsb,iBAAiBF,GACZG,iBAAiB,SAEjD,IAAIF,EAGF,MAAO,UAFPF,EAAgBE,KAKnB,CAACH,IAEJ,MAAMM,EAAmBA,KACvB,IAAIC,EAAmB,GA+BvB,OA7BIlB,GAAWA,EAAQpa,QAEnBsb,EADEhB,GAAYA,EAASta,OAA0C,UAAjCsa,EAASta,MAAM6J,cAE7CjJ,IAAAC,cAAA,SACE0a,UAAU,EACV5K,UAAU,EACV6K,MAAM,EACNC,OAAO,EACPC,aAAa,GAEb9a,IAAAC,cAAA,UAAQ2B,IAAK4X,EAAQpa,MAAOyF,KAAK,cACjC7E,IAAAC,cAAA,UAAQ2B,IAAK4X,EAAQpa,MAAOyF,KAAK,cAAc,gDAKnD7E,IAAAC,cAAA,OACA0B,IACE8X,GAAWA,EAAQra,MACfqa,EAAQra,MACR,eAENwC,IAAKC,IACLC,WAAU0X,EAAQpa,MAClB2b,QAAUvd,GAAMA,EAAEkE,OAAOE,IAAMC,IAC/B3B,UAAU,cAIPwa,GAGHM,EAAkBxd,IACtBA,EAAEyM,iBAEF,MAAMgR,ECpFwBC,EAACC,EAASC,KACxC,GAAID,EACA,MAAQA,EAAUA,EAAQ5G,iBAAmB4G,EAAQvQ,UAAUgN,SAASwD,KAE5E,OAAOD,GDgFeD,CADR1d,EAAEkE,OACkC,YAClD,GAAIuZ,EAAe,CACjB,MAAMI,EAAcJ,EAAcK,mBAElC,GAAID,EAAa,CACf,IAAIE,EAAatc,OAAOuc,YAEpBC,EAAuC,IAAzBF,EADHF,EAAYK,WAEvBC,EAAaJ,EAAaE,EAC1BG,EAAYC,YAAYC,MAS5B7c,OAAO8c,uBAPP,SAASC,IACP,IAAIC,GAAiBJ,YAAYC,MAAQF,GAAa,IAClDK,EAAgB,IAAGA,EAAgB,GACvChd,OAAOid,SAAS,EAAGT,EAAaE,EAAahJ,KAAKwJ,IAAIF,EAAgBtJ,KAAKyJ,KACvEH,EAAgB,GAAGhd,OAAO8c,sBAAsBC,SAQ5D,OAAIvB,KAAsBd,GAAaA,EAAUva,OAAS0a,GAAeA,EAAY1a,MAEjFY,IAAAC,cAAA,OAAKC,UAAU,YACbF,IAAAC,cAAA,OAAKC,UAAU,mBACZua,KAEHza,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAAA,OAAKC,UAAU,aACV4Z,GACCA,EAAY1a,OACZY,IAAAC,cAAA,OAAKC,UAAW,qBAAmD,YAA9B8Z,EAAoB5a,MAAsB,GAAK4a,EAAoB5a,SAASua,GAAaA,EAAUva,MAAQ,GAAK,YAAaC,MAAO6a,GACvKla,IAAAC,cAAC+B,OAAI,CAACC,MAAO6X,KAGhBH,GACCA,EAAUva,OACVY,IAAAC,cAAA,OAAKC,UAAW,oBAA+C,YAA5B2Z,EAAkBza,MAAsB,GAAKya,EAAkBza,OAASC,MAAO4a,GAChHja,IAAAC,cAAC+B,OAAI,CAACC,MAAO0X,MAKrB3Z,IAAAC,cAAA,UAAQC,UAAU,mBAChB4E,QAASkW,GACThb,IAAAC,cAAA,OAAKC,UAAU,iBAAiBb,MAAO,CAACmC,gBAAiB2Y,IACvDna,IAAAC,cAAA,OAAK2B,IAAKya,IAAa1a,IAAI,eAAetC,MAAO,CAACG,QAAS,SAMzD,MEYD8c,MAjJsBje,IACnC,MAAM,QACJgF,EAAO,gBACPC,EAAe,gBACfC,EAAkB,CAACnE,MAAO,WAAU,WACpCoE,EAAU,mBACVC,EAAkB,mBAClBC,EAAqB,CAACtE,MAAO,WAAU,WACvCmd,EAAU,iBACVpb,EAAgB,WAChBC,GACE/C,EAAMgD,QAEJ,oBACJqI,EAAsB,IACpBrL,EAAMsL,QAAU,IAEb6S,EAAUC,GAAetY,oBAAS,GAEzC6D,oBAAU,KACJ/I,QACEA,OAAOyL,WAAa,KACtB+R,GAAY,IAGf,IAEH,IAAIC,EAAYtb,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UACpE,MAAMud,EAAgB,CACpBpb,MAAOmb,EACPlb,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,UACvFwd,WAAYlT,GAA+C,MAAxBA,EAA8B,MAAQ,IAGrEmJ,EAAiB,CACrBC,gBAAiB,iDAAiD4J,UAqFpE,OAAIH,GAAcA,EAAW3d,OAAS,EAElCoB,IAAAC,cAAA,OAAKC,UAAU,YAAYb,MAAOsd,GAChC3c,IAAAC,cAAA,OAAKC,UAAU,cACXmD,GAAWA,EAAQjE,OAASoE,GAAcA,EAAWpE,QACrDY,IAAAC,cAAA,OAAKC,UAAU,mBACZmD,GAAWA,EAAQjE,OAClBY,IAAAC,cAAA,OAAKC,UAAW,qBAA8C,YAA1BqD,EAAgBnE,MAAsB,GAAKmE,EAAgBnE,OAASC,MAAO,CAAE0C,WAAYuB,GAAmBA,EAAgBlE,QAC9JY,IAAAC,cAAC+B,OAAI,CAACC,MAAOoB,KAGhBG,GAAcA,EAAWpE,OACxBY,IAAAC,cAAA,OAAKC,UAAW,0BAAuD,YAA7BwD,EAAmBtE,MAAsB,GAAKsE,EAAmBtE,SAASiE,GAAWA,EAAQjE,MAAQ,aAAe,KAAMC,MAAO,CAAE0C,WAAY0B,GAAsBA,EAAmBrE,QAChOY,IAAAC,cAAC+B,OAAI,CAACC,MAAOuB,MA/FPqZ,MACpB,IAAIC,EAAgB,GA8EpB,OA5EIP,GAAcA,EAAW3d,OAAS,IACpCke,EACE9c,IAAAC,cAAA,OAAKC,UAAU,sBACbF,IAAAC,cAAA,OAAKC,UAAU,OACZqc,EAAWvf,IAAI,CAACkF,EAAMC,KACrB,MAAM,KACJ4a,EAAI,SACJpM,EAAQ,aACRC,EAAY,MACZ3C,EAAK,cACLC,EAAgB,KAAI,mBACpB8O,EAAqB,CAAC5d,MAAO,YAC3B8C,EAAKb,OAET,IAAI4b,EAAc,GACdC,EAAS,EACTC,GAAS,EACb,MAAMC,EAAWjb,EAAQ,EAErBib,EAAW,IAAM,IACnBF,EAAS,EACTC,GAAS,GAGPX,GAAYra,EAAQ,IACtB+a,EAAS,GAGX,IAAIG,EAAS,IA0Cb,OAzCID,EAAW,IAAM,EACnBC,EAAS,IAEFD,EAAW,IAAM,EACxBC,EAAS,IACAF,IACTE,EAAS,KAGPN,GAAQA,EAAK3d,OAAS2d,EAAK3d,MAAMqC,MAAQkP,GAAYA,EAASvR,QAChE6d,EACEjd,IAAAC,cAAA,OAAKC,UAAW,qBAAqBmd,EACnCra,IAAK,eAAiBb,GACtBnC,IAAAC,cAACG,EAAW,CAACtB,SAAUoe,GACrBld,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAOgZ,EAAK3d,MAAK,CAAEqC,KAAMsb,EAAK3d,MAAMqC,KAAOsb,EAAK3d,MAAM0Z,YACpD5Y,UAAU,4CAEVF,IAAAC,cAAA,OAAKC,UAAU,qDACbF,IAAAC,cAAA,OACE0B,IACEiP,GAAgBA,EAAaxR,MACzBwR,EAAaxR,MACb,sBAENwC,IAAKC,IACLC,WAAU6O,EAASvR,MACnBc,UAAU,yBAGb+N,GACCA,EAAM7O,OACNY,IAAAC,cAAA,QAAMC,UAAW,mDAA+E,YAA7B8c,EAAmB5d,MAAsB,GAAK4d,EAAmB5d,OAClIC,MAAO,IAAKwT,EAAgB9Q,WAAYmM,GAAiBA,EAAc9O,QACvEY,IAAAC,cAAC+B,OAAI,CAACC,MAAOgM,SAQpBgP,OAMVH,GAqBAD,KAIK,M,qBC5BDS,OAnH2Bjf,IAExC,MACEkf,aAAcC,EAAS,GAAE,OACzBlI,EAAS,KAAI,gBACbmI,EAAkB,KAAI,gBACtBC,EAAkB,CAACte,MAAO,YACxBf,EAAMgD,QAEHsc,EAAOC,GAAYzZ,mBAAS,MAMnC6D,oBAAU,KAEJ2V,GAEFA,EAAME,GAAG,SAAW1b,IAClB,IAAI2b,EAAmBrf,SAAS+L,uBAAuB,QAAQmT,EAAMI,MACjEC,EAAmBF,EAAiB,GAAGzC,YAAY3c,iBAAiB,yCACrDof,EAAiB,GAAGzC,YAAYlR,cAAc,kBAEpD8T,YAAc,IAAG9b,EAAQ,GAGtC+b,MAAMC,KAAKH,GAAkB1J,QAAQ,CAAC8J,EAAQzf,KACxCyf,EAAOxT,UAAUgN,SAAS,eAC5BwG,EAAOxT,UAAUuI,OAAO,aACxBiL,EAAO/e,MAAMmC,gBAAkB,IAE7B7C,IAAMwD,IACRic,EAAOxT,UAAUC,IAAI,aACjByK,GAAUA,EAAOlW,QAAOgf,EAAO/e,MAAMmC,gBAAkB8T,EAAOlW,aAKzE,CAACue,IAuCJ,OACE3d,IAAAC,cAAA,OAAKC,UAAW,2BAAoD,YAA1Bwd,EAAgBte,MAAsB,GAAKse,EAAgBte,QAElGoe,GAAUA,EAAO5e,OAAS,GACzBoB,IAAAC,cAACuQ,IAAQ,CACPtQ,UAAW,kBAAiByd,GAASA,EAAMI,MAC3C7Q,QAzEa,CACnB+C,UAAU,GAyEJoO,YAAa1R,GAAOiR,EAASjR,GAC7B8D,gBAAgB,EAChBC,QAAQ,GAEP8M,EAAOxgB,IAAI,CAACkF,EAAMC,KACjB,MAAQwO,SAAUlF,EAAKmF,aAAcjP,EAAK2c,QAASC,EAAO,iBAAEC,GAAqBtc,EAAKb,OACtF,OAAIoK,GAAOA,EAAIrM,MAEXY,IAAAC,cAAA,OAAKC,UAAW,mBAAkBse,GAA+C,aAA3BA,EAAiBpf,MAAuB,WAAa,IAAM4D,IAAK,YAAYb,GAChInC,IAAAC,cAAA,OACE2B,IAAK6J,EAAIrM,MACTc,UAAU,sBACV8C,IAAK,WAAWb,EAChBR,IAAKA,GAAOA,EAAIvC,MAAQuC,EAAIvC,MAAQ,mBAErCmf,EAAQnf,OAASY,IAAAC,cAAA,KAAGZ,MAAO,CAAE0C,WAAY0b,GAAmBA,EAAgBre,QAAUmf,EAAQnf,QAIvF,QAKnBue,GAASH,EAAO5e,QAjEjBoB,IAAAC,cAAA,OAAKC,UAAU,iCACbF,IAAAC,cAAA,OAAKC,UAAU,yBACbF,IAAAC,cAAA,OAAKC,UAAU,iCACZyd,EAAMc,OAAOzhB,IAAI,CAAC0hB,EAAOvc,IAEtBnC,IAAAC,cAAA,UAAQ+C,IAAKb,EACXjC,UAAW,yCAAwCyd,EAAMgB,gBAAkBxc,GAAS,aACpF9C,MAAO,CAAEmC,gBAAiBmc,EAAMgB,gBAAkBxc,GAASmT,GAAUA,EAAOlW,MAAQkW,EAAOlW,MAAQ,IACnG+C,MAAOA,EACP2C,QAASA,IAAM6Y,EAAMiB,OAAOzc,OAMpCnC,IAAAC,cAAA,OAAKC,UAAU,iCACbF,IAAAC,cAAA,UAAQ6E,QAASA,KAAQ6Y,EAAMkB,aAC7B7e,IAAAC,cAAA,OAAK2B,IAAKkd,KAAcnd,IAAI,OAAOzB,UAAU,kBAG/CF,IAAAC,cAAA,OAAKC,UAAU,4CACbF,IAAAC,cAAA,OAAKrC,GAAG,gBAAgBsC,UAAU,eAAeyd,EAAMgB,cAAgB,GAAQ,IAAC3e,IAAAC,cAAA,YAAM,KAAQ,KAAED,IAAAC,cAAA,QAAMC,UAAU,eAAeyd,EAAMc,OAAO7f,SAI9IoB,IAAAC,cAAA,UAAQ6E,QAASA,IAAM6Y,EAAMoB,QAC3B/e,IAAAC,cAAA,OAAK2B,IAAKkd,KAAcnd,IAAI,OAAOzB,UAAU,wBCvC5C8e,OAjCE3gB,IACf,IAAI4gB,EACJ,MAAOC,EAAQC,GAAahb,oBAAS,GAE/Bib,EAAUA,KACdH,EAAUhX,WAAW,KACnBkX,GAAU,IACT9gB,EAAMghB,OAAS,MAQpB,OACErf,IAAAC,cAAA,OACEC,UAAU,kBACVof,aAAcF,EACdG,aATYC,KACdC,cAAcR,GACdE,GAAU,IAQRra,QAASsa,GAGR/gB,EAAM8B,SACN+e,GACClf,IAAAC,cAAA,OAAKC,UAAW,eAAkC,YAAnB7B,EAAMqhB,SAAyB,GAAKrhB,EAAMqhB,YAAYrhB,EAAMshB,WAAa,QAAStgB,MAAOhB,EAAMgB,OAC3HhB,EAAMuhB,QAAQrgB,MAAM,MAAMvC,IAAI,CAAC6iB,EAAMlhB,EAAGmhB,IAAQnhB,IAAMmhB,EAAIlhB,OAAS,EAAIihB,EAAO7f,IAAAC,cAAC8f,WAAQ,CAAC/c,IAAK6c,GAAOA,EAAK7f,IAAAC,cAAA,gBC0ErG+f,OAlGmC3hB,IAChD,MAAM,SACJsS,EAAQ,SACRsP,EAAQ,YACRC,GACE7hB,EAAMgD,QAEJ,oBACJqI,EAAsB,IACpBrL,EAAMsL,QAAU,GAEdrI,EAAiB,CACrB4F,OAAQwC,GAA+C,MAAxBA,EAA8B,MAAQ,IA4DvE,OACEiH,GAAYsP,GACZjgB,IAAAC,cAAA,OAAKC,UAAU,0BAA0Bb,MAAOiC,GAC9CtB,IAAAC,cAAA,OAAKC,UAAW,IAAGggB,GAAeA,EAAY9gB,MAAQ,GAAK,cACzDY,IAAAC,cAAA,OAAKC,UAAW,2BACbyQ,GAAYA,EAASvR,OACpBY,IAAAC,cAAA,OACE0B,IAAI,gCACJG,WAAU6O,EAASvR,MACnBc,UAAU,WACV0B,IAAKC,IACLkZ,QAAUvd,IACRA,EAAEkE,OAAOE,IAAMC,IACfrE,EAAEkE,OAAOrC,MAAM8gB,YAAc,UAtEpBC,MACrB,GAAIH,GAAYA,EAASrhB,OAAS,EAAG,CAEnC,IAAIyhB,EAAiBJ,EAASjjB,IAAI,CAACkF,EAAMC,KACvC,MAAM,aACJme,EAAe,KAAI,qBACnBC,EAAuB,KAAI,qBAC3BC,EAAuB,CAACphB,MAAO,WAAU,gBACzCqhB,EAAkB,KAAI,gBACtBC,EAAkB,KAAI,kBACtBC,EAAoB,KAAI,aACxBC,EAAe,KAAI,YACnBC,EAAc,KAAI,OAClBvL,EAAS,KAAI,UACbwL,EAAY,KAAI,aAChBC,EAAe,MACb7e,EAAKb,QAAU,GAEnB,IAAIlC,EAAM+gB,EAAY9gB,MAAQ4hB,WAAWH,EAAYzhB,OAAS,EAAI4hB,WAAWH,EAAYzhB,OACrF6hB,EAAOf,EAAY9gB,MAAQ4hB,WAAWJ,EAAaxhB,OAAS,GAAM4hB,WAAWJ,EAAaxhB,OAE9F,MAAM8hB,EAAe,CACnB/hB,IAAK0hB,GAAeA,EAAYzhB,MAAWD,EAAH,IAAY,IACpD8hB,KAAML,GAAgBA,EAAaxhB,MAAW6hB,EAAH,IAAa,IACxDniB,SAAU,YAGNqiB,EAAa,CACjB3f,gBAAiBkf,GAAmBA,EAAgBthB,MAAQshB,EAAgBthB,MAAQ,UACpFmC,MAAOof,GAAqBA,EAAkBvhB,MAAQuhB,EAAkBvhB,MAAQ,OAChF2C,WAAYwe,GAAwBA,EAAqBnhB,OAGrDgiB,EAAe,CACnB5f,gBAAiB8T,GAAUA,EAAOlW,MAAQkW,EAAOlW,MAAQ,GACzDiiB,YAAaP,EAAU1hB,OAAS2hB,EAAa3hB,MAAQ2hB,EAAa3hB,MAAQ,IAW5E,OAPEY,IAAAC,cAAA,OAAKC,UAAU,4BAA4B8C,IAAK,WAAab,EAAO9C,MAAO6hB,GACzElhB,IAAAC,cAAC+e,GAAO,CAACY,QAASU,EAAalhB,MAAOsgB,SAAUc,EAAqBphB,MAAOugB,UAAWc,EAAgBrhB,MAAOC,MAAO8hB,EAAY9B,MAAM,OACrIrf,IAAAC,cAAA,OAAKC,UAAW,sCAAqC4gB,GAAaA,EAAU1hB,MAAQ,YAAc,IAAMC,MAAO+hB,QAQvH,OACEphB,IAAAC,cAAA,OAAKC,UAAU,qBACZmgB,GAGA,OAAO,MAqBPD,OC6DIkB,OArJ4BjjB,IACzC,MAAM,YACJkjB,EAAW,gBACXC,EAAe,QACfC,EAAO,YACPC,EAAW,eACXC,EAAc,gBACdC,EAAe,mBACfC,EAAkB,mBAClBC,EAAqB,CAAC1iB,MAAO,WAAU,2BACvC2iB,EAA0B,qBAC1BC,EAAoB,WACpB5gB,GACE/C,EAAMgD,QAEH4gB,EAAUC,GAAe/d,oBAAS,IAClCge,EAAUC,GAAeje,oBAAS,GAGzC6D,oBAAU,KACR,SAASqa,IACPD,EAAYnjB,OAAOqjB,WAAW,sBAAsBC,SAItD,OAFAtjB,OAAOS,iBAAiB,SAAU2iB,GAClCA,IACO,IAAMpjB,OAAOujB,oBAAoB,SAAUH,IACjD,IAEH,MAAMI,EAAY,CAChBlhB,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MA/BpC,UAgCfiiB,YAAajgB,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAhC1C,WAmCXsjB,EAAW,CACfnhB,MAAOygB,GAAwBA,EAAqB5iB,MAAQ4iB,EAAqB5iB,MApClE,WAsCXujB,EAAoBZ,GAA8BA,EAA2B3iB,MAAQ2iB,EAA2B3iB,MAvCnG,UAwCbwjB,EAAkB,CACtBC,WAAYV,EAAW,4BAA4BQ,gCAAkDA,GAQjGG,EAAgBC,IALCC,QAMPD,EALdtkB,SAASkZ,KAAKtY,MAAMyH,SAAWkc,EAAa,SAAW,UAMvDd,EAAYa,IAsBd,OACE/iB,IAAAC,cAAA,OAAKC,UAAU,mBACbF,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,OAAKC,UAAU,OACbF,IAAAC,cAAA,OAAKC,UAAU,+BACbF,IAAAC,cAAA,OAAKC,UAAU,uBAAuBb,MAAOojB,GAC3CziB,IAAAC,cAAA,UAAQC,UAAW,4BACjB4E,QAASA,IAAMge,GAAa,IAC5B9iB,IAAAC,cAAA,KAAGC,UAAU,wBACbF,IAAAC,cAAA,QAAMZ,MAAO,CAAE0C,WAAY8f,GAAsBA,EAAmBziB,QAAU,SAE/E6iB,GACCjiB,IAAAC,cAAA,OAAKC,UAAU,+BACbb,MAAOujB,GACP5iB,IAAAC,cAAA,OAAKC,UAAU,YAAYb,MAAOqjB,GAChC1iB,IAAAC,cAAA,UAAQC,UAAU,6BAChB4E,QAASA,IAAMge,GAAa,IAC5B9iB,IAAAC,cAAA,KAAGC,UAAU,oBACbF,IAAAC,cAAA,QAAMZ,MAAO,CAAE0C,WAAY8f,GAAsBA,EAAmBziB,QAAU,UAEhFY,IAAAC,cAAA,OAAKC,UAAW,+BAA2D,YAA7B4hB,EAAmB1iB,MAAsB,GAAK0iB,EAAmB1iB,QAC5GwiB,EAAgB5kB,IAAI,CAACkF,EAAMC,KAC1B,MAAM,KACJ4a,EAAI,SACJkG,GAEE/gB,EAAKb,OAET,IAAI6hB,EAAgB,GAYpB,OAXInG,GAAQA,EAAK3d,OAAS2d,EAAK3d,MAAMqC,MAAQwhB,GAAYA,EAAS7jB,QAChE8jB,EACEljB,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,CAAGf,IAAKigB,EAAS7jB,MAAQ+C,GACnB4a,EAAK3d,MAAK,CACdqC,KAAMsb,EAAK3d,MAAMqC,KAAOsb,EAAK3d,MAAM0Z,cAEnC9Y,IAAAC,cAAA,QAAMZ,MAAO,CAAE0C,WAAY8f,GAAsBA,EAAmBziB,QAASY,IAAAC,cAAC+B,OAAI,CAACC,MAAOghB,OAKzFC,MAIbljB,IAAAC,cAAA,OAAKC,UAAU,+BACb4E,QAASA,IAAMge,GAAa,QAOtC9iB,IAAAC,cAAA,OAAKC,UAAU,gCAxEJ0Y,MACjB,IAAIuK,EAAmB,GAgBvB,OAdI5B,GAAeA,EAAYniB,QAE3B+jB,EADE1B,GAAWA,EAAQriB,MAEnBY,IAAAC,cAAA,KAAGwB,KAAMggB,EAAQriB,MAAOc,UAAU,yBAChCF,IAAAC,cAAA,OAAK2B,IAAK2f,EAAYniB,MAAOuC,IAAK6f,GAAmBA,EAAgBpiB,MAAQoiB,EAAgBpiB,MAAQ,mBAIvGY,IAAAC,cAAA,OAAKC,UAAU,yBACbF,IAAAC,cAAA,OAAK2B,IAAK2f,EAAYniB,MAAOuC,IAAK6f,GAAmBA,EAAgBpiB,MAAQoiB,EAAgBpiB,MAAQ,oBAKtG+jB,GAwDEvK,IAEH5Y,IAAAC,cAAA,OAAKC,UAAU,+BACbF,IAAAC,cAAA,OAAKC,UAAU,2BAA2Bb,MAAOojB,GAC9Cf,GACCA,EAAYtiB,OACZsiB,EAAYtiB,MAAMqC,MAClBzB,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAO2d,EAAYtiB,MAAK,CACtBqC,KAAMigB,EAAYtiB,MAAMqC,KAAOigB,EAAYtiB,MAAM0Z,cAE/C6I,GAAkBA,EAAeviB,MACjCY,IAAAC,cAAA,OAAK2B,IAAK+f,EAAeviB,MAAOuC,IAAI,qBAClC3B,IAAAC,cAAA,KAAGC,UAAU,sBAEjBF,IAAAC,cAAA,QAAMZ,MAAO,CAAE0C,WAAY8f,GAAsBA,EAAmBziB,QAAUsiB,GAAeA,EAAYtiB,OAASsiB,EAAYtiB,MAAM6D,KAAOye,EAAYtiB,MAAM6D,KAAO,kBCvItL,MAsCMmgB,GAAmB/kB,IACvB,MAAM,gBAAEiF,EAAkB,KAAI,mBAAEG,EAAqB,MAASpF,EAC9D,OACE2B,IAAAC,cAAA,WAGIhC,OAAOD,KAAKK,EAAMiK,OAAOtL,IAAI,CAACkF,EAAMC,KAElC,IAAIkhB,EAAWnhB,EAAKkJ,WACpB,MAAgB,YAAbiY,GACOhlB,EAAMiK,MAAMpG,GAAM9C,OAAqC,KAA5Bf,EAAMiK,MAAMpG,GAAM9C,QAAiBY,IAAAC,cAAA,OAAKC,UAAW,GAAGmjB,KAA4C,YAAhChlB,EAAMkF,gBAAgBnE,MAAsB,GAAKf,EAAMkF,gBAAgBnE,QAAS4D,IAAK,oBAAsBb,EAAO9C,MAAO,CAAC0C,WAAYuB,GAAmBA,EAAgBlE,QAASY,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAO5D,EAAMiK,MAAMpG,MAEtS,eAAbmhB,GACOhlB,EAAMiK,MAAMpG,GAAM9C,OAAqC,KAA5Bf,EAAMiK,MAAMpG,GAAM9C,QAAiBY,IAAAC,cAAA,OAAKC,UAAW,GAAGmjB,KAA+C,YAAnChlB,EAAMqF,mBAAmBtE,MAAsB,GAAKf,EAAMqF,mBAAmBtE,QAAS4D,IAAK,oBAAsBb,EAAO9C,MAAO,CAAC0C,WAAY0B,GAAsBA,EAAmBrE,QAASY,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAO5D,EAAMiK,MAAMpG,WADlU,MAcJohB,GAAqBjlB,GAGvBA,EAAMklB,SAASvmB,IAAI,CAACkF,EAAMC,KACxB,MAAMqhB,EAAexjB,IAAAC,cAAA,OAAKC,UAAU,WAAW0B,IAAKM,EAAKb,OAAOd,aAAanB,MAAOuC,IAAKO,EAAKb,OAAOb,aAAapB,QAClH,MAA2C,KAApC8C,EAAKb,OAAOZ,SAASrB,MAAMqC,KAAczB,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,CAAG7D,UAAU,aAAgBgC,EAAKb,OAAOZ,SAASrB,MAAK,CAAE4D,IAAK,sBAAwBb,IAAQqhB,GAAoBxjB,IAAAC,cAAA,OAAKC,UAAU,YAAY8C,IAAK,sBAAwBb,GAAQqhB,KAKzNC,OA1EsBplB,IACnC,IAAI,iBAAE8C,EAAgB,WACpBC,EAAU,QACViC,EAAO,gBACPC,EAAe,gBACfC,EAAkB,CAACnE,MAAO,WAAU,WACpCoE,EAAU,mBACVC,EAAkB,mBAClBC,EAAqB,CAACtE,MAAO,WAAU,SACvCmkB,GAAallB,EAAMgD,OAIrB,MAAMC,EAAiB,CACrBC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,UAC3DoC,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAGzF,OACEmkB,GAAYlgB,GAAWG,GACvBxD,IAAAC,cAAA,OAAKC,UAAU,cAAcb,MAAOiC,GAClCtB,IAAAC,cAAA,OAAKC,UAAU,YACbF,IAAAC,cAACmjB,GAAe,CAAC9a,MAAO,CAAEjF,UAASG,cAAcF,gBAAiBA,EAAiBG,mBAAoBA,EAAoBF,gBAAiBA,EAAiBG,mBAAoBA,IAE/K6f,EAAS3kB,OAAS,GAClBoB,IAAAC,cAAA,OAAKC,UAAW,cAA+B,KAAlBmD,EAAQjE,OAAqC,KAArBoE,EAAWpE,MAAe,kBAAoB,KACjGY,IAAAC,cAACqjB,GAAiB,CAACC,SAAUA,QC9BzC,MA2BMG,GAAiBrlB,IACrB,MAAM,MAAE4P,EAAK,SAAE0C,EAAQ,SAAEgT,EAAQ,gBAAEC,EAAe,gBAAEC,EAAe,QAAElgB,EAAO,SAAEmgB,GAAazlB,EAAMgD,OAC3F0iB,EAAKC,GACFA,EAAU5kB,MAEnB,OACEY,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAOggB,EAAEpgB,GAAQ,CAAEzD,UAAU,eAC3BF,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAAA,OAAK2B,IAAKmiB,EAAEpT,GAAWhP,IAAKoiB,EAAEJ,OAE5BI,EAAEF,IAA2C,KAAvBE,EAAEF,IAA4BE,EAAEH,IAA2C,KAAvBG,EAAEH,KAC9E5jB,IAAAC,cAAA,OAAKC,UAAU,kBACXF,IAAAC,cAAA,QAAMC,UAAU,wBAAwB6jB,EAAEH,IAAoB,IACpC,KAAvBG,EAAEF,IAA4B7jB,IAAAC,cAAA,YAAO8jB,EAAEF,MAI7CE,EAAE9V,IAAuB,KAAb8V,EAAE9V,KACfjO,IAAAC,cAAA,OAAKC,UAAU,oBACbF,IAAAC,cAAA,YACG8jB,EAAE9V,KAITjO,IAAAC,cAAA,QAAMC,UAAU,mBACdF,IAAAC,cAAA,YAAO8jB,EAAED,IACT9jB,IAAAC,cAAA,OAAKuH,MAAM,KAAKF,OAAO,KAAK+L,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BAChEvT,IAAAC,cAAA,QAAMuT,EAAE,8BAA8BC,OAAO,UAAUwQ,YAAY,MAAMC,cAAc,QAAQC,eAAe,UAC9GnkB,IAAAC,cAAA,QAAMuT,EAAE,kBAAkBC,OAAO,UAAUwQ,YAAY,MAAMC,cAAc,cAOtEE,OA9D0B/lB,IACvC,MAAM,kBAAEgmB,GAAsBhmB,EAAMgD,QAE7Bmb,EAAUC,GAAetY,oBAAS,GAUzC,OARA6D,oBAAU,KACJ/I,QACEA,OAAOyL,YAAc,MACvB+R,GAAY,IAGf,IAGD4H,GAAqBA,EAAkBzlB,OAAS,GAChDoB,IAAAC,cAAA,OAAKC,UAAU,cAEXmkB,EAAkBrnB,IAAI,CAACkF,EAAMC,KAErBqa,GAAYra,EAAQ,GAAOqa,GAAYra,EAAQ,EACjDnC,IAAAC,cAAC/B,EAAc,CAAC8E,IAAKb,EAAOrD,SAAUqD,GAAOnC,IAAAC,cAACyjB,GAAazlB,OAAA8F,OAAA,CAACf,IAAKb,GAAWD,KADrBlC,IAAAC,cAACyjB,GAAazlB,OAAA8F,OAAA,CAACf,IAAKb,GAAWD,OCcrFoiB,OAnCQjmB,IACnB,MAAM,OACF6I,EAAM,UACNqd,EAAS,WACTC,GACAnmB,EAEEomB,EAAYA,KACd,IAAIC,EAAc,GAIlB,MAHe,aAAXxd,IACAwd,EAAc,YAEXA,GAWX,MARiBC,MACb,IAAIC,GAAU,EAId,OAHIJ,GAA6B,SAAfA,IACdI,GAAU,GAEPA,GAGPD,GAEI3kB,IAAAC,cAAA,OACIC,UAAW,kBAAkBukB,IAC7B7mB,GAAI2mB,GAAwB,IAE3BlmB,EAAM8B,UAGL,MC9BlB,MAAM0kB,WAAoC7kB,IAAM7B,UAC9CC,YAAYC,GACVC,MAAMD,GAGRoB,oBACE,GAAIR,OAAQ,CACV,MAAM6lB,EAAK7lB,OAAOR,SAAS4V,eAAe,WACtCyQ,IACFA,EAAGC,QAAU,WAEX,OADA9lB,OAAO+lB,QAAQC,IAAI,IACZ,KAMfrlB,SACE,MAAMvB,EAAQsB,KAAKtB,MACbiD,EAAiB,CACrBE,gBAAiBnD,EAAMgD,OAAOF,kBAAoB9C,EAAMgD,OAAOF,iBAAiB/B,MAAQf,EAAMgD,OAAOF,iBAAiB/B,MAAQ,UAC9H2C,WAAY1D,EAAMgD,OAAO6jB,UAAY7mB,EAAMgD,OAAO6jB,SAAS9lB,OAG7D,OACEY,IAAAC,cAAA,YACK5B,EAAMgD,QAAUhD,EAAMgD,OAAO8jB,UAC5B9mB,EAAMgD,QAAUhD,EAAM+mB,gBAAgBC,cACxCrlB,IAAAC,cAACqkB,GAAa,CAACpd,OAAO,YACnB7I,EAAMgD,QAAUhD,EAAMgD,OAAO8jB,SAC5BnlB,IAAAC,cAAA,OAAKC,UAAU,mBAAmBb,MAAOiC,GACvCtB,IAAAC,cAAA,OAAKC,UAAW,cAAa7B,EAAMgD,OAAO8jB,SAAW9mB,EAAMgD,OAAO8jB,QAAQ/lB,MAAMkmB,SAAS,yBAAwD,GAAK,cACpJtlB,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAO5D,EAAMgD,OAAO8jB,aAKlC9mB,EAAMgD,QAAUhD,EAAM+mB,gBAAgBC,aACtCrlB,IAAAC,cAAA,OAAKC,UAAU,oBACbF,IAAAC,cAAA,SAAG,kEAA+DD,IAAAC,cAAA,WAAM,gCAYzEslB,uCAAsBV,ICvBtBW,OA7ByBnnB,IACtC,MAAM,MACJ4P,EAAK,YACL2L,EAAW,cACX1L,EAAa,cACbC,EAAgB,CAAC/O,MAAO,WAAU,iBAClC+B,GACE9C,EAAMgD,OAEJokB,EAAmB,CACvBjkB,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAGnFsmB,EAAmB,CACvBnkB,MAAOqY,GAAeA,EAAYxa,MAAQwa,EAAYxa,MAAQ,UAC9D2C,WAAYmM,GAAiBA,EAAc9O,OAG7C,OACEY,IAAAC,cAAA,OAAKC,UAAU,eAAeb,MAAOomB,GACnCzlB,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,OAAKC,UAAW,wBAA+C,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAOqmB,GAC5G1lB,IAAAC,cAAC+B,OAAI,CAACC,MAAOgM,Q,qBC0IR0X,OA9JuBtnB,IACpC,MAAM,iBACJ8C,EAAgB,WAChBC,EAAU,MACV6M,EAAK,cACLC,EAAa,cACbC,EAAgB,CAAC/O,MAAO,WAAU,YAClCgP,EAAW,oBACXC,EAAmB,oBACnBC,EAAsB,CAAClP,MAAO,WAAU,QACxCuE,EAAO,SACPC,EAAQ,cACR4L,EAAa,aACb+N,GACElf,EAAMgD,OAEJukB,EAAiB,CACrBpkB,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,UACvFmC,MAAOH,GAAcA,EAAWhC,MAAQgC,EAAWhC,MAAQ,WAGvDymB,EAAiB,CACrB7W,cAAed,GAAiBA,EAAc9O,MAC9C6P,oBAAqBZ,GAAuBA,EAAoBjP,OAoFlE,OAAIme,GAAgBA,EAAa3e,OAAS,GAAKwP,GAAeA,EAAYhP,MAEtEY,IAAAC,cAAC6lB,KAAe,CACdC,UAAU,oCACVC,aAAa,GAEbhmB,IAAAC,cAAA,OAAKC,UAAU,aAAab,MAAOumB,GACjC5lB,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,OAAKC,UAAW,iBAClBsP,GAAiBA,EAAcpQ,OACgB,UAAtCoQ,EAAcpQ,MAAM6J,cAA4B,aAAe,gBAEpEjJ,IAAAC,cAAA,OAAKC,UAAU,uBA7FL2c,MACpB,IAAIC,EAAgB,GAEpB,GAAIS,GAAgBA,EAAa3e,OAAS,EAAG,CAC3C,IAAIqnB,EAAe,GACS,IAAxB1I,EAAa3e,OACfqnB,EAAe,OACN1I,EAAa3e,OAAS,IAC/BqnB,EAAe,QAGjBnJ,EACE9c,IAAAC,cAAA,OAAKC,UAAW,uBAAuB+lB,GACrCjmB,IAAAC,cAAA,OAAKC,UAAU,OACZqd,EAAavgB,IAAI,CAACkF,EAAMC,KACvB,MAAM,SACJwO,EAAQ,SACRgT,EAAQ,iBACRuC,GACEhkB,EAAKb,OAET,GAAIc,EAAQ,EACV,OAGF,IAAI8a,EAAc,GACdI,EAAS,KAEe,IAAxBE,EAAa3e,QACfye,EAAS,KACK,IAAVlb,IACFkb,EAAS,MAEFE,EAAa3e,OAAS,IAC/Bye,EAAS,KACK,IAAVlb,EACFkb,EAAS,IACU,IAAVlb,IACTkb,EAAS,MAIb,IAAI8I,EAAa,GA+BjB,OA9BID,GAAoBA,EAAiB9mB,QACR,QAA3B8mB,EAAiB9mB,MACnB+mB,EAAa,eACuB,SAA3BD,EAAiB9mB,MAC1B+mB,EAAa,gBACuB,QAA3BD,EAAiB9mB,QAC1B+mB,EAAa,iBAIbxV,GAAYA,EAASvR,QACvB6d,EACEjd,IAAAC,cAAA,OAAKC,UAAW,qBAAqBmd,EACnCra,IAAK,aAAeb,GACpBnC,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKC,UAAW,mBAAmBimB,GACjCnmB,IAAAC,cAAA,OACE0B,IACEgiB,GAAYA,EAASvkB,MACjBukB,EAASvkB,MACT,sBAENwC,IAAKC,IACLC,WAAU6O,EAASvR,MACnBc,UAAU,iBAMf+c,MAKjB,OAAOH,GAgBMD,IAIH7c,IAAAC,cAAA,OAAKC,UAAU,wBAEfF,IAAAC,cAAA,OAAKC,UAAU,uBACbF,IAAAC,cAAA,OAAKC,UAAU,uBACZ+N,GAASA,EAAM7O,OACdY,IAAAC,cAAA,OAAKC,UAAW,sBAA6C,YAAxBiO,EAAc/O,MAAsB,GAAK+O,EAAc/O,OAASC,MAAO,CAAE0C,WAAY8jB,EAAe7W,gBACvIhP,IAAAC,cAAC+B,OAAI,CAACC,MAAOgM,KAGhBG,GAAeA,EAAYhP,OAC1BY,IAAAC,cAAA,OAAKC,UAAW,4BAAyD,YAA9BoO,EAAoBlP,MAAsB,GAAKkP,EAAoBlP,OAASC,MAAO,CAAE0C,WAAY8jB,EAAe5W,sBACzJjP,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOmM,KAGpBzK,GAAWA,EAAQvE,OAASuE,EAAQvE,MAAMqC,MAAQkC,EAAQvE,MAAM6D,MAC/DjD,IAAAC,cAAA,OAAMC,UAAU,mBACdF,IAAAC,cAAA,IAAAhC,OAAA8F,OAAA,GAAOJ,EAAQvE,MAAK,CAClBc,UAAW,aAAY0D,GAAYA,EAASxE,MAAQwE,EAASxE,MAAQ,WACrEC,MAAO,CAAE0C,WAAY8jB,EAAe5W,uBAEnCtL,EAAQvE,MAAM6D,aAWvB,MC7JhB,MAAMmjB,WAAuCjoB,YAC3CC,YAAYC,GACVC,MAAMD,GACNsB,KAAK4G,MAAQ,GAGb9G,oBACEE,KAAK0mB,eAWPC,YAAYlnB,EAAO+C,EAAOokB,GACxBA,EAAGpkB,GAAOqkB,OAAS,WACjBD,EAAGpkB,GAAO9C,MAAMiI,OAASif,EAAGpkB,GAAOskB,cAAchoB,SAASkZ,KAAKlF,aAAe,MAIlF4T,eACE,MAAQpoB,OAAQyoB,GAAW/mB,KAAKtB,MAAMgD,OACtC,GAAIqlB,GAAUA,EAAOtnB,MAAO,CAC1B,IACIunB,GADS,IAAIC,WAEdC,gBAAgBH,EAAOtnB,MAAO,aAC9BuY,KAAKjZ,iBAAiB,UACzB,GAAIioB,GAAWA,EAAQ/nB,OACrB,IAAK,IAAID,EAAI,EAAGA,EAAIgoB,EAAQ/nB,OAAQD,IAAK,CACvC,IAAImoB,EAAgBroB,SAASwB,cAAc,UAC3C6mB,EAAc7I,YAAc0I,EAAQhoB,GAAGsf,YACvCxf,SAASsoB,KAAKC,YAAYF,KAOlClnB,SACE,MAAM,iBACJuB,EACA8lB,UAAWP,GACT/mB,KAAKtB,MAAMgD,OAETC,EAAiB,CACrBE,gBAAiBL,GAAoBA,EAAiB/B,MAAQ+B,EAAiB/B,MAAQ,WAGvF,OAAIsnB,GAAUA,EAAOtnB,MAEjBY,IAAAC,cAAA,OAAKC,UAAU,eAAeb,MAAOiC,GACnCtB,IAAAC,cAAA,OAAKC,UAAU,SACbF,IAAAC,cAAA,OAAKC,UAAU,aACbF,IAAAC,cAAA,OAAKC,UAAW,YAAWwmB,GAAUA,EAAOtnB,MAAMkmB,SAAS,YAAc,WAAaoB,EAAOtnB,MAAMkmB,SAAS,eAAiB,aAAe,KAC1ItlB,IAAAC,cAAC6D,WAAQ,CAAC7B,MAAOykB,QAOjB,MAILN,UCrEf,MAAMc,WAA6BlnB,IAAM7B,UACvCyB,SACE,OACEI,IAAAC,cAAA,OAAKC,UAAU,eACbF,IAAAC,cAACuM,cAAW,CAAClI,KAAK,aAAa0G,UAAWrL,KAAKtB,MAAM2M,YACrDhL,IAAAC,cAACuM,cAAW,CAAClI,KAAK,WAAW0G,UAAWrL,KAAKtB,MAAM2M,cAM5Ckc,UCaf,MAAMC,GAAa,IAAIC,IAyBR,SAASC,GAAiBC,GACvC,OAAOH,GAAWI,IAAID,GAzBxBH,GAAWK,IAAI,mCAAoCC,GACnDN,GAAWK,IAAI,gCAAiCE,GAChDP,GAAWK,IAAI,oCAAqClnB,GACpD6mB,GAAWK,IAAI,qCAAsCtkB,GACrDikB,GAAWK,IAAI,mCAAoCxiB,GACnDmiB,GAAWK,IAAI,uCAAwCxZ,GACvDmZ,GAAWK,IAAI,gDAAiDnY,GAChE8X,GAAWK,IAAI,kCAAmCG,GAClDR,GAAWK,IAAI,8BAA+BnP,GAC9C8O,GAAWK,IAAI,sCAAuCnO,GACtD8N,GAAWK,IAAI,qCAAsClO,GACrD6N,GAAWK,IAAI,4BAA6BjO,GAC5C4N,GAAWK,IAAI,gCAAiClL,GAChD6K,GAAWK,IAAI,qCAAsClK,IACrD6J,GAAWK,IAAI,6CAA8CxH,IAC7DmH,GAAWK,IAAI,sCAAuClG,IACtD6F,GAAWK,IAAI,gCAAiC/D,IAChD0D,GAAWK,IAAI,oCAAqCpD,IACpD+C,GAAWK,IAAI,gCAAiC3C,IAChDsC,GAAWK,IAAI,mCAAoChC,IACnD2B,GAAWK,IAAI,iCAAkC7B,IACjDwB,GAAWK,IAAI,mCAAoCpB,IACnDe,GAAWK,IAAI,yBAA0BN,I,wBCzClC,SAASU,GAAYnc,EAAKtC,GAC/B,OAAOqC,IAAM,CACXC,MACAC,OAAQvC,EAAO,OAAS,MACxBA,OAGA0e,iBAAiB,I,wBChBN,IACb,eACA,aACA,SACA,WACA,eACA,SACA,YACA,S,gDCMF,MAAMC,WAAe9nB,IAAM7B,UACzBC,YAAYC,GACVC,MAAMD,GACNsB,KAAK4G,MAAQ,CAAEkF,IAAK,GAAIsc,OAAQ,IAChCpoB,KAAKqoB,eAAiBT,eAAI5nB,KAAM,0BAA2B,IAE3DA,KAAKsoB,MAAQtoB,KAAKqoB,eAAiB,eAAiB,cAEpD,IAAIE,EAAiBC,GAAcC,KAAKC,GAAQ1oB,KAAKqoB,eAAeM,QAAQ,OAAQ,MAASD,GAI3F1oB,KAAK4oB,OAAS,OAGZL,IACFvoB,KAAK4oB,OAASL,GAEE,OAAO,KAAmBvoB,KAAK4oB,cAGnD9oB,oBACE,MAAM,MAAE+oB,EAAK,QAAEC,GAAY9oB,KAAKtB,MAGhC,GAAII,SAAU,CACZiqB,OAGA,IAAIC,EAAepB,eAAIiB,EAAO,4BAA6B,IACtDG,IACHA,EAAelqB,SAASmqB,KAE1B,IAAIC,EAAmBpqB,SAAS4V,eAAe,aAC3CwU,IACFA,EAAiBpnB,KAAOknB,GAG1B,IAAIG,EAAavB,eAAIkB,EAAS,iCAAkC,IAE5DK,IACFrqB,SAAS4V,eAAe,WAAW5S,KAAOqnB,GAI9C/c,IAAWgd,WAAW,CAAEd,MAAOtoB,KAAKsoB,QAChChpB,QACFU,KAAKqpB,SAAS,CACZvd,IAAKxM,OAAO6M,SAASrK,KACrBsmB,OAAQ9oB,OAAO6M,SAASmd,SAK9BrpB,SACE,MAAM,MAAE4oB,EAAK,QAAEC,GAAY9oB,KAAKtB,OAC1B,IAAEoN,EAAG,OAAEsc,GAAWpoB,KAAK4G,MAC7B,IAAI2iB,EAAY,GACZC,EAAe,GAEnB,OACEnpB,IAAAC,cAACD,IAAM+f,SAAQ,KACb/f,IAAAC,cAACmpB,KAAM,KACLppB,IAAAC,cAAA,aACGuoB,EAAMnnB,QACLmnB,EAAMnnB,OAAOgoB,WACbb,EAAMnnB,OAAOgoB,UAAUjqB,MACrBopB,EAAMnnB,OAAOgoB,UAAUjqB,MACvB,IAGLopB,EAAMnnB,QACLmnB,EAAMnnB,OAAOioB,iBACbd,EAAMnnB,OAAOioB,gBAAgBlqB,OAC3BY,IAAAC,cAAA,QACEqE,KAAK,cACLsb,QAAS4I,EAAMnnB,OAAOioB,gBAAgBlqB,QAI3CopB,EAAMnnB,QACLmnB,EAAMnnB,OAAOkoB,WACbf,EAAMnnB,OAAOkoB,UAAUnqB,OACrBY,IAAAC,cAAA,QAAMqE,KAAK,SAASsb,QAAS4I,EAAMnnB,OAAOkoB,UAAUnqB,QAKvDopB,EAAMnnB,OACHmnB,EAAMnnB,OAAOmoB,cAAgBhB,EAAMnnB,OAAOmoB,aAAapqB,OACpD8pB,EAAYV,EAAMnnB,OAAOmoB,aAAapqB,SACxC+pB,EAAeX,EAAMnnB,OAAOooB,iBAAiBrqB,OAC5CopB,EAAMnnB,OAAOqoB,WACblB,EAAMnnB,OAAOqoB,UAAUtqB,OACvBopB,EAAMnnB,OAAOqoB,UAAUtqB,MAAMwC,KAC1BsnB,EAAYnB,EAASS,EAAMnnB,OAAOqoB,UAAUtqB,MAAMwC,OACpDunB,EAAeX,EAAMnnB,OAAOqoB,UAAUtqB,MAAMuC,KAC3C,GACJ,GAEJ3B,IAAAC,cAAA,QAAM0pB,SAAS,UAAU/J,QAAQ,YACjC5f,IAAAC,cAAA,QACE0pB,SAAS,WACT/J,QAAS2H,eAAIiB,EAAO,yBAA0B,MAEhDxoB,IAAAC,cAAA,QACE0pB,SAAS,iBACT/J,QAAS2H,eAAIiB,EAAO,+BAAgC,MAEtDxoB,IAAAC,cAAA,QAAM0pB,SAAS,SAAS/J,QAASnU,IACjCzL,IAAAC,cAAA,QAAM0pB,SAAS,WAAW/J,QAASsJ,IACnClpB,IAAAC,cAAA,QAAM0pB,SAAS,eAAe/J,QAASuJ,IACtCV,EAAQmB,qBAAuBnB,EAAQmB,oBAAoBC,UAC1D7pB,IAAAC,cAAA,QAAM0pB,SAAS,eAAeG,SAAS,OAAOlK,QAAS6I,EAAQmB,oBAAoBC,WAGrF7pB,IAAAC,cAAA,QACEqE,KAAK,gBACLsb,QAAS2H,eAAIiB,EAAO,yBAA0B,MAEhDxoB,IAAAC,cAAA,QACEqE,KAAK,sBACLsb,QAAS2H,eAAIiB,EAAO,+BAAgC,MAEtDxoB,IAAAC,cAAA,QAAMqE,KAAK,eAAesb,QAAQ,YAClC5f,IAAAC,cAAA,QAAMqE,KAAK,cAAcsb,QAASnU,IAClCzL,IAAAC,cAAA,QAAMqE,KAAK,gBAAgBsb,QAASsJ,IACpClpB,IAAAC,cAAA,QAAMqE,KAAK,oBAAoBsb,QAASuJ,KAE1CnpB,IAAAC,cAAC8pB,wBAAqB,MACtB/pB,IAAAC,cAAA,SACE4E,KAAK,SACLzF,MAAOopB,EAAMwB,OACbC,iBAAgBzB,EAAM0B,aACtB5lB,KAAK,gBAEPtE,IAAAC,cAACuM,cAAW,CAAClI,KAAK,iBAAiB0G,UAAWwd,IAC9CxoB,IAAAC,cAACuM,cAAW,CAAClI,KAAK,eAAe0G,UAAWwd,IAC5CxoB,IAAAC,cAACuM,cAAW,CAAClI,KAAK,iBAAiB0G,UAAWwd,MAMvCV,UCxIAqC,OAZErT,IAAA,IAAC,QAAE2R,EAAU,CAAEJ,KAAM,CAAE/jB,KAAM,IAAM8lB,SAAU,KAAMtT,EAAA,OAClE9W,IAAAC,cAACD,IAAM+f,SAAQ,KACb/f,IAAAC,cAAA,UAAI,kBACJD,IAAAC,cAAA,SAAG,6BACHD,IAAAC,cAAA,SAAG,SACMwoB,EAAQJ,MAAQI,EAAQJ,KAAK/jB,KACpCtE,IAAAC,cAAA,WAAM,aACKwoB,EAAQ2B,YCHV,MAAMC,WAAqBrqB,IAAM7B,UAC9CC,YAAYC,GACVC,MAAMD,GAEN,MAAMisB,EAAkBjsB,EAAMksB,SAE9B5qB,KAAK4G,MAAQ,CACXikB,UAAU,EACVC,UAAWH,EACXI,gBAAiBC,KAAOD,iBAKN,OAAhBrsB,EAAMmqB,QACR7oB,KAAK4G,MAAMikB,UAAW,IAIpBF,GAAqBA,EAAgBM,UAAaN,EAAgBM,SAASpC,QAC7E7oB,KAAK4G,MAAMikB,UAAW,GAKpBF,GAAmBA,EAAgB7B,SAAW6B,EAAgB7B,QAAQ2B,WACxEzqB,KAAK4G,MAAMmkB,gBAAkBJ,EAAgB7B,QAAQ2B,UAGvDzqB,KAAKkrB,oBAAqB,EAC1BlrB,KAAKmrB,oBAAqB,EAM5BrrB,oBAQwB,qBAAXR,SAA2BU,KAAKtB,MAAM0sB,mBAAqBprB,KAAKtB,MAAM2sB,sBAC/ErrB,KAAKtB,MAAM2sB,sBAAqB,GAI7BrrB,KAAK4G,MAAMkkB,WACd9qB,KAAKsrB,kBAEPtrB,KAAKkrB,oBAAqB,EAE5BK,uBACEvrB,KAAKkrB,oBAAqB,EAK5BI,kBACE,IAAIE,EAAoBxrB,KAAKtB,MAAMmqB,MAAM4C,MAAMzhB,OAAO0hB,eAAiB,IAClEF,EAAkBG,WAAW,OAChCH,EAAoB,IAAIA,IAqF9B,SAAsB3C,EAAO4B,GAC3B,MAAMmB,EAAe,CACnBC,oBAAqB,CAAEC,KAAMd,KAAOe,iBACpCC,kBAAmB,CAAEC,QAASxB,EAAUyB,UAAWlB,KAAOmB,gBAC1DC,QAASnE,IAEX,OAAOoE,UAAQC,eAAezD,EAAO+C,GAAcpf,MAAOC,GACpDA,EAAMT,UAAsC,MAA1BS,EAAMT,SAASoX,QAAkB3W,EAAMT,SAASxC,KAC7DiD,EAAMT,SAASxC,MAExByC,QAAQQ,MAAM,yBAA0BA,EAAOA,EAAMT,UAC9C,QA5FPugB,CAAaf,EAFIxrB,KAAKtB,MAAMmqB,MAAM4C,MAAMzhB,OAAOwiB,MAAQxsB,KAAK4G,MAAMmkB,iBAExBntB,KAAMktB,IAC5B,OAAdA,GAAsBA,EAAUG,UAAYH,EAAUG,SAASpC,OAEjE7oB,KAAKtB,MAAM+tB,eAAeC,mBAAmB,CAC3C7D,MAAOiC,EAAUG,SAASpC,MAC1BwB,OAAQS,EAAUG,SAASpC,MAAMwB,UAC9BS,EAAUG,SAASnC,UAExB9oB,KAAKqpB,SAAS,CAAEyB,YAAWD,UAAU,KAErC7qB,KAAKqpB,SAAS,CAAEyB,YAAWD,UAAU,MAwB3C8B,mBAAmBC,GACjB,MAAMC,EAAgBD,EAAc/D,MAAM4C,MAAM3f,IAC1CghB,EAAW9sB,KAAKtB,MAAMmqB,MAAM4C,MAAM3f,IAEpC+gB,IAAkBC,IAKlBC,qCACFztB,OAAO6M,SAAS/H,OAAO0oB,GAIzB9sB,KAAKsrB,mBAEPrrB,SACE,MAAM,SAAE4qB,EAAQ,UAAEC,GAAc9qB,KAAK4G,MAIrC,OAAIikB,EAEAxqB,IAAAC,cAAA,WACED,IAAAC,cAACmpB,KAAM,KACLppB,IAAAC,cAAA,aAAQ,mBAEVD,IAAAC,cAACkqB,GAAQ,CAAC1B,QAASgC,EAAUG,UAAYH,EAAUG,SAASnC,YAM7DgC,GAAa9qB,KAAKmrB,mBACd,KAGF9qB,IAAAC,cAAC6nB,GAAM,CAACW,QAASgC,EAAUG,SAASnC,QAASD,MAAOiC,EAAUG,SAASpC,SC7I3E,MAAMmE,GAAgB,CAC3B,4CACA,mCACA,oBAOF,MAAMC,WAAgB5sB,IAAM7B,UAAUC,cAAA,SAAAiC,WAAA,KACpCkG,MAAQ,CACNwkB,mBAAmB,EACnBqB,eAAgB,IAAIS,0BACrB,KAED7B,qBAAuBD,IACrBprB,KAAKqpB,SAAS,CACZ+B,uBAIJnrB,SACE,MAAM,KAAEktB,EAAI,OAAEC,EAAM,cAAEC,EAAa,SAAEzC,GAAa5qB,KAAKtB,MAEnDksB,GAAYA,EAASK,UAAYL,EAASK,SAASpC,OAErD7oB,KAAK4G,MAAM6lB,eAAeC,mBAAmB,CAC3C7D,MAAO+B,EAASK,SAASpC,MACzBwB,OAAQO,EAASK,SAASpC,MAAMwB,UAC7BO,EAASK,SAASnC,UAIzB,MAAMwE,EAAuB5uB,GAC3B2B,IAAAC,cAACoqB,GAAY,CACX7B,MAAOnqB,EACPksB,SAAU5qB,KAAK4G,MAAMwkB,kBAAoB,KAAOR,EAChD6B,eAAgBzsB,KAAK4G,MAAM6lB,eAC3BpB,qBAAsBrrB,KAAKqrB,qBAC3BD,kBAAmBprB,KAAK4G,MAAMwkB,oBAGlC,OACE/qB,IAAAC,cAACitB,iBAAc,CAACC,OAAQH,GACtBhtB,IAAAC,cAACmtB,kBAAe,CAAC/F,iBAAkBA,GAAkB+E,eAAgBzsB,KAAK4G,MAAM6lB,gBAC9EpsB,IAAAC,cAAC8sB,EAAM,CAACjhB,SAAUghB,EAAMrE,QAAS,IAC/BzoB,IAAAC,cAACotB,IAAM,KACJV,GAAc3vB,IAAKswB,GAClBttB,IAAAC,cAACstB,IAAK,CAACvqB,IAAKsqB,EAAcR,KAAMQ,EAAc1tB,OAAQqtB,UAUvDL,U,qEC7Df,IAAIY,GAAiBC,IAAS7tB,OAY1B8tB,GAAgB,KACpB,MAAMC,GAAalvB,SAAS4V,eAAe,iBACvCsZ,KACFD,GAAgBE,KAAKC,MAAMF,GAAWG,YAEpCJ,KAEFF,GAAiBC,IAASM,SAS5B,MAAMC,GACJN,IAAiBA,GAAcO,aAAeP,GAAcO,aAAe,KACvEjB,GCHS,SAASkB,EAAUC,EAAKC,GAErC,MAAMC,EAAOC,eAA2BC,OACtC,IAAIC,KAAc,CAAEC,IAAKP,EAAUQ,YAAa,aAG5CC,EAAQ,IAAIC,KAAc,CAC9BC,gBAAiB,IAAIC,KAA6B,CAChDC,oCAIJ,OAAO,IAAIC,KAAa,CACtBC,QAASd,EACTe,mBAAoB,IACpBb,OACAM,MAAOA,EAAMQ,QAAQf,KDbHgB,CAAqBzE,KAAO0E,iBAAiB,EAAOrB,IAUpEsB,GAAc7wB,SAAS4V,eAAe,QAC5CmZ,GACExtB,IAAAC,cAAC2sB,GAAO,CACNE,KAAM7tB,OAAO6M,SAASyjB,SACtBxC,OAAQyC,IACRxC,cAAeA,GACfzC,SAAUmD,KAEZ4B,K,iBEtDFxyB,EAAOC,QAAU,CACf,eAAkB,uCAClB,gBAAmB,GACnB,WAAc,cACd,gBAAmB,KACnB,oBAAuB,mBACvB,gBAAmB,qE","file":"static/js/main.ac211cea.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/grey.cad98945.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYBAMAAAD9m0v1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURUdwTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnhwewAAAAIdFJOUwDfEM8gIb6uUGrSrAAAADFJREFUGNNjYKAmCExA4rBKIPMcmxUQHBYJI+KkGJGl0HioKlFNwS+J6jKGwALqhQAAiQMIfRH+/N0AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA7/FyMAAAALdFJOUwDfIII0EGDvtc+fC36uaQAAAE9JREFUGNNjYKAJYBJE4kRuRLBZZwshOBwbFRCc1VAJwQAGBubtUAnpqQwM1iVQFYo7GJh3O8BskF5gvQ2u2X3H7gQ4h2X3ZiTbsw1o4UEApUANrAKvLasAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/accordion-selected.008d844d.svg\";","module.exports = __webpack_public_path__ + \"static/media/accordion-collapse.78cd09c4.svg\";","module.exports = __webpack_public_path__ + \"static/media/close-btn.161b1b9c.svg\";","module.exports = __webpack_public_path__ + \"static/media/chevron-down-circle.3164d8c2.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAawSURBVHhe7dQBDQAADMOg+5c6FffRgAhuAOTIHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgcIkjtAkNwBguQOECR3gCC5AwTJHSBI7gBBcgfI2R5jTYfLh3foSgAAAABJRU5ErkJggg==\"","var map = {\n\t\"./101albert.css\": [\n\t\t522,\n\t\t3\n\t],\n\t\"./21cityside.css\": [\n\t\t523,\n\t\t4\n\t],\n\t\"./base.css\": [\n\t\t196\n\t],\n\t\"./brite.css\": [\n\t\t524,\n\t\t5\n\t],\n\t\"./castletowers.css\": [\n\t\t525,\n\t\t6\n\t],\n\t\"./midway.css\": [\n\t\t526,\n\t\t7\n\t],\n\t\"./narellan.css\": [\n\t\t527,\n\t\t8\n\t],\n\t\"./robina.css\": [\n\t\t528,\n\t\t9\n\t],\n\t\"./watergardens.css\": [\n\t\t529,\n\t\t10\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 505;\nmodule.exports = webpackAsyncContext;","import React, { Component } from \"react\";\r\n\r\nclass RetailRiseFade extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (window) {\r\n window.addEventListener(\"scroll\", this.handleScroll);\r\n }\r\n }\r\n\r\n handleScroll = () => {\r\n const imageWrapperList = document.querySelectorAll(\".animation-rise-and-fade\");\r\n if (imageWrapperList) {\r\n for (let i = 0; i < imageWrapperList.length; i++) {\r\n let imageWrapper = imageWrapperList[i];\r\n let position = imageWrapper.getBoundingClientRect();\r\n let isShowing = window.innerHeight >= position.top;\r\n let transformValue = imageWrapper.style.transform.split(/\\w+\\(|\\);?/);\r\n let value = transformValue[1].split('%')[0];\r\n let opacity = 0;\r\n if (value > 0) {\r\n if (isShowing) {\r\n value = value - 1;\r\n opacity = opacity + 0.3;\r\n }\r\n }\r\n else {\r\n value = 0;\r\n opacity = 1;\r\n }\r\n imageWrapper.style.transform = `translateY(${value}%)`;\r\n imageWrapper.style.opacity = opacity;\r\n }\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { position } = this.props || {};\r\n let divStyle, positionValue;\r\n if (!isNaN(position)) {\r\n positionValue = position;\r\n }\r\n else {\r\n positionValue = 0;\r\n }\r\n divStyle = {\r\n transform: `translateY(${positionValue}%)`\r\n }\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default RetailRiseFade;","import React, { Component } from \"react\";\n\nclass RiseAndFade extends Component {\n componentDidMount() {\n if (window) {\n window.addEventListener(\"scroll\", this.handleScroll);\n }\n }\n\n handleScroll = () => {\n const imageWrapperList = document.querySelectorAll(\".animation-rise-and-fade\");\n if (imageWrapperList) {\n for (let i = 0; i < imageWrapperList.length; i++) {\n let imageWrapper = imageWrapperList[i];\n let position = imageWrapper.getBoundingClientRect();\n let isShowing = window.innerHeight >= position.top;\n let transformValue = imageWrapper.style.transform.split(/\\w+\\(|\\);?/);\n let value = transformValue[1].split('%')[0];\n let opacity = 0;\n if (value > 0) {\n if (isShowing) {\n value = value - 1;\n opacity = opacity + 0.3;\n }\n }\n else {\n value = 0;\n opacity = 1;\n }\n imageWrapper.style.transform = `translateY(${value}%)`;\n imageWrapper.style.opacity = opacity;\n }\n }\n }\n\n\n render() {\n const { position } = this.props || {};\n let divStyle, positionValue;\n if (!isNaN(position)) {\n positionValue = position;\n }\n else {\n positionValue = 0;\n }\n divStyle = {\n transform: `translateY(${positionValue}%)`\n }\n return (\n
\n {this.props.children}\n
\n )\n }\n}\n\nexport default RiseAndFade;","import React from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport defaultImg from \"../../../../assets/image/gray.png\";\n\nconst FeatureDevMicrositeCorpoLeasing = (props) => {\n const {\n LogoImageUrl = null,\n LogoImageAlt = null,\n LogoLink = null,\n ShortDescription = null,\n ShortDescriptionFontName = null,\n ShortDescriptionFontSize = {value: 'default'},\n Contacts = null,\n ContactNameFontName = null,\n ContactNameFontSize = {value: 'default'},\n ContactLinksFontName = null,\n ContactLinksFontSize = {value: 'default'},\n Button = null,\n BackgroundColour = null,\n FontColour = null,\n } = props.fields || {};\n\n const componentStyle = {\n color: FontColour && FontColour.value ? FontColour.value : \"#000000\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#e7e7e7\",\n }\n\n if ((LogoImageUrl && LogoImageUrl.value) ||\n (ShortDescription && ShortDescription.value) ||\n (Contacts && Contacts.length > 0)) {\n\n return (\n
\n
\n {LogoImageUrl && LogoImageUrl.value || ShortDescription && ShortDescription.value ? (\n\n
\n {LogoImageUrl && LogoImageUrl.value &&\n
\n \n \n \n
\n }\n {ShortDescription && ShortDescription.value &&\n
\n \n
\n }\n
\n ) : null}\n {Contacts &&\n Contacts.length > 0 &&\n
\n {Contacts.map((item, index) => {\n const {\n ContactName = null,\n ContactImageUrl = null,\n ContactImageAltText = null,\n ContactNumber = null,\n ContactEmail = null,\n CcEmail = null,\n BccEmail = null,\n } = item.fields;\n\n let phoneNumberLayout = \"\";\n let mailtorecipients = \"\";\n if (ContactNumber && ContactNumber.value) {\n let numberVal;\n if (/;/g.test(ContactNumber.value)) {\n numberVal = ContactNumber.value.split(\";\");\n phoneNumberLayout =\n numberVal.map((number, index) => {\n return (\n
\n \n \n \n
\n )\n })\n } else {\n phoneNumberLayout =\n
\n \n \n \n
\n }\n }\n\n if (ContactEmail && ContactEmail.value) {\n mailtorecipients = `${ContactEmail.value}`\n if (CcEmail && CcEmail.value) mailtorecipients += `?cc=${CcEmail.value}`\n if (BccEmail && BccEmail.value) {\n if (/\\?/g.test(mailtorecipients)) mailtorecipients += `&bcc=${BccEmail.value}`\n else mailtorecipients += `?bcc=${BccEmail.value}`\n }\n }\n if ((ContactName && ContactName.value) ||\n (ContactImageUrl && ContactImageUrl.value) ||\n (ContactNumber && ContactNumber.value) ||\n (ContactEmail && ContactEmail.value)) {\n return (\n
\n\n {ContactImageUrl && ContactImageUrl.value &&\n
\n \n
\n }\n {ContactName && ContactName.value &&\n
\n \n
\n }\n
\n {phoneNumberLayout}\n {ContactEmail &&\n ContactEmail.value &&\n
\n \n \n \n
\n }\n
\n
\n )\n }\n else {\n return null\n }\n })\n }\n
\n }\n\n {Button && Button.value && Button.value.href && Button.value.text && (\n \n \n \n )}\n
\n
\n )\n }\n else {\n return null\n }\n};\n\nexport default FeatureDevMicrositeCorpoLeasing;\n","import React from 'react';\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\nimport defaultImg from \"../../../../assets/image/gray.png\";\n\nconst FeatureDevMicrositeEnquireBanner = (props) => {\n const {\n BackgroundImageUrl,\n BackgroundImageAltText,\n Heading,\n HeadingFontName,\n HeadingFontSize = {value: 'default'},\n Subheading,\n SubheadingFontName,\n SubheadingFontSize = {value: 'default'},\n CtaLink,\n CtaTheme,\n CtaFontName\n } = props.fields;\n\n return (\n Heading && Subheading && BackgroundImageUrl && CtaLink &&\n
\n {\n BackgroundImageUrl && BackgroundImageUrl.value &&\n
\n \n
\n }\n
\n
\n
\n {Heading && Heading.value &&\n
\n \n
\n }\n {Subheading && Subheading.value &&\n
\n \n
\n }\n {CtaLink && CtaLink.value && CtaLink.value.href && CtaLink.value.text &&\n
\n \n {CtaLink.value.text}\n \n
\n }\n\n
\n
\n
\n
\n )\n}\n\nexport default FeatureDevMicrositeEnquireBanner;\n","import React, { Component, useState } from \"react\";\nimport { RichText } from \"@sitecore-jss/sitecore-jss-react\";\n\nconst Checkbox = (props) => {\n const [checkBoxState, setCheckBoxState] = useState({\n isInvalid: true,\n isTouched: false\n })\n\n const {\n className = null,\n id = null,\n name = null,\n uniqueKey = null,\n handleCheckboxClick = null,\n checked = false,\n isRequired = false,\n errorMessage = null,\n isSubmitted = false,\n } = props || {};\n\n const {\n isInvalid,\n isTouched\n } = checkBoxState;\n\n return (\n
\n \n {(isTouched || isSubmitted) &&\n isRequired &&\n isInvalid &&\n
\n {errorMessage}\n
\n }\n\n
\n )\n}\n\nexport default Checkbox;","import React, { useRef, useState, useEffect } from 'react';\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\nimport TagManager from \"react-gtm-module\";\nimport axios from 'axios'\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport Select from 'react-select'\nimport DOMPurify from 'dompurify';\nimport Checkbox from '../../../Common/Checkbox';\nimport checkedOption from '../../../../assets/image/option-selected.png'\n\nconst FeatureDevMicrositeEnquireForm = (props) => {\n\n const inputFieldRef = useRef(null)\n const successPageUrl = props.fields.SuccessPage ? props.fields.SuccessPage.value : '';\n const [formData, setFormData] = useState({\n fields: props.fields.Fields,\n userEmailAddress: \"\",\n complete: false,\n submitted: false,\n successMessage: null,\n successPage: props.fields.SuccessPage,\n postData: [],\n show: false,\n showField: null,\n verifiedRecaptcha: false,\n expiredRecaptcha: false,\n load: false,\n recaptchaLoaded: false,\n })\n\n // select custom style\n const customDropDownStyles = {\n control: (provided, state) => ({\n ...provided,\n fontFamily: 'markpro',\n boxShadow: `0px 0px 0px ${state.isFocused ? '2px' : '1px'} ${state.isFocused ? '#303030' : '#969696'}`,\n outline: \"none\",\n border: \"none\",\n //border: state.isFocused? \"solid 1px #303030\" : \"solid 1px #969696\",\n // margin: state.isFocused? \"0 -1px\" : \"0\",\n // outline: state.isFocused? \"solid 1px #303030\" : 'none',\n minHeight: \"56px\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n\n \"&:hover\": {\n // border: \"solid 1px #5a6874\",\n boxShadow: `0px 0px 0px 2px ${state.isFocused ? '#303030' : '#5a6874'}`,\n overflow: \"hidden\",\n //boxShadow: \"none\",\n // margin: \"0 -1px\"\n },\n\n }),\n valueContainer: (provided, state) => ({\n ...provided,\n \"max-height\": \"54px\",\n padding: \"0\",\n }),\n placeholder: (provided, state) => ({\n ...provided,\n padding: \"15px 0 0 15px\",\n color: \"#707070\",\n margin: 0\n }),\n singleValue: () => ({\n fontFamily: 'markpro',\n padding: \"15px 0 0 15px\",\n \"> div img\": {\n display: \"none\"\n }\n }),\n input: (provided) => ({\n ...provided,\n position: \"absolute\",\n top: 0,\n height: \"inherit\",\n margin: 0,\n padding: \"15px 0 0 15px\",\n cursor: \"pointer\",\n width: \"100%\",\n }),\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n option: (provided, state) => ({\n ...provided,\n fontFamily: \"markpro\",\n backgroundColor: state.isFocused ? '#f5f5f6' : '',\n color: '#000000',\n \"> div img\": {\n visibility: state.isSelected ? 'visibile' : 'hidden'\n }\n }),\n dropdownIndicator: (provided, state) => ({\n ...provided,\n color: '#303030',\n transform: state.selectProps.menuIsOpen && 'rotate(180deg)',\n\n \">svg\": {\n height: '24px',\n width: '24px',\n },\n \"&:hover\": {\n color: '#303030'\n }\n })\n\n }\n\n useEffect(() => {\n setTimeout(() => {\n setFormData({ ...formData, load: true })\n }, 1500)\n\n }, [])\n\n const recaptchaExpired = () => {\n setFormData({\n ...formData,\n verifiedRecaptcha: false,\n expiredRecaptcha: true,\n });\n };\n\n const recaptchaLoaded = () => {\n console.log(\"Successful Load Recaptcha\");\n setFormData({ ...formData, recaptchaLoaded: true });\n };\n\n const recaptchaVerifyResponse = (response) => {\n if (response) {\n setFormData({\n ...formData,\n verifiedRecaptcha: true,\n expiredRecaptcha: false,\n });\n } else {\n setFormData({ ...formData, verifiedRecaptcha: false });\n }\n };\n\n const validateField = (e, fields, fieldname, droplistValue) => {\n let { Name = null } = fields || {};\n let i = 0;\n formData.fields.map((items) => {\n if (items.fields.Type.value === \"Checkbox Field\") {\n if (items.fields.IsRequired.value) {\n if (items.fields.Name.value === Name.value) {\n items.fields.Value = e.target.checked;\n items.fields.Valid = e.target.checked;\n }\n } else if (items.fields.Name.value === Name.value) {\n items.fields.Value = e.target.checked;\n } else {\n items.fields.Valid = true;\n }\n } else if (items.fields.Type.value === \"DropList\") {\n if (items.fields.IsRequired.value) {\n if (items.fields.Name.value === fieldname) {\n items.fields.Value = droplistValue;\n items.fields.Valid = droplistValue ? true : false;\n }\n } else if (items.fields.Name.value === fieldname) {\n items.fields.Value = droplistValue;\n } else {\n items.fields.Valid = true;\n }\n } else if (items.fields.Name.value === Name.value) {\n items.fields.Value = e.target.value;\n items.fields.Touched = true;\n\n if (items.fields.Type.value === \"Email Address Field\") {\n formData.userEmailAddress = e.target.value;\n }\n\n if (items.fields.FormatValidation.value) {\n const fieldFormatValidation = props.fields.Fields[i].fields.FormatValidation.value;\n // let expression = items.fields.FormatValidation.value;\n let re = new RegExp(fieldFormatValidation);\n\n if (\n items.fields.IsRequired.value &&\n !re.test(String(e.target.value).toLowerCase())\n ) {\n items.fields.Valid = false;\n } else if (\n !items.fields.IsRequired.value &&\n e.target.value &&\n !re.test(String(e.target.value).toLowerCase())\n ) {\n items.fields.Valid = false;\n } else {\n items.fields.Valid = true;\n }\n } else {\n if (items.fields.IsRequired.value) {\n items.fields.Valid = e.target.value ? true : false;\n } else {\n items.fields.Valid = true;\n }\n }\n } else {\n if (items.fields.FormatValidation.value) {\n const fieldFormatValidation = props.fields.Fields[i].fields.FormatValidation.value;\n // let expression = items.fields.FormatValidation.value;\n let re = new RegExp(fieldFormatValidation);\n\n if (\n items.fields.IsRequired.value &&\n !re.test(String(items.fields.Value).toLowerCase())\n ) {\n items.fields.Valid = false;\n } else if (\n !items.fields.IsRequired.value &&\n items.fields.Value &&\n !re.test(String(items.fields.Value).toLowerCase())\n ) {\n items.fields.Valid = false;\n } else {\n items.fields.Valid = true;\n }\n } else {\n if (items.fields.IsRequired.value) {\n items.fields.Valid = items.fields.Value ? true : false;\n } else {\n items.fields.Valid = true;\n }\n }\n }\n\n setFormData({ ...formData, fields: formData.fields });\n i++;\n });\n\n checkFields();\n };\n\n const checkFields = () => {\n let data = formData.fields;\n for (let i = 0; i < data.length; i++) {\n if (data[i].fields.Valid !== true) {\n setFormData({ ...formData, complete: false });\n break;\n } else {\n setFormData({ ...formData, complete: true });\n }\n }\n };\n\n const handleSubmitBtn = (e) => {\n e.preventDefault();\n let contactUsWrapper = document.querySelector(\n \".contactus-wrapper\"\n );\n let natureOfEnquiry = \"\";\n let formsWrapper = e.target,\n submitBtn = formsWrapper.querySelector(\".submit-btn\");\n\n const { verifiedRecaptcha } = formData;\n const recaptchaWrapper = document\n .getElementsByClassName(\"contactus-form\")[0]\n .querySelector(\".form-recaptcha\");\n checkFields();\n setFormData({ ...formData, submitted: true });\n\n setTimeout(() => {\n let invalidField = formsWrapper.querySelector(\".form-control-error, .react-select-container-error\");\n //let invalidField = formsWrapper.querySelector(\".form-control-error\");\n if (invalidField) {\n let subNavWrapper = document.querySelector(\".second-level-nagivation-container\");\n if (subNavWrapper && window.outerWidth >= 992) {\n formsWrapper.scrollIntoView();\n } else {\n invalidField.scrollIntoView();\n }\n }\n }, 250);\n\n if (recaptchaWrapper) {\n if (!verifiedRecaptcha) {\n recaptchaWrapper.classList.add(\"is-required\");\n return;\n }\n }\n if (!formData.complete) return;\n\n submitBtn.setAttribute(\"disabled\", \"\");\n\n let fields = [];\n const dataSource = props.rendering.dataSource || \"\";\n const url = `/api/sitecore/form/enquireformsubmit`;\n\n // key compose field data\n formData.fields.map((field) => {\n if (field.fields.Type.value === \"DropList\") {\n fields.push({\n FieldName: field.fields.Name.value,\n Value: field.fields.Value.value ? `${field.fields.Value.label}|${field.fields.Value.value}` : field.fields.Value,\n });\n natureOfEnquiry = field.fields.Value ? field.fields.Value.label : \"\"; // for gtm\n } else if (field.fields.Type.value === \"Checkbox Field\") {\n fields.push({\n FieldName: field.fields.Name.value,\n Value: field.fields.Value ? field.fields.Value.toString() : \"false\",\n });\n } else {\n if (field.fields.Value) {\n fields.push({\n FieldName: field.fields.Name.value,\n Value: field.fields.Value,\n });\n }\n }\n });\n\n let postData = {\n EnquireFormPostObject: {\n ItemID: dataSource,\n UserEmailAddress: formData.userEmailAddress,\n Fields: fields\n },\n };\n\n //console.log('postData',postData)\n axios({\n url,\n method: \"POST\",\n data: postData,\n })\n .then((response) => {\n if (response && response.data && response.data.message) {\n console.log('successPage', successPageUrl);\n if (successPageUrl) {\n window.location.href = successPageUrl;\n } else {\n setFormData({\n ...formData,\n successMessage: response.data.message,\n submitted: false,\n });\n }\n\n TagManager.dataLayer({\n dataLayer: {\n event: \"enquire_form_submit\",\n natureOfEnquiry: natureOfEnquiry,\n },\n dataLayerName: \"dataLayer\",\n });\n contactUsWrapper.scrollIntoView();\n }\n })\n .catch((error) => {\n submitBtn.removeAttribute(\"disabled\");\n console.error(error);\n });\n };\n\n const setVisible = (fields) => {\n if (fields && fields.length > 0) {\n return \"show\";\n }\n return \"hide\";\n };\n\n const renderFields = (fieldList) => {\n return fieldList.map((items, index) => {\n const {\n Type,\n Name,\n IsRequired,\n Touched,\n Valid,\n Value,\n Values,\n Placeholder,\n RequiredValidationMessage,\n } = items.fields;\n\n let fieldLayout = \"\";\n\n switch (Type.value) {\n case \"Heading Field\":\n fieldLayout = (\n
\n \n
\n );\n break;\n case \"Text Field\":\n case \"Email Address Field\":\n case \"Phone Number field\":\n fieldLayout = (\n
\n validateField(e, items.fields)}\n onBlur={(e) => validateField(e, items.fields)}\n className={`form-control form-control-lg ${(formData.submitted || Touched) &&\n Valid !== true &&\n (IsRequired.value || Valid === false)\n ? \"form-control-error\"\n : \"\"\n }`}\n autoComplete=\"off\"\n />\n \n {Placeholder.value}\n {IsRequired.value && \" *\"}\n \n {(formData.submitted || Touched) &&\n Valid !== true &&\n (IsRequired.value || Valid === false) ? (\n \n !\n \n \n ) : null}\n
\n );\n break;\n case \"DropList\":\n fieldLayout = (\n \n ({ value: field.fields.Id.value, label: field.fields.Name.value, icon: checkedOption }))}\n getOptionLabel={e => (\n
\n \"\"\n {e.label}\n
\n )}\n placeholder={Placeholder.value}\n styles={customDropDownStyles}\n onChange={(e) => {\n //console.log(e)\n validateField(null, items.fields, Name.value, e);\n }}\n />\n \n {Name.value}\n {IsRequired.value && \" *\"}\n \n\n {(formData.submitted || Touched) &&\n Valid !== true &&\n (IsRequired.value || Valid === false) ? (\n \n !\n \n \n ) : null}\n \n );\n break;\n case \"Multi-Line Field\":\n fieldLayout = (\n
\n validateField(e, items.fields)}\n onBlur={(e) => validateField(e, items.fields)}\n className={\n (formData.submitted || Touched) &&\n Valid !== true &&\n IsRequired.value\n ? \"form-control-error\"\n : \"form-control\"\n }\n autoComplete=\"off\"\n />\n {(formData.submitted || Touched) &&\n Valid !== true &&\n IsRequired.value ? (\n \n !\n \n \n ) : null}\n
\n );\n break;\n case \"Checkbox Field\":\n fieldLayout = (\n {\n validateField(event, items.fields);\n }}\n isSubmitted={formData.submitted}\n isRequired={IsRequired.value}\n errorMessage={RequiredValidationMessage.value}\n />\n );\n break;\n default:\n fieldLayout = \"\";\n }\n\n return fieldLayout;\n });\n };\n\n\n let message = null;\n const { verifiedRecaptcha, expiredRecaptcha, load } = formData;\n const {\n EnableRecaptcha = null,\n PublicKey = null,\n PageSummary = null,\n Fields = null,\n PrivacyPolicy = null,\n UseAsModule = null\n } = props.fields || {};\n\n let { RemoveDefaultMargin = \"\" } = props.params || {};\n\n let margin =\n RemoveDefaultMargin && RemoveDefaultMargin === \"1\" ? \"\" : \"standard\";\n\n if (formData.successMessage) {\n message = (\n \n );\n }\n return (\n Fields && Fields.length > 0 &&\n
\n {message ? (\n UseAsModule && UseAsModule.value ?\n
\n {message}\n
\n : message\n ) : (\n
\n
\n \n
\n
\n
\n
\n
\n {Fields &&\n Fields.length > 0 &&\n renderFields(Fields)}\n {load &&\n EnableRecaptcha &&\n EnableRecaptcha.value &&\n PublicKey &&\n PublicKey.value && (\n \n \n
\n \n \n \n
\n
\n )}\n {PrivacyPolicy && PrivacyPolicy.value && (\n
\n \n
\n )}\n
\n
\n
\n \n {\"Submit\"}\n \n \n
\n
\n \n
\n )}\n \n )\n};\n\nexport default FeatureDevMicrositeEnquireForm;\n","import React from 'react';\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\n\nconst FeatureDevMicrositeFactsAndFigures = (props) => {\n const {\n Title,\n TitleFontName,\n TitleFontSize = {value: 'default'},\n Description,\n DescriptionFontName,\n DescriptionFontSize = {value: 'default'},\n SelectedItems,\n BackgroundColour,\n FontColour,\n Footnote,\n FootnoteFontName,\n FootnoteFontSize = {value: 'default'},\n } = props.fields;\n\n const componentStyle = {\n color: FontColour && FontColour.value ? FontColour.value : \"#ffffff\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#3d4a39\"\n }\n\n const renderList = () => {\n if (SelectedItems && SelectedItems.length > 0) {\n let hasIcons = false;\n let figuresLayout = SelectedItems.map((item, index) => {\n const {\n Title = null,\n Description = null,\n IconName = null,\n TitleFontName = null,\n DescriptionFontName = null,\n TitleFontSize = {value: 'default'},\n DescriptionFontSize = { value: 'default'}\n } = item.fields || {};\n\n const selectedItemStyle = {\n titleFontName: TitleFontName && TitleFontName.value,\n descriptionFontName: DescriptionFontName && DescriptionFontName.value\n }\n\n let figuresListLayout = \"\";\n\n if ((Title && Title.value) || (Description && Description.value)) {\n {Title && Title.value && Description && Description.value === \"\" ?\n figuresListLayout = (\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n )\n :\n figuresListLayout = (\n
\n
\n \n
\n
\n {Title && Title.value &&\n
\n \n
\n }\n {Description && Description.value &&\n
\n \n
\n }\n
\n
\n )\n }\n }\n \n if (IconName && IconName.value) {\n hasIcons = true\n }\n\n return figuresListLayout;\n })\n\n return (\n
\n {figuresLayout}\n
)\n } else return null;\n }\n\n const renderFootnotes = () => {\n const footnoteStyle = {\n fontFamily: FootnoteFontName && FootnoteFontName.value ? FootnoteFontName.value : \"markpro\"\n }\n return (\n
\n
\n \n
\n
)\n }\n\n return (\n SelectedItems && SelectedItems.length > 0 &&\n
\n
\n {Title && Title.value &&\n
\n \n
\n }\n {Description && Description.value &&\n
\n
\n \n
\n
\n }\n {renderList()}\n {Footnote && Footnote.value && renderFootnotes()}\n
\n
\n )\n}\n\nexport default FeatureDevMicrositeFactsAndFigures;\n","import React from 'react';\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\nimport Flickity from \"react-flickity-component\";\n\nconst FeatureDevMicrositeFactsAndFiguresWithImage = (props) => {\n const {\n Heading,\n HeadingFontName,\n HeadingFontSize = {value: 'default'},\n Subheading,\n SubheadingFontName,\n SubheadingFontSize = {value: 'default'},\n HeaderBackgroundColour,\n HeaderFontColour,\n SelectedItems,\n BackgroundColour,\n FontColour,\n ImagePosition,\n SlideshowImages,\n SlideshowDelay,\n Footnote,\n FootnoteFontName,\n FootnoteFontSize = {value: 'default'},\n } = props.fields;\n\n const {\n RemoveDefaultMargin = \"\"\n } = props.params || {};\n\n const componentStyle = {\n color: FontColour && FontColour.value ? FontColour.value : \"#ffffff\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#3d4a39\"\n }\n\n const headerStyle = {\n color: HeaderFontColour && HeaderFontColour.value ? HeaderFontColour.value : \"#ffffff\",\n backgroundColor: HeaderBackgroundColour && HeaderBackgroundColour.value ? HeaderBackgroundColour.value : \"#3d4a39\",\n marginTop: RemoveDefaultMargin && RemoveDefaultMargin === \"1\" ? \"0px\" : \"\"\n }\n\n const renderImage = () => {\n const flickityOptions = {\n autoPlay: SlideshowDelay && SlideshowDelay.value ? (SlideshowDelay.value * 1000) : 5000,\n imagesLoaded: true,\n pageDots: false,\n prevNextButtons: false,\n wrapAround: true,\n draggable: false,\n selectedAttraction: 0.01,\n setGallerySize: false,\n fullscreen: true\n }\n\n return (\n
\n {SlideshowImages && SlideshowImages.length > 0 && (\n \n {SlideshowImages.map((item, index) => {\n const { ImageUrl: url, ImageAltText: alt } = item.fields;\n if (url && url.value) {\n return (\n \n );\n } else return null;\n })}\n \n )}\n\n
)\n }\n\n\n const renderFootnote = (itemsHasIcons = false) => {\n\n const footnoteStyle = {\n fontFamily: FootnoteFontName && FootnoteFontName.value ? FootnoteFontName.value : \"markpro\"\n }\n\n return (
\n
\n
\n \n
\n
\n
)\n }\n\n const renderList = () => {\n if (SelectedItems && SelectedItems.length > 0) {\n let hasIcons = false;\n let figuresLayout = SelectedItems.map((item, index) => {\n const {\n Title = null,\n Description = null,\n IconName = null,\n TitleFontName = null,\n DescriptionFontName = null,\n DescriptionFontSize = {value: 'default'},\n TitleFontSize = {value: 'default'},\n } = item.fields || {};\n\n const selectedItemStyle = {\n titleFontName: TitleFontName && TitleFontName.value,\n descriptionFontName: DescriptionFontName && DescriptionFontName.value\n }\n\n let figuresListLayout = \"\";\n\n if ((Title && Title.value) || (Description && Description.value)) {\n figuresListLayout = (\n
\n
\n \n
\n\n
\n {Title && Title.value &&\n
\n \n
\n }\n {Description && Description.value &&\n
\n \n
\n }\n
\n
\n )\n }\n if (IconName && IconName.value) {\n hasIcons = true\n }\n\n return figuresListLayout;\n })\n\n return (\n
\n {figuresLayout}\n {Footnote && Footnote.value && renderFootnote(hasIcons)}\n
)\n } else return null;\n }\n\n\n return (\n SelectedItems && SelectedItems.length > 0 &&\n
\n {Heading && Heading.value || Subheading && Subheading.value ? (\n
\n
\n {Heading && Heading.value &&\n
\n \n
\n }\n {Subheading && Subheading.value &&\n
\n
\n \n
\n
\n }\n
\n
\n ) : \"\"\n }\n
\n
\n
\n {renderImage()}\n
\n
\n {renderList()}\n
\n
\n
\n
\n )\n}\n\nexport default FeatureDevMicrositeFactsAndFiguresWithImage;\n","import React, { useEffect, useState } from \"react\";\n\nconst Accordion = (props) => {\n const {\n id,\n items = [],\n selectedId,\n setSelectedId,\n selectedItemImage,\n collapseItemImage,\n styles,\n } = props\n\n const accordionClickHandler = (e, index) => {\n e.preventDefault()\n let accordion = document.getElementById(id)\n if (accordion) {\n let accordionItems = accordion.querySelectorAll('.accordion-item')\n accordionItems.forEach(item => item.classList.remove('active'))\n e.target.parentElement.classList.toggle('active')\n setSelectedId(index)\n }\n }\n\n // const [currentPage, setCurrentPage] = useState(1)\n // const [floorsPerPage] = useState(4)\n // const indexOfLastFloor = currentPage * floorsPerPage\n // const indexOfFirstFloor = indexOfLastFloor - floorsPerPage\n // const currentFloors = items.length > 4 ? items.slice(indexOfFirstFloor, indexOfLastFloor) : items\n const [scrollPosition, setScrollPosition] = useState(0);\n const [scrollMaxHeight, setScrollMaxHeight] = useState();\n const [arrowBtnEnabled, setArrowBtnEnabled] = useState(false)\n const [upBtnEnabled, setUpBtnEnabled] = useState(false)\n const [downBtnEnabled, setDownBtnEnabled] = useState(false)\n const [currentSection, setCurrentSection] = useState(1)\n const [totalSection, setTotalSection] = useState(0)\n const [sectionFixedHeight, setSectionFixedHeight] = useState(0)\n const [scrollTop, setScrollTop] = useState(0);\n\n const handleScroll = event => {\n setScrollTop(event.currentTarget.scrollTop);\n };\n\n useEffect(() => {\n const accordionContainer = document.querySelector('.accordion')\n const ulContainer = document.querySelector('.accordion-controls') //content height\n setScrollMaxHeight(ulContainer.scrollHeight)\n setSectionFixedHeight(accordionContainer.offsetHeight)\n\n let totalSection = Math.ceil(ulContainer.scrollHeight / accordionContainer.offsetHeight)\n\n switch (totalSection) {\n case totalSection > 1: {\n setArrowBtnEnabled(true)\n\n }\n }\n if (totalSection > 1) {\n setArrowBtnEnabled(true)\n setDownBtnEnabled(true)\n setTotalSection(totalSection)\n }\n\n // console.log('scrollTop', scrollTop)\n // console.log('total section', totalSection)\n // setTotalSection()\n // divide max height / accordion height\n // qoutient will be the basis of total page\n }, []) //initial\n useEffect(() => {\n //enable/disable buttons\n // console.log('initalmaxHeight', scrollMaxHeight)\n // console.log('currentSection', currentSection)\n if (currentSection > 1) setUpBtnEnabled(true)\n else setUpBtnEnabled(false)\n\n if (currentSection === totalSection) setDownBtnEnabled(false)\n else setDownBtnEnabled(true)\n\n //update scroll position\n // console.log('scrollTop', scrollTop)\n if (currentSection) {\n // console.log('scrollPos', scrollPosition)\n const accordion = document.querySelector('.accordion')\n\n accordion.scrollTop = scrollPosition;\n }\n }, [currentSection]); //current section\n\n useEffect(() => {\n // if (scrollMaxHeight > )\n }, [scrollMaxHeight])\n\n const nextPage = (e) => {\n e.preventDefault()\n setCurrentSection(prev => prev + 1)\n setScrollPosition(scrollPosition + sectionFixedHeight)\n\n const accList = document.querySelector('.accordion')\n const animationReset = setTimeout(() => accList.classList.remove('acc-animate'), 500)\n\n if(accList) {\n accList.classList.add('acc-animate')\n }\n\n return () => clearTimeout(animationReset)\n\n };\n\n const prevPage = (e) => {\n e.preventDefault()\n setCurrentSection(prev => prev - 1)\n setScrollPosition(scrollPosition - sectionFixedHeight)\n\n const accList = document.querySelector('.accordion')\n const animationReset = setTimeout(() => accList.classList.remove('acc-animate'), 500)\n\n if(accList) {\n accList.classList.add('acc-animate')\n }\n\n return () => clearTimeout(animationReset)\n\n };\n\n\n const linkLabelStyle = {\n backgroundImage: `linear-gradient(transparent calc(100% - 1px), ${styles.color} 1px)`,\n }\n\n const svgFillColor = styles && styles.color ? styles.color : '#fff'\n\n return (\n
\n {arrowBtnEnabled &&\n \n }\n
\n
    \n {items.map((floorPlan, index) =>\n
  • \n
    \n {/* header */}\n { accordionClickHandler(e, index) }}>\n
    \n\n {selectedId === index ?\n \n \n \n\n\n : \n \n \n \n }\n\n\n {/* {selectedItemImage && collapseItemImage && } */}\n {floorPlan.fields.FloorName.value}\n
    \n \n {/* content */}\n \n
      \n {floorPlan.fields.Precincts.map((precinct, ind) =>\n
    • {precinct.fields.PrecinctName.value}
    • \n )}\n
    \n
    \n
    \n
\n \n )}\n \n
\n {arrowBtnEnabled &&\n \n }\n {/* {{scrollTop}} */}\n \n )\n}\n\nexport default Accordion;","import React, { useState, useCallback, useRef, useEffect } from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport QuickPinchZoom, { make3dTransformValue } from \"react-quick-pinch-zoom\";\nimport accordionSelected from '../../../../assets/accordion-selected.svg'\nimport accordionCollapse from '../../../../assets/accordion-collapse.svg'\nimport closeBtn from '../../../../assets/close-btn.svg'\nimport Accordion from '../../../Common/Accordion';\n\nconst FeatureDevmicrositeFloorPlans = (props) => {\n\n const {\n Header = null,\n HeaderFontName = null,\n HeaderFontSize = {value: 'default'},\n BackgroundColour = null,\n ImageBackgroundColour = null,\n FontColour = null,\n FloorPlanID = null,\n FloorPlans = [],\n ImagePosition = null,\n } = props.fields\n\n const {\n RemoveDefaultMargin = \"\"\n } = props.params || {};\n\n const [selectedFloorId, setSelectedFloorId] = useState(0)\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [accordionHeight, setAccordionHeight] = useState(null)\n const [hasArrows, setHasArrows] = useState()\n\n const componentStyle = {\n marginTop: RemoveDefaultMargin && RemoveDefaultMargin === \"1\" ? \"0px\" : \"\"\n }\n\n const styling = {\n color: FontColour && FontColour.value ? FontColour.value : \"#ffffff\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#3d4a39\",\n }\n\n // pinch-zoom parameters\n const flrPlanImgRef = useRef()\n const imgRef = useRef()\n const quickPinchZoomRef = useRef()\n const onUpdate = useCallback(({ x, y, scale }) => {\n // console.log('params', x, y, scale)\n const { current: img } = imgRef;\n\n if (img) {\n const value = make3dTransformValue({ x, y, scale });\n img.style.setProperty(\"transform\", value);\n\n }\n }, []);\n\n useEffect(() => {\n if (!isModalOpen && quickPinchZoomRef && quickPinchZoomRef.current) quickPinchZoomRef.current.scaleTo({ x: 0, y: 0, scale: 1 })\n }, [isModalOpen])\n\n // animate immage trigger\n const updateSelectedImage = (id) => {\n const { current: img } = flrPlanImgRef;\n //const img = document.getElementById(\"flr-plan-img\")\n if (img) {\n img.classList.remove('img-animate')\n img.setAttribute('src', FloorPlans[id].fields.ImageUrl.value)\n img.setAttribute('alt', FloorPlans[id].fields.ImageAltText.value)\n void img.offsetWidth //trigger reflow\n img.classList.add('img-animate');\n }\n\n }\n useEffect(() => {\n updateSelectedImage(selectedFloorId)\n }, [selectedFloorId])\n\n useEffect(() => {\n const accordionArrows = document.querySelector('.accordion.arrows-active')\n setHasArrows(accordionArrows)\n }, [hasArrows])\n\n // full image modal handler\n const modalHandler = () => {\n const body = document.body\n if (body.classList.contains('modal-open')) body.classList.remove('modal-open')\n else body.classList.add('modal-open')\n setIsModalOpen(!isModalOpen)\n }\n\n const measuredRef = useCallback(node => {\n if (node !== null) {\n setAccordionHeight(node.getBoundingClientRect().height);\n }\n }, []);\n\n return (\n FloorPlans && FloorPlans.length > 0 &&\n
\n
\n {/* floor plan */}\n \n
\n
\n \n
\n {/* accordion */}\n \n
\n\n
\n {/* image */}\n \n
\n \n
\n \n
\n \n {FloorPlans[selectedFloorId].fields.ImageAltText.value}\n \n
\n
\n
\n
\n \n \n )\n};\n\nexport default FeatureDevmicrositeFloorPlans;\n","import React from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport defaultImg from \"../../../../assets/image/gray.png\";\n\nconst FeatureDevMicrositeFooter = (props) => {\n const {\n LogoUrl,\n LogoAltText,\n LogoLink,\n CopyrightText,\n FooterLinks,\n FooterFontName,\n FooterFontSize = {value: 'default'},\n } = props.fields;\n\n const renderLogo = () => {\n let logoLayout = \"\";\n\n if (LogoUrl && LogoUrl.value) {\n if (LogoLink && LogoLink.value && LogoLink.value.href) {\n logoLayout =\n
\n \n \n \n
\n } else {\n logoLayout =\n
\n \n
\n }\n }\n\n return logoLayout;\n }\n\n const renderFooterLinks = () => {\n let footerLinksLayout = \"\";\n\n if (FooterLinks && FooterLinks.length > 0) {\n let hasMoreLinksClass = FooterLinks.length > 5 ? \"more-links\" : \"\";\n footerLinksLayout =\n
\n {FooterLinks.map((item, index) => {\n const {\n LinkTitle,\n LinkUrl\n } = item.fields;\n\n let linkLayout = \"\";\n if (LinkTitle && LinkTitle.value &&\n LinkUrl && LinkUrl.value && LinkUrl.value.href) {\n linkLayout =\n \n \n \n }\n return linkLayout;\n })}\n
\n }\n\n return footerLinksLayout;\n }\n\n return (\n
\n
\n {renderLogo()}\n
\n
\n {CopyrightText &&\n CopyrightText.value &&\n
\n \n
\n }\n
\n
\n {renderFooterLinks()}\n
\n
\n
\n
\n )\n};\n\nexport default FeatureDevMicrositeFooter;\n","import React from 'react';\r\n\r\nconst FeatureDevMicrositeFullWidthImage = (props) => {\r\n const {\r\n ImageUrl,\r\n ImageAltText,\r\n } = props.fields;\r\n\r\n\r\n if (ImageAltText && ImageAltText.value && ImageUrl && ImageUrl.value) {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }else return null;\r\n}\r\n\r\nexport default FeatureDevMicrositeFullWidthImage;\r\n","import React from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\n\nconst FeatureDevMicrositeHeaderAndText = (props) => {\n const {\n Title,\n TitleFontName,\n TitleFontSize = {value: 'default'},\n Description,\n DescriptionFontName,\n DescriptionFontSize = {value: 'default'},\n BackgroundColour,\n FontColour\n } = props.fields;\n\n const componentStyle = {\n color: FontColour && FontColour.value ? FontColour.value : \"#000000\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#ffffff\"\n }\n\n\n return (\n Title && Description &&\n
\n
\n {Title && Title.value &&\n
\n \n
\n }\n {Description && Description.value &&\n
\n
\n \n
\n
\n }\n
\n
\n )\n};\n\nexport default FeatureDevMicrositeHeaderAndText;\n","import React, {useEffect, useState} from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport { getAncestorElement } from '../../../../helper/GetAncestorElement';\nimport chevronDown from '../../../../assets/image/chevron-down-circle.svg';\nimport defaultImg from '../../../../assets/image/grey.svg';\n\nconst FeatureDevMicrositeHero = (props) => {\n const {\n HeroUrl,\n HeroAlt,\n HeroType,\n HeroTitle,\n TitleColour,\n TitleFontName,\n HeroTitleFontSize = {value: 'default'},\n HeroTagline,\n TaglineFontName,\n HeroTaglineFontSize = {value: 'default'}\n } = props.fields;\n\n const titleStyle = {\n color: TitleColour && TitleColour.value ? TitleColour.value : \"#ffffff\",\n fontFamily: TitleFontName && TitleFontName.value\n }\n\n const taglineStyle = {\n color: TitleColour && TitleColour.value ? TitleColour.value : \"#ffffff\",\n fontFamily: TaglineFontName && TaglineFontName.value\n }\n\n const [chevronStyle, setChevronStyle] = useState()\n\n useEffect(() => {\n const getHeader = document.querySelector(\".main-navigation__nav-menu\");\n if (getHeader) {\n const headerStyle = window.getComputedStyle(getHeader);\n const headerColor = headerStyle.getPropertyValue('color');\n \n if (headerColor) {\n setChevronStyle(headerColor);\n } else {\n return \"#ffffff\";\n }\n }\n }, [chevronStyle]);\n\n const renderHeroBanner = () => {\n let heroBannerLayout = \"\";\n\n if (HeroUrl && HeroUrl.value) {\n if (HeroType && HeroType.value && HeroType.value.toLowerCase() === \"video\") {\n heroBannerLayout =\n \n \n \n Your browser does not support the video tag.\n \n } else {\n heroBannerLayout =\n e.target.src = defaultImg}\n className=\"lazyload\"\n />\n }\n }\n return heroBannerLayout;\n }\n\n const heroBtnHandler = (e) => {\n e.preventDefault()\n let element = e.target;\n const parentWrapper = getAncestorElement(element, 'dev-hero');\n if (parentWrapper) {\n const nextSibling = parentWrapper.nextElementSibling;\n\n if (nextSibling) {\n let initialTop = window.pageYOffset;\n let inputTop = nextSibling.offsetTop;\n let defaultTop = (initialTop + inputTop) * 0.5;\n let difference = initialTop - defaultTop;\n let startTime = performance.now();\n\n function step() {\n let animationTime = (performance.now() - startTime) / 1000;\n if (animationTime > 1) animationTime = 1;\n window.scrollTo(0, defaultTop + difference * Math.cos(animationTime * Math.PI));\n if (animationTime < 1) window.requestAnimationFrame(step);\n }\n\n window.requestAnimationFrame(step);\n }\n }\n }\n\n if (renderHeroBanner() || HeroTitle && HeroTitle.value || HeroTagline && HeroTagline.value) {\n return (\n
\n
\n {renderHeroBanner()}\n
\n
\n
\n {HeroTagline &&\n HeroTagline.value &&\n
\n \n
\n }\n {HeroTitle &&\n HeroTitle.value &&\n
\n \n
\n }\n
\n\n \n
\n
\n )\n } else return null;\n\n};\n\nexport default FeatureDevMicrositeHero;","export const getAncestorElement = (element, ancestorClass) => {\n if (element) {\n while ((element = element.parentElement) && !element.classList.contains(ancestorClass));\n }\n return element;\n};\n","import React, { useState, useEffect } from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport RiseAndFade from '../../../Common/Animations/RiseAndFade';\nimport defaultImg from \"../../../../assets/image/gray.png\";\n\nconst FeatureDevMicrositeHeroGrid = (props) => {\n const {\n Heading,\n HeadingFontName,\n HeadingFontSize = {value: 'default'},\n Subheading,\n SubheadingFontName,\n SubheadingFontSize = {value: 'default'},\n GridImages,\n BackgroundColour,\n FontColour\n } = props.fields;\n\n const {\n RemoveDefaultMargin = \"\"\n } = props.params || {};\n\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n if (window) {\n if (window.outerWidth < 768) {\n setIsMobile(true)\n }\n }\n }, [])\n\n let fontColor = FontColour && FontColour.value ? FontColour.value : \"#000000\";\n const heroGridStyle = {\n color: fontColor,\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#ffffff\",\n paddingTop: RemoveDefaultMargin && RemoveDefaultMargin === \"1\" ? \"0px\" : \"\"\n }\n\n const linkLabelStyle = {\n backgroundImage: `linear-gradient(transparent calc(100% - 1px), ${fontColor} 1px)`\n }\n\n const renderGallery = () => {\n let galleryLayout = \"\";\n\n if (GridImages && GridImages.length > 0) {\n galleryLayout =\n
\n
\n {GridImages.map((item, index) => {\n const {\n Link,\n ImageUrl,\n ImageAltText,\n Title,\n TitleFontName = null,\n ImageTitleFontSize = {value: 'default'},\n } = item.fields;\n\n let imageLayout = \"\";\n let posVal = 0;\n let isEven = false;\n const newIndex = index + 1;\n\n if (newIndex % 2 === 0) {\n posVal = 6;\n isEven = true;\n }\n\n if (isMobile && index > 0) {\n posVal = 6;\n }\n\n let colVal = \"7\";\n if (newIndex % 3 === 0) {\n colVal = \"5\";\n }\n else if (newIndex % 4 === 0) {\n colVal = \"7\";\n } else if (isEven) {\n colVal = \"5\";\n }\n\n if (Link && Link.value && Link.value.href && ImageUrl && ImageUrl.value) {\n imageLayout =\n \n }\n\n return imageLayout;\n })}\n
\n
\n }\n\n return galleryLayout;\n }\n\n if (GridImages && GridImages.length > 0) {\n return (\n
\n
\n {(Heading && Heading.value || Subheading && Subheading.value) &&\n
\n {Heading && Heading.value &&\n
\n \n
\n }\n {Subheading && Subheading.value &&\n
\n \n
\n }\n
\n }\n {renderGallery()}\n
\n
\n )\n } else return null;\n}\n\nexport default FeatureDevMicrositeHeroGrid;\n","import React, { useEffect, useState } from 'react';\nimport Flickity from \"react-flickity-component\"\nimport chevronRight from '../../../../assets/image/chevron-right.png';\n\nconst FeatureDevMicrositeImageCarousel = (props) => {\n\n const {\n ImageGallery: images = [],\n Colour = null,\n CaptionFontName = null,\n CaptionFontSize = {value: 'default'}\n } = props.fields;\n\n const [flkty, setFlkty] = useState(null)\n\n const flktyOptions = {\n pageDots: false\n }\n\n useEffect(() => {\n // after initialize\n if (flkty) {\n\n flkty.on('change', (index) => {\n let selectedCarousel = document.getElementsByClassName(`crsl-${flkty.guid}`)\n let selectedHTMLBtns = selectedCarousel[0].nextSibling.querySelectorAll('.custom-navigation-bar-buttons-button')\n let selectedPage = selectedCarousel[0].nextSibling.querySelector('#selected-page')\n // update current page\n selectedPage.textContent = `${index + 1}`\n\n // apply selected style to index\n Array.from(selectedHTMLBtns).forEach((button, i) => {\n if (button.classList.contains('is-active')) {\n button.classList.remove('is-active')\n button.style.backgroundColor = \"\"\n }\n if (i === index) {\n button.classList.add('is-active')\n if (Colour && Colour.value) button.style.backgroundColor = Colour.value\n }\n })\n })\n }\n }, [flkty])\n\n const renderCarouselNavigation = () => {\n\n return (\n
\n
\n
\n {flkty.slides.map((slide, index) => {\n return (\n \n )\n\n })}\n
\n
\n \n {/* pagination */}\n
\n
{flkty.selectedIndex + 1}
/ {flkty.slides.length}\n\n
\n\n \n
\n
\n
\n )\n }\n\n return (\n
\n\n {images && images.length > 0 && (\n setFlkty(ref)}\n reloadOnUpdate={true}\n static={true}\n >\n {images.map((item, index) => {\n const { ImageUrl: url, ImageAltText: alt, Caption: caption, ImageOrientation } = item.fields;\n if (url && url.value) {\n return (\n
\n \n {caption.value &&

{caption.value}

}\n
\n\n );\n } else return null;\n })}\n \n )}\n {/* custom nav */}\n {flkty && images.length && renderCarouselNavigation()}\n
\n\n )\n}\n\nexport default FeatureDevMicrositeImageCarousel;\n","import React, { useState, Fragment } from \"react\";\r\n\r\nconst Tooltip = (props) => {\r\n let timeout;\r\n const [active, setActive] = useState(false);\r\n\r\n const showTip = () => {\r\n timeout = setTimeout(() => {\r\n setActive(true);\r\n }, props.delay || 400);\r\n };\r\n\r\n const hideTip = () => {\r\n clearInterval(timeout);\r\n setActive(false);\r\n };\r\n\r\n return (\r\n \r\n {/* Wrapping */}\r\n {props.children}\r\n {active && (\r\n
\r\n {props.content.split(/\\n/).map((line, i, arr) => i === arr.length - 1 ? line : {line}
)}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Tooltip;\r\n","import React from 'react';\nimport Tooltip from '../../../Common/Tooltip';\nimport defaultImg from '../../../../assets/image/gray.png';\n\nconst FeatureDevMicrositeInteractiveAerialView = (props) => {\n const {\n ImageUrl,\n Hotspots,\n IsFullwidth\n } = props.fields;\n\n const {\n RemoveDefaultMargin = \"\"\n } = props.params || {};\n\n const componentStyle = {\n margin: RemoveDefaultMargin && RemoveDefaultMargin === \"1\" ? \"0px\" : \"\",\n }\n\n const renderTooltips = () => {\n if (Hotspots && Hotspots.length > 0) {\n\n let tooltipsLayout = Hotspots.map((item, index) => {\n const {\n TooltipLabel = null,\n TooltipLabelFontName = null,\n TooltipLabelFontSize = {value: 'default'},\n TooltipPosition = null,\n TooltipBgColour = null,\n TooltipFontColour = null,\n LeftPosition = null,\n TopPosition = null,\n Colour = null,\n HasBorder = null,\n BorderColour = null\n } = item.fields || {};\n\n let top = IsFullwidth.value ? parseFloat(TopPosition.value) + 1 : parseFloat(TopPosition.value);\n let left = IsFullwidth.value ? parseFloat(LeftPosition.value) + 0.5 : parseFloat(LeftPosition.value);\n\n const tooltipStyle = {\n top: TopPosition && TopPosition.value ? `${top}%` : \"0\",\n left: LeftPosition && LeftPosition.value ? `${left}%` : \"0\",\n position: \"absolute\"\n }\n\n const labelStyle = {\n backgroundColor: TooltipBgColour && TooltipBgColour.value ? TooltipBgColour.value : \"#ffffff\",\n color: TooltipFontColour && TooltipFontColour.value ? TooltipFontColour.value : \"#000\",\n fontFamily: TooltipLabelFontName && TooltipLabelFontName.value\n }\n\n const hotspotStyle = {\n backgroundColor: Colour && Colour.value ? Colour.value : \"\",\n borderColor: HasBorder.value && BorderColour.value ? BorderColour.value : \"\"\n }\n\n let tooltipLayout = (\n
\n \n
\n
\n
\n )\n\n return tooltipLayout;\n })\n\n return (\n
\n {tooltipsLayout}\n
)\n\n } else return null;\n }\n\n return (\n ImageUrl && Hotspots &&\n
\n
\n
\n {ImageUrl && ImageUrl.value &&\n {\n e.target.src = defaultImg\n e.target.style.aspectRatio = '16/9'\n }}\n\n />\n }\n {renderTooltips()}\n
\n
\n
\n );\n\n};\n\nexport default FeatureDevMicrositeInteractiveAerialView;\n","import React, { useState, useEffect } from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\n\nconst defaultColor = \"#3d4a39\";\nconst whiteColor = \"#ffffff\";\n\nconst FeatureDevMicrositeMainNavigation = (props) => {\n const {\n SiteLogoUrl,\n SiteLogoAltText,\n SiteUrl,\n EnquireLink,\n EnquireIconUrl,\n NavigationLinks,\n NavigationFontName,\n NavigationFontSize = {value: 'default'},\n NavigationBackgroundColour,\n NavigationFontColour,\n FontColour\n } = props.fields;\n\n const [showMenu, setShowMenu] = useState(false);\n const [isTablet, setIsTablet] = useState(false);\n\n\n useEffect(() => {\n function handleResize() {\n setIsTablet(window.matchMedia('(min-width: 768px)').matches);\n }\n window.addEventListener(\"resize\", handleResize);\n handleResize();\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const textColor = {\n color: FontColour && FontColour.value ? FontColour.value : whiteColor,\n borderColor: FontColour && FontColour.value ? FontColour.value : whiteColor,\n }\n\n const navColor = {\n color: NavigationFontColour && NavigationFontColour.value ? NavigationFontColour.value : whiteColor\n }\n const NavWrapperBgColor = NavigationBackgroundColour && NavigationBackgroundColour.value ? NavigationBackgroundColour.value : defaultColor;\n const navWrapperStyle = {\n background: isTablet ? `linear-gradient(to right,${NavWrapperBgColor} 50%,rgba(0, 0, 0, 0.5) 50%)` : NavWrapperBgColor,\n };\n\n const setBodyScroll = (isNavShown) => {\n document.body.style.overflow = isNavShown ? 'hidden' : 'overlay'\n }\n\n\n const setMenuStats = (status) => {\n setBodyScroll(status)\n setShowMenu(status)\n }\n const renderLogo = () => {\n let renderLogoLayout = \"\";\n\n if (SiteLogoUrl && SiteLogoUrl.value) {\n if (SiteUrl && SiteUrl.value) {\n renderLogoLayout =\n \n {SiteLogoAltText\n \n } else {\n renderLogoLayout =\n
\n {SiteLogoAltText\n
\n }\n }\n\n return renderLogoLayout;\n }\n\n return (\n
\n
\n
\n
\n
\n \n {showMenu &&\n
\n
\n \n
\n {NavigationLinks.map((item, index) => {\n const {\n Link,\n LinkName,\n // IsActive\n } = item.fields\n\n let navLinkLayout = \"\";\n if (Link && Link.value && Link.value.href && LinkName && LinkName.value) {\n navLinkLayout = (\n \n \n \n )\n }\n\n return navLinkLayout;\n })}\n
\n
\n
setMenuStats(false)}\n >\n
\n
\n }\n
\n
\n
\n {renderLogo()}\n
\n \n
\n
\n
\n )\n\n};\n\nexport default FeatureDevMicrositeMainNavigation;\n","\nimport React from 'react';\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\n/**\n * @method PartnersComponent\n * @param { BackgroundColour, FontColour, Heading, Subheading, Partners } props.fields\n * @returns The main Partners Component\n */\nconst FeatureDevMicrositePartners = (props) => {\n let { BackgroundColour,\n FontColour,\n Heading,\n HeadingFontName,\n HeadingFontSize = {value: 'default'},\n Subheading,\n SubheadingFontName,\n SubheadingFontSize = {value: 'default'},\n Partners } = props.fields;\n\n // Checking of default colors. If there's none set, default colors were assigned\n // Defaults: BackgroundColor = 'white', Color = 'black'\n const componentStyle = {\n color: FontColour && FontColour.value ? FontColour.value : \"#000000\",\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#ffffff\",\n }\n\n return (\n Partners && Heading && Subheading &&\n
\n
\n \n {\n Partners.length > 0 &&\n
\n \n
\n }\n
\n
)\n};\n\n/**\n * @method PartnersHeading\n * @param { items } props \n * @returns Partners Heading and Subheading\n */\nconst PartnersHeading = (props) => {\n const { HeadingFontName = null, SubheadingFontName = null } = props\n return (\n
\n {\n // Iteration of items array\n Object.keys(props.items).map((item, index) => {\n // Condition whether to display a heading/subheading if set or not.\n let itemType = item.toString();\n if(itemType === 'Heading') {\n return (props.items[item].value || props.items[item].value !== \"\") &&
\n }\n if(itemType === 'Subheading') {\n return (props.items[item].value || props.items[item].value !== \"\") &&
\n }\n })\n }\n
\n )\n}\n\n/**\n * @method PartnersGridItems\n * @param { Partners } props \n * @returns Set of liked logos\n */\nconst PartnersGridItems = (props) => {\n return (\n // Iteration of Partners array and props spreading\n props.Partners.map((item, index) => {\n const imageElement = {item.fields.LogoImageAlt.value}\n return item.fields.LogoLink.value.href !== \"\" ? {imageElement} :
{imageElement}
\n })\n )\n}\n\nexport default FeatureDevMicrositePartners;\n","import React, { useEffect, useState } from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\nimport RetailRiseFade from '../../../Common/Animations/RetailRiseFade';\n\nconst FeatureDevMicrositePressListing = (props) => {\n const { PressListingItems } = props.fields\n\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n if (window) {\n if (window.outerWidth <= 1180) {\n setIsMobile(true)\n }\n }\n }, [])\n\n return (\n PressListingItems && PressListingItems.length > 0 &&\n
\n {\n PressListingItems.map((item, index) => {\n return (\n !((!isMobile && index > 5) || (isMobile && index > 1)) ? :\n \n )\n })\n }\n
\n )};\n\nconst PressItemCard = (props) => {\n const { Title, ImageUrl, ImageAlt, PublicationName, PublicationDate, CtaLink, CtaLabel } = props.fields\n const $ = (fieldName) => {\n return fieldName.value\n }\n return (\n \n
\n {$(ImageAlt)}\n
\n { (($(PublicationDate) || $(PublicationDate) !== '') || $(PublicationName) || $(PublicationName) !== '') && \n
\n {$(PublicationName) || ''}\n { ($(PublicationDate) !== '') && {$(PublicationDate)}}\n
\n }\n {\n ($(Title) || $(Title) !== '') &&\n
\n \n {$(Title)}\n \n
\n }\n \n {$(CtaLabel)}\n \n \n \n \n \n
\n )\n}\n\nexport default FeatureDevMicrositePressListing;\n","import React from 'react';\r\n\r\nconst BaseComponent = (props) => {\r\n const {\r\n margin,\r\n sectionId,\r\n setVisible\r\n } = props\r\n\r\n const setMargin = () => {\r\n let marginClass = \"\";\r\n if (margin === \"standard\") {\r\n marginClass = \"standard\";\r\n }\r\n return marginClass;\r\n };\r\n\r\n const showBase = () => {\r\n let visible = true;\r\n if (setVisible && setVisible === \"hide\") {\r\n visible = false;\r\n }\r\n return visible;\r\n };\r\n\r\n if (showBase()) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n } else return null\r\n};\r\n\r\nexport default BaseComponent;\r\n","import React from \"react\";\r\nimport { withSitecoreContext, RichText } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport BaseComponent from \"../../../Common/BaseComponent\";\r\n\r\nclass FeatureDevMicrositeRichText extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (window) {\r\n const el = window.document.getElementById(\"_goback\");\r\n if (el) {\r\n el.onclick = function () {\r\n window.history.go(-1);\r\n return false;\r\n };\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const props = this.props;\r\n const componentStyle = {\r\n backgroundColor: props.fields.BackgroundColour && props.fields.BackgroundColour.value ? props.fields.BackgroundColour.value : \"#ffffff\",\r\n fontFamily: props.fields.FontName && props.fields.FontName.value\r\n }\r\n\r\n return (\r\n
\r\n {((props.fields && props.fields.Content) ||\r\n (!props.fields && props.sitecoreContext.pageEditing)) &&\r\n \r\n {props.fields && props.fields.Content && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n {!props.fields && props.sitecoreContext.pageEditing && (\r\n
\r\n

Rich Text component is not displayed due to following reasons:
\r\n - Datasource is not set.\r\n

\r\n
\r\n )}\r\n
\r\n }\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default withSitecoreContext()(FeatureDevMicrositeRichText);\r\n","import React from 'react';\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\n\nconst FeatureDevMicrositeSolidColour = (props) => {\n const {\n Title,\n TitleColour,\n TitleFontName,\n TitleFontSize = {value: 'default'},\n BackgroundColour\n } = props.fields;\n\n const solidColourStyle = {\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#3d4a39\"\n }\n\n const titleColourStyle = {\n color: TitleColour && TitleColour.value ? TitleColour.value : \"#ffffff\",\n fontFamily: TitleFontName && TitleFontName.value\n }\n\n return (\n
\n
\n
\n \n
\n
\n
\n )\n};\n\nexport default FeatureDevMicrositeSolidColour;\n","import React from 'react';\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\nimport defaultImg from \"../../../../assets/image/gray.png\";\nimport ScrollAnimation from \"react-animate-on-scroll\";\n\nconst FeatureDevMicrositeTextImage = (props) => {\n const {\n BackgroundColour,\n FontColour,\n Title,\n TitleFontName,\n TitleFontSize = {value: 'default'},\n Description,\n DescriptionFontName,\n DescriptionFontSize = {value: 'default'},\n CtaLink,\n CtaTheme,\n ImagePosition,\n ImageGallery\n } = props.fields;\n\n const textImageStyle = {\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#ffffff\",\n color: FontColour && FontColour.value ? FontColour.value : \"#000000\"\n }\n\n const fontFamilyName = {\n titleFontName: TitleFontName && TitleFontName.value,\n descriptionFontName: DescriptionFontName && DescriptionFontName.value\n }\n\n const renderGallery = () => {\n let galleryLayout = \"\";\n\n if (ImageGallery && ImageGallery.length > 0) {\n let galleryClass = \"\";\n if (ImageGallery.length === 2) {\n galleryClass = \"is-2\";\n } else if (ImageGallery.length > 2) {\n galleryClass = \"is-3\";\n }\n\n galleryLayout =\n
\n
\n {ImageGallery.map((item, index) => {\n const {\n ImageUrl,\n ImageAlt,\n ImageAspectRatio\n } = item.fields;\n\n if (index > 2) {\n return;\n }\n\n let imageLayout = \"\";\n let colVal = \"12\";\n\n if (ImageGallery.length === 2) {\n colVal = \"12\";\n if (index === 1) {\n colVal = \"6\"\n }\n } else if (ImageGallery.length > 2) {\n colVal = \"10\";\n if (index === 1) {\n colVal = \"4\";\n } else if (index === 2) {\n colVal = \"8\";\n }\n }\n\n let ratioClass = \"\";\n if (ImageAspectRatio && ImageAspectRatio.value) {\n if (ImageAspectRatio.value === \"4:3\") {\n ratioClass = \"is-ratio-4-3\";\n } else if (ImageAspectRatio.value === \"16:9\") {\n ratioClass = \"is-ratio-16-9\";\n } else if (ImageAspectRatio.value === \"3:4\") {\n ratioClass = \"is-ratio-3-4\";\n }\n }\n\n if (ImageUrl && ImageUrl.value) {\n imageLayout =\n
\n
\n
\n \n
\n
\n
\n }\n return imageLayout;\n })}\n
\n
\n }\n return galleryLayout;\n }\n\n if (ImageGallery && ImageGallery.length > 0 && Description && Description.value) {\n return (\n \n
\n
\n
\n
\n {renderGallery()}\n
\n\n {/* Divider */}\n
\n\n
\n
\n {Title && Title.value &&\n
\n \n
\n }\n {Description && Description.value &&\n
\n \n
\n }\n {CtaLink && CtaLink.value && CtaLink.value.href && CtaLink.value.text &&\n < div className='text-image__cta' >\n \n {CtaLink.value.text}\n \n
\n }\n
\n
\n
\n
\n \n \n )\n } else return null;\n};\n\nexport default FeatureDevMicrositeTextImage;\n","import React, { Component } from \"react\";\r\nimport { RichText } from \"@sitecore-jss/sitecore-jss-react\";\r\n\r\nclass FeatureDevMicrositeVideoModule extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.appendScript();\r\n\r\n // var iframe = document.getElementsByTagName(\"iframe\");\r\n // var iframeList = Array.prototype.slice.call(iframe);\r\n // iframeList.forEach(this.iframeEvent);\r\n // // iframe.onload = function(){\r\n // // console.log(iframe.contentWindow.document.body.scrollHeight);\r\n // // iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';\r\n // // }\r\n }\r\n\r\n iframeEvent(value, index, ar) {\r\n ar[index].onload = function(){\r\n ar[index].style.height = ar[index].contentWindow.document.body.scrollHeight + 'px';\r\n }\r\n }\r\n \r\n appendScript() {\r\n const { Object: object } = this.props.fields;\r\n if (object && object.value) {\r\n let parser = new DOMParser();\r\n let scripts = parser\r\n .parseFromString(object.value, \"text/html\")\r\n .body.querySelectorAll(\"script\");\r\n if (scripts && scripts.length) {\r\n for (let i = 0; i < scripts.length; i++) {\r\n let scriptElement = document.createElement('script');\r\n scriptElement.textContent = scripts[i].textContent;\r\n document.head.appendChild(scriptElement); }\r\n }\r\n }\r\n }\r\n\r\n\r\n \r\n render(){\r\n const {\r\n BackgroundColour,\r\n EmbedCode: object\r\n } = this.props.fields;\r\n \r\n const componentStyle = {\r\n backgroundColor: BackgroundColour && BackgroundColour.value ? BackgroundColour.value : \"#f5f5f6\"\r\n }\r\n \r\n if (object && object.value) {\r\n return (\r\n
\r\n
\r\n
\r\n
') ? \"hasVideo\" : object.value.includes('blingby.com') ? \"hasBlingby\" : \"\" }`}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else return null;\r\n }\r\n}\r\n\r\nexport default FeatureDevMicrositeVideoModule;\r\n","import React from \"react\";\nimport { Placeholder } from \"@sitecore-jss/sitecore-jss-react\";\n\nclass FoundationLayoutMain extends React.Component {\n render() {\n return (\n
\n \n \n
\n );\n }\n}\n\nexport default FoundationLayoutMain;\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\nimport CommonAnimationsRetailRiseFade from '../components/Common/Animations/RetailRiseFade';\nimport CommonAnimationsRiseAndFade from '../components/Common/Animations/RiseAndFade';\nimport FeatureDevMicrositeCorpoLeasing from '../components/Feature/DevMicrosite/CorpoLeasing';\nimport FeatureDevMicrositeEnquireBanner from '../components/Feature/DevMicrosite/EnquireBanner';\nimport FeatureDevMicrositeEnquireForm from '../components/Feature/DevMicrosite/EnquireForm';\nimport FeatureDevMicrositeFactsAndFigures from '../components/Feature/DevMicrosite/FactsAndFigures';\nimport FeatureDevMicrositeFactsAndFiguresWithImage from '../components/Feature/DevMicrosite/FactsAndFiguresWithImage';\nimport FeatureDevMicrositeFloorPlans from '../components/Feature/DevMicrosite/FloorPlans';\nimport FeatureDevMicrositeFooter from '../components/Feature/DevMicrosite/Footer';\nimport FeatureDevMicrositeFullWidthImage from '../components/Feature/DevMicrosite/FullWidthImage';\nimport FeatureDevMicrositeHeaderAndText from '../components/Feature/DevMicrosite/HeaderAndText';\nimport FeatureDevMicrositeHero from '../components/Feature/DevMicrosite/Hero';\nimport FeatureDevMicrositeHeroGrid from '../components/Feature/DevMicrosite/HeroGrid';\nimport FeatureDevMicrositeImageCarousel from '../components/Feature/DevMicrosite/ImageCarousel';\nimport FeatureDevMicrositeInteractiveAerialView from '../components/Feature/DevMicrosite/InteractiveAerialView';\nimport FeatureDevMicrositeMainNavigation from '../components/Feature/DevMicrosite/MainNavigation';\nimport FeatureDevMicrositePartners from '../components/Feature/DevMicrosite/Partners';\nimport FeatureDevMicrositePressListing from '../components/Feature/DevMicrosite/PressListing';\nimport FeatureDevMicrositeRichText from '../components/Feature/DevMicrosite/RichText';\nimport FeatureDevMicrositeSolidColour from '../components/Feature/DevMicrosite/SolidColour';\nimport FeatureDevMicrositeTextImage from '../components/Feature/DevMicrosite/TextImage';\nimport FeatureDevMicrositeVideoModule from '../components/Feature/DevMicrosite/VideoModule';\nimport FoundationLayoutMain from '../components/Foundation/Layout/Main';\n\nconst components = new Map();\ncomponents.set('Common-Animations-RetailRiseFade', CommonAnimationsRetailRiseFade);\ncomponents.set('Common-Animations-RiseAndFade', CommonAnimationsRiseAndFade);\ncomponents.set('Feature-DevMicrosite-CorpoLeasing', FeatureDevMicrositeCorpoLeasing);\ncomponents.set('Feature-DevMicrosite-EnquireBanner', FeatureDevMicrositeEnquireBanner);\ncomponents.set('Feature-DevMicrosite-EnquireForm', FeatureDevMicrositeEnquireForm);\ncomponents.set('Feature-DevMicrosite-FactsAndFigures', FeatureDevMicrositeFactsAndFigures);\ncomponents.set('Feature-DevMicrosite-FactsAndFiguresWithImage', FeatureDevMicrositeFactsAndFiguresWithImage);\ncomponents.set('Feature-DevMicrosite-FloorPlans', FeatureDevMicrositeFloorPlans);\ncomponents.set('Feature-DevMicrosite-Footer', FeatureDevMicrositeFooter);\ncomponents.set('Feature-DevMicrosite-FullWidthImage', FeatureDevMicrositeFullWidthImage);\ncomponents.set('Feature-DevMicrosite-HeaderAndText', FeatureDevMicrositeHeaderAndText);\ncomponents.set('Feature-DevMicrosite-Hero', FeatureDevMicrositeHero);\ncomponents.set('Feature-DevMicrosite-HeroGrid', FeatureDevMicrositeHeroGrid);\ncomponents.set('Feature-DevMicrosite-ImageCarousel', FeatureDevMicrositeImageCarousel);\ncomponents.set('Feature-DevMicrosite-InteractiveAerialView', FeatureDevMicrositeInteractiveAerialView);\ncomponents.set('Feature-DevMicrosite-MainNavigation', FeatureDevMicrositeMainNavigation);\ncomponents.set('Feature-DevMicrosite-Partners', FeatureDevMicrositePartners);\ncomponents.set('Feature-DevMicrosite-PressListing', FeatureDevMicrositePressListing);\ncomponents.set('Feature-DevMicrosite-RichText', FeatureDevMicrositeRichText);\ncomponents.set('Feature-DevMicrosite-SolidColour', FeatureDevMicrositeSolidColour);\ncomponents.set('Feature-DevMicrosite-TextImage', FeatureDevMicrositeTextImage);\ncomponents.set('Feature-DevMicrosite-VideoModule', FeatureDevMicrositeVideoModule);\ncomponents.set('Foundation-Layout-Main', FoundationLayoutMain);\n\nexport default function componentFactory(componentName) {\n return components.get(componentName);\n};\n","import axios from 'axios';\n\n/**\n * Implements a data fetcher using Axios - replace with your favorite\n * SSR-capable HTTP or fetch library if you like. See HttpJsonFetcher type\n * in sitecore-jss library for implementation details/notes.\n * @param {string} url The URL to request; may include query string\n * @param {any} data Optional data to POST with the request.\n */\nexport function dataFetcher(url, data) {\n return axios({\n url,\n method: data ? 'POST' : 'GET',\n data,\n // note: axios needs to use `withCredentials: true` in order for Sitecore cookies to be included in CORS requests\n // which is necessary for analytics and such\n withCredentials: true,\n });\n}\n","export default [\n \"castletowers\",\n \"21cityside\",\n \"midway\",\n \"narellan\",\n \"watergardens\",\n \"robina\",\n \"101albert\",\n \"brite\"\n];\n","import React from \"react\";\r\nimport {\r\n Placeholder,\r\n VisitorIdentification\r\n} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport Helmet from \"react-helmet\";\r\nimport gtmIdList from \"./gtmIdList\";\r\nimport micrositeList from \"./micrositeList\";\r\nimport TagManager from \"react-gtm-module\";\r\nimport \"./assets/themes/base.css\";\r\nimport objectFitImages from \"object-fit-images\";\r\nimport \"lazysizes\";\r\nimport { get } from \"lodash\";\r\n\r\nclass Layout extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { url: \"\", domain: \"\" };\r\n this.activeSitename = get(this, \"props.context.site.name\", \"\");\r\n\r\n this.gtmId = this.activeSitename ? \"GTM-KNLL2BD7\" : \"GTM-XXXXXXX\";\r\n \r\n let validMicrosite = micrositeList.find(site => this.activeSitename.replace(\"dev_\", \"\") === site);\r\n if (process.env.REACT_APP_THEME) {\r\n this.centre = process.env.REACT_APP_THEME;\r\n } else {\r\n this.centre = \"base\";\r\n }\r\n\r\n if (validMicrosite) {\r\n this.centre = validMicrosite;\r\n }\r\n let centreStyle = import(`./assets/themes/${this.centre}.css`);\r\n }\r\n\r\n componentDidMount() {\r\n const { route, context } = this.props;\r\n // TagManager.initialize({ gtmId: \"GTM-K2MGZGS\" });\r\n\r\n if (document) {\r\n objectFitImages();\r\n\r\n // Canonical URL\r\n let canonicalSrc = get(route, \"fields.CanonicalUrl.value\", \"\");\r\n if (!canonicalSrc) {\r\n canonicalSrc = document.URL;\r\n }\r\n let canonicalWrapper = document.getElementById(\"canonical\");\r\n if (canonicalWrapper) {\r\n canonicalWrapper.href = canonicalSrc;\r\n }\r\n\r\n let faviconSrc = get(context, \"developmentPageInfo.faviconUrl\", \"\");\r\n\r\n if (faviconSrc) {\r\n document.getElementById(\"favicon\").href = faviconSrc;\r\n }\r\n }\r\n \r\n TagManager.initialize({ gtmId: this.gtmId });\r\n if (window) {\r\n this.setState({\r\n url: window.location.href,\r\n domain: window.location.origin\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { route, context } = this.props;\r\n const { url, domain } = this.state;\r\n let metaImage = \"\";\r\n let metaImageAlt = \"\";\r\n\r\n return (\r\n \r\n \r\n \r\n {route.fields &&\r\n route.fields.PageTitle &&\r\n route.fields.PageTitle.value\r\n ? route.fields.PageTitle.value\r\n : \"\"}\r\n \r\n\r\n {route.fields &&\r\n route.fields.MetaDescription &&\r\n route.fields.MetaDescription.value && (\r\n \r\n )}\r\n\r\n {route.fields &&\r\n route.fields.RobotsTag &&\r\n route.fields.RobotsTag.value && (\r\n \r\n )}\r\n\r\n \r\n\r\n {route.fields\r\n ? route.fields.MetaImageUrl && route.fields.MetaImageUrl.value\r\n ? (metaImage = route.fields.MetaImageUrl.value) &&\r\n (metaImageAlt = route.fields.MetaImageAltText.value)\r\n : route.fields.MetaImage &&\r\n route.fields.MetaImage.value &&\r\n route.fields.MetaImage.value.src\r\n ? (metaImage = domain + route.fields.MetaImage.value.src) &&\r\n (metaImageAlt = route.fields.MetaImage.value.alt)\r\n : \"\"\r\n : \"\"}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {context.developmentPageInfo && context.developmentPageInfo.siteName && (\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 \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Layout;\r\n","import React from 'react';\n\n// Renders a route-not-found message when no route is available from Sitecore\n// The JSS equivalent of a 404 Not Found page.\n\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\n// The NotFound component receives the Layout Service Context data, but no route data.\n// This can be used to power parts of your site, such as navigation, from LS context additions\n// without losing the ability to render them on your 404 pages :)\n\nconst NotFound = ({ context = { site: { name: '' }, language: '' } }) => (\n \n

Page not found

\n

This page does not exist.

\n

\n Site: {context.site && context.site.name}\n
\n Language: {context.language}\n

\n
\n);\n\nexport default NotFound;\n","import React from 'react';\n//import i18n from 'i18next';\nimport Helmet from 'react-helmet';\nimport { isExperienceEditorActive, dataApi } from '@sitecore-jss/sitecore-jss-react';\nimport { dataFetcher } from './dataFetcher';\nimport config from './temp/config';\nimport Layout from './Layout';\nimport NotFound from './NotFound';\n// Dynamic route handler for Sitecore items.\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\n// So react-router delegates all route rendering to this handler, which attempts to get the right\n// route data from Sitecore - and if none exists, renders the not found component.\n\nexport default class RouteHandler extends React.Component {\n constructor(props) {\n super(props);\n\n const ssrInitialState = props.ssrState;\n\n this.state = {\n notFound: true,\n routeData: ssrInitialState, // null when client-side rendering\n defaultLanguage: config.defaultLanguage,\n };\n\n\n // route data from react-router - if route was resolved, it's not a 404\n if (props.route !== null) {\n this.state.notFound = false;\n }\n // if we have an initial SSR state, and that state doesn't have a valid route data,\n // then this is a 404 route.\n if (ssrInitialState && (!ssrInitialState.sitecore || !ssrInitialState.sitecore.route)) {\n this.state.notFound = true;\n }\n // if we have an SSR state, and that state has language data, set the current language\n // (this makes the language of content follow the Sitecore context language cookie)\n // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\n if (ssrInitialState && ssrInitialState.context && ssrInitialState.context.language) {\n this.state.defaultLanguage = ssrInitialState.context.language;\n }\n\n this.componentIsMounted = false;\n this.languageIsChanging = false;\n\n // tell i18next to sync its current language with the route language\n //this.updateLanguage();\n }\n\n componentDidMount() {\n // once we initialize the route handler, we've \"used up\" the SSR data,\t\n // if it existed, so we want to clear it now that it's in react state.\t\n // future route changes that might destroy/remount this component should ignore any SSR data.\t\n // EXCEPTION: Unless we are still SSR-ing. Because SSR can re-render the component twice\t\n // (once to find GraphQL queries that need to run, the second time to refresh the view with\t\n // GraphQL query results)\t\n // We test for SSR by checking for Node-specific process.env variable.\t\n if (typeof window !== \"undefined\" && !this.props.ssrRenderComplete && this.props.setSsrRenderComplete) {\n this.props.setSsrRenderComplete(true);\n }\n\n // if no existing routeData is present (from SSR), get Layout Service fetching the route data\n if (!this.state.routeData) {\n this.updateRouteData();\n }\n this.componentIsMounted = true;\n }\n componentWillUnmount() {\n this.componentIsMounted = false;\n }\n /**\n * Loads route data from Sitecore Layout Service into state.routeData\n */\n updateRouteData() {\n let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/';\n if (!sitecoreRoutePath.startsWith('/')) {\n sitecoreRoutePath = `/${sitecoreRoutePath}`;\n }\n const language = this.props.route.match.params.lang || this.state.defaultLanguage;\n // get the route data for the new route\n getRouteData(sitecoreRoutePath, language).then((routeData) => {\n if (routeData !== null && routeData.sitecore && routeData.sitecore.route) {\n // set the sitecore context data and push the new route\n this.props.contextFactory.setSitecoreContext({\n route: routeData.sitecore.route,\n itemId: routeData.sitecore.route.itemId,\n ...routeData.sitecore.context,\n });\n this.setState({ routeData, notFound: false });\n } else {\n this.setState({ routeData, notFound: true });\n }\n });\n }\n /**\n * Updates the current app language to match the route data.\n */\n // updateLanguage() {\n // const newLanguage = this.props.route.match.params.lang || this.state.defaultLanguage;\n // if (i18n.language !== newLanguage) {\n // this.languageIsChanging = true;\n // i18n.changeLanguage(newLanguage, () => {\n // this.languageIsChanging = false;\n // // if the component is not mounted, we don't care\n // // (next time it mounts, it will render with the right language context)\n // if (this.componentIsMounted) {\n // // after we change the i18n language, we need to force-update React,\n // // since otherwise React won't know that the dictionary has changed\n // // because it is stored in i18next state not React state\n // this.forceUpdate();\n // }\n // });\n // }\n // }\n componentDidUpdate(previousProps) {\n const existingRoute = previousProps.route.match.url;\n const newRoute = this.props.route.match.url;\n // don't change state (refetch route data) if the route has not changed\n if (existingRoute === newRoute) {\n return;\n }\n // if in experience editor - force reload instead of route data update\n // avoids confusing Sitecore's editing JS\n if (isExperienceEditorActive()) {\n window.location.assign(newRoute);\n return;\n }\n //this.updateLanguage();\n this.updateRouteData();\n }\n render() {\n const { notFound, routeData } = this.state;\n // no route data for the current route in Sitecore - show not found component.\n // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\n // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\n if (notFound) {\n return (\n
\n \n {'Page not found'}\n \n \n
\n );\n }\n // Don't render anything if the route data or dictionary data is not fully loaded yet.\n // This is a good place for a \"Loading\" component, if one is needed.\n if (!routeData || this.languageIsChanging) {\n return null;\n }\n // Render the app's root structural layout\n return ;\n }\n}\n\n\n/**\n * Gets route data from Sitecore. This data is used to construct the component layout for a JSS route.\n * @param {string} route Route path to get data for (e.g. /about)\n * @param {string} language Language to get route data in (content language, e.g. 'en')\n */\nfunction getRouteData(route, language) {\n const fetchOptions = {\n layoutServiceConfig: { host: config.sitecoreApiHost },\n querystringParams: { sc_lang: language, sc_apikey: config.sitecoreApiKey },\n fetcher: dataFetcher,\n };\n return dataApi.fetchRouteData(route, fetchOptions).catch((error) => {\n if (error.response && error.response.status === 404 && error.response.data) {\n return error.response.data;\n }\n console.error('Route data fetch error', error, error.response);\n return null;\n });\n}","import React from 'react';\nimport { SitecoreContext, SitecoreContextFactory } from '@sitecore-jss/sitecore-jss-react';\nimport { Route, Switch } from 'react-router-dom';\nimport { ApolloProvider } from 'react-apollo';\nimport componentFactory from './temp/componentFactory';\nimport RouteHandler from './RouteHandler';\n\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\n// By default the app's normal rendering is delegated to that handles the loading of JSS route data.\n// support languages in the URL prefix\n// e.g. /da-DK/path, or /en/path, or /path\nexport const routePatterns = [\n '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\n '/:lang([a-z]{2})/:sitecoreRoute*',\n '/:sitecoreRoute*',\n];\n// wrap the app with:\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\n// Not needed if not using connected GraphQL.\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\nclass AppRoot extends React.Component {\n state = {\n ssrRenderComplete: false,\n contextFactory: new SitecoreContextFactory()\n }\n\n setSsrRenderComplete = ssrRenderComplete => {\n this.setState({\n ssrRenderComplete\n })\n }\n\n render() {\n const { path, Router, graphQLClient, ssrState } = this.props;\n\n if (ssrState && ssrState.sitecore && ssrState.sitecore.route) {\n // set the initial sitecore context data if we got SSR initial state\n this.state.contextFactory.setSitecoreContext({\n route: ssrState.sitecore.route,\n itemId: ssrState.sitecore.route.itemId,\n ...ssrState.sitecore.context,\n });\n }\n\n const routeRenderFunction = (props) =>\n ;\n\n return (\n \n \n \n \n {routePatterns.map((routePattern) => (\n \n ))}\n \n \n \n \n );\n }\n}\n\nexport default AppRoot;","import \"@babel/polyfill\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport AppRoot from './AppRoot';\nimport GraphQLClientFactory from './lib/GraphQLClientFactory';\nimport config from './temp/config';\n//import i18ninit from './i18n';\n/* eslint-disable no-underscore-dangle */\nlet renderFunction = ReactDOM.render;\n/*\n SSR Data\n If we're running in a server-side rendering scenario,\n the server will provide JSON in the #__JSS_STATE__ element\n for us to acquire the initial state to run with on the client.\n This enables us to skip a network request to load up the layout data.\n We are emitting a quiescent script with JSON so that we can take advantage\n of JSON.parse()'s speed advantage over parsing full JS, and enable\n working without needing `unsafe-inline` in Content Security Policies.\n SSR is initiated from /server/server.js.\n*/\nlet __JSS_STATE__ = null;\nconst ssrRawJson = document.getElementById('__JSS_STATE__');\nif (ssrRawJson) {\n __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML);\n}\nif (__JSS_STATE__) {\n // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\n renderFunction = ReactDOM.hydrate;\n}\n/*\n GraphQL Data\n The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\n Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\n*/\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\n// to avoid needing to re-run GraphQL queries after the SSR page loads\nconst initialGraphQLState =\n __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE ? __JSS_STATE__.APOLLO_STATE : null;\nconst graphQLClient = GraphQLClientFactory(config.graphQLEndpoint, false, initialGraphQLState);\n/*\n App Rendering\n*/\n// initialize the dictionary, then render the app\n// note: if not making a multlingual app, the dictionary init can be removed.\n// i18ninit().then(() => {\n// });\n\n// HTML element to place the app into\nconst rootElement = document.getElementById('root');\nrenderFunction(\n ,\n rootElement\n);","/* eslint-disable import/first */\n\nimport 'isomorphic-fetch';\nimport { ApolloClient } from 'apollo-client';\nimport { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';\n\n/*\n INTROSPECTION DATA\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\n This enables the Apollo cache to process fragments on interface types correctly.\n If this file does not exist, you may need to run the `jss graphql:update` script.\n*/\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json';\n\n/*\n QUERY LINK SELECTION\n A link is transport which GraphQL queries are pushed across.\n You have many choices.\n See the apollo-link documentation for more details.\n\n NOTE: to use Sitecore Experience Editor it is essential that your\n link passes cookies along with requests (credentials: 'include').\n*/\n\n// choose between a basic HTTP link to run queries...\n// import { createHttpLink } from 'apollo-link-http';\n// const link = createHttpLink({ uri: endpoint, credentials: 'include' });\n\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\nimport { BatchHttpLink } from 'apollo-link-batch-http';\n\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\n// APQ + batched, or APQ + http links for example.\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries';\n\nexport default function(endpoint, ssr, initialCacheState) {\n /* HTTP link selection: default to batched + APQ */\n const link = createPersistedQueryLink().concat(\n new BatchHttpLink({ uri: endpoint, credentials: 'include' })\n );\n\n const cache = new InMemoryCache({\n fragmentMatcher: new IntrospectionFragmentMatcher({\n introspectionQueryResultData,\n }),\n });\n\n return new ApolloClient({\n ssrMode: ssr,\n ssrForceFetchDelay: 100,\n link,\n cache: cache.restore(initialCacheState),\n });\n}\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n \"sitecoreApiKey\": \"D7898185-A43A-4641-9D17-399C4930EE7E\",\n \"sitecoreApiHost\": \"\",\n \"jssAppName\": \"development\",\n \"defaultLanguage\": \"en\",\n \"graphQLEndpointPath\": \"/api/development\",\n \"graphQLEndpoint\": \"/api/development?sc_apikey=D7898185-A43A-4641-9D17-399C4930EE7E\"\n};"],"sourceRoot":""}