{"version":3,"sources":["utils.js","what-input.js","scripts.js","foundation.core.js","foundation.util.box.js","foundation.util.box.min.js","foundation.util.imageLoader.js","foundation.util.imageLoader.min.js","foundation.util.keyboard.js","foundation.util.keyboard.min.js","foundation.util.mediaQuery.js","foundation.util.mediaQuery.min.js","foundation.util.motion.js","foundation.util.motion.min.js","foundation.util.nest.js","foundation.util.nest.min.js","foundation.util.timer.js","foundation.util.timer.min.js","foundation.util.touch.js","foundation.util.touch.min.js","foundation.util.triggers.js","foundation.util.triggers.min.js","foundation.accordion.js","foundation.accordionMenu.js","foundation.drilldown.js","foundation.dropdown.js","foundation.dropdownMenu.js","foundation.offcanvas.js","foundation.reveal.js","foundation.sticky.js","defer-bg-images.js","global.js","header.js","init-foundation.js","quiz.js","wp-foundation.js"],"names":["urlParam","name","results","RegExp","exec","window","location","href","decodeURI","animateValue","id","start","end","duration","range","current","increment","stepTime","Math","abs","floor","obj","document","getElementById","timer","setInterval","innerHTML","clearInterval","root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","loaded","call","m","c","p","ask","element","ignoreKeys","specificKeys","registerOnChange","unRegisterOnChange","docElem","documentElement","currentElement","currentInput","currentIntent","currentTimestamp","Date","now","shouldPersist","formInputs","functionList","ignoreMap","specificMap","inputMap","keydown","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","pointerdown","pointermove","touchstart","touchend","isScrolling","mousePos","x","y","pointerMap","2","3","4","supportsPassive","opts","Object","defineProperty","get","addEventListener","e","setUp","detectWheel","addListeners","options","passive","capture","setPersist","PointerEvent","setInput","setIntent","MSPointerEvent","setElement","clearElement","getAttribute","body","sessionStorage","getItem","doUpdate","event","eventKey","which","value","type","pointerType","ignoreMatch","length","indexOf","specificMatch","shouldUpdate","validateTouch","persistInput","activeElem","activeElement","notFormInput","nodeName","toLowerCase","checkClosest","setAttribute","fireFunctions","detectScrolling","target","classList","toString","replace","removeAttribute","setItem","timestamp","touchIsValid","wheelType","createElement","undefined","onmousewheel","i","len","fn","objPos","match","screenX","screenY","elem","tag","ElementPrototype","Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","closest","parentElement","parentNode","nodeType","Array","opt","arr","eventType","push","position","splice","clearStorage","clear","_typeof2","Symbol","iterator","constructor","require","__WEBPACK_EXTERNAL_MODULE_jquery__","l","d","getter","o","enumerable","r","toStringTag","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","s","./js/entries/plugins/foundation.core.js","__webpack_exports__","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","addToJquery","a","Plugin","rtl","GetYoDigits","transitionend","RegExpEscape","onLoad","Foundation","./js/foundation.core.js","_typeof","functionName","Function","funcNameRegex","trim","parseValue","str","isNaN","parseFloat","hyphenate","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","FOUNDATION_VERSION","version","_plugins","_uuids","plugin","_plugin","className","attrName","registerPlugin","pluginName","uuid","$element","attr","concat","data","trigger","unregisterPlugin","removeAttr","removeData","prop","reInit","plugins","isJQ","each","_init","_this","fns","plgs","forEach","foundation","string","keys","err","console","error","reflow","$elem","find","addBack","filter","$el","split","option","map","el","er","getFnName","method","$noJS","removeClass","TypeError","args","slice","arguments","plugClass","ReferenceError","apply","util","throttle","func","delay","context","setTimeout","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","callback","nextTime","max","clearTimeout","performance","oThis","aArgs","fToBind","fNOP","fBound","./js/foundation.core.plugin.js","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","getPluginName","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__","_setup","_destroy","./js/foundation.core.utils.js","namespace","chars","charsLength","random","transitions","transition","WebkitTransition","MozTransition","OTransition","style","triggerHandler","handler","didLoad","readyState","cb","one","ignoreMousedisappear","_ref","_ref$ignoreLeaveWindo","ignoreLeaveWindow","_ref$ignoreReappear","ignoreReappear","eLeave","_len","rest","_key","relatedTarget","hasFocus","eReenter","currentTarget","has","./js/foundation.util.mediaQuery.js","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","from","arr2","_i","_s","_e","_arr","_n","_d","next","done","isArray","parseStyleToObject","styleObject","reduce","ret","param","parts","val","decodeURIComponent","MediaQuery","matchMedia","styleMedia","media","script","getElementsByTagName","info","insertBefore","head","appendChild","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","queries","isInitialized","self","$meta","appendTo","namedQueries","extractedStyles","css","_getCurrentSize","_watcher","_reInit","atLeast","size","query","only","upTo","nextSize","is","_parts","bpSize","_parts$","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","matched","_this2","on","newSize","currentSize","0","jquery","__WEBPACK_EXTERNAL_MODULE__foundation_core__","./foundation.core","./js/entries/plugins/foundation.util.box.js","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Box","./js/foundation.util.box.js","ImNotTouchingYou","parent","lrOnly","tbOnly","ignoreBottom","OverlapArea","topOver","bottomOver","leftOver","rightOver","eleDims","GetDimensions","parDims","height","offset","top","left","windowDims","min","sqrt","rect","getBoundingClientRect","parRect","winRect","winY","pageYOffset","winX","pageXOffset","parentDims","GetExplicitOffsets","anchor","alignment","vOffset","hOffset","isOverflow","topVal","leftVal","$eleDims","$anchorDims","21","__FOUNDATION_EXTERNAL__","f","u","./js/entries/plugins/foundation.util.imageLoader.js","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__","onImagesLoaded","./js/foundation.util.imageLoader.js","images","singleImageLoaded","unloaded","complete","naturalWidth","image","Image","events","me","off","src","22","jQuery","./js/entries/plugins/foundation.util.keyboard.js","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","Keyboard","./js/foundation.util.keyboard.js","findFocusable","sort","b","aTabIndex","parseInt","bTabIndex","parseKey","keyCodes","keyCode","String","fromCharCode","toUpperCase","shiftKey","ctrlKey","altKey","getKeyCodes","kcs","k","kc","9","13","27","32","35","36","37","38","39","40","commands","handleKey","component","functions","cmds","command","commandList","warn","zfIsKeyHandled","ltr","extend","returnValue","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","preventDefault","focus","releaseFocus","23","./js/entries/plugins/foundation.util.mediaQuery.js","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","24","./js/entries/plugins/foundation.util.motion.js","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Motion","Move","./js/foundation.util.motion.js","move","ts","prog","anim","animate","isIn","animation","finish","hide","reset","transitionDuration","initClass","activeClass","initClasses","activeClasses","addClass","show","offsetWidth","animateIn","animateOut","25","./js/entries/plugins/foundation.util.nest.js","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__","Nest","./js/foundation.util.nest.js","Feather","menu","role","items","subMenuClass","subItemClass","hasSubClass","applyAria","$item","$sub","children","aria-haspopup","aria-label","aria-expanded","data-submenu","aria-hidden","Burn","26","./js/entries/plugins/foundation.util.timer.js","_foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__","Timer","./js/foundation.util.timer.js","nameSpace","remain","isPaused","restart","infinite","pause","./js/entries/plugins/foundation.util.touch.js","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__","_foundation_core__WEBPACK_IMPORTED_MODULE_2__","init","Touch","./js/foundation.util.touch.js","onTouchEnd","removeEventListener","onTouchMove","didMoved","tapEvent","Event","startEvent","isMoving","spotSwipe","dir","touches","pageX","dx","startPosX","elapsedTime","startTime","moveThreshold","timeThreshold","assign","onTouchStart","SpotSwipe","enabled","special","swipe","setup","tap","noop","setupSpotSwipe","setupTouchHandler","addTouch","handleTouch","simulatedEvent","changedTouches","first","eventTypes","touchmove","MouseEvent","bubbles","cancelable","clientX","clientY","createEvent","initMouseEvent","dispatchEvent","28","h","v","w","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","./foundation.util.motion","./js/entries/plugins/foundation.util.triggers.js","jquery__WEBPACK_IMPORTED_MODULE_1__","jquery__WEBPACK_IMPORTED_MODULE_1___default","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__","./js/foundation.util.triggers.js","debounceGlobalListener","debounce","listener","Triggers","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","prefixes","triggers","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","stopPropagation","fadeOut","toggleFocusListener","addOpenListener","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","not","addClosemeListener","yetiBoxes","plugNames","listeners","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","__","triggersInitialized","IHearYou","29","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","./foundation.util.keyboard","./js/entries/plugins/foundation.accordion.js","_foundation_accordion__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.accordion.js","_inherits","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","sham","Proxy","Boolean","valueOf","getPrototypeOf","Accordion","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_Plugin","_super","defaults","ENTER","SPACE","ARROW_DOWN","ARROW_UP","HOME","END","_isInitializing","$tabs","idx","$content","linkId","aria-controls","aria-labelledby","$initActive","_initialAnchor","prev","_openSingleTab","_checkDeepLink","hash","$anchor","$link","isOwnAnchor","hasClass","_closeAllTabs","deepLinkSmudge","scrollTop","deepLinkSmudgeOffset","deepLinkSmudgeDelay","deepLink","_events","$tabContent","toggle","$a","multiExpand","previous","last","up","down","updateHistory","history","pushState","replaceState","_openTab","$targetItem","$othersItems","siblings","allowAllClosed","_closeTab","$activeContents","_this3","targetContentId","slideDown","slideSpeed","_this4","slideUp","$activeTabs","stop","1","__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__","./foundation.util.nest","./js/entries/plugins/foundation.accordionMenu.js","_foundation_accordionMenu__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.accordionMenu.js","AccordionMenu","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__","ARROW_RIGHT","ARROW_LEFT","ESCAPE","aria-multiselectable","multiOpen","$menuLinks","subId","isActive","parentLink","clone","prependTo","wrap","submenuToggle","after","submenuToggleText","initPanes","$submenu","$prevElement","$nextElement","$elements","parents","open","close","closeAll","hideAll","$targetBranch","parentsUntil","add","$othersActiveSubmenus","$submenus","$allmenus","detach","remove","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","./foundation.util.box","./js/entries/plugins/foundation.drilldown.js","_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.drilldown.js","Drilldown","_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__","autoApplyClass","$submenuAnchors","$menuItems","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","tabindex","$menu","$back","backButtonPosition","append","backButton","prepend","_back","autoHeight","$wrapper","wrapper","animateHeight","_getMaxDims","max-width","min-height","_show","closeOnClick","$body","ev","contains","_hideAll","_bindHandler","_scrollTop","_resize","$scrollTopElement","scrollTopElement","scrollPos","scrollTopOffset","animationDuration","animationEasing","_hide","calcHeight","parentSubMenu","autoFocus","$expandedSubmenus","_setHideSubMenuClasses","index","isLastChild","_setShowSubMenuClasses","blur","maxHeight","unwrap","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","./foundation.util.touch","./js/entries/plugins/foundation.dropdown.js","_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.dropdown.js","_get","receiver","base","_superPropBase","desc","getOwnPropertyDescriptor","Dropdown","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__","_Positionable","$id","$anchors","data-is-focus","data-yeti-box","_setCurrentAnchor","parentClass","$parent","$currentAnchor","data-resize","horizontalPosition","hasTouch","ontouchstart","open.zf.trigger","close.zf.trigger","toggle.zf.trigger","resizeme.zf.trigger","_setPosition","forceFollow","hover","bodyData","whatinput","timeout","hoverDelay","hoverPane","_addBodyHandler","allowOverlap","allowBottomOverlap","./js/foundation.positionable.js","nextItem","item","array","currentIdx","Positionable","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","right","bottom","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","_alignmentsExhausted","_realign","_addTriedPosition","isExhausted","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","_reposition","./js/entries/plugins/foundation.dropdownMenu.js","_foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.dropdownMenu.js","DropdownMenu","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__","subs","verticalClass","rightClass","changed","parClass","handleClickFn","hasSub","hasClicked","clickOpen","stopImmediatePropagation","closeOnClickInside","disableHoverOnTouch","disableHover","autoclose","closingTime","isTab","nextSibling","prevSibling","openSub","closeSub","_isVertical","_isRtl","_removeBodyHandler","isItself","$sibs","oldClass","$parentLi","$toClose","somethingToClose","$activeItem","data-is-click","5","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","./foundation.util.mediaQuery","./js/entries/plugins/foundation.offcanvas.js","_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.offcanvas.js","OffCanvas","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","contentClasses","reveal","$lastTrigger","$triggers","nested","$sticky","isInCanvas","contentId","contentOverlay","overlay","overlayPosition","$overlay","insertAfter","revealOnRegExp","revealClass","revealOnClass","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","keydown.zf.offCanvas","_handleKeyboard","click.zf.offCanvas","onLoadListener","hasReveal","_","absoluteTopVal","stickyData","_addContentClasses","lastY","pageY","delta","_canScroll","allowUp","allowDown","scrollHeight","clientHeight","forceTo","scrollTo","_stopScrolling","_recordScrollable","_preventDefaultAtEdges","_scrollboxTouchMoved","canvasFocus","_fixStickyElements","_this5","_unfixStickyElements","_this6","./js/entries/plugins/foundation.reveal.js","_foundation_reveal__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.reveal.js","Reveal","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__","cached","mq","fullScreen","_makeOverlay","additionalOverlayClasses","outerWidth","outerHeight","margin","_updatePosition","_handleState","$activeAnchor","visibility","multipleOpened","_disableScroll","animationIn","afterAnimation","_addGlobalClasses","focusableElements","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","closeOnEsc","finishUp","_removeGlobalClasses","_enableScroll","animationOut","hideDelay","resetOnClose","html","urlWithoutHash","pathname","search","title","14","./js/entries/plugins/foundation.sticky.js","_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__","./js/foundation.sticky.js","emCalc","em","fontSize","Sticky","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","$container","wasWrapped","container","containerClass","stickyClass","data-mutate","scrollCount","checkEvery","isStuck","containerHeight","elemHeight","_parsePoints","_setSizes","scroll","_calc","_removeSticky","topPoint","reverse","topAnchor","btm","btmAnchor","pts","breaks","pt","place","points","isOn","canStick","_eventsHandler","_pauseListeners","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","stickyOn","newElemWidth","comp","pdngl","pdngr","dynamicHeight","newContainerHeight","_setBreakPoints","mTop","marginTop","mBtm","marginBottom","winHeight","innerHeight","17","lazyloadImages","querySelectorAll","imageObserver","IntersectionObserver","entries","observer","entry","isIntersecting","unobserve","lazyloadThrottleTimeout","lazyload","img","offsetTop","dataset","handle","includes","wheel","mousewheel","ready","$","controller","ScrollMagic","Controller","scenesArray","columnID","Scene","triggerElement","setClassToggle","addTo","headerID","colID","animateHeader","group","querySelector","click","defaultDogName","quizStep","slick","arrows","dots","adaptiveHeight","accessibility","responsive","breakpoint","settings","change","petDentalVals","input","inputUpdate","checkfieldIDs","submit","$form","quizAnswers","question","answer","log","pagePath","linkPath","substring","elementID","innerWidth"],"mappings":"AAwBA,QAASA,UAASC,GAChB,GAAIC,GAAU,GAAIC,QAAO,OAAUF,EAAO,aAAaG,KAAKC,OAAOC,SAASC,KAC5E,OAAa,OAATL,EACM,KAEHM,UAAUN,EAAQ,KAAO,EAGlC,QAASO,cAAaC,EAAIC,EAAOC,EAAKC,GACpC,GAAIC,GAAQF,EAAMD,EACdI,EAAUJ,EACVK,EAAYJ,EAAMD,EAAO,KACzBM,EAAWC,KAAKC,IAAID,KAAKE,MAAMP,EAAWC,IAC1CO,EAAMC,SAASC,eAAeb,GAC9Bc,EAAQC,YAAY,WACtBV,GAAWC,EACXK,EAAIK,UAAYX,EACZA,GAAWH,GACbe,cAAcH,IAEfP,ICtCL,SAAAW,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,SAAAA,OAAAC,IACAD,OAAA,eAAAH,GACA,gBAAAC,SACAA,QAAA,UAAAD,IAEAD,EAAA,UAAAC,KACAK,KAAA,WACA,MAAA,UAAAC,GAKA,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAP,WACApB,GAAA2B,EACAE,QAAA,EAUA,OANAJ,GAAAE,GAAAG,KAAAT,EAAAD,QAAAC,EAAAA,EAAAD,QAAAM,GAGAL,EAAAQ,QAAA,EAGAR,EAAAD,QAvBA,GAAAQ,KAqCA,OATAF,GAAAK,EAAAN,EAGAC,EAAAM,EAAAJ,EAGAF,EAAAO,EAAA,GAGAP,EAAA,KAKA,SAAAL,EAAAD,GAEA,YAEAC,GAAAD,QAAA,WAOA,GAAA,mBAAAR,WAAA,mBAAAjB,QACA,OAEAuC,IAAA,WACA,MAAA,WAIAC,QAAA,WACA,MAAA,OAIAC,WAAA,aAGAC,aAAA,aAGAC,iBAAA,aAGAC,mBAAA,aASA,IAAAC,GAAA5B,SAAA6B,gBAGAC,EAAA,KAGAC,EAAA,UAGAC,EAAAD,EAGAE,EAAAC,KAAAC,MAGAC,GAAA,EAGAC,GAAA,SAAA,QAAA,SAAA,YAGAC,KAIAC,GAAA,GACA,GACA,GACA,GACA,IAGAC,KAGAC,GACAC,QAAA,WACAC,MAAA,WACAC,UAAA,QACAC,UAAA,QACAC,cAAA,UACAC,cAAA,UACAC,YAAA,UACAC,YAAA,UACAC,WAAA,QACAC,SAAA,SAGAC,GAAA,EAGAC,GACAC,EAAA,KACAC,EAAA,MAGAC,GACAC,EAAA,QACAC,EAAA,QACAC,EAAA,SAGAC,GAAA,CAEA,KACA,GAAAC,GAAAC,OAAAC,kBAAA,WACAC,IAAA,WACAJ,GAAA,IAIA7E,QAAAkF,iBAAA,OAAA,KAAAJ,GACA,MAAAK,IAQA,GAAAC,GAAA,WAEA1B,EAAA2B,KAAA,QAEAC,KAOAA,EAAA,WAIA,GAAAC,IAAAV,IAAAW,SAAA,EAAAC,SAAA,EAEAxE,UAAAiE,iBAAA,mBAAAQ,GAAA,GAGA1F,OAAA2F,cACA3F,OAAAkF,iBAAA,cAAAU,GAAA,GACA5F,OAAAkF,iBAAA,cAAAW,GAAA,IACA7F,OAAA8F,gBACA9F,OAAAkF,iBAAA,gBAAAU,GAAA,GACA5F,OAAAkF,iBAAA,gBAAAW,GAAA,KAGA7F,OAAAkF,iBAAA,YAAAU,GAAA,GACA5F,OAAAkF,iBAAA,YAAAW,GAAA,GAGA,gBAAA7F,UACAA,OAAAkF,iBAAA,aAAAU,EAAAL,GACAvF,OAAAkF,iBAAA,WAAAU,GAAA,KAKA5F,OAAAkF,iBAAAG,IAAAQ,EAAAN,GAGAvF,OAAAkF,iBAAA,UAAAU,GAAA,GACA5F,OAAAkF,iBAAA,QAAAU,GAAA,GAGA5F,OAAAkF,iBAAA,UAAAa,GAAA,GACA/F,OAAAkF,iBAAA,WAAAc,GAAA,IAKAN,EAAA,WAGA,GAFArC,IAAA,UAAAR,EAAAoD,aAAA,qBAAA,UAAAhF,SAAAiF,KAAAD,aAAA,qBAIA,IACAjG,OAAAmG,eAAAC,QAAA,gBACApD,EAAAhD,OAAAmG,eAAAC,QAAA,eAGApG,OAAAmG,eAAAC,QAAA,iBACAnD,EAAAjD,OAAAmG,eAAAC,QAAA,gBAEA,MAAAjB,IAMAkB,EAAA,SACAA,EAAA,WAIAT,EAAA,SAAAU,GACA,GAAAC,GAAAD,EAAAE,MACAC,EAAA/C,EAAA4C,EAAAI,KAEA,aAAAD,IACAA,EAAAE,EAAAL,GAGA,IAAAM,IAAAnD,EAAAoD,QAAArD,EAAAsD,QAAAP,QAEAQ,EAAAtD,EAAAoD,QAAApD,EAAAqD,QAAAP,QAEAS,EAAA,aAAAP,GAAAF,IAAAK,GAAAG,IAAA,UAAAN,GAAA,UAAAA,CAcA,IAXAQ,EAAAR,KACAO,GAAA,GAGAA,GAAAhE,IAAAyD,IACAzD,EAAAyD,EAEAS,EAAA,QAAAlE,GACAqD,EAAA,UAGAW,GAAA/D,IAAAwD,EAAA,CAEA,GAAAU,GAAAlG,SAAAmG,cACAC,EAAAF,GAAAA,EAAAG,WAAAhE,EAAAwD,QAAAK,EAAAG,SAAAC,qBAAA,WAAAJ,EAAAG,SAAAC,gBAAAC,EAAAL,EAAA,QAEAE,KACApE,EAAAwD,EAEAS,EAAA,SAAAjE,GACAoD,EAAA,aAMAA,EAAA,SAAAG,GACA3D,EAAA4E,aAAA,YAAAjB,EAAA,UAAAA,EAAAxD,EAAAC,GAEAyE,EAAAlB,IAIAX,EAAA,SAAAS,GACA,GAAAG,GAAA/C,EAAA4C,EAAAI,KAEA,aAAAD,IACAA,EAAAE,EAAAL,IAIAqB,EAAArB,KAGAjC,IAAA4C,EAAAR,IAAApC,GAAA,UAAAiC,EAAAI,MAAA,eAAAJ,EAAAI,MAAA,mBAAAJ,EAAAI,OAAAzD,IAAAwD,IACAxD,EAAAwD,EAEAS,EAAA,SAAAjE,GACAoD,EAAA,YAIAN,EAAA,SAAAO,GACA,MAAAA,GAAAsB,OAAAN,UAOAvE,EAAAuD,EAAAsB,OAAAN,SAAAC,cACA1E,EAAA4E,aAAA,mBAAA1E,QAEAuD,EAAAsB,OAAAC,WAAAvB,EAAAsB,OAAAC,UAAAhB,QACAhE,EAAA4E,aAAA,mBAAAnB,EAAAsB,OAAAC,UAAAC,WAAAC,QAAA,IAAA,YARA/B,MAYAA,EAAA,WACAjD,EAAA,KAEAF,EAAAmF,gBAAA,oBACAnF,EAAAmF,gBAAA,qBAGAd,EAAA,SAAAV,EAAAC,GACA,GAAApD,EACA,IACArD,OAAAmG,eAAA8B,QAAA,QAAAzB,EAAAC,GACA,MAAAtB,MAUAwB,EAAA,SAAAL,GACA,MAAA,gBAAAA,GAAAK,YACAlC,EAAA6B,EAAAK,aAGA,QAAAL,EAAAK,YAAA,QAAAL,EAAAK,aAKAM,EAAA,SAAAR,GACA,GAAAyB,GAAA/E,KAAAC,MAEA+E,EAAA,UAAA1B,GAAA,UAAAzD,GAAAkF,EAAAhF,EAAA,GAIA,OAFAA,GAAAgF,EAEAC,GAKA9C,EAAA,WACA,GAAA+C,GAAA,IAWA,OAPAA,GADA,WAAAnH,UAAAoH,cAAA,OACA,QAIAC,SAAArH,SAAAsH,aAAA,aAAA,kBAOAb,EAAA,SAAAhB,GACA,IAAA,GAAA8B,GAAA,EAAAC,EAAAlF,EAAAsD,OAAA2B,EAAAC,EAAAD,IACAjF,EAAAiF,GAAA9B,OAAAA,GACAnD,EAAAiF,GAAAE,GAAAvG,KAAAmG,OAAA,UAAA5B,EAAA1D,EAAAC,IAMA0F,EAAA,SAAAC,GACA,IAAA,GAAAJ,GAAA,EAAAC,EAAAlF,EAAAsD,OAAA2B,EAAAC,EAAAD,IACA,GAAAjF,EAAAiF,GAAAE,KAAAE,EACA,MAAAJ,IAKAb,EAAA,SAAArB,GACAhC,EAAAC,IAAA+B,EAAAuC,SAAAvE,EAAAE,IAAA8B,EAAAwC,SACAzE,GAAA,EAEAC,EAAAC,EAAA+B,EAAAuC,QACAvE,EAAAE,EAAA8B,EAAAwC,SAEAzE,GAAA,GAKAmD,EAAA,SAAAuB,EAAAC,GACA,GAAAC,GAAAjJ,OAAAkJ,QAAAC,SAMA,IAJAF,EAAAG,UACAH,EAAAG,QAAAH,EAAAI,mBAAAJ,EAAAK,uBAGAL,EAAAM,QAWA,MAAAR,GAAAQ,QAAAP,EAVA,GAAA,CACA,GAAAD,EAAAK,QAAAJ,GACA,MAAAD,EAGAA,GAAAA,EAAAS,eAAAT,EAAAU,iBACA,OAAAV,GAAA,IAAAA,EAAAW,SAEA,OAAA,MAoBA,OARA,oBAAA1J,SAAA2J,MAAAR,UAAArC,SACA1B,KAYA7C,IAAA,SAAAqH,GACA,MAAA,WAAAA,EAAA3G,EAAAD,GAIAR,QAAA,WACA,MAAAO,IAIAN,WAAA,SAAAoH,GACArG,EAAAqG,GAIAnH,aAAA,SAAAmH,GACApG,EAAAoG,GAMAlH,iBAAA,SAAA+F,EAAAoB,GACAvG,EAAAwG,MACArB,GAAAA,EACAhC,KAAAoD,GAAA,WAIAlH,mBAAA,SAAA8F,GACA,GAAAsB,GAAArB,EAAAD,IAEAsB,GAAA,IAAAA,IACAzG,EAAA0G,OAAAD,EAAA,IAIAE,aAAA,WACAlK,OAAAmG,eAAAgE,iBCSa,IAAIC,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KCrgBjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,WACR,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,UAAWH,GACO,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,mBAAqBD,EAAQgJ,QAAQ,YAE7CjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,mBAAqBC,EAAQD,EAAA,UACrIvB,OAAQ,SAASyK,GACpB,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDC,0CAKC,SAASnK,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIC,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFE,EAAgDlK,EAAiD,0BAC5FA,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOG,GAAA,YAEtF,IAAIC,GAAuDnK,EAAwD,kCAC/GoK,EAAsDpK,EAAuD,gCACxGA,GAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOI,GAAA,SAEzEnK,EAAoB4I,EAAEmB,EAAqB,MAAO,WAAa,MAAOK,GAAA,MAEtEpK,EAAoB4I,EAAEmB,EAAqB,cAAe,WAAa,MAAOK,GAAA,cAE9EpK,EAAoB4I,EAAEmB,EAAqB,eAAgB,WAAa,MAAOK,GAAA,eAE/EpK,EAAoB4I,EAAEmB,EAAqB,gBAAiB,WAAa,MAAOK,GAAA,gBAEhFpK,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOK,GAAA,SAEzEpK,EAAoB4I,EAAEmB,EAAqB,uBAAwB,WAAa,MAAOK,GAAA,uBASrHF,EAAA,WAA4DG,YAAYJ,EAA4CK,GAGpHJ,EAAA,WAA4DK,OAASJ,EAAA,OAIrED,EAAA,WAA4DM,IAAMJ,EAAA,IAClEF,EAAA,WAA4DO,YAAcL,EAAA,YAC1EF,EAAA,WAA4DQ,cAAgBN,EAAA,cAC5EF,EAAA,WAA4DS,aAAeP,EAAA,aAC3EF,EAAA,WAA4DU,OAASR,EAAA,OACrEnM,OAAO4M,WAAaX,EAAA,YAUdY,0BAKC,SAASnL,EAAQoK,EAAqB/J,GAE7C,YAOA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAiVnX,QAAS+L,GAAarE,GACpB,GAAuC,mBAA5BsE,UAAS7D,UAAUvJ,KAAsB,CAClD,GAAIqN,GAAgB,yBAChBpN,EAAUoN,EAAclN,KAAK2I,EAAGZ,WACpC,OAAOjI,IAAWA,EAAQgH,OAAS,EAAIhH,EAAQ,GAAGqN,OAAS,GACtD,MAA4B,mBAAjBxE,GAAGS,UACZT,EAAG6B,YAAY3K,KAEf8I,EAAGS,UAAUoB,YAAY3K,KAIpC,QAASuN,GAAWC,GAClB,MAAI,SAAWA,GAA0B,UAAYA,IAA4BC,MAAY,EAAND,GAChFA,EADiGE,WAAWF,IAMrH,QAASG,GAAUH,GACjB,MAAOA,GAAIrF,QAAQ,kBAAmB,SAASR,cA3WjDxF,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOc,IACvF,IAAIb,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,iCACzG0L,EAA2D1L,EAAwD,sCAMxI2L,EAAqB,QAGrBd,GACFe,QAASD,EAKTE,YAKAC,UAMAC,OAAQ,SAAgBC,EAASnO,GAG/B,GAAIoO,GAAYpO,GAAQmN,EAAagB,GAGjCE,EAAWV,EAAUS,EAEzBnM,MAAK+L,SAASK,GAAYpM,KAAKmM,GAAaD,GAY9CG,eAAgB,SAAwBJ,EAAQlO,GAC9C,GAAIuO,GAAavO,EAAO2N,EAAU3N,GAAQmN,EAAae,EAAOvD,aAAahD,aAC3EuG,GAAOM,KAAOrJ,OAAOyI,EAAA,aAAoE,EAAGW,GAEvFL,EAAOO,SAASC,KAAK,QAAQC,OAAOJ,KACvCL,EAAOO,SAASC,KAAK,QAAQC,OAAOJ,GAAaL,EAAOM,MAGrDN,EAAOO,SAASG,KAAK,aACxBV,EAAOO,SAASG,KAAK,WAAYV,GAQnCA,EAAOO,SAASI,QAAQ,WAAWF,OAAOJ,IAE1CtM,KAAKgM,OAAO9D,KAAK+D,EAAOM,OAa1BM,iBAAkB,SAA0BZ,GAC1C,GAAIK,GAAaZ,EAAUR,EAAae,EAAOO,SAASG,KAAK,YAAYjE,aAEzE1I,MAAKgM,OAAO5D,OAAOpI,KAAKgM,OAAO/G,QAAQgH,EAAOM,MAAO,GAErDN,EAAOO,SAASM,WAAW,QAAQJ,OAAOJ,IAAaS,WAAW,YAKjEH,QAAQ,gBAAgBF,OAAOJ,GAEhC,KAAK,GAAIU,KAAQf,GACa,kBAAjBA,GAAOe,KAChBf,EAAOe,GAAQ,OAarBC,OAAQ,SAAgBC,GACtB,GAAIC,GAAOD,YAAmB/C,GAA4CK,CAE1E,KACE,GAAI2C,EACFD,EAAQE,KAAK,WACXjD,IAA8CnK,MAAM2M,KAAK,YAAYU,cAElE,CACL,GAAIxI,GAAOoG,EAAQiC,GACfI,EAAQtN,KACRuN,GACF3D,OAAU,SAAgB4D,GACxBA,EAAKC,QAAQ,SAAUhN,GACrBA,EAAIiL,EAAUjL,GACd0J,IAA8C,SAAW1J,EAAI,KAAKiN,WAAW,YAGjFC,OAAU,WACRT,EAAUxB,EAAUwB,GACpB/C,IAA8C,SAAW+C,EAAU,KAAKQ,WAAW,UAErFjH,UAAa,WACXzG,KAAK4J,OAAO1G,OAAO0K,KAAKN,EAAMvB,YAIlCwB,GAAI1I,GAAMqI,IAEZ,MAAOW,GACPC,QAAQC,MAAMF,GA3BhB,QA6BE,MAAOX,KASXc,OAAQ,SAAgB9G,EAAMgG,GAEL,mBAAZA,GACTA,EAAUhK,OAAO0K,KAAK5N,KAAK+L,UAED,gBAAZmB,KACdA,GAAWA,GAGb,IAAII,GAAQtN,IAGZmK,GAA4CK,EAAE4C,KAAKF,EAAS,SAAUvG,EAAG5I,GAEvE,GAAIkO,GAASqB,EAAMvB,SAAShO,GAExBkQ,EAAQ9D,IAA8CjD,GAAMgH,KAAK,SAAWnQ,EAAO,KAAKoQ,QAAQ,SAAWpQ,EAAO,KAAKqQ,OAAO,WAChI,MAAuF,mBAAzEjE,KAA8CnK,MAAM2M,KAAK,aAGzEsB,GAAMb,KAAK,WACT,GAAIiB,GAAMlE,IAA8CnK,MACpDiD,GACF+K,QAAQ,EAGNK,GAAI5B,KAAK,iBACX4B,EAAI5B,KAAK,gBAAgB6B,MAAM,KAAKb,QAAQ,SAAUc,GACpD,GAAIxG,GAAMwG,EAAOD,MAAM,KAAKE,IAAI,SAAUC,GACxC,MAAOA,GAAGpD,QAERtD,GAAI,KAAI9E,EAAK8E,EAAI,IAAMuD,EAAWvD,EAAI,MAI9C,KACEsG,EAAI1B,KAAK,WAAY,GAAIV,GAAO9B,IAA8CnK,MAAOiD,IACrF,MAAOyL,GACPZ,QAAQC,MAAMW,GAHhB,QAKE,aAKRC,UAAWzD,EACXX,YAAa,WAQX,GAAImD,GAAa,SAAoBkB,GACnC,GAAI/J,GAAOoG,EAAQ2D,GACfC,EAAQ1E,IAA8C,SAM1D,IAJI0E,EAAM7J,QACR6J,EAAMC,YAAY,SAGP,cAATjK,EAEF+G,EAAA,WAAuEyB,QAEvEtC,EAAWiD,OAAOhO,UACb,CAAA,GAAa,WAAT6E,EAuBT,KAAM,IAAIkK,WAAU,gBAAgBrC,OAAO7H,EAAM,gGArBjD,IAAImK,GAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,GAE7CC,EAAYnP,KAAK2M,KAAK,WAE1B,IAAyB,mBAAdwC,IAA0D,mBAAtBA,GAAUP,GAavD,KAAM,IAAIQ,gBAAe,iBAAmBR,EAAS,qCAAuCO,EAAYjE,EAAaiE,GAAa,gBAAkB,IAXhI,KAAhBnP,KAAKgF,OAEPmK,EAAUP,GAAQS,MAAMF,EAAWH,GAEnChP,KAAKoN,KAAK,SAAUzG,EAAG8H,GAErBU,EAAUP,GAAQS,MAAMlF,IAA8CsE,GAAI9B,KAAK,YAAaqC,KAYpG,MAAOhP,MAIT,OADAmK,GAA4CK,EAAE3D,GAAG6G,WAAaA,EACvDvD,EAA4CK,GAGvDO,GAAWuE,MAQTC,SAAU,SAAkBC,EAAMC,GAChC,GAAInQ,GAAQ,IACZ,OAAO,YACL,GAAIoQ,GAAU1P,KACVgP,EAAOE,SAEG,QAAV5P,IACFA,EAAQqQ,WAAW,WACjBH,EAAKH,MAAMK,EAASV,GACpB1P,EAAQ,MACPmQ,OAKXtR,OAAO4M,WAAaA,EAEpB,WACOzJ,KAAKC,KAAQpD,OAAOmD,KAAKC,MAAKpD,OAAOmD,KAAKC,IAAMD,KAAKC,IAAM,WAC9D,OAAO,GAAID,OAAOsO,WAIpB,KAAK,GAFDC,IAAW,SAAU,OAEhBlJ,EAAI,EAAGA,EAAIkJ,EAAQ7K,SAAW7G,OAAO2R,wBAAyBnJ,EAAG,CACxE,GAAIoJ,GAAKF,EAAQlJ,EACjBxI,QAAO2R,sBAAwB3R,OAAO4R,EAAK,yBAC3C5R,OAAO6R,qBAAuB7R,OAAO4R,EAAK,yBAA2B5R,OAAO4R,EAAK,+BAGnF,GAAI,uBAAuBE,KAAK9R,OAAO+R,UAAUC,aAAehS,OAAO2R,wBAA0B3R,OAAO6R,qBAAsB,CAC5H,GAAII,GAAW,CAEfjS,QAAO2R,sBAAwB,SAAUO,GACvC,GAAI9O,GAAMD,KAAKC,MACX+O,EAAWtR,KAAKuR,IAAIH,EAAW,GAAI7O,EACvC,OAAOoO,YAAW,WAChBU,EAASD,EAAWE,IACnBA,EAAW/O,IAGhBpD,OAAO6R,qBAAuBQ,aAO3BrS,OAAOsS,aAAgBtS,OAAOsS,YAAYlP,MAC7CpD,OAAOsS,aACLhS,MAAO6C,KAAKC,MACZA,IAAK,WACH,MAAOD,MAAKC,MAAQvB,KAAKvB,YAM5B0M,SAAS7D,UAAUoC,OAEtByB,SAAS7D,UAAUoC,KAAO,SAAUgH,GAClC,GAAoB,kBAAT1Q,MAGT,KAAM,IAAI+O,WAAU,uEAGtB,IAAI4B,GAAQ7I,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,GAC9C0B,EAAU5Q,KACV6Q,EAAO,aACPC,EAAS,WACX,MAAOF,GAAQvB,MAAMrP,eAAgB6Q,GAAO7Q,KAAO0Q,EAAOC,EAAMjE,OAAO5E,MAAMR,UAAU2H,MAAM3O,KAAK4O,aASpG,OANIlP,MAAKsH,YAEPuJ,EAAKvJ,UAAYtH,KAAKsH,WAGxBwJ,EAAOxJ,UAAY,GAAIuJ,GAChBC,KAgCLC,iCAKC,SAASlR,EAAQoK,EAAqB/J,GAE7C,YAIA,SAAS8Q,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAyDzM,QAASxF,GAAUH,GACjB,MAAOA,GAAIrF,QAAQ,kBAAmB,SAASR,cAGjD,QAASiM,GAAcxS,GACrB,MAAOuM,GAAUvM,EAAIgN,WArEvBjM,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOQ,IACnF,IAAImH,GAAsD1R,EAAmD,iCAW9HuK,EAAsB,WACxB,QAASA,GAAO9J,EAAS+C,GACvBsN,EAAgBhR,KAAMyK,GAEtBzK,KAAK6R,OAAOlR,EAAS+C,EAErB,IAAI4I,GAAaqF,EAAc3R,KAC/BA,MAAKuM,KAAOrJ,OAAO0O,EAAA,aAAoE,EAAGtF,GAErFtM,KAAKwM,SAASC,KAAK,QAAQC,OAAOJ,KACrCtM,KAAKwM,SAASC,KAAK,QAAQC,OAAOJ,GAAatM,KAAKuM,MAGjDvM,KAAKwM,SAASG,KAAK,aACtB3M,KAAKwM,SAASG,KAAK,WAAY3M,MAQjCA,KAAKwM,SAASI,QAAQ,WAAWF,OAAOJ,IAwB1C,MArBAkF,GAAa/G,IACXhB,IAAK,UACL7E,MAAO,WACL5E,KAAK8R,UAEL,IAAIxF,GAAaqF,EAAc3R,KAC/BA,MAAKwM,SAASM,WAAW,QAAQJ,OAAOJ,IAAaS,WAAW,YAK/DH,QAAQ,gBAAgBF,OAAOJ,GAEhC,KAAK,GAAIU,KAAQhN,MACXA,KAAK8J,eAAekD,KACtBhN,KAAKgN,GAAQ,UAMdvC,MAiBHsH,gCAKC,SAASlS,EAAQoK,EAAqB/J,GAE7C,YAgBA,SAASwK,KACP,MAA6E,QAAtEP,IAA8C,QAAQsC,KAAK,OAYpE,QAAS9B,KAOP,IAAK,GAND3F,GAASkK,UAAUlK,OAAS,GAAsByB,SAAjByI,UAAU,GAAmBA,UAAU,GAAK,EAC7E8C,EAAY9C,UAAUlK,OAAS,EAAIkK,UAAU,GAAKzI,OAClD8E,EAAM,GACN0G,EAAQ,uCACRC,EAAcD,EAAMjN,OAEf2B,EAAI,EAAGA,EAAI3B,EAAQ2B,IAC1B4E,GAAO0G,EAAMjT,KAAKE,MAAMF,KAAKmT,SAAWD,GAG1C,OAAOF,GAAY,GAAGtF,OAAOnB,EAAK,KAAKmB,OAAOsF,GAAazG,EAY7D,QAASV,GAAaU,GACpB,MAAOA,GAAIrF,QAAQ,2BAA4B,QAGjD,QAAS0E,GAAcqD,GACrB,GAOIvP,GAPA0T,GACFC,WAAc,gBACdC,iBAAoB,sBACpBC,cAAiB,gBACjBC,YAAe,kBAEbtL,EAAO9H,SAASoH,cAAc,MAGlC,KAAK,GAAI6L,KAAcD,GACiB,mBAA3BlL,GAAKuL,MAAMJ,KACpB3T,EAAM0T,EAAYC,GAItB,OAAI3T,GACKA,GAEPiR,WAAW,WACT1B,EAAMyE,eAAe,iBAAkBzE,KACtC,GACI,iBAiBX,QAASnD,GAAOmD,EAAO0E,GACrB,GAAIC,GAAkC,aAAxBxT,SAASyT,WACnB5K,GAAa2K,EAAU,WAAa,QAAU,kBAE9CE,EAAK,WACP,MAAO7E,GAAMyE,eAAezK,GAQ9B,OALIgG,KACE0E,GAAS1E,EAAM8E,IAAI9K,EAAW0K,GAC9BC,EAASjD,WAAWmD,GAAS3I,IAA8ChM,QAAQ4U,IAAI,OAAQD,IAG9F7K,EAsBT,QAAS+K,GAAqBL,GAC5B,GAAIM,GAAO/D,UAAUlK,OAAS,GAAsByB,SAAjByI,UAAU,GAAmBA,UAAU,MACtEgE,EAAwBD,EAAKE,kBAC7BA,EAA8C,SAA1BD,GAA2CA,EAC/DE,EAAsBH,EAAKI,eAC3BA,EAAyC,SAAxBD,GAAyCA,CAE9D,OAAO,UAA2BE,GAChC,IAAK,GAAIC,GAAOrE,UAAUlK,OAAQwO,EAAO,GAAI1L,OAAMyL,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAKvE,UAAUuE,EAG7B,IAAIpD,GAAWsC,EAAQjJ,KAAK2F,MAAMsD,GAAU3S,KAAMsT,GAAQ5G,OAAO8G,GAEjE,OAA6B,QAAzBF,EAAOI,cACFrD,QAMTV,YAAW,WACT,MAAKwD,KAAqB/T,SAASuU,UAAavU,SAASuU,gBAKpDN,GACHlJ,IAA8C/K,UAAU2T,IAAI,aAAc,SAA6Ba,GAChGzJ,IAA8CmJ,EAAOO,eAAeC,IAAIF,EAAS7N,QAAQf,SAE5FsO,EAAOI,cAAgBE,EAAS7N,OAChCsK,QATGA,KAaR,IArKPnQ,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,MAAO,WAAa,MAAOS,KACtExK,EAAoB4I,EAAEmB,EAAqB,cAAe,WAAa,MAAOU,KAC9EzK,EAAoB4I,EAAEmB,EAAqB,eAAgB,WAAa,MAAOY,KAC/E3K,EAAoB4I,EAAEmB,EAAqB,gBAAiB,WAAa,MAAOW,KAChF1K,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOa,KACzE5K,EAAoB4I,EAAEmB,EAAqB,uBAAwB,WAAa,MAAO+I,IACjG,IAAI9I,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,IAqKpG6J,qCAKC,SAASlU,EAAQoK,EAAqB/J,GAE7C,YAKA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6U,GAAehM,EAAKrB,GAAK,MAAOsN,GAAgBjM,IAAQkM,EAAsBlM,EAAKrB,IAAMwN,EAA4BnM,EAAKrB,IAAMyN,IAEzI,QAASA,KAAqB,KAAM,IAAIrF,WAAU,6IAElD,QAASoF,GAA4BnL,EAAGqL,GAAU,GAAKrL,EAAL,CAAgB,GAAiB,gBAANA,GAAgB,MAAOsL,GAAkBtL,EAAGqL,EAAS,IAAI1K,GAAIzG,OAAOoE,UAAUrB,SAAS3F,KAAK0I,GAAGiG,MAAM,KAAqE,OAAnD,WAANtF,GAAkBX,EAAEN,cAAaiB,EAAIX,EAAEN,YAAY3K,MAAgB,QAAN4L,GAAqB,QAANA,EAAoB7B,MAAMyM,KAAKvL,GAAc,cAANW,GAAqB,2CAA2CsG,KAAKtG,GAAW2K,EAAkBtL,EAAGqL,GAAzG,QAE7S,QAASC,GAAkBtM,EAAKpB,IAAkB,MAAPA,GAAeA,EAAMoB,EAAIhD,UAAQ4B,EAAMoB,EAAIhD,OAAQ,KAAK,GAAI2B,GAAI,EAAG6N,EAAO,GAAI1M,OAAMlB,GAAMD,EAAIC,EAAKD,IAAO6N,EAAK7N,GAAKqB,EAAIrB,EAAM,OAAO6N,GAEhL,QAASN,GAAsBlM,EAAKrB,GAAK,GAAI8N,GAAY,MAAPzM,EAAc,KAAyB,mBAAXQ,SAA0BR,EAAIQ,OAAOC,WAAaT,EAAI,aAAe,IAAU,MAANyM,EAAJ,CAAwB,GAAkDC,GAAIC,EAAlDC,KAAeC,GAAK,EAAUC,GAAK,CAAmB,KAAM,IAAKL,EAAKA,EAAGnU,KAAK0H,KAAQ6M,GAAMH,EAAKD,EAAGM,QAAQC,QAAoBJ,EAAK1M,KAAKwM,EAAG9P,QAAY+B,GAAKiO,EAAK5P,SAAW2B,GAA3DkO,GAAK,IAAoE,MAAOhH,GAAOiH,GAAK,EAAMH,EAAK9G,EAApK,QAAqL,IAAWgH,GAAsB,MAAhBJ,EAAG,WAAmBA,EAAG,YAA1C,QAAmE,GAAIK,EAAI,KAAMH,IAAQ,MAAOC,IAE1f,QAASX,GAAgBjM,GAAO,GAAIF,MAAMmN,QAAQjN,GAAM,MAAOA,GAoS/D,QAASkN,GAAmB3J,GAC1B,GAAI4J,KAEJ,OAAmB,gBAAR5J,GACF4J,GAGT5J,EAAMA,EAAIF,OAAO4D,MAAM,OAMvBkG,EAAc5J,EAAI+C,MAAM,KAAK8G,OAAO,SAAUC,EAAKC,GACjD,GAAIC,GAAQD,EAAMpP,QAAQ,MAAO,KAAKoI,MAAM,KACxC7E,EAAM8L,EAAM,GACZC,EAAMD,EAAM,EAchB,OAbA9L,GAAMgM,mBAAmBhM,GAGzB+L,EAAqB,mBAARA,GAAsB,KAAOC,mBAAmBD,GAExDH,EAAIvL,eAAeL,GAEb3B,MAAMmN,QAAQI,EAAI5L,IAC3B4L,EAAI5L,GAAKvB,KAAKsN,GAEdH,EAAI5L,IAAQ4L,EAAI5L,GAAM+L,GAJtBH,EAAI5L,GAAO+L,EAONH,OApBAF,EA9TXjV,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOyL,IACvF,IAAIxL,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,EAgC1G/L,QAAOwX,aAAexX,OAAOwX,WAAa,WAGxC,GAAIC,GAAazX,OAAOyX,YAAczX,OAAO0X,KAE7C,KAAKD,EAAY,CACf,GAAInD,GAAQrT,SAASoH,cAAc,SAC/BsP,EAAS1W,SAAS2W,qBAAqB,UAAU,GACjDC,EAAO,IACXvD,GAAM5N,KAAO,WACb4N,EAAMjU,GAAK,oBAENsX,EAGHA,EAAOlO,WAAWqO,aAAaxD,EAAOqD,GAFtC1W,SAAS8W,KAAKC,YAAY1D,GAM5BuD,EAAO,oBAAsB7X,SAAUA,OAAOiY,iBAAiB3D,EAAO,OAASA,EAAM4D,aACrFT,GACEU,YAAa,SAAqBT,GAChC,GAAIU,GAAO,UAAYV,EAAQ,wCAS/B,OAPIpD,GAAM+D,WACR/D,EAAM+D,WAAWC,QAAUF,EAE3B9D,EAAMiE,YAAcH,EAIA,QAAfP,EAAKW,QAKlB,MAAO,UAAUd,GACf,OACEtO,QAASqO,EAAWU,YAAYT,GAAS,OACzCA,MAAOA,GAAS,WAMtB,IAAIH,IACFkB,WACA/X,QAAS,GAOTwO,MAAO,WAEL,GAAIrN,KAAK6W,iBAAkB,EACzB,MAAO7W,KAEPA,MAAK6W,eAAgB,CAGvB,IAAIC,GAAO9W,KACP+W,EAAQ5M,IAA8C,qBAErD4M,GAAM/R,QACTmF,IAA8C,6DAA6D6M,SAAS5X,SAAS8W,KAG/H,IACIe,GADAC,EAAkB/M,IAA8C,kBAAkBgN,IAAI,cAE1FF,GAAe/B,EAAmBgC,GAClCJ,EAAKF,UAEL,KAAK,GAAInN,KAAOwN,GACVA,EAAanN,eAAeL,IAC9BqN,EAAKF,QAAQ1O,MACXnK,KAAM0L,EACN7E,MAAO,+BAA+B8H,OAAOuK,EAAaxN,GAAM,MAKtEzJ,MAAKnB,QAAUmB,KAAKoX,kBAEpBpX,KAAKqX,YASPC,QAAS,WACPtX,KAAK6W,eAAgB,EAErB7W,KAAKqN,SASPkK,QAAS,SAAiBC,GACxB,GAAIC,GAAQzX,KAAKoD,IAAIoU,EAErB,SAAIC,GACKtZ,OAAOwX,WAAW8B,GAAOlQ,SAapCmQ,KAAM,SAAcF,GAClB,MAAOA,KAASxX,KAAKoX,mBASvBO,KAAM,SAAcH,GAClB,GAAII,GAAW5X,KAAK+U,KAAKyC,EAGzB,QAAII,IACM5X,KAAKuX,QAAQK,IAczBC,GAAI,SAAYL,GACd,GAAIjC,GAAQiC,EAAKnM,OAAOiD,MAAM,KAAKF,OAAO,SAAU3N,GAClD,QAASA,EAAEuE,SAGT8S,EAAS9D,EAAeuB,EAAO,GAC/BwC,EAASD,EAAO,GAChBE,EAAUF,EAAO,GACjBG,EAAyB,SAAZD,EAAqB,GAAKA,CAG3C,IAAmB,SAAfC,EACF,MAAOjY,MAAK0X,KAAKK,EAInB,KAAKE,GAA6B,OAAfA,EACjB,MAAOjY,MAAKuX,QAAQQ,EAItB,IAAmB,SAAfE,EACF,MAAOjY,MAAK2X,KAAKI,EAGnB,MAAM,IAAIG,OAAM,oIAAuIxL,OAAO8K,EAAM,cAStKpU,IAAK,SAAaoU,GAChB,IAAK,GAAI7Q,KAAK3G,MAAK4W,QACjB,GAAI5W,KAAK4W,QAAQ9M,eAAenD,GAAI,CAClC,GAAI8Q,GAAQzX,KAAK4W,QAAQjQ,EACzB,IAAI6Q,IAASC,EAAM1Z,KAAM,MAAO0Z,GAAM7S,MAI1C,MAAO,OASTmQ,KAAM,SAAcyC,GAClB,GAAIlK,GAAQtN,KAERmY,EAAanY,KAAK4W,QAAQwB,UAAU,SAAUC,GAChD,MAAO/K,GAAMgL,cAAcD,KAAOb,GAGpC,IAAIW,OACF,KAAM,IAAID,OAAM,iCAAkCxL,OAAO8K,EAAM,6GAGjE,IAAIe,GAAYvY,KAAK4W,QAAQuB,EAAa,EAC1C,OAAOI,GAAYA,EAAUxa,KAAO,MAUtCua,cAAe,SAAuB1T,GACpC,GAAqB,gBAAVA,GAAoB,MAAOA,EACtC,IAAuB,WAAnBqG,EAAQrG,GAAqB,MAAOA,GAAM7G,IAC9C,MAAM,IAAIgR,WAAU,+IAAgJrC,OAAO9H,EAAO,OAAQ8H,OAAOzB,EAAQrG,GAAQ,aASnNwS,gBAAiB,WAGf,IAAK,GAFDoB,GAEK7R,EAAI,EAAGA,EAAI3G,KAAK4W,QAAQ5R,OAAQ2B,IAAK,CAC5C,GAAI8Q,GAAQzX,KAAK4W,QAAQjQ,EAErBxI,QAAOwX,WAAW8B,EAAM7S,OAAO2C,UACjCiR,EAAUf,GAId,MAAOe,IAAWxY,KAAKsY,cAAcE,IAQvCnB,SAAU,WACR,GAAIoB,GAASzY,IAEbmK,KAA8ChM,QAAQua,GAAG,oBAAqB,WAC5E,GAAIC,GAAUF,EAAOrB,kBACjBwB,EAAcH,EAAO5Z,OAErB8Z,KAAYC,IAEdH,EAAO5Z,QAAU8Z,EAEjBxO,IAA8ChM,QAAQyO,QAAQ,yBAA0B+L,EAASC,UA6CnGC,EAKC,SAAShZ,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAA+G,4CAK1H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MD1XJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KE5xBhP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,sBACR,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,qBAAsBH,GACJ,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,uBAAyBD,EAAQgJ,QAAQ,uBAEjDjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,uBAAyBC,EAAQD,EAAA,wBAAgC,sBACzKvB,OAAQ,SAAS4a,GACpB,MAAiB,UAAS9Y,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXE,8CAKC,SAASpZ,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIC,GAAoDjZ,EAAqD,8BACpGA,GAAoB4I,EAAEmB,EAAqB,MAAO,WAAa,MAAOkP,GAAA,MAIpGD,EAAA,WAA4DE,IAAMD,EAAA,KAK5DE,8BAKC,SAASxZ,EAAQoK,EAAqB/J,GAE7C,YAoBA,SAASoZ,GAAiB3Y,EAAS4Y,EAAQC,EAAQC,EAAQC,GACzD,MAAsE,KAA/DC,EAAYhZ,EAAS4Y,EAAQC,EAAQC,EAAQC,GAGtD,QAASC,GAAYhZ,EAAS4Y,EAAQC,EAAQC,EAAQC,GACpD,GACIE,GACAC,EACAC,EACAC,EAJAC,EAAUC,EAActZ,EAM5B,IAAI4Y,EAAQ,CACV,GAAIW,GAAUD,EAAcV,EAC5BM,GAAaK,EAAQC,OAASD,EAAQE,OAAOC,KAAOL,EAAQI,OAAOC,IAAML,EAAQG,QACjFP,EAAUI,EAAQI,OAAOC,IAAMH,EAAQE,OAAOC,IAC9CP,EAAWE,EAAQI,OAAOE,KAAOJ,EAAQE,OAAOE,KAChDP,EAAYG,EAAQvD,MAAQuD,EAAQE,OAAOE,MAAQN,EAAQI,OAAOE,KAAON,EAAQrD,WAEjFkD,GAAaG,EAAQO,WAAWJ,OAASH,EAAQO,WAAWH,OAAOC,KAAOL,EAAQI,OAAOC,IAAML,EAAQG,QACvGP,EAAUI,EAAQI,OAAOC,IAAML,EAAQO,WAAWH,OAAOC,IACzDP,EAAWE,EAAQI,OAAOE,KAAON,EAAQO,WAAWH,OAAOE,KAC3DP,EAAYC,EAAQO,WAAW5D,OAASqD,EAAQI,OAAOE,KAAON,EAAQrD,MAQxE,OALAkD,GAAaH,EAAe,EAAI1a,KAAKwb,IAAIX,EAAY,GACrDD,EAAU5a,KAAKwb,IAAIZ,EAAS,GAC5BE,EAAW9a,KAAKwb,IAAIV,EAAU,GAC9BC,EAAY/a,KAAKwb,IAAIT,EAAW,GAE5BP,EACKM,EAAWC,EAGhBN,EACKG,EAAUC,EAIZ7a,KAAKyb,KAAKb,EAAUA,EAAUC,EAAaA,EAAaC,EAAWA,EAAWC,EAAYA,GAWnG,QAASE,GAAc/S,GAGrB,GAFAA,EAAOA,EAAKlC,OAASkC,EAAK,GAAKA,EAE3BA,IAAS/I,QAAU+I,IAAS9H,SAC9B,KAAM,IAAI8Y,OAAM,+CAGlB,IAAIwC,GAAOxT,EAAKyT,wBACZC,EAAU1T,EAAKU,WAAW+S,wBAC1BE,EAAUzb,SAASiF,KAAKsW,wBACxBG,EAAO3c,OAAO4c,YACdC,EAAO7c,OAAO8c,WAClB,QACEtE,MAAO+D,EAAK/D,MACZwD,OAAQO,EAAKP,OACbC,QACEC,IAAKK,EAAKL,IAAMS,EAChBR,KAAMI,EAAKJ,KAAOU,GAEpBE,YACEvE,MAAOiE,EAAQjE,MACfwD,OAAQS,EAAQT,OAChBC,QACEC,IAAKO,EAAQP,IAAMS,EACnBR,KAAMM,EAAQN,KAAOU,IAGzBT,YACE5D,MAAOkE,EAAQlE,MACfwD,OAAQU,EAAQV,OAChBC,QACEC,IAAKS,EACLR,KAAMU,KAqBd,QAASG,GAAmBxa,EAASya,EAAQjT,EAAUkT,EAAWC,EAASC,EAASC,GAClF,GAEIC,GAAQC,EAFRC,EAAW1B,EAActZ,GACzBib,EAAcR,EAASnB,EAAcmB,GAAU,IAGnD,IAAoB,OAAhBQ,EAAsB,CAExB,OAAQzT,GACN,IAAK,MACHsT,EAASG,EAAYxB,OAAOC,KAAOsB,EAASxB,OAASmB,EACrD,MAEF,KAAK,SACHG,EAASG,EAAYxB,OAAOC,IAAMuB,EAAYzB,OAASmB,CACvD,MAEF,KAAK,OACHI,EAAUE,EAAYxB,OAAOE,MAAQqB,EAAShF,MAAQ4E,EACtD,MAEF,KAAK,QACHG,EAAUE,EAAYxB,OAAOE,KAAOsB,EAAYjF,MAAQ4E,EAK5D,OAAQpT,GACN,IAAK,MACL,IAAK,SACH,OAAQkT,GACN,IAAK,OACHK,EAAUE,EAAYxB,OAAOE,KAAOiB,CACpC,MAEF,KAAK,QACHG,EAAUE,EAAYxB,OAAOE,KAAOqB,EAAShF,MAAQiF,EAAYjF,MAAQ4E,CACzE,MAEF,KAAK,SACHG,EAAUF,EAAaD,EAAUK,EAAYxB,OAAOE,KAAOsB,EAAYjF,MAAQ,EAAIgF,EAAShF,MAAQ,EAAI4E,EAI5G,KAEF,KAAK,QACL,IAAK,OACH,OAAQF,GACN,IAAK,SACHI,EAASG,EAAYxB,OAAOC,IAAMiB,EAAUM,EAAYzB,OAASwB,EAASxB,MAC1E,MAEF,KAAK,MACHsB,EAASG,EAAYxB,OAAOC,IAAMiB,CAClC,MAEF,KAAK,SACHG,EAASG,EAAYxB,OAAOC,IAAMiB,EAAUM,EAAYzB,OAAS,EAAIwB,EAASxB,OAAS,IAQjG,OACEE,IAAKoB,EACLnB,KAAMoB,GA5LVxb,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,MAAO,WAAa,MAAOmP,IACrG,IAAIA,IACFE,iBAAkBA,EAClBK,YAAaA,EACbM,cAAeA,EACfkB,mBAAoBA,IA8LhBU,GAKC,SAAShc,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAmH,mDFkgBvH,IAAI+K,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KGz1B/O,SAASiK,EAAE9F,GAAG,WAAA,mBAAiB1D,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQ0D,EAAEqF,QAAQ,sBAAsB,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,qBAAqBwD,GAAG,WAAA,mBAAiB1D,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,uBAAuB0D,EAAEqF,QAAQ,uBAAuBS,EAAE0S,wBAAwB1S,EAAE0S,4BAA4B1S,EAAE0S,wBAAwB,uBAAuBxY,EAAE8F,EAAE0S,wBAAwB,sBAAsB3d,OAAO,SAAS6K,GAAk9F,QAASrC,GAAEyC,GAAG,GAAG2S,EAAE3S,GAAG,MAAO2S,GAAE3S,GAAGxJ,OAAQ,IAAI0D,GAAEyY,EAAE3S,IAAIzC,EAAEyC,EAAEP,GAAE,EAAGjJ,WAAY,OAAO+J,GAAEP,GAAG9I,KAAKgD,EAAE1D,QAAQ0D,EAAEA,EAAE1D,QAAQ+G,GAAGrD,EAAEuF,GAAE,EAAGvF,EAAE1D,QAA7kG,MAAO+J,IAAGqP,oBAAoB,SAAS5P,EAAE9F,GAAG8F,EAAExJ,QAAQoJ,GAAGiQ,8CAA8C,SAAS7P,EAAE9F,EAAE0F,GAAG,YAAaA,GAAEE,EAAE5F,EAAG,IAAIqG,GAAEX,EAAE,oBAAqBA,GAAEF,EAAExF,EAAE,aAAa,WAAW,MAAOqG,GAAEoB,YAAa,IAAIpE,GAAEqC,EAAE,8BAA+BA,GAAEF,EAAExF,EAAE,MAAM,WAAW,MAAOqD,GAAEyS,MAAMzP,EAAEoB,WAAWqO,IAAIzS,EAAEyS,KAAKC,8BAA8B,SAASjQ,EAAE9F,EAAE0F,GAAG,YAAwyB,SAAS+S,GAAE3S,EAAE9F,EAAE0F,EAAEW,EAAEhD,GAAG,GAAIoV,GAAE7S,EAAEa,EAAEX,EAAE5I,EAAE4I,EAAG,OAAOA,GAAE9F,GAAGyY,GAAGzY,EAAE9C,EAAE8C,IAAI6W,OAAO7W,EAAE8W,OAAOC,KAAKjR,EAAEgR,OAAOC,IAAIjR,EAAE+Q,QAAQjR,EAAEE,EAAEgR,OAAOC,IAAI/W,EAAE8W,OAAOC,IAAItQ,EAAEX,EAAEgR,OAAOE,KAAKhX,EAAE8W,OAAOE,KAAKhX,EAAEqT,MAAMrT,EAAE8W,OAAOE,MAAMlR,EAAEgR,OAAOE,KAAKlR,EAAEuN,SAASoF,EAAE3S,EAAEmR,WAAWJ,OAAO/Q,EAAEmR,WAAWH,OAAOC,KAAKjR,EAAEgR,OAAOC,IAAIjR,EAAE+Q,QAAQjR,EAAEE,EAAEgR,OAAOC,IAAIjR,EAAEmR,WAAWH,OAAOC,IAAItQ,EAAEX,EAAEgR,OAAOE,KAAKlR,EAAEmR,WAAWH,OAAOE,KAAKlR,EAAEmR,WAAW5D,OAAOvN,EAAEgR,OAAOE,KAAKlR,EAAEuN,QAAQoF,EAAEpV,EAAE,EAAE3H,KAAKwb,IAAIuB,EAAE,GAAG7S,EAAElK,KAAKwb,IAAItR,EAAE,GAAGa,EAAE/K,KAAKwb,IAAIzQ,EAAE,GAAGX,EAAEpK,KAAKwb,IAAIpR,EAAE,GAAGJ,EAAEe,EAAEX,EAAEO,EAAET,EAAE6S,EAAE/c,KAAKyb,KAAKvR,EAAEA,EAAE6S,EAAEA,EAAEhS,EAAEA,EAAEX,EAAEA,GAAG,QAAS5I,GAAE4I,GAAG,IAAIA,EAAEA,EAAEpE,OAAOoE,EAAE,GAAGA,KAAKjL,QAAQiL,IAAIhK,SAAS,KAAM,IAAI8Y,OAAM,+CAAgD,IAAI5U,GAAE8F,EAAEuR,wBAAwB3R,EAAEI,EAAExB,WAAW+S,wBAAwBhR,EAAEvK,SAASiF,KAAKsW,wBAAwBhU,EAAExI,OAAO4c,YAAY3R,EAAEjL,OAAO8c,WAAY,QAAOtE,MAAMrT,EAAEqT,MAAMwD,OAAO7W,EAAE6W,OAAOC,QAAQC,IAAI/W,EAAE+W,IAAI1T,EAAE2T,KAAKhX,EAAEgX,KAAKlR,GAAG8R,YAAYvE,MAAM3N,EAAE2N,MAAMwD,OAAOnR,EAAEmR,OAAOC,QAAQC,IAAIrR,EAAEqR,IAAI1T,EAAE2T,KAAKtR,EAAEsR,KAAKlR,IAAImR,YAAY5D,MAAMhN,EAAEgN,MAAMwD,OAAOxQ,EAAEwQ,OAAOC,QAAQC,IAAI1T,EAAE2T,KAAKlR,KAApwDJ,EAAEE,EAAE5F,GAAG0F,EAAEF,EAAExF,EAAE,MAAM,WAAW,MAAOqG,IAAI,IAAIA,IAAG2P,iBAAiB,SAASlQ,EAAE9F,EAAE0F,EAAEW,EAAEhD,GAAG,MAAO,KAAIoV,EAAE3S,EAAE9F,EAAE0F,EAAEW,EAAEhD,IAAIgT,YAAYoC,EAAE9B,cAAczZ,EAAE2a,mBAAmB,SAAS/R,EAAE9F,EAAE0F,EAAEW,EAAEhD,EAAEoV,EAAE7S,GAAG,GAAIa,GAAEiS,EAAExR,EAAEhK,EAAE4I,GAAGN,EAAExF,EAAE9C,EAAE8C,GAAG,IAAK,IAAG,OAAOwF,EAAE,CAAC,OAAOE,GAAG,IAAI,MAAMe,EAAEjB,EAAEsR,OAAOC,KAAK7P,EAAE2P,OAAOxT,EAAG,MAAM,KAAI,SAASoD,EAAEjB,EAAEsR,OAAOC,IAAIvR,EAAEqR,OAAOxT,CAAE,MAAM,KAAI,OAAOqV,EAAElT,EAAEsR,OAAOE,MAAM9P,EAAEmM,MAAMoF,EAAG,MAAM,KAAI,QAAQC,EAAElT,EAAEsR,OAAOE,KAAKxR,EAAE6N,MAAMoF,EAAE,OAAO/S,GAAG,IAAI,MAAM,IAAI,SAAS,OAAOW,GAAG,IAAI,OAAOqS,EAAElT,EAAEsR,OAAOE,KAAKyB,CAAE,MAAM,KAAI,QAAQC,EAAElT,EAAEsR,OAAOE,KAAK9P,EAAEmM,MAAM7N,EAAE6N,MAAMoF,CAAE,MAAM,KAAI,SAASC,EAAE9S,EAAE6S,EAAEjT,EAAEsR,OAAOE,KAAKxR,EAAE6N,MAAM,EAAEnM,EAAEmM,MAAM,EAAEoF,EAAE,KAAM,KAAI,QAAQ,IAAI,OAAO,OAAOpS,GAAG,IAAI,SAASI,EAAEjB,EAAEsR,OAAOC,IAAI1T,EAAEmC,EAAEqR,OAAO3P,EAAE2P,MAAO,MAAM,KAAI,MAAMpQ,EAAEjB,EAAEsR,OAAOC,IAAI1T,CAAE,MAAM,KAAI,SAASoD,EAAEjB,EAAEsR,OAAOC,IAAI1T,EAAEmC,EAAEqR,OAAO,EAAE3P,EAAE2P,OAAO,IAAI,OAAOE,IAAItQ,EAAEuQ,KAAK0B,MAAq/BH,GAAG,SAASzS,EAAE9F,EAAE0F,GAAGI,EAAExJ,QAAQoJ,EAAE,iDAAiD+S,KAAKpV,EAAEpG,EAAEoJ,EAAEhD,EAAEnG,EAAEub,EAAEpV,EAAEmC,EAAE,SAASM,EAAE9F,EAAE0F,GAAGrC,EAAEqC,EAAEI,EAAE9F,IAAIJ,OAAOC,eAAeiG,EAAE9F,GAAG2F,YAAW,EAAG7F,IAAI4F,KAAKrC,EAAEuC,EAAE,SAASE,GAAG,mBAAoBZ,SAAQA,OAAOW,aAAajG,OAAOC,eAAeiG,EAAEZ,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeiG,EAAE,cAAcxE,OAAM,KAAM+B,EAAEyC,EAAE,SAAS9F,EAAE8F,GAAG,GAAG,EAAEA,IAAI9F,EAAEqD,EAAErD,IAAI,EAAE8F,EAAE,MAAO9F,EAAE,IAAG,EAAE8F,GAAG,WAAA,mBAAiB9F,GAAjB,YAAA2H,QAAiB3H,KAAGA,GAAGA,EAAEgG,WAAW,MAAOhG,EAAE,IAAI0F,GAAE9F,OAAOsG,OAAO,KAAM,IAAG7C,EAAEuC,EAAEF,GAAG9F,OAAOC,eAAe6F,EAAE,WAAWC,YAAW,EAAGrE,MAAMtB,IAAI,EAAE8F,GAAG,gBAAiB9F,GAAE,IAAI,GAAIqG,KAAKrG,GAAEqD,EAAEmC,EAAEE,EAAEW,EAAE,SAASP,GAAG,MAAO9F,GAAE8F,IAAIM,KAAK,KAAKC,GAAI,OAAOX,IAAGrC,EAAEgD,EAAE,SAASP,GAAG,GAAI9F,GAAE8F,GAAGA,EAAEE,WAAW,WAAW,MAAOF,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAOzC,GAAEmC,EAAExF,EAAE,IAAIA,GAAGA,GAAGqD,EAAEqC,EAAE,SAASI,EAAE9F,GAAG,MAAOJ,QAAOoE,UAAUwC,eAAexJ,KAAK8I,EAAE9F,IAAIqD,EAAElG,EAAE,GAAGkG,EAAEA,EAAEoD,EAAE,GAA0I,IAAIJ,GAAEoS,GH01B3gH,IAAI9Q,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KI11BhP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,+BAAiCD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAEvFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,+BAAiCC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UACrMvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXkD,sDAKC,SAASpc,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIgD,GAA4Dhc,EAA6D,sCACpHA,GAAoB4I,EAAEmB,EAAqB,iBAAkB,WAAa,MAAOiS,GAAA,iBAI/GhD,EAAA,WAA4DiD,eAAiBD,EAAA,gBAKvEE,sCAKC,SAASvc,EAAQoK,EAAqB/J,GAE7C,YAYA,SAASic,GAAeE,EAAQhM,GAyB9B,QAASiM,KACPC,IAEiB,IAAbA,GACFlM,IA5BJ,GAAIkM,GAAWF,EAAOrX,MAEL,KAAbuX,GACFlM,IAGFgM,EAAOjP,KAAK,WAEV,GAAIpN,KAAKwc,UAAyC,mBAAtBxc,MAAKyc,aAC/BH,QACK,CAEL,GAAII,GAAQ,GAAIC,OAEZC,EAAS,gCACbzS,KAA8CuS,GAAO3J,IAAI6J,EAAQ,QAASC,KAExE1S,IAA8CnK,MAAM8c,IAAIF,EAAQC,GAChEP,MAEFI,EAAMK,IAAM5S,IAA8CnK,MAAMyM,KAAK,UAhC3EvM,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,iBAAkB,WAAa,MAAOkS,IAC3F,IAAIjS,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,IA8CpG8S,GAKC,SAASnd,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAA2H,wDAKtI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MJkrBJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KKl4B/O,SAASmE,EAAEqG,GAAG,WAAA,mBAAiB/J,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQ+J,EAAEhB,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAU6J,GAAG,WAAA,mBAAiB/J,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,+BAA+B+J,EAAEhB,QAAQ,qBAAqBA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,+BAA+BnS,EAAErG,EAAEwY,wBAAwB,mBAAmBxY,EAAE2Z,UAAU9e,OAAO,SAAS6K,EAAEI,GAAopD,QAASF,GAAE5F,GAAG,GAAGqD,EAAErD,GAAG,MAAOqD,GAAErD,GAAG1D,OAAQ,IAAI+J,GAAEhD,EAAErD,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAOoc,GAAE1Y,GAAGhD,KAAKqJ,EAAE/J,QAAQ+J,EAAEA,EAAE/J,QAAQsJ,GAAGS,EAAEd,GAAE,EAAGc,EAAE/J,QAA/wD,MAAOoc,IAAGhD,oBAAoB,SAAS1V,EAAEqG,GAAGrG,EAAE1D,QAAQoJ,GAAGiT,sDAAsD,SAAS3Y,EAAEqG,EAAEX,GAAG,YAAaA,GAAEE,EAAES,EAAG,IAAIP,GAAEJ,EAAE,oBAAqBA,GAAEF,EAAEa,EAAE,aAAa,WAAW,MAAOP,GAAE2B,YAAa,IAAI7B,GAAEF,EAAE;AAAuCA,EAAEF,EAAEa,EAAE,iBAAiB,WAAW,MAAOT,GAAEiT,iBAAiB/S,EAAE2B,WAAWoR,eAAejT,EAAEiT,gBAAgBC,sCAAsC,SAAS9Y,EAAEqG,EAAEX,GAAG,YAA4F,SAASI,GAAE9F,EAAEqG,GAAkB,QAASP,KAAI,MAAMJ,GAAGW,IAArC,GAAIX,GAAE1F,EAAE0B,MAAiC,KAAIgE,GAAGW,IAAIrG,EAAE8J,KAAK,WAAW,GAAI9J,GAAEqG,CAAE3J,MAAKwc,UAAU,SAASxc,KAAKyc,aAAarT,KAAK9F,EAAE,GAAIqZ,OAAMhT,EAAE,iCAAiCT,IAAI5F,GAAGyP,IAAIpJ,EAAE,QAASrG,KAAI4F,IAAIlJ,MAAM8c,IAAInT,EAAErG,GAAG8F,MAAM9F,EAAEyZ,IAAI7T,IAAIlJ,MAAMyM,KAAK,UAAnVzD,EAAEE,EAAES,GAAGX,EAAEF,EAAEa,EAAE,iBAAiB,WAAW,MAAOP,IAAI,IAAIO,GAAEX,EAAE,UAAUE,EAAEF,EAAEW,EAAEA,IAAmRqT,GAAG,SAAS1Z,EAAEqG,EAAEX,GAAG1F,EAAE1D,QAAQoJ,EAAE,wDAAwD8P,OAAO,SAASxV,EAAEqG,GAAGrG,EAAE1D,QAAQwJ,IAAIzC,KAAKuC,EAAE3I,EAAEyb,EAAE9S,EAAE1I,EAAEmG,EAAEuC,EAAEJ,EAAE,SAASxF,EAAEqG,EAAEX,GAAGE,EAAEF,EAAE1F,EAAEqG,IAAIzG,OAAOC,eAAeG,EAAEqG,GAAGV,YAAW,EAAG7F,IAAI4F,KAAKE,EAAEA,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAMsE,EAAEE,EAAE,SAASO,EAAErG,GAAG,GAAG,EAAEA,IAAIqG,EAAET,EAAES,IAAI,EAAErG,EAAE,MAAOqG,EAAE,IAAG,EAAErG,GAAG,WAAA,mBAAiBqG,GAAjB,YAAAsB,QAAiBtB,KAAGA,GAAGA,EAAEL,WAAW,MAAOK,EAAE,IAAIX,GAAE9F,OAAOsG,OAAO,KAAM,IAAGN,EAAEA,EAAEF,GAAG9F,OAAOC,eAAe6F,EAAE,WAAWC,YAAW,EAAGrE,MAAM+E,IAAI,EAAErG,GAAG,gBAAiBqG,GAAE,IAAI,GAAIP,KAAKO,GAAET,EAAEJ,EAAEE,EAAEI,EAAE,SAAS9F,GAAG,MAAOqG,GAAErG,IAAIoG,KAAK,KAAKN,GAAI,OAAOJ,IAAGE,EAAES,EAAE,SAASrG,GAAG,GAAIqG,GAAErG,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAO4F,GAAEJ,EAAEa,EAAE,IAAIA,GAAGA,GAAGT,EAAEF,EAAE,SAAS1F,EAAEqG,GAAG,MAAOzG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAEqG,IAAIT,EAAEzI,EAAE,GAAGyI,EAAEA,EAAEa,EAAE,GAA0I,IAAIiS,GAAErV,GLm4BrxE,IAAIsE,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KMn4BhP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,4BAA8BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAEpFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,4BAA8BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UAClMvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXmE,mDAKC,SAASrd,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIiE,GAAyDjd,EAA0D,mCAC9GA,GAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOkT,GAAA,WAIzGjE,EAAA,WAA4DkE,SAAWD,EAAA,UAKjEE,mCAKC,SAASxd,EAAQoK,EAAqB/J,GAE7C,YA8BA,SAASod,GAAc9Q,GACrB,QAAKA,GAIEA,EAAS0B,KAAK,gLAAgLE,OAAO,WAC1M,SAAKjE,IAA8CnK,MAAM6X,GAAG,aAAe1N,IAA8CnK,MAAMyM,KAAK,YAAc,KAMjJ8Q,KAAK,SAAU/S,EAAGgT,GACnB,GAAIrT,IAA8CK,GAAGiC,KAAK,cAAgBtC,IAA8CqT,GAAG/Q,KAAK,YAC9H,MAAO,EAGT,IAAIgR,GAAYC,SAASvT,IAA8CK,GAAGiC,KAAK,YAAa,IACxFkR,EAAYD,SAASvT,IAA8CqT,GAAG/Q,KAAK,YAAa,GAE5F,OAAiF,mBAAtEtC,KAA8CK,GAAGiC,KAAK,aAA+BkR,EAAY,EACnG,EAGwE,mBAAtExT,KAA8CqT,GAAG/Q,KAAK,aAA+BgR,EAAY,KAI1F,IAAdA,GAAmBE,EAAY,EAC1B,EAGS,IAAdA,GAAmBF,EAAY,KAI/BA,EAAYE,KAIZF,EAAYE,EACP,EADT,SAMJ,QAASC,GAASnZ,GAChB,GAAIgF,GAAMoU,EAASpZ,EAAME,OAASF,EAAMqZ,UAAYC,OAAOC,aAAavZ,EAAME,OAAOsZ,aAQrF,OANAxU,GAAMA,EAAIvD,QAAQ,MAAO,IACrBzB,EAAMyZ,WAAUzU,EAAM,SAASiD,OAAOjD,IACtChF,EAAM0Z,UAAS1U,EAAM,QAAQiD,OAAOjD,IACpChF,EAAM2Z,SAAQ3U,EAAM,OAAOiD,OAAOjD,IAEtCA,EAAMA,EAAIvD,QAAQ,KAAM,IA2G1B,QAASmY,GAAYC,GACnB,GAAIC,KAEJ,KAAK,GAAIC,KAAMF,GACTA,EAAIxU,eAAe0U,KAAKD,EAAED,EAAIE,IAAOF,EAAIE,GAG/C,OAAOD,GArMTre,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOmT,IACrF,IAAIlT,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAW9H2d,GAVgG3d,EAAoByJ,EAAEgC,IAWxH8S,EAAG,MACHC,GAAI,QACJC,GAAI,SACJC,GAAI,QACJC,GAAI,MACJC,GAAI,OACJC,GAAI,aACJC,GAAI,WACJC,GAAI,cACJC,GAAI,eAEFC,KA4DA/B,GACFxP,KAAMyQ,EAAYR,GAQlBD,SAAUA,EAQVwB,UAAW,SAAmB3a,EAAO4a,EAAWC,GAC9C,GAEIC,GACAC,EACA3Y,EAJA4Y,EAAcN,EAASE,GACvBvB,EAAU9d,KAAK4d,SAASnZ,EAI5B,KAAKgb,EAAa,MAAO3R,SAAQ4R,KAAK,yBAEtC,IAAIjb,EAAMkb,kBAAmB,EAY7B,GATEJ,EAD6B,mBAApBE,GAAYG,IACdH,EAGHvc,OAAOyI,EAAA,OAAsExB,EAA4CK,EAAEqV,UAAWJ,EAAYG,IAAKH,EAAY/U,KAAiBP,EAA4CK,EAAEqV,UAAWJ,EAAY/U,IAAK+U,EAAYG,KAGhRJ,EAAUD,EAAKzB,GACfjX,EAAKyY,EAAUE,GAEX3Y,GAAoB,kBAAPA,GAAmB,CAClC,GAAIiZ,GAAcjZ,EAAGwI,OAErB5K,GAAMkb,gBAAiB,GAEnBL,EAAUS,SAAwC,kBAAtBT,GAAUS,UACxCT,EAAUS,QAAQD,QAIhBR,EAAUU,WAA4C,kBAAxBV,GAAUU,YAC1CV,EAAUU,aAUhB1C,cAAeA,EAOf2C,SAAU,SAAkBC,EAAeX,GACzCJ,EAASe,GAAiBX,GAS5BY,UAAW,SAAmB3T,GAC5B,GAAI4T,GAAa9C,EAAc9Q,GAC3B6T,EAAkBD,EAAWE,GAAG,GAChCC,EAAiBH,EAAWE,MAChC9T,GAASkM,GAAG,uBAAwB,SAAUjU,GACxCA,EAAMsB,SAAWwa,EAAe,IAA0B,QAApB3C,EAASnZ,IACjDA,EAAM+b,iBACNH,EAAgBI,SACPhc,EAAMsB,SAAWsa,EAAgB,IAA0B,cAApBzC,EAASnZ,KACzDA,EAAM+b,iBACND,EAAeE,YASrBC,aAAc,SAAsBlU,GAClCA,EAASsQ,IAAI,2BAsBX6D,GAKC,SAAS9gB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAwH,qDAKnI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MNwmBJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KOn9B/O,SAASmE,EAAE8F,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQwJ,EAAET,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAUsJ,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,4BAA4BwJ,EAAET,QAAQ,qBAAqBA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,4BAA4B1S,EAAE9F,EAAEwY,wBAAwB,mBAAmBxY,EAAE2Z,UAAU9e,OAAO,SAASwL,EAAET,GAA0nG,QAASF,GAAE1F,GAAG,GAAG0Y,EAAE1Y,GAAG,MAAO0Y,GAAE1Y,GAAG1D,OAAQ,IAAIwJ,GAAE4S,EAAE1Y,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAO+G,GAAErD,GAAGhD,KAAK8I,EAAExJ,QAAQwJ,EAAEA,EAAExJ,QAAQoJ,GAAGI,EAAEP,GAAE,EAAGO,EAAExJ,QAArvG,MAAO+G,IAAGqS,oBAAoB,SAAS1V,EAAE8F,GAAG9F,EAAE1D,QAAQ+J,GAAGuT,mDAAmD,SAAS5Z,EAAE8F,EAAEO,GAAG,YAAaA,GAAET,EAAEE,EAAG,IAAIF,GAAES,EAAE,oBAAqBA,GAAEb,EAAEM,EAAE,aAAa,WAAW,MAAOF,GAAE6B,YAAa,IAAI/B,GAAEW,EAAE,mCAAoCA,GAAEb,EAAEM,EAAE,WAAW,WAAW,MAAOJ,GAAEoU,WAAWlU,EAAE6B,WAAWqS,SAASpU,EAAEoU,UAAUC,mCAAmC,SAAS/Z,EAAE8F,EAAEO,GAAG,YAAoP,SAASa,GAAElH,GAAG,QAAQA,GAAGA,EAAE4K,KAAK,gLAAgLE,OAAO,WAAW,SAASpF,IAAIhJ,MAAM6X,GAAG,aAAa7O,IAAIhJ,MAAMyM,KAAK,YAAY,KAAK8Q,KAAK,SAASja,EAAE8F,GAAG,GAAGJ,IAAI1F,GAAGmJ,KAAK,cAAczD,IAAII,GAAGqD,KAAK,YAAY,MAAO,EAAE,IAAI9C,GAAE+T,SAAS1U,IAAI1F,GAAGmJ,KAAK,YAAY,IAAIvD,EAAEwU,SAAS1U,IAAII,GAAGqD,KAAK,YAAY,GAAI,OAAO,UAASzD,IAAI1F,GAAGmJ,KAAK,aAAa,EAAEvD,EAAE,EAAE,SAASF,IAAII,GAAGqD,KAAK,aAAa,EAAE9C,KAAK,IAAIA,GAAG,EAAET,EAAE,EAAE,IAAIA,GAAG,EAAES,GAAGA,EAAET,KAAKA,EAAES,EAAE,EAAE,SAAS,QAASb,GAAExF,GAAG,GAAI8F,IAAGA,EAAEF,EAAE5F,EAAEqB,OAAOrB,EAAEwa,UAAUC,OAAOC,aAAa1a,EAAEqB,OAAOsZ,eAAe/X,QAAQ,MAAM,GAAI,OAAO5C,GAAE4a,WAAW9U,EAAE,SAASsD,OAAOtD,IAAI9F,EAAE6a,UAAU/U,EAAE,QAAQsD,OAAOtD,IAAIA,GAAGA,EAAE9F,EAAE8a,OAAO,OAAO1R,OAAOtD,GAAGA,GAAGlD,QAAQ,KAAK,IAA5hCyD,EAAET,EAAEE,GAAGO,EAAEb,EAAEM,EAAE,WAAW,WAAW,MAAO2S,IAAI,IAAI3S,GAAEO,EAAE,UAAUX,EAAEW,EAAEA,EAAEP,GAAGzC,EAAEgD,EAAE,qBAAqBT,GAAGuV,EAAE,MAAMC,GAAG,QAAQC,GAAG,SAASC,GAAG,QAAQC,GAAG,MAAMC,GAAG,OAAOC,GAAG,aAAaC,GAAG,WAAWC,GAAG,cAAcC,GAAG,cAAclD,KAAk0BD,GAAGnO,KAAK,SAAStK,GAAG,GAAI8F,GAAEO,IAAK,KAAIP,IAAK9F,GAAEA,EAAEwG,eAAeV,KAAKO,EAAErG,EAAE8F,IAAI9F,EAAE8F,GAAI,OAAOO,IAAGT,GAAG0U,SAAS9U,EAAEsW,UAAU,SAAS9b,EAAE8F,EAAEO,GAAG,GAAIT,GAAE8S,EAAE5S,GAAGA,EAAEpJ,KAAK4d,SAASta,EAAG,OAAI4F,SAAgD,IAAK5F,EAAEqc,kBAAkBvW,EAAEO,GAAG,SAAST,EAAE0W,IAAI1W,EAAEhG,OAAOyD,EAAE+D,OAAO1B,EAAEwB,EAAEqV,UAAU3W,EAAE0W,IAAI1W,EAAEwB,KAAK1B,EAAEwB,EAAEqV,UAAU3W,EAAEwB,IAAIxB,EAAE0W,MAAMxW,MAAM,kBAAmBA,IAAGA,EAAEA,EAAEiG,QAAQ/L,EAAEqc,gBAAe,GAAIhW,EAAEoW,SAAS,kBAAmBpW,GAAEoW,SAASpW,EAAEoW,QAAQ3W,KAAKO,EAAEqW,WAAW,kBAAmBrW,GAAEqW,WAAWrW,EAAEqW,cAAjUlS,QAAQ4R,KAAK,2BAAkUpC,cAAc9S,EAAEyV,SAAS,SAAS3c,EAAE8F,GAAG4S,EAAE1Y,GAAG8F,GAAG+W,UAAU,SAAS7c,GAAG,GAAI8F,GAAEoB,EAAElH,GAAGqG,EAAEP,EAAEkX,GAAG,GAAGpX,EAAEE,EAAEkX,MAAOhd,GAAEoV,GAAG,uBAAuB,SAASpV,GAAGA,EAAEyC,SAASmD,EAAE,IAAI,QAAQJ,EAAExF,IAAIA,EAAEkd,iBAAiB7W,EAAE8W,SAASnd,EAAEyC,SAAS4D,EAAE,IAAI,cAAcb,EAAExF,KAAKA,EAAEkd,iBAAiBtX,EAAEuX,YAAYC,aAAa,SAASpd,GAAGA,EAAEwZ,IAAI,2BAA2B6D,GAAG,SAASrd,EAAE8F,EAAEO,GAAGrG,EAAE1D,QAAQ+J,EAAE,qDAAqDmP,OAAO,SAASxV,EAAE8F,GAAG9F,EAAE1D,QAAQsJ,IAAI8S,KAAKhT,EAAEzI,EAAEoG,EAAEqC,EAAExI,EAAEwb,EAAEhT,EAAEF,EAAE,SAASxF,EAAE8F,EAAEO,GAAGX,EAAEA,EAAE1F,EAAE8F,IAAIlG,OAAOC,eAAeG,EAAE8F,GAAGH,YAAW,EAAG7F,IAAIuG,KAAKX,EAAEE,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAMoE,EAAEI,EAAE,SAASA,EAAE9F,GAAG,GAAG,EAAEA,IAAI8F,EAAEJ,EAAEI,IAAI,EAAE9F,EAAE,MAAO8F,EAAE,IAAG,EAAE9F,GAAG,WAAA,mBAAiB8F,GAAjB,YAAA6B,QAAiB7B,KAAGA,GAAGA,EAAEE,WAAW,MAAOF,EAAE,IAAIO,GAAEzG,OAAOsG,OAAO,KAAM,IAAGR,EAAEE,EAAES,GAAGzG,OAAOC,eAAewG,EAAE,WAAWV,YAAW,EAAGrE,MAAMwE,IAAI,EAAE9F,GAAG,gBAAiB8F,GAAE,IAAI,GAAIF,KAAKE,GAAEJ,EAAEF,EAAEa,EAAET,EAAE,SAAS5F,GAAG,MAAO8F,GAAE9F,IAAIoG,KAAK,KAAKR,GAAI,OAAOS,IAAGX,EAAEW,EAAE,SAASrG,GAAG,GAAI8F,GAAE9F,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAO0F,GAAEF,EAAEM,EAAE,IAAIA,GAAGA,GAAGJ,EAAEA,EAAE,SAAS1F,EAAE8F,GAAG,MAAOlG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAE8F,IAAIJ,EAAEvI,EAAE,GAAGuI,EAAEA,EAAEe,EAAE,GAA0I,IAAIpD,GAAEqV,GPo9BrvH,IAAIzT,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KQp9BjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,8BAAgCD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAEtFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,8BAAgCC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UACpMvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIX6H,qDAKC,SAAS/gB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI2H,GAA2D3gB,EAA4D,qCAClHA,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAO4W,GAAA,aAI3G3H,EAAA,WAA4DxD,WAAamL,EAAA,WAEzE3H,EAAA,WAA4DxD,WAAWrI,SAMjE0G,qCAKC,SAASlU,EAAQoK,EAAqB/J,GAE7C,YAKA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6U,GAAehM,EAAKrB,GAAK,MAAOsN,GAAgBjM,IAAQkM,EAAsBlM,EAAKrB,IAAMwN,EAA4BnM,EAAKrB,IAAMyN,IAEzI,QAASA,KAAqB,KAAM,IAAIrF,WAAU,6IAElD,QAASoF,GAA4BnL,EAAGqL,GAAU,GAAKrL,EAAL,CAAgB,GAAiB,gBAANA,GAAgB,MAAOsL,GAAkBtL,EAAGqL,EAAS,IAAI1K,GAAIzG,OAAOoE,UAAUrB,SAAS3F,KAAK0I,GAAGiG,MAAM,KAAqE,OAAnD,WAANtF,GAAkBX,EAAEN,cAAaiB,EAAIX,EAAEN,YAAY3K,MAAgB,QAAN4L,GAAqB,QAANA,EAAoB7B,MAAMyM,KAAKvL,GAAc,cAANW,GAAqB,2CAA2CsG,KAAKtG,GAAW2K,EAAkBtL,EAAGqL,GAAzG,QAE7S,QAASC,GAAkBtM,EAAKpB,IAAkB,MAAPA,GAAeA,EAAMoB,EAAIhD,UAAQ4B,EAAMoB,EAAIhD,OAAQ,KAAK,GAAI2B,GAAI,EAAG6N,EAAO,GAAI1M,OAAMlB,GAAMD,EAAIC,EAAKD,IAAO6N,EAAK7N,GAAKqB,EAAIrB,EAAM,OAAO6N,GAEhL,QAASN,GAAsBlM,EAAKrB,GAAK,GAAI8N,GAAY,MAAPzM,EAAc,KAAyB,mBAAXQ,SAA0BR,EAAIQ,OAAOC,WAAaT,EAAI,aAAe,IAAU,MAANyM,EAAJ,CAAwB,GAAkDC,GAAIC,EAAlDC,KAAeC,GAAK,EAAUC,GAAK,CAAmB,KAAM,IAAKL,EAAKA,EAAGnU,KAAK0H,KAAQ6M,GAAMH,EAAKD,EAAGM,QAAQC,QAAoBJ,EAAK1M,KAAKwM,EAAG9P,QAAY+B,GAAKiO,EAAK5P,SAAW2B,GAA3DkO,GAAK,IAAoE,MAAOhH,GAAOiH,GAAK,EAAMH,EAAK9G,EAApK,QAAqL,IAAWgH,GAAsB,MAAhBJ,EAAG,WAAmBA,EAAG,YAA1C,QAAmE,GAAIK,EAAI,KAAMH,IAAQ,MAAOC,IAE1f,QAASX,GAAgBjM,GAAO,GAAIF,MAAMmN,QAAQjN,GAAM,MAAOA,GAoS/D,QAASkN,GAAmB3J,GAC1B,GAAI4J,KAEJ,OAAmB,gBAAR5J,GACF4J,GAGT5J,EAAMA,EAAIF,OAAO4D,MAAM,OAMvBkG,EAAc5J,EAAI+C,MAAM,KAAK8G,OAAO,SAAUC,EAAKC,GACjD,GAAIC,GAAQD,EAAMpP,QAAQ,MAAO,KAAKoI,MAAM,KACxC7E,EAAM8L,EAAM,GACZC,EAAMD,EAAM,EAchB,OAbA9L,GAAMgM,mBAAmBhM,GAGzB+L,EAAqB,mBAARA,GAAsB,KAAOC,mBAAmBD,GAExDH,EAAIvL,eAAeL,GAEb3B,MAAMmN,QAAQI,EAAI5L,IAC3B4L,EAAI5L,GAAKvB,KAAKsN,GAEdH,EAAI5L,IAAQ4L,EAAI5L,GAAM+L,GAJtBH,EAAI5L,GAAO+L,EAONH,OApBAF,EA9TXjV,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOyL,IACvF,IAAIxL,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,EAgC1G/L,QAAOwX,aAAexX,OAAOwX,WAAa,WAGxC,GAAIC,GAAazX,OAAOyX,YAAczX,OAAO0X,KAE7C,KAAKD,EAAY,CACf,GAAInD,GAAQrT,SAASoH,cAAc,SAC/BsP,EAAS1W,SAAS2W,qBAAqB,UAAU,GACjDC,EAAO,IACXvD,GAAM5N,KAAO,WACb4N,EAAMjU,GAAK,oBAENsX,EAGHA,EAAOlO,WAAWqO,aAAaxD,EAAOqD,GAFtC1W,SAAS8W,KAAKC,YAAY1D,GAM5BuD,EAAO,oBAAsB7X,SAAUA,OAAOiY,iBAAiB3D,EAAO,OAASA,EAAM4D,aACrFT,GACEU,YAAa,SAAqBT,GAChC,GAAIU,GAAO,UAAYV,EAAQ,wCAS/B,OAPIpD,GAAM+D,WACR/D,EAAM+D,WAAWC,QAAUF,EAE3B9D,EAAMiE,YAAcH,EAIA,QAAfP,EAAKW,QAKlB,MAAO,UAAUd,GACf,OACEtO,QAASqO,EAAWU,YAAYT,GAAS,OACzCA,MAAOA,GAAS,WAMtB,IAAIH,IACFkB,WACA/X,QAAS,GAOTwO,MAAO,WAEL,GAAIrN,KAAK6W,iBAAkB,EACzB,MAAO7W,KAEPA,MAAK6W,eAAgB,CAGvB,IAAIC,GAAO9W,KACP+W,EAAQ5M,IAA8C,qBAErD4M,GAAM/R,QACTmF,IAA8C,6DAA6D6M,SAAS5X,SAAS8W,KAG/H,IACIe,GADAC,EAAkB/M,IAA8C,kBAAkBgN,IAAI,cAE1FF,GAAe/B,EAAmBgC,GAClCJ,EAAKF,UAEL,KAAK,GAAInN,KAAOwN,GACVA,EAAanN,eAAeL,IAC9BqN,EAAKF,QAAQ1O,MACXnK,KAAM0L,EACN7E,MAAO,+BAA+B8H,OAAOuK,EAAaxN,GAAM,MAKtEzJ,MAAKnB,QAAUmB,KAAKoX,kBAEpBpX,KAAKqX,YASPC,QAAS,WACPtX,KAAK6W,eAAgB,EAErB7W,KAAKqN,SASPkK,QAAS,SAAiBC,GACxB,GAAIC,GAAQzX,KAAKoD,IAAIoU,EAErB,SAAIC,GACKtZ,OAAOwX,WAAW8B,GAAOlQ,SAapCmQ,KAAM,SAAcF,GAClB,MAAOA,KAASxX,KAAKoX,mBASvBO,KAAM,SAAcH,GAClB,GAAII,GAAW5X,KAAK+U,KAAKyC,EAGzB,QAAII,IACM5X,KAAKuX,QAAQK,IAczBC,GAAI,SAAYL,GACd,GAAIjC,GAAQiC,EAAKnM,OAAOiD,MAAM,KAAKF,OAAO,SAAU3N,GAClD,QAASA,EAAEuE,SAGT8S,EAAS9D,EAAeuB,EAAO,GAC/BwC,EAASD,EAAO,GAChBE,EAAUF,EAAO,GACjBG,EAAyB,SAAZD,EAAqB,GAAKA,CAG3C,IAAmB,SAAfC,EACF,MAAOjY,MAAK0X,KAAKK,EAInB,KAAKE,GAA6B,OAAfA,EACjB,MAAOjY,MAAKuX,QAAQQ,EAItB,IAAmB,SAAfE,EACF,MAAOjY,MAAK2X,KAAKI,EAGnB,MAAM,IAAIG,OAAM,oIAAuIxL,OAAO8K,EAAM,cAStKpU,IAAK,SAAaoU,GAChB,IAAK,GAAI7Q,KAAK3G,MAAK4W,QACjB,GAAI5W,KAAK4W,QAAQ9M,eAAenD,GAAI,CAClC,GAAI8Q,GAAQzX,KAAK4W,QAAQjQ,EACzB,IAAI6Q,IAASC,EAAM1Z,KAAM,MAAO0Z,GAAM7S,MAI1C,MAAO,OASTmQ,KAAM,SAAcyC,GAClB,GAAIlK,GAAQtN,KAERmY,EAAanY,KAAK4W,QAAQwB,UAAU,SAAUC,GAChD,MAAO/K,GAAMgL,cAAcD,KAAOb,GAGpC,IAAIW,OACF,KAAM,IAAID,OAAM,iCAAkCxL,OAAO8K,EAAM,6GAGjE,IAAIe,GAAYvY,KAAK4W,QAAQuB,EAAa,EAC1C,OAAOI,GAAYA,EAAUxa,KAAO,MAUtCua,cAAe,SAAuB1T,GACpC,GAAqB,gBAAVA,GAAoB,MAAOA,EACtC,IAAuB,WAAnBqG,EAAQrG,GAAqB,MAAOA,GAAM7G,IAC9C,MAAM,IAAIgR,WAAU,+IAAgJrC,OAAO9H,EAAO,OAAQ8H,OAAOzB,EAAQrG,GAAQ,aASnNwS,gBAAiB,WAGf,IAAK,GAFDoB,GAEK7R,EAAI,EAAGA,EAAI3G,KAAK4W,QAAQ5R,OAAQ2B,IAAK,CAC5C,GAAI8Q,GAAQzX,KAAK4W,QAAQjQ,EAErBxI,QAAOwX,WAAW8B,EAAM7S,OAAO2C,UACjCiR,EAAUf,GAId,MAAOe,IAAWxY,KAAKsY,cAAcE,IAQvCnB,SAAU,WACR,GAAIoB,GAASzY,IAEbmK,KAA8ChM,QAAQua,GAAG,oBAAqB,WAC5E,GAAIC,GAAUF,EAAOrB,kBACjBwB,EAAcH,EAAO5Z,OAErB8Z,KAAYC,IAEdH,EAAO5Z,QAAU8Z,EAEjBxO,IAA8ChM,QAAQyO,QAAQ,yBAA0B+L,EAASC,UA6CnGkI,GAKC,SAASjhB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAA0H,uDAKrI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MRglBJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KS7kC/O,SAASmE,EAAE8F,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQwJ,EAAET,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAUsJ,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,8BAA8BwJ,EAAET,QAAQ,qBAAqBA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,8BAA8B1S,EAAE9F,EAAEwY,wBAAwB,mBAAmBxY,EAAE2Z,UAAU9e,OAAO,SAASwL,EAAET,GAA6jL,QAASvC,GAAErD,GAAG,GAAG0Y,EAAE1Y,GAAG,MAAO0Y,GAAE1Y,GAAG1D,OAAQ,IAAIwJ,GAAE4S,EAAE1Y,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAOoJ,GAAE1F,GAAGhD,KAAK8I,EAAExJ,QAAQwJ,EAAEA,EAAExJ,QAAQ+G,GAAGyC,EAAEP,GAAE,EAAGO,EAAExJ,QAAxrL,MAAOoJ,IAAGgQ,oBAAoB,SAAS1V,EAAE8F,GAAG9F,EAAE1D,QAAQ+J,GAAGiX,qDAAqD,SAAStd,EAAE8F,EAAEO,GAAG,YAAaA,GAAET,EAAEE,EAAG,IAAIF,GAAES,EAAE,oBAAqBA,GAAEb,EAAEM,EAAE,aAAa,WAAW,MAAOF,GAAE6B,YAAa,IAAIpE,GAAEgD,EAAE,qCAAsCA,GAAEb,EAAEM,EAAE,aAAa,WAAW,MAAOzC,GAAE+O,aAAaxM,EAAE6B,WAAW2K,WAAW/O,EAAE+O,WAAWxM,EAAE6B,WAAW2K,WAAWrI,SAAS0G,qCAAqC,SAASzQ,EAAE8F,EAAEO,GAAG,YAA8F,SAASa,GAAElH,GAAG,OAAOkH,EAAE,kBAAmBhC,SAAQ,UAAAyC,QAAiBzC,OAAOC,UAAS,SAASnF,GAAG,MAAA,mBAAcA,GAAd,YAAA2H,QAAc3H,IAAG,SAASA,GAAG,MAAOA,IAAG,kBAAmBkF,SAAQlF,EAAEoF,cAAcF,QAAQlF,IAAIkF,OAAOlB,UAAU,SAA3E,mBAA2FhE,GAA3F,YAAA2H,QAA2F3H,KAAIA,GAAG,QAASyG,GAAEzG,EAAE8F,GAAG,MAAO,UAAS9F,GAAG,GAAGwE,MAAMmN,QAAQ3R,GAAG,MAAOA,IAAGA,IAAI,SAASA,EAAE8F,GAAG,GAAIO,GAAE,MAAMrG,EAAE,KAAK,mBAAoBkF,SAAQlF,EAAEkF,OAAOC,WAAWnF,EAAE,aAAc,IAAG,MAAMqG,EAAE,CAAC,GAAIT,GAAEvC,EAAEqC,KAAKgT,GAAE,EAAGxR,GAAE,CAAG,KAAI,IAAIb,EAAEA,EAAErJ,KAAKgD,KAAK0Y,GAAG9S,EAAES,EAAEoL,QAAQC,QAAQhM,EAAEd,KAAKgB,EAAEtE,QAAQwE,GAAGJ,EAAEhE,SAASoE,GAAG4S,GAAE,IAAK,MAAM1Y,GAAGkH,GAAE,EAAG7D,EAAErD,EAAtG,QAAgH,IAAI0Y,GAAG,MAAMrS,EAAAA,WAAUA,EAAAA,YAAvB,QAA0C,GAAGa,EAAE,KAAM7D,IAAG,MAAOqC,KAAI1F,EAAE8F,IAAI,SAAS9F,EAAE8F,GAAG,GAAG9F,EAAE,CAAC,GAAG,gBAAiBA,GAAE,MAAO9C,GAAE8C,EAAE8F,EAAG,IAAIO,GAAEzG,OAAOoE,UAAUrB,SAAS3F,KAAKgD,GAAG2L,MAAM,KAAM,OAAM,SAAStF,EAAE,WAAWA,GAAGrG,EAAEoF,YAAYpF,EAAEoF,YAAY3K,KAAK4L,IAAI,QAAQA,EAAE7B,MAAMyM,KAAKjR,GAAG,cAAcqG,GAAG,2CAA2CsG,KAAKtG,GAAGnJ,EAAE8C,EAAE8F,GAAG,SAAS9F,EAAE8F,IAAI,WAAW,KAAM,IAAI2F,WAAU,gJAAgJ,QAASvO,GAAE8C,EAAE8F,IAAI,MAAMA,GAAGA,EAAE9F,EAAE0B,UAAUoE,EAAE9F,EAAE0B,OAAQ,KAAI,GAAI2E,GAAE,EAAET,EAAE,GAAIpB,OAAMsB,GAAGO,EAAEP,EAAEO,IAAIT,EAAES,GAAGrG,EAAEqG,EAAG,OAAOT,GAAjvCS,EAAET,EAAEE,GAAGO,EAAEb,EAAEM,EAAE,aAAa,WAAW,MAAON,IAAI,IAAII,GAAEvC,EAAEqC,EAAEI,EAAEO,EAAE,UAAUqS,EAAErS,EAAEA,EAAEP,EAAqqCjL,QAAOwX,aAAaxX,OAAOwX,aAAa3M,EAAE7K,OAAOyX,YAAYzX,OAAO0X,SAAS3M,EAAE9J,SAASoH,cAAc,SAAS4C,EAAEhK,SAAS2W,qBAAqB,UAAU,GAAGpP,EAAE,KAAKuC,EAAErE,KAAK,WAAWqE,EAAE1K,GAAG,oBAAoB4K,EAAEA,EAAExB,WAAWqO,aAAa/M,EAAEE,GAAGhK,SAAS8W,KAAKC,YAAYjN,GAAGvC,EAAE,oBAAqBxI,SAAQA,OAAOiY,iBAAiBlN,EAAE,OAAOA,EAAEmN,aAAarN,GAAGsN,YAAY,SAAShT,GAA0D,MAAvDA,GAAE,UAAUA,EAAE,yCAAgD4F,EAAEsN,WAAWtN,EAAEsN,WAAWC,QAAQnT,EAAE4F,EAAEwN,YAAYpT,EAAE,QAAQqD,EAAEgQ,SAAS,SAASrT,GAAG,OAAOiE,QAAQyB,EAAEsN,YAAYhT,GAAG,OAAOuS,MAAMvS,GAAG,SAAU,IAAIwF,IAAG8N,WAAW/X,QAAQ,GAAGwO,MAAM,WAAW,IAAG,IAAKrN,KAAK6W,cAAc,MAAO7W,KAAKA,MAAK6W,eAAc,EAAGmF,IAAI,sBAAsBhX,QAAQgX,IAAI,6DAA6DhF,SAAS5X,SAAS8W,KAAM,IAAI5S,GAAE8F,EAAEO,EAAET,EAAE8S,IAAI,kBAAkB7E,IAAI,cAAe,KAAIxN,IAAKP,MAAK9F,EAAE,iBAAiB4F,EAAEA,KAAKA,EAAEA,EAAEmC,OAAO4D,MAAM,OAAO7F,EAAEF,EAAEoF,MAAM,KAAK8G,OAAO,SAAS9R,EAAE8F,GAAG,GAAIO,GAAEP,EAAElD,QAAQ,MAAM,KAAKoI,MAAM,KAAKlF,EAAEO,EAAE,GAAGA,EAAEA,EAAE,GAAGP,EAAEqM,mBAAmBrM,GAAGO,EAAE,SAASA,EAAE,KAAK8L,mBAAmB9L,EAAG,OAAOrG,GAAEwG,eAAeV,GAAGtB,MAAMmN,QAAQ3R,EAAE8F,IAAI9F,EAAE8F,GAAGlB,KAAKyB,GAAGrG,EAAE8F,IAAI9F,EAAE8F,GAAGO,GAAGrG,EAAE8F,GAAGO,EAAErG,OAAO8F,EAAEpJ,KAAK4W,WAAWtT,EAAEA,EAAEwG,eAAeH,IAAI3J,KAAK4W,QAAQ1O,MAAMnK,KAAK4L,EAAE/E,MAAM,+BAA+B8H,OAAOpJ,EAAEqG,GAAG,MAAO3J,MAAKnB,QAAQmB,KAAKoX,kBAAkBpX,KAAKqX,YAAYC,QAAQ,WAAWtX,KAAK6W,eAAc,EAAG7W,KAAKqN,SAASkK,QAAQ,SAASjU,GAAiB,MAAdA,GAAEtD,KAAKoD,IAAIE,KAAWA,GAAGnF,OAAOwX,WAAWrS,GAAGiE,SAASmQ,KAAK,SAASpU,GAAG,MAAOA,KAAItD,KAAKoX,mBAAmBO,KAAK,SAASrU,GAAkB,MAAfA,GAAEtD,KAAK+U,KAAKzR,IAAUA,IAAItD,KAAKuX,QAAQjU,IAAIuU,GAAG,SAASvU,GAAG,GAAI8F,GAAEW,EAAEzG,EAAE+H,OAAOiD,MAAM,KAAKF,OAAO,SAAS9K,GAAG,QAAQA,EAAE0B,SAAS,GAAG2E,EAAEP,EAAE,GAAGA,EAAEA,EAAE,GAAGA,EAAE,SAASA,EAAE,GAAGA,CAAE,IAAG,SAASA,EAAE,MAAOpJ,MAAK0X,KAAK/N,EAAG,KAAIP,GAAG,OAAOA,EAAE,MAAOpJ,MAAKuX,QAAQ5N,EAAG,IAAG,SAASP,EAAE,MAAOpJ,MAAK2X,KAAKhO,EAAG,MAAM,IAAIuO,OAAM,oIAAoIxL,OAAOpJ,EAAE,cAAcF,IAAI,SAASE,GAAG,IAAI,GAAI8F,KAAKpJ,MAAK4W,QAAQ,GAAG5W,KAAK4W,QAAQ9M,eAAeV,KAAIA,EAAEpJ,KAAK4W,QAAQxN,GAAM9F,IAAI8F,EAAErL,MAAK,MAAOqL,GAAExE,KAAM,OAAO,OAAMmQ,KAAK,SAAS3L,GAAG,GAAIO,GAAE3J,KAAKsD,EAAEtD,KAAK4W,QAAQwB,UAAU,SAAS9U,GAAG,MAAOqG,GAAE2O,cAAchV,KAAK8F,GAAI,SAAQ9F,EAAE,KAAM,IAAI4U,OAAM,iCAAiCxL,OAAOtD,EAAE,6GAAkI,OAApB9F,GAAEtD,KAAK4W,QAAQtT,EAAE,GAAUA,EAAEA,EAAEvF,KAAK,MAAMua,cAAc,SAAShV,GAAG,GAAG,gBAAiBA,GAAE,MAAOA,EAAE,IAAG,WAAWkH,EAAElH,GAAG,MAAOA,GAAEvF,IAAK,MAAM,IAAIgR,WAAU,+IAA+IrC,OAAOpJ,EAAE,OAAOoJ,OAAOlC,EAAElH,GAAG,aAAa8T,gBAAgB,WAAW,IAAI,GAAI9T,GAAE8F,EAAE,EAAEA,EAAEpJ,KAAK4W,QAAQ5R,OAAOoE,IAAI,CAAC,GAAIO,GAAE3J,KAAK4W,QAAQxN,EAAGjL,QAAOwX,WAAWhM,EAAE/E,OAAO2C,UAAUjE,EAAEqG,GAAG,MAAOrG,IAAGtD,KAAKsY,cAAchV,IAAI+T,SAAS,WAAW,GAAI1N,GAAE3J,IAAKgc,KAAI7d,QAAQua,GAAG,oBAAoB,WAAW,GAAIpV,GAAEqG,EAAEyN,kBAAkBhO,EAAEO,EAAE9K,OAAQyE,KAAI8F,IAAIO,EAAE9K,QAAQyE,EAAE0Y,IAAI7d,QAAQyO,QAAQ,yBAAyBtJ,EAAE8F,UAAU0X,GAAG,SAASxd,EAAE8F,EAAEO,GAAGrG,EAAE1D,QAAQ+J,EAAE,uDAAuDmP,OAAO,SAASxV,EAAE8F,GAAG9F,EAAE1D,QAAQsJ,IAAI8S,KAAKrV,EAAEpG,EAAEyI,EAAErC,EAAEnG,EAAEwb,EAAErV,EAAEmC,EAAE,SAASxF,EAAE8F,EAAEO,GAAGhD,EAAEqC,EAAE1F,EAAE8F,IAAIlG,OAAOC,eAAeG,EAAE8F,GAAGH,YAAW,EAAG7F,IAAIuG,KAAKhD,EAAEuC,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAM+B,EAAEyC,EAAE,SAASA,EAAE9F,GAAG,GAAG,EAAEA,IAAI8F,EAAEzC,EAAEyC,IAAI,EAAE9F,EAAE,MAAO8F,EAAE,IAAG,EAAE9F,GAAG,WAAA,mBAAiB8F,GAAjB,YAAA6B,QAAiB7B,KAAGA,GAAGA,EAAEE,WAAW,MAAOF,EAAE,IAAIO,GAAEzG,OAAOsG,OAAO,KAAM,IAAG7C,EAAEuC,EAAES,GAAGzG,OAAOC,eAAewG,EAAE,WAAWV,YAAW,EAAGrE,MAAMwE,IAAI,EAAE9F,GAAG,gBAAiB8F,GAAE,IAAI,GAAIF,KAAKE,GAAEzC,EAAEmC,EAAEa,EAAET,EAAE,SAAS5F,GAAG,MAAO8F,GAAE9F,IAAIoG,KAAK,KAAKR,GAAI,OAAOS,IAAGhD,EAAEgD,EAAE,SAASrG,GAAG,GAAI8F,GAAE9F,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAOqD,GAAEmC,EAAEM,EAAE,IAAIA,GAAGA,GAAGzC,EAAEqC,EAAE,SAAS1F,EAAE8F,GAAG,MAAOlG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAE8F,IAAIzC,EAAElG,EAAE,GAAGkG,EAAEA,EAAEoD,EAAE,GAA0I,IAAIf,GAAEgT,GT8kC5rM,IAAI/Q,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KU9kChP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,0BAA4BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAElFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,0BAA4BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UAChMvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgI,iDAKC,SAASlhB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI8H,GAAuD9gB,EAAwD,iCAC1GA,GAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAO+W,GAAA,SAEzE9gB,EAAoB4I,EAAEmB,EAAqB,OAAQ,WAAa,MAAO+W,GAAA,OAIrG9H,EAAA,WAA4D+H,OAASD,EAAA,OACrE9H,EAAA,WAA4DgI,KAAOF,EAAA,MAK7DG,iCAKC,SAASthB,EAAQoK,EAAqB/J,GAE7C,YA0BA,SAASghB,GAAKviB,EAAUuI,EAAML,GAW5B,QAASua,GAAKC,GACP5iB,IAAOA,EAAQ4iB,GACpBC,EAAOD,EAAK5iB,EACZoI,EAAGwI,MAAMnI,GAELoa,EAAO3iB,EACT4iB,EAAOpjB,OAAO2R,sBAAsBsR,EAAMla,IAE1C/I,OAAO6R,qBAAqBuR,GAC5Bra,EAAK0F,QAAQ,uBAAwB1F,IAAOwL,eAAe,uBAAwBxL,KAnBvF,GAAIqa,GACAD,EACA7iB,EAAQ,IAEZ,OAAiB,KAAbE,GACFkI,EAAGwI,MAAMnI,OACTA,GAAK0F,QAAQ,uBAAwB1F,IAAOwL,eAAe,uBAAwBxL,UAiBrFqa,EAAOpjB,OAAO2R,sBAAsBsR,IAatC,QAASI,GAAQC,EAAM9gB,EAAS+gB,EAAW5O,GAuBzC,QAAS6O,KACFF,GAAM9gB,EAAQihB,OACnBC,IACI/O,GAAIA,EAAGzD,MAAM1O,GAInB,QAASkhB,KACPlhB,EAAQ,GAAG8R,MAAMqP,mBAAqB,EACtCnhB,EAAQmO,YAAY,GAAGpC,OAAOqV,EAAW,KAAKrV,OAAOsV,EAAa,KAAKtV,OAAOgV,IA9BhF,GADA/gB,EAAUwJ,IAA8CxJ,GAAS2f,GAAG,GAC/D3f,EAAQqE,OAAb,CACA,GAAI+c,GAAYN,EAAOQ,EAAY,GAAKA,EAAY,GAChDD,EAAcP,EAAOS,EAAc,GAAKA,EAAc,EAE1DL,KACAlhB,EAAQwhB,SAAST,GAAWvK,IAAI,aAAc,QAC9CrH,sBAAsB,WACpBnP,EAAQwhB,SAASJ,GACbN,GAAM9gB,EAAQyhB,SAGpBtS,sBAAsB,WAIpBnP,EAAQ,GAAG0hB,YACX1hB,EAAQwW,IAAI,aAAc,IAAIgL,SAASH,KAGzCrhB,EAAQoS,IAAI7P,OAAOyI,EAAA,eAAsEhL,GAAUghB,IAnFrGzhB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,OAAQ,WAAa,MAAOiX,KACvEhhB,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOgX,IACnF,IAAI/W,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAS9H+hB,GARgG/hB,EAAoByJ,EAAEgC,IAQvG,YAAa,cAC5BuW,GAAiB,mBAAoB,oBACrCjB,GACFqB,UAAW,SAAmB3hB,EAAS+gB,EAAW5O,GAChD0O,GAAQ,EAAM7gB,EAAS+gB,EAAW5O,IAEpCyP,WAAY,SAAoB5hB,EAAS+gB,EAAW5O,GAClD0O,GAAQ,EAAO7gB,EAAS+gB,EAAW5O,MAiFjC0P,GAKC,SAAS3iB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAsH,mDAKjI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MVy3BJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KWjoC/O,SAASwK,EAAEP,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQwJ,EAAET,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAUsJ,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,0BAA0BwJ,EAAET,QAAQ,qBAAqBA,QAAQ,YAAYgB,EAAEmS,wBAAwBnS,EAAEmS,4BAA4BnS,EAAEmS,wBAAwB,0BAA0B1S,EAAEO,EAAEmS,wBAAwB,mBAAmBnS,EAAEsT,UAAU9e,OAAO,SAASmF,EAAE0F,GAAk5E,QAASrC,GAAEgD,GAAG,GAAGqS,EAAErS,GAAG,MAAOqS,GAAErS,GAAG/J,OAAQ,IAAIwJ,GAAE4S,EAAErS,IAAIhD,EAAEgD,EAAEd,GAAE,EAAGjJ,WAAY,OAAOsJ,GAAES,GAAGrJ,KAAK8I,EAAExJ,QAAQwJ,EAAEA,EAAExJ,QAAQ+G,GAAGyC,EAAEP,GAAE,EAAGO,EAAExJ,QAA7gF,MAAOsJ,IAAG8P,oBAAoB,SAASrP,EAAEP,GAAGO,EAAE/J,QAAQ0D,GAAGyd,iDAAiD,SAASpX,EAAEP,EAAE9F,GAAG,YAAaA,GAAE4F,EAAEE,EAAG,IAAIJ,GAAE1F,EAAE,oBAAqBA,GAAEwF,EAAEM,EAAE,aAAa,WAAW,MAAOJ,GAAE+B,YAAa,IAAIpE,GAAErD,EAAE,iCAAkCA,GAAEwF,EAAEM,EAAE,SAAS,WAAW,MAAOzC,GAAEsa,SAAS3d,EAAEwF,EAAEM,EAAE,OAAO,WAAW,MAAOzC,GAAEua,OAAOlY,EAAE+B,WAAWkW,OAAOta,EAAEsa,OAAOjY,EAAE+B,WAAWmW,KAAKva,EAAEua,MAAMC,iCAAiC,SAASxX,EAAEP,EAAE9F,GAAG,YAAyS,SAASqD,GAAErD,EAAE0F,EAAErC,GAAG,GAAIuC,GAAE8S,EAAExR,EAAE,IAAK,OAAG,KAAIlH,GAASqD,EAAE0I,MAAMrG,OAAQA,GAAE4D,QAAQ,uBAAuB5D,IAAI0J,eAAe,uBAAuB1J,UAAIE,EAAE/K,OAAO2R,sBAAsB,QAASnG,GAAEP,GAAG4S,EAAE5S,GAAGoB,EAAEA,GAAGpB,GAAGzC,EAAE0I,MAAMrG,GAAGgT,EAAE1Y,EAAE4F,EAAE/K,OAAO2R,sBAAsBnG,EAAEX,IAAI7K,OAAO6R,qBAAqB9G,GAAGF,EAAE4D,QAAQ,uBAAuB5D,IAAI0J,eAAe,uBAAuB1J,QAAO,QAASE,GAAES,EAAEP,EAAE9F,EAAE0F,GAAW,QAASgT,KAAI5S,EAAE,GAAGqJ,MAAMqP,mBAAmB,EAAE1Y,EAAE0F,YAAY,GAAGpC,OAAO/F,EAAE,KAAK+F,OAAOxD,EAAE,KAAKwD,OAAOpJ,IAAzG,GAAIqD,GAAEuC,GAAwGE,EAAEoB,IAAIpB,GAAGkX,GAAG,IAAItb,SAAS2B,EAAEgD,EAAEnJ,EAAE,GAAGA,EAAE,GAAG0I,EAAES,EAAEb,EAAE,GAAGA,EAAE,GAAGkT,IAAI5S,EAAE+Y,SAAS7e,GAAG6T,IAAI,aAAa,QAAQrH,sBAAsB,WAAW1G,EAAE+Y,SAASxb,GAAGgD,GAAGP,EAAEgZ,SAAStS,sBAAsB,WAAW1G,EAAE,GAAGiZ,YAAYjZ,EAAE+N,IAAI,aAAa,IAAIgL,SAASjZ,KAAKE,EAAE2J,IAAI7P,OAAO6Y,EAAEnR,eAAexB,GAAG,WAAWO,GAAGP,EAAEwY,OAAO5F,IAAIhT,GAAGA,EAAEqG,MAAMjG,MAAxkC9F,EAAE4F,EAAEE,GAAG9F,EAAEwF,EAAEM,EAAE,OAAO,WAAW,MAAOzC,KAAIrD,EAAEwF,EAAEM,EAAE,SAAS,WAAW,MAAOJ,IAAI,IAAII,GAAE9F,EAAE,UAAUkH,EAAElH,EAAEqG,EAAEP,GAAG2S,EAAEzY,EAAE,qBAAqB9C,GAAG,YAAY,aAAasI,GAAG,mBAAmB,oBAAoBE,GAAGsZ,UAAU,SAAS3Y,EAAEP,EAAE9F,GAAG4F,GAAE,EAAGS,EAAEP,EAAE9F,IAAIif,WAAW,SAAS5Y,EAAEP,EAAE9F,GAAG4F,GAAE,EAAGS,EAAEP,EAAE9F,MAAyzBkf,GAAG,SAAS7Y,EAAEP,EAAE9F,GAAGqG,EAAE/J,QAAQ0D,EAAE,mDAAmDwV,OAAO,SAASnP,EAAEP,GAAGO,EAAE/J,QAAQoJ,IAAIgT,KAAKrV,EAAEpG,EAAE2I,EAAEvC,EAAEnG,EAAEwb,EAAErV,EAAEmC,EAAE,SAASa,EAAEP,EAAE9F,GAAGqD,EAAEqC,EAAEW,EAAEP,IAAIlG,OAAOC,eAAewG,EAAEP,GAAGH,YAAW,EAAG7F,IAAIE,KAAKqD,EAAEuC,EAAE,SAASS,GAAG,mBAAoBnB,SAAQA,OAAOW,aAAajG,OAAOC,eAAewG,EAAEnB,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAewG,EAAE,cAAc/E,OAAM,KAAM+B,EAAEyC,EAAE,SAASA,EAAEO,GAAG,GAAG,EAAEA,IAAIP,EAAEzC,EAAEyC,IAAI,EAAEO,EAAE,MAAOP,EAAE,IAAG,EAAEO,GAAG,WAAA,mBAAiBP,GAAjB,YAAA6B,QAAiB7B,KAAGA,GAAGA,EAAEE,WAAW,MAAOF,EAAE,IAAI9F,GAAEJ,OAAOsG,OAAO,KAAM,IAAG7C,EAAEuC,EAAE5F,GAAGJ,OAAOC,eAAeG,EAAE,WAAW2F,YAAW,EAAGrE,MAAMwE,IAAI,EAAEO,GAAG,gBAAiBP,GAAE,IAAI,GAAIJ,KAAKI,GAAEzC,EAAEmC,EAAExF,EAAE0F,EAAE,SAASW,GAAG,MAAOP,GAAEO,IAAID,KAAK,KAAKV,GAAI,OAAO1F,IAAGqD,EAAEgD,EAAE,SAASA,GAAG,GAAIP,GAAEO,GAAGA,EAAEL,WAAW,WAAW,MAAOK,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAOhD,GAAEmC,EAAEM,EAAE,IAAIA,GAAGA,GAAGzC,EAAEqC,EAAE,SAASW,EAAEP,GAAG,MAAOlG,QAAOoE,UAAUwC,eAAexJ,KAAKqJ,EAAEP,IAAIzC,EAAElG,EAAE,GAAGkG,EAAEA,EAAEoD,EAAE,GAA0I,IAAIb,GAAE8S,GXkoCzgG,IAAI/Q,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KYloChP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,wBAA0BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAEhFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,wBAA0BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UAC9LvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW;AAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIX0J,+CAKC,SAAS5iB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIwJ,GAAqDxiB,EAAsD,+BACtGA,GAAoB4I,EAAEmB,EAAqB,OAAQ,WAAa,MAAOyY,GAAA,OAIrGxJ,EAAA,WAA4DyJ,KAAOD,EAAA,MAK7DE,+BAKC,SAAS/iB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,OAAQ,WAAa,MAAO0Y,IACjF,IAAIzY,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GAEtGyY,GACFE,QAAS,SAAiBC,GACxB,GAAIje,GAAOqK,UAAUlK,OAAS,GAAsByB,SAAjByI,UAAU,GAAmBA,UAAU,GAAK,IAC/E4T,GAAKrW,KAAK,OAAQ,WAClBqW,EAAK5U,KAAK,KAAKzB,MACbsW,KAAQ,YAEV,IAAIC,GAAQF,EAAK5U,KAAK,MAAMzB,MAC1BsW,KAAQ,SAENE,EAAe,MAAMvW,OAAO7H,EAAM,YAClCqe,EAAe,GAAGxW,OAAOuW,EAAc,SACvCE,EAAc,MAAMzW,OAAO7H,EAAM,mBACjCue,EAAqB,cAATve,CAEhBme,GAAM5V,KAAK,WACT,GAAIiW,GAAQlZ,IAA8CnK,MACtDsjB,EAAOD,EAAME,SAAS,KAEtBD,GAAKte,SACPqe,EAAMlB,SAASgB,GAEXC,IACFC,EAAME,SAAS,WAAW9W,MACxB+W,iBAAiB,EACjBC,aAAcJ,EAAME,SAAS,WAAWhN,SAK7B,cAAT1R,GACFwe,EAAM5W,MACJiX,iBAAiB,KAKvBJ,EAAKnB,SAAS,WAAWzV,OAAOuW,IAAexW,MAC7CkX,eAAgB,GAChBZ,KAAQ,YAGG,cAATle,GACFye,EAAK7W,MACHmX,eAAe,KAKjBP,EAAM9J,OAAO,kBAAkBvU,QACjCqe,EAAMlB,SAAS,mBAAmBzV,OAAOwW,OAK/CW,KAAM,SAAcf,EAAMje,GACxB,GACAoe,GAAe,MAAMvW,OAAO7H,EAAM,YAC9Bqe,EAAe,GAAGxW,OAAOuW,EAAc,SACvCE,EAAc,MAAMzW,OAAO7H,EAAM,kBACrCie,GAAK5U,KAAK,0DAA0DY,YAAY,GAAGpC,OAAOuW,EAAc,KAAKvW,OAAOwW,EAAc,KAAKxW,OAAOyW,EAAa,uCAAuCrW,WAAW,gBAAgBqK,IAAI,UAAW,OAO1O2M,GAKC,SAASjkB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAoH,iDAK/H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MZg8BJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KavqC/O,SAASmE,EAAEqG,GAAG,WAAA,mBAAiB/J,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQ+J,EAAEhB,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAU6J,GAAG,WAAA,mBAAiB/J,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,wBAAwB+J,EAAEhB,QAAQ,qBAAqBA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,wBAAwBnS,EAAErG,EAAEwY,wBAAwB,mBAAmBxY,EAAE2Z,UAAU9e,OAAO,SAASiL,EAAEF,GAA0zE,QAASF,GAAE1F,GAAG,GAAGqD,EAAErD,GAAG,MAAOqD,GAAErD,GAAG1D,OAAQ,IAAI+J,GAAEhD,EAAErD,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAOoc,GAAE1Y,GAAGhD,KAAKqJ,EAAE/J,QAAQ+J,EAAEA,EAAE/J,QAAQoJ,GAAGW,EAAEd,GAAE,EAAGc,EAAE/J,QAAr7E,MAAOoc,IAAGhD,oBAAoB,SAAS1V,EAAEqG,GAAGrG,EAAE1D,QAAQwJ,GAAGqZ,+CAA+C,SAASnf,EAAEqG,EAAEP,GAAG,YAAaA,GAAEF,EAAES,EAAG,IAAIT,GAAEE,EAAE,oBAAqBA,GAAEN,EAAEa,EAAE,aAAa,WAAW,MAAOT,GAAE6B,YAAa,IAAI/B,GAAEI,EAAE,+BAAgCA,GAAEN,EAAEa,EAAE,OAAO,WAAW,MAAOX,GAAE2Z,OAAOzZ,EAAE6B,WAAW4X,KAAK3Z,EAAE2Z,MAAMC,+BAA+B,SAAStf,EAAEqG,EAAEP,GAAG,YAAaA,GAAEF,EAAES,GAAGP,EAAEN,EAAEa,EAAE,OAAO,WAAW,MAAOT,IAAI,IAAIS,GAAEP,EAAE,UAAUoB,EAAEpB,EAAEO,EAAEA,GAAGT,GAAG2Z,QAAQ,SAASvf,GAAG,GAAI8F,GAAE,EAAE8F,UAAUlK,QAAQ,SAASkK,UAAU,GAAGA,UAAU,GAAG,IAAK5L,GAAEmJ,KAAK,OAAO,WAAWnJ,EAAE4K,KAAK,KAAKzB,MAAMsW,KAAK,YAAa,IAAIzf,GAAEA,EAAE4K,KAAK,MAAMzB,MAAMsW,KAAK,SAAS7Z,EAAE,MAAMwD,OAAOtD,EAAE,YAAYJ,EAAE,GAAG0D,OAAOxD,EAAE,SAAS8S,EAAE,MAAMtP,OAAOtD,EAAE,mBAAmBzC,EAAE,cAAcyC,CAAE9F,GAAE8J,KAAK,WAAW,GAAI9J,GAAEkH,IAAIxK,MAAM2J,EAAErG,EAAEigB,SAAS,KAAM5Z,GAAE3E,SAAS1B,EAAE6e,SAASnG,GAAGrV,IAAIrD,EAAEigB,SAAS,WAAW9W,MAAM+W,iBAAgB,EAAGC,aAAangB,EAAEigB,SAAS,WAAWhN,SAAS,cAAcnN,GAAG9F,EAAEmJ,MAAMiX,iBAAgB,KAAM/Z,EAAEwY,SAAS,WAAWzV,OAAOxD,IAAIuD,MAAMkX,eAAe,GAAGZ,KAAK,YAAY,cAAc3Z,GAAGO,EAAE8C,MAAMmX,eAAc,KAAMtgB,EAAEiW,OAAO,kBAAkBvU,QAAQ1B,EAAE6e,SAAS,mBAAmBzV,OAAO1D,OAAO6a,KAAK,SAASvgB,EAAEqG,GAAG,GAAIP,GAAE,MAAMsD,OAAO/C,EAAE,YAAYT,EAAE,GAAGwD,OAAOtD,EAAE,SAASO,EAAE,MAAM+C,OAAO/C,EAAE,kBAAmBrG,GAAE4K,KAAK,0DAA0DY,YAAY,GAAGpC,OAAOtD,EAAE,KAAKsD,OAAOxD,EAAE,KAAKwD,OAAO/C,EAAE,uCAAuCmD,WAAW,gBAAgBqK,IAAI,UAAU,OAAO2M,GAAG,SAASxgB,EAAEqG,EAAEP,GAAG9F,EAAE1D,QAAQwJ,EAAE,iDAAiD0P,OAAO,SAASxV,EAAEqG,GAAGrG,EAAE1D,QAAQsJ,IAAIvC,KAAKqC,EAAEzI,EAAEyb,EAAEhT,EAAExI,EAAEmG,EAAEqC,EAAEF,EAAE,SAASxF,EAAEqG,EAAEP,GAAGJ,EAAEA,EAAE1F,EAAEqG,IAAIzG,OAAOC,eAAeG,EAAEqG,GAAGV,YAAW,EAAG7F,IAAIgG,KAAKJ,EAAEE,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAMoE,EAAEI,EAAE,SAASO,EAAErG,GAAG,GAAG,EAAEA,IAAIqG,EAAEX,EAAEW,IAAI,EAAErG,EAAE,MAAOqG,EAAE,IAAG,EAAErG,GAAG,WAAA,mBAAiBqG,GAAjB,YAAAsB,QAAiBtB,KAAGA,GAAGA,EAAEL,WAAW,MAAOK,EAAE,IAAIP,GAAElG,OAAOsG,OAAO,KAAM,IAAGR,EAAEE,EAAEE,GAAGlG,OAAOC,eAAeiG,EAAE,WAAWH,YAAW,EAAGrE,MAAM+E,IAAI,EAAErG,GAAG,gBAAiBqG,GAAE,IAAI,GAAIT,KAAKS,GAAEX,EAAEF,EAAEM,EAAEF,EAAE,SAAS5F,GAAG,MAAOqG,GAAErG,IAAIoG,KAAK,KAAKR,GAAI,OAAOE,IAAGJ,EAAEW,EAAE,SAASrG,GAAG,GAAIqG,GAAErG,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAO0F,GAAEF,EAAEa,EAAE,IAAIA,GAAGA,GAAGX,EAAEA,EAAE,SAAS1F,EAAEqG,GAAG,MAAOzG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAEqG,IAAIX,EAAEvI,EAAE,GAAGuI,EAAEA,EAAEe,EAAE,GAA0I,IAAIiS,GAAErV,GbwqC76F,IAAIsE,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KcxqChP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,sBACR,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,qBAAsBH,GACJ,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,yBAA2BD,EAAQgJ,QAAQ,uBAEnDjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,yBAA2BC,EAAQD,EAAA,wBAAgC,sBAC3KvB,OAAQ,SAAS4a,GACpB,MAAiB,UAAS9Y,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgL,gDAKC,SAASlkB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI8K,GAAsD9jB,EAAuD,gCACxGA,GAAoB4I,EAAEmB,EAAqB,QAAS,WAAa,MAAO+Z,GAAA,QAItG9K,EAAA,WAA4D+K,MAAQD,EAAA,OAK9DE,gCAKC,SAASrkB,EAAQoK,EAAqB/J,GAE7C,YAGA,SAAS+jB,GAAM/c,EAAMxD,EAASoP,GAC5B,GAKIrU,GACAa,EANAgO,EAAQtN,KACRrB,EAAW+E,EAAQ/E,SAEvBwlB,EAAYjhB,OAAO0K,KAAK1G,EAAKyF,QAAQ,IAAM,QACvCyX,IAIJpkB,MAAKqkB,UAAW,EAEhBrkB,KAAKskB,QAAU,WACbF,KACA5T,aAAalR,GACbU,KAAKvB,SAGPuB,KAAKvB,MAAQ,WACXuB,KAAKqkB,UAAW,EAEhB7T,aAAalR,GACb8kB,EAASA,GAAU,EAAIzlB,EAAWylB,EAClCld,EAAKyF,KAAK,UAAU,GACpBlO,EAAQ6C,KAAKC,MACbjC,EAAQqQ,WAAW,WACbjM,EAAQ6gB,UACVjX,EAAMgX,UAIJxR,GAAoB,kBAAPA,IACfA,KAEDsR,GACHld,EAAK0F,QAAQ,iBAAiBF,OAAOyX,KAGvCnkB,KAAKwkB,MAAQ,WACXxkB,KAAKqkB,UAAW,EAEhB7T,aAAalR,GACb4H,EAAKyF,KAAK,UAAU,EACpB,IAAIjO,GAAM4C,KAAKC,KACf6iB,IAAmB1lB,EAAMD,EACzByI,EAAK0F,QAAQ,kBAAkBF,OAAOyX,KA9C1CjkB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,QAAS,WAAa,MAAOga,MAqDjGtF,GAKC,SAAS9e,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAqH,qDdigCzH,IAAI+K,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,Ke1sC/O,SAASiK,EAAE9F,GAAG,WAAA,mBAAiB1D,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQ0D,EAAEqF,QAAQ,sBAAsB,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,qBAAqBwD,GAAG,WAAA,mBAAiB1D,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,yBAAyB0D,EAAEqF,QAAQ,uBAAuBS,EAAE0S,wBAAwB1S,EAAE0S,4BAA4B1S,EAAE0S,wBAAwB,yBAAyBxY,EAAE8F,EAAE0S,wBAAwB,sBAAsB3d,OAAO,SAASwL,GAA4wD,QAAST,GAAEE,GAAG,GAAGzC,EAAEyC,GAAG,MAAOzC,GAAEyC,GAAGxJ,OAAQ,IAAI0D,GAAEqD,EAAEyC,IAAIzC,EAAEyC,EAAEP,GAAE,EAAGjJ,WAAY,OAAOoJ,GAAEI,GAAG9I,KAAKgD,EAAE1D,QAAQ0D,EAAEA,EAAE1D,QAAQsJ,GAAG5F,EAAEuF,GAAE,EAAGvF,EAAE1D,QAAv4D,MAAOoJ,IAAGgQ,oBAAoB,SAAS5P,EAAE9F,GAAG8F,EAAExJ,QAAQ+J,GAAGoa,gDAAgD,SAAS3a,EAAE9F,EAAEqG,GAAG,YAAaA,GAAET,EAAE5F,EAAG,IAAI0F,GAAEW,EAAE,oBAAqBA,GAAEb,EAAExF,EAAE,aAAa,WAAW,MAAO0F,GAAE+B,YAAa,IAAI7B,GAAES,EAAE,gCAAiCA,GAAEb,EAAExF,EAAE,QAAQ,WAAW,MAAO4F,GAAE+a,QAAQjb,EAAE+B,WAAWkZ,MAAM/a,EAAE+a,OAAOC,gCAAgC,SAAS9a,EAAE9F,EAAEqG,GAAG,YAAa,SAASX,GAAE1F,EAAE8F,EAAEO,GAAG,GAAIX,GAAEE,EAAEvC,EAAE3G,KAAKgc,EAAE5S,EAAEzK,SAAS6L,EAAEtH,OAAO0K,KAAKtK,EAAEqJ,QAAQ,IAAI,QAAQoP,IAAK/b,MAAKqkB,UAAS,EAAGrkB,KAAKskB,QAAQ,WAAWvI,KAAKvL,aAAatH,GAAGlJ,KAAKvB,SAASuB,KAAKvB,MAAM,WAAWuB,KAAKqkB,UAAS,EAAG7T,aAAatH,GAAG6S,EAAEA,GAAG,EAAEC,EAAED,EAAEzY,EAAEqJ,KAAK,UAAS,GAAI3D,EAAE1H,KAAKC,MAAM2H,EAAEyG,WAAW,WAAWvG,EAAEmb,UAAU5d,EAAE2d,UAAU3a,GAAG,kBAAmBA,IAAGA,KAAKoS,GAAGzY,EAAEsJ,QAAQ,iBAAiBF,OAAOlC,KAAKxK,KAAKwkB,MAAM,WAAWxkB,KAAKqkB,UAAS,EAAG7T,aAAatH,GAAG5F,EAAEqJ,KAAK,UAAS,EAAI,IAAIvD,GAAE9H,KAAKC,KAAMwa,IAAG3S,EAAEJ,EAAE1F,EAAEsJ,QAAQ,kBAAkBF,OAAOlC,KAAKb,EAAET,EAAE5F,GAAGqG,EAAEb,EAAExF,EAAE,QAAQ,WAAW,MAAO0F,MAAK2V,GAAG,SAASvV,EAAE9F,EAAEqG,GAAGP,EAAExJ,QAAQ+J,EAAE,mDAAmDhD,KAAKuC,EAAE3I,EAAEyI,EAAEE,EAAE1I,EAAEmG,EAAEuC,EAAEJ,EAAE,SAASM,EAAE9F,EAAEqG,GAAGT,EAAEF,EAAEI,EAAE9F,IAAIJ,OAAOC,eAAeiG,EAAE9F,GAAG2F,YAAW,EAAG7F,IAAIuG,KAAKT,EAAEA,EAAE,SAASE,GAAG,mBAAoBZ,SAAQA,OAAOW,aAAajG,OAAOC,eAAeiG,EAAEZ,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeiG,EAAE,cAAcxE,OAAM,KAAMsE,EAAEE,EAAE,SAAS9F,EAAE8F,GAAG,GAAG,EAAEA,IAAI9F,EAAE4F,EAAE5F,IAAI,EAAE8F,EAAE,MAAO9F,EAAE,IAAG,EAAE8F,GAAG,WAAA,mBAAiB9F,GAAjB,YAAA2H,QAAiB3H,KAAGA,GAAGA,EAAEgG,WAAW,MAAOhG,EAAE,IAAIqG,GAAEzG,OAAOsG,OAAO,KAAM,IAAGN,EAAEA,EAAES,GAAGzG,OAAOC,eAAewG,EAAE,WAAWV,YAAW,EAAGrE,MAAMtB,IAAI,EAAE8F,GAAG,gBAAiB9F,GAAE,IAAI,GAAI0F,KAAK1F,GAAE4F,EAAEJ,EAAEa,EAAEX,EAAE,SAASI,GAAG,MAAO9F,GAAE8F,IAAIM,KAAK,KAAKV,GAAI,OAAOW,IAAGT,EAAES,EAAE,SAASP,GAAG,GAAI9F,GAAE8F,GAAGA,EAAEE,WAAW,WAAW,MAAOF,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAOF,GAAEJ,EAAExF,EAAE,IAAIA,GAAGA,GAAG4F,EAAEF,EAAE,SAASI,EAAE9F,GAAG,MAAOJ,QAAOoE,UAAUwC,eAAexJ,KAAK8I,EAAE9F,IAAI4F,EAAEzI,EAAE,GAAGyI,EAAEA,EAAEa,EAAE,GAA0I,IAAIf,GAAErC,Gf2sCz0E,IAAIsE,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KgB3sChP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,WAA0C,YAAlB,mBAAOC,QAAP,YAAAoL,QAAOpL,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,WACtC,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,UAAWH,GACd,YAAnB,mBAAOC,SAAP,YAAAqL,QAAOrL,UACdA,QAAQ,yBAA2BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,YAEjFjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,yBAA2BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,UAC/LvB,OAAQ,SAAS4a,EAA8CnQ,GAClE,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAAqG,QAAOrG,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIX0L,gDAKC,SAAS5kB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIC,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFwa,EAAsDxkB,EAAuD,gCACxGA,GAAoB4I,EAAEmB,EAAqB,QAAS,WAAa,MAAOya,GAAA,OAEjF,IAAIC,GAAgDzkB,EAA6C,oBACxBA,GAAoByJ,EAAEgb,EACtFzkB,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAO0a,GAAA,aAI3GD,EAAA,MAA6DE,KAAKza,EAA4CK,GAC9GrM,OAAO4M,WAAW8Z,MAAQH,EAAA,OAMpBI,gCAKC,SAASjlB,EAAQoK,EAAqB/J,GAE7C,YAKA,SAAS8Q,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAezM,QAAS6T,GAAWzhB,GAIlB,GAHAtD,KAAKglB,oBAAoB,YAAaC,GACtCjlB,KAAKglB,oBAAoB,WAAYD,IAEhCG,EAAU,CACb,GAAIC,GAAWhb,EAA4CK,EAAE4a,MAAM,MAAOC,GAAc/hB,EACxF6G,KAA8CnK,MAAM4M,QAAQuY,GAG9DE,EAAa,KACbC,GAAW,EACXJ,GAAW,EAGb,QAASD,GAAY3hB,GAKnB,IAJI,IAAS6G,EAA4CK,EAAE+a,UAAU/E,gBACnEld,EAAEkd,iBAGA8E,EAAU,CACZ,GAIIE,GAJA9iB,EAAIY,EAAEmiB,QAAQ,GAAGC,MAEjBC,EAAKC,EAAYljB,CAGrBwiB,IAAW,EACXW,GAAc,GAAIvkB,OAAOsO,UAAYkW,EAEjC9mB,KAAKC,IAAI0mB,IAAOxb,EAA4CK,EAAE+a,UAAUQ,eAAiBF,GAAe1b,EAA4CK,EAAE+a,UAAUS,gBAClKR,EAAMG,EAAK,EAAI,OAAS,SAMtBH,IACFliB,EAAEkd,iBACFuE,EAAW1V,MAAMrP,KAAMkP,WACvB/E,IAA8CnK,MAAM4M,QAAQzC,EAA4CK,EAAE4a,MAAM,QAASliB,OAAO+iB,UAAW3iB,IAAKkiB,GAAK5Y,QAAQzC,EAA4CK,EAAE4a,MAAM,QAAQ1Y,OAAO8Y,GAAMtiB,OAAO+iB,UAAW3iB,OAK9P,QAAS4iB,GAAa5iB,GACK,IAArBA,EAAEmiB,QAAQzgB,SACZ4gB,EAAYtiB,EAAEmiB,QAAQ,GAAGC,MACzBL,EAAa/hB,EACbgiB,GAAW,EACXJ,GAAW,EACXY,GAAY,GAAIxkB,OAAOsO,UACvB5P,KAAKqD,iBAAiB,YAAa4hB,GACjCthB,SAAS,IAASwG,EAA4CK,EAAE+a,UAAU/E,iBAE5ExgB,KAAKqD,iBAAiB,WAAY0hB,GAAY,IAIlD,QAASH,KACP5kB,KAAKqD,kBAAoBrD,KAAKqD,iBAAiB,aAAc6iB,GAC3DviB,SAAS,IAlFbzD,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,QAAS,WAAa,MAAO4a,IAClF,IAcjBe,GACAE,EACAD,EACAR,EAjBqBnb,EAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GAYtG2a,KAKAS,GAAW,EACXJ,GAAW,EAoEXiB,EAAyB,WAC3B,QAASA,KACPnV,EAAgBhR,KAAMmmB,GAEtBnmB,KAAK8L,QAAU,QACf9L,KAAKomB,QAAU,gBAAkBhnB,UAAS6B,gBAC1CjB,KAAKwgB,gBAAiB,EACtBxgB,KAAK+lB,cAAgB,GACrB/lB,KAAKgmB,cAAgB,IAErBhmB,KAAKqN,QAsBP,MAnBAmE,GAAa2U,IACX1c,IAAK,QACL7E,MAAO,WACLuF,EAA4CK,EAAE/F,MAAM4hB,QAAQC,OAC1DC,MAAO3B,GAETza,EAA4CK,EAAE/F,MAAM4hB,QAAQG,KAC1DD,MAAO3B,GAETza,EAA4CK,EAAE4C,MAAM,OAAQ,KAAM,OAAQ,SAAU,WAClFjD,EAA4CK,EAAE/F,MAAM4hB,QAAQ,QAAQ3Z,OAAO1M,QACzEumB,MAAO,WACLpc,IAA8CnK,MAAM0Y,GAAG,QAASvO,EAA4CK,EAAEic,cAOjHN,IAUTtB,GAAM6B,eAAiB,WACrBvc,EAA4CK,EAAE+a,UAAY,GAAIY,GAAUhc,EAA4CK,IAOtHqa,EAAM8B,kBAAoB,WACxBxc,EAA4CK,EAAE3D,GAAG+f,SAAW,WAC1D5mB,KAAKoN,KAAK,SAAUzG,EAAG8H,GACrBtE,IAA8CsE,GAAI/E,KAAK,4CAA6C,SAAUjF,GAG5GoiB,EAAYpiB,MAIhB,IAAIoiB,GAAc,SAAqBpiB,GACrC,GAQIqiB,GARArB,EAAUhhB,EAAMsiB,eAChBC,EAAQvB,EAAQ,GAChBwB,GACF3kB,WAAY,YACZ4kB,UAAW,YACX3kB,SAAU,WAERsC,EAAOoiB,EAAWxiB,EAAMI,KAGxB,eAAgB1G,SAAuC,kBAAtBA,QAAOgpB,WAC1CL,EAAiB,GAAI3oB,QAAOgpB,WAAWtiB,GACrCuiB,SAAW,EACXC,YAAc,EACdrgB,QAAWggB,EAAMhgB,QACjBC,QAAW+f,EAAM/f,QACjBqgB,QAAWN,EAAMM,QACjBC,QAAWP,EAAMO,WAGnBT,EAAiB1nB,SAASooB,YAAY,cACtCV,EAAeW,eAAe5iB,GAAM,GAAM,EAAM1G,OAAQ,EAAG6oB,EAAMhgB,QAASggB,EAAM/f,QAAS+f,EAAMM,QAASN,EAAMO,SAAS,GAAO,GAAO,GAAO,EAAO,EAEjJ,OAGJP,EAAMjhB,OAAO2hB,cAAcZ,MAKjCjC,EAAMD,KAAO,WAC4D,mBAA5Dza,GAA4CK,EAAE+a,YACvDV,EAAM6B,eAAevc,EAA4CK,GACjEqa,EAAM8B,kBAAkBxc,EAA4CK,MAQlEmd,GAKC,SAAS9nB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAqH,kDAKhI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MhB85BJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KiBjwC/O,SAASmE,EAAE8F,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQwJ,EAAET,QAAQ,qBAAqBA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,UAAUsJ,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,yBAAyBwJ,EAAET,QAAQ,qBAAqBA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,yBAAyB1S,EAAE9F,EAAEwY,wBAAwB,mBAAmBxY,EAAE2Z,UAAU9e,OAAO,SAASwL,EAAEX,GAA6tH,QAASrC,GAAErD,GAAG,GAAG4F,EAAE5F,GAAG,MAAO4F,GAAE5F,GAAG1D,OAAQ,IAAIwJ,GAAEF,EAAE5F,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAOoc,GAAE1Y,GAAGhD,KAAK8I,EAAExJ,QAAQwJ,EAAEA,EAAExJ,QAAQ+G,GAAGyC,EAAEP,GAAE,EAAGO,EAAExJ,QAAx1H,MAAOoc,IAAGhD,oBAAoB,SAAS1V,EAAE8F,GAAG9F,EAAE1D,QAAQ+J,GAAG8a,gDAAgD,SAASnhB,EAAE8F,EAAEO,GAAG,YAAaA,GAAET,EAAEE,EAAG,IAAIJ,GAAEW,EAAE,UAAUX,EAAEW,EAAEA,EAAEX,GAAGrC,EAAEgD,EAAE,gCAAiCA,GAAEb,EAAEM,EAAE,QAAQ,WAAW,MAAOzC,GAAEke,OAAQ,IAAI7I,GAAErS,EAAE,oBAAqBA,GAAEb,EAAEM,EAAE,aAAa,WAAW,MAAO4S,GAAEjR,aAAapE,EAAEke,MAAMD,KAAK5b,EAAEwB,GAAGrM,OAAO4M,WAAW8Z,MAAMle,EAAEke,OAAOC,gCAAgC,SAASxhB,EAAE8F,EAAEO,GAAG,YAAmF,SAASqS,GAAE1Y,EAAE8F,GAAG,IAAI,GAAIO,GAAE,EAAEA,EAAEP,EAAEpE,OAAO2E,IAAI,CAAC,GAAIX,GAAEI,EAAEO,EAAGX,GAAEC,WAAWD,EAAEC,aAAY,EAAGD,EAAEsI,cAAa,EAAG,SAAUtI,KAAIA,EAAEuI,UAAS,GAAIrO,OAAOC,eAAeG,EAAE0F,EAAES,IAAIT,IAA+B,QAASH,GAAEvF,GAAGtD,KAAKglB,oBAAoB,YAAYlc,GAAG9I,KAAKglB,oBAAoB,WAAWnc,GAAGpI,IAAI6C,EAAEqD,EAAE6D,EAAE4a,MAAM,MAAM5a,GAAGlH,GAAGqD,IAAI3G,MAAM4M,QAAQtJ,IAAIkH,EAAE,KAAK/J,EAAEsb,GAAE,EAAG,QAASjT,GAAExF,GAAG,GAAI8F,GAAEO,GAAE,IAAKhD,EAAE6D,EAAE+a,UAAU/E,gBAAgBld,EAAEkd,iBAAiBzE,IAAI3S,EAAE9F,EAAEmiB,QAAQ,GAAGC,MAAMtc,EAAEJ,EAAEI,EAAE3I,GAAE,EAAGD,GAAG,GAAIc,OAAMsO,UAAU1G,GAAGS,EAAE3K,KAAKC,IAAImK,IAAIzC,EAAE6D,EAAE+a,UAAUQ,eAAevlB,GAAGmG,EAAE6D,EAAE+a,UAAUS,cAAc,EAAE5c,EAAE,OAAO,QAAQO,KAAKrG,EAAEkd,iBAAiB3X,EAAEwG,MAAMrP,KAAKkP,WAAWvI,IAAI3G,MAAM4M,QAAQjG,EAAE6D,EAAE4a,MAAM,QAAQliB,OAAO+iB,UAAU3iB,IAAIqG,GAAGiD,QAAQjG,EAAE6D,EAAE4a,MAAM,QAAQ1Y,OAAO/C,GAAGzG,OAAO+iB,UAAU3iB,OAAO,QAASskB,GAAEtkB,GAAG,IAAIA,EAAEmiB,QAAQzgB,SAASgE,EAAE1F,EAAEmiB,QAAQ,GAAGC,MAAMlb,EAAElH,EAAE7C,IAAIsb,GAAE,GAAI7S,GAAG,GAAI5H,OAAMsO,UAAU5P,KAAKqD,iBAAiB,YAAYyF,GAAGnF,SAAQ,IAAKgD,EAAE6D,EAAE+a,UAAU/E,iBAAiBxgB,KAAKqD,iBAAiB,WAAWwF,GAAE,IAAK,QAASgf,KAAI7nB,KAAKqD,kBAAkBrD,KAAKqD,iBAAiB,aAAaukB,GAAGjkB,SAAQ,IAA9lCgG,EAAET,EAAEE,GAAGO,EAAEb,EAAEM,EAAE,QAAQ,WAAW,MAAOW,IAAI,IAAqMf,GAAEE,EAAE1I,EAAEgK,EAAvMpB,EAAEO,EAAE,UAAUhD,EAAEgD,EAAEA,EAAEP,GAAqLW,KAAKgS,GAAE,EAAGtb,GAAE,EAAm2BqnB,EAAE,WAAW,QAASxkB,MAAK,SAASA,EAAE8F,GAAG,KAAK9F,YAAa8F,IAAG,KAAM,IAAI2F,WAAU,sCAAsC/O,KAAKsD,GAAGtD,KAAK8L,QAAQ,QAAQ9L,KAAKomB,QAAQ,gBAAiBhnB,UAAS6B,gBAAgBjB,KAAKwgB,gBAAe,EAAGxgB,KAAK+lB,cAAc,GAAG/lB,KAAKgmB,cAAc,IAAIhmB,KAAKqN,QAAQ,GAAIjE,GAAEO,EAAEX,CAAE,OAAOI,GAAE9F,GAAGqG,IAAIF,IAAI,QAAQ7E,MAAM,WAAW+B,EAAE6D,EAAE/F,MAAM4hB,QAAQC,OAAOC,MAAMsB,GAAGlhB,EAAE6D,EAAE/F,MAAM4hB,QAAQG,KAAKD,MAAMsB,GAAGlhB,EAAE6D,EAAE4C,MAAM,OAAO,KAAK,OAAO,SAAS,WAAWzG,EAAE6D,EAAE/F,MAAM4hB,QAAQ,QAAQ3Z,OAAO1M,QAAQumB,MAAM,WAAW5f,IAAI3G,MAAM0Y,GAAG,QAAQ/R,EAAE6D,EAAEic,eAAezK,EAAE5S,EAAE9B,UAAUqC,GAAGX,GAAGgT,EAAE5S,EAAEJ,GAAG1F,IAAKyG,GAAE2c,eAAe,WAAW/f,EAAE6D,EAAE+a,UAAU,GAAIuC,GAAEnhB,EAAE6D,IAAIT,EAAE4c,kBAAkB,WAAWhgB,EAAE6D,EAAE3D,GAAG+f,SAAS,WAAW5mB,KAAKoN,KAAK,SAAS9J,EAAE8F,GAAGzC,IAAIyC,GAAGM,KAAK,4CAA4C,SAASpG,GAAGqG,EAAErG,MAAO,IAAIqG,GAAE,QAAAA,GAASrG,GAAG,GAAI8F,GAAEO,EAAErG,EAAEyjB,eAAe,GAAGzjB,GAAGhB,WAAW,YAAY4kB,UAAU,YAAY3kB,SAAS,WAAWe,EAAEuB,KAAM,eAAe1G,SAAQ,kBAAmBA,QAAOgpB,WAAW/d,EAAE,GAAIjL,QAAOgpB,WAAW7jB,GAAG8jB,SAAQ,EAAGC,YAAW,EAAGrgB,QAAQ2C,EAAE3C,QAAQC,QAAQ0C,EAAE1C,QAAQqgB,QAAQ3d,EAAE2d,QAAQC,QAAQ5d,EAAE4d,WAAWne,EAAEhK,SAASooB,YAAY,eAAeC,eAAenkB,GAAE,GAAG,EAAGnF,OAAO,EAAEwL,EAAE3C,QAAQ2C,EAAE1C,QAAQ0C,EAAE2d,QAAQ3d,EAAE4d,SAAQ,GAAG,GAAG,GAAG,EAAG,EAAE,MAAM5d,EAAE5D,OAAO2hB,cAActe,MAAMW,EAAE6a,KAAK,WAAW,SAASje,EAAE6D,EAAE+a,YAAYxb,EAAE2c,eAAe/f,EAAE6D,GAAGT,EAAE4c,kBAAkBhgB,EAAE6D,MAAMmd,GAAG,SAASrkB,EAAE8F,EAAEO,GAAGrG,EAAE1D,QAAQ+J,EAAE,kDAAkDmP,OAAO,SAASxV,EAAE8F,GAAG9F,EAAE1D,QAAQoJ,IAAIE,KAAKvC,EAAEpG,EAAEyb,EAAErV,EAAEnG,EAAE0I,EAAEvC,EAAEmC,EAAE,SAASxF,EAAE8F,EAAEO,GAAGhD,EAAEqC,EAAE1F,EAAE8F,IAAIlG,OAAOC,eAAeG,EAAE8F,GAAGH,YAAW,EAAG7F,IAAIuG,KAAKhD,EAAEuC,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAM+B,EAAEyC,EAAE,SAASA,EAAE9F,GAAG,GAAG,EAAEA,IAAI8F,EAAEzC,EAAEyC,IAAI,EAAE9F,EAAE,MAAO8F,EAAE,IAAG,EAAE9F,GAAG,WAAA,mBAAiB8F,GAAjB,YAAA6B,QAAiB7B,KAAGA,GAAGA,EAAEE,WAAW,MAAOF,EAAE,IAAIO,GAAEzG,OAAOsG,OAAO,KAAM,IAAG7C,EAAEuC,EAAES,GAAGzG,OAAOC,eAAewG,EAAE,WAAWV,YAAW,EAAGrE,MAAMwE,IAAI,EAAE9F,GAAG,gBAAiB8F,GAAE,IAAI,GAAIJ,KAAKI,GAAEzC,EAAEmC,EAAEa,EAAEX,EAAE,SAAS1F,GAAG,MAAO8F,GAAE9F,IAAIoG,KAAK,KAAKV,GAAI,OAAOW,IAAGhD,EAAEgD,EAAE,SAASrG,GAAG,GAAI8F,GAAE9F,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAOqD,GAAEmC,EAAEM,EAAE,IAAIA,GAAGA,GAAGzC,EAAEqC,EAAE,SAAS1F,EAAE8F,GAAG,MAAOlG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAE8F,IAAIzC,EAAElG,EAAE,GAAGkG,EAAEA,EAAEoD,EAAE,GAA0I,IAAIiS,GAAE9S,GjBkwCl1I,IAAIX,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KkBlwCjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,4BAA6BA,QAAQ,WAC3E,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,2BAA4B,UAAWH,GAC1C,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,4BAA8BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,4BAA6BA,QAAQ,YAEzHjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,4BAA8BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,0BAA2BA,EAAA,UAC7PvB,OAAQ,SAAS4a,EAA8CgP,EAAqDnf,GACvH,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXiP,2BAKC,SAASnoB,EAAQD,GAExBC,EAAOD,QAAUmoB,GAIXE,mDAKC,SAASpoB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIgP,GAAsChoB,EAAkC,UACxEioB,EAA2DjoB,EAAoByJ,EAAEue,GACjFE,EAAyDloB,EAA0D,mCAC9GA,GAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOme,GAAA,WAKzGA,EAAA,SAAmExD,KAAKuD,EAA4C3d,EAAG0O,EAAA,aAKjHmP,mCAKC,SAASxoB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GA+JnX,QAASmpB,GAAuBC,EAAU3b,EAAS4b,GACjD,GAAIlpB,GACA0P,EAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,EACjD/E,KAA8ChM,QAAQua,GAAG9L,EAAS,WAC5DtN,GACFkR,aAAalR,GAGfA,EAAQqQ,WAAW,WACjB6Y,EAASnZ,MAAM,KAAML,IACpBuZ,GAAY,MAjLnBroB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOwe,IACrF,IAAIve,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAEzGwoB,GAD2ExoB,EAAoByJ,EAAEgC,GAC1CzL,EAAoD,6BAQhIyoB,GAPiGzoB,EAAoByJ,EAAE+e,GAOpG,WAGrB,IAAK,GAFDE,IAAY,SAAU,MAAO,IAAK,KAAM,IAEnCjiB,EAAI,EAAGA,EAAIiiB,EAAS5jB,OAAQ2B,IACnC,GAAI,GAAG+F,OAAOkc,EAASjiB,GAAI,qBAAuBxI,QAChD,MAAOA,QAAO,GAAGuO,OAAOkc,EAASjiB,GAAI,oBAIzC,QAAO,MAGLkiB,EAAW,SAAkBpa,EAAI5J,GACnC4J,EAAG9B,KAAK9H,GAAMyJ,MAAM,KAAKb,QAAQ,SAAUjP,GACzC2L,IAA8C,IAAIuC,OAAOlO,IAAc,UAATqG,EAAmB,UAAY,kBAAkB,GAAG6H,OAAO7H,EAAM,gBAAiB4J,OAIhJga,GACFK,WACEC,SACAC,WAEFC,gBAEFR,GAASK,UAAUC,OACjBG,aAAc,WACZL,EAAS1e,IAA8CnK,MAAO,SAEhEmpB,cAAe,WACb,GAAI3qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,QAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,SAE9DmK,IAA8CnK,MAAM4M,QAAQ,qBAGhEwc,eAAgB,WACd,GAAI5qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,SAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,UAE9DmK,IAA8CnK,MAAM4M,QAAQ,sBAGhEyc,kBAAmB,SAA2B/lB,GAC5C,GAAIoe,GAAYvX,IAA8CnK,MAAM2M,KAAK,WAEzErJ,GAAEgmB,kBAEgB,KAAd5H,EACFgH,EAAA,OAA+DnG,WAAWpY,IAA8CnK,MAAO0hB,EAAW,WACxIvX,IAA8CnK,MAAM4M,QAAQ,eAG9DzC,IAA8CnK,MAAMupB,UAAU3c,QAAQ,cAG1E4c,oBAAqB,WACnB,GAAIhrB,GAAK2L,IAA8CnK,MAAM2M,KAAK,eAClExC,KAA8C,IAAIuC,OAAOlO,IAAKkU,eAAe,qBAAsBvI,IAA8CnK,UAIrJyoB,EAASQ,aAAaQ,gBAAkB,SAAUxb,GAChDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMG,cACvDjb,EAAMyK,GAAG,mBAAoB,cAAe+P,EAASK,UAAUC,MAAMG,eAKvET,EAASQ,aAAaS,iBAAmB,SAAUzb,GACjDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMI,eACvDlb,EAAMyK,GAAG,mBAAoB,eAAgB+P,EAASK,UAAUC,MAAMI,gBAIxEV,EAASQ,aAAaU,kBAAoB,SAAU1b,GAClDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMK,gBACvDnb,EAAMyK,GAAG,mBAAoB,gBAAiB+P,EAASK,UAAUC,MAAMK,iBAIzEX,EAASQ,aAAaW,qBAAuB,SAAU3b,GACrDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMM,mBACvDpb,EAAMyK,GAAG,mBAAoB,oCAAqC+P,EAASK,UAAUC,MAAMM,oBAI7FZ,EAASQ,aAAaY,uBAAyB,SAAU5b,GACvDA,EAAM6O,IAAI,mCAAoC2L,EAASK,UAAUC,MAAMS,qBACvEvb,EAAMyK,GAAG,mCAAoC,sBAAuB+P,EAASK,UAAUC,MAAMS,sBAI/Ff,EAASK,UAAUE,QACjBc,eAAgB,SAAwBC,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bud,eAAgB,SAAwBD,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bwd,gBAAiB,SAAyB3mB,EAAG4mB,GAC3C,GAAIje,GAAS3I,EAAE0O,UAAU1D,MAAM,KAAK,GAChCpB,EAAU/C,IAA8C,SAASuC,OAAOT,EAAQ,MAAMke,IAAI,mBAAoBzd,OAAOwd,EAAU,MACnIhd,GAAQE,KAAK,WACX,GAAIE,GAAQnD,IAA8CnK,KAE1DsN,GAAMoF,eAAe,oBAAqBpF,QAKhDmb,EAASQ,aAAamB,mBAAqB,SAAU9d,GACnD,GAAI+d,GAAYlgB,IAA8C,mBAC1DmgB,GAAa,WAAY,UAAW,SAYxC,IAVIhe,IACwB,gBAAfA,GACTge,EAAUpiB,KAAKoE,GACkB,WAAxBrB,EAAQqB,IAAqD,gBAAlBA,GAAW,GAC/Dge,EAAYA,EAAU5d,OAAOJ,GAE7BwB,QAAQC,MAAM,iCAIdsc,EAAUrlB,OAAQ,CACpB,GAAIulB,GAAYD,EAAU9b,IAAI,SAAUzQ,GACtC,MAAO,cAAc2O,OAAO3O,KAC3BysB,KAAK,IACRrgB,KAA8ChM,QAAQ2e,IAAIyN,GAAW7R,GAAG6R,EAAW9B,EAASK,UAAUE,OAAOiB,mBAkBjHxB,EAASQ,aAAawB,kBAAoB,SAAUlC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOc,eAAgBC,IAIpGtB,EAASQ,aAAayB,kBAAoB,SAAUnC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOgB,eAAgBD,IAIpGtB,EAASQ,aAAa0B,0BAA4B,SAAU1c,GAC1D,IAAK0a,EACH,OAAO,CAGT,IAAIoB,GAAS9b,EAAMC,KAAK,+CAEpB0c,EAA4B,SAAmCC,GACjE,GAAIC,GAAU3gB,IAA8C0gB,EAAoB,GAAG9kB,OAEnF,QAAQ8kB,EAAoB,GAAGhmB,MAC7B,IAAK,aACiC,WAAhCimB,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,EAAS3sB,OAAO4c,cAG7B,WAAhC+P,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,IAGJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,mBAG1F,MAEF,KAAK,YACHojB,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,kBACxF,MAEF,SACE,OAAO,GAKb,IAAIqiB,EAAO/kB,OAET,IAAK,GAAI2B,GAAI,EAAGA,GAAKojB,EAAO/kB,OAAS,EAAG2B,IAAK,CAC3C,GAAIqkB,GAAkB,GAAIrC,GAAiBiC,EAC3CI,GAAgBC,QAAQlB,EAAOpjB,IAC7BukB,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,iBAAkB,cAAe,aAMzC7C,EAASQ,aAAasC,mBAAqB,WACzC,GAAIC,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAaQ,gBAAgB+B,GACtC/C,EAASQ,aAAaS,iBAAiB8B,GACvC/C,EAASQ,aAAaU,kBAAkB6B,GACxC/C,EAASQ,aAAaW,qBAAqB4B,GAC3C/C,EAASQ,aAAaY,uBAAuB2B,IAG/C/C,EAASQ,aAAawC,mBAAqB,WACzC,GAAID,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAa0B,0BAA0Ba,GAChD/C,EAASQ,aAAawB,kBAAkB,KACxChC,EAASQ,aAAayB,oBACtBjC,EAASQ,aAAamB,sBAGxB3B,EAAS7D,KAAO,SAAU8G,EAAI3gB,GAC5B7H,OAAOyI,EAAA,QAA+DxB,IAA8ChM,QAAS,WACvHgM,EAA4CK,EAAEmhB,uBAAwB,IACxElD,EAASQ,aAAasC,qBACtB9C,EAASQ,aAAawC,qBACtBthB,EAA4CK,EAAEmhB,qBAAsB,KAIpE5gB,IACFA,EAAW0d,SAAWA,EAEtB1d,EAAW6gB,SAAWnD,EAASQ,aAAawC,sBAQ1CI,GAKC,SAAShsB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAwH,qDAKnI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MlB22BJ,IAAIqC,SAAwB,kBAATzC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KmBvzC/O,SAASmE,EAAE8F,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,WAAS,WAAA,mBAAiBC,QAAjB,YAAAoL,QAAiBpL,SAAOA,OAAOD,QAAQwJ,EAAET,QAAQ,qBAAqBA,QAAQ,4BAA4BA,QAAQ,WAAW,kBAAmB7I,SAAQA,OAAOC,IAAID,QAAQ,oBAAoB,2BAA2B,UAAUsJ,GAAG,WAAA,mBAAiBxJ,SAAjB,YAAAqL,QAAiBrL,UAAQA,QAAQ,4BAA4BwJ,EAAET,QAAQ,qBAAqBA,QAAQ,4BAA4BA,QAAQ,YAAYrF,EAAEwY,wBAAwBxY,EAAEwY,4BAA4BxY,EAAEwY,wBAAwB,4BAA4B1S,EAAE9F,EAAEwY,wBAAwB,mBAAmBxY,EAAEwY,wBAAwB,0BAA0BxY,EAAE2Z,UAAU9e,OAAO,SAASwI,EAAEuC,EAAES,GAAslN,QAASX,GAAE1F,GAAG,GAAGkH,EAAElH,GAAG,MAAOkH,GAAElH,GAAG1D,OAAQ,IAAIwJ,GAAEoB,EAAElH,IAAIqD,EAAErD,EAAEuF,GAAE,EAAGjJ,WAAY,OAAOmK,GAAEzG,GAAGhD,KAAK8I,EAAExJ,QAAQwJ,EAAEA,EAAExJ,QAAQoJ,GAAGI,EAAEP,GAAE,EAAGO,EAAExJ,QAAjtN,MAAOmK,IAAGiP,oBAAoB,SAAS1V,EAAE8F,GAAG9F,EAAE1D,QAAQ+G,GAAGqhB,2BAA2B,SAAS1kB,EAAE8F,GAAG9F,EAAE1D,QAAQsJ,GAAG+e,mDAAmD,SAAS3kB,EAAE8F,EAAEzC,GAAG,YAAaA,GAAEuC,EAAEE,EAAG,IAAIF,GAAEvC,EAAE,oBAAqBA,GAAEmC,EAAEM,EAAE,aAAa,WAAW,MAAOF,GAAE6B,YAAa,IAAIpB,GAAEhD,EAAE,UAAUgD,EAAEhD,EAAEgD,EAAEA,GAAGX,EAAErC,EAAE,mCAAoCA,GAAEmC,EAAEM,EAAE,WAAW,WAAW,MAAOJ,GAAEyf,WAAWzf,EAAEyf,SAAS7D,KAAKjb,EAAEa,EAAEtB,EAAE6B,aAAasd,mCAAmC,SAAS/kB,EAAE8F,EAAEzC,GAAG,YAA+I,SAASoD,GAAEzG,GAAG,OAAOyG,EAAE,kBAAmBvB,SAAQ,UAAAyC,QAAiBzC,OAAOC,UAAS,SAASnF,GAAG,MAAA,mBAAcA,GAAd,YAAA2H,QAAc3H,IAAG,SAASA,GAAG,MAAOA,IAAG,kBAAmBkF,SAAQlF,EAAEoF,cAAcF,QAAQlF,IAAIkF,OAAOlB,UAAU,SAA3E,mBAA2FhE,GAA3F,YAAA2H,QAA2F3H,KAAIA,GAAG,QAASkH,GAAEpB,EAAEzC,GAAGyC,EAAEuD,KAAKhG,GAAG2H,MAAM,KAAKb,QAAQ,SAASnK,GAAG0F,IAAI,IAAI0D,OAAOpJ,IAAI,UAAUqD,EAAE,UAAU,kBAAkB,GAAG+F,OAAO/F,EAAE,gBAAgByC,MAAiP,QAAS4S,GAAE1Y,EAAE8F,EAAEzC,GAAG,GAAIuC,GAAES,EAAE7B,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAU,EAAGlG,KAAI7K,QAAQua,GAAGtP,EAAE,WAAWF,GAAGsH,aAAatH,GAAGA,EAAEyG,WAAW,WAAWhJ,EAAE0I,MAAM,KAAK1F,IAAIrG,GAAG,MAAr4BqD,EAAEuC,EAAEE,GAAGzC,EAAEmC,EAAEM,EAAE,WAAW,WAAW,MAAO5I,IAAI,IAAI4I,GAAEzC,EAAE,UAAUqC,EAAErC,EAAEgD,EAAEP,GAAGF,EAAEvC,EAAE,qBAAqBgD,EAAEhD,EAAE,4BAA2ZkC,EAAE,WAAW,IAAI,GAAIvF,IAAG,SAAS,MAAM,IAAI,KAAK,IAAI8F,EAAE,EAAEA,EAAE9F,EAAE0B,OAAOoE,IAAI,GAAG,GAAGsD,OAAOpJ,EAAE8F,GAAG,qBAAsBjL,QAAO,MAAOA,QAAO,GAAGuO,OAAOpJ,EAAE8F,GAAG,oBAAqB,QAAM,KAAM5I,GAAGsoB,WAAWC,SAASC,WAAWC,gBAAoLzoB,GAAEsoB,UAAUC,OAAOG,aAAa,WAAW1e,EAAExB,IAAIhJ,MAAM,SAASmpB,cAAc,WAAWngB,IAAIhJ,MAAM2M,KAAK,SAASnC,EAAExB,IAAIhJ,MAAM,SAASgJ,IAAIhJ,MAAM4M,QAAQ,qBAAqBwc,eAAe,WAAWpgB,IAAIhJ,MAAM2M,KAAK,UAAUnC,EAAExB,IAAIhJ,MAAM,UAAUgJ,IAAIhJ,MAAM4M,QAAQ,sBAAsByc,kBAAkB,SAAS/lB,GAAG,GAAI8F,GAAEJ,IAAIhJ,MAAM2M,KAAK,WAAYrJ,GAAEgmB;AAAkB,KAAKlgB,EAAEO,EAAEsX,OAAOsB,WAAWvZ,IAAIhJ,MAAMoJ,EAAE,WAAWJ,IAAIhJ,MAAM4M,QAAQ,eAAe5D,IAAIhJ,MAAMupB,UAAU3c,QAAQ,cAAc4c,oBAAoB,WAAW,GAAIlmB,GAAE0F,IAAIhJ,MAAM2M,KAAK,eAAgB3D,KAAI,IAAI0D,OAAOpJ,IAAIoP,eAAe,qBAAqB1J,IAAIhJ,UAAUQ,EAAEyoB,aAAaQ,gBAAgB,SAASnmB,GAAGA,EAAEwZ,IAAI,mBAAmBtc,EAAEsoB,UAAUC,MAAMG,cAAc5lB,EAAEoV,GAAG,mBAAmB,cAAclY,EAAEsoB,UAAUC,MAAMG,eAAe1oB,EAAEyoB,aAAaS,iBAAiB,SAASpmB,GAAGA,EAAEwZ,IAAI,mBAAmBtc,EAAEsoB,UAAUC,MAAMI,eAAe7lB,EAAEoV,GAAG,mBAAmB,eAAelY,EAAEsoB,UAAUC,MAAMI,gBAAgB3oB,EAAEyoB,aAAaU,kBAAkB,SAASrmB,GAAGA,EAAEwZ,IAAI,mBAAmBtc,EAAEsoB,UAAUC,MAAMK,gBAAgB9lB,EAAEoV,GAAG,mBAAmB,gBAAgBlY,EAAEsoB,UAAUC,MAAMK,iBAAiB5oB,EAAEyoB,aAAaW,qBAAqB,SAAStmB,GAAGA,EAAEwZ,IAAI,mBAAmBtc,EAAEsoB,UAAUC,MAAMM,mBAAmB/lB,EAAEoV,GAAG,mBAAmB,oCAAoClY,EAAEsoB,UAAUC,MAAMM,oBAAoB7oB,EAAEyoB,aAAaY,uBAAuB,SAASvmB,GAAGA,EAAEwZ,IAAI,mCAAmCtc,EAAEsoB,UAAUC,MAAMS,qBAAqBlmB,EAAEoV,GAAG,mCAAmC,sBAAsBlY,EAAEsoB,UAAUC,MAAMS,sBAAsBhpB,EAAEsoB,UAAUE,QAAQc,eAAe,SAASxmB,GAAGuF,GAAGvF,EAAE8J,KAAK,WAAWpE,IAAIhJ,MAAM0S,eAAe,yBAAyBpP,EAAEmJ,KAAK,cAAc,WAAWud,eAAe,SAAS1mB,GAAGuF,GAAGvF,EAAE8J,KAAK,WAAWpE,IAAIhJ,MAAM0S,eAAe,yBAAyBpP,EAAEmJ,KAAK,cAAc,WAAWwd,gBAAgB,SAAS3mB,EAAE8F,GAAG9F,EAAEA,EAAE0O,UAAU1D,MAAM,KAAK,GAAGtF,IAAI,SAAS0D,OAAOpJ,EAAE,MAAM6mB,IAAI,mBAAmBzd,OAAOtD,EAAE,OAAOgE,KAAK,WAAW,GAAI9J,GAAE0F,IAAIhJ,KAAMsD,GAAEoP,eAAe,oBAAoBpP,QAAQ9C,EAAEyoB,aAAamB,mBAAmB,SAAS9mB,GAAG,GAAI8F,GAAEJ,IAAI,mBAAmBrC,GAAG,WAAW,UAAU,SAAUrD,KAAI,gBAAiBA,GAAEqD,EAAEuB,KAAK5E,GAAG,WAAWyG,EAAEzG,IAAI,gBAAiBA,GAAE,GAAGqD,EAAEA,EAAE+F,OAAOpJ,GAAGwK,QAAQC,MAAM,iCAAiC3E,EAAEpE,SAAS2B,EAAEA,EAAE6H,IAAI,SAASlL,GAAG,MAAM,cAAcoJ,OAAOpJ,KAAKknB,KAAK,KAAKxhB,IAAI7K,QAAQ2e,IAAInW,GAAG+R,GAAG/R,EAAEnG,EAAEsoB,UAAUE,OAAOiB,mBAAmBzpB,EAAEyoB,aAAawB,kBAAkB,SAASnnB,GAAG,GAAI8F,GAAEJ,IAAI,gBAAiBI,GAAEpE,QAAQgX,EAAE1Y,EAAE,oBAAoB9C,EAAEsoB,UAAUE,OAAOc,eAAe1gB,IAAI5I,EAAEyoB,aAAayB,kBAAkB,SAASpnB,GAAG,GAAI8F,GAAEJ,IAAI,gBAAiBI,GAAEpE,QAAQgX,EAAE1Y,EAAE,oBAAoB9C,EAAEsoB,UAAUE,OAAOgB,eAAe5gB,IAAI5I,EAAEyoB,aAAa0B,0BAA0B,SAASrnB,GAAkB,QAAS8F,GAAE9F,GAAG,GAAI8F,GAAEJ,IAAI1F,EAAE,GAAGyC,OAAQ,QAAOzC,EAAE,GAAGuB,MAAM,IAAI,aAAa,WAAWuE,EAAEqD,KAAK,gBAAgB,gBAAgBnJ,EAAE,GAAGynB,eAAe3hB,EAAEsJ,eAAe,uBAAuBtJ,EAAEjL,OAAO4c,cAAc,WAAW3R,EAAEqD,KAAK,gBAAgB,gBAAgBnJ,EAAE,GAAGynB,eAAe3hB,EAAEsJ,eAAe,uBAAuBtJ,IAAI,UAAU9F,EAAE,GAAGynB,gBAAgB3hB,EAAE1B,QAAQ,iBAAiB+E,KAAK,cAAc,UAAUrD,EAAE1B,QAAQ,iBAAiBgL,eAAe,uBAAuBtJ,EAAE1B,QAAQ,mBAAoB,MAAM,KAAI,YAAY0B,EAAE1B,QAAQ,iBAAiB+E,KAAK,cAAc,UAAUrD,EAAE1B,QAAQ,iBAAiBgL,eAAe,uBAAuBtJ,EAAE1B,QAAQ,kBAAmB,MAAM,SAAQ,OAAM,GAApsB,IAAImB,EAAE,OAAM,CAA4rB,IAAIlC,GAAErD,EAAE4K,KAAK,8CAA+C,IAAGvH,EAAE3B,OAAO,IAAI,GAAIkE,GAAE,EAAEA,GAAGvC,EAAE3B,OAAO,EAAEkE,IAAI,GAAIL,GAAEO,GAAG6hB,QAAQtkB,EAAEuC,IAAIgiB,YAAW,EAAGC,WAAU,EAAGC,eAAc,EAAGC,SAAQ,EAAGC,iBAAiB,cAAc,YAAY9qB,EAAEyoB,aAAasC,mBAAmB,WAAW,GAAIjoB,GAAE0F,IAAI5J,SAAUoB,GAAEyoB,aAAaQ,gBAAgBnmB,GAAG9C,EAAEyoB,aAAaS,iBAAiBpmB,GAAG9C,EAAEyoB,aAAaU,kBAAkBrmB,GAAG9C,EAAEyoB,aAAaW,qBAAqBtmB,GAAG9C,EAAEyoB,aAAaY,uBAAuBvmB,IAAI9C,EAAEyoB,aAAawC,mBAAmB,WAAW,GAAInoB,GAAE0F,IAAI5J,SAAUoB,GAAEyoB,aAAa0B,0BAA0BrnB,GAAG9C,EAAEyoB,aAAawB,kBAAkB,KAAKjqB,EAAEyoB,aAAayB,oBAAoBlqB,EAAEyoB,aAAamB,sBAAsB5pB,EAAEokB,KAAK,SAASthB,EAAE8F,GAAGlG,OAAOgG,EAAE4B,QAAQ9B,IAAI7K,QAAQ,YAAW,IAAK6K,EAAEwB,EAAEmhB,sBAAsBnrB,EAAEyoB,aAAasC,qBAAqB/qB,EAAEyoB,aAAawC,qBAAqBziB,EAAEwB,EAAEmhB,qBAAoB,KAAMviB,IAAIA,EAAEqf,SAASjoB,EAAE4I,EAAEwiB,SAASprB,EAAEyoB,aAAawC,sBAAsBI,GAAG,SAASvoB,EAAE8F,EAAEzC,GAAGrD,EAAE1D,QAAQ+G,EAAE,qDAAqDmS,OAAO,SAASxV,EAAE8F,GAAG9F,EAAE1D,QAAQ+J,IAAIa,KAAKxB,EAAEzI,EAAEwJ,EAAEf,EAAExI,EAAEgK,EAAExB,EAAEF,EAAE,SAASxF,EAAE8F,EAAEzC,GAAGqC,EAAEA,EAAE1F,EAAE8F,IAAIlG,OAAOC,eAAeG,EAAE8F,GAAGH,YAAW,EAAG7F,IAAIuD,KAAKqC,EAAEE,EAAE,SAAS5F,GAAG,mBAAoBkF,SAAQA,OAAOW,aAAajG,OAAOC,eAAeG,EAAEkF,OAAOW,aAAavE,MAAM,WAAW1B,OAAOC,eAAeG,EAAE,cAAcsB,OAAM,KAAMoE,EAAEI,EAAE,SAASA,EAAE9F,GAAG,GAAG,EAAEA,IAAI8F,EAAEJ,EAAEI,IAAI,EAAE9F,EAAE,MAAO8F,EAAE,IAAG,EAAE9F,GAAG,WAAA,mBAAiB8F,GAAjB,YAAA6B,QAAiB7B,KAAGA,GAAGA,EAAEE,WAAW,MAAOF,EAAE,IAAIzC,GAAEzD,OAAOsG,OAAO,KAAM,IAAGR,EAAEE,EAAEvC,GAAGzD,OAAOC,eAAewD,EAAE,WAAWsC,YAAW,EAAGrE,MAAMwE,IAAI,EAAE9F,GAAG,gBAAiB8F,GAAE,IAAI,GAAIF,KAAKE,GAAEJ,EAAEF,EAAEnC,EAAEuC,EAAE,SAAS5F,GAAG,MAAO8F,GAAE9F,IAAIoG,KAAK,KAAKR,GAAI,OAAOvC,IAAGqC,EAAEW,EAAE,SAASrG,GAAG,GAAI8F,GAAE9F,GAAGA,EAAEgG,WAAW,WAAW,MAAOhG,GAAAA,YAAW,WAAW,MAAOA,GAAG,OAAO0F,GAAEF,EAAEM,EAAE,IAAIA,GAAGA,GAAGJ,EAAEA,EAAE,SAAS1F,EAAE8F,GAAG,MAAOlG,QAAOoE,UAAUwC,eAAexJ,KAAKgD,EAAE8F,IAAIJ,EAAEvI,EAAE,GAAGuI,EAAEA,EAAEe,EAAE,GAA0I,IAAIA,GAAES,GnBwzC12O,IAAIjC,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KoBxzCjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,WAC7E,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,6BAA8B,UAAWH,GAC5C,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,wBAA0BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,YAEvHjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,wBAA0BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,4BAA6BA,EAAA,UAC3PvB,OAAQ,SAAS4a,EAA8C+S,EAAuDljB,GACzH,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgT,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIXE,+CAKC,SAASnsB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI+S,GAAqD/rB,EAAsD,+BACtGA,GAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAOgiB,GAAA,YAI1G/S,EAAA,WAA4DjN,OAAOggB,EAAA,UAAiE,cAK9HC,+BAKC,SAASrsB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GA5BxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAOyjB,IACtF,IAAIxjB,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyjB,EAAuDztB,EAAoD,qBAE3G0tB,GAD4E1tB,EAAoByJ,EAAEgkB,GACzCztB,EAAsD,+BAkCpIwtB,GAjCmGxtB,EAAoByJ,EAAEikB,GAiChG,SAAUC,GAKrC,QAASH,KAGP,MAFA1c,GAAgBhR,KAAM0tB,GAEfI,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUuB,EAAWG,EAErB,IAAIC,GAASrB,EAAaiB,EA0X1B,OAlXAlc,GAAakc,IACXjkB,IAAK,SACL7E,MASA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAW6N,EAAUK,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GAClH1D,KAAKmM,UAAY,YAEjBnM,KAAKqN,QAELugB,EAAA,SAAmE3N,SAAS,aAC1E+N,MAAS,SACTC,MAAS,SACTC,WAAc,OACdC,SAAY,WACZC,KAAQ,QACRC,IAAO,YASX5kB,IAAK,QACL7E,MAAO,WACL,GAAI6T,GAASzY,IAEbA,MAAKsuB,iBAAkB,EACvBtuB,KAAKuuB,MAAQvuB,KAAKwM,SAAS+W,SAAS,yBACpCvjB,KAAKuuB,MAAMnhB,KAAK,SAAUohB,EAAK/f,GAC7B,GAAIJ,GAAMlE,IAA8CsE,GACpDggB,EAAWpgB,EAAIkV,SAAS,sBACxB/kB,EAAKiwB,EAAS,GAAGjwB,IAAM0E,OAAOyqB,EAAA,aAAqE,EAAG,aACtGe,EAASjgB,EAAGjQ,GAAK,GAAGkO,OAAO+B,EAAGjQ,GAAI,UAAY,GAAGkO,OAAOlO,EAAI,SAChE6P,GAAIH,KAAK,WAAWzB,MAClBkiB,gBAAiBnwB,EACjBA,GAAMkwB,EACNhL,iBAAiB,IAEnB+K,EAAShiB,MACPsW,KAAQ,SACR6L,kBAAmBF,EACnB9K,eAAe,EACfplB,GAAMA,KAGV,IAAIqwB,GAAc7uB,KAAKwM,SAAS0B,KAAK,cAAcqV,SAAS,qBAExDsL,GAAY7pB,SAEdhF,KAAK8uB,eAAiBD,EAAYE,KAAK,KAAKtiB,KAAK,QAEjDzM,KAAKgvB,eAAeH,IAGtB7uB,KAAKivB,eAAiB,WACpB,GAAI7T,GAASjd,OAAOC,SAAS8wB,IAE7B,KAAK9T,EAAOpW,OAAQ,CAElB,GAAIyT,EAAO6V,gBAAiB,MAExB7V,GAAOqW,iBAAgB1T,EAAS3C,EAAOqW,gBAG7C,GAAIK,GAAU/T,GAAUjR,IAA8CiR,GAElEgU,EAAQhU,GAAU3C,EAAOjM,SAAS0B,KAAK,WAAYxB,OAAO0O,EAAQ,OAGlEiU,KAAiBF,EAAQnqB,SAAUoqB,EAAMpqB,OAEzCqqB,KAEEF,GAAWC,GAASA,EAAMpqB,OACvBoqB,EAAM7V,OAAO,yBAAyB+V,SAAS,cAClD7W,EAAOuW,eAAeG,GAIxB1W,EAAO8W,gBAIL9W,EAAO/U,QAAQ8rB,gBACjBtsB,OAAOyqB,EAAA,QAAgExjB,IAA8ChM,QAAS,WAC5H,GAAIic,GAAS3B,EAAOjM,SAAS4N,QAE7BjQ,KAA8C,cAAcqX,SAC1DiO,UAAWrV,EAAOC,IAAM5B,EAAO/U,QAAQgsB,sBACtCjX,EAAO/U,QAAQisB,uBAStBlX,EAAOjM,SAASI,QAAQ,yBAA0BwiB,EAAOD,MAKzDnvB,KAAK0D,QAAQksB,UACf5vB,KAAKivB,iBAGPjvB,KAAK6vB,UAEL7vB,KAAKsuB,iBAAkB,KAQzB7kB,IAAK,UACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEZA,MAAKuuB,MAAMnhB,KAAK,WACd,GAAIa,GAAQ9D,IAA8CnK,MACtD8vB,EAAc7hB,EAAMsV,SAAS,qBAE7BuM,GAAY9qB,QACdiJ,EAAMsV,SAAS,KAAKzG,IAAI,2CAA2CpE,GAAG,qBAAsB,SAAUpV,GACpGA,EAAEkd,iBAEFlT,EAAMyiB,OAAOD,KACZpX,GAAG,uBAAwB,SAAUpV,GACtCsqB,EAAA,SAAmExO,UAAU9b,EAAG,aAC9EysB,OAAQ,WACNziB,EAAMyiB,OAAOD,IAEf/a,KAAM,WACJ,GAAIib,GAAK/hB,EAAM8G,OAAO7G,KAAK,KAAKuS,OAE3BnT,GAAM5J,QAAQusB,aACjBD,EAAGpjB,QAAQ,uBAGfsjB,SAAU,WACR,GAAIF,GAAK/hB,EAAM8gB,OAAO7gB,KAAK,KAAKuS,OAE3BnT,GAAM5J,QAAQusB,aACjBD,EAAGpjB,QAAQ,uBAGfoa,MAAO,WACL,GAAIgJ,GAAK1iB,EAAMihB,MAAMvH,QAAQ9Y,KAAK,oBAAoBuS,OAEjDnT,GAAM5J,QAAQusB,aACjBD,EAAGpjB,QAAQ,uBAGfujB,KAAM,WACJ,GAAIH,GAAK1iB,EAAMihB,MAAM4B,OAAOjiB,KAAK,oBAAoBuS,OAEhDnT,GAAM5J,QAAQusB,aACjBD,EAAGpjB,QAAQ,uBAGfmT,QAAS,WACPzc,EAAEkd,wBAORxgB,KAAK0D,QAAQksB,UACfzlB,IAA8ChM,QAAQua,GAAG,aAAc1Y,KAAKivB,mBAUhFxlB,IAAK,SACL7E,MAAO,SAAgBkmB,GACrB,GAAIA,EAAQpjB,QAAQ,oBAAoBmQ,GAAG,cAEzC,WADA/J,SAAQkI,KAAK,+CAWf,IAPI8U,EAAQvR,SAAS+V,SAAS,aAC5BtvB,KAAKowB,GAAGtF,GAER9qB,KAAKqwB,KAAKvF,GAIR9qB,KAAK0D,QAAQksB,SAAU,CACzB,GAAIxU,GAAS0P,EAAQiE,KAAK,KAAKtiB,KAAK,OAEhCzM,MAAK0D,QAAQ4sB,cACfC,QAAQC,aAAc,GAAIpV,GAE1BmV,QAAQE,gBAAiB,GAAIrV,OAYnC3R,IAAK,OACL7E,MAAO,SAAckmB,GACnB,MAAIA,GAAQpjB,QAAQ,oBAAoBmQ,GAAG,kBACzC/J,SAAQkI,KAAK,2DAIXhW,KAAK0D,QAAQusB,YAAajwB,KAAK0wB,SAAS5F,GAAc9qB,KAAKgvB,eAAelE,OAYhFrhB,IAAK,KACL7E,MAAO,SAAYkmB,GACjB,GAAI9qB,KAAKwM,SAASqL,GAAG,cAEnB,WADA/J,SAAQkI,KAAK,mDAKf,IAAI2a,GAAc7F,EAAQvR,QAC1B,IAAKoX,EAAYrB,SAAS,aAA1B,CAEA,GAAIsB,GAAeD,EAAYE,YAC1B7wB,KAAK0D,QAAQotB,gBAAmBF,EAAatB,SAAS,eAE3DtvB,KAAK+wB,UAAUjG,OAUjBrhB,IAAK,iBACL7E,MAAO,SAAwBkmB,GAE7B,GAAIkG,GAAkBhxB,KAAKwM,SAAS+W,SAAS,cAAcA,SAAS,qBAEhEyN,GAAgBhsB,QAClBhF,KAAK+wB,UAAUC,EAAgB7G,IAAIW,IAIrC9qB,KAAK0wB,SAAS5F,MAWhBrhB,IAAK,WACL7E,MAAO,SAAkBkmB,GACvB,GAAImG,GAASjxB,KAET2wB,EAAc7F,EAAQvR,SACtB2X,EAAkBpG,EAAQre,KAAK,kBACnCqe,GAAQre,KAAK,eAAe,GAC5BkkB,EAAYxO,SAAS,aACrBhY,IAA8C,IAAIuC,OAAOwkB,IAAkBzkB,MACzEiX,iBAAiB,IAEnBoH,EAAQnJ,SAASwP,UAAUnxB,KAAK0D,QAAQ0tB,WAAY,WAKlDH,EAAOzkB,SAASI,QAAQ,qBAAsBke,SAYlDrhB,IAAK,YACL7E,MAAO,SAAmBkmB,GACxB,GAAIuG,GAASrxB,KAET2wB,EAAc7F,EAAQvR,SACtB2X,EAAkBpG,EAAQre,KAAK,kBACnCqe,GAAQre,KAAK,eAAe,GAC5BkkB,EAAY7hB,YAAY,aACxB3E,IAA8C,IAAIuC,OAAOwkB,IAAkBzkB,MACzEiX,iBAAiB,IAEnBoH,EAAQnJ,SAAS2P,QAAQtxB,KAAK0D,QAAQ0tB,WAAY,WAKhDC,EAAO7kB,SAASI,QAAQ,mBAAoBke,SAWhDrhB,IAAK,gBACL7E,MAAO,WACL,GAAI2sB,GAAcvxB,KAAKwM,SAAS+W,SAAS,cAAcA,SAAS,qBAE5DgO,GAAYvsB,QACdhF,KAAK+wB,UAAUQ,MAUnB9nB,IAAK,WACL7E,MAAO,WACL5E,KAAKwM,SAAS0B,KAAK,sBAAsBsjB,MAAK,GAAMF,QAAQ,GAAGna,IAAI,UAAW,IAC9EnX,KAAKwM,SAAS0B,KAAK,KAAK4O,IAAI,iBAExB9c,KAAK0D,QAAQksB,UACfzlB,IAA8ChM,QAAQ2e,IAAI,aAAc9c,KAAKivB,oBAK5EvB,GACPC,EAAA,QAEFD,GAAUK,UAORqD,WAAY,IAQZnB,aAAa,EAQba,gBAAgB,EAShBlB,UAAU,EAQVJ,gBAAgB,EAQhBG,oBAAqB,IAQrBD,qBAAsB,EAQtBY,eAAe,IAMXmB,EAKC,SAAS5xB,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAoH,iDAK/H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MpB6zBJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KqBr9CjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,WAChH,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,6BAA8B,yBAA0B,UAAWH,GACtE,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,4BAA8BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,YAE9JjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,4BAA8BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,wBAAyBA,EAAA,UACxTvB,OAAQ,SAAS4a,EAA8C+S,EAAuD4F,EAAmD9oB,GAC5K,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgT,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX6F,yBAKC,SAAS9xB,EAAQD,GAExBC,EAAOD,QAAU8xB,GAIXE,mDAKC,SAAS/xB,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI2Y,GAAyD3xB,EAA0D,mCAC9GA,GAAoB4I,EAAEmB,EAAqB,gBAAiB,WAAa,MAAO4nB,GAAA,gBAI9G3Y,EAAA,WAA4DjN,OAAO4lB,EAAA,cAAyE,kBAKtIC,mCAKC,SAASjyB,EAAQoK,EAAqB/J,GAE7C,YAWA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GA9BxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,gBAAiB,WAAa,MAAO8nB,IAC1F,IAAI7nB,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFiT,EAAyDjd,EAAsD,8BAE/G8xB,GAD8E9xB,EAAoByJ,EAAEwT,GAC/Cjd,EAAkD,2BAEvGoK,GAD0EpK,EAAoByJ,EAAEqoB,GAC1C9xB,EAAmD,sBAoC9H6xB,GAnCgG7xB,EAAoByJ,EAAEW,GAmCzF,SAAUujB,GAKzC,QAASkE,KAGP,MAFA/gB,GAAgBhR,KAAM+xB,GAEfjE,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAU4F,EAAelE,EAEzB,IAAIC,GAASrB,EAAasF,EA6U1B,OArUAvgB,GAAaugB,IACXtoB,IAAK,SACL7E,MASA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAWkS,EAAchE,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GACtH1D,KAAKmM,UAAY,gBAEjBnM,KAAKqN,QAEL8P,EAAA,SAAmE8C,SAAS,iBAC1E+N,MAAS,SACTC,MAAS,SACTgE,YAAe,OACf9D,SAAY,KACZD,WAAc,OACdgE,WAAc,QACdC,OAAU,gBASd1oB,IAAK,QACL7E,MAAO,WACLotB,EAAA,KAA2DnP,QAAQ7iB,KAAKwM,SAAU,YAElF,IAAIc,GAAQtN,IAEZA,MAAKwM,SAAS0B,KAAK,kBAAkBic,IAAI,cAAcmH,QAAQ,GAE/DtxB,KAAKwM,SAASC,MACZ2lB,uBAAwBpyB,KAAK0D,QAAQ2uB,YAEvCryB,KAAKsyB,WAAatyB,KAAKwM,SAAS0B,KAAK,gCACrClO,KAAKsyB,WAAWllB,KAAK,WACnB,GAAIshB,GAAS1uB,KAAKxB,IAAM0E,OAAOoH,EAAA,aAAoE,EAAG,iBAClG2D,EAAQ9D,IAA8CnK,MACtDsjB,EAAOrV,EAAMsV,SAAS,kBACtBgP,EAAQjP,EAAK,GAAG9kB,IAAM0E,OAAOoH,EAAA,aAAoE,EAAG,YACpGkoB,EAAWlP,EAAKgM,SAAS,YAE7B,IAAIhiB,EAAM5J,QAAQ+uB,WAAY,CAC5B,GAAItD,GAAUlhB,EAAMsV,SAAS,IAC7B4L,GAAQuD,QAAQC,UAAUrP,GAAMsP,KAAK,0GAGnCtlB,EAAM5J,QAAQmvB,eAChB5kB,EAAMkU,SAAS,sBACflU,EAAMsV,SAAS,KAAKuP,MAAM,eAAiBpE,EAAS,2CAA6C6D,EAAQ,oBAAsBC,EAAW,YAAcllB,EAAM5J,QAAQqvB,kBAAoB,uCAAyCzlB,EAAM5J,QAAQqvB,kBAAoB,qBAErQ9kB,EAAMxB,MACJkiB,gBAAiB4D,EACjB7O,gBAAiB8O,EACjBh0B,GAAMkwB,IAIVpL,EAAK7W,MACHmiB,kBAAmBF,EACnB9K,eAAgB4O,EAChBzP,KAAQ,QACRvkB,GAAM+zB,KAGV,IAAIS,GAAYhzB,KAAKwM,SAAS0B,KAAK,aAE/B8kB,GAAUhuB,QACZguB,EAAU5lB,KAAK,WACbE,EAAM+iB,KAAKlmB,IAA8CnK,SAI7DA,KAAK6vB,aAQPpmB,IAAK,UACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEZA,MAAKwM,SAAS0B,KAAK,MAAMd,KAAK,WAC5B,GAAI6lB,GAAW9oB,IAA8CnK,MAAMujB,SAAS,iBAExE0P,GAASjuB,SACPsI,EAAM5J,QAAQmvB,cAChB1oB,IAA8CnK,MAAMujB,SAAS,mBAAmBzG,IAAI,0BAA0BpE,GAAG,yBAA0B,WACzIpL,EAAMyiB,OAAOkD,KAGf9oB,IAA8CnK,MAAMujB,SAAS,KAAKzG,IAAI,0BAA0BpE,GAAG,yBAA0B,SAAUpV,GACrIA,EAAEkd,iBAEFlT,EAAMyiB,OAAOkD,QAIlBva,GAAG,2BAA4B,SAAUpV,GAC1C,GAEI4vB,GACAC,EAHA3mB,EAAWrC,IAA8CnK,MACzDozB,EAAY5mB,EAAS+M,OAAO,MAAMgK,SAAS,MAG3CuH,EAAUte,EAAS+W,SAAS,iBAChC6P,GAAUhmB,KAAK,SAAUzG,GACvB,GAAIwD,IAA8CnK,MAAM6X,GAAGrL,GAsBzD,MArBA0mB,GAAeE,EAAU9S,GAAGthB,KAAKuR,IAAI,EAAG5J,EAAI,IAAIuH,KAAK,KAAK8Y,QAC1DmM,EAAeC,EAAU9S,GAAGthB,KAAKwb,IAAI7T,EAAI,EAAGysB,EAAUpuB,OAAS,IAAIkJ,KAAK,KAAK8Y,QAEzE7c,IAA8CnK,MAAMujB,SAAS,0BAA0Bve,SAEzFmuB,EAAe3mB,EAAS0B,KAAK,kBAAkBA,KAAK,KAAK8Y,SAGvD7c,IAA8CnK,MAAM6X,GAAG,gBAEzDqb,EAAe1mB,EAAS6mB,QAAQ,MAAMrM,QAAQ9Y,KAAK,KAAK8Y,QAC/CkM,EAAaG,QAAQ,MAAMrM,QAAQzD,SAAS,0BAA0Bve,SAE/EkuB,EAAeA,EAAaG,QAAQ,MAAMnlB,KAAK,iBAAiBA,KAAK,KAAK8Y,cAGxE7c,IAA8CnK,MAAM6X,GAAG,iBAEzDsb,EAAe3mB,EAAS6mB,QAAQ,MAAMrM,QAAQjS,KAAK,MAAM7G,KAAK,KAAK8Y,YAMzE7J,EAAA,SAAmEiC,UAAU9b,EAAG,iBAC9EgwB,KAAM,WACAxI,EAAQjT,GAAG,aACbvK,EAAM+iB,KAAKvF,GAEXA,EAAQ5c,KAAK,MAAM8Y,QAAQ9Y,KAAK,KAAK8Y,QAAQvG,UAGjD8S,MAAO,WACDzI,EAAQ9lB,SAAW8lB,EAAQjT,GAAG,WAEhCvK,EAAM8iB,GAAGtF,GACAte,EAAS+M,OAAO,kBAAkBvU,SAE3CsI,EAAM8iB,GAAG5jB,EAAS+M,OAAO,mBAEzB/M,EAAS6mB,QAAQ,MAAMrM,QAAQ9Y,KAAK,KAAK8Y,QAAQvG,UAGrD2P,GAAI,WAEF,MADA8C,GAAazS,SACN,GAET4P,KAAM,WAEJ,MADA8C,GAAa1S,SACN,GAETsP,OAAQ,WACN,OAAIziB,EAAM5J,QAAQmvB,gBAIdrmB,EAAS+W,SAAS,kBAAkBve,QACtCsI,EAAMyiB,OAAOvjB,EAAS+W,SAAS,oBAExB,GAHT,SAMFiQ,SAAU,WACRlmB,EAAMmmB,WAER1T,QAAS,SAAiBS,GACpBA,GACFld,EAAEkd,yBAYZ/W,IAAK,UACL7E,MAAO,WACL5E,KAAKowB,GAAGpwB,KAAKwM,SAAS0B,KAAK,sBAQ7BzE,IAAK,UACL7E,MAAO,WACL5E,KAAKqwB,KAAKrwB,KAAKwM,SAAS0B,KAAK,sBAS/BzE,IAAK,SACL7E,MAAO,SAAgBkmB,GAChBA,EAAQjT,GAAG,eACTiT,EAAQjT,GAAG,WAGd7X,KAAKqwB,KAAKvF,GAFV9qB,KAAKowB,GAAGtF,OAadrhB,IAAK,OACL7E,MAAO,SAAckmB,GACnB,GAAIrS,GAASzY,IAIb,KAAKA,KAAK0D,QAAQ2uB,UAAW,CAG3B,GAAIqB,GAAgB5I,EAAQ6I,aAAa3zB,KAAKwM,UAAUonB,IAAI9I,GAAS8I,IAAI9I,EAAQ5c,KAAK,eAElF2lB,EAAwB7zB,KAAKwM,SAAS0B,KAAK,cAAcic,IAAIuJ,EACjE1zB,MAAKowB,GAAGyD,GAGV/I,EAAQ3I,SAAS,aAAa1V,MAC5BmX,eAAe,IAGb5jB,KAAK0D,QAAQmvB,cACf/H,EAAQiE,KAAK,mBAAmBtiB,MAC9BiX,iBAAiB,IAGnBoH,EAAQvR,OAAO,gCAAgC9M,MAC7CiX,iBAAiB,IAIrBoH,EAAQqG,UAAUnxB,KAAK0D,QAAQ0tB,WAAY,WAKzC3Y,EAAOjM,SAASI,QAAQ,yBAA0Bke,SAUtDrhB,IAAK,KACL7E,MAAO,SAAYkmB,GACjB,GAAImG,GAASjxB,KAET8zB,EAAYhJ,EAAQ5c,KAAK,kBACzB6lB,EAAYjJ,EAAQ8I,IAAIE,EAC5BA,GAAUxC,QAAQ,GAClByC,EAAUjlB,YAAY,aAAarC,KAAK,eAAe,GAEnDzM,KAAK0D,QAAQmvB,cACfkB,EAAUhF,KAAK,mBAAmBtiB,KAAK,iBAAiB,GAExDsnB,EAAUxa,OAAO,gCAAgC9M,KAAK,iBAAiB,GAGzEqe,EAAQwG,QAAQtxB,KAAK0D,QAAQ0tB,WAAY,WAKvCH,EAAOzkB,SAASI,QAAQ,uBAAwBke,SASpDrhB,IAAK,WACL7E,MAAO,WACL5E,KAAKwM,SAAS0B,KAAK,kBAAkBijB,UAAU,GAAGha,IAAI,UAAW,IACjEnX,KAAKwM,SAAS0B,KAAK,KAAK4O,IAAI,0BAC5B9c,KAAKwM,SAAS0B,KAAK,yBAAyB8lB,SAExCh0B,KAAK0D,QAAQmvB,gBACf7yB,KAAKwM,SAAS0B,KAAK,uBAAuBY,YAAY,sBACtD9O,KAAKwM,SAAS0B,KAAK,mBAAmB+lB,UAGxCjC,EAAA,KAA2DnO,KAAK7jB,KAAKwM,SAAU,iBAI5EulB,GACPznB,EAAA,QAEFynB,GAAchE,UAOZ0E,YAAY,EAQZrB,WAAY,IAOZyB,eAAe,EAOfE,kBAAmB,cAQnBV,WAAW,IAMPxvB,EAKC,SAAShD,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAwH,qDAKnI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MrB4+BJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KsB3kDjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,WAClJ,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,wBAAyB,6BAA8B,yBAA0B,UAAWH,GAC/F,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,wBAA0BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,YAE5LjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,wBAA0BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,uBAAwBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,wBAAyBA,EAAA,UAC5WvB,OAAQ,SAAS4a,EAA8Cmb,EAAkDpI,EAAuD4F,EAAmD9oB,GAC9N,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXob,wBAKC,SAASt0B,EAAQD,GAExBC,EAAOD,QAAUs0B,GAIXnI,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX6F,yBAKC,SAAS9xB,EAAQD,GAExBC,EAAOD,QAAU8xB,GAIX0C,+CAKC,SAASv0B,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAImb,GAAqDn0B,EAAsD,+BACtGA,GAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAOoqB,GAAA,YAI1Gnb,EAAA,WAA4DjN,OAAOooB,EAAA,UAAiE,cAK9HC,+BAKC,SAASz0B,EAAQoK,EAAqB/J,GAE7C,YAaA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GAhCxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAOsqB,IACtF,IAAIrqB,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFiT,EAAyDjd,EAAsD,8BAE/G8xB,GAD8E9xB,EAAoByJ,EAAEwT,GAC/Cjd,EAAkD,2BAEvGoK,GAD0EpK,EAAoByJ,EAAEqoB,GAC1C9xB,EAAmD,sBAEzGs0B,GAD2Et0B,EAAoByJ,EAAEW,GAC7CpK,EAAiD,0BAsC1Hq0B,GArC8Fr0B,EAAoByJ,EAAE6qB,GAqC3F,SAAU3G,GAKrC,QAAS0G,KAGP,MAFAvjB,GAAgBhR,KAAMu0B,GAEfzG,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUoI,EAAW1G,EAErB,IAAIC,GAASrB,EAAa8H,EA6lB1B,OArlBA/iB,GAAa+iB,IACX9qB,IAAK,SACL7E,MAQA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAW0U,EAAUxG,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GAClH1D,KAAKmM,UAAY,YAEjBnM,KAAKqN,QAEL8P,EAAA,SAAmE8C,SAAS,aAC1E+N,MAAS,OACTC,MAAS,OACTgE,YAAe,OACf9D,SAAY,KACZD,WAAc,OACdgE,WAAc,WACdC,OAAU,aASd1oB,IAAK,QACL7E,MAAO,WACLotB,EAAA,KAA2DnP,QAAQ7iB,KAAKwM,SAAU,aAE9ExM,KAAK0D,QAAQ+wB,gBACfz0B,KAAKwM,SAAS2V,SAAS,aAGzBniB,KAAKwM,SAASC,MACZ2lB,wBAAwB,IAE1BpyB,KAAK00B,gBAAkB10B,KAAKwM,SAAS0B,KAAK,kCAAkCqV,SAAS,KACrFvjB,KAAK8zB,UAAY9zB,KAAK00B,gBAAgBnb,OAAO,MAAMgK,SAAS,kBAAkB9W,KAAK,OAAQ,SAC3FzM,KAAK20B,WAAa30B,KAAKwM,SAAS0B,KAAK,MAAMic,IAAI,sBAAsBjc,KAAK,KAG1ElO,KAAK40B,aAAe50B,KAAKwM,SACzBxM,KAAKwM,SAASC,KAAK,cAAezM,KAAKwM,SAASC,KAAK,mBAAqBvJ,OAAOoH,EAAA,aAAoE,EAAG,cAExJtK,KAAK60B,eAEL70B,KAAK80B,kBAEL90B,KAAK+0B,qBAWPtrB,IAAK,eACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAKZA,MAAK00B,gBAAgBtnB,KAAK,WACxB,GAAIgiB,GAAQjlB,IAA8CnK,MACtDsjB,EAAO8L,EAAM7V,QAEbjM,GAAM5J,QAAQ+uB,YAChBrD,EAAMsD,QAAQC,UAAUrP,EAAKC,SAAS,mBAAmBqP,KAAK,sHAGhExD,EAAMziB,KAAK,YAAayiB,EAAM3iB,KAAK,SAASK,WAAW,QAAQL,KAAK,WAAY,GAChF2iB,EAAM7L,SAAS,kBAAkB9W,MAC/BmX,eAAe,EACfoR,SAAY,EACZjS,KAAQ,UAGVzV,EAAMuiB,QAAQT,KAEhBpvB,KAAK8zB,UAAU1mB,KAAK,WAClB,GAAI6nB,GAAQ9qB,IAA8CnK,MACtDk1B,EAAQD,EAAM/mB,KAAK,qBAEvB,KAAKgnB,EAAMlwB,OACT,OAAQsI,EAAM5J,QAAQyxB,oBACpB,IAAK,SACHF,EAAMG,OAAO9nB,EAAM5J,QAAQ2xB,WAC3B,MAEF,KAAK,MACHJ,EAAMK,QAAQhoB,EAAM5J,QAAQ2xB,WAC5B,MAEF,SACEvnB,QAAQC,MAAM,yCAA2CT,EAAM5J,QAAQyxB,mBAAqB,KAIlG7nB,EAAMioB,MAAMN,KAEdj1B,KAAK8zB,UAAU3R,SAAS,aAEnBniB,KAAK0D,QAAQ8xB,YAChBx1B,KAAK8zB,UAAU3R,SAAS,oCAIrBniB,KAAKwM,SAAS+M,SAAS+V,SAAS,kBACnCtvB,KAAKy1B,SAAWtrB,IAA8CnK,KAAK0D,QAAQgyB,SAASvT,SAAS,gBACzFniB,KAAK0D,QAAQiyB,eAAe31B,KAAKy1B,SAAStT,SAAS,kBACvDniB,KAAKwM,SAASomB,KAAK5yB,KAAKy1B,WAI1Bz1B,KAAKy1B,SAAWz1B,KAAKwM,SAAS+M,SAC9BvZ,KAAKy1B,SAASte,IAAInX,KAAK41B,kBAGzBnsB,IAAK,UACL7E,MAAO,WACL5E,KAAKy1B,SAASte,KACZ0e,YAAa,OACbC,aAAc,SAGhB91B,KAAKy1B,SAASte,IAAInX,KAAK41B,kBAUzBnsB,IAAK,UACL7E,MAAO,SAAiBqJ,GACtB,GAAIX,GAAQtN,IAEZiO,GAAM6O,IAAI,sBAAsBpE,GAAG,qBAAsB,SAAUpV,GAUjE,GATI6G,IAA8C7G,EAAEyC,QAAQ4tB,aAAa,KAAM,MAAMrE,SAAS,gCAC5FhsB,EAAEkd,iBAMJlT,EAAMyoB,MAAM9nB,EAAMsL,OAAO,OAErBjM,EAAM5J,QAAQsyB,aAAc,CAC9B,GAAIC,GAAQ9rB,IAA8C,OAC1D8rB,GAAMnZ,IAAI,iBAAiBpE,GAAG,qBAAsB,SAAUwd,GACxDA,EAAGnwB,SAAWuH,EAAMd,SAAS,IAAMrC,EAA4CK,EAAE2rB,SAAS7oB,EAAMd,SAAS,GAAI0pB,EAAGnwB,UAIpHmwB,EAAG1V,iBAEHlT,EAAM8oB,WAENH,EAAMnZ,IAAI,0BAYlBrT,IAAK,kBACL7E,MAAO,WACD5E,KAAK0D,QAAQ+rB,YACfzvB,KAAKq2B,aAAer2B,KAAKs2B,WAAW5sB,KAAK1J,MACzCA,KAAKwM,SAASkM,GAAG,6EAA8E1Y,KAAKq2B;AAGtGr2B,KAAKwM,SAASkM,GAAG,sBAAuB1Y,KAAKu2B,QAAQ7sB,KAAK1J,UAS5DyJ,IAAK,aACL7E,MAAO,WACL,GAAI0I,GAAQtN,KAERw2B,EAAuD,KAAnClpB,EAAM5J,QAAQ+yB,iBAA0BtsB,IAA8CmD,EAAM5J,QAAQ+yB,kBAAoBnpB,EAAMd,SAClJkqB,EAAYhZ,SAAS8Y,EAAkBpc,SAASC,IAAM/M,EAAM5J,QAAQizB,gBAAiB,GACzFxsB,KAA8C,cAAcqnB,MAAK,GAAMhQ,SACrEiO,UAAWiH,GACVppB,EAAM5J,QAAQkzB,kBAAmBtpB,EAAM5J,QAAQmzB,gBAAiB,WAK7D72B,OAASmK,IAA8C,QAAQ,IAAImD,EAAMd,SAASI,QAAQ,8BASlGnD,IAAK,kBACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEZA,MAAK20B,WAAWf,IAAI5zB,KAAKwM,SAAS0B,KAAK,wDAAwDwK,GAAG,uBAAwB,SAAUpV,GAClI,GAEI4vB,GACAC,EAHA3mB,EAAWrC,IAA8CnK,MACzDozB,EAAY5mB,EAAS+M,OAAO,MAAMA,OAAO,MAAMgK,SAAS,MAAMA,SAAS,IAG3E6P,GAAUhmB,KAAK,SAAUzG,GACvB,GAAIwD,IAA8CnK,MAAM6X,GAAGrL,GAGzD,MAFA0mB,GAAeE,EAAU9S,GAAGthB,KAAKuR,IAAI,EAAG5J,EAAI,SAC5CwsB,EAAeC,EAAU9S,GAAGthB,KAAKwb,IAAI7T,EAAI,EAAGysB,EAAUpuB,OAAS,OAInEmY,EAAA,SAAmEiC,UAAU9b,EAAG,aAC9EyR,KAAM,WACJ,GAAIvI,EAASqL,GAAGvK,EAAMonB,iBAMpB,MALApnB,GAAMyoB,MAAMvpB,EAAS+M,OAAO,OAE5B/M,EAAS+M,OAAO,MAAMxG,IAAI7P,OAAOoH,EAAA,eAAsEkC,GAAW,WAChHA,EAAS+M,OAAO,MAAMrL,KAAK,WAAWic,IAAI,wBAAwBnD,QAAQvG,WAErE,GAGXyP,SAAU,WAQR,MAPA5iB,GAAMwpB,MAAMtqB,EAAS+M,OAAO,MAAMA,OAAO,OAEzC/M,EAAS+M,OAAO,MAAMA,OAAO,MAAMxG,IAAI7P,OAAOoH,EAAA,eAAsEkC,GAAW,WAC7HmD,WAAW,WACTnD,EAAS+M,OAAO,MAAMA,OAAO,MAAMA,OAAO,MAAMgK,SAAS,KAAKyD,QAAQvG,SACrE,MAEE,GAET2P,GAAI,WAGF,MAFA8C,GAAazS,SAELjU,EAASqL,GAAGvK,EAAMd,SAAS0B,KAAK,0BAE1CmiB,KAAM,WAGJ,MAFA8C,GAAa1S,SAELjU,EAASqL,GAAGvK,EAAMd,SAAS0B,KAAK,yBAE1CqlB,MAAO,WAEA/mB,EAASqL,GAAGvK,EAAMd,SAAS0B,KAAK,eACnCZ,EAAMwpB,MAAMtqB,EAAS+M,SAASA,UAE9B/M,EAAS+M,SAASA,SAASsX,SAAS,KAAKpQ,UAG7C6S,KAAM,WACJ,QAAIhmB,EAAM5J,QAAQ+uB,aAAcjmB,EAASC,KAAK,WAGlCD,EAASqL,GAAGvK,EAAMqnB,YAUnBnoB,EAASqL,GAAGvK,EAAMonB,kBAE3BpnB,EAAMyoB,MAAMvpB,EAAS+M,OAAO,OAE5B/M,EAAS+M,OAAO,MAAMxG,IAAI7P,OAAOoH,EAAA,eAAsEkC,GAAW,WAChHA,EAAS+M,OAAO,MAAMrL,KAAK,WAAWic,IAAI,wBAAwBnD,QAAQvG,WAErE,GAPF,QARLnT,EAAMwpB,MAAMtqB,EAAS+M,OAAO,MAAMA,OAAO,OAEzC/M,EAAS+M,OAAO,MAAMA,OAAO,MAAMxG,IAAI7P,OAAOoH,EAAA,eAAsEkC,GAAW,WAC7HmD,WAAW,WACTnD,EAAS+M,OAAO,MAAMA,OAAO,MAAMA,OAAO,MAAMgK,SAAS,KAAKyD,QAAQvG,SACrE,MAEE,KAWXV,QAAS,SAAiBS,GACpBA,GACFld,EAAEkd,yBAcZ/W,IAAK,WACL7E,MAAO,WACL,GAAI6T,GAASzY,KAETiO,EAAQjO,KAAKwM,SAAS0B,KAAK,kCAG/B,IAFAD,EAAMkU,SAAS,cAEXniB,KAAK0D,QAAQ8xB,WAAY,CAC3B,GAAIuB,GAAa9oB,EAAMsL,SAAS7R,QAAQ,MAAMiF,KAAK,aACnD3M,MAAKy1B,SAASte,KACZgD,OAAQ4c,IASZ/2B,KAAKwM,SAASI,QAAQ,sBACtBqB,EAAM8E,IAAI7P,OAAOoH,EAAA,eAAsE2D,GAAQ,WAC7FA,EAAMa,YAAY,wBAMlB2J,EAAOjM,SAASI,QAAQ,4BAW5BnD,IAAK,QACL7E,MAAO,SAAeqJ,GACpB,GAAIX,GAAQtN,IAEZiO,GAAM6O,IAAI,sBACV7O,EAAMsV,SAAS,sBAAsB7K,GAAG,qBAAsB,WAC5DpL,EAAMwpB,MAAM7oB,EAGZ,IAAI+oB,GAAgB/oB,EAAMsL,OAAO,MAAMA,OAAO,MAAMA,OAAO,KAEvDyd,GAAchyB,OAChBsI,EAAMyoB,MAAMiB,GAEZ1pB,EAAMsnB,aAAetnB,EAAMd,cAWjC/C,IAAK,kBACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEZA,MAAK20B,WAAWxK,IAAI,gCAAgCrN,IAAI,sBAAsBpE,GAAG,qBAAsB,WACrG/I,WAAW,WACTrC,EAAM8oB,YACL,QAYP3sB,IAAK,yBACL7E,MAAO,SAAgCqJ,EAAOrB,GAC5CqB,EAAMkU,SAAS,aAAarT,YAAY,aAAarC,KAAK,eAAe,GACzEwB,EAAMsL,OAAO,MAAM9M,KAAK,iBAAiB,GAErCG,KAAY,GACd5M,KAAKwM,SAASI,QAAQ,qBAAsBqB,OAYhDxE,IAAK,yBACL7E,MAAO,SAAgCqJ,EAAOrB,GAC5CqB,EAAMa,YAAY,aAAaqT,SAAS,aAAa1V,KAAK,eAAe,GACzEwB,EAAMsL,OAAO,MAAM9M,KAAK,iBAAiB,GAErCG,KAAY,GACdqB,EAAMrB,QAAQ,qBAAsBqB,OAaxCxE,IAAK,YACL7E,MAAO,SAAmBqJ,EAAOgpB,GAC/B,GAAI3pB,GAAQtN,KAGRk3B,EAAoBl3B,KAAKwM,SAAS0B,KAAK,8CAO3C,IANAgpB,EAAkB9pB,KAAK,WACrBE,EAAM6pB,uBAAuBhtB,IAA8CnK,SAG7EA,KAAK40B,aAAe3mB,EAEhBA,EAAM4J,GAAG,oBAGX,MAFIof,MAAc,GAAMhpB,EAAMC,KAAK,UAAU8Y,QAAQvG,aACjDzgB,KAAK0D,QAAQ8xB,YAAYx1B,KAAKy1B,SAASte,IAAI,SAAUlJ,EAAMtB,KAAK,eAKtE,IAAImnB,GAAY7lB,EAAMsV,WAAWyD,QAAQ2M,aAAa,mBAAoB,iBAE1EG,GAAU1mB,KAAK,SAAUgqB,GAET,IAAVA,GAAe9pB,EAAM5J,QAAQ8xB,YAC/BloB,EAAMmoB,SAASte,IAAI,SAAUhN,IAA8CnK,MAAM2M,KAAK,cAGxF,IAAI0qB,GAAcD,IAAUtD,EAAU9uB,OAAS,CAG3CqyB,MAAgB,GAClBltB,IAA8CnK,MAAM+S,IAAI7P,OAAOoH,EAAA,eAAsEH,IAA8CnK,OAAQ,WACrLi3B,KAAc,GAChBhpB,EAAMC,KAAK,UAAU8Y,QAAQvG,UAKnCnT,EAAMgqB,uBAAuBntB,IAA8CnK,MAAOq3B,QAWtF5tB,IAAK,QACL7E,MAAO,SAAeqJ,GACpB,GAAIglB,GAAWhlB,EAAMsV,SAAS,iBAC9BtV,GAAMxB,KAAK,iBAAiB,GAC5BzM,KAAK40B,aAAe3B,EAGpBhlB,EAAMsL,SAAS7R,QAAQ,MAAMya,SAAS,aAEtC8Q,EAAS9Q,SAAS,qBAAqBrT,YAAY,aAAarC,KAAK,eAAe,GAEhFzM,KAAK0D,QAAQ8xB,YACfx1B,KAAKy1B,SAASte,KACZgD,OAAQ8Y,EAAStmB,KAAK,gBAS1B3M,KAAKwM,SAASI,QAAQ,qBAAsBqB,OAU9CxE,IAAK,QACL7E,MAAO,SAAeqJ,GAChBjO,KAAK0D,QAAQ8xB,YAAYx1B,KAAKy1B,SAASte,KACzCgD,OAAQlM,EAAMsL,SAAS7R,QAAQ,MAAMiF,KAAK,gBAE5CsB,EAAMsL,SAAS7R,QAAQ,MAAMoH,YAAY,aACzCb,EAAMsL,OAAO,MAAM9M,KAAK,iBAAiB,GACzCwB,EAAMxB,KAAK,eAAe,GAC1BwB,EAAMkU,SAAS,cAAcpP,IAAI7P,OAAOoH,EAAA,eAAsE2D,GAAQ,WACpHA,EAAMa,YAAY,gCAClBb,EAAMspB,OAAOpV,SAAS,eAOxBlU,EAAMrB,QAAQ,qBAAsBqB,OAUtCxE,IAAK,cACL7E,MAAO,WACL,GAAI4yB,GAAY,EACZ3K,KACAvf,EAAQtN,IAaZ,OAVAA,MAAK8zB,UAAUF,IAAI5zB,KAAKwM,UAAUY,KAAK,WACrC,GAAI+M,GAASqa,EAAA,IAAyDva,cAAcja,MAAMma,MAC1Fqd,GAAYrd,EAASqd,EAAYrd,EAASqd,EAEtClqB,EAAM5J,QAAQ8xB,YAChBrrB,IAA8CnK,MAAM2M,KAAK,aAAcwN,KAGvEna,KAAK0D,QAAQ8xB,WAAY3I,EAAO1S,OAASna,KAAK40B,aAAajoB,KAAK,cAAmBkgB,EAAO,cAAgB,GAAGngB,OAAO8qB,EAAW,MACnI3K,EAAO,aAAe,GAAGngB,OAAO1M,KAAKwM,SAAS,GAAGmO,wBAAwBhE,MAAO,MACzEkW,KAQTpjB,IAAK,WACL7E,MAAO,WACLuF,IAA8C,QAAQ2S,IAAI,iBACtD9c,KAAK0D,QAAQ+rB,WAAWzvB,KAAKwM,SAASsQ,IAAI,gBAAiB9c,KAAKq2B,cAEpEr2B,KAAKo2B,WAELp2B,KAAKwM,SAASsQ,IAAI,uBAClBkV,EAAA,KAA2DnO,KAAK7jB,KAAKwM,SAAU,aAC/ExM,KAAKwM,SAASirB,SAASvpB,KAAK,+CAA+C+lB,SAASv1B,MAAMwP,KAAK,kDAAkDY,YAAY,6CAA6CgO,IAAI,oDAAoDpe,MAAMwP,KAAK,kBAAkBpB,WAAW,6BAC1S9M,KAAK00B,gBAAgBtnB,KAAK,WACxBjD,IAA8CnK,MAAM8c,IAAI,mBAE1D9c,KAAKwM,SAAS0B,KAAK,yBAAyB8lB,SAC5Ch0B,KAAK8zB,UAAUhlB,YAAY,8CAC3B9O,KAAKwM,SAAS0B,KAAK,KAAKd,KAAK,WAC3B,GAAIgiB,GAAQjlB,IAA8CnK,KAC1DovB,GAAMtiB,WAAW,YAEbsiB,EAAMziB,KAAK,cACbyiB,EAAM3iB,KAAK,OAAQ2iB,EAAMziB,KAAK,cAAcI,WAAW,mBAQxDwnB,GACPjqB,EAAA,QAEFiqB,GAAUxG,UAQR0G,gBAAgB,EAQhBY,WAAY,8DAQZF,mBAAoB,MAQpBO,QAAS,cAQTjD,YAAY,EAQZuD,cAAc,EAQdR,YAAY,EAQZG,eAAe,EAQflG,WAAW,EAQXgH,iBAAkB,GAQlBE,gBAAiB,EAQjBC,kBAAmB,IASnBC,gBAAiB,UAOb/zB,EAKC,SAASjD,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAoH,iDAK/H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MtBy3BJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KuB5zDjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,4BAA6BA,QAAQ,2BAA4BA,QAAQ,WACxL,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,wBAAyB,6BAA8B,2BAA4B,0BAA2B,UAAWH,GAC5H,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,uBAAyBD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,4BAA6BA,QAAQ,2BAA4BA,QAAQ,YAEjOjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,uBAAyBC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,uBAAwBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,0BAA2BA,EAAA,wBAAgC,yBAA0BA,EAAA,UACvavB,OAAQ,SAAS4a,EAA8Cmb,EAAkDpI,EAAuD/D,EAAqD2P,EAAoD9uB,GACpR,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXob,wBAKC,SAASt0B,EAAQD,GAExBC,EAAOD,QAAUs0B,GAIXnI,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX9D,2BAKC,SAASnoB,EAAQD,GAExBC,EAAOD,QAAUmoB,GAIX4P,0BAKC,SAAS93B,EAAQD,GAExBC,EAAOD,QAAU83B,GAIXE,8CAKC,SAAS/3B,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI2e,GAAoD33B,EAAqD,8BACpGA,GAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAO4tB,GAAA,WAIzG3e,EAAA,WAA4DjN,OAAO4rB,EAAA,SAA+D,aAK5HC,8BAKC,SAASj4B,EAAQoK,EAAqB/J,GAE7C,YAaA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAAS6mB,GAAKhyB,EAAQ8D,EAAUmuB,GAAuV,OAAtRD,EAA9B,mBAAZ9K,UAA2BA,QAAQ7pB,IAAc6pB,QAAQ7pB,IAAqB,SAAc2C,EAAQ8D,EAAUmuB,GAAY,GAAIC,GAAOC,EAAenyB,EAAQ8D,EAAW,IAAKouB,EAAL,CAAmB,GAAIE,GAAOj1B,OAAOk1B,yBAAyBH,EAAMpuB,EAAW,OAAIsuB,GAAK/0B,IAAc+0B,EAAK/0B,IAAI9C,KAAK03B,GAAoBG,EAAKvzB,SAAwBmB,EAAQ8D,EAAUmuB,GAAYjyB,GAEja,QAASmyB,GAAetuB,EAAQC,GAAY,MAAQ3G,OAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,KAAaD,EAASmjB,EAAgBnjB,GAAwB,OAAXA,KAA0B,MAAOA,GAErL,QAASuiB,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GApCxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOouB,IACrF,IAAInuB,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFiT,EAAyDjd,EAAsD,8BAE/Go4B,GAD8Ep4B,EAAoByJ,EAAEwT,GAC9Cjd,EAAmD,sBAEzGq4B,GAD2Er4B,EAAoByJ,EAAE2uB,GACzCp4B,EAAqD,oCAC7Gs4B,EAAyDt4B,EAAsD,oCAC/Gu4B,EAAsDv4B,EAAmD,2BA2C9Hm4B,GA1CgGn4B,EAAoByJ,EAAE8uB,GA0C9F,SAAUC,GAKpC,QAASL,KAGP,MAFArnB,GAAgBhR,KAAMq4B,GAEfvK,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUkM,EAAUK,EAEpB,IAAI5K,GAASrB,EAAa4L,EAqW1B,OA7VA7mB,GAAa6mB,IACX5uB,IAAK,SACL7E,MASA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAWwY,EAAStK,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GACjH1D,KAAKmM,UAAY,WAGjBssB,EAAA,MAA6D7T,KAAKza,EAA4CK,GAC9GguB,EAAA,SAAmE5T,KAAKza,EAA4CK,GAEpHxK,KAAKqN,QAEL8P,EAAA,SAAmE8C,SAAS,YAC1E+N,MAAS,SACTC,MAAS,SACTkE,OAAU,aAUd1oB,IAAK,QACL7E,MAAO,WACL,GAAI+zB,GAAM34B,KAAKwM,SAASC,KAAK,KAC7BzM,MAAK44B,SAAWzuB,IAA8C,iBAAkBuC,OAAOisB,EAAK,OAAQ3zB,OAASmF,IAA8C,iBAAkBuC,OAAOisB,EAAK,OAAUxuB,IAA8C,eAAgBuC,OAAOisB,EAAK,OAC7Q34B,KAAK44B,SAASnsB,MACZkiB,gBAAiBgK,EACjBE,iBAAiB,EACjBC,gBAAiBH,EACjBnV,iBAAiB,EACjBE,iBAAiB,IAGnB1jB,KAAK+4B,kBAAkB/4B,KAAK44B,SAAS5R,SAEjChnB,KAAK0D,QAAQs1B,YACfh5B,KAAKi5B,QAAUj5B,KAAKwM,SAAS6mB,QAAQ,IAAMrzB,KAAK0D,QAAQs1B,aAExDh5B,KAAKi5B,QAAU,KAIoC,mBAA1Cj5B,MAAKwM,SAASC,KAAK,qBAEkB,mBAAnCzM,MAAKk5B,eAAezsB,KAAK,OAClCzM,KAAKk5B,eAAezsB,KAAK,KAAMvJ,OAAOo1B,EAAA,aAAoE,EAAG,cAG/Gt4B,KAAKwM,SAASC,KAAK,kBAAmBzM,KAAKk5B,eAAezsB,KAAK,QAGjEzM,KAAKwM,SAASC,MACZmX,cAAe,OACfkV,gBAAiBH,EACjBQ,cAAeR,IAGjBZ,EAAKhL,EAAgBsL,EAAS/wB,WAAY,QAAStH,MAAMM,KAAKN,MAE9DA,KAAK6vB,aAGPpmB,IAAK,sBACL7E,MAAO,WAEL,GAAIuD,GAAWnI,KAAKwM,SAAS,GAAGL,UAAUpF,MAAM,2BAEhD,OAAIoB,GACKA,EAAS,GAET,YAIXsB,IAAK,uBACL7E,MAAO,WAEL,GAAIw0B,GAAqB,cAAcl7B,KAAK8B,KAAKk5B,eAAezsB,KAAK,SAErE,OAAI2sB,GACKA,EAAmB,GAGrBrB,EAAKhL,EAAgBsL,EAAS/wB,WAAY,uBAAwBtH,MAAMM,KAAKN,SAUtFyJ,IAAK,eACL7E,MAAO,WACL5E,KAAKwM,SAASsC,YAAY,gBAAgBpC,OAAO1M,KAAKmI,SAAU,mBAAmBuE,OAAO1M,KAAKqb,YAE/F0c,EAAKhL,EAAgBsL,EAAS/wB,WAAY,eAAgBtH,MAAMM,KAAKN,KAAMA,KAAKk5B,eAAgBl5B,KAAKwM,SAAUxM,KAAKi5B,SAEpHj5B,KAAKwM,SAAS2V,SAAS,gBAAgBzV,OAAO1M,KAAKmI,SAAU,mBAAmBuE,OAAO1M,KAAKqb,eAW9F5R,IAAK,oBACL7E,MAAO,SAA2B6J,GAChCzO,KAAKk5B,eAAiB/uB,IAA8CsE,MAStEhF,IAAK,UACL7E,MAAO,WACL,GAAI0I,GAAQtN,KACRq5B,EAAW,gBAAkBl7B,SAAyC,mBAAxBA,QAAOm7B,YAEzDt5B,MAAKwM,SAASkM,IACZ6gB,kBAAmBv5B,KAAKszB,KAAK5pB,KAAK1J,MAClCw5B,mBAAoBx5B,KAAKuzB,MAAM7pB,KAAK1J,MACpCy5B,oBAAqBz5B,KAAK+vB,OAAOrmB,KAAK1J,MACtC05B,sBAAuB15B,KAAK25B,aAAajwB,KAAK1J,QAEhDA,KAAK44B,SAAS9b,IAAI,oBAAoBpE,GAAG,mBAAoB,SAAUpV,GACrEgK,EAAMyrB,kBAAkB/4B,OAGxBsN,EAAM5J,QAAQk2B,eAAgB,GAE9BP,GAAY/rB,EAAM5J,QAAQm2B,OAASvsB,EAAMd,SAAS8iB,SAAS,cAAe,IACxEhsB,EAAEkd,mBAIFxgB,KAAK0D,QAAQm2B,QACf75B,KAAK44B,SAAS9b,IAAI,iDAAiDpE,GAAG,yBAA0B,WAC9FpL,EAAMyrB,kBAAkB/4B,KAExB,IAAI85B,GAAW3vB,IAA8C,QAAQwC,MAEnC,oBAAvBmtB,GAASC,WAAoD,UAAvBD,EAASC,YACxDvpB,aAAalD,EAAM0sB,SACnB1sB,EAAM0sB,QAAUrqB,WAAW,WACzBrC,EAAMgmB,OAENhmB,EAAMsrB,SAASjsB,KAAK,SAAS,IAC5BW,EAAM5J,QAAQu2B,eAElBvhB,GAAG,yBAA0BxV,OAAOo1B,EAAA,sBAA6E,WAClH9nB,aAAalD,EAAM0sB,SACnB1sB,EAAM0sB,QAAUrqB,WAAW,WACzBrC,EAAMimB,QAENjmB,EAAMsrB,SAASjsB,KAAK,SAAS,IAC5BW,EAAM5J,QAAQu2B,eAGfj6B,KAAK0D,QAAQw2B,WACfl6B,KAAKwM,SAASsQ,IAAI,iDAAiDpE,GAAG,yBAA0B,WAC9FlI,aAAalD,EAAM0sB,WAClBthB,GAAG,yBAA0BxV,OAAOo1B,EAAA,sBAA6E,WAClH9nB,aAAalD,EAAM0sB,SACnB1sB,EAAM0sB,QAAUrqB,WAAW,WACzBrC,EAAMimB,QAENjmB,EAAMsrB,SAASjsB,KAAK,SAAS,IAC5BW,EAAM5J,QAAQu2B,gBAKvBj6B,KAAK44B,SAAShF,IAAI5zB,KAAKwM,UAAUkM,GAAG,sBAAuB,SAAUpV,GACnE,GAAIwnB,GAAU3gB,IAA8CnK,KAC5Dmd,GAAA,SAAmEiC,UAAU9b,EAAG,YAC9EgwB,KAAM,WACAxI,EAAQjT,GAAGvK,EAAMsrB,YAAc9N,EAAQjT,GAAG,qBAC5CvK,EAAMgmB,OAENhmB,EAAMd,SAASC,KAAK,eAAgBgU,QAEpCnd,EAAEkd,mBAGN+S,MAAO,WACLjmB,EAAMimB,QAENjmB,EAAMsrB,SAASnY,gBAYvBhX,IAAK,kBACL7E,MAAO,WACL,GAAIqxB,GAAQ9rB,IAA8C/K,SAASiF,MAAM8lB,IAAInqB,KAAKwM,UAC9Ec,EAAQtN,IAEZi2B,GAAMnZ,IAAI,qCAAqCpE,GAAG,oCAAqC,SAAUpV,GAC3FgK,EAAMsrB,SAAS/gB,GAAGvU,EAAEyC,SAAWuH,EAAMsrB,SAAS1qB,KAAK5K,EAAEyC,QAAQf,QAI7DsI,EAAMd,SAASqL,GAAGvU,EAAEyC,SAAWuH,EAAMd,SAAS0B,KAAK5K,EAAEyC,QAAQf,SAIjEsI,EAAMimB,QAEN0C,EAAMnZ,IAAI,2CAWdrT,IAAK,OACL7E,MAAO,WAoBL,GAbA5E,KAAKwM,SAASI,QAAQ,sBAAuB5M,KAAKwM,SAASC,KAAK,OAChEzM,KAAK44B,SAASzW,SAAS,SAAS1V,MAC9BiX,iBAAiB,IAGnB1jB,KAAKwM,SAAS2V,SAAS,cAEvBniB,KAAK25B,eAEL35B,KAAKwM,SAASsC,YAAY,cAAcqT,SAAS,WAAW1V,MAC1DmX,eAAe,IAGb5jB,KAAK0D,QAAQuzB,UAAW,CAC1B,GAAI7W,GAAajD,EAAA,SAAmEG,cAActd,KAAKwM,SAEnG4T,GAAWpb,QACbob,EAAWE,GAAG,GAAGG,QAIjBzgB,KAAK0D,QAAQsyB,cACfh2B,KAAKm6B,kBAGHn6B,KAAK0D,QAAQyc,WACfhD,EAAA,SAAmEgD,UAAUngB,KAAKwM,UAQpFxM,KAAKwM,SAASI,QAAQ,oBAAqB5M,KAAKwM,cASlD/C,IAAK,QACL7E,MAAO,WACL,QAAK5E,KAAKwM,SAAS8iB,SAAS,aAI5BtvB,KAAKwM,SAASsC,YAAY,WAAWrC,MACnCmX,eAAe,IAEjB5jB,KAAK44B,SAAS9pB,YAAY,SAASrC,KAAK,iBAAiB,GAMzDzM,KAAKwM,SAASI,QAAQ,oBAAqB5M,KAAKwM,gBAE5CxM,KAAK0D,QAAQyc,WACfhD,EAAA,SAAmEuD,aAAa1gB,KAAKwM,eASzF/C,IAAK,SACL7E,MAAO,WACL,GAAI5E,KAAKwM,SAAS8iB,SAAS,WAAY,CACrC,GAAItvB,KAAK44B,SAASjsB,KAAK,SAAU,MACjC3M,MAAKuzB,YAELvzB,MAAKszB,UAST7pB,IAAK,WACL7E,MAAO,WACL5E,KAAKwM,SAASsQ,IAAI,eAAe8E,OACjC5hB,KAAK44B,SAAS9b,IAAI,gBAClB3S,IAA8C/K,SAASiF,MAAMyY,IAAI,yCAI9Dub,GACPE,EAAA,cAEFF,GAAStK,UAOPiL,YAAa,KAQbiB,WAAY,IAQZJ,OAAO,EAQPK,WAAW,EAQX5e,QAAS,EAQTC,QAAS,EAQTpT,SAAU,OAQVkT,UAAW,OAQX+e,cAAc,EAUdC,oBAAoB,EAQpBla,WAAW,EAQX8W,WAAW,EAQXjB,cAAc,EAQd4D,aAAa,IAMTU,kCAKC,SAASz6B,EAAQoK,EAAqB/J,GAE7C,YAOA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GAexM,QAASuxB,GAASC,EAAMC,GACtB,GAAIC,GAAaD,EAAMx1B,QAAQu1B,EAE/B,OAAIE,KAAeD,EAAMz1B,OAAS,EACzBy1B,EAAM,GAENA,EAAMC,EAAa,GA/C9Bx6B,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,eAAgB,WAAa,MAAO0wB,IACzF,IAAIC,GAAoD16B,EAAiD,yBAErGytB,GADyEztB,EAAoByJ,EAAEixB,GACxC16B,EAAoD,sBA2BhI26B,GA1BiG36B,EAAoByJ,EAAEgkB,IA0B1G,OAAQ,QAAS,MAAO,WACrCmN,GAAuB,MAAO,SAAU,UACxCC,GAAyB,OAAQ,QAAS,UAC1CC,GACF1gB,KAAQwgB,EACRG,MAASH,EACTzgB,IAAO0gB,EACPG,OAAUH,GAaRJ,EAA4B,SAAU9M,GAKxC,QAAS8M,KAGP,MAFA3pB,GAAgBhR,KAAM26B,GAEf7M,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUwO,EAAc9M,EAExB,IAAIC,GAASrB,EAAakO,EAsK1B,OA9JAnpB,GAAampB,IACXlxB,IAAK,QACL7E,MAUA,WACE5E,KAAKm7B,kBACLn7B,KAAKmI,SAAqC,SAA1BnI,KAAK0D,QAAQyE,SAAsBnI,KAAKo7B,sBAAwBp7B,KAAK0D,QAAQyE,SAC7FnI,KAAKqb,UAAuC,SAA3Brb,KAAK0D,QAAQ2X,UAAuBrb,KAAKq7B,uBAAyBr7B,KAAK0D,QAAQ2X,UAChGrb,KAAKs7B,iBAAmBt7B,KAAKmI,SAC7BnI,KAAKu7B,kBAAoBv7B,KAAKqb,aAGhC5R,IAAK,sBACL7E,MAAO,WACL,MAAO,YAGT6E,IAAK,uBACL7E,MAAO,WACL,OAAQ5E,KAAKmI,UACX,IAAK,SACL,IAAK,MACH,MAAOjF,QAAOyqB,EAAA,OAAiE,QAAU,MAE3F,KAAK,OACL,IAAK,QACH,MAAO,aAWblkB,IAAK,cACL7E,MAAO,WACD5E,KAAKw7B,qBAAqBx7B,KAAKmI,WACjCnI,KAAKmI,SAAWoyB,EAASv6B,KAAKmI,SAAU0yB,GACxC76B,KAAKqb,UAAY2f,EAAWh7B,KAAKmI,UAAU,IAE3CnI,KAAKy7B,cAWThyB,IAAK,WACL7E,MAAO,WACL5E,KAAK07B,kBAAkB17B,KAAKmI,SAAUnI,KAAKqb,WAE3Crb,KAAKqb,UAAYkf,EAASv6B,KAAKqb,UAAW2f,EAAWh7B,KAAKmI,cAG5DsB,IAAK,oBACL7E,MAAO,SAA2BuD,EAAUkT,GAC1Crb,KAAKm7B,eAAehzB,GAAYnI,KAAKm7B,eAAehzB,OACpDnI,KAAKm7B,eAAehzB,GAAUD,KAAKmT,MAGrC5R,IAAK,sBACL7E,MAAO,WAGL,IAAK,GAFD+2B,IAAc,EAETh1B,EAAI,EAAGA,EAAIk0B,EAAU71B,OAAQ2B,IACpCg1B,EAAcA,GAAe37B,KAAKw7B,qBAAqBX,EAAUl0B,GAGnE,OAAOg1B,MAGTlyB,IAAK,uBACL7E,MAAO,SAA8BuD,GACnC,MAAOnI,MAAKm7B,eAAehzB,IAAanI,KAAKm7B,eAAehzB,GAAUnD,SAAWg2B,EAAW7yB,GAAUnD,UASxGyE,IAAK,cACL7E,MAAO,WACL,MAAO5E,MAAK0D,QAAQ4X,WAGtB7R,IAAK,cACL7E,MAAO,WACL,MAAO5E,MAAK0D,QAAQ6X,WAGtB9R,IAAK,eACL7E,MAAO,SAAsBuqB,EAAS3iB,EAAUysB,GAC9C,GAAsC,UAAlC9J,EAAQ1iB,KAAK,iBACf,OAAO,CAWT,IARKzM,KAAK0D,QAAQ02B,eAEhBp6B,KAAKmI,SAAWnI,KAAKs7B,iBACrBt7B,KAAKqb,UAAYrb,KAAKu7B,mBAGxB/uB,EAAS4N,OAAOwgB,EAAA,IAAyDzf,mBAAmB3O,EAAU2iB,EAASnvB,KAAKmI,SAAUnI,KAAKqb,UAAWrb,KAAK47B,cAAe57B,KAAK67B,iBAElK77B,KAAK0D,QAAQ02B,aAAc,CAQ9B,IAPA,GAAI0B,GAAa,IAEbC,GACF5zB,SAAUnI,KAAKmI,SACfkT,UAAWrb,KAAKqb,YAGVrb,KAAKg8B,uBAAuB,CAClC,GAAIC,GAAUrB,EAAA,IAAyDjhB,YAAYnN,EAAUysB,GAAS,GAAO,EAAOj5B,KAAK0D,QAAQ22B,mBAEjI,IAAgB,IAAZ4B,EACF,MAGEA,GAAUH,IACZA,EAAaG,EACbF,GACE5zB,SAAUnI,KAAKmI,SACfkT,UAAWrb,KAAKqb,YAIpBrb,KAAKk8B,cAEL1vB,EAAS4N,OAAOwgB,EAAA,IAAyDzf,mBAAmB3O,EAAU2iB,EAASnvB,KAAKmI,SAAUnI,KAAKqb,UAAWrb,KAAK47B,cAAe57B,KAAK67B,gBAKzK77B,KAAKmI,SAAW4zB,EAAe5zB,SAC/BnI,KAAKqb,UAAY0gB,EAAe1gB,UAChC7O,EAAS4N,OAAOwgB,EAAA,IAAyDzf,mBAAmB3O,EAAU2iB,EAASnvB,KAAKmI,SAAUnI,KAAKqb,UAAWrb,KAAK47B,cAAe57B,KAAK67B,qBAKtKlB,GACPhN,EAAA,OAEFgN,GAAa5M,UAOX5lB,SAAU,OAQVkT,UAAW,OAUX+e,cAAc,EAUdC,oBAAoB,EAQpB/e,QAAS,EAQTC,QAAS,IAML8M,mCAKC,SAASxoB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GA+JnX,QAASmpB,GAAuBC,EAAU3b,EAAS4b,GACjD,GAAIlpB,GACA0P,EAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,EACjD/E,KAA8ChM,QAAQua,GAAG9L,EAAS,WAC5DtN,GACFkR,aAAalR,GAGfA,EAAQqQ,WAAW,WACjB6Y,EAASnZ,MAAM,KAAML,IACpBuZ,GAAY,MAjLnBroB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOwe,IACrF,IAAIve,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAEzGwoB,GAD2ExoB,EAAoByJ,EAAEgC,GAC1CzL,EAAoD,6BAQhIyoB,GAPiGzoB,EAAoByJ,EAAE+e,GAOpG,WAGrB,IAAK,GAFDE,IAAY,SAAU,MAAO,IAAK,KAAM,IAEnCjiB,EAAI,EAAGA,EAAIiiB,EAAS5jB,OAAQ2B,IACnC,GAAI,GAAG+F,OAAOkc,EAASjiB,GAAI,qBAAuBxI,QAChD,MAAOA,QAAO,GAAGuO,OAAOkc,EAASjiB,GAAI,oBAIzC,QAAO,MAGLkiB,EAAW,SAAkBpa,EAAI5J,GACnC4J,EAAG9B,KAAK9H,GAAMyJ,MAAM,KAAKb,QAAQ,SAAUjP,GACzC2L,IAA8C,IAAIuC,OAAOlO,IAAc,UAATqG,EAAmB,UAAY,kBAAkB,GAAG6H,OAAO7H,EAAM,gBAAiB4J,OAIhJga,GACFK,WACEC,SACAC,WAEFC,gBAEFR,GAASK,UAAUC,OACjBG,aAAc,WACZL,EAAS1e,IAA8CnK,MAAO,SAEhEmpB,cAAe,WACb,GAAI3qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,QAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,SAE9DmK,IAA8CnK,MAAM4M,QAAQ,qBAGhEwc,eAAgB,WACd,GAAI5qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,SAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,UAE9DmK,IAA8CnK,MAAM4M,QAAQ,sBAGhEyc,kBAAmB,SAA2B/lB,GAC5C,GAAIoe,GAAYvX,IAA8CnK,MAAM2M,KAAK,WAEzErJ,GAAEgmB,kBAEgB,KAAd5H,EACFgH,EAAA,OAA+DnG,WAAWpY,IAA8CnK,MAAO0hB,EAAW,WACxIvX,IAA8CnK,MAAM4M,QAAQ,eAG9DzC,IAA8CnK,MAAMupB,UAAU3c,QAAQ,cAG1E4c,oBAAqB,WACnB,GAAIhrB,GAAK2L,IAA8CnK,MAAM2M,KAAK,eAClExC,KAA8C,IAAIuC,OAAOlO,IAAKkU,eAAe,qBAAsBvI,IAA8CnK,UAIrJyoB,EAASQ,aAAaQ,gBAAkB,SAAUxb,GAChDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMG,cACvDjb,EAAMyK,GAAG,mBAAoB,cAAe+P,EAASK,UAAUC,MAAMG,eAKvET,EAASQ,aAAaS,iBAAmB,SAAUzb,GACjDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMI,eACvDlb,EAAMyK,GAAG,mBAAoB,eAAgB+P,EAASK,UAAUC,MAAMI,gBAIxEV,EAASQ,aAAaU,kBAAoB,SAAU1b,GAClDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMK,gBACvDnb,EAAMyK,GAAG,mBAAoB,gBAAiB+P,EAASK,UAAUC,MAAMK,iBAIzEX,EAASQ,aAAaW,qBAAuB,SAAU3b,GACrDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMM,mBACvDpb,EAAMyK,GAAG,mBAAoB,oCAAqC+P,EAASK,UAAUC,MAAMM,oBAI7FZ,EAASQ,aAAaY,uBAAyB,SAAU5b,GACvDA,EAAM6O,IAAI,mCAAoC2L,EAASK,UAAUC,MAAMS,qBACvEvb,EAAMyK,GAAG,mCAAoC,sBAAuB+P,EAASK,UAAUC,MAAMS,sBAI/Ff,EAASK,UAAUE,QACjBc,eAAgB,SAAwBC,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bud,eAAgB,SAAwBD,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bwd,gBAAiB,SAAyB3mB,EAAG4mB,GAC3C,GAAIje,GAAS3I,EAAE0O,UAAU1D,MAAM,KAAK,GAChCpB,EAAU/C,IAA8C,SAASuC,OAAOT,EAAQ,MAAMke,IAAI,mBAAoBzd,OAAOwd,EAAU,MACnIhd,GAAQE,KAAK,WACX,GAAIE,GAAQnD,IAA8CnK,KAE1DsN,GAAMoF,eAAe,oBAAqBpF,QAKhDmb,EAASQ,aAAamB,mBAAqB,SAAU9d,GACnD,GAAI+d,GAAYlgB,IAA8C,mBAC1DmgB,GAAa,WAAY,UAAW,SAYxC,IAVIhe,IACwB,gBAAfA,GACTge,EAAUpiB,KAAKoE,GACkB,WAAxBrB,EAAQqB,IAAqD,gBAAlBA,GAAW,GAC/Dge,EAAYA,EAAU5d,OAAOJ,GAE7BwB,QAAQC,MAAM,iCAIdsc,EAAUrlB,OAAQ,CACpB,GAAIulB,GAAYD,EAAU9b,IAAI,SAAUzQ,GACtC,MAAO,cAAc2O,OAAO3O,KAC3BysB,KAAK,IACRrgB,KAA8ChM,QAAQ2e,IAAIyN,GAAW7R,GAAG6R,EAAW9B,EAASK,UAAUE,OAAOiB,mBAkBjHxB,EAASQ,aAAawB,kBAAoB,SAAUlC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOc,eAAgBC,IAIpGtB,EAASQ,aAAayB,kBAAoB,SAAUnC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOgB,eAAgBD,IAIpGtB,EAASQ,aAAa0B,0BAA4B,SAAU1c,GAC1D,IAAK0a,EACH,OAAO,CAGT,IAAIoB,GAAS9b,EAAMC,KAAK,+CAEpB0c,EAA4B,SAAmCC,GACjE,GAAIC,GAAU3gB,IAA8C0gB,EAAoB,GAAG9kB,OAEnF,QAAQ8kB,EAAoB,GAAGhmB,MAC7B,IAAK,aACiC,WAAhCimB,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,EAAS3sB,OAAO4c,cAG7B,WAAhC+P,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,IAGJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,mBAG1F,MAEF,KAAK,YACHojB,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,kBACxF,MAEF,SACE,OAAO,GAKb,IAAIqiB,EAAO/kB,OAET,IAAK,GAAI2B,GAAI,EAAGA,GAAKojB,EAAO/kB,OAAS,EAAG2B,IAAK,CAC3C,GAAIqkB,GAAkB,GAAIrC,GAAiBiC,EAC3CI,GAAgBC,QAAQlB,EAAOpjB,IAC7BukB,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,iBAAkB,cAAe,aAMzC7C,EAASQ,aAAasC,mBAAqB,WACzC,GAAIC,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAaQ,gBAAgB+B,GACtC/C,EAASQ,aAAaS,iBAAiB8B,GACvC/C,EAASQ,aAAaU,kBAAkB6B,GACxC/C,EAASQ,aAAaW,qBAAqB4B,GAC3C/C,EAASQ,aAAaY,uBAAuB2B,IAG/C/C,EAASQ,aAAawC,mBAAqB,WACzC,GAAID,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAa0B,0BAA0Ba,GAChD/C,EAASQ,aAAawB,kBAAkB,KACxChC,EAASQ,aAAayB,oBACtBjC,EAASQ,aAAamB,sBAGxB3B,EAAS7D,KAAO,SAAU8G,EAAI3gB,GAC5B7H,OAAOyI,EAAA,QAA+DxB,IAA8ChM,QAAS,WACvHgM,EAA4CK,EAAEmhB,uBAAwB,IACxElD,EAASQ,aAAasC,qBACtB9C,EAASQ,aAAawC,qBACtBthB,EAA4CK,EAAEmhB,qBAAsB,KAIpE5gB,IACFA,EAAW0d,SAAWA,EAEtB1d,EAAW6gB,SAAWnD,EAASQ,aAAawC,sBAQ1C1oB,EAKC,SAASlD,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAmH,gDAK9H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MvBgyBJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KwBzkEjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,2BAA4BA,QAAQ,WACtL,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,wBAAyB,6BAA8B,yBAA0B,0BAA2B,UAAWH,GAC1H,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,2BAA6BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,yBAA0BA,QAAQ,8BAA+BA,QAAQ,0BAA2BA,QAAQ,2BAA4BA,QAAQ,YAEnOjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,2BAA6BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,uBAAwBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,wBAAyBA,EAAA,wBAAgC,yBAA0BA,EAAA,UACzavB,OAAQ,SAAS4a,EAA8Cmb,EAAkDpI,EAAuD4F,EAAmDgG,EAAoD9uB,GAClR,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXob,wBAKC,SAASt0B,EAAQD,GAExBC,EAAOD,QAAUs0B,GAIXnI,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX6F,yBAKC,SAAS9xB,EAAQD,GAExBC,EAAOD,QAAU8xB,GAIXiG,0BAKC,SAAS93B,EAAQD,GAExBC,EAAOD,QAAU83B,GAIXyE,kDAKC,SAASt8B,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIkjB,GAAwDl8B,EAAyD,kCAC5GA,GAAoB4I,EAAEmB,EAAqB,eAAgB,WAAa,MAAOmyB,GAAA,eAI7GljB,EAAA,WAA4DjN,OAAOmwB,EAAA,aAAuE,iBAKpIC,kCAKC,SAASx8B,EAAQoK,EAAqB/J,GAE7C,YAeA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I;AAAamkB,EAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GAlCxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,eAAgB,WAAa,MAAOqyB,IACzF,IAAIpyB,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyjB,EAAuDztB,EAAoD,qBAE3G0tB,GAD4E1tB,EAAoByJ,EAAEgkB,GACzCztB,EAAsD,+BAE/Gq8B,GAD8Er8B,EAAoByJ,EAAEikB,GAC/C1tB,EAAkD,2BAEvGs0B,GAD0Et0B,EAAoByJ,EAAE4yB,GAC5Cr8B,EAAiD,0BAErGu4B,GADyEv4B,EAAoByJ,EAAE6qB,GACzCt0B,EAAmD,4BAwC9Ho8B,GAvCgGp8B,EAAoByJ,EAAE8uB,GAuC1F,SAAU5K,GAKxC,QAASyO,KAGP,MAFAtrB,GAAgBhR,KAAMs8B,GAEfxO,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUmQ,EAAczO,EAExB,IAAIC,GAASrB,EAAa6P,EAsb1B,OA9aA9qB,GAAa8qB,IACX7yB,IAAK,SACL7E,MASA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAWyc,EAAavO,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GACrH1D,KAAKmM,UAAY,eAEjBssB,EAAA,MAA6D7T,KAAKza,EAA4CK,GAE9GxK,KAAKqN,QAELugB,EAAA,SAAmE3N,SAAS,gBAC1E+N,MAAS,OACTC,MAAS,OACTgE,YAAe,OACf9D,SAAY,KACZD,WAAc,OACdgE,WAAc,WACdC,OAAU,aAUd1oB,IAAK,QACL7E,MAAO,WACL23B,EAAA,KAA2D1Z,QAAQ7iB,KAAKwM,SAAU,WAClF,IAAIgwB,GAAOx8B,KAAKwM,SAAS0B,KAAK,gCAC9BlO,MAAKwM,SAAS+W,SAAS,+BAA+BA,SAAS,wBAAwBpB,SAAS,aAChGniB,KAAK20B,WAAa30B,KAAKwM,SAAS0B,KAAK,mBACrClO,KAAKuuB,MAAQvuB,KAAKwM,SAAS+W,SAAS,mBACpCvjB,KAAKuuB,MAAMrgB,KAAK,0BAA0BiU,SAASniB,KAAK0D,QAAQ+4B,eAEjC,SAA3Bz8B,KAAK0D,QAAQ2X,UACXrb,KAAKwM,SAAS8iB,SAAStvB,KAAK0D,QAAQg5B,aAAex5B,OAAOyqB,EAAA,QAAkE3tB,KAAKwM,SAAS6mB,QAAQ,kBAAkBxb,GAAG,MACzK7X,KAAK0D,QAAQ2X,UAAY,QACzBmhB,EAAKra,SAAS,gBAEdniB,KAAK0D,QAAQ2X,UAAY,OACzBmhB,EAAKra,SAAS,gBAGe,UAA3BniB,KAAK0D,QAAQ2X,UACfmhB,EAAKra,SAAS,cAEdqa,EAAKra,SAAS,eAIlBniB,KAAK28B,SAAU,EAEf38B,KAAK6vB,aAGPpmB,IAAK,cACL7E,MAAO,WACL,MAAqC,UAA9B5E,KAAKuuB,MAAMpX,IAAI,YAAkE,WAAxCnX,KAAKwM,SAAS2K,IAAI,qBAGpE1N,IAAK,SACL7E,MAAO,WACL,MAAO5E,MAAKwM,SAAS8iB,SAAS,gBAAkBpsB,OAAOyqB,EAAA,SAAmE3tB,KAAKwM,SAAS8iB,SAAS,iBASnJ7lB,IAAK,UACL7E,MAAO,WACL,GAAI0I,GAAQtN,KACRq5B,EAAW,gBAAkBl7B,SAAyC,mBAAxBA,QAAOm7B,aACrDsD,EAAW,6BAGXC,EAAgB,SAAuBv5B,GACzC,GAAI2K,GAAQ9D,IAA8C7G,EAAEyC,QAAQ4tB,aAAa,KAAM,IAAIjnB,OAAOkwB,IAC9FE,EAAS7uB,EAAMqhB,SAASsN,GACxBG,EAA6C,SAAhC9uB,EAAMxB,KAAK,iBACxB6W,EAAOrV,EAAMsV,SAAS,uBAE1B,IAAIuZ,EACF,GAAIC,EAAY,CACd,IAAKzvB,EAAM5J,QAAQsyB,eAAiB1oB,EAAM5J,QAAQs5B,YAAc3D,GAAY/rB,EAAM5J,QAAQk2B,aAAeP,EACvG,MAGF/1B,GAAE25B,2BACF35B,EAAEkd,iBAEFlT,EAAMwpB,MAAM7oB,OAEZ3K,GAAE25B,2BACF35B,EAAEkd,iBAEFlT,EAAMyoB,MAAMzS,GAEZrV,EAAM2lB,IAAI3lB,EAAM0lB,aAAarmB,EAAMd,SAAU,IAAIE,OAAOkwB,KAAYnwB,KAAK,iBAAiB,KAK5FzM,KAAK0D,QAAQs5B,WAAa3D,IAC5Br5B,KAAK20B,WAAWjc,GAAG,mDAAoDmkB,GAIrEvvB,EAAM5J,QAAQw5B,oBAChBl9B,KAAK20B,WAAWjc,GAAG,wBAAyB,WAC1C,GAAIzK,GAAQ9D,IAA8CnK,MACtD88B,EAAS7uB,EAAMqhB,SAASsN,EAEvBE,IACHxvB,EAAMwpB,UAKRuC,GAAYr5B,KAAK0D,QAAQy5B,sBAAqBn9B,KAAK0D,QAAQ05B,cAAe,GAEzEp9B,KAAK0D,QAAQ05B,cAChBp9B,KAAK20B,WAAWjc,GAAG,6BAA8B,WAC/C,GAAIzK,GAAQ9D,IAA8CnK,MACtD88B,EAAS7uB,EAAMqhB,SAASsN,EAExBE,KACFtsB,aAAavC,EAAMtB,KAAK,WACxBsB,EAAMtB,KAAK,SAAUgD,WAAW,WAC9BrC,EAAMyoB,MAAM9nB,EAAMsV,SAAS,0BAC1BjW,EAAM5J,QAAQu2B,gBAElBvhB,GAAG,6BAA8BxV,OAAOyqB,EAAA,sBAA8E,WACvH,GAAI1f,GAAQ9D,IAA8CnK,MACtD88B,EAAS7uB,EAAMqhB,SAASsN,EAE5B,IAAIE,GAAUxvB,EAAM5J,QAAQ25B,UAAW,CACrC,GAAoC,SAAhCpvB,EAAMxB,KAAK,kBAA+Ba,EAAM5J,QAAQs5B,UAC1D,OAAO,CAGTxsB,cAAavC,EAAMtB,KAAK,WACxBsB,EAAMtB,KAAK,SAAUgD,WAAW,WAC9BrC,EAAMwpB,MAAM7oB,IACXX,EAAM5J,QAAQ45B,kBAKvBt9B,KAAK20B,WAAWjc,GAAG,0BAA2B,SAAUpV,GACtD,GAGI4vB,GACAC,EAJA3mB,EAAWrC,IAA8C7G,EAAEyC,QAAQ4tB,aAAa,KAAM,iBACtF4J,EAAQjwB,EAAMihB,MAAM6I,MAAM5qB,MAC1B4mB,EAAYmK,EAAQjwB,EAAMihB,MAAQ/hB,EAASqkB,SAAS,MAAM+C,IAAIpnB,EAGlE4mB,GAAUhmB,KAAK,SAAUzG,GACvB,GAAIwD,IAA8CnK,MAAM6X,GAAGrL,GAGzD,MAFA0mB,GAAeE,EAAU9S,GAAG3Z,EAAI,QAChCwsB,EAAeC,EAAU9S,GAAG3Z,EAAI,KAKpC,IAAI62B,GAAc,WAChBrK,EAAa5P,SAAS,WAAW9C,QACjCnd,EAAEkd,kBAEAid,EAAc,WAChBvK,EAAa3P,SAAS,WAAW9C,QACjCnd,EAAEkd,kBAEAkd,EAAU,WACZ,GAAIpa,GAAO9W,EAAS+W,SAAS,yBAEzBD,GAAKte,SACPsI,EAAMyoB,MAAMzS,GAEZ9W,EAAS0B,KAAK,gBAAgBuS,QAC9Bnd,EAAEkd,mBAKFmd,EAAW,WAEb,GAAIpK,GAAQ/mB,EAAS+M,OAAO,MAAMA,OAAO,KACzCga,GAAMhQ,SAAS,WAAW9C,QAE1BnT,EAAMwpB,MAAMvD,GAEZjwB,EAAEkd,kBAGAlB,GACFgU,KAAMoK,EACNnK,MAAO,WACLjmB,EAAMwpB,MAAMxpB,EAAMd,UAElBc,EAAMqnB,WAAWrU,GAAG,GAAGiD,SAAS,KAAK9C,QAGrCnd,EAAEkd,kBAIF+c,GACEjwB,EAAMswB,cAEJtwB,EAAMuwB,SAER1zB,EAA4CK,EAAEqV,OAAOP,GACnD+Q,KAAMmN,EACNpN,GAAIqN,EACJ1oB,KAAM4oB,EACNzN,SAAUwN,IAIZvzB,EAA4CK,EAAEqV,OAAOP,GACnD+Q,KAAMmN,EACNpN,GAAIqN,EACJ1oB,KAAM2oB,EACNxN,SAAUyN,IAKVrwB,EAAMuwB,SAER1zB,EAA4CK,EAAEqV,OAAOP,GACnDvK,KAAM0oB,EACNvN,SAAUsN,EACVnN,KAAMqN,EACNtN,GAAIuN,IAINxzB,EAA4CK,EAAEqV,OAAOP,GACnDvK,KAAMyoB,EACNtN,SAAUuN,EACVpN,KAAMqN,EACNtN,GAAIuN,IAMNrwB,EAAMuwB,SAER1zB,EAA4CK,EAAEqV,OAAOP,GACnDvK,KAAM4oB,EACNzN,SAAUwN,EACVrN,KAAMmN,EACNpN,GAAIqN,IAINtzB,EAA4CK,EAAEqV,OAAOP,GACnDvK,KAAM2oB,EACNxN,SAAUyN,EACVtN,KAAMmN,EACNpN,GAAIqN,IAKV7P,EAAA,SAAmExO,UAAU9b,EAAG,eAAgBgc,QAUpG7V,IAAK,kBACL7E,MAAO,WACL,GAAI6T,GAASzY,KAETi2B,EAAQ9rB,IAA8C/K,SAASiF,KAEnErE,MAAK89B,qBAEL7H,EAAMvd,GAAG,4CAA6C,SAAUpV,GAC9D,GAAIy6B,KAAa5zB,IAA8C7G,EAAEyC,QAAQ2B,QAAQ+Q,EAAOjM,UAAUxH,MAC9F+4B,KAEJtlB,EAAOqe,QAEPre,EAAOqlB,2BAUXr0B,IAAK,qBACL7E,MAAO,WACLuF,IAA8C/K,SAASiF,MAAMyY,IAAI,gDAWnErT,IAAK,QACL7E,MAAO,SAAe0e,GACpB,GAAIkL,GAAMxuB,KAAKuuB,MAAM6I,MAAMp3B,KAAKuuB,MAAMngB,OAAO,SAAUzH,EAAG8H,GACxD,MAAOtE,KAA8CsE,GAAIP,KAAKoV,GAAMte,OAAS,KAE3Eg5B,EAAQ1a,EAAK/J,OAAO,iCAAiCsX,SAAS,gCAElE7wB,MAAK82B,MAAMkH,EAAOxP,GAElBlL,EAAKnM,IAAI,aAAc,UAAUgL,SAAS,sBAAsB5I,OAAO,iCAAiC4I,SAAS,YACjH,IAAI7Z,GAAQksB,EAAA,IAAyDlb,iBAAiBgK,EAAM,MAAM,EAElG,KAAKhb,EAAO,CACV,GAAI21B,GAAsC,SAA3Bj+B,KAAK0D,QAAQ2X,UAAuB,SAAW,QAC1D6iB,EAAY5a,EAAK/J,OAAO,8BAC5B2kB,GAAUpvB,YAAY,QAAQpC,OAAOuxB,IAAW9b,SAAS,SAASzV,OAAO1M,KAAK0D,QAAQ2X,YACtF/S,EAAQksB,EAAA,IAAyDlb,iBAAiBgK,EAAM,MAAM,GAEzFhb,GACH41B,EAAUpvB,YAAY,SAASpC,OAAO1M,KAAK0D,QAAQ2X,YAAY8G,SAAS,eAG1EniB,KAAK28B,SAAU,EAGjBrZ,EAAKnM,IAAI,aAAc,IAEnBnX,KAAK0D,QAAQsyB,cACfh2B,KAAKm6B,kBAQPn6B,KAAKwM,SAASI,QAAQ,wBAAyB0W,OAYjD7Z,IAAK,QACL7E,MAAO,SAAeqJ,EAAOugB,GAC3B,GAAI2P,EAGFA,GADElwB,GAASA,EAAMjJ,OACNiJ,EACa,mBAARugB,GACLxuB,KAAKuuB,MAAMpE,IAAI,SAAUxjB,GAClC,MAAOA,KAAM6nB,IAGJxuB,KAAKwM,QAGlB,IAAI4xB,GAAmBD,EAAS7O,SAAS,cAAgB6O,EAASjwB,KAAK,cAAclJ,OAAS,CAE9F,IAAIo5B,EAAkB,CACpB,GAAIC,GAAcF,EAASjwB,KAAK,eAMhC,IALAmwB,EAAYzK,IAAIuK,GAAU1xB,MACxB6xB,iBAAiB,IAChBxvB,YAAY,aACfqvB,EAASjwB,KAAK,yBAAyBY,YAAY,sBAE/C9O,KAAK28B,SAAWwB,EAASjwB,KAAK,eAAelJ,OAAQ,CACvD,GAAIi5B,GAAsC,SAA3Bj+B,KAAK0D,QAAQ2X,UAAuB,QAAU,MAC7D8iB,GAASjwB,KAAK,iCAAiC0lB,IAAIuK,GAAUrvB,YAAY,qBAAqBpC,OAAO1M,KAAK0D,QAAQ2X,YAAY8G,SAAS,SAASzV,OAAOuxB,IACvJj+B,KAAK28B,SAAU,EAGjBnsB,aAAa6tB,EAAY1xB,KAAK,WAE9B3M,KAAK89B,qBAOL99B,KAAKwM,SAASI,QAAQ,wBAAyBuxB,QASnD10B,IAAK,WACL7E,MAAO,WACL5E,KAAK20B,WAAW7X,IAAI,oBAAoBhQ,WAAW,iBAAiBgC,YAAY,iFAChF3E,IAA8C/K,SAASiF,MAAMyY,IAAI,oBACjEyf,EAAA,KAA2D1Y,KAAK7jB,KAAKwM,SAAU,gBAI5E8vB,GACP3O,EAAA,QAMF2O,GAAavO,UAOXqP,cAAc,EAQdD,qBAAqB,EAQrBE,WAAW,EAQXpD,WAAY,GAQZ+C,WAAW,EAQXM,YAAa,IAQbjiB,UAAW,OAQX2a,cAAc,EAQdkH,oBAAoB,EAQpBT,cAAe,WAQfC,WAAY,cAQZ9C,aAAa,IAMT2E,EAKC,SAAS1+B,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAuH,oDAKlI4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MxB+8CJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,KyBnvEjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,WAC3J,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,6BAA8B,+BAAgC,2BAA4B,UAAWH,GACxG,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,wBAA0BD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,YAErMjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,wBAA0BC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,8BAA+BA,EAAA,wBAAgC,0BAA2BA,EAAA,UACrXvB,OAAQ,SAAS4a,EAA8C+S,EAAuD0S,EAAyDzW,EAAqDnf,GACvO,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,KAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgT,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX2S,+BAKC,SAAS5+B,EAAQD,GAExBC,EAAOD,QAAU4+B,GAIXxW,2BAKC,SAASnoB,EAAQD,GAExBC,EAAOD,QAAUmoB,GAIX2W,+CAKC,SAAS7+B,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAIylB,GAAqDz+B,EAAsD,+BACtGA,GAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAO00B,GAAA,YAI1GzlB,EAAA,WAA4DjN,OAAO0yB,EAAA,UAAiE,cAK9HC,+BAKC,SAAS/+B,EAAQoK,EAAqB/J,GAE7C,YAYA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GA/BxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,YAAa,WAAa,MAAO40B,IACtF,IAAI30B,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyjB,EAAuDztB,EAAoD,qBAE3G0tB,GAD4E1tB,EAAoByJ,EAAEgkB,GACzCztB,EAAsD,+BAE/G4+B,GAD8E5+B,EAAoByJ,EAAEikB,GACzC1tB,EAAwD,iCAEnHs4B,GADgFt4B,EAAoByJ,EAAEm1B,GAC7C5+B,EAAsD,qCAqCpI2+B,EAAyB,SAAUhR,GAKrC,QAASgR,KAGP,MAFA7tB,GAAgBhR,KAAM6+B,GAEf/Q,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAU0S,EAAWhR,EAErB,IAAIC,GAASrB,EAAaoS,EA0oB1B,OAloBArtB,GAAaqtB,IACXp1B,IAAK,SACL7E,MASA,SAAgBjE,EAAS+C,GACvB,GAAI+U,GAASzY,IAEbA,MAAKmM,UAAY,YAEjBnM,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAWgf,EAAU9Q,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GAClH1D,KAAK++B,gBACH9G,QACA+G,WAEFh/B,KAAKi/B,aAAe90B,MACpBnK,KAAKk/B,UAAY/0B,MACjBnK,KAAKmI,SAAW,OAChBnI,KAAKyuB,SAAWtkB,MAChBnK,KAAKm/B,SAAWn/B,KAAK0D,QAAQy7B,OAC7Bn/B,KAAKo/B,QAAUj1B,MACfnK,KAAKq/B,YAAa,EAElBl1B,KAA+C,OAAQ,YAAYiD,KAAK,SAAUgqB,EAAO5hB,GACvFiD,EAAOsmB,eAAe9G,KAAK/vB,KAAK,kBAAoBsN,KAEtDrL,KAA+C,OAAQ,QAAS,MAAO,WAAWiD,KAAK,SAAUgqB,EAAO5hB,GACtGiD,EAAOsmB,eAAe9G,KAAK/vB,KAAK,gBAAkBsN,GAElDiD,EAAOsmB,eAAeC,OAAO92B,KAAK,cAAgBsN,KAGpDgjB,EAAA,SAAmE5T,KAAKza,EAA4CK,GAEpHs0B,EAAA,WAAuEzxB,QAEvErN,KAAKqN,QAELrN,KAAK6vB,UAELjC,EAAA,SAAmE3N,SAAS,aAC1EkS,OAAU,aAUd1oB,IAAK,QACL7E,MAAO,WACL,GAAIpG,GAAKwB,KAAKwM,SAASC,KAAK,KAiC5B,IAhCAzM,KAAKwM,SAASC,KAAK,cAAe,QAE9BzM,KAAK0D,QAAQ47B,UACft/B,KAAKyuB,SAAWtkB,IAA8C,IAAMnK,KAAK0D,QAAQ47B,WACxEt/B,KAAKwM,SAASqkB,SAAS,6BAA6B7rB,OAC7DhF,KAAKyuB,SAAWzuB,KAAKwM,SAASqkB,SAAS,6BAA6B7J,QAEpEhnB,KAAKyuB,SAAWzuB,KAAKwM,SAAS9E,QAAQ,6BAA6Bsf,QAGhEhnB,KAAK0D,QAAQ47B,UAGPt/B,KAAK0D,QAAQ47B,WAAqC,OAAxBt/B,KAAK0D,QAAQy7B,QAGhDrxB,QAAQ4R,KAAK,qEAJb1f,KAAKm/B,OAAwE,IAA/Dn/B,KAAKwM,SAASqkB,SAAS,6BAA6B7rB,OAOhEhF,KAAKm/B,UAAW,IAElBn/B,KAAK0D,QAAQ2O,WAAa,UAE1BrS,KAAKwM,SAASsC,YAAY,uBAG5B9O,KAAKwM,SAAS2V,SAAS,iBAAiBzV,OAAO1M,KAAK0D,QAAQ2O,WAAY,eAExErS,KAAKk/B,UAAY/0B,IAA8C/K,UAAU8O,KAAK,eAAiB1P,EAAK,oBAAsBA,EAAK,qBAAuBA,EAAK,MAAMiO,KAAK,gBAAiB,SAASA,KAAK,gBAAiBjO,GAEtNwB,KAAKmI,SAAWnI,KAAKwM,SAASqL,GAAG,oEAAsE7X,KAAKwM,SAASC,KAAK,SAAS1F,MAAM,qCAAqC,GAAK/G,KAAKmI,SAEpLnI,KAAK0D,QAAQ67B,kBAAmB,EAAM,CACxC,GAAIC,GAAUpgC,SAASoH,cAAc,OACjCi5B,EAAmG,UAAjFt1B,IAA8CnK,KAAKwM,UAAU2K,IAAI,YAA0B,mBAAqB,qBACtIqoB,GAAQ55B,aAAa,QAAS,yBAA2B65B,GACzDz/B,KAAK0/B,SAAWv1B,IAA8Cq1B,GAEtC,qBAApBC,EACFt1B,IAA8CnK,KAAK0/B,UAAUC,YAAY3/B,KAAKwM,UAE9ExM,KAAKyuB,SAAS2G,OAAOp1B,KAAK0/B,UAK9B,GAAIE,GAAiB,GAAI3hC,QAAOiF,OAAOyqB,EAAA,cAAsE3tB,KAAK0D,QAAQm8B,aAAe,YAAa,KAClJC,EAAgBF,EAAe1hC,KAAK8B,KAAKwM,SAAS,GAAGL,UAErD2zB,KACF9/B,KAAK0D,QAAQq8B,YAAa,EAC1B//B,KAAK0D,QAAQs8B,SAAWhgC,KAAK0D,QAAQs8B,UAAYF,EAAc,IAI7D9/B,KAAK0D,QAAQq8B,cAAe,GAAQ//B,KAAK0D,QAAQs8B,WACnDhgC,KAAKwM,SAASwa,QAAQ7E,SAAS,GAAGzV,OAAO1M,KAAK0D,QAAQm8B,aAAanzB,OAAO1M,KAAK0D,QAAQs8B,WAEvFhgC,KAAKigC,iBAGHjgC,KAAK0D,QAAQw8B,gBACflgC,KAAKwM,SAAS2K,IAAI,sBAAuBnX,KAAK0D,QAAQw8B,gBAIxDlgC,KAAKo/B,QAAUp/B,KAAKyuB,SAASvgB,KAAK,4BAE9BlO,KAAKo/B,QAAQp6B,OAAS,GAAiC,SAA5BhF,KAAK0D,QAAQ2O,aAG1CrS,KAAK0D,QAAQy8B,eAAgB,EAG/B,IAAIC,GAAcpgC,KAAKwM,SAASC,KAAK,SAAS1F,MAAM,wBAEhDq5B,IAAsC,IAAvBA,EAAYp7B,OAE7BhF,KAAK0D,QAAQ28B,WAAaD,EAAY,GAC7BpgC,KAAK0D,QAAQ28B,YAEtBrgC,KAAKwM,SAAS2V,SAAS,iBAAiBzV,OAAO1M,KAAK0D,QAAQ28B,aAG1DrgC,KAAK0D,QAAQ28B,YACfrgC,KAAKsgC,iBAIPtgC,KAAKugC,2BASP92B,IAAK,UACL7E,MAAO,WACL,GAAIqsB,GAASjxB,IASb,IAPAA,KAAKwM,SAASsQ,IAAI,6BAA6BpE,IAC7C6gB,kBAAmBv5B,KAAKszB,KAAK5pB,KAAK1J,MAClCw5B,mBAAoBx5B,KAAKuzB,MAAM7pB,KAAK1J,MACpCy5B,oBAAqBz5B,KAAK+vB,OAAOrmB,KAAK1J,MACtCwgC,uBAAwBxgC,KAAKygC,gBAAgB/2B,KAAK1J,QAGhDA,KAAK0D,QAAQsyB,gBAAiB,EAAM,CACtC,GAAIlL,GAAU9qB,KAAK0D,QAAQ67B,eAAiBv/B,KAAK0/B,SAAW1/B,KAAKyuB,QACjE3D,GAAQpS,IACNgoB,qBAAsB1gC,KAAKuzB,MAAM7pB,KAAK1J,QAItCA,KAAK0D,QAAQ28B,YACfl2B,IAA8ChM,QAAQua,GAAG,wBAAyB,WAChFuY,EAAOqP,sBAUb72B,IAAK,gBACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEZA,MAAK2gC,eAAiBz9B,OAAOyqB,EAAA,QAAgExjB,IAA8ChM,QAAS,WAC9I2gC,EAAA,WAAuEvnB,QAAQjK,EAAM5J,QAAQs8B,WAC/F1yB,EAAM0xB,QAAO,KAGjB70B,IAA8ChM,QAAQua,GAAG,wBAAyB,WAC5EomB,EAAA,WAAuEvnB,QAAQjK,EAAM5J,QAAQs8B,UAC/F1yB,EAAM0xB,QAAO,GAEb1xB,EAAM0xB,QAAO,QAUnBv1B,IAAK,iBACL7E,MAAO,WACL5E,KAAKq/B,WAAaP,EAAA,WAAuEvnB,QAAQvX,KAAK0D,QAAQ28B,YAE1GrgC,KAAKq/B,cAAe,GACtBr/B,KAAKuzB,WAWT9pB,IAAK,wBACL7E,MAAO,SAA+Bg8B,GACX,iBAAdA,GACT5gC,KAAKyuB,SAAS3f,YAAY9O,KAAK++B,eAAe9G,KAAKzN,KAAK,MAC/CoW,KAAc,GACvB5gC,KAAKyuB,SAAS3f,YAAY,cAAcpC,OAAO1M,KAAKmI,cAWxDsB,IAAK,qBACL7E,MAAO,SAA4Bg8B,GACjC5gC,KAAKugC,sBAAsBK,GAEF,iBAAdA,GACT5gC,KAAKyuB,SAAStM,SAAS,kBAAkBzV,OAAO1M,KAAK0D,QAAQ2O,WAAY,kBAAkB3F,OAAO1M,KAAKmI,WAC9Fy4B,KAAc,GACvB5gC,KAAKyuB,SAAStM,SAAS,cAAczV,OAAO1M,KAAKmI,cAUrDsB,IAAK,qBACL7E,MAAO,WACL5E,KAAKo/B,QAAQhyB,KAAK,SAAUyzB,EAAGpyB,GAC7B,GAAIJ,GAAMlE,IAA8CsE,EAGxD,IAA4B,UAAxBJ,EAAI8I,IAAI,YAAyB,CAEnC,GAAIsE,GAASiC,SAASrP,EAAI8I,IAAI,OAAQ,GACtC9I,GAAI1B,KAAK,mBACP0N,IAAKoB,GAEP,IAAIqlB,GAAiB32B,IAA8C/K,UAAUqwB,YAAchU,CAC3FpN,GAAI8I,KACFkD,IAAK,GAAG3N,OAAOo0B,EAAgB,MAC/BnqB,MAAO,OACPtE,WAAY,eAYpB5I,IAAK,uBACL7E,MAAO,WACL5E,KAAKo/B,QAAQhyB,KAAK,SAAUyzB,EAAGpyB,GAC7B,GAAIJ,GAAMlE,IAA8CsE,GACpDsyB,EAAa1yB,EAAI1B,KAAK,kBAEE,YAAxB1B,EAAQ81B,KACV1yB,EAAI8I,KACFkD,IAAK,GAAG3N,OAAOq0B,EAAW1mB,IAAK,MAC/B1D,MAAO,GACPtE,WAAY,KAEdhE,EAAI1B,KAAK,kBAAmB,UAWlClD,IAAK,SACL7E,MAAO,SAAgBm7B,GACjBA,GACF//B,KAAKuzB,QACLvzB,KAAK+/B,YAAa,EAClB//B,KAAKwM,SAASC,KAAK,cAAe,SAClCzM,KAAKwM,SAASsQ,IAAI,qCAClB9c,KAAKwM,SAASsC,YAAY,eAE1B9O,KAAK+/B,YAAa,EAClB//B,KAAKwM,SAASC,KAAK,cAAe,QAClCzM,KAAKwM,SAASsQ,IAAI,qCAAqCpE,IACrD6gB,kBAAmBv5B,KAAKszB,KAAK5pB,KAAK1J,MAClCy5B,oBAAqBz5B,KAAK+vB,OAAOrmB,KAAK1J,QAExCA,KAAKwM,SAAS2V,SAAS,cAGzBniB,KAAKghC,mBAAmBjB,MAS1Bt2B,IAAK,iBACL7E,MAAO,WACL,OAAO,KAST6E,IAAK,oBACL7E,MAAO,SAA2BH,GAChC,GAAIyC,GAAOlH,IACXkH,GAAK+5B,MAAQx8B,EAAMghB,QAAQ,GAAGyb,SAShCz3B,IAAK,yBACL7E,MAAO,SAAgCH,GACrC,GAAIyC,GAAOlH,KACPsN,EAAQ7I,EAAMkI,KACdw0B,EAAQj6B,EAAK+5B,MAAQx8B,EAAMghB,QAAQ,GAAGyb,KAC1Ch6B,GAAK+5B,MAAQx8B,EAAMghB,QAAQ,GAAGyb,MAEzB5zB,EAAM8zB,WAAWD,EAAOj6B,IAC3BzC,EAAM+b,oBAWV/W,IAAK,uBACL7E,MAAO,SAA8BH,GACnC,GAAIyC,GAAOlH,KACPsN,EAAQ7I,EAAMkI,KACd4M,EAASrS,EAAKQ,QAAQ,wDACtBy5B,EAAQj6B,EAAK+5B,MAAQx8B,EAAMghB,QAAQ,GAAGyb,KAC1C3nB,GAAO0nB,MAAQ/5B,EAAK+5B,MAAQx8B,EAAMghB,QAAQ,GAAGyb,MAC7Cz8B,EAAM6kB,kBAEDhc,EAAM8zB,WAAWD,EAAOj6B,KACtBoG,EAAM8zB,WAAWD,EAAO5nB,GAG3BA,EAAOkW,WAAa0R,EAFpB18B,EAAM+b,qBAeZ/W,IAAK,aACL7E,MAAO,SAAoBu8B,EAAOj6B,GAChC,GAAIkpB,GAAK+Q,EAAQ,EACb9Q,EAAO8Q,EAAQ,EACfE,EAAUn6B,EAAKuoB,UAAY,EAC3B6R,EAAYp6B,EAAKuoB,UAAYvoB,EAAKq6B,aAAer6B,EAAKs6B,YAC1D,OAAOpR,IAAMiR,GAAWhR,GAAQiR,KAYlC73B,IAAK,OACL7E,MAAO,SAAcH,EAAOmI,GAC1B,GAAIykB,GAASrxB,IAEb,MAAIA,KAAKwM,SAAS8iB,SAAS,YAActvB,KAAK+/B,YAAc//B,KAAKq/B,YAAjE,CAIA,GAAI/xB,GAAQtN,IAER4M,KACF5M,KAAKi/B,aAAeryB,GAGO,QAAzB5M,KAAK0D,QAAQ+9B,QACftjC,OAAOujC,SAAS,EAAG,GACe,WAAzB1hC,KAAK0D,QAAQ+9B,SACtBtjC,OAAOujC,SAAS,EAAGtiC,SAASiF,KAAKk9B,cAG/BvhC,KAAK0D,QAAQw8B,gBAA8C,YAA5BlgC,KAAK0D,QAAQ2O,WAC9CrS,KAAKwM,SAASqkB,SAAS,6BAA6B1Z,IAAI,sBAAuBnX,KAAK0D,QAAQw8B,gBAE5FlgC,KAAKwM,SAASqkB,SAAS,6BAA6B1Z,IAAI,sBAAuB,IAGjFnX,KAAKwM,SAAS2V,SAAS,WAAWrT,YAAY,aAC9C9O,KAAKk/B,UAAUzyB,KAAK,gBAAiB,QACrCzM,KAAKwM,SAASC,KAAK,cAAe,SAClCzM,KAAKyuB,SAAStM,SAAS,WAAaniB,KAAKmI,UAErCnI,KAAK0D,QAAQy8B,iBAAkB,IACjCh2B,IAA8C,QAAQgY,SAAS,sBAAsBzJ,GAAG,YAAa1Y,KAAK2hC,gBAC1G3hC,KAAKwM,SAASkM,GAAG,aAAc1Y,KAAK4hC,mBACpC5hC,KAAKwM,SAASkM,GAAG,YAAa1Y,KAAMA,KAAK6hC,wBACzC7hC,KAAKwM,SAASkM,GAAG,aAAc,8BAA+B1Y,KAAK4hC,mBACnE5hC,KAAKwM,SAASkM,GAAG,YAAa,8BAA+B1Y,KAAMA,KAAK8hC,uBAGtE9hC,KAAK0D,QAAQ67B,kBAAmB,GAClCv/B,KAAK0/B,SAASvd,SAAS,cAGrBniB,KAAK0D,QAAQsyB,gBAAiB,GAAQh2B,KAAK0D,QAAQ67B,kBAAmB,GACxEv/B,KAAK0/B,SAASvd,SAAS,eAGrBniB,KAAK0D,QAAQuzB,aAAc,GAC7Bj3B,KAAKwM,SAASuG,IAAI7P,OAAOyqB,EAAA,eAAuE3tB,KAAKwM,UAAW,WAC9G,GAAKc,EAAMd,SAAS8iB,SAAS,WAA7B,CAIA,GAAIyS,GAAcz0B,EAAMd,SAAS0B,KAAK,mBAElC6zB,GAAY/8B,OACd+8B,EAAYzhB,GAAG,GAAGG,QAElBnT,EAAMd,SAAS0B,KAAK,aAAaoS,GAAG,GAAGG,WAKzCzgB,KAAK0D,QAAQyc,aAAc,IAC7BngB,KAAKyuB,SAAShiB,KAAK,WAAY,MAC/BmhB,EAAA,SAAmEzN,UAAUngB,KAAKwM,WAGpD,SAA5BxM,KAAK0D,QAAQ2O,YACfrS,KAAKgiC,qBAGPhiC,KAAKghC,qBAOLhhC,KAAKwM,SAASI,QAAQ,uBAMtB5M,KAAKwM,SAASuG,IAAI7P,OAAOyqB,EAAA,eAAuE3tB,KAAKwM,UAAW,WAC9G6kB,EAAO7kB,SAASI,QAAQ,gCAY5BnD,IAAK,QACL7E,MAAO,WACL,GAAIq9B,GAASjiC,IAERA,MAAKwM,SAAS8iB,SAAS,aAActvB,KAAK+/B,aAS/C//B,KAAKwM,SAASI,QAAQ,sBACtB5M,KAAKwM,SAASsC,YAAY,WAC1B9O,KAAKwM,SAASC,KAAK,cAAe,QAClCzM,KAAKyuB,SAAS3f,YAAY,yDAEtB9O,KAAK0D,QAAQ67B,kBAAmB,GAClCv/B,KAAK0/B,SAAS5wB,YAAY,cAGxB9O,KAAK0D,QAAQsyB,gBAAiB,GAAQh2B,KAAK0D,QAAQ67B,kBAAmB,GACxEv/B,KAAK0/B,SAAS5wB,YAAY,eAG5B9O,KAAKk/B,UAAUzyB,KAAK,gBAAiB,SAErCzM,KAAKwM,SAASuG,IAAI7P,OAAOyqB,EAAA,eAAuE3tB,KAAKwM,UAAW,WAC9Gy1B,EAAOz1B,SAAS2V,SAAS,aAEzB8f,EAAO1B,wBAE2B,SAA9B0B,EAAOv+B,QAAQ2O,YACjB4vB,EAAOC,uBAILD,EAAOv+B,QAAQy8B,iBAAkB,IACnCh2B,IAA8C,QAAQ2E,YAAY,sBAAsBgO,IAAI,YAAamlB,EAAON,gBAEhHM,EAAOz1B,SAASsQ,IAAI,aAAcmlB,EAAOL,mBAEzCK,EAAOz1B,SAASsQ,IAAI,YAAamlB,EAAOJ,wBAExCI,EAAOz1B,SAASsQ,IAAI,aAAc,8BAA+BmlB,EAAOL,mBAExEK,EAAOz1B,SAASsQ,IAAI,YAAa,8BAA+BmlB,EAAOH,uBAGrEG,EAAOv+B,QAAQyc,aAAc,IAC/B8hB,EAAOxT,SAAS3hB,WAAW,YAE3B8gB,EAAA,SAAmElN,aAAauhB,EAAOz1B,WAQzFy1B,EAAOz1B,SAASI,QAAQ,6BAW5BnD,IAAK,SACL7E,MAAO,SAAgBH,EAAOmI,GACxB5M,KAAKwM,SAAS8iB,SAAS,WACzBtvB,KAAKuzB,MAAM9uB,EAAOmI,GAElB5M,KAAKszB,KAAK7uB,EAAOmI,MAUrBnD,IAAK,kBACL7E,MAAO,SAAyBtB,GAC9B,GAAI6+B,GAASniC,IAEb4tB,GAAA,SAAmExO,UAAU9b,EAAG,aAC9EiwB,MAAO,WAKL,MAJA4O,GAAO5O,QAEP4O,EAAOlD,aAAaxe,SAEb,GAETV,QAAS,WACPzc,EAAEkd,uBAUR/W,IAAK,WACL7E,MAAO,WACL5E,KAAKuzB,QACLvzB,KAAKwM,SAASsQ,IAAI,6BAClB9c,KAAK0/B,SAAS5iB,IAAI,iBACd9c,KAAK2gC,gBAAgBx2B,IAA8ChM,QAAQ2e,IAAI9c,KAAK2gC,oBAIrF9B,GACPlR,EAAA,OAEFkR,GAAU9Q,UAORiI,cAAc,EAQduJ,gBAAgB,EAQhBD,UAAW,KAQXH,OAAQ,KAQRgB,eAAe,EAQfD,eAAgB,KAQhB7tB,WAAY,OAQZovB,QAAS,KAQT1B,YAAY,EAQZC,SAAU,KAQVK,WAAY,KAQZpJ,WAAW,EASX4I,YAAa,cAQb1f,WAAW,IAMPkI,mCAKC,SAASxoB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GA+JnX,QAASmpB,GAAuBC,EAAU3b,EAAS4b,GACjD,GAAIlpB,GACA0P,EAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,EACjD/E,KAA8ChM,QAAQua,GAAG9L,EAAS,WAC5DtN,GACFkR,aAAalR,GAGfA,EAAQqQ,WAAW,WACjB6Y,EAASnZ,MAAM,KAAML,IACpBuZ,GAAY,MAjLnBroB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOwe,IACrF,IAAIve,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAEzGwoB,GAD2ExoB,EAAoByJ,EAAEgC,GAC1CzL,EAAoD,6BAQhIyoB,GAPiGzoB,EAAoByJ,EAAE+e,GAOpG,WAGrB,IAAK,GAFDE,IAAY,SAAU,MAAO,IAAK,KAAM,IAEnCjiB,EAAI,EAAGA,EAAIiiB,EAAS5jB,OAAQ2B,IACnC,GAAI,GAAG+F,OAAOkc,EAASjiB,GAAI,qBAAuBxI,QAChD,MAAOA,QAAO,GAAGuO,OAAOkc,EAASjiB,GAAI,oBAIzC,QAAO,MAGLkiB,EAAW,SAAkBpa,EAAI5J,GACnC4J,EAAG9B,KAAK9H,GAAMyJ,MAAM,KAAKb,QAAQ,SAAUjP,GACzC2L,IAA8C,IAAIuC,OAAOlO,IAAc,UAATqG,EAAmB,UAAY,kBAAkB,GAAG6H,OAAO7H,EAAM,gBAAiB4J,OAIhJga,GACFK,WACEC,SACAC,WAEFC,gBAEFR,GAASK,UAAUC,OACjBG,aAAc,WACZL,EAAS1e,IAA8CnK,MAAO,SAEhEmpB,cAAe,WACb,GAAI3qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,QAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,SAE9DmK,IAA8CnK,MAAM4M,QAAQ,qBAGhEwc,eAAgB,WACd,GAAI5qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,SAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,UAE9DmK,IAA8CnK,MAAM4M,QAAQ,sBAGhEyc,kBAAmB,SAA2B/lB,GAC5C,GAAIoe,GAAYvX,IAA8CnK,MAAM2M,KAAK,WAEzErJ,GAAEgmB,kBAEgB,KAAd5H,EACFgH,EAAA,OAA+DnG,WAAWpY,IAA8CnK,MAAO0hB,EAAW,WACxIvX,IAA8CnK,MAAM4M,QAAQ,eAG9DzC,IAA8CnK,MAAMupB,UAAU3c,QAAQ,cAG1E4c,oBAAqB,WACnB,GAAIhrB,GAAK2L,IAA8CnK,MAAM2M,KAAK,eAClExC,KAA8C,IAAIuC,OAAOlO,IAAKkU,eAAe,qBAAsBvI,IAA8CnK,UAIrJyoB,EAASQ,aAAaQ,gBAAkB,SAAUxb,GAChDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMG,cACvDjb,EAAMyK,GAAG,mBAAoB,cAAe+P,EAASK,UAAUC,MAAMG,eAKvET,EAASQ,aAAaS,iBAAmB,SAAUzb,GACjDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMI,eACvDlb,EAAMyK,GAAG,mBAAoB,eAAgB+P,EAASK,UAAUC,MAAMI,gBAIxEV,EAASQ,aAAaU,kBAAoB,SAAU1b,GAClDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMK,gBACvDnb,EAAMyK,GAAG,mBAAoB,gBAAiB+P,EAASK,UAAUC,MAAMK,iBAIzEX,EAASQ,aAAaW,qBAAuB,SAAU3b,GACrDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMM,mBACvDpb,EAAMyK,GAAG,mBAAoB,oCAAqC+P,EAASK,UAAUC,MAAMM,oBAI7FZ,EAASQ,aAAaY,uBAAyB,SAAU5b,GACvDA,EAAM6O,IAAI,mCAAoC2L,EAASK,UAAUC,MAAMS,qBACvEvb,EAAMyK,GAAG,mCAAoC,sBAAuB+P,EAASK,UAAUC,MAAMS,sBAI/Ff,EAASK,UAAUE,QACjBc,eAAgB,SAAwBC,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bud,eAAgB,SAAwBD,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bwd,gBAAiB,SAAyB3mB,EAAG4mB,GAC3C,GAAIje,GAAS3I,EAAE0O,UAAU1D,MAAM,KAAK,GAChCpB,EAAU/C,IAA8C,SAASuC,OAAOT,EAAQ,MAAMke,IAAI,mBAAoBzd,OAAOwd,EAAU,MACnIhd,GAAQE,KAAK,WACX,GAAIE,GAAQnD,IAA8CnK,KAE1DsN,GAAMoF,eAAe,oBAAqBpF,QAKhDmb,EAASQ,aAAamB,mBAAqB,SAAU9d,GACnD,GAAI+d,GAAYlgB,IAA8C,mBAC1DmgB,GAAa,WAAY,UAAW,SAYxC,IAVIhe,IACwB,gBAAfA,GACTge,EAAUpiB,KAAKoE,GACkB,WAAxBrB,EAAQqB,IAAqD,gBAAlBA,GAAW,GAC/Dge,EAAYA,EAAU5d,OAAOJ,GAE7BwB,QAAQC,MAAM,iCAIdsc,EAAUrlB,OAAQ,CACpB,GAAIulB,GAAYD,EAAU9b,IAAI,SAAUzQ,GACtC,MAAO,cAAc2O,OAAO3O,KAC3BysB,KAAK,IACRrgB,KAA8ChM,QAAQ2e,IAAIyN,GAAW7R,GAAG6R,EAAW9B,EAASK,UAAUE,OAAOiB,mBAkBjHxB,EAASQ,aAAawB,kBAAoB,SAAUlC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOc,eAAgBC,IAIpGtB,EAASQ,aAAayB,kBAAoB,SAAUnC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOgB,eAAgBD,IAIpGtB,EAASQ,aAAa0B,0BAA4B,SAAU1c,GAC1D,IAAK0a,EACH,OAAO,CAGT,IAAIoB,GAAS9b,EAAMC,KAAK,+CAEpB0c,EAA4B,SAAmCC,GACjE,GAAIC,GAAU3gB,IAA8C0gB,EAAoB,GAAG9kB,OAEnF,QAAQ8kB,EAAoB,GAAGhmB,MAC7B,IAAK,aACiC,WAAhCimB,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,EAAS3sB,OAAO4c,cAG7B,WAAhC+P,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,IAGJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,mBAG1F,MAEF,KAAK,YACHojB,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,kBACxF,MAEF,SACE,OAAO,GAKb,IAAIqiB,EAAO/kB,OAET,IAAK,GAAI2B,GAAI,EAAGA,GAAKojB,EAAO/kB,OAAS,EAAG2B,IAAK,CAC3C,GAAIqkB,GAAkB,GAAIrC,GAAiBiC,EAC3CI,GAAgBC,QAAQlB,EAAOpjB,IAC7BukB,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,iBAAkB,cAAe,aAMzC7C,EAASQ,aAAasC,mBAAqB,WACzC,GAAIC,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAaQ,gBAAgB+B,GACtC/C,EAASQ,aAAaS,iBAAiB8B,GACvC/C,EAASQ,aAAaU,kBAAkB6B,GACxC/C,EAASQ,aAAaW,qBAAqB4B,GAC3C/C,EAASQ,aAAaY,uBAAuB2B,IAG/C/C,EAASQ,aAAawC,mBAAqB,WACzC,GAAID,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAa0B,0BAA0Ba,GAChD/C,EAASQ,aAAawB,kBAAkB,KACxChC,EAASQ,aAAayB,oBACtBjC,EAASQ,aAAamB,sBAGxB3B,EAAS7D,KAAO,SAAU8G,EAAI3gB,GAC5B7H,OAAOyI,EAAA,QAA+DxB,IAA8ChM,QAAS,WACvHgM,EAA4CK,EAAEmhB,uBAAwB,IACxElD,EAASQ,aAAasC,qBACtB9C,EAASQ,aAAawC,qBACtBthB,EAA4CK,EAAEmhB,qBAAsB,KAIpE5gB,IACFA,EAAW0d,SAAWA,EAEtB1d,EAAW6gB,SAAWnD,EAASQ,aAAawC,sBAQ1ChN,EAKC,SAAS5e,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAoH,iDAK/H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,MzBkuCJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,K0B9/EjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,2BAA4BA,QAAQ,WAC/L,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,6BAA8B,+BAAgC,2BAA4B,0BAA2B,UAAWH,GACnI,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,qBAAuBD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,8BAA+BA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,2BAA4BA,QAAQ,YAEtOjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,qBAAuBC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,4BAA6BA,EAAA,wBAAgC,8BAA+BA,EAAA,wBAAgC,0BAA2BA,EAAA,wBAAgC,yBAA0BA,EAAA,UAC5avB,OAAQ,SAAS4a,EAA8C+S,EAAuD0S,EAAyDzW,EAAqD2P,EAAoD9uB,GAC3R,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIXgT,6BAKC,SAASlsB,EAAQD,GAExBC,EAAOD,QAAUksB,GAIX2S,+BAKC,SAAS5+B,EAAQD,GAExBC,EAAOD,QAAU4+B,GAIXxW,2BAKC,SAASnoB,EAAQD,GAExBC,EAAOD,QAAUmoB,GAIX4P,0BAKC,SAAS93B,EAAQD,GAExBC,EAAOD,QAAU83B,GAIX0K,4CAKC,SAASviC,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAImpB,GAAkDniC,EAAmD,4BAChGA,GAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOo4B,GAAA,SAIvGnpB,EAAA,WAA4DjN,OAAOo2B,EAAA,OAA2D,WAKxHC,4BAKC,SAASziC,EAAQoK,EAAqB/J,GAE7C,YAgBA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL;AAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GAnCxM9I,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOs4B,IACnF,IAAIr4B,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyjB,EAAuDztB,EAAoD,qBAE3G0tB,GAD4E1tB,EAAoByJ,EAAEgkB,GACzCztB,EAAsD,+BAE/G4+B,GAD8E5+B,EAAoByJ,EAAEikB,GACzC1tB,EAAwD,iCAEnHsiC,GADgFtiC,EAAoByJ,EAAEm1B,GAC/C5+B,EAAoD,6BAE3GuiC,GAD4EviC,EAAoByJ,EAAE64B,GACzCtiC,EAAsD,qCAC/GwiC,EAAsDxiC,EAAmD,2BA0C9HqiC,GAzCgGriC,EAAoByJ,EAAE+4B,GAyChG,SAAU7U,GAKlC,QAAS0U,KAGP,MAFAvxB,GAAgBhR,KAAMuiC,GAEfzU,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUoW,EAAQ1U,EAElB,IAAIC,GAASrB,EAAa8V,EA+jB1B,OAvjBA/wB,GAAa+wB,IACX94B,IAAK,SACL7E,MAQA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAW0iB,EAAOxU,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GAC/G1D,KAAKmM,UAAY,SAEjBnM,KAAKqN,QAGLq1B,EAAA,MAA6D9d,KAAKza,EAA4CK,GAC9Gi4B,EAAA,SAAmE7d,KAAKza,EAA4CK,GACpHojB,EAAA,SAAmE3N,SAAS,UAC1EkS,OAAU,aASd1oB,IAAK,QACL7E,MAAO,WACL,GAAI6T,GAASzY,IAEb8+B,GAAA,WAAuEzxB,QAEvErN,KAAKxB,GAAKwB,KAAKwM,SAASC,KAAK,MAC7BzM,KAAKwyB,UAAW,EAChBxyB,KAAK2iC,QACHC,GAAI9D,EAAA,WAAuEjgC,SAE7EmB,KAAKmvB,QAAUhlB,IAA8C,eAAgBuC,OAAO1M,KAAKxB,GAAI,OAAQwG,OAASmF,IAA8C,eAAgBuC,OAAO1M,KAAKxB,GAAI,OAAU2L,IAA8C,iBAAkBuC,OAAO1M,KAAKxB,GAAI,OACtRwB,KAAKmvB,QAAQ1iB,MACXkiB,gBAAiB3uB,KAAKxB,GACtBglB,gBAAiB,SACjBwR,SAAY,KAGVh1B,KAAK0D,QAAQm/B,YAAc7iC,KAAKwM,SAAS8iB,SAAS,WACpDtvB,KAAK0D,QAAQm/B,YAAa,EAC1B7iC,KAAK0D,QAAQ87B,SAAU,GAGrBx/B,KAAK0D,QAAQ87B,UAAYx/B,KAAK0/B,WAChC1/B,KAAK0/B,SAAW1/B,KAAK8iC,aAAa9iC,KAAKxB,KAGzCwB,KAAKwM,SAASC,MACZsW,KAAQ,SACRa,eAAe,EACfkV,gBAAiB94B,KAAKxB,GACtB26B,cAAen5B,KAAKxB,KAGlBwB,KAAK0/B,SACP1/B,KAAKwM,SAASwnB,SAAShd,SAAShX,KAAK0/B,WAErC1/B,KAAKwM,SAASwnB,SAAShd,SAAS7M,IAA8CnK,KAAK0D,QAAQsT,WAC3FhX,KAAKwM,SAAS2V,SAAS,oBAGzBniB,KAAK6vB,UAED7vB,KAAK0D,QAAQksB,UAAYzxB,OAAOC,SAAS8wB,OAAS,IAAIxiB,OAAO1M,KAAKxB,MACpEwB,KAAK2gC,eAAiBz9B,OAAOyqB,EAAA,QAAgExjB,IAA8ChM,QAAS,WAClJ,MAAOsa,GAAO6a,aAUpB7pB,IAAK,eACL7E,MAAO,WACL,GAAIm+B,GAA2B,EAM/B,OAJI/iC,MAAK0D,QAAQq/B,2BACfA,EAA2B,IAAM/iC,KAAK0D,QAAQq/B,0BAGzC54B,IAA8C,eAAegY,SAAS,iBAAmB4gB,GAA0B/rB,SAAShX,KAAK0D,QAAQsT,aASlJvN,IAAK,kBACL7E,MAAO,WACL,GAII0V,GAJA3D,EAAQ3W,KAAKwM,SAASw2B,aACtBA,EAAa74B,IAA8ChM,QAAQwY,QACnEwD,EAASna,KAAKwM,SAASy2B,cACvBA,EAAc94B,IAA8ChM,QAAQgc,SAEpEE,EAAM,IAGRC,GAD2B,SAAzBta,KAAK0D,QAAQ6X,QACRmC,UAAUslB,EAAarsB,GAAS,EAAG,IAEnC+G,SAAS1d,KAAK0D,QAAQ6X,QAAS,IAGX,SAAzBvb,KAAK0D,QAAQ4X,QAEbjB,EADEF,EAAS8oB,EACLvlB,SAAS1e,KAAKwb,IAAI,IAAKyoB,EAAc,IAAK,IAE1CvlB,UAAUulB,EAAc9oB,GAAU,EAAG,IAEX,OAAzBna,KAAK0D,QAAQ4X,UACtBjB,EAAMqD,SAAS1d,KAAK0D,QAAQ4X,QAAS,KAG3B,OAARjB,GACFra,KAAKwM,SAAS2K,KACZkD,IAAKA,EAAM,OAMVra,KAAK0/B,UAAqC,SAAzB1/B,KAAK0D,QAAQ6X,UACjCvb,KAAKwM,SAAS2K,KACZmD,KAAMA,EAAO,OAEfta,KAAKwM,SAAS2K,KACZ+rB,OAAQ,YAUdz5B,IAAK,UACL7E,MAAO,WACL,GAAIqsB,GAASjxB,KAETsN,EAAQtN,IAEZA,MAAKwM,SAASkM,IACZ6gB,kBAAmBv5B,KAAKszB,KAAK5pB,KAAK1J,MAClCw5B,mBAAoB,SAAwB/0B,EAAO+H,GACjD,GAAI/H,EAAMsB,SAAWuH,EAAMd,SAAS,IAAMrC,IAA8C1F,EAAMsB,QAAQstB,QAAQ,mBAAmB,KAAO7mB,EAEtI,MAAOykB,GAAOsC,MAAMlkB,MAAM4hB,IAG9BwI,oBAAqBz5B,KAAK+vB,OAAOrmB,KAAK1J,MACtC05B,sBAAuB,WACrBpsB,EAAM61B,qBAINnjC,KAAK0D,QAAQsyB,cAAgBh2B,KAAK0D,QAAQ87B,SAC5Cx/B,KAAK0/B,SAAS5iB,IAAI,cAAcpE,GAAG,oCAAqC,SAAUpV,GAC5EA,EAAEyC,SAAWuH,EAAMd,SAAS,KAAMrC,EAA4CK,EAAE2rB,SAAS7oB,EAAMd,SAAS,GAAIlJ,EAAEyC,SAAYoE,EAA4CK,EAAE2rB,SAAS/2B,SAAUkE,EAAEyC,SAIjMuH,EAAMimB,UAINvzB,KAAK0D,QAAQksB,UACfzlB,IAA8ChM,QAAQua,GAAG,wBAAwBhM,OAAO1M,KAAKxB,IAAKwB,KAAKojC,aAAa15B,KAAK1J,UAS7HyJ,IAAK,eACL7E,MAAO,WACDzG,OAAOC,SAAS8wB,OAAS,IAAMlvB,KAAKxB,IAAOwB,KAAKwyB,SAGlDxyB,KAAKuzB,QAFLvzB,KAAKszB,UAWT7pB,IAAK,iBACL7E,MAAO,SAAwB6qB,GAC7BA,EAAYA,GAAatlB,IAA8ChM,QAAQsxB,YAE3EtlB,IAA8C/K,UAAU+a,SAAWhQ,IAA8ChM,QAAQgc,UAC3HhQ,IAA8C,QAAQgN,IAAI,OAAQsY,MAStEhmB,IAAK,gBACL7E,MAAO,SAAuB6qB,GAC5BA,EAAYA,GAAa/R,SAASvT,IAA8C,QAAQgN,IAAI,OAAQ,IAEhGhN,IAA8C/K,UAAU+a,SAAWhQ,IAA8ChM,QAAQgc,WAC3HhQ,IAA8C,QAAQgN,IAAI,MAAO,IACjEhN,IAA8ChM,QAAQsxB,WAAWA,OAWrEhmB,IAAK,OACL7E,MAAO,WACL,GAAIysB,GAASrxB,KAGTkvB,EAAO,IAAIxiB,OAAO1M,KAAKxB,GAEvBwB,MAAK0D,QAAQksB,UAAYzxB,OAAOC,SAAS8wB,OAASA,IAChD/wB,OAAOoyB,QAAQC,UACbxwB,KAAK0D,QAAQ4sB,cACfnyB,OAAOoyB,QAAQC,aAAc,GAAItB,GAEjC/wB,OAAOoyB,QAAQE,gBAAiB,GAAIvB,GAGtC/wB,OAAOC,SAAS8wB,KAAOA,GAK3BlvB,KAAKqjC,cAAgBl5B,IAA8C/K,SAASmG,eAAesS,GAAG7X,KAAKmvB,SAAWhlB,IAA8C/K,SAASmG,eAAiBvF,KAAKmvB,QAC3LnvB,KAAKwyB,UAAW,EAEhBxyB,KAAKwM,SAAS2K,KACZmsB,WAAc,WACblhB,OAAOqN,UAAU,GAEhBzvB,KAAK0D,QAAQ87B,SACfx/B,KAAK0/B,SAASvoB,KACZmsB,WAAc,WACblhB,OAGLpiB,KAAKmjC,kBAELnjC,KAAKwM,SAASoV,OAAOzK,KACnBmsB,WAAc,KAGZtjC,KAAK0/B,WACP1/B,KAAK0/B,SAASvoB,KACZmsB,WAAc,KACb1hB,OAEC5hB,KAAKwM,SAAS8iB,SAAS,QACzBtvB,KAAK0/B,SAASvd,SAAS,QACdniB,KAAKwM,SAAS8iB,SAAS,SAChCtvB,KAAK0/B,SAASvd,SAAS,SAItBniB,KAAK0D,QAAQ6/B,gBAMhBvjC,KAAKwM,SAASI,QAAQ,oBAAqB5M,KAAKxB,IAG8B,IAA5E2L,IAA8C,mBAAmBnF,QACnEhF,KAAKwjC,gBAGP,IAAIl2B,GAAQtN,IAGZ,IAAIA,KAAK0D,QAAQ+/B,YAAa,CAC5B,GAAIC,GAAiB,WACnBp2B,EAAMd,SAASC,MACbmX,eAAe,EACfoR,cACCvU,QAEHnT,EAAMq2B,oBAEN/V,EAAA,SAAmEzN,UAAU7S,EAAMd,UAGjFxM,MAAK0D,QAAQ87B,SACfgD,EAAA,OAA+DlgB,UAAUtiB,KAAK0/B,SAAU,WAG1F8C,EAAA,OAA+DlgB,UAAUtiB,KAAKwM,SAAUxM,KAAK0D,QAAQ+/B,YAAa,WAC5GpS,EAAO7kB,WAET6kB,EAAOuS,kBAAoBhW,EAAA,SAAmEtQ,cAAc+T,EAAO7kB,UACnHk3B,WAKA1jC,MAAK0D,QAAQ87B,SACfx/B,KAAK0/B,SAAStd,KAAK,GAGrBpiB,KAAKwM,SAAS4V,KAAKpiB,KAAK0D,QAAQmgC,UAIlC7jC,MAAKwM,SAASC,MACZmX,eAAe,EACfoR,cACCvU,QACHmN,EAAA,SAAmEzN,UAAUngB,KAAKwM,UAElFxM,KAAK2jC,oBAEL3jC,KAAK8jC,sBAOL9jC,KAAKwM,SAASI,QAAQ,qBAexBnD,IAAK,oBACL7E,MAAO,WACL,GAAIm/B,GAAuB,WACzB55B,IAA8C,QAAQ65B,YAAY,mBAAoB75B,IAA8C/K,UAAU+a,SAAWhQ,IAA8ChM,QAAQgc,WAGjNna,MAAKwM,SAASkM,GAAG,8CAA+C,WAC9D,MAAOqrB,OAETA,IACA55B,IAA8C,QAAQgY,SAAS,qBAQjE1Y,IAAK,uBACL7E,MAAO,WACL5E,KAAKwM,SAASsQ,IAAI,+CAClB3S,IAA8C,QAAQ2E,YAAY,kBAClE3E,IAA8C,QAAQ2E,YAAY,oBAQpErF,IAAK,sBACL7E,MAAO,WACL,GAAI0I,GAAQtN,IAEPA,MAAKwM,WAKVxM,KAAK4jC,kBAAoBhW,EAAA,SAAmEtQ,cAActd,KAAKwM,UAE1GxM,KAAK0D,QAAQ87B,UAAWx/B,KAAK0D,QAAQsyB,cAAiBh2B,KAAK0D,QAAQm/B,YACtE14B,IAA8C,QAAQuO,GAAG,oCAAqC,SAAUpV,GAClGA,EAAEyC,SAAWuH,EAAMd,SAAS,KAAMrC,EAA4CK,EAAE2rB,SAAS7oB,EAAMd,SAAS,GAAIlJ,EAAEyC,SAAYoE,EAA4CK,EAAE2rB,SAAS/2B,SAAUkE,EAAEyC,SAIjMuH,EAAMimB,UAINvzB,KAAK0D,QAAQugC,YACf95B,IAA8ChM,QAAQua,GAAG,oBAAqB,SAAUpV,GACtFsqB,EAAA,SAAmExO,UAAU9b,EAAG,UAC9EiwB,MAAO,WACDjmB,EAAM5J,QAAQugC,YAChB32B,EAAMimB,iBAclB9pB,IAAK,QACL7E,MAAO,WAoCL,QAASs/B,KAIP,GAAIzU,GAAY/R,SAASvT,IAA8C,QAAQgN,IAAI,OAAQ,GAEX,KAA5EhN,IAA8C,mBAAmBnF,QACnEsI,EAAM62B,uBAIRvW,EAAA,SAAmElN,aAAapT,EAAMd,UAEtFc,EAAMd,SAASC,KAAK,eAAe,GAE6C,IAA5EtC,IAA8C,mBAAmBnF,QACnEsI,EAAM82B,cAAc3U,GAQtBniB,EAAMd,SAASI,QAAQ,oBA3DzB,IAAK5M,KAAKwyB,WAAaxyB,KAAKwM,SAASqL,GAAG,YACtC,OAAO,CAGT,IAAIvK,GAAQtN,IAqEZ,IAlEIA,KAAK0D,QAAQ2gC,cACXrkC,KAAK0D,QAAQ87B,SACfgD,EAAA,OAA+DjgB,WAAWviB,KAAK0/B,SAAU,YAG3F8C,EAAA,OAA+DjgB,WAAWviB,KAAKwM,SAAUxM,KAAK0D,QAAQ2gC,aAAcH,KAGpHlkC,KAAKwM,SAASoV,KAAK5hB,KAAK0D,QAAQ4gC,WAE5BtkC,KAAK0D,QAAQ87B,QACfx/B,KAAK0/B,SAAS9d,KAAK,EAAGsiB,GAEtBA,KAKAlkC,KAAK0D,QAAQugC,YACf95B,IAA8ChM,QAAQ2e,IAAI,sBAGvD9c,KAAK0D,QAAQ87B,SAAWx/B,KAAK0D,QAAQsyB,cACxC7rB,IAA8C,QAAQ2S,IAAI,qCAG5D9c,KAAKwM,SAASsQ,IAAI,qBAkCd9c,KAAK0D,QAAQ6gC,cACfvkC,KAAKwM,SAASg4B,KAAKxkC,KAAKwM,SAASg4B,QAGnCxkC,KAAKwyB,UAAW,EAEZllB,EAAM5J,QAAQksB,UAAYzxB,OAAOC,SAAS8wB,OAAS,IAAIxiB,OAAO1M,KAAKxB,IAErE,GAAIL,OAAOoyB,QAAQE,aAAc,CAC/B,GAAIgU,GAAiBtmC,OAAOC,SAASsmC,SAAWvmC,OAAOC,SAASumC,MAE5D3kC,MAAK0D,QAAQ4sB,cACfnyB,OAAOoyB,QAAQC,aAAc,GAAIiU,GAEjCtmC,OAAOoyB,QAAQE,aAAa,GAAIrxB,SAASwlC,MAAOH,OAGlDtmC,QAAOC,SAAS8wB,KAAO,EAI3BlvB,MAAKqjC,cAAc5iB,WAQrBhX,IAAK,SACL7E,MAAO,WACD5E,KAAKwyB,SACPxyB,KAAKuzB,QAELvzB,KAAKszB,UAIT7pB,IAAK,WACL7E,MAKA,WACM5E,KAAK0D,QAAQ87B,UACfx/B,KAAKwM,SAASwK,SAAS7M,IAA8CnK,KAAK0D,QAAQsT,WAElFhX,KAAK0/B,SAAS9d,OAAO9E,MAAMmX,UAG7Bj0B,KAAKwM,SAASoV,OAAO9E,MACrB9c,KAAKmvB,QAAQrS,IAAI,OACjB3S,IAA8ChM,QAAQ2e,IAAI,cAAcpQ,OAAO1M,KAAKxB,KAChFwB,KAAK2gC,gBAAgBx2B,IAA8ChM,QAAQ2e,IAAI9c,KAAK2gC,gBAER,IAA5Ex2B,IAA8C,mBAAmBnF,QACnEhF,KAAKmkC,2BAMJ5B,GACP5U,EAAA,QAEF4U,GAAOxU,UAOL0V,YAAa,GAQbY,aAAc,GAQdR,UAAW,EAQXS,UAAW,EAQXtO,cAAc,EAQdiO,YAAY,EAQZV,gBAAgB,EAQhBjoB,QAAS,OAQTC,QAAS,OAQTsnB,YAAY,EAQZrD,SAAS,EAQT+E,cAAc,EASd3U,UAAU,EAOVU,eAAe,EAQftZ,SAAU,OAQV+rB,yBAA0B,KAMtB1a,mCAKC,SAASxoB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GA+JnX,QAASmpB,GAAuBC,EAAU3b,EAAS4b,GACjD,GAAIlpB,GACA0P,EAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,EACjD/E,KAA8ChM,QAAQua,GAAG9L,EAAS,WAC5DtN,GACFkR,aAAalR,GAGfA,EAAQqQ,WAAW,WACjB6Y,EAASnZ,MAAM,KAAML,IACpBuZ,GAAY,MAjLnBroB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOwe,IACrF,IAAIve,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAEzGwoB,GAD2ExoB,EAAoByJ,EAAEgC,GAC1CzL,EAAoD,6BAQhIyoB,GAPiGzoB,EAAoByJ,EAAE+e,GAOpG,WAGrB,IAAK,GAFDE,IAAY,SAAU,MAAO,IAAK,KAAM,IAEnCjiB,EAAI,EAAGA,EAAIiiB,EAAS5jB,OAAQ2B,IACnC,GAAI,GAAG+F,OAAOkc,EAASjiB,GAAI,qBAAuBxI,QAChD,MAAOA,QAAO,GAAGuO,OAAOkc,EAASjiB,GAAI,oBAIzC,QAAO,MAGLkiB,EAAW,SAAkBpa,EAAI5J,GACnC4J,EAAG9B,KAAK9H,GAAMyJ,MAAM,KAAKb,QAAQ,SAAUjP,GACzC2L,IAA8C,IAAIuC,OAAOlO,IAAc,UAATqG,EAAmB,UAAY,kBAAkB,GAAG6H,OAAO7H,EAAM,gBAAiB4J,OAIhJga,GACFK,WACEC,SACAC,WAEFC,gBAEFR,GAASK,UAAUC,OACjBG,aAAc,WACZL,EAAS1e,IAA8CnK,MAAO,SAEhEmpB,cAAe,WACb,GAAI3qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,QAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,SAE9DmK,IAA8CnK,MAAM4M,QAAQ,qBAGhEwc,eAAgB,WACd,GAAI5qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,SAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,UAE9DmK,IAA8CnK,MAAM4M,QAAQ,sBAGhEyc,kBAAmB,SAA2B/lB,GAC5C,GAAIoe,GAAYvX,IAA8CnK,MAAM2M,KAAK,WAEzErJ,GAAEgmB,kBAEgB,KAAd5H,EACFgH,EAAA,OAA+DnG,WAAWpY,IAA8CnK,MAAO0hB,EAAW,WACxIvX,IAA8CnK,MAAM4M,QAAQ,eAG9DzC,IAA8CnK,MAAMupB,UAAU3c,QAAQ,cAG1E4c,oBAAqB,WACnB,GAAIhrB,GAAK2L,IAA8CnK,MAAM2M,KAAK,eAClExC,KAA8C,IAAIuC,OAAOlO,IAAKkU,eAAe,qBAAsBvI,IAA8CnK,UAIrJyoB,EAASQ,aAAaQ,gBAAkB,SAAUxb,GAChDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMG,cACvDjb,EAAMyK,GAAG,mBAAoB,cAAe+P,EAASK,UAAUC,MAAMG,eAKvET,EAASQ,aAAaS,iBAAmB,SAAUzb,GACjDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMI,eACvDlb,EAAMyK,GAAG,mBAAoB,eAAgB+P,EAASK,UAAUC,MAAMI,gBAIxEV,EAASQ,aAAaU,kBAAoB,SAAU1b,GAClDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMK,gBACvDnb,EAAMyK,GAAG,mBAAoB,gBAAiB+P,EAASK,UAAUC,MAAMK,iBAIzEX,EAASQ,aAAaW,qBAAuB,SAAU3b,GACrDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMM,mBACvDpb,EAAMyK,GAAG,mBAAoB,oCAAqC+P,EAASK,UAAUC,MAAMM,oBAI7FZ,EAASQ,aAAaY,uBAAyB,SAAU5b,GACvDA,EAAM6O,IAAI,mCAAoC2L,EAASK,UAAUC,MAAMS,qBACvEvb,EAAMyK,GAAG,mCAAoC,sBAAuB+P,EAASK,UAAUC,MAAMS,sBAI/Ff,EAASK,UAAUE,QACjBc,eAAgB,SAAwBC,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bud,eAAgB,SAAwBD,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bwd,gBAAiB,SAAyB3mB,EAAG4mB,GAC3C,GAAIje,GAAS3I,EAAE0O,UAAU1D,MAAM,KAAK,GAChCpB,EAAU/C,IAA8C,SAASuC,OAAOT,EAAQ,MAAMke,IAAI,mBAAoBzd,OAAOwd,EAAU,MACnIhd,GAAQE,KAAK,WACX,GAAIE,GAAQnD,IAA8CnK,KAE1DsN,GAAMoF,eAAe,oBAAqBpF,QAKhDmb,EAASQ,aAAamB,mBAAqB,SAAU9d,GACnD,GAAI+d,GAAYlgB,IAA8C,mBAC1DmgB,GAAa,WAAY,UAAW,SAYxC,IAVIhe,IACwB,gBAAfA,GACTge,EAAUpiB,KAAKoE,GACkB,WAAxBrB,EAAQqB,IAAqD,gBAAlBA,GAAW,GAC/Dge,EAAYA,EAAU5d,OAAOJ,GAE7BwB,QAAQC,MAAM,iCAIdsc,EAAUrlB,OAAQ,CACpB,GAAIulB,GAAYD,EAAU9b,IAAI,SAAUzQ,GACtC,MAAO,cAAc2O,OAAO3O,KAC3BysB,KAAK,IACRrgB,KAA8ChM,QAAQ2e,IAAIyN,GAAW7R,GAAG6R,EAAW9B,EAASK,UAAUE,OAAOiB,mBAkBjHxB,EAASQ,aAAawB,kBAAoB,SAAUlC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOc,eAAgBC,IAIpGtB,EAASQ,aAAayB,kBAAoB,SAAUnC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOgB,eAAgBD,IAIpGtB,EAASQ,aAAa0B,0BAA4B,SAAU1c,GAC1D,IAAK0a,EACH,OAAO,CAGT,IAAIoB,GAAS9b,EAAMC,KAAK,+CAEpB0c,EAA4B,SAAmCC,GACjE,GAAIC,GAAU3gB,IAA8C0gB,EAAoB,GAAG9kB,OAEnF,QAAQ8kB,EAAoB,GAAGhmB,MAC7B,IAAK,aACiC,WAAhCimB,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,EAAS3sB,OAAO4c,cAG7B,WAAhC+P,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,IAGJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,mBAG1F,MAEF,KAAK,YACHojB,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,kBACxF,MAEF,SACE,OAAO,GAKb,IAAIqiB,EAAO/kB,OAET,IAAK,GAAI2B,GAAI,EAAGA,GAAKojB,EAAO/kB,OAAS,EAAG2B,IAAK,CAC3C,GAAIqkB,GAAkB,GAAIrC,GAAiBiC,EAC3CI,GAAgBC,QAAQlB,EAAOpjB,IAC7BukB,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,iBAAkB,cAAe,aAMzC7C,EAASQ,aAAasC,mBAAqB,WACzC,GAAIC,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAaQ,gBAAgB+B,GACtC/C,EAASQ,aAAaS,iBAAiB8B,GACvC/C,EAASQ,aAAaU,kBAAkB6B,GACxC/C,EAASQ,aAAaW,qBAAqB4B,GAC3C/C,EAASQ,aAAaY,uBAAuB2B,IAG/C/C,EAASQ,aAAawC,mBAAqB,WACzC,GAAID,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAa0B,0BAA0Ba,GAChD/C,EAASQ,aAAawB,kBAAkB,KACxChC,EAASQ,aAAayB,oBACtBjC,EAASQ,aAAamB,sBAGxB3B,EAAS7D,KAAO,SAAU8G,EAAI3gB,GAC5B7H,OAAOyI,EAAA,QAA+DxB,IAA8ChM,QAAS,WACvHgM,EAA4CK,EAAEmhB,uBAAwB,IACxElD,EAASQ,aAAasC,qBACtB9C,EAASQ,aAAawC,qBACtBthB,EAA4CK,EAAEmhB,qBAAsB,KAIpE5gB,IACFA,EAAW0d,SAAWA,EAEtB1d,EAAW6gB,SAAWnD,EAASQ,aAAawC,sBAQ1CoZ,GAKC,SAAShlC,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAiH,8CAK5H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,M1BigDJ,IAAIL,UAAyB,kBAATC,SAA8C,gBAAlBA,QAAOC,SAAoB,SAAStJ,GAAK,aAAcA,IAAM,SAASA,GAAK,MAAOA,IAAqB,kBAATqJ,SAAqBrJ,EAAIuJ,cAAcF,QAAQrJ,IAAMqJ,OAAOlB,UAAU,eAAgBnI,K2BpvFjP,SAA2CO,EAAMC,GAC1B,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,WAA0C,YAAlB,mBAAOC,QAAP,YAAA0I,SAAO1I,SACxCA,OAAOD,QAAUD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,WACpH,kBAAX7I,SAAyBA,OAAOC,IAC9CD,QAAQ,oBAAqB,+BAAgC,2BAA4B,UAAWH,GAC1E,YAAnB,mBAAOC,SAAP,YAAA2I,SAAO3I,UACdA,QAAQ,qBAAuBD,EAAQgJ,QAAQ,qBAAsBA,QAAQ,gCAAiCA,QAAQ,4BAA6BA,QAAQ,YAE3JjJ,EAAA,wBAAkCA,EAAA,4BAAuCA,EAAA,wBAAgC,qBAAuBC,EAAQD,EAAA,wBAAgC,mBAAoBA,EAAA,wBAAgC,8BAA+BA,EAAA,wBAAgC,0BAA2BA,EAAA,UACrTvB,OAAQ,SAAS4a,EAA8CylB,EAAyDzW,EAAqDnf,GAChL,MAAiB,UAAS3I,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BwG,EAAGxG,EACH0I,GAAG,EACHjJ,WAUD,OANAK,GAAQE,GAAUG,KAAKT,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOgJ,GAAI,EAGJhJ,EAAOD,QAvBf,GAAIQ,KAiFJ,OArDAF,GAAoBK,EAAIN,EAGxBC,EAAoBM,EAAIJ,EAGxBF,EAAoB4I,EAAI,SAASlJ,EAAS7B,EAAMgL,GAC3C7I,EAAoB8I,EAAEpJ,EAAS7B,IAClCmF,OAAOC,eAAevD,EAAS7B,GAAQkL,YAAY,EAAM7F,IAAK2F,KAKhE7I,EAAoBgJ,EAAI,SAAStJ,GACX,mBAAX4I,SAA0BA,OAAOW,aAC1CjG,OAAOC,eAAevD,EAAS4I,OAAOW,aAAevE,MAAO,WAE7D1B,OAAOC,eAAevD,EAAS,cAAgBgF,OAAO,KAQvD1E,EAAoBkJ,EAAI,SAASxE,EAAOyE,GAEvC,GADU,EAAPA,IAAUzE,EAAQ1E,EAAoB0E,IAC/B,EAAPyE,EAAU,MAAOzE,EACpB,IAAW,EAAPyE,GAA8B,YAAjB,mBAAOzE,GAAP,YAAA2D,SAAO3D,KAAsBA,GAASA,EAAM0E,WAAY,MAAO1E,EAChF,IAAI2E,GAAKrG,OAAOsG,OAAO,KAGvB,IAFAtJ,EAAoBgJ,EAAEK,GACtBrG,OAAOC,eAAeoG,EAAI,WAAaN,YAAY,EAAMrE,MAAOA,IACtD,EAAPyE,GAA4B,gBAATzE,GAAmB,IAAI,GAAI6E,KAAO7E,GAAO1E,EAAoB4I,EAAES,EAAIE,EAAK,SAASA,GAAO,MAAO7E,GAAM6E,IAAQC,KAAK,KAAMD,GAC9I,OAAOF,IAIRrJ,EAAoByJ,EAAI,SAAS9J,GAChC,GAAIkJ,GAASlJ,GAAUA,EAAOyJ,WAC7B,WAAwB,MAAOzJ,GAAO,YACtC,WAA8B,MAAOA,GAEtC,OADAK,GAAoB4I,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR7I,EAAoB8I,EAAI,SAASY,EAAQC,GAAY,MAAO3G,QAAOoE,UAAUwC,eAAexJ,KAAKsJ,EAAQC,IAGzG3J,EAAoBO,EAAI,GAIjBP,EAAoBA,EAAoB6J,EAAI,MAKvDiP,oBAKC,SAASnZ,EAAQD,GAExBC,EAAOD,QAAUmZ,GAIX0lB,+BAKC,SAAS5+B,EAAQD,GAExBC,EAAOD,QAAU4+B,GAIXxW,2BAKC,SAASnoB,EAAQD,GAExBC,EAAOD,QAAUmoB,GAIX+c,4CAKC,SAASjlC,EAAQoK,EAAqB/J,GAE7C,YACAA,GAAoBgJ,EAAEe,EACD,IAAIiP,GAAgDhZ,EAA6C,oBACxBA,GAAoByJ,EAAEuP,EACtFhZ,GAAoB4I,EAAEmB,EAAqB,aAAc,WAAa,MAAOiP,GAAA,YAEtF,IAAI6rB,GAAkD7kC,EAAmD,4BAChGA,GAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAO86B,GAAA,SAIvG7rB,EAAA,WAA4DjN,OAAO84B,EAAA,OAA2D,WAKxHC,4BAKC,SAASnlC,EAAQoK,EAAqB/J,GAE7C,YAUA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GAEnX,QAAS6R,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAInC,WAAU,qCAEhH,QAASoC,GAAkBpL,EAAQqL,GAAS,IAAK,GAAIzK,GAAI,EAAGA,EAAIyK,EAAMpM,OAAQ2B,IAAK,CAAE,GAAI0K,GAAaD,EAAMzK,EAAI0K,GAAWpI,WAAaoI,EAAWpI,aAAc,EAAOoI,EAAWC,cAAe,EAAU,SAAWD,KAAYA,EAAWE,UAAW,GAAMrO,OAAOC,eAAe4C,EAAQsL,EAAW5H,IAAK4H,IAE7S,QAASG,GAAaN,EAAaO,EAAYC,GAAmJ,MAAhID,IAAYN,EAAkBD,EAAY5J,UAAWmK,GAAiBC,GAAaP,EAAkBD,EAAaQ,GAAqBR,EAEzM,QAASib,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAItd,WAAU,qDAAyDqd,GAAS9kB,UAAYpE,OAAOsG,OAAO6iB,GAAcA,EAAW/kB,WAAaoB,aAAe9D,MAAOwnB,EAAU7a,UAAU,EAAMD,cAAc,KAAe+a,GAAYC,EAAgBF,EAAUC,GAEnX,QAASC,GAAgBtjB,EAAGvI,GAA+G,OAA1G6rB,EAAkBppB,OAAOqpB,gBAAkB,SAAyBvjB,EAAGvI,GAAsB,MAAjBuI,GAAEwjB,UAAY/rB,EAAUuI,IAA6BA,EAAGvI,GAErK,QAASgsB,GAAaC,GAAW,GAAIC,GAA4BC,GAA6B,OAAO,YAAkC,GAAsCC,GAAlCC,EAAQC,EAAgBL,EAAkB,IAAIC,EAA2B,CAAE,GAAIK,GAAYD,EAAgB/sB,MAAM0I,WAAamkB,GAASI,QAAQC,UAAUJ,EAAO5d,UAAW8d,OAAqBH,GAASC,EAAMzd,MAAMrP,KAAMkP,UAAc,OAAOie,GAA2BntB,KAAM6sB,IAE5Z,QAASM,GAA2BrW,EAAMxW,GAAQ,GAAIA,IAA2B,WAAlB2K,EAAQ3K,IAAsC,kBAATA,IAAwB,MAAOA,EAAa,IAAa,SAATA,EAAmB,KAAM,IAAIyO,WAAU,2DAA+D,OAAOqe,GAAuBtW,GAExR,QAASsW,GAAuBtW,GAAQ,GAAa,SAATA,EAAmB,KAAM,IAAI1H,gBAAe,4DAAgE,OAAO0H,GAE/J,QAAS8V,KAA8B,GAAuB,mBAAZK,WAA4BA,QAAQC,UAAW,OAAO,CAAO,IAAID,QAAQC,UAAUG,KAAM,OAAO,CAAO,IAAqB,kBAAVC,OAAsB,OAAO,CAAM,KAAsF,MAAhFC,SAAQjmB,UAAUkmB,QAAQltB,KAAK2sB,QAAQC,UAAUK,WAAa,gBAAyB,EAAQ,MAAOjqB,GAAK,OAAO,GAE/T,QAASypB,GAAgB/jB,GAAwJ,OAAnJ+jB,EAAkB7pB,OAAOqpB,eAAiBrpB,OAAOuqB,eAAiB,SAAyBzkB,GAAK,MAAOA,GAAEwjB,WAAatpB,OAAOuqB,eAAezkB,KAA8BA,GAukBxM,QAASi8B,GAAOC,GACd,MAAOxnB,UAASvf,OAAOiY,iBAAiBhX,SAASiF,KAAM,MAAM8gC,SAAU,IAAMD,EArmB/EhlC,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,SAAU,WAAa,MAAOm7B,IACnF,IAAIl7B,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyjB,EAAuDztB,EAAoD,qBAE3G0L,GAD4E1L,EAAoByJ,EAAEgkB,GACvCztB,EAAwD,iCAEnHmlC,GADgFnlC,EAAoByJ,EAAEiC,GAC7C1L,EAAsD,qCAmCpIklC,EAAsB,SAAUvX,GAKlC,QAASuX,KAGP,MAFAp0B,GAAgBhR,KAAMolC,GAEftX,EAAOze,MAAMrP,KAAMkP,WAP5Bid,EAAUiZ,EAAQvX,EAElB,IAAIC,GAASrB,EAAa2Y,EA6c1B,OArcA5zB,GAAa4zB,IACX37B,IAAK,SACL7E,MAQA,SAAgBjE,EAAS+C,GACvB1D,KAAKwM,SAAW7L,EAChBX,KAAK0D,QAAUyG,EAA4CK,EAAEqV,UAAWulB,EAAOrX,SAAU/tB,KAAKwM,SAASG,OAAQjJ,GAC/G1D,KAAKmM,UAAY,SAGjBk5B,EAAA,SAAmEzgB,KAAKza,EAA4CK,GAEpHxK,KAAKqN,WASP5D,IAAK,QACL7E,MAAO,WACLgH,EAAA,WAAuEyB,OAEvE,IAAI4rB,GAAUj5B,KAAKwM,SAAS+M,OAAO,2BAC/B/a,EAAKwB,KAAKwM,SAAS,GAAGhO,IAAM0E,OAAOyqB,EAAA,aAAqE,EAAG,UAC3GrgB,EAAQtN,IAERi5B,GAAQj0B,OACVhF,KAAKslC,WAAarM,GAElBj5B,KAAKulC,YAAa,EAClBvlC,KAAKwM,SAASomB,KAAK5yB,KAAK0D,QAAQ8hC,WAChCxlC,KAAKslC,WAAatlC,KAAKwM,SAAS+M,UAGlCvZ,KAAKslC,WAAWnjB,SAASniB,KAAK0D,QAAQ+hC,gBACtCzlC,KAAKwM,SAAS2V,SAASniB,KAAK0D,QAAQgiC,aAAaj5B,MAC/C0sB,cAAe36B,EACfmnC,cAAennC,IAGW,KAAxBwB,KAAK0D,QAAQ0X,QACfjR,IAA8C,IAAMmD,EAAM5J,QAAQ0X,QAAQ3O,MACxEk5B,cAAennC,IAInBwB,KAAK4lC,YAAc5lC,KAAK0D,QAAQmiC,WAChC7lC,KAAK8lC,SAAU,EACf9lC,KAAK2gC,eAAiBz9B,OAAOyqB,EAAA,QAAgExjB,IAA8ChM,QAAS,WAElJmP,EAAMy4B,gBAAoD,SAAlCz4B,EAAMd,SAAS2K,IAAI,WAAwB,EAAI7J,EAAMd,SAAS,GAAGmO,wBAAwBR,OAEjH7M,EAAMg4B,WAAWnuB,IAAI,SAAU7J,EAAMy4B,iBAErCz4B,EAAM04B,WAAa14B,EAAMy4B,gBAEI,KAAzBz4B,EAAM5J,QAAQ0X,OAChB9N,EAAM6hB,QAAUhlB,IAA8C,IAAMmD,EAAM5J,QAAQ0X,QAElF9N,EAAM24B,eAGR34B,EAAM44B,UAAU,WACd,GAAIC,GAAShoC,OAAO4c,WAEpBzN,GAAM84B,OAAM,EAAOD,GAGd74B,EAAMw4B,SACTx4B,EAAM+4B,gBAAcF,GAAU74B,EAAMg5B,aAIxCh5B,EAAMuiB,QAAQrxB,EAAG8P,MAAM,KAAKi4B,UAAU/b,KAAK,WAU/C/gB,IAAK,eACL7E,MAAO,WAML,IAAK,GALDyV,GAAiC,KAA3Bra,KAAK0D,QAAQ8iC,UAAmB,EAAIxmC,KAAK0D,QAAQ8iC,UACvDC,EAAiC,KAA3BzmC,KAAK0D,QAAQgjC,UAAmBtnC,SAAS6B,gBAAgBsgC,aAAevhC,KAAK0D,QAAQgjC,UAC3FC,GAAOtsB,EAAKosB,GACZG,KAEKjgC,EAAI,EAAGC,EAAM+/B,EAAI3hC,OAAQ2B,EAAIC,GAAO+/B,EAAIhgC,GAAIA,IAAK,CACxD,GAAIkgC,EAEJ,IAAsB,gBAAXF,GAAIhgC,GACbkgC,EAAKF,EAAIhgC,OACJ,CACL,GAAImgC,GAAQH,EAAIhgC,GAAG2H,MAAM,KACrB8M,EAASjR,IAA8C,IAAIuC,OAAOo6B,EAAM,IAC5ED,GAAKzrB,EAAOhB,SAASC,IAEjBysB,EAAM,IAAiC,WAA3BA,EAAM,GAAGphC,gBACvBmhC,GAAMzrB,EAAO,GAAGT,wBAAwBR,QAI5CysB,EAAOjgC,GAAKkgC,EAGd7mC,KAAK+mC,OAASH,KAUhBn9B,IAAK,UACL7E,MAAO,SAAiBpG,GACtB,GAAI8O,GAAQtN,KACRgqB,EAAiBhqB,KAAKgqB,eAAiB,aAAatd,OAAOlO,EAE3DwB,MAAKgnC,OAILhnC,KAAKinC,WACPjnC,KAAKgnC,MAAO,EACZ78B,IAA8ChM,QAAQ2e,IAAIkN,GAAgBtR,GAAGsR,EAAgB,WACjE,IAAtB1c,EAAMs4B,aACRt4B,EAAMs4B,YAAct4B,EAAM5J,QAAQmiC,WAElCv4B,EAAM44B,UAAU,WACd54B,EAAM84B,OAAM,EAAOjoC,OAAO4c,iBAG5BzN,EAAMs4B,cAENt4B,EAAM84B,OAAM,EAAOjoC,OAAO4c,iBAKhC/a,KAAKwM,SAASsQ,IAAI,uBAAuBpE,GAAG,sBAAuB,WACjEpL,EAAM45B,eAAe1oC,KAEvBwB,KAAKwM,SAASkM,GAAG,sBAAuB,WACtCpL,EAAM45B,eAAe1oC,KAGnBwB,KAAKmvB,SACPnvB,KAAKmvB,QAAQzW,GAAG,sBAAuB,WACrCpL,EAAM45B,eAAe1oC,SAW3BiL,IAAK,iBACL7E,MAAO,SAAwBpG,GAC7B,GAAI8O,GAAQtN,KACRgqB,EAAiBhqB,KAAKgqB,eAAiB,aAAatd,OAAOlO,EAE/D8O,GAAM44B,UAAU,WACd54B,EAAM84B,OAAM,GAER94B,EAAM25B,SACH35B,EAAM05B,MACT15B,EAAMuiB,QAAQrxB,GAEP8O,EAAM05B,MACf15B,EAAM65B,gBAAgBnd,QAW5BvgB,IAAK,kBACL7E,MAAO,SAAyBolB,GAC9BhqB,KAAKgnC,MAAO,EACZ78B,IAA8ChM,QAAQ2e,IAAIkN,GAO1DhqB,KAAKwM,SAASI,QAAQ,sBAUxBnD,IAAK,QACL7E,MAAO,SAAewiC,EAAYjB,GAKhC,MAJIiB,IACFpnC,KAAKkmC,YAGFlmC,KAAKinC,UAQLd,IACHA,EAAShoC,OAAO4c,kBAGdorB,GAAUnmC,KAAKsmC,SACbH,GAAUnmC,KAAKqnC,YACZrnC,KAAK8lC,SACR9lC,KAAKsnC,aAGHtnC,KAAK8lC,SACP9lC,KAAKqmC,eAAc,GAInBrmC,KAAK8lC,SACP9lC,KAAKqmC,eAAc,MAvBjBrmC,KAAK8lC,SACP9lC,KAAKqmC,eAAc,IAGd,MAgCX58B,IAAK,aACL7E,MAAO,WACL,GAAI0I,GAAQtN,KACRunC,EAAUvnC,KAAK0D,QAAQ6jC,QACvBC,EAAmB,QAAZD,EAAoB,YAAc,eACzCE,EAAyB,QAAZF,EAAoB,SAAW,MAC5CpwB,IAEJA,GAAIqwB,GAAQ,GAAG96B,OAAO1M,KAAK0D,QAAQ8jC,GAAO,MAC1CrwB,EAAIowB,GAAW,EACfpwB,EAAIswB,GAAc,OAClBznC,KAAK8lC,SAAU,EACf9lC,KAAKwM,SAASsC,YAAY,qBAAqBpC,OAAO+6B,IAAatlB,SAAS,kBAAkBzV,OAAO66B,IAAUpwB,IAAIA,GAMlHvK,QAAQ,qBAAqBF,OAAO66B,IACrCvnC,KAAKwM,SAASkM,GAAG,kFAAmF,WAClGpL,EAAM44B,iBAaVz8B,IAAK,gBACL7E,MAAO,SAAuB8iC,GAC5B,GAAIH,GAAUvnC,KAAK0D,QAAQ6jC,QACvBI,EAAyB,QAAZJ,EACbpwB,KACAywB,GAAY5nC,KAAK+mC,OAAS/mC,KAAK+mC,OAAO,GAAK/mC,KAAK+mC,OAAO,GAAK/mC,KAAK6nC,cAAgB7nC,KAAKgmC,WACtFwB,EAAOG,EAAa,YAAc,eAClCG,EAAcJ,EAAQ,MAAQ,QAClCvwB,GAAIqwB,GAAQ,EACZrwB,EAAI+jB,OAAS,OAETwM,EACFvwB,EAAIkD,IAAM,EAEVlD,EAAIkD,IAAMutB,EAGZ5nC,KAAK8lC,SAAU,EACf9lC,KAAKwM,SAASsC,YAAY,kBAAkBpC,OAAO66B,IAAUplB,SAAS,qBAAqBzV,OAAOo7B,IAAc3wB,IAAIA,GAMnHvK,QAAQ,yBAAyBF,OAAOo7B,OAU3Cr+B,IAAK,YACL7E,MAAO,SAAmBkO,GACxB9S,KAAKinC,SAAWr7B,EAAA,WAAuEiM,GAAG7X,KAAK0D,QAAQqkC,UAElG/nC,KAAKinC,UACJn0B,GAAoB,kBAAPA,IACfA,GAIJ,IAAIk1B,GAAehoC,KAAKslC,WAAW,GAAG3qB,wBAAwBhE,MAC1DsxB,EAAO9pC,OAAOiY,iBAAiBpW,KAAKslC,WAAW,IAC/C4C,EAAQxqB,SAASuqB,EAAK,gBAAiB,IACvCE,EAAQzqB,SAASuqB,EAAK,iBAAkB,GAY5C,IAVIjoC,KAAKmvB,SAAWnvB,KAAKmvB,QAAQnqB,OAC/BhF,KAAK6nC,aAAe7nC,KAAKmvB,QAAQ,GAAGxU,wBAAwBR,OAE5Dna,KAAKimC,eAGPjmC,KAAKwM,SAAS2K,KACZ0e,YAAa,GAAGnpB,OAAOs7B,EAAeE,EAAQC,EAAO,QAGnDnoC,KAAK0D,QAAQ0kC,gBAAkBpoC,KAAK+lC,gBAAiB,CAEvD,GAAIsC,GAAqBroC,KAAKwM,SAAS,GAAGmO,wBAAwBR,QAAUna,KAAK+lC,eACjFsC,GAAsD,SAAjCroC,KAAKwM,SAAS2K,IAAI,WAAwB,EAAIkxB,EACnEroC,KAAKslC,WAAWnuB,IAAI,SAAUkxB,GAC9BroC,KAAK+lC,gBAAkBsC,EAKzB,GAFAroC,KAAKgmC,WAAahmC,KAAK+lC,iBAElB/lC,KAAK8lC,SACJ9lC,KAAKwM,SAAS8iB,SAAS,gBAAiB,CAC1C,GAAIsY,IAAY5nC,KAAK+mC,OAAS/mC,KAAK+mC,OAAO,GAAK/mC,KAAKslC,WAAWlrB,SAASC,IAAMra,KAAK6nC,cAAgB7nC,KAAKgmC,UACxGhmC,MAAKwM,SAAS2K,IAAI,MAAOywB,GAI7B5nC,KAAKsoC,gBAAgBtoC,KAAK+lC,gBAAiB,WACrCjzB,GAAoB,kBAAPA,IACfA,SAYNrJ,IAAK,kBACL7E,MAAO,SAAyBohC,EAAYlzB,GAC1C,IAAK9S,KAAKinC,SAAU,CAClB,IAAIn0B,GAAoB,kBAAPA,GAGf,OAAO,CAFPA,KAMJ,GAAIy1B,GAAOtD,EAAOjlC,KAAK0D,QAAQ8kC,WAC3BC,EAAOxD,EAAOjlC,KAAK0D,QAAQglC,cAC3BpC,EAAWtmC,KAAK+mC,OAAS/mC,KAAK+mC,OAAO,GAAK/mC,KAAKmvB,QAAQ/U,SAASC,IAChEgtB,EAAcrnC,KAAK+mC,OAAS/mC,KAAK+mC,OAAO,GAAKT,EAAWtmC,KAAK6nC,aAGjEc,EAAYxqC,OAAOyqC,WAEU,SAAzB5oC,KAAK0D,QAAQ6jC,SACfjB,GAAYiC,EACZlB,GAAerB,EAAauC,GACM,WAAzBvoC,KAAK0D,QAAQ6jC,UACtBjB,GAAYqC,GAAa3C,EAAayC,GACtCpB,GAAesB,EAAYF,GAI7BzoC,KAAKsmC,SAAWA,EAChBtmC,KAAKqnC,YAAcA,EAEfv0B,GAAoB,kBAAPA,IACfA,OAWJrJ,IAAK,WACL7E,MAAO,WACL5E,KAAKqmC,eAAc,GAEnBrmC,KAAKwM,SAASsC,YAAY,GAAGpC,OAAO1M,KAAK0D,QAAQgiC,YAAa,2BAA2BvuB,KACvFgD,OAAQ,GACRE,IAAK,GACL6gB,OAAQ,GACRrF,YAAa,KACZ/Y,IAAI,uBAAuBA,IAAI,uBAE9B9c,KAAKmvB,SAAWnvB,KAAKmvB,QAAQnqB,QAC/BhF,KAAKmvB,QAAQrS,IAAI,oBAGf9c,KAAKgqB,gBAAgB7f,IAA8ChM,QAAQ2e,IAAI9c,KAAKgqB,gBACpFhqB,KAAK2gC,gBAAgBx2B,IAA8ChM,QAAQ2e,IAAI9c,KAAK2gC,gBAEpF3gC,KAAKulC,WACPvlC,KAAKwM,SAASirB,SAEdz3B,KAAKslC,WAAWx2B,YAAY9O,KAAK0D,QAAQ+hC,gBAAgBtuB,KACvDgD,OAAQ,SAMTirB,GACPzX,EAAA,OAEFyX,GAAOrX,UAOLyX,UAAW,oCAQX+B,QAAS,MAQTnsB,OAAQ,GAQRorB,UAAW,GAQXE,UAAW,GAQX8B,UAAW,EAQXE,aAAc,EAQdX,SAAU,SAQVrC,YAAa,SAQbD,eAAgB,mBAQhB2C,eAAe,EAQfvC,gBAeIxd,mCAKC,SAASxoB,EAAQoK,EAAqB/J,GAE7C,YASA,SAAS+K,GAAQ9L,GAAO,yBAA4U,QAAtO8L,EAArD,kBAAXzC,SAAoD,WAA3BD,SAAOC,OAAOC,UAAmC,SAAiBtJ,GAAO,MAAA,mBAAcA,GAAd,YAAAoJ,SAAcpJ,IAA2B,SAAiBA,GAAO,MAAOA,IAAyB,kBAAXqJ,SAAyBrJ,EAAIuJ,cAAgBF,QAAUrJ,IAAQqJ,OAAOlB,UAAY,SAAhG,mBAAkHnI,GAAlH,YAAAoJ,SAAkHpJ,KAAyBA,GA+JnX,QAASmpB,GAAuBC,EAAU3b,EAAS4b,GACjD,GAAIlpB,GACA0P,EAAOlH,MAAMR,UAAU2H,MAAM3O,KAAK4O,UAAW,EACjD/E,KAA8ChM,QAAQua,GAAG9L,EAAS,WAC5DtN,GACFkR,aAAalR,GAGfA,EAAQqQ,WAAW,WACjB6Y,EAASnZ,MAAM,KAAML,IACpBuZ,GAAY,MAjLnBroB,EAAoBgJ,EAAEe,GACS/J,EAAoB4I,EAAEmB,EAAqB,WAAY,WAAa,MAAOwe,IACrF,IAAIve,GAAsChK,EAAkC,UACxEiK,EAA2DjK,EAAoByJ,EAAEO,GACjFyB,EAAsDzL,EAAmD,qBAEzGwoB,GAD2ExoB,EAAoByJ,EAAEgC,GAC1CzL,EAAoD,6BAQhIyoB,GAPiGzoB,EAAoByJ,EAAE+e,GAOpG,WAGrB,IAAK,GAFDE,IAAY,SAAU,MAAO,IAAK,KAAM,IAEnCjiB,EAAI,EAAGA,EAAIiiB,EAAS5jB,OAAQ2B,IACnC,GAAI,GAAG+F,OAAOkc,EAASjiB,GAAI,qBAAuBxI,QAChD,MAAOA,QAAO,GAAGuO,OAAOkc,EAASjiB,GAAI,oBAIzC,QAAO,MAGLkiB,EAAW,SAAkBpa,EAAI5J,GACnC4J,EAAG9B,KAAK9H,GAAMyJ,MAAM,KAAKb,QAAQ,SAAUjP,GACzC2L,IAA8C,IAAIuC,OAAOlO,IAAc,UAATqG,EAAmB,UAAY,kBAAkB,GAAG6H,OAAO7H,EAAM,gBAAiB4J,OAIhJga,GACFK,WACEC,SACAC,WAEFC,gBAEFR,GAASK,UAAUC,OACjBG,aAAc,WACZL,EAAS1e,IAA8CnK,MAAO,SAEhEmpB,cAAe,WACb,GAAI3qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,QAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,SAE9DmK,IAA8CnK,MAAM4M,QAAQ,qBAGhEwc,eAAgB,WACd,GAAI5qB,GAAK2L,IAA8CnK,MAAM2M,KAAK,SAE9DnO,GACFqqB,EAAS1e,IAA8CnK,MAAO,UAE9DmK,IAA8CnK,MAAM4M,QAAQ,sBAGhEyc,kBAAmB,SAA2B/lB,GAC5C,GAAIoe,GAAYvX,IAA8CnK,MAAM2M,KAAK,WAEzErJ,GAAEgmB,kBAEgB,KAAd5H,EACFgH,EAAA,OAA+DnG,WAAWpY,IAA8CnK,MAAO0hB,EAAW,WACxIvX,IAA8CnK,MAAM4M,QAAQ,eAG9DzC,IAA8CnK,MAAMupB,UAAU3c,QAAQ,cAG1E4c,oBAAqB,WACnB,GAAIhrB,GAAK2L,IAA8CnK,MAAM2M,KAAK,eAClExC,KAA8C,IAAIuC,OAAOlO,IAAKkU,eAAe,qBAAsBvI,IAA8CnK,UAIrJyoB,EAASQ,aAAaQ,gBAAkB,SAAUxb,GAChDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMG,cACvDjb,EAAMyK,GAAG,mBAAoB,cAAe+P,EAASK,UAAUC,MAAMG,eAKvET,EAASQ,aAAaS,iBAAmB,SAAUzb,GACjDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMI,eACvDlb,EAAMyK,GAAG,mBAAoB,eAAgB+P,EAASK,UAAUC,MAAMI,gBAIxEV,EAASQ,aAAaU,kBAAoB,SAAU1b,GAClDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMK,gBACvDnb,EAAMyK,GAAG,mBAAoB,gBAAiB+P,EAASK,UAAUC,MAAMK,iBAIzEX,EAASQ,aAAaW,qBAAuB,SAAU3b,GACrDA,EAAM6O,IAAI,mBAAoB2L,EAASK,UAAUC,MAAMM,mBACvDpb,EAAMyK,GAAG,mBAAoB,oCAAqC+P,EAASK,UAAUC,MAAMM,oBAI7FZ,EAASQ,aAAaY,uBAAyB,SAAU5b,GACvDA,EAAM6O,IAAI,mCAAoC2L,EAASK,UAAUC,MAAMS,qBACvEvb,EAAMyK,GAAG,mCAAoC,sBAAuB+P,EAASK,UAAUC,MAAMS,sBAI/Ff,EAASK,UAAUE,QACjBc,eAAgB,SAAwBC,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bud,eAAgB,SAAwBD,GACjCpB,GAEHoB,EAAO3c,KAAK,WACVjD,IAA8CnK,MAAM0S,eAAe,yBAKvEqX,EAAOtd,KAAK,cAAe,WAE7Bwd,gBAAiB,SAAyB3mB,EAAG4mB,GAC3C,GAAIje,GAAS3I,EAAE0O,UAAU1D,MAAM,KAAK,GAChCpB,EAAU/C,IAA8C,SAASuC,OAAOT,EAAQ,MAAMke,IAAI,mBAAoBzd,OAAOwd,EAAU,MACnIhd,GAAQE,KAAK,WACX,GAAIE,GAAQnD,IAA8CnK,KAE1DsN,GAAMoF,eAAe,oBAAqBpF,QAKhDmb,EAASQ,aAAamB,mBAAqB,SAAU9d,GACnD,GAAI+d,GAAYlgB,IAA8C,mBAC1DmgB,GAAa,WAAY,UAAW,SAYxC,IAVIhe,IACwB,gBAAfA,GACTge,EAAUpiB,KAAKoE,GACkB,WAAxBrB,EAAQqB,IAAqD,gBAAlBA,GAAW,GAC/Dge,EAAYA,EAAU5d,OAAOJ,GAE7BwB,QAAQC,MAAM,iCAIdsc,EAAUrlB,OAAQ,CACpB,GAAIulB,GAAYD,EAAU9b,IAAI,SAAUzQ,GACtC,MAAO,cAAc2O,OAAO3O,KAC3BysB,KAAK,IACRrgB,KAA8ChM,QAAQ2e,IAAIyN,GAAW7R,GAAG6R,EAAW9B,EAASK,UAAUE,OAAOiB,mBAkBjHxB,EAASQ,aAAawB,kBAAoB,SAAUlC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOc,eAAgBC,IAIpGtB,EAASQ,aAAayB,kBAAoB,SAAUnC,GAClD,GAAIwB,GAAS5f,IAA8C,gBAEvD4f,GAAO/kB,QACTsjB,EAAuBC,EAAU,oBAAqBE,EAASK,UAAUE,OAAOgB,eAAgBD,IAIpGtB,EAASQ,aAAa0B,0BAA4B,SAAU1c,GAC1D,IAAK0a,EACH,OAAO,CAGT,IAAIoB,GAAS9b,EAAMC,KAAK,+CAEpB0c,EAA4B,SAAmCC,GACjE,GAAIC,GAAU3gB,IAA8C0gB,EAAoB,GAAG9kB,OAEnF,QAAQ8kB,EAAoB,GAAGhmB,MAC7B,IAAK,aACiC,WAAhCimB,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,EAAS3sB,OAAO4c,cAG7B,WAAhC+P,EAAQre,KAAK,gBAAwE,gBAAzCoe,EAAoB,GAAGE,eACrED,EAAQpY,eAAe,uBAAwBoY,IAGJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,mBAG1F,MAEF,KAAK,YACHojB,EAAQpjB,QAAQ,iBAAiB+E,KAAK,cAAe,UACrDqe,EAAQpjB,QAAQ,iBAAiBgL,eAAe,uBAAwBoY,EAAQpjB,QAAQ,kBACxF,MAEF,SACE,OAAO,GAKb,IAAIqiB,EAAO/kB,OAET,IAAK,GAAI2B,GAAI,EAAGA,GAAKojB,EAAO/kB,OAAS,EAAG2B,IAAK,CAC3C,GAAIqkB,GAAkB,GAAIrC,GAAiBiC,EAC3CI,GAAgBC,QAAQlB,EAAOpjB,IAC7BukB,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,iBAAkB,cAAe,aAMzC7C,EAASQ,aAAasC,mBAAqB,WACzC,GAAIC,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAaQ,gBAAgB+B,GACtC/C,EAASQ,aAAaS,iBAAiB8B,GACvC/C,EAASQ,aAAaU,kBAAkB6B,GACxC/C,EAASQ,aAAaW,qBAAqB4B,GAC3C/C,EAASQ,aAAaY,uBAAuB2B,IAG/C/C,EAASQ,aAAawC,mBAAqB,WACzC,GAAID,GAAYrhB,IAA8C/K,SAC9DqpB,GAASQ,aAAa0B,0BAA0Ba,GAChD/C,EAASQ,aAAawB,kBAAkB,KACxChC,EAASQ,aAAayB,oBACtBjC,EAASQ,aAAamB,sBAGxB3B,EAAS7D,KAAO,SAAU8G,EAAI3gB,GAC5B7H,OAAOyI,EAAA,QAA+DxB,IAA8ChM,QAAS,WACvHgM,EAA4CK,EAAEmhB,uBAAwB,IACxElD,EAASQ,aAAasC,qBACtB9C,EAASQ,aAAawC,qBACtBthB,EAA4CK,EAAEmhB,qBAAsB,KAIpE5gB,IACFA,EAAW0d,SAAWA,EAEtB1d,EAAW6gB,SAAWnD,EAASQ,aAAawC,sBAQ1Cod,GAKC,SAAShpC,EAAQD,EAASM,GAEjCL,EAAOD,QAAUM,EAAiH,8CAK5H4Y,OAKC,SAASjZ,EAAQD,GAExBC,EAAOD,QAAUgJ,OCxkCjBxJ,SAASiE,iBAAiB,mBAAoB,WAC5C,GAAIylC,EAEJ,IAAI,wBAA0B3qC,QAAQ,CACpC2qC,EAAiB1pC,SAAS2pC,iBAAiB,aAC3C,IAAIC,GAAgB,GAAIC,sBAAqB,SAASC,EAASC,GAC7DD,EAAQz7B,QAAQ,SAAS27B,GACvB,GAAIA,EAAMC,eAAgB,CACxB,GAAI3sB,GAAQ0sB,EAAMrjC,MAClB2W,GAAM1W,UAAUiuB,OAAO;AACvB+U,EAAcM,UAAU5sB,OAK9BosB,GAAer7B,QAAQ,SAASiP,GAC9BssB,EAAc/d,QAAQvO,SAEnB,CAAA,GACD6sB,GAGKC,EAAT,QAASA,KACHD,GACF/4B,aAAa+4B,GAGfA,EAA0B55B,WAAW,WACnC,GAAI8f,GAAYtxB,OAAO4c,WACvB+tB,GAAer7B,QAAQ,SAASg8B,GAC1BA,EAAIC,UAAavrC,OAAOyqC,YAAcnZ,IACxCga,EAAI1sB,IAAM0sB,EAAIE,QAAQ5sB,IACtB0sB,EAAIzjC,UAAUiuB,OAAO,gBAGI,GAAzB6U,EAAe9jC,SACjB5F,SAAS4lB,oBAAoB,SAAUwkB,GACvCrrC,OAAO6mB,oBAAoB,SAAUwkB,GACrCrrC,OAAO6mB,oBAAoB,oBAAqBwkB,KAEjD,IApBLV,GAAiB1pC,SAAS2pC,iBAAiB,cAuB3C3pC,SAASiE,iBAAiB,SAAUmmC,GACpCrrC,OAAOkF,iBAAiB,SAAUmmC,GAClCrrC,OAAOkF,iBAAiB,oBAAqBmmC,MC5CjDvsB,OAAOxY,MAAM4hB,QAAQ/jB,YACjBikB,MAAO,SAAUsa,EAAGt3B,EAAIqgC,GACpB5pC,KAAKqD,iBAAiB,aAAcumC,GAAUjmC,SAAU4F,EAAGsgC,SAAS,wBAG5E5sB,OAAOxY,MAAM4hB,QAAQa,WACjBX,MAAO,SAAUsa,EAAGt3B,EAAIqgC,GACpB5pC,KAAKqD,iBAAiB,YAAaumC,GAAUjmC,SAAU4F,EAAGsgC,SAAS,wBAG3E5sB,OAAOxY,MAAM4hB,QAAQyjB,OACjBvjB,MAAO,SAAUsa,EAAGt3B,EAAIqgC,GACpB5pC,KAAKqD,iBAAiB,QAASumC,GAAUjmC,SAAS,MAG1DsZ,OAAOxY,MAAM4hB,QAAQ0jB,YACjBxjB,MAAO,SAAUsa,EAAGt3B,EAAIqgC,GACpB5pC,KAAKqD,iBAAiB,aAAcumC,GAAUjmC,SAAS,MAI/DsZ,OAAO7d,UAAU4qC,MAAM,SAASC,GAC9B,GAAIC,GAAa,GAAIC,aAAYC,WAC7BC,IAEDJ,GAAE,mBAAmBjlC,SAEtBilC,EAAE,qCAAqC78B,KAAK,WAC1C,GAAIk9B,GAAW,OAAStrC,KAAKE,MAAsB,GAAhBF,KAAKmT,UAAiB7Q,KAAKC,MAC9D0oC,GAAEjqC,MAAMyM,KAAK,KAAM69B,KAKrBL,EAAE,qCAAqC78B,KAAK,WAC1Ci9B,EAAYniC,KAAK,GAAIiiC,aAAYI,OAC/BC,eAAgB,IAAIP,EAAEjqC,MAAMyM,KAAK,QAElCg+B,eAAe,IAAIR,EAAEjqC,MAAMyM,KAAK,MAAO,QACvC85B,SAAQ,GAERmE,MAAMR,OAKRD,EAAE,mBAAmBjlC,QACtBqlC,EAAYniC,KAAK,GAAIiiC,aAAYI,OAC/BC,eAAgB,oBAEjBC,eAAe,kBAAmB,QAClClE,SAAQ,GAERmE,MAAMR,IAIND,EAAE,wBAAwBjlC,SAC3BilC,EAAE,wBAAwB78B,KAAK,WAC7B,IAAI68B,EAAEjqC,MAAMyM,KAAK,MAAO,CACtB,GAAIk+B,GAAW,OAAS3rC,KAAKE,MAAsB,GAAhBF,KAAKmT,UAAiB7Q,KAAKC,MAC9D0oC,GAAEjqC,MAAMyM,KAAK,KAAMk+B,MAGvBV,EAAE,wBAAwB78B,KAAK,WAE7Bi9B,EAAYniC,KAAK,GAAIiiC,aAAYI,OAC/BC,eAAgB,IAAIP,EAAEjqC,MAAMyM,KAAK,QAElCg+B,eAAe,IAAIR,EAAEjqC,MAAMyM,KAAK,MAAO,QACvC85B,SAAQ,GAERmE,MAAMR,OAKRD,EAAE,yBAAyBjlC,QAC5BilC,EAAE,0CAA0C78B,KAAK,WAC/C,IAAI68B,EAAEjqC,MAAMyM,KAAK,MAAO,CACtB,GAAIm+B,GAAQ,OAAS5rC,KAAKE,MAAsB,GAAhBF,KAAKmT,UAAiB7Q,KAAKC,MAC3D0oC,GAAEjqC,MAAMyM,KAAK,KAAMm+B,GAGrBX,EAAE,0CAA0C78B,KAAK,WAE/Ci9B,EAAYniC,KAAK,GAAIiiC,aAAYI,OAC/BC,eAAgB,IAAIP,EAAEjqC,MAAMyM,KAAK,QAElCg+B,eAAe,IAAIR,EAAEjqC,MAAMyM,KAAK,MAAO,QACvC85B,SAAQ,GAERmE,MAAMR,QAOVD,EAAE,uBAAuBjlC,QAC1BqlC,EAAYniC,KAAK,GAAIiiC,aAAYI,OAC/BC,eAAgB,wBAEjBC,eAAe,sBAAuB,QACtClE,SAAQ,GAERmE,MAAMR,IAIN/rC,OAAOC,SAAS8wB,MAA+C,eAAvC/wB,OAAOC,SAAS8wB,KAAKxpB,eAC9CukC,EAAE,iBAAiBv8B,WAAW,UChHlCuP,OAAO7d,UAAU4qC,MAAM,SAASC,GAsC9B,QAASY,KAEP,GAAIC,GAAQ1rC,SAAS2rC,cAAc,gBAqBnCD,GAAM9kC,UAAU+pB,OAAO,YA3DzBka,EAAE,gBAAgBe,MAAM,WACe,UAAlCf,EAAEjqC,MAAMyM,KAAK,kBACdw9B,EAAE,4BAA4B9nB,SAAS,QACvC8nB,EAAE,0BAA0Bn7B,YAAY,QACxCm7B,EAAE,iBAAiB9nB,SAAS,eAE5B8nB,EAAE,4BAA4Bn7B,YAAY,QAC1Cm7B,EAAE,0BAA0B9nB,SAAS,QACrC8nB,EAAE,iBAAiBn7B,YAAY,gBAKnCm7B,EAAE,+DAA+De,MAAM,WACrEf,EAAE,eAAev8B,WAAW,SAC5Bu8B,EAAE,4BAA4Bn7B,YAAY,QAC1Cm7B,EAAE,0BAA0B9nB,SAAS,QACrC8nB,EAAE,iBAAiBn7B,YAAY,eAGjCm7B,EAAE,iBAAiBvxB,GAAG,wBAAyB,WAE7CmyB,MAIFZ,EAAE,iBAAiBvxB,GAAG,4BAA6B,WAEjDmyB,MAGCZ,EAAE,sCAAsCjlC,SACzCilC,EAAE,sCAAsC5W,QAAQ,YAAY5mB,KAAK,QAAS,4BAC1Ew9B,EAAE,sCAAsC5W,QAAQ,YAAYA,QAAQ,+BAA+BlR,SAAS,aCnChHlF,OAAO7d,UAAUsO,aCAjBuP,OAAO7d,UAAU4qC,MAAM,SAASC,GAG9B,GAAIgB,GAAiBhB,EAAE,6BAA6Bx9B,KAAK,wBACzDw9B,GAAE,kBAAkB1zB,KAAK00B,EAEzB,IAAIC,GAAW,CACfjB,GAAE,sBAAsB78B,KAAK,WAC3B68B,EAAEjqC,MAAMkO,KAAK,qBAAqBqI,KAAK20B,EAAW,OAASjB,EAAE,sBAAsBjlC,QACnFkmC,MAGFjB,EAAE,mBAAmBkB,OACnBC,QAAQ,EACRC,MAAM,EACN9mB,UAAU,EACV+mB,gBAAgB,EAChBC,eAAe,EACfC,aACEC,WAAY,IACZC,UACEL,MAAM,EACND,QAAQ,EACRG,eAAe,OAKrBtB,EAAE,gBAAgBe,MAAM,SAAS1nC,GAC/BA,EAAEkd,iBACFypB,EAAE,mBAAmBkB,MAAM,eAG7BlB,EAAE,0DAA0DloC,MAAM,WAC5C,IAAjBkoC,EAAEjqC,MAAMwV,MACTy0B,EAAE,mBAAmBj9B,KAAK,YAAY,GAEtCi9B,EAAE,mBAAmBj9B,KAAK,YAAY,KAI1Ci9B,EAAE,2CAA2C0B,OAAO,WAClD,GAAIC,KACJ3B,GAAE,2CAA2C78B,KAAK,WAC7C68B,EAAEjqC,MAAMgN,KAAK,YACd4+B,EAAc1jC,KAAK+hC,EAAEjqC,MAAMwV,SAI5Bo2B,EAAc5mC,OACfilC,EAAE,qBAAqBj9B,KAAK,YAAY,GAExCi9B,EAAE,qBAAqBj9B,KAAK,YAAY,KAI5Ci9B,EAAE7qC,UAAUsZ,GAAG,WAAW,SAASpV,GACjC,GAAG2mC,EAAE,6CAA6CpyB,GAAG,UACrC,IAAXvU,EAAEqB,QACHrB,EAAEkd,iBACFypB,EAAE,cAAcr9B,QAAQ,UACxBq9B,EAAE,mBAAmBkB,MAAM,kBAG1B,CACH,GAAIU,GAAQ5B,EAAE,2CACV4B,GAAM7mC,QACM,IAAX1B,EAAEqB,QACHrB,EAAEkd,iBACFypB,EAAE4B,GAAOj/B,QAAQ,WACjBq9B,EAAE,mBAAmBkB,MAAM,iBAOnClB,EAAE,uDAAuD0B,OAAO,WAC9D,GAAIG,GAAc7B,EAAEjqC,MAAMqzB,QAAQ,gBAAgB5mB,KAAK,kBACnDs/B,IAGJ9B,GAAEjqC,MAAMqzB,QAAQ,gBAAgBnlB,KAAK,0BAA0Bd,KAAK,WAC/D68B,EAAEjqC,MAAMgN,KAAK,YACd++B,EAAc7jC,KAAK+hC,EAAEjqC,MAAMwV,SAI/By0B,EAAE,IAAI6B,GAAat2B,IAAIu2B,EAAcvhB,KAAK,QAI5Cyf,EAAE,iFAAiF0B,OAAO,WACxF1B,EAAE,iFAAiF78B,KAAK,WACtF68B,EAAEjqC,MAAM6wB,SAAS,kBAAkBmT,YAAY,WAAYiG,EAAEjqC,MAAMgN,KAAK,gBAI5Ei9B,EAAE,uCAAuCvxB,GAAG,UAAW,WACrDuxB,EAAE,mBAAmBkB,MAAM,eAG7BlB,EAAE,mCAAmCe,MAAM,WACzCf,EAAEjqC,MAAM6wB,SAAS,SAASjkB,QAAQ,WAGpCq9B,EAAE,yBAAyBe,MAAM,SAAS1nC,GACxCA,EAAEkd,iBACFypB,EAAE,iBAAiBv8B,WAAW,QAC9Bu8B,EAAE,mBAAmBkB,MAAM,aAG7BlB,EAAE,mCAAmCe,MAAM,WACzCf,EAAEjqC,MAAM6wB,SAAS,uBAAuBjkB,QAAQ,aAIlDq9B,EAAE,cAAc0B,OAAO,WAClB1B,EAAE,cAAcz0B,MAAMxQ,OACvBilC,EAAE,kBAAkB1zB,KAAK0zB,EAAE,cAAcz0B,OAEzCy0B,EAAE,kBAAkB1zB,KAAK00B,KAI7BhB,EAAE,eAAe+B,OAAO,SAAS1oC,GAC/BA,EAAEkd,iBACFld,EAAEwc,aAAc,EAEhBmqB,EAAE,kBAAkB9nB,SAAS,OAE7B,IAAI8pB,GAAQhC,EAAEjqC,KAGd,IAAGiqC,EAAE,kCAAkCjlC,OACrCinC,EAAMnvB,IAAI,UACVmvB,EAAMD,aACD,CAEL,GAAIE,KAGJA,GAAYhkC,MACVikC,SAAUlC,EAAE,gBAAgB1zB,OAC5B61B,OAAQnC,EAAE,cAAcz0B,OAI1B,IAAIo2B,KACJ3B,GAAE,2CAA2C78B,KAAK,WAC7C68B,EAAEjqC,MAAMgN,KAAK,YACd4+B,EAAc1jC,KAAK+hC,EAAE,cAAcA,EAAEjqC,MAAMyM,KAAK,MAAM,MAAM8J,UAGhE21B,EAAYhkC,MACVikC,SAAUlC,EAAE,iBAAiB1zB,OAC7B61B,OAAQR,EAAcphB,KAAK,QAI7B0hB,EAAYhkC,MACVikC,SAAUlC,EAAE,iBAAiB1zB,OAC7B61B,OAAQnC,EAAE,cAAcA,EAAE,oCAAoCx9B,KAAK,MAAM,MAAM8J,SAIjF21B,EAAYhkC,MACVikC,SAAUlC,EAAE,gBAAgB1zB,OAC5B61B,OAAQnC,EAAE,cAAcA,EAAE,mCAAmCx9B,KAAK,MAAM,MAAM8J,SAIhF21B,EAAYhkC,MACVikC,SAAUlC,EAAE,cAAc1zB,OAC1B61B,OAAQnC,EAAE,cAAcA,EAAE,iCAAiCx9B,KAAK,MAAM,MAAM8J,SAG9EzI,QAAQu+B,IAAIH,GAmBZD,EAAMnvB,IAAI,UACVmvB,EAAMD,clCrMZ/uB,OAAO7d,UAAU4qC,MAAM,SAASC,GAE9BA,EAAE7qC,UAAUsZ,GAAG,QAAS,8BAA+B,SAAUjU,GAE/D,GAAI6nC,GAAWnuC,OAAOC,SAASsmC,SAC3B6H,EAAWtC,EAAEx9B,KAAKzM,KAAM,QAAQwsC,UAAU,EAAGvC,EAAEx9B,KAAKzM,KAAM,QAAQiF,QAAQ,KAC1EwnC,WAAYxC,EAAEx9B,KAAKzM,KAAM,QAAQwsC,UAAUvC,EAAEx9B,KAAKzM,KAAM,QAAQiF,QAAQ,OAIvEqnC,IAAaC,GAAgC,IAApBA,EAASvnC,SAAiBynC,UAAUznC,OAAS,IACzEP,EAAM+b,iBAEHypB,EAAEwC,WAAWznC,SACdilC,EAAE,cAAczoB,SACZiO,UAAWwa,EAAEwC,WAAWryB,SAASC,KAAO4vB,EAAE,iBAAiBhH,eAAkB,IAAMgH,EAAE,gCAAgChH,eAAkB,IACxI,KACHgH,EAAEwC,WAAWhgC,KAAK,WAAY,GAAGgU,cmCZzCxD,OAAO7d,UAAU4qC,MAAM,SAASC,GAG/BhtB,OAAO,sCAAsCgX,SAG7ChX,OAAO,wDAAwD7P,KAAK,WAC9D6P,OAAOjd,MAAM0sC,aAAezvB,OAAOjd,MAAM4oC,cAAgB,IAC5D3rB,OAAOjd,MAAM4yB,KAAK,8CAElB3V,OAAOjd,MAAM4yB,KAAK","file":"scripts.js","sourcesContent":["jQuery(document).ready(function($) {\n // Smooth scroll for anchor links\n $(document).on('click', 'a[href*=\"#\"]:not(.noscroll)', function (event) {\n\n var pagePath = window.location.pathname,\n linkPath = $.attr(this, 'href').substring(0, $.attr(this, 'href').indexOf(\"#\"));\n elementID = $.attr(this, 'href').substring($.attr(this, 'href').indexOf(\"#\"));\n\n // console.log(pagePath, linkPath, linkPath.length);\n\n if( (pagePath === linkPath || linkPath.length === 0) && elementID.length > 1) {\n event.preventDefault();\n\n if($(elementID).length) {\n $('html, body').animate({\n scrollTop: $(elementID).offset().top - ($('header.header').outerHeight() || 0) - ($('.is-dropdown-submenu:visible').outerHeight() || 0)\n }, 500);\n $(elementID).attr('tabindex', 0).focus();\n }\n }\n });\n\n});\n\nfunction urlParam(name){\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);\n if (results==null) {\n return null;\n }\n return decodeURI(results[1]) || 0;\n}\n\nfunction animateValue(id, start, end, duration) {\n var range = end - start;\n var current = start;\n var increment = end > start? 1 : -1;\n var stepTime = Math.abs(Math.floor(duration / range));\n var obj = document.getElementById(id);\n var timer = setInterval(function() {\n current += increment;\n obj.innerHTML = current;\n if (current == end) {\n clearInterval(timer);\n }\n }, stepTime);\n}\n","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.12\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = false;\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true, capture: true } : true;\n\n\t document.addEventListener('DOMContentLoaded', setPersist, true);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput, true);\n\t window.addEventListener('pointermove', setIntent, true);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput, true);\n\t window.addEventListener('MSPointerMove', setIntent, true);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput, true);\n\t window.addEventListener('mousemove', setIntent, true);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput, true);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput, true);\n\t window.addEventListener('keyup', setInput, true);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement, true);\n\t window.addEventListener('focusout', clearElement, true);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') === 'false' || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.12\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = false;\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true, capture: true } : true;\n\n\t document.addEventListener('DOMContentLoaded', setPersist, true);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput, true);\n\t window.addEventListener('pointermove', setIntent, true);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput, true);\n\t window.addEventListener('MSPointerMove', setIntent, true);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput, true);\n\t window.addEventListener('mousemove', setIntent, true);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput, true);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput, true);\n\t window.addEventListener('keyup', setInput, true);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement, true);\n\t window.addEventListener('focusout', clearElement, true);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') === 'false' || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;\n'use strict';var _typeof2=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof2(module))==='object')module.exports=factory(require(\"jquery\"));else if(typeof define==='function'&&define.amd)define([\"jquery\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports[\"foundation.core\"]=factory(require(\"jquery\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]=factory(root[\"jQuery\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE_jquery__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof2(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=0);/******/}(/************************************************************************//******/{/***/\"./js/entries/plugins/foundation.core.js\":/*!***********************************************!*\\\n !*** ./js/entries/plugins/foundation.core.js ***!\n \\***********************************************//*! exports provided: Foundation, Plugin, rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear *//***/function jsEntriesPluginsFoundationCoreJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.core */\"./js/foundation.core.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"];});/* harmony import */var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../../foundation.core.plugin */\"./js/foundation.core.plugin.js\");/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../../foundation.core.utils */\"./js/foundation.core.utils.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Plugin\",function(){return _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"rtl\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"GetYoDigits\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"RegExpEscape\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"transitionend\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"onLoad\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"ignoreMousedisappear\",function(){return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"ignoreMousedisappear\"];});// --- Foundation Core API ---\n// Initialize Foundation and add some utilities to its public API for backward compatibility.\n// Please note that every utility do not have to be added to the core API.\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);// Every plugin depends on plugin now, we can include that on the core for the\n// script inclusion path.\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].Plugin=_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"];// These are now separated out, but historically were a part of this module,\n// and since this is here for backwards compatibility we include them in\n// this entry.\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].rtl=_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"];_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].GetYoDigits=_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"];_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].transitionend=_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"];_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].RegExpEscape=_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"];_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].onLoad=_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"];window.Foundation=_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"];// --- Foundation Core exports ---\n// Export \"Plugin\" and all core utilities, since the `foundation.core` entry plays the role of\n// all core source files.\n/***/},/***/\"./js/foundation.core.js\":/*!*******************************!*\\\n !*** ./js/foundation.core.js ***!\n \\*******************************//*! exports provided: Foundation *//***/function jsFoundationCoreJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return Foundation;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.core.utils */\"./js/foundation.core.utils.js\");/* harmony import */var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.util.mediaQuery */\"./js/foundation.util.mediaQuery.js\");function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}var FOUNDATION_VERSION='6.7.4';// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation={version:FOUNDATION_VERSION,/**\n * Stores initialized plugins.\n */_plugins:{},/**\n * Stores generated unique ids for plugin instances\n */_uuids:[],/**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */plugin:function plugin(_plugin,name){// Object key to use when adding to global Foundation object\n// Examples: Foundation.Reveal, Foundation.OffCanvas\nvar className=name||functionName(_plugin);// Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n// Examples: data-reveal, data-off-canvas\nvar attrName=hyphenate(className);// Add to the Foundation object and the plugins list (for reflowing)\nthis._plugins[attrName]=this[className]=_plugin;},/**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */registerPlugin:function registerPlugin(plugin,name){var pluginName=name?hyphenate(name):functionName(plugin.constructor).toLowerCase();plugin.uuid=Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6,pluginName);if(!plugin.$element.attr(\"data-\".concat(pluginName))){plugin.$element.attr(\"data-\".concat(pluginName),plugin.uuid);}if(!plugin.$element.data('zfPlugin')){plugin.$element.data('zfPlugin',plugin);}/**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */plugin.$element.trigger(\"init.zf.\".concat(pluginName));this._uuids.push(plugin.uuid);return;},/**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */unregisterPlugin:function unregisterPlugin(plugin){var pluginName=hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));this._uuids.splice(this._uuids.indexOf(plugin.uuid),1);plugin.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')/**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */.trigger(\"destroyed.zf.\".concat(pluginName));for(var prop in plugin){if(typeof plugin[prop]==='function'){plugin[prop]=null;//clean up script to prep for garbage collection.\n}}return;},/**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */reInit:function reInit(plugins){var isJQ=plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a;try{if(isJQ){plugins.each(function(){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init();});}else{var type=_typeof(plugins),_this=this,fns={'object':function object(plgs){plgs.forEach(function(p){p=hyphenate(p);jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-'+p+']').foundation('_init');});},'string':function string(){plugins=hyphenate(plugins);jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-'+plugins+']').foundation('_init');},'undefined':function undefined(){this.object(Object.keys(_this._plugins));}};fns[type](plugins);}}catch(err){console.error(err);}finally{return plugins;}},/**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */reflow:function reflow(elem,plugins){// If plugins is undefined, just grab everything\nif(typeof plugins==='undefined'){plugins=Object.keys(this._plugins);}// If plugins is a string, convert it to an array with one item\nelse if(typeof plugins==='string'){plugins=[plugins];}var _this=this;// Iterate through each plugin\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins,function(i,name){// Get the current plugin\nvar plugin=_this._plugins[name];// Localize the search to all elements inside elem, as well as elem itself, unless elem === document\nvar $elem=jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function(){return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data(\"zfPlugin\")==='undefined';});// For each plugin found, initialize it\n$elem.each(function(){var $el=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),opts={reflow:true};if($el.attr('data-options')){$el.attr('data-options').split(';').forEach(function(option){var opt=option.split(':').map(function(el){return el.trim();});if(opt[0])opts[opt[0]]=parseValue(opt[1]);});}try{$el.data('zfPlugin',new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),opts));}catch(er){console.error(er);}finally{return;}});});},getFnName:functionName,addToJquery:function addToJquery(){// TODO: consider not making this a jQuery function\n// TODO: need way to reflow vs. re-initialize\n/**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */var foundation=function foundation(method){var type=_typeof(method),$noJS=jquery__WEBPACK_IMPORTED_MODULE_0___default()('.no-js');if($noJS.length){$noJS.removeClass('no-js');}if(type==='undefined'){//needs to initialize the Foundation object, or an individual plugin.\n_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();Foundation.reflow(this);}else if(type==='string'){//an individual method to invoke on a plugin or group of plugins\nvar args=Array.prototype.slice.call(arguments,1);//collect all the arguments, if necessary\nvar plugClass=this.data('zfPlugin');//determine the class of plugin\nif(typeof plugClass!=='undefined'&&typeof plugClass[method]!=='undefined'){//make sure both the class and method exist\nif(this.length===1){//if there's only one, call it directly.\nplugClass[method].apply(plugClass,args);}else{this.each(function(i,el){//otherwise loop through the jQuery collection and invoke the method on each\nplugClass[method].apply(jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).data('zfPlugin'),args);});}}else{//error for no class or no method\nthrow new ReferenceError(\"We're sorry, '\"+method+\"' is not an available method for \"+(plugClass?functionName(plugClass):'this element')+'.');}}else{//error for invalid argument type\nthrow new TypeError(\"We're sorry, \".concat(type,\" is not a valid parameter. You must use a string representing the method you wish to invoke.\"));}return this;};jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.foundation=foundation;return jquery__WEBPACK_IMPORTED_MODULE_0___default.a;}};Foundation.util={/**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */throttle:function throttle(func,delay){var timer=null;return function(){var context=this,args=arguments;if(timer===null){timer=setTimeout(function(){func.apply(context,args);timer=null;},delay);}};}};window.Foundation=Foundation;// Polyfill for requestAnimationFrame\n(function(){if(!Date.now||!window.Date.now)window.Date.now=Date.now=function(){return new Date().getTime();};var vendors=['webkit','moz'];for(var i=0;i1?results[1].trim():\"\";}else if(typeof fn.prototype==='undefined'){return fn.constructor.name;}else{return fn.prototype.constructor.name;}}function parseValue(str){if('true'===str)return true;else if('false'===str)return false;else if(!isNaN(str*1))return parseFloat(str);return str;}// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str){return str.replace(/([a-z])([A-Z])/g,'$1-$2').toLowerCase();}/***/},/***/\"./js/foundation.core.plugin.js\":/*!**************************************!*\\\n !*** ./js/foundation.core.plugin.js ***!\n \\**************************************//*! exports provided: Plugin *//***/function jsFoundationCorePluginJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Plugin\",function(){return Plugin;});/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./foundation.core.utils */\"./js/foundation.core.utils.js\");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:6;var namespace=arguments.length>1?arguments[1]:undefined;var str='';var chars='0123456789abcdefghijklmnopqrstuvwxyz';var charsLength=chars.length;for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{},_ref$ignoreLeaveWindo=_ref.ignoreLeaveWindow,ignoreLeaveWindow=_ref$ignoreLeaveWindo===void 0?false:_ref$ignoreLeaveWindo,_ref$ignoreReappear=_ref.ignoreReappear,ignoreReappear=_ref$ignoreReappear===void 0?false:_ref$ignoreReappear;return function leaveEventHandler(eLeave){for(var _len=arguments.length,rest=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){rest[_key-1]=arguments[_key];}var callback=handler.bind.apply(handler,[this,eLeave].concat(rest));// The mouse left: call the given callback if the mouse entered elsewhere\nif(eLeave.relatedTarget!==null){return callback();}// Otherwise, check if the mouse actually left the window.\n// In firefox if the user switched between windows, the window sill have the focus by the time\n// the event is triggered. We have to debounce the event to test this case.\nsetTimeout(function leaveEventDebouncer(){if(!ignoreLeaveWindow&&document.hasFocus&&!document.hasFocus()){return callback();}// Otherwise, wait for the mouse to reeapear outside of the element,\nif(!ignoreReappear){jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter',function reenterEventHandler(eReenter){if(!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length){// Fill where the mouse finally entered.\neLeave.relatedTarget=eReenter.target;callback();}});}},0);};}/***/},/***/\"./js/foundation.util.mediaQuery.js\":/*!******************************************!*\\\n !*** ./js/foundation.util.mediaQuery.js ***!\n \\******************************************//*! exports provided: MediaQuery *//***/function jsFoundationUtilMediaQueryJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"MediaQuery\",function(){return MediaQuery;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o===\"string\")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n===\"Object\"&&o.constructor)n=o.constructor.name;if(n===\"Map\"||n===\"Set\")return Array.from(o);if(n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i').appendTo(document.head);}var extractedStyles=jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);self.queries=[];// reset\nfor(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:\"only screen and (min-width: \".concat(namedQueries[key],\")\")});}}this.current=this._getCurrentSize();this._watcher();},/**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */_reInit:function _reInit(){this.isInitialized=false;this._init();},/**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */atLeast:function atLeast(size){var query=this.get(size);if(query){return window.matchMedia(query).matches;}return false;},/**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */only:function only(size){return size===this._getCurrentSize();},/**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */upTo:function upTo(size){var nextSize=this.next(size);// If the next breakpoint does not match, the screen is smaller than\n// the upper limit of this breakpoint.\nif(nextSize){return!this.atLeast(nextSize);}// If there is no next breakpoint, the \"size\" breakpoint does not have\n// an upper limit and the screen will always be within it or smaller.\nreturn true;},/**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */is:function is(size){var parts=size.trim().split(' ').filter(function(p){return!!p.length;});var _parts=_slicedToArray(parts,2),bpSize=_parts[0],_parts$=_parts[1],bpModifier=_parts$===void 0?'':_parts$;// Only the breakpont\nif(bpModifier==='only'){return this.only(bpSize);}// At least the breakpoint (included)\nif(!bpModifier||bpModifier==='up'){return this.atLeast(bpSize);}// Up to the breakpoint (included)\nif(bpModifier==='down'){return this.upTo(bpSize);}throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size,\"\\\".\\n \"));},/**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */get:function get(size){for(var i in this.queries){if(this.queries.hasOwnProperty(i)){var query=this.queries[i];if(size===query.name)return query.value;}}return null;},/**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */next:function next(size){var _this=this;var queryIndex=this.queries.findIndex(function(q){return _this._getQueryName(q)===size;});if(queryIndex===-1){throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size,\"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));}var nextQuery=this.queries[queryIndex+1];return nextQuery?nextQuery.name:null;},/**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */_getQueryName:function _getQueryName(value){if(typeof value==='string')return value;if(_typeof(value)==='object')return value.name;throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value,\"\\\" (\").concat(_typeof(value),\")\\n \"));},/**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;i0){return 1;}if(typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')==='undefined'&&aTabIndex>0){return-1;}if(aTabIndex===0&&bTabIndex>0){return 1;}if(bTabIndex===0&&aTabIndex>0){return-1;}if(aTabIndexbTabIndex){return 1;}});}function parseKey(event){var key=keyCodes[event.which||event.keyCode]||String.fromCharCode(event.which).toUpperCase();// Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\nkey=key.replace(/\\W+/,'');if(event.shiftKey)key=\"SHIFT_\".concat(key);if(event.ctrlKey)key=\"CTRL_\".concat(key);if(event.altKey)key=\"ALT_\".concat(key);// Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\nkey=key.replace(/_$/,'');return key;}var Keyboard={keys:getKeyCodes(keyCodes),/**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */parseKey:parseKey,/**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */handleKey:function handleKey(event,component,functions){var commandList=commands[component],keyCode=this.parseKey(event),cmds,command,fn;if(!commandList)return console.warn('Component not defined!');// Ignore the event if it was already handled\nif(event.zfIsKeyHandled===true)return;// This component does not differentiate between ltr and rtl\nif(typeof commandList.ltr==='undefined'){cmds=commandList;// use plain list\n}else{// merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\nif(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])())cmds=jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({},commandList.ltr,commandList.rtl);else cmds=jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({},commandList.rtl,commandList.ltr);}command=cmds[keyCode];fn=functions[command];// Execute the handler if found\nif(fn&&typeof fn==='function'){var returnValue=fn.apply();// Mark the event as \"handled\" to prevent future handlings\nevent.zfIsKeyHandled=true;// Execute function when event was handled\nif(functions.handled||typeof functions.handled==='function'){functions.handled(returnValue);}}else{// Execute function when event was not handled\nif(functions.unhandled||typeof functions.unhandled==='function'){functions.unhandled();}}},/**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */findFocusable:findFocusable,/**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */register:function register(componentName,cmds){commands[componentName]=cmds;},// TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n//\n/**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */trapFocus:function trapFocus($element){var $focusable=findFocusable($element),$firstFocusable=$focusable.eq(0),$lastFocusable=$focusable.eq(-1);$element.on('keydown.zf.trapfocus',function(event){if(event.target===$lastFocusable[0]&&parseKey(event)==='TAB'){event.preventDefault();$firstFocusable.focus();}else if(event.target===$firstFocusable[0]&&parseKey(event)==='SHIFT_TAB'){event.preventDefault();$lastFocusable.focus();}});},/**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */releaseFocus:function releaseFocus($element){$element.off('keydown.zf.trapfocus');}};/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */function getKeyCodes(kcs){var k={};for(var kc in kcs){if(kcs.hasOwnProperty(kc))k[kcs[kc]]=kcs[kc];}return k;}/***/},/***/23:/*!**************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.keyboard.js ***!\n \\**************************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */\"./js/entries/plugins/foundation.util.keyboard.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.util.keyboard.js.map\n\"use strict\";var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};!function(e,t){\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))&&\"object\"==(typeof module===\"undefined\"?\"undefined\":_typeof(module))?module.exports=t(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],t):\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))?exports[\"foundation.util.keyboard\"]=t(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.keyboard\"]=t(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery));}(window,function(n,r){return i={\"./foundation.core\":function foundationCore(e,t){e.exports=n;},\"./js/entries/plugins/foundation.util.keyboard.js\":function jsEntriesPluginsFoundationUtilKeyboardJs(e,t,n){\"use strict\";n.r(t);var r=n(\"./foundation.core\");n.d(t,\"Foundation\",function(){return r.Foundation;});var o=n(\"./js/foundation.util.keyboard.js\");n.d(t,\"Keyboard\",function(){return o.Keyboard;}),r.Foundation.Keyboard=o.Keyboard;},\"./js/foundation.util.keyboard.js\":function jsFoundationUtilKeyboardJs(e,t,n){\"use strict\";n.r(t),n.d(t,\"Keyboard\",function(){return f;});var t=n(\"jquery\"),o=n.n(t),i=n(\"./foundation.core\"),r={9:\"TAB\",13:\"ENTER\",27:\"ESCAPE\",32:\"SPACE\",35:\"END\",36:\"HOME\",37:\"ARROW_LEFT\",38:\"ARROW_UP\",39:\"ARROW_RIGHT\",40:\"ARROW_DOWN\"},u={};function a(e){return!!e&&e.find(\"a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]\").filter(function(){return!(!o()(this).is(\":visible\")||o()(this).attr(\"tabindex\")<0);}).sort(function(e,t){if(o()(e).attr(\"tabindex\")===o()(t).attr(\"tabindex\"))return 0;var n=parseInt(o()(e).attr(\"tabindex\"),10),r=parseInt(o()(t).attr(\"tabindex\"),10);return void 0===o()(e).attr(\"tabindex\")&&0arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i').appendTo(document.head);}var extractedStyles=jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');var namedQueries;namedQueries=parseStyleToObject(extractedStyles);self.queries=[];// reset\nfor(var key in namedQueries){if(namedQueries.hasOwnProperty(key)){self.queries.push({name:key,value:\"only screen and (min-width: \".concat(namedQueries[key],\")\")});}}this.current=this._getCurrentSize();this._watcher();},/**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */_reInit:function _reInit(){this.isInitialized=false;this._init();},/**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */atLeast:function atLeast(size){var query=this.get(size);if(query){return window.matchMedia(query).matches;}return false;},/**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */only:function only(size){return size===this._getCurrentSize();},/**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */upTo:function upTo(size){var nextSize=this.next(size);// If the next breakpoint does not match, the screen is smaller than\n// the upper limit of this breakpoint.\nif(nextSize){return!this.atLeast(nextSize);}// If there is no next breakpoint, the \"size\" breakpoint does not have\n// an upper limit and the screen will always be within it or smaller.\nreturn true;},/**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */is:function is(size){var parts=size.trim().split(' ').filter(function(p){return!!p.length;});var _parts=_slicedToArray(parts,2),bpSize=_parts[0],_parts$=_parts[1],bpModifier=_parts$===void 0?'':_parts$;// Only the breakpont\nif(bpModifier==='only'){return this.only(bpSize);}// At least the breakpoint (included)\nif(!bpModifier||bpModifier==='up'){return this.atLeast(bpSize);}// Up to the breakpoint (included)\nif(bpModifier==='down'){return this.upTo(bpSize);}throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size,\"\\\".\\n \"));},/**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */get:function get(size){for(var i in this.queries){if(this.queries.hasOwnProperty(i)){var query=this.queries[i];if(size===query.name)return query.value;}}return null;},/**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */next:function next(size){var _this=this;var queryIndex=this.queries.findIndex(function(q){return _this._getQueryName(q)===size;});if(queryIndex===-1){throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size,\"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));}var nextQuery=this.queries[queryIndex+1];return nextQuery?nextQuery.name:null;},/**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */_getQueryName:function _getQueryName(value){if(typeof value==='string')return value;if(_typeof(value)==='object')return value.name;throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value,\"\\\" (\").concat(_typeof(value),\")\\n \"));},/**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */_getCurrentSize:function _getCurrentSize(){var matched;for(var i=0;ie.length)&&(t=e.length);for(var n=0,r=new Array(t);n').appendTo(document.head);var e,t,n,r=u()(\".foundation-mq\").css(\"font-family\");for(n in t={},e=\"string\"==typeof(r=r)&&(r=r.trim().slice(1,-1))?t=r.split(\"&\").reduce(function(e,t){var n=t.replace(/\\+/g,\" \").split(\"=\"),t=n[0],n=n[1],t=decodeURIComponent(t),n=void 0===n?null:decodeURIComponent(n);return e.hasOwnProperty(t)?Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]:e[t]=n,e;},{}):t,this.queries=[],e){e.hasOwnProperty(n)&&this.queries.push({name:n,value:\"only screen and (min-width: \".concat(e[n],\")\")});}this.current=this._getCurrentSize(),this._watcher();},_reInit:function _reInit(){this.isInitialized=!1,this._init();},atLeast:function atLeast(e){e=this.get(e);return!!e&&window.matchMedia(e).matches;},only:function only(e){return e===this._getCurrentSize();},upTo:function upTo(e){e=this.next(e);return!e||!this.atLeast(e);},is:function is(e){var t=s(e.trim().split(\" \").filter(function(e){return!!e.length;}),2),n=t[0],t=t[1],t=void 0===t?\"\":t;if(\"only\"===t)return this.only(n);if(!t||\"up\"===t)return this.atLeast(n);if(\"down\"===t)return this.upTo(n);throw new Error('\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \" \", got \"'.concat(e,'\".\\n '));},get:function get(e){for(var t in this.queries){if(this.queries.hasOwnProperty(t)){t=this.queries[t];if(e===t.name)return t.value;}}return null;},next:function next(t){var n=this,e=this.queries.findIndex(function(e){return n._getQueryName(e)===t;});if(-1===e)throw new Error('\\n Unknown breakpoint \"'.concat(t,'\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \"$breakpoints\" setting.\\n '));e=this.queries[e+1];return e?e.name:null;},_getQueryName:function _getQueryName(e){if(\"string\"==typeof e)return e;if(\"object\"===a(e))return e.name;throw new TypeError('\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"'.concat(e,'\" (').concat(a(e),\")\\n \"));},_getCurrentSize:function _getCurrentSize(){for(var e,t=0;t1&&arguments[1]!==undefined?arguments[1]:'zf';menu.attr('role','menubar');menu.find('a').attr({'role':'menuitem'});var items=menu.find('li').attr({'role':'none'}),subMenuClass=\"is-\".concat(type,\"-submenu\"),subItemClass=\"\".concat(subMenuClass,\"-item\"),hasSubClass=\"is-\".concat(type,\"-submenu-parent\"),applyAria=type!=='accordion';// Accordions handle their own ARIA attriutes.\nitems.each(function(){var $item=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),$sub=$item.children('ul');if($sub.length){$item.addClass(hasSubClass);if(applyAria){$item.children('a:first').attr({'aria-haspopup':true,'aria-label':$item.children('a:first').text()});// Note: Drilldowns behave differently in how they hide, and so need\n// additional attributes. We should look if this possibly over-generalized\n// utility (Nest) is appropriate when we rework menus in 6.4\nif(type==='drilldown'){$item.attr({'aria-expanded':false});}}$sub.addClass(\"submenu \".concat(subMenuClass)).attr({'data-submenu':'','role':'menubar'});if(type==='drilldown'){$sub.attr({'aria-hidden':true});}}if($item.parent('[data-submenu]').length){$item.addClass(\"is-submenu-item \".concat(subItemClass));}});return;},Burn:function Burn(menu,type){var//items = menu.find('li'),\nsubMenuClass=\"is-\".concat(type,\"-submenu\"),subItemClass=\"\".concat(subMenuClass,\"-item\"),hasSubClass=\"is-\".concat(type,\"-submenu-parent\");menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass(\"\".concat(subMenuClass,\" \").concat(subItemClass,\" \").concat(hasSubClass,\" is-submenu-item submenu is-active\")).removeAttr('data-submenu').css('display','');}};/***/},/***/26:/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.nest.js ***!\n \\**********************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.nest.js */\"./js/entries/plugins/foundation.util.nest.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.util.nest.js.map\n\"use strict\";var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};!function(e,n){\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))&&\"object\"==(typeof module===\"undefined\"?\"undefined\":_typeof(module))?module.exports=n(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],n):\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))?exports[\"foundation.util.nest\"]=n(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.nest\"]=n(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery));}(window,function(t,r){return u={\"./foundation.core\":function foundationCore(e,n){e.exports=t;},\"./js/entries/plugins/foundation.util.nest.js\":function jsEntriesPluginsFoundationUtilNestJs(e,n,t){\"use strict\";t.r(n);var r=t(\"./foundation.core\");t.d(n,\"Foundation\",function(){return r.Foundation;});var o=t(\"./js/foundation.util.nest.js\");t.d(n,\"Nest\",function(){return o.Nest;}),r.Foundation.Nest=o.Nest;},\"./js/foundation.util.nest.js\":function jsFoundationUtilNestJs(e,n,t){\"use strict\";t.r(n),t.d(n,\"Nest\",function(){return r;});var n=t(\"jquery\"),a=t.n(n),r={Feather:function Feather(e){var t=1li, > li > ul, .menu, .menu > li, [data-submenu] > li\").removeClass(\"\".concat(t,\" \").concat(r,\" \").concat(n,\" is-submenu-item submenu is-active\")).removeAttr(\"data-submenu\").css(\"display\",\"\");}};},26:function _(e,n,t){e.exports=t(\"./js/entries/plugins/foundation.util.nest.js\");},jquery:function jquery(e,n){e.exports=r;}},i={},o.m=u,o.c=i,o.d=function(e,n,t){o.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t});},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0});},o.t=function(n,e){if(1&e&&(n=o(n)),8&e)return n;if(4&e&&\"object\"==(typeof n===\"undefined\"?\"undefined\":_typeof(n))&&n&&n.__esModule)return n;var t=Object.create(null);if(o.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:n}),2&e&&\"string\"!=typeof n)for(var r in n){o.d(t,r,function(e){return n[e];}.bind(null,r));}return t;},o.n=function(e){var n=e&&e.__esModule?function(){return e.default;}:function(){return e;};return o.d(n,\"a\",n),n;},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n);},o.p=\"\",o(o.s=26);function o(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports;}var u,i;});//# sourceMappingURL=foundation.util.nest.min.js.map\n'use strict';var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof(module))==='object')module.exports=factory(require(\"./foundation.core\"));else if(typeof define==='function'&&define.amd)define([\"./foundation.core\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof(exports))==='object')exports[\"foundation.util.timer\"]=factory(require(\"./foundation.core\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"]=factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE__foundation_core__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=27);/******/}(/************************************************************************//******/{/***/\"./foundation.core\":/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************//*! no static exports found *//***/function foundationCore(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_core__;/***/},/***/\"./js/entries/plugins/foundation.util.timer.js\":/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.timer.js ***!\n \\*****************************************************//*! exports provided: Foundation, Timer *//***/function jsEntriesPluginsFoundationUtilTimerJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./foundation.core */\"./foundation.core\");/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"];});/* harmony import */var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.util.timer */\"./js/foundation.util.timer.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Timer\",function(){return _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"];});_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Timer=_foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"];/***/},/***/\"./js/foundation.util.timer.js\":/*!*************************************!*\\\n !*** ./js/foundation.util.timer.js ***!\n \\*************************************//*! exports provided: Timer *//***/function jsFoundationUtilTimerJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Timer\",function(){return Timer;});function Timer(elem,options,cb){var _this=this,duration=options.duration,//options is an object for easily adding features later.\nnameSpace=Object.keys(elem.data())[0]||'timer',remain=-1,start,timer;this.isPaused=false;this.restart=function(){remain=-1;clearTimeout(timer);this.start();};this.start=function(){this.isPaused=false;// if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\nclearTimeout(timer);remain=remain<=0?duration:remain;elem.data('paused',false);start=Date.now();timer=setTimeout(function(){if(options.infinite){_this.restart();//rerun the timer.\n}if(cb&&typeof cb==='function'){cb();}},remain);elem.trigger(\"timerstart.zf.\".concat(nameSpace));};this.pause=function(){this.isPaused=true;//if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\nclearTimeout(timer);elem.data('paused',true);var end=Date.now();remain=remain-(end-start);elem.trigger(\"timerpaused.zf.\".concat(nameSpace));};}/***/},/***/27:/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.timer.js ***!\n \\***********************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.timer.js */\"./js/entries/plugins/foundation.util.timer.js\");/***/}/******/}));});//# sourceMappingURL=foundation.util.timer.js.map\n\"use strict\";var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};!function(t,e){\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))&&\"object\"==(typeof module===\"undefined\"?\"undefined\":_typeof(module))?module.exports=e(require(\"./foundation.core\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\"],e):\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))?exports[\"foundation.util.timer\"]=e(require(\"./foundation.core\")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__[\"foundation.util.timer\"]=e(t.__FOUNDATION_EXTERNAL__[\"foundation.core\"]));}(window,function(n){return o={\"./foundation.core\":function foundationCore(t,e){t.exports=n;},\"./js/entries/plugins/foundation.util.timer.js\":function jsEntriesPluginsFoundationUtilTimerJs(t,e,n){\"use strict\";n.r(e);var o=n(\"./foundation.core\");n.d(e,\"Foundation\",function(){return o.Foundation;});var r=n(\"./js/foundation.util.timer.js\");n.d(e,\"Timer\",function(){return r.Timer;}),o.Foundation.Timer=r.Timer;},\"./js/foundation.util.timer.js\":function jsFoundationUtilTimerJs(t,e,n){\"use strict\";function o(e,t,n){var o,r,i=this,u=t.duration,a=Object.keys(e.data())[0]||\"timer\",f=-1;this.isPaused=!1,this.restart=function(){f=-1,clearTimeout(r),this.start();},this.start=function(){this.isPaused=!1,clearTimeout(r),f=f<=0?u:f,e.data(\"paused\",!1),o=Date.now(),r=setTimeout(function(){t.infinite&&i.restart(),n&&\"function\"==typeof n&&n();},f),e.trigger(\"timerstart.zf.\".concat(a));},this.pause=function(){this.isPaused=!0,clearTimeout(r),e.data(\"paused\",!0);var t=Date.now();f-=t-o,e.trigger(\"timerpaused.zf.\".concat(a));};}n.r(e),n.d(e,\"Timer\",function(){return o;});},27:function _(t,e,n){t.exports=n(\"./js/entries/plugins/foundation.util.timer.js\");}},i={},r.m=o,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n});},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0});},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==(typeof e===\"undefined\"?\"undefined\":_typeof(e))&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e){r.d(n,o,function(t){return e[t];}.bind(null,o));}return n;},r.n=function(t){var e=t&&t.__esModule?function(){return t.default;}:function(){return t;};return r.d(e,\"a\",e),e;},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e);},r.p=\"\",r(r.s=27);function r(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return o[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports;}var o,i;});//# sourceMappingURL=foundation.util.timer.min.js.map\n'use strict';var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof(module))==='object')module.exports=factory(require(\"./foundation.core\"),require(\"jquery\"));else if(typeof define==='function'&&define.amd)define([\"./foundation.core\",\"jquery\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof(exports))==='object')exports[\"foundation.util.touch\"]=factory(require(\"./foundation.core\"),require(\"jquery\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"]=factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"],root[\"jQuery\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE__foundation_core__,__WEBPACK_EXTERNAL_MODULE_jquery__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=28);/******/}(/************************************************************************//******/{/***/\"./foundation.core\":/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************//*! no static exports found *//***/function foundationCore(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_core__;/***/},/***/\"./js/entries/plugins/foundation.util.touch.js\":/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.touch.js ***!\n \\*****************************************************//*! exports provided: Foundation, Touch *//***/function jsEntriesPluginsFoundationUtilTouchJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.util.touch */\"./js/foundation.util.touch.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Touch\",function(){return _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"];});/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.core */\"./foundation.core\");/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_2__);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_2__[\"Foundation\"];});_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);window.Foundation.Touch=_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"];/***/},/***/\"./js/foundation.util.touch.js\":/*!*************************************!*\\\n !*** ./js/foundation.util.touch.js ***!\n \\*************************************//*! exports provided: Touch *//***/function jsFoundationUtilTouchJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Touch\",function(){return Touch;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i=jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold&&elapsedTime<=jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold){dir=dx>0?'left':'right';}// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n// dir = dy > 0 ? 'down' : 'up';\n// }\nif(dir){e.preventDefault();onTouchEnd.apply(this,arguments);jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe',Object.assign({},e)),dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event(\"swipe\".concat(dir),Object.assign({},e)));}}}function onTouchStart(e){if(e.touches.length===1){startPosX=e.touches[0].pageX;startEvent=e;isMoving=true;didMoved=false;startTime=new Date().getTime();this.addEventListener('touchmove',onTouchMove,{passive:true===jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault});this.addEventListener('touchend',onTouchEnd,false);}}function init(){this.addEventListener&&this.addEventListener('touchstart',onTouchStart,{passive:true});}// function teardown() {\n// this.removeEventListener('touchstart', onTouchStart);\n// }\nvar SpotSwipe=/*#__PURE__*/function(){function SpotSwipe(){_classCallCheck(this,SpotSwipe);this.version='1.0.0';this.enabled='ontouchstart'in document.documentElement;this.preventDefault=false;this.moveThreshold=75;this.timeThreshold=200;this._init();}_createClass(SpotSwipe,[{key:\"_init\",value:function _init(){jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.swipe={setup:init};jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.tap={setup:init};jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(['left','up','down','right'],function(){jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special[\"swipe\".concat(this)]={setup:function setup(){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).on('swipe',jquery__WEBPACK_IMPORTED_MODULE_0___default.a.noop);}};});}}]);return SpotSwipe;}();/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/Touch.setupSpotSwipe=function(){jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe=new SpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);};/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/Touch.setupTouchHandler=function(){jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.addTouch=function(){this.each(function(i,el){jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).bind('touchstart touchmove touchend touchcancel',function(event){//we pass the original event object because the jQuery event\n//object is normalized to w3c specs and does not provide the TouchList\nhandleTouch(event);});});var handleTouch=function handleTouch(event){var touches=event.changedTouches,first=touches[0],eventTypes={touchstart:'mousedown',touchmove:'mousemove',touchend:'mouseup'},type=eventTypes[event.type],simulatedEvent;if('MouseEvent'in window&&typeof window.MouseEvent==='function'){simulatedEvent=new window.MouseEvent(type,{'bubbles':true,'cancelable':true,'screenX':first.screenX,'screenY':first.screenY,'clientX':first.clientX,'clientY':first.clientY});}else{simulatedEvent=document.createEvent('MouseEvent');simulatedEvent.initMouseEvent(type,true,true,window,1,first.screenX,first.screenY,first.clientX,first.clientY,false,false,false,false,0/*left*/,null);}first.target.dispatchEvent(simulatedEvent);};};};Touch.init=function(){if(typeof jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe==='undefined'){Touch.setupSpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);Touch.setupTouchHandler(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);}};/***/},/***/28:/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.touch.js ***!\n \\***********************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.touch.js */\"./js/entries/plugins/foundation.util.touch.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.util.touch.js.map\n\"use strict\";var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};!function(e,t){\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))&&\"object\"==(typeof module===\"undefined\"?\"undefined\":_typeof(module))?module.exports=t(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],t):\"object\"==(typeof exports===\"undefined\"?\"undefined\":_typeof(exports))?exports[\"foundation.util.touch\"]=t(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.touch\"]=t(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery));}(window,function(n,o){return u={\"./foundation.core\":function foundationCore(e,t){e.exports=n;},\"./js/entries/plugins/foundation.util.touch.js\":function jsEntriesPluginsFoundationUtilTouchJs(e,t,n){\"use strict\";n.r(t);var o=n(\"jquery\"),o=n.n(o),i=n(\"./js/foundation.util.touch.js\");n.d(t,\"Touch\",function(){return i.Touch;});var u=n(\"./foundation.core\");n.d(t,\"Foundation\",function(){return u.Foundation;}),i.Touch.init(o.a),window.Foundation.Touch=i.Touch;},\"./js/foundation.util.touch.js\":function jsFoundationUtilTouchJs(e,t,n){\"use strict\";n.r(t),n.d(t,\"Touch\",function(){return s;});var t=n(\"jquery\"),i=n.n(t);function u(e,t){for(var n=0;n=i.a.spotSwipe.moveThreshold&&c<=i.a.spotSwipe.timeThreshold?0');}if(_this.options.submenuToggle){$elem.addClass('has-submenu-toggle');$elem.children('a').after(''+_this.options.submenuToggleText+'');}else{$elem.attr({'aria-controls':subId,'aria-expanded':isActive,'id':linkId});}$sub.attr({'aria-labelledby':linkId,'aria-hidden':!isActive,'role':'group','id':subId});});var initPanes=this.$element.find('.is-active');if(initPanes.length){initPanes.each(function(){_this.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));});}this._events();}/**\n * Adds event handlers for items within the menu.\n * @private\n */},{key:\"_events\",value:function _events(){var _this=this;this.$element.find('li').each(function(){var $submenu=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]');if($submenu.length){if(_this.options.submenuToggle){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(){_this.toggle($submenu);});}else{jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu',function(e){e.preventDefault();_this.toggle($submenu);});}}}).on('keydown.zf.accordionMenu',function(e){var $element=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),$elements=$element.parent('ul').children('li'),$prevElement,$nextElement,$target=$element.children('[data-submenu]');$elements.each(function(i){if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1)).find('a').first();$nextElement=$elements.eq(Math.min(i+1,$elements.length-1)).find('a').first();if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]:visible').length){// has open sub menu\n$nextElement=$element.find('li:first-child').find('a').first();}if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':first-child')){// is first element of sub menu\n$prevElement=$element.parents('li').first().find('a').first();}else if($prevElement.parents('li').first().children('[data-submenu]:visible').length){// if previous element has open sub menu\n$prevElement=$prevElement.parents('li').find('li:last-child').find('a').first();}if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':last-child')){// is last element of sub menu\n$nextElement=$element.parents('li').first().next('li').find('a').first();}return;}});_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].handleKey(e,'AccordionMenu',{open:function open(){if($target.is(':hidden')){_this.down($target);$target.find('li').first().find('a').first().focus();}},close:function close(){if($target.length&&!$target.is(':hidden')){// close active sub of this item\n_this.up($target);}else if($element.parent('[data-submenu]').length){// close currently open sub\n_this.up($element.parent('[data-submenu]'));$element.parents('li').first().find('a').first().focus();}},up:function up(){$prevElement.focus();return true;},down:function down(){$nextElement.focus();return true;},toggle:function toggle(){if(_this.options.submenuToggle){return false;}if($element.children('[data-submenu]').length){_this.toggle($element.children('[data-submenu]'));return true;}},closeAll:function closeAll(){_this.hideAll();},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}}});});//.attr('tabindex', 0);\n}/**\n * Closes all panes of the menu.\n * @function\n */},{key:\"hideAll\",value:function hideAll(){this.up(this.$element.find('[data-submenu]'));}/**\n * Opens all panes of the menu.\n * @function\n */},{key:\"showAll\",value:function showAll(){this.down(this.$element.find('[data-submenu]'));}/**\n * Toggles the open/close state of a submenu.\n * @function\n * @param {jQuery} $target - the submenu to toggle\n */},{key:\"toggle\",value:function toggle($target){if(!$target.is(':animated')){if(!$target.is(':hidden')){this.up($target);}else{this.down($target);}}}/**\n * Opens the sub-menu defined by `$target`.\n * @param {jQuery} $target - Sub-menu to open.\n * @fires AccordionMenu#down\n */},{key:\"down\",value:function down($target){var _this2=this;// If having multiple submenus active is disabled, close all the submenus\n// that are not parents or children of the targeted submenu.\nif(!this.options.multiOpen){// The \"branch\" of the targetted submenu, from the component root to\n// the active submenus nested in it.\nvar $targetBranch=$target.parentsUntil(this.$element).add($target).add($target.find('.is-active'));// All the active submenus that are not in the branch.\nvar $othersActiveSubmenus=this.$element.find('.is-active').not($targetBranch);this.up($othersActiveSubmenus);}$target.addClass('is-active').attr({'aria-hidden':false});if(this.options.submenuToggle){$target.prev('.submenu-toggle').attr({'aria-expanded':true});}else{$target.parent('.is-accordion-submenu-parent').attr({'aria-expanded':true});}$target.slideDown(this.options.slideSpeed,function(){/**\n * Fires when the menu is done opening.\n * @event AccordionMenu#down\n */_this2.$element.trigger('down.zf.accordionMenu',[$target]);});}/**\n * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n * @param {jQuery} $target - Sub-menu to close.\n * @fires AccordionMenu#up\n */},{key:\"up\",value:function up($target){var _this3=this;var $submenus=$target.find('[data-submenu]');var $allmenus=$target.add($submenus);$submenus.slideUp(0);$allmenus.removeClass('is-active').attr('aria-hidden',true);if(this.options.submenuToggle){$allmenus.prev('.submenu-toggle').attr('aria-expanded',false);}else{$allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded',false);}$target.slideUp(this.options.slideSpeed,function(){/**\n * Fires when the menu is done collapsing up.\n * @event AccordionMenu#up\n */_this3.$element.trigger('up.zf.accordionMenu',[$target]);});}/**\n * Destroys an instance of accordion menu.\n * @fires AccordionMenu#destroyed\n */},{key:\"_destroy\",value:function _destroy(){this.$element.find('[data-submenu]').slideDown(0).css('display','');this.$element.find('a').off('click.zf.accordionMenu');this.$element.find('[data-is-parent-link]').detach();if(this.options.submenuToggle){this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');this.$element.find('.submenu-toggle').remove();}_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"Nest\"].Burn(this.$element,'accordion');}}]);return AccordionMenu;}(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]);AccordionMenu.defaults={/**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */parentLink:false,/**\n * Amount of time to animate the opening of a submenu in ms.\n * @option\n * @type {number}\n * @default 250\n */slideSpeed:250,/**\n * Adds a separate submenu toggle button. This allows the parent item to have a link.\n * @option\n * @example true\n */submenuToggle:false,/**\n * The text used for the submenu toggle if enabled. This is used for screen readers only.\n * @option\n * @example true\n */submenuToggleText:'Toggle menu',/**\n * Allow the menu to have multiple open panes.\n * @option\n * @type {boolean}\n * @default true\n */multiOpen:true};/***/},/***/2:/*!**************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.accordionMenu.js ***!\n \\**************************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.accordionMenu.js */\"./js/entries/plugins/foundation.accordionMenu.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.accordionMenu.js.map\n'use strict';var _typeof2=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof2(module))==='object')module.exports=factory(require(\"./foundation.core\"),require(\"./foundation.util.box\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.nest\"),require(\"jquery\"));else if(typeof define==='function'&&define.amd)define([\"./foundation.core\",\"./foundation.util.box\",\"./foundation.util.keyboard\",\"./foundation.util.nest\",\"jquery\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports[\"foundation.drilldown\"]=factory(require(\"./foundation.core\"),require(\"./foundation.util.box\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.nest\"),require(\"jquery\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.drilldown\"]=factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"],root[\"jQuery\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE__foundation_core__,__WEBPACK_EXTERNAL_MODULE__foundation_util_box__,__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__,__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__,__WEBPACK_EXTERNAL_MODULE_jquery__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof2(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=3);/******/}(/************************************************************************//******/{/***/\"./foundation.core\":/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************//*! no static exports found *//***/function foundationCore(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_core__;/***/},/***/\"./foundation.util.box\":/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilBox(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_box__;/***/},/***/\"./foundation.util.keyboard\":/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilKeyboard(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;/***/},/***/\"./foundation.util.nest\":/*!************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"} ***!\n \\************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilNest(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;/***/},/***/\"./js/entries/plugins/foundation.drilldown.js\":/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.drilldown.js ***!\n \\****************************************************//*! exports provided: Foundation, Drilldown *//***/function jsEntriesPluginsFoundationDrilldownJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./foundation.core */\"./foundation.core\");/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"];});/* harmony import */var _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.drilldown */\"./js/foundation.drilldown.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Drilldown\",function(){return _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"];});_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"],'Drilldown');/***/},/***/\"./js/foundation.drilldown.js\":/*!************************************!*\\\n !*** ./js/foundation.drilldown.js ***!\n \\************************************//*! exports provided: Drilldown *//***/function jsFoundationDrilldownJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Drilldown\",function(){return Drilldown;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.util.keyboard */\"./foundation.util.keyboard\");/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);/* harmony import */var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.util.nest */\"./foundation.util.nest\");/* harmony import */var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__);/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./foundation.core.utils */\"./foundation.core\");/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3___default=/*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__);/* harmony import */var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./foundation.util.box */\"./foundation.util.box\");/* harmony import */var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__);function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i');}$link.data('savedHref',$link.attr('href')).removeAttr('href').attr('tabindex',0);$link.children('[data-submenu]').attr({'aria-hidden':true,'tabindex':0,'role':'group'});_this._events($link);});this.$submenus.each(function(){var $menu=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),$back=$menu.find('.js-drilldown-back');if(!$back.length){switch(_this.options.backButtonPosition){case\"bottom\":$menu.append(_this.options.backButton);break;case\"top\":$menu.prepend(_this.options.backButton);break;default:console.error(\"Unsupported backButtonPosition value '\"+_this.options.backButtonPosition+\"'\");}}_this._back($menu);});this.$submenus.addClass('invisible');if(!this.options.autoHeight){this.$submenus.addClass('drilldown-submenu-cover-previous');}// create a wrapper on element if it doesn't exist.\nif(!this.$element.parent().hasClass('is-drilldown')){this.$wrapper=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.wrapper).addClass('is-drilldown');if(this.options.animateHeight)this.$wrapper.addClass('animate-height');this.$element.wrap(this.$wrapper);}// set wrapper\nthis.$wrapper=this.$element.parent();this.$wrapper.css(this._getMaxDims());}},{key:\"_resize\",value:function _resize(){this.$wrapper.css({'max-width':'none','min-height':'none'});// _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\nthis.$wrapper.css(this._getMaxDims());}/**\n * Adds event handlers to elements in the menu.\n * @function\n * @private\n * @param {jQuery} $elem - the current menu item to add handlers to.\n */},{key:\"_events\",value:function _events($elem){var _this=this;$elem.off('click.zf.drilldown').on('click.zf.drilldown',function(e){if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul','li').hasClass('is-drilldown-submenu-parent')){e.preventDefault();}// if(e.target !== e.currentTarget.firstElementChild){\n// return false;\n// }\n_this._show($elem.parent('li'));if(_this.options.closeOnClick){var $body=jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');$body.off('.zf.drilldown').on('click.zf.drilldown',function(ev){if(ev.target===_this.$element[0]||jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0],ev.target)){return;}ev.preventDefault();_this._hideAll();$body.off('.zf.drilldown');});}});}/**\n * Adds event handlers to the menu element.\n * @function\n * @private\n */},{key:\"_registerEvents\",value:function _registerEvents(){if(this.options.scrollTop){this._bindHandler=this._scrollTop.bind(this);this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown',this._bindHandler);}this.$element.on('mutateme.zf.trigger',this._resize.bind(this));}/**\n * Scroll to Top of Element or data-scroll-top-element\n * @function\n * @fires Drilldown#scrollme\n */},{key:\"_scrollTop\",value:function _scrollTop(){var _this=this;var $scrollTopElement=_this.options.scrollTopElement!==''?jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement):_this.$element,scrollPos=parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset,10);jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({scrollTop:scrollPos},_this.options.animationDuration,_this.options.animationEasing,function(){/**\n * Fires after the menu has scrolled\n * @event Drilldown#scrollme\n */if(this===jquery__WEBPACK_IMPORTED_MODULE_0___default()('html')[0])_this.$element.trigger('scrollme.zf.drilldown');});}/**\n * Adds keydown event listener to `li`'s in the menu.\n * @private\n */},{key:\"_keyboardEvents\",value:function _keyboardEvents(){var _this=this;this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown',function(e){var $element=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),$elements=$element.parent('li').parent('ul').children('li').children('a'),$prevElement,$nextElement;$elements.each(function(i){if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)){$prevElement=$elements.eq(Math.max(0,i-1));$nextElement=$elements.eq(Math.min(i+1,$elements.length-1));return;}});_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].handleKey(e,'Drilldown',{next:function next(){if($element.is(_this.$submenuAnchors)){_this._show($element.parent('li'));$element.parent('li').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element),function(){$element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();});return true;}},previous:function previous(){_this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;},up:function up(){$prevElement.focus();// Don't tap focus on first element in root ul\nreturn!$element.is(_this.$element.find('> li:first-child > a'));},down:function down(){$nextElement.focus();// Don't tap focus on last element in root ul\nreturn!$element.is(_this.$element.find('> li:last-child > a'));},close:function close(){// Don't close on element in root ul\nif(!$element.is(_this.$element.find('> li > a'))){_this._hide($element.parent().parent());$element.parent().parent().siblings('a').focus();}},open:function open(){if(_this.options.parentLink&&$element.attr('href')){// Link with href\nreturn false;}else if(!$element.is(_this.$menuItems)){// not menu item means back button\n_this._hide($element.parent('li').parent('ul'));$element.parent('li').parent('ul').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element),function(){setTimeout(function(){$element.parent('li').parent('ul').parent('li').children('a').first().focus();},1);});return true;}else if($element.is(_this.$submenuAnchors)){// Sub menu item\n_this._show($element.parent('li'));$element.parent('li').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element),function(){$element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();});return true;}},handled:function handled(preventDefault){if(preventDefault){e.preventDefault();}}});});// end keyboardAccess\n}/**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#close\n * @fires Drilldown#closed\n */},{key:\"_hideAll\",value:function _hideAll(){var _this2=this;var $elem=this.$element.find('.is-drilldown-submenu.is-active');$elem.addClass('is-closing');if(this.options.autoHeight){var calcHeight=$elem.parent().closest('ul').data('calcHeight');this.$wrapper.css({height:calcHeight});}/**\n * Fires when the menu is closing.\n * @event Drilldown#close\n */this.$element.trigger('close.zf.drilldown');$elem.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($elem),function(){$elem.removeClass('is-active is-closing');/**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */_this2.$element.trigger('closed.zf.drilldown');});}/**\n * Adds event listener for each `back` button, and closes open menus.\n * @function\n * @fires Drilldown#back\n * @param {jQuery} $elem - the current sub-menu to add `back` event.\n */},{key:\"_back\",value:function _back($elem){var _this=this;$elem.off('click.zf.drilldown');$elem.children('.js-drilldown-back').on('click.zf.drilldown',function(){_this._hide($elem);// If there is a parent submenu, call show\nvar parentSubMenu=$elem.parent('li').parent('ul').parent('li');if(parentSubMenu.length){_this._show(parentSubMenu);}else{_this.$currentMenu=_this.$element;}});}/**\n * Adds event listener to menu items w/o submenus to close open menus on click.\n * @function\n * @private\n */},{key:\"_menuLinkEvents\",value:function _menuLinkEvents(){var _this=this;this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown',function(){setTimeout(function(){_this._hideAll();},0);});}/**\n * Sets the CSS classes for submenu to show it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */},{key:\"_setShowSubMenuClasses\",value:function _setShowSubMenuClasses($elem,trigger){$elem.addClass('is-active').removeClass('invisible').attr('aria-hidden',false);$elem.parent('li').attr('aria-expanded',true);if(trigger===true){this.$element.trigger('open.zf.drilldown',[$elem]);}}/**\n * Sets the CSS classes for submenu to hide it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */},{key:\"_setHideSubMenuClasses\",value:function _setHideSubMenuClasses($elem,trigger){$elem.removeClass('is-active').addClass('invisible').attr('aria-hidden',true);$elem.parent('li').attr('aria-expanded',false);if(trigger===true){$elem.trigger('hide.zf.drilldown',[$elem]);}}/**\n * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible.\n * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the target (sub)menu (`ul` tag)\n * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused\n */},{key:\"_showMenu\",value:function _showMenu($elem,autoFocus){var _this=this;// Reset drilldown\nvar $expandedSubmenus=this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');$expandedSubmenus.each(function(){_this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));});// Save the menu as the currently displayed one.\nthis.$currentMenu=$elem;// If target menu is root, focus first link & exit\nif($elem.is('[data-drilldown]')){if(autoFocus===true)$elem.find('li > a').first().focus();if(this.options.autoHeight)this.$wrapper.css('height',$elem.data('calcHeight'));return;}// Find all submenus on way to root incl. the element itself\nvar $submenus=$elem.children().first().parentsUntil('[data-drilldown]','[data-submenu]');// Open target menu and all submenus on its way to root\n$submenus.each(function(index){// Update height of first child (target menu) if autoHeight option true\nif(index===0&&_this.options.autoHeight){_this.$wrapper.css('height',jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight'));}var isLastChild=index===$submenus.length-1;// Add transitionsend listener to last child (root due to reverse order) to open target menu's first link\n// Last child makes sure the event gets always triggered even if going through several menus\nif(isLastChild===true){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)),function(){if(autoFocus===true){$elem.find('li > a').first().focus();}});}_this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),isLastChild);});}/**\n * Opens a submenu.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n */},{key:\"_show\",value:function _show($elem){var $submenu=$elem.children('[data-submenu]');$elem.attr('aria-expanded',true);this.$currentMenu=$submenu;//hide drilldown parent menu when submenu is open\n// this removes it from the dom so that the tab key will take the user to the next visible element\n$elem.parent().closest('ul').addClass('invisible');// add visible class to submenu to override invisible class above\n$submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden',false);if(this.options.autoHeight){this.$wrapper.css({height:$submenu.data('calcHeight')});}/**\n * Fires when the submenu has opened.\n * @event Drilldown#open\n */this.$element.trigger('open.zf.drilldown',[$elem]);}/**\n * Hides a submenu\n * @function\n * @fires Drilldown#hide\n * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n */},{key:\"_hide\",value:function _hide($elem){if(this.options.autoHeight)this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});$elem.parent().closest('ul').removeClass('invisible');$elem.parent('li').attr('aria-expanded',false);$elem.attr('aria-hidden',true);$elem.addClass('is-closing').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($elem),function(){$elem.removeClass('is-active is-closing visible');$elem.blur().addClass('invisible');});/**\n * Fires when the submenu has closed.\n * @event Drilldown#hide\n */$elem.trigger('hide.zf.drilldown',[$elem]);}/**\n * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n * Prevents content jumping.\n * @function\n * @private\n */},{key:\"_getMaxDims\",value:function _getMaxDims(){var maxHeight=0,result={},_this=this;// Recalculate menu heights and total max height\nthis.$submenus.add(this.$element).each(function(){var height=_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].GetDimensions(this).height;maxHeight=height>maxHeight?height:maxHeight;if(_this.options.autoHeight){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight',height);}});if(this.options.autoHeight)result.height=this.$currentMenu.data('calcHeight');else result['min-height']=\"\".concat(maxHeight,\"px\");result['max-width']=\"\".concat(this.$element[0].getBoundingClientRect().width,\"px\");return result;}/**\n * Destroys the Drilldown Menu\n * @function\n */},{key:\"_destroy\",value:function _destroy(){jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('.zf.drilldown');if(this.options.scrollTop)this.$element.off('.zf.drilldown',this._bindHandler);this._hideAll();this.$element.off('mutateme.zf.trigger');_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"Nest\"].Burn(this.$element,'drilldown');this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');this.$submenuAnchors.each(function(){jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown');});this.$element.find('[data-is-parent-link]').detach();this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');this.$element.find('a').each(function(){var $link=jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);$link.removeAttr('tabindex');if($link.data('savedHref')){$link.attr('href',$link.data('savedHref')).removeData('savedHref');}else{return;}});}}]);return Drilldown;}(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]);Drilldown.defaults={/**\n * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are\n * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.\n * @option\n * @type {boolean}\n * @default true\n */autoApplyClass:true,/**\n * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
  • Back
  • '\n */backButton:'
  • Back
  • ',/**\n * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n * @option\n * @type {string}\n * @default top\n */backButtonPosition:'top',/**\n * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
    '\n */wrapper:'
    ',/**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */parentLink:false,/**\n * Allow the menu to return to root list on body click.\n * @option\n * @type {boolean}\n * @default false\n */closeOnClick:false,/**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */autoHeight:false,/**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */animateHeight:false,/**\n * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n * @option\n * @type {boolean}\n * @default false\n */scrollTop:false,/**\n * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n * @option\n * @type {string}\n * @default ''\n */scrollTopElement:'',/**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */scrollTopOffset:0,/**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */animationDuration:500,/**\n * Scroll animation easing. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @see {@link https://api.jquery.com/animate|JQuery animate}\n * @default 'swing'\n */animationEasing:'swing'// holdOpen: false\n};/***/},/***/3:/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.drilldown.js ***!\n \\**********************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.drilldown.js */\"./js/entries/plugins/foundation.drilldown.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.drilldown.js.map\n'use strict';var _typeof2=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof2(module))==='object')module.exports=factory(require(\"./foundation.core\"),require(\"./foundation.util.box\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.motion\"),require(\"./foundation.util.touch\"),require(\"jquery\"));else if(typeof define==='function'&&define.amd)define([\"./foundation.core\",\"./foundation.util.box\",\"./foundation.util.keyboard\",\"./foundation.util.motion\",\"./foundation.util.touch\",\"jquery\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports[\"foundation.dropdown\"]=factory(require(\"./foundation.core\"),require(\"./foundation.util.box\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.motion\"),require(\"./foundation.util.touch\"),require(\"jquery\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdown\"]=factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"],root[\"jQuery\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE__foundation_core__,__WEBPACK_EXTERNAL_MODULE__foundation_util_box__,__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__,__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__,__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__,__WEBPACK_EXTERNAL_MODULE_jquery__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof2(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=4);/******/}(/************************************************************************//******/{/***/\"./foundation.core\":/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************//*! no static exports found *//***/function foundationCore(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_core__;/***/},/***/\"./foundation.util.box\":/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilBox(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_box__;/***/},/***/\"./foundation.util.keyboard\":/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilKeyboard(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;/***/},/***/\"./foundation.util.motion\":/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilMotion(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;/***/},/***/\"./foundation.util.touch\":/*!****************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"} ***!\n \\****************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilTouch(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;/***/},/***/\"./js/entries/plugins/foundation.dropdown.js\":/*!***************************************************!*\\\n !*** ./js/entries/plugins/foundation.dropdown.js ***!\n \\***************************************************//*! exports provided: Foundation, Dropdown *//***/function jsEntriesPluginsFoundationDropdownJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./foundation.core */\"./foundation.core\");/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"];});/* harmony import */var _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.dropdown */\"./js/foundation.dropdown.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Dropdown\",function(){return _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__[\"Dropdown\"];});_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__[\"Dropdown\"],'Dropdown');/***/},/***/\"./js/foundation.dropdown.js\":/*!***********************************!*\\\n !*** ./js/foundation.dropdown.js ***!\n \\***********************************//*! exports provided: Dropdown *//***/function jsFoundationDropdownJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Dropdown\",function(){return Dropdown;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.util.keyboard */\"./foundation.util.keyboard\");/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.core.utils */\"./foundation.core\");/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__);/* harmony import */var _foundation_positionable__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./foundation.positionable */\"./js/foundation.positionable.js\");/* harmony import */var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./foundation.util.triggers */\"./js/foundation.util.triggers.js\");/* harmony import */var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ./foundation.util.touch */\"./foundation.util.touch\");/* harmony import */var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__);function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i-1,$elements=isTab?_this.$tabs:$element.siblings('li').add($element),$prevElement,$nextElement;$elements.each(function(i){if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)){$prevElement=$elements.eq(i-1);$nextElement=$elements.eq(i+1);return;}});var nextSibling=function nextSibling(){$nextElement.children('a:first').focus();e.preventDefault();},prevSibling=function prevSibling(){$prevElement.children('a:first').focus();e.preventDefault();},openSub=function openSub(){var $sub=$element.children('ul.is-dropdown-submenu');if($sub.length){_this._show($sub);$element.find('li > a:first').focus();e.preventDefault();}else{return;}},closeSub=function closeSub(){//if ($element.is(':first-child')) {\nvar close=$element.parent('ul').parent('li');close.children('a:first').focus();_this._hide(close);e.preventDefault();//}\n};var functions={open:openSub,close:function close(){_this._hide(_this.$element);_this.$menuItems.eq(0).children('a').focus();// focus to first element\ne.preventDefault();}};if(isTab){if(_this._isVertical()){// vertical menu\nif(_this._isRtl()){// right aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:closeSub,previous:openSub});}else{// left aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{down:nextSibling,up:prevSibling,next:openSub,previous:closeSub});}}else{// horizontal menu\nif(_this._isRtl()){// right aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{next:prevSibling,previous:nextSibling,down:openSub,up:closeSub});}else{// left aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{next:nextSibling,previous:prevSibling,down:openSub,up:closeSub});}}}else{// not tabs -> one sub\nif(_this._isRtl()){// right aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{next:closeSub,previous:openSub,down:nextSibling,up:prevSibling});}else{// left aligned\njquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions,{next:openSub,previous:closeSub,down:nextSibling,up:prevSibling});}}_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e,'DropdownMenu',functions);});}/**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */},{key:\"_addBodyHandler\",value:function _addBodyHandler(){var _this2=this;var $body=jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body);this._removeBodyHandler();$body.on('click.zf.dropdownMenu tap.zf.dropdownMenu',function(e){var isItself=!!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).closest(_this2.$element).length;if(isItself)return;_this2._hide();_this2._removeBodyHandler();});}/**\n * Remove the body event handler. See `_addBodyHandler`.\n * @function\n * @private\n */},{key:\"_removeBodyHandler\",value:function _removeBodyHandler(){jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu');}/**\n * Opens a dropdown pane, and checks for collisions first.\n * @param {jQuery} $sub - ul element that is a submenu to show\n * @function\n * @private\n * @fires DropdownMenu#show\n */},{key:\"_show\",value:function _show($sub){var idx=this.$tabs.index(this.$tabs.filter(function(i,el){return jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).find($sub).length>0;}));var $sibs=$sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');this._hide($sibs,idx);$sub.css('visibility','hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');var clear=_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].ImNotTouchingYou($sub,null,true);if(!clear){var oldClass=this.options.alignment==='left'?'-right':'-left',$parentLi=$sub.parent('.is-dropdown-submenu-parent');$parentLi.removeClass(\"opens\".concat(oldClass)).addClass(\"opens-\".concat(this.options.alignment));clear=_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].ImNotTouchingYou($sub,null,true);if(!clear){$parentLi.removeClass(\"opens-\".concat(this.options.alignment)).addClass('opens-inner');}this.changed=true;}$sub.css('visibility','');if(this.options.closeOnClick){this._addBodyHandler();}/**\n * Fires when the new dropdown pane is visible.\n * @event DropdownMenu#show\n */this.$element.trigger('show.zf.dropdownMenu',[$sub]);}/**\n * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n * @function\n * @param {jQuery} $elem - element with a submenu to hide\n * @param {Number} idx - index of the $tabs collection to hide\n * @fires DropdownMenu#hide\n * @private\n */},{key:\"_hide\",value:function _hide($elem,idx){var $toClose;if($elem&&$elem.length){$toClose=$elem;}else if(typeof idx!=='undefined'){$toClose=this.$tabs.not(function(i){return i===idx;});}else{$toClose=this.$element;}var somethingToClose=$toClose.hasClass('is-active')||$toClose.find('.is-active').length>0;if(somethingToClose){var $activeItem=$toClose.find('li.is-active');$activeItem.add($toClose).attr({'data-is-click':false}).removeClass('is-active');$toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');if(this.changed||$toClose.find('opens-inner').length){var oldClass=this.options.alignment==='left'?'right':'left';$toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass(\"opens-inner opens-\".concat(this.options.alignment)).addClass(\"opens-\".concat(oldClass));this.changed=false;}clearTimeout($activeItem.data('_delay'));this._removeBodyHandler();/**\n * Fires when the open menus are closed.\n * @event DropdownMenu#hide\n */this.$element.trigger('hide.zf.dropdownMenu',[$toClose]);}}/**\n * Destroys the plugin.\n * @function\n */},{key:\"_destroy\",value:function _destroy(){this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('.zf.dropdownMenu');_foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__[\"Nest\"].Burn(this.$element,'dropdown');}}]);return DropdownMenu;}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);/**\n * Default settings for plugin\n */DropdownMenu.defaults={/**\n * Disallows hover events from opening submenus\n * @option\n * @type {boolean}\n * @default false\n */disableHover:false,/**\n * Disallows hover on touch devices\n * @option\n * @type {boolean}\n * @default true\n */disableHoverOnTouch:true,/**\n * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n * @option\n * @type {boolean}\n * @default true\n */autoclose:true,/**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 50\n */hoverDelay:50,/**\n * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n * @option\n * @type {boolean}\n * @default false\n */clickOpen:false,/**\n * Amount of time to delay closing a submenu on a mouseleave event.\n * @option\n * @type {number}\n * @default 500\n */closingTime:500,/**\n * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.\n * @option\n * @type {string}\n * @default 'auto'\n */alignment:'auto',/**\n * Allow clicks on the body to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */closeOnClick:true,/**\n * Allow clicks on leaf anchor links to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */closeOnClickInside:true,/**\n * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'vertical'\n */verticalClass:'vertical',/**\n * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'align-right'\n */rightClass:'align-right',/**\n * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n * @option\n * @type {boolean}\n * @default true\n */forceFollow:true};/***/},/***/5:/*!*************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.dropdownMenu.js ***!\n \\*************************************************************//*! no static exports found *//***/function _(module,exports,__webpack_require__){module.exports=__webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.dropdownMenu.js */\"./js/entries/plugins/foundation.dropdownMenu.js\");/***/},/***/\"jquery\":/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************//*! no static exports found *//***/function jquery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_jquery__;/***/}/******/}));});//# sourceMappingURL=foundation.dropdownMenu.js.map\n'use strict';var _typeof2=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof2(module))==='object')module.exports=factory(require(\"./foundation.core\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.mediaQuery\"),require(\"./foundation.util.motion\"),require(\"jquery\"));else if(typeof define==='function'&&define.amd)define([\"./foundation.core\",\"./foundation.util.keyboard\",\"./foundation.util.mediaQuery\",\"./foundation.util.motion\",\"jquery\"],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports[\"foundation.offcanvas\"]=factory(require(\"./foundation.core\"),require(\"./foundation.util.keyboard\"),require(\"./foundation.util.mediaQuery\"),require(\"./foundation.util.motion\"),require(\"jquery\"));else root[\"__FOUNDATION_EXTERNAL__\"]=root[\"__FOUNDATION_EXTERNAL__\"]||{},root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.offcanvas\"]=factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"],root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"],root[\"jQuery\"]);})(window,function(__WEBPACK_EXTERNAL_MODULE__foundation_core__,__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__,__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__,__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__,__WEBPACK_EXTERNAL_MODULE_jquery__){return(/******/function(modules){// webpackBootstrap\n/******/// The module cache\n/******/var installedModules={};/******//******/// The require function\n/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache\n/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)\n/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function\n/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded\n/******/module.l=true;/******//******/// Return the exports of the module\n/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)\n/******/__webpack_require__.m=modules;/******//******/// expose the module cache\n/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports\n/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports\n/******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object\n/******/// mode & 1: value is a module id, require it\n/******/// mode & 2: merge all properties of value into the ns\n/******/// mode & 4: return value when already ns object\n/******/// mode & 8|1: behave like require\n/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof2(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules\n/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call\n/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__\n/******/__webpack_require__.p=\"\";/******//******//******/// Load entry module and return exports\n/******/return __webpack_require__(__webpack_require__.s=9);/******/}(/************************************************************************//******/{/***/\"./foundation.core\":/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************//*! no static exports found *//***/function foundationCore(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_core__;/***/},/***/\"./foundation.util.keyboard\":/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilKeyboard(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;/***/},/***/\"./foundation.util.mediaQuery\":/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilMediaQuery(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;/***/},/***/\"./foundation.util.motion\":/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************//*! no static exports found *//***/function foundationUtilMotion(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;/***/},/***/\"./js/entries/plugins/foundation.offcanvas.js\":/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.offcanvas.js ***!\n \\****************************************************//*! exports provided: Foundation, OffCanvas *//***/function jsEntriesPluginsFoundationOffcanvasJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./foundation.core */\"./foundation.core\");/* harmony import */var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"Foundation\",function(){return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"];});/* harmony import */var _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../foundation.offcanvas */\"./js/foundation.offcanvas.js\");/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,\"OffCanvas\",function(){return _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"];});_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"],'OffCanvas');/***/},/***/\"./js/foundation.offcanvas.js\":/*!************************************!*\\\n !*** ./js/foundation.offcanvas.js ***!\n \\************************************//*! exports provided: OffCanvas *//***/function jsFoundationOffcanvasJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"OffCanvas\",function(){return OffCanvas;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.core.plugin */\"./foundation.core\");/* harmony import */var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default=/*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.util.keyboard */\"./foundation.util.keyboard\");/* harmony import */var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);/* harmony import */var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./foundation.util.mediaQuery */\"./foundation.util.mediaQuery\");/* harmony import */var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);/* harmony import */var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./foundation.util.triggers */\"./js/foundation.util.triggers.js\");function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _defineProperties(target,props){for(var i=0;i0&&this.options.transition==='push'){// If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n// Limit to push transition since there's no transform scope for overlap\nthis.options.contentScroll=false;}var inCanvasFor=this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);if(inCanvasFor&&inCanvasFor.length===2){// Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\nthis.options.inCanvasOn=inCanvasFor[1];}else if(this.options.inCanvasOn){// Ensure the CSS class is set\nthis.$element.addClass(\"in-canvas-for-\".concat(this.options.inCanvasOn));}if(this.options.inCanvasOn){this._checkInCanvas();}// Initally remove all transition/position CSS classes from off-canvas content container.\nthis._removeContentClasses();}/**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */},{key:\"_events\",value:function _events(){var _this3=this;this.$element.off('.zf.trigger .zf.offCanvas').on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':this.close.bind(this),'toggle.zf.trigger':this.toggle.bind(this),'keydown.zf.offCanvas':this._handleKeyboard.bind(this)});if(this.options.closeOnClick===true){var $target=this.options.contentOverlay?this.$overlay:this.$content;$target.on({'click.zf.offCanvas':this.close.bind(this)});}if(this.options.inCanvasOn){jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery',function(){_this3._checkInCanvas();});}}/**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */},{key:\"_setMQChecker\",value:function _setMQChecker(){var _this=this;this.onLoadListener=Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window),function(){if(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)){_this.reveal(true);}});jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery',function(){if(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)){_this.reveal(true);}else{_this.reveal(false);}});}/**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */},{key:\"_checkInCanvas\",value:function _checkInCanvas(){this.isInCanvas=_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(this.options.inCanvasOn);if(this.isInCanvas===true){this.close();}}/**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */},{key:\"_removeContentClasses\",value:function _removeContentClasses(hasReveal){if(typeof hasReveal!=='boolean'){this.$content.removeClass(this.contentClasses.base.join(' '));}else if(hasReveal===false){this.$content.removeClass(\"has-reveal-\".concat(this.position));}}/**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */},{key:\"_addContentClasses\",value:function _addContentClasses(hasReveal){this._removeContentClasses(hasReveal);if(typeof hasReveal!=='boolean'){this.$content.addClass(\"has-transition-\".concat(this.options.transition,\" has-position-\").concat(this.position));}else if(hasReveal===true){this.$content.addClass(\"has-reveal-\".concat(this.position));}}/**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */},{key:\"_fixStickyElements\",value:function _fixStickyElements(){this.$sticky.each(function(_,el){var $el=jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);// If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n// Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\nif($el.css('position')==='fixed'){// Save current inline styling to restore it if undoing the absolute fixing\nvar topVal=parseInt($el.css('top'),10);$el.data('offCanvasSticky',{top:topVal});var absoluteTopVal=jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop()+topVal;$el.css({top:\"\".concat(absoluteTopVal,\"px\"),width:'100%',transition:'none'});}});}/**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */},{key:\"_unfixStickyElements\",value:function _unfixStickyElements(){this.$sticky.each(function(_,el){var $el=jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);var stickyData=$el.data('offCanvasSticky');// If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\nif(_typeof(stickyData)==='object'){$el.css({top:\"\".concat(stickyData.top,\"px\"),width:'',transition:''});$el.data('offCanvasSticky','');}});}/**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */},{key:\"reveal\",value:function reveal(isRevealed){if(isRevealed){this.close();this.isRevealed=true;this.$element.attr('aria-hidden','false');this.$element.off('open.zf.trigger toggle.zf.trigger');this.$element.removeClass('is-closed');}else{this.isRevealed=false;this.$element.attr('aria-hidden','true');this.$element.off('open.zf.trigger toggle.zf.trigger').on({'open.zf.trigger':this.open.bind(this),'toggle.zf.trigger':this.toggle.bind(this)});this.$element.addClass('is-closed');}this._addContentClasses(isRevealed);}/**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */},{key:\"_stopScrolling\",value:function _stopScrolling(){return false;}/**\n * Save current finger y-position\n * @param event\n * @private\n */},{key:\"_recordScrollable\",value:function _recordScrollable(event){var elem=this;elem.lastY=event.touches[0].pageY;}/**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */},{key:\"_preventDefaultAtEdges\",value:function _preventDefaultAtEdges(event){var elem=this;var _this=event.data;var delta=elem.lastY-event.touches[0].pageY;elem.lastY=event.touches[0].pageY;if(!_this._canScroll(delta,elem)){event.preventDefault();}}/**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */},{key:\"_scrollboxTouchMoved\",value:function _scrollboxTouchMoved(event){var elem=this;var _this=event.data;var parent=elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');var delta=elem.lastY-event.touches[0].pageY;parent.lastY=elem.lastY=event.touches[0].pageY;event.stopPropagation();if(!_this._canScroll(delta,elem)){if(!_this._canScroll(delta,parent)){event.preventDefault();}else{parent.scrollTop+=delta;}}}/**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */},{key:\"_canScroll\",value:function _canScroll(delta,elem){var up=delta<0;var down=delta>0;var allowUp=elem.scrollTop>0;var allowDown=elem.scrollTop').addClass('reveal-overlay'+additionalOverlayClasses).appendTo(this.options.appendTo);}/**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */},{key:\"_updatePosition\",value:function _updatePosition(){var width=this.$element.outerWidth();var outerWidth=jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width();var height=this.$element.outerHeight();var outerHeight=jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height();var left,top=null;if(this.options.hOffset==='auto'){left=parseInt((outerWidth-width)/2,10);}else{left=parseInt(this.options.hOffset,10);}if(this.options.vOffset==='auto'){if(height>outerHeight){top=parseInt(Math.min(100,outerHeight/10),10);}else{top=parseInt((outerHeight-height)/4,10);}}else if(this.options.vOffset!==null){top=parseInt(this.options.vOffset,10);}if(top!==null){this.$element.css({top:top+'px'});}// only worry about left if we don't have an overlay or we have a horizontal offset,\n// otherwise we're perfectly in the middle\nif(!this.$overlay||this.options.hOffset!=='auto'){this.$element.css({left:left+'px'});this.$element.css({margin:'0px'});}}/**\n * Adds event handlers for the modal.\n * @private\n */},{key:\"_events\",value:function _events(){var _this3=this;var _this=this;this.$element.on({'open.zf.trigger':this.open.bind(this),'close.zf.trigger':function closeZfTrigger(event,$element){if(event.target===_this.$element[0]||jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target).parents('[data-closable]')[0]===$element){// only close reveal when it's explicitly called\nreturn _this3.close.apply(_this3);}},'toggle.zf.trigger':this.toggle.bind(this),'resizeme.zf.trigger':function resizemeZfTrigger(){_this._updatePosition();}});if(this.options.closeOnClick&&this.options.overlay){this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown',function(e){if(e.target===_this.$element[0]||jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0],e.target)||!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.deepLink){jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\"hashchange.zf.reveal:\".concat(this.id),this._handleState.bind(this));}}/**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */},{key:\"_handleState\",value:function _handleState(){if(window.location.hash==='#'+this.id&&!this.isActive){this.open();}else{this.close();}}/**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */},{key:\"_disableScroll\",value:function _disableScroll(scrollTop){scrollTop=scrollTop||jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop();if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height()>jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()){jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\",-scrollTop);}}/**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */},{key:\"_enableScroll\",value:function _enableScroll(scrollTop){scrollTop=scrollTop||parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"),10);if(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height()>jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()){jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\",\"\");jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(-scrollTop);}}/**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */},{key:\"open\",value:function open(){var _this4=this;// either update or replace browser history\nvar hash=\"#\".concat(this.id);if(this.options.deepLink&&window.location.hash!==hash){if(window.history.pushState){if(this.options.updateHistory){window.history.pushState({},'',hash);}else{window.history.replaceState({},'',hash);}}else{window.location.hash=hash;}}// Remember anchor that opened it to set focus back later, have general anchors as fallback\nthis.$activeAnchor=jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement).is(this.$anchor)?jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement):this.$anchor;this.isActive=true;// Make elements invisible, but remove display: none so we can get size and positioning\nthis.$element.css({'visibility':'hidden'}).show().scrollTop(0);if(this.options.overlay){this.$overlay.css({'visibility':'hidden'}).show();}this._updatePosition();this.$element.hide().css({'visibility':''});if(this.$overlay){this.$overlay.css({'visibility':''}).hide();if(this.$element.hasClass('fast')){this.$overlay.addClass('fast');}else if(this.$element.hasClass('slow')){this.$overlay.addClass('slow');}}if(!this.options.multipleOpened){/**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */this.$element.trigger('closeme.zf.reveal',this.id);}if(jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length===0){this._disableScroll();}var _this=this;// Motion UI method of reveal\nif(this.options.animationIn){var afterAnimation=function afterAnimation(){_this.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();_this._addGlobalClasses();_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(_this.$element);};if(this.options.overlay){_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateIn(this.$overlay,'fade-in');}_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateIn(this.$element,this.options.animationIn,function(){if(_this4.$element){// protect against object having been removed\n_this4.focusableElements=_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].findFocusable(_this4.$element);afterAnimation();}});}// jQuery method of reveal\nelse{if(this.options.overlay){this.$overlay.show(0);}this.$element.show(this.options.showDelay);}// handle accessibility\nthis.$element.attr({'aria-hidden':false,'tabindex':-1}).focus();_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(this.$element);this._addGlobalClasses();this._addGlobalListeners();/**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */this.$element.trigger('open.zf.reveal');}/**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */},{key:\"_addGlobalClasses\",value:function _addGlobalClasses(){var updateScrollbarClass=function updateScrollbarClass(){jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').toggleClass('zf-has-scroll',!!(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height()>jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()));};this.$element.on('resizeme.zf.trigger.revealScrollbarListener',function(){return updateScrollbarClass();});updateScrollbarClass();jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').addClass('is-reveal-open');}/**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */},{key:\"_removeGlobalClasses\",value:function _removeGlobalClasses(){this.$element.off('resizeme.zf.trigger.revealScrollbarListener');jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('is-reveal-open');jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('zf-has-scroll');}/**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */},{key:\"_addGlobalListeners\",value:function _addGlobalListeners(){var _this=this;if(!this.$element){return;}// If we're in the middle of cleanup, don't freak out\nthis.focusableElements=_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].findFocusable(this.$element);if(!this.options.overlay&&this.options.closeOnClick&&!this.options.fullScreen){jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click.zf.dropdown tap.zf.dropdown',function(e){if(e.target===_this.$element[0]||jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0],e.target)||!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document,e.target)){return;}_this.close();});}if(this.options.closeOnEsc){jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('keydown.zf.reveal',function(e){_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e,'Reveal',{close:function close(){if(_this.options.closeOnEsc){_this.close();}}});});}}/**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */},{key:\"close\",value:function close(){if(!this.isActive||!this.$element.is(':visible')){return false;}var _this=this;// Motion UI method of hiding\nif(this.options.animationOut){if(this.options.overlay){_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateOut(this.$overlay,'fade-out');}_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateOut(this.$element,this.options.animationOut,finishUp);}// jQuery method of hiding\nelse{this.$element.hide(this.options.hideDelay);if(this.options.overlay){this.$overlay.hide(0,finishUp);}else{finishUp();}}// Conditionals to remove extra event listeners added on open\nif(this.options.closeOnEsc){jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('keydown.zf.reveal');}if(!this.options.overlay&&this.options.closeOnClick){jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('click.zf.dropdown tap.zf.dropdown');}this.$element.off('keydown.zf.reveal');function finishUp(){// Get the current top before the modal is closed and restore the scroll after.\n// TODO: use component properties instead of HTML properties\n// See https://github.com/foundation/foundation-sites/pull/10786\nvar scrollTop=parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"),10);if(jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length===0){_this._removeGlobalClasses();// also remove .is-reveal-open from the html element when there is no opened reveal\n}_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].releaseFocus(_this.$element);_this.$element.attr('aria-hidden',true);if(jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length===0){_this._enableScroll(scrollTop);}/**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */_this.$element.trigger('closed.zf.reveal');}/**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */if(this.options.resetOnClose){this.$element.html(this.$element.html());}this.isActive=false;// If deepLink and we did not switched to an other modal...\nif(_this.options.deepLink&&window.location.hash===\"#\".concat(this.id)){// Remove the history hash\nif(window.history.replaceState){var urlWithoutHash=window.location.pathname+window.location.search;if(this.options.updateHistory){window.history.pushState({},'',urlWithoutHash);// remove the hash\n}else{window.history.replaceState('',document.title,urlWithoutHash);}}else{window.location.hash='';}}this.$activeAnchor.focus();}/**\n * Toggles the open/closed state of a modal.\n * @function\n */},{key:\"toggle\",value:function toggle(){if(this.isActive){this.close();}else{this.open();}}},{key:\"_destroy\",value:/**\n * Destroys an instance of a modal.\n * @function\n */function _destroy(){if(this.options.overlay){this.$element.appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo));// move $element outside of $overlay to prevent error unregisterPlugin()\nthis.$overlay.hide().off().remove();}this.$element.hide().off();this.$anchor.off('.zf');jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\".zf.reveal:\".concat(this.id));if(this.onLoadListener)jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);if(jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length===0){this._removeGlobalClasses();// also remove .is-reveal-open from the html element when there is no opened reveal\n}}}]);return Reveal;}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);Reveal.defaults={/**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */animationIn:'',/**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */animationOut:'',/**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */showDelay:0,/**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */hideDelay:0,/**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */closeOnClick:true,/**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */closeOnEsc:true,/**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */multipleOpened:false,/**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */vOffset:'auto',/**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */hOffset:'auto',/**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */fullScreen:false,/**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */overlay:true,/**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */resetOnClose:false,/**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */deepLink:false,/**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */updateHistory:false,/**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */appendTo:\"body\",/**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */additionalOverlayClasses:''};/***/},/***/\"./js/foundation.util.triggers.js\":/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************//*! exports provided: Triggers *//***/function jsFoundationUtilTriggersJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Triggers\",function(){return Triggers;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.core.utils */\"./foundation.core\");/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default=/*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);/* harmony import */var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.util.motion */\"./foundation.util.motion\");/* harmony import */var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;i=_this.topPoint?false:true);}});_this._events(id.split('-').reverse().join('-'));});}/**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */},{key:\"_parsePoints\",value:function _parsePoints(){var top=this.options.topAnchor===\"\"?1:this.options.topAnchor,btm=this.options.btmAnchor===\"\"?document.documentElement.scrollHeight:this.options.btmAnchor,pts=[top,btm],breaks={};for(var i=0,len=pts.length;i=this.topPoint){if(scroll<=this.bottomPoint){if(!this.isStuck){this._setSticky();}}else{if(this.isStuck){this._removeSticky(false);}}}else{if(this.isStuck){this._removeSticky(true);}}}/**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */},{key:\"_setSticky\",value:function _setSticky(){var _this=this,stickTo=this.options.stickTo,mrgn=stickTo==='top'?'marginTop':'marginBottom',notStuckTo=stickTo==='top'?'bottom':'top',css={};css[mrgn]=\"\".concat(this.options[mrgn],\"em\");css[stickTo]=0;css[notStuckTo]='auto';this.isStuck=true;this.$element.removeClass(\"is-anchored is-at-\".concat(notStuckTo)).addClass(\"is-stuck is-at-\".concat(stickTo)).css(css)/**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */.trigger(\"sticky.zf.stuckto:\".concat(stickTo));this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\",function(){_this._setSizes();});}/**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */},{key:\"_removeSticky\",value:function _removeSticky(isTop){var stickTo=this.options.stickTo,stickToTop=stickTo==='top',css={},anchorPt=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,mrgn=stickToTop?'marginTop':'marginBottom',topOrBottom=isTop?'top':'bottom';css[mrgn]=0;css.bottom='auto';if(isTop){css.top=0;}else{css.top=anchorPt;}this.isStuck=false;this.$element.removeClass(\"is-stuck is-at-\".concat(stickTo)).addClass(\"is-anchored is-at-\".concat(topOrBottom)).css(css)/**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */.trigger(\"sticky.zf.unstuckfrom:\".concat(topOrBottom));}/**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */},{key:\"_setSizes\",value:function _setSizes(cb){this.canStick=_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"].is(this.options.stickyOn);if(!this.canStick){if(cb&&typeof cb==='function'){cb();}}var newElemWidth=this.$container[0].getBoundingClientRect().width,comp=window.getComputedStyle(this.$container[0]),pdngl=parseInt(comp['padding-left'],10),pdngr=parseInt(comp['padding-right'],10);if(this.$anchor&&this.$anchor.length){this.anchorHeight=this.$anchor[0].getBoundingClientRect().height;}else{this._parsePoints();}this.$element.css({'max-width':\"\".concat(newElemWidth-pdngl-pdngr,\"px\")});// Recalculate the height only if it is \"dynamic\"\nif(this.options.dynamicHeight||!this.containerHeight){// Get the sticked element height and apply it to the container to \"hold the place\"\nvar newContainerHeight=this.$element[0].getBoundingClientRect().height||this.containerHeight;newContainerHeight=this.$element.css(\"display\")===\"none\"?0:newContainerHeight;this.$container.css('height',newContainerHeight);this.containerHeight=newContainerHeight;}this.elemHeight=this.containerHeight;if(!this.isStuck){if(this.$element.hasClass('is-at-bottom')){var anchorPt=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css('top',anchorPt);}}this._setBreakPoints(this.containerHeight,function(){if(cb&&typeof cb==='function'){cb();}});}/**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */},{key:\"_setBreakPoints\",value:function _setBreakPoints(elemHeight,cb){if(!this.canStick){if(cb&&typeof cb==='function'){cb();}else{return false;}}var mTop=emCalc(this.options.marginTop),mBtm=emCalc(this.options.marginBottom),topPoint=this.points?this.points[0]:this.$anchor.offset().top,bottomPoint=this.points?this.points[1]:topPoint+this.anchorHeight,// topPoint = this.$anchor.offset().top || this.points[0],\n// bottomPoint = topPoint + this.anchorHeight || this.points[1],\nwinHeight=window.innerHeight;if(this.options.stickTo==='top'){topPoint-=mTop;bottomPoint-=elemHeight+mTop;}else if(this.options.stickTo==='bottom'){topPoint-=winHeight-(elemHeight+mBtm);bottomPoint-=winHeight-mBtm;}else{//this would be the stickTo: both option... tricky\n}this.topPoint=topPoint;this.bottomPoint=bottomPoint;if(cb&&typeof cb==='function'){cb();}}/**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */},{key:\"_destroy\",value:function _destroy(){this._removeSticky(true);this.$element.removeClass(\"\".concat(this.options.stickyClass,\" is-anchored is-at-top\")).css({height:'',top:'',bottom:'','max-width':''}).off('resizeme.zf.trigger').off('mutateme.zf.trigger');if(this.$anchor&&this.$anchor.length){this.$anchor.off('change.zf.sticky');}if(this.scrollListener)jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener);if(this.onLoadListener)jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);if(this.wasWrapped){this.$element.unwrap();}else{this.$container.removeClass(this.options.containerClass).css({height:''});}}}]);return Sticky;}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);Sticky.defaults={/**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */container:'
    ',/**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */stickTo:'top',/**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */anchor:'',/**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */topAnchor:'',/**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */btmAnchor:'',/**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */marginTop:1,/**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */marginBottom:1,/**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */stickyOn:'medium',/**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */stickyClass:'sticky',/**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */containerClass:'sticky-container',/**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */dynamicHeight:true,/**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */checkEvery:-1};/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */function emCalc(em){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*em;}/***/},/***/\"./js/foundation.util.triggers.js\":/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************//*! exports provided: Triggers *//***/function jsFoundationUtilTriggersJs(module,__webpack_exports__,__webpack_require__){\"use strict\";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,\"Triggers\",function(){return Triggers;});/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! jquery */\"jquery\");/* harmony import */var jquery__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./foundation.core.utils */\"./foundation.core\");/* harmony import */var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default=/*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);/* harmony import */var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./foundation.util.motion */\"./foundation.util.motion\");/* harmony import */var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default=/*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&_typeof2(Symbol.iterator)===\"symbol\"){_typeof=function _typeof(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj==='undefined'?'undefined':_typeof2(obj);};}return _typeof(obj);}var MutationObserver=function(){var prefixes=['WebKit','Moz','O','Ms',''];for(var i=0;ili\");\n// var total = nodes.length;\n// var ease = Power1.easeInOut;\n// var boxes = [];\n//\n// for (var i = 0; i < total; i++) {\n//\n// var node = nodes[i];\n//\n// // Initialize transforms on node\n// TweenLite.set(node, { x: 0, y: 0 });\n//\n// boxes[i] = {\n// transform: node._gsTransform,\n// x: node.offsetLeft,\n// y: node.offsetTop,\n// node\n// };\n// }\ngroup.classList.toggle(\"stuckish\");// for (var i = 0; i < total; i++) {\n// var box = boxes[i];\n//\n// var lastX = box.x;\n// var lastY = box.y;\n//\n// box.x = box.node.offsetLeft;\n// box.y = box.node.offsetTop;\n//\n// // Continue if box hasn't moved\n// if (lastX === box.x && lastY === box.y) continue;\n//\n// // Reversed delta values taking into account current transforms\n// var x = box.transform.x + lastX - box.x;\n// var y = box.transform.y + lastY - box.y;\n//\n// // Tween to 0 to remove the transforms\n// TweenLite.fromTo(box.node, 0.5, { x, y }, { x: 0, y: 0, ease, onComplete: function() {\n// box.node.style.transform = 'none';\n// }});\n//\n//\n// }\n}});\n\"use strict\";jQuery(document).foundation();\n'use strict';jQuery(document).ready(function($){// var defaultDogName = 'your pet';\nvar defaultDogName=$('h2[data-default-dog-name]').attr('data-default-dog-name');$('.quiz_pet_name').text(defaultDogName);var quizStep=1;$('.quiz-container li').each(function(){$(this).find('[data-step-count]').text(quizStep+' of '+$('.quiz-container li').length);quizStep++;});$('.quiz-container').slick({arrows:true,dots:false,infinite:false,adaptiveHeight:true,accessibility:false,responsive:[{breakpoint:640,settings:{dots:true,arrows:false,accessibility:false}}]});$('.button.next').click(function(e){e.preventDefault();$('.quiz-container').slick('slickNext');});$('.whimzees-quiz .whimzees-quiz-input input[type=\"text\"]').keyup(function(){if($(this).val()!=''){$('#quiz_name_next').prop('disabled',false);}else{$('#quiz_name_next').prop('disabled',true);}});$('.whimzees-quiz input[name=\"pet_dental\"]').change(function(){var petDentalVals=[];$('.whimzees-quiz input[name=\"pet_dental\"]').each(function(){if($(this).prop('checked')){petDentalVals.push($(this).val());}});if(petDentalVals.length){$('#quiz_dental_next').prop('disabled',false);}else{$('#quiz_dental_next').prop('disabled',true);}});$(document).on('keypress',function(e){if($('.whimzees-quiz .whimzees-quiz-input input').is(\":focus\")){if(e.which==13){// enter key\ne.preventDefault();$('#quiz_name').trigger('change');$('.quiz-container').slick('slickNext');}}else{var input=$('.whimzees-quiz input[type=\"radio\"]:focus');if(input.length){if(e.which==13){// enter key\ne.preventDefault();$(input).trigger('mouseup');$('.quiz-container').slick('slickNext');}}}});$('.multiple-choice.checkfields input[type=\"checkbox\"]').change(function(){var inputUpdate=$(this).parents('.checkfields').attr('data-update-id');var checkfieldIDs=[];// console.log('checkbox change');\n$(this).parents('.checkfields').find('input[type=\"checkbox\"]').each(function(){if($(this).prop('checked')){checkfieldIDs.push($(this).val());}});$('#'+inputUpdate).val(checkfieldIDs.join(','));// console.log(checkfieldIDs);\n});$('.multiple-choice input[type=\"radio\"], .multiple-choice input[type=\"checkbox\"]').change(function(){$('.multiple-choice input[type=\"radio\"], .multiple-choice input[type=\"checkbox\"]').each(function(){$(this).siblings('.image-wrapper').toggleClass('selected',$(this).prop('checked'));});});$('.quiz-container input[type=\"radio\"]').on('mouseup',function(){$('.quiz-container').slick('slickNext');});$('.multiple-choice .image-wrapper').click(function(){$(this).siblings('input').trigger('click');});$('a[href=#whimzeesQuiz]').click(function(e){e.preventDefault();$('#whimzeesQuiz').foundation('open');$('.quiz-container').slick(\"refresh\");});$('.multiple-choice .image-wrapper').click(function(){$(this).siblings('input[type=\"radio\"]').trigger('mouseup');// console.log('bloop');\n});$('#quiz_name').change(function(){if($('#quiz_name').val().length){$('.quiz_pet_name').text($('#quiz_name').val());}else{$('.quiz_pet_name').text(defaultDogName);}});$('#treat-quiz').submit(function(e){e.preventDefault();e.returnValue=false;$('.loading-cover').addClass('show');var $form=$(this);// only email if language is english\nif($('#treat-quiz input[name=\"lang\"]').length){$form.off('submit');$form.submit();}else{var quizAnswers=[];// Dog Name\nquizAnswers.push({question:$('#quiz_name_q').text(),answer:$('#quiz_name').val()});// Dental Treat\nvar petDentalVals=[];$('.whimzees-quiz input[name=\"pet_dental\"]').each(function(){if($(this).prop('checked')){petDentalVals.push($('label[for=\"'+$(this).attr('id')+'\"]').text());}});quizAnswers.push({question:$('#pet_dental_q').text(),answer:petDentalVals.join(', ')});// Life Stage\nquizAnswers.push({question:$('#life_stage_q').text(),answer:$('label[for=\"'+$('input[name=\"life_stage\"]:checked').attr('id')+'\"]').text()});// Dog Size\nquizAnswers.push({question:$('#dog_sizes_q').text(),answer:$('label[for=\"'+$('input[name=\"dog_sizes\"]:checked').attr('id')+'\"]').text()});// Treat Shape\nquizAnswers.push({question:$('#formula_q').text(),answer:$('label[for=\"'+$('input[name=\"formula\"]:checked').attr('id')+'\"]').text()});console.log(quizAnswers);// $.ajax({\n// type: \"POST\",\n// url: \"/wp-admin/admin-ajax.php\",\n// context: $form,\n// datatype: \"html\",\n// data: {'action': 'quiz_sending_mail', 'quizAnswers': quizAnswers},\n// success: function(response) {\n// },error:function(response){\n// console.log(\"error: \" + response);\n// },\n// complete: function() {\n// this.off('submit');\n// this.submit();\n// }\n// });\n$form.off('submit');$form.submit();}});});\n'use strict';jQuery(document).ready(function($){// Smooth scroll for anchor links\n$(document).on('click','a[href*=\"#\"]:not(.noscroll)',function(event){var pagePath=window.location.pathname,linkPath=$.attr(this,'href').substring(0,$.attr(this,'href').indexOf(\"#\"));elementID=$.attr(this,'href').substring($.attr(this,'href').indexOf(\"#\"));// console.log(pagePath, linkPath, linkPath.length);\nif((pagePath===linkPath||linkPath.length===0)&&elementID.length>1){event.preventDefault();if($(elementID).length){$('html, body').animate({scrollTop:$(elementID).offset().top-($('header.header').outerHeight()||0)-($('.is-dropdown-submenu:visible').outerHeight()||0)},500);$(elementID).attr('tabindex',0).focus();}}});});function urlParam(name){var results=new RegExp('[\\?&]'+name+'=([^&#]*)').exec(window.location.href);if(results==null){return null;}return decodeURI(results[1])||0;}function animateValue(id,start,end,duration){var range=end-start;var current=start;var increment=end>start?1:-1;var stepTime=Math.abs(Math.floor(duration/range));var obj=document.getElementById(id);var timer=setInterval(function(){current+=increment;obj.innerHTML=current;if(current==end){clearInterval(timer);}},stepTime);}\n/*\nvar allFields, chfname, chlname, chemail, chquestion, tips, chat;\njQuery(document).ready(function() {\n\tCheckChat();\n chfname = jQuery(\"#chfname\");\n chlname = jQuery(\"#chlname\");\n chemail = jQuery(\"#chemail\");\n chquestion = jQuery(\"#chquestion\");\n tips = jQuery(\".validateTips\");\n allFields = jQuery([]).add(chfname).add(chlname).add(chemail).add(chquestion);\n // jQuery(\"#dialog-form\").dialog({\n // autoOpen: false,\n // height: 620,\n // width: 600,\n // modal: true,\n // closeText: \"x\",\n // close: function() {\n // allFields.val(\"\").removeClass(\"ui-state-error\");\n // jQuery('.validateTips').html(\"All form fields are required.\");\n // }\n // });\n});\n\nfunction updateTips(t) {\n tips\n\t\t\t\t.text(t)\n\t\t\t\t.addClass(\"ui-state-highlight\");\n setTimeout(function() {\n tips.removeClass(\"ui-state-highlight\", 1500);\n }, 500);\n}\n\nfunction checkLength(o, n, min, max) {\n //console.log(o.val());\n if (o.val().length > max || o.val().length < min) {\n o.addClass(\"ui-state-error\");\n updateTips(\"Length of \" + n + \" must be between \" +\n\t\t\t\t\tmin + \" and \" + max + \".\");\n return false;\n } else {\n return true;\n }\n}\n\nfunction checkRegexp(o, regexp, n) {\n if (!(regexp.test(o.val()))) {\n o.addClass(\"ui-state-error\");\n updateTips(n);\n return false;\n } else {\n return true;\n }\n}\n\n// var chatResourceUrl = 'https://web.archive.org/web/20171119203248/https://www.holisticselect.com/';\n// var chatResourceUrl = 'https://www.oldmotherhubbard.com/';\nvar chatResourceUrl = 'https://www.whimzees.com/';\n// var chatResourceUrl = 'http://dev-old-mother-hubbard.pantheonsite.io/';\n\nfunction CheckChat(){\n\tchat = Wt.chat.PublicChat;\n chat.init({\n msgUnavailable: \"Sorry, chat is temporarily unavailable\",\n site: 'Whimzees',\n statusCallback: testStatus,\n startOptions: {\n window: {\n top: 100,\n left: 100,\n width: 400,\n height: 400,\n cssUrl: chatResourceUrl + 'wp-content/themes/Whimzees/assets/styles/chat.css',\n logoUrl: chatResourceUrl + 'wp-content/uploads/2020/05/whimzees-logo-green.svg',\n headerHtml: '',\n //footerHtml: 'FOOTER',\n title: 'Chat with a Live Representative! '\n }\n }\n });\n}\n\nfunction InitChat() {\n // jQuery(function($) {\n // jQuery(\"#dialog-form\").dialog(\"open\");\n // //$(\"#dialog-form\").dialog({ \"closeText\": \"../images/btn-close.jpg\" });\n // });\n}\n\nfunction validateChatForm() {\n //console.log(allFields);\n var bValid = true;\n allFields.removeClass(\"ui-state-error\");\n\n bValid = bValid && checkLength(chfname, \"first name\", 2, 16);\n bValid = bValid && checkLength(chlname, \"last name\", 2, 16);\n bValid = bValid && checkLength(chemail, \"email\", 6, 80);\n bValid = bValid && checkLength(chquestion, \"question\", 5, 100);\n\n //bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, \"Username may consist of a-z, 0-9, underscores, begin with a letter.\" );\n // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/\n bValid = bValid && checkRegexp(chemail, /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/i, \"eg. john@yahoo.com\");\n //bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, \"Password field only allow : a-z 0-9\" );\n\n if (bValid) {\n //Save the values in the variable therefore when we close the dialog, we keep the values\n chfname = chfname.val();\n chlname = chlname.val();\n chemail = chemail.val();\n chquestion = chquestion.val();\n allFields.val(\"\").removeClass(\"ui-state-error\");\n // jQuery(\"#dialog-form\").dialog(\"close\");\n\t\t\t\t// jQuery(\"#dialog-form\").foundation('close');\n StartChart();\n }\n}\n\n\nfunction StartChart() {\n // console.log(\"fname: \" + chfname + \", lname: \" + chlname + \", email: \" + chemail + \", question: \" + chquestion);\n chat.start({\n initialText: 'question',\n info: {\n 'first_name': chfname,\n 'last_name': chlname,\n 'email': chemail,\n 'question': chquestion\n }\n });\n}\n\ncmdChat_onClick = function() {\n chat.start({\n info: {\n 'product': 'test'\n }\n });\n};\n\ntestStatus = function() {\n//alert(\"Chat status: \" + chat.status);\n if (chat.status === 'ready') {\n // show chat button\n // cmdChat.style.visibility = 'visible';\n\t\t\t// jQuery(function($) {\n\t\t\t// \t$(\"#dialog-form\").dialog(\"open\");\n\t\t\t// });\n\t\t\t// jQuery('.contactChatNow').show();\n\t\t\tjQuery('.live-chat-wrapper').show();\n\t\t\tjQuery('.chat-offline-wrapper').hide();\n\n\t\t\tjQuery('.contactChatNow').addClass('show');\n\n } else if (chat.msg !== \"\") {\n\t\t\t// jQuery('.contactChatNow').hide();\n\t\t\t// jQuery('.contactChatNow').show(); // Please comment out\n // alert(chat.msg);\n\t\t\tjQuery('.live-chat-wrapper').hide();\n\t\t\tjQuery('.chat-offline-wrapper').show();\n jQuery('#chat-text').text('Leave Us a Message');\n\n\t\t\tjQuery('.contactChatNow').addClass('show');\n }\n\n};\n*/\"use strict\";\n'use strict';/*\nThese functions make sure WordPress\nand Foundation play nice together.\n*/jQuery(document).ready(function($){// Remove empty P tags created by WP inside of Accordion and Orbit\njQuery('.accordion p:empty, .orbit p:empty').remove();// Adds Flex Video to YouTube and Vimeo Embeds\njQuery('iframe[src*=\"youtube.com\"], iframe[src*=\"vimeo.com\"]').each(function(){if(jQuery(this).innerWidth()/jQuery(this).innerHeight()>1.5){jQuery(this).wrap(\"
    \");}else{jQuery(this).wrap(\"
    \");}});// function adjustFootspace() {\n// \t$('.off-canvas-wrapper, .off-canvas-content').css({\n// \t\t'min-height': 'calc(100vh - '+$('footer.footer').outerHeight()+'px)',\n// \t\t'padding-bottom': $('footer.footer').outerHeight()\n// \t});\n// }\n//\n// $(window).on('resize', function() {\n// \tadjustFootspace();\n// });\n//\n// adjustFootspace();\n});","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.core\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./js/entries/plugins/foundation.core.js\":\n/*!***********************************************!*\\\n !*** ./js/entries/plugins/foundation.core.js ***!\n \\***********************************************/\n/*! exports provided: Foundation, Plugin, rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.core */ \"./js/foundation.core.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Plugin\", function() { return _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rtl\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GetYoDigits\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegExpEscape\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transitionend\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"onLoad\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ignoreMousedisappear\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"ignoreMousedisappear\"]; });\n\n// --- Foundation Core API ---\n// Initialize Foundation and add some utilities to its public API for backward compatibility.\n// Please note that every utility do not have to be added to the core API.\n\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Every plugin depends on plugin now, we can include that on the core for the\n// script inclusion path.\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].Plugin = _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]; // These are now separated out, but historically were a part of this module,\n// and since this is here for backwards compatibility we include them in\n// this entry.\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].rtl = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].GetYoDigits = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].transitionend = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].RegExpEscape = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].onLoad = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"];\nwindow.Foundation = _foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"]; // --- Foundation Core exports ---\n// Export \"Plugin\" and all core utilities, since the `foundation.core` entry plays the role of\n// all core source files.\n\n\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.js\":\n/*!*******************************!*\\\n !*** ./js/foundation.core.js ***!\n \\*******************************/\n/*! exports provided: Foundation */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return Foundation; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\nvar FOUNDATION_VERSION = '6.7.4'; // Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\n\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function plugin(_plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n\n var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing)\n\n this._plugins[attrName] = this[className] = _plugin;\n },\n\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function registerPlugin(plugin, name) {\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, pluginName);\n\n if (!plugin.$element.attr(\"data-\".concat(pluginName))) {\n plugin.$element.attr(\"data-\".concat(pluginName), plugin.uuid);\n }\n\n if (!plugin.$element.data('zfPlugin')) {\n plugin.$element.data('zfPlugin', plugin);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n plugin.$element.trigger(\"init.zf.\".concat(pluginName));\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function unregisterPlugin(plugin) {\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n\n plugin.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in plugin) {\n if (typeof plugin[prop] === 'function') {\n plugin[prop] = null; //clean up script to prep for garbage collection.\n }\n }\n\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function reInit(plugins) {\n var isJQ = plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n\n try {\n if (isJQ) {\n plugins.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init();\n });\n } else {\n var type = _typeof(plugins),\n _this = this,\n fns = {\n 'object': function object(plgs) {\n plgs.forEach(function (p) {\n p = hyphenate(p);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init');\n });\n },\n 'string': function string() {\n plugins = hyphenate(plugins);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init');\n },\n 'undefined': function undefined() {\n this.object(Object.keys(_this._plugins));\n }\n };\n\n fns[type](plugins);\n }\n } catch (err) {\n console.error(err);\n } finally {\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function reflow(elem, plugins) {\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n } // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this; // Iterate through each plugin\n\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins, function (i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () {\n return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data(\"zfPlugin\") === 'undefined';\n }); // For each plugin found, initialize it\n\n $elem.each(function () {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n opts = {\n reflow: true\n };\n\n if ($el.attr('data-options')) {\n $el.attr('data-options').split(';').forEach(function (option) {\n var opt = option.split(':').map(function (el) {\n return el.trim();\n });\n if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n\n try {\n $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts));\n } catch (er) {\n console.error(er);\n } finally {\n return;\n }\n });\n });\n },\n getFnName: functionName,\n addToJquery: function addToJquery() {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function foundation(method) {\n var type = _typeof(method),\n $noJS = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.no-js');\n\n if ($noJS.length) {\n $noJS.removeClass('no-js');\n }\n\n if (type === 'undefined') {\n //needs to initialize the Foundation object, or an individual plugin.\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();\n\n Foundation.reflow(this);\n } else if (type === 'string') {\n //an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n\n var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') {\n //make sure both the class and method exist\n if (this.length === 1) {\n //if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n } else {\n this.each(function (i, el) {\n //otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply(jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).data('zfPlugin'), args);\n });\n }\n } else {\n //error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n } else {\n //error for invalid argument type\n throw new TypeError(\"We're sorry, \".concat(type, \" is not a valid parameter. You must use a string representing the method you wish to invoke.\"));\n }\n\n return this;\n };\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.foundation = foundation;\n return jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n }\n};\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function throttle(func, delay) {\n var timer = null;\n return function () {\n var context = this,\n args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\nwindow.Foundation = Foundation; // Polyfill for requestAnimationFrame\n\n(function () {\n if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n return new Date().getTime();\n };\n var vendors = ['webkit', 'moz'];\n\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n }\n\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n\n window.requestAnimationFrame = function (callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function () {\n callback(lastTime = nextTime);\n }, nextTime - now);\n };\n\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n\n\n if (!window.performance || !window.performance.now) {\n window.performance = {\n start: Date.now(),\n now: function now() {\n return Date.now() - this.start;\n }\n };\n }\n})();\n\nif (!Function.prototype.bind) {\n /* eslint-disable no-extend-native */\n Function.prototype.bind = function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function fNOP() {},\n fBound = function fBound() {\n return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n\n fBound.prototype = new fNOP();\n return fBound;\n };\n} // Polyfill to get the name of a function in IE9\n\n\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = funcNameRegex.exec(fn.toString());\n return results && results.length > 1 ? results[1].trim() : \"\";\n } else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n } else {\n return fn.prototype.constructor.name;\n }\n}\n\nfunction parseValue(str) {\n if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n} // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.plugin.js\":\n/*!**************************************!*\\\n !*** ./js/foundation.core.plugin.js ***!\n \\**************************************/\n/*! exports provided: Plugin */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Plugin\", function() { return Plugin; });\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n // Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\n\nvar Plugin = /*#__PURE__*/function () {\n function Plugin(element, options) {\n _classCallCheck(this, Plugin);\n\n this._setup(element, options);\n\n var pluginName = getPluginName(this);\n this.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__[\"GetYoDigits\"])(6, pluginName);\n\n if (!this.$element.attr(\"data-\".concat(pluginName))) {\n this.$element.attr(\"data-\".concat(pluginName), this.uuid);\n }\n\n if (!this.$element.data('zfPlugin')) {\n this.$element.data('zfPlugin', this);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n this.$element.trigger(\"init.zf.\".concat(pluginName));\n }\n\n _createClass(Plugin, [{\n key: \"destroy\",\n value: function destroy() {\n this._destroy();\n\n var pluginName = getPluginName(this);\n this.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in this) {\n if (this.hasOwnProperty(prop)) {\n this[prop] = null; //clean up script to prep for garbage collection.\n }\n }\n }\n }]);\n\n return Plugin;\n}(); // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.utils.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.core.utils.js ***!\n \\*************************************/\n/*! exports provided: rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rtl\", function() { return rtl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GetYoDigits\", function() { return GetYoDigits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RegExpEscape\", function() { return RegExpEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionend\", function() { return transitionend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onLoad\", function() { return onLoad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ignoreMousedisappear\", function() { return ignoreMousedisappear; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n // Core Foundation Utilities, utilized in a number of places.\n\n/**\n * Returns a boolean for RTL support\n */\n\nfunction rtl() {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl';\n}\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\n\n\nfunction GetYoDigits() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6;\n var namespace = arguments.length > 1 ? arguments[1] : undefined;\n var str = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n var charsLength = chars.length;\n\n for (var i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n\n return namespace ? \"\".concat(str, \"-\").concat(namespace) : str;\n}\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\n\n\nfunction RegExpEscape(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem) {\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (var transition in transitions) {\n if (typeof elem.style[transition] !== 'undefined') {\n end = transitions[transition];\n }\n }\n\n if (end) {\n return end;\n } else {\n setTimeout(function () {\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\n\n\nfunction onLoad($elem, handler) {\n var didLoad = document.readyState === 'complete';\n var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n\n var cb = function cb() {\n return $elem.triggerHandler(eventType);\n };\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb);\n }\n\n return eventType;\n}\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\n\n\nfunction ignoreMousedisappear(handler) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow,\n ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo,\n _ref$ignoreReappear = _ref.ignoreReappear,\n ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear;\n\n return function leaveEventHandler(eLeave) {\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 var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere\n\n if (eLeave.relatedTarget !== null) {\n return callback();\n } // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n\n\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n } // Otherwise, wait for the mouse to reeapear outside of the element,\n\n\n if (!ignoreReappear) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n }, 0);\n };\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.mediaQuery.js\":\n/*!******************************************!*\\\n !*** ./js/foundation.util.mediaQuery.js ***!\n \\******************************************/\n/*! exports provided: MediaQuery */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MediaQuery\", function() { return MediaQuery; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n // Default set of media queries\n// const defaultQueries = {\n// 'default' : 'only screen',\n// landscape : 'only screen and (orientation: landscape)',\n// portrait : 'only screen and (orientation: portrait)',\n// retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n// 'only screen and (min--moz-device-pixel-ratio: 2),' +\n// 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n// 'only screen and (min-device-pixel-ratio: 2),' +\n// 'only screen and (min-resolution: 192dpi),' +\n// 'only screen and (min-resolution: 2dppx)'\n// };\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n\n/* eslint-disable */\n\nwindow.matchMedia || (window.matchMedia = function () {\n \"use strict\"; // For browsers that support matchMedium api such as IE 9 and webkit\n\n var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium\n\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n\n\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n } // Test if media query is true or false\n\n\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n}());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init: function _init() {\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return this;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');\n\n if (!$meta.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('').appendTo(document.head);\n }\n\n var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');\n var namedQueries;\n namedQueries = parseStyleToObject(extractedStyles);\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if (namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: \"only screen and (min-width: \".concat(namedQueries[key], \")\")\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit: function _reInit() {\n this.isInitialized = false;\n\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast: function atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only: function only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo: function upTo(size) {\n var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n\n if (nextSize) {\n return !this.atLeast(nextSize);\n } // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n\n\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is: function is(size) {\n var parts = size.trim().split(' ').filter(function (p) {\n return !!p.length;\n });\n\n var _parts = _slicedToArray(parts, 2),\n bpSize = _parts[0],\n _parts$ = _parts[1],\n bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont\n\n\n if (bpModifier === 'only') {\n return this.only(bpSize);\n } // At least the breakpoint (included)\n\n\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n } // Up to the breakpoint (included)\n\n\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size, \"\\\".\\n \"));\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get: function get(size) {\n for (var i in this.queries) {\n if (this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next: function next(size) {\n var _this = this;\n\n var queryIndex = this.queries.findIndex(function (q) {\n return _this._getQueryName(q) === size;\n });\n\n if (queryIndex === -1) {\n throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size, \"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));\n }\n\n var nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName: function _getQueryName(value) {\n if (typeof value === 'string') return value;\n if (_typeof(value) === 'object') return value.name;\n throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value, \"\\\" (\").concat(_typeof(value), \")\\n \"));\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize: function _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher: function _watcher() {\n var _this2 = this;\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize.zf.trigger', function () {\n var newSize = _this2._getCurrentSize(),\n currentSize = _this2.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n _this2.current = newSize; // Broadcast the media query change on the window\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n}; // Thank you: https://github.com/sindresorhus/query-string\n\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function (ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key); // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n\n return ret;\n }, {});\n return styleObject;\n}\n\n\n\n/***/ }),\n\n/***/ 0:\n/*!*****************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.core.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.core.js */\"./js/entries/plugins/foundation.core.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.core.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 21);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.box.js\":\n/*!***************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.box.js ***!\n \\***************************************************/\n/*! exports provided: Foundation, Box */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.box */ \"./js/foundation.util.box.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Box\", function() { return _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__[\"Box\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Box = _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__[\"Box\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.box.js\":\n/*!***********************************!*\\\n !*** ./js/foundation.util.box.js ***!\n \\***********************************/\n/*! exports provided: Box */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Box\", function() { return Box; });\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n};\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\n\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver,\n bottomOver,\n leftOver,\n rightOver;\n\n if (parent) {\n var parDims = GetDimensions(parent);\n bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width);\n } else {\n bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n\n if (tbOnly) {\n return topOver + bottomOver;\n } // use sum of squares b/c we care about overlap area.\n\n\n return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver);\n}\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\n\n\nfunction GetDimensions(elem) {\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n };\n}\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\n\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n } // set alignment related attribute\n\n\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n\n case 'center':\n leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;\n break;\n }\n\n break;\n\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n\n case 'top':\n topVal = $anchorDims.offset.top + vOffset;\n break;\n\n case 'center':\n topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;\n break;\n }\n\n break;\n }\n }\n\n return {\n top: topVal,\n left: leftVal\n };\n}\n\n\n\n/***/ }),\n\n/***/ 21:\n/*!*********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.box.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.box.js */\"./js/entries/plugins/foundation.util.box.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.box.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"./foundation.core\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\"],e):\"object\"==typeof exports?exports[\"foundation.util.box\"]=e(require(\"./foundation.core\")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__[\"foundation.util.box\"]=e(t.__FOUNDATION_EXTERNAL__[\"foundation.core\"]))}(window,function(o){return n={\"./foundation.core\":function(t,e){t.exports=o},\"./js/entries/plugins/foundation.util.box.js\":function(t,e,o){\"use strict\";o.r(e);var n=o(\"./foundation.core\");o.d(e,\"Foundation\",function(){return n.Foundation});var i=o(\"./js/foundation.util.box.js\");o.d(e,\"Box\",function(){return i.Box}),n.Foundation.Box=i.Box},\"./js/foundation.util.box.js\":function(t,e,o){\"use strict\";o.r(e),o.d(e,\"Box\",function(){return n});var n={ImNotTouchingYou:function(t,e,o,n,i){return 0===f(t,e,o,n,i)},OverlapArea:f,GetDimensions:c,GetExplicitOffsets:function(t,e,o,n,i,f,r){var s,u,a=c(t),d=e?c(e):null;if(null!==d){switch(o){case\"top\":s=d.offset.top-(a.height+i);break;case\"bottom\":s=d.offset.top+d.height+i;break;case\"left\":u=d.offset.left-(a.width+f);break;case\"right\":u=d.offset.left+d.width+f}switch(o){case\"top\":case\"bottom\":switch(n){case\"left\":u=d.offset.left+f;break;case\"right\":u=d.offset.left-a.width+d.width-f;break;case\"center\":u=r?f:d.offset.left+d.width/2-a.width/2+f}break;case\"right\":case\"left\":switch(n){case\"bottom\":s=d.offset.top-i+d.height-a.height;break;case\"top\":s=d.offset.top+i;break;case\"center\":s=d.offset.top+i+d.height/2-a.height/2}}}return{top:s,left:u}}};function f(t,e,o,n,i){var f,r,s,t=c(t);return t=e?(f=(e=c(e)).height+e.offset.top-(t.offset.top+t.height),r=t.offset.top-e.offset.top,s=t.offset.left-e.offset.left,e.width+e.offset.left-(t.offset.left+t.width)):(f=t.windowDims.height+t.windowDims.offset.top-(t.offset.top+t.height),r=t.offset.top-t.windowDims.offset.top,s=t.offset.left-t.windowDims.offset.left,t.windowDims.width-(t.offset.left+t.width)),f=i?0:Math.min(f,0),r=Math.min(r,0),s=Math.min(s,0),t=Math.min(t,0),o?s+t:n?r+f:Math.sqrt(r*r+f*f+s*s+t*t)}function c(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");var e=t.getBoundingClientRect(),o=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),i=window.pageYOffset,t=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+i,left:e.left+t},parentDims:{width:o.width,height:o.height,offset:{top:o.top+i,left:o.left+t}},windowDims:{width:n.width,height:n.height,offset:{top:i,left:t}}}}},21:function(t,e,o){t.exports=o(\"./js/entries/plugins/foundation.util.box.js\")}},f={},i.m=n,i.c=f,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=21);function i(t){if(f[t])return f[t].exports;var e=f[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var n,f});\n//# sourceMappingURL=foundation.util.box.min.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 22);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.imageLoader.js\":\n/*!***********************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.imageLoader.js ***!\n \\***********************************************************/\n/*! exports provided: Foundation, onImagesLoaded */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.imageLoader */ \"./js/foundation.util.imageLoader.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"onImagesLoaded\", function() { return _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__[\"onImagesLoaded\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].onImagesLoaded = _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__[\"onImagesLoaded\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.imageLoader.js\":\n/*!*******************************************!*\\\n !*** ./js/foundation.util.imageLoader.js ***!\n \\*******************************************/\n/*! exports provided: onImagesLoaded */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onImagesLoaded\", function() { return onImagesLoaded; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\n\nfunction onImagesLoaded(images, callback) {\n var unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function () {\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n } else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image(); // Still count image as loaded if it finalizes with an error.\n\n var events = \"load.zf.images error.zf.images\";\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(image).one(events, function me() {\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off(events, me);\n singleImageLoaded();\n });\n image.src = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\n\n\n/***/ }),\n\n/***/ 22:\n/*!*****************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.imageLoader.js ***!\n \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.imageLoader.js */\"./js/entries/plugins/foundation.util.imageLoader.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.imageLoader.js.map","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],n):\"object\"==typeof exports?exports[\"foundation.util.imageLoader\"]=n(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.imageLoader\"]=n(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery))}(window,function(o,t){return u={\"./foundation.core\":function(e,n){e.exports=o},\"./js/entries/plugins/foundation.util.imageLoader.js\":function(e,n,o){\"use strict\";o.r(n);var t=o(\"./foundation.core\");o.d(n,\"Foundation\",function(){return t.Foundation});var r=o(\"./js/foundation.util.imageLoader.js\");o.d(n,\"onImagesLoaded\",function(){return r.onImagesLoaded}),t.Foundation.onImagesLoaded=r.onImagesLoaded},\"./js/foundation.util.imageLoader.js\":function(e,n,o){\"use strict\";o.r(n),o.d(n,\"onImagesLoaded\",function(){return t});var n=o(\"jquery\"),r=o.n(n);function t(e,n){var o=e.length;function t(){0===--o&&n()}0===o&&n(),e.each(function(){var e,n;this.complete&&void 0!==this.naturalWidth?t():(e=new Image,n=\"load.zf.images error.zf.images\",r()(e).one(n,function e(){r()(this).off(n,e),t()}),e.src=r()(this).attr(\"src\"))})}},22:function(e,n,o){e.exports=o(\"./js/entries/plugins/foundation.util.imageLoader.js\")},jquery:function(e,n){e.exports=t}},i={},r.m=u,r.c=i,r.d=function(e,n,o){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&\"object\"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:n}),2&e&&\"string\"!=typeof n)for(var t in n)r.d(o,t,function(e){return n[e]}.bind(null,t));return o},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,\"a\",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p=\"\",r(r.s=22);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i});\n//# sourceMappingURL=foundation.util.imageLoader.min.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.keyboard.js\":\n/*!********************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.keyboard.js ***!\n \\********************************************************/\n/*! exports provided: Foundation, Keyboard */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Keyboard\", function() { return _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Keyboard = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.keyboard.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.keyboard.js ***!\n \\****************************************/\n/*! exports provided: Keyboard */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Keyboard\", function() { return Keyboard; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n\nvar keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n};\nvar commands = {}; // Functions pulled out to be referenceable from internals\n\nfunction findFocusable($element) {\n if (!$element) {\n return false;\n }\n\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) {\n return false;\n } //only have visible elements and those that have a tabindex greater or equal 0\n\n\n return true;\n }).sort(function (a, b) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')) {\n return 0;\n }\n\n var aTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex'), 10),\n bTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex'), 10); // Undefined is treated the same as 0\n\n if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') === 'undefined' && bTabIndex > 0) {\n return 1;\n }\n\n if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex') === 'undefined' && aTabIndex > 0) {\n return -1;\n }\n\n if (aTabIndex === 0 && bTabIndex > 0) {\n return 1;\n }\n\n if (bTabIndex === 0 && aTabIndex > 0) {\n return -1;\n }\n\n if (aTabIndex < bTabIndex) {\n return -1;\n }\n\n if (aTabIndex > bTabIndex) {\n return 1;\n }\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n\n key = key.replace(/\\W+/, '');\n if (event.shiftKey) key = \"SHIFT_\".concat(key);\n if (event.ctrlKey) key = \"CTRL_\".concat(key);\n if (event.altKey) key = \"ALT_\".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n\n key = key.replace(/_$/, '');\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey: function handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled\n\n if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl\n\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else {\n // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.rtl, commandList.ltr);\n }\n\n command = cmds[keyCode];\n fn = functions[command]; // Execute the handler if found\n\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply(); // Mark the event as \"handled\" to prevent future handlings\n\n event.zfIsKeyHandled = true; // Execute function when event was handled\n\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n register: function register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus: function trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n $element.on('keydown.zf.trapfocus', function (event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus: function releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n};\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\n\nfunction getKeyCodes(kcs) {\n var k = {};\n\n for (var kc in kcs) {\n if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc];\n }\n\n return k;\n}\n\n\n\n/***/ }),\n\n/***/ 23:\n/*!**************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.keyboard.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */\"./js/entries/plugins/foundation.util.keyboard.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.keyboard.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],t):\"object\"==typeof exports?exports[\"foundation.util.keyboard\"]=t(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.keyboard\"]=t(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery))}(window,function(n,r){return i={\"./foundation.core\":function(e,t){e.exports=n},\"./js/entries/plugins/foundation.util.keyboard.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./foundation.core\");n.d(t,\"Foundation\",function(){return r.Foundation});var o=n(\"./js/foundation.util.keyboard.js\");n.d(t,\"Keyboard\",function(){return o.Keyboard}),r.Foundation.Keyboard=o.Keyboard},\"./js/foundation.util.keyboard.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"Keyboard\",function(){return f});var t=n(\"jquery\"),o=n.n(t),i=n(\"./foundation.core\"),r={9:\"TAB\",13:\"ENTER\",27:\"ESCAPE\",32:\"SPACE\",35:\"END\",36:\"HOME\",37:\"ARROW_LEFT\",38:\"ARROW_UP\",39:\"ARROW_RIGHT\",40:\"ARROW_DOWN\"},u={};function a(e){return!!e&&e.find(\"a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]\").filter(function(){return!(!o()(this).is(\":visible\")||o()(this).attr(\"tabindex\")<0)}).sort(function(e,t){if(o()(e).attr(\"tabindex\")===o()(t).attr(\"tabindex\"))return 0;var n=parseInt(o()(e).attr(\"tabindex\"),10),r=parseInt(o()(t).attr(\"tabindex\"),10);return void 0===o()(e).attr(\"tabindex\")&&0 arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n // Default set of media queries\n// const defaultQueries = {\n// 'default' : 'only screen',\n// landscape : 'only screen and (orientation: landscape)',\n// portrait : 'only screen and (orientation: portrait)',\n// retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n// 'only screen and (min--moz-device-pixel-ratio: 2),' +\n// 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n// 'only screen and (min-device-pixel-ratio: 2),' +\n// 'only screen and (min-resolution: 192dpi),' +\n// 'only screen and (min-resolution: 2dppx)'\n// };\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n\n/* eslint-disable */\n\nwindow.matchMedia || (window.matchMedia = function () {\n \"use strict\"; // For browsers that support matchMedium api such as IE 9 and webkit\n\n var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium\n\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n\n\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n } // Test if media query is true or false\n\n\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n}());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init: function _init() {\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return this;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');\n\n if (!$meta.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('').appendTo(document.head);\n }\n\n var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');\n var namedQueries;\n namedQueries = parseStyleToObject(extractedStyles);\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if (namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: \"only screen and (min-width: \".concat(namedQueries[key], \")\")\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit: function _reInit() {\n this.isInitialized = false;\n\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast: function atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only: function only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo: function upTo(size) {\n var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n\n if (nextSize) {\n return !this.atLeast(nextSize);\n } // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n\n\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is: function is(size) {\n var parts = size.trim().split(' ').filter(function (p) {\n return !!p.length;\n });\n\n var _parts = _slicedToArray(parts, 2),\n bpSize = _parts[0],\n _parts$ = _parts[1],\n bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont\n\n\n if (bpModifier === 'only') {\n return this.only(bpSize);\n } // At least the breakpoint (included)\n\n\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n } // Up to the breakpoint (included)\n\n\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size, \"\\\".\\n \"));\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get: function get(size) {\n for (var i in this.queries) {\n if (this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next: function next(size) {\n var _this = this;\n\n var queryIndex = this.queries.findIndex(function (q) {\n return _this._getQueryName(q) === size;\n });\n\n if (queryIndex === -1) {\n throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size, \"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));\n }\n\n var nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName: function _getQueryName(value) {\n if (typeof value === 'string') return value;\n if (_typeof(value) === 'object') return value.name;\n throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value, \"\\\" (\").concat(_typeof(value), \")\\n \"));\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize: function _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher: function _watcher() {\n var _this2 = this;\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize.zf.trigger', function () {\n var newSize = _this2._getCurrentSize(),\n currentSize = _this2.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n _this2.current = newSize; // Broadcast the media query change on the window\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n}; // Thank you: https://github.com/sindresorhus/query-string\n\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function (ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key); // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n\n return ret;\n }, {});\n return styleObject;\n}\n\n\n\n/***/ }),\n\n/***/ 24:\n/*!****************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.mediaQuery.js ***!\n \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.mediaQuery.js */\"./js/entries/plugins/foundation.util.mediaQuery.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.mediaQuery.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],t):\"object\"==typeof exports?exports[\"foundation.util.mediaQuery\"]=t(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.mediaQuery\"]=t(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery))}(window,function(n,r){return o={\"./foundation.core\":function(e,t){e.exports=n},\"./js/entries/plugins/foundation.util.mediaQuery.js\":function(e,t,n){\"use strict\";n.r(t);var r=n(\"./foundation.core\");n.d(t,\"Foundation\",function(){return r.Foundation});var i=n(\"./js/foundation.util.mediaQuery.js\");n.d(t,\"MediaQuery\",function(){return i.MediaQuery}),r.Foundation.MediaQuery=i.MediaQuery,r.Foundation.MediaQuery._init()},\"./js/foundation.util.mediaQuery.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"MediaQuery\",function(){return d});var r,i,o,t=n(\"jquery\"),u=n.n(t);function a(e){return(a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,i,o=[],u=!0,a=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);u=!0);}catch(e){a=!0,i=e}finally{try{u||null==n.return||n.return()}finally{if(a)throw i}}return o}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Map\"===(n=\"Object\"===n&&e.constructor?e.constructor.name:n)||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n').appendTo(document.head);var e,t,n,r=u()(\".foundation-mq\").css(\"font-family\");for(n in t={},e=\"string\"==typeof(r=r)&&(r=r.trim().slice(1,-1))?t=r.split(\"&\").reduce(function(e,t){var n=t.replace(/\\+/g,\" \").split(\"=\"),t=n[0],n=n[1],t=decodeURIComponent(t),n=void 0===n?null:decodeURIComponent(n);return e.hasOwnProperty(t)?Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]:e[t]=n,e},{}):t,this.queries=[],e)e.hasOwnProperty(n)&&this.queries.push({name:n,value:\"only screen and (min-width: \".concat(e[n],\")\")});this.current=this._getCurrentSize(),this._watcher()},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(e){e=this.get(e);return!!e&&window.matchMedia(e).matches},only:function(e){return e===this._getCurrentSize()},upTo:function(e){e=this.next(e);return!e||!this.atLeast(e)},is:function(e){var t=s(e.trim().split(\" \").filter(function(e){return!!e.length}),2),n=t[0],t=t[1],t=void 0===t?\"\":t;if(\"only\"===t)return this.only(n);if(!t||\"up\"===t)return this.atLeast(n);if(\"down\"===t)return this.upTo(n);throw new Error('\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \" \", got \"'.concat(e,'\".\\n '))},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){t=this.queries[t];if(e===t.name)return t.value}return null},next:function(t){var n=this,e=this.queries.findIndex(function(e){return n._getQueryName(e)===t});if(-1===e)throw new Error('\\n Unknown breakpoint \"'.concat(t,'\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \"$breakpoints\" setting.\\n '));e=this.queries[e+1];return e?e.name:null},_getQueryName:function(e){if(\"string\"==typeof e)return e;if(\"object\"===a(e))return e.name;throw new TypeError('\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"'.concat(e,'\" (').concat(a(e),\")\\n \"))},_getCurrentSize:function(){for(var e,t=0;t 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n menu.attr('role', 'menubar');\n menu.find('a').attr({\n 'role': 'menuitem'\n });\n var items = menu.find('li').attr({\n 'role': 'none'\n }),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\"),\n applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes.\n\n items.each(function () {\n var $item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n\n if (applyAria) {\n $item.children('a:first').attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n }); // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n\n if (type === 'drilldown') {\n $item.attr({\n 'aria-expanded': false\n });\n }\n }\n\n $sub.addClass(\"submenu \".concat(subMenuClass)).attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n\n if (type === 'drilldown') {\n $sub.attr({\n 'aria-hidden': true\n });\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(\"is-submenu-item \".concat(subItemClass));\n }\n });\n return;\n },\n Burn: function Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\");\n menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass(\"\".concat(subMenuClass, \" \").concat(subItemClass, \" \").concat(hasSubClass, \" is-submenu-item submenu is-active\")).removeAttr('data-submenu').css('display', '');\n }\n};\n\n\n/***/ }),\n\n/***/ 26:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.nest.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.nest.js */\"./js/entries/plugins/foundation.util.nest.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.nest.js.map","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],n):\"object\"==typeof exports?exports[\"foundation.util.nest\"]=n(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.nest\"]=n(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery))}(window,function(t,r){return u={\"./foundation.core\":function(e,n){e.exports=t},\"./js/entries/plugins/foundation.util.nest.js\":function(e,n,t){\"use strict\";t.r(n);var r=t(\"./foundation.core\");t.d(n,\"Foundation\",function(){return r.Foundation});var o=t(\"./js/foundation.util.nest.js\");t.d(n,\"Nest\",function(){return o.Nest}),r.Foundation.Nest=o.Nest},\"./js/foundation.util.nest.js\":function(e,n,t){\"use strict\";t.r(n),t.d(n,\"Nest\",function(){return r});var n=t(\"jquery\"),a=t.n(n),r={Feather:function(e){var t=1li, > li > ul, .menu, .menu > li, [data-submenu] > li\").removeClass(\"\".concat(t,\" \").concat(r,\" \").concat(n,\" is-submenu-item submenu is-active\")).removeAttr(\"data-submenu\").css(\"display\",\"\")}}},26:function(e,n,t){e.exports=t(\"./js/entries/plugins/foundation.util.nest.js\")},jquery:function(e,n){e.exports=r}},i={},o.m=u,o.c=i,o.d=function(e,n,t){o.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.t=function(n,e){if(1&e&&(n=o(n)),8&e)return n;if(4&e&&\"object\"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(o.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:n}),2&e&&\"string\"!=typeof n)for(var r in n)o.d(t,r,function(e){return n[e]}.bind(null,r));return t},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,\"a\",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p=\"\",o(o.s=26);function o(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports}var u,i});\n//# sourceMappingURL=foundation.util.nest.min.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 27);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.timer.js\":\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.timer.js ***!\n \\*****************************************************/\n/*! exports provided: Foundation, Timer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.timer */ \"./js/foundation.util.timer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Timer\", function() { return _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Timer = _foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__[\"Timer\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.timer.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.timer.js ***!\n \\*************************************/\n/*! exports provided: Timer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Timer\", function() { return Timer; });\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,\n //options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function () {\n remain = -1;\n clearTimeout(timer);\n this.start();\n };\n\n this.start = function () {\n this.isPaused = false; // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function () {\n if (options.infinite) {\n _this.restart(); //rerun the timer.\n\n }\n\n if (cb && typeof cb === 'function') {\n cb();\n }\n }, remain);\n elem.trigger(\"timerstart.zf.\".concat(nameSpace));\n };\n\n this.pause = function () {\n this.isPaused = true; //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(\"timerpaused.zf.\".concat(nameSpace));\n };\n}\n\n\n\n/***/ }),\n\n/***/ 27:\n/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.timer.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.timer.js */\"./js/entries/plugins/foundation.util.timer.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.timer.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"./foundation.core\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\"],e):\"object\"==typeof exports?exports[\"foundation.util.timer\"]=e(require(\"./foundation.core\")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__[\"foundation.util.timer\"]=e(t.__FOUNDATION_EXTERNAL__[\"foundation.core\"]))}(window,function(n){return o={\"./foundation.core\":function(t,e){t.exports=n},\"./js/entries/plugins/foundation.util.timer.js\":function(t,e,n){\"use strict\";n.r(e);var o=n(\"./foundation.core\");n.d(e,\"Foundation\",function(){return o.Foundation});var r=n(\"./js/foundation.util.timer.js\");n.d(e,\"Timer\",function(){return r.Timer}),o.Foundation.Timer=r.Timer},\"./js/foundation.util.timer.js\":function(t,e,n){\"use strict\";function o(e,t,n){var o,r,i=this,u=t.duration,a=Object.keys(e.data())[0]||\"timer\",f=-1;this.isPaused=!1,this.restart=function(){f=-1,clearTimeout(r),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(r),f=f<=0?u:f,e.data(\"paused\",!1),o=Date.now(),r=setTimeout(function(){t.infinite&&i.restart(),n&&\"function\"==typeof n&&n()},f),e.trigger(\"timerstart.zf.\".concat(a))},this.pause=function(){this.isPaused=!0,clearTimeout(r),e.data(\"paused\",!0);var t=Date.now();f-=t-o,e.trigger(\"timerpaused.zf.\".concat(a))}}n.r(e),n.d(e,\"Timer\",function(){return o})},27:function(t,e,n){t.exports=n(\"./js/entries/plugins/foundation.util.timer.js\")}},i={},r.m=o,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=27);function r(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return o[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var o,i});\n//# sourceMappingURL=foundation.util.timer.min.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 28);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.touch.js\":\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.touch.js ***!\n \\*****************************************************/\n/*! exports provided: Foundation, Touch */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.touch */ \"./js/foundation.util.touch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Touch\", function() { return _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"]; });\n\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_2__[\"Foundation\"]; });\n\n\n\n_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\nwindow.Foundation.Touch = _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"];\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.touch.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.touch.js ***!\n \\*************************************/\n/*! exports provided: Touch */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Touch\", function() { return Touch; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nvar Touch = {};\nvar startPosX,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a \"tap\"\n\n if (!didMoved) {\n var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('tap', startEvent || e);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if (true === jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault) {\n e.preventDefault();\n }\n\n if (isMoving) {\n var x = e.touches[0].pageX; // var y = e.touches[0].pageY;\n\n var dx = startPosX - x; // var dy = startPosY - y;\n\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n\n if (Math.abs(dx) >= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold && elapsedTime <= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n\n\n if (dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event(\"swipe\".concat(dir), Object.assign({}, e)));\n }\n }\n}\n\nfunction onTouchStart(e) {\n if (e.touches.length === 1) {\n startPosX = e.touches[0].pageX;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, {\n passive: true === jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault\n });\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n} // function teardown() {\n// this.removeEventListener('touchstart', onTouchStart);\n// }\n\n\nvar SpotSwipe = /*#__PURE__*/function () {\n function SpotSwipe() {\n _classCallCheck(this, SpotSwipe);\n\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n\n this._init();\n }\n\n _createClass(SpotSwipe, [{\n key: \"_init\",\n value: function _init() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.swipe = {\n setup: init\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special.tap = {\n setup: init\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(['left', 'up', 'down', 'right'], function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.event.special[\"swipe\".concat(this)] = {\n setup: function setup() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).on('swipe', jquery__WEBPACK_IMPORTED_MODULE_0___default.a.noop);\n }\n };\n });\n }\n }]);\n\n return SpotSwipe;\n}();\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\n\nTouch.setupSpotSwipe = function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe = new SpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n};\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\n\n\nTouch.setupTouchHandler = function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.addTouch = function () {\n this.each(function (i, el) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).bind('touchstart touchmove touchend touchcancel', function (event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function handleTouch(event) {\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent;\n\n if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0\n /*left*/\n , null);\n }\n\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function () {\n if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe === 'undefined') {\n Touch.setupSpotSwipe(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n Touch.setupTouchHandler(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n }\n};\n\n\n\n/***/ }),\n\n/***/ 28:\n/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.touch.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.touch.js */\"./js/entries/plugins/foundation.util.touch.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.touch.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"./foundation.core\"),require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"./foundation.core\",\"jquery\"],t):\"object\"==typeof exports?exports[\"foundation.util.touch\"]=t(require(\"./foundation.core\"),require(\"jquery\")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__[\"foundation.util.touch\"]=t(e.__FOUNDATION_EXTERNAL__[\"foundation.core\"],e.jQuery))}(window,function(n,o){return u={\"./foundation.core\":function(e,t){e.exports=n},\"./js/entries/plugins/foundation.util.touch.js\":function(e,t,n){\"use strict\";n.r(t);var o=n(\"jquery\"),o=n.n(o),i=n(\"./js/foundation.util.touch.js\");n.d(t,\"Touch\",function(){return i.Touch});var u=n(\"./foundation.core\");n.d(t,\"Foundation\",function(){return u.Foundation}),i.Touch.init(o.a),window.Foundation.Touch=i.Touch},\"./js/foundation.util.touch.js\":function(e,t,n){\"use strict\";n.r(t),n.d(t,\"Touch\",function(){return s});var t=n(\"jquery\"),i=n.n(t);function u(e,t){for(var n=0;n=i.a.spotSwipe.moveThreshold&&c<=i.a.spotSwipe.timeThreshold?0');\n }\n\n if (_this.options.submenuToggle) {\n $elem.addClass('has-submenu-toggle');\n $elem.children('a').after('');\n } else {\n $elem.attr({\n 'aria-controls': subId,\n 'aria-expanded': isActive,\n 'id': linkId\n });\n }\n\n $sub.attr({\n 'aria-labelledby': linkId,\n 'aria-hidden': !isActive,\n 'role': 'group',\n 'id': subId\n });\n });\n var initPanes = this.$element.find('.is-active');\n\n if (initPanes.length) {\n initPanes.each(function () {\n _this.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n });\n }\n\n this._events();\n }\n /**\n * Adds event handlers for items within the menu.\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this;\n\n this.$element.find('li').each(function () {\n var $submenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]');\n\n if ($submenu.length) {\n if (_this.options.submenuToggle) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function () {\n _this.toggle($submenu);\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {\n e.preventDefault();\n\n _this.toggle($submenu);\n });\n }\n }\n }).on('keydown.zf.accordionMenu', function (e) {\n var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement,\n $target = $element.children('[data-submenu]');\n $elements.each(function (i) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();\n $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]:visible').length) {\n // has open sub menu\n $nextElement = $element.find('li:first-child').find('a').first();\n }\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':first-child')) {\n // is first element of sub menu\n $prevElement = $element.parents('li').first().find('a').first();\n } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) {\n // if previous element has open sub menu\n $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n }\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':last-child')) {\n // is last element of sub menu\n $nextElement = $element.parents('li').first().next('li').find('a').first();\n }\n\n return;\n }\n });\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].handleKey(e, 'AccordionMenu', {\n open: function open() {\n if ($target.is(':hidden')) {\n _this.down($target);\n\n $target.find('li').first().find('a').first().focus();\n }\n },\n close: function close() {\n if ($target.length && !$target.is(':hidden')) {\n // close active sub of this item\n _this.up($target);\n } else if ($element.parent('[data-submenu]').length) {\n // close currently open sub\n _this.up($element.parent('[data-submenu]'));\n\n $element.parents('li').first().find('a').first().focus();\n }\n },\n up: function up() {\n $prevElement.focus();\n return true;\n },\n down: function down() {\n $nextElement.focus();\n return true;\n },\n toggle: function toggle() {\n if (_this.options.submenuToggle) {\n return false;\n }\n\n if ($element.children('[data-submenu]').length) {\n _this.toggle($element.children('[data-submenu]'));\n\n return true;\n }\n },\n closeAll: function closeAll() {\n _this.hideAll();\n },\n handled: function handled(preventDefault) {\n if (preventDefault) {\n e.preventDefault();\n }\n }\n });\n }); //.attr('tabindex', 0);\n }\n /**\n * Closes all panes of the menu.\n * @function\n */\n\n }, {\n key: \"hideAll\",\n value: function hideAll() {\n this.up(this.$element.find('[data-submenu]'));\n }\n /**\n * Opens all panes of the menu.\n * @function\n */\n\n }, {\n key: \"showAll\",\n value: function showAll() {\n this.down(this.$element.find('[data-submenu]'));\n }\n /**\n * Toggles the open/close state of a submenu.\n * @function\n * @param {jQuery} $target - the submenu to toggle\n */\n\n }, {\n key: \"toggle\",\n value: function toggle($target) {\n if (!$target.is(':animated')) {\n if (!$target.is(':hidden')) {\n this.up($target);\n } else {\n this.down($target);\n }\n }\n }\n /**\n * Opens the sub-menu defined by `$target`.\n * @param {jQuery} $target - Sub-menu to open.\n * @fires AccordionMenu#down\n */\n\n }, {\n key: \"down\",\n value: function down($target) {\n var _this2 = this;\n\n // If having multiple submenus active is disabled, close all the submenus\n // that are not parents or children of the targeted submenu.\n if (!this.options.multiOpen) {\n // The \"branch\" of the targetted submenu, from the component root to\n // the active submenus nested in it.\n var $targetBranch = $target.parentsUntil(this.$element).add($target).add($target.find('.is-active')); // All the active submenus that are not in the branch.\n\n var $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch);\n this.up($othersActiveSubmenus);\n }\n\n $target.addClass('is-active').attr({\n 'aria-hidden': false\n });\n\n if (this.options.submenuToggle) {\n $target.prev('.submenu-toggle').attr({\n 'aria-expanded': true\n });\n } else {\n $target.parent('.is-accordion-submenu-parent').attr({\n 'aria-expanded': true\n });\n }\n\n $target.slideDown(this.options.slideSpeed, function () {\n /**\n * Fires when the menu is done opening.\n * @event AccordionMenu#down\n */\n _this2.$element.trigger('down.zf.accordionMenu', [$target]);\n });\n }\n /**\n * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n * @param {jQuery} $target - Sub-menu to close.\n * @fires AccordionMenu#up\n */\n\n }, {\n key: \"up\",\n value: function up($target) {\n var _this3 = this;\n\n var $submenus = $target.find('[data-submenu]');\n var $allmenus = $target.add($submenus);\n $submenus.slideUp(0);\n $allmenus.removeClass('is-active').attr('aria-hidden', true);\n\n if (this.options.submenuToggle) {\n $allmenus.prev('.submenu-toggle').attr('aria-expanded', false);\n } else {\n $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n }\n\n $target.slideUp(this.options.slideSpeed, function () {\n /**\n * Fires when the menu is done collapsing up.\n * @event AccordionMenu#up\n */\n _this3.$element.trigger('up.zf.accordionMenu', [$target]);\n });\n }\n /**\n * Destroys an instance of accordion menu.\n * @fires AccordionMenu#destroyed\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n this.$element.find('a').off('click.zf.accordionMenu');\n this.$element.find('[data-is-parent-link]').detach();\n\n if (this.options.submenuToggle) {\n this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');\n this.$element.find('.submenu-toggle').remove();\n }\n\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"Nest\"].Burn(this.$element, 'accordion');\n }\n }]);\n\n return AccordionMenu;\n}(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]);\n\nAccordionMenu.defaults = {\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n\n /**\n * Amount of time to animate the opening of a submenu in ms.\n * @option\n * @type {number}\n * @default 250\n */\n slideSpeed: 250,\n\n /**\n * Adds a separate submenu toggle button. This allows the parent item to have a link.\n * @option\n * @example true\n */\n submenuToggle: false,\n\n /**\n * The text used for the submenu toggle if enabled. This is used for screen readers only.\n * @option\n * @example true\n */\n submenuToggleText: 'Toggle menu',\n\n /**\n * Allow the menu to have multiple open panes.\n * @option\n * @type {boolean}\n * @default true\n */\n multiOpen: true\n};\n\n\n/***/ }),\n\n/***/ 2:\n/*!**************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.accordionMenu.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.accordionMenu.js */\"./js/entries/plugins/foundation.accordionMenu.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.accordionMenu.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.drilldown\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.drilldown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.box\":\n/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.nest\":\n/*!************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"} ***!\n \\************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.drilldown.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.drilldown.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, Drilldown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.drilldown */ \"./js/foundation.drilldown.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Drilldown\", function() { return _foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_drilldown__WEBPACK_IMPORTED_MODULE_1__[\"Drilldown\"], 'Drilldown');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.drilldown.js\":\n/*!************************************!*\\\n !*** ./js/foundation.drilldown.js ***!\n \\************************************/\n/*! exports provided: Drilldown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Drilldown\", function() { return Drilldown; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.nest */ \"./foundation.util.nest\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.box */ \"./foundation.util.box\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * Drilldown module.\n * @module foundation.drilldown\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n * @requires foundation.util.box\n */\n\nvar Drilldown = /*#__PURE__*/function (_Plugin) {\n _inherits(Drilldown, _Plugin);\n\n var _super = _createSuper(Drilldown);\n\n function Drilldown() {\n _classCallCheck(this, Drilldown);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Drilldown, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of a drilldown menu.\n * @class\n * @name Drilldown\n * @param {jQuery} element - jQuery object to make into an accordion menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Drilldown.defaults, this.$element.data(), options);\n this.className = 'Drilldown'; // ie9 back compat\n\n this._init();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].register('Drilldown', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the drilldown by creating jQuery collections of elements\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"Nest\"].Feather(this.$element, 'drilldown');\n\n if (this.options.autoApplyClass) {\n this.$element.addClass('drilldown');\n }\n\n this.$element.attr({\n 'aria-multiselectable': false\n });\n this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group');\n this.$menuItems = this.$element.find('li').not('.js-drilldown-back').find('a'); // Set the main menu as current by default (unless a submenu is selected)\n // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu\n\n this.$currentMenu = this.$element;\n this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"])(6, 'drilldown'));\n\n this._prepareMenu();\n\n this._registerEvents();\n\n this._keyboardEvents();\n }\n /**\n * prepares drilldown menu by setting attributes to links and elements\n * sets a min height to prevent content jumping\n * wraps the element if not already wrapped\n * @private\n * @function\n */\n\n }, {\n key: \"_prepareMenu\",\n value: function _prepareMenu() {\n var _this = this; // if(!this.options.holdOpen){\n // this._menuLinkEvents();\n // }\n\n\n this.$submenuAnchors.each(function () {\n var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var $sub = $link.parent();\n\n if (_this.options.parentLink) {\n $link.clone().prependTo($sub.children('[data-submenu]')).wrap('
  • ');\n }\n\n $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n $link.children('[data-submenu]').attr({\n 'aria-hidden': true,\n 'tabindex': 0,\n 'role': 'group'\n });\n\n _this._events($link);\n });\n this.$submenus.each(function () {\n var $menu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $back = $menu.find('.js-drilldown-back');\n\n if (!$back.length) {\n switch (_this.options.backButtonPosition) {\n case \"bottom\":\n $menu.append(_this.options.backButton);\n break;\n\n case \"top\":\n $menu.prepend(_this.options.backButton);\n break;\n\n default:\n console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n }\n }\n\n _this._back($menu);\n });\n this.$submenus.addClass('invisible');\n\n if (!this.options.autoHeight) {\n this.$submenus.addClass('drilldown-submenu-cover-previous');\n } // create a wrapper on element if it doesn't exist.\n\n\n if (!this.$element.parent().hasClass('is-drilldown')) {\n this.$wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.wrapper).addClass('is-drilldown');\n if (this.options.animateHeight) this.$wrapper.addClass('animate-height');\n this.$element.wrap(this.$wrapper);\n } // set wrapper\n\n\n this.$wrapper = this.$element.parent();\n this.$wrapper.css(this._getMaxDims());\n }\n }, {\n key: \"_resize\",\n value: function _resize() {\n this.$wrapper.css({\n 'max-width': 'none',\n 'min-height': 'none'\n }); // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n\n this.$wrapper.css(this._getMaxDims());\n }\n /**\n * Adds event handlers to elements in the menu.\n * @function\n * @private\n * @param {jQuery} $elem - the current menu item to add handlers to.\n */\n\n }, {\n key: \"_events\",\n value: function _events($elem) {\n var _this = this;\n\n $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {\n e.preventDefault();\n } // if(e.target !== e.currentTarget.firstElementChild){\n // return false;\n // }\n\n\n _this._show($elem.parent('li'));\n\n if (_this.options.closeOnClick) {\n var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n $body.off('.zf.drilldown').on('click.zf.drilldown', function (ev) {\n if (ev.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], ev.target)) {\n return;\n }\n\n ev.preventDefault();\n\n _this._hideAll();\n\n $body.off('.zf.drilldown');\n });\n }\n });\n }\n /**\n * Adds event handlers to the menu element.\n * @function\n * @private\n */\n\n }, {\n key: \"_registerEvents\",\n value: function _registerEvents() {\n if (this.options.scrollTop) {\n this._bindHandler = this._scrollTop.bind(this);\n this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown', this._bindHandler);\n }\n\n this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n }\n /**\n * Scroll to Top of Element or data-scroll-top-element\n * @function\n * @fires Drilldown#scrollme\n */\n\n }, {\n key: \"_scrollTop\",\n value: function _scrollTop() {\n var _this = this;\n\n var $scrollTopElement = _this.options.scrollTopElement !== '' ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement) : _this.$element,\n scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({\n scrollTop: scrollPos\n }, _this.options.animationDuration, _this.options.animationEasing, function () {\n /**\n * Fires after the menu has scrolled\n * @event Drilldown#scrollme\n */\n if (this === jquery__WEBPACK_IMPORTED_MODULE_0___default()('html')[0]) _this.$element.trigger('scrollme.zf.drilldown');\n });\n }\n /**\n * Adds keydown event listener to `li`'s in the menu.\n * @private\n */\n\n }, {\n key: \"_keyboardEvents\",\n value: function _keyboardEvents() {\n var _this = this;\n\n this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) {\n var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $elements = $element.parent('li').parent('ul').children('li').children('a'),\n $prevElement,\n $nextElement;\n $elements.each(function (i) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n $prevElement = $elements.eq(Math.max(0, i - 1));\n $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));\n return;\n }\n });\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].handleKey(e, 'Drilldown', {\n next: function next() {\n if ($element.is(_this.$submenuAnchors)) {\n _this._show($element.parent('li'));\n\n $element.parent('li').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element), function () {\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n previous: function previous() {\n _this._hide($element.parent('li').parent('ul'));\n\n $element.parent('li').parent('ul').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element), function () {\n setTimeout(function () {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n },\n up: function up() {\n $prevElement.focus(); // Don't tap focus on first element in root ul\n\n return !$element.is(_this.$element.find('> li:first-child > a'));\n },\n down: function down() {\n $nextElement.focus(); // Don't tap focus on last element in root ul\n\n return !$element.is(_this.$element.find('> li:last-child > a'));\n },\n close: function close() {\n // Don't close on element in root ul\n if (!$element.is(_this.$element.find('> li > a'))) {\n _this._hide($element.parent().parent());\n\n $element.parent().parent().siblings('a').focus();\n }\n },\n open: function open() {\n if (_this.options.parentLink && $element.attr('href')) {\n // Link with href\n return false;\n } else if (!$element.is(_this.$menuItems)) {\n // not menu item means back button\n _this._hide($element.parent('li').parent('ul'));\n\n $element.parent('li').parent('ul').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element), function () {\n setTimeout(function () {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n } else if ($element.is(_this.$submenuAnchors)) {\n // Sub menu item\n _this._show($element.parent('li'));\n\n $element.parent('li').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($element), function () {\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n handled: function handled(preventDefault) {\n if (preventDefault) {\n e.preventDefault();\n }\n }\n });\n }); // end keyboardAccess\n }\n /**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#close\n * @fires Drilldown#closed\n */\n\n }, {\n key: \"_hideAll\",\n value: function _hideAll() {\n var _this2 = this;\n\n var $elem = this.$element.find('.is-drilldown-submenu.is-active');\n $elem.addClass('is-closing');\n\n if (this.options.autoHeight) {\n var calcHeight = $elem.parent().closest('ul').data('calcHeight');\n this.$wrapper.css({\n height: calcHeight\n });\n }\n /**\n * Fires when the menu is closing.\n * @event Drilldown#close\n */\n\n\n this.$element.trigger('close.zf.drilldown');\n $elem.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($elem), function () {\n $elem.removeClass('is-active is-closing');\n /**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */\n\n _this2.$element.trigger('closed.zf.drilldown');\n });\n }\n /**\n * Adds event listener for each `back` button, and closes open menus.\n * @function\n * @fires Drilldown#back\n * @param {jQuery} $elem - the current sub-menu to add `back` event.\n */\n\n }, {\n key: \"_back\",\n value: function _back($elem) {\n var _this = this;\n\n $elem.off('click.zf.drilldown');\n $elem.children('.js-drilldown-back').on('click.zf.drilldown', function () {\n _this._hide($elem); // If there is a parent submenu, call show\n\n\n var parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n\n if (parentSubMenu.length) {\n _this._show(parentSubMenu);\n } else {\n _this.$currentMenu = _this.$element;\n }\n });\n }\n /**\n * Adds event listener to menu items w/o submenus to close open menus on click.\n * @function\n * @private\n */\n\n }, {\n key: \"_menuLinkEvents\",\n value: function _menuLinkEvents() {\n var _this = this;\n\n this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function () {\n setTimeout(function () {\n _this._hideAll();\n }, 0);\n });\n }\n /**\n * Sets the CSS classes for submenu to show it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n\n }, {\n key: \"_setShowSubMenuClasses\",\n value: function _setShowSubMenuClasses($elem, trigger) {\n $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n $elem.parent('li').attr('aria-expanded', true);\n\n if (trigger === true) {\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n }\n /**\n * Sets the CSS classes for submenu to hide it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n\n }, {\n key: \"_setHideSubMenuClasses\",\n value: function _setHideSubMenuClasses($elem, trigger) {\n $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true);\n $elem.parent('li').attr('aria-expanded', false);\n\n if (trigger === true) {\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n }\n /**\n * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible.\n * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the target (sub)menu (`ul` tag)\n * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused\n */\n\n }, {\n key: \"_showMenu\",\n value: function _showMenu($elem, autoFocus) {\n var _this = this; // Reset drilldown\n\n\n var $expandedSubmenus = this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');\n $expandedSubmenus.each(function () {\n _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));\n }); // Save the menu as the currently displayed one.\n\n this.$currentMenu = $elem; // If target menu is root, focus first link & exit\n\n if ($elem.is('[data-drilldown]')) {\n if (autoFocus === true) $elem.find('li > a').first().focus();\n if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight'));\n return;\n } // Find all submenus on way to root incl. the element itself\n\n\n var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]'); // Open target menu and all submenus on its way to root\n\n $submenus.each(function (index) {\n // Update height of first child (target menu) if autoHeight option true\n if (index === 0 && _this.options.autoHeight) {\n _this.$wrapper.css('height', jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight'));\n }\n\n var isLastChild = index === $submenus.length - 1; // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link\n // Last child makes sure the event gets always triggered even if going through several menus\n\n if (isLastChild === true) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () {\n if (autoFocus === true) {\n $elem.find('li > a').first().focus();\n }\n });\n }\n\n _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isLastChild);\n });\n }\n /**\n * Opens a submenu.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n */\n\n }, {\n key: \"_show\",\n value: function _show($elem) {\n var $submenu = $elem.children('[data-submenu]');\n $elem.attr('aria-expanded', true);\n this.$currentMenu = $submenu; //hide drilldown parent menu when submenu is open\n // this removes it from the dom so that the tab key will take the user to the next visible element\n\n $elem.parent().closest('ul').addClass('invisible'); // add visible class to submenu to override invisible class above\n\n $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false);\n\n if (this.options.autoHeight) {\n this.$wrapper.css({\n height: $submenu.data('calcHeight')\n });\n }\n /**\n * Fires when the submenu has opened.\n * @event Drilldown#open\n */\n\n\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n /**\n * Hides a submenu\n * @function\n * @fires Drilldown#hide\n * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n */\n\n }, {\n key: \"_hide\",\n value: function _hide($elem) {\n if (this.options.autoHeight) this.$wrapper.css({\n height: $elem.parent().closest('ul').data('calcHeight')\n });\n $elem.parent().closest('ul').removeClass('invisible');\n $elem.parent('li').attr('aria-expanded', false);\n $elem.attr('aria-hidden', true);\n $elem.addClass('is-closing').one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"])($elem), function () {\n $elem.removeClass('is-active is-closing visible');\n $elem.blur().addClass('invisible');\n });\n /**\n * Fires when the submenu has closed.\n * @event Drilldown#hide\n */\n\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n /**\n * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n * Prevents content jumping.\n * @function\n * @private\n */\n\n }, {\n key: \"_getMaxDims\",\n value: function _getMaxDims() {\n var maxHeight = 0,\n result = {},\n _this = this; // Recalculate menu heights and total max height\n\n\n this.$submenus.add(this.$element).each(function () {\n var height = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].GetDimensions(this).height;\n maxHeight = height > maxHeight ? height : maxHeight;\n\n if (_this.options.autoHeight) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight', height);\n }\n });\n if (this.options.autoHeight) result.height = this.$currentMenu.data('calcHeight');else result['min-height'] = \"\".concat(maxHeight, \"px\");\n result['max-width'] = \"\".concat(this.$element[0].getBoundingClientRect().width, \"px\");\n return result;\n }\n /**\n * Destroys the Drilldown Menu\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('.zf.drilldown');\n if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler);\n\n this._hideAll();\n\n this.$element.off('mutateme.zf.trigger');\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_2__[\"Nest\"].Burn(this.$element, 'drilldown');\n this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n this.$submenuAnchors.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown');\n });\n this.$element.find('[data-is-parent-link]').detach();\n this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');\n this.$element.find('a').each(function () {\n var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n $link.removeAttr('tabindex');\n\n if ($link.data('savedHref')) {\n $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n } else {\n return;\n }\n });\n }\n }]);\n\n return Drilldown;\n}(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]);\n\nDrilldown.defaults = {\n /**\n * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are\n * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.\n * @option\n * @type {boolean}\n * @default true\n */\n autoApplyClass: true,\n\n /**\n * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
  • Back
  • '\n */\n backButton: '
  • Back
  • ',\n\n /**\n * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n * @option\n * @type {string}\n * @default top\n */\n backButtonPosition: 'top',\n\n /**\n * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
    '\n */\n wrapper: '
    ',\n\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n\n /**\n * Allow the menu to return to root list on body click.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n\n /**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n autoHeight: false,\n\n /**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n animateHeight: false,\n\n /**\n * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n * @option\n * @type {boolean}\n * @default false\n */\n scrollTop: false,\n\n /**\n * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n * @option\n * @type {string}\n * @default ''\n */\n scrollTopElement: '',\n\n /**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */\n scrollTopOffset: 0,\n\n /**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n\n /**\n * Scroll animation easing. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @see {@link https://api.jquery.com/animate|JQuery animate}\n * @default 'swing'\n */\n animationEasing: 'swing' // holdOpen: false\n\n};\n\n\n/***/ }),\n\n/***/ 3:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.drilldown.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.drilldown.js */\"./js/entries/plugins/foundation.drilldown.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.drilldown.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.dropdown\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.box\":\n/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./foundation.util.touch\":\n/*!****************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"} ***!\n \\****************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.dropdown.js\":\n/*!***************************************************!*\\\n !*** ./js/entries/plugins/foundation.dropdown.js ***!\n \\***************************************************/\n/*! exports provided: Foundation, Dropdown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.dropdown */ \"./js/foundation.dropdown.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Dropdown\", function() { return _foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__[\"Dropdown\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__[\"Dropdown\"], 'Dropdown');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.dropdown.js\":\n/*!***********************************!*\\\n !*** ./js/foundation.dropdown.js ***!\n \\***********************************/\n/*! exports provided: Dropdown */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Dropdown\", function() { return Dropdown; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.positionable */ \"./js/foundation.positionable.js\");\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.touch */ \"./foundation.util.touch\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\n\nvar Dropdown = /*#__PURE__*/function (_Positionable) {\n _inherits(Dropdown, _Positionable);\n\n var _super = _createSuper(Dropdown);\n\n function Dropdown() {\n _classCallCheck(this, Dropdown);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dropdown, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n\n _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n this._init();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var $id = this.$element.attr('id');\n this.$anchors = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat($id, \"\\\"]\")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat($id, \"\\\"]\")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat($id, \"\\\"]\"));\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if (this.options.parentClass) {\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n } else {\n this.$parent = null;\n } // Set [aria-labelledby] on the Dropdown if it is not set\n\n\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__[\"GetYoDigits\"])(6, 'dd-anchor'));\n }\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id\n });\n\n _get(_getPrototypeOf(Dropdown.prototype), \"_init\", this).call(this);\n\n this._events();\n }\n }, {\n key: \"_getDefaultPosition\",\n value: function _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n\n if (position) {\n return position[0];\n } else {\n return 'bottom';\n }\n }\n }, {\n key: \"_getDefaultAlignment\",\n value: function _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n\n if (horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return _get(_getPrototypeOf(Dropdown.prototype), \"_getDefaultAlignment\", this).call(this);\n }\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n\n }, {\n key: \"_setPosition\",\n value: function _setPosition() {\n this.$element.removeClass(\"has-position-\".concat(this.position, \" has-alignment-\").concat(this.alignment));\n\n _get(_getPrototypeOf(Dropdown.prototype), \"_setPosition\", this).call(this, this.$currentAnchor, this.$element, this.$parent);\n\n this.$element.addClass(\"has-position-\".concat(this.position, \" has-alignment-\").concat(this.alignment));\n }\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n\n }, {\n key: \"_setCurrentAnchor\",\n value: function _setCurrentAnchor(el) {\n this.$currentAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n }\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined';\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function (e) {\n _this._setCurrentAnchor(this);\n\n if ( // if forceFollow false, always prevent default action\n _this.options.forceFollow === false || // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) {\n e.preventDefault();\n }\n });\n\n if (this.options.hover) {\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n _this._setCurrentAnchor(this);\n\n var bodyData = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').data();\n\n if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function () {\n _this.open();\n\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__[\"ignoreMousedisappear\"])(function () {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function () {\n _this.close();\n\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n\n if (this.options.hoverPane) {\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__[\"ignoreMousedisappear\"])(function () {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function () {\n _this.close();\n\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].handleKey(e, 'Dropdown', {\n open: function open() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n\n _this.$element.attr('tabindex', -1).focus();\n\n e.preventDefault();\n }\n },\n close: function close() {\n _this.close();\n\n _this.$anchors.focus();\n }\n });\n });\n }\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n\n }, {\n key: \"_addBodyHandler\",\n value: function _addBodyHandler() {\n var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).not(this.$element),\n _this = this;\n\n $body.off('click.zf.dropdown tap.zf.dropdown').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n\n if (_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n\n _this.close();\n\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n\n }, {\n key: \"open\",\n value: function open() {\n // var _this = this;\n\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover').attr({\n 'aria-expanded': true\n }); // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n\n this._setPosition();\n\n this.$element.removeClass('is-opening').addClass('is-open').attr({\n 'aria-hidden': false\n });\n\n if (this.options.autoFocus) {\n var $focusable = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].findFocusable(this.$element);\n\n if ($focusable.length) {\n $focusable.eq(0).focus();\n }\n }\n\n if (this.options.closeOnClick) {\n this._addBodyHandler();\n }\n\n if (this.options.trapFocus) {\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].trapFocus(this.$element);\n }\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n\n\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n\n }, {\n key: \"close\",\n value: function close() {\n if (!this.$element.hasClass('is-open')) {\n return false;\n }\n\n this.$element.removeClass('is-open').attr({\n 'aria-hidden': true\n });\n this.$anchors.removeClass('hover').attr('aria-expanded', false);\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"].releaseFocus(this.$element);\n }\n }\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this.$element.hasClass('is-open')) {\n if (this.$anchors.data('hover')) return;\n this.close();\n } else {\n this.open();\n }\n }\n /**\n * Destroys the dropdown.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdown tap.zf.dropdown');\n }\n }]);\n\n return Dropdown;\n}(_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__[\"Positionable\"]);\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.positionable.js\":\n/*!***************************************!*\\\n !*** ./js/foundation.positionable.js ***!\n \\***************************************/\n/*! exports provided: Positionable */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Positionable\", function() { return Positionable; });\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.util.box */ \"./foundation.util.box\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar POSITIONS = ['left', 'right', 'top', 'bottom'];\nvar VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nvar HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\nvar ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n};\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n\n if (currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\nvar Positionable = /*#__PURE__*/function (_Plugin) {\n _inherits(Positionable, _Plugin);\n\n var _super = _createSuper(Positionable);\n\n function Positionable() {\n _classCallCheck(this, Positionable);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Positionable, [{\n key: \"_init\",\n value:\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n function _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n }, {\n key: \"_getDefaultPosition\",\n value: function _getDefaultPosition() {\n return 'bottom';\n }\n }, {\n key: \"_getDefaultAlignment\",\n value: function _getDefaultAlignment() {\n switch (this.position) {\n case 'bottom':\n case 'top':\n return Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])() ? 'right' : 'left';\n\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n\n }, {\n key: \"_reposition\",\n value: function _reposition() {\n if (this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n\n }, {\n key: \"_realign\",\n value: function _realign() {\n this._addTriedPosition(this.position, this.alignment);\n\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]);\n }\n }, {\n key: \"_addTriedPosition\",\n value: function _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || [];\n this.triedPositions[position].push(alignment);\n }\n }, {\n key: \"_positionsExhausted\",\n value: function _positionsExhausted() {\n var isExhausted = true;\n\n for (var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n\n return isExhausted;\n }\n }, {\n key: \"_alignmentsExhausted\",\n value: function _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length === ALIGNMENTS[position].length;\n } // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n\n }, {\n key: \"_getVOffset\",\n value: function _getVOffset() {\n return this.options.vOffset;\n }\n }, {\n key: \"_getHOffset\",\n value: function _getHOffset() {\n return this.options.hOffset;\n }\n }, {\n key: \"_setPosition\",\n value: function _setPosition($anchor, $element, $parent) {\n if ($anchor.attr('aria-expanded') === 'false') {\n return false;\n }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if (!this.options.allowOverlap) {\n var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better\n\n var minCoordinates = {\n position: this.position,\n alignment: this.alignment\n };\n\n while (!this._positionsExhausted()) {\n var overlap = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n\n if (overlap === 0) {\n return;\n }\n\n if (overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {\n position: this.position,\n alignment: this.alignment\n };\n }\n\n this._reposition();\n\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n } // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n\n\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n }]);\n\n return Positionable;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 4:\n/*!*********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.dropdown.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.dropdown.js */\"./js/entries/plugins/foundation.dropdown.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.dropdown.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.keyboard\", \"./foundation.util.nest\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.dropdownMenu\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.nest\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdownMenu\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.box\":\n/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.nest\":\n/*!************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.nest\"],\"amd\":\"./foundation.util.nest\",\"commonjs\":\"./foundation.util.nest\",\"commonjs2\":\"./foundation.util.nest\"} ***!\n \\************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_nest__;\n\n/***/ }),\n\n/***/ \"./foundation.util.touch\":\n/*!****************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"} ***!\n \\****************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.dropdownMenu.js\":\n/*!*******************************************************!*\\\n !*** ./js/entries/plugins/foundation.dropdownMenu.js ***!\n \\*******************************************************/\n/*! exports provided: Foundation, DropdownMenu */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.dropdownMenu */ \"./js/foundation.dropdownMenu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMenu\", function() { return _foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_1__[\"DropdownMenu\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_1__[\"DropdownMenu\"], 'DropdownMenu');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.dropdownMenu.js\":\n/*!***************************************!*\\\n !*** ./js/foundation.dropdownMenu.js ***!\n \\***************************************/\n/*! exports provided: DropdownMenu */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownMenu\", function() { return DropdownMenu; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.nest */ \"./foundation.util.nest\");\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.box */ \"./foundation.util.box\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.touch */ \"./foundation.util.touch\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n/**\n * DropdownMenu module.\n * @module foundation.dropdownMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.nest\n * @requires foundation.util.touch\n */\n\nvar DropdownMenu = /*#__PURE__*/function (_Plugin) {\n _inherits(DropdownMenu, _Plugin);\n\n var _super = _createSuper(DropdownMenu);\n\n function DropdownMenu() {\n _classCallCheck(this, DropdownMenu);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DropdownMenu, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of DropdownMenu.\n * @class\n * @name DropdownMenu\n * @fires DropdownMenu#init\n * @param {jQuery} element - jQuery object to make into a dropdown menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n this.className = 'DropdownMenu'; // ie9 back compat\n\n _foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied.\n\n this._init();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].register('DropdownMenu', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the plugin, and calls _prepareMenu\n * @private\n * @function\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__[\"Nest\"].Feather(this.$element, 'dropdown');\n var subs = this.$element.find('li.is-dropdown-submenu-parent');\n this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n this.$menuItems = this.$element.find('li[role=\"none\"]');\n this.$tabs = this.$element.children('li[role=\"none\"]');\n this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n if (this.options.alignment === 'auto') {\n if (this.$element.hasClass(this.options.rightClass) || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])() || this.$element.parents('.top-bar-right').is('*')) {\n this.options.alignment = 'right';\n subs.addClass('opens-left');\n } else {\n this.options.alignment = 'left';\n subs.addClass('opens-right');\n }\n } else {\n if (this.options.alignment === 'right') {\n subs.addClass('opens-left');\n } else {\n subs.addClass('opens-right');\n }\n }\n\n this.changed = false;\n\n this._events();\n }\n }, {\n key: \"_isVertical\",\n value: function _isVertical() {\n return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column';\n }\n }, {\n key: \"_isRtl\",\n value: function _isRtl() {\n return this.$element.hasClass('align-right') || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])() && !this.$element.hasClass('align-left');\n }\n /**\n * Adds event listeners to elements within the menu\n * @private\n * @function\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',\n parClass = 'is-dropdown-submenu-parent'; // used for onClick and in the keyboard handlers\n\n\n var handleClickFn = function handleClickFn(e) {\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', \".\".concat(parClass)),\n hasSub = $elem.hasClass(parClass),\n hasClicked = $elem.attr('data-is-click') === 'true',\n $sub = $elem.children('.is-dropdown-submenu');\n\n if (hasSub) {\n if (hasClicked) {\n if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {\n return;\n }\n\n e.stopImmediatePropagation();\n e.preventDefault();\n\n _this._hide($elem);\n } else {\n e.stopImmediatePropagation();\n e.preventDefault();\n\n _this._show($sub);\n\n $elem.add($elem.parentsUntil(_this.$element, \".\".concat(parClass))).attr('data-is-click', true);\n }\n }\n };\n\n if (this.options.clickOpen || hasTouch) {\n this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn);\n } // Handle Leaf element Clicks\n\n\n if (_this.options.closeOnClickInside) {\n this.$menuItems.on('click.zf.dropdownMenu', function () {\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n hasSub = $elem.hasClass(parClass);\n\n if (!hasSub) {\n _this._hide();\n }\n });\n }\n\n if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true;\n\n if (!this.options.disableHover) {\n this.$menuItems.on('mouseenter.zf.dropdownMenu', function () {\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n hasSub = $elem.hasClass(parClass);\n\n if (hasSub) {\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._show($elem.children('.is-dropdown-submenu'));\n }, _this.options.hoverDelay));\n }\n }).on('mouseleave.zf.dropdownMenu', Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"ignoreMousedisappear\"])(function () {\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n hasSub = $elem.hasClass(parClass);\n\n if (hasSub && _this.options.autoclose) {\n if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {\n return false;\n }\n\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._hide($elem);\n }, _this.options.closingTime));\n }\n }));\n }\n\n this.$menuItems.on('keydown.zf.dropdownMenu', function (e) {\n var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', '[role=\"none\"]'),\n isTab = _this.$tabs.index($element) > -1,\n $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n $prevElement,\n $nextElement;\n $elements.each(function (i) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) {\n $prevElement = $elements.eq(i - 1);\n $nextElement = $elements.eq(i + 1);\n return;\n }\n });\n\n var nextSibling = function nextSibling() {\n $nextElement.children('a:first').focus();\n e.preventDefault();\n },\n prevSibling = function prevSibling() {\n $prevElement.children('a:first').focus();\n e.preventDefault();\n },\n openSub = function openSub() {\n var $sub = $element.children('ul.is-dropdown-submenu');\n\n if ($sub.length) {\n _this._show($sub);\n\n $element.find('li > a:first').focus();\n e.preventDefault();\n } else {\n return;\n }\n },\n closeSub = function closeSub() {\n //if ($element.is(':first-child')) {\n var close = $element.parent('ul').parent('li');\n close.children('a:first').focus();\n\n _this._hide(close);\n\n e.preventDefault(); //}\n };\n\n var functions = {\n open: openSub,\n close: function close() {\n _this._hide(_this.$element);\n\n _this.$menuItems.eq(0).children('a').focus(); // focus to first element\n\n\n e.preventDefault();\n }\n };\n\n if (isTab) {\n if (_this._isVertical()) {\n // vertical menu\n if (_this._isRtl()) {\n // right aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: closeSub,\n previous: openSub\n });\n } else {\n // left aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: openSub,\n previous: closeSub\n });\n }\n } else {\n // horizontal menu\n if (_this._isRtl()) {\n // right aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n next: prevSibling,\n previous: nextSibling,\n down: openSub,\n up: closeSub\n });\n } else {\n // left aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n next: nextSibling,\n previous: prevSibling,\n down: openSub,\n up: closeSub\n });\n }\n }\n } else {\n // not tabs -> one sub\n if (_this._isRtl()) {\n // right aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n next: closeSub,\n previous: openSub,\n down: nextSibling,\n up: prevSibling\n });\n } else {\n // left aligned\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, {\n next: openSub,\n previous: closeSub,\n down: nextSibling,\n up: prevSibling\n });\n }\n }\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e, 'DropdownMenu', functions);\n });\n }\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n\n }, {\n key: \"_addBodyHandler\",\n value: function _addBodyHandler() {\n var _this2 = this;\n\n var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body);\n\n this._removeBodyHandler();\n\n $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', function (e) {\n var isItself = !!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).closest(_this2.$element).length;\n if (isItself) return;\n\n _this2._hide();\n\n _this2._removeBodyHandler();\n });\n }\n /**\n * Remove the body event handler. See `_addBodyHandler`.\n * @function\n * @private\n */\n\n }, {\n key: \"_removeBodyHandler\",\n value: function _removeBodyHandler() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu');\n }\n /**\n * Opens a dropdown pane, and checks for collisions first.\n * @param {jQuery} $sub - ul element that is a submenu to show\n * @function\n * @private\n * @fires DropdownMenu#show\n */\n\n }, {\n key: \"_show\",\n value: function _show($sub) {\n var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).find($sub).length > 0;\n }));\n var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n\n this._hide($sibs, idx);\n\n $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');\n var clear = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].ImNotTouchingYou($sub, null, true);\n\n if (!clear) {\n var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n $parentLi.removeClass(\"opens\".concat(oldClass)).addClass(\"opens-\".concat(this.options.alignment));\n clear = _foundation_util_box__WEBPACK_IMPORTED_MODULE_4__[\"Box\"].ImNotTouchingYou($sub, null, true);\n\n if (!clear) {\n $parentLi.removeClass(\"opens-\".concat(this.options.alignment)).addClass('opens-inner');\n }\n\n this.changed = true;\n }\n\n $sub.css('visibility', '');\n\n if (this.options.closeOnClick) {\n this._addBodyHandler();\n }\n /**\n * Fires when the new dropdown pane is visible.\n * @event DropdownMenu#show\n */\n\n\n this.$element.trigger('show.zf.dropdownMenu', [$sub]);\n }\n /**\n * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n * @function\n * @param {jQuery} $elem - element with a submenu to hide\n * @param {Number} idx - index of the $tabs collection to hide\n * @fires DropdownMenu#hide\n * @private\n */\n\n }, {\n key: \"_hide\",\n value: function _hide($elem, idx) {\n var $toClose;\n\n if ($elem && $elem.length) {\n $toClose = $elem;\n } else if (typeof idx !== 'undefined') {\n $toClose = this.$tabs.not(function (i) {\n return i === idx;\n });\n } else {\n $toClose = this.$element;\n }\n\n var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n if (somethingToClose) {\n var $activeItem = $toClose.find('li.is-active');\n $activeItem.add($toClose).attr({\n 'data-is-click': false\n }).removeClass('is-active');\n $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n if (this.changed || $toClose.find('opens-inner').length) {\n var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass(\"opens-inner opens-\".concat(this.options.alignment)).addClass(\"opens-\".concat(oldClass));\n this.changed = false;\n }\n\n clearTimeout($activeItem.data('_delay'));\n\n this._removeBodyHandler();\n /**\n * Fires when the open menus are closed.\n * @event DropdownMenu#hide\n */\n\n\n this.$element.trigger('hide.zf.dropdownMenu', [$toClose]);\n }\n }\n /**\n * Destroys the plugin.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('.zf.dropdownMenu');\n _foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__[\"Nest\"].Burn(this.$element, 'dropdown');\n }\n }]);\n\n return DropdownMenu;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n/**\n * Default settings for plugin\n */\n\n\nDropdownMenu.defaults = {\n /**\n * Disallows hover events from opening submenus\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n\n /**\n * Disallows hover on touch devices\n * @option\n * @type {boolean}\n * @default true\n */\n disableHoverOnTouch: true,\n\n /**\n * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n * @option\n * @type {boolean}\n * @default true\n */\n autoclose: true,\n\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 50\n */\n hoverDelay: 50,\n\n /**\n * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n * @option\n * @type {boolean}\n * @default false\n */\n clickOpen: false,\n\n /**\n * Amount of time to delay closing a submenu on a mouseleave event.\n * @option\n * @type {number}\n * @default 500\n */\n closingTime: 500,\n\n /**\n * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n\n /**\n * Allow clicks on the body to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Allow clicks on leaf anchor links to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClickInside: true,\n\n /**\n * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'vertical'\n */\n verticalClass: 'vertical',\n\n /**\n * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'align-right'\n */\n rightClass: 'align-right',\n\n /**\n * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\n\n/***/ }),\n\n/***/ 5:\n/*!*************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.dropdownMenu.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.dropdownMenu.js */\"./js/entries/plugins/foundation.dropdownMenu.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.dropdownMenu.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.offcanvas\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.offcanvas\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 9);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.offcanvas.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.offcanvas.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, OffCanvas */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.offcanvas */ \"./js/foundation.offcanvas.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OffCanvas\", function() { return _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"], 'OffCanvas');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.offcanvas.js\":\n/*!************************************!*\\\n !*** ./js/foundation.offcanvas.js ***!\n \\************************************/\n/*! exports provided: OffCanvas */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OffCanvas\", function() { return OffCanvas; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nvar OffCanvas = /*#__PURE__*/function (_Plugin) {\n _inherits(OffCanvas, _Plugin);\n\n var _super = _createSuper(OffCanvas);\n\n function OffCanvas() {\n _classCallCheck(this, OffCanvas);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(OffCanvas, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n var _this2 = this;\n\n this.className = 'OffCanvas'; // ie9 back compat\n\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = {\n base: [],\n reveal: []\n };\n this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.position = 'left';\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.nested = !!this.options.nested;\n this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.isInCanvas = false; // Defines the CSS transition/position classes of the off-canvas content container.\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {\n _this2.contentClasses.base.push('has-transition-' + val);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) {\n _this2.contentClasses.base.push('has-position-' + val);\n\n _this2.contentClasses.reveal.push('has-reveal-' + val);\n }); // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"]._init();\n\n this._init();\n\n this._events();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var id = this.$element.attr('id');\n this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n\n if (this.options.contentId) {\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup\n\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(\"is-transition-\".concat(this.options.transition, \" is-closed\")); // Find triggers that affect this element and add aria-expanded to them\n\n this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-expanded', 'false').attr('aria-controls', id); // Get position by checking for related CSS class\n\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position; // Add an overlay over the content if necessary\n\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay);\n\n if (overlayPosition === 'is-overlay-fixed') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n } // Get the revealOn option from the class.\n\n\n var revealOnRegExp = new RegExp(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"RegExpEscape\"])(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n } // Ensure the `reveal-on-*` class is set.\n\n\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(\"\".concat(this.options.revealClass).concat(this.options.revealOn));\n\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n } // Find fixed elements that should stay fixed while off-canvas is opened\n\n\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n var inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(\"in-canvas-for-\".concat(this.options.inCanvasOn));\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n } // Initally remove all transition/position CSS classes from off-canvas content container.\n\n\n this._removeContentClasses();\n }\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this3 = this;\n\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({\n 'click.zf.offCanvas': this.close.bind(this)\n });\n }\n\n if (this.options.inCanvasOn) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n _this3._checkInCanvas();\n });\n }\n }\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n\n }, {\n key: \"_setMQChecker\",\n value: function _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n\n }, {\n key: \"_checkInCanvas\",\n value: function _checkInCanvas() {\n this.isInCanvas = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(this.options.inCanvasOn);\n\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_removeContentClasses\",\n value: function _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_addContentClasses\",\n value: function _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(\"has-transition-\".concat(this.options.transition, \" has-position-\").concat(this.position));\n } else if (hasReveal === true) {\n this.$content.addClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n\n }, {\n key: \"_fixStickyElements\",\n value: function _fixStickyElements() {\n this.$sticky.each(function (_, el) {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n\n if ($el.css('position') === 'fixed') {\n // Save current inline styling to restore it if undoing the absolute fixing\n var topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', {\n top: topVal\n });\n var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal;\n $el.css({\n top: \"\".concat(absoluteTopVal, \"px\"),\n width: '100%',\n transition: 'none'\n });\n }\n });\n }\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n\n }, {\n key: \"_unfixStickyElements\",\n value: function _unfixStickyElements() {\n this.$sticky.each(function (_, el) {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n var stickyData = $el.data('offCanvasSticky'); // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n\n if (_typeof(stickyData) === 'object') {\n $el.css({\n top: \"\".concat(stickyData.top, \"px\"),\n width: '',\n transition: ''\n });\n $el.data('offCanvasSticky', '');\n }\n });\n }\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n\n }, {\n key: \"reveal\",\n value: function reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n\n this._addContentClasses(isRevealed);\n }\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n\n }, {\n key: \"_stopScrolling\",\n value: function _stopScrolling() {\n return false;\n }\n /**\n * Save current finger y-position\n * @param event\n * @private\n */\n\n }, {\n key: \"_recordScrollable\",\n value: function _recordScrollable(event) {\n var elem = this;\n elem.lastY = event.touches[0].pageY;\n }\n /**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */\n\n }, {\n key: \"_preventDefaultAtEdges\",\n value: function _preventDefaultAtEdges(event) {\n var elem = this;\n var _this = event.data;\n var delta = elem.lastY - event.touches[0].pageY;\n elem.lastY = event.touches[0].pageY;\n\n if (!_this._canScroll(delta, elem)) {\n event.preventDefault();\n }\n }\n /**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */\n\n }, {\n key: \"_scrollboxTouchMoved\",\n value: function _scrollboxTouchMoved(event) {\n var elem = this;\n var _this = event.data;\n var parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n var delta = elem.lastY - event.touches[0].pageY;\n parent.lastY = elem.lastY = event.touches[0].pageY;\n event.stopPropagation();\n\n if (!_this._canScroll(delta, elem)) {\n if (!_this._canScroll(delta, parent)) {\n event.preventDefault();\n } else {\n parent.scrollTop += delta;\n }\n }\n }\n /**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */\n\n }, {\n key: \"_canScroll\",\n value: function _canScroll(delta, elem) {\n var up = delta < 0;\n var down = delta > 0;\n var allowUp = elem.scrollTop > 0;\n var allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n return up && allowUp || down && allowDown;\n }\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n\n }, {\n key: \"open\",\n value: function open(event, trigger) {\n var _this4 = this;\n\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) {\n return;\n }\n\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0, document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n\n if (this.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n\n var canvasFocus = _this.$element.find('[data-autofocus]');\n\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n\n\n this.$element.trigger('opened.zf.offCanvas');\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n _this4.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n\n }, {\n key: \"close\",\n value: function close() {\n var _this5 = this;\n\n if (!this.$element.hasClass('is-open') || this.isRevealed) {\n return;\n }\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n\n\n this.$element.trigger('close.zf.offCanvas');\n this.$element.removeClass('is-open');\n this.$element.attr('aria-hidden', 'true');\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false'); // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n _this5.$element.addClass('is-closed');\n\n _this5._removeContentClasses();\n\n if (_this5.options.transition === 'push') {\n _this5._unfixStickyElements();\n } // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n\n\n if (_this5.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling);\n\n _this5.$element.off('touchstart', _this5._recordScrollable);\n\n _this5.$element.off('touchmove', _this5._preventDefaultAtEdges);\n\n _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable);\n\n _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._scrollboxTouchMoved);\n }\n\n if (_this5.options.trapFocus === true) {\n _this5.$content.removeAttr('tabindex');\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].releaseFocus(_this5.$element);\n }\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n\n\n _this5.$element.trigger('closed.zf.offCanvas');\n });\n }\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n\n }, {\n key: \"toggle\",\n value: function toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n } else {\n this.open(event, trigger);\n }\n }\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n\n }, {\n key: \"_handleKeyboard\",\n value: function _handleKeyboard(e) {\n var _this6 = this;\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e, 'OffCanvas', {\n close: function close() {\n _this6.close();\n\n _this6.$lastTrigger.focus();\n\n return true;\n },\n handled: function handled() {\n e.preventDefault();\n }\n });\n }\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n }\n }]);\n\n return OffCanvas;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 9:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.offcanvas.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.offcanvas.js */\"./js/entries/plugins/foundation.offcanvas.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.offcanvas.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 14);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./foundation.util.touch\":\n/*!****************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"} ***!\n \\****************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.reveal.js\":\n/*!*************************************************!*\\\n !*** ./js/entries/plugins/foundation.reveal.js ***!\n \\*************************************************/\n/*! exports provided: Foundation, Reveal */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_reveal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.reveal */ \"./js/foundation.reveal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Reveal\", function() { return _foundation_reveal__WEBPACK_IMPORTED_MODULE_1__[\"Reveal\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_reveal__WEBPACK_IMPORTED_MODULE_1__[\"Reveal\"], 'Reveal');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.reveal.js\":\n/*!*********************************!*\\\n !*** ./js/foundation.reveal.js ***!\n \\*********************************/\n/*! exports provided: Reveal */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Reveal\", function() { return Reveal; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./foundation.util.touch */ \"./foundation.util.touch\");\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nvar Reveal = /*#__PURE__*/function (_Plugin) {\n _inherits(Reveal, _Plugin);\n\n var _super = _createSuper(Reveal);\n\n function Reveal() {\n _classCallCheck(this, Reveal);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Reveal, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n\n this._init(); // Touch and Triggers init are idempotent, just need to make sure they are initialized\n\n\n _foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].register('Reveal', {\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"]._init();\n\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {\n mq: _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].current\n };\n this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat(this.id, \"\\\"]\")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-open=\\\"\".concat(this.id, \"\\\"]\")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-toggle=\\\"\".concat(this.id, \"\\\"]\"));\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': 'dialog',\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if (this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n\n this._events();\n\n if (this.options.deepLink && window.location.hash === \"#\".concat(this.id)) {\n this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n return _this2.open();\n });\n }\n }\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n\n }, {\n key: \"_makeOverlay\",\n value: function _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()('
    ').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo);\n }\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n\n }, {\n key: \"_updatePosition\",\n value: function _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height();\n var left,\n top = null;\n\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({\n top: top + 'px'\n });\n } // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n\n\n if (!this.$overlay || this.options.hOffset !== 'auto') {\n this.$element.css({\n left: left + 'px'\n });\n this.$element.css({\n margin: '0px'\n });\n }\n }\n /**\n * Adds event handlers for the modal.\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this3 = this;\n\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': function closeZfTrigger(event, $element) {\n if (event.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target).parents('[data-closable]')[0] === $element) {\n // only close reveal when it's explicitly called\n return _this3.close.apply(_this3);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function resizemeZfTrigger() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) {\n return;\n }\n\n _this.close();\n });\n }\n\n if (this.options.deepLink) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(\"hashchange.zf.reveal:\".concat(this.id), this._handleState.bind(this));\n }\n }\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n\n }, {\n key: \"_handleState\",\n value: function _handleState() {\n if (window.location.hash === '#' + this.id && !this.isActive) {\n this.open();\n } else {\n this.close();\n }\n }\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n\n }, {\n key: \"_disableScroll\",\n value: function _disableScroll(scrollTop) {\n scrollTop = scrollTop || jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop();\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\", -scrollTop);\n }\n }\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n\n }, {\n key: \"_enableScroll\",\n value: function _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"), 10);\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\", \"\");\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(-scrollTop);\n }\n }\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n\n }, {\n key: \"open\",\n value: function open() {\n var _this4 = this;\n\n // either update or replace browser history\n var hash = \"#\".concat(this.id);\n\n if (this.options.deepLink && window.location.hash !== hash) {\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n } // Remember anchor that opened it to set focus back later, have general anchors as fallback\n\n\n this.$activeAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement).is(this.$anchor) ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement) : this.$anchor;\n this.isActive = true; // Make elements invisible, but remove display: none so we can get size and positioning\n\n this.$element.css({\n 'visibility': 'hidden'\n }).show().scrollTop(0);\n\n if (this.options.overlay) {\n this.$overlay.css({\n 'visibility': 'hidden'\n }).show();\n }\n\n this._updatePosition();\n\n this.$element.hide().css({\n 'visibility': ''\n });\n\n if (this.$overlay) {\n this.$overlay.css({\n 'visibility': ''\n }).hide();\n\n if (this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this; // Motion UI method of reveal\n\n\n if (this.options.animationIn) {\n var afterAnimation = function afterAnimation() {\n _this.$element.attr({\n 'aria-hidden': false,\n 'tabindex': -1\n }).focus();\n\n _this._addGlobalClasses();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(_this.$element);\n };\n\n if (this.options.overlay) {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateIn(this.$overlay, 'fade-in');\n }\n\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateIn(this.$element, this.options.animationIn, function () {\n if (_this4.$element) {\n // protect against object having been removed\n _this4.focusableElements = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].findFocusable(_this4.$element);\n afterAnimation();\n }\n });\n } // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n\n this.$element.show(this.options.showDelay);\n } // handle accessibility\n\n\n this.$element.attr({\n 'aria-hidden': false,\n 'tabindex': -1\n }).focus();\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n\n\n this.$element.trigger('open.zf.reveal');\n }\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n\n }, {\n key: \"_addGlobalClasses\",\n value: function _addGlobalClasses() {\n var updateScrollbarClass = function updateScrollbarClass() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').toggleClass('zf-has-scroll', !!(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', function () {\n return updateScrollbarClass();\n });\n updateScrollbarClass();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').addClass('is-reveal-open');\n }\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n\n }, {\n key: \"_removeGlobalClasses\",\n value: function _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('is-reveal-open');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('zf-has-scroll');\n }\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n\n }, {\n key: \"_addGlobalListeners\",\n value: function _addGlobalListeners() {\n var _this = this;\n\n if (!this.$element) {\n return;\n } // If we're in the middle of cleanup, don't freak out\n\n\n this.focusableElements = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) {\n return;\n }\n\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('keydown.zf.reveal', function (e) {\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e, 'Reveal', {\n close: function close() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n\n }, {\n key: \"close\",\n value: function close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n\n var _this = this; // Motion UI method of hiding\n\n\n if (this.options.animationOut) {\n if (this.options.overlay) {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateOut(this.$overlay, 'fade-out');\n }\n\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__[\"Motion\"].animateOut(this.$element, this.options.animationOut, finishUp);\n } // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n } else {\n finishUp();\n }\n } // Conditionals to remove extra event listeners added on open\n\n\n if (this.options.closeOnEsc) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"html\").css(\"top\"), 10);\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n\n }\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n\n\n _this.$element.trigger('closed.zf.reveal');\n }\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n\n\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false; // If deepLink and we did not switched to an other modal...\n\n if (_this.options.deepLink && window.location.hash === \"#\".concat(this.id)) {\n // Remove the history hash\n if (window.history.replaceState) {\n var urlWithoutHash = window.location.pathname + window.location.search;\n\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n }\n }, {\n key: \"_destroy\",\n value:\n /**\n * Destroys an instance of a modal.\n * @function\n */\n function _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n\n this.$overlay.hide().off().remove();\n }\n\n this.$element.hide().off();\n this.$anchor.off('.zf');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(\".zf.reveal:\".concat(this.id));\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n\n }\n }\n }]);\n\n return Reveal;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 14:\n/*!*******************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.reveal.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.reveal.js */\"./js/entries/plugins/foundation.reveal.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.reveal.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 17);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.sticky.js\":\n/*!*************************************************!*\\\n !*** ./js/entries/plugins/foundation.sticky.js ***!\n \\*************************************************/\n/*! exports provided: Foundation, Sticky */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_sticky__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.sticky */ \"./js/foundation.sticky.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Sticky\", function() { return _foundation_sticky__WEBPACK_IMPORTED_MODULE_1__[\"Sticky\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__[\"Sticky\"], 'Sticky');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.sticky.js\":\n/*!*********************************!*\\\n !*** ./js/foundation.sticky.js ***!\n \\*********************************/\n/*! exports provided: Sticky */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Sticky\", function() { return Sticky; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nvar Sticky = /*#__PURE__*/function (_Plugin) {\n _inherits(Sticky, _Plugin);\n\n var _super = _createSuper(Sticky);\n\n function Sticky() {\n _classCallCheck(this, Sticky);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Sticky, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n this._init();\n }\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, 'sticky'),\n _this = this;\n\n if ($parent.length) {\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n\n this.$container.addClass(this.options.containerClass);\n this.$element.addClass(this.options.stickyClass).attr({\n 'data-resize': id,\n 'data-mutate': id\n });\n\n if (this.options.anchor !== '') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor).attr({\n 'data-mutate': id\n });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") === \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n\n _this.$container.css('height', _this.containerHeight);\n\n _this.elemHeight = _this.containerHeight;\n\n if (_this.options.anchor !== '') {\n _this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n\n _this._calc(false, scroll); //Unstick the element will ensure that proper classes are set.\n\n\n if (!_this.isStuck) {\n _this._removeSticky(scroll >= _this.topPoint ? false : true);\n }\n });\n\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n\n }, {\n key: \"_parsePoints\",\n value: function _parsePoints() {\n var top = this.options.topAnchor === \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor === \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(place[0]));\n pt = anchor.offset().top;\n\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n\n breaks[i] = pt;\n }\n\n this.points = breaks;\n return;\n }\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n\n }, {\n key: \"_events\",\n value: function _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n\n if (this.isOn) {\n return;\n }\n\n if (this.canStick) {\n this.isOn = true;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener).on(scrollListener, function () {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n\n _this._setSizes(function () {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n this.$element.on('mutateme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n\n if (this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n }\n }\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n\n }, {\n key: \"_eventsHandler\",\n value: function _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n\n _this._setSizes(function () {\n _this._calc(false);\n\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n\n }, {\n key: \"_pauseListeners\",\n value: function _pauseListeners(scrollListener) {\n this.isOn = false;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener);\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n\n this.$element.trigger('pause.zf.sticky');\n }\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n\n }, {\n key: \"_calc\",\n value: function _calc(checkSizes, scroll) {\n if (checkSizes) {\n this._setSizes();\n }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n\n return false;\n }\n\n if (!scroll) {\n scroll = window.pageYOffset;\n }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n\n }, {\n key: \"_setSticky\",\n value: function _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = \"\".concat(this.options[mrgn], \"em\");\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(\"is-anchored is-at-\".concat(notStuckTo)).addClass(\"is-stuck is-at-\".concat(stickTo)).css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(\"sticky.zf.stuckto:\".concat(stickTo));\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function () {\n _this._setSizes();\n });\n }\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n\n }, {\n key: \"_removeSticky\",\n value: function _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n css[mrgn] = 0;\n css.bottom = 'auto';\n\n if (isTop) {\n css.top = 0;\n } else {\n css.top = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(\"is-stuck is-at-\".concat(stickTo)).addClass(\"is-anchored is-at-\".concat(topOrBottom)).css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(\"sticky.zf.unstuckfrom:\".concat(topOrBottom));\n }\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n\n }, {\n key: \"_setSizes\",\n value: function _setSizes(cb) {\n this.canStick = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"].is(this.options.stickyOn);\n\n if (!this.canStick) {\n if (cb && typeof cb === 'function') {\n cb();\n }\n }\n\n var newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': \"\".concat(newElemWidth - pdngl - pdngr, \"px\")\n }); // Recalculate the height only if it is \"dynamic\"\n\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") === \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function () {\n if (cb && typeof cb === 'function') {\n cb();\n }\n });\n }\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n\n }, {\n key: \"_setBreakPoints\",\n value: function _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') {\n cb();\n } else {\n return false;\n }\n }\n\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= elemHeight + mTop;\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= winHeight - (elemHeight + mBtm);\n bottomPoint -= winHeight - mBtm;\n } else {//this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') {\n cb();\n }\n }\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(\"\".concat(this.options.stickyClass, \" is-anchored is-at-top\")).css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n }).off('resizeme.zf.trigger').off('mutateme.zf.trigger');\n\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n\n if (this.scrollListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener);\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass).css({\n height: ''\n });\n }\n }\n }]);\n\n return Sticky;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
    ',\n\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\n\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 17:\n/*!*******************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.sticky.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.sticky.js */\"./js/entries/plugins/foundation.sticky.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.sticky.js.map","document.addEventListener(\"DOMContentLoaded\", function() {\n var lazyloadImages;\n\n if (\"IntersectionObserver\" in window) {\n lazyloadImages = document.querySelectorAll(\".wfbg-lazy\");\n var imageObserver = new IntersectionObserver(function(entries, observer) {\n entries.forEach(function(entry) {\n if (entry.isIntersecting) {\n var image = entry.target;\n image.classList.remove(\"wfbg-lazy\");\n imageObserver.unobserve(image);\n }\n });\n });\n\n lazyloadImages.forEach(function(image) {\n imageObserver.observe(image);\n });\n } else {\n var lazyloadThrottleTimeout;\n lazyloadImages = document.querySelectorAll(\".wfbg-lazy\");\n\n function lazyload() {\n if (lazyloadThrottleTimeout) {\n clearTimeout(lazyloadThrottleTimeout);\n }\n\n lazyloadThrottleTimeout = setTimeout(function() {\n var scrollTop = window.pageYOffset;\n lazyloadImages.forEach(function(img) {\n if (img.offsetTop < (window.innerHeight + scrollTop)) {\n img.src = img.dataset.src;\n img.classList.remove('wfbg-lazy');\n }\n });\n if (lazyloadImages.length == 0) {\n document.removeEventListener(\"scroll\", lazyload);\n window.removeEventListener(\"resize\", lazyload);\n window.removeEventListener(\"orientationChange\", lazyload);\n }\n }, 20);\n }\n\n document.addEventListener(\"scroll\", lazyload);\n window.addEventListener(\"resize\", lazyload);\n window.addEventListener(\"orientationChange\", lazyload);\n }\n})\n","// To make PageSpeed Insights Happy\njQuery.event.special.touchstart = {\n setup: function( _, ns, handle ) {\n this.addEventListener(\"touchstart\", handle, { passive: !ns.includes(\"noPreventDefault\") });\n }\n};\njQuery.event.special.touchmove = {\n setup: function( _, ns, handle ) {\n this.addEventListener(\"touchmove\", handle, { passive: !ns.includes(\"noPreventDefault\") });\n }\n};\njQuery.event.special.wheel = {\n setup: function( _, ns, handle ){\n this.addEventListener(\"wheel\", handle, { passive: true });\n }\n};\njQuery.event.special.mousewheel = {\n setup: function( _, ns, handle ){\n this.addEventListener(\"mousewheel\", handle, { passive: true });\n }\n};\n\njQuery(document).ready(function($) {\n var controller = new ScrollMagic.Controller();\n var scenesArray = [];\n\n if($('.wp-block-group').length) {\n\n $('.wp-block-group .wp-block-columns').each(function() {\n var columnID = 'col' + (Math.floor(Math.random() * 26) + Date.now());\n $(this).attr('id', columnID);\n // console.log($(this).attr('id'));\n // console.log($('#'+columnID).offset().top);\n });\n\n $('.wp-block-group .wp-block-columns').each(function() {\n scenesArray.push(new ScrollMagic.Scene({\n triggerElement: '#'+$(this).attr('id')\n })\n .setClassToggle('#'+$(this).attr('id'), 'show')\n .reverse(false)\n // .addIndicators()\n .addTo(controller)\n );\n });\n }\n\n if($('.wp-block-quote').length) {\n scenesArray.push(new ScrollMagic.Scene({\n triggerElement: '.wp-block-quote'\n })\n .setClassToggle('.wp-block-quote', 'show')\n .reverse(false)\n // .addIndicators()\n .addTo(controller)\n );\n }\n\n if($('.why-whimzees-header').length) {\n $('.why-whimzees-header').each(function() {\n if(!$(this).attr('id')) {\n var headerID = 'col' + (Math.floor(Math.random() * 26) + Date.now());\n $(this).attr('id', headerID);\n }\n });\n $('.why-whimzees-header').each(function() {\n // console.log('#'+$(this).attr('id'));\n scenesArray.push(new ScrollMagic.Scene({\n triggerElement: '#'+$(this).attr('id')\n })\n .setClassToggle('#'+$(this).attr('id'), 'show')\n .reverse(false)\n // .addIndicators()\n .addTo(controller)\n );\n });\n }\n\n if($('.why-whimzees-columns').length) {\n $('.why-whimzees-columns .wp-block-column').each(function() {\n if(!$(this).attr('id')) {\n var colID = 'col' + (Math.floor(Math.random() * 26) + Date.now());\n $(this).attr('id', colID);\n }\n\n $('.why-whimzees-columns .wp-block-column').each(function() {\n // console.log('#'+$(this).attr('id'));\n scenesArray.push(new ScrollMagic.Scene({\n triggerElement: '#'+$(this).attr('id')\n })\n .setClassToggle('#'+$(this).attr('id'), 'show')\n .reverse(false)\n // .addIndicators()\n .addTo(controller)\n );\n });\n\n });\n }\n\n if($('.why-whimzees-image').length) {\n scenesArray.push(new ScrollMagic.Scene({\n triggerElement: '.why-whimzees-image'\n })\n .setClassToggle('.why-whimzees-image', 'show')\n .reverse(false)\n // .addIndicators()\n .addTo(controller)\n );\n }\n\n if(window.location.hash && window.location.hash.toLowerCase() === '#treatquiz') {\n $('#whimzeesQuiz').foundation('open');\n }\n\n});\n","jQuery(document).ready(function($) {\n\n $('#menu-opener').click(function() {\n if($(this).attr('aria-expanded') === \"false\") {\n $('.mobile-logo.menu-closed').addClass('hide');\n $('.mobile-logo.menu-open').removeClass('hide');\n $('header.header').addClass('menu-open');\n } else {\n $('.mobile-logo.menu-closed').removeClass('hide');\n $('.mobile-logo.menu-open').addClass('hide');\n $('header.header').removeClass('menu-open');\n }\n\n });\n\n $('#mobile-nav .menu.submenu a[href*=\"#\"][aria-current=\"page\"]').click(function() {\n $('#off-canvas').foundation('close');\n $('.mobile-logo.menu-closed').removeClass('hide');\n $('.mobile-logo.menu-open').addClass('hide');\n $('header.header').removeClass('menu-open');\n });\n\n $('header.header').on('sticky.zf.stuckto:top', function() {\n // console.log('wup');\n animateHeader();\n\n });\n\n $('header.header').on('sticky.zf.unstuckfrom:top', function() {\n // console.log('w0p');\n animateHeader();\n });\n\n if($('header.header .current-post-parent').length) {\n $('header.header .current-post-parent').parents('.submenu').attr('style', 'display: flex !important');\n $('header.header .current-post-parent').parents('.submenu').parents('.is-dropdown-submenu-parent').addClass('active');\n }\n\n function animateHeader() {\n\n var group = document.querySelector(\".desktop-menu\");\n // var nodes = document.querySelectorAll(\".desktop-menu>li\");\n // var total = nodes.length;\n // var ease = Power1.easeInOut;\n // var boxes = [];\n //\n // for (var i = 0; i < total; i++) {\n //\n // var node = nodes[i];\n //\n // // Initialize transforms on node\n // TweenLite.set(node, { x: 0, y: 0 });\n //\n // boxes[i] = {\n // transform: node._gsTransform,\n // x: node.offsetLeft,\n // y: node.offsetTop,\n // node\n // };\n // }\n\n group.classList.toggle(\"stuckish\");\n\n // for (var i = 0; i < total; i++) {\n // var box = boxes[i];\n //\n // var lastX = box.x;\n // var lastY = box.y;\n //\n // box.x = box.node.offsetLeft;\n // box.y = box.node.offsetTop;\n //\n // // Continue if box hasn't moved\n // if (lastX === box.x && lastY === box.y) continue;\n //\n // // Reversed delta values taking into account current transforms\n // var x = box.transform.x + lastX - box.x;\n // var y = box.transform.y + lastY - box.y;\n //\n // // Tween to 0 to remove the transforms\n // TweenLite.fromTo(box.node, 0.5, { x, y }, { x: 0, y: 0, ease, onComplete: function() {\n // box.node.style.transform = 'none';\n // }});\n //\n //\n // }\n }\n});\n","jQuery(document).foundation();","jQuery(document).ready(function($) {\n\n // var defaultDogName = 'your pet';\n var defaultDogName = $('h2[data-default-dog-name]').attr('data-default-dog-name');\n $('.quiz_pet_name').text(defaultDogName);\n\n var quizStep = 1;\n $('.quiz-container li').each(function() {\n $(this).find('[data-step-count]').text(quizStep + ' of ' + $('.quiz-container li').length);\n quizStep++;\n });\n\n $('.quiz-container').slick({\n arrows: true,\n dots: false,\n infinite: false,\n adaptiveHeight: true,\n accessibility: false,\n responsive: [{\n breakpoint: 640,\n settings: {\n dots: true,\n arrows: false,\n accessibility: false,\n }\n }]\n });\n\n $('.button.next').click(function(e) {\n e.preventDefault();\n $('.quiz-container').slick('slickNext');\n });\n\n $('.whimzees-quiz .whimzees-quiz-input input[type=\"text\"]').keyup(function() {\n if($(this).val() != '') {\n $('#quiz_name_next').prop('disabled', false);\n } else {\n $('#quiz_name_next').prop('disabled', true);\n }\n });\n\n $('.whimzees-quiz input[name=\"pet_dental\"]').change(function() {\n var petDentalVals = [];\n $('.whimzees-quiz input[name=\"pet_dental\"]').each(function() {\n if($(this).prop('checked')) {\n petDentalVals.push($(this).val());\n }\n });\n\n if(petDentalVals.length) {\n $('#quiz_dental_next').prop('disabled', false);\n } else {\n $('#quiz_dental_next').prop('disabled', true);\n }\n });\n\n $(document).on('keypress',function(e) {\n if($('.whimzees-quiz .whimzees-quiz-input input').is(\":focus\")) {\n if(e.which == 13) { // enter key\n e.preventDefault();\n $('#quiz_name').trigger('change');\n $('.quiz-container').slick('slickNext');\n }\n }\n else {\n var input = $('.whimzees-quiz input[type=\"radio\"]:focus');\n if (input.length) {\n if(e.which == 13) { // enter key\n e.preventDefault();\n $(input).trigger('mouseup');\n $('.quiz-container').slick('slickNext');\n }\n }\n }\n\n });\n\n $('.multiple-choice.checkfields input[type=\"checkbox\"]').change(function() {\n var inputUpdate = $(this).parents('.checkfields').attr('data-update-id');\n var checkfieldIDs = [];\n // console.log('checkbox change');\n\n $(this).parents('.checkfields').find('input[type=\"checkbox\"]').each(function() {\n if($(this).prop('checked')) {\n checkfieldIDs.push($(this).val());\n }\n });\n\n $('#'+inputUpdate).val(checkfieldIDs.join(','));\n // console.log(checkfieldIDs);\n });\n\n $('.multiple-choice input[type=\"radio\"], .multiple-choice input[type=\"checkbox\"]').change(function() {\n $('.multiple-choice input[type=\"radio\"], .multiple-choice input[type=\"checkbox\"]').each(function() {\n $(this).siblings('.image-wrapper').toggleClass('selected', $(this).prop('checked'));\n });\n });\n\n $('.quiz-container input[type=\"radio\"]').on('mouseup', function() {\n $('.quiz-container').slick('slickNext');\n });\n\n $('.multiple-choice .image-wrapper').click(function() {\n $(this).siblings('input').trigger('click');\n });\n\n $('a[href=#whimzeesQuiz]').click(function(e) {\n e.preventDefault();\n $('#whimzeesQuiz').foundation('open');\n $('.quiz-container').slick(\"refresh\");\n });\n\n $('.multiple-choice .image-wrapper').click(function() {\n $(this).siblings('input[type=\"radio\"]').trigger('mouseup');\n // console.log('bloop');\n });\n\n $('#quiz_name').change(function() {\n if($('#quiz_name').val().length) {\n $('.quiz_pet_name').text($('#quiz_name').val());\n } else {\n $('.quiz_pet_name').text(defaultDogName);\n }\n });\n\n $('#treat-quiz').submit(function(e) {\n e.preventDefault();\n e.returnValue = false;\n\n $('.loading-cover').addClass('show');\n\n var $form = $(this);\n\n // only email if language is english\n if($('#treat-quiz input[name=\"lang\"]').length) {\n $form.off('submit');\n $form.submit();\n } else {\n\n var quizAnswers = [];\n\n // Dog Name\n quizAnswers.push({\n question: $('#quiz_name_q').text(),\n answer: $('#quiz_name').val(),\n });\n\n // Dental Treat\n var petDentalVals = [];\n $('.whimzees-quiz input[name=\"pet_dental\"]').each(function() {\n if($(this).prop('checked')) {\n petDentalVals.push($('label[for=\"'+$(this).attr('id')+'\"]').text());\n }\n });\n quizAnswers.push({\n question: $('#pet_dental_q').text(),\n answer: petDentalVals.join(', '),\n });\n\n // Life Stage\n quizAnswers.push({\n question: $('#life_stage_q').text(),\n answer: $('label[for=\"'+$('input[name=\"life_stage\"]:checked').attr('id')+'\"]').text(),\n });\n\n // Dog Size\n quizAnswers.push({\n question: $('#dog_sizes_q').text(),\n answer: $('label[for=\"'+$('input[name=\"dog_sizes\"]:checked').attr('id')+'\"]').text(),\n });\n\n // Treat Shape\n quizAnswers.push({\n question: $('#formula_q').text(),\n answer: $('label[for=\"'+$('input[name=\"formula\"]:checked').attr('id')+'\"]').text(),\n });\n\n console.log(quizAnswers);\n\n // $.ajax({\n // type: \"POST\",\n // url: \"/wp-admin/admin-ajax.php\",\n // context: $form,\n // datatype: \"html\",\n // data: {'action': 'quiz_sending_mail', 'quizAnswers': quizAnswers},\n // success: function(response) {\n\n // },error:function(response){\n // console.log(\"error: \" + response);\n // },\n // complete: function() {\n // this.off('submit');\n // this.submit();\n // }\n // });\n\n $form.off('submit');\n $form.submit();\n\n }\n });\n\n});\n","/*\nThese functions make sure WordPress\nand Foundation play nice together.\n*/\n\njQuery(document).ready(function($) {\n\n\t// Remove empty P tags created by WP inside of Accordion and Orbit\n\tjQuery('.accordion p:empty, .orbit p:empty').remove();\n\n\t// Adds Flex Video to YouTube and Vimeo Embeds\n\tjQuery('iframe[src*=\"youtube.com\"], iframe[src*=\"vimeo.com\"]').each(function() {\n\t\tif ( jQuery(this).innerWidth() / jQuery(this).innerHeight() > 1.5 ) {\n\t\t jQuery(this).wrap(\"
    \");\n\t\t} else {\n\t\t jQuery(this).wrap(\"
    \");\n\t\t}\n\t});\n\n\n\t// function adjustFootspace() {\n\t// \t$('.off-canvas-wrapper, .off-canvas-content').css({\n\t// \t\t'min-height': 'calc(100vh - '+$('footer.footer').outerHeight()+'px)',\n\t// \t\t'padding-bottom': $('footer.footer').outerHeight()\n\t// \t});\n\t// }\n\t//\n\t// $(window).on('resize', function() {\n\t// \tadjustFootspace();\n\t// });\n\t//\n\t// adjustFootspace();\n\n\n});\n"]}