{"version":3,"sources":["webpack:///./js/PFF/controllers/modal.ts","webpack:///./js/lib/jquery.magnific-popup.js"],"names":["$","__webpack_require__","PFF","Swiper","controllers","modal","getParameterByName","name","url","window","location","href","replace","results","RegExp","exec","decodeURIComponent","cleanArray","actual","newArray","Array","i","length","push","checkForBeginningAndEnd","$selectedSlide","$nextArrow","$prevArrow","next","removeClass","addClass","prev","init","queryStringValues","selectedItemID","joinedValues","split","join","galleryimageIds","vignetteSegment","vignetteimageIds","roomSegment","roomimageIds","lifestyleSegment","lifestyleimageIds","product360Segment","product360videoIds","supplementarySegment","supplementaryimageIds","threesixtySegment","threesixtyIds","roomremSegment","roomremimageIds","vignetteremSegment","vignetteremimageIds","clippedSegment","clippedimageIds","marketingvideoIds","concatenatedString","concat","itemsLength","allImagesArray","galleryimagesArray","vignetteimagesArray","roomimagesArray","lifestyleimagesArray","product360videosArray","supplementaryimagesArray","threesixtysArray","roomremimagesArray","vignetteremimagesArray","clippedimagesArray","marketingvideosArray","properID","isSingleID","$body","fullImageUrl","$carousel","each","theID","encodedID","appendTo","mySwiper","slidesPerView","Math","min","direction","innerWidth","spaceBetween","initialSlide","parent","index","navigation","nextEl","prevEl","on","setTimeout","activeIndex","slides","find","trigger","eq","attr","s7viewers","BasicZoomViewer","containerId","params","asset","serverurl","contenturl","config","update","e","remove","removeAttr","prependTo","this","idOfElement","data","zoomViewerParent","preventDefault","empty","$youtubeID","hide","$this","get","play","SpinViewer","$theeSixtyID","spinViewerParent","passIDBuildList","closeButton","document","off","addThisHooks","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","undefined","apply","exports","module","mfp","_prevStatus","_document","_prevContentType","_wrapClasses","_currPopupType","MagnificPopup","_isJQ","_window","_mfpOn","f","ev","_getEl","className","html","raw","el","createElement","innerHTML","appendChild","_mfpTrigger","triggerHandler","st","callbacks","charAt","toLowerCase","slice","isArray","_getCloseBtn","type","currTemplate","closeBtn","closeMarkup","tClose","_checkInstance","magnificPopup","instance","prototype","constructor","appVersion","navigator","isLowIE","isIE8","all","addEventListener","isAndroid","test","isIOS","supportsTransition","s","style","v","pop","supportsTransitions","probablyMobile","userAgent","popupsCache","open","isObj","items","toArray","item","parsed","isOpen","types","mainEl","key","extend","defaults","fixedContentPos","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","close","wrap","_checkIfClose","target","container","contentContainer","preloader","tLoading","modules","n","toUpperCase","call","closeBtnInside","template","values","close_replaceWith","append","alignTop","css","overflow","overflowY","overflowX","top","scrollTop","position","fixedBgPos","height","keyCode","updateSize","windowHeight","wH","windowStyles","_hasScrollBar","_getScrollbarSize","marginRight","isIE7","classesToadd","mainClass","_addClassToMFP","updateItemHTML","add","body","_lastFocusedEl","activeElement","content","_setFocus","_onFocusIn","removalDelay","_close","classesToRemove","REMOVING_CLASS","detach","_removeClassFromMFP","currItem","autoFocusLast","focus","prevHeight","winHeight","zoomLevel","documentElement","clientWidth","innerHeight","parseEl","markup","newContent","appendContent","preloaded","prepend","tagName","src","hasClass","addGroup","options","eHandler","mfpEl","_openClick","eName","delegate","midClick","which","ctrlKey","metaKey","altKey","shiftKey","disableOn","isFunction","width","stopPropagation","updateStatus","status","text","stopImmediatePropagation","closeOnContent","closeOnBg","contains","cName","scrollHeight","_parseMarkup","arr","value","EVENT_NS","replaceWith","is","scrollbarSize","scrollDiv","cssText","offsetWidth","removeChild","proto","registerModule","fn","jqEl","itemOpts","parseInt","arguments","_hiddenClass","_inlinePlaceholder","_lastInlineElement","_putInlineElementsBack","after","hiddenClass","tNotFound","initInline","CLOSE_EVENT","getInline","inlineSt","inline","parentNode","inlineElement","_ajaxCur","_removeAjaxCursor","_destroyAjaxRequest","req","abort","settings","cursor","tError","initAjax","ajax","getAjax","opts","success","textStatus","jqXHR","temp","xhr","finished","error","loadError","_imgInterval","titleSrc","verticalFit","initImage","imgSt","image","ns","resizeImage","img","decr","_onImageHasSize","hasSize","clearInterval","isCheckingImgSize","imgHidden","findImageSize","counter","mfpSetInterval","delay","setInterval","naturalWidth","getImage","guard","onLoadComplete","complete","loaded","onLoadError","alt","clone","title","_getTitle","img_replaceWith","loading","hasMozTransform","enabled","easing","duration","opener","element","initZoom","zoomSt","zoom","openTimeout","animatedImg","getElToAnimate","newImg","transition","cssObj","zIndex","left","-webkit-backface-visibility","t","showMainContent","_allowZoom","clearTimeout","_getItemToZoom","_getOffset","isLarge","offset","paddingTop","paddingBottom","obj","offsetHeight","MozTransform","_fixIframeBugs","isShowing","srcAction","patterns","youtube","id","vimeo","gmaps","initIframe","prevType","newType","getIframe","embedSrc","iframeSt","iframe","indexOf","substr","lastIndexOf","dataObj","_getLoopedId","numSlides","_replaceCurrTotal","curr","total","arrowMarkup","preload","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gSt","gallery","l","arrowLeft","arrowRight","click","_preloadTimeout","preloadNearbyImages","goTo","newIndex","p","preloadBefore","preloadAfter","_preloadItem","replaceSrc","m","ratio","initRetina","devicePixelRatio","retina","isNaN","max-width"],"mappings":"uGAAA,IAAAA,EAAAC,EAAA,GACAA,EAAA,GACA,IAgBUC,EAhBVC,EAAAF,EAAA,IAgBA,SAAUC,IAAI,SAAAE,IAAY,SAAAC,GACzB,SAAAC,EAA4BC,EAAMC,GAC5BA,IAAKA,EAAMC,OAAOC,SAASC,MAChCJ,EAAOA,EAAKK,QAAQ,UAAW,QAC/B,IACCC,EADW,IAAIC,OAAO,OAASP,EAAO,qBACtBQ,KAAKP,GACtB,OAAKK,EACAA,EAAQ,GACNG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,MAD5B,GADH,KAMtB,SAAAK,EAAoBC,GAEnB,IADA,IAAIC,EAAW,IAAIC,MACVC,EAAI,EAAGA,EAAIH,EAAOI,OAAQD,IAC9BH,EAAOG,IACVF,EAASI,KAAKL,EAAOG,IAGvB,OAAOF,EAGR,SAAAK,IACC,IAAIC,EAAiBzB,EAAE,0BACnB0B,EAAa1B,EAAE,kBACf2B,EAAa3B,EAAE,kBACjByB,EAAeG,KAAK,iBAAiBN,OAA4CI,EAAWG,YAAY,YAAzDH,EAAWI,SAAS,YACnEL,EAAeM,KAAK,iBAAiBT,OAA4CK,EAAWE,YAAY,YAAzDF,EAAWG,SAAS,YA4btDzB,EAAA2B,KAAhB,YAzbA,WAIC,IAAIC,EAAoB3B,EAAmB,OACvC4B,EAAiB5B,EAAmB,gBAQpC6B,EADcF,EAAkBG,MAAM,KACXC,KAAK,KAKhCC,GADoD,MAAzCH,EAAaC,MAAM,gBAAgB,IAAaD,EAAaC,MAAM,gBAAgB,GACnC,MAAzCD,EAAaC,MAAM,gBAAgB,GAAaD,EAAaC,MAAM,gBAAgB,GAAK,IAC1GG,EAA2D,MAAzCJ,EAAaC,MAAM,gBAAgB,GAAaD,EAAaC,MAAM,gBAAgB,GAAK,GAC1GI,EAA2D,MAAxCD,EAAgBH,MAAM,YAAY,GAAaG,EAAgBH,MAAM,YAAY,GAAK,GACzGK,EAAmD,MAArCN,EAAaC,MAAM,YAAY,GAAaD,EAAaC,MAAM,YAAY,GAAK,GAC9FM,EAAwD,MAAzCD,EAAYL,MAAM,iBAAiB,GAAaK,EAAYL,MAAM,iBAAiB,GAAK,GACvGO,EAA6D,MAA1CR,EAAaC,MAAM,iBAAiB,GAAaD,EAAaC,MAAM,iBAAiB,GAAK,GAC7GQ,EAAmE,MAA/CD,EAAiBP,MAAM,kBAAkB,GAAaO,EAAiBP,MAAM,kBAAkB,GAAK,GACxHS,EAA+D,MAA3CV,EAAaC,MAAM,kBAAkB,GAAaD,EAAaC,MAAM,kBAAkB,GAAK,GAChHU,EAAwE,MAAnDD,EAAkBT,MAAM,qBAAqB,GAAaS,EAAkBT,MAAM,qBAAqB,GAAK,GACjIW,EAAqE,MAA9CZ,EAAaC,MAAM,qBAAqB,GAAaD,EAAaC,MAAM,qBAAqB,GAAK,GACzHY,EAA2E,MAAnDD,EAAqBX,MAAM,kBAAkB,GAAaW,EAAqBX,MAAM,kBAAkB,GAAK,GACpIa,EAA+D,MAA3Cd,EAAaC,MAAM,kBAAkB,GAAaD,EAAaC,MAAM,kBAAkB,GAAK,GAChHc,EAA6D,MAA7CD,EAAkBb,MAAM,eAAe,GAAaa,EAAkBb,MAAM,eAAe,GAAK,GAChHe,EAAyD,MAAxChB,EAAaC,MAAM,eAAe,GAAaD,EAAaC,MAAM,eAAe,GAAK,GACvGgB,EAAgE,MAA9CD,EAAef,MAAM,mBAAmB,GAAae,EAAef,MAAM,mBAAmB,GAAK,GACpHiB,EAAiE,MAA5ClB,EAAaC,MAAM,mBAAmB,GAAaD,EAAaC,MAAM,mBAAmB,GAAK,GACnHkB,EAAoE,MAA9CD,EAAmBjB,MAAM,eAAe,GAAaiB,EAAmBjB,MAAM,eAAe,GAAK,GACxHmB,EAAyD,MAAxCpB,EAAaC,MAAM,eAAe,GAAaD,EAAaC,MAAM,eAAe,GAAK,GACvGoB,EAA8D,MAA5CD,EAAenB,MAAM,iBAAiB,GAAamB,EAAenB,MAAM,iBAAiB,GAAK,GAChHqB,EAAgE,MAA5CF,EAAenB,MAAM,iBAAiB,GAAamB,EAAenB,MAAM,iBAAiB,GAAK,GAKlHsB,EAAqBpB,EAAgBqB,OAAOnB,EAAkBE,EAAcE,EAAmBE,EAAoBE,EAAuBE,EAAeE,EAAiBE,EAAqBE,EAAiBC,GAChNG,EAAc3C,EAAWyC,EAAmBtB,MAAM,MAAMd,OAGxDuC,EAAiB5C,EAAWyC,EAAmBtB,MAAM,MACrD0B,EAAqB7C,EAAWqB,EAAgBF,MAAM,MACtD2B,EAAsB9C,EAAWuB,EAAiBJ,MAAM,MACxD4B,EAAkB/C,EAAWyB,EAAaN,MAAM,MAChD6B,EAAuBhD,EAAW2B,EAAkBR,MAAM,MAC1D8B,EAAwBjD,EAAW6B,EAAmBV,MAAM,MAC5D+B,EAA2BlD,EAAW+B,EAAsBZ,MAAM,MAClEgC,EAAmBnD,EAAWiC,EAAcd,MAAM,MAClDiC,EAAqBpD,EAAWmC,EAAgBhB,MAAM,MACtDkC,EAAyBrD,EAAWqC,EAAoBlB,MAAM,MAC9DmC,EAAqBtD,EAAWuC,EAAgBpB,MAAM,MACtDoC,EAAuBvD,EAAWwC,EAAkBrB,MAAM,MAG1DqC,EAA6B,MAAlBvC,EAAyBA,EAAiB2B,EAAe,GACpEa,EAAad,EAAc,GAAKtD,EAAmB,eACnDqE,EAAQ3E,EAAE,QAGd,GAAG8D,EAAmBxC,OACrB,IAAIsD,EAAe,wCAAsBH,EAAW,0BAKrD,IAAII,EAAY7E,EAAE,yBAGd0E,GAAcd,EAAc,IAC/B5D,EAAE,QAAQ8B,SAAS,kBAEY,GAA7BgC,EAAmBxC,QAEVwC,EAAmB,IAAMA,EAAmB,IACrD9D,EAAE,QAAQ8B,SAAS,cAIjB4C,IACDZ,EAAmBxC,QACrBtB,EAAE8E,KAAKhB,EAAoB,SAAUzC,GACrC,IAAI0D,EAAQjB,EAAmBzC,GAC3B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBd,EAAoBzC,QACtBtB,EAAE8E,KAAKf,EAAqB,SAAU1C,GACtC,IAAI0D,EAAQhB,EAAoB1C,GAC5B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBb,EAAgB1C,QAClBtB,EAAE8E,KAAKd,EAAiB,SAAU3C,GAClC,IAAI0D,EAAQf,EAAgB3C,GACxB2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBZ,EAAqB3C,QACvBtB,EAAE8E,KAAKb,EAAsB,SAAU5C,GACvC,IAAI0D,EAAQd,EAAqB5C,GAC7B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBX,EAAsB5C,QACxBtB,EAAE8E,KAAKZ,EAAuB,SAAU7C,GACxC,IAAI0D,EAAQb,EAAsB7C,GAClCrB,EAAE,0FACsB+E,EAAK,gHACYA,EAAK,kFAErCE,SAASJ,KAGhBV,EAAyB7C,QAC3BtB,EAAE8E,KAAKX,EAA0B,SAAU9C,GAC3C,IAAI0D,EAAQZ,EAAyB9C,GACjC2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBT,EAAiB9C,QACnBtB,EAAE8E,KAAKV,EAAkB,SAAU/C,GACnC,IAAI0D,EAAQX,EAAiB/C,GACzB2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBR,EAAmB/C,QACrBtB,EAAE8E,KAAKT,EAAoB,SAAUhD,GACrC,IAAI0D,EAAQV,EAAmBhD,GAC3B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBP,EAAuBhD,QACzBtB,EAAE8E,KAAKR,EAAwB,SAAUjD,GACzC,IAAI0D,EAAQT,EAAuBjD,GAC/B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBN,EAAmBjD,QACrBtB,EAAE8E,KAAKP,EAAoB,SAAUlD,GACrC,IAAI0D,EAAQR,EAAmBlD,GAC3B2D,EAAYD,EAAMnE,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OACvDZ,EAAE,0FACsB+E,EAAK,mHACQC,EAAS,mFAErCC,SAASJ,KAGhBL,EAAqBlD,QACvBtB,EAAE8E,KAAKN,EAAsB,SAAUnD,GACvC,IAAI0D,EAAQP,EAAqBnD,GACjCrB,EAAE,0FACsB+E,EAAK,gHACYA,EAAK,kFAErCE,SAASJ,MAOhBjB,EAAc,GACjB5D,EAAE,qBAAqB8B,SAAS,2BAMjC,IAGIoD,EAHAC,EAAgBC,KAAKC,IAAKzB,EAAa,GAKtCc,IACJQ,EAAW,IAAI/E,EAAO,qBAErBmF,UAAY7E,OAAO8E,YAAc,IAAO,WAAa,aACrDJ,cAAeA,EACfK,aAAc,GACdxD,MAAM,EACNyD,aAAgC,MAAlBvD,EAAyBlC,EAAE,cAAckC,EAAc,MAAMwD,SAASC,QAAU,EAE9FC,YACCC,OAAQ,sBACRC,OAAQ,0BAKNpB,GACJQ,EAASa,GAAG,OAAQ,WACnBC,WAAW,WACW,MAAlB9D,IACFgD,EAASe,YAAcjG,EAAE,cAAckC,EAAc,YAAYwD,SAASC,UAE/C,GAAzBT,EAASe,cACXf,EAASe,YAAc,GAGxBjG,EAAE,iBAAiB6B,YAAY,yBAC/B7B,EAAEkF,EAASgB,OAAOhB,EAASe,cAAcnE,SAAS,yBAClD9B,EAAEkF,EAASgB,OAAOhB,EAASe,cAAcE,KAAK,gCAAgCC,QAAQ,UAEpF,OAKLpG,EAAE,sBAAsBqG,GAAG,GAAGC,KAAK,OAAQ1B,GAOxCf,EAAevC,QASK,IAAIiF,UAAUC,iBACnCC,YAAe,kBACfC,QACCC,MAASlC,EACTmC,UAAW,wCACXC,WAAY,2BACZC,OAAQ,yBAEP9E,OAKAkD,IACHA,EAASlD,OAETkD,EAASa,GAAG,SAAU,WACrBb,EAAS6B,YAKXpC,EAAMoB,GAAG,QAAS,oBAAqB,SAAUiB,GAChDhH,EAAE,aAAaiH,SACfjH,EAAE,oBAAoBiH,SACtBjH,EAAE,qBAAqBiH,SACvBjH,EAAE,eAAekH,WAAW,SAC5BlH,EAAE,gCAAgCmH,UAAUnH,EAAE,iCACxB,IAAIuG,UAAUC,gBACpCxG,EAAE,iBAAiB6B,YAAY,yBAC/B7B,EAAEoH,MAAM1B,OAAO,iBAAiB5D,SAAS,yBACzC,IAAIuF,EAAcrH,EAAEoH,MAAME,KAAK,MAC3BC,EAAmBvH,EAAE,oBACzBgH,EAAEQ,iBACFD,EAAiBE,QACjBjG,IAMAxB,EAAE,sBAAsBqG,GAAG,GAAGC,KAAK,OAAQ,wEAAgDe,EAAc,cAAeA,GAiBlG,IAAId,UAAUC,iBACnCC,YAAe,kBACfC,QACCC,MAASU,EACTT,UAAW,wCACXC,WAAY,2BACZC,OAAQ,yBAEP9E,SAGJ2C,EAAMoB,GAAG,QAAS,iBAAkB,SAASiB,GAC5C,IAAIvF,EAAiBzB,EAAE,0BACpByB,EAAeM,KAAK,iBAAiBT,QACvCtB,EAAE,kBAAkB6B,YAAY,YAChCJ,EAAeM,KAAK,iBAAiBoE,KAAK,gCAAgCC,QAAQ,UAElFpG,EAAEoH,MAAMtF,SAAS,YAElBkF,EAAEQ,mBAGH7C,EAAMoB,GAAG,QAAS,iBAAkB,SAASiB,GAC5C,IAAIvF,EAAiBzB,EAAE,0BACpByB,EAAeG,KAAK,iBAAiBN,QACvCtB,EAAE,kBAAkB6B,YAAY,YAChCJ,EAAeG,KAAK,iBAAiBuE,KAAK,gCAAgCC,QAAQ,UAElFpG,EAAEoH,MAAMtF,SAAS,YAElBkF,EAAEQ,mBAGH7C,EAAMoB,GAAG,QAAS,4BAA6B,SAAUiB,GACxDhH,EAAE,aAAaiH,SACf,IACIS,EADQ1H,EAAEoH,MACSE,KAAK,MAC5BtH,EAAE,eAAe2H,OACjB3H,EAAE,oBAAoBiH,SACtBjH,EAAE,qBAAqBiH,SACvBD,EAAEQ,iBACFxH,EAAE,iBAAiB6B,YAAY,yBAC/B7B,EAAEoH,MAAM1B,OAAO,iBAAiB5D,SAAS,yBACzC9B,EAAE,4HAA4H0H,EAAU,wGAAwGP,UAAUnH,EAAE,iCAC5PwB,MAGDmD,EAAMoB,GAAG,QAAS,2BAA4B,SAAUiB,GACvDhH,EAAE,aAAaiH,SACf,IAAIW,EAAQ5H,EAAEoH,MACdpH,EAAE,eAAe2H,OACjB,IACI3C,EADY4C,EAAMN,KAAK,MACD1G,QAAQ,IAAK,OAAOA,QAAQ,IAAK,OAC3DZ,EAAE,oBAAoBiH,SACtBjH,EAAE,qBAAqBiH,SACvBjH,EAAE,iBAAiB6B,YAAY,yBAC/B7B,EAAEoH,MAAM1B,OAAO,iBAAiB5D,SAAS,yBACzCkF,EAAEQ,iBACFxH,EAAE,sLACwDgF,EAAS,uGAEjDmC,UAAUnH,EAAE,iCAC9BA,EAAE,cAAc6H,IAAI,GAAGC,OACvBtG,MAGDmD,EAAMoB,GAAG,QAAS,+BAAgC,SAAUiB,GAC3DhH,EAAE,oBAAoBiH,SACtBjH,EAAE,aAAaiH,SACfjH,EAAE,qBAAqBiH,SACvBjH,EAAE,yBAAyBmH,UAAUnH,EAAE,iCACtB,IAAIuG,UAAUwB,WAA/B,IACIH,EAAQ5H,EAAEoH,MACdpH,EAAE,eAAe2H,OACjB,IAAIK,EAAeJ,EAAMN,KAAK,MAC9BtH,EAAE,iBAAiB6B,YAAY,yBAC/B7B,EAAEoH,MAAM1B,OAAO,iBAAiB5D,SAAS,yBAEzC,IAAImG,EAAmBjI,EAAE,aAEzBgH,EAAEQ,iBACFS,EAAiBR,QAEA,IAAIlB,UAAUwB,YAC9BtB,YAAc,WACdC,QACCC,MAASqB,EACTpB,UAAW,2CAEV5E,OACHR,MAGDwE,WAAW,WACVhG,EAAE,sBAAsB6B,YAAY,iBACpC7B,EAAE,4BAA4B8B,SAAS,iBACrC,MAiBHoG,GAdD,WACC,IAAIC,EAAcnI,EAAE,mBAAmB0F,OAAO0C,UAC9CpI,EAAE,QAAQ+F,GAAG,QAAS,oBAAqB,SAASiB,GACnDhH,EAAE,QAAQqI,IAAI,QAAS,2BACvBrC,WAAW,WACVmC,EAAYrG,SAAS,UACrB9B,EAAE,QAAQ+F,GAAG,QAAS,0BAA2B,WAChDoC,EAAYtG,YAAY,aAEvB,MAMJyG,IAzdwB,CAAAlI,EAAAC,QAAAD,EAAAC,WAAZ,CAAAH,EAAAE,cAAAF,EAAAE,iBAAd,CAAUF,WA6dVA,EAAIE,YAAYC,MAAM2B,0BC/etB,IAAAuG,EAAAC,EAAAC;;;wCAGC,SAAAC,GAGCF,GAAQvI,EAAA,SAAkB0I,KAAAF,EAAA,mBAATF,EAAA,GAASA,EAAAK,MAAAC,EAAAL,GAAAD,KAAAO,EAAAD,QAAAJ,GAH3B,CAWA,SAAAzI,GAaD,IAkBA+I,EAGAC,EAEAC,EACAC,EACAC,EACAC,EAPAC,EAAA,aACAC,IAAA7I,OAAA,OAEA8I,EAAAvJ,EAAAS,QAUA+I,EAAA,SAAAjJ,EAAAkJ,GACAV,EAAAW,GAAA3D,GA1BA,MA0BAxF,EAzBA,OAyBAkJ,IAEAE,EAAA,SAAAC,EAAA3E,EAAA4E,EAAAC,GACA,IAAAC,EAAA3B,SAAA4B,cAAA,OAaA,OAZAD,EAAAH,UAAA,OAAAA,EACAC,IACAE,EAAAE,UAAAJ,GAEAC,EAKI7E,GACJA,EAAAiF,YAAAH,IALAA,EAAA/J,EAAA+J,GACA9E,GACA8E,EAAA9E,aAKA8E,GAEAI,EAAA,SAAAnD,EAAAM,GACAyB,EAAAW,GAAAU,eA7CA,MA6CApD,EAAAM,GAEAyB,EAAAsB,GAAAC,YAEAtD,IAAAuD,OAAA,GAAAC,cAAAxD,EAAAyD,MAAA,GACA1B,EAAAsB,GAAAC,UAAAtD,IACA+B,EAAAsB,GAAAC,UAAAtD,GAAA4B,MAAAG,EAAA/I,EAAA0K,QAAApD,YAIAqD,EAAA,SAAAC,GAKA,OAJAA,IAAAxB,GAAAL,EAAA8B,aAAAC,WACA/B,EAAA8B,aAAAC,SAAA9K,EAAA+I,EAAAsB,GAAAU,YAAAnK,QAAA,UAAAmI,EAAAsB,GAAAW,SACA5B,EAAAwB,GAEA7B,EAAA8B,aAAAC,UAGAG,EAAA,WACAjL,EAAAkL,cAAAC,YAEApC,EAAA,IAAAM,GACArH,OACAhC,EAAAkL,cAAAC,SAAApC,IA0BAM,EAAA+B,WAEAC,YAAAhC,EAMArH,KAAA,WACA,IAAAsJ,EAAAC,UAAAD,WACAvC,EAAAyC,QAAAzC,EAAA0C,MAAArD,SAAAsD,MAAAtD,SAAAuD,iBACA5C,EAAA6C,UAAA,YAAAC,KAAAP,GACAvC,EAAA+C,MAAA,qBAAAD,KAAAP,GACAvC,EAAAgD,mBAnCA,WACA,IAAAC,EAAA5D,SAAA4B,cAAA,KAAAiC,MACAC,GAAA,yBAEA,QAAAvD,IAAAqD,EAAA,WACA,SAGA,KAAAE,EAAA5K,QACA,GAAA4K,EAAAC,MAAA,eAAAH,EACA,SAIA,SAqBAI,GAIArD,EAAAsD,eAAAtD,EAAA6C,WAAA7C,EAAA+C,OAAA,8EAAAD,KAAAN,UAAAe,WACArD,EAAAjJ,EAAAoI,UAEAW,EAAAwD,gBAOAC,KAAA,SAAAlF,GAEA,IAAAjG,EAEA,QAAAiG,EAAAmF,MAAA,CAEA1D,EAAA2D,MAAApF,EAAAoF,MAAAC,UAEA5D,EAAApD,MAAA,EACA,IACAiH,EADAF,EAAApF,EAAAoF,MAEA,IAAArL,EAAA,EAAcA,EAAAqL,EAAApL,OAAkBD,IAKhC,IAJAuL,EAAAF,EAAArL,IACAwL,SACAD,IAAA7C,GAAA,IAEA6C,IAAAtF,EAAAyC,GAAA,IACAhB,EAAApD,MAAAtE,EACA,YAIA0H,EAAA2D,MAAA1M,EAAA0K,QAAApD,EAAAoF,OAAApF,EAAAoF,OAAApF,EAAAoF,OACA3D,EAAApD,MAAA2B,EAAA3B,OAAA,EAIA,IAAAoD,EAAA+D,OAAA,CAKA/D,EAAAgE,SACA5D,EAAA,GACA7B,EAAA0F,QAAA1F,EAAA0F,OAAA1L,OACAyH,EAAAW,GAAApC,EAAA0F,OAAA3G,GAAA,GAEA0C,EAAAW,GAAAT,EAGA3B,EAAA2F,KACAlE,EAAAwD,YAAAjF,EAAA2F,OACAlE,EAAAwD,YAAAjF,EAAA2F,SAEAlE,EAAA8B,aAAA9B,EAAAwD,YAAAjF,EAAA2F,MAEAlE,EAAA8B,gBAKA9B,EAAAsB,GAAArK,EAAAkN,QAAA,KAA6BlN,EAAAkL,cAAAiC,SAAA7F,GAC7ByB,EAAAqE,gBAAA,SAAArE,EAAAsB,GAAA+C,iBAAArE,EAAAsD,eAAAtD,EAAAsB,GAAA+C,gBAEArE,EAAAsB,GAAAhK,QACA0I,EAAAsB,GAAAgD,qBAAA,EACAtE,EAAAsB,GAAAiD,gBAAA,EACAvE,EAAAsB,GAAAkD,cAAA,EACAxE,EAAAsB,GAAAmD,iBAAA,GAMAzE,EAAA0E,YAGA1E,EAAA0E,UAAA9D,EAAA,MAAA5D,GAAA,uBACAgD,EAAA2E,UAGA3E,EAAA4E,KAAAhE,EAAA,QAAArD,KAAA,eAAAP,GAAA,qBAAAiB,GACA+B,EAAA6E,cAAA5G,EAAA6G,SACA9E,EAAA2E,UAIA3E,EAAA+E,UAAAnE,EAAA,YAAAZ,EAAA4E,OAGA5E,EAAAgF,iBAAApE,EAAA,WACAZ,EAAAsB,GAAA2D,YACAjF,EAAAiF,UAAArE,EAAA,YAAAZ,EAAA+E,UAAA/E,EAAAsB,GAAA4D,WAKA,IAAAC,EAAAlO,EAAAkL,cAAAgD,QACA,IAAA7M,EAAA,EAAaA,EAAA6M,EAAA5M,OAAoBD,IAAA,CACjC,IAAA8M,EAAAD,EAAA7M,GACA8M,IAAA5D,OAAA,GAAA6D,cAAAD,EAAA1D,MAAA,GACA1B,EAAA,OAAAoF,GAAAE,KAAAtF,GAEAoB,EAAA,cAGApB,EAAAsB,GAAAkD,eAEAxE,EAAAsB,GAAAiE,gBAGA9E,EAjOA,cAiOA,SAAAxC,EAAAuH,EAAAC,EAAA5B,GACA4B,EAAAC,kBAAA9D,EAAAiC,EAAAhC,QAEAzB,GAAA,qBALAJ,EAAA4E,KAAAe,OAAA/D,MASA5B,EAAAsB,GAAAsE,WACAxF,GAAA,kBAKAJ,EAAAqE,gBACArE,EAAA4E,KAAAiB,KACAC,SAAA9F,EAAAsB,GAAAyE,UACAC,UAAA,SACAD,UAAA/F,EAAAsB,GAAAyE,YAGA/F,EAAA4E,KAAAiB,KACAI,IAAAzF,EAAA0F,YACAC,SAAA,eAGA,IAAAnG,EAAAsB,GAAA8E,YAAA,SAAApG,EAAAsB,GAAA8E,aAAApG,EAAAqE,kBACArE,EAAA0E,UAAAmB,KACAQ,OAAAnG,EAAAmG,SACAF,SAAA,aAMAnG,EAAAsB,GAAAmD,iBAEAvE,EAAAlD,GAAA,qBAAAiB,GACA,KAAAA,EAAAqI,SACAtG,EAAA2E,UAKAnE,EAAAxD,GAAA,wBACAgD,EAAAuG,eAIAvG,EAAAsB,GAAAgD,sBACAlE,GAAA,oBAGAA,GACAJ,EAAA4E,KAAA7L,SAAAqH,GAIA,IAAAoG,EAAAxG,EAAAyG,GAAAjG,EAAA6F,SAGAK,KAEA,GAAA1G,EAAAqE,iBACArE,EAAA2G,cAAAH,GAAA,CACA,IAAAvD,EAAAjD,EAAA4G,oBACA3D,IACAyD,EAAAG,YAAA5D,GAKAjD,EAAAqE,kBACArE,EAAA8G,MAIA7P,EAAA,cAAA4O,IAAA,qBAHAa,EAAAZ,SAAA,UASA,IAAAiB,EAAA/G,EAAAsB,GAAA0F,UA0CA,OAzCAhH,EAAA8G,QACAC,GAAA,YAEAA,GACA/G,EAAAiH,eAAAF,GAIA/G,EAAAkH,iBAEA9F,EAAA,iBAGAnK,EAAA,QAAA4O,IAAAa,GAGA1G,EAAA0E,UAAAyC,IAAAnH,EAAA4E,MAAAxG,UAAA4B,EAAAsB,GAAAlD,WAAAnH,EAAAoI,SAAA+H,OAGApH,EAAAqH,eAAAhI,SAAAiI,cAGArK,WAAA,WAEA+C,EAAAuH,SACAvH,EAAAiH,eAxUA,aAyUAjH,EAAAwH,aAGAxH,EAAA0E,UAAA3L,SA5UA,aAgVAmH,EAAAlD,GAAA,cAAAgD,EAAAyH,aAEI,IAEJzH,EAAA+D,QAAA,EACA/D,EAAAuG,WAAAC,GACApF,EA1VA,QA4VA7C,EArMAyB,EAAAkH,kBA2MAvC,MAAA,WACA3E,EAAA+D,SACA3C,EAxWA,eA0WApB,EAAA+D,QAAA,EAEA/D,EAAAsB,GAAAoG,eAAA1H,EAAAyC,SAAAzC,EAAAgD,oBACAhD,EAAAiH,eApWA,gBAqWAhK,WAAA,WACA+C,EAAA2H,UACK3H,EAAAsB,GAAAoG,eAEL1H,EAAA2H,WAOAA,OAAA,WACAvG,EA3XA,SA6XA,IAAAwG,EAAAC,0BAYA,GAVA7H,EAAA0E,UAAAoD,SACA9H,EAAA4E,KAAAkD,SACA9H,EAAA+E,UAAArG,QAEAsB,EAAAsB,GAAA0F,YACAY,GAAA5H,EAAAsB,GAAA0F,UAAA,KAGAhH,EAAA+H,oBAAAH,GAEA5H,EAAAqE,gBAAA,CACA,IAAAqC,GAAwBG,YAAA,IACxB7G,EAAA8G,MACA7P,EAAA,cAAA4O,IAAA,eAEAa,EAAAZ,SAAA,GAEA7O,EAAA,QAAA4O,IAAAa,GAGAxG,EAAAZ,IAAA,yBACAU,EAAAW,GAAArB,IA5YA,QA+YAU,EAAA4E,KAAArH,KAAA,oBAAAY,WAAA,SACA6B,EAAA0E,UAAAnH,KAAA,kBACAyC,EAAA+E,UAAAxH,KAAA,0BAGAyC,EAAAsB,GAAAkD,cACAxE,EAAAsB,GAAAiE,iBAAA,IAAAvF,EAAA8B,aAAA9B,EAAAgI,SAAAnG,OACA7B,EAAA8B,aAAAC,UACA/B,EAAA8B,aAAAC,SAAA+F,SAIA9H,EAAAsB,GAAA2G,eAAAjI,EAAAqH,gBACApQ,EAAA+I,EAAAqH,gBAAAa,QAEAlI,EAAAgI,SAAA,KACAhI,EAAAuH,QAAA,KACAvH,EAAA8B,aAAA,KACA9B,EAAAmI,WAAA,EAEA/G,EAzaA,eA4aAmF,WAAA,SAAA6B,GAEA,GAAApI,EAAA+C,MAAA,CAEA,IAAAsF,EAAAhJ,SAAAiJ,gBAAAC,YAAA7Q,OAAA8E,WACA6J,EAAA3O,OAAA8Q,YAAAH,EACArI,EAAA4E,KAAAiB,IAAA,SAAAQ,GACArG,EAAAyG,GAAAJ,OAEArG,EAAAyG,GAAA2B,GAAA5H,EAAA6F,SAGArG,EAAAqE,iBACArE,EAAA4E,KAAAiB,IAAA,SAAA7F,EAAAyG,IAGArF,EAAA,WAOA8F,eAAA,WACA,IAAArD,EAAA7D,EAAA2D,MAAA3D,EAAApD,OAGAoD,EAAAgF,iBAAA8C,SAEA9H,EAAAuH,SACAvH,EAAAuH,QAAAO,SAEAjE,EAAAC,SACAD,EAAA7D,EAAAyI,QAAAzI,EAAApD,QAGA,IAAAiF,EAAAgC,EAAAhC,KAQA,GANAT,EAAA,gBAAApB,EAAAgI,SAAAhI,EAAAgI,SAAAnG,KAAA,GAAAA,IAIA7B,EAAAgI,SAAAnE,GAEA7D,EAAA8B,aAAAD,GAAA,CACA,IAAA6G,IAAA1I,EAAAsB,GAAAO,IAAA7B,EAAAsB,GAAAO,GAAA6G,OAGAtH,EAAA,mBAAAsH,GAGA1I,EAAA8B,aAAAD,IADA6G,GACAzR,EAAAyR,GAOAvI,OAAA0D,EAAAhC,MACA7B,EAAA+E,UAAAjM,YAAA,OAAAqH,EAAA,WAGA,IAAAwI,EAAA3I,EAAA,MAAA6B,EAAAL,OAAA,GAAA6D,cAAAxD,EAAAH,MAAA,IAAAmC,EAAA7D,EAAA8B,aAAAD,IACA7B,EAAA4I,cAAAD,EAAA9G,GAEAgC,EAAAgF,WAAA,EAEAzH,EA3eA,SA2eAyC,GACA1D,EAAA0D,EAAAhC,KAGA7B,EAAA+E,UAAA+D,QAAA9I,EAAAgF,kBAEA5D,EAAA,gBAOAwH,cAAA,SAAAD,EAAA9G,GACA7B,EAAAuH,QAAAoB,EAEAA,EACA3I,EAAAsB,GAAAkD,cAAAxE,EAAAsB,GAAAiE,iBACA,IAAAvF,EAAA8B,aAAAD,GAEA7B,EAAAuH,QAAAnK,KAAA,cAAA7E,QACAyH,EAAAuH,QAAA5B,OAAA/D,KAGA5B,EAAAuH,QAAAoB,EAGA3I,EAAAuH,QAAA,GAGAnG,EA5gBA,gBA6gBApB,EAAA+E,UAAAhM,SAAA,OAAA8I,EAAA,WAEA7B,EAAAgF,iBAAAW,OAAA3F,EAAAuH,UAQAkB,QAAA,SAAA7L,GACA,IACAiF,EADAgC,EAAA7D,EAAA2D,MAAA/G,GAUA,GAPAiH,EAAAkF,QACAlF,GAAY7C,GAAA/J,EAAA4M,KAEZhC,EAAAgC,EAAAhC,KACAgC,GAAYtF,KAAAsF,EAAAmF,IAAAnF,EAAAmF,MAGZnF,EAAA7C,GAAA,CAIA,IAHA,IAAAgD,EAAAhE,EAAAgE,MAGA1L,EAAA,EAAkBA,EAAA0L,EAAAzL,OAAkBD,IACpC,GAAAuL,EAAA7C,GAAAiI,SAAA,OAAAjF,EAAA1L,IAAA,CACAuJ,EAAAmC,EAAA1L,GACA,MAIAuL,EAAAmF,IAAAnF,EAAA7C,GAAAzD,KAAA,gBACAsG,EAAAmF,MACAnF,EAAAmF,IAAAnF,EAAA7C,GAAAzD,KAAA,SAUA,OANAsG,EAAAhC,QAAA7B,EAAAsB,GAAAO,MAAA,SACAgC,EAAAjH,QACAiH,EAAAC,QAAA,EACA9D,EAAA2D,MAAA/G,GAAAiH,EACAzC,EAAA,eAAAyC,GAEA7D,EAAA2D,MAAA/G,IAOAsM,SAAA,SAAAlI,EAAAmI,GACA,IAAAC,EAAA,SAAAnL,GACAA,EAAAoL,MAAAhL,KACA2B,EAAAsJ,WAAArL,EAAA+C,EAAAmI,IAGAA,IACAA,MAGA,IAAAI,EAAA,sBACAJ,EAAAlF,OAAAjD,EAEAmI,EAAAxF,OACAwF,EAAAzF,OAAA,EACA1C,EAAA1B,IAAAiK,GAAAvM,GAAAuM,EAAAH,KAEAD,EAAAzF,OAAA,EACAyF,EAAAK,SACAxI,EAAA1B,IAAAiK,GAAAvM,GAAAuM,EAAAJ,EAAAK,SAAAJ,IAEAD,EAAAxF,MAAA3C,EACAA,EAAA1B,IAAAiK,GAAAvM,GAAAuM,EAAAH,MAIAE,WAAA,SAAArL,EAAA+C,EAAAmI,GAIA,SAHAvJ,IAAAuJ,EAAAM,SAAAN,EAAAM,SAAAxS,EAAAkL,cAAAiC,SAAAqF,aAGA,IAAAxL,EAAAyL,OAAAzL,EAAA0L,SAAA1L,EAAA2L,SAAA3L,EAAA4L,QAAA5L,EAAA6L,UAAA,CAIA,IAAAC,OAAAnK,IAAAuJ,EAAAY,UAAAZ,EAAAY,UAAA9S,EAAAkL,cAAAiC,SAAA2F,UAEA,GAAAA,EACA,GAAA9S,EAAA+S,WAAAD,IACA,IAAAA,EAAAzE,KAAAtF,GACA,cAGA,GAAAQ,EAAAyJ,QAAAF,EACA,SAKA9L,EAAA4D,OACA5D,EAAAQ,iBAGAuB,EAAA+D,QACA9F,EAAAiM,mBAIAf,EAAAnI,GAAA/J,EAAAgH,EAAAoL,OACAF,EAAAK,WACAL,EAAAxF,MAAA3C,EAAA5D,KAAA+L,EAAAK,WAEAxJ,EAAAyD,KAAA0F,KAOAgB,aAAA,SAAAC,EAAAC,GAEA,GAAArK,EAAAiF,UAAA,CACAhF,IAAAmK,GACApK,EAAA+E,UAAAjM,YAAA,SAAAmH,GAGAoK,GAAA,YAAAD,IACAC,EAAArK,EAAAsB,GAAA4D,UAGA,IAAA3G,GACA6L,SACAC,QAGAjJ,EAAA,eAAA7C,GAEA6L,EAAA7L,EAAA6L,OACAC,EAAA9L,EAAA8L,KAEArK,EAAAiF,UAAAnE,KAAAuJ,GAEArK,EAAAiF,UAAA7H,KAAA,KAAAJ,GAAA,iBAAAiB,GACAA,EAAAqM,6BAGAtK,EAAA+E,UAAAhM,SAAA,SAAAqR,GACAnK,EAAAmK,IAUAvF,cAAA,SAAAC,GAEA,IAAA7N,EAAA6N,GAAAmE,SApqBA,qBAoqBA,CAIA,IAAAsB,EAAAvK,EAAAsB,GAAAgD,oBACAkG,EAAAxK,EAAAsB,GAAAiD,eAEA,GAAAgG,GAAAC,EACA,SAIA,IAAAxK,EAAAuH,SAAAtQ,EAAA6N,GAAAmE,SAAA,cAAAjJ,EAAAiF,WAAAH,IAAA9E,EAAAiF,UAAA,GACA,SAIA,GAAAH,IAAA9E,EAAAuH,QAAA,IAAAtQ,EAAAwT,SAAAzK,EAAAuH,QAAA,GAAAzC,IAOK,GAAAyF,EACL,cAPA,GAAAC,GAEAvT,EAAAwT,SAAApL,SAAAyF,GACA,SAQA,WAEAmC,eAAA,SAAAyD,GACA1K,EAAA0E,UAAA3L,SAAA2R,GACA1K,EAAA4E,KAAA7L,SAAA2R,IAEA3C,oBAAA,SAAA2C,GACArM,KAAAqG,UAAA5L,YAAA4R,GACA1K,EAAA4E,KAAA9L,YAAA4R,IAEA/D,cAAA,SAAAyB,GACA,OAAApI,EAAA8G,MAAA5G,EAAAmG,SAAAhH,SAAA+H,KAAAuD,eAAAvC,GAAA5H,EAAA6F,WAEAmB,UAAA,YACAxH,EAAAsB,GAAA4G,MAAAlI,EAAAuH,QAAAnK,KAAA4C,EAAAsB,GAAA4G,OAAA5K,GAAA,GAAA0C,EAAA4E,MAAAsD,SAEAT,WAAA,SAAAxJ,GACA,GAAAA,EAAA6G,SAAA9E,EAAA4E,KAAA,KAAA3N,EAAAwT,SAAAzK,EAAA4E,KAAA,GAAA3G,EAAA6G,QAEA,OADA9E,EAAAwH,aACA,GAGAoD,aAAA,SAAApF,EAAAC,EAAA5B,GACA,IAAAgH,EACAhH,EAAAtF,OACAkH,EAAAxO,EAAAkN,OAAAN,EAAAtF,KAAAkH,IAEArE,EAnuBA,eAmuBAoE,EAAAC,EAAA5B,IAEA5M,EAAA8E,KAAA0J,EAAA,SAAAvB,EAAA4G,GACA,QAAAlL,IAAAkL,IAAA,IAAAA,EACA,SAGA,IADAD,EAAA3G,EAAA7K,MAAA,MACAd,OAAA,GACA,IAAAyI,EAAAwE,EAAApI,KAAA2N,QAAAF,EAAA,IAEA,GAAA7J,EAAAzI,OAAA,GACA,IAAAgF,EAAAsN,EAAA,GACA,gBAAAtN,EACAyD,EAAA,KAAA8J,EAAA,IACA9J,EAAAgK,YAAAF,GAEO,QAAAvN,EACPyD,EAAAiK,GAAA,OACAjK,EAAAzD,KAAA,MAAAuN,GAEA9J,EAAAgK,YAAA/T,EAAA,SAAAsG,KAAA,MAAAuN,GAAAvN,KAAA,QAAAyD,EAAAzD,KAAA,WAGAyD,EAAAzD,KAAAsN,EAAA,GAAAC,SAKAtF,EAAApI,KAAA2N,QAAA7G,GAAApD,KAAAgK,MAKAlE,kBAAA,WAEA,QAAAhH,IAAAI,EAAAkL,cAAA,CACA,IAAAC,EAAA9L,SAAA4B,cAAA,OACAkK,EAAAjI,MAAAkI,QAAA,iFACA/L,SAAA+H,KAAAjG,YAAAgK,GACAnL,EAAAkL,cAAAC,EAAAE,YAAAF,EAAA5C,YACAlJ,SAAA+H,KAAAkE,YAAAH,GAEA,OAAAnL,EAAAkL,gBAWAjU,EAAAkL,eACAC,SAAA,KACAmJ,MAAAjL,EAAA+B,UACA8C,WAEA1B,KAAA,SAAA0F,EAAAvM,GAWA,OAVAsF,KAKAiH,EAHAA,EAGAlS,EAAAkN,QAAA,KAA+BgF,OAG/BzF,OAAA,EACAyF,EAAAvM,SAAA,EACAyB,KAAA+D,SAAAqB,KAAA0F,IAGAxE,MAAA,WACA,OAAA1N,EAAAkL,cAAAC,UAAAnL,EAAAkL,cAAAC,SAAAuC,SAGA6G,eAAA,SAAAhU,EAAAuI,GACAA,EAAAoJ,UACAlS,EAAAkL,cAAAiC,SAAA5M,GAAAuI,EAAAoJ,SAEAlS,EAAAkN,OAAA9F,KAAAkN,MAAAxL,EAAAwL,OACAlN,KAAA8G,QAAA3M,KAAAhB,IAGA4M,UAKA2F,UAAA,EAEA7F,IAAA,KAEAuF,UAAA,EAEAzC,UAAA,GAEA/B,WAAA,EAEAiD,MAAA,GAEA5D,qBAAA,EAEAC,gBAAA,EAEAgB,gBAAA,EAEAf,cAAA,EAEAC,iBAAA,EAEAnN,OAAA,EAEAsO,UAAA,EAEA8B,aAAA,EAEAtJ,UAAA,KAEAiG,gBAAA,OAEA+B,WAAA,OAEAL,UAAA,OAEA/D,YAAA,0EAEAC,OAAA,cAEAiD,SAAA,aAEA+C,eAAA,IAOAhR,EAAAwU,GAAAtJ,cAAA,SAAAgH,GACAjH,IAEA,IAAAwJ,EAAAzU,EAAAoH,MAGA,oBAAA8K,EAEA,YAAAA,EAAA,CACA,IAAAxF,EACAgI,EAAApL,EAAAmL,EAAAnN,KAAA,iBAAAmN,EAAA,GAAAvJ,cACAvF,EAAAgP,SAAAC,UAAA,UAEAF,EAAAhI,MACAA,EAAAgI,EAAAhI,MAAA/G,IAEA+G,EAAA+H,EACAC,EAAAnC,WACA7F,IAAAvG,KAAAuO,EAAAnC,WAEA7F,IAAArG,GAAAV,IAEAoD,EAAAsJ,YAAoBD,MAAA1F,GAAY+H,EAAAC,QAEhC3L,EAAA+D,QACA/D,EAAAmJ,GAAAtJ,MAAAG,EAAA3H,MAAAgK,UAAAX,MAAA4D,KAAAuG,UAAA,SAKA1C,EAAAlS,EAAAkN,QAAA,KAA8BgF,GAO9B5I,EACAmL,EAAAnN,KAAA,gBAAA4K,GAEAuC,EAAA,GAAAvJ,cAAAgH,EAGAnJ,EAAAkJ,SAAAwC,EAAAvC,GAGA,OAAAuC,GAOA,IACAI,EACAC,EACAC,EACAC,EAAA,WACAD,IACAD,EAAAG,MAAAF,EAAAjT,SAAA+S,IAAAhE,SACAkE,EAAA,OAIA/U,EAAAkL,cAAAqJ,eAXA,UAYArC,SACAgD,YAAA,OACAzD,OAAA,GACA0D,UAAA,qBAEAb,OAEAc,WAAA,WACArM,EAAAgE,MAAAxL,KApBA,UAsBAiI,EAAA6L,eAAA,WACAL,OAIAM,UAAA,SAAA1I,EAAA2B,GAIA,GAFAyG,IAEApI,EAAAmF,IAAA,CACA,IAAAwD,EAAAxM,EAAAsB,GAAAmL,OACAzL,EAAA/J,EAAA4M,EAAAmF,KAEA,GAAAhI,EAAAzI,OAAA,CAGA,IAAAoE,EAAAqE,EAAA,GAAA0L,WACA/P,KAAAoM,UACAgD,IACAD,EAAAU,EAAAL,YACAJ,EAAAnL,EAAAkL,GACAA,EAAA,OAAAA,GAGAE,EAAAhL,EAAAkL,MAAAH,GAAAjE,SAAAhP,YAAAgT,IAGA9L,EAAAmK,aAAA,cAEAnK,EAAAmK,aAAA,QAAAqC,EAAAJ,WACApL,EAAA/J,EAAA,SAIA,OADA4M,EAAA8I,cAAA3L,EACAA,EAKA,OAFAhB,EAAAmK,aAAA,SACAnK,EAAA4K,aAAApF,KAAiC3B,GACjC2B,MAQA,IACAoH,EACAC,EAAA,WACAD,GACA3V,EAAAoI,SAAA+H,MAAAtO,YAAA8T,IAGAE,EAAA,WACAD,IACA7M,EAAA+M,KACA/M,EAAA+M,IAAAC,SAIA/V,EAAAkL,cAAAqJ,eAdA,QAgBArC,SACA8D,SAAA,KACAC,OAAA,eACAC,OAAA,wDAGA5B,OACA6B,SAAA,WACApN,EAAAgE,MAAAxL,KAxBA,QAyBAoU,EAAA5M,EAAAsB,GAAA+L,KAAAH,OAEAzM,EAAA6L,aAAAQ,GACArM,EAAA,oBAAAqM,IAEAQ,QAAA,SAAAzJ,GAEA+I,GACA3V,EAAAoI,SAAA+H,MAAArO,SAAA6T,GAGA5M,EAAAmK,aAAA,WAEA,IAAAoD,EAAAtW,EAAAkN,QACA1M,IAAAoM,EAAAmF,IACAwE,QAAA,SAAAjP,EAAAkP,EAAAC,GACA,IAAAC,GACApP,OACAqP,IAAAF,GAGAtM,EAAA,YAAAuM,GAEA3N,EAAA4I,cAAA3R,EAAA0W,EAAApP,MAhDA,QAkDAsF,EAAAgK,UAAA,EAEAhB,IAEA7M,EAAAwH,YAEAvK,WAAA,WACA+C,EAAA4E,KAAA7L,SA3hCA,cA4hCO,IAEPiH,EAAAmK,aAAA,SAEA/I,EAAA,qBAEA0M,MAAA,WACAjB,IACAhJ,EAAAgK,SAAAhK,EAAAkK,WAAA,EACA/N,EAAAmK,aAAA,QAAAnK,EAAAsB,GAAA+L,KAAAF,OAAAtV,QAAA,QAAAgM,EAAAmF,QAEKhJ,EAAAsB,GAAA+L,KAAAJ,UAIL,OAFAjN,EAAA+M,IAAA9V,EAAAoW,KAAAE,GAEA,OAQA,IAAAS,EAiBA/W,EAAAkL,cAAAqJ,eAAA,SAEArC,SACAT,OAAA,iOAYAwE,OAAA,mBACAe,SAAA,QACAC,aAAA,EACAf,OAAA,sDAGA5B,OACA4C,UAAA,WACA,IAAAC,EAAApO,EAAAsB,GAAA+M,MACAC,EAAA,SAEAtO,EAAAgE,MAAAxL,KAAA,SAEAiI,EApmCA,OAomCA6N,EAAA,WACA,UAAAtO,EAAAgI,SAAAnG,MAAAuM,EAAAlB,QACAjW,EAAAoI,SAAA+H,MAAArO,SAAAqV,EAAAlB,UAIAzM,EA/mCA,QA+mCA6N,EAAA,WACAF,EAAAlB,QACAjW,EAAAoI,SAAA+H,MAAAtO,YAAAsV,EAAAlB,QAEA1M,EAAAlB,IAAA,gBAGAmB,EAAA,SAAA6N,EAAAtO,EAAAuO,aACAvO,EAAAyC,SACAhC,EAAA,cAAAT,EAAAuO,cAGAA,YAAA,WACA,IAAA1K,EAAA7D,EAAAgI,SACA,GAAAnE,KAAA2K,KAEAxO,EAAAsB,GAAA+M,MAAAH,YAAA,CACA,IAAAO,EAAA,EAEAzO,EAAAyC,UACAgM,EAAA7C,SAAA/H,EAAA2K,IAAA3I,IAAA,mBAAA+F,SAAA/H,EAAA2K,IAAA3I,IAAA,uBAEAhC,EAAA2K,IAAA3I,IAAA,aAAA7F,EAAAyG,GAAAgI,KAGAC,gBAAA,SAAA7K,GACAA,EAAA2K,MAEA3K,EAAA8K,SAAA,EAEAX,GACAY,cAAAZ,GAGAnK,EAAAgL,mBAAA,EAEAzN,EAAA,eAAAyC,GAEAA,EAAAiL,YACA9O,EAAAuH,SACAvH,EAAAuH,QAAAzO,YAAA,eAEA+K,EAAAiL,WAAA,KASAC,cAAA,SAAAlL,GAEA,IAAAmL,EAAA,EACAR,EAAA3K,EAAA2K,IAAA,GACAS,EAAA,SAAAC,GAEAlB,GACAY,cAAAZ,GAGAA,EAAAmB,YAAA,WACAX,EAAAY,aAAA,EACApP,EAAA0O,gBAAA7K,IAIAmL,EAAA,KACAJ,cAAAZ,GAIA,MADAgB,EAEAC,EAAA,IACQ,KAAAD,EACRC,EAAA,IACQ,MAAAD,GACRC,EAAA,OAEOC,IAGPD,EAAA,IAGAI,SAAA,SAAAxL,EAAA2B,GAEA,IAAA8J,EAAA,EAGAC,EAAA,WACA1L,IACAA,EAAA2K,IAAA,GAAAgB,UACA3L,EAAA2K,IAAAlP,IAAA,cAEAuE,IAAA7D,EAAAgI,WACAhI,EAAA0O,gBAAA7K,GAEA7D,EAAAmK,aAAA,UAGAtG,EAAA8K,SAAA,EACA9K,EAAA4L,QAAA,EAEArO,EAAA,wBAKAkO,EACA,IACArS,WAAAsS,EAAA,KAEAG,MAOAA,EAAA,WACA7L,IACAA,EAAA2K,IAAAlP,IAAA,cACAuE,IAAA7D,EAAAgI,WACAhI,EAAA0O,gBAAA7K,GACA7D,EAAAmK,aAAA,QAAAiE,EAAAjB,OAAAtV,QAAA,QAAAgM,EAAAmF,OAGAnF,EAAA8K,SAAA,EACA9K,EAAA4L,QAAA,EACA5L,EAAAkK,WAAA,IAGAK,EAAApO,EAAAsB,GAAA+M,MAGArN,EAAAwE,EAAApI,KAAA,YACA,GAAA4D,EAAAzI,OAAA,CACA,IAAAiW,EAAAnP,SAAA4B,cAAA,OACAuN,EAAA3N,UAAA,UACAgD,EAAA7C,IAAA6C,EAAA7C,GAAA5D,KAAA,OAAA7E,SACAiW,EAAAmB,IAAA9L,EAAA7C,GAAA5D,KAAA,OAAAG,KAAA,QAEAsG,EAAA2K,IAAAvX,EAAAuX,GAAAxR,GAAA,iBAAAuS,GAAAvS,GAAA,kBAAA0S,GACAlB,EAAAxF,IAAAnF,EAAAmF,IAIAhI,EAAAiK,GAAA,SACApH,EAAA2K,IAAA3K,EAAA2K,IAAAoB,UAGApB,EAAA3K,EAAA2K,IAAA,IACAY,aAAA,EACAvL,EAAA8K,SAAA,EACMH,EAAAvE,QACNpG,EAAA8K,SAAA,GAWA,OAPA3O,EAAA4K,aAAApF,GACAqK,MAnNA,SAAAhM,GACA,GAAAA,EAAAtF,WAAAqB,IAAAiE,EAAAtF,KAAAsR,MACA,OAAAhM,EAAAtF,KAAAsR,MAEA,IAAA7G,EAAAhJ,EAAAsB,GAAA+M,MAAAJ,SAEA,GAAAjF,EAAA,CACA,GAAA/R,EAAA+S,WAAAhB,GACA,OAAAA,EAAA1D,KAAAtF,EAAA6D,GACK,GAAAA,EAAA7C,GACL,OAAA6C,EAAA7C,GAAAzD,KAAAyL,IAAA,GAGA,SAsMA8G,CAAAjM,GACAkM,gBAAAlM,EAAA2K,KACK3K,GAEL7D,EAAAuO,cAEA1K,EAAA8K,SACAX,GAAAY,cAAAZ,GAEAnK,EAAAkK,WACAvI,EAAAzM,SAAA,eACAiH,EAAAmK,aAAA,QAAAiE,EAAAjB,OAAAtV,QAAA,QAAAgM,EAAAmF,QAEAxD,EAAA1M,YAAA,eACAkH,EAAAmK,aAAA,UAEA3E,IAGAxF,EAAAmK,aAAA,WACAtG,EAAAmM,SAAA,EAEAnM,EAAA8K,UACA9K,EAAAiL,WAAA,EACAtJ,EAAAzM,SAAA,eACAiH,EAAA+O,cAAAlL,IAGA2B,OAQA,IAAAyK,EAQAhZ,EAAAkL,cAAAqJ,eAAA,QAEArC,SACA+G,SAAA,EACAC,OAAA,cACAC,SAAA,IACAC,OAAA,SAAAC,GACA,OAAAA,EAAArF,GAAA,OAAAqF,IAAAlT,KAAA,SAIAmO,OAEAgF,SAAA,WACA,IAEAlC,EAFAmC,EAAAxQ,EAAAsB,GAAAmP,KACAnC,EAAA,QAGA,GAAAkC,EAAAN,SAAAlQ,EAAAgD,mBAAA,CAIA,IAqBA0N,EACAC,EAtBAP,EAAAI,EAAAJ,SACAQ,EAAA,SAAAvC,GACA,IAAAwC,EAAAxC,EAAAuB,QAAAzR,WAAA,SAAAA,WAAA,SAAApF,SAAA,sBACA+X,EAAA,OAAAN,EAAAJ,SAAA,SAAAI,EAAAL,OACAY,GACA5K,SAAA,QACA6K,OAAA,KACAC,KAAA,EACAhL,IAAA,EACAiL,8BAAA,UAEAC,EAAA,aAKA,OAHAJ,EAAA,WAAAI,GAAAJ,EAAA,QAAAI,GAAAJ,EAAA,MAAAI,GAAAJ,EAAAI,GAAAL,EAEAD,EAAAhL,IAAAkL,GACAF,GAEAO,EAAA,WACApR,EAAAuH,QAAA1B,IAAA,yBAKApF,EAAA,gBAAA6N,EAAA,WACA,GAAAtO,EAAAqR,aAAA,CASA,GAPAC,aAAAZ,GACA1Q,EAAAuH,QAAA1B,IAAA,yBAIAwI,EAAArO,EAAAuR,kBAIA,YADAH,KAIAT,EAAAC,EAAAvC,IAEAxI,IAAA7F,EAAAwR,cAEAxR,EAAA4E,KAAAe,OAAAgL,GAEAD,EAAAzT,WAAA,WACA0T,EAAA9K,IAAA7F,EAAAwR,YAAA,IACAd,EAAAzT,WAAA,WAEAmU,IAEAnU,WAAA,WACA0T,EAAAzS,SACAmQ,EAAAsC,EAAA,KACAvP,EAAA,uBACS,KAEDgP,IAED,OAMP3P,EAl5CA,cAk5CA6N,EAAA,WACA,GAAAtO,EAAAqR,aAAA,CAMA,GAJAC,aAAAZ,GAEA1Q,EAAAsB,GAAAoG,aAAA0I,GAEA/B,EAAA,CAEA,KADAA,EAAArO,EAAAuR,kBAEA,OAEAZ,EAAAC,EAAAvC,GAGAsC,EAAA9K,IAAA7F,EAAAwR,YAAA,IACAxR,EAAA4E,KAAAe,OAAAgL,GACA3Q,EAAAuH,QAAA1B,IAAA,uBAEA5I,WAAA,WACA0T,EAAA9K,IAAA7F,EAAAwR,eACO,OAKP/Q,EA76CA,QA66CA6N,EAAA,WACAtO,EAAAqR,eACAD,IACAT,GACAA,EAAAzS,SAEAmQ,EAAA,UAKAgD,WAAA,WACA,gBAAArR,EAAAgI,SAAAnG,MAGA0P,eAAA,WACA,QAAAvR,EAAAgI,SAAA2G,SACA3O,EAAAgI,SAAAwG,KAOAgD,WAAA,SAAAC,GACA,IAAAzQ,EAOA0Q,GALA1Q,EADAyQ,EACAzR,EAAAgI,SAAAwG,IAEAxO,EAAAsB,GAAAmP,KAAAJ,OAAArQ,EAAAgI,SAAAhH,IAAAhB,EAAAgI,WAGA0J,SACAC,EAAA/F,SAAA5K,EAAA6E,IAAA,mBACA+L,EAAAhG,SAAA5K,EAAA6E,IAAA,sBACA6L,EAAAzL,KAAAhP,EAAAS,QAAAwO,YAAAyL,EAQA,IAAAE,GACA5H,MAAAjJ,EAAAiJ,QAEA5D,QAAA9F,EAAAS,EAAAwH,cAAAxH,EAAA,GAAA8Q,cAAAF,EAAAD,GAUA,YA/KA/R,IAAAqQ,IACAA,OAAArQ,IAAAP,SAAA4B,cAAA,KAAAiC,MAAA6O,cAEA9B,EAuKA4B,EAAA,kBAAAA,EAAA,uBAAAH,EAAAT,KAAA,MAAAS,EAAAzL,IAAA,OAEA4L,EAAAZ,KAAAS,EAAAT,KACAY,EAAA5L,IAAAyL,EAAAzL,KAEA4L,MAYA,IAGAG,EAAA,SAAAC,GACA,GAAAjS,EAAA8B,aAAA,QACA,IAAAd,EAAAhB,EAAA8B,aAAA,OAAA1E,KAAA,UACA4D,EAAAzI,SAEA0Z,IACAjR,EAAA,GAAAgI,IARA,iBAYAhJ,EAAA0C,OACA1B,EAAA6E,IAAA,UAAAoM,EAAA,mBAMAhb,EAAAkL,cAAAqJ,eApBA,UAsBArC,SACAT,OAAA,6JAKAwJ,UAAA,aAGAC,UACAC,SACAxV,MAAA,cACAyV,GAAA,KACArJ,IAAA,2CAEAsJ,OACA1V,MAAA,aACAyV,GAAA,IACArJ,IAAA,4CAEAuJ,OACA3V,MAAA,iBACAoM,IAAA,uBAKAuC,OACAiH,WAAA,WACAxS,EAAAgE,MAAAxL,KAnDA,UAqDAiI,EAAA,wBAAAxC,EAAAwU,EAAAC,GACAD,IAAAC,IAtDA,WAuDAD,EACAT,IAxDA,WAyDOU,GACPV,GAAA,MAOAvR,EAAA6L,eAAA,WACA0F,OAIAW,UAAA,SAAA9O,EAAA2B,GACA,IAAAoN,EAAA/O,EAAAmF,IACA6J,EAAA7S,EAAAsB,GAAAwR,OAEA7b,EAAA8E,KAAA8W,EAAAV,SAAA,WACA,GAAAS,EAAAG,QAAA1U,KAAAzB,QAAA,EASA,OARAyB,KAAAgU,KAEAO,EADA,iBAAAvU,KAAAgU,GACAO,EAAAI,OAAAJ,EAAAK,YAAA5U,KAAAgU,IAAAhU,KAAAgU,GAAA9Z,OAAAqa,EAAAra,QAEA8F,KAAAgU,GAAA/M,KAAAjH,KAAAuU,IAGAA,EAAAvU,KAAA2K,IAAAnR,QAAA,OAAA+a,IACA,IAIA,IAAAM,KAQA,OAPAL,EAAAX,YACAgB,EAAAL,EAAAX,WAAAU,GAEA5S,EAAA4K,aAAApF,EAAA0N,EAAArP,GAEA7D,EAAAmK,aAAA,SAEA3E,MAaA,IAAA2N,EAAA,SAAAvW,GACA,IAAAwW,EAAApT,EAAA2D,MAAApL,OACA,OAAAqE,EAAAwW,EAAA,EACAxW,EAAAwW,EACIxW,EAAA,EACJwW,EAAAxW,EAEAA,GAEAyW,EAAA,SAAAhJ,EAAAiJ,EAAAC,GACA,OAAAlJ,EAAAxS,QAAA,WAAAyb,EAAA,GAAAzb,QAAA,YAAA0b,IAGAtc,EAAAkL,cAAAqJ,eAAA,WAEArC,SACA+G,SAAA,EACAsD,YAAA,oFACAC,SAAA,KACAC,oBAAA,EACAC,QAAA,EAEAC,MAAA,4BACAC,MAAA,yBACAC,SAAA,qBAGAvI,OACAwI,YAAA,WAEA,IAAAC,EAAAhU,EAAAsB,GAAA2S,QACA3F,EAAA,eAIA,GAFAtO,EAAAzD,WAAA,GAEAyX,MAAA9D,QAAA,SAEA9P,GAAA,eAEAK,EAhoDA,OAgoDA6N,EAAA,WAEA0F,EAAAN,oBACA1T,EAAA4E,KAAA5H,GAAA,QAAAsR,EAAA,sBACA,GAAAtO,EAAA2D,MAAApL,OAAA,EAEA,OADAyH,EAAAnH,QACA,IAKAqH,EAAAlD,GAAA,UAAAsR,EAAA,SAAArQ,GACA,KAAAA,EAAAqI,QACAtG,EAAAhH,OACO,KAAAiF,EAAAqI,SACPtG,EAAAnH,WAKA4H,EAAA,eAAA6N,EAAA,SAAArQ,EAAAM,GACAA,EAAA8L,OACA9L,EAAA8L,KAAAgJ,EAAA9U,EAAA8L,KAAArK,EAAAgI,SAAApL,MAAAoD,EAAA2D,MAAApL,WAIAkI,EA3pDA,cA2pDA6N,EAAA,SAAArQ,EAAAqS,EAAA7K,EAAA5B,GACA,IAAAqQ,EAAAlU,EAAA2D,MAAApL,OACAkN,EAAAuJ,QAAAkF,EAAA,EAAAb,EAAAW,EAAAF,SAAAjQ,EAAAjH,MAAAsX,GAAA,KAGAzT,EAAA,gBAAA6N,EAAA,WACA,GAAAtO,EAAA2D,MAAApL,OAAA,GAAAyb,EAAAL,SAAA3T,EAAAmU,UAAA,CACA,IAAAzL,EAAAsL,EAAAR,YACAW,EAAAnU,EAAAmU,UAAAld,EAAAyR,EAAA7Q,QAAA,YAAAmc,EAAAJ,OAAA/b,QAAA,mBAAAkB,SA5pDA,qBA6pDAqb,EAAApU,EAAAoU,WAAAnd,EAAAyR,EAAA7Q,QAAA,YAAAmc,EAAAH,OAAAhc,QAAA,oBAAAkB,SA7pDA,qBA+pDAob,EAAAE,MAAA,WACArU,EAAAhH,SAEAob,EAAAC,MAAA,WACArU,EAAAnH,SAGAmH,EAAA+E,UAAAY,OAAAwO,EAAAhN,IAAAiN,OAIA3T,EA/qDA,SA+qDA6N,EAAA,WACAtO,EAAAsU,iBAAAhD,aAAAtR,EAAAsU,iBAEAtU,EAAAsU,gBAAArX,WAAA,WACA+C,EAAAuU,sBACAvU,EAAAsU,gBAAA,MACM,MAIN7T,EA/rDA,QA+rDA6N,EAAA,WACApO,EAAAZ,IAAAgP,GACAtO,EAAA4E,KAAAtF,IAAA,QAAAgP,GACAtO,EAAAoU,WAAApU,EAAAmU,UAAA,QAIAtb,KAAA,WACAmH,EAAAzD,WAAA,EACAyD,EAAApD,MAAAuW,EAAAnT,EAAApD,MAAA,GACAoD,EAAAkH,kBAEAlO,KAAA,WACAgH,EAAAzD,WAAA,EACAyD,EAAApD,MAAAuW,EAAAnT,EAAApD,MAAA,GACAoD,EAAAkH,kBAEAsN,KAAA,SAAAC,GACAzU,EAAAzD,UAAAkY,GAAAzU,EAAApD,MACAoD,EAAApD,MAAA6X,EACAzU,EAAAkH,kBAEAqN,oBAAA,WACA,IAGAjc,EAHAoc,EAAA1U,EAAAsB,GAAA2S,QAAAR,QACAkB,EAAAtY,KAAAC,IAAAoY,EAAA,GAAA1U,EAAA2D,MAAApL,QACAqc,EAAAvY,KAAAC,IAAAoY,EAAA,GAAA1U,EAAA2D,MAAApL,QAGA,IAAAD,EAAA,EAAcA,IAAA0H,EAAAzD,UAAAqY,EAAAD,GAAqDrc,IACnE0H,EAAA6U,aAAA7U,EAAApD,MAAAtE,GAEA,IAAAA,EAAA,EAAcA,IAAA0H,EAAAzD,UAAAoY,EAAAC,GAAqDtc,IACnE0H,EAAA6U,aAAA7U,EAAApD,MAAAtE,IAGAuc,aAAA,SAAAjY,GAGA,GAFAA,EAAAuW,EAAAvW,IAEAoD,EAAA2D,MAAA/G,GAAAiM,UAAA,CAIA,IAAAhF,EAAA7D,EAAA2D,MAAA/G,GACAiH,EAAAC,SACAD,EAAA7D,EAAAyI,QAAA7L,IAGAwE,EAAA,WAAAyC,GAEA,UAAAA,EAAAhC,OACAgC,EAAA2K,IAAAvX,EAAA,2BAAA+F,GAAA,4BACA6G,EAAA8K,SAAA,IACM3R,GAAA,6BACN6G,EAAA8K,SAAA,EACA9K,EAAAkK,WAAA,EACA3M,EAAA,gBAAAyC,KACMtG,KAAA,MAAAsG,EAAAmF,MAINnF,EAAAgF,WAAA,OAWA5R,EAAAkL,cAAAqJ,eAFA,UAGArC,SACA2L,WAAA,SAAAjR,GACA,OAAAA,EAAAmF,IAAAnR,QAAA,kBAAAkd,GAAmD,YAAAA,KAEnDC,MAAA,GAEAzJ,OACA0J,WAAA,WACA,GAAAvd,OAAAwd,iBAAA,GAEA,IAAA5T,EAAAtB,EAAAsB,GAAA6T,OACAH,EAAA1T,EAAA0T,OAEAA,EAAAI,MAAAJ,UAEA,IACAvU,EAAA,+BAAAxC,EAAA4F,GACAA,EAAA2K,IAAA3I,KACAwP,YAAAxR,EAAA2K,IAAA,GAAAY,aAAA4F,EACA/K,MAAA,WAGAxJ,EAAA,+BAAAxC,EAAA4F,GACAA,EAAAmF,IAAA1H,EAAAwT,WAAAjR,EAAAmR,WAUA9S","file":"controllers/modal.js","sourcesContent":["import * as $ from 'jquery';\r\nimport \"../../lib/jquery.magnific-popup.js\";\r\nimport * as Swiper from 'swiper/dist/js/swiper.min';\r\n\r\ndeclare var s7viewers: any;\r\n//declare var addthis: any;\r\n\r\nconst enum URLs {\r\n\tIMAGE_BASE_URL = '//images.pfisterfaucets.com/is/image/',\r\n\tSCENE7_VIDEO_BASE_URL = '//s7d1.scene7.com/is/content/',\r\n\tSKINS_BASE_URL = '//s7d1.scene7.com/skins/',\r\n\tDOWNLOAD_IMAGE_URL = '/product/downloadimage?imageurl='\r\n}\r\n\r\nconst enum CONFIG {\r\n\tDEFAULT_SKIN = 'CONFIG.DEFAULT_SKIN'\r\n}\r\n\r\nnamespace PFF.controllers.modal {\r\n\tfunction getParameterByName(name, url?) {\r\n\t\tif (!url) url = window.location.href;\r\n\t\tname = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n\t\tvar regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n\t\t\tresults = regex.exec(url);\r\n\t\tif (!results) return null;\r\n\t\tif (!results[2]) return '';\r\n\t\treturn decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n\t}\r\n\r\n\t//strip out empty items in array\r\n\tfunction cleanArray(actual) {\r\n\t\tvar newArray = new Array();\r\n\t\tfor (var i = 0; i < actual.length; i++) {\r\n\t\t\tif (actual[i]) {\r\n\t\t\t\tnewArray.push(actual[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn newArray;\r\n\t}\r\n\r\n\tfunction checkForBeginningAndEnd() {\r\n\t\tlet $selectedSlide = $('.swiper-slide-selected');\r\n\t\tlet $nextArrow = $('.js-next-arrow');\r\n\t\tlet $prevArrow = $('.js-prev-arrow');\r\n\t\t(!$selectedSlide.next('.swiper-slide').length) ? $nextArrow.addClass('disabled') : $nextArrow.removeClass('disabled');\r\n\t\t(!$selectedSlide.prev('.swiper-slide').length) ? $prevArrow.addClass('disabled') : $prevArrow.removeClass('disabled');\r\n\t}\r\n\r\n\tfunction passIDBuildList() {\r\n\t\t// here were grabbing query string param values that get passed through so we can work with the data\r\n\t\t// console.log(document.location.href);\r\n\r\n\t\tvar queryStringValues = getParameterByName('ids');\r\n\t\tvar selectedItemID = getParameterByName('selectedItem');\r\n\t\t// console.log(selectedItemID);\r\n\r\n\t\t/*console.log(queryStringValues);\r\n\t\tconsole.log(selectedItemID);*/\r\n\r\n\t\t//performing a split on the ids coming through\r\n\t\tvar splitValues = queryStringValues.split(',');\r\n\t\tvar joinedValues = splitValues.join(',');\r\n\r\n\t\t//perform our string splits to get different segments of incoming data\r\n\r\n\t\tvar imageIds = joinedValues.split('vignetteids:')[0] != null ? joinedValues.split('vignetteids:')[0] : \"\";\r\n\t\tvar galleryimageIds = joinedValues.split('vignetteids:')[0] != null ? joinedValues.split('vignetteids:')[0] : '';\r\n\t\tvar vignetteSegment = joinedValues.split('vignetteids:')[1] != null ? joinedValues.split('vignetteids:')[1] : '';\r\n\t\tvar vignetteimageIds = vignetteSegment.split('roomids:')[0] != null ? vignetteSegment.split('roomids:')[0] : '';\r\n\t\tvar roomSegment = joinedValues.split('roomids:')[1] != null ? joinedValues.split('roomids:')[1] : '';\r\n\t\tvar roomimageIds = roomSegment.split('lifestyleids:')[0] != null ? roomSegment.split('lifestyleids:')[0] : '';\t\t\r\n\t\tvar lifestyleSegment = joinedValues.split('lifestyleids:')[1] != null ? joinedValues.split('lifestyleids:')[1] : '';\r\n\t\tvar lifestyleimageIds = lifestyleSegment.split('product360ids:')[0] != null ? lifestyleSegment.split('product360ids:')[0] : '';\t\t\r\n\t\tvar product360Segment = joinedValues.split('product360ids:')[1] != null ? joinedValues.split('product360ids:')[1] : '';\r\n\t\tvar product360videoIds = product360Segment.split('supplementaryids:')[0] != null ? product360Segment.split('supplementaryids:')[0] : '';\t\t\r\n\t\tvar supplementarySegment = joinedValues.split('supplementaryids:')[1] != null ? joinedValues.split('supplementaryids:')[1] : '';\r\n\t\tvar supplementaryimageIds = supplementarySegment.split('threesixtyids:')[0] != null ? supplementarySegment.split('threesixtyids:')[0] : '';\t\t\r\n\t\tvar threesixtySegment = joinedValues.split('threesixtyids:')[1] != null ? joinedValues.split('threesixtyids:')[1] : '';\r\n\t\tvar threesixtyIds = threesixtySegment.split('roomremids:')[0] != null ? threesixtySegment.split('roomremids:')[0] : '';\t\r\n\t\tvar roomremSegment = joinedValues.split('roomremids:')[1] != null ? joinedValues.split('roomremids:')[1] : '';\r\n\t\tvar roomremimageIds = roomremSegment.split('vignetteremids:')[0] != null ? roomremSegment.split('vignetteremids:')[0] : '';\t\t\r\n\t\tvar vignetteremSegment = joinedValues.split('vignetteremids:')[1] != null ? joinedValues.split('vignetteremids:')[1] : '';\r\n\t\tvar vignetteremimageIds = vignetteremSegment.split('clippedids:')[0] != null ? vignetteremSegment.split('clippedids:')[0] : '';\t\t\r\n\t\tvar clippedSegment = joinedValues.split('clippedids:')[1] != null ? joinedValues.split('clippedids:')[1] : '';\r\n\t\tvar clippedimageIds = clippedSegment.split('marketingids:')[0] != null ? clippedSegment.split('marketingids:')[0] : '';\r\n\t\tvar marketingvideoIds = clippedSegment.split('marketingids:')[1] != null ? clippedSegment.split('marketingids:')[1] : '';\r\n\t\t\r\n\r\n\r\n\t\t//concatenate and check for length of combined types\r\n\t\tvar concatenatedString = galleryimageIds.concat(vignetteimageIds, roomimageIds, lifestyleimageIds, product360videoIds, supplementaryimageIds, threesixtyIds, roomremimageIds, vignetteremimageIds, clippedimageIds, marketingvideoIds);\r\n\t\tvar itemsLength = cleanArray(concatenatedString.split(',')).length;\r\n\r\n\t\t//create objects from specific segments\r\n\t\tvar allImagesArray = cleanArray(concatenatedString.split(','));\r\n\t\tvar galleryimagesArray = cleanArray(galleryimageIds.split(','));\r\n\t\tvar vignetteimagesArray = cleanArray(vignetteimageIds.split(','));\r\n\t\tvar roomimagesArray = cleanArray(roomimageIds.split(','));\r\n\t\tvar lifestyleimagesArray = cleanArray(lifestyleimageIds.split(','));\r\n\t\tvar product360videosArray = cleanArray(product360videoIds.split(','));\r\n\t\tvar supplementaryimagesArray = cleanArray(supplementaryimageIds.split(','));\r\n\t\tvar threesixtysArray = cleanArray(threesixtyIds.split(','));\r\n\t\tvar roomremimagesArray = cleanArray(roomremimageIds.split(','));\r\n\t\tvar vignetteremimagesArray = cleanArray(vignetteremimageIds.split(','));\r\n\t\tvar clippedimagesArray = cleanArray(clippedimageIds.split(','));\r\n\t\tvar marketingvideosArray = cleanArray(marketingvideoIds.split(','));\r\n\t\t\r\n\t\t//need to seperate out mutliple id from single id so split does not fail if only 1 id.\r\n\t\tvar properID = selectedItemID != null ? selectedItemID : allImagesArray[0];\r\n\t\tvar isSingleID = itemsLength < 2 || getParameterByName('singleImage');\r\n\t\tlet $body = $('body');\r\n\r\n\t\t// full image url\r\n\t\tif(galleryimagesArray.length) {\r\n\t\t\tvar fullImageUrl = URLs.IMAGE_BASE_URL + properID + '?$pfZoomableImageLarge$';\r\n\t\t}\r\n\r\n\t\t// console.log(fullImageUrl);\r\n\t\t//setup other vars\r\n\t\tvar $carousel = $('.js-product-carousel');\r\n\r\n\t\t//check for a query param indicating that there is only 1 id coming through and add class so we can style differently\r\n\t\tif (isSingleID || itemsLength < 2) {\r\n\t\t\t$('body').addClass('single-element');\r\n\t\t}\r\n\t\tif(galleryimagesArray.length == 2)\r\n\t\t{\r\n           if(galleryimagesArray[0] == galleryimagesArray[1])\r\n\t\t   $('body').addClass('same-slide');\r\n\t\t}\r\n\r\n\t\t//if there is more than one id coming through then loop through the ids and add the image to carousel, if not we dont do this.\r\n\t\tif (!isSingleID) {\r\n\t\t\tif(galleryimagesArray.length){\r\n\t\t\t\t$.each(galleryimagesArray, function (i) {\r\n\t\t\t\tvar theID = galleryimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(vignetteimagesArray.length){\r\n\t\t\t\t$.each(vignetteimagesArray, function (i) {\r\n\t\t\t\tvar theID = vignetteimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(roomimagesArray.length){\r\n\t\t\t\t$.each(roomimagesArray, function (i) {\r\n\t\t\t\tvar theID = roomimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(lifestyleimagesArray.length){\r\n\t\t\t\t$.each(lifestyleimagesArray, function (i) {\r\n\t\t\t\tvar theID = lifestyleimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(product360videosArray.length){\r\n\t\t\t\t$.each(product360videosArray, function (i) {\r\n\t\t\t\tvar theID = product360videosArray[i];\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link-youtube product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"https://img.youtube.com/vi/${theID}/mqdefault.jpg\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(supplementaryimagesArray.length){\r\n\t\t\t\t$.each(supplementaryimagesArray, function (i) {\r\n\t\t\t\tvar theID = supplementaryimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(threesixtysArray.length){\r\n\t\t\t\t$.each(threesixtysArray, function (i) {\r\n\t\t\t\tvar theID = threesixtysArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(roomremimagesArray.length){\r\n\t\t\t\t$.each(roomremimagesArray, function (i) {\r\n\t\t\t\tvar theID = roomremimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(vignetteremimagesArray.length){\r\n\t\t\t\t$.each(vignetteremimagesArray, function (i) {\r\n\t\t\t\tvar theID = vignetteremimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(clippedimagesArray.length){\r\n\t\t\t\t$.each(clippedimagesArray, function (i) {\r\n\t\t\t\tvar theID = clippedimagesArray[i];\r\n\t\t\t\tvar encodedID = theID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"${URLs.IMAGE_BASE_URL}/${encodedID}?$pfModalThumb$\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\t\t\t\r\n\t\t\tif(marketingvideosArray.length){\r\n\t\t\t\t$.each(marketingvideosArray, function (i) {\r\n\t\t\t\tvar theID = marketingvideosArray[i];\r\n\t\t\t\t$(`<div class=\"product-carousel__list-item swiper-slide\">\r\n\t\t\t\t\t<a href=\"#\" data-id=\"${theID}\" class=\"js-carousel-link-youtube product-carousel__link\">\r\n\t\t\t\t\t\t<img src=\"https://img.youtube.com/vi/${theID}/mqdefault.jpg\" class=\"product-carousel__img\">\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>`).appendTo($carousel);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\r\n\r\n\t\t// Swiper seems to expand slides fill the available space, so if there are only two we'll have to make the carousel shorter\r\n\t\tif (itemsLength < 3) {\r\n\t\t\t$('.swiper-container').addClass('swiper-container--short');\r\n\t\t}\r\n\r\n\t\t//initialize swiper with the current slide set to 0 if there is no selected item being passed through a query param\r\n\t\t//OR if selected item is being passed through we set the initial slide to the selected items parent index value\r\n\r\n\t\tlet slidesPerView = Math.min( itemsLength, 3 );\r\n\t\t//let centeredSlides = (itemsLength >= 3);\r\n\r\n\t\tvar mySwiper;\r\n\r\n\t\tif (!isSingleID) {\r\n\t\t\tmySwiper = new Swiper('.swiper-container', {\r\n\t\t\t\t// Optional parameters\r\n\t\t\t\tdirection: (window.innerWidth >= 768) ? 'vertical' : 'horizontal',\r\n\t\t\t\tslidesPerView: slidesPerView,\r\n\t\t\t\tspaceBetween: 20,\r\n\t\t\t\tinit: false,\r\n\t\t\t\tinitialSlide: selectedItemID != null ? $(`a[data-id=\"${selectedItemID}\"]`).parent().index() : 0,\r\n\r\n\t\t\t\tnavigation: {\r\n\t\t\t\t\tnextEl: '.swiper-button-next',\r\n\t\t\t\t\tprevEl: '.swiper-button-prev',\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (!isSingleID) {\r\n\t\t\tmySwiper.on('init', function () {\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\tif(selectedItemID != null ) {\r\n\t\t\t\t\t\tmySwiper.activeIndex = $(`a[data-id=\"${selectedItemID}\"]:first`).parent().index();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(mySwiper.activeIndex == -1) {\r\n\t\t\t\t\t\tmySwiper.activeIndex = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$('.swiper-slide').removeClass('swiper-slide-selected');\r\n\t\t\t\t\t$(mySwiper.slides[mySwiper.activeIndex]).addClass(\"swiper-slide-selected\");\r\n\t\t\t\t\t$(mySwiper.slides[mySwiper.activeIndex]).find('a[class^=\"js-carousel-link\"]').trigger(\"click\");\r\n\t\t\t\t\t// console.log(mySwiper.activeIndex);\r\n\t\t\t\t}, 300);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Set the download link to match the large image\r\n\t\t$('.icons-block__link').eq(0).attr('href', fullImageUrl);\r\n\r\n\t\t// Set the share link to set up for Add This for the large image\r\n\t//\t$('.addthis_button_compact').attr({\r\n\t//\t\thref: 'http://api.addthis.com/oexchange/0.8/offer?url=' + fullImageUrl\r\n\t//\t});\r\n\r\n\t\tif(allImagesArray.length) {\r\n\t\t\t/**\r\n\t\t\t * https://stackoverflow.com/questions/15367134/change-addthis-url-dynamically-with-jquery\r\n\t\t\t * This page has information on this element of the api I could not find this on the addthis site\r\n\t\t\t */\r\n\t\t//\taddthis.update('share', 'url', fullImageUrl);\r\n\t\t//\taddthis.update('share', 'title', 'Pfister Faucets');\r\n\t\t//\taddthis.update('share', 'media', fullImageUrl);\r\n\t\t\t//setup the initial scene7 Zoom Viewer.\r\n\t\t\tlet s7basiczoom_div = new s7viewers.BasicZoomViewer({\r\n\t\t\t\t\"containerId\": \"s7basiczoom_div\",\r\n\t\t\t\t\"params\": {\r\n\t\t\t\t\t\"asset\": properID,\r\n\t\t\t\t\t\"serverurl\": URLs.IMAGE_BASE_URL,\r\n\t\t\t\t\t\"contenturl\": URLs.SKINS_BASE_URL,\r\n\t\t\t\t\t\"config\": CONFIG.DEFAULT_SKIN\r\n\t\t\t\t}\r\n\t\t\t}).init();\r\n\r\n\t\t\t// console.log(properID);\r\n\t\t}\r\n\r\n\t\tif (mySwiper) {\r\n\t\t\tmySwiper.init();\r\n\r\n\t\t\tmySwiper.on('resize', function(){\r\n\t\t\t\tmySwiper.update();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//When we click on a carousel item link in the modal were reinitializing the BasicZoomViewer with the correct asset id\r\n\t\t$body.on('click', '.js-carousel-link', function (e) {\r\n\t\t\t$('#s7viewer').remove();\r\n\t\t\t$('#s7basiczoom_div').remove();\r\n\t\t\t$('.embed-responsive').remove();\r\n\t\t\t$('.icons-list').removeAttr('style');\r\n\t\t\t$(`<div id=\"s7basiczoom_div\" />`).prependTo($(\".product-carousel__right-col\"));\r\n\t\t\tvar s7basiczoom_div = new s7viewers.BasicZoomViewer();\r\n\t\t\t$('.swiper-slide').removeClass('swiper-slide-selected');\r\n\t\t\t$(this).parent('.swiper-slide').addClass('swiper-slide-selected');\r\n\t\t\tvar idOfElement = $(this).data('id');\r\n\t\t\tvar zoomViewerParent = $('#s7basiczoom_div');\r\n\t\t\te.preventDefault();\r\n\t\t\tzoomViewerParent.empty();\r\n\t\t\tcheckForBeginningAndEnd();\r\n\r\n\t\t\tvar fullImageUrl = URLs.IMAGE_BASE_URL + idOfElement + '?$pfZoomableImageLarge$';\r\n\r\n\t\t\t// Update the download link to match the large image\r\n\t\t\t//$('.icons-block__link').eq(0).attr('href', fullImageUrl);\r\n\t\t\t$('.icons-block__link').eq(0).attr('href', URLs.DOWNLOAD_IMAGE_URL + URLs.IMAGE_BASE_URL + idOfElement + \"&imagename=\"+ idOfElement);\r\n\r\n\t\t\t// Set the share link to set up for Add This for the large image\r\n\t\t\t//$('.addthis_button_compact').attr({\r\n\t\t\t//\thref: 'http://api.addthis.com/oexchange/0.8/offer?url=' + fullImageUrl\r\n\t\t\t//});\r\n\r\n\t\t\t// console.log(`full image url is: ${fullImageUrl}`);\r\n\r\n\t\t\t/**\r\n\t\t\t * https://stackoverflow.com/questions/15367134/change-addthis-url-dynamically-with-jquery\r\n\t\t\t * This page has information on this element of the api I could not find this on the addthis site\r\n\t\t\t */\r\n\t\t//\taddthis.update('share', 'url', fullImageUrl);\r\n\t\t//\taddthis.update('share', 'title', 'Pfister Faucets');\r\n\t\t//\taddthis.update('share', 'media', fullImageUrl);\r\n\r\n\t\t\tvar s7basiczoom_div = new s7viewers.BasicZoomViewer({\r\n\t\t\t\t\"containerId\": \"s7basiczoom_div\",\r\n\t\t\t\t\"params\": {\r\n\t\t\t\t\t\"asset\": idOfElement,\r\n\t\t\t\t\t\"serverurl\": URLs.IMAGE_BASE_URL,\r\n\t\t\t\t\t\"contenturl\": URLs.SKINS_BASE_URL,\r\n\t\t\t\t\t\"config\": CONFIG.DEFAULT_SKIN\r\n\t\t\t\t}\r\n\t\t\t}).init();\r\n\t\t});\r\n\r\n\t\t$body.on('click', '.js-prev-arrow', function(e){\r\n\t\t\tlet $selectedSlide = $('.swiper-slide-selected');\r\n\t\t\tif($selectedSlide.prev('.swiper-slide').length) {\r\n\t\t\t\t$('.js-next-arrow').removeClass('disabled');\r\n\t\t\t\t$selectedSlide.prev('.swiper-slide').find('a[class^=\"js-carousel-link\"]').trigger('click');\r\n\t\t\t} else {\r\n\t\t\t\t$(this).addClass('disabled');\r\n\t\t\t}\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\r\n\t\t$body.on('click', '.js-next-arrow', function(e){\r\n\t\t\tlet $selectedSlide = $('.swiper-slide-selected');\r\n\t\t\tif($selectedSlide.next('.swiper-slide').length) {\r\n\t\t\t\t$('.js-prev-arrow').removeClass('disabled');\r\n\t\t\t\t$selectedSlide.next('.swiper-slide').find('a[class^=\"js-carousel-link\"]').trigger('click');\r\n\t\t\t} else {\r\n\t\t\t\t$(this).addClass('disabled');\r\n\t\t\t}\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\r\n\t\t$body.on('click', '.js-carousel-link-youtube', function (e) {\r\n\t\t\t$('#s7viewer').remove();\r\n\t\t\tvar $this = $(this);\r\n\t\t\tvar $youtubeID = $this.data('id');\r\n\t\t\t$('.icons-list').hide();\r\n\t\t\t$('#s7basiczoom_div').remove();\r\n\t\t\t$('.embed-responsive').remove();\r\n\t\t\te.preventDefault();\r\n\t\t\t$('.swiper-slide').removeClass('swiper-slide-selected');\r\n\t\t\t$(this).parent('.swiper-slide').addClass('swiper-slide-selected');\r\n\t\t\t$(`<div class=\"embed-responsive embed-responsive-16by9\"><iframe width=\"845\" height=\"476\" src=\"https://www.youtube.com/embed/${$youtubeID}?rel=0&autoplay=1\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe></div>`).prependTo($(\".product-carousel__right-col\"));\r\n\t\t\tcheckForBeginningAndEnd();\r\n\t\t});\r\n\r\n\t\t$body.on('click', '.js-carousel-link-scene7', function (e) {\r\n\t\t\t$('#s7viewer').remove();\r\n\t\t\tvar $this = $(this);\r\n\t\t\t$('.icons-list').hide();\r\n\t\t\tvar $scene7ID = $this.data('id');\r\n\t\t\tvar encodedID = $scene7ID.replace('-', '%2D').replace(' ', '%20');\r\n\t\t\t$('#s7basiczoom_div').remove();\r\n\t\t\t$('.embed-responsive').remove();\r\n\t\t\t$('.swiper-slide').removeClass('swiper-slide-selected');\r\n\t\t\t$(this).parent('.swiper-slide').addClass('swiper-slide-selected');\r\n\t\t\te.preventDefault();\r\n\t\t\t$(`<div class=\"embed-responsive embed-responsive-16by9\"><video width=\"845\" height=\"476\" id=\"scene7Vid\" controls autoplay>\r\n                <source src=\"${URLs.SCENE7_VIDEO_BASE_URL}/${encodedID}\" type=\"video/mp4\">\r\n\t\t\t\t\tYour browser does not support the video tag.\r\n\t\t\t\t</video></div>`).prependTo($(\".product-carousel__right-col\"));\r\n\t\t\t$('#scene7Vid').get(0).play();\r\n\t\t\tcheckForBeginningAndEnd();\r\n\t\t});\r\n\r\n\t\t$body.on('click', '.js-carousel-link-threesixty', function (e) {\r\n\t\t\t$('#s7basiczoom_div').remove();\r\n\t\t\t$('#s7viewer').remove();\r\n\t\t\t$('.embed-responsive').remove();\r\n\t\t\t$(`<div id=\"s7viewer\" />`).prependTo($(\".product-carousel__right-col\"));\r\n\t\t\tvar spinViewer = new s7viewers.SpinViewer();\r\n\t\t\tvar $this = $(this);\r\n\t\t\t$('.icons-list').hide();\r\n\t\t\tvar $theeSixtyID = $this.data('id');\r\n\t\t\t$('.swiper-slide').removeClass('swiper-slide-selected');\r\n\t\t\t$(this).parent('.swiper-slide').addClass('swiper-slide-selected');\r\n\r\n\t\t\tvar spinViewerParent = $('#s7viewer');\r\n\r\n\t\t\te.preventDefault();\r\n\t\t\tspinViewerParent.empty();\r\n\r\n\t\t\tvar spinViewer = new s7viewers.SpinViewer({\r\n\t\t\t\t\"containerId\":\"s7viewer\",\r\n\t\t\t\t\"params\":{\r\n\t\t\t\t\t\"asset\": $theeSixtyID,\r\n\t\t\t\t\t\"serverurl\": URLs.IMAGE_BASE_URL,\r\n\t\t\t\t}\r\n\t\t\t}).init();\r\n\t\t\tcheckForBeginningAndEnd();\r\n\t\t});\r\n\r\n\t\tsetTimeout(function(){\r\n\t\t\t$('.js-load-indicator').removeClass('state-loading');\r\n\t\t\t$('.js-load-indicator-cover').addClass('state-hidden');\r\n\t\t}, 1200);\r\n\t}\r\n\r\n\tfunction addThisHooks(){\r\n\t\tlet closeButton = $('button.mfp-close',parent.document);\r\n\t\t$('body').on('click', '.js-addthis-share', function(e){\r\n\t\t\t$('body').off('click', '.at-expanded-menu-close');\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tcloseButton.addClass('hidden');\r\n\t\t\t\t$('body').on('click', '.at-expanded-menu-close', function(){\r\n\t\t\t\t\tcloseButton.removeClass('hidden');\r\n\t\t\t\t})\r\n\t\t\t}, 20);\r\n\t\t});\r\n\t}\r\n\r\n\texport function init() {\r\n\t\tpassIDBuildList();\r\n\t\taddThisHooks();\r\n\t}\r\n}\r\n\r\nPFF.controllers.modal.init();\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/controllers/modal.ts","/*! Magnific Popup - v1.1.0 - 2016-02-20\r\n* http://dimsemenov.com/plugins/magnific-popup/\r\n* Copyright (c) 2016 Dmitry Semenov; */\r\n;(function (factory) {\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\t// AMD. Register as an anonymous module.\r\n\t\tdefine(['jquery'], factory);\r\n\t} else if (typeof exports === 'object') {\r\n\t\t// Node/CommonJS\r\n\t\tfactory(require('jquery'));\r\n\t} else {\r\n\t\t// Browser globals\r\n\t\tfactory(window.jQuery || window.Zepto);\r\n\t}\r\n}(function($) {\r\n\r\n\t/*>>core*/\r\n\t/**\r\n\t *\r\n\t * Magnific Popup Core JS file\r\n\t *\r\n\t */\r\n\r\n\r\n\t/**\r\n\t * Private static constants\r\n\t */\r\n\tvar CLOSE_EVENT = 'Close',\r\n\t\tBEFORE_CLOSE_EVENT = 'BeforeClose',\r\n\t\tAFTER_CLOSE_EVENT = 'AfterClose',\r\n\t\tBEFORE_APPEND_EVENT = 'BeforeAppend',\r\n\t\tMARKUP_PARSE_EVENT = 'MarkupParse',\r\n\t\tOPEN_EVENT = 'Open',\r\n\t\tCHANGE_EVENT = 'Change',\r\n\t\tNS = 'mfp',\r\n\t\tEVENT_NS = '.' + NS,\r\n\t\tREADY_CLASS = 'mfp-ready',\r\n\t\tREMOVING_CLASS = 'mfp-removing',\r\n\t\tPREVENT_CLOSE_CLASS = 'mfp-prevent-close';\r\n\r\n\r\n\t/**\r\n\t * Private vars\r\n\t */\r\n\t/*jshint -W079 */\r\n\tvar mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'\r\n\t\tMagnificPopup = function(){},\r\n\t\t_isJQ = !!(window.jQuery),\r\n\t\t_prevStatus,\r\n\t\t_window = $(window),\r\n\t\t_document,\r\n\t\t_prevContentType,\r\n\t\t_wrapClasses,\r\n\t\t_currPopupType;\r\n\r\n\r\n\t/**\r\n\t * Private functions\r\n\t */\r\n\tvar _mfpOn = function(name, f) {\r\n\t\t\tmfp.ev.on(NS + name + EVENT_NS, f);\r\n\t\t},\r\n\t\t_getEl = function(className, appendTo, html, raw) {\r\n\t\t\tvar el = document.createElement('div');\r\n\t\t\tel.className = 'mfp-'+className;\r\n\t\t\tif(html) {\r\n\t\t\t\tel.innerHTML = html;\r\n\t\t\t}\r\n\t\t\tif(!raw) {\r\n\t\t\t\tel = $(el);\r\n\t\t\t\tif(appendTo) {\r\n\t\t\t\t\tel.appendTo(appendTo);\r\n\t\t\t\t}\r\n\t\t\t} else if(appendTo) {\r\n\t\t\t\tappendTo.appendChild(el);\r\n\t\t\t}\r\n\t\t\treturn el;\r\n\t\t},\r\n\t\t_mfpTrigger = function(e, data) {\r\n\t\t\tmfp.ev.triggerHandler(NS + e, data);\r\n\r\n\t\t\tif(mfp.st.callbacks) {\r\n\t\t\t\t// converts \"mfpEventName\" to \"eventName\" callback and triggers it if it's present\r\n\t\t\t\te = e.charAt(0).toLowerCase() + e.slice(1);\r\n\t\t\t\tif(mfp.st.callbacks[e]) {\r\n\t\t\t\t\tmfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t_getCloseBtn = function(type) {\r\n\t\t\tif(type !== _currPopupType || !mfp.currTemplate.closeBtn) {\r\n\t\t\t\tmfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );\r\n\t\t\t\t_currPopupType = type;\r\n\t\t\t}\r\n\t\t\treturn mfp.currTemplate.closeBtn;\r\n\t\t},\r\n\t\t// Initialize Magnific Popup only when called at least once\r\n\t\t_checkInstance = function() {\r\n\t\t\tif(!$.magnificPopup.instance) {\r\n\t\t\t\t/*jshint -W020 */\r\n\t\t\t\tmfp = new MagnificPopup();\r\n\t\t\t\tmfp.init();\r\n\t\t\t\t$.magnificPopup.instance = mfp;\r\n\t\t\t}\r\n\t\t},\r\n\t\t// CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr\r\n\t\tsupportsTransitions = function() {\r\n\t\t\tvar s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist\r\n\t\t\t\tv = ['ms','O','Moz','Webkit']; // 'v' for vendor\r\n\r\n\t\t\tif( s['transition'] !== undefined ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\twhile( v.length ) {\r\n\t\t\t\tif( v.pop() + 'Transition' in s ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t};\r\n\r\n\r\n\r\n\t/**\r\n\t * Public functions\r\n\t */\r\n\tMagnificPopup.prototype = {\r\n\r\n\t\tconstructor: MagnificPopup,\r\n\r\n\t\t/**\r\n\t\t * Initializes Magnific Popup plugin.\r\n\t\t * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed\r\n\t\t */\r\n\t\tinit: function() {\r\n\t\t\tvar appVersion = navigator.appVersion;\r\n\t\t\tmfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener;\r\n\t\t\tmfp.isAndroid = (/android/gi).test(appVersion);\r\n\t\t\tmfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);\r\n\t\t\tmfp.supportsTransition = supportsTransitions();\r\n\r\n\t\t\t// We disable fixed positioned lightbox on devices that don't handle it nicely.\r\n\t\t\t// If you know a better way of detecting this - let me know.\r\n\t\t\tmfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );\r\n\t\t\t_document = $(document);\r\n\r\n\t\t\tmfp.popupsCache = {};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Opens popup\r\n\t\t * @param  data [description]\r\n\t\t */\r\n\t\topen: function(data) {\r\n\r\n\t\t\tvar i;\r\n\r\n\t\t\tif(data.isObj === false) {\r\n\t\t\t\t// convert jQuery collection to array to avoid conflicts later\r\n\t\t\t\tmfp.items = data.items.toArray();\r\n\r\n\t\t\t\tmfp.index = 0;\r\n\t\t\t\tvar items = data.items,\r\n\t\t\t\t\titem;\r\n\t\t\t\tfor(i = 0; i < items.length; i++) {\r\n\t\t\t\t\titem = items[i];\r\n\t\t\t\t\tif(item.parsed) {\r\n\t\t\t\t\t\titem = item.el[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(item === data.el[0]) {\r\n\t\t\t\t\t\tmfp.index = i;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmfp.items = $.isArray(data.items) ? data.items : [data.items];\r\n\t\t\t\tmfp.index = data.index || 0;\r\n\t\t\t}\r\n\r\n\t\t\t// if popup is already opened - we just update the content\r\n\t\t\tif(mfp.isOpen) {\r\n\t\t\t\tmfp.updateItemHTML();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tmfp.types = [];\r\n\t\t\t_wrapClasses = '';\r\n\t\t\tif(data.mainEl && data.mainEl.length) {\r\n\t\t\t\tmfp.ev = data.mainEl.eq(0);\r\n\t\t\t} else {\r\n\t\t\t\tmfp.ev = _document;\r\n\t\t\t}\r\n\r\n\t\t\tif(data.key) {\r\n\t\t\t\tif(!mfp.popupsCache[data.key]) {\r\n\t\t\t\t\tmfp.popupsCache[data.key] = {};\r\n\t\t\t\t}\r\n\t\t\t\tmfp.currTemplate = mfp.popupsCache[data.key];\r\n\t\t\t} else {\r\n\t\t\t\tmfp.currTemplate = {};\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\tmfp.st = $.extend(true, {}, $.magnificPopup.defaults, data );\r\n\t\t\tmfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;\r\n\r\n\t\t\tif(mfp.st.modal) {\r\n\t\t\t\tmfp.st.closeOnContentClick = false;\r\n\t\t\t\tmfp.st.closeOnBgClick = false;\r\n\t\t\t\tmfp.st.showCloseBtn = false;\r\n\t\t\t\tmfp.st.enableEscapeKey = false;\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Building markup\r\n\t\t\t// main containers are created only once\r\n\t\t\tif(!mfp.bgOverlay) {\r\n\r\n\t\t\t\t// Dark overlay\r\n\t\t\t\tmfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {\r\n\t\t\t\t\tmfp.close();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tmfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {\r\n\t\t\t\t\tif(mfp._checkIfClose(e.target)) {\r\n\t\t\t\t\t\tmfp.close();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tmfp.container = _getEl('container', mfp.wrap);\r\n\t\t\t}\r\n\r\n\t\t\tmfp.contentContainer = _getEl('content');\r\n\t\t\tif(mfp.st.preloader) {\r\n\t\t\t\tmfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Initializing modules\r\n\t\t\tvar modules = $.magnificPopup.modules;\r\n\t\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\t\tvar n = modules[i];\r\n\t\t\t\tn = n.charAt(0).toUpperCase() + n.slice(1);\r\n\t\t\t\tmfp['init'+n].call(mfp);\r\n\t\t\t}\r\n\t\t\t_mfpTrigger('BeforeOpen');\r\n\r\n\r\n\t\t\tif(mfp.st.showCloseBtn) {\r\n\t\t\t\t// Close button\r\n\t\t\t\tif(!mfp.st.closeBtnInside) {\r\n\t\t\t\t\tmfp.wrap.append( _getCloseBtn() );\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {\r\n\t\t\t\t\t\tvalues.close_replaceWith = _getCloseBtn(item.type);\r\n\t\t\t\t\t});\r\n\t\t\t\t\t_wrapClasses += ' mfp-close-btn-in';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(mfp.st.alignTop) {\r\n\t\t\t\t_wrapClasses += ' mfp-align-top';\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\tif(mfp.fixedContentPos) {\r\n\t\t\t\tmfp.wrap.css({\r\n\t\t\t\t\toverflow: mfp.st.overflowY,\r\n\t\t\t\t\toverflowX: 'hidden',\r\n\t\t\t\t\toverflowY: mfp.st.overflowY\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tmfp.wrap.css({\r\n\t\t\t\t\ttop: _window.scrollTop(),\r\n\t\t\t\t\tposition: 'absolute'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {\r\n\t\t\t\tmfp.bgOverlay.css({\r\n\t\t\t\t\theight: _document.height(),\r\n\t\t\t\t\tposition: 'absolute'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\tif(mfp.st.enableEscapeKey) {\r\n\t\t\t\t// Close on ESC key\r\n\t\t\t\t_document.on('keyup' + EVENT_NS, function(e) {\r\n\t\t\t\t\tif(e.keyCode === 27) {\r\n\t\t\t\t\t\tmfp.close();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t_window.on('resize' + EVENT_NS, function() {\r\n\t\t\t\tmfp.updateSize();\r\n\t\t\t});\r\n\r\n\r\n\t\t\tif(!mfp.st.closeOnContentClick) {\r\n\t\t\t\t_wrapClasses += ' mfp-auto-cursor';\r\n\t\t\t}\r\n\r\n\t\t\tif(_wrapClasses)\r\n\t\t\t\tmfp.wrap.addClass(_wrapClasses);\r\n\r\n\r\n\t\t\t// this triggers recalculation of layout, so we get it once to not to trigger twice\r\n\t\t\tvar windowHeight = mfp.wH = _window.height();\r\n\r\n\r\n\t\t\tvar windowStyles = {};\r\n\r\n\t\t\tif( mfp.fixedContentPos ) {\r\n\t\t\t\tif(mfp._hasScrollBar(windowHeight)){\r\n\t\t\t\t\tvar s = mfp._getScrollbarSize();\r\n\t\t\t\t\tif(s) {\r\n\t\t\t\t\t\twindowStyles.marginRight = s;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(mfp.fixedContentPos) {\r\n\t\t\t\tif(!mfp.isIE7) {\r\n\t\t\t\t\twindowStyles.overflow = 'hidden';\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// ie7 double-scroll bug\r\n\t\t\t\t\t$('body, html').css('overflow', 'hidden');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\r\n\t\t\tvar classesToadd = mfp.st.mainClass;\r\n\t\t\tif(mfp.isIE7) {\r\n\t\t\t\tclassesToadd += ' mfp-ie7';\r\n\t\t\t}\r\n\t\t\tif(classesToadd) {\r\n\t\t\t\tmfp._addClassToMFP( classesToadd );\r\n\t\t\t}\r\n\r\n\t\t\t// add content\r\n\t\t\tmfp.updateItemHTML();\r\n\r\n\t\t\t_mfpTrigger('BuildControls');\r\n\r\n\t\t\t// remove scrollbar, add margin e.t.c\r\n\t\t\t$('html').css(windowStyles);\r\n\r\n\t\t\t// add everything to DOM\r\n\t\t\tmfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) );\r\n\r\n\t\t\t// Save last focused element\r\n\t\t\tmfp._lastFocusedEl = document.activeElement;\r\n\r\n\t\t\t// Wait for next cycle to allow CSS transition\r\n\t\t\tsetTimeout(function() {\r\n\r\n\t\t\t\tif(mfp.content) {\r\n\t\t\t\t\tmfp._addClassToMFP(READY_CLASS);\r\n\t\t\t\t\tmfp._setFocus();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if content is not defined (not loaded e.t.c) we add class only for BG\r\n\t\t\t\t\tmfp.bgOverlay.addClass(READY_CLASS);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Trap the focus in popup\r\n\t\t\t\t_document.on('focusin' + EVENT_NS, mfp._onFocusIn);\r\n\r\n\t\t\t}, 16);\r\n\r\n\t\t\tmfp.isOpen = true;\r\n\t\t\tmfp.updateSize(windowHeight);\r\n\t\t\t_mfpTrigger(OPEN_EVENT);\r\n\r\n\t\t\treturn data;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Closes the popup\r\n\t\t */\r\n\t\tclose: function() {\r\n\t\t\tif(!mfp.isOpen) return;\r\n\t\t\t_mfpTrigger(BEFORE_CLOSE_EVENT);\r\n\r\n\t\t\tmfp.isOpen = false;\r\n\t\t\t// for CSS3 animation\r\n\t\t\tif(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition )  {\r\n\t\t\t\tmfp._addClassToMFP(REMOVING_CLASS);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tmfp._close();\r\n\t\t\t\t}, mfp.st.removalDelay);\r\n\t\t\t} else {\r\n\t\t\t\tmfp._close();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Helper for close() function\r\n\t\t */\r\n\t\t_close: function() {\r\n\t\t\t_mfpTrigger(CLOSE_EVENT);\r\n\r\n\t\t\tvar classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';\r\n\r\n\t\t\tmfp.bgOverlay.detach();\r\n\t\t\tmfp.wrap.detach();\r\n\t\t\tmfp.container.empty();\r\n\r\n\t\t\tif(mfp.st.mainClass) {\r\n\t\t\t\tclassesToRemove += mfp.st.mainClass + ' ';\r\n\t\t\t}\r\n\r\n\t\t\tmfp._removeClassFromMFP(classesToRemove);\r\n\r\n\t\t\tif(mfp.fixedContentPos) {\r\n\t\t\t\tvar windowStyles = {marginRight: ''};\r\n\t\t\t\tif(mfp.isIE7) {\r\n\t\t\t\t\t$('body, html').css('overflow', '');\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindowStyles.overflow = '';\r\n\t\t\t\t}\r\n\t\t\t\t$('html').css(windowStyles);\r\n\t\t\t}\r\n\r\n\t\t\t_document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);\r\n\t\t\tmfp.ev.off(EVENT_NS);\r\n\r\n\t\t\t// clean up DOM elements that aren't removed\r\n\t\t\tmfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');\r\n\t\t\tmfp.bgOverlay.attr('class', 'mfp-bg');\r\n\t\t\tmfp.container.attr('class', 'mfp-container');\r\n\r\n\t\t\t// remove close button from target element\r\n\t\t\tif(mfp.st.showCloseBtn &&\r\n\t\t\t\t(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {\r\n\t\t\t\tif(mfp.currTemplate.closeBtn)\r\n\t\t\t\t\tmfp.currTemplate.closeBtn.detach();\r\n\t\t\t}\r\n\r\n\r\n\t\t\tif(mfp.st.autoFocusLast && mfp._lastFocusedEl) {\r\n\t\t\t\t$(mfp._lastFocusedEl).focus(); // put tab focus back\r\n\t\t\t}\r\n\t\t\tmfp.currItem = null;\r\n\t\t\tmfp.content = null;\r\n\t\t\tmfp.currTemplate = null;\r\n\t\t\tmfp.prevHeight = 0;\r\n\r\n\t\t\t_mfpTrigger(AFTER_CLOSE_EVENT);\r\n\t\t},\r\n\r\n\t\tupdateSize: function(winHeight) {\r\n\r\n\t\t\tif(mfp.isIOS) {\r\n\t\t\t\t// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2\r\n\t\t\t\tvar zoomLevel = document.documentElement.clientWidth / window.innerWidth;\r\n\t\t\t\tvar height = window.innerHeight * zoomLevel;\r\n\t\t\t\tmfp.wrap.css('height', height);\r\n\t\t\t\tmfp.wH = height;\r\n\t\t\t} else {\r\n\t\t\t\tmfp.wH = winHeight || _window.height();\r\n\t\t\t}\r\n\t\t\t// Fixes #84: popup incorrectly positioned with position:relative on body\r\n\t\t\tif(!mfp.fixedContentPos) {\r\n\t\t\t\tmfp.wrap.css('height', mfp.wH);\r\n\t\t\t}\r\n\r\n\t\t\t_mfpTrigger('Resize');\r\n\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Set content of popup based on current index\r\n\t\t */\r\n\t\tupdateItemHTML: function() {\r\n\t\t\tvar item = mfp.items[mfp.index];\r\n\r\n\t\t\t// Detach and perform modifications\r\n\t\t\tmfp.contentContainer.detach();\r\n\r\n\t\t\tif(mfp.content)\r\n\t\t\t\tmfp.content.detach();\r\n\r\n\t\t\tif(!item.parsed) {\r\n\t\t\t\titem = mfp.parseEl( mfp.index );\r\n\t\t\t}\r\n\r\n\t\t\tvar type = item.type;\r\n\r\n\t\t\t_mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);\r\n\t\t\t// BeforeChange event works like so:\r\n\t\t\t// _mfpOn('BeforeChange', function(e, prevType, newType) { });\r\n\r\n\t\t\tmfp.currItem = item;\r\n\r\n\t\t\tif(!mfp.currTemplate[type]) {\r\n\t\t\t\tvar markup = mfp.st[type] ? mfp.st[type].markup : false;\r\n\r\n\t\t\t\t// allows to modify markup\r\n\t\t\t\t_mfpTrigger('FirstMarkupParse', markup);\r\n\r\n\t\t\t\tif(markup) {\r\n\t\t\t\t\tmfp.currTemplate[type] = $(markup);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if there is no markup found we just define that template is parsed\r\n\t\t\t\t\tmfp.currTemplate[type] = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(_prevContentType && _prevContentType !== item.type) {\r\n\t\t\t\tmfp.container.removeClass('mfp-'+_prevContentType+'-holder');\r\n\t\t\t}\r\n\r\n\t\t\tvar newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);\r\n\t\t\tmfp.appendContent(newContent, type);\r\n\r\n\t\t\titem.preloaded = true;\r\n\r\n\t\t\t_mfpTrigger(CHANGE_EVENT, item);\r\n\t\t\t_prevContentType = item.type;\r\n\r\n\t\t\t// Append container back after its content changed\r\n\t\t\tmfp.container.prepend(mfp.contentContainer);\r\n\r\n\t\t\t_mfpTrigger('AfterChange');\r\n\t\t},\r\n\r\n\r\n\t\t/**\r\n\t\t * Set HTML content of popup\r\n\t\t */\r\n\t\tappendContent: function(newContent, type) {\r\n\t\t\tmfp.content = newContent;\r\n\r\n\t\t\tif(newContent) {\r\n\t\t\t\tif(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&\r\n\t\t\t\t\tmfp.currTemplate[type] === true) {\r\n\t\t\t\t\t// if there is no markup, we just append close button element inside\r\n\t\t\t\t\tif(!mfp.content.find('.mfp-close').length) {\r\n\t\t\t\t\t\tmfp.content.append(_getCloseBtn());\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmfp.content = newContent;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmfp.content = '';\r\n\t\t\t}\r\n\r\n\t\t\t_mfpTrigger(BEFORE_APPEND_EVENT);\r\n\t\t\tmfp.container.addClass('mfp-'+type+'-holder');\r\n\r\n\t\t\tmfp.contentContainer.append(mfp.content);\r\n\t\t},\r\n\r\n\r\n\t\t/**\r\n\t\t * Creates Magnific Popup data object based on given data\r\n\t\t * @param  {int} index Index of item to parse\r\n\t\t */\r\n\t\tparseEl: function(index) {\r\n\t\t\tvar item = mfp.items[index],\r\n\t\t\t\ttype;\r\n\r\n\t\t\tif(item.tagName) {\r\n\t\t\t\titem = { el: $(item) };\r\n\t\t\t} else {\r\n\t\t\t\ttype = item.type;\r\n\t\t\t\titem = { data: item, src: item.src };\r\n\t\t\t}\r\n\r\n\t\t\tif(item.el) {\r\n\t\t\t\tvar types = mfp.types;\r\n\r\n\t\t\t\t// check for 'mfp-TYPE' class\r\n\t\t\t\tfor(var i = 0; i < types.length; i++) {\r\n\t\t\t\t\tif( item.el.hasClass('mfp-'+types[i]) ) {\r\n\t\t\t\t\t\ttype = types[i];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\titem.src = item.el.attr('data-mfp-src');\r\n\t\t\t\tif(!item.src) {\r\n\t\t\t\t\titem.src = item.el.attr('href');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\titem.type = type || mfp.st.type || 'inline';\r\n\t\t\titem.index = index;\r\n\t\t\titem.parsed = true;\r\n\t\t\tmfp.items[index] = item;\r\n\t\t\t_mfpTrigger('ElementParse', item);\r\n\r\n\t\t\treturn mfp.items[index];\r\n\t\t},\r\n\r\n\r\n\t\t/**\r\n\t\t * Initializes single popup or a group of popups\r\n\t\t */\r\n\t\taddGroup: function(el, options) {\r\n\t\t\tvar eHandler = function(e) {\r\n\t\t\t\te.mfpEl = this;\r\n\t\t\t\tmfp._openClick(e, el, options);\r\n\t\t\t};\r\n\r\n\t\t\tif(!options) {\r\n\t\t\t\toptions = {};\r\n\t\t\t}\r\n\r\n\t\t\tvar eName = 'click.magnificPopup';\r\n\t\t\toptions.mainEl = el;\r\n\r\n\t\t\tif(options.items) {\r\n\t\t\t\toptions.isObj = true;\r\n\t\t\t\tel.off(eName).on(eName, eHandler);\r\n\t\t\t} else {\r\n\t\t\t\toptions.isObj = false;\r\n\t\t\t\tif(options.delegate) {\r\n\t\t\t\t\tel.off(eName).on(eName, options.delegate , eHandler);\r\n\t\t\t\t} else {\r\n\t\t\t\t\toptions.items = el;\r\n\t\t\t\t\tel.off(eName).on(eName, eHandler);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t_openClick: function(e, el, options) {\r\n\t\t\tvar midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;\r\n\r\n\r\n\t\t\tif(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey ) ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;\r\n\r\n\t\t\tif(disableOn) {\r\n\t\t\t\tif($.isFunction(disableOn)) {\r\n\t\t\t\t\tif( !disableOn.call(mfp) ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else { // else it's number\r\n\t\t\t\t\tif( _window.width() < disableOn ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(e.type) {\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t// This will prevent popup from closing if element is inside and popup is already opened\r\n\t\t\t\tif(mfp.isOpen) {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\toptions.el = $(e.mfpEl);\r\n\t\t\tif(options.delegate) {\r\n\t\t\t\toptions.items = el.find(options.delegate);\r\n\t\t\t}\r\n\t\t\tmfp.open(options);\r\n\t\t},\r\n\r\n\r\n\t\t/**\r\n\t\t * Updates text on preloader\r\n\t\t */\r\n\t\tupdateStatus: function(status, text) {\r\n\r\n\t\t\tif(mfp.preloader) {\r\n\t\t\t\tif(_prevStatus !== status) {\r\n\t\t\t\t\tmfp.container.removeClass('mfp-s-'+_prevStatus);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(!text && status === 'loading') {\r\n\t\t\t\t\ttext = mfp.st.tLoading;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar data = {\r\n\t\t\t\t\tstatus: status,\r\n\t\t\t\t\ttext: text\r\n\t\t\t\t};\r\n\t\t\t\t// allows to modify status\r\n\t\t\t\t_mfpTrigger('UpdateStatus', data);\r\n\r\n\t\t\t\tstatus = data.status;\r\n\t\t\t\ttext = data.text;\r\n\r\n\t\t\t\tmfp.preloader.html(text);\r\n\r\n\t\t\t\tmfp.preloader.find('a').on('click', function(e) {\r\n\t\t\t\t\te.stopImmediatePropagation();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tmfp.container.addClass('mfp-s-'+status);\r\n\t\t\t\t_prevStatus = status;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\r\n\t\t/*\r\n\t\t\t\"Private\" helpers that aren't private at all\r\n\t\t */\r\n\t\t// Check to close popup or not\r\n\t\t// \"target\" is an element that was clicked\r\n\t\t_checkIfClose: function(target) {\r\n\r\n\t\t\tif($(target).hasClass(PREVENT_CLOSE_CLASS)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar closeOnContent = mfp.st.closeOnContentClick;\r\n\t\t\tvar closeOnBg = mfp.st.closeOnBgClick;\r\n\r\n\t\t\tif(closeOnContent && closeOnBg) {\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// We close the popup if click is on close button or on preloader. Or if there is no content.\r\n\t\t\t\tif(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if click is outside the content\r\n\t\t\t\tif(  (target !== mfp.content[0] && !$.contains(mfp.content[0], target))  ) {\r\n\t\t\t\t\tif(closeOnBg) {\r\n\t\t\t\t\t\t// last check, if the clicked element is in DOM, (in case it's removed onclick)\r\n\t\t\t\t\t\tif( $.contains(document, target) ) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if(closeOnContent) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\t_addClassToMFP: function(cName) {\r\n\t\t\tmfp.bgOverlay.addClass(cName);\r\n\t\t\tmfp.wrap.addClass(cName);\r\n\t\t},\r\n\t\t_removeClassFromMFP: function(cName) {\r\n\t\t\tthis.bgOverlay.removeClass(cName);\r\n\t\t\tmfp.wrap.removeClass(cName);\r\n\t\t},\r\n\t\t_hasScrollBar: function(winHeight) {\r\n\t\t\treturn (  (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );\r\n\t\t},\r\n\t\t_setFocus: function() {\r\n\t\t\t(mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();\r\n\t\t},\r\n\t\t_onFocusIn: function(e) {\r\n\t\t\tif( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {\r\n\t\t\t\tmfp._setFocus();\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\t\t_parseMarkup: function(template, values, item) {\r\n\t\t\tvar arr;\r\n\t\t\tif(item.data) {\r\n\t\t\t\tvalues = $.extend(item.data, values);\r\n\t\t\t}\r\n\t\t\t_mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );\r\n\r\n\t\t\t$.each(values, function(key, value) {\r\n\t\t\t\tif(value === undefined || value === false) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\tarr = key.split('_');\r\n\t\t\t\tif(arr.length > 1) {\r\n\t\t\t\t\tvar el = template.find(EVENT_NS + '-'+arr[0]);\r\n\r\n\t\t\t\t\tif(el.length > 0) {\r\n\t\t\t\t\t\tvar attr = arr[1];\r\n\t\t\t\t\t\tif(attr === 'replaceWith') {\r\n\t\t\t\t\t\t\tif(el[0] !== value[0]) {\r\n\t\t\t\t\t\t\t\tel.replaceWith(value);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if(attr === 'img') {\r\n\t\t\t\t\t\t\tif(el.is('img')) {\r\n\t\t\t\t\t\t\t\tel.attr('src', value);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tel.replaceWith( $('<img>').attr('src', value).attr('class', el.attr('class')) );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tel.attr(arr[1], value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttemplate.find(EVENT_NS + '-'+key).html(value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t_getScrollbarSize: function() {\r\n\t\t\t// thx David\r\n\t\t\tif(mfp.scrollbarSize === undefined) {\r\n\t\t\t\tvar scrollDiv = document.createElement(\"div\");\r\n\t\t\t\tscrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';\r\n\t\t\t\tdocument.body.appendChild(scrollDiv);\r\n\t\t\t\tmfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n\t\t\t\tdocument.body.removeChild(scrollDiv);\r\n\t\t\t}\r\n\t\t\treturn mfp.scrollbarSize;\r\n\t\t}\r\n\r\n\t}; /* MagnificPopup core prototype end */\r\n\r\n\r\n\r\n\r\n\t/**\r\n\t * Public static functions\r\n\t */\r\n\t$.magnificPopup = {\r\n\t\tinstance: null,\r\n\t\tproto: MagnificPopup.prototype,\r\n\t\tmodules: [],\r\n\r\n\t\topen: function(options, index) {\r\n\t\t\t_checkInstance();\r\n\r\n\t\t\tif(!options) {\r\n\t\t\t\toptions = {};\r\n\t\t\t} else {\r\n\t\t\t\toptions = $.extend(true, {}, options);\r\n\t\t\t}\r\n\r\n\t\t\toptions.isObj = true;\r\n\t\t\toptions.index = index || 0;\r\n\t\t\treturn this.instance.open(options);\r\n\t\t},\r\n\r\n\t\tclose: function() {\r\n\t\t\treturn $.magnificPopup.instance && $.magnificPopup.instance.close();\r\n\t\t},\r\n\r\n\t\tregisterModule: function(name, module) {\r\n\t\t\tif(module.options) {\r\n\t\t\t\t$.magnificPopup.defaults[name] = module.options;\r\n\t\t\t}\r\n\t\t\t$.extend(this.proto, module.proto);\r\n\t\t\tthis.modules.push(name);\r\n\t\t},\r\n\r\n\t\tdefaults: {\r\n\r\n\t\t\t// Info about options is in docs:\r\n\t\t\t// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options\r\n\r\n\t\t\tdisableOn: 0,\r\n\r\n\t\t\tkey: null,\r\n\r\n\t\t\tmidClick: false,\r\n\r\n\t\t\tmainClass: '',\r\n\r\n\t\t\tpreloader: true,\r\n\r\n\t\t\tfocus: '', // CSS selector of input to focus after popup is opened\r\n\r\n\t\t\tcloseOnContentClick: false,\r\n\r\n\t\t\tcloseOnBgClick: true,\r\n\r\n\t\t\tcloseBtnInside: true,\r\n\r\n\t\t\tshowCloseBtn: true,\r\n\r\n\t\t\tenableEscapeKey: true,\r\n\r\n\t\t\tmodal: false,\r\n\r\n\t\t\talignTop: false,\r\n\r\n\t\t\tremovalDelay: 0,\r\n\r\n\t\t\tprependTo: null,\r\n\r\n\t\t\tfixedContentPos: 'auto',\r\n\r\n\t\t\tfixedBgPos: 'auto',\r\n\r\n\t\t\toverflowY: 'auto',\r\n\r\n\t\t\tcloseMarkup: '<button title=\"%title%\" type=\"button\" class=\"mfp-close\">&#215;</button>',\r\n\r\n\t\t\ttClose: 'Close (Esc)',\r\n\r\n\t\t\ttLoading: 'Loading...',\r\n\r\n\t\t\tautoFocusLast: true\r\n\r\n\t\t}\r\n\t};\r\n\r\n\r\n\r\n\t$.fn.magnificPopup = function(options) {\r\n\t\t_checkInstance();\r\n\r\n\t\tvar jqEl = $(this);\r\n\r\n\t\t// We call some API method of first param is a string\r\n\t\tif (typeof options === \"string\" ) {\r\n\r\n\t\t\tif(options === 'open') {\r\n\t\t\t\tvar items,\r\n\t\t\t\t\titemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,\r\n\t\t\t\t\tindex = parseInt(arguments[1], 10) || 0;\r\n\r\n\t\t\t\tif(itemOpts.items) {\r\n\t\t\t\t\titems = itemOpts.items[index];\r\n\t\t\t\t} else {\r\n\t\t\t\t\titems = jqEl;\r\n\t\t\t\t\tif(itemOpts.delegate) {\r\n\t\t\t\t\t\titems = items.find(itemOpts.delegate);\r\n\t\t\t\t\t}\r\n\t\t\t\t\titems = items.eq( index );\r\n\t\t\t\t}\r\n\t\t\t\tmfp._openClick({mfpEl:items}, jqEl, itemOpts);\r\n\t\t\t} else {\r\n\t\t\t\tif(mfp.isOpen)\r\n\t\t\t\t\tmfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// clone options obj\r\n\t\t\toptions = $.extend(true, {}, options);\r\n\r\n\t\t\t/*\r\n\t\t\t * As Zepto doesn't support .data() method for objects\r\n\t\t\t * and it works only in normal browsers\r\n\t\t\t * we assign \"options\" object directly to the DOM element. FTW!\r\n\t\t\t */\r\n\t\t\tif(_isJQ) {\r\n\t\t\t\tjqEl.data('magnificPopup', options);\r\n\t\t\t} else {\r\n\t\t\t\tjqEl[0].magnificPopup = options;\r\n\t\t\t}\r\n\r\n\t\t\tmfp.addGroup(jqEl, options);\r\n\r\n\t\t}\r\n\t\treturn jqEl;\r\n\t};\r\n\r\n\t/*>>core*/\r\n\r\n\t/*>>inline*/\r\n\r\n\tvar INLINE_NS = 'inline',\r\n\t\t_hiddenClass,\r\n\t\t_inlinePlaceholder,\r\n\t\t_lastInlineElement,\r\n\t\t_putInlineElementsBack = function() {\r\n\t\t\tif(_lastInlineElement) {\r\n\t\t\t\t_inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();\r\n\t\t\t\t_lastInlineElement = null;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule(INLINE_NS, {\r\n\t\toptions: {\r\n\t\t\thiddenClass: 'hide', // will be appended with `mfp-` prefix\r\n\t\t\tmarkup: '',\r\n\t\t\ttNotFound: 'Content not found'\r\n\t\t},\r\n\t\tproto: {\r\n\r\n\t\t\tinitInline: function() {\r\n\t\t\t\tmfp.types.push(INLINE_NS);\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {\r\n\t\t\t\t\t_putInlineElementsBack();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetInline: function(item, template) {\r\n\r\n\t\t\t\t_putInlineElementsBack();\r\n\r\n\t\t\t\tif(item.src) {\r\n\t\t\t\t\tvar inlineSt = mfp.st.inline,\r\n\t\t\t\t\t\tel = $(item.src);\r\n\r\n\t\t\t\t\tif(el.length) {\r\n\r\n\t\t\t\t\t\t// If target element has parent - we replace it with placeholder and put it back after popup is closed\r\n\t\t\t\t\t\tvar parent = el[0].parentNode;\r\n\t\t\t\t\t\tif(parent && parent.tagName) {\r\n\t\t\t\t\t\t\tif(!_inlinePlaceholder) {\r\n\t\t\t\t\t\t\t\t_hiddenClass = inlineSt.hiddenClass;\r\n\t\t\t\t\t\t\t\t_inlinePlaceholder = _getEl(_hiddenClass);\r\n\t\t\t\t\t\t\t\t_hiddenClass = 'mfp-'+_hiddenClass;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// replace target inline element with placeholder\r\n\t\t\t\t\t\t\t_lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tmfp.updateStatus('error', inlineSt.tNotFound);\r\n\t\t\t\t\t\tel = $('<div>');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\titem.inlineElement = el;\r\n\t\t\t\t\treturn el;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\tmfp._parseMarkup(template, {}, item);\r\n\t\t\t\treturn template;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/*>>inline*/\r\n\r\n\t/*>>ajax*/\r\n\tvar AJAX_NS = 'ajax',\r\n\t\t_ajaxCur,\r\n\t\t_removeAjaxCursor = function() {\r\n\t\t\tif(_ajaxCur) {\r\n\t\t\t\t$(document.body).removeClass(_ajaxCur);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_destroyAjaxRequest = function() {\r\n\t\t\t_removeAjaxCursor();\r\n\t\t\tif(mfp.req) {\r\n\t\t\t\tmfp.req.abort();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule(AJAX_NS, {\r\n\r\n\t\toptions: {\r\n\t\t\tsettings: null,\r\n\t\t\tcursor: 'mfp-ajax-cur',\r\n\t\t\ttError: '<a href=\"%url%\">The content</a> could not be loaded.'\r\n\t\t},\r\n\r\n\t\tproto: {\r\n\t\t\tinitAjax: function() {\r\n\t\t\t\tmfp.types.push(AJAX_NS);\r\n\t\t\t\t_ajaxCur = mfp.st.ajax.cursor;\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);\r\n\t\t\t\t_mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);\r\n\t\t\t},\r\n\t\t\tgetAjax: function(item) {\r\n\r\n\t\t\t\tif(_ajaxCur) {\r\n\t\t\t\t\t$(document.body).addClass(_ajaxCur);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmfp.updateStatus('loading');\r\n\r\n\t\t\t\tvar opts = $.extend({\r\n\t\t\t\t\turl: item.src,\r\n\t\t\t\t\tsuccess: function(data, textStatus, jqXHR) {\r\n\t\t\t\t\t\tvar temp = {\r\n\t\t\t\t\t\t\tdata:data,\r\n\t\t\t\t\t\t\txhr:jqXHR\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t_mfpTrigger('ParseAjax', temp);\r\n\r\n\t\t\t\t\t\tmfp.appendContent( $(temp.data), AJAX_NS );\r\n\r\n\t\t\t\t\t\titem.finished = true;\r\n\r\n\t\t\t\t\t\t_removeAjaxCursor();\r\n\r\n\t\t\t\t\t\tmfp._setFocus();\r\n\r\n\t\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\t\tmfp.wrap.addClass(READY_CLASS);\r\n\t\t\t\t\t\t}, 16);\r\n\r\n\t\t\t\t\t\tmfp.updateStatus('ready');\r\n\r\n\t\t\t\t\t\t_mfpTrigger('AjaxContentAdded');\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function() {\r\n\t\t\t\t\t\t_removeAjaxCursor();\r\n\t\t\t\t\t\titem.finished = item.loadError = true;\r\n\t\t\t\t\t\tmfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));\r\n\t\t\t\t\t}\r\n\t\t\t\t}, mfp.st.ajax.settings);\r\n\r\n\t\t\t\tmfp.req = $.ajax(opts);\r\n\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/*>>ajax*/\r\n\r\n\t/*>>image*/\r\n\tvar _imgInterval,\r\n\t\t_getTitle = function(item) {\r\n\t\t\tif(item.data && item.data.title !== undefined)\r\n\t\t\t\treturn item.data.title;\r\n\r\n\t\t\tvar src = mfp.st.image.titleSrc;\r\n\r\n\t\t\tif(src) {\r\n\t\t\t\tif($.isFunction(src)) {\r\n\t\t\t\t\treturn src.call(mfp, item);\r\n\t\t\t\t} else if(item.el) {\r\n\t\t\t\t\treturn item.el.attr(src) || '';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule('image', {\r\n\r\n\t\toptions: {\r\n\t\t\tmarkup: '<div class=\"mfp-figure\">'+\r\n\t\t\t'<div class=\"mfp-close\"></div>'+\r\n\t\t\t'<figure>'+\r\n\t\t\t'<div class=\"mfp-img\"></div>'+\r\n\t\t\t'<figcaption>'+\r\n\t\t\t'<div class=\"mfp-bottom-bar\">'+\r\n\t\t\t'<div class=\"mfp-title\"></div>'+\r\n\t\t\t'<div class=\"mfp-counter\"></div>'+\r\n\t\t\t'</div>'+\r\n\t\t\t'</figcaption>'+\r\n\t\t\t'</figure>'+\r\n\t\t\t'</div>',\r\n\t\t\tcursor: 'mfp-zoom-out-cur',\r\n\t\t\ttitleSrc: 'title',\r\n\t\t\tverticalFit: true,\r\n\t\t\ttError: '<a href=\"%url%\">The image</a> could not be loaded.'\r\n\t\t},\r\n\r\n\t\tproto: {\r\n\t\t\tinitImage: function() {\r\n\t\t\t\tvar imgSt = mfp.st.image,\r\n\t\t\t\t\tns = '.image';\r\n\r\n\t\t\t\tmfp.types.push('image');\r\n\r\n\t\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\r\n\t\t\t\t\tif(mfp.currItem.type === 'image' && imgSt.cursor) {\r\n\t\t\t\t\t\t$(document.body).addClass(imgSt.cursor);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\t\tif(imgSt.cursor) {\r\n\t\t\t\t\t\t$(document.body).removeClass(imgSt.cursor);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_window.off('resize' + EVENT_NS);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn('Resize'+ns, mfp.resizeImage);\r\n\t\t\t\tif(mfp.isLowIE) {\r\n\t\t\t\t\t_mfpOn('AfterChange', mfp.resizeImage);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tresizeImage: function() {\r\n\t\t\t\tvar item = mfp.currItem;\r\n\t\t\t\tif(!item || !item.img) return;\r\n\r\n\t\t\t\tif(mfp.st.image.verticalFit) {\r\n\t\t\t\t\tvar decr = 0;\r\n\t\t\t\t\t// fix box-sizing in ie7/8\r\n\t\t\t\t\tif(mfp.isLowIE) {\r\n\t\t\t\t\t\tdecr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);\r\n\t\t\t\t\t}\r\n\t\t\t\t\titem.img.css('max-height', mfp.wH-decr);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t_onImageHasSize: function(item) {\r\n\t\t\t\tif(item.img) {\r\n\r\n\t\t\t\t\titem.hasSize = true;\r\n\r\n\t\t\t\t\tif(_imgInterval) {\r\n\t\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\titem.isCheckingImgSize = false;\r\n\r\n\t\t\t\t\t_mfpTrigger('ImageHasSize', item);\r\n\r\n\t\t\t\t\tif(item.imgHidden) {\r\n\t\t\t\t\t\tif(mfp.content)\r\n\t\t\t\t\t\t\tmfp.content.removeClass('mfp-loading');\r\n\r\n\t\t\t\t\t\titem.imgHidden = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Function that loops until the image has size to display elements that rely on it asap\r\n\t\t\t */\r\n\t\t\tfindImageSize: function(item) {\r\n\r\n\t\t\t\tvar counter = 0,\r\n\t\t\t\t\timg = item.img[0],\r\n\t\t\t\t\tmfpSetInterval = function(delay) {\r\n\r\n\t\t\t\t\t\tif(_imgInterval) {\r\n\t\t\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// decelerating interval that checks for size of an image\r\n\t\t\t\t\t\t_imgInterval = setInterval(function() {\r\n\t\t\t\t\t\t\tif(img.naturalWidth > 0) {\r\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif(counter > 200) {\r\n\t\t\t\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tcounter++;\r\n\t\t\t\t\t\t\tif(counter === 3) {\r\n\t\t\t\t\t\t\t\tmfpSetInterval(10);\r\n\t\t\t\t\t\t\t} else if(counter === 40) {\r\n\t\t\t\t\t\t\t\tmfpSetInterval(50);\r\n\t\t\t\t\t\t\t} else if(counter === 100) {\r\n\t\t\t\t\t\t\t\tmfpSetInterval(500);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, delay);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\tmfpSetInterval(1);\r\n\t\t\t},\r\n\r\n\t\t\tgetImage: function(item, template) {\r\n\r\n\t\t\t\tvar guard = 0,\r\n\r\n\t\t\t\t\t// image load complete handler\r\n\t\t\t\t\tonLoadComplete = function() {\r\n\t\t\t\t\t\tif(item) {\r\n\t\t\t\t\t\t\tif (item.img[0].complete) {\r\n\t\t\t\t\t\t\t\titem.img.off('.mfploader');\r\n\r\n\t\t\t\t\t\t\t\tif(item === mfp.currItem){\r\n\t\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\r\n\t\t\t\t\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t\t\t\titem.loaded = true;\r\n\r\n\t\t\t\t\t\t\t\t_mfpTrigger('ImageLoadComplete');\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t// if image complete check fails 200 times (20 sec), we assume that there was an error.\r\n\t\t\t\t\t\t\t\tguard++;\r\n\t\t\t\t\t\t\t\tif(guard < 200) {\r\n\t\t\t\t\t\t\t\t\tsetTimeout(onLoadComplete,100);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tonLoadError();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t// image error handler\r\n\t\t\t\t\tonLoadError = function() {\r\n\t\t\t\t\t\tif(item) {\r\n\t\t\t\t\t\t\titem.img.off('.mfploader');\r\n\t\t\t\t\t\t\tif(item === mfp.currItem){\r\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\t\t\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t\t\titem.loaded = true;\r\n\t\t\t\t\t\t\titem.loadError = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\timgSt = mfp.st.image;\r\n\r\n\r\n\t\t\t\tvar el = template.find('.mfp-img');\r\n\t\t\t\tif(el.length) {\r\n\t\t\t\t\tvar img = document.createElement('img');\r\n\t\t\t\t\timg.className = 'mfp-img';\r\n\t\t\t\t\tif(item.el && item.el.find('img').length) {\r\n\t\t\t\t\t\timg.alt = item.el.find('img').attr('alt');\r\n\t\t\t\t\t}\r\n\t\t\t\t\titem.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);\r\n\t\t\t\t\timg.src = item.src;\r\n\r\n\t\t\t\t\t// without clone() \"error\" event is not firing when IMG is replaced by new IMG\r\n\t\t\t\t\t// TODO: find a way to avoid such cloning\r\n\t\t\t\t\tif(el.is('img')) {\r\n\t\t\t\t\t\titem.img = item.img.clone();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\timg = item.img[0];\r\n\t\t\t\t\tif(img.naturalWidth > 0) {\r\n\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t} else if(!img.width) {\r\n\t\t\t\t\t\titem.hasSize = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmfp._parseMarkup(template, {\r\n\t\t\t\t\ttitle: _getTitle(item),\r\n\t\t\t\t\timg_replaceWith: item.img\r\n\t\t\t\t}, item);\r\n\r\n\t\t\t\tmfp.resizeImage();\r\n\r\n\t\t\t\tif(item.hasSize) {\r\n\t\t\t\t\tif(_imgInterval) clearInterval(_imgInterval);\r\n\r\n\t\t\t\t\tif(item.loadError) {\r\n\t\t\t\t\t\ttemplate.addClass('mfp-loading');\r\n\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttemplate.removeClass('mfp-loading');\r\n\t\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn template;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmfp.updateStatus('loading');\r\n\t\t\t\titem.loading = true;\r\n\r\n\t\t\t\tif(!item.hasSize) {\r\n\t\t\t\t\titem.imgHidden = true;\r\n\t\t\t\t\ttemplate.addClass('mfp-loading');\r\n\t\t\t\t\tmfp.findImageSize(item);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn template;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/*>>image*/\r\n\r\n\t/*>>zoom*/\r\n\tvar hasMozTransform,\r\n\t\tgetHasMozTransform = function() {\r\n\t\t\tif(hasMozTransform === undefined) {\r\n\t\t\t\thasMozTransform = document.createElement('p').style.MozTransform !== undefined;\r\n\t\t\t}\r\n\t\t\treturn hasMozTransform;\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule('zoom', {\r\n\r\n\t\toptions: {\r\n\t\t\tenabled: false,\r\n\t\t\teasing: 'ease-in-out',\r\n\t\t\tduration: 300,\r\n\t\t\topener: function(element) {\r\n\t\t\t\treturn element.is('img') ? element : element.find('img');\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tproto: {\r\n\r\n\t\t\tinitZoom: function() {\r\n\t\t\t\tvar zoomSt = mfp.st.zoom,\r\n\t\t\t\t\tns = '.zoom',\r\n\t\t\t\t\timage;\r\n\r\n\t\t\t\tif(!zoomSt.enabled || !mfp.supportsTransition) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar duration = zoomSt.duration,\r\n\t\t\t\t\tgetElToAnimate = function(image) {\r\n\t\t\t\t\t\tvar newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),\r\n\t\t\t\t\t\t\ttransition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,\r\n\t\t\t\t\t\t\tcssObj = {\r\n\t\t\t\t\t\t\t\tposition: 'fixed',\r\n\t\t\t\t\t\t\t\tzIndex: 9999,\r\n\t\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\t\t'-webkit-backface-visibility': 'hidden'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tt = 'transition';\r\n\r\n\t\t\t\t\t\tcssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;\r\n\r\n\t\t\t\t\t\tnewImg.css(cssObj);\r\n\t\t\t\t\t\treturn newImg;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tshowMainContent = function() {\r\n\t\t\t\t\t\tmfp.content.css('visibility', 'visible');\r\n\t\t\t\t\t},\r\n\t\t\t\t\topenTimeout,\r\n\t\t\t\t\tanimatedImg;\r\n\r\n\t\t\t\t_mfpOn('BuildControls'+ns, function() {\r\n\t\t\t\t\tif(mfp._allowZoom()) {\r\n\r\n\t\t\t\t\t\tclearTimeout(openTimeout);\r\n\t\t\t\t\t\tmfp.content.css('visibility', 'hidden');\r\n\r\n\t\t\t\t\t\t// Basically, all code below does is clones existing image, puts in on top of the current one and animated it\r\n\r\n\t\t\t\t\t\timage = mfp._getItemToZoom();\r\n\r\n\t\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\t\tshowMainContent();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tanimatedImg = getElToAnimate(image);\r\n\r\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\r\n\r\n\t\t\t\t\t\tmfp.wrap.append(animatedImg);\r\n\r\n\t\t\t\t\t\topenTimeout = setTimeout(function() {\r\n\t\t\t\t\t\t\tanimatedImg.css( mfp._getOffset( true ) );\r\n\t\t\t\t\t\t\topenTimeout = setTimeout(function() {\r\n\r\n\t\t\t\t\t\t\t\tshowMainContent();\r\n\r\n\t\t\t\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\t\t\t\tanimatedImg.remove();\r\n\t\t\t\t\t\t\t\t\timage = animatedImg = null;\r\n\t\t\t\t\t\t\t\t\t_mfpTrigger('ZoomAnimationEnded');\r\n\t\t\t\t\t\t\t\t}, 16); // avoid blink when switching images\r\n\r\n\t\t\t\t\t\t\t}, duration); // this timeout equals animation duration\r\n\r\n\t\t\t\t\t\t}, 16); // by adding this timeout we avoid short glitch at the beginning of animation\r\n\r\n\r\n\t\t\t\t\t\t// Lots of timeouts...\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t_mfpOn(BEFORE_CLOSE_EVENT+ns, function() {\r\n\t\t\t\t\tif(mfp._allowZoom()) {\r\n\r\n\t\t\t\t\t\tclearTimeout(openTimeout);\r\n\r\n\t\t\t\t\t\tmfp.st.removalDelay = duration;\r\n\r\n\t\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\t\timage = mfp._getItemToZoom();\r\n\t\t\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tanimatedImg = getElToAnimate(image);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset(true) );\r\n\t\t\t\t\t\tmfp.wrap.append(animatedImg);\r\n\t\t\t\t\t\tmfp.content.css('visibility', 'hidden');\r\n\r\n\t\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\r\n\t\t\t\t\t\t}, 16);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\t\tif(mfp._allowZoom()) {\r\n\t\t\t\t\t\tshowMainContent();\r\n\t\t\t\t\t\tif(animatedImg) {\r\n\t\t\t\t\t\t\tanimatedImg.remove();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\timage = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t_allowZoom: function() {\r\n\t\t\t\treturn mfp.currItem.type === 'image';\r\n\t\t\t},\r\n\r\n\t\t\t_getItemToZoom: function() {\r\n\t\t\t\tif(mfp.currItem.hasSize) {\r\n\t\t\t\t\treturn mfp.currItem.img;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t// Get element postion relative to viewport\r\n\t\t\t_getOffset: function(isLarge) {\r\n\t\t\t\tvar el;\r\n\t\t\t\tif(isLarge) {\r\n\t\t\t\t\tel = mfp.currItem.img;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tel = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar offset = el.offset();\r\n\t\t\t\tvar paddingTop = parseInt(el.css('padding-top'),10);\r\n\t\t\t\tvar paddingBottom = parseInt(el.css('padding-bottom'),10);\r\n\t\t\t\toffset.top -= ( $(window).scrollTop() - paddingTop );\r\n\r\n\r\n\t\t\t\t/*\r\n\r\n\t\t\t\tAnimating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.\r\n\r\n\t\t\t\t */\r\n\t\t\t\tvar obj = {\r\n\t\t\t\t\twidth: el.width(),\r\n\t\t\t\t\t// fix Zepto height+padding issue\r\n\t\t\t\t\theight: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop\r\n\t\t\t\t};\r\n\r\n\t\t\t\t// I hate to do this, but there is no another option\r\n\t\t\t\tif( getHasMozTransform() ) {\r\n\t\t\t\t\tobj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tobj.left = offset.left;\r\n\t\t\t\t\tobj.top = offset.top;\r\n\t\t\t\t}\r\n\t\t\t\treturn obj;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t});\r\n\r\n\r\n\r\n\t/*>>zoom*/\r\n\r\n\t/*>>iframe*/\r\n\r\n\tvar IFRAME_NS = 'iframe',\r\n\t\t_emptyPage = '//about:blank',\r\n\r\n\t\t_fixIframeBugs = function(isShowing) {\r\n\t\t\tif(mfp.currTemplate[IFRAME_NS]) {\r\n\t\t\t\tvar el = mfp.currTemplate[IFRAME_NS].find('iframe');\r\n\t\t\t\tif(el.length) {\r\n\t\t\t\t\t// reset src after the popup is closed to avoid \"video keeps playing after popup is closed\" bug\r\n\t\t\t\t\tif(!isShowing) {\r\n\t\t\t\t\t\tel[0].src = _emptyPage;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// IE8 black screen bug fix\r\n\t\t\t\t\tif(mfp.isIE8) {\r\n\t\t\t\t\t\tel.css('display', isShowing ? 'block' : 'none');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule(IFRAME_NS, {\r\n\r\n\t\toptions: {\r\n\t\t\tmarkup: '<div class=\"mfp-iframe-scaler\">'+\r\n\t\t\t'<div class=\"mfp-close\"></div>'+\r\n\t\t\t'<iframe class=\"mfp-iframe\" src=\"//about:blank\" frameborder=\"0\" allowfullscreen></iframe>'+\r\n\t\t\t'</div>',\r\n\r\n\t\t\tsrcAction: 'iframe_src',\r\n\r\n\t\t\t// we don't care and support only one default type of URL by default\r\n\t\t\tpatterns: {\r\n\t\t\t\tyoutube: {\r\n\t\t\t\t\tindex: 'youtube.com',\r\n\t\t\t\t\tid: 'v=',\r\n\t\t\t\t\tsrc: '//www.youtube.com/embed/%id%?autoplay=1'\r\n\t\t\t\t},\r\n\t\t\t\tvimeo: {\r\n\t\t\t\t\tindex: 'vimeo.com/',\r\n\t\t\t\t\tid: '/',\r\n\t\t\t\t\tsrc: '//player.vimeo.com/video/%id%?autoplay=1'\r\n\t\t\t\t},\r\n\t\t\t\tgmaps: {\r\n\t\t\t\t\tindex: '//maps.google.',\r\n\t\t\t\t\tsrc: '%id%&output=embed'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tproto: {\r\n\t\t\tinitIframe: function() {\r\n\t\t\t\tmfp.types.push(IFRAME_NS);\r\n\r\n\t\t\t\t_mfpOn('BeforeChange', function(e, prevType, newType) {\r\n\t\t\t\t\tif(prevType !== newType) {\r\n\t\t\t\t\t\tif(prevType === IFRAME_NS) {\r\n\t\t\t\t\t\t\t_fixIframeBugs(); // iframe if removed\r\n\t\t\t\t\t\t} else if(newType === IFRAME_NS) {\r\n\t\t\t\t\t\t\t_fixIframeBugs(true); // iframe is showing\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}// else {\r\n\t\t\t\t\t// iframe source is switched, don't do anything\r\n\t\t\t\t\t//}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {\r\n\t\t\t\t\t_fixIframeBugs();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetIframe: function(item, template) {\r\n\t\t\t\tvar embedSrc = item.src;\r\n\t\t\t\tvar iframeSt = mfp.st.iframe;\r\n\r\n\t\t\t\t$.each(iframeSt.patterns, function() {\r\n\t\t\t\t\tif(embedSrc.indexOf( this.index ) > -1) {\r\n\t\t\t\t\t\tif(this.id) {\r\n\t\t\t\t\t\t\tif(typeof this.id === 'string') {\r\n\t\t\t\t\t\t\t\tembedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tembedSrc = this.id.call( this, embedSrc );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tembedSrc = this.src.replace('%id%', embedSrc );\r\n\t\t\t\t\t\treturn false; // break;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar dataObj = {};\r\n\t\t\t\tif(iframeSt.srcAction) {\r\n\t\t\t\t\tdataObj[iframeSt.srcAction] = embedSrc;\r\n\t\t\t\t}\r\n\t\t\t\tmfp._parseMarkup(template, dataObj, item);\r\n\r\n\t\t\t\tmfp.updateStatus('ready');\r\n\r\n\t\t\t\treturn template;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\r\n\r\n\t/*>>iframe*/\r\n\r\n\t/*>>gallery*/\r\n\t/**\r\n\t * Get looped index depending on number of slides\r\n\t */\r\n\tvar _getLoopedId = function(index) {\r\n\t\t\tvar numSlides = mfp.items.length;\r\n\t\t\tif(index > numSlides - 1) {\r\n\t\t\t\treturn index - numSlides;\r\n\t\t\t} else  if(index < 0) {\r\n\t\t\t\treturn numSlides + index;\r\n\t\t\t}\r\n\t\t\treturn index;\r\n\t\t},\r\n\t\t_replaceCurrTotal = function(text, curr, total) {\r\n\t\t\treturn text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);\r\n\t\t};\r\n\r\n\t$.magnificPopup.registerModule('gallery', {\r\n\r\n\t\toptions: {\r\n\t\t\tenabled: false,\r\n\t\t\tarrowMarkup: '<button title=\"%title%\" type=\"button\" class=\"mfp-arrow mfp-arrow-%dir%\"></button>',\r\n\t\t\tpreload: [0,2],\r\n\t\t\tnavigateByImgClick: true,\r\n\t\t\tarrows: true,\r\n\r\n\t\t\ttPrev: 'Previous (Left arrow key)',\r\n\t\t\ttNext: 'Next (Right arrow key)',\r\n\t\t\ttCounter: '%curr% of %total%'\r\n\t\t},\r\n\r\n\t\tproto: {\r\n\t\t\tinitGallery: function() {\r\n\r\n\t\t\t\tvar gSt = mfp.st.gallery,\r\n\t\t\t\t\tns = '.mfp-gallery';\r\n\r\n\t\t\t\tmfp.direction = true; // true - next, false - prev\r\n\r\n\t\t\t\tif(!gSt || !gSt.enabled ) return false;\r\n\r\n\t\t\t\t_wrapClasses += ' mfp-gallery';\r\n\r\n\t\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\r\n\r\n\t\t\t\t\tif(gSt.navigateByImgClick) {\r\n\t\t\t\t\t\tmfp.wrap.on('click'+ns, '.mfp-img', function() {\r\n\t\t\t\t\t\t\tif(mfp.items.length > 1) {\r\n\t\t\t\t\t\t\t\tmfp.next();\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t_document.on('keydown'+ns, function(e) {\r\n\t\t\t\t\t\tif (e.keyCode === 37) {\r\n\t\t\t\t\t\t\tmfp.prev();\r\n\t\t\t\t\t\t} else if (e.keyCode === 39) {\r\n\t\t\t\t\t\t\tmfp.next();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn('UpdateStatus'+ns, function(e, data) {\r\n\t\t\t\t\tif(data.text) {\r\n\t\t\t\t\t\tdata.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {\r\n\t\t\t\t\tvar l = mfp.items.length;\r\n\t\t\t\t\tvalues.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn('BuildControls' + ns, function() {\r\n\t\t\t\t\tif(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {\r\n\t\t\t\t\t\tvar markup = gSt.arrowMarkup,\r\n\t\t\t\t\t\t\tarrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),\r\n\t\t\t\t\t\t\tarrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);\r\n\r\n\t\t\t\t\t\tarrowLeft.click(function() {\r\n\t\t\t\t\t\t\tmfp.prev();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tarrowRight.click(function() {\r\n\t\t\t\t\t\t\tmfp.next();\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tmfp.container.append(arrowLeft.add(arrowRight));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t_mfpOn(CHANGE_EVENT+ns, function() {\r\n\t\t\t\t\tif(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);\r\n\r\n\t\t\t\t\tmfp._preloadTimeout = setTimeout(function() {\r\n\t\t\t\t\t\tmfp.preloadNearbyImages();\r\n\t\t\t\t\t\tmfp._preloadTimeout = null;\r\n\t\t\t\t\t}, 16);\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\t\t_document.off(ns);\r\n\t\t\t\t\tmfp.wrap.off('click'+ns);\r\n\t\t\t\t\tmfp.arrowRight = mfp.arrowLeft = null;\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\t\t\tnext: function() {\r\n\t\t\t\tmfp.direction = true;\r\n\t\t\t\tmfp.index = _getLoopedId(mfp.index + 1);\r\n\t\t\t\tmfp.updateItemHTML();\r\n\t\t\t},\r\n\t\t\tprev: function() {\r\n\t\t\t\tmfp.direction = false;\r\n\t\t\t\tmfp.index = _getLoopedId(mfp.index - 1);\r\n\t\t\t\tmfp.updateItemHTML();\r\n\t\t\t},\r\n\t\t\tgoTo: function(newIndex) {\r\n\t\t\t\tmfp.direction = (newIndex >= mfp.index);\r\n\t\t\t\tmfp.index = newIndex;\r\n\t\t\t\tmfp.updateItemHTML();\r\n\t\t\t},\r\n\t\t\tpreloadNearbyImages: function() {\r\n\t\t\t\tvar p = mfp.st.gallery.preload,\r\n\t\t\t\t\tpreloadBefore = Math.min(p[0], mfp.items.length),\r\n\t\t\t\t\tpreloadAfter = Math.min(p[1], mfp.items.length),\r\n\t\t\t\t\ti;\r\n\r\n\t\t\t\tfor(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {\r\n\t\t\t\t\tmfp._preloadItem(mfp.index+i);\r\n\t\t\t\t}\r\n\t\t\t\tfor(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {\r\n\t\t\t\t\tmfp._preloadItem(mfp.index-i);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t_preloadItem: function(index) {\r\n\t\t\t\tindex = _getLoopedId(index);\r\n\r\n\t\t\t\tif(mfp.items[index].preloaded) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar item = mfp.items[index];\r\n\t\t\t\tif(!item.parsed) {\r\n\t\t\t\t\titem = mfp.parseEl( index );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_mfpTrigger('LazyLoad', item);\r\n\r\n\t\t\t\tif(item.type === 'image') {\r\n\t\t\t\t\titem.img = $('<img class=\"mfp-img\" />').on('load.mfploader', function() {\r\n\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t}).on('error.mfploader', function() {\r\n\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t\titem.loadError = true;\r\n\t\t\t\t\t\t_mfpTrigger('LazyLoadError', item);\r\n\t\t\t\t\t}).attr('src', item.src);\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\titem.preloaded = true;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/*>>gallery*/\r\n\r\n\t/*>>retina*/\r\n\r\n\tvar RETINA_NS = 'retina';\r\n\r\n\t$.magnificPopup.registerModule(RETINA_NS, {\r\n\t\toptions: {\r\n\t\t\treplaceSrc: function(item) {\r\n\t\t\t\treturn item.src.replace(/\\.\\w+$/, function(m) { return '@2x' + m; });\r\n\t\t\t},\r\n\t\t\tratio: 1 // Function or number.  Set to 1 to disable.\r\n\t\t},\r\n\t\tproto: {\r\n\t\t\tinitRetina: function() {\r\n\t\t\t\tif(window.devicePixelRatio > 1) {\r\n\r\n\t\t\t\t\tvar st = mfp.st.retina,\r\n\t\t\t\t\t\tratio = st.ratio;\r\n\r\n\t\t\t\t\tratio = !isNaN(ratio) ? ratio : ratio();\r\n\r\n\t\t\t\t\tif(ratio > 1) {\r\n\t\t\t\t\t\t_mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {\r\n\t\t\t\t\t\t\titem.img.css({\r\n\t\t\t\t\t\t\t\t'max-width': item.img[0].naturalWidth / ratio,\r\n\t\t\t\t\t\t\t\t'width': '100%'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t_mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {\r\n\t\t\t\t\t\t\titem.src = st.replaceSrc(item, ratio);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t/*>>retina*/\r\n\t_checkInstance(); }));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./js/lib/jquery.magnific-popup.js\n// module id = 9\n// module chunks = 0 8"],"sourceRoot":""}