{"version":3,"sources":["webpack:///./node_modules/react-scroll/modules/mixins/smooth.js","webpack:///./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/react-scroll/modules/mixins/Helpers.js","webpack:///./node_modules/react-scroll/modules/components/Button.js","webpack:///./node_modules/react-scroll/modules/mixins/cancel-events.js","webpack:///./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-hash.js","webpack:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/react-scroll/modules/mixins/animate-scroll.js","webpack:///./node_modules/react-scroll/modules/components/Link.js","webpack:///./node_modules/react-scroll/modules/mixins/passive-event-listeners.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-events.js","webpack:///./node_modules/react-scroll/modules/components/Element.js","webpack:///./node_modules/lodash.throttle/index.js","webpack:///./node_modules/react-scroll/modules/index.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-link.js","webpack:///./node_modules/hero-slider/dist/index.es.js","webpack:///./node_modules/@accrosoft-ltd/accropress-theme-inspiration/src/components/BasicSlider.js","webpack:///./node_modules/@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/extraHomepageContentTop.js","webpack:///./node_modules/@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/extraHomepageContentBottom.js","webpack:///./node_modules/@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/heroInnerContent.js","webpack:///./node_modules/@accrosoft-ltd/accropress-theme-inspiration/src/templates/Homepage.js","webpack:///./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-element.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-spy.js","webpack:///./node_modules/react-scroll/modules/mixins/utils.js","webpack:///./node_modules/react-scroll/modules/mixins/scroller.js"],"names":["Object","defineProperty","exports","value","default","defaultEasing","x","Math","pow","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","W","X","d","c","e","h","trim","split","ia","a","length","m","b","Z","v","n","charCodeAt","replace","F","indexOf","P","substring","w","L","ja","ka","test","aa","G","ba","la","ma","R","na","ea","oa","H","q","g","A","S","call","B","U","prefix","D","z","M","k","y","C","K","u","l","r","I","t","J","f","p","N","charAt","ca","O","join","da","fa","Y","E","ha","Q","use","T","set","_extends","assign","target","i","arguments","source","key","prototype","hasOwnProperty","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","React","scrollSpy","defaultScroller","PropTypes","scrollHash","protoTypes","to","string","isRequired","containerId","container","object","activeClass","spy","bool","smooth","oneOfType","offset","number","delay","isDynamic","onClick","func","duration","absolute","onSetActive","onSetInactive","ignoreCancelEvents","hashSpy","Helpers","Scroll","Component","customScroller","console","warn","scroller","_React$Component","this","_this","getPrototypeOf","_initialiseProps","state","active","document","getElementById","nodeType","scrollSpyContainer","getScrollSpyContainer","isMounted","mount","mapContainer","addStateHandler","stateHandler","addSpyHandler","spyHandler","setState","unmount","className","prop","handleClick","createElement","_this2","scrollTo","event","stopPropagation","preventDefault","getActiveLink","isInitialized","element","elemTopBound","elemBottomBound","containerTop","getBoundingClientRect","top","get","cords","height","offsetY","isInside","floor","isOutside","activeLink","setActiveLink","getHash","changeHash","updateStates","propTypes","defaultProps","Element","_React$Component2","_this3","childBindings","domNode","window","registerElems","name","prevProps","unregister","register","parentBindings","id","module","_react2","_interopRequireDefault","_scrollLink2","obj","__esModule","ButtonElement","apply","children","_passiveEventListeners","events","subscribe","cancelEvent","forEach","addPassiveEventListener","reactPropsRegex","index","fn","cache","arg","undefined","_utils","_utils2","mountFlag","initialized","containers","handleHashChange","bind","addEventListener","initStateFromHash","hash","setTimeout","isInit","saveHashHistory","updateHash","removeEventListener","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","_smooth2","_cancelEvents2","_scrollEvents2","getAnimationType","options","requestAnimationFrameHelper","requestAnimationFrame","webkitRequestAnimationFrame","currentWindowProperties","callback","Date","getTime","currentPositionX","containerElement","data","body","scrollLeft","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","documentElement","currentPositionY","scrollTop","pageYOffset","animateScroll","easing","timestamp","cancel","delta","round","targetPosition","startPosition","start","progress","percent","currentPosition","ceil","horizontal","easedAnimate","registered","setContainer","animateTopScroll","scrollOffset","delayTimeout","clearTimeout","isNaN","parseFloat","proceedOptions","scrollToTop","scrollToBottom","scrollWidth","offsetWidth","html","max","clientWidth","scrollContainerWidth","scrollHeight","offsetHeight","clientHeight","scrollContainerHeight","toPosition","scrollMore","LinkElement","_ref","_temp","_len","args","Array","_key","concat","render","eventName","listener","supportsPassiveOption","opts","passive","removePassiveEventListener","Events","scrollEvent","evtName","remove","_scrollElement2","_propTypes2","ElementWrapper","newProps","ref","el","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","root","Function","objectToString","toString","nativeMax","nativeMin","min","now","debounce","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","toNumber","isObject","flush","type","isObjectLike","isSymbol","other","valueOf","isBinary","slice","ScrollElement","ScrollLink","Button","Link","_Link2","_Button2","_Element2","_scroller2","_scrollSpy2","_animateScroll2","_Helpers2","_scrollHash2","_React$PureComponent","PureComponent","elemLeftBound","elemRightBound","containerLeft","left","width","offsetX","_cords","_props$saveHashHistor","_props$saveHashHistor2","_saveHashHistory","_assign","s","__rest","getOwnPropertySymbols","__makeTemplateObject","cooked","raw","_assertThisInitialized","_defineProperty","invariant_1","condition","format","error","Error","argIndex","framesToPop","INSTANCE_MAP","Map","OBSERVER_MAP","ROOT_IDS","consecutiveRootId","observe","threshold","_options","rootMargin","has","observerId","getRootId","observerInstance","IntersectionObserver","inView","observer","thresholds","isArray","unobserve","itemsLeft","rootObserved","item","disconnect","changes","intersection","isIntersecting","intersectionRatio","some","EState","InView","entry","node","observeNode","onChange","_proto","componentDidMount","componentDidUpdate","prevState","triggerOnce","componentWillUnmount","_this$props","handleChange","_this$state","isPlainChildren","handleNode","_this$props2","as","tag","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","EAutoplayButtons","EActionTypes","EBackgroundAnimations","EAnimations","EAnimations$1","EOrientation","IntervalTimer","interval","maxFires","proxyCallback","fires","stop","lastTimeFired","setInterval","RUNNING","clearInterval","resumeId","IDLE","reset","pause","RESUME","remaining","pausedTime","lastPauseTime","PAUSED","resume","currentDate","timeoutCallback","newInterval","setMaxFires","newMax","templateObject_1","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","templateObject_8","templateObject_9","templateObject_10","templateObject_11","templateObject_12","templateObject_13","templateObject_14","templateObject_15","templateObject_1$1","templateObject_1$2","templateObject_2$1","templateObject_3$1","templateObject_4$1","templateObject_5$1","templateObject_6$1","templateObject_7$1","templateObject_8$1","setInitialSlidingAnimation","animation","FADE","TOP_TO_BOTTOM","BOTTOM_TO_TOP","LEFT_TO_RIGHT","RIGHT_TO_LEFT","fadeInKeyframes","slidingDuration","_a","theme","slidingDelay","slideFadeInKeyframes","slideFadeIn","slideLeftToRightKeyframes","slideLeftToRight","slideRightToLeftKeyframes","slideRightToLeft","slideTopToBottomKeyframes","slideTopToBottom","slideBottomToTopKeyframes","animations","slideBottomToTop","Wrapper","div","sliderFadeInDuration","initialContext","isMobile","slidesArray","slideProps","navProps","autoplayButtonProps","dispatchProps","generateNewSlideId","removeSlideId","useState","useEffect","useReducer","useRef","useCallback","SliderContext","reducer","action","newState","SET_SLIDE_DATA","slideNumber_1","payload","slideNumber","navDescription","find","push","SET_SLIDE_PROPS","activeSlide","isDoneSliding","slidingAnimation","SET_NAVBAR_PROPS","changeSlide","totalSlides","sliderWidth","SET_AUTOPLAY_BUTTON_PROPS","setIsManuallyPaused","autoplayHandlerTimeout","shouldAutoplay","autoplay","mobile","slideUniqueIdsArrayRef","slideUniqueIdsArray","current","newSlideId","removedSlideId","filter","slideId","sliderContextProps","_b","isMobile$1","setIsMobile","navigator","userAgent","Provider","Wrapper$1","useContext","memo","version","viewBox","fill","Buttons$1","isHorizontal","previousSlide","nextSlide","useContext$1","useEffect$1","useState$1","useLayoutEffect","memo$1","HeroSlider","onBeforeChange","onAfterChange","sliderRef","sliderDimensions","setSliderDimensions","initialSettings","initialSlidingAnimation","sliderOrientation","orientation","HORIZONTAL","sliderColor","navbarFadeInDuration","navbarFadeInDelay","isSmartSliding","shouldDisplayButtons","shouldSlideOnArrowKeypress","autoplayDuration","settings","sliderSettings","setSettings","initialTouchState","initialX","initialY","currentX","currentY","finalX","finalY","_c","touchState","setTouchState","_d","initialSlide","setActiveSlide","_e","setIsDoneSliding","isDoneSlidingWatcher","activeSlideWatcher","_f","setDelayTimeout","_g","slidingTimeout","setSlidingTimeout","slidingTimeoutDuration","setSlidingAnimation","newAnimation","onSlidingHandler","delayTimeoutId","slidingTimeoutId","smartAnimations","_h","setAutoplayHandlerTimeout","_j","isManuallyPaused","_k","getNextSlide","currentSlide","autoplayInstanceRef","autoplayInstance","changeSlideHandler","animationParam","setNextSlide","setPreviousSlide","getPreviousSlide","onArrowKeypressHandler","keyCode","setSliderDimensionsHandler","styledComponentsTheme","slideTransitionDelay","sliderHeight","navFadeInDuration","navFadeInDelay","navBackgroundColor","navbarSettings","color","navActiveColor","activeColor","maskDuration","_l","inViewTimeoutHandler","setInViewTimeoutHandler","log","timeoutId","onTouchStart","touches","clientX","clientY","onTouchMove","onTouchEnd","diffX","Number","diffY","isSlidingHorizontally","abs","isSliderSetHorizontally","isSliderVertically","VERTICAL","style","onMouseMoveCapture","autoplayHandlerTimeoutId","autoplayHandler","WithProvider","rest","_React$useState","setRef","useInView","Slider","ExtendedThemeProvider$1","memo$2","extendedTheme","slideCss","activeCss","inactiveCss","setAnimation","StyledSlide","isActive","unwrapExports","createCommonjsModule","on","attachEvent","off","detachEvent","scrollParent","HTMLElement","excludeStaticParent","position","overflowRegex","parent","parentNode","ownerDocument","getComputedStyle","overflow","overflowX","overflowY","debounce_1","immediate","timeout","context","later","last","callNow","throttle_1","threshhold","scope","deferTimer","templateObject_1$3","templateObject_2$2","templateObject_3$2","templateObject_4$2","templateObject_5$2","templateObject_6$2","templateObject_7$2","templateObject_1$4","templateObject_2$3","templateObject_3$3","templateObject_4$3","templateObject_5$3","templateObject_6$3","templateObject_7$3","templateObject_8$2","lib","forceCheck","lazyload","_reactDom2","_scrollParent2","_debounce2","_throttle2","defaultBoundingClientRect","LISTEN_FLAG","listeners","pending","passiveEventSupported","passiveEvent","capture","checkVisible","component","findDOMNode","parentTop","parentLeft","parentHeight","parentWidth","_parent$getBoundingCl","windowInnerHeight","innerHeight","windowInnerWidth","innerWidth","intersectionTop","intersectionLeft","intersectionHeight","intersectionWidth","_node$getBoundingClie","offsetTop","offsetLeft","offsets","checkOverflowVisible","getClientRects","elementHeight","_node$getBoundingClie2","checkNormalVisible","visible","once","forceUpdate","unmountIfInvisible","lazyLoadHandler","splice","delayType","finalLazyLoadHandler","LazyLoad","_Component","scrollport","scrollContainer","querySelector","needResetFinalLazyLoadHandler","throttle","getAttribute","listenerCount","setAttribute","_props","scroll","resize","removeAttribute","placeholder","arrayOf","getDisplayName","WrappedComponent","displayName","_Component2","LazyLoadDecorated","absolutelyPositioned","backgroundAnimationDuration","backgroundAnimationDelay","fadeInKeyframes$1","zoomOutKeyframes","Img","img","Background","useState$2","Background$1","memo$3","shouldLazyLoad","lazyLoadingOffset","onLoad","alt","background","backgroundImage","backgroundAnimation","setClassName","backgroundPosition","backgroundSize","content","ZOOM","src","multiplier","backgroundFadeInDuration","backgroundFadeInDelay","maskSlideIn","Mask","Img$1","useState$3","Mask$1","memo$4","backgroundColor","backgroundBlendMode","maskBackgroundBlendMode","isLoaded","useContext$2","useEffect$2","useState$4","HeroSlide","memo$5","shouldRenderMask","onBackgroundLoad","setSlideNumber","currentSlideData","newSlideNumber","templateObject_1$5","templateObject_2$4","templateObject_3$4","templateObject_4$4","templateObject_5$4","templateObject_6$4","fadeInKeyframes$2","navColor","Wrapper$2","ul","useContext$3","useMemo","SliderNav","memo$6","navButtons","map","_","bottom","transform","templateObject_1$6","templateObject_2$5","templateObject_3$5","templateObject_4$5","templateObject_5$5","templateObject_6$5","templateObject_1$7","templateObject_2$6","templateObject_3$6","templateObject_4$6","templateObject_5$6","templateObject_6$6","templateObject_7$4","templateObject_8$3","templateObject_9$1","templateObject_10$1","templateObject_1$8","templateObject_2$7","templateObject_3$7","templateObject_4$7","templateObject_5$7","templateObject_6$7","templateObject_7$5","templateObject_8$4","templateObject_9$2","templateObject_10$2","templateObject_11$1","templateObject_12$1","templateObject_13$1","templateObject_1$9","templateObject_1$a","fadeInKeyframes$3","navFadeInDuration$1","navFadeInDelay$1","navColor$1","navActiveColor$1","Wrapper$3","useContext$4","useMemo$1","fadeInKeyframes$4","memo$7","right","isPositionedRight","respectiveSlide","justifyContent","navFadeInDuration$2","navFadeInDelay$2","navColor$2","navActiveColor$2","Wrapper$4","Container$1","Bar","ExtraButtonWrapper","isExtraButtonRight","ExtraButton","span","useContext$5","useMemo$2","fadeInKeyframes$5","memo$8","mobileThreshold","isNullAfterThreshold","extraButton","MenuNavButtons","description","navFadeInDuration$3","navFadeInDelay$3","navColor$3","navActiveColor$3","defaultBackgroundColor","Wrapper$5","Container$2","buttonStyle","ExtraButton$1","li","Description","Text","useContext$6","useMemo$3","Button$1","memo$9","alignItems","ButtonNavButtons","button","useContext$7","useState$5","OverlayContainer","memo$a","PAUSE","buttonType","setButtonType","PLAY","setPath","onBeforeChangeFunction","slides","slide","backgroundAttachment","WeducNotices","WigLoader","_useState","sidebarLinksActive","setSidebarLinksActive","pluginOptions","quickLinksType","contentDataData","col","weducWebsitesID","config","weducContainer","weducContainerID","weducEntity","weducEntityID","contentMetaData","contentDataArray","contentDataChild","customDataArray","AccroPressProdEndpoint","apiEndpoint","AccroPressLocalEndpoint","integratorID","integratorAccessToken","imageFormatting","IMAGE_FORMATTING_SECRET","setNoticesMainLoaded","NoticeTemplate","toggleNoticesBanner","useHeroSlider","hideScroller","activeclass","scrollToContent","heroVideoURL","loop","muted","preload","autoPlay","playsInline","heroVideoURL_OGG","heroVideoURL_WEBM","hideNotices","noticesMainLoaded","noticesBannerExpanded","limit","loadedEvent","WeducNewsFeed","WeducDairyDates","MapWidget","polyfill","moment","attachment","external_url","href","title","dangerouslySetInnerHTML","__html","message","HomepagePagePage","_jsx2","_ref$pageContext","pageContext","integratorData","navResultData","_useState2","modalOpen","setModalOpen","_useState3","modalData","setModalData","_useState4","_useState5","_useState6","newsfeedLoaded","setNewsfeedLoaded","_useState7","calendarEventsLoaded","setCalendarEventsLoaded","_useState8","setNoticesBannerExpanded","_useState9","videoPlayerModalTriggered","setVideoPlayerModalTriggered","_useState10","schoolInformationTabActive","setSchoolInformationTabActive","_useState11","Android","match","BlackBerry","iOS","Opera","Windows","any","video","sources","getElementsByClassName","transition","load","play","updateAndShowModal","postType","showWig","location","classNames","modal","open","onClose","center","rel","buildMediaContent","previous","next","heroSliderHeight","class","cards","accroPressSiteID","school","contentHtml","createdAt","route","weducAPIURL","start_date","latitude","longitude","showMainWeducWidgets","newsPageRoute","eventsPageRoute","interleave","strings","interpolations","len","isPlainObject","EMPTY_ARRAY","freeze","EMPTY_OBJECT","isFunction","getComponentName","isStyledComponent","styledComponentId","SC_ATTR","process","REACT_APP_SC_ATTR","IS_BROWSER","DISABLE_SPEEDY","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","getNonce","throwStyledComponentsError","code","makeStyleTag","head","prevStyle","childNodes","child","hasAttribute","findLastStyleTag","nextSibling","nonce","insertBefore","CSSOMTag","appendChild","createTextNode","sheet","styleSheets","ownerNode","getSheet","insertRule","rule","_error","deleteRule","getRule","cssRules","cssText","TextTag","nodes","_proto2","refNode","removeChild","textContent","VirtualTag","_target","rules","_proto3","DefaultGroupedTag","groupSizes","Uint32Array","indexOfGroup","group","insertRules","oldBuffer","oldSize","newSize","ruleIndex","_i","clearGroup","startIndex","endIndex","getGroup","css","groupIDRegister","reverseRegister","nextFreeGroup","getGroupForId","getIdForGroup","setGroupForId","SELECTOR","MARKER_RE","RegExp","rehydrateNamesFromContent","names","registerName","rehydrateSheetFromTag","parts","innerHTML","part","marker","getTag","SHOULD_REHYDRATE","defaultOptions","isServer","useCSSOMInjection","StyleSheet","globalStyles","gs","querySelectorAll","rehydrateSheet","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","add","groupNames","Set","clearNames","clear","clearRules","clearTag","selector","outputSheet","phash","COMMENT_REGEX","createStylisInstance","_componentId","_selector","_selectorRegexp","_ref$options","_ref$plugins","plugins","stylis","parsingRules","parseRulesPlugin","toSheet","block","selectors","parents","line","column","ns","depth","at","delimiter","insertRulePlugin","selfReferenceReplacer","stringifyRules","componentId","flatCSS","cssStr","lastIndexOf","parsedRules","reduce","acc","plugin","StyleSheetContext","createContext","StylisContext","Consumer","masterSheet","masterStylis","useStyleSheet","useStylis","Keyframes","stringifyArgs","inject","styleSheet","String","getName","uppercasePattern","msPattern","hyphenateStyleName","toLowerCase","isFalsish","chunk","objToCssArray","prevKey","flatten","executionContext","ruleSet","isReactComponent","styles","val","isValidKey","mixin","mixinDeep","_rest","AD_REPLACER_R","getAlphabeticChar","fromCharCode","generateAlphabeticName","isStaticRules","ComponentStyle","staticRulesId","isStatic","baseHash","generateAndInjectStyles","cssStatic","cssStaticFormatted","dynamicHash","partRule","partChunk","partString","_name","cssFormatted","determineTheme","providedTheme","escapeRegex","dashesAtEnds","escape","str","isTag","generateComponentId","ThemeContext","ThemeProvider","outerTheme","themeContext","mergeTheme","identifiers","useStyledComponentImpl","forwardedComponent","forwardedRef","componentAttrs","attrs","componentStyle","foldedComponentIds","shouldForwardProp","_useResolvedAttrs","resolvedAttrs","attrDef","resolvedAttrDef","useResolvedAttrs","generatedClassName","hasAttrs","warnTooManyClasses","useInjectedStyle","refToForward","elementToBeCreated","$as","isTargetTag","computedProps","propFilterFn","propsForElement","Boolean","createStyledComponent","isTargetStyledComp","isCompositeComponent","_options$displayName","generateDisplayName","_options$componentId","parentComponentId","generateId","_options$attrs","finalAttrs","filterFn","WrappedStyledComponent","forwardRef","withComponent","previousComponentId","optionsToCopy","newComponentId","_foldedDefaultProps","styled","constructWithOptions","componentConstructor","templateFunction","withConfig","domElement","keyframes","withTheme","WithTheme","themeProp","_lodash","_lodash2","spyCallbacks","spySetState","scrollSpyContainers","eventHandler","eventThrottler","scrollHandler","handler","update","historyUpdate","hashVal","hashToUpdate","curLoc","urlToPush","pathname","search","history","pushState","replaceState","filterElementInContainer","contains","compareDocumentPosition","scrollX","scrollY","__mapped","__activeLink","getElementsByName","link"],"mappings":"8FAEAA,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,QAAU,CAIhBC,cAAe,SAAuBC,GACpC,OAAIA,EAAI,GACCC,KAAKC,IAAQ,EAAJF,EAAO,GAAK,EAGvB,EAAIC,KAAKC,IAAc,GAAT,EAAIF,GAAQ,GAAK,GAOxCG,OAAQ,SAAgBH,GACtB,OAAOA,GAGTI,WAAY,SAAoBJ,GAC9B,OAAOA,EAAIA,GAGbK,YAAa,SAAqBL,GAChC,OAAOA,GAAK,EAAIA,IAGlBM,cAAe,SAAuBN,GACpC,OAAOA,EAAI,GAAK,EAAIA,EAAIA,GAAU,EAAI,EAAIA,GAAKA,EAAlB,GAG/BO,YAAa,SAAqBP,GAChC,OAAOA,EAAIA,EAAIA,GAGjBQ,aAAc,SAAsBR,GAClC,QAASA,EAAIA,EAAIA,EAAI,GAGvBS,eAAgB,SAAwBT,GACtC,OAAOA,EAAI,GAAK,EAAIA,EAAIA,EAAIA,GAAKA,EAAI,IAAM,EAAIA,EAAI,IAAM,EAAIA,EAAI,GAAK,GAGxEU,YAAa,SAAqBV,GAChC,OAAOA,EAAIA,EAAIA,EAAIA,GAGrBW,aAAc,SAAsBX,GAClC,OAAO,KAAMA,EAAIA,EAAIA,EAAIA,GAG3BY,eAAgB,SAAwBZ,GACtC,OAAOA,EAAI,GAAK,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,IAAMA,EAAIA,EAAIA,EAAIA,GAG5Da,YAAa,SAAqBb,GAChC,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAGzBc,aAAc,SAAsBd,GAClC,OAAO,IAAMA,EAAIA,EAAIA,EAAIA,EAAIA,GAG/Be,eAAgB,SAAwBf,GACtC,OAAOA,EAAI,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,EAAI,KAAOA,EAAIA,EAAIA,EAAIA,EAAIA,K,oCC+hBzD,IArmBf,SAAoBgB,GAiUlB,SAASC,EAAEC,EAAGC,EAAGC,GACf,IAAIC,EAAIF,EAAEG,OAAOC,MAAMC,GACvBL,EAAIE,EACJ,IAAII,EAAIJ,EAAEK,OACNC,EAAIT,EAAEQ,OAEV,OAAQC,GACN,KAAK,EACL,KAAK,EACH,IAAIC,EAAI,EAER,IAAKV,EAAI,IAAMS,EAAI,GAAKT,EAAE,GAAK,IAAKU,EAAIH,IAAKG,EAC3CT,EAAES,GAAKC,EAAEX,EAAGC,EAAES,GAAIR,GAAGE,OAGvB,MAEF,QACE,IAAIQ,EAAIF,EAAI,EAEZ,IAAKT,EAAI,GAAIS,EAAIH,IAAKG,EACpB,IAAK,IAAIG,EAAI,EAAGA,EAAIJ,IAAKI,EACvBZ,EAAEW,KAAOD,EAAEX,EAAEa,GAAK,IAAKV,EAAEO,GAAIR,GAAGE,OAMxC,OAAOH,EAGT,SAASU,EAAEX,EAAGC,EAAGC,GACf,IAAIC,EAAIF,EAAEa,WAAW,GAGrB,OAFA,GAAKX,IAAMA,GAAKF,EAAIA,EAAEG,QAAQU,WAAW,IAEjCX,GACN,KAAK,GACH,OAAOF,EAAEc,QAAQC,EAAG,KAAOhB,EAAEI,QAE/B,KAAK,GACH,OAAOJ,EAAEI,OAASH,EAAEc,QAAQC,EAAG,KAAOhB,EAAEI,QAE1C,QACE,GAAI,EAAI,EAAIF,GAAK,EAAID,EAAEgB,QAAQ,MAAO,OAAOhB,EAAEc,QAAQC,GAAI,KAAOhB,EAAEc,WAAW,GAAK,GAAK,MAAQd,EAAEI,QAGvG,OAAOJ,EAAIC,EAGb,SAASiB,EAAElB,EAAGC,EAAGC,EAAGC,GAClB,IAAII,EAAIP,EAAI,IACRS,EAAI,EAAIR,EAAI,EAAIC,EAAI,EAAIC,EAE5B,GAAI,MAAQM,EAAG,CACbT,EAAIO,EAAEU,QAAQ,IAAK,GAAK,EACxB,IAAIP,EAAIH,EAAEY,UAAUnB,EAAGO,EAAEC,OAAS,GAAGJ,OAErC,OADAM,EAAIH,EAAEY,UAAU,EAAGnB,GAAGI,OAASM,EAAI,IAC5B,IAAMU,GAAK,IAAMA,GAAKC,EAAEX,EAAG,GAAK,WAAaA,EAAIA,EAAIA,EAG9D,GAAI,IAAMU,GAAK,IAAMA,IAAMC,EAAEd,EAAG,GAAI,OAAOA,EAE3C,OAAQE,GACN,KAAK,KACH,OAAO,KAAOF,EAAEO,WAAW,IAAM,WAAaP,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEO,WAAW,GAAK,WAAaP,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEO,WAAW,GAAK,WAAaP,EAAIA,EAAIA,EAExD,KAAK,KACH,GAAI,MAAQA,EAAEO,WAAW,GAAI,MAE/B,KAAK,IACL,KAAK,IACH,MAAO,WAAaP,EAAIA,EAE1B,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAIA,EAExC,KAAK,KACL,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAI,OAASA,EAAIA,EAErD,KAAK,IACH,GAAI,KAAOA,EAAEO,WAAW,GAAI,MAAO,WAAaP,EAAIA,EACpD,GAAI,EAAIA,EAAEU,QAAQ,aAAc,IAAK,OAAOV,EAAEQ,QAAQO,EAAI,gBAAkBf,EAC5E,MAEF,KAAK,IACH,GAAI,KAAOA,EAAEO,WAAW,GAAI,OAAQP,EAAEO,WAAW,IAC/C,KAAK,IACH,MAAO,eAAiBP,EAAEQ,QAAQ,QAAS,IAAM,WAAaR,EAAI,OAASA,EAAEQ,QAAQ,OAAQ,YAAcR,EAE7G,KAAK,IACH,MAAO,WAAaA,EAAI,OAASA,EAAEQ,QAAQ,SAAU,YAAcR,EAErE,KAAK,GACH,MAAO,WAAaA,EAAI,OAASA,EAAEQ,QAAQ,QAAS,kBAAoBR,EAE5E,MAAO,WAAaA,EAAI,OAASA,EAAIA,EAEvC,KAAK,IACH,MAAO,WAAaA,EAAI,YAAcA,EAAIA,EAE5C,KAAK,KACH,GAAI,KAAOA,EAAEO,WAAW,GAAI,MAE5B,MAAO,oBADPJ,EAAIH,EAAEY,UAAUZ,EAAEU,QAAQ,IAAK,KAAKF,QAAQ,QAAS,IAAIA,QAAQ,gBAAiB,YAClD,WAAaR,EAAI,gBAAkBG,EAAIH,EAEzE,KAAK,KACH,OAAOgB,EAAGC,KAAKjB,GAAKA,EAAEQ,QAAQU,EAAI,aAAelB,EAAEQ,QAAQU,EAAI,UAAYlB,EAAIA,EAEjF,KAAK,IAIH,OAFAN,GADAS,EAAIH,EAAEY,UAAU,IAAIf,QACda,QAAQ,KAAO,EAEbP,EAAEI,WAAW,GAAKJ,EAAEI,WAAWb,IACrC,KAAK,IACHS,EAAIH,EAAEQ,QAAQW,EAAG,MACjB,MAEF,KAAK,IACHhB,EAAIH,EAAEQ,QAAQW,EAAG,SACjB,MAEF,KAAK,IACHhB,EAAIH,EAAEQ,QAAQW,EAAG,MACjB,MAEF,QACE,OAAOnB,EAGX,MAAO,WAAaA,EAAI,OAASG,EAAIH,EAEvC,KAAK,KACH,IAAK,IAAMA,EAAEU,QAAQ,SAAU,GAAI,MAErC,KAAK,IAIH,OAHAhB,GAAKM,EAAIP,GAAGQ,OAAS,GAGbC,GAFRC,GAAK,KAAOH,EAAEO,WAAWb,GAAKM,EAAEY,UAAU,EAAGlB,GAAKM,GAAGY,UAAUnB,EAAEiB,QAAQ,IAAK,GAAK,GAAGb,QAExEU,WAAW,IAAwB,EAAlBJ,EAAEI,WAAW,KAC1C,KAAK,IACH,GAAI,IAAMJ,EAAEI,WAAW,GAAI,MAE7B,KAAK,IACHP,EAAIA,EAAEQ,QAAQL,EAAG,WAAaA,GAAK,IAAMH,EACzC,MAEF,KAAK,IACL,KAAK,IACHA,EAAIA,EAAEQ,QAAQL,EAAG,YAAc,IAAMD,EAAI,UAAY,IAAM,OAAS,IAAMF,EAAEQ,QAAQL,EAAG,WAAaA,GAAK,IAAMH,EAAEQ,QAAQL,EAAG,OAASA,EAAI,OAAS,IAAMH,EAG5J,OAAOA,EAAI,IAEb,KAAK,IACH,GAAI,KAAOA,EAAEO,WAAW,GAAI,OAAQP,EAAEO,WAAW,IAC/C,KAAK,IACH,OAAOJ,EAAIH,EAAEQ,QAAQ,SAAU,IAAK,WAAaR,EAAI,eAAiBG,EAAI,YAAcA,EAAIH,EAE9F,KAAK,IACH,MAAO,WAAaA,EAAI,iBAAmBA,EAAEQ,QAAQY,EAAI,IAAMpB,EAEjE,QACE,MAAO,WAAaA,EAAI,qBAAuBA,EAAEQ,QAAQ,gBAAiB,IAAIA,QAAQY,EAAI,IAAMpB,EAEpG,MAEF,KAAK,IACL,KAAK,IACH,GAAI,KAAOA,EAAEO,WAAW,IAAM,MAAQP,EAAEO,WAAW,GAAI,MAEzD,KAAK,IACL,KAAK,IACH,IAAI,IAAOc,EAAGJ,KAAKxB,GAAI,OAAO,OAASU,EAAIV,EAAEmB,UAAUnB,EAAEiB,QAAQ,KAAO,IAAIH,WAAW,GAAKI,EAAElB,EAAEe,QAAQ,UAAW,kBAAmBd,EAAGC,EAAGC,GAAGY,QAAQ,kBAAmB,YAAcR,EAAEQ,QAAQL,EAAG,WAAaA,GAAKH,EAAEQ,QAAQL,EAAG,QAAUA,EAAEK,QAAQ,QAAS,KAAOR,EACxQ,MAEF,KAAK,IACH,GAAIA,EAAI,WAAaA,GAAK,MAAQA,EAAEO,WAAW,GAAK,OAASP,EAAI,IAAMA,EAAG,MAAQL,EAAIC,GAAK,MAAQI,EAAEO,WAAW,KAAO,EAAIP,EAAEU,QAAQ,YAAa,IAAK,OAAOV,EAAEY,UAAU,EAAGZ,EAAEU,QAAQ,IAAK,IAAM,GAAGF,QAAQc,EAAI,gBAAkBtB,EAGvO,OAAOA,EAGT,SAASc,EAAErB,EAAGC,GACZ,IAAIC,EAAIF,EAAEiB,QAAQ,IAAMhB,EAAI,IAAM,KAC9BE,EAAIH,EAAEmB,UAAU,EAAG,IAAMlB,EAAIC,EAAI,IAErC,OADAA,EAAIF,EAAEmB,UAAUjB,EAAI,EAAGF,EAAEQ,OAAS,GAC3BsB,EAAE,IAAM7B,EAAIE,EAAIA,EAAEY,QAAQgB,EAAI,MAAO7B,EAAGD,GAGjD,SAAS+B,EAAGhC,EAAGC,GACb,IAAIC,EAAIgB,EAAEjB,EAAGA,EAAEa,WAAW,GAAIb,EAAEa,WAAW,GAAIb,EAAEa,WAAW,IAC5D,OAAOZ,IAAMD,EAAI,IAAMC,EAAEa,QAAQkB,EAAI,YAAYd,UAAU,GAAK,IAAMlB,EAAI,IAG5E,SAASiC,EAAElC,EAAGC,EAAGC,EAAGC,EAAGI,EAAGE,EAAGC,EAAGE,EAAGC,EAAGsB,GACpC,IAAK,IAAkBf,EAAdgB,EAAI,EAAGtD,EAAImB,EAAMmC,EAAIC,IAAKD,EACjC,OAAQhB,EAAIkB,EAAEF,GAAGG,KAAKC,EAAGxC,EAAGlB,EAAGoB,EAAGC,EAAGI,EAAGE,EAAGC,EAAGE,EAAGC,EAAGsB,IAClD,UAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,KACH,MAEF,QACErD,EAAIsC,EAIV,GAAItC,IAAMmB,EAAG,OAAOnB,EAmBtB,SAAS2D,EAAEzC,GAGT,YADA,KADAA,EAAIA,EAAE0C,UACWZ,EAAI,KAAM9B,EAAI,mBAAsBA,EAAIoB,EAAI,GAAKA,EAAI,EAAGU,EAAI9B,GAAKoB,EAAI,GAC/EqB,EAGT,SAASD,EAAExC,EAAGC,GACZ,IAAIC,EAAIF,EAKR,GAJA,GAAKE,EAAEY,WAAW,KAAOZ,EAAIA,EAAEE,QAE/BF,EAAI,CADAA,GAGA,EAAImC,EAAG,CACT,IAAIlC,EAAI+B,GAAG,EAAGjC,EAAGC,EAAGA,EAAGyC,EAAGC,EAAG,EAAG,EAAG,EAAG,QACtC,IAAWzC,GAAK,iBAAoBA,IAAMF,EAAIE,GAGhD,IAAII,EA3jBN,SAASsC,EAAE7C,EAAGC,EAAGC,EAAGC,EAAGI,GACrB,IAAK,IAAgC4B,EAAGC,EAAiBU,EAAuEC,EAAmCC,EAA1JvC,EAAI,EAAGC,EAAI,EAAGE,EAAI,EAAGC,EAAI,EAAS/B,EAAI,EAAGmE,EAAI,EAAMC,EAAIJ,EAAIX,EAAI,EAAGgB,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGd,EAAItC,EAAEM,OAAQ+C,EAAIf,EAAI,EAAMgB,EAAI,GAAIC,EAAI,GAAIzC,EAAI,GAAIU,EAAI,GAAOyB,EAAIX,GAAI,CAI5K,GAHAJ,EAAIlC,EAAEY,WAAWqC,GACjBA,IAAMI,GAAK,IAAM7C,EAAIG,EAAID,EAAIH,IAAM,IAAMC,IAAM0B,EAAI,KAAO1B,EAAI,GAAK,IAAKG,EAAID,EAAIH,EAAI,EAAG+B,IAAKe,KAExF,IAAM7C,EAAIG,EAAID,EAAIH,EAAG,CACvB,GAAI0C,IAAMI,IAAM,EAAIH,IAAMI,EAAIA,EAAEzC,QAAQ2C,EAAG,KAAM,EAAIF,EAAEpD,OAAOI,QAAS,CACrE,OAAQ4B,GACN,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,QACEoB,GAAKtD,EAAEyD,OAAOR,GAGlBf,EAAI,GAGN,OAAQA,GACN,KAAK,IAKH,IAHAD,GADAqB,EAAIA,EAAEpD,QACAU,WAAW,GACjBgC,EAAI,EAECQ,IAAMH,EAAGA,EAAIX,GAAI,CACpB,OAAQJ,EAAIlC,EAAEY,WAAWqC,IACvB,KAAK,IACHL,IACA,MAEF,KAAK,IACHA,IACA,MAEF,KAAK,GACH,OAAQV,EAAIlC,EAAEY,WAAWqC,EAAI,IAC3B,KAAK,GACL,KAAK,GACH5C,EAAG,CACD,IAAK2C,EAAIC,EAAI,EAAGD,EAAIK,IAAKL,EACvB,OAAQhD,EAAEY,WAAWoC,IACnB,KAAK,GACH,GAAI,KAAOd,GAAK,KAAOlC,EAAEY,WAAWoC,EAAI,IAAMC,EAAI,IAAMD,EAAG,CACzDC,EAAID,EAAI,EACR,MAAM3C,EAGR,MAEF,KAAK,GACH,GAAI,KAAO6B,EAAG,CACZe,EAAID,EAAI,EACR,MAAM3C,GAMd4C,EAAID,GAKV,MAEF,KAAK,GACHd,IAEF,KAAK,GACHA,IAEF,KAAK,GACL,KAAK,GACH,KAAOe,IAAMI,GAAKrD,EAAEY,WAAWqC,KAAOf,KAI1C,GAAI,IAAMU,EAAG,MACbK,IAMF,OAHAL,EAAI5C,EAAEiB,UAAUmC,EAAGH,GACnB,IAAMhB,IAAMA,GAAKqB,EAAIA,EAAEzC,QAAQ6C,EAAI,IAAIxD,QAAQU,WAAW,IAElDqB,GACN,KAAK,GAIH,OAHA,EAAIiB,IAAMI,EAAIA,EAAEzC,QAAQ2C,EAAG,KAC3BtB,EAAIoB,EAAE1C,WAAW,IAGf,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,GACHsC,EAAInD,EACJ,MAEF,QACEmD,EAAIS,EAMR,GAFAP,GADAR,EAAID,EAAE5C,EAAGmD,EAAGN,EAAGV,EAAG7B,EAAI,IAChBC,OACN,EAAI6B,IAAsBW,EAAId,EAAE,EAAGY,EAAzBM,EAAIrD,EAAE8D,EAAGL,EAAGH,GAAmBpD,EAAG0C,EAAGC,EAAGU,EAAGlB,EAAG7B,EAAGJ,GAAIqD,EAAIJ,EAAEU,KAAK,SAAK,IAAWd,GAAK,KAAOM,GAAKR,EAAIE,EAAE5C,QAAQI,UAAY4B,EAAI,EAAGU,EAAI,KAC5I,EAAIQ,EAAG,OAAQlB,GACjB,KAAK,IACHoB,EAAIA,EAAEzC,QAAQgD,EAAI/B,GAEpB,KAAK,IACL,KAAK,IACL,KAAK,GACHc,EAAIU,EAAI,IAAMV,EAAI,IAClB,MAEF,KAAK,IAEHA,GADAU,EAAIA,EAAEzC,QAAQiD,EAAI,UACV,IAAMlB,EAAI,IAClBA,EAAI,IAAM1B,GAAK,IAAMA,GAAKC,EAAE,IAAMyB,EAAG,GAAK,YAAcA,EAAI,IAAMA,EAAI,IAAMA,EAC5E,MAEF,QACEA,EAAIU,EAAIV,EAAG,MAAQ3C,IAAWsD,GAAKX,EAAVA,EAAa,SACnCA,EAAI,GACX,MAEF,QACEA,EAAID,EAAE5C,EAAGF,EAAEE,EAAGuD,EAAGH,GAAIP,EAAG3C,EAAGI,EAAI,GAGnCS,GAAK8B,EACLA,EAAIO,EAAID,EAAIF,EAAIf,EAAI,EACpBqB,EAAI,GACJpB,EAAIlC,EAAEY,aAAaqC,GACnB,MAEF,KAAK,IACL,KAAK,GAEH,GAAI,GAAKG,GADTE,GAAK,EAAIJ,EAAII,EAAEzC,QAAQ2C,EAAG,IAAMF,GAAGpD,QACpBI,QAAS,OAAQ,IAAM0C,IAAMf,EAAIqB,EAAE1C,WAAW,GAAI,KAAOqB,GAAK,GAAKA,GAAK,IAAMA,KAAOmB,GAAKE,EAAIA,EAAEzC,QAAQ,IAAK,MAAMP,QAAS,EAAI6B,QAAK,KAAYW,EAAId,EAAE,EAAGsB,EAAGvD,EAAGD,EAAG2C,EAAGC,EAAGa,EAAEjD,OAAQL,EAAGI,EAAGJ,KAAO,KAAOmD,GAAKE,EAAIR,EAAE5C,QAAQI,UAAYgD,EAAI,QAAarB,EAAIqB,EAAE1C,WAAW,GAAIsB,EAAIoB,EAAE1C,WAAW,GAAIqB,GAC9S,KAAK,EACH,MAEF,KAAK,GACH,GAAI,MAAQC,GAAK,KAAOA,EAAG,CACzBV,GAAK8B,EAAItD,EAAEyD,OAAOR,GAClB,MAGJ,QACE,KAAOK,EAAE1C,WAAWwC,EAAI,KAAOG,GAAKvC,EAAEsC,EAAGrB,EAAGC,EAAGoB,EAAE1C,WAAW,KAEhEuC,EAAID,EAAIF,EAAIf,EAAI,EAChBqB,EAAI,GACJpB,EAAIlC,EAAEY,aAAaqC,IAIzB,OAAQf,GACN,KAAK,GACL,KAAK,GACH,KAAO1B,EAAIA,EAAI,EAAI,IAAM,EAAIyB,GAAK,MAAQhC,GAAK,EAAIqD,EAAEhD,SAAW4C,EAAI,EAAGI,GAAK,MAC5E,EAAInB,EAAI4B,GAAK/B,EAAE,EAAGsB,EAAGvD,EAAGD,EAAG2C,EAAGC,EAAGa,EAAEjD,OAAQL,EAAGI,EAAGJ,GACjDyC,EAAI,EACJD,IACA,MAEF,KAAK,GACL,KAAK,IACH,GAAI,IAAMjC,EAAIG,EAAID,EAAIH,EAAG,CACvBmC,IACA,MAGJ,QAIE,OAHAA,IACAG,EAAI7C,EAAEyD,OAAOR,GAELf,GACN,KAAK,EACL,KAAK,GACH,GAAI,IAAMvB,EAAIJ,EAAIC,EAAG,OAAQ5B,GAC3B,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACHiE,EAAI,GACJ,MAEF,QACE,KAAOX,IAAMW,EAAI,KAErB,MAEF,KAAK,EACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACH,IAAMlC,EAAIH,EAAID,IAAM2C,EAAIC,EAAI,EAAGN,EAAI,KAAOA,GAC1C,MAEF,KAAK,IACH,GAAI,IAAMlC,EAAIH,EAAID,EAAIyD,GAAK,EAAIhB,EAAG,OAAQC,EAAID,GAC5C,KAAK,EACH,MAAQpE,GAAK,KAAOoB,EAAEY,WAAWqC,EAAI,KAAOe,EAAIpF,GAElD,KAAK,EACH,MAAQmE,IAAMiB,EAAIjB,GAEtB,MAEF,KAAK,GACH,IAAMpC,EAAIH,EAAID,IAAMyC,EAAIC,GACxB,MAEF,KAAK,GACH,IAAMzC,EAAIE,EAAIC,EAAIJ,IAAM2C,EAAI,EAAGL,GAAK,MACpC,MAEF,KAAK,GACL,KAAK,GACH,IAAMrC,IAAMG,EAAIA,IAAMuB,EAAI,EAAI,IAAMvB,EAAIuB,EAAIvB,GAC5C,MAEF,KAAK,GACH,IAAMA,EAAIH,EAAIE,GAAKH,IACnB,MAEF,KAAK,GACH,IAAMI,EAAIH,EAAIE,GAAKH,IACnB,MAEF,KAAK,GACH,IAAMI,EAAIH,EAAID,GAAKG,IACnB,MAEF,KAAK,GACH,GAAI,IAAMC,EAAIH,EAAID,EAAG,CACnB,GAAI,IAAM0B,EAAG,OAAQ,EAAIrD,EAAI,EAAImE,GAC/B,KAAK,IACH,MAEF,QACEd,EAAI,EAERvB,IAGF,MAEF,KAAK,GACH,IAAMF,EAAIE,EAAIC,EAAIJ,EAAIyC,EAAIJ,IAAMA,EAAI,GACpC,MAEF,KAAK,GACL,KAAK,GACH,KAAM,EAAIjC,EAAIJ,EAAIG,GAAI,OAAQF,GAC5B,KAAK,EACH,OAAQ,EAAI0B,EAAI,EAAIlC,EAAEY,WAAWqC,EAAI,IACnC,KAAK,IACHzC,EAAI,GACJ,MAEF,KAAK,IACH4C,EAAIH,EAAGzC,EAAI,GAGf,MAEF,KAAK,GACH,KAAO0B,GAAK,KAAOtD,GAAKwE,EAAI,IAAMH,IAAM,KAAOjD,EAAEY,WAAWwC,EAAI,KAAOG,GAAKvD,EAAEiB,UAAUmC,EAAGH,EAAI,IAAKJ,EAAI,GAAIrC,EAAI,IAIxH,IAAMA,IAAM8C,GAAKT,GAGrBE,EAAInE,EACJA,EAAIsD,EACJe,IAKF,GAAI,GAFJG,EAAIG,EAAEjD,QAEK,CAET,GADA4C,EAAInD,EACA,EAAIoC,SAA2C,KAArCW,EAAId,EAAE,EAAGuB,EAAGL,EAAGpD,EAAG2C,EAAGC,EAAGU,EAAGnD,EAAGI,EAAGJ,KAAoB,KAAOsD,EAAIT,GAAGxC,QAAS,OAAOkB,EAAI+B,EAAIzC,EAGzG,GAFAyC,EAAIL,EAAEU,KAAK,KAAO,IAAML,EAAI,IAExB,GAAMrC,EAAI8C,EAAG,CAGf,OAFA,IAAM9C,GAAKC,EAAEoC,EAAG,KAAOS,EAAI,GAEnBA,GACN,KAAK,IACHT,EAAIA,EAAE1C,QAAQoD,EAAI,YAAcV,EAChC,MAEF,KAAK,IACHA,EAAIA,EAAE1C,QAAQqD,EAAG,sBAAwBX,EAAE1C,QAAQqD,EAAG,aAAeX,EAAE1C,QAAQqD,EAAG,iBAAmBX,EAGzGS,EAAI,GAIR,OAAOxC,EAAI+B,EAAIzC,EA8PP6B,CAAEgB,EAAG3D,EAAGD,EAAG,EAAG,GAKtB,OAJA,EAAIoC,SAAmD,KAA7ClC,EAAI+B,GAAG,EAAG3B,EAAGL,EAAGA,EAAGyC,EAAGC,EAAGrC,EAAEC,OAAQ,EAAG,EAAG,MAAqBD,EAAIJ,IACxE,GACJ+D,EAAI,EACJtB,EAAID,EAAI,EACDpC,EAGT,IAAIqD,EAAK,QACLF,EAAI,YACJjC,EAAK,OACLF,EAAK,UACLM,EAAK,sBACLvB,EAAK,SACLU,EAAI,oBACJgD,EAAK,qBACLI,EAAI,aACJD,EAAK,gBACLzC,EAAI,qBACJqC,EAAK,kBACL9B,EAAK,eACLN,EAAK,eACLI,EAAK,8BACLH,EAAK,mCACLN,EAAK,sBACLsB,EAAI,EACJD,EAAI,EACJuB,EAAI,EACJ9C,EAAI,EACJyC,EAAI,GACJvB,EAAI,GACJD,EAAI,EACJP,EAAI,KACJmC,EAAI,EAKR,OAHAzB,EAAE6B,IApEF,SAASC,EAAEtE,GACT,OAAQA,GACN,UAAK,EACL,KAAK,KACHqC,EAAIC,EAAE9B,OAAS,EACf,MAEF,QACE,GAAI,mBAAsBR,EAAGsC,EAAED,KAAOrC,OAAO,GAAI,iBAAoBA,EAAG,IAAK,IAAIC,EAAI,EAAGC,EAAIF,EAAEQ,OAAQP,EAAIC,IAAKD,EAC7GqE,EAAEtE,EAAEC,SACCgE,EAAU,IAAJjE,EAGjB,OAAOsE,GAwDT9B,EAAE+B,IAAM9B,OACR,IAAW3C,GAAK2C,EAAE3C,GACX0C,I,oCC/lBT,IAAIgC,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GAGLO,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAkBnB,SAASG,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAG5E,SAAS0D,EAAUC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAG7G,IAAIK,EAAQ,EAAQ,QAMhBC,GAJW,EAAQ,QAEX,EAAQ,QAEJ,EAAQ,SAEpBC,EAAkB,EAAQ,QAE1BC,EAAY,EAAQ,QAEpBC,EAAa,EAAQ,QAErBC,EAAa,CACfC,GAAIH,EAAUI,OAAOC,WACrBC,YAAaN,EAAUI,OACvBG,UAAWP,EAAUQ,OACrBC,YAAaT,EAAUI,OACvBM,IAAKV,EAAUW,KACfC,OAAQZ,EAAUa,UAAU,CAACb,EAAUW,KAAMX,EAAUI,SACvDU,OAAQd,EAAUe,OAClBC,MAAOhB,EAAUe,OACjBE,UAAWjB,EAAUW,KACrBO,QAASlB,EAAUmB,KACnBC,SAAUpB,EAAUa,UAAU,CAACb,EAAUe,OAAQf,EAAUmB,OAC3DE,SAAUrB,EAAUW,KACpBW,YAAatB,EAAUmB,KACvBI,cAAevB,EAAUmB,KACzBK,mBAAoBxB,EAAUW,KAC9Bc,QAASzB,EAAUW,MAEjBe,EAAU,CACZC,OAAQ,SAAgBC,EAAWC,GACjCC,QAAQC,KAAK,6CACb,IAAIC,EAAWH,GAAkB9B,EAE7B4B,EAAS,SAAUM,GAGrB,SAASN,EAAOnD,GACdQ,EAAgBkD,KAAMP,GAEtB,IAAIQ,EAAQhD,EAA2B+C,MAAOP,EAAO/B,WAAa/H,OAAOuK,eAAeT,IAAS/F,KAAKsG,KAAM1D,IAO5G,OALA6D,EAAiBzG,KAAKuG,GAEtBA,EAAMG,MAAQ,CACZC,QAAQ,GAEHJ,EA6ET,OAzFA7C,EAAUqC,EAAQM,GAelB3D,EAAaqD,EAAQ,CAAC,CACpBxD,IAAK,wBACLnG,MAAO,WACL,IAAIsI,EAAc4B,KAAK1D,MAAM8B,YACzBC,EAAY2B,KAAK1D,MAAM+B,UAE3B,OAAID,EACKkC,SAASC,eAAenC,GAG7BC,GAAaA,EAAUmC,SAClBnC,EAGFiC,WAER,CACDrE,IAAK,oBACLnG,MAAO,WACL,GAAIkK,KAAK1D,MAAMkC,KAAOwB,KAAK1D,MAAMiD,QAAS,CACxC,IAAIkB,EAAqBT,KAAKU,wBAEzB9C,EAAU+C,UAAUF,IACvB7C,EAAUgD,MAAMH,GAGdT,KAAK1D,MAAMiD,UACRxB,EAAW4C,aACd5C,EAAW6C,MAAMd,GAGnB/B,EAAW8C,aAAab,KAAK1D,MAAM2B,GAAIwC,IAGrCT,KAAK1D,MAAMkC,KACbZ,EAAUkD,gBAAgBd,KAAKe,cAGjCnD,EAAUoD,cAAchB,KAAKiB,WAAYR,GACzCT,KAAKkB,SAAS,CACZ7C,UAAWoC,OAIhB,CACDxE,IAAK,uBACLnG,MAAO,WACL8H,EAAUuD,QAAQnB,KAAKe,aAAcf,KAAKiB,cAE3C,CACDhF,IAAK,SACLnG,MAAO,WACL,IAAIsL,EAAY,GAGdA,EADEpB,KAAKI,OAASJ,KAAKI,MAAMC,SACbL,KAAK1D,MAAM8E,WAAa,IAAM,KAAOpB,KAAK1D,MAAMiC,aAAe,WAAWhH,OAE5EyI,KAAK1D,MAAM8E,UAGzB,IAAI9E,EAAQX,EAAS,GAAIqE,KAAK1D,OAE9B,IAAK,IAAI+E,KAAQrD,EACX1B,EAAMH,eAAekF,WAChB/E,EAAM+E,GAMjB,OAFA/E,EAAM8E,UAAYA,EAClB9E,EAAM0C,QAAUgB,KAAKsB,YACd3D,EAAM4D,cAAc7B,EAAWpD,OAInCmD,EA1FI,CA2FX9B,EAAM+B,WAEJS,EAAmB,WACrB,IAAIqB,EAASxB,KAEbA,KAAKyB,SAAW,SAAUxD,EAAI3B,GAC5BwD,EAAS2B,SAASxD,EAAItC,EAAS,GAAI6F,EAAOpB,MAAO9D,KAGnD0D,KAAKsB,YAAc,SAAUI,GAIvBF,EAAOlF,MAAM0C,SACfwC,EAAOlF,MAAM0C,QAAQ0C,GAOnBA,EAAMC,iBAAiBD,EAAMC,kBAC7BD,EAAME,gBAAgBF,EAAME,iBAKhCJ,EAAOC,SAASD,EAAOlF,MAAM2B,GAAIuD,EAAOlF,QAG1C0D,KAAKe,aAAe,WACdjB,EAAS+B,kBAAoBL,EAAOlF,MAAM2B,KACvB,OAAjBuD,EAAOpB,OAAkBoB,EAAOpB,MAAMC,QAAUmB,EAAOlF,MAAM+C,eAC/DmC,EAAOlF,MAAM+C,gBAGfmC,EAAON,SAAS,CACdb,QAAQ,MAKdL,KAAKiB,WAAa,SAAU/G,GAC1B,IAAIuG,EAAqBe,EAAOd,wBAEhC,IAAI3C,EAAW4C,aAAgB5C,EAAW+D,gBAA1C,CAIA,IAAI7D,EAAKuD,EAAOlF,MAAM2B,GAClB8D,EAAU,KACVC,EAAe,EACfC,EAAkB,EAClBC,EAAe,EAEnB,GAAIzB,EAAmB0B,sBAErBD,EADqBzB,EAAmB0B,wBACVC,IAGhC,IAAKL,GAAWP,EAAOlF,MAAMyC,UAAW,CAGtC,KAFAgD,EAAUjC,EAASuC,IAAIpE,IAGrB,OAGF,IAAIqE,EAAQP,EAAQI,wBAEpBF,GADAD,EAAeM,EAAMF,IAAMF,EAAehI,GACToI,EAAMC,OAGzC,IAAIC,EAAUtI,EAAIsH,EAAOlF,MAAMsC,OAC3B6D,EAAWD,GAAWtM,KAAKwM,MAAMV,IAAiBQ,EAAUtM,KAAKwM,MAAMT,GACvEU,EAAYH,EAAUtM,KAAKwM,MAAMV,IAAiBQ,GAAWtM,KAAKwM,MAAMT,GACxEW,EAAa9C,EAAS+B,gBAE1B,OAAIc,GACE1E,IAAO2E,GACT9C,EAAS+C,mBAAc,GAGrBrB,EAAOlF,MAAMiD,SAAWxB,EAAW+E,YAAc7E,GACnDF,EAAWgF,aAGTvB,EAAOlF,MAAMkC,KAAOgD,EAAOpB,MAAMC,SACnCmB,EAAON,SAAS,CACdb,QAAQ,IAGVmB,EAAOlF,MAAM+C,eAAiBmC,EAAOlF,MAAM+C,iBAGtCzB,EAAUoF,gBAGfP,GAAYG,IAAe3E,GAC7B6B,EAAS+C,cAAc5E,GACvBuD,EAAOlF,MAAMiD,SAAWxB,EAAWgF,WAAW9E,GAE1CuD,EAAOlF,MAAMkC,MACfgD,EAAON,SAAS,CACdb,QAAQ,IAGVmB,EAAOlF,MAAM8C,aAAeoC,EAAOlF,MAAM8C,YAAYnB,IAGhDL,EAAUoF,qBAZnB,KAsBJ,OAJAvD,EAAOwD,UAAYjF,EACnByB,EAAOyD,aAAe,CACpBtE,OAAQ,GAEHa,GAET0D,QAAS,SAAiBzD,GACxBE,QAAQC,KAAK,8CAEb,IAAIsD,EAAU,SAAUC,GAGtB,SAASD,EAAQ7G,GACfQ,EAAgBkD,KAAMmD,GAEtB,IAAIE,EAASpG,EAA2B+C,MAAOmD,EAAQzF,WAAa/H,OAAOuK,eAAeiD,IAAUzJ,KAAKsG,KAAM1D,IAK/G,OAHA+G,EAAOC,cAAgB,CACrBC,QAAS,MAEJF,EA0CT,OApDAjG,EAAU+F,EAASC,GAanBhH,EAAa+G,EAAS,CAAC,CACrBlH,IAAK,oBACLnG,MAAO,WACL,GAAsB,oBAAX0N,OACT,OAAO,EAGTxD,KAAKyD,cAAczD,KAAK1D,MAAMoH,QAE/B,CACDzH,IAAK,qBACLnG,MAAO,SAA4B6N,GAC7B3D,KAAK1D,MAAMoH,OAASC,EAAUD,MAChC1D,KAAKyD,cAAczD,KAAK1D,MAAMoH,QAGjC,CACDzH,IAAK,uBACLnG,MAAO,WACL,GAAsB,oBAAX0N,OACT,OAAO,EAGT3F,EAAgB+F,WAAW5D,KAAK1D,MAAMoH,QAEvC,CACDzH,IAAK,gBACLnG,MAAO,SAAuB4N,GAC5B7F,EAAgBgG,SAASH,EAAM1D,KAAKsD,cAAcC,WAEnD,CACDtH,IAAK,SACLnG,MAAO,WACL,OAAO6H,EAAM4D,cAAc7B,EAAW/D,EAAS,GAAIqE,KAAK1D,MAAO,CAC7DwH,eAAgB9D,KAAKsD,qBAKpBH,EArDK,CAsDZxF,EAAM+B,WAOR,OAJAyD,EAAQF,UAAY,CAClBS,KAAM5F,EAAUI,OAChB6F,GAAIjG,EAAUI,QAETiF,IAGXa,EAAOnO,QAAU2J,G,oCC3XjB7J,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAIsG,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAoBfsH,EAAUC,EAFD,EAAQ,SAMjBC,EAAeD,EAFD,EAAQ,SAI1B,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,SAAStH,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAmB5E,IAAI4K,EAAgB,SAAUvE,GAG5B,SAASuE,IAGP,OAFAxH,EAAgBkD,KAAMsE,GAEfrH,EAA2B+C,MAAOsE,EAAc5G,WAAa/H,OAAOuK,eAAeoE,IAAgBC,MAAMvE,KAAMjE,YAUxH,OAhCF,SAAmBsB,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAI3GF,CAAUkH,EAAevE,GAQzB3D,EAAakI,EAAe,CAAC,CAC3BrI,IAAK,SACLnG,MAAO,WACL,OAAOmO,EAAQlO,QAAQwL,cAAc,QAASvB,KAAK1D,MAAO0D,KAAK1D,MAAMkI,cAIlEF,EAhBW,CAiBlBL,EAAQlO,QAAQ2J,WAGlB7J,EAAQE,SAAU,EAAIoO,EAAapO,SAASuO,I,oCCtF5C3O,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI2O,EAAyB,EAAQ,QAEjCC,EAAS,CAAC,YAAa,aAAc,YAAa,WACtD7O,EAAQE,QAAU,CAChB4O,UAAW,SAAmBC,GAC5B,MAA2B,oBAAbtE,UAA4BoE,EAAOG,SAAQ,SAAUnD,GACjE,OAAO,EAAI+C,EAAuBK,yBAAyBxE,SAAUoB,EAAOkD,S,oCCJnE,ICPXG,EAAkB,45HAElBC,EDHJ,SAAiBC,GACf,IAAIC,EAAQ,GACZ,OAAO,SAAUC,GAEf,YADmBC,IAAfF,EAAMC,KAAoBD,EAAMC,GAAOF,EAAGE,IACvCD,EAAMC,ICDL,EAAQ,SAAU9D,GAC5B,OAAO0D,EAAgBpM,KAAK0I,IAAgC,MAAvBA,EAAKpJ,WAAW,IAE3B,MAAvBoJ,EAAKpJ,WAAW,IAEhBoJ,EAAKpJ,WAAW,GAAK,MAIX,O,oCCVftC,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGoB,EAAQ,QAArC,IAMgCsO,EAJ5BiB,EAAS,EAAQ,QAEjBC,GAE4BlB,EAFKiB,IAGrBjB,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,IAAIrG,EAAa,CACfwH,WAAW,EACXC,aAAa,EACb1F,SAAU,KACV2F,WAAY,GACZ7E,MAAO,SAAed,GACpBE,KAAKF,SAAWA,EAChBE,KAAK0F,iBAAmB1F,KAAK0F,iBAAiBC,KAAK3F,MACnDwD,OAAOoC,iBAAiB,aAAc5F,KAAK0F,kBAC3C1F,KAAK6F,oBACL7F,KAAKuF,WAAY,GAEnB1E,aAAc,SAAsB5C,EAAII,GACtC2B,KAAKyF,WAAWxH,GAAMI,GAExBsC,UAAW,WACT,OAAOX,KAAKuF,WAEdzD,cAAe,WACb,OAAO9B,KAAKwF,aAEdK,kBAAmB,WACjB,IAAI5F,EAAQD,KAER8F,EAAO9F,KAAK8C,UAEZgD,EACFtC,OAAOuC,YAAW,WAChB9F,EAAMwB,SAASqE,GAAM,GAErB7F,EAAMuF,aAAc,IACnB,IAEHxF,KAAKwF,aAAc,GAGvB/D,SAAU,SAAkBxD,EAAI+H,GAC9B,IAAIlG,EAAWE,KAAKF,SAGpB,GAFcA,EAASuC,IAAIpE,KAEX+H,GAAU/H,IAAO6B,EAAS+B,iBAAkB,CAC1D,IAAIxD,EAAY2B,KAAKyF,WAAWxH,IAAOqC,SACvCR,EAAS2B,SAASxD,EAAI,CACpBI,UAAWA,MAIjByE,QAAS,WACP,OAAOwC,EAAQvP,QAAQ+M,WAEzBC,WAAY,SAAoB9E,EAAIgI,GAC9BjG,KAAK8B,iBAAmBwD,EAAQvP,QAAQ+M,YAAc7E,GACxDqH,EAAQvP,QAAQmQ,WAAWjI,EAAIgI,IAGnCP,iBAAkB,WAChB1F,KAAKyB,SAASzB,KAAK8C,YAErB3B,QAAS,WACPnB,KAAKF,SAAW,KAChBE,KAAKyF,WAAa,KAClBjC,OAAO2C,oBAAoB,aAAcnG,KAAK0F,oBAGlD7P,EAAQE,QAAUgI,G,kCClCH,IAhDI,CACjBqI,wBAAyB,EACzBC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBC,WAAY,EACZC,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,I,kCC5CfrT,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI6F,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GASLoN,GAJU/E,EAFD,EAAQ,SAMNA,EAFD,EAAQ,UAMlBgF,EAAiBhF,EAFD,EAAQ,SAMxBiF,EAAiBjF,EAFD,EAAQ,SAI5B,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAQb,IAAIgF,EAAmB,SAA0BC,GAC/C,OAAOJ,EAASlT,QAAQsT,EAAQ3K,SAAWuK,EAASlT,QAAQC,eA2B1DsT,EAV0B,WAC5B,GAAsB,oBAAX9F,OACT,OAAOA,OAAO+F,uBAAyB/F,OAAOgG,4BASzCC,IAA6B,SAAUC,EAAU3H,EAASjD,GAC/D0E,OAAOuC,WAAW2D,EAAU5K,GAAS,IAAO,IAAI,IAAI6K,MAAOC,YAsB3DC,EAAmB,SAA0BR,GAC/C,IAAIS,EAAmBT,EAAQU,KAAKD,iBAEpC,GAAIA,GAAoBA,IAAqBxJ,UAAYwJ,IAAqBxJ,SAAS0J,KACrF,OAAOF,EAAiBG,WAExB,IAAIC,OAA2C9E,IAAvB5B,OAAO2G,YAC3BC,EAA+C,gBAA/B9J,SAAS+J,YAAc,IAC3C,OAAOH,EAAoB1G,OAAO2G,YAAcC,EAAe9J,SAASgK,gBAAgBL,WAAa3J,SAAS0J,KAAKC,YAInHM,EAAmB,SAA0BlB,GAC/C,IAAIS,EAAmBT,EAAQU,KAAKD,iBAEpC,GAAIA,GAAoBA,IAAqBxJ,UAAYwJ,IAAqBxJ,SAAS0J,KACrF,OAAOF,EAAiBU,UAExB,IAAIN,OAA2C9E,IAAvB5B,OAAO2G,YAC3BC,EAA+C,gBAA/B9J,SAAS+J,YAAc,IAC3C,OAAOH,EAAoB1G,OAAOiH,YAAcL,EAAe9J,SAASgK,gBAAgBE,UAAYlK,SAAS0J,KAAKQ,WA4BlHE,EAAgB,SAASA,EAAcC,EAAQtB,EAASuB,GAC1D,IAAIb,EAAOV,EAAQU,KAEnB,GAAKV,EAAQ/J,qBAAsByK,EAAKc,OAiCxC,GAxBAd,EAAKe,MAAQ5U,KAAK6U,MAAMhB,EAAKiB,eAAiBjB,EAAKkB,eAEhC,OAAflB,EAAKmB,QACPnB,EAAKmB,MAAQN,GAGfb,EAAKoB,SAAWP,EAAYb,EAAKmB,MACjCnB,EAAKqB,QAAUrB,EAAKoB,UAAYpB,EAAK7K,SAAW,EAAIyL,EAAOZ,EAAKoB,SAAWpB,EAAK7K,UAChF6K,EAAKsB,gBAAkBtB,EAAKkB,cAAgB/U,KAAKoV,KAAKvB,EAAKe,MAAQf,EAAKqB,SAEpErB,EAAKD,kBAAoBC,EAAKD,mBAAqBxJ,UAAYyJ,EAAKD,mBAAqBxJ,SAAS0J,KAChGX,EAAQkC,WACVxB,EAAKD,iBAAiBG,WAAaF,EAAKsB,gBAExCtB,EAAKD,iBAAiBU,UAAYT,EAAKsB,gBAGrChC,EAAQkC,WACV/H,OAAO/B,SAASsI,EAAKsB,gBAAiB,GAEtC7H,OAAO/B,SAAS,EAAGsI,EAAKsB,iBAIxBtB,EAAKqB,QAAU,EAAnB,CACE,IAAII,EAAed,EAAc/E,KAAK,KAAMgF,EAAQtB,GACpDC,EAA4B5P,KAAK8J,OAAQgI,QAIvCrC,EAAepT,QAAQ0V,WAAgB,KACzCtC,EAAepT,QAAQ0V,WAAgB,IAAE1B,EAAK9L,GAAI8L,EAAKlO,OAAQkO,EAAKsB,sBAvChElC,EAAepT,QAAQ0V,WAAgB,KACzCtC,EAAepT,QAAQ0V,WAAgB,IAAE1B,EAAK9L,GAAI8L,EAAKlO,OAAQkO,EAAKQ,mBA0CtEmB,EAAe,SAAsBrC,GACvCA,EAAQU,KAAKD,iBAAoBT,EAAiBA,EAAQjL,YAAckC,SAASC,eAAe8I,EAAQjL,aAAeiL,EAAQhL,WAAagL,EAAQhL,UAAUmC,SAAW6I,EAAQhL,UAAYiC,SAAlJ,MAGzCqL,EAAmB,SAA0BC,EAAcvC,EAASpL,EAAIpC,GAc1E,GAbAwN,EAAQU,KAAOV,EAAQU,MArHhB,CACLsB,gBAAiB,EACjBJ,cAAe,EACfD,eAAgB,EAChBG,SAAU,EACVjM,SAAU,EACV2L,QAAQ,EACRhP,OAAQ,KACRiO,iBAAkB,KAClB7L,GAAI,KACJiN,MAAO,KACPJ,MAAO,KACPM,QAAS,KACTS,aAAc,MAyGhBrI,OAAOsI,aAAazC,EAAQU,KAAK8B,cAEjC3C,EAAenT,QAAQ4O,WAAU,WAC/B0E,EAAQU,KAAKc,QAAS,KAGxBa,EAAarC,GACbA,EAAQU,KAAKmB,MAAQ,KACrB7B,EAAQU,KAAKc,QAAS,EACtBxB,EAAQU,KAAKkB,cAAgB5B,EAAQkC,WAAa1B,EAAiBR,GAAWkB,EAAiBlB,GAC/FA,EAAQU,KAAKiB,eAAiB3B,EAAQlK,SAAWyM,EAAeA,EAAevC,EAAQU,KAAKkB,cAExF5B,EAAQU,KAAKkB,gBAAkB5B,EAAQU,KAAKiB,eAAhD,CA7JoB,IAAyBlV,EAqK7CuT,EAAQU,KAAKe,MAAQ5U,KAAK6U,MAAM1B,EAAQU,KAAKiB,eAAiB3B,EAAQU,KAAKkB,eAC3E5B,EAAQU,KAAK7K,UArKW,mBADqBpJ,EAsKLuT,EAAQnK,UArKXpJ,EAAQ,WAC3C,OAAOA,IAoKiDuT,EAAQU,KAAKe,OACvEzB,EAAQU,KAAK7K,SAAW6M,MAAMC,WAAW3C,EAAQU,KAAK7K,WAAa,IAAO8M,WAAW3C,EAAQU,KAAK7K,UAClGmK,EAAQU,KAAK9L,GAAKA,EAClBoL,EAAQU,KAAKlO,OAASA,EACtB,IAAI8O,EAASvB,EAAiBC,GAC1BmC,EAAed,EAAc/E,KAAK,KAAMgF,EAAQtB,GAEhDA,GAAWA,EAAQvK,MAAQ,EAC7BuK,EAAQU,KAAK8B,aAAerI,OAAOuC,YAAW,WACxCoD,EAAepT,QAAQ0V,WAAkB,OAC3CtC,EAAepT,QAAQ0V,WAAkB,MAAEpC,EAAQU,KAAK9L,GAAIoL,EAAQU,KAAKlO,QAG3EyN,EAA4B5P,KAAK8J,OAAQgI,KACxCnC,EAAQvK,QAITqK,EAAepT,QAAQ0V,WAAkB,OAC3CtC,EAAepT,QAAQ0V,WAAkB,MAAEpC,EAAQU,KAAK9L,GAAIoL,EAAQU,KAAKlO,QAG3EyN,EAA4B5P,KAAK8J,OAAQgI,SA9BnCrC,EAAepT,QAAQ0V,WAAgB,KACzCtC,EAAepT,QAAQ0V,WAAgB,IAAEpC,EAAQU,KAAK9L,GAAIoL,EAAQU,KAAKlO,OAAQwN,EAAQU,KAAKsB,kBAgC9FY,EAAiB,SAAwB5C,GAI3C,OAHAA,EAAU1N,EAAS,GAAI0N,IACfU,KAAOV,EAAQU,MAtKhB,CACLsB,gBAAiB,EACjBJ,cAAe,EACfD,eAAgB,EAChBG,SAAU,EACVjM,SAAU,EACV2L,QAAQ,EACRhP,OAAQ,KACRiO,iBAAkB,KAClB7L,GAAI,KACJiN,MAAO,KACPJ,MAAO,KACPM,QAAS,KACTS,aAAc,MA0JhBxC,EAAQlK,UAAW,EACZkK,GAwBTxT,EAAQE,QAAU,CAChB4V,iBAAkBA,EAClBvC,iBAAkBA,EAClB8C,YAxBgB,SAAqB7C,GACrCsC,EAAiB,EAAGM,EAAe5C,KAwBnC8C,eAjBmB,SAAwB9C,GAC3CA,EAAU4C,EAAe5C,GACzBqC,EAAarC,GACbsC,EAAiBtC,EAAQkC,WA7IA,SAA8BlC,GACvD,IAAIS,EAAmBT,EAAQU,KAAKD,iBAEpC,GAAIA,GAAoBA,IAAqBxJ,UAAYwJ,IAAqBxJ,SAAS0J,KACrF,OAAOF,EAAiBsC,YAActC,EAAiBuC,YAEvD,IAAIrC,EAAO1J,SAAS0J,KAChBsC,EAAOhM,SAASgK,gBACpB,OAAOpU,KAAKqW,IAAIvC,EAAKoC,YAAapC,EAAKqC,YAAaC,EAAKE,YAAaF,EAAKF,YAAaE,EAAKD,aAqIzDI,CAAqBpD,GAjIjC,SAA+BA,GACzD,IAAIS,EAAmBT,EAAQU,KAAKD,iBAEpC,GAAIA,GAAoBA,IAAqBxJ,UAAYwJ,IAAqBxJ,SAAS0J,KACrF,OAAOF,EAAiB4C,aAAe5C,EAAiB6C,aAExD,IAAI3C,EAAO1J,SAAS0J,KAChBsC,EAAOhM,SAASgK,gBACpB,OAAOpU,KAAKqW,IAAIvC,EAAK0C,aAAc1C,EAAK2C,aAAcL,EAAKM,aAAcN,EAAKI,aAAcJ,EAAKK,cAyH7BE,CAAsBxD,GAAUA,IAetG5H,SAtBa,SAAkBqL,EAAYzD,GAC3CsC,EAAiBmB,EAAYb,EAAe5C,KAsB5C0D,WAbe,SAAoBD,EAAYzD,GAC/CA,EAAU4C,EAAe5C,GACzBqC,EAAarC,GACb,IAAIgC,EAAkBhC,EAAQkC,WAAa1B,EAAiBR,GAAWkB,EAAiBlB,GACxFsC,EAAiBmB,EAAazB,EAAiBhC,M,kCC5QjD1T,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAEImO,EAAUC,EAFD,EAAQ,SAMjBC,EAAeD,EAFD,EAAQ,SAI1B,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,SAAStH,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAmB5E,IAAIsT,EAAc,SAAUjN,GAG1B,SAASiN,IACP,IAAIC,EAEAC,EAAOjN,EAEXnD,EAAgBkD,KAAMgN,GAEtB,IAAK,IAAIG,EAAOpR,UAAUpE,OAAQyV,EAAOC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC3EF,EAAKE,GAAQvR,UAAUuR,GAGzB,OAAeJ,EAASjN,EAAQhD,EAA2B+C,MAAOiN,EAAOD,EAAYtP,WAAa/H,OAAOuK,eAAe8M,IAActT,KAAK6K,MAAM0I,EAAM,CAACjN,MAAMuN,OAAOH,KAAiBnN,EAAMuN,OAAS,WACnM,OAAOvJ,EAAQlO,QAAQwL,cAAc,IAAKtB,EAAM3D,MAAO2D,EAAM3D,MAAMkI,WAC1DvH,EAA2BgD,EAAnCiN,GAGL,OAnCF,SAAmB7P,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAI3GF,CAAU4P,EAAajN,GAkBhBiN,EAnBS,CAoBhB/I,EAAQlO,QAAQ2J,WAGlB7J,EAAQE,SAAU,EAAIoO,EAAapO,SAASiX,I,kCCvE5CrX,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAQqBD,EAAQiP,wBAA0B,SAAiCjJ,EAAQ4R,EAAWC,GAClH,IAAIC,EAAwB,WAC1B,IAAIA,GAAwB,EAE5B,IACE,IAAIC,EAAOjY,OAAOC,eAAe,GAAI,UAAW,CAC9CyM,IAAK,WACHsL,GAAwB,KAG5BnK,OAAOoC,iBAAiB,OAAQ,KAAMgI,GACtC,MAAOvW,IAET,OAAOsW,EAZmB,GAe5B9R,EAAO+J,iBAAiB6H,EAAWC,IAAUC,GAAwB,CACnEE,SAAS,KAIoBhY,EAAQiY,2BAA6B,SAAoCjS,EAAQ4R,EAAWC,GAC3H7R,EAAOsK,oBAAoBsH,EAAWC,K,kCC/BxC/X,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAET,IAAIiY,EAAS,CACXtC,WAAY,GACZuC,YAAa,CACXnK,SAAU,SAAkBoK,EAASvE,GACnCqE,EAAOtC,WAAWwC,GAAWvE,GAE/BwE,OAAQ,SAAgBD,GACtBF,EAAOtC,WAAWwC,GAAW,QAInCpY,EAAQE,QAAUgY,G,kCCdlBpY,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI6F,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GAGLO,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAoBfsH,EAAUC,EAFD,EAAQ,SAMjBiK,EAAkBjK,EAFD,EAAQ,SAMzBkK,EAAclK,EAFD,EAAQ,SAIzB,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,SAAStH,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAmB5E,IAAI2U,EAAiB,SAAUtO,GAG7B,SAASsO,IAGP,OAFAvR,EAAgBkD,KAAMqO,GAEfpR,EAA2B+C,MAAOqO,EAAe3Q,WAAa/H,OAAOuK,eAAemO,IAAiB9J,MAAMvE,KAAMjE,YAuB1H,OA7CF,SAAmBsB,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAI3GF,CAAUiR,EAAgBtO,GAQ1B3D,EAAaiS,EAAgB,CAAC,CAC5BpS,IAAK,SACLnG,MAAO,WACL,IAAI0L,EAASxB,KAGTsO,EAAW3S,EAAS,GAAIqE,KAAK1D,OAMjC,OAJIgS,EAASxK,uBACJwK,EAASxK,eAGXG,EAAQlO,QAAQwL,cAAc,MAAO5F,EAAS,GAAI2S,EAAU,CACjEC,IAAK,SAAaC,GAChBhN,EAAOlF,MAAMwH,eAAeP,QAAUiL,KAEtCxO,KAAK1D,MAAMkI,cAIZ6J,EA7BY,CA8BnBpK,EAAQlO,QAAQ2J,WAGlB2O,EAAepL,UAAY,CACzBS,KAAM0K,EAAYrY,QAAQmI,OAC1B6F,GAAIqK,EAAYrY,QAAQmI,QAE1BrI,EAAQE,SAAU,EAAIoY,EAAgBpY,SAASsY,I,wBC3H/C,YAUA,IASII,EAAS,aAGTC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAeC,SAGfC,EAA8B,iBAAVC,GAAsBA,GAAUA,EAAOrZ,SAAWA,QAAUqZ,EAGhFC,EAA0B,iBAAR/R,MAAoBA,MAAQA,KAAKvH,SAAWA,QAAUuH,KAGxEgS,EAAOH,GAAcE,GAAYE,SAAS,cAATA,GAUjCC,EAPczZ,OAAOuG,UAOQmT,SAG7BC,EAAYpZ,KAAKqW,IACjBgD,EAAYrZ,KAAKsZ,IAkBjBC,EAAM,WACR,OAAOP,EAAKvF,KAAK8F,OA0DnB,SAASC,EAASzQ,EAAM0Q,EAAMtG,GAC5B,IAAIuG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARpR,EACT,MAAM,IAAIjC,UAtIQ,uBAkJpB,SAASsT,EAAWC,GAClB,IAAInD,EAAOwC,EACPY,EAAUX,EAId,OAHAD,EAAWC,OAAWzK,EACtB8K,EAAiBK,EACjBR,EAAS9Q,EAAKsF,MAAMiM,EAASpD,GAI/B,SAASqD,EAAYF,GAMnB,OAJAL,EAAiBK,EAEjBP,EAAUjK,WAAW2K,EAAcf,GAE5BQ,EAAUG,EAAWC,GAAQR,EAUtC,SAASY,EAAaJ,GACpB,IAAIK,EAAoBL,EAAON,EAK/B,YAAwB7K,IAAjB6K,GAA8BW,GAAqBjB,GAAQiB,EAAoB,GAAKR,GAJjEG,EAAOL,GAI2FJ,EAG9H,SAASY,IACP,IAAIH,EAAOd,IAEX,GAAIkB,EAAaJ,GACf,OAAOM,EAAaN,GAItBP,EAAUjK,WAAW2K,EAxBvB,SAAuBH,GACrB,IAEIR,EAASJ,GAFWY,EAAON,GAG/B,OAAOG,EAASb,EAAUQ,EAAQD,GAFRS,EAAOL,IAEkCH,EAoBhCe,CAAcP,IAGnD,SAASM,EAAaN,GAIpB,OAHAP,OAAU5K,EAGNiL,GAAYT,EACPU,EAAWC,IAGpBX,EAAWC,OAAWzK,EACf2K,GAgBT,SAASgB,IACP,IAAIR,EAAOd,IACPuB,EAAaL,EAAaJ,GAK9B,GAJAX,EAAW7T,UACX8T,EAAW7P,KACXiQ,EAAeM,EAEXS,EAAY,CACd,QAAgB5L,IAAZ4K,EACF,OAAOS,EAAYR,GAGrB,GAAIG,EAGF,OADAJ,EAAUjK,WAAW2K,EAAcf,GAC5BW,EAAWL,GAQtB,YAJgB7K,IAAZ4K,IACFA,EAAUjK,WAAW2K,EAAcf,IAG9BI,EAKT,OA3GAJ,EAAOsB,EAAStB,IAAS,EAErBuB,EAAS7H,KACX8G,IAAY9G,EAAQ8G,QAEpBL,GADAM,EAAS,YAAa/G,GACHiG,EAAU2B,EAAS5H,EAAQyG,UAAY,EAAGH,GAAQG,EACrEO,EAAW,aAAchH,IAAYA,EAAQgH,SAAWA,GAmG1DU,EAAUlG,OAvCV,gBACkBzF,IAAZ4K,GACFlE,aAAakE,GAGfE,EAAiB,EACjBN,EAAWK,EAAeJ,EAAWG,OAAU5K,GAkCjD2L,EAAUI,MA/BV,WACE,YAAmB/L,IAAZ4K,EAAwBD,EAASc,EAAapB,MA+BhDsB,EA8FT,SAASG,EAASpb,GAChB,IAAIsb,SAActb,EAClB,QAASA,IAAkB,UAARsb,GAA4B,YAARA,GA8EzC,SAASH,EAASnb,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAGT,GAjCF,SAAkBA,GAChB,MAAuB,iBAATA,GAvBhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,EAsBUub,CAAavb,IAjYlC,mBAiY4CsZ,EAAe1V,KAAK5D,GAgC1Ewb,CAASxb,GACX,OAraM,IAwaR,GAAIob,EAASpb,GAAQ,CACnB,IAAIyb,EAAgC,mBAAjBzb,EAAM0b,QAAwB1b,EAAM0b,UAAY1b,EACnEA,EAAQob,EAASK,GAASA,EAAQ,GAAKA,EAGzC,GAAoB,iBAATzb,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAGhCA,EAAQA,EAAMoC,QAAQuW,EAAQ,IAC9B,IAAIgD,EAAW9C,EAAWhW,KAAK7C,GAC/B,OAAO2b,GAAY7C,EAAUjW,KAAK7C,GAAS+Y,EAAa/Y,EAAM4b,MAAM,GAAID,EAAW,EAAI,GAAK/C,EAAW/V,KAAK7C,GAnbpG,KAmboHA,EAG9HkO,EAAOnO,QArJP,SAAkBoJ,EAAM0Q,EAAMtG,GAC5B,IAAI8G,GAAU,EACVE,GAAW,EAEf,GAAmB,mBAARpR,EACT,MAAM,IAAIjC,UAzSQ,uBAiTpB,OALIkU,EAAS7H,KACX8G,EAAU,YAAa9G,IAAYA,EAAQ8G,QAAUA,EACrDE,EAAW,aAAchH,IAAYA,EAAQgH,SAAWA,GAGnDX,EAASzQ,EAAM0Q,EAAM,CAC1B,QAAWQ,EACX,QAAWR,EACX,SAAYU,O,wDC5ThB1a,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ2J,QAAU3J,EAAQ8b,cAAgB9b,EAAQ+b,WAAa/b,EAAQ6U,cAAgB7U,EAAQ+H,UAAY/H,EAAQkY,OAASlY,EAAQiK,SAAWjK,EAAQsN,QAAUtN,EAAQgc,OAAShc,EAAQic,UAAO1M,EAEjM,IAEI2M,EAAS7N,EAFD,EAAQ,SAMhB8N,EAAW9N,EAFD,EAAQ,SAMlB+N,EAAY/N,EAFD,EAAQ,SAMnBgO,EAAahO,EAFD,EAAQ,SAMpBiF,EAAiBjF,EAFD,EAAQ,SAMxBiO,EAAcjO,EAFD,EAAQ,SAMrBkO,EAAkBlO,EAFD,EAAQ,SAMzBC,EAAeD,EAFD,EAAQ,SAMtBiK,EAAkBjK,EAFD,EAAQ,SAMzBmO,EAAYnO,EAFD,EAAQ,SAIvB,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIbvO,EAAQic,KAAOC,EAAOhc,QACtBF,EAAQgc,OAASG,EAASjc,QAC1BF,EAAQsN,QAAU8O,EAAUlc,QAC5BF,EAAQiK,SAAWoS,EAAWnc,QAC9BF,EAAQkY,OAAS5E,EAAepT,QAChCF,EAAQ+H,UAAYuU,EAAYpc,QAChCF,EAAQ6U,cAAgB0H,EAAgBrc,QACxCF,EAAQ+b,WAAazN,EAAapO,QAClCF,EAAQ8b,cAAgBxD,EAAgBpY,QACxCF,EAAQ2J,QAAU6S,EAAUtc,QAC5BF,EAAQE,QAAU,CAChB+b,KAAMC,EAAOhc,QACb8b,OAAQG,EAASjc,QACjBoN,QAAS8O,EAAUlc,QACnB+J,SAAUoS,EAAWnc,QACrBgY,OAAQ5E,EAAepT,QACvB6H,UAAWuU,EAAYpc,QACvB2U,cAAe0H,EAAgBrc,QAC/B6b,WAAYzN,EAAapO,QACzB4b,cAAexD,EAAgBpY,QAC/ByJ,QAAS6S,EAAUtc,U,kCCvErBJ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI6F,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GAGLO,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAoBfsH,EAAUC,EAFD,EAAQ,SAMjBiO,EAAcjO,EAFD,EAAQ,SAMrBgO,EAAahO,EAFD,EAAQ,SAMpBkK,EAAclK,EAFD,EAAQ,SAMrBoO,EAAepO,EAFD,EAAQ,SAI1B,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAkCb,IAAIpG,EAAa,CACfC,GAAImQ,EAAYrY,QAAQmI,OAAOC,WAC/BC,YAAagQ,EAAYrY,QAAQmI,OACjCG,UAAW+P,EAAYrY,QAAQuI,OAC/BC,YAAa6P,EAAYrY,QAAQmI,OACjCM,IAAK4P,EAAYrY,QAAQ0I,KACzB8M,WAAY6C,EAAYrY,QAAQ0I,KAChCC,OAAQ0P,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ0I,KAAM2P,EAAYrY,QAAQmI,SACrFU,OAAQwP,EAAYrY,QAAQ8I,OAC5BC,MAAOsP,EAAYrY,QAAQ8I,OAC3BE,UAAWqP,EAAYrY,QAAQ0I,KAC/BO,QAASoP,EAAYrY,QAAQkJ,KAC7BC,SAAUkP,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ8I,OAAQuP,EAAYrY,QAAQkJ,OACzFE,SAAUiP,EAAYrY,QAAQ0I,KAC9BW,YAAagP,EAAYrY,QAAQkJ,KACjCI,cAAe+O,EAAYrY,QAAQkJ,KACnCK,mBAAoB8O,EAAYrY,QAAQ0I,KACxCc,QAAS6O,EAAYrY,QAAQ0I,KAC7BwH,gBAAiBmI,EAAYrY,QAAQ0I,MAGvC5I,EAAQE,QAAU,SAAU2J,EAAWC,GACrC,IAAIG,EAAWH,GAAkBuS,EAAWnc,QAExC+b,EAAO,SAAUS,GAGnB,SAAST,EAAKxV,IAzDlB,SAAyBS,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAwDlBF,CAAgBkD,KAAM8R,GAEtB,IAAI7R,EAtDV,SAAoC/C,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAiD1DuD,CAA2B+C,MAAO8R,EAAKpU,WAAa/H,OAAOuK,eAAe4R,IAAOpY,KAAKsG,KAAM1D,IAOxG,OALA6D,EAAiBzG,KAAKuG,GAEtBA,EAAMG,MAAQ,CACZC,QAAQ,GAEHJ,EA0ET,OA/HJ,SAAmB5C,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GA4BzGF,CAAU0U,EAAMS,GAehBnW,EAAa0V,EAAM,CAAC,CAClB7V,IAAK,wBACLnG,MAAO,WACL,IAAIsI,EAAc4B,KAAK1D,MAAM8B,YACzBC,EAAY2B,KAAK1D,MAAM+B,UAE3B,OAAID,IAAgBC,EACXiC,SAASC,eAAenC,GAG7BC,GAAaA,EAAUmC,SAClBnC,EAGFiC,WAER,CACDrE,IAAK,oBACLnG,MAAO,WACL,GAAIkK,KAAK1D,MAAMkC,KAAOwB,KAAK1D,MAAMiD,QAAS,CACxC,IAAIkB,EAAqBT,KAAKU,wBAEzByR,EAAYpc,QAAQ4K,UAAUF,IACjC0R,EAAYpc,QAAQ6K,MAAMH,GAGxBT,KAAK1D,MAAMiD,UACR+S,EAAavc,QAAQ4K,aACxB2R,EAAavc,QAAQ6K,MAAMd,GAG7BwS,EAAavc,QAAQ8K,aAAab,KAAK1D,MAAM2B,GAAIwC,IAGnD0R,EAAYpc,QAAQiL,cAAchB,KAAKiB,WAAYR,GAEnDT,KAAKkB,SAAS,CACZ7C,UAAWoC,OAIhB,CACDxE,IAAK,uBACLnG,MAAO,WACLqc,EAAYpc,QAAQoL,QAAQnB,KAAKe,aAAcf,KAAKiB,cAErD,CACDhF,IAAK,SACLnG,MAAO,WACL,IAAIsL,EAAY,GAGdA,EADEpB,KAAKI,OAASJ,KAAKI,MAAMC,SACbL,KAAK1D,MAAM8E,WAAa,IAAM,KAAOpB,KAAK1D,MAAMiC,aAAe,WAAWhH,OAE5EyI,KAAK1D,MAAM8E,UAGzB,IAAI9E,EAAQX,EAAS,GAAIqE,KAAK1D,OAE9B,IAAK,IAAI+E,KAAQrD,EACX1B,EAAMH,eAAekF,WAChB/E,EAAM+E,GAMjB,OAFA/E,EAAM8E,UAAYA,EAClB9E,EAAM0C,QAAUgB,KAAKsB,YACd2C,EAAQlO,QAAQwL,cAAc7B,EAAWpD,OAI7CwV,EAvFE,CAwFT7N,EAAQlO,QAAQyc,eAEdrS,EAAmB,WACrB,IAAIqB,EAASxB,KAEbA,KAAKyB,SAAW,SAAUxD,EAAI3B,GAC5BwD,EAAS2B,SAASxD,EAAItC,EAAS,GAAI6F,EAAOpB,MAAO9D,KAGnD0D,KAAKsB,YAAc,SAAUI,GAIvBF,EAAOlF,MAAM0C,SACfwC,EAAOlF,MAAM0C,QAAQ0C,GAOnBA,EAAMC,iBAAiBD,EAAMC,kBAC7BD,EAAME,gBAAgBF,EAAME,iBAKhCJ,EAAOC,SAASD,EAAOlF,MAAM2B,GAAIuD,EAAOlF,QAG1C0D,KAAKiB,WAAa,SAAUhL,EAAGiE,GAC7B,IAAIuG,EAAqBe,EAAOd,wBAEhC,IAAI4R,EAAavc,QAAQ4K,aAAgB2R,EAAavc,QAAQ+L,gBAA9D,CAIA,IAAIyJ,EAAa/J,EAAOlF,MAAMiP,WAC1BtN,EAAKuD,EAAOlF,MAAM2B,GAClB8D,EAAU,KACVU,OAAW,EACXE,OAAY,EAEhB,GAAI4I,EAAY,CACd,IAAIkH,EAAgB,EAChBC,EAAiB,EACjBC,EAAgB,EAEpB,GAAIlS,EAAmB0B,sBAErBwQ,EADqBlS,EAAmB0B,wBACTyQ,KAGjC,IAAK7Q,GAAWP,EAAOlF,MAAMyC,UAAW,CAGtC,KAFAgD,EAAUjC,EAASuC,IAAIpE,IAGrB,OAGF,IAAIqE,EAAQP,EAAQI,wBAEpBuQ,GADAD,EAAgBnQ,EAAMsQ,KAAOD,EAAgB1c,GACZqM,EAAMuQ,MAGzC,IAAIC,EAAU7c,EAAIuL,EAAOlF,MAAMsC,OAC/B6D,EAAWqQ,GAAW5c,KAAKwM,MAAM+P,IAAkBK,EAAU5c,KAAKwM,MAAMgQ,GACxE/P,EAAYmQ,EAAU5c,KAAKwM,MAAM+P,IAAkBK,GAAW5c,KAAKwM,MAAMgQ,OACpE,CACL,IAAI1Q,EAAe,EACfC,EAAkB,EAClBC,EAAe,EAEnB,GAAIzB,EAAmB0B,sBAGrBD,EAFsBzB,EAAmB0B,wBAEVC,IAGjC,IAAKL,GAAWP,EAAOlF,MAAMyC,UAAW,CAGtC,KAFAgD,EAAUjC,EAASuC,IAAIpE,IAGrB,OAGF,IAAI8U,EAAShR,EAAQI,wBAGrBF,GADAD,EAAe+Q,EAAO3Q,IAAMF,EAAehI,GACV6Y,EAAOxQ,OAG1C,IAAIC,EAAUtI,EAAIsH,EAAOlF,MAAMsC,OAC/B6D,EAAWD,GAAWtM,KAAKwM,MAAMV,IAAiBQ,EAAUtM,KAAKwM,MAAMT,GACvEU,EAAYH,EAAUtM,KAAKwM,MAAMV,IAAiBQ,GAAWtM,KAAKwM,MAAMT,GAG1E,IAAIW,EAAa9C,EAAS+B,gBAE1B,GAAIc,EAAW,CAKb,GAJI1E,IAAO2E,GACT9C,EAAS+C,mBAAc,GAGrBrB,EAAOlF,MAAMiD,SAAW+S,EAAavc,QAAQ+M,YAAc7E,EAAI,CACjE,IAAI+U,EAAwBxR,EAAOlF,MAAM2J,gBACrCA,OAA4Cb,IAA1B4N,GAA8CA,EAEpEV,EAAavc,QAAQgN,WAAW,GAAIkD,GAGlCzE,EAAOlF,MAAMkC,KAAOgD,EAAOpB,MAAMC,SACnCmB,EAAON,SAAS,CACdb,QAAQ,IAGVmB,EAAOlF,MAAM+C,eAAiBmC,EAAOlF,MAAM+C,cAAcpB,EAAI8D,IAIjE,GAAIU,IAAaG,IAAe3E,IAA8B,IAAxBuD,EAAOpB,MAAMC,QAAmB,CACpEP,EAAS+C,cAAc5E,GAEvB,IAAIgV,EAAyBzR,EAAOlF,MAAM2J,gBACtCiN,OAA8C9N,IAA3B6N,GAA+CA,EAEtEzR,EAAOlF,MAAMiD,SAAW+S,EAAavc,QAAQgN,WAAW9E,EAAIiV,GAExD1R,EAAOlF,MAAMkC,MACfgD,EAAON,SAAS,CACdb,QAAQ,IAGVmB,EAAOlF,MAAM8C,aAAeoC,EAAOlF,MAAM8C,YAAYnB,EAAI8D,QAWjE,OAJA+P,EAAK7O,UAAYjF,EACjB8T,EAAK5O,aAAe,CAClBtE,OAAQ,GAEHkT,I,6QC3ULqB,EAAU,WAaZ,OAZAA,EAAUxd,OAAOiG,QAAU,SAAkBnB,GAC3C,IAAK,IAAI2Y,EAAGtX,EAAI,EAAG9D,EAAI+D,UAAUpE,OAAQmE,EAAI9D,EAAG8D,IAG9C,IAAK,IAAIlB,KAFTwY,EAAIrX,UAAUD,GAGRnG,OAAOuG,UAAUC,eAAezC,KAAK0Z,EAAGxY,KAAIH,EAAEG,GAAKwY,EAAExY,IAI7D,OAAOH,IAGM8J,MAAMvE,KAAMjE,YAG7B,SAASsX,EAAOD,EAAG/b,GACjB,IAAIoD,EAAI,GAER,IAAK,IAAIG,KAAKwY,EACRzd,OAAOuG,UAAUC,eAAezC,KAAK0Z,EAAGxY,IAAMvD,EAAEe,QAAQwC,GAAK,IAAGH,EAAEG,GAAKwY,EAAExY,IAG/E,GAAS,MAALwY,GAAqD,mBAAjCzd,OAAO2d,sBAA2C,KAAIxX,EAAI,EAAb,IAAgBlB,EAAIjF,OAAO2d,sBAAsBF,GAAItX,EAAIlB,EAAEjD,OAAQmE,IAClIzE,EAAEe,QAAQwC,EAAEkB,IAAM,IAAGrB,EAAEG,EAAEkB,IAAMsX,EAAExY,EAAEkB,KAEzC,OAAOrB,EAGT,SAAS8Y,EAAqBC,EAAQC,GASpC,OARI9d,OAAOC,eACTD,OAAOC,eAAe4d,EAAQ,MAAO,CACnC1d,MAAO2d,IAGTD,EAAOC,IAAMA,EAGRD,EAGT,SAAS7X,IAeP,OAdAA,EAAWhG,OAAOiG,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,IAGO0I,MAAMvE,KAAMjE,WAkB9B,SAAS2X,EAAuBxW,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,EAST,SAASyW,EAAgBvP,EAAKnI,EAAKnG,GAYjC,OAXImG,KAAOmI,EACTzO,OAAOC,eAAewO,EAAKnI,EAAK,CAC9BnG,MAAOA,EACP0G,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZ0H,EAAInI,GAAOnG,EAGNsO,EAqBT,IA6BIwP,EA3BY,SAAmBC,EAAWC,EAAQpc,EAAGG,EAAGT,EAAGD,EAAGE,EAAGsD,GAOnE,IAAKkZ,EAAW,CACd,IAAIE,EAEJ,QAAe3O,IAAX0O,EACFC,EAAQ,IAAIC,MAAM,qIACb,CACL,IAAI5G,EAAO,CAAC1V,EAAGG,EAAGT,EAAGD,EAAGE,EAAGsD,GACvBsZ,EAAW,GACfF,EAAQ,IAAIC,MAAMF,EAAO5b,QAAQ,OAAO,WACtC,OAAOkV,EAAK6G,UAERvQ,KAAO,sBAKf,MAFAqQ,EAAMG,YAAc,EAEdH,IAKNI,EAAe,IAAIC,IACnBC,EAAe,IAAID,IACnBE,EAAW,IAAIF,IACfG,EAAoB,EAwBxB,SAASC,EAAQzS,EAAS2H,EAAUL,QAClB,IAAZA,IACFA,EAAU,IAKPA,EAAQoL,YAAWpL,EAAQoL,UAAY,GAC5C,IAAIC,EAAWrL,EACX6F,EAAOwF,EAASxF,KAChByF,EAAaD,EAASC,WACtBF,EAAYC,EAASD,UAKzB,GAHAb,GAAaO,EAAaS,IAAI7S,GAAU,qLAAsLA,GAGzNA,EAAL,CAGA,IAAI8S,EArCN,SAAmB3F,GACjB,OAAKA,EACDoF,EAASM,IAAI1F,GAAcoF,EAASjS,IAAI6M,IAC5CqF,GAAqB,EACrBD,EAAS5Y,IAAIwT,EAAMqF,EAAkBlF,YAC9BiF,EAASjS,IAAI6M,GAAQ,KAJV,GAoCD4F,CAAU5F,IAASyF,EAAaF,EAAUpF,WAAa,IAAMsF,EAAaF,EAAUpF,YACjG0F,EAAmBV,EAAahS,IAAIwS,GAEnCE,IACHA,EAAmB,IAAIC,qBAAqB,EAAU3L,GAGlDwL,GAAYR,EAAa3Y,IAAImZ,EAAYE,IAG/C,IAAIhY,EAAW,CACb2M,SAAUA,EACV3H,QAASA,EACTkT,QAAQ,EACRJ,WAAYA,EACZK,SAAUH,EAEVI,WAAYJ,EAAiBI,aAAe9H,MAAM+H,QAAQX,GAAaA,EAAY,CAACA,KAItF,OAFAN,EAAazY,IAAIqG,EAAShF,GAC1BgY,EAAiBP,QAAQzS,GAClBhF,GAST,SAASsY,EAAUtT,GACjB,GAAKA,EAAL,CACA,IAAIhF,EAAWoX,EAAa9R,IAAIN,GAEhC,GAAIhF,EAAU,CACZ,IAAI8X,EAAa9X,EAAS8X,WACtBK,EAAWnY,EAASmY,SACpBhG,EAAOgG,EAAShG,KACpBgG,EAASG,UAAUtT,GAEnB,IAAIuT,GAAY,EAEZC,GAAe,EAGfV,GACFV,EAAatP,SAAQ,SAAU2Q,EAAMvZ,GAC/BA,IAAQ8F,IACNyT,EAAKX,aAAeA,IACtBS,GAAY,EACZC,GAAe,GAGbC,EAAKN,SAAShG,OAASA,IACzBqG,GAAe,QAMlBA,GAAgBrG,GAAMoF,EAAiB,OAAEpF,GAE1CgG,IAAaI,GAEfJ,EAASO,aAIXtB,EAAqB,OAAEpS,KAI3B,SAAS,EAAS2T,GAChBA,EAAQ7Q,SAAQ,SAAU8Q,GACxB,IAAIC,EAAiBD,EAAaC,eAC9BC,EAAoBF,EAAaE,kBACjCha,EAAS8Z,EAAa9Z,OACtBkB,EAAWoX,EAAa9R,IAAIxG,GAIhC,GAAIkB,GAAY8Y,GAAqB,EAAG,CAEtC,IAAIZ,EAASlY,EAASoY,WAAWW,MAAK,SAAUrB,GAC9C,OAAO1X,EAASkY,OAASY,EAAoBpB,EAAYoB,GAAqBpB,UAGzDrP,IAAnBwQ,IAGFX,EAASA,GAAUW,GAGrB7Y,EAASkY,OAASA,EAClBlY,EAAS2M,SAASuL,EAAQU,OAmBhC,IA+KII,EA/KA,EAAsB,SAAUhW,GApOpC,IAAwB1C,EAAUC,EAuOhC,SAAS0Y,IAGP,IAFA,IAAI/V,EAEKkN,EAAOpR,UAAUpE,OAAQyV,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQvR,UAAUuR,GAmCzB,OA9BAqG,EAAgBD,EAFhBzT,EAAQF,EAAiBrG,KAAK6K,MAAMxE,EAAkB,CAACC,MAAMuN,OAAOH,KAAUpN,MAE/B,QAAS,CACtDiV,QAAQ,EACRgB,WAAO7Q,IAGTuO,EAAgBD,EAAuBzT,GAAQ,OAAQ,MAEvD0T,EAAgBD,EAAuBzT,GAAQ,cAAc,SAAUiW,GACjEjW,EAAMiW,MAAMb,EAAUpV,EAAMiW,MAChCjW,EAAMiW,KAAOA,GAAc,KAE3BjW,EAAMkW,iBAGRxC,EAAgBD,EAAuBzT,GAAQ,gBAAgB,SAAUgV,EAAQgB,IAG3EhB,IAAWhV,EAAMG,MAAM6U,QAAUA,IACnChV,EAAMiB,SAAS,CACb+T,OAAQA,EACRgB,MAAOA,IAIPhW,EAAM3D,MAAM8Z,UAEdnW,EAAM3D,MAAM8Z,SAASnB,EAAQgB,MAI1BhW,EA9QuB3C,EAqOTyC,GArOD1C,EAqOP2Y,GApON9Z,UAAYvG,OAAO4H,OAAOD,EAAWpB,WAC9CmB,EAASnB,UAAUsB,YAAcH,EACjCA,EAASK,UAAYJ,EA8QrB,IAAI+Y,EAASL,EAAO9Z,UAwEpB,OAtEAma,EAAOC,kBAAoB,WAErB,GAKND,EAAOE,mBAAqB,SAA4B5S,EAAW6S,GAE7D7S,EAAUgR,aAAe3U,KAAK1D,MAAMqY,YAAchR,EAAUuL,OAASlP,KAAK1D,MAAM4S,MAAQvL,EAAU8Q,YAAczU,KAAK1D,MAAMmY,YAC7HY,EAAUrV,KAAKkW,MACflW,KAAKmW,eAGHK,EAAUvB,SAAWjV,KAAKI,MAAM6U,QAC9BjV,KAAKI,MAAM6U,QAAUjV,KAAK1D,MAAMma,cAClCpB,EAAUrV,KAAKkW,MACflW,KAAKkW,KAAO,OAKlBG,EAAOK,qBAAuB,WACxB1W,KAAKkW,OACPb,EAAUrV,KAAKkW,MACflW,KAAKkW,KAAO,OAIhBG,EAAOF,YAAc,WACnB,GAAKnW,KAAKkW,KAAV,CACA,IAAIS,EAAc3W,KAAK1D,MACnBmY,EAAYkC,EAAYlC,UACxBvF,EAAOyH,EAAYzH,KACnByF,EAAagC,EAAYhC,WAC7BH,EAAQxU,KAAKkW,KAAMlW,KAAK4W,aAAc,CACpCnC,UAAWA,EACXvF,KAAMA,EACNyF,WAAYA,MAIhB0B,EAAO7I,OAAS,WACd,IAAIqJ,EAAc7W,KAAKI,MACnB6U,EAAS4B,EAAY5B,OACrBgB,EAAQY,EAAYZ,MAExB,IA5GJ,SAAyB3Z,GACvB,MAAiC,mBAAnBA,EAAMkI,SA2GbsS,CAAgB9W,KAAK1D,OACxB,OAAO0D,KAAK1D,MAAMkI,SAAS,CACzByQ,OAAQA,EACRgB,MAAOA,EACP1H,IAAKvO,KAAK+W,aAId,IAAIC,EAAehX,KAAK1D,MACpBkI,EAAWwS,EAAaxS,SACxByS,EAAKD,EAAaC,GAClBC,EAAMF,EAAaE,IAKnB5a,GAJc0a,EAAaP,YACfO,EAAavC,UAClBuC,EAAa9H,KACP8H,EAAarC,WAxWlC,SAAuC3Y,EAAQmb,GAC7C,GAAc,MAAVnb,EAAgB,MAAO,GAC3B,IAEIC,EAAKH,EAFLD,EAAS,GACTub,EAAazhB,OAAO0hB,KAAKrb,GAG7B,IAAKF,EAAI,EAAGA,EAAIsb,EAAWzf,OAAQmE,IACjCG,EAAMmb,EAAWtb,GACbqb,EAAS/e,QAAQ6D,IAAQ,IAC7BJ,EAAOI,GAAOD,EAAOC,IAGvB,OAAOJ,EA6VOyb,CAA8BN,EAAc,CAAC,WAAY,KAAM,MAAO,cAAe,YAAa,OAAQ,gBAEtH,OAAO,wBAAcC,GAAMC,GAAO,MAAOvb,EAAS,CAChD4S,IAAKvO,KAAK+W,YACTza,GAAQkI,IAGNwR,EArHiB,CAsHxB,aAEFrC,EAAgB,EAAQ,cAAe,UAEvCA,EAAgB,EAAQ,eAAgB,CACtCc,UAAW,EACXgC,aAAa,IAqDf,SAAWV,GACTA,EAAOA,EAAa,KAAI,GAAK,OAC7BA,EAAOA,EAAgB,QAAI,GAAK,UAChCA,EAAOA,EAAe,OAAI,GAAK,SAC/BA,EAAOA,EAAe,OAAI,GAAK,SAJjC,CAKGA,IAAWA,EAAS,KAEvB,IAsLIwB,EAOAC,EAaAC,EAYAC,EAcAC,EAgBAC,EApPAC,EAGF,SAAuBnO,EAAUoO,EAAUC,GACzC,IAAI9X,EAAQD,UAEK,IAAb+X,IACFA,OAAW3S,GAIbpF,KAAK0J,SAAW,WACd,OAAO,MAWT1J,KAAKgY,cAAgB,WACG,MAAlB/X,EAAM8X,UAAoC,IAAhB9X,EAAMgY,OAAehY,EAAMgY,OAAShY,EAAM8X,SACtE9X,EAAMiY,QAKRjY,EAAMkY,cAAgB,IAAIxO,KAC1B1J,EAAMgY,OAAS,EAEfhY,EAAMyJ,aASR1J,KAAKkL,MAAQ,WACXjL,EAAM+P,QAAUoI,aAAY,WAC1B,OAAOnY,EAAM+X,kBACZ/X,EAAM6X,UACT7X,EAAMkY,cAAgB,IAAIxO,KAC1B1J,EAAMG,MAAQ2V,EAAOsC,SAOvBrY,KAAKkY,KAAO,WACU,IAAhBjY,EAAMG,QACVkY,cAAcrY,EAAM+P,SACpBlE,aAAa7L,EAAMsY,UACnBtY,EAAMG,MAAQ2V,EAAOyC,OAOvBxY,KAAKyY,MAAQ,WACXxY,EAAMiY,OAENjY,EAAMiL,SASRlL,KAAK0Y,MAAQ,WACPzY,EAAMG,QAAU2V,EAAOsC,SAAWpY,EAAMG,QAAU2V,EAAO4C,SAC7D1Y,EAAM2Y,WAAa3Y,EAAM6X,WAAa,IAAInO,MAAU1J,EAAMkY,iBAAkBlY,EAAM4Y,WAClF5Y,EAAM6Y,cAAgB,IAAInP,KAC1B2O,cAAcrY,EAAM+P,SACpBlE,aAAa7L,EAAMsY,UACnBtY,EAAMG,MAAQ2V,EAAOgD,SASvB/Y,KAAKgZ,OAAS,WACZ,GAAI/Y,EAAMG,QAAU2V,EAAOgD,OAA3B,CACA,IAAIE,EAAc,IAAItP,KACtB1J,EAAM4Y,YAAc5Y,EAAM4Y,aAAcI,GAAehZ,EAAM6Y,cAC7D7Y,EAAMG,MAAQ2V,EAAO4C,OACrB1Y,EAAMsY,SAAWxS,YAAW,WAC1B,OAAO9F,EAAMiZ,oBACZjZ,EAAM2Y,aAWX5Y,KAAKkZ,gBAAkB,WACjBjZ,EAAMG,QAAU2V,EAAO4C,SAC3B1Y,EAAM4Y,WAAa,EAEnB5Y,EAAM+X,gBAEN/X,EAAMiL,UAORlL,KAAKoY,YAAc,SAAUe,GACP,IAAhBlZ,EAAMG,OAERH,EAAMyY,QAENzY,EAAM6X,SAAWqB,EAEjBlZ,EAAM+Y,UAGN/Y,EAAM6X,SAAWqB,GAQrBnZ,KAAKoZ,YAAc,SAAUC,GACb,MAAVA,GAAkBpZ,EAAMgY,OAASoB,GACnCpZ,EAAMiY,OAGRjY,EAAM8X,SAAWsB,GAOnBrZ,KAAK4Y,UAAY,EASjB5Y,KAAKI,MAAQ2V,EAAOyC,KACpBxY,KAAK8X,SAAWA,EAEhB9X,KAAK0J,SAAWA,EAKhB1J,KAAK+X,SAAWA,EAKhB/X,KAAK6Y,WAAa,EAClB7Y,KAAKiY,MAAQ,IAQjB,SAAWV,GACTA,EAAuB,KAAI,OAC3BA,EAAwB,MAAI,QAF9B,CAGGA,IAAqBA,EAAmB,KAI3C,SAAWC,GACTA,EAAaA,EAA8B,gBAAI,GAAK,kBACpDA,EAAaA,EAA+B,iBAAI,GAAK,mBACrDA,EAAaA,EAAwC,0BAAI,GAAK,4BAC9DA,EAAaA,EAA6B,eAAI,GAAK,iBAJrD,CAKGA,IAAiBA,EAAe,KAQnC,SAAWC,GACTA,EAA4B,KAAI,OAChCA,EAA4B,KAAI,OAFlC,CAGGA,IAA0BA,EAAwB,KASrD,SAAWC,GACTA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAAkB,KAAI,OALxB,CAMGA,IAAgBA,EAAc,KAQjC,SAAWA,GACTA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAA2B,cAAI,gBAC/BA,EAAkB,KAAI,OALxB,CAMGC,IAAkBA,EAAgB,KAUrC,SAAWC,GACTA,EAAuB,SAAI,WAC3BA,EAAyB,WAAI,aAF/B,CAGGA,IAAiBA,EAAe,KAGnC,IAkEI0B,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EAAmBC,EA4KjQC,EAwwBAC,EAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAt/B5IC,GAA6B,SAAoCC,GACnE,OAAQA,GACN,KAAKrD,EAAYsD,KAEjB,KAAKtD,EAAYuD,cAEjB,KAAKvD,EAAYwD,cAEjB,KAAKxD,EAAYyD,cACf,OAAOJ,EAGT,KAAKrD,EAAY0D,cACjB,QACE,OAAO1D,EAAY0D,gBAKrBC,GAAkB,YAAU/B,IAAqBA,EAAmB/F,EAAqB,CAAC,oEAAqE,CAAC,uEAOhK+H,GAAkB,YAAI/B,IAAqBA,EAAmBhG,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAErH,OADYA,EAAGC,MACFF,iBAAmB,WAE9BG,GAAe,YAAIjC,IAAqBA,EAAmBjG,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAElH,OADYA,EAAGC,MACFC,cAAgB,SAE3BC,GAAuB,YAAUjC,IAAqBA,EAAmBlG,EAAqB,CAAC,oEAAqE,CAAC,uEACrKoI,GAAc,YAAIjC,IAAqBA,EAAmBnG,EAAqB,CAAC,8EAA+E,IAAK,gBAAiB,OAAQ,CAAC,8EAA+E,IAAK,gBAAiB,SAAUmI,GAAsBJ,GAAiBG,IAEpVG,GAA4B,YAAUjC,IAAqBA,EAAmBpG,EAAqB,CAAC,sMAAuM,CAAC,yMAC5SsI,GAAmB,YAAIjC,IAAqBA,EAAmBrG,EAAqB,CAAC,8EAA+E,IAAK,gBAAiB,OAAQ,CAAC,8EAA+E,IAAK,gBAAiB,SAAUqI,GAA2BN,GAAiBG,IAE9VK,GAA4B,YAAUjC,IAAqBA,EAAmBtG,EAAqB,CAAC,sMAAuM,CAAC,yMAC5SwI,GAAmB,YAAIjC,IAAqBA,EAAmBvG,EAAqB,CAAC,8EAA+E,IAAK,gBAAiB,OAAQ,CAAC,8EAA+E,IAAK,gBAAiB,SAAUuI,GAA2BR,GAAiBG,IAE9VO,GAA4B,YAAUjC,IAAsBA,EAAoBxG,EAAqB,CAAC,sMAAuM,CAAC,yMAC9S0I,GAAmB,YAAIjC,IAAsBA,EAAoBzG,EAAqB,CAAC,8EAA+E,IAAK,gBAAiB,OAAQ,CAAC,8EAA+E,IAAK,gBAAiB,SAAUyI,GAA2BV,GAAiBG,IAEhWS,GAA4B,YAAUjC,IAAsBA,EAAoB1G,EAAqB,CAAC,sMAAuM,CAAC,yMAG9S4I,GAAa,CACfR,YAAaA,GACbE,iBAAkBA,GAClBE,iBAAkBA,GAClBE,iBAAkBA,GAClBG,iBAPqB,YAAIlC,IAAsBA,EAAoB3G,EAAqB,CAAC,0EAA2E,IAAK,gBAAiB,OAAQ,CAAC,0EAA2E,IAAK,gBAAiB,SAAU2I,GAA2BZ,GAAiBG,KAUxVY,GAAU,IAAOC,IAAInC,IAAsBA,EAAoB5G,EAAqB,CAAC,+FAAgG,IAAK,6HAA8H,CAAC,+FAAgG,IAAK,+HAAgI8H,IAAiB,SAAUE,GAE3jB,OADYA,EAAGC,MACFe,sBAAwB,OAwBnCC,IAlBY,IAAOF,IAAIlC,IAAsBA,EAAoB7G,EAAqB,CAAC,oKAAqK,CAAC,uKAkB5O,CACnBkJ,cAAUrX,EACVsX,YAAa,GACbC,gBAAYvX,EACZwX,cAAUxX,EACVyX,yBAAqBzX,EACrB0X,cAAe,aAGfC,mBAAoB,aAGpBC,cAAe,eAIbC,GAAW,WACXC,GAAY,YACZC,GAAa,aACbC,GAAS,SACTC,GAAc,cACdC,GAAgB,wBAAcd,IAE9Be,GAAU,SAAiBnd,EAAOod,GACpC,IAAIC,EAAWtK,EAAQ,GAAI/S,GAE3B,OAAQod,EAAOpM,MACb,KAAKoG,EAAakG,eAEd,IACIC,GADAC,EAAUJ,EAAOI,SACOC,YACxBC,EAAiBF,EAAQE,eAE7B,OAAKL,EAASf,YAAYqB,MAAK,SAAUxC,GAEvC,OADaA,EAAGsC,cACEF,KASbvd,GAPLqd,EAASf,YAAYsB,KAAK,CACxBH,YAAaF,EACbG,eAAgBA,IAEXL,GAMb,KAAKjG,EAAayG,gBAEd,IACIC,GADAN,EAAUJ,EAAOI,SACKM,YACtBC,EAAgBP,EAAQO,cACxBC,EAAmBR,EAAQQ,iBAM/B,OALAX,EAASd,WAAa,CACpBuB,YAAaA,EACbC,cAAeA,EACfC,iBAAkBA,GAEbX,EAGX,KAAKjG,EAAa6G,iBAEd,IACIC,GADAV,EAAUJ,EAAOI,SACKU,YAEtBC,GADAL,EAAcN,EAAQM,YACRN,EAAQW,aACtBC,EAAcZ,EAAQY,YAO1B,OANAf,EAASb,SAAW,CAClB0B,YAAaA,EACbJ,YAAaA,EACbK,YAAaA,EACbC,YAAaA,GAERf,EAGX,KAAKjG,EAAaiH,0BAEd,IAAIb,EACAc,GADAd,EAAUJ,EAAOI,SACac,oBAC9BC,EAAyBf,EAAQe,uBACjCC,EAAiBhB,EAAQgB,eACzBC,EAAWjB,EAAQiB,SAOvB,OANApB,EAASZ,oBAAsB,CAC7B6B,oBAAqBA,EACrBC,uBAAwBA,EACxBC,eAAgBA,EAChBC,SAAUA,GAELpB,EAGX,QACE,OAAOrd,IAIT,GAAwB,SAA+B9D,GACzD,IAAIwiB,EAASxiB,EAAMmgB,SACfjY,EAAWlI,EAAMkI,SACjBua,EAAyB3B,GAAO,IAChC4B,EAAsBD,EAAuBE,QAC7ClC,EAAqBM,IAAY,WACnC,IAAI6B,EAAaF,EAAoBrnB,OAAS,EAE9C,OADAqnB,EAAoBhB,KAAKkB,GAClBA,IACN,CAACF,IACAhC,EAAgBK,IAAY,SAAU8B,GACxCJ,EAAuBE,QAAUD,EAAoBI,QAAO,SAAUC,GACpE,OAAOF,IAAmBE,OAE3B,CAACL,IAEAzD,EAAK4B,GAAWI,GAAS,CAE3Bb,YAAaF,GAAeE,YAAYhL,QACxCiL,WAAYH,GAAeG,WAC3BC,SAAUJ,GAAeI,SACzBC,oBAAqBL,GAAeK,sBAElCyC,EAAqB/D,EAAG,GACxBuB,EAAgBvB,EAAG,GAEnBoB,EAAa2C,EAAmB3C,WAChCD,EAAc4C,EAAmB5C,YACjCE,EAAW0C,EAAmB1C,SAC9BC,EAAsByC,EAAmBzC,oBAEzC0C,EAAKtC,GAAS6B,GACdU,EAAaD,EAAG,GAChBE,EAAcF,EAAG,GASrB,OALArC,IAAU,gBACkB,IAAfsC,GACTC,IAtJ8B,oBAAXjc,SAGjBkc,YAAa,gBAAgB/mB,KAAK+mB,UAAUC,eAqJ/C,CAACH,IACG,wBAAclC,GAAcsC,SAAU,CAC3C9pB,MAAO,CACLgnB,cAAeA,EACfL,SAAU+C,EACV9C,YAAaA,EACbC,WAAYA,EACZC,SAAUA,EACVC,oBAAqBA,EACrBE,mBAAoBA,EACpBC,cAAeA,IAEhBxY,IAGDqb,GAAY,IAAOvD,IAAIjC,IAAuBA,EAAqB9G,EAAqB,CAAC,mmHAAomH,CAAC,smHAI9rHuM,GAAa,aACbC,GAAO,OAEP,GAAY,WACd,OAAO,wBAAc,MAAO,CAC1BlN,MAAO,OACPtQ,OAAQ,OACRyG,YAAa,IACbgX,QAAS,MACTC,QAAS,eACR,wBAAc,IAAK,CACpBC,KAAM,gBACL,wBAAc,OAAQ,CACvB/oB,EAAG,yLAwBHgpB,GAAYJ,IApBF,SAAiBzjB,GAE7B,OADewjB,GAAWxC,IAAeb,SACpB,KACd,wBAAc,WAAU,KAAM,wBAAcoD,GAAW,CAC5Dze,UAAW,CAAC,wBAAyB9E,EAAM8jB,aAAe,0BAA4B,yBAAyBnlB,KAAK,MACnH,wBAAc,MAAO,CACtBmG,UAAW,0BACV,wBAAc,SAAU,CACzBpC,QAAS1C,EAAM+jB,cACfjf,UAAW,2BACV,wBAAc,GAAW,SAAU,wBAAcye,GAAW,CAC7Dze,UAAW,CAAC,oBAAqB9E,EAAM8jB,aAAe,0BAA4B,yBAAyBnlB,KAAK,MAC/G,wBAAc,MAAO,CACtBmG,UAAW,0BACV,wBAAc,SAAU,CACzBpC,QAAS1C,EAAMgkB,UACflf,UAAW,2BACV,wBAAc,GAAW,aAI1Bmf,GAAe,aACfC,GAAc,YACdC,GAAa,WACbC,GAAkB,kBAClBC,GAAS,OACTC,GAAaD,IAAO,SAAUrkB,GAChC,IAAIukB,EAAiBvkB,EAAMukB,eACvBC,EAAgBxkB,EAAMwkB,cACtB1K,EAAW9Z,EAAM8Z,SAKjB2K,EAAY,iBAAS,MAErBxF,EAAKkF,GAAW,IAChBO,EAAmBzF,EAAG,GACtB0F,EAAsB1F,EAAG,GAMzB2F,EAAkB,mBAAU,WAC9B,OAAO/N,EAAQ,CAEbgO,wBAAyB7kB,EAAM8hB,kBAAoBzG,EAAcyD,cACjEgD,iBAAkBtD,GAA2Bxe,EAAM8hB,kBACnDgD,kBAAmB9kB,EAAM+kB,aAAezJ,EAAa0J,WAErDhG,gBAAiB,IACjBG,aAAc,IACd8F,YAAa,UACbhF,qBAAsB,IACtBiF,qBAAsB,IACtBC,kBAAmB,IACnBC,gBAAgB,EAChBC,sBAAsB,EACtB/C,gBAAgB,EAChBgD,4BAA4B,EAC5BC,iBAAkB,IAClBlD,uBAAwB,IACxB9L,MAAO,OACPtQ,OAAQ,QACPjG,EAAMwlB,YACR,CAACxlB,EAAMwlB,SAAUxlB,EAAM+kB,YAAa/kB,EAAM8hB,mBAEzCmB,EAAKkB,GAAWS,GAChBa,EAAiBxC,EAAG,GACpByC,EAAczC,EAAG,GAEjBuC,EAAW,mBAAU,WACvB,OAAO3O,EAAQ,GAAI4O,EAAgBzlB,EAAMwlB,YACxC,CAACC,EAAgBzlB,EAAMwlB,WACtBG,EAAoB,CACtBC,cAAU9c,EACV+c,cAAU/c,EACVgd,cAAUhd,EACVid,cAAUjd,EACVkd,YAAQld,EACRmd,YAAQnd,GAGNod,EAAK/B,GAAWwB,GAChBQ,EAAaD,EAAG,GAChBE,EAAgBF,EAAG,GAEnBG,EAAKlC,GAAWnkB,EAAMsmB,cAAgB,GACtC1E,EAAcyE,EAAG,GACjBE,EAAiBF,EAAG,GAEpBG,EAAKrC,IAAW,GAChBtC,EAAgB2E,EAAG,GACnBC,EAAmBD,EAAG,GActBE,EAAuB,kBAAS,GAChCC,EAAqB,iBAAS/E,GAE9BgF,EAAKzC,KACL5U,EAAeqX,EAAG,GAClBC,EAAkBD,EAAG,GAErBE,EAAK3C,KACL4C,EAAiBD,EAAG,GACpBE,EAAoBF,EAAG,GAQvBG,EAA8E,KAApDzB,EAASxG,gBAAkBwG,EAASrG,cAE9D+H,EAAsB,uBAAc,SAAUC,GAChDzB,EAAY7O,EAAQ,GAAI2O,EAAU,CAChC1D,iBAAkBqF,OAEnB,CAAC3B,IASA4B,EAAmB,uBAAc,SAAUpD,GAG7C,GAFAyC,GAAiB,GAEb3M,EAAU,CACZ,IAAIuN,EAAiB5d,YAAW,WAC9BqQ,GAAYA,EAASkK,KACpBwB,EAASrG,cACZ0H,EAAgBQ,GAIlB,IAAIC,EAAmB7d,YAAW,WAChCgd,GAAiB,GAEbjC,GACFA,EAAcR,KAEfiD,GAEHD,EAAkBM,KACjB,CAACxN,EAAU0K,EAAegB,EAASrG,aAAc8H,IAQhDjF,EAAc,uBAAc,SAAUgC,GACpC0C,EAAqB/D,UACnB4B,GACFA,EAAeoC,EAAmBhE,QAASqB,GAG7CuC,EAAevC,GACfoD,EAAiBpD,MAElB,CAACoD,EAAkB7C,IAOlBgD,EAAkB,uBAAc,SAAUvD,GAC5C,OAAQwB,EAASX,yBACf,KAAKxJ,EAAcsD,cACnB,KAAKtD,EAAcuD,cACboF,EAAY2C,EAAmBhE,QACjCuE,EAAoB7L,EAAcuD,eAElCsI,EAAoB7L,EAAcsD,eAGpC,MAEF,KAAKtD,EAAcyD,cACnB,KAAKzD,EAAcwD,cACbmF,EAAY2C,EAAmBhE,QACjCuE,EAAoB7L,EAAcyD,eAElCoI,EAAoB7L,EAAcwD,kBAIvC,CAACqI,EAAqB1B,EAASX,0BAE9B2C,EAAKrD,KACL9B,EAAyBmF,EAAG,GAC5BC,EAA4BD,EAAG,GAM/BE,EAAKvD,IAAW,GAChBwD,EAAmBD,EAAG,GACtBtF,EAAsBsF,EAAG,GAEzBE,EAAK3D,GAAajD,IAClBR,EAAgBoH,EAAGpH,cACnBJ,EAAcwH,EAAGxH,YAOjByH,EAAe,uBAAc,SAAUC,GAiBzC,YAhBqB,IAAjBA,IACFA,EAAelG,GASbkG,GANc1H,EAAY/kB,OAMI,EACpBysB,EAAe,EAEf,IAIb,CAAClG,EAAaxB,EAAY/kB,SAKzBknB,GAAW,uBAAc,WAC3B,IAAIyB,EAAY6D,EAAalB,EAAmBhE,SAE5C6C,EAASJ,gBACXmC,EAAgBvD,GAGlBhC,EAAY6F,EAAalB,EAAmBhE,YAC3C,CAACX,EAAa6F,EAAcrC,EAASJ,eAAgBmC,IACpDQ,GAAsB,iBAAS,mBAAU,WAC3C,OAAO,IAAIxM,EAAcgH,GAAUiD,EAASD,iBAAmB0B,KAC9D,CAAC1E,GAAUiD,EAASD,iBAAkB0B,KACrCe,GAAmBD,GAAoBpF,QAOvCsF,GAAqB,uBAAc,SAAUjE,EAAWkE,GAC1D1Y,aAAa6S,IAA2BA,GAEpCmD,EAASJ,gBACXmC,EAAgBW,GAAkBlE,GAGpChC,EAAYgC,KACX,CAAC3B,EAAwBL,EAAawD,EAASJ,eAAgBmC,IAK9DY,GAAe,WAKjB,IAAID,EAAiB9H,EAAY/kB,OAAS,EAC1C4sB,GAAmBJ,EAAalB,EAAmBhE,SAAUuF,IAgC3DE,GAAmB,WAMrBH,GA/BqB,SAA0BH,QAC1B,IAAjBA,IACFA,EAAelG,GAGjB,IAAIK,EAAc7B,EAAY/kB,OAa9B,OANIysB,EAAe,EACLA,EAAe,EAEf7F,EAgBKoG,CAAiB1B,EAAmBhE,SADlC,IA4GnB2F,GAAyB,SAAgCvtB,GAC3D,IAAI+oB,EAAe0B,EAASV,oBAAsBxJ,EAAa0J,WAE/D,QAAQ,GAEN,KAAKlB,GAA8B,KAAd/oB,EAAEwtB,QACrBH,KACA,MAGF,KAAKtE,GAA8B,KAAd/oB,EAAEwtB,QACrBJ,KACA,MAGF,KAAMrE,GAA8B,KAAd/oB,EAAEwtB,QACtBH,KACA,MAGF,KAAMtE,GAA8B,KAAd/oB,EAAEwtB,QACtBJ,OAYNjE,IAAY,WACVyC,EAAmBhE,QAAUf,IAC5B,CAACA,IACJsC,IAAY,WACVwC,EAAqB/D,QAAUd,IAC9B,CAACA,IAKJqC,IAAY,WA6BV,OA5BAyC,EAAmBhE,QAAUf,EAKzB5hB,EAAMgkB,YACRhkB,EAAMgkB,UAAUrB,QAAUwF,IAGxBnoB,EAAM+jB,gBACR/jB,EAAM+jB,cAAcpB,QAAUyF,IA9HD,WAC/B,IAAI1D,EAAmB,CACrBnO,MAAOkO,EAAU9B,QAAU8B,EAAU9B,QAAQzS,iBAAcpH,EAC3D7C,OAAQwe,EAAU9B,QAAU8B,EAAU9B,QAAQrS,kBAAexH,GAE/D6b,EAAoBD,GAgIpB8D,GACAthB,OAAOoC,iBAAiB,SAAUqb,GAE9Ba,EAASF,4BACXpe,OAAOoC,iBAAiB,UAAWgf,IAO9B,WACL9Y,aAAaD,IAAiBA,GAC9BC,aAAauX,IAAmBA,GAChCvX,aAAa6S,IAA2BA,GACxC2F,GAAiBpM,OACjB1U,OAAO2C,oBAAoB,SAAU8a,GAEjCa,EAASF,4BACXpe,OAAO2C,oBAAoB,UAAWye,OAI5C,IACA,IAAIG,GAAwB,mBAAU,WACpC,MAAO,CAELzJ,gBAAiBwG,EAASxG,gBAAkB,KAE5CG,aAAcqG,EAASrG,aAAe,KAEtC2C,iBAAkB,GAAK0D,EAAS1D,iBAEhC4G,qBAAsBlD,EAASxG,gBAAkBwG,EAASrG,aAAe,KACzE+C,YAAawC,EAAiBnO,MAAQmO,EAAiBnO,MAAQ,UAAOzN,EACtE6f,aAAcjE,EAAiBze,OAASye,EAAiBze,OAAS,UAAO6C,EACzEmc,YAAaO,EAASP,YACtBhF,qBAAsBuF,EAASvF,qBAAuB,KACtD2I,kBAAmBpD,EAASN,qBAAuB,KACnD2D,eAAgBrD,EAASL,kBAAoB,KAC7C2D,mBAAoB9oB,EAAM+oB,eAAiB/oB,EAAM+oB,eAAeC,WAAQlgB,EACxEmgB,eAAgBjpB,EAAM+oB,eAAiB/oB,EAAM+oB,eAAeG,iBAAcpgB,EAE1EqgB,aAAc3D,EAASxG,gBAAkBwG,EAASrG,aAAe,QAElE,CAACqG,EAAUxlB,EAAM+oB,eAAgBrE,EAAiBze,OAAQye,EAAiBnO,QAE1E6S,GAAKjF,KACLkF,GAAuBD,GAAG,GAC1BE,GAA0BF,GAAG,GA+GjC,OAtGAhF,IAAgB,WACd,GAAIoB,EAASlD,eAMX,OALAhf,QAAQimB,IAAI,yBAA0BvB,GAAiBlkB,OACvDR,QAAQimB,IAAI,SAAU9P,EAAOuO,GAAiBlkB,QAC9CR,QAAQimB,IAAI,eAAgBvpB,EAAM2Y,QAC9B0Q,IAAsB7Z,aAAa6Z,KAE/B,GACN,KAAK1B,EACH,MAGF,KAAM3nB,EAAM2Y,OACVrV,QAAQimB,IAAI,aACZvB,GAAiBpM,OACjB0N,QAAwBxgB,GACxB,MAGF,KAAKkf,GAAiBlkB,QAAU2V,EAAOyC,MAAQlc,EAAM2Y,OAEjDrV,QAAQimB,IAAI,oBACZ,IAAIC,EAAY/f,YAAW,WACzBnG,QAAQimB,IAAI,YACZvB,GAAiBpZ,UAChB4W,EAASnD,wBACZiH,GAAwBE,GACxB,MAIJ,KAAKxB,GAAiBlkB,QAAU2V,EAAOgD,QAAUzc,EAAM2Y,OAEnDrV,QAAQimB,IAAI,oBACRC,EAAY/f,YAAW,WACzBnG,QAAQimB,IAAI,YACZvB,GAAiBtL,WAChB8I,EAASnD,wBACZiH,GAAwBE,GAMhC,OAAO,WACDH,IAAsB7Z,aAAa6Z,OAK3C,CAACrB,GAAkBL,EAAkB3nB,EAAM2Y,OAAQ6M,EAASlD,eAAgBkD,EAASnD,yBAErF6B,IAAY,WACN1D,GAA0C,mBAAlBA,GAC1BA,EAAc,CACZ1L,KAAMoG,EAAayG,gBACnBL,QAAS,CACPM,YAAaA,EACbC,cAAeA,EACfC,iBAAkB0D,EAAS1D,sBAIhC,CAACtB,EAAeoB,EAAaC,EAAe2D,EAAS1D,mBAExDoC,IAAY,WACN1D,GAA0C,mBAAlBA,GAC1BA,EAAc,CACZ1L,KAAMoG,EAAa6G,iBACnBT,QAAS,CACPM,YAAaA,EACbI,YAAaiG,GACbhG,YAAa7B,EAAY/kB,OACzB6mB,YAAawC,EAAiBnO,OAAS,OAI5C,CAAC0R,GAAoBrG,EAAapB,EAAekE,EAAiBnO,MAAO6J,EAAY/kB,SAExF6oB,IAAY,WACN1D,GAA0C,mBAAlBA,GAC1BA,EAAc,CACZ1L,KAAMoG,EAAaiH,0BACnBb,QAAS,CACPc,oBAAqBA,EACrBC,uBAAwBA,EACxBC,eAAgBkD,EAASlD,eACzBC,SAAUwF,QAIf,CAACvH,EAAe4B,EAAqBoD,EAASlD,eAAgBD,EAAwB0F,KACzF7D,IAAY,WACV5gB,QAAQimB,IAAI,gBAAiB1H,GAEzBA,GACE2D,EAASlD,iBAAmBqF,IAC9BrkB,QAAQimB,IAAI,aACZvB,GAAiB7L,WAGpB,CAAC0F,EAAemG,GAAkBL,EAAkBnC,EAASlD,iBACzD,wBAAc,IAAe,CAClCpD,MAAOuJ,IACN,wBAAc1I,GAAS,CACxB9N,IAAKwS,EACLgF,aA7RwB,SAA6BrkB,GACrD,IAAIwgB,EAAWxgB,EAAMskB,QAAQ,GAAGC,QAC5B9D,EAAWzgB,EAAMskB,QAAQ,GAAGE,QAChCxD,EAAcvP,EAAQ,GAAIsP,EAAY,CACpCP,SAAUA,EACVC,SAAUA,MAyRZgE,YAjRuB,SAA4BzkB,GACnD,IAAI0gB,EAAW1gB,EAAMskB,QAAQ,GAAGC,QAC5B5D,EAAW3gB,EAAMskB,QAAQ,GAAGE,QAChCxD,EAAcvP,EAAQ,GAAIsP,EAAY,CACpCL,SAAUA,EACVC,SAAUA,MA6QZ+D,WAlQsB,WACtB,IAAIC,EAAQ5D,GAAc6D,OAAO7D,EAAWP,UAAYoE,OAAO7D,EAAWL,UACtEmE,EAAQ9D,GAAc6D,OAAO7D,EAAWN,UAAYmE,OAAO7D,EAAWJ,UAEtEmE,EAAwBtwB,KAAKuwB,IAAIJ,GAASnwB,KAAKuwB,IAAIF,GACnDG,EAA0B5E,EAASV,oBAAsBxJ,EAAa0J,WACtEqF,EAAqB7E,EAASV,oBAAsBxJ,EAAagP,SAEjEJ,GAAyBE,GAA2BxwB,KAAKuwB,IAAIJ,IAL1C,GAOjBA,EAAQ,EAEV5B,KAGAC,KAEOiC,GAAsBzwB,KAAKuwB,IAAIF,IAdnB,KAgBjBA,EAAQ,EAEV9B,KAGAC,MAIJhC,EAAcT,IAuOd4E,MAAO1T,EAAQ,GAAI7W,EAAMuqB,MAAO,CAC9BhU,MAAOiP,EAASjP,MAChBtQ,OAAQuf,EAASvf,SAEnBukB,mBAtT8B,WAC1BhF,EAASlD,gBAlBO,WAEpB,KADqB0F,GAAiBlkB,QAAU2V,EAAOyC,MAAQyL,GAC/D,CAEAK,GAAiB5L,QACbiG,GAAwB7S,aAAa6S,GACzC,IAAIoI,EAA2BhhB,YAAW,WACxCue,GAAiBtL,WAChB8I,EAASnD,wBACZoF,EAA0BgD,IAUxBC,KAqTD1qB,EAAMkI,SAAUsd,EAASH,sBAAwB,wBAAcxB,GAAW,CAC3EC,aAAc0B,EAASV,oBAAsBxJ,EAAa0J,WAC1DjB,cAAeqE,GACfpE,UAAWmE,UAGXwC,GAAetG,IAAO,SAAUrkB,GAClC,IAAImgB,EAAWngB,EAAMmgB,SACjByK,EAAO7T,EAAO/W,EAAO,CAAC,aAEtBif,EA1tCN,SAAmBlS,QACD,IAAZA,IACFA,EAAU,IAGZ,IAAIkF,EAAM,mBAEN4Y,EAAkB,mBAAW,CAC/BlS,QAAQ,EACRgB,WAAO7Q,IAELhF,EAAQ+mB,EAAgB,GACxBjmB,EAAWimB,EAAgB,GAE3BC,EAAS,uBAAc,SAAUlR,GAC/B3H,EAAI0Q,SACN5J,EAAU9G,EAAI0Q,SAGZ/I,GACF1B,EAAQ0B,GAAM,SAAUjB,EAAQU,GAC9BzU,EAAS,CACP+T,OAAQA,EACRgB,MAAON,IAGLV,GAAU5L,EAAQoN,aAEpBpB,EAAUa,KAEX7M,GAILkF,EAAI0Q,QAAU/I,IACb,CAAC7M,EAAQoL,UAAWpL,EAAQ6F,KAAM7F,EAAQsL,WAAYtL,EAAQoN,cAEjE,OADA,wBAAcrW,EAAM6U,QACb,CAACmS,EAAQhnB,EAAM6U,OAAQ7U,EAAM6V,OAqrC3BoR,CAAU,CAEjB5S,UAAW,IAETlG,EAAMgN,EAAG,GACTtG,EAASsG,EAAG,GAEhB,OAAO,wBAAc,GAAuB,CAC1CkB,SAAUA,GACT,wBAAc,MAAO,CACtBrb,UAAW,iBACXmN,IAAKA,GACJ,wBAAcqS,GAAYzN,EAAQ,CACnC8B,OAAQA,GACPiS,SAEDI,GAAS3G,GAAOsG,IAYhBM,IAA0BC,EAXjB,QAWwB,aATT,SAA+BlrB,GACzD,IAAIkf,EAAQlf,EAAMkf,MACdiM,EAAgBnrB,EAAMmrB,cACtBjjB,EAAWlI,EAAMkI,SACrB,OAAO,wBAAc,IAAe,CAClCgX,MAAOrI,EAAQ,GAAIqI,EAAOiM,IACzBjjB,OAKD,GAAiB,SAAwB1F,GAK3C,YAJc,IAAVA,IACFA,EAAQ,KAGH,YAAIwb,IAAuBA,EAAqB/G,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1G,OADYA,EAAGC,MACFC,cAAgB3c,EAAQ,SAIrCkmB,GAAuB,YAAIzK,KAAuBA,GAAqBhH,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE9H,OADYA,EAAGC,MACFwJ,sBAAwB,WAEnC0C,GAAW,YAAIlN,KAAuBA,GAAqBjH,EAAqB,CAAC,8IAA+I,CAAC,iJACjOoU,GAAY,YAAIlN,KAAuBA,GAAqBlH,EAAqB,CAAC,gJAAiJ,OAAQ,CAAC,gJAAiJ,SAAU,MACvYqU,GAAc,YAAIlN,KAAuBA,GAAqBnH,EAAqB,CAAC,qGAAsG,OAAQ,CAAC,qGAAsG,SAAUyR,IACnT6C,GAAe,YAAIlN,KAAuBA,GAAqBpH,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAItH,OAHYA,EAAGC,MACc4C,kBAI3B,KAAK1G,EAAYuD,cACf,OAAOkB,GAAWF,iBAGpB,KAAKvE,EAAYwD,cACf,OAAOiB,GAAWC,iBAGpB,KAAK1E,EAAYyD,cACf,OAAOgB,GAAWN,iBAGpB,KAAKnE,EAAY0D,cACf,OAAOe,GAAWJ,iBAEpB,KAAKrE,EAAYsD,KACjB,QACE,OAAOmB,GAAWR,gBAGpBmM,GAAc,IAAOxL,IAAIzB,KAAuBA,GAAqBtH,EAAqB,CAAC,OAAQ,0GAA2G,QAAS,gJAAiJ,oCAAqC,yKAA0K,4LAA6L,YAAa,CAAC,OAAQ,0GAA2G,QAAS,gJAAiJ,oCAAqC,yKAA0K,4LAA6L,cAAemU,GAAU,GAAe,IAAI,SAAUnM,GACn9C,IAAIwM,EAAWxM,EAAGwM,SACd5J,EAAgB5C,EAAG4C,cACvB,OAAO,YAAIvD,KAAuBA,GAAqBrH,EAAqB,CAAC,WAAY,YAAa,SAAU,CAAC,WAAY,YAAa,WAAYwU,EAAWJ,GAAYC,GAAaG,IAAa5J,GAAiB0J,MACvNH,GAAUC,GAAW,KAAkB,MAG1C,SAASK,GAAc/xB,GACrB,OAAOA,GAAKA,EAAEoO,YAAc1O,OAAOuG,UAAUC,eAAezC,KAAKzD,EAAG,WAAaA,EAAW,QAAIA,EAGlG,SAASgyB,GAAqBhjB,EAAIjB,GAChC,OAEGiB,EAFIjB,EAAS,CACdnO,QAAS,IACGmO,EAAOnO,SAAUmO,EAAOnO,QAGxC,IAAI,GAAQoyB,IAAqB,SAAUjkB,EAAQnO,GACjDF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQqyB,GAGR,SAAY1Z,EAAIf,EAAW/D,EAAUkE,GACnCA,EAAOA,IAAQ,EAEXY,EAAG5I,iBACL4I,EAAG5I,iBAAiB6H,EAAW/D,EAAUkE,GAChCY,EAAG2Z,aACZ3Z,EAAG2Z,YAAY,KAAO1a,GAAW,SAAUpW,GACzCqS,EAAShQ,KAAK8U,EAAInX,GAAKmM,OAAO9B,WATpC7L,EAAQuyB,IAcR,SAAa5Z,EAAIf,EAAW/D,EAAUkE,GACpCA,EAAOA,IAAQ,EAEXY,EAAGrI,oBACLqI,EAAGrI,oBAAoBsH,EAAW/D,EAAUkE,GACnCY,EAAG6Z,aACZ7Z,EAAG6Z,YAAY,KAAO5a,EAAW/D,OAIvCse,GAAc,IACA,GAAME,GACN,GAAME,IADpB,IAEIE,GAAeL,IAAqB,SAAUjkB,EAAQnO,GACxDF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAMTD,EAAQE,QAAU,SAAUmgB,GAC1B,KAAMA,aAAgBqS,aACpB,OAAOjoB,SAASgK,gBAOlB,IAJA,IAAIke,EAA8C,aAAxBtS,EAAK2Q,MAAM4B,SACjCC,EAAgB,gBAChBC,EAASzS,EAENyS,GAAQ,CACb,IAAKA,EAAOC,WACV,OAAO1S,EAAK2S,eAAiBvoB,SAASgK,gBAGxC,IAAIuc,EAAQrjB,OAAOslB,iBAAiBH,GAChCF,EAAW5B,EAAM4B,SACjBM,EAAWlC,EAAMkC,SACjBC,EAAYnC,EAAM,cAClBoC,EAAYpC,EAAM,cAEtB,GAAiB,WAAb4B,GAAyBD,EAC3BG,EAASA,EAAOC,eADlB,CAKA,GAAIF,EAAc/vB,KAAKowB,IAAaL,EAAc/vB,KAAKqwB,IAAcN,EAAc/vB,KAAKswB,GACtF,OAAON,EAGTA,EAASA,EAAOC,YAGlB,OAAO1S,EAAK2S,eAAiB3S,EAAK5L,iBAAmBhK,SAASgK,oBAGlE0d,GAAcM,IACd,IAAIY,GAAajB,IAAqB,SAAUjkB,EAAQnO,GACtDF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,QAER,SAAkBkJ,EAAM0Q,EAAMwZ,GAC5B,IAAIC,OAAU,EACVhc,OAAO,EACPic,OAAU,EACVze,OAAY,EACZmF,OAAS,EAETuZ,EAAQ,SAASA,IACnB,IAAIC,GAAQ,IAAI5f,KAASiB,EAErB2e,EAAO5Z,GAAQ4Z,GAAQ,EACzBH,EAAUrjB,WAAWujB,EAAO3Z,EAAO4Z,IAEnCH,EAAU,KAELD,IACHpZ,EAAS9Q,EAAKsF,MAAM8kB,EAASjc,GAExBgc,IACHC,EAAU,KACVjc,EAAO,SAMf,OAAO,WACLic,EAAUrpB,KACVoN,EAAOrR,UACP6O,GAAa,IAAIjB,KACjB,IAAI6f,EAAUL,IAAcC,EAY5B,OAVKA,IACHA,EAAUrjB,WAAWujB,EAAO3Z,IAG1B6Z,IACFzZ,EAAS9Q,EAAKsF,MAAM8kB,EAASjc,GAC7Bic,EAAU,KACVjc,EAAO,MAGF2C,OAIbiY,GAAckB,IACd,IAAIO,GAAaxB,IAAqB,SAAUjkB,EAAQnO,GACtDF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,QAGR,SAAkBkP,EAAIykB,EAAYC,GAEhC,IAAIJ,EAAMK,EACV,OAFAF,IAAeA,EAAa,KAErB,WACL,IAAIL,EAAUM,GAAS3pB,KACnByP,GAAO,IAAI9F,KACXyD,EAAOrR,UAEPwtB,GAAQ9Z,EAAM8Z,EAAOG,GAEvB5d,aAAa8d,GACbA,EAAa7jB,YAAW,WACtBwjB,EAAO9Z,EACPxK,EAAGV,MAAM8kB,EAASjc,KACjBsc,KAEHH,EAAO9Z,EACPxK,EAAGV,MAAM8kB,EAASjc,SAK1B4a,GAAcyB,IACd,IAudII,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GA4GxHC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAnkB5IC,GAAM3C,IAAqB,SAAUjkB,EAAQnO,GAC/CF,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQg1B,WAAah1B,EAAQi1B,cAAW1lB,EAExC,IAAIhJ,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAkBfsH,EAAUC,EAAuB,KAEjC6mB,EAAa7mB,EAAuB,KAEpCkK,EAAclK,EAAuB,KAErC8mB,EAAiB9mB,EAAuBokB,IAExC2C,EAAa/mB,EAAuBglB,IAEpCgC,EAAahnB,EAAuBulB,IAExC,SAASvlB,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,SAAStH,EAAgBC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAIxB,SAASC,EAA2BC,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EAG5E,SAAS0D,EAAUC,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAO7G,IAAI6tB,EACG,EADHA,EAII,EAJJA,EAKK,EALLA,EAMM,EAENC,EAAc,yBACdC,EAAY,GACZC,EAAU,GAEVC,GAAwB,EAE5B,IACE,IAAI3d,EAAOjY,OAAOC,eAAe,GAAI,UAAW,CAC9CyM,IAAK,WACHkpB,GAAwB,KAG5B/nB,OAAOoC,iBAAiB,OAAQ,KAAMgI,GACtC,MAAOvW,IAIT,IAAIm0B,IAAeD,GAAwB,CACzCE,SAAS,EACT5d,SAAS,GA4GP6d,EAAe,SAAsBC,GACvC,IAAIzV,EAAO6U,EAAWh1B,QAAQ61B,YAAYD,GAE1C,GAAMzV,aAAgBqS,YAAtB,CAIA,IAAII,GAAS,EAAIqC,EAAej1B,SAASmgB,IACxByV,EAAUrvB,MAAMysB,UAAYJ,IAAWzS,EAAK2S,eAAiBF,IAAWroB,UAAYqoB,IAAWroB,SAASgK,gBA3GhG,SAA8BqhB,EAAWhD,GAClE,IAAIzS,EAAO6U,EAAWh1B,QAAQ61B,YAAYD,GAEtCE,OAAY,EACZC,OAAa,EACbC,OAAe,EACfC,OAAc,EAElB,IACE,IAAIC,EAAwBtD,EAAOxmB,wBAEnC0pB,EAAYI,EAAsB7pB,IAClC0pB,EAAaG,EAAsBrZ,KACnCmZ,EAAeE,EAAsB1pB,OACrCypB,EAAcC,EAAsBpZ,MACpC,MAAOxb,GACPw0B,EAAYV,EACZW,EAAaX,EACbY,EAAeZ,EACfa,EAAcb,EAGhB,IAAIe,EAAoB1oB,OAAO2oB,aAAe7rB,SAASgK,gBAAgBsC,aACnEwf,EAAmB5oB,OAAO6oB,YAAc/rB,SAASgK,gBAAgBkC,YAEjE8f,EAAkBp2B,KAAKqW,IAAIsf,EAAW,GAEtCU,EAAmBr2B,KAAKqW,IAAIuf,EAAY,GAExCU,EAAqBt2B,KAAKsZ,IAAI0c,EAAmBL,EAAYE,GAAgBO,EAE7EG,EAAoBv2B,KAAKsZ,IAAI4c,EAAkBN,EAAaE,GAAeO,EAG3EnqB,OAAM,EACNwQ,OAAO,EACPrQ,OAAS,EACTsQ,OAAQ,EAEZ,IACE,IAAI6Z,EAAwBxW,EAAK/T,wBAEjCC,EAAMsqB,EAAsBtqB,IAC5BwQ,EAAO8Z,EAAsB9Z,KAC7BrQ,EAASmqB,EAAsBnqB,OAC/BsQ,EAAQ6Z,EAAsB7Z,MAC9B,MAAOxb,GACP+K,EAAM+oB,EACNvY,EAAOuY,EACP5oB,EAAS4oB,EACTtY,EAAQsY,EAGV,IAAIwB,EAAYvqB,EAAMkqB,EAElBM,EAAaha,EAAO2Z,EAEpBM,EAAUxf,MAAM+H,QAAQuW,EAAUrvB,MAAMsC,QAAU+sB,EAAUrvB,MAAMsC,OAAS,CAAC+sB,EAAUrvB,MAAMsC,OAAQ+sB,EAAUrvB,MAAMsC,QAExH,OAAO+tB,EAAYE,EAAQ,IAAML,GAAsBG,EAAYpqB,EAASsqB,EAAQ,IAAM,GAAKD,EAAaC,EAAQ,IAAMJ,GAAqBG,EAAa/Z,EAAQga,EAAQ,IAAM,EAiDvJC,CAAqBnB,EAAWhD,GAxCpC,SAA4BgD,GACnD,IAAIzV,EAAO6U,EAAWh1B,QAAQ61B,YAAYD,GAG1C,KAAMzV,EAAK7J,aAAe6J,EAAKvJ,cAAgBuJ,EAAK6W,iBAAiBp1B,QAAS,OAAO,EACrF,IAAIyK,OAAM,EACN4qB,OAAgB,EAEpB,IACE,IAAIC,EAAyB/W,EAAK/T,wBAElCC,EAAM6qB,EAAuB7qB,IAC7B4qB,EAAgBC,EAAuB1qB,OACvC,MAAOlL,GACP+K,EAAM+oB,EACN6B,EAAgB7B,EAGlB,IAAIe,EAAoB1oB,OAAO2oB,aAAe7rB,SAASgK,gBAAgBsC,aACnEigB,EAAUxf,MAAM+H,QAAQuW,EAAUrvB,MAAMsC,QAAU+sB,EAAUrvB,MAAMsC,OAAS,CAAC+sB,EAAUrvB,MAAMsC,OAAQ+sB,EAAUrvB,MAAMsC,QAExH,OAAOwD,EAAMyqB,EAAQ,IAAMX,GAAqB9pB,EAAM4qB,EAAgBH,EAAQ,IAAM,EAmBfK,CAAmBvB,IAIjFA,EAAUwB,UACTxB,EAAUrvB,MAAM8wB,MAClB9B,EAAQtN,KAAK2N,GAGfA,EAAUwB,SAAU,EACpBxB,EAAU0B,eAED1B,EAAUrvB,MAAM8wB,MAAQzB,EAAUwB,UAC7CxB,EAAUwB,SAAU,EAEhBxB,EAAUrvB,MAAMgxB,oBAClB3B,EAAU0B,iBAgBZE,EAAkB,WACpB,IAAK,IAAIzxB,EAAI,EAAGA,EAAIuvB,EAAU1zB,SAAUmE,EAAG,CACzC,IAAI4R,EAAW2d,EAAUvvB,GACzB4vB,EAAahe,GAbf4d,EAAQzmB,SAAQ,SAAU8mB,GACxB,IAAI3mB,EAAQqmB,EAAUjzB,QAAQuzB,IAEf,IAAX3mB,GACFqmB,EAAUmC,OAAOxoB,EAAO,MAG5BsmB,EAAU,IAcRmC,OAAY,EACZC,EAAuB,KAMvBC,EAAW,SAAUC,GAGvB,SAASD,EAASrxB,GAChBQ,EAAgBkD,KAAM2tB,GAEtB,IAAI1tB,EAAQhD,EAA2B+C,MAAO2tB,EAASjwB,WAAa/H,OAAOuK,eAAeytB,IAAWj0B,KAAKsG,KAAM1D,IAGhH,OADA2D,EAAMktB,SAAU,EACTltB,EAgHT,OAxHA7C,EAAUuwB,EAAUC,GAWpBxxB,EAAauxB,EAAU,CAAC,CACtB1xB,IAAK,oBACLnG,MAAO,WAGL,IAAI+3B,EAAarqB,OACbsqB,EAAkB9tB,KAAK1D,MAAMwxB,gBAE7BA,GAvBiB,iBAwBNA,IACXD,EAAaA,EAAWvtB,SAASytB,cAAcD,IAInD,IAAIE,OAAwD5oB,IAAxBpF,KAAK1D,MAAMoT,UAAwC,aAAd+d,GAA0C,aAAdA,QAAoDroB,IAAxBpF,KAAK1D,MAAMoT,SAoB5I,GAlBIse,KACF,EAAI,GAAM5F,KAAKyF,EAAY,SAAUH,EAAsBlC,IAC3D,EAAI,GAAMpD,KAAK5kB,OAAQ,SAAUkqB,EAAsBlC,GACvDkC,EAAuB,MAGpBA,SACyBtoB,IAAxBpF,KAAK1D,MAAMoT,UACbge,GAAuB,EAAIzC,EAAWl1B,SAASw3B,EAAgD,iBAAxBvtB,KAAK1D,MAAMoT,SAAwB1P,KAAK1D,MAAMoT,SAAW,KAChI+d,EAAY,iBACqBroB,IAAxBpF,KAAK1D,MAAM2xB,UACpBP,GAAuB,EAAIxC,EAAWn1B,SAASw3B,EAAgD,iBAAxBvtB,KAAK1D,MAAM2xB,SAAwBjuB,KAAK1D,MAAM2xB,SAAW,KAChIR,EAAY,YAEZC,EAAuBH,GAIvBvtB,KAAK1D,MAAMysB,SAAU,CACvB,IAAIJ,GAAS,EAAIqC,EAAej1B,SAASg1B,EAAWh1B,QAAQ61B,YAAY5rB,OAExE,GAAI2oB,GAAyC,mBAAxBA,EAAOuF,aAA6B,CACvD,IAAIC,GAAqBxF,EAAOuF,aAAa9C,GAAzB,EAEE,IAAlB+C,GACFxF,EAAO/iB,iBAAiB,SAAU8nB,EAAsBlC,GAG1D7C,EAAOyF,aAAahD,EAAa+C,SAE9B,GAAyB,IAArB9C,EAAU1zB,QAAgBq2B,EAA+B,CAClE,IAAIK,EAASruB,KAAK1D,MACdgyB,EAASD,EAAOC,OAChBC,EAASF,EAAOE,OAEhBD,IACF,EAAI,GAAMpG,IAAI2F,EAAY,SAAUH,EAAsBlC,GAGxD+C,IACF,EAAI,GAAMrG,IAAI1kB,OAAQ,SAAUkqB,EAAsBlC,GAI1DH,EAAUrN,KAAKhe,MACf0rB,EAAa1rB,QAEd,CACD/D,IAAK,wBACLnG,MAAO,WACL,OAAOkK,KAAKmtB,UAEb,CACDlxB,IAAK,uBACLnG,MAAO,WACL,GAAIkK,KAAK1D,MAAMysB,SAAU,CACvB,IAAIJ,GAAS,EAAIqC,EAAej1B,SAASg1B,EAAWh1B,QAAQ61B,YAAY5rB,OAExE,GAAI2oB,GAAyC,mBAAxBA,EAAOuF,aAA6B,CACvD,IAAIC,GAAiBxF,EAAOuF,aAAa9C,GAAe,EAElC,IAAlB+C,GACFxF,EAAOxiB,oBAAoB,SAAUunB,EAAsBlC,GAC3D7C,EAAO6F,gBAAgBpD,IAEvBzC,EAAOyF,aAAahD,EAAa+C,IAKvC,IAAInpB,EAAQqmB,EAAUjzB,QAAQ4H,OAEf,IAAXgF,GACFqmB,EAAUmC,OAAOxoB,EAAO,GAGD,IAArBqmB,EAAU1zB,QAAkC,oBAAX6L,UACnC,EAAI,GAAM4kB,KAAK5kB,OAAQ,SAAUkqB,EAAsBlC,IACvD,EAAI,GAAMpD,KAAK5kB,OAAQ,SAAUkqB,EAAsBlC,MAG1D,CACDvvB,IAAK,SACLnG,MAAO,WACL,OAAOkK,KAAKmtB,QAAUntB,KAAK1D,MAAMkI,SAAWxE,KAAK1D,MAAMmyB,YAAczuB,KAAK1D,MAAMmyB,YAAcxqB,EAAQlO,QAAQwL,cAAc,MAAO,CACjIslB,MAAO,CACLtkB,OAAQvC,KAAK1D,MAAMiG,QAErBnB,UAAW,6BAKVusB,EAzHM,CA0Hb,IAAejuB,WAEjBiuB,EAAS1qB,UAAY,CACnBmqB,KAAMhf,EAAYrY,QAAQ0I,KAC1B8D,OAAQ6L,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ8I,OAAQuP,EAAYrY,QAAQmI,SACvFU,OAAQwP,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ8I,OAAQuP,EAAYrY,QAAQ24B,QAAQtgB,EAAYrY,QAAQ8I,UACnHkqB,SAAU3a,EAAYrY,QAAQ0I,KAC9B8vB,OAAQngB,EAAYrY,QAAQ0I,KAC5B6vB,OAAQlgB,EAAYrY,QAAQ0I,KAC5B+F,SAAU4J,EAAYrY,QAAQmgB,KAC9B+X,SAAU7f,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ8I,OAAQuP,EAAYrY,QAAQ0I,OACzFiR,SAAUtB,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQ8I,OAAQuP,EAAYrY,QAAQ0I,OACzFgwB,YAAargB,EAAYrY,QAAQmgB,KACjC4X,gBAAiB1f,EAAYrY,QAAQ4I,UAAU,CAACyP,EAAYrY,QAAQmI,OAAQkQ,EAAYrY,QAAQuI,SAChGgvB,mBAAoBlf,EAAYrY,QAAQ0I,MAE1CkvB,EAASzqB,aAAe,CACtBkqB,MAAM,EACNxuB,OAAQ,EACRmqB,UAAU,EACVwF,QAAQ,EACRD,QAAQ,EACRhB,oBAAoB,GAGtB,IAAIqB,EAAiB,SAAwBC,GAC3C,OAAOA,EAAiBC,aAAeD,EAAiBlrB,MAAQ,aA8BlE7N,EAAQi1B,SA3BQ,WACd,IAAIzhB,EAAUtN,UAAUpE,OAAS,QAAsByN,IAAjBrJ,UAAU,GAAmBA,UAAU,GAAK,GAClF,OAAO,SAAkB6yB,GACvB,OAAO,SAAUE,GAGf,SAASC,IACPjyB,EAAgBkD,KAAM+uB,GAEtB,IAAIvtB,EAASvE,EAA2B+C,MAAO+uB,EAAkBrxB,WAAa/H,OAAOuK,eAAe6uB,IAAoBr1B,KAAKsG,OAG7H,OADAwB,EAAOqtB,YAAc,WAAaF,EAAeC,GAC1CptB,EAUT,OAlBApE,EAAU2xB,EAAmBD,GAW7B1yB,EAAa2yB,EAAmB,CAAC,CAC/B9yB,IAAK,SACLnG,MAAO,WACL,OAAOmO,EAAQlO,QAAQwL,cAAcosB,EAAUtkB,EAASpF,EAAQlO,QAAQwL,cAAcqtB,EAAkB5uB,KAAK1D,YAI1GyyB,EAnBF,CAoBL,IAAervB,aAKrB7J,EAAQE,QAAU43B,EAClB93B,EAAQg1B,WAAa0C,KAEnB,GAAWvF,GAAc4C,IAIzBoE,IAHQpE,GAAIC,WACJD,GAAIE,SAEW,YAAIjB,KAAuBA,GAAqBtW,EAAqB,CAAC,oDAAqD,CAAC,wDACnJ0b,GAA8B,YAAInF,KAAuBA,GAAqBvW,EAAqB,CAAC,OAAQ,MAAO,CAAC,OAAQ,SAAS,SAAUgI,GAEjJ,OADYA,EAAGC,MACFyT,6BAA+B,YAE1CC,GAA2B,YAAInF,KAAuBA,GAAqBxW,EAAqB,CAAC,OAAQ,MAAO,CAAC,OAAQ,SAAS,SAAUgI,GAE9I,OADYA,EAAGC,MACF0T,0BAA4B,WAGvCC,GAAoB,YAAUnF,KAAuBA,GAAqBzW,EAAqB,CAAC,mEAAoE,CAAC,sEACrK6b,GAAmB,YAAUnF,KAAuBA,GAAqB1W,EAAqB,CAAC,wJAAyJ,CAAC,2JAEzP8b,GAAM,IAAOC,IAAIpF,KAAuBA,GAAqB3W,EAAqB,CAAC,OAAQ,sCAAuC,CAAC,OAAQ,wCAAyCyb,IACpLO,GAAa,IAAOjT,IAAI6N,KAAuBA,GAAqB5W,EAAqB,CAAC,qGAAsG,4QAA6Q,IAAK,gBAAiB,0HAA2H,IAAK,gBAAiB,qBAAsB,wBAAyB,qBAAsB,CAAC,qGAAsG,4QAA6Q,IAAK,gBAAiB,0HAA2H,IAAK,gBAAiB,qBAAsB,wBAAyB,uBAAwByb,GAAsBG,GAAmBF,GAA6BC,GAA0BC,GAAmBF,GAA6BC,GAA0BE,GAAkBF,IAEv9CM,GAAa,WAwEbC,IAAeC,EAvEN,SAES,SAAyBpzB,GAC7C,IAAIif,EAAKjf,EAAMqzB,eACXA,OAAwB,IAAPpU,GAAuBA,EACxCqU,EAAoBtzB,EAAMszB,kBAC1B/c,EAAQvW,EAAMuW,MACdtQ,EAASjG,EAAMiG,OACfstB,EAASvzB,EAAMuzB,OACfC,EAAMxzB,EAAMwzB,IACZC,EAAa1c,EAAO/W,EAAO,CAAC,iBAAkB,oBAAqB,QAAS,SAAU,SAAU,QAEhG0zB,EAAkBD,EAAWC,gBAC7BC,EAAsBF,EAAWE,oBAOjC1Q,EAAKiQ,GAAWQ,EAAkB,2BAA6B,2BAC/D5uB,EAAYme,EAAG,GACf2Q,EAAe3Q,EAAG,GAuBlBsH,EAAQ,mBAAU,WACpB,OAAO1T,EAAQ,CACbgd,mBAAoB,aACpBC,eAAgB,QAChBvd,MAAOA,GAAS,OAChBtQ,OAAQA,GAAU,QACjBwtB,EAAY,CACbC,gBAAiBA,EAAkB,QAAUA,EAAkB,UAAO5qB,MAEvE,CAAC2qB,EAAYC,EAAiBztB,EAAQsQ,IACrCwd,EAAU,wBAAc,WAAU,KAAML,GAAmB,wBAAcX,GAAK,CAChFjuB,UAAW,0BACXyuB,OAjCkB,SAAuBnuB,GACrCmuB,GACFA,EAAOnuB,GAGT,IAAIN,EAAY,CAAC,2BAEjB,OAAQ6uB,GACN,KAAKxY,EAAsB6Y,KACzBlvB,EAAU4c,KAAK,6BACf,MAEF,KAAKvG,EAAsBuD,KAC3B,QACE5Z,EAAU4c,KAAK,4BAInBkS,EAAa9uB,EAAUnG,KAAK,OAgB5B60B,IAAKA,EACLS,IAAKP,IACH,wBAAcT,GAAY,CAC5B1I,MAAOA,EACPzlB,UAAWA,KAEb,OAAOuuB,EAAiB,wBAAc,GAAU,CAC9C/wB,OAAQgxB,GAAqBpsB,OAAO2oB,YACpCzc,UAAU,EACVnN,OAAQA,GAAU,QACjB8tB,GAAWA,KAKZ,GAAc,YAAIjG,KAAuBA,GAAqB7W,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,UAAU,SAAUgI,GAEnI,MAAO,SADKA,EAAGC,MACSgD,aAAe,SAAW,cAEhDyG,GAAe,YAAIoF,KAAuBA,GAAqB9W,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,UAAU,SAAUgI,GAEpI,MAAO,SADKA,EAAGC,MACSyJ,cAAgB,SAAW,cAGjD,GAAe,SAAsBuL,GAKvC,YAJmB,IAAfA,IACFA,EAAa,KAGR,YAAIlG,KAAuBA,GAAqB/W,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,UAAU,SAAUgI,GAExH,MAAO,SADKA,EAAGC,MACSiK,cAAgB,SAAW,MAAQ+K,EAAa,QAIxEC,GAA2B,YAAIlG,KAAuBA,GAAqBhX,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,UAAU,SAAUgI,GAEhJ,OADYA,EAAGC,MACFiV,0BAA4B,YAEvCC,GAAwB,YAAIlG,KAAuBA,GAAqBjX,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,UAAU,SAAUgI,GAE7I,OADYA,EAAGC,MACFkV,uBAAyB,WAGpCC,GAAc,YAAUlG,KAAuBA,GAAqBlX,EAAqB,CAAC,kPAAmP,CAAC,qPAE9Uqd,GAAO,IAAOtU,IAAIoO,KAAuBA,GAAqBnX,EAAqB,CAAC,4HAA6H,kBAAmB,sWAAuW,qPAAsP,wXAAyX,6GAA8G,0NAA2N,oBAAqB,mBAAoB,CAAC,4HAA6H,kBAAmB,sWAAuW,qPAAsP,wXAAyX,6GAA8G,0NAA2N,oBAAqB,qBAAsB,GAAa0R,GAAc,KAAgB,GAAa,GAAI,GAAa,MAAO,GAAa,GAAIA,GAAcA,IACtnG4L,GAAQ,IAAOvB,IAAI3E,KAAuBA,GAAqBpX,EAAqB,CAAC,yNAA0N,0IAA2I,2BAA4B,YAAa,CAAC,yNAA0N,0IAA2I,2BAA4B,cAAeod,GAAaF,GAA0BC,IAG35BI,GAAa,WAsCbC,IAASC,EArCA,SAEQ,SAAwB10B,GAC3C,IAAIyzB,EAAazzB,EAAMyzB,WAEnBxU,EAAKuV,GAAW,iCAChB1vB,EAAYma,EAAG,GACf2U,EAAe3U,EAAG,GAMlBsL,EAAQ,mBAAU,WACpB,MAAO,CACLoK,gBAAiBlB,EAAWkB,gBAC5BC,oBAAqBnB,EAAWoB,wBAChCnB,gBAAiB,QAAUD,EAAWC,gBAAkB,QAEzD,CAACD,EAAWkB,gBAAiBlB,EAAWC,gBAAiBD,EAAWoB,0BACnEC,EAAyB,iCAAdhwB,EACf,OAAO,wBAAcwvB,GAAM,CACzBxvB,UAAW,CAAC,wBAAyB9E,EAAMyrB,UAAYzrB,EAAM6hB,cAAgB,+BAAiC,kCAAkCljB,KAAK,MACpJ,wBAAc,GAAU,CACzB2D,OAAQ4E,OAAO2oB,YACfzc,UAAU,EACVnN,OAAQ,QACP,wBAAcsuB,GAAO,CACtBzvB,UAAW,+BACXyuB,OApBkB,WAClBK,EAAa,iCAoBbK,IAAKR,EAAWC,kBACdoB,GAAY,wBAAc,MAAO,CACnCvK,MAAOA,EACPzlB,UAAW,CAACA,EAAWgwB,EAAW,8BAAgC,KAAMA,IAAa90B,EAAM6hB,cAAgB,sCAAwC,MAAMljB,KAAK,YAK9Jo2B,GAAe,aACfC,GAAc,YACdC,GAAa,WAEbC,IAAYC,EADH,SACU,SAAUn1B,GAC/B,IAAIo1B,EAAmBp1B,EAAMo1B,iBACzB7K,EAAQvqB,EAAMuqB,MACdkJ,EAAazzB,EAAMyzB,WACnB4B,EAAmBr1B,EAAMq1B,iBACzBntB,EAAWlI,EAAMkI,SACjBsZ,EAAiBxhB,EAAMwhB,eACvBoJ,EAAO7T,EAAO/W,EAAO,CAAC,mBAAoB,QAAS,aAAc,mBAAoB,WAAY,mBAEjGif,EAAK8V,GAAa/T,IAClBR,EAAgBvB,EAAGuB,cACnBJ,EAAcnB,EAAGmB,YACjBC,EAAapB,EAAGoB,WAChBI,EAAqBxB,EAAGwB,mBACxBC,EAAgBzB,EAAGyB,cAEnBuC,EAAKgS,GAAW7U,EAAY/kB,QAC5BkmB,EAAc0B,EAAG,GACjBqS,EAAiBrS,EAAG,GAEpBsS,EAAmBnV,EAAYqB,MAAK,SAAUxC,GAEhD,OADaA,EAAGsC,cACEA,KAEpByT,IAAY,WACV,GAAIxU,IAAkB+U,EAAkB,CACtC,IAAIC,EAAiB/U,IACrBD,EAAc,CACZ1L,KAAMoG,EAAakG,eACnBE,QAAS,CACPE,eAAgBA,EAChBD,YAAaiU,KAGjBF,EAAeE,MAEhB,CAAChV,EAAe+U,EAAkBhU,EAAanB,EAAaoB,EAAgBf,IAE/EuU,IAAY,WACV,OAAO,WACDzT,GAAab,EAAca,MAEhC,CAACA,EAAab,IAMjB,IAAIyK,EAAgB,mBAAU,WAC5B,OAAOsI,EAAa,CAClBd,4BAA6Bc,EAAWd,4BAA8Bc,EAAWd,4BAA8B,UAAO7pB,EACtH8pB,yBAA0Ba,EAAWb,yBAA2Ba,EAAWb,yBAA2B,UAAO9pB,GAC3G2qB,IACH,CAACA,IACJ,IAAK8B,IAAqBlV,EAAY,OAAO,KAC7C,IAAIuB,EAAcvB,EAAWuB,YACzBC,EAAgBxB,EAAWwB,cAC3BC,EAAmBzB,EAAWyB,iBAE9B2J,EAAW7J,IADIxB,EAAYtkB,QAAQy5B,GAAoB,EAE3D,OAAO,wBAActK,GAAyB,CAC5CE,cAAeA,GACd,wBAAcK,GAAa3U,EAAQ,CACpC0T,MAAO1T,EAAQ,GAAI0T,GACnBkB,SAAUA,EACV5J,cAAeA,EACfC,iBAAkBA,GACjB8I,GAAO,wBAAcuI,GAActc,EAAQ,CAC5C0c,OAAQ8B,GACP5B,IAAc,wBAAc,MAAO,CACpC3uB,UAAW,iBACVswB,EAAmB,wBAAcX,GAAQ,CAC1ChB,WAAYA,EACZhI,SAAUA,EACV5J,cAAeA,IACZ,KAAM3Z,GAAY,wBAAc,MAAO,CAC1CpD,UAAW,CAAC,kBAAmB2mB,GAAY5J,EAAgB,eAAiB,MAAMljB,KAAK,MACtFuJ,SAGD,GAAQ,SAAelI,GACzB,OAAO,wBAAck1B,GAAWre,EAAQ,GAAI7W,KAG9C,GAAMuyB,YAAc,oBAEpB,IAoBIkD,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GApBpGC,GAAoB,YAAUN,KAAuBA,GAAqBxe,EAAqB,CAAC,oEAAqE,CAAC,uEAEtK2R,GAAoB,YAAI8M,KAAuBA,GAAqBze,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE3H,OADYA,EAAGC,MACF0J,mBAAqB,OAEhCC,GAAiB,YAAI8M,KAAuBA,GAAqB1e,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAExH,OADYA,EAAGC,MACF2J,gBAAkB,OAE7BmN,GAAW,YAAIJ,KAAuBA,GAAqB3e,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAElH,OADYA,EAAGC,MACF8W,UAAY,8BAEvB/M,GAAiB,YAAI4M,KAAuBA,GAAqB5e,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAExH,OADYA,EAAGC,MACF+J,gBAAkB,4BAG7BgN,GAAY,IAAOC,GAAGJ,KAAuBA,GAAqB7e,EAAqB,CAAC,kJAAmJ,IAAK,YAAa,4NAA6N,uJAAwJ,oWAAqW,4FAA6F,mBAAoB,CAAC,kJAAmJ,IAAK,YAAa,4NAA6N,uJAAwJ,oWAAqW,4FAA6F,qBAAsB8e,GAAmBnN,GAAmBC,GAAgBmN,GAAU/M,GAAgB+M,GAAU/M,IAErpEkN,GAAe,aACfC,GAAU,UAEVC,IAAYC,EADH,SACU,SAAUt2B,GAI/B,IAAIgpB,EAAQhpB,EAAMgpB,MACdE,EAAclpB,EAAMkpB,YACpBiD,EAAWnsB,EAAMmsB,SAEjBlN,EAAKkX,GAAanV,IAClBV,EAAWrB,EAAGqB,SACdF,EAAcnB,EAAGmB,YAEjBmW,EAAaH,IAAQ,WACvB,IAAK9V,IAAaF,EAAY/kB,OAAQ,MAAO,GAC7C,IAAI2mB,EAAc1B,EAAS0B,YACvBJ,EAActB,EAASsB,YAU3B,OAAOxB,EAAYoW,KAAI,SAAUC,EAAG/tB,GAClC,OAAO,wBAAc,KAAM,CACzBhG,QAAS,WAVY,IACnBshB,KAU0Btb,EAVG,KAEfkZ,GAChBI,EAAYgC,IASZrkB,IAAK+I,EACL5D,UAAW,CAAC,mBAAoB8c,IAAgBlZ,EAAQ,EAAI,+BAA4BI,GAAWnK,KAAK,YAG3G,CAAC2hB,EAAUF,IACd,IAAKE,EAAU,OAAO,KAKtB,IAAI6K,EAAgB,CAClB6K,SAAUhN,EACVC,eAAgBC,GAElB,OAAO,wBAAc+B,GAAyB,CAC5CE,cAAeA,GACd,wBAAc8K,GAAW,CAC1B1L,MAAO1T,EAAQ,CACb6f,OAASvK,OAAsBrjB,EAAX,SACpBwN,KAAO6V,OAAmBrjB,EAAR,MAClB6tB,UAAYxK,OAAgCrjB,EAArB,oBACtBqjB,IACFoK,OAGD,GAAM,SAAav2B,GACrB,OAAO,wBAAcq2B,GAAWxf,EAAQ,GAAI7W,KAG9C,GAAIuyB,YAAc,kBAElB,IAmBIqE,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GA2GpGC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAyIpLC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAoBC,GAAqBC,GAAqBC,GAAqBC,GAoGnPC,GAoFAC,GA/bAC,GAAoB,YAAU/B,KAAuBA,GAAqB3f,EAAqB,CAAC,oEAAqE,CAAC,uEAEtK2hB,GAAsB,YAAI/B,KAAuBA,GAAqB5f,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE7H,OADYA,EAAGC,MACF0J,mBAAqB,OAEhCiQ,GAAmB,YAAI/B,KAAuBA,GAAqB7f,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF2J,gBAAkB,OAE7BiQ,GAAa,YAAI/B,KAAuBA,GAAqB9f,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAEpH,OADYA,EAAGC,MACF8W,UAAY,aAEvB+C,GAAmB,YAAI/B,KAAuBA,GAAqB/f,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF+J,gBAAkB,aAE7B+P,GAAY,IAAO9C,GAAGe,KAAuBA,GAAqBhgB,EAAqB,CAAC,yIAA0I,IAAK,YAAa,oMAAqM,qJAAsJ,6gBAA8gB,CAAC,yIAA0I,IAAK,YAAa,oMAAqM,qJAAsJ,+gBAAghB0hB,GAAmBC,GAAqBC,GAAkBE,GAAkBD,IAEjrEG,GAAe,aACfC,GAAY,UA2EZC,KAzEcC,EADL,SACY,SAAUp5B,GAIjC,IAAIgpB,EAAQhpB,EAAMgpB,MACdE,EAAclpB,EAAMkpB,YACpB5S,EAAOtW,EAAMsW,KACb+iB,EAAQr5B,EAAMq5B,MACdlN,EAAWnsB,EAAMmsB,SACjBlN,EAAKjf,EAAMs5B,kBACXA,OAA2B,IAAPra,GAAuBA,EAE3CgE,EAAKgW,GAAajY,IAClBV,EAAW2C,EAAG3C,SACdF,EAAc6C,EAAG7C,YAMjB+K,EAAgB,CAClB6K,SAAUhN,EACVC,eAAgBC,GAEdqN,EAAa2C,IAAU,WACzB,IAAK5Y,IAAaF,EAAY/kB,OAAQ,MAAO,GAC7C,IAAI2mB,EAAc1B,EAAS0B,YACvBJ,EAActB,EAASsB,YAU3B,OAAOxB,EAAYoW,KAAI,SAAUC,EAAG/tB,GAClC,IAAI6wB,EAAkB7wB,EAAQ,EAC9B,OAAO,wBAAc,KAAM,CACzBhG,QAAS,WAXY,IACnBshB,KAW0Btb,EAXG,KAEfkZ,GAChBI,EAAYgC,IAUZrkB,IAAK+I,EACL5D,UAAW,CAAC,wBAAyB8c,IAAgB2X,EAAkB,oCAAiCzwB,GAAWnK,KAAK,KACxH4rB,MAAO,CACLiP,eAAgBF,EAAoB,WAAa,eAElD,wBAAc,OAAQ,CACvBx0B,UAAW,+BACT,wBAAc,OAAQ,CACxBA,UAAW,gCACVy0B,SAEJ,CAACjZ,EAAUF,EAAakZ,IAC3B,OAAO,wBAAcrO,GAAyB,CAC5CE,cAAeA,GACd,wBAAc6N,GAAW,CAC1BzO,MAAO1T,EAAQ,CACb/Q,IAAMqmB,OAAmBrjB,EAAR,MACjBwN,KAAO6V,GAAamN,OAAqCxwB,EAAjBwN,GAAQ,OAChD+iB,OAAQlN,GAAYmN,EAAoBD,GAAS,YAASvwB,EAC1D6tB,UAAYxK,OAAgCrjB,EAArB,oBACtBqjB,IACFoK,OASmB,YAAUW,KAAuBA,GAAqBjgB,EAAqB,CAAC,oEAAqE,CAAC,wEAEtKwiB,GAAsB,YAAItC,KAAuBA,GAAqBlgB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE7H,OADYA,EAAGC,MACF0J,mBAAqB,OAEhC8Q,GAAmB,YAAItC,KAAuBA,GAAqBngB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF2J,gBAAkB,OAE7B8Q,GAAa,YAAItC,KAAuBA,GAAqBpgB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAEpH,OADYA,EAAGC,MACF8W,UAAY,8BAEvB4D,GAAmB,YAAItC,KAAuBA,GAAqBrgB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF+J,gBAAkB,wBAG7B4Q,GAAY,IAAO7Z,IAAIuX,KAAuBA,GAAqBtgB,EAAqB,CAAC,8MAA+M,IAAK,YAAa,o/CAAq/C,CAAC,8MAA+M,IAAK,YAAa,s/CAAu/CkiB,GAAmBM,GAAqBC,IAChjHI,GAAc,IAAO9Z,IAAIwX,KAAuBA,GAAqBvgB,EAAqB,CAAC,oHAAqH,OAAQ,CAAC,oHAAqH,SAAU0iB,IACxVI,GAAM,IAAO/Z,IAAIyX,KAAuBA,GAAqBxgB,EAAqB,CAAC,6EAA8E,8DAA+D,CAAC,6EAA8E,gEAAiE2iB,IAChXI,GAAqB,IAAOha,IAAI0X,KAAuBA,GAAqBzgB,EAAqB,CAAC,iFAAkF,8BAA+B,eAAgB,OAAQ,CAAC,iFAAkF,8BAA+B,eAAgB,SAAU2iB,GAAkBD,IAAY,SAAU1a,GAEja,OADyBA,EAAGgb,mBACA,EAAI,KAE9BC,GAAc,IAAOC,KAAKxC,KAAwBA,GAAsB1gB,EAAqB,CAAC,0BAA2B,+EAAgF,OAAQ,CAAC,0BAA2B,+EAAgF,SAAU2iB,IAAkB,SAAU3a,GAErW,OADyBA,EAAGgb,mBACA,gCAAkCN,GAAa,QAAU,iCAAmCA,GAAa,WAGnIS,GAAe,aACfC,GAAY,UAqGZC,KAnGcC,EADL,SACY,SAAUv6B,GAIjC,IAAIgpB,EAAQhpB,EAAMgpB,MACdE,EAAclpB,EAAMkpB,YACpBiD,EAAWnsB,EAAMmsB,SACjBqN,EAAiBx5B,EAAMw5B,eACvBva,EAAKjf,EAAMkiB,YACXA,OAAqB,IAAPjD,EAAgB/X,OAAO6oB,WAAa9Q,EAClDgE,EAAKjjB,EAAMw6B,gBACXA,OAAyB,IAAPvX,EAAgB,KAAOA,EACzCwX,EAAuBz6B,EAAMy6B,qBAC7BC,EAAc16B,EAAM06B,YACpBxU,EAAKlmB,EAAMi6B,mBACXA,OAA4B,IAAP/T,GAAuBA,EAE5CG,EAAK+T,GAAapZ,IAClBV,EAAW+F,EAAG/F,SACdF,EAAciG,EAAGjG,YAEjBua,EAAiBN,IAAU,WAC7B,IAAK/Z,IAAaF,EAAY/kB,OAAQ,MAAO,GAC7C,IAAI2mB,EAAc1B,EAAS0B,YACvBJ,EAActB,EAASsB,YAU3B,OAAOxB,EAAYoW,KAAI,SAAUvX,EAAIvW,GACnC,IACIkyB,EADiB3b,EAAGuC,eAEpB+X,EAAkB7wB,EAAQ,EAC9B,OAAO,wBAAc,KAAM,CACzBhG,QAAS,WAbY,IACnBshB,KAa0Btb,EAbO,KAEnBkZ,GAChBI,EAAYgC,IAYZrkB,IAAK+I,EACL5D,UAAW,CAAC,wBAAyB8c,IAAgB2X,GAAmB,gCAAgC56B,KAAK,MAC5G,wBAAc,MAAO,CACtBmG,UAAW,qCACV,wBAAc,MAAO,CACtBA,UAAW,gCACVy0B,EAAiB,wBAAc,OAAQ,CACxCz0B,UAAW,kCACR,wBAAc,MAAO,CACxBA,UAAW,8BACV81B,UAEJ,CAACta,EAAUF,IAEd,GAAI8B,GAAesY,EACjB,OAAIC,EAA6B,KAC1B,wBAAc,GAAK5jB,EAAQ,GAAI7W,IAGxC,IAAKsgB,EAAU,OAAO,KACtB,IAAIsB,EAActB,EAASsB,YACvBK,EAAc3B,EAAS2B,YAKvBkJ,EAAgB,CAClB6K,SAAUhN,EACVC,eAAgBC,GAElB,OAAO,wBAAc+B,GAAyB,CAC5CE,cAAeA,GACd,wBAAc0O,GAAW,CAC1BtP,MAAO1T,EAAQ,CACb6f,OAASvK,OAAiBrjB,EAAN,IACpBwN,KAAO6V,OAAmBrjB,EAAR,MAClB6tB,UAAYxK,OAAgCrjB,EAArB,mBACvB0wB,eAAgBA,GAAkB,UACjCrN,IACFuO,GAAe,wBAAcV,GAAoB,CAClDC,mBAAoBA,GACnB,wBAAcC,GAAa,CAC5BD,mBAAoBA,GACnBS,IAAe,wBAAcZ,GAAa,KAAMa,EAAgB,wBAAcZ,GAAK,CACpFxP,MAAO,CACLhU,MAAO,IAAM0L,EAAc,IAC3B0U,UAAW,gBAAkB/U,EAAc,GAAK,sBAW9B,YAAUgW,KAAuBA,GAAqB3gB,EAAqB,CAAC,oEAAqE,CAAC,wEAEtK4jB,GAAsB,YAAIhD,KAAuBA,GAAqB5gB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE7H,OADYA,EAAGC,MACF0J,mBAAqB,OAEhCkS,GAAmB,YAAIhD,KAAuBA,GAAqB7gB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF2J,gBAAkB,OAE7BkS,GAAa,YAAIhD,KAAuBA,GAAqB9gB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAEpH,OADYA,EAAGC,MACF8W,UAAY,wBAEvBgF,GAAmB,YAAIhD,KAAuBA,GAAqB/gB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1H,OADYA,EAAGC,MACF+J,gBAAkB,qBAG7B,GAAqB,SAA4BgS,GACnD,OAAO,YAAIhD,KAAuBA,GAAqBhhB,EAAqB,CAAC,GAAI,IAAK,CAAC,GAAI,OAAO,SAAUgI,GAE1G,OADYA,EAAGC,MACF4J,oBAAsBmS,MAKnCC,GAAY,IAAOlb,IAAIkY,KAAuBA,GAAqBjhB,EAAqB,CAAC,4KAA6K,IAAK,YAAa,gBAAiB,CAAC,4KAA6K,IAAK,YAAa,kBAAmBqjB,GAAmBO,GAAqBC,IACpiBK,GAAc,IAAOjF,GAAGiC,KAAuBA,GAAqBlhB,EAAqB,CAAC,yIAA0I,CAAC,4IACrOmkB,GAAc,YAAIhD,KAAuBA,GAAqBnhB,EAAqB,CAAC,mMAAoM,2UAA4U,+IAAgJ,iBAAkB,4GAA6G,uGAAwG,uTAAwT,4BAA6B,2OAA4O,CAAC,mMAAoM,2UAA4U,+IAAgJ,iBAAkB,4GAA6G,uGAAwG,uTAAwT,4BAA6B,6OAA8O8jB,GAAY,GAAmB,4BAA6BA,GAAYC,GAAkB,GAAmB,4BAA6BD,GAAYC,GAAkBA,IAC/oGK,GAAgB,IAAOrb,IAAIqY,KAAwBA,GAAsBphB,EAAqB,CAAC,OAAQ,sCAAuC,qCAAsC,OAAQ,CAAC,OAAQ,sCAAuC,qCAAsC,SAAUmkB,GAAaL,GAAY,GAAmB,6BACxUxlB,GAAS,IAAO+lB,GAAGhD,KAAwBA,GAAsBrhB,EAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,SAAUmkB,IAC1HG,GAAc,IAAOvb,IAAIuY,KAAwBA,GAAsBthB,EAAqB,CAAC,sFAAuF,CAAC,yFACrLukB,GAAO,IAAOxb,IAAIwY,KAAwBA,GAAsBvhB,EAAqB,CAAC,8OAA+O,CAAC,iPAEtUwkB,GAAe,aACfC,GAAY,UAiGZC,KA/FcC,EADL,SACY,SAAU57B,GAIjC,IAAIgpB,EAAQhpB,EAAMgpB,MACdE,EAAclpB,EAAMkpB,YACpByL,EAAkB30B,EAAM20B,gBACxBxI,EAAWnsB,EAAMmsB,SACjBqN,EAAiBx5B,EAAMw5B,eACvBqC,EAAa77B,EAAM67B,WACnB5c,EAAKjf,EAAMkiB,YACXA,OAAqB,IAAPjD,EAAgB/X,OAAO6oB,WAAa9Q,EAClDgE,EAAKjjB,EAAMw6B,gBACXA,OAAyB,IAAPvX,EAAgB,KAAOA,EACzCwX,EAAuBz6B,EAAMy6B,qBAC7BC,EAAc16B,EAAM06B,YACpBT,EAAqBj6B,EAAMi6B,mBAE3B/T,EAAKuV,GAAaza,IAClBV,EAAW4F,EAAG5F,SACdF,EAAc8F,EAAG9F,YAMjB+K,EAAgB,CAClB6K,SAAUhN,EACVC,eAAgBC,EAChBJ,mBAAoB6L,GAElBmH,EAAmBJ,IAAU,WAC/B,IAAKpb,IAAaF,EAAY/kB,OAAQ,MAAO,GAC7C,IAAI2mB,EAAc1B,EAAS0B,YACvBJ,EAActB,EAASsB,YAU3B,OAAOxB,EAAYoW,KAAI,SAAUvX,EAAIvW,GACnC,IACIkyB,EADiB3b,EAAGuC,eAEpB+X,EAAkB7wB,EAAQ,EAC9B,OAAO,wBAAc6M,GAAQ,CAC3B5V,IAAK+I,EACLhG,QAAS,WAdY,IACnBshB,KAc0Btb,EAdS,KAErBkZ,GAChBI,EAAYgC,IAaZlf,UAAW8c,IAAgB2X,EAAkB,sCAAmCzwB,GAC/E,wBAAcyyB,GAAa,KAAM,wBAAcC,GAAM,KAAMZ,UAE/D,CAACta,EAAUF,IAEd,OAAI8B,GAAesY,EACbC,EAA6B,KAC1B,wBAAc,GAAK5jB,EAAQ,GAAI7W,IAGjC,wBAAcirB,GAAyB,CAC5CE,cAAeA,GACd,wBAAc+P,GAAW,CAC1B3Q,MAAO1T,EAAQ,CACb6f,OAASvK,OAAiBrjB,EAAN,IACpBwN,KAAO6V,OAAmBrjB,EAAR,MAClB6tB,UAAYxK,OAAgCrjB,EAArB,oBACtBqjB,IACF,wBAAcgP,GAAa,CAC5B5Q,MAAO,CACLiP,eAAgBA,GAAkB,SAQlCqC,WAAYA,IAAe1P,QAA6BrjB,IAAjBqjB,EAASrmB,IAAoB,aAAe,cAEpFg2B,EAAkBpB,GAAe,wBAAcW,GAAe,CAC/D9Q,MAAO,CACL3e,MAAOquB,EAAqB,EAAI,IAEjCS,SAQU,IAAOqB,OAAOtD,KAAuBA,GAAqBxhB,EAAqB,CAAC,2UAA4U,CAAC,+UAExa+kB,GAAe,aACfC,GAAa,WAiFbC,KA/EkBC,EADT,SACgB,SAAUn8B,GACrC,IAAI8E,EAAY9E,EAAM8E,UAClBylB,EAAQvqB,EAAMuqB,MACd4B,EAAWnsB,EAAMmsB,SACjB5L,EAAsByb,GAAahb,IAAeT,oBAElDtB,EAAKgd,GAAWhhB,EAAiBmhB,OACjCC,EAAapd,EAAG,GAChBqd,EAAgBrd,EAAG,GAEvB,IAAKsB,EAAqB,OAAO,KACjC,IAAI6B,EAAsB7B,EAAoB6B,oBAC1CC,EAAyB9B,EAAoB8B,uBAC7CC,EAAiB/B,EAAoB+B,eACrCC,EAAWhC,EAAoBgC,SAC/ByF,EAAmBzF,GAAYA,EAASI,QAC5C,IAAKqF,IAAqB1F,EAAgB,OAAO,KAyCjD,OAAO,wBAAcqZ,GAAU,CAC7B72B,UAAWA,EACXpC,QA3BmB,SAAwB0C,GAI3C,OAHAA,EAAMC,kBACNmK,aAAa6S,IAA2BA,GAEhCga,GACN,KAAKphB,EAAiBmhB,MAVxBpU,EAAiB5L,QACjBkgB,EAAcrhB,EAAiBshB,MAC/Bna,GAAoB,GAUhB,MAEF,KAAKnH,EAAiBshB,KApBxBvU,EAAiBtL,SACjB4f,EAAcrhB,EAAiBmhB,OAC/Bha,GAAoB,KAqCpBmI,MAAO1T,EAAQ,CACb6f,OAASvK,OAAiBrjB,EAAN,IACpBwN,KAAO6V,OAAiBrjB,EAAN,KACjBqjB,EAAU5B,IACZ,wBAAc,MAAO,CACtB3G,KAAM,eACN3d,OAAQ,OACRsQ,MAAO,OACPoN,QAAS,aACR,wBAAc,OAAQ,CACvB9oB,EAvBY,WACZ,OAAQwhC,GACN,KAAKphB,EAAiBshB,KACpB,MAjCS,kEAmCX,KAAKthB,EAAiBmhB,MACpB,MAnCU,2DAoDXI,UASgB,IAAOxc,IAAI0Y,KAAuBA,GAAqBzhB,EAAqB,CAAC,sKAAuK,CAAC,0KAE7P,M,0BCvkGA,GA1CG,SAAqBjX,GACrC,OAAoB,gBAAM,GAAY,CACpC8hB,iBAAkB9hB,EAAM8hB,kBAAoB,gBAC5CiD,YAAa/kB,EAAM+kB,aAAe,aAClCuB,aAActmB,EAAMsmB,cAAgB,EACpC/B,eAAgB,SAAwBR,EAAeC,GACrD,OAAOhkB,EAAMy8B,uBAAuB,iBAAkB1Y,EAAeC,IAEvElK,SAAU,SAAkBkK,GAC1B,OAAOhkB,EAAMy8B,uBAAuB,WAAYzY,IAElDQ,cAAe,SAAuBR,GACpC,OAAOhkB,EAAMy8B,uBAAuB,gBAAiBzY,IAEvDuG,MAAO,CACLoK,gBAAiB,uBAEnBnP,SAAU,CACRxG,gBAAiBhf,EAAMgf,iBAAmB,IAC1CG,aAAcnf,EAAMmf,cAAgB,IACpCmD,eAAwCxZ,MAAxB9I,EAAMsiB,gBAA8BtiB,EAAMqlB,qBAC1DA,qBAAoDvc,MAA9B9I,EAAMqlB,sBAAoCrlB,EAAMqlB,qBACtEE,iBAAkBvlB,EAAMulB,kBAAoB,IAC5Ctf,OAAQjG,EAAMiG,QAAU,SAE1BiC,SAAU,CAAc,eAAKg0B,GAAkB,CAC7Ch0B,SAAUlI,EAAMk8B,mBACdl8B,EAAM08B,OAAOlG,KAAI,SAAUmG,EAAOn9B,GACpC,OAAoB,gBAAM,YAAW,CACnC0I,SAAU,CAAC5E,QAAQimB,IAAIoT,GAAqB,eAAK,GAAO,CACtDlJ,WAAY,CACVC,gBAAiB,aAAsB,CACrCz3B,EAAG,MACF0gC,EAAMjJ,iBAAmBiJ,EAAMnjC,OAASmjC,EAAM,GAAGjJ,iBAAmBiJ,EAAM,GAAGnjC,OAChFojC,qBAAsBD,EAAMC,sBAAwB,iBAI3C,eAAK,GAAK,QCtChB,GAJe,SAAiC58B,GAC7D,OAAoB,eAAK,YAAW,KCGvB,GAJkB,SAAoCA,GACnE,OAAoB,eAAK,YAAW,K,aCClC68B,GAAe,cAAS,WAC1B,OAAO,qCAELC,GAAY,cAAS,WACvB,OAAO,iEAiLM,GA9KQ,SAA0B98B,GAC/C,IAAI+8B,EAAY,mBAAS,MACrBC,EAAqBD,EAAU,GAC/BE,EAAwBF,EAAU,GAElCG,EAAgBl9B,EAAMk9B,cAC1B,OAAoB,gBAAM,MAAO,CAC/Bp4B,UAAW,mBACXoD,SAAU,CAAkC,WAAjCg1B,EAAcC,gBAA+Bn9B,EAAMo9B,gBAAgB,IAAMp9B,EAAMo9B,gBAAgB,GAAGl1B,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,UAAyB,eAAK,MAAO,CACpMpD,UAAW,gBACXoD,SAAUlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,SAASsuB,KAAI,SAAU6G,EAAK30B,GACzE,OAAoB,gBAAM,MAAO,CAC/B5D,UAAW,qBACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,mCACXpC,QAAS,WACP,OAAOu6B,EAAsBD,IAAuBt0B,EAAQA,EAAQ,OAEtER,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,oCACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,iCACXoD,SAAuB,eAAK,OAAQ,CAClCpD,UAAWu4B,EAAI,GAAG7jC,UAEL,eAAK,MAAO,CAC3B0O,SAAUm1B,EAAI,GAAG7jC,aAGnBwjC,IAAuBt0B,GAAsB,gBAAM,MAAO,CAC5D5D,UAAW,6BACXoD,SAAU,CAAc,eAAK,SAAU,CACrCpD,UAAW,QACXpC,QAAS,WACP,OAAOu6B,EAAsBD,IAAuBt0B,EAAQA,EAAQ,OAEtER,SAAuB,eAAK,OAAQ,CAClCpD,UAAW,mBAEE,eAAKg4B,GAAW,CAC/BQ,gBAAiBt9B,EAAMu9B,OAAOD,gBAC9BE,eAAgBx9B,EAAMu9B,OAAOE,iBAC7BC,YAAa19B,EAAMu9B,OAAOI,cAC1BP,gBAAiBp9B,EAAMo9B,gBACvBQ,gBAAiB59B,EAAM49B,gBACvBC,iBAAkB,IAClBC,iBAAkB,IAClBC,gBAAiBV,EAAI,GAAG7jC,MACxBwkC,uBAAwBh+B,EAAMu9B,OAAOU,YACrCC,wBAAyBl+B,EAAMu9B,OAAOU,YACtCE,aAAcn+B,EAAMu9B,OAAOY,aAC3BC,sBAAuBp+B,EAAMu9B,OAAOa,sBACpCC,gBAAiB,GAAYC,yBAA2B,gDAK9Dt+B,GAASA,EAAMo9B,iBAAmBp9B,EAAMu+B,sBAAwBv+B,EAAMw+B,gBAAkBx+B,EAAMy+B,qBAAuBz+B,EAAMu9B,QAAUv9B,EAAMk9B,eAA8B,gBAAM,YAAW,CAC5Lh1B,SAAU,EAAElI,EAAMk9B,cAAcwB,eAA8B,gBAAM,MAAO,CACzE55B,UAAW,qBACXoD,SAAU,EAAElI,EAAMk9B,cAAcyB,cAA6B,eAAK,MAAO,CACvE75B,UAAW,kBACXoD,SAAuB,eAAK,MAAO,CACjCpD,UAAW,aACXoD,SAAuB,eAAK,MAAO,CACjCA,SAAuB,gBAAM,SAAU,CACrC02B,YAAa,SACb95B,UAAW,aACXgQ,KAAM,SACNtb,MAAO,cACPkJ,QAAS,WACP,OAAO1C,EAAM6+B,gBAAgB,cAAe,MAE9C32B,SAAU,CAAc,eAAK,MAAO,CAClCA,SAAU,WACK,eAAK,OAAQ,CAC5BpD,UAAW,+BAKJ,eAAK,MAAO,CAC3BA,UAAW,OACXylB,MAAO,CACLmJ,gBAAiB,2BAA8B1zB,EAAMo9B,gBAAgB,GAAGl1B,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,UAAYlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,SAAS,GAAG,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,SAAS,GAAG,GAAG1O,MAAQ,aAAsB,CACnUyC,EAAG,MACF+D,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAGA,SAAS,GAAG,GAAG1O,OAAS,eAAiB,MAEnF0O,SAAUlI,EAAMk9B,cAAc4B,cAA6B,gBAAM,QAAS,CACxEr3B,GAAI,oBACJ3C,UAAW,cACXi6B,MAAM,EACNC,OAAO,EACPC,QAAS,WACTC,UAAU,EACVC,aAAa,EACbj3B,SAAU,CAAc,eAAK,SAAU,CACrCpD,UAAW,gBACXgQ,KAAM,YACN,WAAY9U,EAAMk9B,cAAc4B,eAC9B9+B,EAAMk9B,cAAckC,kBAAiC,eAAK,SAAU,CACtEt6B,UAAW,gBACX,WAAY9E,EAAMk9B,cAAckC,iBAChCtqB,KAAM,oBACJ9U,EAAMk9B,cAAcmC,mBAAkC,eAAK,SAAU,CACvEv6B,UAAW,gBACX,WAAY9E,EAAMk9B,cAAcmC,kBAChCvqB,KAAM,uBAIG,eAAK,MAAO,CAC3BhQ,UAAW,gBACXoD,SAAuB,eAAK,MAAO,CACjCpD,UAAW,YACXoD,SAAuB,eAAK,MAAO,CACjCpD,UAAW,MACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,kBACXoD,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,6BACXoD,SAAU,CAAClI,EAAMo9B,gBAAgB,IAAMp9B,EAAMo9B,gBAAgB,GAAGl1B,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAG1O,OAAsB,eAAK,KAAM,CACnJ0O,SAAUlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAG1O,QAC7CwG,EAAMo9B,gBAAgB,IAAMp9B,EAAMo9B,gBAAgB,GAAGl1B,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAG1O,OAAsB,eAAK,KAAM,CAC5I0O,SAAUlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAG1O,QAC7CwG,EAAMo9B,gBAAgB,IAAMp9B,EAAMo9B,gBAAgB,GAAGl1B,SAAS,IAAMlI,EAAMo9B,gBAAgB,GAAGl1B,SAAS,GAAG1O,OAAsB,eAAKsjC,GAAW,CACjJQ,gBAAiBt9B,EAAMu9B,OAAOD,gBAC9BE,eAAgBx9B,EAAMu9B,OAAOE,iBAC7BC,YAAa19B,EAAMu9B,OAAOI,cAC1BP,gBAAiBp9B,EAAMo9B,gBACvBQ,gBAAiB59B,EAAM49B,gBACvBC,iBAAkB,IAClBC,iBAAkB,IAClBE,uBAAwBh+B,EAAMu9B,OAAOU,YACrCC,wBAAyBl+B,EAAMu9B,OAAOU,YACtCE,aAAcn+B,EAAMu9B,OAAOY,aAC3BC,sBAAuBp+B,EAAMu9B,OAAOa,sBACpCC,gBAAiB,GAAYC,yBAA2B,yCAEvDt+B,EAAMk9B,cAAcoC,aAA4B,eAAK,MAAO,CAC/Dx6B,UAAW,mCAAqC9E,EAAMu/B,kBACtDr3B,SAAuB,gBAAM,MAAO,CAClCpD,UAAW9E,EAAMw/B,sBAAwB,cAAgB,OACzDt3B,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,kBACXoD,SAAuB,eAAK,SAAU,CACpCxF,QAAS,WACP,OAAO1C,EAAMy+B,uBAEfv2B,SAAuB,eAAK,OAAQ,CAClCA,UAAUlI,EAAMw/B,sBAAwB,UAG7B,eAAK,MAAO,CAC3B16B,UAAW,aACXoD,SAAuB,eAAK20B,GAAc,CACxCr6B,MAAO,EACPi9B,MAAO,EACPr4B,KAAMpH,EAAMu9B,OAAOD,gBACnBv7B,UAAW/B,EAAMu9B,OAAOI,cACxB3tB,KAAMhQ,EAAMw+B,eACZkB,YAAa1/B,EAAMu+B,8C,aC/JrC,GAAY,cAAS,WACvB,OAAO,iEAELoB,GAAgB,cAAS,WAC3B,OAAO,qCAELC,GAAkB,cAAS,WAC7B,OAAO,qCAELC,GAAY,cAAS,WACvB,OAAO,2DAGL18B,GAAS,EAAQ,QAGjBK,IADUL,GAAO0D,QACN1D,GAAOK,UAEtB,EAAQ,QAAes8B,WAEvB,IAAIC,GAAS,EAAQ,QAEd,SAASvB,GAAex+B,GAC7B,OAAoB,eAAK,OAAQ,CAC/B8E,UAAW,iBACXoD,SAAUlI,EAAMyN,KAAKuyB,YAAchgC,EAAMyN,KAAKuyB,WAAW,IAAMhgC,EAAMyN,KAAKuyB,WAAW,GAAGC,aAA4B,gBAAM,IAAK,CAC7HC,KAAMlgC,EAAMyN,KAAKuyB,WAAW,GAAGC,aAC/BE,MAAOngC,EAAMyN,KAAKuyB,WAAW,GAAGG,MAChC5gC,OAAQ,SACR2I,SAAU,CAAc,eAAK,SAAU,CACrCpD,UAAW,QACXoD,SAAUlI,EAAMyN,KAAK0yB,MAAMvkC,QAAQ,UAAW,IAAIA,QAAQ,WAAY,OACvD,eAAK,MAAO,CAC3BwkC,wBAAyB,CACvBC,OAAQrgC,EAAMyN,KAAK6yB,cAGP,gBAAM,YAAW,CACjCp4B,SAAU,CAAc,eAAK,SAAU,CACrCpD,UAAW,QACXoD,SAAUlI,EAAMyN,KAAK0yB,MAAMvkC,QAAQ,UAAW,IAAIA,QAAQ,WAAY,OACvD,eAAK,MAAO,CAC3BkJ,UAAW,UACXs7B,wBAAyB,CACvBC,OAAQrgC,EAAMyN,KAAK6yB,gBAMd,SAASC,GAAiB5vB,GACvC,IAAI6vB,EAEAC,EAAmB9vB,EAAK+vB,YACxBC,EAAiBF,EAAiBE,eAClC/C,EAAkB6C,EAAiB7C,gBACnCR,EAAkBqD,EAAiBrD,gBACnCwD,EAAgBH,EAAiBG,cACjC1D,EAAgBuD,EAAiBvD,cAEjCK,GADQ5sB,EAAK3Q,MACJk9B,GAETH,EAAY,oBAAS,GAIrB8D,GAHU9D,EAAU,GACPA,EAAU,GAEV,oBAAS,IACtB+D,EAAYD,EAAW,GACvBE,EAAeF,EAAW,GAE1BG,EAAa,mBAAS,IACtBC,EAAYD,EAAW,GACvBE,EAAeF,EAAW,GAE1BG,EAAa,oBAAS,GACtB5B,EAAoB4B,EAAW,GAC/B5C,EAAuB4C,EAAW,GAElCC,EAAa,oBAAS,GAItBC,GAHyBD,EAAW,GACRA,EAAW,GAE1B,oBAAS,IACtBE,EAAiBD,EAAW,GAC5BE,EAAoBF,EAAW,GAE/BG,EAAa,oBAAS,GACtBC,EAAuBD,EAAW,GAClCE,EAA0BF,EAAW,GAErCG,EAAa,oBAAS,GACtBnC,EAAwBmC,EAAW,GACnCC,EAA2BD,EAAW,GAEtCE,EAAa,oBAAS,GACtBC,EAA4BD,EAAW,GACvCE,EAA+BF,EAAW,GAE1CG,EAAc,mBAAS,MACvBC,EAA6BD,EAAY,GACzCE,EAAgCF,EAAY,GAE5CG,EAAc,oBAAS,GACRA,EAAY,GACTA,EAAY,GAWlC,qBAAU,WACR,IAAIhiB,EAAW,CACbiiB,QAAS,WACP,OAAOhf,UAAUC,UAAUgf,MAAM,aAEnCC,WAAY,WACV,OAAOlf,UAAUC,UAAUgf,MAAM,gBAEnCE,IAAK,WACH,OAAOnf,UAAUC,UAAUgf,MAAM,sBAEnCG,MAAO,WACL,OAAOpf,UAAUC,UAAUgf,MAAM,gBAEnCI,QAAS,WACP,OAAOrf,UAAUC,UAAUgf,MAAM,cAAgBjf,UAAUC,UAAUgf,MAAM,eAE7EK,IAAK,WACH,OAAOviB,EAASiiB,WAAajiB,EAASmiB,cAAgBniB,EAASoiB,OAASpiB,EAASqiB,SAAWriB,EAASsiB,YAGrGE,EAAQ3+B,SAASC,eAAe,qBAEpC,IAAKkc,EAASuiB,OAASC,EAAO,CAI5B,IAFA,IAAIC,EAAU5+B,SAAS6+B,uBAAuB,iBAErCrjC,EAAI,EAAGA,EAAIojC,EAAQvnC,OAAQmE,IAC9BojC,EAAQpjC,GAAGoyB,aAAa,cAC1BgR,EAAQpjC,GAAGsyB,aAAa,MAAO8Q,EAAQpjC,GAAGoyB,aAAa,aACvDgR,EAAQpjC,GAAG0yB,gBAAgB,aAI/ByQ,EAAM3D,OAAQ,EAEd2D,EAAMr5B,iBAAiB,WAAW,WAEhCq5B,EAAMpY,MAAMuY,WAAa,aACzBH,EAAMpY,MAAM5e,QAAU,KAGxBg3B,EAAMI,OACNJ,EAAMK,UAEP,CAAClB,IAEJ,IAYIrD,EAAsB,WAEtBmD,GADEpC,IAONl8B,QAAQimB,IAAI,sBACZjmB,QAAQimB,IAAIoX,GACZr9B,QAAQimB,IAAI,uBACZjmB,QAAQimB,IAAIqU,GACZt6B,QAAQimB,IAAI,uBACZjmB,QAAQimB,IAAI6T,GAEZ,IAAI6F,EAAqB,SAA4B9C,EAAOvF,EAAasI,EAAUlD,EAAYmD,GAC7FjC,EAAa,CACXf,MAAOA,EACPvF,YAAaA,EACbsI,SAAUA,EACVlD,WAAYA,EACZmD,QAASA,IAAW,IAEtBpC,GAAa,IAGXlC,EAAkB,SAAyBuE,EAAU9gC,GACvDkB,GAAS2B,SAASi+B,EAAU,CAC1BxgC,SAAU,KACVJ,MAAO,IACPJ,QAAQ,EACRE,OAAQA,GAAU,MAItB,OAAoB,gBAAM,IAAQ,CAChC4F,SAAU,CAAc,eAAK,IAAK,CAChC04B,cAAeA,EACfxD,gBAAiBA,EACjBuD,eAAgBA,EAChB/C,gBAAiBA,IACF,eAAK,IAAO,CAC3ByF,WAAY,CACVC,MAAO,cAETC,QAAMzC,IAAaG,GACnBuC,QAAS,WACP,OAAOzC,GAAa,IAEtB0C,QAAQ,EACRv7B,SAAU+4B,GAA0B,gBAAM,YAAW,CACnD/4B,SAAU,EAAuB,IAAtB+4B,EAAUkC,QAAgC,eAAK,GAAW,CACnE7F,gBAAiBJ,EAAcI,gBAC/BE,eAAgBN,EAAcO,iBAC9BC,YAAaR,EAAcS,cAC3BP,gBAAiBA,EACjBQ,gBAAiBA,EACjBC,iBAAkB,IAClBC,iBAAkB,IAClBC,gBAAiBkD,EAAUrG,YAC3BoD,uBAAwBd,EAAce,YACtCC,wBAAyBhB,EAAce,YACvCE,aAAcjB,EAAciB,aAC5BC,sBAAuBlB,EAAckB,sBACrCC,gBAAiB,GAAYC,yBAA2B,qCACxC,eAAK,MAAO,CAC5B8B,wBAAyB,CACvBC,OAAQY,EAAUrG,eAElBqG,EAAUjB,YAAciB,EAAUjB,WAAW3kC,OAAS,GAAkB,eAAK,KAAM,CACrFyJ,UAAW,yBACXoD,SAAU+4B,EAAUjB,WAAWxJ,KAAI,SAAUwJ,EAAYxgC,GACvD,OAAoB,eAAK,KAAM,CAC7BsF,UAAW,qCACXoD,SAAuB,eAAK,IAAK,CAC/Bg4B,KAAMF,EAAWC,aACjBE,MAAOH,EAAWG,MAClB5gC,OAAQ,SACRmkC,IAAK,qBACLx7B,SAAU83B,EAAWG,SAEtB3gC,QAEU,eAAK,MAAO,CAC3B4gC,wBAAyB,CACvBC,OAAQ,OAAAsD,GAAA,GAAkB1C,EAAUiC,kBAIxC9F,GAAmBA,EAAgB/hC,OAAS,EAAiB,gBAAM,MAAO,CAC5EyJ,UAAW,2BACXoD,SAAU,CAACg1B,EAAcwB,cAA6B,eAAK,IAAc8B,EAAQ,CAC/EtE,iBAA+B,eAAK,GAAkB,CACpD0B,gBAAiBA,EACjBR,gBAAiBA,EACjBmC,kBAAmBA,EACnBhB,qBAAsBA,EACtBC,eAAgBA,GAChBgB,sBAAuBA,EACvBf,oBAAqBA,EACrBlB,OAAQA,EACRL,cAAeA,EACf2B,gBAAiBA,EACjBiD,0BAA2BA,EAC3BC,6BAA8BA,IAEhCtF,uBAAwB,SAAgC3nB,EAAM8uB,EAAUC,GACtE,OAAO,MAET59B,OAAQi3B,EAAc4G,iBAAmB5G,EAAc4G,iBAAmB,oBAC1Eze,sBAAsB,GACrBmb,EAA8B,uBAAI,SAAgC1rB,EAAM+uB,GACzE,OAAO,MACNrD,EAA8B,uBAAI,SAAgC1rB,EAAM+uB,GACzE,OAAO,MACNrD,EAAM9D,OAASU,EAAgB,GAAGl1B,SAAS,GAAGA,SAAUs4B,IAAuB,eAAK,GAAkB,CACvG5C,gBAAiBA,EACjBR,gBAAiBA,EACjBmC,kBAAmBA,EACnBhB,qBAAsBA,EACtBC,eAAgBA,GAChBgB,sBAAuBA,EACvBf,oBAAqBA,EACrBlB,OAAQA,EACRL,cAAeA,EACf2B,gBAAiBA,EACjBiD,0BAA2BA,EAC3BC,6BAA8BA,IACf,eAAK,MAAO,CAC3Bt6B,GAAI,aACJ3C,UAAW,eACI,eAAK,MAAO,CAC3BA,UAAW,0BACX2C,GAAI,UACJS,SAAuB,eAAK,UAAW,CACrCpD,UAAW,cACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,YACXoD,SAAU,CAAkC,gBAAjCg1B,EAAcC,gBAAoCC,EAAgB,IAAMA,EAAgB,GAAGl1B,SAAS,IAAMk1B,EAAgB,GAAGl1B,SAAS,GAAGA,UAAyB,eAAK,KAAM,CACtL67B,MAAO,aACP77B,SAAUk1B,EAAgB,GAAGl1B,SAAS,GAAGA,SAASsuB,KAAI,SAAU6G,EAAK30B,GAEnE,OADApF,QAAQimB,IAAI,MAAO8T,GACC,eAAK,KAAM,CAC7B0G,MAAO,uBACP77B,SAAuB,eAAK,MAAO,CACjCi4B,MAAO9C,EAAI,GAAG7jC,MACduqC,MAAO,WACPrhC,QAAS,YACc,IAAjB26B,EAAI,GAAG7jC,OAAkB6jC,EAAI,GAAG7jC,MAClC0N,OAAOk8B,SAASlD,KAAO7C,EAAI,GAAG7jC,MAE9BypC,EAAmB5F,EAAI,GAAG7jC,MAAO6jC,EAAI,GAAG7jC,MAAO,EAAG,MAAM,IAG5D0O,SAAuB,eAAK,MAAO,CACjCi4B,MAAO9C,EAAI,GAAG7jC,MACduqC,MAAO,gBACPrhC,QAAS,YACc,IAAjB26B,EAAI,GAAG7jC,OAAkB6jC,EAAI,GAAG7jC,MAClC0N,OAAOk8B,SAASlD,KAAO7C,EAAI,GAAG7jC,MAE9BypC,EAAmB5F,EAAI,GAAG7jC,MAAO6jC,EAAI,GAAG7jC,MAAO,EAAG,MAAM,IAG5D+wB,MAAO,CACLmJ,gBAAiB,yCAA2C2J,EAAI,GAAG7jC,MAAQ,sCAE7E0O,SAAuB,gBAAM,MAAO,CAClC67B,MAAO,OACP77B,SAAU,CAAc,eAAK,MAAO,CAClC67B,MAAO,eACQ,gBAAM,MAAO,CAC5BA,MAAO,gBACP77B,SAAU,CAAc,eAAK,OAAQ,CACnCA,SAAUm1B,EAAI,GAAG7jC,QACF,eAAK,MAAO,CAC3B2mC,MAAO9C,EAAI,GAAG7jC,MACduqC,MAAO,WACPrhC,QAAS,YACc,IAAjB26B,EAAI,GAAG7jC,OAAkB6jC,EAAI,GAAG7jC,MAClC0N,OAAOk8B,SAASlD,KAAO7C,EAAI,GAAG7jC,MAE9BypC,EAAmB5F,EAAI,GAAG7jC,MAAO6jC,EAAI,GAAG7jC,MAAO,EAAG,MAAM,IAG5D0O,SAAU,mCAQT,gBAAM,MAAO,CAC5BpD,UAAW,sBACXoD,SAAU,CAAc,eAAK,GAAyB,CACpDk1B,gBAAiBA,IACfA,EAAgB,IAAMA,EAAgB,GAAGl1B,UAAYk1B,EAAgB,GAAGl1B,SAAS,IAAMk1B,EAAgB,GAAGl1B,SAAS,GAAGA,UAAyB,eAAK,MAAO,CAC7JpD,UAAW,kDAAoDs4B,EAAgB,GAAGl1B,SAAS,GAAGA,SAAS7M,OACvG6M,SAAUk1B,EAAgB,GAAGl1B,SAAS,GAAGA,SAASsuB,KAAI,SAAUwN,GAC9D,OAAoB,gBAAM,MAAO,CAC/Bl/B,UAAW,2CACXoD,SAAU,CAAC87B,EAAM,GAAGxqC,OAAsB,eAAK,MAAO,CACpDsL,UAAW,iDACXoD,SAAuB,eAAK,MAAO,CACjC+rB,IAAK+P,EAAM,GAAGxqC,MACdg6B,IAAKwQ,EAAM,GAAG58B,SAEd48B,EAAM,GAAGxqC,OAAsB,eAAK,MAAO,CAC7CsL,UAAW,mDACXoD,SAAuB,eAAK,MAAO,CACjCpD,UAAW,yDACXoD,SAAuB,eAAK,GAAW,CACrCo1B,gBAAiBC,EAAOD,gBACxBE,eAAgBD,EAAOE,iBACvBC,YAAaH,EAAOI,cACpBP,gBAAiBA,EACjBQ,gBAAiBA,EACjBC,iBAAkB,IAClBC,iBAAkB,IAClBC,gBAAiBiG,EAAM,GAAGxqC,MAC1BwkC,uBAAwBT,EAAOU,YAC/BC,wBAAyBX,EAAOU,YAChCE,aAAcZ,EAAOY,aACrBC,sBAAuBb,EAAOa,sBAC9B6F,iBAAkB1G,EAAO0G,+BAMjC7G,EAAgB,IAAMA,EAAgB,GAAGl1B,UAAYk1B,EAAgB,GAAGl1B,SAAS,IAAMk1B,EAAgB,GAAGl1B,SAAS,GAAG1O,OAAsB,eAAK,MAAO,CAC1JsL,UAAW,sCACXoD,SAAuB,eAAK,GAAW,CACrCo1B,gBAAiBC,EAAOD,gBACxBE,eAAgBD,EAAOE,iBACvBC,YAAaH,EAAOI,cACpBP,gBAAiBA,EACjBQ,gBAAiBA,EACjBC,iBAAkB,IAClBC,iBAAkB,IAClBE,uBAAwBT,EAAOU,YAC/BC,wBAAyBX,EAAOU,YAChCE,aAAcZ,EAAOY,aACrBC,sBAAuBb,EAAOa,sBAC9B6F,iBAAkB1G,EAAO0G,qBAEzB7G,EAAgB,IAAMA,EAAgB,GAAGl1B,UAAYk1B,EAAgB,GAAGl1B,SAAS,IAAMk1B,EAAgB,GAAGl1B,SAAS,GAAGA,UAAyB,gBAAM,MAAO,CAC9JpD,UAAW,4CACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,iCACXoD,SAAUk1B,EAAgB,GAAGl1B,SAAS,GAAGA,SAASsuB,KAAI,SAAU0N,EAAQx7B,GACtE,OAAoB,eAAK,MAAO,CAC9B5D,UAAW,yDAA2Dm9B,IAA+Bv5B,GACrGhG,QAAS,WACgCw/B,EAAvCD,IAA+Bv5B,EAAsCA,EAAuC,OAE9GR,SAAuB,eAAK,MAAO,CACjCpD,UAAW,+BACXoD,SAAuB,eAAK,MAAO,CACjC+rB,IAAKiQ,EAAO,GAAG1qC,MACfg6B,IAAK0Q,EAAO,GAAG1qC,iBAKR,eAAK,MAAO,CAC3BsL,UAAW,mCACXoD,SAAUk1B,EAAgB,GAAGl1B,SAAS,GAAGA,SAASsuB,KAAI,SAAU0N,EAAQx7B,GACtE,OAAoB,eAAK,MAAO,CAC9B5D,UAAW,6DAA+Dm9B,IAA+Bv5B,GAAS,mCAAqCw7B,EAAO,GAAG1qC,MAAMoC,QAAQ,IAAK,KACpLsM,SAAuB,gBAAM,MAAO,CAClCA,SAAU,CAAc,eAAK,SAAU,CACrCpD,UAAW,uBACXgQ,KAAM,SACNpS,QAAS,WACgCw/B,EAAvCD,IAA+Bv5B,EAAsCA,EAAuC,OAE9GR,SAAuB,eAAK,OAAQ,CAClCpD,UAAW,mBAEE,gBAAM,MAAO,CAC5BA,UAAW,iCACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,iCACXoD,SAAuB,gBAAM,KAAM,CACjCA,SAAU,CAAC,SAAUg8B,EAAO,GAAG1qC,WAElB,gBAAM,MAAO,CAC5BsL,UAAW,uCACXoD,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,4CACXoD,SAAU,CAAc,eAAK,GAAW,CACtCo1B,gBAAiB4G,EAAO,GAAG1qC,MAC3BgkC,eAAgB0G,EAAO,GAAG1qC,MAC1BkkC,YAAawG,EAAO,IAAI1qC,MACxB4jC,gBAAiBA,EACjBQ,gBAAiBA,EACjBC,iBAAkB,IAClBC,iBAAkB,IAClBC,gBAAiBmG,EAAO,IAAI1qC,MAC5BwkC,uBAAwBT,EAAOU,YAC/BC,wBAAyBX,EAAOU,YAChCE,aAAcZ,EAAOY,aACrBC,sBAAuBb,EAAOa,sBAC9B6F,iBAAkB1G,EAAO0G,mBACvBC,EAAO,GAAG1qC,OAAS0qC,EAAO,GAAG1qC,OAAS0qC,EAAO,IAAI1qC,OAAS0qC,EAAO,GAAG1qC,OAAsB,eAAK,MAAO,CACxGsL,UAAW,uCACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,MACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,iBACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,6CAA+Cw8B,EAC1Dp5B,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,SACXoD,SAAU,CAAc,eAAK,KAAM,CACjCA,SAAU,gBACK,eAAK,IAAM,CAC1BvG,GAAIuiC,EAAO,GAAG1qC,MAAQ,+BACtB0O,SAAU,gBAEG,eAAKy3B,GAAe,CACnCD,YAAa6B,EACb9B,MAAO,EACPr4B,KAAM88B,EAAO,GAAG1qC,MAChBuI,UAAWmiC,EAAO,GAAG1qC,MACrBwW,KAAM,SAA0BhQ,GAC9B,OAAoB,gBAAM,MAAO,CAC/B0C,QAAS,WACP,OAAOugC,EAAmBjjC,EAAMyN,KAAK0yB,MAAOngC,EAAMyN,KAAK02B,YAAankC,EAAMyN,KAAKy1B,SAAUljC,EAAMyN,KAAKuyB,aAEtGl7B,UAAW,kBACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCpD,UAAW,qBACI,eAAK,MAAO,CAC3BoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,UACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCA,SAAU63B,GAAO//B,EAAMyN,KAAK22B,WAAW5sB,OAAO,QAC5CxX,EAAMyN,KAAK02B,YAAYvoC,QAAQ,cAAe,KAAKA,QAAQ,aAAc,IAAII,UAAU,EAAG,KAAMgE,EAAMyN,KAAK02B,YAAYvoC,QAAQ,cAAe,KAAKA,QAAQ,aAAc,IAAIP,OAAS,IAAM,MAAQ,YAKhNgpC,MAAOH,EAAO,GAAG1qC,MAAQ,sCAGd,eAAK,MAAO,CAC3BsL,UAAW,iBACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,6CAA+C28B,EAC1Dv5B,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,SACXoD,SAAU,CAAc,eAAK,KAAM,CACjCA,SAAU,aACK,eAAK,IAAM,CAC1BvG,GAAIuiC,EAAO,GAAG1qC,MAAQ,0BACtB0O,SAAU,gBAEG,eAAK03B,GAAiB,CACrC0E,YAAa,0CACb7E,MAAO,EACPC,YAAagC,EACbt6B,KAAM88B,EAAO,GAAG1qC,MAChBuI,UAAWmiC,EAAO,GAAG1qC,MACrBwW,KAAM,SAA0BhQ,GAC9B,OAAoB,gBAAM,MAAO,CAC/B0C,QAAS,WACP,OAAOugC,EAAmBjjC,EAAMyN,KAAK0yB,MAAOngC,EAAMyN,KAAKmtB,YAAa56B,EAAMyN,KAAKy1B,SAAUljC,EAAMyN,KAAKuyB,aAEtGl7B,UAAW,kBACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCpD,UAAW,oBACI,gBAAM,MAAO,CAC5BoD,SAAU,CAAClI,EAAMyN,KAAK0yB,MAAoB,eAAK,OAAQ,CACrDj4B,SAAU63B,GAAO//B,EAAMyN,KAAK82B,YAAY/sB,OAAO,eAKvD6sB,MAAOH,EAAO,GAAG1qC,MAAQ,yCAMpB,gBAAM,MAAO,CAC5BsL,UAAW,6CACXoD,SAAU,CAACg8B,EAAO,GAAG1qC,OAAsB,gBAAM,MAAO,CACtDsL,UAAW,2CACXoD,SAAU,CAAc,eAAK,MAAO,CAClCA,SAAuB,eAAK,SAAU,CACpCA,SAAUg8B,EAAO,GAAG1qC,UAEP,eAAK,UAAW,CAC/B0O,SAAUg8B,EAAO,GAAG1qC,WAEpB0qC,EAAO,GAAG1qC,OAAsB,gBAAM,MAAO,CAC/CsL,UAAW,yCACXoD,SAAU,CAAc,eAAK,MAAO,CAClCA,SAAuB,eAAK,SAAU,CACpCA,SAAU,iBAEG,eAAK,UAAW,CAC/BA,SAAUg8B,EAAO,GAAG1qC,WAEpB0qC,EAAO,GAAG1qC,OAAsB,gBAAM,MAAO,CAC/CsL,UAAW,yCACXoD,SAAU,CAAc,eAAK,MAAO,CAClCA,SAAuB,eAAK,SAAU,CACpCA,SAAU,aAEG,eAAK,UAAW,CAC/BA,SAAUg8B,EAAO,GAAG1qC,WAEpB0qC,EAAO,GAAG1qC,OAAsB,eAAK,MAAO,CAC9CsL,UAAW,2CACXoD,SAAuB,eAAK,IAAK,CAC/Bg4B,KAAMgE,EAAO,GAAG1qC,MAChBsL,UAAW,kBACXoD,SAAU,oCAEUY,IAApBo7B,EAAO,GAAG1qC,YAA2CsP,IAApBo7B,EAAO,GAAG1qC,OAAoC,eAAK,MAAO,CAC7FsL,UAAW,uCACXoD,SAAuB,eAAK23B,GAAW,CACrC2E,SAAUN,EAAO,GAAG1qC,MACpBirC,UAAWP,EAAO,GAAG1qC,iCAUE,IAAvC0jC,EAAcwH,sBAA8C,eAAK,MAAO,CAC1E5/B,UAAW,uCACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,MACXoD,SAAU,CAAc,eAAK,MAAO,CAClCpD,UAAW,iBACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,6CAA+Cw8B,EAC1Dp5B,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,SACXoD,SAAU,CAAc,eAAK,KAAM,CACjCA,SAAU,gBACRg1B,EAAcyH,eAA8B,eAAK,IAAM,CACzDhjC,GAAIu7B,EAAcyH,cAClBz8B,SAAU,gBAEG,eAAKy3B,GAAe,CACnCD,YAAa6B,EACb9B,MAAO,EACPr4B,KAAMm2B,EAAOD,gBACbv7B,UAAWw7B,EAAOE,iBAClBztB,KAAM,SAA0BhQ,GAC9B,OAAoB,gBAAM,MAAO,CAC/B0C,QAAS,WACP,OAAOugC,EAAmBjjC,EAAMyN,KAAK0yB,MAAOngC,EAAMyN,KAAK02B,YAAankC,EAAMyN,KAAKy1B,SAAUljC,EAAMyN,KAAKuyB,aAEtGl7B,UAAW,kBACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCpD,UAAW,qBACI,eAAK,MAAO,CAC3BoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,UACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCA,SAAU63B,GAAO//B,EAAMyN,KAAK22B,WAAW5sB,OAAO,QAC5CxX,EAAMyN,KAAK02B,YAAYvoC,QAAQ,cAAe,KAAKA,QAAQ,aAAc,IAAII,UAAU,EAAG,KAAMgE,EAAMyN,KAAK02B,YAAYvoC,QAAQ,cAAe,KAAKA,QAAQ,aAAc,IAAIP,OAAS,IAAM,MAAQ,YAKhNgpC,MAAOnH,EAAcyH,cAAgBzH,EAAcyH,cAAgB,sCAGxD,eAAK,MAAO,CAC3B7/B,UAAW,iBACXoD,SAAuB,gBAAM,MAAO,CAClCpD,UAAW,6CAA+C28B,EAC1Dv5B,SAAU,CAAc,gBAAM,MAAO,CACnCpD,UAAW,SACXoD,SAAU,CAAc,eAAK,KAAM,CACjCA,SAAU,aACRg1B,EAAc0H,iBAAgC,eAAK,IAAM,CAC3DjjC,GAAIu7B,EAAc0H,gBAClB18B,SAAU,gBAEG,eAAK03B,GAAiB,CACrC0E,YAAa,0CACb7E,MAAO,EACPC,YAAagC,EACbt6B,KAAMm2B,EAAOD,gBACbv7B,UAAWw7B,EAAOE,iBAClBztB,KAAM,SAA0BhQ,GAC9B,OAAoB,gBAAM,MAAO,CAC/B0C,QAAS,WACP,OAAOugC,EAAmBjjC,EAAMyN,KAAK0yB,MAAOngC,EAAMyN,KAAKmtB,YAAa56B,EAAMyN,KAAKy1B,SAAUljC,EAAMyN,KAAKuyB,aAEtGl7B,UAAW,kBACXoD,SAAU,CAAc,eAAK,OAAQ,CACnCpD,UAAW,oBACI,gBAAM,MAAO,CAC5BoD,SAAU,CAAClI,EAAMyN,KAAK0yB,MAAoB,eAAK,OAAQ,CACrDj4B,SAAU63B,GAAO//B,EAAMyN,KAAK82B,YAAY/sB,OAAO,eAKvD6sB,MAAOnH,EAAc0H,gBAAkB1H,EAAc0H,gBAAkB,sCAKhE,eAAK,GAA4B,CAChDxH,gBAAiBA,iBAMX,eAAK,MAAO,CAC5Bt4B,UAAW,mC,mCC1sBjB,sRAUA,SAASzF,IAeP,OAdAA,EAAWhG,OAAOiG,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,IAGO0I,MAAMvE,KAAMjE,WAmB9B,IAAIolC,EAAa,SAAoBC,EAASC,GAG5C,IAFA,IAAItxB,EAAS,CAACqxB,EAAQ,IAEbtlC,EAAI,EAAGwlC,EAAMD,EAAe1pC,OAAQmE,EAAIwlC,EAAKxlC,GAAK,EACzDiU,EAAOiO,KAAKqjB,EAAevlC,GAAIslC,EAAQtlC,EAAI,IAG7C,OAAOiU,GAILwxB,EAAgB,SAAuBtrC,GACzC,OAAa,OAANA,GAA2B,iBAANA,GAAsF,qBAAnEA,EAAEoZ,SAAWpZ,EAAEoZ,WAAa1Z,OAAOuG,UAAUmT,SAAS3V,KAAKzD,MAA8B,iBAAOA,IAI7IurC,EAAc7rC,OAAO8rC,OAAO,IAC5BC,EAAe/rC,OAAO8rC,OAAO,IAEjC,SAASE,EAAWhpC,GAClB,MAAuB,mBAATA,EAIhB,SAASipC,EAAiB/lC,GACxB,OACAA,EAAOgzB,aACPhzB,EAAO6H,MAAQ,YASjB,SAASm+B,EAAkBhmC,GACzB,OAAOA,GAA8C,iBAA7BA,EAAOimC,kBAIjC,IAAIC,OAA6B,IAAZC,IAA4B,GAAYC,mBAAqB,GAAYF,UAAY,cAKtGG,EAA+B,oBAAX1+B,QAA0B,gBAAiBA,OAC/D2+B,EAA8C,kBAAtBC,mBAAmCA,wBAAwC,IAAZJ,IAA4B,GAAYK,6BAA+B,GAAYD,qBAAsB,EAMhME,EAAW,WACb,OAAkD,MA+CpD,SAASC,EAA2BC,GAClC,IAAK,IAAIr1B,EAAOpR,UAAUpE,OAAQ0pC,EAAiB,IAAIh0B,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAC5G+zB,EAAe/zB,EAAO,GAAKvR,UAAUuR,GAIrC,MAAM,IAAI0G,MAAM,4IAA8IwuB,EAAO,0BAA4BnB,EAAe1pC,OAAS,EAAI,0BAA4B0pC,EAAepmC,KAAK,MAAQ,KAOzR,IAqBIwnC,EAAe,SAAsB5mC,GACvC,IAAI6mC,EAAOpiC,SAASoiC,KAChB/Z,EAAS9sB,GAAU6mC,EACnB7b,EAAQvmB,SAASiB,cAAc,SAC/BohC,EApBiB,SAA0B9mC,GAG/C,IAFA,IAAI+mC,EAAa/mC,EAAO+mC,WAEf9mC,EAAI8mC,EAAWjrC,OAAQmE,GAAK,EAAGA,IAAK,CAC3C,IAAI+mC,EAAQD,EAAW9mC,GAEvB,GAAI+mC,GAXW,IAWFA,EAAMriC,UAA6BqiC,EAAMC,aAAaf,GACjE,OAAOc,GAaKE,CAAiBpa,GAC7Bqa,OAA4B59B,IAAdu9B,EAA0BA,EAAUK,YAAc,KACpEnc,EAAMuH,aAAa2T,EAnGA,UAoGnBlb,EAAMuH,aAnGc,sBACL,SAmGf,IAAI6U,EAAQX,IAGZ,OAFIW,GAAOpc,EAAMuH,aAAa,QAAS6U,GACvCta,EAAOua,aAAarc,EAAOmc,GACpBnc,GA2CLsc,EAAwB,WAC1B,SAASA,EAAStnC,GAChB,IAAIkG,EAAU/B,KAAK+B,QAAU0gC,EAAa5mC,GAE1CkG,EAAQqhC,YAAY9iC,SAAS+iC,eAAe,KAC5CrjC,KAAKsjC,MA3CM,SAAkBpsB,GAC/B,GAAIA,EAAIosB,MACN,OAAOpsB,EAAIosB,MAOb,IAHA,IACIC,EADYjjC,SACYijC,YAEnBznC,EAAI,EAAGxB,EAAIipC,EAAY5rC,OAAQmE,EAAIxB,EAAGwB,IAAK,CAClD,IAAIwnC,EAAQC,EAAYznC,GAExB,GAAIwnC,EAAME,YAActsB,EACtB,OAAOosB,EAIXf,EAA2B,IA0BZkB,CAAS1hC,GACtB/B,KAAKrI,OAAS,EAGhB,IAAI0e,EAAS8sB,EAASjnC,UA2BtB,OAzBAma,EAAOqtB,WAAa,SAAoB1+B,EAAO2+B,GAC7C,IAGE,OAFA3jC,KAAKsjC,MAAMI,WAAWC,EAAM3+B,GAC5BhF,KAAKrI,UACE,EACP,MAAOisC,GACP,OAAO,IAIXvtB,EAAOwtB,WAAa,SAAoB7+B,GACtChF,KAAKsjC,MAAMO,WAAW7+B,GACtBhF,KAAKrI,UAGP0e,EAAOytB,QAAU,SAAiB9+B,GAChC,IAAI2+B,EAAO3jC,KAAKsjC,MAAMS,SAAS/+B,GAE/B,YAAaI,IAATu+B,GAA8C,iBAAjBA,EAAKK,QAC7BL,EAAKK,QAEL,IAIJb,EApCmB,GAyCxBc,EAAuB,WACzB,SAASA,EAAQpoC,GACf,IAAIkG,EAAU/B,KAAK+B,QAAU0gC,EAAa5mC,GAC1CmE,KAAKkkC,MAAQniC,EAAQ6gC,WACrB5iC,KAAKrI,OAAS,EAGhB,IAAIwsC,EAAUF,EAAQ/nC,UA2BtB,OAzBAioC,EAAQT,WAAa,SAAoB1+B,EAAO2+B,GAC9C,GAAI3+B,GAAShF,KAAKrI,QAAUqN,GAAS,EAAG,CACtC,IAAIkR,EAAO5V,SAAS+iC,eAAeM,GAC/BS,EAAUpkC,KAAKkkC,MAAMl/B,GAGzB,OAFAhF,KAAK+B,QAAQmhC,aAAahtB,EAAMkuB,GAAW,MAC3CpkC,KAAKrI,UACE,EAEP,OAAO,GAIXwsC,EAAQN,WAAa,SAAoB7+B,GACvChF,KAAK+B,QAAQsiC,YAAYrkC,KAAKkkC,MAAMl/B,IACpChF,KAAKrI,UAGPwsC,EAAQL,QAAU,SAAiB9+B,GACjC,OAAIA,EAAQhF,KAAKrI,OACRqI,KAAKkkC,MAAMl/B,GAAOs/B,YAElB,IAIJL,EAlCkB,GAuCvBM,EAA0B,WAC5B,SAASA,EAAWC,GAClBxkC,KAAKykC,MAAQ,GACbzkC,KAAKrI,OAAS,EAGhB,IAAI+sC,EAAUH,EAAWroC,UAyBzB,OAvBAwoC,EAAQhB,WAAa,SAAoB1+B,EAAO2+B,GAC9C,OAAI3+B,GAAShF,KAAKrI,SAChBqI,KAAKykC,MAAMjX,OAAOxoB,EAAO,EAAG2+B,GAC5B3jC,KAAKrI,UACE,IAMX+sC,EAAQb,WAAa,SAAoB7+B,GACvChF,KAAKykC,MAAMjX,OAAOxoB,EAAO,GACzBhF,KAAKrI,UAGP+sC,EAAQZ,QAAU,SAAiB9+B,GACjC,OAAIA,EAAQhF,KAAKrI,OACRqI,KAAKykC,MAAMz/B,GAEX,IAIJu/B,EA/BqB,GA2C1BI,EAAiC,WACnC,SAASA,EAAkBztB,GACzBlX,KAAK4kC,WAAa,IAAIC,YAJV,KAKZ7kC,KAAKrI,OALO,IAMZqI,KAAKkX,IAAMA,EAGb,IAAIb,EAASsuB,EAAkBzoC,UA4E/B,OA1EAma,EAAOyuB,aAAe,SAAsBC,GAG1C,IAFA,IAAI//B,EAAQ,EAEHlJ,EAAI,EAAGA,EAAIipC,EAAOjpC,IACzBkJ,GAAShF,KAAK4kC,WAAW9oC,GAG3B,OAAOkJ,GAGTqR,EAAO2uB,YAAc,SAAqBD,EAAON,GAC/C,GAAIM,GAAS/kC,KAAK4kC,WAAWjtC,OAAQ,CAKnC,IAJA,IAAIstC,EAAYjlC,KAAK4kC,WACjBM,EAAUD,EAAUttC,OACpBwtC,EAAUD,EAEPH,GAASI,IACdA,IAAY,GAEE,GACZ5C,EAA2B,GAAI,GAAKwC,GAIxC/kC,KAAK4kC,WAAa,IAAIC,YAAYM,GAClCnlC,KAAK4kC,WAAWlpC,IAAIupC,GACpBjlC,KAAKrI,OAASwtC,EAEd,IAAK,IAAIrpC,EAAIopC,EAASppC,EAAIqpC,EAASrpC,IACjCkE,KAAK4kC,WAAW9oC,GAAK,EAMzB,IAFA,IAAIspC,EAAYplC,KAAK8kC,aAAaC,EAAQ,GAEjCM,EAAK,EAAG/qC,EAAImqC,EAAM9sC,OAAQ0tC,EAAK/qC,EAAG+qC,IACrCrlC,KAAKkX,IAAIwsB,WAAW0B,EAAWX,EAAMY,MACvCrlC,KAAK4kC,WAAWG,KAChBK,MAKN/uB,EAAOivB,WAAa,SAAoBP,GACtC,GAAIA,EAAQ/kC,KAAKrI,OAAQ,CACvB,IAAIA,EAASqI,KAAK4kC,WAAWG,GACzBQ,EAAavlC,KAAK8kC,aAAaC,GAC/BS,EAAWD,EAAa5tC,EAC5BqI,KAAK4kC,WAAWG,GAAS,EAEzB,IAAK,IAAIjpC,EAAIypC,EAAYzpC,EAAI0pC,EAAU1pC,IACrCkE,KAAKkX,IAAI2sB,WAAW0B,KAK1BlvB,EAAOovB,SAAW,SAAkBV,GAClC,IAAIW,EAAM,GAEV,GAAIX,GAAS/kC,KAAKrI,QAAqC,IAA3BqI,KAAK4kC,WAAWG,GAC1C,OAAOW,EAOT,IAJA,IAAI/tC,EAASqI,KAAK4kC,WAAWG,GACzBQ,EAAavlC,KAAK8kC,aAAaC,GAC/BS,EAAWD,EAAa5tC,EAEnBmE,EAAIypC,EAAYzpC,EAAI0pC,EAAU1pC,IACrC4pC,GAAY1lC,KAAKkX,IAAI4sB,QAAQhoC,GAxVpB,YA2VX,OAAO4pC,GAGFf,EAnF4B,GAwFjCgB,EAAkB,IAAIvxB,IACtBwxB,EAAkB,IAAIxxB,IACtByxB,EAAgB,EAEhBC,EAAgB,SAAuB/hC,GACzC,GAAI4hC,EAAgB/wB,IAAI7Q,GACtB,OAAO4hC,EAAgBtjC,IAAI0B,GAG7B,IAAIghC,EAAQc,IAQZ,OAFAF,EAAgBjqC,IAAIqI,EAAIghC,GACxBa,EAAgBlqC,IAAIqpC,EAAOhhC,GACpBghC,GAGLgB,EAAgB,SAAuBhB,GACzC,OAAOa,EAAgBvjC,IAAI0iC,IAGzBiB,EAAgB,SAAuBjiC,EAAIghC,GACzCA,GAASc,IACXA,EAAgBd,EAAQ,GAG1BY,EAAgBjqC,IAAIqI,EAAIghC,GACxBa,EAAgBlqC,IAAIqpC,EAAOhhC,IAIzBkiC,EAAW,SAAWlE,EAAX,iCACXmE,EAAY,IAAIC,OAAO,IAAMpE,EAAU,gDAgCvCqE,EAA4B,SAAmC9C,EAAOv/B,EAAIssB,GAI5E,IAHA,IACI3sB,EADA2iC,EAAQhW,EAAQ74B,MAAM,KAGjBsE,EAAI,EAAGxB,EAAI+rC,EAAM1uC,OAAQmE,EAAIxB,EAAGwB,KAEnC4H,EAAO2iC,EAAMvqC,KACfwnC,EAAMgD,aAAaviC,EAAIL,IAKzB6iC,EAAwB,SAA+BjD,EAAOzc,GAIhE,IAHA,IAAI2f,EAAQ3f,EAAM4f,UAAUjvC,MAnbf,aAobTitC,EAAQ,GAEH3oC,EAAI,EAAGxB,EAAIksC,EAAM7uC,OAAQmE,EAAIxB,EAAGwB,IAAK,CAC5C,IAAI4qC,EAAOF,EAAM1qC,GAAGvE,OACpB,GAAKmvC,EAAL,CACA,IAAIC,EAASD,EAAK/H,MAAMuH,GAExB,GAAIS,EAAQ,CACV,IAAI5B,EAAkC,EAA1Bj2B,SAAS63B,EAAO,GAAI,IAC5B5iC,EAAK4iC,EAAO,GAEF,IAAV5B,IAEFiB,EAAcjiC,EAAIghC,GAGlBqB,EAA0B9C,EAAOv/B,EAAI4iC,EAAO,IAC5CrD,EAAMsD,SAAS5B,YAAYD,EAAON,IAGpCA,EAAM9sC,OAAS,OAEf8sC,EAAMzmB,KAAK0oB,MAqBbG,EAAmB3E,EACnB4E,EAAiB,CACnBC,UAAW7E,EACX8E,mBAAoB7E,GAIlB8E,EAA0B,WAM5B,SAASA,EAAW59B,EAAS69B,EAAcb,QACzB,IAAZh9B,IACFA,EAAUy9B,QAGS,IAAjBI,IACFA,EAAe,IAGjBlnC,KAAKqJ,QAAU1N,EAAS,GAAImrC,EAAgB,GAAIz9B,GAChDrJ,KAAKmnC,GAAKD,EACVlnC,KAAKqmC,MAAQ,IAAIjyB,IAAIiyB,IAEhBrmC,KAAKqJ,QAAQ09B,UAAY7E,GAAc2E,IAC1CA,GAAmB,EA3CJ,SAAwBvD,GAG3C,IAFA,IAAIY,EAAQ5jC,SAAS8mC,iBAAiBnB,GAE7BnqC,EAAI,EAAGxB,EAAI4pC,EAAMvsC,OAAQmE,EAAIxB,EAAGwB,IAAK,CAC5C,IAAIoa,EAAOguB,EAAMpoC,GAEboa,GAxda,WAwdLA,EAAKgY,aAAa6T,KAC5BwE,EAAsBjD,EAAOptB,GAEzBA,EAAK0S,YACP1S,EAAK0S,WAAWyb,YAAYnuB,KAkC9BmxB,CAAernC,OAnBnBinC,EAAWK,WAAa,SAAoBvjC,GAC1C,OAAO+hC,EAAc/hC,IAsBvB,IAAIsS,EAAS4wB,EAAW/qC,UAwExB,OAtEAma,EAAOkxB,uBAAyB,SAAgCl+B,GAC9D,OAAO,IAAI49B,EAAWtrC,EAAS,GAAIqE,KAAKqJ,QAAS,GAAIA,GAAUrJ,KAAKmnC,GAAInnC,KAAKqmC,QAG/EhwB,EAAOmxB,mBAAqB,SAA4BzjC,GACtD,OAAO/D,KAAKmnC,GAAGpjC,IAAO/D,KAAKmnC,GAAGpjC,IAAO,GAAK,GAK5CsS,EAAOuwB,OAAS,WACd,OAAO5mC,KAAKkX,MAAQlX,KAAKkX,KA1YEjK,EA0Y2BjN,KAAKqJ,QAzYzD09B,EAAW95B,EAAK85B,SAChBC,EAAoB/5B,EAAK+5B,kBACzBnrC,EAASoR,EAAKpR,OAgIyBqb,EA9HvC6vB,EACK,IAAIxC,EAAW1oC,GACbmrC,EACF,IAAI7D,EAAStnC,GAEb,IAAIooC,EAAQpoC,GA0Hd,IAAI8oC,EAAkBztB,KADV,IAAwBA,EAnIdjK,EACzB85B,EACAC,EACAnrC,GA4YJwa,EAAOoxB,aAAe,SAAsB1jC,EAAIL,GAC9C,OAAO1D,KAAKqmC,MAAMzxB,IAAI7Q,IAAO/D,KAAKqmC,MAAMhkC,IAAI0B,GAAI6Q,IAAIlR,IAKtD2S,EAAOiwB,aAAe,SAAsBviC,EAAIL,GAG9C,GAFAoiC,EAAc/hC,GAET/D,KAAKqmC,MAAMzxB,IAAI7Q,GAKlB/D,KAAKqmC,MAAMhkC,IAAI0B,GAAI2jC,IAAIhkC,OALA,CACvB,IAAIikC,EAAa,IAAIC,IACrBD,EAAWD,IAAIhkC,GACf1D,KAAKqmC,MAAM3qC,IAAIqI,EAAI4jC,KAQvBtxB,EAAO2uB,YAAc,SAAqBjhC,EAAIL,EAAM+gC,GAClDzkC,KAAKsmC,aAAaviC,EAAIL,GACtB1D,KAAK4mC,SAAS5B,YAAYc,EAAc/hC,GAAK0gC,IAK/CpuB,EAAOwxB,WAAa,SAAoB9jC,GAClC/D,KAAKqmC,MAAMzxB,IAAI7Q,IACjB/D,KAAKqmC,MAAMhkC,IAAI0B,GAAI+jC,SAMvBzxB,EAAO0xB,WAAa,SAAoBhkC,GACtC/D,KAAK4mC,SAAStB,WAAWQ,EAAc/hC,IACvC/D,KAAK6nC,WAAW9jC,IAKlBsS,EAAO2xB,SAAW,WAGhBhoC,KAAKkX,SAAM9R,GAKbiR,EAAOhH,SAAW,WAChB,OA5Lc,SAAqBi0B,GAKrC,IAJA,IAAIpsB,EAAMosB,EAAMsD,SACZjvC,EAASuf,EAAIvf,OACb+tC,EAAM,GAEDX,EAAQ,EAAGA,EAAQptC,EAAQotC,IAAS,CAC3C,IAAIhhC,EAAKgiC,EAAchB,GACvB,QAAW3/B,IAAPrB,EAAJ,CACA,IAAIsiC,EAAQ/C,EAAM+C,MAAMhkC,IAAI0B,GACxB0gC,EAAQvtB,EAAIuuB,SAASV,GACzB,QAAc3/B,IAAVihC,GAAwC,IAAjB5B,EAAM9sC,OAAjC,CACA,IAAIswC,EAAWlG,EAAU,KAAOgD,EAAQ,QAAWhhC,EAAK,KACpDssB,EAAU,QAEAjrB,IAAVihC,GACFA,EAAMxhC,SAAQ,SAAUnB,GAClBA,EAAK/L,OAAS,IAChB04B,GAAW3sB,EAAO,QAOxBgiC,GAAO,GAAKjB,EAAQwD,EAAW,aAAgB5X,EAAxC,gBAGT,OAAOqV,EAiKEwC,CAAYloC,OAGdinC,EAjGqB,GA2G1BkB,EAAQ,SAAe7wC,EAAGrB,GAG5B,IAFA,IAAI6F,EAAI7F,EAAE0B,OAEHmE,GACLxE,EAAQ,GAAJA,EAASrB,EAAEgC,aAAa6D,GAG9B,OAAOxE,GAILwO,EAAO,SAAc7P,GACvB,OAAOkyC,EAhBE,KAgBUlyC,IAqErB,IAAImyC,EAAgB,gBAEpB,SAASC,EAAqBn7B,GAC5B,IAwBIo7B,EAEAC,EAEAC,EA5BAv7B,OAAiB,IAAVC,EAAmBw0B,EAAex0B,EACzCu7B,EAAex7B,EAAK5D,QACpBA,OAA2B,IAAjBo/B,EAA0B/G,EAAe+G,EACnDC,EAAez7B,EAAK07B,QACpBA,OAA2B,IAAjBD,EAA0BlH,EAAckH,EAElDE,EAAS,IAAI,IAAOv/B,GAIpBw/B,EAAe,GAUfC,EAlEN,SAA0BpF,GAIxB,SAASqF,EAAQC,GACf,GAAIA,EACF,IACEtF,EAAWsF,EAAQ,KACnB,MAAO3xC,KAIb,OAAO,SAAmBgyB,EAASgH,EAAS4Y,EAAWC,EAASC,EAAMC,EAAQzxC,EAAQ0xC,EAAIC,EAAOC,GAC/F,OAAQlgB,GAEN,KAAK,EAEH,GAAc,IAAVigB,GAAyC,KAA1BjZ,EAAQp4B,WAAW,GAAW,OAAOyrC,EAAWrT,EAAU,KAAM,GACnF,MAGF,KAAK,EACH,GAAW,IAAPgZ,EAAU,OAAOhZ,EArBX,QAsBV,MAGF,KAAK,EACH,OAAQgZ,GAEN,KAAK,IACL,KAAK,IACH,OAAO3F,EAAWuF,EAAU,GAAK5Y,GAAU,GAE7C,QACE,OAAOA,GAAkB,IAAPkZ,EAjCZ,QAiCmC,IAG/C,KAAM,EACJlZ,EAAQ74B,MApCDgyC,UAoCe3kC,QAAQkkC,KA4BbU,EAAiB,SAAU9F,GAChDkF,EAAa7qB,KAAK2lB,MAShB+F,EAAwB,SAA+B/K,EAAO//B,EAAQV,GACxE,OACAU,EAAS,IACuC,IAAhDV,EAAOwT,MAAM,EAAG9S,GAAQxG,QAAQmwC,IAChCrqC,EAAOwT,MAAM9S,EAAS2pC,EAAU5wC,OAAQiH,KAAY2pC,EAC3C,IAAMD,EAGR3J,GA0BT,SAASgL,EAAejE,EAAKuC,EAAUpuC,EAAQ+vC,QACzB,IAAhBA,IACFA,EAAc,KAGhB,IAAIC,EAAUnE,EAAIxtC,QAAQkwC,EAAe,IACrC0B,EAAS7B,GAAYpuC,EAASA,EAAS,IAAMouC,EAAW,MAAQ4B,EAAU,KAAOA,EAOrF,OAHAvB,EAAesB,EACfrB,EAAYN,EACZO,EAAkB,IAAIrC,OAAO,KAAOoC,EAAY,MAAO,KAChDK,EAAO/uC,IAAWouC,EAAW,GAAKA,EAAU6B,GAUrD,OAzBAlB,EAAOptC,IAAI,GAAG+R,OAAOo7B,EAAS,CAPO,SAAwCtf,EAAS0J,EAAGkW,GACvE,IAAZ5f,GAAiB4f,EAAUtxC,QAAUsxC,EAAU,GAAGc,YAAYxB,GAAa,IAE7EU,EAAU,GAAKA,EAAU,GAAG/wC,QAAQswC,EAAiBkB,KAIMZ,EAlDvC,SAA2Bzf,GACjD,IAAiB,IAAbA,EAAgB,CAClB,IAAI2gB,EAAcnB,EAElB,OADAA,EAAe,GACRmB,OAgEXL,EAAe7jC,KAAO6iC,EAAQhxC,OAASgxC,EAAQsB,QAAO,SAAUC,EAAKC,GAKnE,OAJKA,EAAOzmC,MACV6+B,EAA2B,IAGtB4F,EAAM+B,EAAKC,EAAOzmC,QA7KlB,MA8KA2L,WAAa,GACfs6B,EAIT,IAAIS,EAAoB,IAAMC,gBAE1BC,GADqBF,EAAkBG,SACvB,IAAMF,iBAEtBG,GADiBF,EAAcC,SACjB,IAAItD,GAClBwD,EAAepC,IAEnB,SAASqC,IACP,OAAO,qBAAWN,IAAsBI,EAG1C,SAASG,IACP,OAAO,qBAAWL,IAAkBG,EAgDtC,IAAIG,EAAyB,WAC3B,SAASA,EAAUlnC,EAAMmnC,GACvB,IAAI5qC,EAAQD,KAEZA,KAAK8qC,OAAS,SAAUC,GACjBA,EAAWtD,aAAaxnC,EAAM8D,GAAI9D,EAAMyD,OAC3CqnC,EAAW/F,YAAY/kC,EAAM8D,GAAI9D,EAAMyD,KAAM+mC,EAAalmC,WAAM,EAAQtE,EAAM4qC,iBAIlF7qC,KAAKqP,SAAW,WACd,OAAOkzB,EAA2B,GAAIyI,OAAO/qC,EAAMyD,QAGrD1D,KAAK0D,KAAOA,EACZ1D,KAAK+D,GAAK,gBAAkBL,EAC5B1D,KAAK6qC,cAAgBA,EASvB,OANaD,EAAU1uC,UAEhB+uC,QAAU,WACf,OAAOjrC,KAAK0D,MAGPknC,EAzBoB,GAkCzBM,EAAmB,WACnBC,GAAY,OAkBhB,SAASC,GAAmBltC,GAC1B,OAAOA,EAAOhG,QAAQgzC,EAAkB,OAAOG,cAAcnzC,QAAQizC,GAAW,QAuBlF,IAAIG,GAAY,SAAmBC,GACjC,OAAOA,UAAmD,IAAVA,GAA6B,KAAVA,GAGjEC,GAAgB,SAASA,EAAcpnC,EAAKqnC,GAC9C,IAAIhH,EAAQ,GAiBZ,OAhBW9uC,OAAO0hB,KAAKjT,GAClBS,SAAQ,SAAU5I,GACrB,IAAKqvC,GAAUlnC,EAAInI,IAAO,CACxB,GAAIslC,EAAcn9B,EAAInI,IAEpB,OADAwoC,EAAMzmB,KAAKzZ,MAAMkgC,EAAO+G,EAAcpnC,EAAInI,GAAMA,IACzCwoC,EACF,GAAI9C,EAAWv9B,EAAInI,IAExB,OADAwoC,EAAMzmB,KAAKotB,GAAmBnvC,GAAO,IAAKmI,EAAInI,GAAM,KAC7CwoC,EAGTA,EAAMzmB,KAAKotB,GAAmBnvC,GAAO,MApClByH,EAoCyCzH,GAjCnD,OAHgBnG,EAoCwCsO,EAAInI,KAjCnC,kBAAVnG,GAAiC,KAAVA,EAC1C,GAGY,iBAAVA,GAAgC,IAAVA,GAAiB4N,KAAQ,IAInDsnC,OAAOl1C,GAAOyB,OAHZzB,EAAQ,MA4BgE,MApCnF,IAAyB4N,EAAM5N,EAuC3B,OAAO2uC,KAEFgH,EAAU,CAACA,EAAU,MAAMl+B,OAAOk3B,EAAO,CAAC,MAAQA,GAG3D,SAASiH,GAAQH,EAAOI,EAAkBZ,GACxC,GAAI19B,MAAM+H,QAAQm2B,GAAQ,CAGxB,IAFA,IAEoCx7B,EAFhC67B,EAAU,GAEL9vC,EAAI,EAAGwlC,EAAMiK,EAAM5zC,OAAgBmE,EAAIwlC,EAAKxlC,GAAK,EAEzC,MADfiU,EAAS27B,GAAQH,EAAMzvC,GAAI6vC,EAAkBZ,MACR19B,MAAM+H,QAAQrF,GAAS67B,EAAQ5tB,KAAKzZ,MAAMqnC,EAAS77B,GAAa67B,EAAQ5tB,KAAKjO,IAGpH,OAAO67B,EAGT,OAAIN,GAAUC,GACL,GAKL1J,EAAkB0J,GACb,IAAMA,EAAMzJ,kBAKjBH,EAAW4J,GAv8BQ,mBADI5yC,EAy8BD4yC,IAx8Ba5yC,EAAKuD,WAAavD,EAAKuD,UAAU2vC,mBAw8BpCF,EASpBJ,EADLG,GAPOH,EAAMI,GAOIA,EAAkBZ,GAI1CQ,aAAiBX,EACfG,GACFQ,EAAMT,OAAOC,GACNQ,EAAMN,WACDM,EAKThK,EAAcgK,GAASC,GAAcD,GAASA,EAAMl8B,WApBvD,IA18BuB1W,EAk+B7B,SAAS+sC,GAAIoG,GACX,IAAK,IAAI3+B,EAAOpR,UAAUpE,OAAQ0pC,EAAiB,IAAIh0B,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAC5G+zB,EAAe/zB,EAAO,GAAKvR,UAAUuR,GAGvC,OAAIq0B,EAAWmK,IAAWvK,EAAcuK,GAE/BJ,GAAQvK,EAAWK,EAAa,CAACsK,GAAQv+B,OAAO8zB,KAG3B,IAA1BA,EAAe1pC,QAAkC,IAAlBm0C,EAAOn0C,QAAqC,iBAAdm0C,EAAO,GAE/DA,EAIFJ,GAAQvK,EAAW2K,EAAQzK,IAiEpC,IAAInwB,GAAW,SAAkB66B,GAC/B,MAAsB,mBAARA,GAAqC,iBAARA,GAA4B,OAARA,IAAiB1+B,MAAM+H,QAAQ22B,IAG5FC,GAAa,SAAoB/vC,GACnC,MAAe,cAARA,GAA+B,gBAARA,GAAiC,cAARA,GAGzD,SAASgwC,GAAMpwC,EAAQkwC,EAAK9vC,GAC1B,IAAImI,EAAMvI,EAAOI,GAEbiV,GAAS66B,IAAQ76B,GAAS9M,GAC5B8nC,GAAU9nC,EAAK2nC,GAEflwC,EAAOI,GAAO8vC,EAIlB,SAASG,GAAUrwC,GACjB,IAAK,IAAIsR,EAAOpR,UAAUpE,OAAQuvB,EAAO,IAAI7Z,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAClG4Z,EAAK5Z,EAAO,GAAKvR,UAAUuR,GAG7B,IAAK,IAAI+3B,EAAK,EAAG8G,EAAQjlB,EAAMme,EAAK8G,EAAMx0C,OAAQ0tC,IAAM,CACtD,IAAIjhC,EAAM+nC,EAAM9G,GAEhB,GAAIn0B,GAAS9M,GACX,IAAK,IAAInI,KAAOmI,EACV4nC,GAAW/vC,IACbgwC,GAAMpwC,EAAQuI,EAAInI,GAAMA,GAMhC,OAAOJ,EAMT,IAAIuwC,GAAgB,WAOhBC,GAAoB,SAA2B7J,GACjD,OAAOwI,OAAOsB,aAAa9J,GAAQA,EAAO,GAAK,GAAK,MAKtD,SAAS+J,GAAuB/J,GAC9B,IACIvsC,EADAyN,EAAO,GAIX,IAAKzN,EAAIC,KAAKuwB,IAAI+b,GAAOvsC,EAdT,GAc0BA,EAAIA,EAd9B,GAcgD,EAC9DyN,EAAO2oC,GAAkBp2C,EAfX,IAe8ByN,EAG9C,OAAQ2oC,GAAkBp2C,EAlBV,IAkB6ByN,GAAMxL,QAAQk0C,GAAe,SAI5E,SAASI,GAAc/H,GACrB,IAAK,IAAI3oC,EAAI,EAAGA,EAAI2oC,EAAM9sC,OAAQmE,GAAK,EAAG,CACxC,IAAI6nC,EAAOc,EAAM3oC,GAEjB,GAAI6lC,EAAWgC,KAAU9B,EAAkB8B,GAGzC,OAAO,EAIX,OAAO,EAST,IAAI8I,GAA8B,WAChC,SAASA,EAAehI,EAAOmF,GAC7B5pC,KAAKykC,MAAQA,EACbzkC,KAAK0sC,cAAgB,GACrB1sC,KAAK2sC,SAAoDH,GAAc/H,GACvEzkC,KAAK4pC,YAAcA,EACnB5pC,KAAK4sC,SAAW9mC,EAAK8jC,GAGrB3C,EAAWK,WAAWsC,GA2DxB,OAlDa6C,EAAevwC,UAErB2wC,wBAA0B,SAAiClB,EAAkBZ,EAAYnC,GAC9F,IAAIgB,EAAc5pC,KAAK4pC,YAEvB,GAAI5pC,KAAK2sC,WAAa/D,EAAO9iC,KAAM,CACjC,GAAI9F,KAAK0sC,eAAiB3B,EAAWtD,aAAamC,EAAa5pC,KAAK0sC,eAClE,OAAO1sC,KAAK0sC,cAGd,IAAII,EAAYpB,GAAQ1rC,KAAKykC,MAAOkH,EAAkBZ,GAAY9vC,KAAK,IACnEyI,EAAO6oC,GAAuBpE,EAAMnoC,KAAK4sC,SAAUE,EAAUn1C,UAAY,GAE7E,IAAKozC,EAAWtD,aAAamC,EAAalmC,GAAO,CAC/C,IAAIqpC,EAAqBnE,EAAOkE,EAAW,IAAMppC,OAAM0B,EAAWwkC,GAClEmB,EAAW/F,YAAY4E,EAAalmC,EAAMqpC,GAI5C,OADA/sC,KAAK0sC,cAAgBhpC,EACdA,EAMP,IAJA,IAAI/L,EAASqI,KAAKykC,MAAM9sC,OACpBq1C,EAAc7E,EAAMnoC,KAAK4sC,SAAUhE,EAAO9iC,MAC1C4/B,EAAM,GAED5pC,EAAI,EAAGA,EAAInE,EAAQmE,IAAK,CAC/B,IAAImxC,EAAWjtC,KAAKykC,MAAM3oC,GAE1B,GAAwB,iBAAbmxC,EACTvH,GAAOuH,MAEF,CACL,IAAIC,EAAYxB,GAAQuB,EAAUtB,EAAkBZ,GAChDoC,EAAa9/B,MAAM+H,QAAQ83B,GAAaA,EAAUjyC,KAAK,IAAMiyC,EACjEF,EAAc7E,EAAM6E,EAAaG,EAAarxC,GAC9C4pC,GAAOyH,GAIX,IAAIC,EAAQb,GAAuBS,IAAgB,GAEnD,IAAKjC,EAAWtD,aAAamC,EAAawD,GAAQ,CAChD,IAAIC,EAAezE,EAAOlD,EAAK,IAAM0H,OAAOhoC,EAAWwkC,GACvDmB,EAAW/F,YAAY4E,EAAawD,EAAOC,GAG7C,OAAOD,GAIJX,EApEyB,GA8H9Ba,IA9BO,IAAI1F,IA8BM,SAAwBtrC,EAAOixC,EAAerqC,GAKjE,YAJqB,IAAjBA,IACFA,EAAew+B,GAGVplC,EAAMkf,QAAUtY,EAAasY,OAASlf,EAAMkf,OAAS+xB,GAAiBrqC,EAAasY,QAMxFgyB,GAAc,wCACdC,GAAe,WAMnB,SAASC,GAAOC,GACd,OAAOA,EACNz1C,QAAQs1C,GAAa,KACrBt1C,QAAQu1C,GAAc,IAIzB,SAASG,GAAM/xC,GACb,MAAyB,iBAAXA,IAAsH,EAUtI,IAAIgyC,GAAsB,SAA6BF,GACrD,OAAOpB,GAAuBzmC,EAAK6nC,KAAS,IAW9C,IAAIG,GAAe,IAAMzD,gBACLyD,GAAavD,SA4BjC,SAASwD,GAAczxC,GACrB,IAAI0xC,EAAa,qBAAWF,IACxBG,EAAe,mBAAQ,WACzB,OA7BJ,SAAoBzyB,EAAOwyB,GACzB,OAAKxyB,EAIDmmB,EAAWnmB,GACKA,EAAMwyB,GAStB3gC,MAAM+H,QAAQoG,IAA2B,iBAAVA,EAC1B+mB,EAA2B,GAG7ByL,EAAaryC,EAAS,GAAIqyC,EAAY,GAAIxyB,GAASA,EAjBjD+mB,EAA2B,IA2B3B2L,CAAW5xC,EAAMkf,MAAOwyB,KAC9B,CAAC1xC,EAAMkf,MAAOwyB,IAEjB,OAAK1xC,EAAMkI,SAIS,IAAMjD,cAAcusC,GAAaluB,SAAU,CAC7D9pB,MAAOm4C,GACN3xC,EAAMkI,UALA,KAUX,IAAI2pC,GAAc,GA2DlB,SAASC,GAAuBC,EAAoB/xC,EAAOgyC,GACzD,IAAIC,EAAiBF,EAAmBG,MACpCC,EAAiBJ,EAAmBI,eACpCvrC,EAAemrC,EAAmBnrC,aAClCwrC,EAAqBL,EAAmBK,mBACxCC,EAAoBN,EAAmBM,kBACvC7M,EAAoBuM,EAAmBvM,kBACvCjmC,EAASwyC,EAAmBxyC,OAChC,wBAAcimC,GAId,IAEI8M,EA9DN,SAA0BpzB,EAAOlf,EAAOkyC,QACxB,IAAVhzB,IACFA,EAAQkmB,GAMV,IAAIrY,EAAU1tB,EAAS,GAAIW,EAAO,CAChCkf,MAAOA,IAGLqzB,EAAgB,GAiBpB,OAhBAL,EAAM3pC,SAAQ,SAAUiqC,GACtB,IACI7yC,EA5EavE,EAAGG,EA2EhBk3C,EAAkBD,EAStB,IAAK7yC,KAND0lC,EAAWoN,KACbA,EAAkBA,EAAgB1lB,IAKxB0lB,EACV1lB,EAAQptB,GAAO4yC,EAAc5yC,GAAe,cAARA,GArFrBvE,EAqFuDm3C,EAAc5yC,GArFlEpE,EAqFwEk3C,EAAgB9yC,GApFvGvE,GAAKG,EAAIH,EAAI,IAAMG,EAAIH,GAAKG,GAoFmFk3C,EAAgB9yC,MAK/H,CAACotB,EAASwlB,GAiCOG,CAFZ1B,GAAehxC,EAAO,qBAAWwxC,IAAe5qC,IAEVw+B,EAAcplC,EAAOiyC,GACnEllB,EAAUulB,EAAkB,GAC5BJ,EAAQI,EAAkB,GAE1BK,EAlCN,SAA0BR,EAAgBS,EAAUL,EAAeM,GACjE,IAAIpE,EAAaL,IACb9B,EAAS+B,IAITvpC,EADWqtC,EAAe9B,WAAauC,EAChBT,EAAe5B,wBAAwBnL,EAAcqJ,EAAYnC,GAAU6F,EAAe5B,wBAAwBgC,EAAe9D,EAAYnC,GAOxK,OANA,wBAAcxnC,GAMPA,EAqBkBguC,CAAiBX,EAAgBF,EAAe52C,OAAS,EAAG0xB,GACjFgmB,EAAef,EACfgB,EAAqBd,EAAMe,KAAOjzC,EAAMizC,KAAOf,EAAMv3B,IAAM3a,EAAM2a,IAAMpb,EACvE2zC,EAAc5B,GAAM0B,GACpBG,EAAgBjB,IAAUlyC,EAAQX,EAAS,GAAIW,EAAO,GAAIkyC,GAASlyC,EACnEozC,EAAef,GAAqBa,GAAe,IACnDG,EAAkB,GAEtB,IAAK,IAAI1zC,KAAOwzC,EACC,MAAXxzC,EAAI,IAAsB,OAARA,IAAwC,gBAARA,EACpD0zC,EAAgB14B,GAAKw4B,EAAcxzC,GACzByzC,IAAgBA,EAAazzC,EAAK,OAE5C0zC,EAAgB1zC,GAAOwzC,EAAcxzC,KAUzC,OANIK,EAAMuqB,OAAS2nB,EAAM3nB,QAAUvqB,EAAMuqB,QACvC8oB,EAAgB9oB,MAAQlrB,EAAS,GAAIW,EAAMuqB,MAAO,GAAI2nB,EAAM3nB,QAG9D8oB,EAAgBvuC,UAAYiM,MAAMnR,UAAUqR,OAAOmhC,EAAoB5M,EAAmBmN,IAAuBnN,EAAoBmN,EAAqB,KAAM3yC,EAAM8E,UAAWotC,EAAMptC,WAAWge,OAAOwwB,SAAS30C,KAAK,KACvN00C,EAAgBphC,IAAM8gC,EACf,wBAAcC,EAAoBK,GAG3C,SAASE,GAAsBh0C,EAAQwN,EAASo7B,GAC9C,IAAIqL,EAAqBjO,EAAkBhmC,GACvCk0C,GAAwBnC,GAAM/xC,GAC9Bm0C,EAAuB3mC,EAAQwlB,YAC/BA,OAAuC,IAAzBmhB,EA3KpB,SAA6Bn0C,GAE3B,OAAO+xC,GAAM/xC,GAAU,UAAYA,EAAS,UAAY+lC,EAAiB/lC,GAAU,IAyK/Bo0C,CAAoBp0C,GAAUm0C,EAC9EE,EAAuB7mC,EAAQugC,YAC/BA,OAAuC,IAAzBsG,EA1GpB,SAAoBrhB,EAAashB,GAC/B,IAAIzsC,EAA8B,iBAAhBmrB,EAA2B,KAAO6e,GAAO7e,GAE3Dsf,GAAYzqC,IAASyqC,GAAYzqC,IAAS,GAAK,EAC/C,IAAIkmC,EAAclmC,EAAO,IAAMmqC,GAAoBnqC,EAAOyqC,GAAYzqC,IACtE,OAAOysC,EAAoBA,EAAoB,IAAMvG,EAAcA,EAqGfwG,CAAW/mC,EAAQwlB,YAAaxlB,EAAQ8mC,mBAAqBD,EAC7GG,EAAiBhnC,EAAQmlC,MACzBA,OAA2B,IAAnB6B,EAA4B7O,EAAc6O,EAClDvO,EAAoBz4B,EAAQwlB,aAAexlB,EAAQugC,YAAc8D,GAAOrkC,EAAQwlB,aAAe,IAAMxlB,EAAQugC,YAAcvgC,EAAQugC,aAAeA,EAElJ0G,EACJR,GAAsBj0C,EAAO2yC,MAAQnhC,MAAMnR,UAAUqR,OAAO1R,EAAO2yC,MAAOA,GAAOpvB,OAAOwwB,SAAWpB,EAE/FG,EAAoBtlC,EAAQslC,kBAE5BmB,GAAsBj0C,EAAO8yC,oBAG7BA,EAFEA,EAEkB,SAA2BttC,EAAMkvC,GACnD,OACE10C,EAAO8yC,kBAAkBttC,EAAMkvC,IAAalnC,EAAQslC,kBAAkBttC,EAAMkvC,IAK5D10C,EAAO8yC,mBAI/B,IAQI6B,EARA/B,EAAiB,IAAIhC,GAAeqD,EAExCj0C,EAAO4yC,eAAehK,MAAMl3B,OAAOk3B,GAASA,EAAO3C,GAQ/C2O,EAAa,SAAoBn0C,EAAOiS,GAC1C,OAAO6/B,GAAuBoC,EAAwBl0C,EAAOiS,IAqE/D,OAlEAkiC,EAAW5hB,YAAcA,GAEzB2hB,EAAyB,IAAMC,WAAWA,IACnBjC,MAAQ8B,EAC/BE,EAAuB/B,eAAiBA,EACxC+B,EAAuB3hB,YAAcA,EACrC2hB,EAAuB7B,kBAAoBA,EAG3C6B,EAAuB9B,mBAAqBoB,EAC5CziC,MAAMnR,UAAUqR,OAAO1R,EAAO6yC,mBAAoB7yC,EAAOimC,mBAAqBN,EAC9EgP,EAAuB1O,kBAAoBA,EAE3C0O,EAAuB30C,OAASi0C,EAChCj0C,EAAOA,OAASA,EAEhB20C,EAAuBE,cAAgB,SAAuBx5B,GAC5D,IAAIy5B,EAAsBtnC,EAAQugC,YAC9BgH,EA1jDR,SAAuC50C,EAAQmb,GAC7C,GAAc,MAAVnb,EAAgB,MAAO,GAC3B,IAEIC,EAAKH,EAFLD,EAAS,GACTub,EAAazhB,OAAO0hB,KAAKrb,GAG7B,IAAKF,EAAI,EAAGA,EAAIsb,EAAWzf,OAAQmE,IACjCG,EAAMmb,EAAWtb,GACbqb,EAAS/e,QAAQ6D,IAAQ,IAC7BJ,EAAOI,GAAOD,EAAOC,IAGvB,OAAOJ,EA8iDeyb,CAA8BjO,EAAS,CAAC,gBAExDwnC,EAAiBF,GAAuBA,EAAsB,KAAO/C,GAAM12B,GAAOA,EAAMw2B,GAAO9L,EAAiB1qB,KAOpH,OAAO24B,GAAsB34B,EALZvb,EAAS,GAAIi1C,EAAe,CAC3CpC,MAAO8B,EACP1G,YAAaiH,IAG+BpM,IAIhD9uC,OAAOC,eAAe46C,EAAwB,eAAgB,CAC5DnuC,IAAK,WACH,OAAOrC,KAAK8wC,qBAEdp1C,IAAK,SAAa0I,GAEhBpE,KAAK8wC,oBAAsBhB,EAAqB5D,GAAU,GAAIrwC,EAAOqH,aAAckB,GAAOA,KAU9FosC,EAAuBnhC,SAAW,WAChC,MAAO,IAAMmhC,EAAuB1O,mBAGlCiO,GACF,IAAMS,EAAwB30C,EAAQ,CAEpC2yC,OAAO,EACPC,gBAAgB,EAChB5f,aAAa,EACb6f,oBAAoB,EACpBC,mBAAmB,EACnBzxC,MAAM,EACN4kC,mBAAmB,EACnBjmC,QAAQ,EACR60C,eAAe,IAIZF,EAKT,IAGIO,GAAS,SAAgB75B,GAC3B,OA/kBF,SAAS85B,EAAqBC,EAAsB/5B,EAAK7N,GAKvD,QAJgB,IAAZA,IACFA,EAAUq4B,IAGP,6BAAmBxqB,GACtB,OAAOqrB,EAA2B,EAAGyI,OAAO9zB,IAM9C,IAAIg6B,EAAmB,WACrB,OAAOD,EAAqB/5B,EAAK7N,EAASq8B,GAAInhC,WAAM,EAAQxI,aAiB9D,OAZAm1C,EAAiBC,WAAa,SAAUtX,GACtC,OAAOmX,EAAqBC,EAAsB/5B,EAAKvb,EAAS,GAAI0N,EAAS,GAAIwwB,KAKnFqX,EAAiB1C,MAAQ,SAAUA,GACjC,OAAOwC,EAAqBC,EAAsB/5B,EAAKvb,EAAS,GAAI0N,EAAS,CAC3EmlC,MAAOnhC,MAAMnR,UAAUqR,OAAOlE,EAAQmlC,MAAOA,GAAOpvB,OAAOwwB,aAIxDsB,EAijBAF,CAAqBnB,GAAuB34B,IAJnC,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MACp8B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAOnMrS,SAAQ,SAAUusC,GAC5BL,GAAOK,GAAcL,GAAOK,MA6F9B,SAASC,GAAUjQ,GAOjB,IAAK,IAAIj0B,EAAOpR,UAAUpE,OAAQ0pC,EAAiB,IAAIh0B,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAC5G+zB,EAAe/zB,EAAO,GAAKvR,UAAUuR,GAGvC,IAAIm3B,EAAQiB,GAAInhC,WAAM,EAAQ,CAAC68B,GAAS7zB,OAAO8zB,IAAiBpmC,KAAK,IACjEyI,EAAOmqC,GAAoBpJ,GAC/B,OAAO,IAAImG,EAAUlnC,EAAM,CAAC+gC,EAAO/gC,EAAM,eAG3C,IAgFI4tC,GAAY,SAAmB5xC,GAEjC,IAAI6xC,EAAY,IAAMd,YAAW,SAAUn0C,EAAOiS,GAChD,IAAIiN,EAAQ,qBAAWsyB,IAEnB5qC,EAAexD,EAAUwD,aACzBsuC,EAAYlE,GAAehxC,EAAOkf,EAAOtY,GAO7C,OAAoB,IAAM3B,cAAc7B,EAAW/D,EAAS,GAAIW,EAAO,CACrEkf,MAAOg2B,EACPjjC,IAAKA,QAKT,OAFA,IAAMgjC,EAAW7xC,GACjB6xC,EAAU1iB,YAAc,aAAe+S,EAAiBliC,GAAa,IAC9D6xC,GAqCM,S,wDCx4Df57C,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI6F,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GAGLO,EAAe,WACjB,SAASC,EAAiBR,EAAQS,GAChC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAM3E,OAAQmE,IAAK,CACrC,IAAIS,EAAaD,EAAMR,GACvBS,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD/G,OAAOC,eAAeiG,EAAQU,EAAWN,IAAKM,IAIlD,OAAO,SAAUI,EAAaC,EAAYC,GAGxC,OAFID,GAAYP,EAAiBM,EAAYT,UAAWU,GACpDC,GAAaR,EAAiBM,EAAaE,GACxCF,GAdQ,GAoBfsH,EAAUC,EAFD,EAAQ,SAUjBgO,GAJahO,EAFD,EAAQ,SAMPA,EAFD,EAAQ,UAMpBkK,EAAclK,EAFD,EAAQ,SAIzB,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAkCbvO,EAAQE,QAAU,SAAU2J,GAC1B,IAAIyD,EAAU,SAAUpD,GAGtB,SAASoD,EAAQ7G,IAlCrB,SAAyBS,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIK,UAAU,qCAiClBF,CAAgBkD,KAAMmD,GAEtB,IAAIlD,EA/BV,SAAoC/C,EAAMxD,GACxC,IAAKwD,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOzD,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BwD,EAAPxD,EA0B1DuD,CAA2B+C,MAAOmD,EAAQzF,WAAa/H,OAAOuK,eAAeiD,IAAUzJ,KAAKsG,KAAM1D,IAK9G,OAHA2D,EAAMqD,cAAgB,CACpBC,QAAS,MAEJtD,EA0CT,OAtEJ,SAAmB5C,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIN,UAAU,kEAAoEM,GAG1FD,EAASnB,UAAYvG,OAAO4H,OAAOD,GAAcA,EAAWpB,UAAW,CACrEsB,YAAa,CACX1H,MAAOuH,EACPb,YAAY,EACZE,UAAU,EACVD,cAAc,KAGda,IAAY3H,OAAO8H,eAAiB9H,OAAO8H,eAAeJ,EAAUC,GAAcD,EAASK,UAAYJ,GAKzGF,CAAU+F,EAASpD,GAanB3D,EAAa+G,EAAS,CAAC,CACrBlH,IAAK,oBACLnG,MAAO,WACL,GAAsB,oBAAX0N,OACT,OAAO,EAGTxD,KAAKyD,cAAczD,KAAK1D,MAAMoH,QAE/B,CACDzH,IAAK,qBACLnG,MAAO,SAA4B6N,GAC7B3D,KAAK1D,MAAMoH,OAASC,EAAUD,MAChC1D,KAAKyD,cAAczD,KAAK1D,MAAMoH,QAGjC,CACDzH,IAAK,uBACLnG,MAAO,WACL,GAAsB,oBAAX0N,OACT,OAAO,EAGT0O,EAAWnc,QAAQ6N,WAAW5D,KAAK1D,MAAMoH,QAE1C,CACDzH,IAAK,gBACLnG,MAAO,SAAuB4N,GAC5BwO,EAAWnc,QAAQ8N,SAASH,EAAM1D,KAAKsD,cAAcC,WAEtD,CACDtH,IAAK,SACLnG,MAAO,WACL,OAAOmO,EAAQlO,QAAQwL,cAAc7B,EAAW/D,EAAS,GAAIqE,KAAK1D,MAAO,CACvEwH,eAAgB9D,KAAKsD,qBAKpBH,EArDK,CAsDZc,EAAQlO,QAAQ2J,WAOlB,OAJAyD,EAAQF,UAAY,CAClBS,KAAM0K,EAAYrY,QAAQmI,OAC1B6F,GAAIqK,EAAYrY,QAAQmI,QAEnBiF,I,kCCtJTxN,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAMgCsO,EAN5BqtC,EAAU,EAAQ,QAElBC,GAI4BttC,EAJMqtC,IAKtBrtC,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAJTK,EAAyB,EAAQ,QASrC,IAII7G,EAAY,CACd+zC,aAAc,GACdC,YAAa,GACbC,oBAAqB,GACrBjxC,MAAO,SAAeH,GACpB,GAAIA,EAAoB,CACtB,IAAIqxC,EAVW,SAAwBA,GAC3C,OAAO,EAAIJ,EAAS37C,SAAS+7C,EAAc,IASpBC,EAAe,SAAUrwC,GAC1C9D,EAAUo0C,cAAcvxC,MAE1B7C,EAAUi0C,oBAAoB7zB,KAAKvd,IACnC,EAAIgE,EAAuBK,yBAAyBrE,EAAoB,SAAUqxC,KAGtFnxC,UAAW,SAAmBF,GAC5B,OAAsE,IAA/D7C,EAAUi0C,oBAAoBz5C,QAAQqI,IAE/CoJ,iBAAkB,SAA0BpJ,GAC1C,GAAIA,IAAuBH,SAAU,CACnC,IAAI4J,OAA2C9E,IAAvB5B,OAAOiH,YAC3BL,EAA+C,gBAA/B9J,SAAS+J,YAAc,IAC3C,OAAOH,EAAoB1G,OAAO2G,YAAcC,EAAe9J,SAASgK,gBAAgBL,WAAa3J,SAAS0J,KAAKC,WAEnH,OAAOxJ,EAAmBwJ,YAG9BM,iBAAkB,SAA0B9J,GAC1C,GAAIA,IAAuBH,SAAU,CACnC,IAAI4J,OAA2C9E,IAAvB5B,OAAO2G,YAC3BC,EAA+C,gBAA/B9J,SAAS+J,YAAc,IAC3C,OAAOH,EAAoB1G,OAAOiH,YAAcL,EAAe9J,SAASgK,gBAAgBE,UAAYlK,SAAS0J,KAAKQ,UAElH,OAAO/J,EAAmB+J,WAG9BwnC,cAAe,SAAuBvxC,IACpB7C,EAAUi0C,oBAAoBj0C,EAAUi0C,oBAAoBz5C,QAAQqI,IAAqBkxC,cAAgB,IAC/G9sC,SAAQ,SAAUzN,GAC1B,OAAOA,EAAEwG,EAAUiM,iBAAiBpJ,GAAqB7C,EAAU2M,iBAAiB9J,QAGxFK,gBAAiB,SAAyBmxC,GACxCr0C,EAAUg0C,YAAY5zB,KAAKi0B,IAE7BjxC,cAAe,SAAuBixC,EAASxxC,GAC7C,IAAIpC,EAAYT,EAAUi0C,oBAAoBj0C,EAAUi0C,oBAAoBz5C,QAAQqI,IAE/EpC,EAAUszC,eACbtzC,EAAUszC,aAAe,IAG3BtzC,EAAUszC,aAAa3zB,KAAKi0B,GAC5BA,EAAQr0C,EAAUiM,iBAAiBpJ,GAAqB7C,EAAU2M,iBAAiB9J,KAErFuC,aAAc,WACZpF,EAAUg0C,YAAY/sC,SAAQ,SAAUuO,GACtC,OAAOA,QAGXjS,QAAS,SAAiBJ,EAAcE,GACtCrD,EAAUi0C,oBAAoBhtC,SAAQ,SAAUzN,GAC9C,OAAOA,EAAEu6C,cAAgBv6C,EAAEu6C,aAAah6C,QAAUP,EAAEu6C,aAAankB,OAAOp2B,EAAEu6C,aAAav5C,QAAQ6I,GAAa,MAG1GrD,EAAUg0C,aAAeh0C,EAAUg0C,YAAYj6C,QACjDiG,EAAUg0C,YAAYpkB,OAAO5vB,EAAUg0C,YAAYx5C,QAAQ2I,GAAe,GAG5ET,SAAS6F,oBAAoB,SAAUvI,EAAUo0C,gBAEnDE,OAAQ,WACN,OAAOt0C,EAAUi0C,oBAAoBhtC,SAAQ,SAAUzN,GACrD,OAAOwG,EAAUo0C,cAAc56C,QAIrCvB,EAAQE,QAAU6H,G,kCChGlBjI,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IA6BTD,EAAQE,QAAU,CAChBmQ,WA3Be,SAAoBJ,EAAMqsC,GACzC,IAAIC,EAAgC,IAAtBtsC,EAAK1N,QAAQ,KAAa0N,EAAKxN,UAAU,GAAKwN,EACxDusC,EAAeD,EAAU,IAAMA,EAAU,GACzCE,EAAS9uC,QAAUA,OAAOk8B,SAC1B6S,EAAYF,EAAeC,EAAOE,SAAWF,EAAOG,OAASJ,EAAeC,EAAOE,SAAWF,EAAOG,OACzGN,EAAgBO,QAAQC,UAAU,KAAM,GAAIJ,GAAaG,QAAQE,aAAa,KAAM,GAAIL,IAuBxFzvC,QApBY,WACZ,OAAOU,OAAOk8B,SAAS55B,KAAK5N,QAAQ,KAAM,KAoB1C26C,yBAjB6B,SAAkCx0C,GAC/D,OAAO,SAAU0D,GACf,OAAO1D,EAAUy0C,SAAWz0C,GAAa0D,GAAW1D,EAAUy0C,SAAS/wC,MAA2D,GAA7C1D,EAAU00C,wBAAwBhxC,MAgBzH6J,aAZiB,SAAsBxU,EAAGqD,EAAG8Q,GAC7C,OAAIA,EACKnU,IAAMkJ,SAAW7F,EAAE0H,wBAAwByQ,MAAQpP,OAAOwvC,SAAWxvC,OAAO2G,aAAgD,WAAjC2e,iBAAiB1xB,GAAGqxB,SAAwBhuB,EAAEmyB,WAAanyB,EAAEmyB,WAAax1B,EAAEw1B,WAEvKx1B,IAAMkJ,SAAW7F,EAAE0H,wBAAwBC,KAAOoB,OAAOyvC,SAAWzvC,OAAOiH,aAAgD,WAAjCqe,iBAAiB1xB,GAAGqxB,SAAwBhuB,EAAEkyB,UAAYlyB,EAAEkyB,UAAYv1B,EAAEu1B,a,kCC1B/Kh3B,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAGT,IAAI6F,EAAWhG,OAAOiG,QAAU,SAAUC,GACxC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUpE,OAAQmE,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVrG,OAAOuG,UAAUC,eAAezC,KAAKsC,EAAQC,KAC/CJ,EAAOI,GAAOD,EAAOC,IAK3B,OAAOJ,GAKLyJ,EAAUpB,EAFD,EAAQ,SAMjBkO,EAAkBlO,EAFD,EAAQ,SAMzBiF,EAAiBjF,EAFD,EAAQ,SAI5B,SAASA,EAAuBE,GAC9B,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CACnCrO,QAASqO,GAIb,IAAI8uC,EAAW,GAEXC,OAAe,EAEnBt9C,EAAQE,QAAU,CAChBoL,QAAS,WACP+xC,EAAW,IAEbrvC,SAAU,SAAkBH,EAAM3B,GAChCmxC,EAASxvC,GAAQ3B,GAEnB6B,WAAY,SAAoBF,UACvBwvC,EAASxvC,IAElBrB,IAAK,SAAaqB,GAChB,OAAOwvC,EAASxvC,IAASpD,SAASC,eAAemD,IAASpD,SAAS8yC,kBAAkB1vC,GAAM,IAAMpD,SAAS6+B,uBAAuBz7B,GAAM,IAEzIb,cAAe,SAAuBwwC,GACpC,OAAOF,EAAeE,GAExBxxC,cAAe,WACb,OAAOsxC,GAET1xC,SAAU,SAAkBxD,EAAI3B,GAC9B,IAAIT,EAASmE,KAAKqC,IAAIpE,GAEtB,GAAKpC,EAAL,CAQA,IAAIuC,GAHJ9B,EAAQX,EAAS,GAAIW,EAAO,CAC1B6C,UAAU,KAEYf,YACpBC,EAAY/B,EAAM+B,UAClByL,OAAmB,EAGrBA,EADE1L,EACiBkC,SAASC,eAAenC,GAClCC,GAAaA,EAAUmC,SACbnC,EAEAiC,SAGrBhE,EAAM6C,UAAW,EACjB,IAAIoM,EAAajP,EAAMiP,WACnBK,EAAetG,EAAQvP,QAAQ6V,aAAa9B,EAAkBjO,EAAQ0P,IAAejP,EAAMsC,QAAU,GAKzG,IAAKtC,EAAMoC,OAmBT,OAlBIyK,EAAepT,QAAQ0V,WAAkB,OAC3CtC,EAAepT,QAAQ0V,WAAkB,MAAExN,EAAIpC,GAG7CiO,IAAqBxJ,SACnBhE,EAAMiP,WACR/H,OAAO/B,SAASmK,EAAc,GAE9BpI,OAAO/B,SAAS,EAAGmK,GAGrB9B,EAAiBU,UAAYoB,OAG3BzC,EAAepT,QAAQ0V,WAAgB,KACzCtC,EAAepT,QAAQ0V,WAAgB,IAAExN,EAAIpC,IAUjDuW,EAAgBrc,QAAQ4V,iBAAiBC,EAActP,EAAO2B,EAAIpC,QApDhE+D,QAAQC,KAAK","file":"component---node-modules-accrosoft-ltd-accropress-theme-inspiration-src-templates-homepage-js-e99510a19294cf08bef7.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","\"use strict\";\n/* DEPRECATED */\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar React = require('react');\n\nvar ReactDOM = require('react-dom');\n\nvar utils = require('./utils');\n\nvar scrollSpy = require('./scroll-spy');\n\nvar defaultScroller = require('./scroller');\n\nvar PropTypes = require('prop-types');\n\nvar scrollHash = require('./scroll-hash');\n\nvar protoTypes = {\n to: PropTypes.string.isRequired,\n containerId: PropTypes.string,\n container: PropTypes.object,\n activeClass: PropTypes.string,\n spy: PropTypes.bool,\n smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n offset: PropTypes.number,\n delay: PropTypes.number,\n isDynamic: PropTypes.bool,\n onClick: PropTypes.func,\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n absolute: PropTypes.bool,\n onSetActive: PropTypes.func,\n onSetInactive: PropTypes.func,\n ignoreCancelEvents: PropTypes.bool,\n hashSpy: PropTypes.bool\n};\nvar Helpers = {\n Scroll: function Scroll(Component, customScroller) {\n console.warn(\"Helpers.Scroll is deprecated since v1.7.0\");\n var scroller = customScroller || defaultScroller;\n\n var Scroll = function (_React$Component) {\n _inherits(Scroll, _React$Component);\n\n function Scroll(props) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!scrollSpy.isMounted(scrollSpyContainer)) {\n scrollSpy.mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!scrollHash.isMounted()) {\n scrollHash.mount(scroller);\n }\n\n scrollHash.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n if (this.props.spy) {\n scrollSpy.addStateHandler(this.stateHandler);\n }\n\n scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer);\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n scrollSpy.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return React.createElement(Component, props);\n }\n }]);\n\n return Scroll;\n }(React.Component);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.stateHandler = function () {\n if (scroller.getActiveLink() !== _this2.props.to) {\n if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) {\n _this2.props.onSetInactive();\n }\n\n _this2.setState({\n active: false\n });\n }\n };\n\n this.spyHandler = function (y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (scrollHash.isMounted() && !scrollHash.isInitialized()) {\n return;\n }\n\n var to = _this2.props.to;\n var element = null;\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemTopBound = cords.top - containerTop + y;\n elemBottomBound = elemTopBound + cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n Scroll.propTypes = protoTypes;\n Scroll.defaultProps = {\n offset: 0\n };\n return Scroll;\n },\n Element: function Element(Component) {\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n return Element;\n }\n};\nmodule.exports = Helpers;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ButtonElement = function (_React$Component) {\n _inherits(ButtonElement, _React$Component);\n\n function ButtonElement() {\n _classCallCheck(this, ButtonElement);\n\n return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments));\n }\n\n _createClass(ButtonElement, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement('input', this.props, this.props.children);\n }\n }]);\n\n return ButtonElement;\n}(_react2.default.Component);\n\n;\nexports.default = (0, _scrollLink2.default)(ButtonElement);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\nexports.default = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default index;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n mount: function mount(scroller) {\n this.scroller = scroller;\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, {\n container: container\n });\n }\n },\n getHash: function getHash() {\n return _utils2.default.getHash();\n },\n changeHash: function changeHash(to, saveHashHistory) {\n if (this.isInitialized() && _utils2.default.getHash() !== to) {\n _utils2.default.updateHash(to, saveHashHistory);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\nexports.default = scrollHash;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\n\n\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\n\n\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\n\n\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\n\n\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data; // Cancel on specific events\n\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n }\n\n return;\n }\n\n ;\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n window.clearTimeout(options.data.delayTimeout);\n\n _cancelEvents2.default.subscribe(function () {\n options.data.cancel = true;\n });\n\n setContainer(options);\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports.default = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar LinkElement = function (_React$Component) {\n _inherits(LinkElement, _React$Component);\n\n function LinkElement() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LinkElement);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () {\n return _react2.default.createElement('a', _this.props, _this.props.children);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return LinkElement;\n}(_react2.default.Component);\n\n;\nexports.default = (0, _scrollLink2.default)(LinkElement);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\n\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n\n return supportsPassiveOption;\n }();\n\n target.addEventListener(eventName, listener, supportsPassiveOption ? {\n passive: true\n } : false);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Events = {\n registered: {},\n scrollEvent: {\n register: function register(evtName, callback) {\n Events.registered[evtName] = callback;\n },\n remove: function remove(evtName) {\n Events.registered[evtName] = null;\n }\n }\n};\nexports.default = Events;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollElement = require('../mixins/scroll-element');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ElementWrapper = function (_React$Component) {\n _inherits(ElementWrapper, _React$Component);\n\n function ElementWrapper() {\n _classCallCheck(this, ElementWrapper);\n\n return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments));\n }\n\n _createClass(ElementWrapper, [{\n key: 'render',\n value: function render() {\n var _this2 = this; // Remove `parentBindings` from props\n\n\n var newProps = _extends({}, this.props);\n\n if (newProps.parentBindings) {\n delete newProps.parentBindings;\n }\n\n return _react2.default.createElement('div', _extends({}, newProps, {\n ref: function ref(el) {\n _this2.props.parentBindings.domNode = el;\n }\n }), this.props.children);\n }\n }]);\n\n return ElementWrapper;\n}(_react2.default.Component);\n\n;\nElementWrapper.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n};\nexports.default = (0, _scrollElement2.default)(ElementWrapper);","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now = function now() {\n return root.Date.now();\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = throttle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\n\nvar _Link = require('./components/Link.js');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nvar _Button = require('./components/Button.js');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _Element = require('./components/Element.js');\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _scroller = require('./mixins/scroller.js');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _scrollEvents = require('./mixins/scroll-events.js');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nvar _scrollSpy = require('./mixins/scroll-spy.js');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _animateScroll = require('./mixins/animate-scroll.js');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollLink = require('./mixins/scroll-link.js');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nvar _scrollElement = require('./mixins/scroll-element.js');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _Helpers = require('./mixins/Helpers.js');\n\nvar _Helpers2 = _interopRequireDefault(_Helpers);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.Link = _Link2.default;\nexports.Button = _Button2.default;\nexports.Element = _Element2.default;\nexports.scroller = _scroller2.default;\nexports.Events = _scrollEvents2.default;\nexports.scrollSpy = _scrollSpy2.default;\nexports.animateScroll = _animateScroll2.default;\nexports.ScrollLink = _scrollLink2.default;\nexports.ScrollElement = _scrollElement2.default;\nexports.Helpers = _Helpers2.default;\nexports.default = {\n Link: _Link2.default,\n Button: _Button2.default,\n Element: _Element2.default,\n scroller: _scroller2.default,\n Events: _scrollEvents2.default,\n scrollSpy: _scrollSpy2.default,\n animateScroll: _animateScroll2.default,\n ScrollLink: _scrollLink2.default,\n ScrollElement: _scrollElement2.default,\n Helpers: _Helpers2.default\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollSpy = require('./scroll-spy');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = require('./scroll-hash');\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool\n};\n\nexports.default = function (Component, customScroller) {\n var scroller = customScroller || _scroller2.default;\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return _react2.default.createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2.default.PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n Link.propTypes = protoTypes;\n Link.defaultProps = {\n offset: 0\n };\n return Link;\n};","import React__default, { createElement, Component, useRef as useRef$1, useState as useState$6, useCallback as useCallback$1, useDebugValue, createContext, useEffect as useEffect$3, useReducer as useReducer$1, memo as memo$b, Fragment, useContext as useContext$8, useMemo as useMemo$4, useLayoutEffect as useLayoutEffect$1 } from 'react';\nimport styled, { keyframes, css, ThemeProvider, withTheme } from 'styled-components';\nimport reactDom from 'react-dom';\nimport propTypes from 'prop-types';\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nfunction __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nfunction __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant = function invariant(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n\n throw error;\n }\n};\n\nvar invariant_1 = invariant;\nvar INSTANCE_MAP = new Map();\nvar OBSERVER_MAP = new Map();\nvar ROOT_IDS = new Map();\nvar consecutiveRootId = 0;\n/**\n * Generate a unique ID for the root element\n * @param root\n */\n\nfunction getRootId(root) {\n if (!root) return '';\n if (ROOT_IDS.has(root)) return ROOT_IDS.get(root);\n consecutiveRootId += 1;\n ROOT_IDS.set(root, consecutiveRootId.toString());\n return ROOT_IDS.get(root) + '_';\n}\n/**\n * Monitor element, and trigger callback when element becomes inView\n * @param element {HTMLElement}\n * @param callback {Function} Called with inView\n * @param options {Object} InterSection observer options\n * @param options.threshold {Number} Number between 0 and 1, indicating how much of the element should be inView before triggering\n * @param options.root {HTMLElement}\n * @param options.rootMargin {String} The CSS margin to apply to the root element.\n */\n\n\nfunction observe(element, callback, options) {\n if (options === void 0) {\n options = {};\n } // IntersectionObserver needs a threshold to trigger, so set it to 0 if it's not defined.\n // Modify the options object, since it's used in the onChange handler.\n\n\n if (!options.threshold) options.threshold = 0;\n var _options = options,\n root = _options.root,\n rootMargin = _options.rootMargin,\n threshold = _options.threshold; // Validate that the element is not being used in another \n\n invariant_1(!INSTANCE_MAP.has(element), \"react-intersection-observer: Trying to observe %s, but it's already being observed by another instance.\\nMake sure the `ref` is only used by a single instance.\\n\\n%s\", element);\n /* istanbul ignore if */\n\n if (!element) return; // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n // An observer with the same options can be reused, so lets use this fact\n\n var observerId = getRootId(root) + (rootMargin ? threshold.toString() + \"_\" + rootMargin : threshold.toString());\n var observerInstance = OBSERVER_MAP.get(observerId);\n\n if (!observerInstance) {\n observerInstance = new IntersectionObserver(onChange, options);\n /* istanbul ignore else */\n\n if (observerId) OBSERVER_MAP.set(observerId, observerInstance);\n }\n\n var instance = {\n callback: callback,\n element: element,\n inView: false,\n observerId: observerId,\n observer: observerInstance,\n // Make sure we have the thresholds value. It's undefined on a browser like Chrome 51.\n thresholds: observerInstance.thresholds || (Array.isArray(threshold) ? threshold : [threshold])\n };\n INSTANCE_MAP.set(element, instance);\n observerInstance.observe(element);\n return instance;\n}\n/**\n * Stop observing an element. If an element is removed from the DOM or otherwise destroyed,\n * make sure to call this method.\n * @param element {Element}\n */\n\n\nfunction unobserve(element) {\n if (!element) return;\n var instance = INSTANCE_MAP.get(element);\n\n if (instance) {\n var observerId = instance.observerId,\n observer = instance.observer;\n var root = observer.root;\n observer.unobserve(element); // Check if we are still observing any elements with the same threshold.\n\n var itemsLeft = false; // Check if we still have observers configured with the same root.\n\n var rootObserved = false;\n /* istanbul ignore else */\n\n if (observerId) {\n INSTANCE_MAP.forEach(function (item, key) {\n if (key !== element) {\n if (item.observerId === observerId) {\n itemsLeft = true;\n rootObserved = true;\n }\n\n if (item.observer.root === root) {\n rootObserved = true;\n }\n }\n });\n }\n\n if (!rootObserved && root) ROOT_IDS[\"delete\"](root);\n\n if (observer && !itemsLeft) {\n // No more elements to observe for threshold, disconnect observer\n observer.disconnect();\n } // Remove reference to element\n\n\n INSTANCE_MAP[\"delete\"](element);\n }\n}\n\nfunction onChange(changes) {\n changes.forEach(function (intersection) {\n var isIntersecting = intersection.isIntersecting,\n intersectionRatio = intersection.intersectionRatio,\n target = intersection.target;\n var instance = INSTANCE_MAP.get(target); // Firefox can report a negative intersectionRatio when scrolling.\n\n /* istanbul ignore else */\n\n if (instance && intersectionRatio >= 0) {\n // If threshold is an array, check if any of them intersects. This just triggers the onChange event multiple times.\n var inView = instance.thresholds.some(function (threshold) {\n return instance.inView ? intersectionRatio > threshold : intersectionRatio >= threshold;\n });\n\n if (isIntersecting !== undefined) {\n // If isIntersecting is defined, ensure that the element is actually intersecting.\n // Otherwise it reports a threshold of 0\n inView = inView && isIntersecting;\n }\n\n instance.inView = inView;\n instance.callback(inView, intersection);\n }\n });\n}\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\n * Monitors scroll, and triggers the children function with updated props\n *\n \n {({inView, ref}) => (\n

{`${inView}`}

\n )}\n
\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n inView: false,\n entry: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleNode\", function (node) {\n if (_this.node) unobserve(_this.node);\n _this.node = node ? node : null;\n\n _this.observeNode();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleChange\", function (inView, entry) {\n // Only trigger a state update if inView has changed.\n // This prevents an unnecessary extra state update during mount, when the element stats outside the viewport\n if (inView !== _this.state.inView || inView) {\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n });\n\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n invariant_1(this.node, \"react-intersection-observer: No DOM node found. Make sure you forward \\\"ref\\\" to the root DOM element you want to observe.\");\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold) {\n unobserve(this.node);\n this.observeNode();\n }\n\n if (prevState.inView !== this.state.inView) {\n if (this.state.inView && this.props.triggerOnce) {\n unobserve(this.node);\n this.node = null;\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.node) {\n unobserve(this.node);\n this.node = null;\n }\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin;\n observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin\n });\n };\n\n _proto.render = function render() {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n\n if (!isPlainChildren(this.props)) {\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n tag = _this$props2.tag,\n triggerOnce = _this$props2.triggerOnce,\n threshold = _this$props2.threshold,\n root = _this$props2.root,\n rootMargin = _this$props2.rootMargin,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"children\", \"as\", \"tag\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\"]);\n\n return createElement(as || tag || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(Component);\n\n_defineProperty(InView, \"displayName\", 'InView');\n\n_defineProperty(InView, \"defaultProps\", {\n threshold: 0,\n triggerOnce: false\n});\n/* eslint-disable react-hooks/exhaustive-deps */\n\n\nfunction useInView(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ref = useRef$1();\n\n var _React$useState = useState$6({\n inView: false,\n entry: undefined\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = useCallback$1(function (node) {\n if (ref.current) {\n unobserve(ref.current);\n }\n\n if (node) {\n observe(node, function (inView, intersection) {\n setState({\n inView: inView,\n entry: intersection\n });\n\n if (inView && options.triggerOnce) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve(node);\n }\n }, options);\n } // Store a reference to the node\n\n\n ref.current = node;\n }, [options.threshold, options.root, options.rootMargin, options.triggerOnce]);\n useDebugValue(state.inView);\n return [setRef, state.inView, state.entry];\n}\n/**\r\n * Based on **`[Pause and resume setInterval](https://stackoverflow.com/a/42240115/10246377)`**.\r\n * `IntervalTimer` is a class that handles logic for intervals, e.g. start\r\n * stop, reset, resume, pause & maximum amount of fires.\r\n */\n\n\nvar EState;\n\n(function (EState) {\n EState[EState[\"IDLE\"] = 0] = \"IDLE\";\n EState[EState[\"RUNNING\"] = 1] = \"RUNNING\";\n EState[EState[\"PAUSED\"] = 2] = \"PAUSED\";\n EState[EState[\"RESUME\"] = 3] = \"RESUME\";\n})(EState || (EState = {}));\n\nvar IntervalTimer =\n/** @class */\nfunction () {\n function IntervalTimer(callback, interval, maxFires) {\n var _this = this;\n\n if (maxFires === void 0) {\n maxFires = undefined;\n } // Init\n\n\n this.callback = function () {\n return null;\n };\n /**\r\n * `proxyCallback` handles the callback execution, the amount\r\n * of fires, & the times when fired.\r\n * If `this.maxFires` is **not** null, and it's bigger than\r\n * `this.fires` and if `this.fires` exists, meaning if it the\r\n * interval was at least started once before, then never fire again.\r\n */\n\n\n this.proxyCallback = function () {\n if (_this.maxFires != null && _this.fires !== 0 && _this.fires >= _this.maxFires) {\n _this.stop();\n\n return;\n }\n\n _this.lastTimeFired = new Date();\n _this.fires += 1;\n\n _this.callback();\n };\n /**\r\n * `start` executes the interval, and saves the interval ID for further use.\r\n * The time of execution is also fired in case it's paused later on. The state\r\n * is finally set as running.\r\n */\n\n\n this.start = function () {\n _this.timerId = setInterval(function () {\n return _this.proxyCallback();\n }, _this.interval);\n _this.lastTimeFired = new Date();\n _this.state = EState.RUNNING;\n };\n /**\r\n * `stop` clears every respective timeout and interval, then sets the state as idle.\r\n */\n\n\n this.stop = function () {\n if (_this.state === 0) return;\n clearInterval(_this.timerId);\n clearTimeout(_this.resumeId);\n _this.state = EState.IDLE;\n };\n /**\r\n * Resets the interval.\r\n */\n\n\n this.reset = function () {\n _this.stop();\n\n _this.start();\n };\n /**\r\n * `pause` tries to mimic pausing the interval by calculating the remaining time and storing it\r\n * in a member variable. Afterwards clear the respective timeout and interval then set the new\r\n * state.\r\n */\n\n\n this.pause = function () {\n if (_this.state !== EState.RUNNING && _this.state !== EState.RESUME) return;\n _this.remaining = +_this.interval - (+new Date() - +_this.lastTimeFired) + +_this.pausedTime;\n _this.lastPauseTime = new Date();\n clearInterval(_this.timerId);\n clearTimeout(_this.resumeId);\n _this.state = EState.PAUSED;\n };\n /**\r\n * `resume` calculates the remaining time for the callback to trigger using the values\r\n * set by `paused`. Will execute a new `setTimeout` while passing the `remaining` time\r\n * as the timeout delay.\r\n */\n\n\n this.resume = function () {\n if (_this.state !== EState.PAUSED) return;\n var currentDate = new Date();\n _this.pausedTime = +_this.pausedTime + +currentDate - +_this.lastPauseTime;\n _this.state = EState.RESUME;\n _this.resumeId = setTimeout(function () {\n return _this.timeoutCallback();\n }, _this.remaining);\n };\n /**\r\n * `timeoutCallback` is executed by `resume`. `timeoutCallback` is the\r\n * callback of a new `setTimeout` executed by `resume` to mimic a resume\r\n * function.\r\n * We execute the callback by running `proxyCallback`, and then `start`\r\n * is executed to run a new interval.\r\n */\n\n\n this.timeoutCallback = function () {\n if (_this.state !== EState.RESUME) return;\n _this.pausedTime = 0;\n\n _this.proxyCallback();\n\n _this.start();\n };\n /**\r\n * Set a new interval to use on the next interval loop.\r\n */\n\n\n this.setInterval = function (newInterval) {\n if (_this.state === 1) {\n // If running we need to instantiate (new ID) the variable.\n _this.pause();\n\n _this.interval = newInterval;\n\n _this.resume();\n } else {\n // If stopped, idle, or paused then switch it.\n _this.interval = newInterval;\n }\n };\n /**\r\n * Maximum amount of times the `callback` member will execute, it's infinite by default.\r\n */\n\n\n this.setMaxFires = function (newMax) {\n if (newMax != null && _this.fires >= newMax) {\n _this.stop();\n }\n\n _this.maxFires = newMax;\n };\n /**\r\n * Remaining time before the next interval.\r\n */\n\n\n this.remaining = 0;\n /**\r\n * The state to handle logic.\r\n * - 0 means the interval is idle.\r\n * - 1 means it's running.\r\n * - 2 means it's paused\r\n * - 3 will resume.\r\n */\n\n this.state = EState.IDLE;\n this.interval = interval; // In milliseconds.\n\n this.callback = callback;\n /**\r\n * Maximum amount of fires.\r\n */\n\n this.maxFires = maxFires;\n /**\r\n * Time passed after pausing,\r\n */\n\n this.pausedTime = 0;\n this.fires = 0;\n }\n\n return IntervalTimer;\n}();\n\nvar EAutoplayButtons;\n\n(function (EAutoplayButtons) {\n EAutoplayButtons[\"PLAY\"] = \"play\";\n EAutoplayButtons[\"PAUSE\"] = \"pause\";\n})(EAutoplayButtons || (EAutoplayButtons = {}));\n\nvar EActionTypes;\n\n(function (EActionTypes) {\n EActionTypes[EActionTypes[\"SET_SLIDE_PROPS\"] = 0] = \"SET_SLIDE_PROPS\";\n EActionTypes[EActionTypes[\"SET_NAVBAR_PROPS\"] = 1] = \"SET_NAVBAR_PROPS\";\n EActionTypes[EActionTypes[\"SET_AUTOPLAY_BUTTON_PROPS\"] = 2] = \"SET_AUTOPLAY_BUTTON_PROPS\";\n EActionTypes[EActionTypes[\"SET_SLIDE_DATA\"] = 3] = \"SET_SLIDE_DATA\";\n})(EActionTypes || (EActionTypes = {}));\n/**\r\n * Type definition for `IBackgroundProps.backgroundAnimation`.\r\n */\n\n\nvar EBackgroundAnimations;\n\n(function (EBackgroundAnimations) {\n EBackgroundAnimations[\"FADE\"] = \"fade\";\n EBackgroundAnimations[\"ZOOM\"] = \"zoom\";\n})(EBackgroundAnimations || (EBackgroundAnimations = {})); // Type definitions for HeroSlider (hero-slider)\n\n/**\r\n * `EAnimations` enum for the different sliding animations.\r\n */\n\n\nvar EAnimations;\n\n(function (EAnimations) {\n EAnimations[\"TOP_TO_BOTTOM\"] = \"top_to_bottom\";\n EAnimations[\"BOTTOM_TO_TOP\"] = \"bottom_to_top\";\n EAnimations[\"LEFT_TO_RIGHT\"] = \"left_to_right\";\n EAnimations[\"RIGHT_TO_LEFT\"] = \"right_to_left\";\n EAnimations[\"FADE\"] = \"fade\";\n})(EAnimations || (EAnimations = {}));\n/**\r\n * `EAnimations` enum for the different sliding animations.\r\n */\n\n\nvar EAnimations$1;\n\n(function (EAnimations) {\n EAnimations[\"TOP_TO_BOTTOM\"] = \"top_to_bottom\";\n EAnimations[\"BOTTOM_TO_TOP\"] = \"bottom_to_top\";\n EAnimations[\"LEFT_TO_RIGHT\"] = \"left_to_right\";\n EAnimations[\"RIGHT_TO_LEFT\"] = \"right_to_left\";\n EAnimations[\"FADE\"] = \"fade\";\n})(EAnimations$1 || (EAnimations$1 = {}));\n/**\r\n * `EOrientation` definition used for the `ISliderProps.orientation` prop.\r\n * Used to define which swipes (depending on directions) will change the slides,\r\n * and where and how will the buttons render, if set to render.\r\n */\n\n\nvar EOrientation;\n\n(function (EOrientation) {\n EOrientation[\"VERTICAL\"] = \"vertical\";\n EOrientation[\"HORIZONTAL\"] = \"horizontal\";\n})(EOrientation || (EOrientation = {})); // Dependencies\n\n\nvar setInitialSlidingAnimation = function setInitialSlidingAnimation(animation) {\n switch (animation) {\n case EAnimations.FADE: // Top to bottom.\n\n case EAnimations.TOP_TO_BOTTOM: // Bottom to top.\n\n case EAnimations.BOTTOM_TO_TOP: // Left to right.\n\n case EAnimations.LEFT_TO_RIGHT:\n return animation;\n // Right to left, by default.\n\n case EAnimations.RIGHT_TO_LEFT:\n default:\n return EAnimations.RIGHT_TO_LEFT;\n }\n}; // Keyframes and animations\n\n\nvar fadeInKeyframes = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"])));\n/*\r\n--------------------------------\r\n----------ANIMATIONS------------\r\n--------------------------------\r\n*/\n\nvar slidingDuration = css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.slidingDuration || '600ms';\n});\nvar slidingDelay = css(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.slidingDelay || '0ms';\n});\nvar slideFadeInKeyframes = keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"])));\nvar slideFadeIn = css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"], [\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"])), slideFadeInKeyframes, slidingDuration, slidingDelay); // --------------------------------\n\nvar slideLeftToRightKeyframes = keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n 0% {\\n clip-path: inset(0% 100% 0% 0%);\\n -webkit-clip-path: inset(0% 100% 0% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"], [\"\\n 0% {\\n clip-path: inset(0% 100% 0% 0%);\\n -webkit-clip-path: inset(0% 100% 0% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"])));\nvar slideLeftToRight = css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"], [\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"])), slideLeftToRightKeyframes, slidingDuration, slidingDelay); // --------------------------------\n\nvar slideRightToLeftKeyframes = keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n 0% {\\n clip-path: inset(0% 0% 0% 100%);\\n -webkit-clip-path: inset(0% 0% 0% 100%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"], [\"\\n 0% {\\n clip-path: inset(0% 0% 0% 100%);\\n -webkit-clip-path: inset(0% 0% 0% 100%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"])));\nvar slideRightToLeft = css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"], [\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"])), slideRightToLeftKeyframes, slidingDuration, slidingDelay); // --------------------------------\n\nvar slideTopToBottomKeyframes = keyframes(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n 0% {\\n clip-path: inset(0% 0% 100% 0%);\\n -webkit-clip-path: inset(0% 0% 100% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"], [\"\\n 0% {\\n clip-path: inset(0% 0% 100% 0%);\\n -webkit-clip-path: inset(0% 0% 100% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"])));\nvar slideTopToBottom = css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"], [\"\\n /* keyframe name | duration | timing function | delay */\\n animation: \", \" \", \" ease-in-out \", \";\\n\"])), slideTopToBottomKeyframes, slidingDuration, slidingDelay); // --------------------------------\n\nvar slideBottomToTopKeyframes = keyframes(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n 0% {\\n clip-path: inset(100% 0% 0% 0%);\\n -webkit-clip-path: inset(100% 0% 0% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"], [\"\\n 0% {\\n clip-path: inset(100% 0% 0% 0%);\\n -webkit-clip-path: inset(100% 0% 0% 0%);\\n }\\n 100% {\\n clip-path: inset(0% 0% 0% 0%);\\n -webkit-clip-path: inset(0% 0% 0% 0%);\\n }\\n\"])));\nvar slideBottomToTop = css(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n/* keyframe name | duration | timing function | delay */\\nanimation: \", \" \", \" ease-in-out \", \";\\n\"], [\"\\n/* keyframe name | duration | timing function | delay */\\nanimation: \", \" \", \" ease-in-out \", \";\\n\"])), slideBottomToTopKeyframes, slidingDuration, slidingDelay); // --------------------------------\n\nvar animations = {\n slideFadeIn: slideFadeIn,\n slideLeftToRight: slideLeftToRight,\n slideRightToLeft: slideRightToLeft,\n slideTopToBottom: slideTopToBottom,\n slideBottomToTop: slideBottomToTop\n}; // Components\n\nvar Wrapper = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\\n width: 100%;\\n height: 100%;\\n position: relative;\\n overflow: hidden;\\n animation: \", \" \", \" ease-in;\\n /* Removes gray highlight when clicked on safari/mobile. */\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n\"], [\"\\n width: 100%;\\n height: 100%;\\n position: relative;\\n overflow: hidden;\\n animation: \", \" \", \" ease-in;\\n /* Removes gray highlight when clicked on safari/mobile. */\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n\"])), fadeInKeyframes, function (_a) {\n var theme = _a.theme;\n return theme.sliderFadeInDuration || 100;\n});\n/*\r\n `pointer-events` manipulation to allow clicking inner children AND children inside the Container.\r\n*/\n\nvar Container = styled.div(templateObject_15 || (templateObject_15 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 2;\\n pointer-events: none;\\n * {\\n pointer-events: auto;\\n }\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 2;\\n pointer-events: none;\\n * {\\n pointer-events: auto;\\n }\\n\"])));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;\n\nvar isMobile = function isMobile() {\n // Detect if running on the browser:\n var isBrowser = typeof window !== 'undefined';\n\n if (isBrowser) {\n if (navigator && /Mobi|Android/i.test(navigator.userAgent)) {\n return true;\n }\n\n return false;\n }\n\n return false;\n};\n\nvar initialContext = {\n isMobile: undefined,\n slidesArray: [],\n slideProps: undefined,\n navProps: undefined,\n autoplayButtonProps: undefined,\n dispatchProps: function dispatchProps() {\n return undefined;\n },\n generateNewSlideId: function generateNewSlideId() {\n return undefined;\n },\n removeSlideId: function removeSlideId() {\n return undefined;\n }\n};\nvar useState = useState$6,\n useEffect = useEffect$3,\n useReducer = useReducer$1,\n useRef = useRef$1,\n useCallback = useCallback$1;\nvar SliderContext = createContext(initialContext);\n\nvar reducer = function reducer(state, action) {\n var newState = _assign({}, state);\n\n switch (action.type) {\n case EActionTypes.SET_SLIDE_DATA:\n {\n var payload = action.payload;\n var slideNumber_1 = payload.slideNumber,\n navDescription = payload.navDescription;\n\n if (!newState.slidesArray.find(function (_a) {\n var number = _a.slideNumber;\n return number === slideNumber_1;\n })) {\n newState.slidesArray.push({\n slideNumber: slideNumber_1,\n navDescription: navDescription\n });\n return newState;\n }\n\n return state;\n }\n\n case EActionTypes.SET_SLIDE_PROPS:\n {\n var payload = action.payload;\n var activeSlide = payload.activeSlide,\n isDoneSliding = payload.isDoneSliding,\n slidingAnimation = payload.slidingAnimation;\n newState.slideProps = {\n activeSlide: activeSlide,\n isDoneSliding: isDoneSliding,\n slidingAnimation: slidingAnimation\n };\n return newState;\n }\n\n case EActionTypes.SET_NAVBAR_PROPS:\n {\n var payload = action.payload;\n var changeSlide = payload.changeSlide,\n activeSlide = payload.activeSlide,\n totalSlides = payload.totalSlides,\n sliderWidth = payload.sliderWidth;\n newState.navProps = {\n changeSlide: changeSlide,\n activeSlide: activeSlide,\n totalSlides: totalSlides,\n sliderWidth: sliderWidth\n };\n return newState;\n }\n\n case EActionTypes.SET_AUTOPLAY_BUTTON_PROPS:\n {\n var payload = action.payload;\n var setIsManuallyPaused = payload.setIsManuallyPaused,\n autoplayHandlerTimeout = payload.autoplayHandlerTimeout,\n shouldAutoplay = payload.shouldAutoplay,\n autoplay = payload.autoplay;\n newState.autoplayButtonProps = {\n setIsManuallyPaused: setIsManuallyPaused,\n autoplayHandlerTimeout: autoplayHandlerTimeout,\n shouldAutoplay: shouldAutoplay,\n autoplay: autoplay\n };\n return newState;\n }\n\n default:\n return state;\n }\n};\n\nvar SliderContextProvider = function SliderContextProvider(props) {\n var mobile = props.isMobile,\n children = props.children;\n var slideUniqueIdsArrayRef = useRef([]);\n var slideUniqueIdsArray = slideUniqueIdsArrayRef.current;\n var generateNewSlideId = useCallback(function () {\n var newSlideId = slideUniqueIdsArray.length + 1;\n slideUniqueIdsArray.push(newSlideId);\n return newSlideId;\n }, [slideUniqueIdsArray]);\n var removeSlideId = useCallback(function (removedSlideId) {\n slideUniqueIdsArrayRef.current = slideUniqueIdsArray.filter(function (slideId) {\n return removedSlideId !== slideId;\n });\n }, [slideUniqueIdsArray]);\n\n var _a = useReducer(reducer, {\n // Creating a new array to not affect other context values due to immutability.\n slidesArray: initialContext.slidesArray.slice(),\n slideProps: initialContext.slideProps,\n navProps: initialContext.navProps,\n autoplayButtonProps: initialContext.autoplayButtonProps\n }),\n sliderContextProps = _a[0],\n dispatchProps = _a[1];\n\n var slideProps = sliderContextProps.slideProps,\n slidesArray = sliderContextProps.slidesArray,\n navProps = sliderContextProps.navProps,\n autoplayButtonProps = sliderContextProps.autoplayButtonProps;\n\n var _b = useState(mobile),\n isMobile$1 = _b[0],\n setIsMobile = _b[1]; // When mounting, if `isMobile` is undefined, then set the default is mobile\n // based on the browser user agent.\n\n\n useEffect(function () {\n if (typeof isMobile$1 === 'undefined') {\n setIsMobile(isMobile());\n }\n }, [isMobile$1]);\n return createElement(SliderContext.Provider, {\n value: {\n dispatchProps: dispatchProps,\n isMobile: isMobile$1,\n slidesArray: slidesArray,\n slideProps: slideProps,\n navProps: navProps,\n autoplayButtonProps: autoplayButtonProps,\n generateNewSlideId: generateNewSlideId,\n removeSlideId: removeSlideId\n }\n }, children);\n};\n\nvar Wrapper$1 = styled.div(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject([\"\\n position: absolute;\\n z-index: 2;\\n\\n &,\\n & * {\\n /* To disable double-tap zoom */\\n touch-action: manipulation;\\n pointer-events: none;\\n }\\n\\n @media (max-width: 744px) {\\n & {\\n display: none;\\n }\\n }\\n\\n .slide-button-container {\\n position: absolute;\\n display: block;\\n height: 100%;\\n width: 100%;\\n top: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: none;\\n transition: all 400ms;\\n pointer-events: none;\\n }\\n\\n /* pointer-events manipulation to allow clicking inner children AND children inside the slide-button-container. */\\n & *:not(.slide-button-container),\\n .slide-button-container * {\\n pointer-events: auto;\\n }\\n\\n .slide-button-button-svg {\\n width: 100%;\\n /* Disabling button styling */\\n background: none;\\n color: inherit;\\n border: none;\\n padding: 0;\\n font: inherit;\\n cursor: pointer;\\n outline: inherit;\\n }\\n\\n .slide-button-button-svg svg {\\n opacity: 0.5;\\n width: 60px;\\n height: 60px;\\n transition: all 200ms ease-in-out;\\n color: #FFF;\\n }\\n\\n .slide-button-button-svg:hover svg {\\n opacity: 1;\\n width: 80px;\\n height: 80px;\\n color: #FFF;\\n }\\n\\n /**\\n * --------------------------------------\\n * -------------HORIZONTAL---------------\\n * --------------------------------------\\n */\\n\\n &.slide-button-horizontal {\\n top: 0;\\n width: 20%;\\n height: 100%;\\n min-width: 45px;\\n max-width: 120px;\\n }\\n\\n &.slide-button-horizontal.slide-button-previous {\\n left: 0;\\n }\\n\\n &.slide-button-horizontal.slide-button-next {\\n right: 0;\\n }\\n\\n &.slide-button-horizontal .slide-button-container:hover {\\n --shadow: 100%;\\n }\\n\\n &.slide-button-horizontal.slide-button-previous .slide-button-container {\\n left: 33%;\\n transform: translateX(-50%) scaleX(-1);\\n background: linear-gradient(\\n 90deg,\\n var(--c1, transparent) 40%,\\n var(--c2, rgb(37, 37, 37, .05)) 60%,\\n var(--c3, rgb(37, 37, 37, 0.5)) 85%\\n ) var(--shadow, 0) / 200%;\\n }\\n\\n &.slide-button-horizontal.slide-button-next .slide-button-container {\\n right: 33%;\\n transform: translateX(50%);\\n background: linear-gradient(\\n 90deg,\\n var(--c1, transparent) 40%,\\n var(--c2, rgb(37, 37, 37, .05)) 60%,\\n var(--c3, rgb(37, 37, 37, 0.5)) 85%\\n ) var(--shadow, 0) / 200%;\\n }\\n\\n /**\\n * ------------------------------------\\n * -------------VERTICAL---------------\\n * ------------------------------------\\n */\\n\\n &.slide-button-vertical {\\n width: 100%;\\n height: 15%;\\n max-height: 200px;\\n }\\n\\n &.slide-button-vertical.slide-button-previous {\\n top: 0;\\n }\\n\\n &.slide-button-vertical.slide-button-next {\\n bottom: 0;\\n }\\n\\n &.slide-button-vertical .slide-button-container:hover {\\n --shadow: 0;\\n }\\n\\n &.slide-button-vertical.slide-button-previous .slide-button-container {\\n background: linear-gradient(to bottom,\\n rgb(37, 37, 37, 0.66) 0%,\\n rgb(37, 37, 37, 0.33) 50%,\\n rgb(37, 37, 37, 0.15) 75%,\\n rgb(37, 37, 37, 0.01) 100%) no-repeat 0px var(--shadow, -200px);\\n }\\n\\n &.slide-button-vertical.slide-button-previous svg {\\n transform: rotate(-90deg);\\n }\\n\\n &.slide-button-vertical.slide-button-next .slide-button-container {\\n background: linear-gradient(to top,\\n rgb(37, 37, 37, 0.66) 0%,\\n rgb(37, 37, 37, 0.33) 50%,\\n rgb(37, 37, 37, 0.15) 75%,\\n rgb(37, 37, 37, 0.01) 100%) no-repeat 0px var(--shadow, 200px);\\n }\\n\\n &.slide-button-vertical.slide-button-next svg {\\n transform: rotate(90deg);\\n }\\n\"], [\"\\n position: absolute;\\n z-index: 2;\\n\\n &,\\n & * {\\n /* To disable double-tap zoom */\\n touch-action: manipulation;\\n pointer-events: none;\\n }\\n\\n @media (max-width: 744px) {\\n & {\\n display: none;\\n }\\n }\\n\\n .slide-button-container {\\n position: absolute;\\n display: block;\\n height: 100%;\\n width: 100%;\\n top: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: none;\\n transition: all 400ms;\\n pointer-events: none;\\n }\\n\\n /* pointer-events manipulation to allow clicking inner children AND children inside the slide-button-container. */\\n & *:not(.slide-button-container),\\n .slide-button-container * {\\n pointer-events: auto;\\n }\\n\\n .slide-button-button-svg {\\n width: 100%;\\n /* Disabling button styling */\\n background: none;\\n color: inherit;\\n border: none;\\n padding: 0;\\n font: inherit;\\n cursor: pointer;\\n outline: inherit;\\n }\\n\\n .slide-button-button-svg svg {\\n opacity: 0.5;\\n width: 60px;\\n height: 60px;\\n transition: all 200ms ease-in-out;\\n color: #FFF;\\n }\\n\\n .slide-button-button-svg:hover svg {\\n opacity: 1;\\n width: 80px;\\n height: 80px;\\n color: #FFF;\\n }\\n\\n /**\\n * --------------------------------------\\n * -------------HORIZONTAL---------------\\n * --------------------------------------\\n */\\n\\n &.slide-button-horizontal {\\n top: 0;\\n width: 20%;\\n height: 100%;\\n min-width: 45px;\\n max-width: 120px;\\n }\\n\\n &.slide-button-horizontal.slide-button-previous {\\n left: 0;\\n }\\n\\n &.slide-button-horizontal.slide-button-next {\\n right: 0;\\n }\\n\\n &.slide-button-horizontal .slide-button-container:hover {\\n --shadow: 100%;\\n }\\n\\n &.slide-button-horizontal.slide-button-previous .slide-button-container {\\n left: 33%;\\n transform: translateX(-50%) scaleX(-1);\\n background: linear-gradient(\\n 90deg,\\n var(--c1, transparent) 40%,\\n var(--c2, rgb(37, 37, 37, .05)) 60%,\\n var(--c3, rgb(37, 37, 37, 0.5)) 85%\\n ) var(--shadow, 0) / 200%;\\n }\\n\\n &.slide-button-horizontal.slide-button-next .slide-button-container {\\n right: 33%;\\n transform: translateX(50%);\\n background: linear-gradient(\\n 90deg,\\n var(--c1, transparent) 40%,\\n var(--c2, rgb(37, 37, 37, .05)) 60%,\\n var(--c3, rgb(37, 37, 37, 0.5)) 85%\\n ) var(--shadow, 0) / 200%;\\n }\\n\\n /**\\n * ------------------------------------\\n * -------------VERTICAL---------------\\n * ------------------------------------\\n */\\n\\n &.slide-button-vertical {\\n width: 100%;\\n height: 15%;\\n max-height: 200px;\\n }\\n\\n &.slide-button-vertical.slide-button-previous {\\n top: 0;\\n }\\n\\n &.slide-button-vertical.slide-button-next {\\n bottom: 0;\\n }\\n\\n &.slide-button-vertical .slide-button-container:hover {\\n --shadow: 0;\\n }\\n\\n &.slide-button-vertical.slide-button-previous .slide-button-container {\\n background: linear-gradient(to bottom,\\n rgb(37, 37, 37, 0.66) 0%,\\n rgb(37, 37, 37, 0.33) 50%,\\n rgb(37, 37, 37, 0.15) 75%,\\n rgb(37, 37, 37, 0.01) 100%) no-repeat 0px var(--shadow, -200px);\\n }\\n\\n &.slide-button-vertical.slide-button-previous svg {\\n transform: rotate(-90deg);\\n }\\n\\n &.slide-button-vertical.slide-button-next .slide-button-container {\\n background: linear-gradient(to top,\\n rgb(37, 37, 37, 0.66) 0%,\\n rgb(37, 37, 37, 0.33) 50%,\\n rgb(37, 37, 37, 0.15) 75%,\\n rgb(37, 37, 37, 0.01) 100%) no-repeat 0px var(--shadow, 200px);\\n }\\n\\n &.slide-button-vertical.slide-button-next svg {\\n transform: rotate(90deg);\\n }\\n\"])));\nvar templateObject_1$1;\n/* tslint:disable max-line-length */\n\nvar useContext = useContext$8,\n memo = memo$b;\n\nvar ButtonSVG = function ButtonSVG() {\n return createElement(\"svg\", {\n width: \"60px\",\n height: \"60px\",\n strokeWidth: \"5\",\n version: \"1.1\",\n viewBox: \"0 0 129 129\"\n }, createElement(\"g\", {\n fill: \"currentColor\"\n }, createElement(\"path\", {\n d: \"m40.4,121.3c-0.8,0.8-1.8,1.2-2.9,1.2s-2.1-0.4-2.9-1.2c-1.6-1.6-1.6-4.2 0-5.8l51-51-51-51c-1.6-1.6-1.6-4.2 0-5.8 1.6-1.6 4.2-1.6 5.8,0l53.9,53.9c1.6,1.6 1.6,4.2 0,5.8l-53.9,53.9z\"\n })));\n};\n\nvar Buttons = function Buttons(props) {\n var isMobile = useContext(SliderContext).isMobile;\n if (isMobile) return null;\n return createElement(Fragment, null, createElement(Wrapper$1, {\n className: ['slide-button-previous', props.isHorizontal ? 'slide-button-horizontal' : 'slide-button-vertical'].join(' ')\n }, createElement(\"div\", {\n className: \"slide-button-container\"\n }, createElement(\"button\", {\n onClick: props.previousSlide,\n className: \"slide-button-button-svg\"\n }, createElement(ButtonSVG, null)))), createElement(Wrapper$1, {\n className: ['slide-button-next', props.isHorizontal ? 'slide-button-horizontal' : 'slide-button-vertical'].join(' ')\n }, createElement(\"div\", {\n className: \"slide-button-container\"\n }, createElement(\"button\", {\n onClick: props.nextSlide,\n className: \"slide-button-button-svg\"\n }, createElement(ButtonSVG, null)))));\n};\n\nvar Buttons$1 = memo(Buttons);\nvar useContext$1 = useContext$8,\n useEffect$1 = useEffect$3,\n useState$1 = useState$6,\n useLayoutEffect = useLayoutEffect$1,\n memo$1 = memo$b;\nvar HeroSlider = memo$1(function (props) {\n var onBeforeChange = props.onBeforeChange,\n onAfterChange = props.onAfterChange,\n onChange = props.onChange;\n /**\r\n * Slider reference object to calculate its dimensions.\r\n */\n\n var sliderRef = useRef$1(null);\n\n var _a = useState$1({}),\n sliderDimensions = _a[0],\n setSliderDimensions = _a[1];\n /**\r\n * Initial settings for the carousel.\r\n */\n\n\n var initialSettings = useMemo$4(function () {\n return _assign({\n // Dependants\n initialSlidingAnimation: props.slidingAnimation || EAnimations$1.RIGHT_TO_LEFT,\n slidingAnimation: setInitialSlidingAnimation(props.slidingAnimation),\n sliderOrientation: props.orientation || EOrientation.HORIZONTAL,\n // Defaults\n slidingDuration: 500,\n slidingDelay: 200,\n sliderColor: 'inherit',\n sliderFadeInDuration: 100,\n navbarFadeInDuration: 1000,\n navbarFadeInDelay: 500,\n isSmartSliding: true,\n shouldDisplayButtons: true,\n shouldAutoplay: true,\n shouldSlideOnArrowKeypress: false,\n autoplayDuration: 8000,\n autoplayHandlerTimeout: 1000,\n width: '100%',\n height: '100%'\n }, props.settings);\n }, [props.settings, props.orientation, props.slidingAnimation]);\n\n var _b = useState$1(initialSettings),\n sliderSettings = _b[0],\n setSettings = _b[1];\n\n var settings = useMemo$4(function () {\n return _assign({}, sliderSettings, props.settings);\n }, [sliderSettings, props.settings]);\n var initialTouchState = {\n initialX: undefined,\n initialY: undefined,\n currentX: undefined,\n currentY: undefined,\n finalX: undefined,\n finalY: undefined\n };\n\n var _c = useState$1(initialTouchState),\n touchState = _c[0],\n setTouchState = _c[1];\n\n var _d = useState$1(props.initialSlide || 1),\n activeSlide = _d[0],\n setActiveSlide = _d[1];\n\n var _e = useState$1(true),\n isDoneSliding = _e[0],\n setIsDoneSliding = _e[1];\n /**\r\n * `activeSlideWatcher` `isDoneSlidingWatcher` are a mutable\r\n * objects that will persist for the full\r\n * lifetime of the component.\r\n * - `isDoneSlidingWatcher` will serve as a pointer in case\r\n * a `nextSlide` event is called from outside.\r\n * - `activeSlideWatcher` serves as a pointer to the `activeSlide`\r\n * so that the auto play instance won't be out of sync with the\r\n * current slide. It is updated during the `useEffects` subscribed\r\n * to the `activeSlide` state whenever the user changes slide.\r\n */\n\n\n var isDoneSlidingWatcher = useRef$1(true);\n var activeSlideWatcher = useRef$1(activeSlide);\n\n var _f = useState$1(),\n delayTimeout = _f[0],\n setDelayTimeout = _f[1];\n\n var _g = useState$1(),\n slidingTimeout = _g[0],\n setSlidingTimeout = _g[1];\n /**\r\n * `slidingTimeoutDuration` is the total time it takes for\r\n * the transition of each slide. It's the sum of the duration\r\n * of the slide, plus any delay of the animation.\r\n */\n\n\n var slidingTimeoutDuration = (settings.slidingDuration + settings.slidingDelay) * 1.1; // 110% safety factor.\n\n var setSlidingAnimation = useCallback$1(function (newAnimation) {\n setSettings(_assign({}, settings, {\n slidingAnimation: newAnimation\n }));\n }, [settings]);\n /**\r\n * `onSlidingHandler` sets `isDoneSliding` as false when executed\r\n * and triggers a `setTimeout` that will set `isDoneSliding` as true\r\n * after the time it takes for the slide to change passes.\r\n * Saves the timeout ID to `slidingTimeout`.\r\n * The `onChange` and `onAfterChange` events are executed here.\r\n */\n\n var onSlidingHandler = useCallback$1(function (nextSlide) {\n setIsDoneSliding(false); // Only save the delay timeout if `onChange` exists.\n\n if (onChange) {\n var delayTimeoutId = setTimeout(function () {\n onChange && onChange(nextSlide);\n }, settings.slidingDelay);\n setDelayTimeout(delayTimeoutId);\n } // Sliding timeout ID's for the transitions.\n\n\n var slidingTimeoutId = setTimeout(function () {\n setIsDoneSliding(true);\n\n if (onAfterChange) {\n onAfterChange(nextSlide);\n }\n }, slidingTimeoutDuration); // Saving the timeout ID's in case clearing them is needed.\n\n setSlidingTimeout(slidingTimeoutId);\n }, [onChange, onAfterChange, settings.slidingDelay, slidingTimeoutDuration]);\n /**\r\n * `changeSlide` sets a new slide then executes `onSlidingHandler` to handle\r\n * the smooth transition and set `isDoneSlidingWatcher.current` (like a pointer)\r\n * as true. While `isDoneSliding` is true, no the slides won't change.\r\n * The `onBeforeChange` event is executed here.\r\n */\n\n var changeSlide = useCallback$1(function (nextSlide) {\n if (isDoneSlidingWatcher.current) {\n if (onBeforeChange) {\n onBeforeChange(activeSlideWatcher.current, nextSlide);\n }\n\n setActiveSlide(nextSlide);\n onSlidingHandler(nextSlide);\n }\n }, [onSlidingHandler, onBeforeChange]);\n /**\r\n * `smartAnimations` decides which animation to do next depending on the chosen\r\n * animation set by the programmer, the current and next slides, and if\r\n * `settings.initialSlidingAnimation` is `true`.\r\n */\n\n var smartAnimations = useCallback$1(function (nextSlide) {\n switch (settings.initialSlidingAnimation) {\n case EAnimations$1.TOP_TO_BOTTOM:\n case EAnimations$1.BOTTOM_TO_TOP:\n if (nextSlide > activeSlideWatcher.current) {\n setSlidingAnimation(EAnimations$1.BOTTOM_TO_TOP);\n } else {\n setSlidingAnimation(EAnimations$1.TOP_TO_BOTTOM);\n }\n\n break;\n\n case EAnimations$1.RIGHT_TO_LEFT:\n case EAnimations$1.LEFT_TO_RIGHT:\n if (nextSlide > activeSlideWatcher.current) {\n setSlidingAnimation(EAnimations$1.RIGHT_TO_LEFT);\n } else {\n setSlidingAnimation(EAnimations$1.LEFT_TO_RIGHT);\n }\n\n }\n }, [setSlidingAnimation, settings.initialSlidingAnimation]);\n\n var _h = useState$1(),\n autoplayHandlerTimeout = _h[0],\n setAutoplayHandlerTimeout = _h[1];\n /**\r\n * Autoplay manually paused state handled by the autoplay buttons.\r\n */\n\n\n var _j = useState$1(false),\n isManuallyPaused = _j[0],\n setIsManuallyPaused = _j[1];\n\n var _k = useContext$1(SliderContext),\n dispatchProps = _k.dispatchProps,\n slidesArray = _k.slidesArray;\n /**\r\n * Calculates the next slide based on the current slide (`activeSlide` by default)\r\n * based on the total amount of slides.\r\n */\n\n\n var getNextSlide = useCallback$1(function (currentSlide) {\n if (currentSlide === void 0) {\n currentSlide = activeSlide;\n }\n\n var totalSlides = slidesArray.length;\n var nextSlide;\n /**\r\n * If **not** at the last slide, then add one. Otherwise set the next slide back to 1.\r\n */\n\n if (currentSlide <= totalSlides - 1) {\n nextSlide = currentSlide + 1;\n } else {\n nextSlide = 1;\n }\n\n return nextSlide;\n }, [activeSlide, slidesArray.length]);\n /**\r\n * `autoplay` is the callback sent to the autoplay instance.\r\n */\n\n var autoplay = useCallback$1(function () {\n var nextSlide = getNextSlide(activeSlideWatcher.current);\n\n if (settings.isSmartSliding) {\n smartAnimations(nextSlide);\n }\n\n changeSlide(getNextSlide(activeSlideWatcher.current));\n }, [changeSlide, getNextSlide, settings.isSmartSliding, smartAnimations]);\n var autoplayInstanceRef = useRef$1(useMemo$4(function () {\n return new IntervalTimer(autoplay, settings.autoplayDuration + slidingTimeoutDuration);\n }, [autoplay, settings.autoplayDuration, slidingTimeoutDuration]));\n var autoplayInstance = autoplayInstanceRef.current;\n /**\r\n * Handles slide changes. If the user interacts with the slide, the timer of the\r\n * autoplay instance is reset and the next animation is algo decided depending on\r\n * the parameter (which is a slide number) **so long as it has not been manually paused**.\r\n */\n\n var changeSlideHandler = useCallback$1(function (nextSlide, animationParam) {\n clearTimeout(autoplayHandlerTimeout && +autoplayHandlerTimeout);\n\n if (settings.isSmartSliding) {\n smartAnimations(animationParam || nextSlide);\n }\n\n changeSlide(nextSlide);\n }, [autoplayHandlerTimeout, changeSlide, settings.isSmartSliding, smartAnimations]);\n /**\r\n * Changes the active slide to the next one.\r\n */\n\n var setNextSlide = function setNextSlide() {\n /**\r\n * Forces the animation to be set as the same always, it will slide from right to left,\r\n * or from top to bottom so long as the initial animation is not fade.\r\n */\n var animationParam = slidesArray.length + 1;\n changeSlideHandler(getNextSlide(activeSlideWatcher.current), animationParam);\n };\n /**\r\n * Calculates the previous slide similar to `getNextSlide`.\r\n */\n\n\n var getPreviousSlide = function getPreviousSlide(currentSlide) {\n if (currentSlide === void 0) {\n currentSlide = activeSlide;\n }\n\n var totalSlides = slidesArray.length;\n var nextSlide;\n /**\r\n * If **not** at the first slide, then add one. Otherwise set the next slide to the\r\n * last one.\r\n */\n\n if (currentSlide > 1) {\n nextSlide = currentSlide - 1;\n } else {\n nextSlide = totalSlides;\n }\n\n return nextSlide;\n };\n /**\r\n * Changes the active slide to the previous one.\r\n */\n\n\n var setPreviousSlide = function setPreviousSlide() {\n /**\r\n * Similar to `setNextSlide`, it will always slide from left to right,\r\n * or from bottom to top unless the fade animation is active.\r\n */\n var animationParam = 1;\n changeSlideHandler(getPreviousSlide(activeSlideWatcher.current), animationParam);\n };\n /**\r\n * `autoplayHandler` will pause the autoplay timer whenever the mouse\r\n * moves over the slider. If the mouse stops moving the autoplay will\r\n * resume. If not, `onMouseMoveCaptureHandler` will also clear the\r\n * `autoplayInstance`resume `setTimeout` callbacks if any exist, so\r\n * that the slides won't move if the user is interacting with the\r\n * slider component.\r\n */\n\n\n var autoplayHandler = function autoplayHandler() {\n var isPausedOrIdle = autoplayInstance.state === EState.IDLE || isManuallyPaused;\n if (isPausedOrIdle) return; // If the slider has been paused, do nothing.\n\n autoplayInstance.pause();\n if (autoplayHandlerTimeout) clearTimeout(autoplayHandlerTimeout);\n var autoplayHandlerTimeoutId = setTimeout(function () {\n autoplayInstance.resume();\n }, settings.autoplayHandlerTimeout);\n setAutoplayHandlerTimeout(autoplayHandlerTimeoutId);\n };\n /**\r\n * `onMouseMoveCaptureHandler` executes `autoplayHandler` whenever the user moves the mouse\r\n * over the slider.\r\n */\n\n\n var onMouseMoveCaptureHandler = function onMouseMoveCaptureHandler() {\n if (settings.shouldAutoplay) {\n autoplayHandler();\n }\n };\n\n var setSliderDimensionsHandler = function setSliderDimensionsHandler() {\n var sliderDimensions = {\n width: sliderRef.current ? sliderRef.current.clientWidth : undefined,\n height: sliderRef.current ? sliderRef.current.clientHeight : undefined\n };\n setSliderDimensions(sliderDimensions);\n };\n /**\r\n * `onTouchStartHandler` sets the initial coordinates of the touch event.\r\n */\n\n\n var onTouchStartHandler = function onTouchStartHandler(event) {\n var initialX = event.touches[0].clientX;\n var initialY = event.touches[0].clientY;\n setTouchState(_assign({}, touchState, {\n initialX: initialX,\n initialY: initialY\n }));\n };\n /**\r\n * `onTouchMoveHandler` sets the current coordinates of the touch event to the state.\r\n */\n\n\n var onTouchMoveHandler = function onTouchMoveHandler(event) {\n var currentX = event.touches[0].clientX;\n var currentY = event.touches[0].clientY;\n setTouchState(_assign({}, touchState, {\n currentX: currentX,\n currentY: currentY\n }));\n };\n /**\r\n * `onTouchEndHandler` determines in which direction **and** sense (vector) the user is sliding.\r\n * Animations are then set accordingly depending on which direction the user is dragging and\r\n * the slide is changed. Finally the touch state is set back to the initial state, where\r\n * everything is undefined.\r\n */\n\n\n var onTouchEndHandler = function onTouchEndHandler() {\n var diffX = touchState && Number(touchState.initialX) - Number(touchState.currentX);\n var diffY = touchState && Number(touchState.initialY) - Number(touchState.currentY);\n var thresholdToSlide = 50;\n var isSlidingHorizontally = Math.abs(diffX) > Math.abs(diffY);\n var isSliderSetHorizontally = settings.sliderOrientation === EOrientation.HORIZONTAL;\n var isSliderVertically = settings.sliderOrientation === EOrientation.VERTICAL;\n\n if (isSlidingHorizontally && isSliderSetHorizontally && Math.abs(diffX) >= thresholdToSlide) {\n // Sliding horizontally.\n if (diffX > 0) {\n // Swiped left.\n setNextSlide();\n } else {\n // Swiped right.\n setPreviousSlide();\n }\n } else if (isSliderVertically && Math.abs(diffY) >= thresholdToSlide) {\n // Sliding vertically.\n if (diffY > 0) {\n // Swiped up.\n setNextSlide();\n } else {\n // Swiped down.\n setPreviousSlide();\n }\n }\n\n setTouchState(initialTouchState);\n };\n\n var onArrowKeypressHandler = function onArrowKeypressHandler(e) {\n var isHorizontal = settings.sliderOrientation === EOrientation.HORIZONTAL;\n\n switch (true) {\n // Left keypress.\n case isHorizontal && e.keyCode === 37:\n setPreviousSlide();\n break;\n // Right keypress.\n\n case isHorizontal && e.keyCode === 39:\n setNextSlide();\n break;\n // Up keypress.\n\n case !isHorizontal && e.keyCode === 38:\n setPreviousSlide();\n break;\n // Down keypress.\n\n case !isHorizontal && e.keyCode === 40:\n setNextSlide();\n break;\n\n default: // Do nothing.\n\n }\n };\n /**\r\n * Update the respective watchers' current values.\r\n */\n\n\n useEffect$1(function () {\n activeSlideWatcher.current = activeSlide;\n }, [activeSlide]);\n useEffect$1(function () {\n isDoneSlidingWatcher.current = isDoneSliding;\n }, [isDoneSliding]);\n /**\r\n * After mounting, akin to `componentDidMount`.\r\n */\n\n useEffect$1(function () {\n activeSlideWatcher.current = activeSlide;\n /**\r\n * Sets up the `nextSlide` and `previousSlide` reference object if they exist.\r\n */\n\n if (props.nextSlide) {\n props.nextSlide.current = setNextSlide;\n }\n\n if (props.previousSlide) {\n props.previousSlide.current = setPreviousSlide;\n }\n /**\r\n * Calculates the initial dimensions of the slider and adds event listener.\r\n */\n\n\n setSliderDimensionsHandler();\n window.addEventListener('resize', setSliderDimensions);\n\n if (settings.shouldSlideOnArrowKeypress) {\n window.addEventListener('keydown', onArrowKeypressHandler);\n }\n /**\r\n * Clearing any existing timeouts to avoid memory leaks, and clear event listener.\r\n */\n\n\n return function () {\n clearTimeout(delayTimeout && +delayTimeout);\n clearTimeout(slidingTimeout && +slidingTimeout);\n clearTimeout(autoplayHandlerTimeout && +autoplayHandlerTimeout);\n autoplayInstance.stop();\n window.removeEventListener('resize', setSliderDimensions);\n\n if (settings.shouldSlideOnArrowKeypress) {\n window.removeEventListener('keydown', onArrowKeypressHandler);\n }\n };\n }, // eslint-disable-next-line\n []);\n var styledComponentsTheme = useMemo$4(function () {\n return {\n // Default: 800ms\n slidingDuration: settings.slidingDuration + \"ms\",\n // Default: 0ms\n slidingDelay: settings.slidingDelay + \"ms\",\n // Default: HeroSliderModuleCss.Sliding_Left_To_Right.\n slidingAnimation: \"\" + settings.slidingAnimation,\n // Default: 800ms\n slideTransitionDelay: settings.slidingDuration + settings.slidingDelay + \"ms\",\n sliderWidth: sliderDimensions.width ? sliderDimensions.width + \"px\" : undefined,\n sliderHeight: sliderDimensions.height ? sliderDimensions.height + \"px\" : undefined,\n sliderColor: settings.sliderColor,\n sliderFadeInDuration: settings.sliderFadeInDuration + \"ms\",\n navFadeInDuration: settings.navbarFadeInDuration + \"ms\",\n navFadeInDelay: settings.navbarFadeInDelay + \"ms\",\n navBackgroundColor: props.navbarSettings ? props.navbarSettings.color : undefined,\n navActiveColor: props.navbarSettings ? props.navbarSettings.activeColor : undefined,\n // Default: 800ms\n maskDuration: settings.slidingDuration + settings.slidingDelay + \"ms\"\n };\n }, [settings, props.navbarSettings, sliderDimensions.height, sliderDimensions.width]);\n\n var _l = useState$1(),\n inViewTimeoutHandler = _l[0],\n setInViewTimeoutHandler = _l[1];\n /**\r\n * Subscribe to changes in `inView`.\r\n * If the slider goes out of the viewport, then pause the slider autoplay\r\n * instance if it's running. If it comes back into viewport, resume the\r\n * autoplay instance.\r\n */\n\n\n useLayoutEffect(function () {\n if (settings.shouldAutoplay) {\n console.log('autoplayInstance.state', autoplayInstance.state);\n console.log('EState', EState[autoplayInstance.state]);\n console.log('props.inView', props.inView);\n if (inViewTimeoutHandler) clearTimeout(inViewTimeoutHandler);\n\n switch (true) {\n case isManuallyPaused:\n break;\n // When not in view, stop the autoplay.\n\n case !props.inView:\n console.log('STOPPPING');\n autoplayInstance.stop();\n setInViewTimeoutHandler(undefined);\n break;\n // When in view and idle, start it.\n\n case autoplayInstance.state === EState.IDLE && props.inView:\n {\n console.log('STARTING TIMEOUT');\n var timeoutId = setTimeout(function () {\n console.log('STARTING');\n autoplayInstance.start();\n }, settings.autoplayHandlerTimeout);\n setInViewTimeoutHandler(timeoutId);\n break;\n }\n // When in view and paused, resume it.\n\n case autoplayInstance.state === EState.PAUSED && props.inView:\n {\n console.log('RESUMING TIMEOUT');\n var timeoutId = setTimeout(function () {\n console.log('RESUMING');\n autoplayInstance.resume();\n }, settings.autoplayHandlerTimeout);\n setInViewTimeoutHandler(timeoutId);\n break;\n }\n }\n }\n\n return function () {\n if (inViewTimeoutHandler) clearTimeout(inViewTimeoutHandler);\n };\n }, // react-hooks/exhaustive-deps is disabled because we wan't to keep\n // inViewTimeoutHandler out of the effects to avoid infinite loops.\n // eslint-disable-next-line\n [autoplayInstance, isManuallyPaused, props.inView, settings.shouldAutoplay, settings.autoplayHandlerTimeout]); // Setting slides props for the contexts.\n\n useEffect$1(function () {\n if (dispatchProps && typeof dispatchProps === 'function') {\n dispatchProps({\n type: EActionTypes.SET_SLIDE_PROPS,\n payload: {\n activeSlide: activeSlide,\n isDoneSliding: isDoneSliding,\n slidingAnimation: settings.slidingAnimation\n }\n });\n }\n }, [dispatchProps, activeSlide, isDoneSliding, settings.slidingAnimation]); // Setting navbars props for the contexts.\n\n useEffect$1(function () {\n if (dispatchProps && typeof dispatchProps === 'function') {\n dispatchProps({\n type: EActionTypes.SET_NAVBAR_PROPS,\n payload: {\n activeSlide: activeSlide,\n changeSlide: changeSlideHandler,\n totalSlides: slidesArray.length,\n sliderWidth: sliderDimensions.width || 0\n }\n });\n }\n }, [changeSlideHandler, activeSlide, dispatchProps, sliderDimensions.width, slidesArray.length]); // Setting autoplay buttons props props for the contexts.\n\n useEffect$1(function () {\n if (dispatchProps && typeof dispatchProps === 'function') {\n dispatchProps({\n type: EActionTypes.SET_AUTOPLAY_BUTTON_PROPS,\n payload: {\n setIsManuallyPaused: setIsManuallyPaused,\n autoplayHandlerTimeout: autoplayHandlerTimeout,\n shouldAutoplay: settings.shouldAutoplay,\n autoplay: autoplayInstanceRef\n }\n });\n }\n }, [dispatchProps, setIsManuallyPaused, settings.shouldAutoplay, autoplayHandlerTimeout, autoplayInstanceRef]);\n useEffect$1(function () {\n console.log('isDoneSliding', isDoneSliding);\n\n if (isDoneSliding) {\n if (settings.shouldAutoplay && !isManuallyPaused) {\n console.log('RESETTING');\n autoplayInstance.reset();\n }\n }\n }, [isDoneSliding, autoplayInstance, isManuallyPaused, settings.shouldAutoplay]);\n return createElement(ThemeProvider, {\n theme: styledComponentsTheme\n }, createElement(Wrapper, {\n ref: sliderRef,\n onTouchStart: onTouchStartHandler,\n onTouchMove: onTouchMoveHandler,\n onTouchEnd: onTouchEndHandler,\n style: _assign({}, props.style, {\n width: settings.width,\n height: settings.height\n }),\n onMouseMoveCapture: onMouseMoveCaptureHandler\n }, props.children, settings.shouldDisplayButtons && createElement(Buttons$1, {\n isHorizontal: settings.sliderOrientation === EOrientation.HORIZONTAL,\n previousSlide: setPreviousSlide,\n nextSlide: setNextSlide\n })));\n});\nvar WithProvider = memo$1(function (props) {\n var isMobile = props.isMobile,\n rest = __rest(props, [\"isMobile\"]);\n\n var _a = useInView({\n /* Optional options */\n threshold: 0\n }),\n ref = _a[0],\n inView = _a[1];\n\n return createElement(SliderContextProvider, {\n isMobile: isMobile\n }, createElement(\"div\", {\n className: \"rm-hero-slider\",\n ref: ref\n }, createElement(HeroSlider, _assign({\n inView: inView\n }, rest))));\n});\nvar Slider = memo$1(WithProvider);\nvar memo$2 = memo$b;\n\nvar ExtendedThemeProvider = function ExtendedThemeProvider(props) {\n var theme = props.theme,\n extendedTheme = props.extendedTheme,\n children = props.children;\n return createElement(ThemeProvider, {\n theme: _assign({}, theme, extendedTheme)\n }, children);\n};\n\nvar ExtendedThemeProvider$1 = memo$2(withTheme(ExtendedThemeProvider));\n\nvar slidingDelay$1 = function slidingDelay$1(delay) {\n if (delay === void 0) {\n delay = 200;\n }\n\n return css(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.slidingDelay || delay + \"ms\";\n });\n};\n\nvar slideTransitionDelay = css(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.slideTransitionDelay || '800ms';\n});\nvar slideCss = css(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n transform: translate3d(0, 0, 0);\\n overflow: hidden;\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n transform: translate3d(0, 0, 0);\\n overflow: hidden;\\n\"])));\nvar activeCss = css(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject([\"\\n z-index: 2; /* NOTE: It is imperative for z-index to be here, do not remove. */\\n transform: translate3d(0, 0, 0);\\n transition-delay: \", \";\\n\"], [\"\\n z-index: 2; /* NOTE: It is imperative for z-index to be here, do not remove. */\\n transform: translate3d(0, 0, 0);\\n transition-delay: \", \";\\n\"])), slidingDelay$1());\nvar inactiveCss = css(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject([\"\\n user-select: none;\\n z-index: 1;\\n transform: translate3d(100%, 0, 0);\\n transition-delay: \", \";\\n\"], [\"\\n user-select: none;\\n z-index: 1;\\n transform: translate3d(100%, 0, 0);\\n transition-delay: \", \";\\n\"])), slideTransitionDelay);\nvar setAnimation = css(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n var slidingAnimation = theme.slidingAnimation;\n\n switch (slidingAnimation) {\n // Top to bottom.\n case EAnimations.TOP_TO_BOTTOM:\n return animations.slideTopToBottom;\n // Bottom to top.\n\n case EAnimations.BOTTOM_TO_TOP:\n return animations.slideBottomToTop;\n // Left to right.\n\n case EAnimations.LEFT_TO_RIGHT:\n return animations.slideLeftToRight;\n // Right to left, by default.\n\n case EAnimations.RIGHT_TO_LEFT:\n return animations.slideRightToLeft;\n\n case EAnimations.FADE:\n default:\n return animations.slideFadeIn;\n }\n});\nvar StyledSlide = styled.div(templateObject_8$1 || (templateObject_8$1 = __makeTemplateObject([\"\\n \", \";\\n /* property name | duration | timing function | delay */\\n transition: transform 0ms ease-in-out \", \";\\n \", \"\\n .slide-wrapper {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n }\\n\\n .slide-container {\\n \", \";\\n }\\n\\n .slide-active {\\n \", \";\\n }\\n\\n .slide-container {\\n backface-visibility: hidden;\\n /* property name | duration | timing function | delay */\\n transition: all 300ms ease-in-out \", \";\\n }\\n\\n .slide-container:not(.slide-active) {\\n z-index: 1;\\n opacity: 0;\\n /* property name | duration | timing function | delay */\\n transition: all 200ms ease-in-out \", \";\\n }\\n\"], [\"\\n \", \";\\n /* property name | duration | timing function | delay */\\n transition: transform 0ms ease-in-out \", \";\\n \", \"\\n .slide-wrapper {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n }\\n\\n .slide-container {\\n \", \";\\n }\\n\\n .slide-active {\\n \", \";\\n }\\n\\n .slide-container {\\n backface-visibility: hidden;\\n /* property name | duration | timing function | delay */\\n transition: all 300ms ease-in-out \", \";\\n }\\n\\n .slide-container:not(.slide-active) {\\n z-index: 1;\\n opacity: 0;\\n /* property name | duration | timing function | delay */\\n transition: all 200ms ease-in-out \", \";\\n }\\n\"])), slideCss, slidingDelay$1(0), function (_a) {\n var isActive = _a.isActive,\n isDoneSliding = _a.isDoneSliding;\n return css(templateObject_7$1 || (templateObject_7$1 = __makeTemplateObject([\"\\n \", \";\\n \", \";\\n \"], [\"\\n \", \";\\n \", \";\\n \"])), isActive ? activeCss : inactiveCss, isActive && !isDoneSliding && setAnimation);\n}, slideCss, activeCss, slidingDelay$1(), slidingDelay$1());\nvar templateObject_1$2, templateObject_2$1, templateObject_3$1, templateObject_4$1, templateObject_5$1, templateObject_6$1, templateObject_7$1, templateObject_8$1;\n\nfunction unwrapExports(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n}\n\nvar event = createCommonjsModule(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.on = on;\n exports.off = off;\n\n function on(el, eventName, callback, opts) {\n opts = opts || false;\n\n if (el.addEventListener) {\n el.addEventListener(eventName, callback, opts);\n } else if (el.attachEvent) {\n el.attachEvent(\"on\" + eventName, function (e) {\n callback.call(el, e || window.event);\n });\n }\n }\n\n function off(el, eventName, callback, opts) {\n opts = opts || false;\n\n if (el.removeEventListener) {\n el.removeEventListener(eventName, callback, opts);\n } else if (el.detachEvent) {\n el.detachEvent(\"on\" + eventName, callback);\n }\n }\n});\nunwrapExports(event);\nvar event_1 = event.on;\nvar event_2 = event.off;\nvar scrollParent = createCommonjsModule(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n /**\n * @fileOverview Find scroll parent\n */\n\n exports.default = function (node) {\n if (!(node instanceof HTMLElement)) {\n return document.documentElement;\n }\n\n var excludeStaticParent = node.style.position === 'absolute';\n var overflowRegex = /(scroll|auto)/;\n var parent = node;\n\n while (parent) {\n if (!parent.parentNode) {\n return node.ownerDocument || document.documentElement;\n }\n\n var style = window.getComputedStyle(parent);\n var position = style.position;\n var overflow = style.overflow;\n var overflowX = style['overflow-x'];\n var overflowY = style['overflow-y'];\n\n if (position === 'static' && excludeStaticParent) {\n parent = parent.parentNode;\n continue;\n }\n\n if (overflowRegex.test(overflow) && overflowRegex.test(overflowX) && overflowRegex.test(overflowY)) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return node.ownerDocument || node.documentElement || document.documentElement;\n };\n});\nunwrapExports(scrollParent);\nvar debounce_1 = createCommonjsModule(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = debounce;\n\n function debounce(func, wait, immediate) {\n var timeout = void 0;\n var args = void 0;\n var context = void 0;\n var timestamp = void 0;\n var result = void 0;\n\n var later = function later() {\n var last = +new Date() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n\n if (!immediate) {\n result = func.apply(context, args);\n\n if (!timeout) {\n context = null;\n args = null;\n }\n }\n }\n };\n\n return function debounced() {\n context = this;\n args = arguments;\n timestamp = +new Date();\n var callNow = immediate && !timeout;\n\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n\n if (callNow) {\n result = func.apply(context, args);\n context = null;\n args = null;\n }\n\n return result;\n };\n }\n});\nunwrapExports(debounce_1);\nvar throttle_1 = createCommonjsModule(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = throttle;\n /*eslint-disable */\n\n function throttle(fn, threshhold, scope) {\n threshhold || (threshhold = 250);\n var last, deferTimer;\n return function () {\n var context = scope || this;\n var now = +new Date(),\n args = arguments;\n\n if (last && now < last + threshhold) {\n // hold on to it\n clearTimeout(deferTimer);\n deferTimer = setTimeout(function () {\n last = now;\n fn.apply(context, args);\n }, threshhold);\n } else {\n last = now;\n fn.apply(context, args);\n }\n };\n }\n});\nunwrapExports(throttle_1);\nvar lib = createCommonjsModule(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.forceCheck = exports.lazyload = undefined;\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _react2 = _interopRequireDefault(React__default);\n\n var _reactDom2 = _interopRequireDefault(reactDom);\n\n var _propTypes2 = _interopRequireDefault(propTypes);\n\n var _scrollParent2 = _interopRequireDefault(scrollParent);\n\n var _debounce2 = _interopRequireDefault(debounce_1);\n\n var _throttle2 = _interopRequireDefault(throttle_1);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n /**\n * react-lazyload\n */\n\n\n var defaultBoundingClientRect = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n };\n var LISTEN_FLAG = 'data-lazyload-listened';\n var listeners = [];\n var pending = []; // try to handle passive events\n\n var passiveEventSupported = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n passiveEventSupported = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {} // if they are supported, setup the optional params\n // IMPORTANT: FALSE doubles as the default CAPTURE value!\n\n\n var passiveEvent = passiveEventSupported ? {\n capture: false,\n passive: true\n } : false;\n /**\n * Check if `component` is visible in overflow container `parent`\n * @param {node} component React component\n * @param {node} parent component's scroll parent\n * @return {bool}\n */\n\n var checkOverflowVisible = function checkOverflowVisible(component, parent) {\n var node = _reactDom2.default.findDOMNode(component);\n\n var parentTop = void 0;\n var parentLeft = void 0;\n var parentHeight = void 0;\n var parentWidth = void 0;\n\n try {\n var _parent$getBoundingCl = parent.getBoundingClientRect();\n\n parentTop = _parent$getBoundingCl.top;\n parentLeft = _parent$getBoundingCl.left;\n parentHeight = _parent$getBoundingCl.height;\n parentWidth = _parent$getBoundingCl.width;\n } catch (e) {\n parentTop = defaultBoundingClientRect.top;\n parentLeft = defaultBoundingClientRect.left;\n parentHeight = defaultBoundingClientRect.height;\n parentWidth = defaultBoundingClientRect.width;\n }\n\n var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;\n var windowInnerWidth = window.innerWidth || document.documentElement.clientWidth; // calculate top and height of the intersection of the element's scrollParent and viewport\n\n var intersectionTop = Math.max(parentTop, 0); // intersection's top relative to viewport\n\n var intersectionLeft = Math.max(parentLeft, 0); // intersection's left relative to viewport\n\n var intersectionHeight = Math.min(windowInnerHeight, parentTop + parentHeight) - intersectionTop; // height\n\n var intersectionWidth = Math.min(windowInnerWidth, parentLeft + parentWidth) - intersectionLeft; // width\n // check whether the element is visible in the intersection\n\n var top = void 0;\n var left = void 0;\n var height = void 0;\n var width = void 0;\n\n try {\n var _node$getBoundingClie = node.getBoundingClientRect();\n\n top = _node$getBoundingClie.top;\n left = _node$getBoundingClie.left;\n height = _node$getBoundingClie.height;\n width = _node$getBoundingClie.width;\n } catch (e) {\n top = defaultBoundingClientRect.top;\n left = defaultBoundingClientRect.left;\n height = defaultBoundingClientRect.height;\n width = defaultBoundingClientRect.width;\n }\n\n var offsetTop = top - intersectionTop; // element's top relative to intersection\n\n var offsetLeft = left - intersectionLeft; // element's left relative to intersection\n\n var offsets = Array.isArray(component.props.offset) ? component.props.offset : [component.props.offset, component.props.offset]; // Be compatible with previous API\n\n return offsetTop - offsets[0] <= intersectionHeight && offsetTop + height + offsets[1] >= 0 && offsetLeft - offsets[0] <= intersectionWidth && offsetLeft + width + offsets[1] >= 0;\n };\n /**\n * Check if `component` is visible in document\n * @param {node} component React component\n * @return {bool}\n */\n\n\n var checkNormalVisible = function checkNormalVisible(component) {\n var node = _reactDom2.default.findDOMNode(component); // If this element is hidden by css rules somehow, it's definitely invisible\n\n\n if (!(node.offsetWidth || node.offsetHeight || node.getClientRects().length)) return false;\n var top = void 0;\n var elementHeight = void 0;\n\n try {\n var _node$getBoundingClie2 = node.getBoundingClientRect();\n\n top = _node$getBoundingClie2.top;\n elementHeight = _node$getBoundingClie2.height;\n } catch (e) {\n top = defaultBoundingClientRect.top;\n elementHeight = defaultBoundingClientRect.height;\n }\n\n var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;\n var offsets = Array.isArray(component.props.offset) ? component.props.offset : [component.props.offset, component.props.offset]; // Be compatible with previous API\n\n return top - offsets[0] <= windowInnerHeight && top + elementHeight + offsets[1] >= 0;\n };\n /**\n * Detect if element is visible in viewport, if so, set `visible` state to true.\n * If `once` prop is provided true, remove component as listener after checkVisible\n *\n * @param {React} component React component that respond to scroll and resize\n */\n\n\n var checkVisible = function checkVisible(component) {\n var node = _reactDom2.default.findDOMNode(component);\n\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n var parent = (0, _scrollParent2.default)(node);\n var isOverflow = component.props.overflow && parent !== node.ownerDocument && parent !== document && parent !== document.documentElement;\n var visible = isOverflow ? checkOverflowVisible(component, parent) : checkNormalVisible(component);\n\n if (visible) {\n // Avoid extra render if previously is visible\n if (!component.visible) {\n if (component.props.once) {\n pending.push(component);\n }\n\n component.visible = true;\n component.forceUpdate();\n }\n } else if (!(component.props.once && component.visible)) {\n component.visible = false;\n\n if (component.props.unmountIfInvisible) {\n component.forceUpdate();\n }\n }\n };\n\n var purgePending = function purgePending() {\n pending.forEach(function (component) {\n var index = listeners.indexOf(component);\n\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n });\n pending = [];\n };\n\n var lazyLoadHandler = function lazyLoadHandler() {\n for (var i = 0; i < listeners.length; ++i) {\n var listener = listeners[i];\n checkVisible(listener);\n } // Remove `once` component in listeners\n\n\n purgePending();\n }; // Depending on component's props\n\n\n var delayType = void 0;\n var finalLazyLoadHandler = null;\n\n var isString = function isString(string) {\n return typeof string === 'string';\n };\n\n var LazyLoad = function (_Component) {\n _inherits(LazyLoad, _Component);\n\n function LazyLoad(props) {\n _classCallCheck(this, LazyLoad);\n\n var _this = _possibleConstructorReturn(this, (LazyLoad.__proto__ || Object.getPrototypeOf(LazyLoad)).call(this, props));\n\n _this.visible = false;\n return _this;\n }\n\n _createClass(LazyLoad, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // It's unlikely to change delay type on the fly, this is mainly\n // designed for tests\n var scrollport = window;\n var scrollContainer = this.props.scrollContainer;\n\n if (scrollContainer) {\n if (isString(scrollContainer)) {\n scrollport = scrollport.document.querySelector(scrollContainer);\n }\n }\n\n var needResetFinalLazyLoadHandler = this.props.debounce !== undefined && delayType === 'throttle' || delayType === 'debounce' && this.props.debounce === undefined;\n\n if (needResetFinalLazyLoadHandler) {\n (0, event.off)(scrollport, 'scroll', finalLazyLoadHandler, passiveEvent);\n (0, event.off)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n finalLazyLoadHandler = null;\n }\n\n if (!finalLazyLoadHandler) {\n if (this.props.debounce !== undefined) {\n finalLazyLoadHandler = (0, _debounce2.default)(lazyLoadHandler, typeof this.props.debounce === 'number' ? this.props.debounce : 300);\n delayType = 'debounce';\n } else if (this.props.throttle !== undefined) {\n finalLazyLoadHandler = (0, _throttle2.default)(lazyLoadHandler, typeof this.props.throttle === 'number' ? this.props.throttle : 300);\n delayType = 'throttle';\n } else {\n finalLazyLoadHandler = lazyLoadHandler;\n }\n }\n\n if (this.props.overflow) {\n var parent = (0, _scrollParent2.default)(_reactDom2.default.findDOMNode(this));\n\n if (parent && typeof parent.getAttribute === 'function') {\n var listenerCount = 1 + +parent.getAttribute(LISTEN_FLAG);\n\n if (listenerCount === 1) {\n parent.addEventListener('scroll', finalLazyLoadHandler, passiveEvent);\n }\n\n parent.setAttribute(LISTEN_FLAG, listenerCount);\n }\n } else if (listeners.length === 0 || needResetFinalLazyLoadHandler) {\n var _props = this.props,\n scroll = _props.scroll,\n resize = _props.resize;\n\n if (scroll) {\n (0, event.on)(scrollport, 'scroll', finalLazyLoadHandler, passiveEvent);\n }\n\n if (resize) {\n (0, event.on)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n }\n }\n\n listeners.push(this);\n checkVisible(this);\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return this.visible;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.overflow) {\n var parent = (0, _scrollParent2.default)(_reactDom2.default.findDOMNode(this));\n\n if (parent && typeof parent.getAttribute === 'function') {\n var listenerCount = +parent.getAttribute(LISTEN_FLAG) - 1;\n\n if (listenerCount === 0) {\n parent.removeEventListener('scroll', finalLazyLoadHandler, passiveEvent);\n parent.removeAttribute(LISTEN_FLAG);\n } else {\n parent.setAttribute(LISTEN_FLAG, listenerCount);\n }\n }\n }\n\n var index = listeners.indexOf(this);\n\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n\n if (listeners.length === 0 && typeof window !== 'undefined') {\n (0, event.off)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n (0, event.off)(window, 'scroll', finalLazyLoadHandler, passiveEvent);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.visible ? this.props.children : this.props.placeholder ? this.props.placeholder : _react2.default.createElement('div', {\n style: {\n height: this.props.height\n },\n className: 'lazyload-placeholder'\n });\n }\n }]);\n\n return LazyLoad;\n }(React__default.Component);\n\n LazyLoad.propTypes = {\n once: _propTypes2.default.bool,\n height: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n offset: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.arrayOf(_propTypes2.default.number)]),\n overflow: _propTypes2.default.bool,\n resize: _propTypes2.default.bool,\n scroll: _propTypes2.default.bool,\n children: _propTypes2.default.node,\n throttle: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.bool]),\n debounce: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.bool]),\n placeholder: _propTypes2.default.node,\n scrollContainer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n unmountIfInvisible: _propTypes2.default.bool\n };\n LazyLoad.defaultProps = {\n once: false,\n offset: 0,\n overflow: false,\n resize: false,\n scroll: true,\n unmountIfInvisible: false\n };\n\n var getDisplayName = function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n };\n\n var decorator = function decorator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function lazyload(WrappedComponent) {\n return function (_Component2) {\n _inherits(LazyLoadDecorated, _Component2);\n\n function LazyLoadDecorated() {\n _classCallCheck(this, LazyLoadDecorated);\n\n var _this2 = _possibleConstructorReturn(this, (LazyLoadDecorated.__proto__ || Object.getPrototypeOf(LazyLoadDecorated)).call(this));\n\n _this2.displayName = 'LazyLoad' + getDisplayName(WrappedComponent);\n return _this2;\n }\n\n _createClass(LazyLoadDecorated, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(LazyLoad, options, _react2.default.createElement(WrappedComponent, this.props));\n }\n }]);\n\n return LazyLoadDecorated;\n }(React__default.Component);\n };\n };\n\n exports.lazyload = decorator;\n exports.default = LazyLoad;\n exports.forceCheck = lazyLoadHandler;\n});\nvar LazyLoad = unwrapExports(lib);\nvar lib_1 = lib.forceCheck;\nvar lib_2 = lib.lazyload; // Styles\n\nvar absolutelyPositioned = css(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n\"])));\nvar backgroundAnimationDuration = css(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), function (_a) {\n var theme = _a.theme;\n return theme.backgroundAnimationDuration || '1500ms';\n});\nvar backgroundAnimationDelay = css(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), function (_a) {\n var theme = _a.theme;\n return theme.backgroundAnimationDelay || '100ms';\n}); // Animations\n\nvar fadeInKeyframes$1 = keyframes(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"])));\nvar zoomOutKeyframes = keyframes(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n transform: scale(1.5);\\n }\\n 5% {\\n opacity: 1;\\n }\\n 100% {\\n opacity: 1;\\n transform: scale(1);\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n transform: scale(1.5);\\n }\\n 5% {\\n opacity: 1;\\n }\\n 100% {\\n opacity: 1;\\n transform: scale(1);\\n }\\n\"]))); // Components\n\nvar Img = styled.img(templateObject_6$2 || (templateObject_6$2 = __makeTemplateObject([\"\\n \", \";\\n opacity: 0;\\n z-index: -1;\\n\"], [\"\\n \", \";\\n opacity: 0;\\n z-index: -1;\\n\"])), absolutelyPositioned);\nvar Background = styled.div(templateObject_7$2 || (templateObject_7$2 = __makeTemplateObject([\"\\n &.slide-background-loader,\\n &.slide-background-loading,\\n &.slide-background-loaded {\\n \", \";\\n }\\n\\n &.slide-background-loader {\\n opacity: 0;\\n z-index: -1;\\n }\\n\\n &.slide-background-loading {\\n opacity: 0;\\n width: 100%;\\n height: 100%;\\n visibility: hidden;\\n }\\n\\n &.slide-background-fade-in {\\n opacity: 0;\\n animation: \", \" \", \" ease-in-out \", \" forwards;\\n }\\n\\n &.slide-background-zoom-out {\\n opacity: 0;\\n transform: scale(1.5);\\n animation:\\n \", \" \", \" ease-in-out \", \" forwards,\\n \", \" 30000ms ease-in-out \", \" forwards;\\n }\\n\"], [\"\\n &.slide-background-loader,\\n &.slide-background-loading,\\n &.slide-background-loaded {\\n \", \";\\n }\\n\\n &.slide-background-loader {\\n opacity: 0;\\n z-index: -1;\\n }\\n\\n &.slide-background-loading {\\n opacity: 0;\\n width: 100%;\\n height: 100%;\\n visibility: hidden;\\n }\\n\\n &.slide-background-fade-in {\\n opacity: 0;\\n animation: \", \" \", \" ease-in-out \", \" forwards;\\n }\\n\\n &.slide-background-zoom-out {\\n opacity: 0;\\n transform: scale(1.5);\\n animation:\\n \", \" \", \" ease-in-out \", \" forwards,\\n \", \" 30000ms ease-in-out \", \" forwards;\\n }\\n\"])), absolutelyPositioned, fadeInKeyframes$1, backgroundAnimationDuration, backgroundAnimationDelay, fadeInKeyframes$1, backgroundAnimationDuration, backgroundAnimationDelay, zoomOutKeyframes, backgroundAnimationDelay);\nvar templateObject_1$3, templateObject_2$2, templateObject_3$2, templateObject_4$2, templateObject_5$2, templateObject_6$2, templateObject_7$2;\nvar useState$2 = useState$6,\n memo$3 = memo$b;\n\nvar SlideBackground = function SlideBackground(props) {\n var _a = props.shouldLazyLoad,\n shouldLazyLoad = _a === void 0 ? true : _a,\n lazyLoadingOffset = props.lazyLoadingOffset,\n width = props.width,\n height = props.height,\n onLoad = props.onLoad,\n alt = props.alt,\n background = __rest(props, [\"shouldLazyLoad\", \"lazyLoadingOffset\", \"width\", \"height\", \"onLoad\", \"alt\"]);\n\n var backgroundImage = background.backgroundImage,\n backgroundAnimation = background.backgroundAnimation;\n /**\r\n * If there are no `backgroundImage`, then there is no need to:\r\n * - Add the `Loading` class is not needed, instead the default class is `Loaded`.\r\n * - `img` tag element will not render.\r\n */\n\n var _b = useState$2(backgroundImage ? 'slide-background-loading' : 'slide-background-loaded'),\n className = _b[0],\n setClassName = _b[1];\n\n var onLoadHandler = function onLoadHandler(event) {\n if (onLoad) {\n onLoad(event);\n }\n\n var className = ['slide-background-loaded'];\n\n switch (backgroundAnimation) {\n case EBackgroundAnimations.ZOOM:\n className.push('slide-background-zoom-out');\n break;\n\n case EBackgroundAnimations.FADE:\n default:\n className.push('slide-background-fade-in');\n break;\n }\n\n setClassName(className.join(' '));\n };\n\n var style = useMemo$4(function () {\n return _assign({\n backgroundPosition: 'center top',\n backgroundSize: 'cover',\n width: width || '100%',\n height: height || '100%'\n }, background, {\n backgroundImage: backgroundImage ? \"url('\" + backgroundImage + \"')\" : undefined\n });\n }, [background, backgroundImage, height, width]);\n var content = createElement(Fragment, null, backgroundImage && createElement(Img, {\n className: \"slide-background-loader\",\n onLoad: onLoadHandler,\n alt: alt,\n src: backgroundImage\n }), createElement(Background, {\n style: style,\n className: className\n }));\n return shouldLazyLoad ? createElement(LazyLoad, {\n offset: lazyLoadingOffset || window.innerHeight,\n debounce: false,\n height: height || '100%'\n }, content) : content;\n};\n\nvar Background$1 = memo$3(SlideBackground); // Styles\n\nvar sliderWidth = css(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (_a) {\n var theme = _a.theme;\n return \"calc(\" + (theme.sliderWidth || '100vw') + \" * 0.66)\";\n});\nvar sliderHeight = css(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (_a) {\n var theme = _a.theme;\n return \"calc(\" + (theme.sliderHeight || '100vw') + \" * 0.66)\";\n});\n\nvar maskDuration = function maskDuration(multiplier) {\n if (multiplier === void 0) {\n multiplier = 1.5;\n }\n\n return css(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (_a) {\n var theme = _a.theme;\n return \"calc(\" + (theme.maskDuration || '200ms') + \" * \" + multiplier + \")\";\n });\n};\n\nvar backgroundFadeInDuration = css(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (_a) {\n var theme = _a.theme;\n return theme.backgroundFadeInDuration || '1500ms';\n});\nvar backgroundFadeInDelay = css(templateObject_5$3 || (templateObject_5$3 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (_a) {\n var theme = _a.theme;\n return theme.backgroundFadeInDelay || '100ms';\n}); // Animations\n\nvar maskSlideIn = keyframes(templateObject_6$3 || (templateObject_6$3 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 10% {\\n -webkit-clip-path: inset(50% 50% 50% 50%);\\n clip-path: inset(50% 50% 50% 50%);\\n }\\n 100% {\\n opacity: 1;\\n -webkit-clip-path: inset(0 0 0 0);\\n clip-path: inset(0 0 0 0);\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 10% {\\n -webkit-clip-path: inset(50% 50% 50% 50%);\\n clip-path: inset(50% 50% 50% 50%);\\n }\\n 100% {\\n opacity: 1;\\n -webkit-clip-path: inset(0 0 0 0);\\n clip-path: inset(0 0 0 0);\\n }\\n\"]))); // Components\n\nvar Mask = styled.div(templateObject_7$3 || (templateObject_7$3 = __makeTemplateObject([\"\\n &.slide-background-mask {\\n overflow: hidden;\\n position: absolute;\\n left: 25%;\\n top: 50%;\\n width: \", \";\\n height: \", \";\\n max-width: 33%;\\n max-height: 50%;\\n -webkit-clip-path: polygon(0% 0%, 0% 100%, 16% 100%, 15% 15%, 85% 15%, 85% 85%, 15% 85%, 16% 100%, 100% 100%, 100% 0%);\\n clip-path: polygon(0% 0%, 0% 100%, 16% 100%, 15% 15%, 85% 15%, 85% 85%, 15% 85%, 16% 100%, 100% 100%, 100% 0%);\\n transform: translate3d(-33.33%, -50%, 0);\\n transition: all \", \" ease 0s;\\n }\\n &.slide-background-mask:not(.slide-background-mask-active) {\\n opacity: 0;\\n z-index: 1;\\n transform: translate3d(33.33%, -50%, 0);\\n /* property name | duration | timing function | delay */\\n transition: all \", \" ease 0s;\\n }\\n .slide-background-mask-inner {\\n z-index: -1;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n width: 200%;\\n height: 200%;\\n transform: translate3d(-50%, -50%, 0);\\n background-size: cover;\\n background-position: center center;\\n -webkit-transform-origin: 50% 16.5vh;\\n transform-origin: 50% 16.5vh;\\n transition: all \", \" ease 0s;\\n }\\n .slide-background-mask-inner.slide-background-mask-inner-sliding {\\n transition: all \", \" ease 0s;\\n transform: translate3d(-85%, -50%, 0);\\n }\\n\\n @media (max-width: 1024px) {\\n &.slide-background-mask {\\n max-width: 50% !important;\\n }\\n .slide-background-mask-inner {\\n width: \", \";\\n height: \", \";\\n }\\n }\\n\"], [\"\\n &.slide-background-mask {\\n overflow: hidden;\\n position: absolute;\\n left: 25%;\\n top: 50%;\\n width: \", \";\\n height: \", \";\\n max-width: 33%;\\n max-height: 50%;\\n -webkit-clip-path: polygon(0% 0%, 0% 100%, 16% 100%, 15% 15%, 85% 15%, 85% 85%, 15% 85%, 16% 100%, 100% 100%, 100% 0%);\\n clip-path: polygon(0% 0%, 0% 100%, 16% 100%, 15% 15%, 85% 15%, 85% 85%, 15% 85%, 16% 100%, 100% 100%, 100% 0%);\\n transform: translate3d(-33.33%, -50%, 0);\\n transition: all \", \" ease 0s;\\n }\\n &.slide-background-mask:not(.slide-background-mask-active) {\\n opacity: 0;\\n z-index: 1;\\n transform: translate3d(33.33%, -50%, 0);\\n /* property name | duration | timing function | delay */\\n transition: all \", \" ease 0s;\\n }\\n .slide-background-mask-inner {\\n z-index: -1;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n width: 200%;\\n height: 200%;\\n transform: translate3d(-50%, -50%, 0);\\n background-size: cover;\\n background-position: center center;\\n -webkit-transform-origin: 50% 16.5vh;\\n transform-origin: 50% 16.5vh;\\n transition: all \", \" ease 0s;\\n }\\n .slide-background-mask-inner.slide-background-mask-inner-sliding {\\n transition: all \", \" ease 0s;\\n transform: translate3d(-85%, -50%, 0);\\n }\\n\\n @media (max-width: 1024px) {\\n &.slide-background-mask {\\n max-width: 50% !important;\\n }\\n .slide-background-mask-inner {\\n width: \", \";\\n height: \", \";\\n }\\n }\\n\"])), sliderWidth, sliderHeight, maskDuration(), maskDuration(1), maskDuration(1.66), maskDuration(1), sliderHeight, sliderHeight);\nvar Img$1 = styled.img(templateObject_8$2 || (templateObject_8$2 = __makeTemplateObject([\"\\n &.slide-background-mask-loader {\\n opacity: 0;\\n z-index: -1;\\n }\\n\\n &.slide-background-mask-loading {\\n opacity: 0;\\n }\\n\\n &.slide-background-mask-loaded {\\n opacity: 0;\\n animation-name: \", \";\\n animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);\\n animation-fill-mode: forwards;\\n animation-duration: \", \";\\n animation-delay: \", \";\\n }\\n\"], [\"\\n &.slide-background-mask-loader {\\n opacity: 0;\\n z-index: -1;\\n }\\n\\n &.slide-background-mask-loading {\\n opacity: 0;\\n }\\n\\n &.slide-background-mask-loaded {\\n opacity: 0;\\n animation-name: \", \";\\n animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);\\n animation-fill-mode: forwards;\\n animation-duration: \", \";\\n animation-delay: \", \";\\n }\\n\"])), maskSlideIn, backgroundFadeInDuration, backgroundFadeInDelay);\nvar templateObject_1$4, templateObject_2$3, templateObject_3$3, templateObject_4$3, templateObject_5$3, templateObject_6$3, templateObject_7$3, templateObject_8$2; // Libraries\n\nvar useState$3 = useState$6,\n memo$4 = memo$b;\n\nvar BackgroundMask = function BackgroundMask(props) {\n var background = props.background;\n\n var _a = useState$3('slide-background-mask-loading'),\n className = _a[0],\n setClassName = _a[1];\n\n var onLoadHandler = function onLoadHandler() {\n setClassName('slide-background-mask-loaded');\n };\n\n var style = useMemo$4(function () {\n return {\n backgroundColor: background.backgroundColor,\n backgroundBlendMode: background.maskBackgroundBlendMode,\n backgroundImage: \"url('\" + background.backgroundImage + \"')\"\n };\n }, [background.backgroundColor, background.backgroundImage, background.maskBackgroundBlendMode]);\n var isLoaded = className === 'slide-background-mask-loaded';\n return createElement(Mask, {\n className: ['slide-background-mask', props.isActive && props.isDoneSliding ? 'slide-background-mask-active' : 'slide-background-mask-inactive'].join(' ')\n }, createElement(LazyLoad, {\n offset: window.innerHeight,\n debounce: false,\n height: \"100%\"\n }, createElement(Img$1, {\n className: \"slide-background-mask-loader\",\n onLoad: onLoadHandler,\n src: background.backgroundImage\n }), isLoaded && createElement(\"div\", {\n style: style,\n className: [className, isLoaded ? 'slide-background-mask-inner' : null, isLoaded && !props.isDoneSliding ? 'slide-background-mask-inner-sliding' : null].join(' ')\n })));\n};\n\nvar Mask$1 = memo$4(BackgroundMask);\nvar useContext$2 = useContext$8,\n useEffect$2 = useEffect$3,\n useState$4 = useState$6,\n memo$5 = memo$b;\nvar HeroSlide = memo$5(function (props) {\n var shouldRenderMask = props.shouldRenderMask,\n style = props.style,\n background = props.background,\n onBackgroundLoad = props.onBackgroundLoad,\n children = props.children,\n navDescription = props.navDescription,\n rest = __rest(props, [\"shouldRenderMask\", \"style\", \"background\", \"onBackgroundLoad\", \"children\", \"navDescription\"]);\n\n var _a = useContext$2(SliderContext),\n dispatchProps = _a.dispatchProps,\n slidesArray = _a.slidesArray,\n slideProps = _a.slideProps,\n generateNewSlideId = _a.generateNewSlideId,\n removeSlideId = _a.removeSlideId;\n\n var _b = useState$4(slidesArray.length),\n slideNumber = _b[0],\n setSlideNumber = _b[1];\n\n var currentSlideData = slidesArray.find(function (_a) {\n var number = _a.slideNumber;\n return number === slideNumber;\n });\n useEffect$2(function () {\n if (dispatchProps && !currentSlideData) {\n var newSlideNumber = generateNewSlideId();\n dispatchProps({\n type: EActionTypes.SET_SLIDE_DATA,\n payload: {\n navDescription: navDescription,\n slideNumber: newSlideNumber\n }\n });\n setSlideNumber(newSlideNumber);\n }\n }, [dispatchProps, currentSlideData, slideNumber, slidesArray, navDescription, generateNewSlideId]); // When unmounting, remove the slideNumber.\n\n useEffect$2(function () {\n return function () {\n if (slideNumber) removeSlideId(slideNumber);\n };\n }, [slideNumber, removeSlideId]);\n /**\r\n * extendedTheme settings for the background\r\n * animation transitions.\r\n */\n\n var extendedTheme = useMemo$4(function () {\n return background ? {\n backgroundAnimationDuration: background.backgroundAnimationDuration ? background.backgroundAnimationDuration + \"ms\" : undefined,\n backgroundAnimationDelay: background.backgroundAnimationDelay ? background.backgroundAnimationDelay + \"ms\" : undefined\n } : background;\n }, [background]);\n if (!currentSlideData || !slideProps) return null;\n var activeSlide = slideProps.activeSlide,\n isDoneSliding = slideProps.isDoneSliding,\n slidingAnimation = slideProps.slidingAnimation;\n var currentSlide = slidesArray.indexOf(currentSlideData) + 1;\n var isActive = activeSlide === currentSlide;\n return createElement(ExtendedThemeProvider$1, {\n extendedTheme: extendedTheme\n }, createElement(StyledSlide, _assign({\n style: _assign({}, style),\n isActive: isActive,\n isDoneSliding: isDoneSliding,\n slidingAnimation: slidingAnimation\n }, rest), createElement(Background$1, _assign({\n onLoad: onBackgroundLoad\n }, background)), createElement(\"div\", {\n className: \"slide-wrapper\"\n }, shouldRenderMask ? createElement(Mask$1, {\n background: background,\n isActive: isActive,\n isDoneSliding: isDoneSliding\n }) : null, children && createElement(\"div\", {\n className: ['slide-container', isActive && isDoneSliding ? 'slide-active' : null].join(' ')\n }, children))));\n});\n\nvar Slide = function Slide(props) {\n return createElement(HeroSlide, _assign({}, props));\n};\n\nSlide.displayName = 'hero-slider/slide'; // Animations\n\nvar fadeInKeyframes$2 = keyframes(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"]))); // Styles\n\nvar navFadeInDuration = css(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDuration || 500;\n});\nvar navFadeInDelay = css(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDelay || 1000;\n});\nvar navColor = css(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navColor || 'rgba(200, 215, 235, 0.6)';\n});\nvar navActiveColor = css(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navActiveColor || 'rgba(200, 215, 235, 1)';\n}); // CSS\n\nvar Wrapper$2 = styled.ul(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject([\"\\n display: inline-flex;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n position: absolute;\\n z-index: 3;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-nav-button {\\n position: relative;\\n color: currentColor;\\n height: 50px;\\n max-width: 60px;\\n min-width: 50px;\\n width: 15%;\\n margin: 0 6px;\\n border-bottom: 2px solid \", \";\\n cursor: pointer;\\n transition: all 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275);\\n }\\n\\n .slide-nav-active-button {\\n border-color: \", \"\\n }\\n\\n @media (max-width: 744px) {\\n .slide-nav-button {\\n display: block;\\n cursor: pointer;\\n color: currentColor;\\n outline: none;\\n height: 14px;\\n width: 14px;\\n min-width: 14px;\\n max-width: 14px;\\n margin: 0 9px;\\n border: 0;\\n font-size: 0;\\n line-height: 0;\\n background: \", \";\\n border-radius: 50%;\\n }\\n\\n .slide-nav-active-button {\\n background: \", \";\\n }\\n }\\n\"], [\"\\n display: inline-flex;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n position: absolute;\\n z-index: 3;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-nav-button {\\n position: relative;\\n color: currentColor;\\n height: 50px;\\n max-width: 60px;\\n min-width: 50px;\\n width: 15%;\\n margin: 0 6px;\\n border-bottom: 2px solid \", \";\\n cursor: pointer;\\n transition: all 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275);\\n }\\n\\n .slide-nav-active-button {\\n border-color: \", \"\\n }\\n\\n @media (max-width: 744px) {\\n .slide-nav-button {\\n display: block;\\n cursor: pointer;\\n color: currentColor;\\n outline: none;\\n height: 14px;\\n width: 14px;\\n min-width: 14px;\\n max-width: 14px;\\n margin: 0 9px;\\n border: 0;\\n font-size: 0;\\n line-height: 0;\\n background: \", \";\\n border-radius: 50%;\\n }\\n\\n .slide-nav-active-button {\\n background: \", \";\\n }\\n }\\n\"])), fadeInKeyframes$2, navFadeInDuration, navFadeInDelay, navColor, navActiveColor, navColor, navActiveColor);\nvar templateObject_1$5, templateObject_2$4, templateObject_3$4, templateObject_4$4, templateObject_5$4, templateObject_6$4;\nvar useContext$3 = useContext$8,\n useMemo = useMemo$4,\n memo$6 = memo$b;\nvar SliderNav = memo$6(function (props) {\n /**\r\n * Deconstructing navSettings to set it up.\r\n */\n var color = props.color,\n activeColor = props.activeColor,\n position = props.position;\n\n var _a = useContext$3(SliderContext),\n navProps = _a.navProps,\n slidesArray = _a.slidesArray;\n\n var navButtons = useMemo(function () {\n if (!navProps || !slidesArray.length) return [];\n var changeSlide = navProps.changeSlide,\n activeSlide = navProps.activeSlide;\n\n var changeSlideHandler = function changeSlideHandler(navButtonIndex) {\n var nextSlide = navButtonIndex + 1;\n\n if (nextSlide !== activeSlide) {\n changeSlide(nextSlide);\n }\n };\n\n return slidesArray.map(function (_, index) {\n return createElement(\"li\", {\n onClick: function onClick() {\n return changeSlideHandler(index);\n },\n key: index,\n className: ['slide-nav-button', activeSlide === index + 1 ? 'slide-nav-active-button' : undefined].join(' ')\n });\n });\n }, [navProps, slidesArray]);\n if (!navProps) return null;\n /**\r\n * CSS variables for the transitions.\r\n */\n\n var extendedTheme = {\n navColor: color,\n navActiveColor: activeColor\n };\n return createElement(ExtendedThemeProvider$1, {\n extendedTheme: extendedTheme\n }, createElement(Wrapper$2, {\n style: _assign({\n bottom: !position ? '1.5rem' : undefined,\n left: !position ? '50%' : undefined,\n transform: !position ? 'translateX(-50%)' : undefined\n }, position)\n }, navButtons));\n});\n\nvar Nav = function Nav(props) {\n return createElement(SliderNav, _assign({}, props));\n};\n\nNav.displayName = 'hero-slider/nav'; // Animations\n\nvar fadeInKeyframes$3 = keyframes(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"]))); // Styles\n\nvar navFadeInDuration$1 = css(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDuration || 500;\n});\nvar navFadeInDelay$1 = css(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDelay || 1000;\n});\nvar navColor$1 = css(templateObject_4$5 || (templateObject_4$5 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navColor || '#C8D7EB';\n});\nvar navActiveColor$1 = css(templateObject_5$5 || (templateObject_5$5 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navActiveColor || '#FFFFFF';\n});\nvar Wrapper$3 = styled.ul(templateObject_6$5 || (templateObject_6$5 = __makeTemplateObject([\"\\n width: 60px;\\n position: absolute;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n z-index: 3;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-side-nav-button {\\n display: flex;\\n align-items: center;\\n position: relative;\\n margin: 0 auto;\\n padding: 0.5rem 0;\\n text-align: right;\\n color: \", \";\\n cursor: pointer;\\n transition: all 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275);\\n }\\n\\n .slide-side-nav-active-button {\\n color: \", \";\\n }\\n\\n .slide-side-nav-button-line {\\n width: 20px;\\n height: 1px;\\n background-color: currentColor;\\n transition: all ease 200ms;\\n }\\n\\n .slide-side-nav-button-number {\\n width: 10px;\\n font-size: 19px;\\n margin: 0;\\n transform: scaleX(0);\\n transition: all ease 200ms;\\n }\\n\\n .slide-side-nav-active-button .slide-side-nav-button-line {\\n width: 50px;\\n }\\n\\n .slide-side-nav-active-button .slide-side-nav-button-number {\\n margin: 0 0.5ch;\\n transform: scaleX(1);\\n }\\n\"], [\"\\n width: 60px;\\n position: absolute;\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n z-index: 3;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-side-nav-button {\\n display: flex;\\n align-items: center;\\n position: relative;\\n margin: 0 auto;\\n padding: 0.5rem 0;\\n text-align: right;\\n color: \", \";\\n cursor: pointer;\\n transition: all 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275);\\n }\\n\\n .slide-side-nav-active-button {\\n color: \", \";\\n }\\n\\n .slide-side-nav-button-line {\\n width: 20px;\\n height: 1px;\\n background-color: currentColor;\\n transition: all ease 200ms;\\n }\\n\\n .slide-side-nav-button-number {\\n width: 10px;\\n font-size: 19px;\\n margin: 0;\\n transform: scaleX(0);\\n transition: all ease 200ms;\\n }\\n\\n .slide-side-nav-active-button .slide-side-nav-button-line {\\n width: 50px;\\n }\\n\\n .slide-side-nav-active-button .slide-side-nav-button-number {\\n margin: 0 0.5ch;\\n transform: scaleX(1);\\n }\\n\"])), fadeInKeyframes$3, navFadeInDuration$1, navFadeInDelay$1, navActiveColor$1, navColor$1);\nvar templateObject_1$6, templateObject_2$5, templateObject_3$5, templateObject_4$5, templateObject_5$5, templateObject_6$5;\nvar useContext$4 = useContext$8,\n useMemo$1 = useMemo$4,\n memo$7 = memo$b;\nvar SliderNav$1 = memo$7(function (props) {\n /**\r\n * Deconstructing navSettings to set it up.\r\n */\n var color = props.color,\n activeColor = props.activeColor,\n left = props.left,\n right = props.right,\n position = props.position,\n _a = props.isPositionedRight,\n isPositionedRight = _a === void 0 ? true : _a;\n\n var _b = useContext$4(SliderContext),\n navProps = _b.navProps,\n slidesArray = _b.slidesArray;\n /**\r\n * CSS variables for the transitions.\r\n */\n\n\n var extendedTheme = {\n navColor: color,\n navActiveColor: activeColor\n };\n var navButtons = useMemo$1(function () {\n if (!navProps || !slidesArray.length) return [];\n var changeSlide = navProps.changeSlide,\n activeSlide = navProps.activeSlide;\n\n var changeSlideHandler = function changeSlideHandler(navButtonIndex) {\n var nextSlide = navButtonIndex + 1;\n\n if (nextSlide !== activeSlide) {\n changeSlide(nextSlide);\n }\n };\n\n return slidesArray.map(function (_, index) {\n var respectiveSlide = index + 1;\n return createElement(\"li\", {\n onClick: function onClick() {\n return changeSlideHandler(index);\n },\n key: index,\n className: ['slide-side-nav-button', activeSlide === respectiveSlide ? 'slide-side-nav-active-button' : undefined].join(' '),\n style: {\n justifyContent: isPositionedRight ? 'flex-end' : 'flex-start'\n }\n }, createElement(\"span\", {\n className: \"slide-side-nav-button-line\"\n }), createElement(\"span\", {\n className: \"slide-side-nav-button-number\"\n }, respectiveSlide));\n });\n }, [navProps, slidesArray, isPositionedRight]);\n return createElement(ExtendedThemeProvider$1, {\n extendedTheme: extendedTheme\n }, createElement(Wrapper$3, {\n style: _assign({\n top: !position ? '50%' : undefined,\n left: !position && !isPositionedRight ? left || '1rem' : undefined,\n right: !position && isPositionedRight ? right || '1rem' : undefined,\n transform: !position ? 'translateY(-50%)' : undefined\n }, position)\n }, navButtons));\n});\n\nvar SideNav = function SideNav(props) {\n return createElement(SliderNav$1, _assign({}, props));\n};\n\nSideNav.displayName = 'hero-slider/nav'; // Animations\n\nvar fadeInKeyframes$4 = keyframes(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"]))); // Styles\n\nvar navFadeInDuration$2 = css(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDuration || 500;\n});\nvar navFadeInDelay$2 = css(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDelay || 1000;\n});\nvar navColor$2 = css(templateObject_4$6 || (templateObject_4$6 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navColor || 'rgba(215, 225, 235, 0.6)';\n});\nvar navActiveColor$2 = css(templateObject_5$6 || (templateObject_5$6 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navActiveColor || 'rgb(255, 255, 255)';\n}); // Components\n\nvar Wrapper$4 = styled.div(templateObject_6$6 || (templateObject_6$6 = __makeTemplateObject([\"\\n position: absolute;\\n display: flex;\\n z-index: 3;\\n width: 90%; /* May be placeholder. */\\n margin: 0 auto;\\n padding: 0;\\n cursor: pointer;\\n user-select: none;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-menu-nav-button {\\n list-style: none;\\n flex: 1;\\n position: relative;\\n display: flex;\\n align-items: center;\\n color: var(--nav-active-color, #FFF);\\n min-height: 15%;\\n height: auto;\\n margin: 1rem 0;\\n padding: 0.5rem 0.75rem;\\n }\\n\\n .slide-menu-nav-button:not(:first-child):not(:last-child) {\\n border-left: 1px solid var(--nav-color, rgba(215, 225, 235, 0.6));\\n }\\n\\n .slide-menu-nav-button-description {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 0.5rem;\\n }\\n\\n .slide-menu-nav-button-number {\\n position: relative;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n min-width: 36px;\\n width: 36px;\\n height: 36px;\\n line-height: 36px;\\n backface-visibility: hidden;\\n color: var(--nav-active-color, #FFF);\\n font-size: 12px;\\n }\\n\\n .slide-menu-nav-button-number .slide-menu-nav-button-square {\\n background-color: transparent;\\n border-radius: 5px;\\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.18);\\n display: block;\\n height: 100%;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: 0px 0px;\\n width: 24px;\\n height: 24px;\\n z-index: -1;\\n border: 1px solid #fff;\\n opacity: 0.5;\\n }\\n\\n .slide-menu-nav-button-text {\\n width: 80%;\\n padding-left: 1.4rem;\\n font-weight: 700;\\n font-size: 12px;\\n }\\n\"], [\"\\n position: absolute;\\n display: flex;\\n z-index: 3;\\n width: 90%; /* May be placeholder. */\\n margin: 0 auto;\\n padding: 0;\\n cursor: pointer;\\n user-select: none;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\\n .slide-menu-nav-button {\\n list-style: none;\\n flex: 1;\\n position: relative;\\n display: flex;\\n align-items: center;\\n color: var(--nav-active-color, #FFF);\\n min-height: 15%;\\n height: auto;\\n margin: 1rem 0;\\n padding: 0.5rem 0.75rem;\\n }\\n\\n .slide-menu-nav-button:not(:first-child):not(:last-child) {\\n border-left: 1px solid var(--nav-color, rgba(215, 225, 235, 0.6));\\n }\\n\\n .slide-menu-nav-button-description {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 0.5rem;\\n }\\n\\n .slide-menu-nav-button-number {\\n position: relative;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n min-width: 36px;\\n width: 36px;\\n height: 36px;\\n line-height: 36px;\\n backface-visibility: hidden;\\n color: var(--nav-active-color, #FFF);\\n font-size: 12px;\\n }\\n\\n .slide-menu-nav-button-number .slide-menu-nav-button-square {\\n background-color: transparent;\\n border-radius: 5px;\\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.18);\\n display: block;\\n height: 100%;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: 0px 0px;\\n width: 24px;\\n height: 24px;\\n z-index: -1;\\n border: 1px solid #fff;\\n opacity: 0.5;\\n }\\n\\n .slide-menu-nav-button-text {\\n width: 80%;\\n padding-left: 1.4rem;\\n font-weight: 700;\\n font-size: 12px;\\n }\\n\"])), fadeInKeyframes$4, navFadeInDuration$2, navFadeInDelay$2);\nvar Container$1 = styled.div(templateObject_7$4 || (templateObject_7$4 = __makeTemplateObject([\"\\n display: flex;\\n flex-grow: 1;\\n position: relative;\\n margin: 0;\\n padding: 0;\\n border-top: 1px solid \", \";\\n\"], [\"\\n display: flex;\\n flex-grow: 1;\\n position: relative;\\n margin: 0;\\n padding: 0;\\n border-top: 1px solid \", \";\\n\"])), navColor$2);\nvar Bar = styled.div(templateObject_8$3 || (templateObject_8$3 = __makeTemplateObject([\"\\n position: absolute;\\n top: 0px;\\n height: 4px;\\n background-color: \", \";\\n opacity: 0.75;\\n transition: transform 400ms ease;\\n\"], [\"\\n position: absolute;\\n top: 0px;\\n height: 4px;\\n background-color: \", \";\\n opacity: 0.75;\\n transition: transform 400ms ease;\\n\"])), navActiveColor$2);\nvar ExtraButtonWrapper = styled.div(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject([\"\\n display: flex;\\n min-width: 50px;\\n margin: 0;\\n padding: 0;\\n color: \", \";\\n border-top: 1px solid \", \";\\n order: \", \";\\n\"], [\"\\n display: flex;\\n min-width: 50px;\\n margin: 0;\\n padding: 0;\\n color: \", \";\\n border-top: 1px solid \", \";\\n order: \", \";\\n\"])), navActiveColor$2, navColor$2, function (_a) {\n var isExtraButtonRight = _a.isExtraButtonRight;\n return isExtraButtonRight ? 1 : 0;\n});\nvar ExtraButton = styled.span(templateObject_10$1 || (templateObject_10$1 = __makeTemplateObject([\"\\n flex: 1;\\n color: \", \";\\n min-height: 15%;\\n height: auto;\\n margin: 1rem 0;\\n padding: 0;\\n \", \";\\n\"], [\"\\n flex: 1;\\n color: \", \";\\n min-height: 15%;\\n height: auto;\\n margin: 1rem 0;\\n padding: 0;\\n \", \";\\n\"])), navActiveColor$2, function (_a) {\n var isExtraButtonRight = _a.isExtraButtonRight;\n return isExtraButtonRight ? \"\\n border-left: 1px solid \" + navColor$2 + \";\\n \" : \"\\n border-right: 1px solid \" + navColor$2 + \";\\n \";\n});\nvar templateObject_1$7, templateObject_2$6, templateObject_3$6, templateObject_4$6, templateObject_5$6, templateObject_6$6, templateObject_7$4, templateObject_8$3, templateObject_9$1, templateObject_10$1;\nvar useContext$5 = useContext$8,\n useMemo$2 = useMemo$4,\n memo$8 = memo$b;\nvar SliderNav$2 = memo$8(function (props) {\n /**\r\n * Deconstructing MenuNavSettings to set it up.\r\n */\n var color = props.color,\n activeColor = props.activeColor,\n position = props.position,\n justifyContent = props.justifyContent,\n _a = props.sliderWidth,\n sliderWidth = _a === void 0 ? window.innerWidth : _a,\n _b = props.mobileThreshold,\n mobileThreshold = _b === void 0 ? 1024 : _b,\n isNullAfterThreshold = props.isNullAfterThreshold,\n extraButton = props.extraButton,\n _c = props.isExtraButtonRight,\n isExtraButtonRight = _c === void 0 ? true : _c;\n\n var _d = useContext$5(SliderContext),\n navProps = _d.navProps,\n slidesArray = _d.slidesArray;\n\n var MenuNavButtons = useMemo$2(function () {\n if (!navProps || !slidesArray.length) return [];\n var changeSlide = navProps.changeSlide,\n activeSlide = navProps.activeSlide;\n\n var changeSlideHandler = function changeSlideHandler(MenuNavButtonIndex) {\n var nextSlide = MenuNavButtonIndex + 1;\n\n if (nextSlide !== activeSlide) {\n changeSlide(nextSlide);\n }\n };\n\n return slidesArray.map(function (_a, index) {\n var navDescription = _a.navDescription;\n var description = navDescription;\n var respectiveSlide = index + 1;\n return createElement(\"li\", {\n onClick: function onClick() {\n return changeSlideHandler(index);\n },\n key: index,\n className: ['slide-menu-nav-button', activeSlide === respectiveSlide && 'slide-menu-nav-active-button'].join(' ')\n }, createElement(\"div\", {\n className: \"slide-menu-nav-button-description\"\n }, createElement(\"div\", {\n className: \"slide-menu-nav-button-number\"\n }, respectiveSlide, createElement(\"span\", {\n className: \"slide-menu-nav-button-square\"\n })), createElement(\"div\", {\n className: \"slide-menu-nav-button-text\"\n }, description)));\n });\n }, [navProps, slidesArray]);\n\n if (sliderWidth <= mobileThreshold) {\n if (isNullAfterThreshold) return null;\n return createElement(Nav, _assign({}, props));\n }\n\n if (!navProps) return null;\n var activeSlide = navProps.activeSlide,\n totalSlides = navProps.totalSlides;\n /**\r\n * CSS variables for the transitions.\r\n */\n\n var extendedTheme = {\n navColor: color,\n navActiveColor: activeColor\n };\n return createElement(ExtendedThemeProvider$1, {\n extendedTheme: extendedTheme\n }, createElement(Wrapper$4, {\n style: _assign({\n bottom: !position ? '0' : undefined,\n left: !position ? '50%' : undefined,\n transform: !position ? 'translateX(-50%)' : undefined,\n justifyContent: justifyContent || 'center'\n }, position)\n }, extraButton && createElement(ExtraButtonWrapper, {\n isExtraButtonRight: isExtraButtonRight\n }, createElement(ExtraButton, {\n isExtraButtonRight: isExtraButtonRight\n }, extraButton)), createElement(Container$1, null, MenuNavButtons, createElement(Bar, {\n style: {\n width: 100 / totalSlides + \"%\",\n transform: \"translate3d(\" + (activeSlide - 1) + \"00%, 0, 0)\"\n }\n }))));\n});\n\nvar MenuNav = function MenuNav(props) {\n return createElement(SliderNav$2, _assign({}, props));\n};\n\nMenuNav.displayName = 'hero-slider/menu-nav'; // Animations\n\nvar fadeInKeyframes$5 = keyframes(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject([\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"], [\"\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n\"]))); // Styles\n\nvar navFadeInDuration$3 = css(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDuration || 500;\n});\nvar navFadeInDelay$3 = css(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navFadeInDelay || 1000;\n});\nvar navColor$3 = css(templateObject_4$7 || (templateObject_4$7 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navColor || 'rgb(255, 255, 255)';\n});\nvar navActiveColor$3 = css(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navActiveColor || 'rgb(59, 62, 69)';\n});\n\nvar navBackgroundColor = function navBackgroundColor(defaultBackgroundColor) {\n return css(templateObject_6$7 || (templateObject_6$7 = __makeTemplateObject([\"\", \"\"], [\"\", \"\"])), function (_a) {\n var theme = _a.theme;\n return theme.navBackgroundColor || defaultBackgroundColor;\n });\n}; // Components\n\n\nvar Wrapper$5 = styled.div(templateObject_7$5 || (templateObject_7$5 = __makeTemplateObject([\"\\n position: absolute;\\n display: inline-flex;\\n z-index: 3;\\n margin: 0 auto;\\n padding: 0;\\n cursor: pointer;\\n user-select: none;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\"], [\"\\n position: absolute;\\n display: inline-flex;\\n z-index: 3;\\n margin: 0 auto;\\n padding: 0;\\n cursor: pointer;\\n user-select: none;\\n opacity: 0;\\n animation: \", \" \", \" ease-in \", \" forwards;\\n\"])), fadeInKeyframes$5, navFadeInDuration$3, navFadeInDelay$3);\nvar Container$2 = styled.ul(templateObject_8$4 || (templateObject_8$4 = __makeTemplateObject([\"\\n display: flex;\\n position: relative;\\n max-width: 100%;\\n height: 54px;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap;\\n\"], [\"\\n display: flex;\\n position: relative;\\n max-width: 100%;\\n height: 54px;\\n margin: 0;\\n padding: 0;\\n white-space: nowrap;\\n\"])));\nvar buttonStyle = css(templateObject_9$2 || (templateObject_9$2 = __makeTemplateObject([\"\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n width: 240px;\\n height: 48px;\\n list-style: none;\\n cursor: pointer;\\n background-color: transparent;\\n color: \", \";\\n flex-basis: 0;\\n flex-grow: 1;\\n transition: all 200ms ease-in-out;\\n outline: 0;\\n padding: 0;\\n font-weight: 600;\\n\\n &:not(.slide-button-nav-active-button):before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.5;\\n background-color: \", \";\\n z-index: -1;\\n transition: all 200ms ease-in-out;\\n }\\n\\n &:hover:not(.slide-button-nav-active-button) {\\n background-color: \", \";\\n color: \", \";\\n }\\n\\n &:not(.slide-button-nav-active-button):not(:first-child) {\\n box-shadow: -1px 0px 0px 0px \", \";\\n }\\n\\n &.slide-button-nav-active-button {\\n height: 54px;\\n cursor: default;\\n color: \", \";\\n background-color: transparent;\\n }\\n\\n /* Backgrounds set in :before to allow for opacity */\\n &.slide-button-nav-active-button:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.95;\\n box-shadow: -1px 0px 0px 0px \", \";\\n background-color: \", \";\\n z-index: -1;\\n transition: all 200ms ease-in-out;\\n }\\n\\n &.slide-button-nav-active-button + .Button,\\n &.slide-button-nav-active-button + .ExtraButton {\\n box-shadow: -1px 0px 0px 0px transparent !important;\\n }\\n\"], [\"\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n width: 240px;\\n height: 48px;\\n list-style: none;\\n cursor: pointer;\\n background-color: transparent;\\n color: \", \";\\n flex-basis: 0;\\n flex-grow: 1;\\n transition: all 200ms ease-in-out;\\n outline: 0;\\n padding: 0;\\n font-weight: 600;\\n\\n &:not(.slide-button-nav-active-button):before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.5;\\n background-color: \", \";\\n z-index: -1;\\n transition: all 200ms ease-in-out;\\n }\\n\\n &:hover:not(.slide-button-nav-active-button) {\\n background-color: \", \";\\n color: \", \";\\n }\\n\\n &:not(.slide-button-nav-active-button):not(:first-child) {\\n box-shadow: -1px 0px 0px 0px \", \";\\n }\\n\\n &.slide-button-nav-active-button {\\n height: 54px;\\n cursor: default;\\n color: \", \";\\n background-color: transparent;\\n }\\n\\n /* Backgrounds set in :before to allow for opacity */\\n &.slide-button-nav-active-button:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.95;\\n box-shadow: -1px 0px 0px 0px \", \";\\n background-color: \", \";\\n z-index: -1;\\n transition: all 200ms ease-in-out;\\n }\\n\\n &.slide-button-nav-active-button + .Button,\\n &.slide-button-nav-active-button + .ExtraButton {\\n box-shadow: -1px 0px 0px 0px transparent !important;\\n }\\n\"])), navColor$3, navBackgroundColor('rgba(255, 255, 255, 0.8)'), navColor$3, navActiveColor$3, navBackgroundColor('rgba(215, 225, 235, 0.8)'), navColor$3, navActiveColor$3, navActiveColor$3);\nvar ExtraButton$1 = styled.div(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject([\"\\n \", \";\\n align-items: unset;\\n color: \", \";\\n box-shadow: -1px 0px 0px 0px \", \";\\n\"], [\"\\n \", \";\\n align-items: unset;\\n color: \", \";\\n box-shadow: -1px 0px 0px 0px \", \";\\n\"])), buttonStyle, navColor$3, navBackgroundColor('rgba(215, 225, 235, 0.8)'));\nvar Button = styled.li(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), buttonStyle);\nvar Description = styled.div(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 0.5rem;\\n\"])));\nvar Text = styled.div(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject([\"\\n width: 95%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n text-align: center;\\n text-transform: uppercase;\\n color: inherit;\\n letter-spacing: 0.1rem;\\n font-size: 0.75rem;\\n line-height: 1rem;\\n\"], [\"\\n width: 95%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n text-align: center;\\n text-transform: uppercase;\\n color: inherit;\\n letter-spacing: 0.1rem;\\n font-size: 0.75rem;\\n line-height: 1rem;\\n\"])));\nvar templateObject_1$8, templateObject_2$7, templateObject_3$7, templateObject_4$7, templateObject_5$7, templateObject_6$7, templateObject_7$5, templateObject_8$4, templateObject_9$2, templateObject_10$2, templateObject_11$1, templateObject_12$1, templateObject_13$1;\nvar useContext$6 = useContext$8,\n useMemo$3 = useMemo$4,\n memo$9 = memo$b;\nvar SliderNav$3 = memo$9(function (props) {\n /**\r\n * Deconstructing ButtonNavSettings to set it up.\r\n */\n var color = props.color,\n activeColor = props.activeColor,\n backgroundColor = props.backgroundColor,\n position = props.position,\n justifyContent = props.justifyContent,\n alignItems = props.alignItems,\n _a = props.sliderWidth,\n sliderWidth = _a === void 0 ? window.innerWidth : _a,\n _b = props.mobileThreshold,\n mobileThreshold = _b === void 0 ? 1024 : _b,\n isNullAfterThreshold = props.isNullAfterThreshold,\n extraButton = props.extraButton,\n isExtraButtonRight = props.isExtraButtonRight;\n\n var _c = useContext$6(SliderContext),\n navProps = _c.navProps,\n slidesArray = _c.slidesArray;\n /**\r\n * CSS variables for the transitions.\r\n */\n\n\n var extendedTheme = {\n navColor: color,\n navActiveColor: activeColor,\n navBackgroundColor: backgroundColor\n };\n var ButtonNavButtons = useMemo$3(function () {\n if (!navProps || !slidesArray.length) return [];\n var changeSlide = navProps.changeSlide,\n activeSlide = navProps.activeSlide;\n\n var changeSlideHandler = function changeSlideHandler(ButtonNavButtonIndex) {\n var nextSlide = ButtonNavButtonIndex + 1;\n\n if (nextSlide !== activeSlide) {\n changeSlide(nextSlide);\n }\n };\n\n return slidesArray.map(function (_a, index) {\n var navDescription = _a.navDescription;\n var description = navDescription;\n var respectiveSlide = index + 1;\n return createElement(Button, {\n key: index,\n onClick: function onClick() {\n return changeSlideHandler(index);\n },\n className: activeSlide === respectiveSlide ? 'slide-button-nav-active-button' : undefined\n }, createElement(Description, null, createElement(Text, null, description)));\n });\n }, [navProps, slidesArray]);\n\n if (sliderWidth <= mobileThreshold) {\n if (isNullAfterThreshold) return null;\n return createElement(Nav, _assign({}, props));\n }\n\n return createElement(ExtendedThemeProvider$1, {\n extendedTheme: extendedTheme\n }, createElement(Wrapper$5, {\n style: _assign({\n bottom: !position ? '0' : undefined,\n left: !position ? '50%' : undefined,\n transform: !position ? 'translateX(-50%)' : undefined\n }, position)\n }, createElement(Container$2, {\n style: {\n justifyContent: justifyContent || 'center',\n\n /**\r\n * The **vertical alignment** of the buttons can be set manually.\r\n * If it's undefined and if there is a position top passed as prop,\r\n * then `alignItems` will be `flex-start`. Otherwise,\r\n * it is set as `flex-end`.\r\n */\n alignItems: alignItems || (position && position.top !== undefined ? 'flex-start' : 'flex-end')\n }\n }, ButtonNavButtons, extraButton && createElement(ExtraButton$1, {\n style: {\n order: isExtraButtonRight ? 1 : 0\n }\n }, extraButton))));\n});\n\nvar ButtonsNav = function ButtonsNav(props) {\n return createElement(SliderNav$3, _assign({}, props));\n};\n\nButtonsNav.displayName = 'hero-slider/menu-nav';\nvar Button$1 = styled.button(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject([\"\\n & {\\n z-index: 3;\\n position: absolute;\\n color: inherit;\\n /* Placeholders */\\n width: 62px;\\n height: 62px;\\n /* Disabling default button CSS. */\\n padding: 0;\\n margin: 0;\\n outline: none;\\n background: transparent;\\n border: 0;\\n }\\n\\n & svg path {\\n transition: d 200ms;\\n }\\n\"], [\"\\n & {\\n z-index: 3;\\n position: absolute;\\n color: inherit;\\n /* Placeholders */\\n width: 62px;\\n height: 62px;\\n /* Disabling default button CSS. */\\n padding: 0;\\n margin: 0;\\n outline: none;\\n background: transparent;\\n border: 0;\\n }\\n\\n & svg path {\\n transition: d 200ms;\\n }\\n\"])));\nvar templateObject_1$9;\nvar useContext$7 = useContext$8,\n useState$5 = useState$6,\n memo$a = memo$b;\nvar AutoplayButtons = memo$a(function (props) {\n var className = props.className,\n style = props.style,\n position = props.position;\n var autoplayButtonProps = useContext$7(SliderContext).autoplayButtonProps;\n\n var _a = useState$5(EAutoplayButtons.PAUSE),\n buttonType = _a[0],\n setButtonType = _a[1];\n\n if (!autoplayButtonProps) return null;\n var setIsManuallyPaused = autoplayButtonProps.setIsManuallyPaused,\n autoplayHandlerTimeout = autoplayButtonProps.autoplayHandlerTimeout,\n shouldAutoplay = autoplayButtonProps.shouldAutoplay,\n autoplay = autoplayButtonProps.autoplay;\n var autoplayInstance = autoplay && autoplay.current;\n if (!autoplayInstance || !shouldAutoplay) return null;\n var playPath = 'M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z';\n var pausePath = 'M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z';\n\n var playHandler = function playHandler() {\n autoplayInstance.resume();\n setButtonType(EAutoplayButtons.PAUSE);\n setIsManuallyPaused(false);\n };\n\n var pauseHandler = function pauseHandler() {\n autoplayInstance.pause();\n setButtonType(EAutoplayButtons.PLAY);\n setIsManuallyPaused(true);\n };\n\n var onClickHandler = function onClickHandler(event) {\n event.stopPropagation();\n clearTimeout(autoplayHandlerTimeout && +autoplayHandlerTimeout);\n\n switch (buttonType) {\n case EAutoplayButtons.PAUSE:\n pauseHandler();\n break;\n\n case EAutoplayButtons.PLAY:\n playHandler();\n break;\n }\n };\n\n var setPath = function setPath() {\n switch (buttonType) {\n case EAutoplayButtons.PLAY:\n return playPath;\n\n case EAutoplayButtons.PAUSE:\n return pausePath;\n }\n };\n\n return createElement(Button$1, {\n className: className,\n onClick: onClickHandler,\n style: _assign({\n bottom: !position ? '0' : undefined,\n left: !position ? '0' : undefined\n }, position, style)\n }, createElement(\"svg\", {\n fill: \"currentColor\",\n height: \"100%\",\n width: \"100%\",\n viewBox: \"0 0 36 36\"\n }, createElement(\"path\", {\n d: setPath()\n })));\n});\n\nvar AutoplayButton = function AutoplayButton(props) {\n return createElement(AutoplayButtons, _assign({}, props));\n};\n\nAutoplayButton.displayName = 'hero-slider/autoplay-button';\nvar OverlayContainer = styled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject([\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 3;\\n pointer-events: none;\\n\\n * {\\n pointer-events: auto;\\n }\\n\"], [\"\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 3;\\n pointer-events: none;\\n\\n * {\\n pointer-events: auto;\\n }\\n\"])));\nvar templateObject_1$a;\nexport default Slider;\nexport { AutoplayButton, ButtonsNav, MenuNav, Nav, OverlayContainer, SideNav, Slide };","import React from \"react\"; // JSX\n\nimport HeroSlider, { Slide, Nav, OverlayContainer } from \"hero-slider\";\nimport { returnResizedImageURL } from \"@accrosoft-ltd/accropress-websites-components/dist/esm/imgUtils\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nvar BasicSlider = function BasicSlider(props) {\n return /*#__PURE__*/_jsxs(HeroSlider, {\n slidingAnimation: props.slidingAnimation || \"left_to_right\",\n orientation: props.orientation || \"horizontal\",\n initialSlide: props.initialSlide || 1,\n onBeforeChange: function onBeforeChange(previousSlide, nextSlide) {\n return props.onBeforeChangeFunction(\"onBeforeChange\", previousSlide, nextSlide);\n },\n onChange: function onChange(nextSlide) {\n return props.onBeforeChangeFunction(\"onChange\", nextSlide);\n },\n onAfterChange: function onAfterChange(nextSlide) {\n return props.onBeforeChangeFunction(\"onAfterChange\", nextSlide);\n },\n style: {\n backgroundColor: \"rgba(0, 0, 0, 0.33)\"\n },\n settings: {\n slidingDuration: props.slidingDuration || 250,\n slidingDelay: props.slidingDelay || 100,\n shouldAutoplay: props.shouldAutoplay != undefined ? props.shouldDisplayButtons : true,\n shouldDisplayButtons: props.shouldDisplayButtons != undefined ? props.shouldDisplayButtons : true,\n autoplayDuration: props.autoplayDuration || 5000,\n height: props.height || \"100vh\"\n },\n children: [/*#__PURE__*/_jsx(OverlayContainer, {\n children: props.OverlayContainer\n }), props.slides.map(function (slide, i) {\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [console.log(slide), /*#__PURE__*/_jsx(Slide, {\n background: {\n backgroundImage: returnResizedImageURL({\n w: 1900\n }, slide.backgroundImage || slide.value || slide[0].backgroundImage || slide[0].value),\n backgroundAttachment: slide.backgroundAttachment || \"fixed\"\n }\n })]\n });\n }), /*#__PURE__*/_jsx(Nav, {})]\n });\n};\n\nexport default BasicSlider;","import React from 'react';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nvar ExtraHomepageContentTop = function ExtraHomepageContentTop(props) {\n return /*#__PURE__*/_jsx(_Fragment, {});\n};\n\nexport default ExtraHomepageContentTop;","import React from 'react';\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nvar ExtraHomepageContentBottom = function ExtraHomepageContentBottom(props) {\n return /*#__PURE__*/_jsx(_Fragment, {});\n};\n\nexport default ExtraHomepageContentBottom;","import React, { useState } from 'react';\nimport loadable from '@loadable/component';\nimport { returnResizedImageURL } from '@accrosoft-ltd/accropress-websites-components/dist/esm/imgUtils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nvar WeducNotices = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/weducNotices');\n});\nvar WigLoader = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/wigLoader');\n});\n\nvar HeroInnerContent = function HeroInnerContent(props) {\n var _useState = useState(null),\n sidebarLinksActive = _useState[0],\n setSidebarLinksActive = _useState[1];\n\n var pluginOptions = props.pluginOptions;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"HeroInnerContent\",\n children: [pluginOptions.quickLinksType === 'normal' && props.contentDataData[0] && props.contentDataData[0].children[4] && props.contentDataData[0].children[4].children && /*#__PURE__*/_jsx(\"div\", {\n className: \"bannerSidebar\",\n children: props.contentDataData[0].children[4].children.map(function (col, index) {\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"bannerSidebar_Item\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"bannerSidebar_Item_Opener bounce\",\n onClick: function onClick() {\n return setSidebarLinksActive(sidebarLinksActive !== index ? index : null);\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"bannerSidebar_Item_Opener_Content\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"bannerSidebar_Item_Opener_Icon\",\n children: /*#__PURE__*/_jsx(\"span\", {\n className: col[0].value\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n children: col[1].value\n })]\n })\n }), sidebarLinksActive === index && /*#__PURE__*/_jsxs(\"div\", {\n className: \"bannerSidebar_Item_Content\",\n children: [/*#__PURE__*/_jsx(\"button\", {\n className: \"close\",\n onClick: function onClick() {\n return setSidebarLinksActive(sidebarLinksActive !== index ? index : null);\n },\n children: /*#__PURE__*/_jsx(\"span\", {\n className: \"fal fa-times\"\n })\n }), /*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: props.config.weducWebsitesID,\n weducContainer: props.config.weducContainerID,\n weducEntity: props.config.weducEntityID,\n contentDataData: props.contentDataData,\n contentMetaData: props.contentMetaData,\n contentDataArray: \"0\",\n contentDataChild: \"4\",\n customDataArray: col[2].value,\n AccroPressProdEndpoint: props.config.apiEndpoint,\n AccroPressLocalEndpoint: props.config.apiEndpoint,\n integratorID: props.config.integratorID,\n integratorAccessToken: props.config.integratorAccessToken,\n imageFormatting: process.env.IMAGE_FORMATTING_SECRET || process.env.GATSBY_IMAGE_FORMATTING_SECRET\n })]\n })]\n });\n })\n }), props && props.contentDataData && props.setNoticesMainLoaded && props.NoticeTemplate && props.toggleNoticesBanner && props.config && props.pluginOptions && /*#__PURE__*/_jsxs(_Fragment, {\n children: [!props.pluginOptions.useHeroSlider && /*#__PURE__*/_jsxs(\"div\", {\n className: \"banner home-banner\",\n children: [!props.pluginOptions.hideScroller && /*#__PURE__*/_jsx(\"div\", {\n className: \"arrow-container\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"arrow-down\",\n children: /*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsxs(\"button\", {\n activeclass: \"active\",\n className: \"btn scroll\",\n type: \"submit\",\n value: \"Scroll Here\",\n onClick: function onClick() {\n return props.scrollToContent('scrollHere', -140);\n },\n children: [/*#__PURE__*/_jsx(\"div\", {\n children: \"Scroll\"\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"fal fa-angle-down\"\n })]\n })\n })\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"hero\",\n style: {\n backgroundImage: \"\\n url(\\\"\" + (props.contentDataData[0].children[0] && props.contentDataData[0].children[0].children && props.contentDataData[0].children[0].children[0] && props.contentDataData[0].children[0].children[0][0] && props.contentDataData[0].children[0].children[0][0].value ? returnResizedImageURL({\n w: 1900\n }, props.contentDataData[0].children[0].children[0][0].value) : '/banner.jpg') + \"\\\")\"\n },\n children: props.pluginOptions.heroVideoURL && /*#__PURE__*/_jsxs(\"video\", {\n id: \"hero_video_player\",\n className: \"hero__video\",\n loop: true,\n muted: true,\n preload: \"metadata\",\n autoPlay: true,\n playsInline: true,\n children: [/*#__PURE__*/_jsx(\"source\", {\n className: \"video__source\",\n type: \"video/mp4\",\n \"data-src\": props.pluginOptions.heroVideoURL\n }), props.pluginOptions.heroVideoURL_OGG && /*#__PURE__*/_jsx(\"source\", {\n className: \"video__source\",\n \"data-src\": props.pluginOptions.heroVideoURL_OGG,\n type: \"application/ogg\"\n }), props.pluginOptions.heroVideoURL_WEBM && /*#__PURE__*/_jsx(\"source\", {\n className: \"video__source\",\n \"data-src\": props.pluginOptions.heroVideoURL_WEBM,\n type: \"video/webm\"\n })]\n })\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"bannerWrapper\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"container\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"row\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"bannerContainer\",\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"bannerText hero_bannerText\",\n children: [props.contentDataData[0] && props.contentDataData[0].children[1] && props.contentDataData[0].children[1].value && /*#__PURE__*/_jsx(\"h1\", {\n children: props.contentDataData[0].children[1].value\n }), props.contentDataData[0] && props.contentDataData[0].children[2] && props.contentDataData[0].children[2].value && /*#__PURE__*/_jsx(\"h2\", {\n children: props.contentDataData[0].children[2].value\n }), props.contentDataData[0] && props.contentDataData[0].children[3] && props.contentDataData[0].children[3].value && /*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: props.config.weducWebsitesID,\n weducContainer: props.config.weducContainerID,\n weducEntity: props.config.weducEntityID,\n contentDataData: props.contentDataData,\n contentMetaData: props.contentMetaData,\n contentDataArray: \"0\",\n contentDataChild: \"3\",\n AccroPressProdEndpoint: props.config.apiEndpoint,\n AccroPressLocalEndpoint: props.config.apiEndpoint,\n integratorID: props.config.integratorID,\n integratorAccessToken: props.config.integratorAccessToken,\n imageFormatting: process.env.IMAGE_FORMATTING_SECRET || process.env.GATSBY_IMAGE_FORMATTING_SECRET\n })]\n }), !props.pluginOptions.hideNotices && /*#__PURE__*/_jsx(\"div\", {\n className: \"banner-inner weducWidgetDisplay_\" + props.noticesMainLoaded,\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: props.noticesBannerExpanded ? 'close-alert' : 'open',\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"bannerTextClose\",\n children: /*#__PURE__*/_jsx(\"button\", {\n onClick: function onClick() {\n return props.toggleNoticesBanner();\n },\n children: /*#__PURE__*/_jsx(\"span\", {\n children: props.noticesBannerExpanded ? '' : ''\n })\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"bannerText\",\n children: /*#__PURE__*/_jsx(WeducNotices, {\n delay: 5,\n limit: 1,\n name: props.config.weducWebsitesID,\n container: props.config.weducEntityID,\n html: props.NoticeTemplate,\n loadedEvent: props.setNoticesMainLoaded\n })\n })]\n })\n })]\n })\n })\n })\n })]\n })]\n });\n};\n\nexport default HeroInnerContent;","import React, { useState, useEffect } from 'react';\nimport Layout from '@accrosoft-ltd/accropress-theme-inspiration/src/components/layout';\nimport Modal from 'react-responsive-modal';\nimport 'react-responsive-modal/styles.css';\nimport { Link } from 'gatsby';\nimport SEO from '@accrosoft-ltd/accropress-websites-components/dist/esm/seo';\nimport BasicSlider from '@accrosoft-ltd/accropress-theme-inspiration/src/components/BasicSlider';\nimport ExtraHomepageContentTop from '@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/extraHomepageContentTop';\nimport ExtraHomepageContentBottom from '@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/extraHomepageContentBottom';\nimport HeroInnerContent from '@accrosoft-ltd/accropress-theme-inspiration/src/templates/HomepageComponents/heroInnerContent';\nimport buildMediaContent from '@accrosoft-ltd/accropress-websites-components/dist/esm/buildMediaContent';\nimport loadable from '@loadable/component';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nvar WigLoader = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/wigLoader');\n});\nvar WeducNewsFeed = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/weducNewsfeed');\n});\nvar WeducDairyDates = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/weducDairyDates');\n});\nvar MapWidget = loadable(function () {\n return import('@accrosoft-ltd/accropress-websites-components/dist/esm/mapWidget');\n});\n\nvar Scroll = require('react-scroll');\n\nvar Element = Scroll.Element;\nvar scroller = Scroll.scroller;\n\nrequire('es6-promise').polyfill();\n\nvar moment = require('moment');\n\nexport function NoticeTemplate(props) {\n return /*#__PURE__*/_jsx(\"span\", {\n className: \"noticesContent\",\n children: props.data.attachment && props.data.attachment[0] && props.data.attachment[0].external_url ? /*#__PURE__*/_jsxs(\"a\", {\n href: props.data.attachment[0].external_url,\n title: props.data.attachment[0].title,\n target: \"_blank\",\n children: [/*#__PURE__*/_jsx(\"strong\", {\n className: \"title\",\n children: props.data.title.replace(/ /g, '').replace(/£/g, '£')\n }), /*#__PURE__*/_jsx(\"div\", {\n dangerouslySetInnerHTML: {\n __html: props.data.message\n }\n })]\n }) : /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(\"strong\", {\n className: \"title\",\n children: props.data.title.replace(/ /g, '').replace(/£/g, '£')\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"content\",\n dangerouslySetInnerHTML: {\n __html: props.data.message\n }\n })]\n })\n });\n}\nexport default function HomepagePagePage(_ref) {\n var _jsx2;\n\n var _ref$pageContext = _ref.pageContext,\n integratorData = _ref$pageContext.integratorData,\n contentMetaData = _ref$pageContext.contentMetaData,\n contentDataData = _ref$pageContext.contentDataData,\n navResultData = _ref$pageContext.navResultData,\n pluginOptions = _ref$pageContext.pluginOptions,\n props = _ref.props;\n var config = pluginOptions;\n\n var _useState = useState(false),\n toggled = _useState[0],\n setToggled = _useState[1];\n\n var _useState2 = useState(false),\n modalOpen = _useState2[0],\n setModalOpen = _useState2[1];\n\n var _useState3 = useState({}),\n modalData = _useState3[0],\n setModalData = _useState3[1];\n\n var _useState4 = useState(false),\n noticesMainLoaded = _useState4[0],\n setNoticesMainLoaded = _useState4[1];\n\n var _useState5 = useState(false),\n noticesEmergencyLoaded = _useState5[0],\n setNoticesEmergencyLoaded = _useState5[1];\n\n var _useState6 = useState(false),\n newsfeedLoaded = _useState6[0],\n setNewsfeedLoaded = _useState6[1];\n\n var _useState7 = useState(false),\n calendarEventsLoaded = _useState7[0],\n setCalendarEventsLoaded = _useState7[1];\n\n var _useState8 = useState(false),\n noticesBannerExpanded = _useState8[0],\n setNoticesBannerExpanded = _useState8[1];\n\n var _useState9 = useState(false),\n videoPlayerModalTriggered = _useState9[0],\n setVideoPlayerModalTriggered = _useState9[1];\n\n var _useState10 = useState(null),\n schoolInformationTabActive = _useState10[0],\n setSchoolInformationTabActive = _useState10[1];\n\n var _useState11 = useState(false),\n logoExpanded = _useState11[0],\n setLogoExpanded = _useState11[1];\n\n var schoolDetailsOnClick = function schoolDetailsOnClick(e) {\n if (logoExpanded) {\n setLogoExpanded(false);\n } else {\n e.preventDefault();\n setLogoExpanded(true);\n }\n };\n\n useEffect(function () {\n var isMobile = {\n Android: function Android() {\n return navigator.userAgent.match(/Android/i);\n },\n BlackBerry: function BlackBerry() {\n return navigator.userAgent.match(/BlackBerry/i);\n },\n iOS: function iOS() {\n return navigator.userAgent.match(/iPhone|iPad|iPod/i);\n },\n Opera: function Opera() {\n return navigator.userAgent.match(/Opera Mini/i);\n },\n Windows: function Windows() {\n return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);\n },\n any: function any() {\n return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows();\n }\n };\n var video = document.getElementById('hero_video_player');\n\n if (!isMobile.any() && video) {\n // get reference to video sources\n var sources = document.getElementsByClassName('video__source'); // loop through and replace data-src with src\n\n for (var i = 0; i < sources.length; i++) {\n if (sources[i].getAttribute('data-src')) {\n sources[i].setAttribute('src', sources[i].getAttribute('data-src'));\n sources[i].removeAttribute('data-src'); // use only if you need to remove data-src attribute after setting src\n }\n }\n\n video.muted = true; // listen for canplay event and fade video in\n\n video.addEventListener('canplay', function () {\n //console.log('video duration information available');\n video.style.transition = 'opacity 2s';\n video.style.opacity = 1;\n }); // reload video sources\n\n video.load();\n video.play();\n }\n }, [videoPlayerModalTriggered]);\n\n var checkContent = function checkContent(content) {\n var div = document.createElement('div');\n div.innerHTML = content;\n var image = div.getElementsByTagName('img')[0];\n\n if (image && !image.getAttribute('src').includes('external')) {\n image.remove();\n }\n\n return div.outerHTML;\n };\n\n var toggleNoticesBanner = function toggleNoticesBanner() {\n if (noticesBannerExpanded) {\n setNoticesBannerExpanded(false);\n } else {\n setNoticesBannerExpanded(true);\n }\n };\n\n console.log('integrators data: ');\n console.log(integratorData);\n console.log('content meta data: ');\n console.log(contentMetaData);\n console.log('content data data: ');\n console.log(contentDataData);\n\n var updateAndShowModal = function updateAndShowModal(title, description, postType, attachment, showWig) {\n setModalData({\n title: title,\n description: description,\n postType: postType,\n attachment: attachment,\n showWig: showWig || false\n });\n setModalOpen(true);\n };\n\n var scrollToContent = function scrollToContent(location, offset) {\n scroller.scrollTo(location, {\n duration: 1500,\n delay: 100,\n smooth: true,\n offset: offset || 50\n });\n };\n\n return /*#__PURE__*/_jsxs(Layout, {\n children: [/*#__PURE__*/_jsx(SEO, {\n navResultData: navResultData,\n contentDataData: contentDataData,\n integratorData: integratorData,\n contentMetaData: contentMetaData\n }), /*#__PURE__*/_jsx(Modal, {\n classNames: {\n modal: 'AccroModal'\n },\n open: modalOpen && modalData ? true : false,\n onClose: function onClose() {\n return setModalOpen(false);\n },\n center: true,\n children: modalData && /*#__PURE__*/_jsxs(_Fragment, {\n children: [modalData.showWig === true ? /*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: pluginOptions.weducWebsitesID,\n weducContainer: pluginOptions.weducContainerID,\n weducEntity: pluginOptions.weducEntityID,\n contentDataData: contentDataData,\n contentMetaData: contentMetaData,\n contentDataArray: \"0\",\n contentDataChild: \"0\",\n customDataArray: modalData.description,\n AccroPressProdEndpoint: pluginOptions.apiEndpoint,\n AccroPressLocalEndpoint: pluginOptions.apiEndpoint,\n integratorID: pluginOptions.integratorID,\n integratorAccessToken: pluginOptions.integratorAccessToken,\n imageFormatting: process.env.IMAGE_FORMATTING_SECRET || process.env.GATSBY_IMAGE_FORMATTING_SECRET\n }) : /*#__PURE__*/_jsx(\"div\", {\n dangerouslySetInnerHTML: {\n __html: modalData.description\n }\n }), modalData.attachment && modalData.attachment.length > 0 && /*#__PURE__*/_jsx(\"ul\", {\n className: \"AccroModal_Attachments\",\n children: modalData.attachment.map(function (attachment, i) {\n return /*#__PURE__*/_jsx(\"li\", {\n className: \"AccroModal_Attachments_Attachement\",\n children: /*#__PURE__*/_jsx(\"a\", {\n href: attachment.external_url,\n title: attachment.title,\n target: \"_blank\",\n rel: \"noopener noreferer\",\n children: attachment.title\n })\n }, i);\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n dangerouslySetInnerHTML: {\n __html: buildMediaContent(modalData.postType)\n }\n })]\n })\n }), contentDataData && contentDataData.length > 0 ? /*#__PURE__*/_jsxs(\"div\", {\n className: \"main-page-wrapper loaded\",\n children: [pluginOptions.useHeroSlider ? /*#__PURE__*/_jsx(BasicSlider, (_jsx2 = {\n OverlayContainer: /*#__PURE__*/_jsx(HeroInnerContent, {\n contentMetaData: contentMetaData,\n contentDataData: contentDataData,\n noticesMainLoaded: noticesMainLoaded,\n setNoticesMainLoaded: setNoticesMainLoaded,\n NoticeTemplate: NoticeTemplate,\n noticesBannerExpanded: noticesBannerExpanded,\n toggleNoticesBanner: toggleNoticesBanner,\n config: config,\n pluginOptions: pluginOptions,\n scrollToContent: scrollToContent,\n videoPlayerModalTriggered: videoPlayerModalTriggered,\n setVideoPlayerModalTriggered: setVideoPlayerModalTriggered\n }),\n onBeforeChangeFunction: function onBeforeChangeFunction(type, previous, next) {\n return null;\n },\n height: pluginOptions.heroSliderHeight ? pluginOptions.heroSliderHeight : 'calc(73vh - 50px)',\n shouldDisplayButtons: false\n }, _jsx2[\"onBeforeChangeFunction\"] = function onBeforeChangeFunction(type, next) {\n return null;\n }, _jsx2[\"onBeforeChangeFunction\"] = function onBeforeChangeFunction(type, next) {\n return null;\n }, _jsx2.slides = contentDataData[0].children[0].children, _jsx2)) : /*#__PURE__*/_jsx(HeroInnerContent, {\n contentMetaData: contentMetaData,\n contentDataData: contentDataData,\n noticesMainLoaded: noticesMainLoaded,\n setNoticesMainLoaded: setNoticesMainLoaded,\n NoticeTemplate: NoticeTemplate,\n noticesBannerExpanded: noticesBannerExpanded,\n toggleNoticesBanner: toggleNoticesBanner,\n config: config,\n pluginOptions: pluginOptions,\n scrollToContent: scrollToContent,\n videoPlayerModalTriggered: videoPlayerModalTriggered,\n setVideoPlayerModalTriggered: setVideoPlayerModalTriggered\n }), /*#__PURE__*/_jsx(\"div\", {\n id: \"scrollHere\",\n className: \"scrollHere\"\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"mainContentWrapper home\",\n id: \"welcome\",\n children: /*#__PURE__*/_jsx(\"section\", {\n className: \"app-content\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"container\",\n children: [pluginOptions.quickLinksType === 'belowHeader' && contentDataData[0] && contentDataData[0].children[4] && contentDataData[0].children[4].children && /*#__PURE__*/_jsx(\"ul\", {\n class: \"row blocks\",\n children: contentDataData[0].children[4].children.map(function (col, index) {\n console.log('col', col);\n return /*#__PURE__*/_jsx(\"li\", {\n class: \"col-12 col-6-m block\",\n children: /*#__PURE__*/_jsx(\"div\", {\n title: col[1].value,\n class: \"readMore\",\n onClick: function onClick() {\n if (col[2].value === true && col[3].value) {\n window.location.href = col[3].value;\n } else {\n updateAndShowModal(col[1].value, col[4].value, 0, null, true);\n }\n },\n children: /*#__PURE__*/_jsx(\"div\", {\n title: col[1].value,\n class: \"quickLinkTile\",\n onClick: function onClick() {\n if (col[2].value === true && col[3].value) {\n window.location.href = col[3].value;\n } else {\n updateAndShowModal(col[1].value, col[4].value, 0, null, true);\n }\n },\n style: {\n backgroundImage: \"url(\\n \" + col[0].value + \",\\n )\"\n },\n children: /*#__PURE__*/_jsxs(\"div\", {\n class: \"wrap\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n class: \"block-logo\"\n }), /*#__PURE__*/_jsxs(\"div\", {\n class: \"quickLinkText\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n children: col[1].value\n }), /*#__PURE__*/_jsx(\"div\", {\n title: col[1].value,\n class: \"readMore\",\n onClick: function onClick() {\n if (col[2].value === true && col[3].value) {\n window.location.href = col[3].value;\n } else {\n updateAndShowModal(col[1].value, col[4].value, 0, null, true);\n }\n },\n children: \"Find out more\"\n })]\n })]\n })\n })\n })\n });\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"row homepageWrapper\",\n children: [/*#__PURE__*/_jsx(ExtraHomepageContentTop, {\n contentDataData: contentDataData\n }), contentDataData[1] && contentDataData[1].children && contentDataData[1].children[0] && contentDataData[1].children[0].children && /*#__PURE__*/_jsx(\"div\", {\n className: \"homepageWrapper_OpeningContentCards cardLength_\" + contentDataData[1].children[0].children.length,\n children: contentDataData[1].children[0].children.map(function (cards) {\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"homepageWrapper_OpeningContentCards_Card\",\n children: [cards[0].value && /*#__PURE__*/_jsx(\"div\", {\n className: \"homepageWrapper_OpeningContentCards_Card_Image\",\n children: /*#__PURE__*/_jsx(\"img\", {\n src: cards[0].value,\n alt: cards[0].name\n })\n }), cards[1].value && /*#__PURE__*/_jsx(\"div\", {\n className: \"homepageWrapper_OpeningContentCards_Card_Content\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"homepageWrapper_OpeningContentCards_Card_Content_Inner\",\n children: /*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: config.weducWebsitesID,\n weducContainer: config.weducContainerID,\n weducEntity: config.weducEntityID,\n contentDataData: contentDataData,\n contentMetaData: contentMetaData,\n contentDataArray: \"1\",\n contentDataChild: \"0\",\n customDataArray: cards[1].value,\n AccroPressProdEndpoint: config.apiEndpoint,\n AccroPressLocalEndpoint: config.apiEndpoint,\n integratorID: config.integratorID,\n integratorAccessToken: config.integratorAccessToken,\n accroPressSiteID: config.accroPressSiteID\n })\n })\n })]\n });\n })\n }), contentDataData[2] && contentDataData[2].children && contentDataData[2].children[0] && contentDataData[2].children[0].value && /*#__PURE__*/_jsx(\"div\", {\n className: \"mainContent_Wrapper col-12 col-12-m\",\n children: /*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: config.weducWebsitesID,\n weducContainer: config.weducContainerID,\n weducEntity: config.weducEntityID,\n contentDataData: contentDataData,\n contentMetaData: contentMetaData,\n contentDataArray: \"2\",\n contentDataChild: \"0\",\n AccroPressProdEndpoint: config.apiEndpoint,\n AccroPressLocalEndpoint: config.apiEndpoint,\n integratorID: config.integratorID,\n integratorAccessToken: config.integratorAccessToken,\n accroPressSiteID: config.accroPressSiteID\n })\n }), contentDataData[3] && contentDataData[3].children && contentDataData[3].children[0] && contentDataData[3].children[0].children && /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation_Wrapper col-12 col-12-m\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation_Wrapper_Tabs\",\n children: contentDataData[3].children[0].children.map(function (school, index) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Tab schoolInformation__Tab_Active_\" + (schoolInformationTabActive === index),\n onClick: function onClick() {\n schoolInformationTabActive !== index ? setSchoolInformationTabActive(index) : setSchoolInformationTabActive(null);\n },\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Tab_Image\",\n children: /*#__PURE__*/_jsx(\"img\", {\n src: school[1].value,\n alt: school[0].value\n })\n })\n });\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation_Wrapper_Panels\",\n children: contentDataData[3].children[0].children.map(function (school, index) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Panel schoolInformation__Panel_Active_\" + (schoolInformationTabActive === index) + \" schoolInformation__School_name_\" + school[0].value.replace(' ', '_'),\n children: /*#__PURE__*/_jsxs(\"div\", {\n children: [/*#__PURE__*/_jsx(\"button\", {\n className: \"close-school-details\",\n type: \"submit\",\n onClick: function onClick() {\n schoolInformationTabActive !== index ? setSchoolInformationTabActive(index) : setSchoolInformationTabActive(null);\n },\n children: /*#__PURE__*/_jsx(\"span\", {\n className: \"fal fa-times\"\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Inner\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Panel_Title\",\n children: /*#__PURE__*/_jsxs(\"h2\", {\n children: [\"About \", school[0].value]\n })\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Top\",\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Top_Left\",\n children: [/*#__PURE__*/_jsx(WigLoader, {\n weducWebsitesID: school[8].value,\n weducContainer: school[9].value,\n weducEntity: school[10].value,\n contentDataData: contentDataData,\n contentMetaData: contentMetaData,\n contentDataArray: \"3\",\n contentDataChild: \"0\",\n customDataArray: school[11].value,\n AccroPressProdEndpoint: config.apiEndpoint,\n AccroPressLocalEndpoint: config.apiEndpoint,\n integratorID: config.integratorID,\n integratorAccessToken: config.integratorAccessToken,\n accroPressSiteID: config.accroPressSiteID\n }), school[8].value && school[9].value && school[10].value && school[5].value && /*#__PURE__*/_jsx(\"div\", {\n className: \"weducWidgets_Wrapper col-12 col-12-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"row\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"col-12 col-6-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: 'sidebarMenuItem weducWidgetDisplayWrapper_' + newsfeedLoaded,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"header\",\n children: [/*#__PURE__*/_jsx(\"h3\", {\n children: \"Latest News\"\n }), /*#__PURE__*/_jsx(Link, {\n to: school[5].value + \"/news-and-events/latest-news\",\n children: \"View all\"\n })]\n }), /*#__PURE__*/_jsx(WeducNewsFeed, {\n loadedEvent: setNewsfeedLoaded,\n limit: 5,\n name: school[8].value,\n container: school[9].value,\n html: function NewsFeedTemplate(props) {\n return /*#__PURE__*/_jsxs(\"div\", {\n onClick: function onClick() {\n return updateAndShowModal(props.data.title, props.data.contentHtml, props.data.postType, props.data.attachment);\n },\n className: \"sidebarDataItem\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: \"far fa-newspaper\"\n }), /*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"content\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n children: moment(props.data.createdAt).format('LL')\n }), props.data.contentHtml.replace(/<\\/p>]*>?/gm, ' ').replace(/<[^>]*>?/gm, '').substring(0, 120), props.data.contentHtml.replace(/<\\/p>]*>?/gm, ' ').replace(/<[^>]*>?/gm, '').length > 120 ? '...' : '']\n })\n })]\n });\n },\n route: school[5].value + \"/news-and-events/latest-news\"\n })]\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"col-12 col-6-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: 'sidebarMenuItem weducWidgetDisplayWrapper_' + calendarEventsLoaded,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"header\",\n children: [/*#__PURE__*/_jsx(\"h3\", {\n children: \"Calendar\"\n }), /*#__PURE__*/_jsx(Link, {\n to: school[5].value + \"/news-and-events/events\",\n children: \"View all\"\n })]\n }), /*#__PURE__*/_jsx(WeducDairyDates, {\n weducAPIURL: \"https://weduc.accropress.com/smartfeed/\",\n limit: 5,\n loadedEvent: setCalendarEventsLoaded,\n name: school[8].value,\n container: school[9].value,\n html: function CalendarTemplate(props) {\n return /*#__PURE__*/_jsxs(\"div\", {\n onClick: function onClick() {\n return updateAndShowModal(props.data.title, props.data.description, props.data.postType, props.data.attachment);\n },\n className: \"sidebarDataItem\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: \"far fa-calendar\"\n }), /*#__PURE__*/_jsxs(\"div\", {\n children: [props.data.title, /*#__PURE__*/_jsx(\"span\", {\n children: moment(props.data.start_date).format('LL')\n })]\n })]\n });\n },\n route: school[5].value + \"/news-and-events/events\"\n })]\n })\n })]\n })\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Top_Right\",\n children: [school[2].value && /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Address\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsx(\"strong\", {\n children: school[0].value\n })\n }), /*#__PURE__*/_jsx(\"address\", {\n children: school[2].value\n })]\n }), school[3].value && /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Phone\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsx(\"strong\", {\n children: \"Telephone:\"\n })\n }), /*#__PURE__*/_jsx(\"address\", {\n children: school[3].value\n })]\n }), school[4].value && /*#__PURE__*/_jsxs(\"div\", {\n className: \"schoolInformation__Panel_Content_Email\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsx(\"strong\", {\n children: \"Email:\"\n })\n }), /*#__PURE__*/_jsx(\"address\", {\n children: school[4].value\n })]\n }), school[5].value && /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Panel_Content_Website\",\n children: /*#__PURE__*/_jsx(\"a\", {\n href: school[5].value,\n className: \"btn btn-primary\",\n children: \"Visit this school's site\"\n })\n }), school[6].value !== undefined && school[7].value !== undefined && /*#__PURE__*/_jsx(\"div\", {\n className: \"schoolInformation__Panel_Content_Map\",\n children: /*#__PURE__*/_jsx(MapWidget, {\n latitude: school[6].value,\n longitude: school[7].value\n })\n })]\n })]\n })]\n })]\n })\n });\n })\n })]\n }), pluginOptions.showMainWeducWidgets === true && /*#__PURE__*/_jsx(\"div\", {\n className: \"weducWidgets_Wrapper col-12 col-12-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"row\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"col-12 col-6-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: 'sidebarMenuItem weducWidgetDisplayWrapper_' + newsfeedLoaded,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"header\",\n children: [/*#__PURE__*/_jsx(\"h3\", {\n children: \"Latest News\"\n }), pluginOptions.newsPageRoute && /*#__PURE__*/_jsx(Link, {\n to: pluginOptions.newsPageRoute,\n children: \"View all\"\n })]\n }), /*#__PURE__*/_jsx(WeducNewsFeed, {\n loadedEvent: setNewsfeedLoaded,\n limit: 5,\n name: config.weducWebsitesID,\n container: config.weducContainerID,\n html: function NewsFeedTemplate(props) {\n return /*#__PURE__*/_jsxs(\"div\", {\n onClick: function onClick() {\n return updateAndShowModal(props.data.title, props.data.contentHtml, props.data.postType, props.data.attachment);\n },\n className: \"sidebarDataItem\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: \"far fa-newspaper\"\n }), /*#__PURE__*/_jsx(\"div\", {\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"content\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n children: moment(props.data.createdAt).format('LL')\n }), props.data.contentHtml.replace(/<\\/p>]*>?/gm, ' ').replace(/<[^>]*>?/gm, '').substring(0, 120), props.data.contentHtml.replace(/<\\/p>]*>?/gm, ' ').replace(/<[^>]*>?/gm, '').length > 120 ? '...' : '']\n })\n })]\n });\n },\n route: pluginOptions.newsPageRoute ? pluginOptions.newsPageRoute : '/news-and-events/latest-news'\n })]\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"col-12 col-6-m\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: 'sidebarMenuItem weducWidgetDisplayWrapper_' + calendarEventsLoaded,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"header\",\n children: [/*#__PURE__*/_jsx(\"h3\", {\n children: \"Calendar\"\n }), pluginOptions.eventsPageRoute && /*#__PURE__*/_jsx(Link, {\n to: pluginOptions.eventsPageRoute,\n children: \"View all\"\n })]\n }), /*#__PURE__*/_jsx(WeducDairyDates, {\n weducAPIURL: \"https://weduc.accropress.com/smartfeed/\",\n limit: 5,\n loadedEvent: setCalendarEventsLoaded,\n name: config.weducWebsitesID,\n container: config.weducContainerID,\n html: function CalendarTemplate(props) {\n return /*#__PURE__*/_jsxs(\"div\", {\n onClick: function onClick() {\n return updateAndShowModal(props.data.title, props.data.description, props.data.postType, props.data.attachment);\n },\n className: \"sidebarDataItem\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: \"far fa-calendar\"\n }), /*#__PURE__*/_jsxs(\"div\", {\n children: [props.data.title, /*#__PURE__*/_jsx(\"span\", {\n children: moment(props.data.start_date).format('LL')\n })]\n })]\n });\n },\n route: pluginOptions.eventsPageRoute ? pluginOptions.eventsPageRoute : '/news-and-events/events'\n })]\n })\n })]\n })\n }), /*#__PURE__*/_jsx(ExtraHomepageContentBottom, {\n contentDataData: contentDataData\n })]\n })]\n })\n })\n })]\n }) : /*#__PURE__*/_jsx(\"div\", {\n className: \"main-page-wrapper loading\"\n })]\n });\n}","import \"core-js/modules/es.typed-array.sort.js\";\nimport \"core-js/modules/es.array.reduce.js\";\nimport { typeOf, isElement, isValidElementType } from 'react-is';\nimport React, { useState, useContext, useMemo, useEffect, useRef, createElement, useDebugValue } from 'react';\nimport shallowequal from 'shallowequal';\nimport Stylis from '@emotion/stylis';\nimport unitless from '@emotion/unitless';\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n} // \n\n\nvar interleave = function interleave(strings, interpolations) {\n var result = [strings[0]];\n\n for (var i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n}; // \n\n\nvar isPlainObject = function isPlainObject(x) {\n return x !== null && typeof x === 'object' && (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' && !typeOf(x);\n}; // \n\n\nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({}); // \n\nfunction isFunction(test) {\n return typeof test === 'function';\n} // \n\n\nfunction getComponentName(target) {\n return (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) || // $FlowFixMe\n target.displayName || // $FlowFixMe\n target.name || 'Component';\n} // \n\n\nfunction isStatelessFunction(test) {\n return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n} // \n\n\nfunction isStyledComponent(target) {\n return target && typeof target.styledComponentId === 'string';\n} // \n\n\nvar SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';\nvar SC_ATTR_ACTIVE = 'active';\nvar SC_ATTR_VERSION = 'data-styled-version';\nvar SC_VERSION = \"5.1.1\";\nvar SPLITTER = '/*!sc*/\\n';\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\nvar DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || process.env.NODE_ENV !== 'production'; // Shared empty execution context when generating static styles\n\nvar STATIC_EXECUTION_CONTEXT = {}; // \n\n/* eslint-disable camelcase, no-undef */\n\nvar getNonce = function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nvar errorMap = {\n \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n \"5\": \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n \"9\": \"Missing document ``\\n\\n\",\n \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n \"11\": \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n \"12\": \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n \"13\": \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n \"14\": \"ThemeProvider: \\\"theme\\\" prop is required.\\n\\n\",\n \"15\": \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n \"16\": \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n \"17\": \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n}; // \n\nvar ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n/**\n * super basic version of sprintf\n */\n\nfunction format() {\n var a = arguments.length <= 0 ? undefined : arguments[0];\n var b = [];\n\n for (var c = 1, len = arguments.length; c < len; c += 1) {\n b.push(c < 0 || arguments.length <= c ? undefined : arguments[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\n\nfunction throwStyledComponentsError(code) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/master/packages/styled-components/src/utils/errors.md#\" + code + \" for more information.\" + (interpolations.length > 0 ? \" Additional arguments: \" + interpolations.join(', ') : ''));\n } else {\n throw new Error(format.apply(void 0, [ERRORS[code]].concat(interpolations)).trim());\n }\n} // \n\n\nvar ELEMENT_TYPE = 1;\n/* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\n\nvar findLastStyleTag = function findLastStyleTag(target) {\n var childNodes = target.childNodes;\n\n for (var i = childNodes.length; i >= 0; i--) {\n var child = childNodes[i];\n\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return child;\n }\n }\n\n return undefined;\n};\n/** Create a style element inside `target` or after the last */\n\n\nvar makeStyleTag = function makeStyleTag(target) {\n var head = document.head;\n var parent = target || head;\n var style = document.createElement('style');\n var prevStyle = findLastStyleTag(parent);\n var nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n var nonce = getNonce();\n if (nonce) style.setAttribute('nonce', nonce);\n parent.insertBefore(style, nextSibling);\n return style;\n};\n/** Get the CSSStyleSheet instance for a given style element */\n\n\nvar getSheet = function getSheet(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // Avoid Firefox quirk where the style element might not have a sheet property\n\n\n var _document = document,\n styleSheets = _document.styleSheets;\n\n for (var i = 0, l = styleSheets.length; i < l; i++) {\n var sheet = styleSheets[i];\n\n if (sheet.ownerNode === tag) {\n return sheet;\n }\n }\n\n throwStyledComponentsError(17);\n return undefined;\n}; // \n\n/** Create a CSSStyleSheet-like tag depending on the environment */\n\n\nvar makeTag = function makeTag(_ref) {\n var isServer = _ref.isServer,\n useCSSOMInjection = _ref.useCSSOMInjection,\n target = _ref.target;\n\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nvar CSSOMTag = /*#__PURE__*/function () {\n function CSSOMTag(target) {\n var element = this.element = makeStyleTag(target); // Avoid Edge bug where empty style elements don't create sheets\n\n element.appendChild(document.createTextNode(''));\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n var _proto = CSSOMTag.prototype;\n\n _proto.insertRule = function insertRule(index, rule) {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n };\n\n _proto.deleteRule = function deleteRule(index) {\n this.sheet.deleteRule(index);\n this.length--;\n };\n\n _proto.getRule = function getRule(index) {\n var rule = this.sheet.cssRules[index]; // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n };\n\n return CSSOMTag;\n}();\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\n\n\nvar TextTag = /*#__PURE__*/function () {\n function TextTag(target) {\n var element = this.element = makeStyleTag(target);\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n var _proto2 = TextTag.prototype;\n\n _proto2.insertRule = function insertRule(index, rule) {\n if (index <= this.length && index >= 0) {\n var node = document.createTextNode(rule);\n var refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n };\n\n _proto2.deleteRule = function deleteRule(index) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n };\n\n _proto2.getRule = function getRule(index) {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n };\n\n return TextTag;\n}();\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\n\n\nvar VirtualTag = /*#__PURE__*/function () {\n function VirtualTag(_target) {\n this.rules = [];\n this.length = 0;\n }\n\n var _proto3 = VirtualTag.prototype;\n\n _proto3.insertRule = function insertRule(index, rule) {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n };\n\n _proto3.deleteRule = function deleteRule(index) {\n this.rules.splice(index, 1);\n this.length--;\n };\n\n _proto3.getRule = function getRule(index) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n };\n\n return VirtualTag;\n}(); // \n\n/** Create a GroupedTag with an underlying Tag implementation */\n\n\nvar makeGroupedTag = function makeGroupedTag(tag) {\n return new DefaultGroupedTag(tag);\n};\n\nvar BASE_SIZE = 1 << 9;\n\nvar DefaultGroupedTag = /*#__PURE__*/function () {\n function DefaultGroupedTag(tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n var _proto = DefaultGroupedTag.prototype;\n\n _proto.indexOfGroup = function indexOfGroup(group) {\n var index = 0;\n\n for (var i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n };\n\n _proto.insertRules = function insertRules(group, rules) {\n if (group >= this.groupSizes.length) {\n var oldBuffer = this.groupSizes;\n var oldSize = oldBuffer.length;\n var newSize = oldSize;\n\n while (group >= newSize) {\n newSize <<= 1;\n\n if (newSize < 0) {\n throwStyledComponentsError(16, \"\" + group);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (var i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n var ruleIndex = this.indexOfGroup(group + 1);\n\n for (var _i = 0, l = rules.length; _i < l; _i++) {\n if (this.tag.insertRule(ruleIndex, rules[_i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n };\n\n _proto.clearGroup = function clearGroup(group) {\n if (group < this.length) {\n var length = this.groupSizes[group];\n var startIndex = this.indexOfGroup(group);\n var endIndex = startIndex + length;\n this.groupSizes[group] = 0;\n\n for (var i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n };\n\n _proto.getGroup = function getGroup(group) {\n var css = '';\n\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n var length = this.groupSizes[group];\n var startIndex = this.indexOfGroup(group);\n var endIndex = startIndex + length;\n\n for (var i = startIndex; i < endIndex; i++) {\n css += \"\" + this.tag.getRule(i) + SPLITTER;\n }\n\n return css;\n };\n\n return DefaultGroupedTag;\n}(); // \n\n\nvar MAX_SMI = 1 << 31 - 1;\nvar groupIDRegister = new Map();\nvar reverseRegister = new Map();\nvar nextFreeGroup = 1;\n\nvar getGroupForId = function getGroupForId(id) {\n if (groupIDRegister.has(id)) {\n return groupIDRegister.get(id);\n }\n\n var group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throwStyledComponentsError(16, \"\" + group);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nvar getIdForGroup = function getIdForGroup(group) {\n return reverseRegister.get(group);\n};\n\nvar setGroupForId = function setGroupForId(id, group) {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n}; // \n\n\nvar SELECTOR = \"style[\" + SC_ATTR + \"][\" + SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"]\";\nvar MARKER_RE = new RegExp(\"^\" + SC_ATTR + \"\\\\.g(\\\\d+)\\\\[id=\\\"([\\\\w\\\\d-]+)\\\"\\\\].*?\\\"([^\\\"]*)\");\n\nvar outputSheet = function outputSheet(sheet) {\n var tag = sheet.getTag();\n var length = tag.length;\n var css = '';\n\n for (var group = 0; group < length; group++) {\n var id = getIdForGroup(group);\n if (id === undefined) continue;\n var names = sheet.names.get(id);\n var rules = tag.getGroup(group);\n if (names === undefined || rules.length === 0) continue;\n var selector = SC_ATTR + \".g\" + group + \"[id=\\\"\" + id + \"\\\"]\";\n var content = '';\n\n if (names !== undefined) {\n names.forEach(function (name) {\n if (name.length > 0) {\n content += name + \",\";\n }\n });\n } // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n\n\n css += \"\" + rules + selector + \"{content:\\\"\" + content + \"\\\"}\" + SPLITTER;\n }\n\n return css;\n};\n\nvar rehydrateNamesFromContent = function rehydrateNamesFromContent(sheet, id, content) {\n var names = content.split(',');\n var name;\n\n for (var i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if (name = names[i]) {\n sheet.registerName(id, name);\n }\n }\n};\n\nvar rehydrateSheetFromTag = function rehydrateSheetFromTag(sheet, style) {\n var parts = style.innerHTML.split(SPLITTER);\n var rules = [];\n\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i].trim();\n if (!part) continue;\n var marker = part.match(MARKER_RE);\n\n if (marker) {\n var group = parseInt(marker[1], 10) | 0;\n var id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group); // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nvar rehydrateSheet = function rehydrateSheet(sheet) {\n var nodes = document.querySelectorAll(SELECTOR);\n\n for (var i = 0, l = nodes.length; i < l; i++) {\n var node = nodes[i];\n\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n\nvar SHOULD_REHYDRATE = IS_BROWSER;\nvar defaultOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY\n};\n/** Contains the main stylesheet logic for stringification and caching */\n\nvar StyleSheet = /*#__PURE__*/function () {\n /** Register a group ID to give it an index */\n StyleSheet.registerId = function registerId(id) {\n return getGroupForId(id);\n };\n\n function StyleSheet(options, globalStyles, names) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n if (globalStyles === void 0) {\n globalStyles = {};\n }\n\n this.options = _extends({}, defaultOptions, {}, options);\n this.gs = globalStyles;\n this.names = new Map(names); // We rehydrate only once and use the sheet that is created first\n\n if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.reconstructWithOptions = function reconstructWithOptions(options) {\n return new StyleSheet(_extends({}, this.options, {}, options), this.gs, this.names);\n };\n\n _proto.allocateGSInstance = function allocateGSInstance(id) {\n return this.gs[id] = (this.gs[id] || 0) + 1;\n }\n /** Lazily initialises a GroupedTag for when it's actually needed */\n ;\n\n _proto.getTag = function getTag() {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n /** Check whether a name is known for caching */\n ;\n\n _proto.hasNameForId = function hasNameForId(id, name) {\n return this.names.has(id) && this.names.get(id).has(name);\n }\n /** Mark a group's name as known for caching */\n ;\n\n _proto.registerName = function registerName(id, name) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n var groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n this.names.get(id).add(name);\n }\n }\n /** Insert new rules which also marks the name as known */\n ;\n\n _proto.insertRules = function insertRules(id, name, rules) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n /** Clears all cached names for a given group ID */\n ;\n\n _proto.clearNames = function clearNames(id) {\n if (this.names.has(id)) {\n this.names.get(id).clear();\n }\n }\n /** Clears all rules for a given group ID */\n ;\n\n _proto.clearRules = function clearRules(id) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n /** Clears the entire tag which deletes all rules but not its names */\n ;\n\n _proto.clearTag = function clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n /** Outputs the current sheet as a CSS string with markers for SSR */\n ;\n\n _proto.toString = function toString() {\n return outputSheet(this);\n };\n\n return StyleSheet;\n}(); // \n\n/* eslint-disable */\n\n\nvar SEED = 5381; // When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\n\nvar phash = function phash(h, x) {\n var i = x.length;\n\n while (i) {\n h = h * 33 ^ x.charCodeAt(--i);\n }\n\n return h;\n}; // This is a djb2 hashing function\n\n\nvar hash = function hash(x) {\n return phash(SEED, x);\n};\n/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* eslint-disable */\n\n\nfunction insertRulePlugin(insertRule) {\n var delimiter = '/*|*/';\n var needle = delimiter + \"}\";\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(block + \"}\");\n } catch (e) {}\n }\n }\n\n return function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(content + \";\"), '';\n break;\n // selector\n\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n\n default:\n return content + (at === 0 ? delimiter : '');\n }\n\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\nfunction createStylisInstance(_temp) {\n var _ref = _temp === void 0 ? EMPTY_OBJECT : _temp,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? EMPTY_OBJECT : _ref$options,\n _ref$plugins = _ref.plugins,\n plugins = _ref$plugins === void 0 ? EMPTY_ARRAY : _ref$plugins;\n\n var stylis = new Stylis(options); // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n var parsingRules = []; // eslint-disable-next-line consistent-return\n\n var returnRulesPlugin = function returnRulesPlugin(context) {\n if (context === -2) {\n var parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n var parseRulesPlugin = insertRulePlugin(function (rule) {\n parsingRules.push(rule);\n });\n\n var _componentId;\n\n var _selector;\n\n var _selectorRegexp;\n\n var selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {\n if ( // the first self-ref is always untouched\n offset > 0 && // there should be at least two self-refs to do a replacement (.b > .b)\n string.slice(0, offset).indexOf(_selector) !== -1 && // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n string.slice(offset - _selector.length, offset) !== _selector) {\n return \".\" + _componentId;\n }\n\n return match;\n };\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n\n\n var selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([].concat(plugins, [selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]));\n\n function stringifyRules(css, selector, prefix, componentId) {\n if (componentId === void 0) {\n componentId = '&';\n }\n\n var flatCSS = css.replace(COMMENT_REGEX, '');\n var cssStr = selector && prefix ? prefix + \" \" + selector + \" { \" + flatCSS + \" }\" : flatCSS; // stylis has no concept of state to be passed to plugins\n // but since JS is single=threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(\"\\\\\" + _selector + \"\\\\b\", 'g');\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length ? plugins.reduce(function (acc, plugin) {\n if (!plugin.name) {\n throwStyledComponentsError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED).toString() : '';\n return stringifyRules;\n} // \n\n\nvar StyleSheetContext = React.createContext();\nvar StyleSheetConsumer = StyleSheetContext.Consumer;\nvar StylisContext = React.createContext();\nvar StylisConsumer = StylisContext.Consumer;\nvar masterSheet = new StyleSheet();\nvar masterStylis = createStylisInstance();\n\nfunction useStyleSheet() {\n return useContext(StyleSheetContext) || masterSheet;\n}\n\nfunction useStylis() {\n return useContext(StylisContext) || masterStylis;\n}\n\nfunction StyleSheetManager(props) {\n var _useState = useState(props.stylisPlugins),\n plugins = _useState[0],\n setPlugins = _useState[1];\n\n var contextStyleSheet = useStyleSheet();\n var styleSheet = useMemo(function () {\n var sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({\n target: props.target\n });\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({\n useCSSOMInjection: false\n });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n var stylis = useMemo(function () {\n return createStylisInstance({\n options: {\n prefix: !props.disableVendorPrefixes\n },\n plugins: plugins\n });\n }, [props.disableVendorPrefixes, plugins]);\n useEffect(function () {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n return /*#__PURE__*/React.createElement(StyleSheetContext.Provider, {\n value: styleSheet\n }, /*#__PURE__*/React.createElement(StylisContext.Provider, {\n value: stylis\n }, process.env.NODE_ENV !== 'production' ? React.Children.only(props.children) : props.children));\n} // \n\n\nvar Keyframes = /*#__PURE__*/function () {\n function Keyframes(name, stringifyArgs) {\n var _this = this;\n\n this.inject = function (styleSheet) {\n if (!styleSheet.hasNameForId(_this.id, _this.name)) {\n styleSheet.insertRules(_this.id, _this.name, masterStylis.apply(void 0, _this.stringifyArgs));\n }\n };\n\n this.toString = function () {\n return throwStyledComponentsError(12, String(_this.name));\n };\n\n this.name = name;\n this.id = \"sc-keyframes-\" + name;\n this.stringifyArgs = stringifyArgs;\n }\n\n var _proto = Keyframes.prototype;\n\n _proto.getName = function getName() {\n return this.name;\n };\n\n return Keyframes;\n}(); // \n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\n\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenateStyleName(string) {\n return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n} // \n\n\nfunction addUnitIfNeeded(name, value) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless)) {\n return value + \"px\"; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n} // \n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\n\n\nvar isFalsish = function isFalsish(chunk) {\n return chunk === undefined || chunk === null || chunk === false || chunk === '';\n};\n\nvar objToCssArray = function objToCssArray(obj, prevKey) {\n var rules = [];\n var keys = Object.keys(obj);\n keys.forEach(function (key) {\n if (!isFalsish(obj[key])) {\n if (isPlainObject(obj[key])) {\n rules.push.apply(rules, objToCssArray(obj[key], key));\n return rules;\n } else if (isFunction(obj[key])) {\n rules.push(hyphenateStyleName(key) + \":\", obj[key], ';');\n return rules;\n }\n\n rules.push(hyphenateStyleName(key) + \": \" + addUnitIfNeeded(key, obj[key]) + \";\");\n }\n\n return rules;\n });\n return prevKey ? [prevKey + \" {\"].concat(rules, ['}']) : rules;\n};\n\nfunction flatten(chunk, executionContext, styleSheet) {\n if (Array.isArray(chunk)) {\n var ruleSet = [];\n\n for (var i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet);\n if (result === '') continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n /* Handle other components */\n\n\n if (isStyledComponent(chunk)) {\n return \".\" + chunk.styledComponentId;\n }\n /* Either execute or defer the function */\n\n\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n var _result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(_result)) {\n // eslint-disable-next-line no-console\n console.warn(getComponentName(chunk) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\");\n }\n\n return flatten(_result, executionContext, styleSheet);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet);\n return chunk.getName();\n } else return chunk;\n }\n /* Handle objects */\n\n\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n} // \n\n\nfunction css(styles) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === \"string\") {\n // $FlowFixMe\n return styles;\n } // $FlowFixMe\n\n\n return flatten(interleave(styles, interpolations));\n}\n\nfunction constructWithOptions(componentConstructor, tag, options) {\n if (options === void 0) {\n options = EMPTY_OBJECT;\n }\n\n if (!isValidElementType(tag)) {\n return throwStyledComponentsError(1, String(tag));\n }\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n\n\n var templateFunction = function templateFunction() {\n return componentConstructor(tag, options, css.apply(void 0, arguments));\n };\n /* If config methods are called, wrap up a new template function and merge options */\n\n\n templateFunction.withConfig = function (config) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {}, config));\n };\n /* Modify/inject new props at runtime */\n\n\n templateFunction.attrs = function (attrs) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)\n }));\n };\n\n return templateFunction;\n}\n/* eslint-disable */\n\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\n\n\nvar isObject = function isObject(val) {\n return typeof val === 'function' || typeof val === 'object' && val !== null && !Array.isArray(val);\n};\n\nvar isValidKey = function isValidKey(key) {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n var obj = target[key];\n\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nfunction mixinDeep(target) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n for (var _i = 0, _rest = rest; _i < _rest.length; _i++) {\n var obj = _rest[_i];\n\n if (isObject(obj)) {\n for (var key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n} // \n\n/* eslint-disable no-bitwise */\n\n\nvar AD_REPLACER_R = /(a)(d)/gi;\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\n\nvar charsLength = 52;\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\n\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n/* input a number, usually a hash and convert it to base-52 */\n\n\nfunction generateAlphabeticName(code) {\n var name = '';\n var x;\n /* get a char and divide by alphabet-length */\n\n for (x = Math.abs(code); x > charsLength; x = x / charsLength | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n} // \n\n\nfunction isStaticRules(rules) {\n for (var i = 0; i < rules.length; i += 1) {\n var rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n} // \n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\n\n\nvar ComponentStyle = /*#__PURE__*/function () {\n function ComponentStyle(rules, componentId) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' && isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = hash(componentId); // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n\n StyleSheet.registerId(componentId);\n }\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n\n\n var _proto = ComponentStyle.prototype;\n\n _proto.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet, stylis) {\n var componentId = this.componentId; // force dynamic classnames if user-supplied stylis plugins are in use\n\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n return this.staticRulesId;\n }\n\n var cssStatic = flatten(this.rules, executionContext, styleSheet).join('');\n var name = generateAlphabeticName(phash(this.baseHash, cssStatic.length) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n var cssStaticFormatted = stylis(cssStatic, \".\" + name, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n this.staticRulesId = name;\n return name;\n } else {\n var length = this.rules.length;\n var dynamicHash = phash(this.baseHash, stylis.hash);\n var css = '';\n\n for (var i = 0; i < length; i++) {\n var partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else {\n var partChunk = flatten(partRule, executionContext, styleSheet);\n var partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n var _name = generateAlphabeticName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, _name)) {\n var cssFormatted = stylis(css, \".\" + _name, undefined, componentId);\n styleSheet.insertRules(componentId, _name, cssFormatted);\n }\n\n return _name;\n }\n };\n\n return ComponentStyle;\n}(); // \n\n\nvar LIMIT = 200;\n\nvar createWarnTooManyClasses = function createWarnTooManyClasses(displayName, componentId) {\n var generatedClasses = {};\n var warningSeen = false;\n return function (className) {\n if (!warningSeen) {\n generatedClasses[className] = true;\n\n if (Object.keys(generatedClasses).length >= LIMIT) {\n // Unable to find latestRule in test environment.\n\n /* eslint-disable no-console, prefer-template */\n var parsedIdString = componentId ? \" with the id of \\\"\" + componentId + \"\\\"\" : '';\n console.warn(\"Over \" + LIMIT + \" classes were generated for component \" + displayName + parsedIdString + \".\\n\" + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + ' const Component = styled.div.attrs(props => ({\\n' + ' style: {\\n' + ' background: props.background,\\n' + ' },\\n' + ' }))`width: 100%;`\\n\\n' + ' ');\n warningSeen = true;\n generatedClasses = {};\n }\n }\n };\n}; // \n\n\nvar invalidHookCallRe = /invalid hook call/i;\nvar seen = new Set();\n\nvar checkDynamicCreation = function checkDynamicCreation(displayName, componentId) {\n if (process.env.NODE_ENV !== 'production') {\n var parsedIdString = componentId ? \" with the id of \\\"\" + componentId + \"\\\"\" : '';\n var message = \"The component \" + displayName + parsedIdString + \" has been created dynamically.\\n\" + 'You may see this warning because you\\'ve called styled inside another component.\\n' + 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n try {\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef();\n\n if (!seen.has(message)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(error.message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen[\"delete\"](message);\n }\n }\n }\n}; // \n\n\nvar determineTheme = function determineTheme(props, providedTheme, defaultProps) {\n if (defaultProps === void 0) {\n defaultProps = EMPTY_OBJECT;\n }\n\n return props.theme !== defaultProps.theme && props.theme || providedTheme || defaultProps.theme;\n}; // \n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\n\n\nvar escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\n\nfunction escape(str) {\n return str // Replace all possible CSS selectors\n .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n} // \n\n\nfunction isTag(target) {\n return typeof target === 'string' && (process.env.NODE_ENV !== 'production' ? target.charAt(0) === target.charAt(0).toLowerCase() : true);\n} // \n\n\nfunction generateDisplayName(target) {\n // $FlowFixMe\n return isTag(target) ? \"styled.\" + target : \"Styled(\" + getComponentName(target) + \")\";\n} // \n\n\nvar generateComponentId = function generateComponentId(str) {\n return generateAlphabeticName(hash(str) >>> 0);\n};\n/**\n * Convenience function for joining strings to form className chains\n */\n\n\nfunction joinStrings(a, b) {\n return a && b ? a + \" \" + b : a || b;\n}\n\nvar ThemeContext = React.createContext();\nvar ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme, outerTheme) {\n if (!theme) {\n return throwStyledComponentsError(14);\n }\n\n if (isFunction(theme)) {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')) {\n return throwStyledComponentsError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledComponentsError(8);\n }\n\n return outerTheme ? _extends({}, outerTheme, {}, theme) : theme;\n}\n/**\n * Provide a theme to an entire react component tree via context\n */\n\n\nfunction ThemeProvider(props) {\n var outerTheme = useContext(ThemeContext);\n var themeContext = useMemo(function () {\n return mergeTheme(props.theme, outerTheme);\n }, [props.theme, outerTheme]);\n\n if (!props.children) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: themeContext\n }, props.children);\n}\n/* global $Call */\n\n\nvar identifiers = {};\n/* We depend on components having unique IDs */\n\nfunction generateId(displayName, parentComponentId) {\n var name = typeof displayName !== 'string' ? 'sc' : escape(displayName); // Ensure that no displayName can lead to duplicate componentIds\n\n identifiers[name] = (identifiers[name] || 0) + 1;\n var componentId = name + \"-\" + generateComponentId(name + identifiers[name]);\n return parentComponentId ? parentComponentId + \"-\" + componentId : componentId;\n}\n\nfunction useResolvedAttrs(theme, props, attrs) {\n if (theme === void 0) {\n theme = EMPTY_OBJECT;\n } // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n\n\n var context = _extends({}, props, {\n theme: theme\n });\n\n var resolvedAttrs = {};\n attrs.forEach(function (attrDef) {\n var resolvedAttrDef = attrDef;\n var key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n /* eslint-disable guard-for-in */\n\n\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] = key === 'className' ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key]) : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n\n });\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(componentStyle, hasAttrs, resolvedAttrs, warnTooManyClasses) {\n var styleSheet = useStyleSheet();\n var stylis = useStylis(); // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n\n var isStatic = componentStyle.isStatic && !hasAttrs;\n var className = isStatic ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis) : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(forwardedComponent, props, forwardedRef) {\n var componentAttrs = forwardedComponent.attrs,\n componentStyle = forwardedComponent.componentStyle,\n defaultProps = forwardedComponent.defaultProps,\n foldedComponentIds = forwardedComponent.foldedComponentIds,\n shouldForwardProp = forwardedComponent.shouldForwardProp,\n styledComponentId = forwardedComponent.styledComponentId,\n target = forwardedComponent.target;\n useDebugValue(styledComponentId); // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n\n var theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n var _useResolvedAttrs = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs),\n context = _useResolvedAttrs[0],\n attrs = _useResolvedAttrs[1];\n\n var generatedClassName = useInjectedStyle(componentStyle, componentAttrs.length > 0, context, process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined);\n var refToForward = forwardedRef;\n var elementToBeCreated = attrs.$as || props.$as || attrs.as || props.as || target;\n var isTargetTag = isTag(elementToBeCreated);\n var computedProps = attrs !== props ? _extends({}, props, {}, attrs) : props;\n var propFilterFn = shouldForwardProp || isTargetTag && validAttr;\n var propsForElement = {}; // eslint-disable-next-line guard-for-in\n\n for (var key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (!propFilterFn || propFilterFn(key, validAttr)) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = _extends({}, props.style, {}, attrs.style);\n }\n\n propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, props.className, attrs.className).filter(Boolean).join(' ');\n propsForElement.ref = refToForward;\n return createElement(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent(target, options, rules) {\n var isTargetStyledComp = isStyledComponent(target);\n var isCompositeComponent = !isTag(target);\n var _options$displayName = options.displayName,\n displayName = _options$displayName === void 0 ? generateDisplayName(target) : _options$displayName,\n _options$componentId = options.componentId,\n componentId = _options$componentId === void 0 ? generateId(options.displayName, options.parentComponentId) : _options$componentId,\n _options$attrs = options.attrs,\n attrs = _options$attrs === void 0 ? EMPTY_ARRAY : _options$attrs;\n var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + \"-\" + options.componentId : options.componentId || componentId; // fold the underlying StyledComponent attrs up (implicit extend)\n\n var finalAttrs = // $FlowFixMe\n isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs; // eslint-disable-next-line prefer-destructuring\n\n var shouldForwardProp = options.shouldForwardProp; // $FlowFixMe\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = function shouldForwardProp(prop, filterFn) {\n return (// $FlowFixMe\n target.shouldForwardProp(prop, filterFn) && options.shouldForwardProp(prop, filterFn)\n );\n };\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = target.shouldForwardProp;\n }\n }\n\n var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)\n // $FlowFixMe\n target.componentStyle.rules.concat(rules) : rules, styledComponentId);\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n\n var WrappedStyledComponent; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n var forwardRef = function forwardRef(props, ref) {\n return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n };\n\n forwardRef.displayName = displayName; // $FlowFixMe this is a forced cast to merge it StyledComponentWrapperProperties\n\n WrappedStyledComponent = React.forwardRef(forwardRef);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp; // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe\n Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;\n WrappedStyledComponent.styledComponentId = styledComponentId; // fold the underlying StyledComponent target up since we folded the styles\n\n WrappedStyledComponent.target = isTargetStyledComp ? // $FlowFixMe\n target.target : target; // $FlowFixMe\n\n WrappedStyledComponent.withComponent = function withComponent(tag) {\n var previousComponentId = options.componentId,\n optionsToCopy = _objectWithoutPropertiesLoose(options, [\"componentId\"]);\n\n var newComponentId = previousComponentId && previousComponentId + \"-\" + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n var newOptions = _extends({}, optionsToCopy, {\n attrs: finalAttrs,\n componentId: newComponentId\n });\n\n return createStyledComponent(tag, newOptions, rules);\n }; // $FlowFixMe\n\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(obj) {\n // $FlowFixMe\n this._foldedDefaultProps = isTargetStyledComp ? mixinDeep({}, target.defaultProps, obj) : obj;\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName, styledComponentId);\n } // $FlowFixMe\n\n\n WrappedStyledComponent.toString = function () {\n return \".\" + WrappedStyledComponent.styledComponentId;\n };\n\n if (isCompositeComponent) {\n hoist(WrappedStyledComponent, target, {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n self: true,\n styledComponentId: true,\n target: true,\n withComponent: true\n });\n }\n\n return WrappedStyledComponent;\n} // \n// Thanks to ReactDOMFactories for this handy list!\n\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan']; // \n\nvar styled = function styled(tag) {\n return constructWithOptions(createStyledComponent, tag);\n}; // Shorthands for all valid HTML Elements\n\n\ndomElements.forEach(function (domElement) {\n styled[domElement] = styled(domElement);\n}); // \n\nvar GlobalStyle = /*#__PURE__*/function () {\n function GlobalStyle(rules, componentId) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n }\n\n var _proto = GlobalStyle.prototype;\n\n _proto.createStyles = function createStyles(instance, executionContext, styleSheet, stylis) {\n var flatCSS = flatten(this.rules, executionContext, styleSheet);\n var css = stylis(flatCSS.join(''), '');\n var id = this.componentId + instance; // NOTE: We use the id as a name as well, since these rules never change\n\n styleSheet.insertRules(id, id, css);\n };\n\n _proto.removeStyles = function removeStyles(instance, styleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n };\n\n _proto.renderStyles = function renderStyles(instance, executionContext, styleSheet, stylis) {\n StyleSheet.registerId(this.componentId + instance); // NOTE: Remove old styles, then inject the new ones\n\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n };\n\n return GlobalStyle;\n}();\n\nfunction createGlobalStyle(strings) {\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(void 0, [strings].concat(interpolations));\n var styledComponentId = \"sc-global-\" + generateComponentId(JSON.stringify(rules));\n var globalStyle = new GlobalStyle(rules, styledComponentId);\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(styledComponentId);\n }\n\n function GlobalStyleComponent(props) {\n var styleSheet = useStyleSheet();\n var stylis = useStylis();\n var theme = useContext(ThemeContext);\n var instanceRef = useRef(null);\n\n if (instanceRef.current === null) {\n instanceRef.current = styleSheet.allocateGSInstance(styledComponentId);\n }\n\n var instance = instanceRef.current;\n\n if (process.env.NODE_ENV !== 'production' && React.Children.count(props.children)) {\n // eslint-disable-next-line no-console\n console.warn(\"The global style component \" + styledComponentId + \" was given child JSX. createGlobalStyle does not render children.\");\n }\n\n if (process.env.NODE_ENV !== 'production' && rules.some(function (rule) {\n return typeof rule === 'string' && rule.indexOf('@import') !== -1;\n })) {\n console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\");\n }\n\n if (globalStyle.isStatic) {\n globalStyle.renderStyles(instance, STATIC_EXECUTION_CONTEXT, styleSheet, stylis);\n } else {\n var context = _extends({}, props, {\n theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps)\n });\n\n globalStyle.renderStyles(instance, context, styleSheet, stylis);\n }\n\n useEffect(function () {\n return function () {\n return globalStyle.removeStyles(instance, styleSheet);\n };\n }, EMPTY_ARRAY);\n return null;\n } // $FlowFixMe\n\n\n return React.memo(GlobalStyleComponent);\n} // \n\n\nfunction keyframes(strings) {\n /* Warning if you've used keyframes on React Native */\n if (process.env.NODE_ENV !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // eslint-disable-next-line no-console\n console.warn('`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.');\n }\n\n for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n var rules = css.apply(void 0, [strings].concat(interpolations)).join('');\n var name = generateComponentId(rules);\n return new Keyframes(name, [rules, name, '@keyframes']);\n}\n\nvar ServerStyleSheet = /*#__PURE__*/function () {\n function ServerStyleSheet() {\n var _this = this;\n\n this._emitSheetCSS = function () {\n var css = _this.instance.toString();\n\n var nonce = getNonce();\n var attrs = [nonce && \"nonce=\\\"\" + nonce + \"\\\"\", SC_ATTR + \"=\\\"true\\\"\", SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"\"];\n var htmlAttr = attrs.filter(Boolean).join(' ');\n return \"\";\n };\n\n this.getStyleTags = function () {\n if (_this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n return _this._emitSheetCSS();\n };\n\n this.getStyleElement = function () {\n var _props;\n\n if (_this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n var props = (_props = {}, _props[SC_ATTR] = '', _props[SC_ATTR_VERSION] = SC_VERSION, _props.dangerouslySetInnerHTML = {\n __html: _this.instance.toString()\n }, _props);\n var nonce = getNonce();\n\n if (nonce) {\n props.nonce = nonce;\n } // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n\n\n return [/*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n key: \"sc-0-0\"\n }))];\n };\n\n this.seal = function () {\n _this.sealed = true;\n };\n\n this.instance = new StyleSheet({\n isServer: true\n });\n this.sealed = false;\n }\n\n var _proto = ServerStyleSheet.prototype;\n\n _proto.collectStyles = function collectStyles(children) {\n if (this.sealed) {\n return throwStyledComponentsError(2);\n }\n\n return /*#__PURE__*/React.createElement(StyleSheetManager, {\n sheet: this.instance\n }, children);\n }; // eslint-disable-next-line consistent-return\n\n\n _proto.interleaveWithNodeStream = function interleaveWithNodeStream(input) {\n {\n return throwStyledComponentsError(3);\n }\n };\n\n return ServerStyleSheet;\n}(); // export default (\n// Component: AbstractComponent\n// ): AbstractComponent<$Diff & { theme?: any }, Instance>\n//\n// but the old build system tooling doesn't support the syntax\n\n\nvar withTheme = function withTheme(Component) {\n // $FlowFixMe This should be React.forwardRef\n var WithTheme = React.forwardRef(function (props, ref) {\n var theme = useContext(ThemeContext); // $FlowFixMe defaultProps isn't declared so it can be inferrable\n\n var defaultProps = Component.defaultProps;\n var themeProp = determineTheme(props, theme, defaultProps);\n\n if (process.env.NODE_ENV !== 'production' && themeProp === undefined) {\n // eslint-disable-next-line no-console\n console.warn(\"[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \\\"\" + getComponentName(Component) + \"\\\"\");\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n theme: themeProp,\n ref: ref\n }));\n });\n hoist(WithTheme, Component);\n WithTheme.displayName = \"WithTheme(\" + getComponentName(Component) + \")\";\n return WithTheme;\n}; // \n\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n}; // \n\n\nvar __PRIVATE__ = {\n StyleSheet: StyleSheet,\n masterSheet: masterSheet\n}; // \n\n/* Define bundle version for export */\n\nvar version = \"5.1.1\";\n/* Warning if you've imported this file on React Native */\n\nif (process.env.NODE_ENV !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n}\n/* Warning if there are several instances of styled-components */\n\n\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined') {\n window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n if (window['__styled-components-init__'] === 1) {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process, ' + 'missing theme prop, and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n }\n\n window['__styled-components-init__'] += 1;\n}\n\nexport default styled;\nexport { ServerStyleSheet, StyleSheetConsumer, StyleSheetContext, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, __PRIVATE__, createGlobalStyle, css, isStyledComponent, keyframes, useTheme, version, withTheme };","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nexports.default = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(_react2.default.Component);\n\n ;\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n return Element;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = require('lodash.throttle');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // The eventHandler will execute at a rate of 15fps\n\n\nvar eventThrottler = function eventThrottler(eventHandler) {\n return (0, _lodash2.default)(eventHandler, 66);\n};\n\nvar scrollSpy = {\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n mount: function mount(scrollSpyContainer) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n });\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\nexports.default = scrollSpy;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(null, \"\", urlToPush) : history.replaceState(null, \"\", urlToPush);\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n return c === document ? t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetTop : t.offsetTop - c.offsetTop;\n }\n};\n\nexports.default = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = require('./animate-scroll');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar __mapped = {};\n\nvar __activeLink = void 0;\n\nexports.default = {\n unmount: function unmount() {\n __mapped = {};\n },\n register: function register(name, element) {\n __mapped[name] = element;\n },\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n scrollTo: function scrollTo(to, props) {\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, {\n absolute: false\n });\n var containerId = props.containerId;\n var container = props.container;\n var containerElement = void 0;\n\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n\n return;\n }\n /*\r\n * Animate scrolling\r\n */\n\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};"],"sourceRoot":""}