Warning: session_start(): open(/var/lib/lsphp/session/lsphp83/sess_dppr7juekvjba6sic0q0s1dudv, O_RDWR) failed: No space left on device (28) in /home/greenohouse.com/public_html/wp-content/plugins/wp-fundraising-donation/apps/wfpwoocommerce.php on line 7

Warning: session_start(): Failed to read session data: files (path: /var/lib/lsphp/session/lsphp83) in /home/greenohouse.com/public_html/wp-content/plugins/wp-fundraising-donation/apps/wfpwoocommerce.php on line 7

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d241.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d242.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d243.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d244.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d245.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d246.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d247.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d248.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d249.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d24a.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d24b.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d24c.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d24e.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d24f.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`

WordPress database error: [Can't create/write to file '/tmp/#sql-temptable-378-5ed7c-14d250.MAI' (Errcode: 28 "No space left on device")]
SHOW FULL COLUMNS FROM `wp_options`


Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/gtranslate/gtranslate.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 33

Warning: Cannot modify header information - headers already sent by (output started at /home/greenohouse.com/public_html/wp-includes/class-wpdb.php:1851) in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 34
if(ViWre===undefined){var ViWre={}} let reesYotubeApiTag=document.createElement('script');reesYotubeApiTag.src="https://www.youtube.com/iframe_api";let reesFirstScriptTag=document.getElementsByTagName('script')[0];reesFirstScriptTag.parentNode.insertBefore(reesYotubeApiTag,reesFirstScriptTag);var ViWrePlayer;function onYouTubeIframeAPIReady(){'use strict';if(document.querySelector("#woore-video-iframe")){let src=document.querySelector("#woore-video-iframe").dataset.src;if(-1!==src.indexOf("www.youtube.com")){ViWrePlayer=new YT.Player('woore-video-iframe',{height:'360',width:'640',videoId:src.split('/').pop(),})}}} if(VicWreParams.enableCaptcha){if(VicWreParams.captchaSiteKey){let script=document.createElement('script');if(VicWreParams.recaptchaVersion==='2'){script.defer=!0;script.async=!0} script.src=VicWreParams.recaptchaSrc;document.head.appendChild(script);function woore_validateRecaptcha(response){if(response){document.querySelector('.woore-recaptcha-field .woore-g-validate-response').value=response}} var woore_reCaptchaV2Onload=function(){grecaptcha.render(document.querySelector(".woore-recaptcha"),{'sitekey':VicWreParams.captchaSiteKey,'callback':woore_validateRecaptcha,'expired-callback':function(){document.querySelector('.woore-recaptcha-field .woore-g-validate-response').value=null},'theme':VicWreParams.recaptchaSecretTheme,'isolated':!1})};function woore_reCaptchaV3Onload(){if(typeof grecaptcha!=='undefined'){grecaptcha.ready(function(){grecaptcha.execute(VicWreParams.captchaSiteKey,{action:'homepage'}).then(function(token){woore_validateRecaptcha(token)})})}} window.addEventListener('load',function(){if(VicWreParams.recaptchaVersion==='3'){woore_reCaptchaV3Onload()}})}} jQuery(document).ready(function($){'use strict';ViWre.SingleProductPage={vicWreParams:VicWreParams,requestsDirection:{},directionsService:new google.maps.DirectionsService(),zoomScale:1,init:function(){const self=this;self.mapStyle='';try{self.mapStyle=self.vicWreParams.googleMapStyle?JSON.parse(self.vicWreParams.googleMapStyle):''}catch(err){console.log("Map Style is invalid!")} self.handleOverviewComponent();self.handleModalMap("#open-map","#woore-map-modal");self.handledModalFloor(".woore-outer-floor-img");self.handledModalFloor(".woore-outer-floor-desktop-item");self.showOuterImageFloor();self.handledZoomFloorImage();self.printFile();self.initMap();self.handleTravelTime();self.initDirection();self.handleNearbyPlaces();self.loadDataNearbyPlaces(self.showDataNearbyPlaces);self.handleEventKeyEscForModal();self.handleEventClickVideoImage();self.handleImagePanorama();self.handleContactAgent()},handleContactAgent:function(){const self=this,contactForm=$("#woore-contact-agent-form"),modal=$("#woore-contact-notify");modal.on("click",".modal-content > i.icon-woore-close,.vi-hui-overlay",function(){modal.hide();$(document.body).css({'overflow':'auto'})});const showContactPopup=({title='',message='',buttonText='',type='success'})=>{const main=$(".woore-contact-notify-container");if(main.get(0)){if('loader'===type){main.html(`
${message}
`)}else{const popup=$("
");popup.addClass(`woore-contact-notify-wrap ${type}`);const icons={success:'icon icon-woore-check',error:'icon icon-woore-close',};const icon=icons[type];popup.html(`

${title}

${message}
${buttonText}
`);popup.find(".vi-hui-button").on("click",function(){modal.hide();$(document.body).css({'overflow':'auto'})});main.html(popup)} modal.show();$(document.body).css({'overflow':'hidden'})}};contactForm.on("submit",function(e){e.preventDefault();let data={action:'woore_contact_agent_ajax',nonce:VicWreParams.nonce,},formData=$(this).serializeArray(),checkResults=[],check=!0;formData.forEach(function(item){checkResults.push(self.validateContactForm(item.name,item.value));data[item.name]=item.value});check=checkResults.every(function(value){return value===!0});if(!check)return;$.ajax({url:VicWreParams.ajaxUrl,type:'post',dataType:'json',data:data,async:!0,beforeSend:function(){showContactPopup({title:'',message:VicWreParams.i18n.please_wait,buttonText:'',type:'loader',})},success:function(res){if(res){if(res.success){showContactPopup({title:VicWreParams.i18n.success,message:res.data,buttonText:VicWreParams.i18n.continue_text,})}else{showContactPopup({title:VicWreParams.i18n.error,message:res.data,buttonText:VicWreParams.i18n.try_again,type:"error"})} console.log(res.data)}},error:function(res){if(res){console.log(res.data);showContactPopup({title:VicWreParams.i18n.error,message:res.data,buttonText:VicWreParams.i18n.try_again,type:"error"})}},complete:function(){}})});contactForm.on("focus","input, textarea",function(){$(this).parent().removeClass("error")})},validateContactForm:function(name,value){const patternEmail=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;let rule={woore_sender_name:["required"],woore_sender_phone:["required"],woore_sender_email:["required","email"],woore_sender_msg:["required"],};let messageArr={woore_sender_name:[VicWreParams.i18n.enter_fullname],woore_sender_phone:[VicWreParams.i18n.enter_phone],woore_sender_email:[VicWreParams.i18n.enter_email,VicWreParams.i18n.email_not_valid],woore_sender_msg:[VicWreParams.i18n.enter_message],} let isCheck=!0,message='';if(rule[name]){rule[name].forEach(function(ruleName,index){if(isCheck===!1)return;switch(ruleName){case 'required':isCheck=!value.trim().length<=0;break;case 'email':isCheck=patternEmail.test(value);break} message=messageArr[name][index]})} if(!isCheck){let parent=$(`[name="${name}"]`).parent();parent.addClass("error");parent.find(".vi-hui-msg").text(message);return!1} return!0},handleImagePanorama:function(){const panorama=$("#woore-panorama").get(0);if(panorama){let data={action:'woore_get_tour',post_id:VicWreParams.post_id,nonce:VicWreParams.nonce,} $.ajax({url:VicWreParams.ajaxUrl,type:'get',dataType:'json',data:data,async:!1,beforeSend:function(){},success:function(res){let value=JSON.parse(res);if(Object.keys(value.scenes).length>0){pannellum.viewer("woore-panorama",value)}else{$(panorama).closest(".woore-single-property-area").css("display","none")}},error:function(res){if(res){console.log(res.data);$(panorama).closest(".woore-single-property-area").css("display","none")}},complete:function(){}})}},handleEventClickVideoImage:function(){let imgVideo=$(".woore-video-poster-image");let videoType=$(".woore-video").data("type");let source='';let myIframe=$("#woore-video-iframe");if(myIframe.length>0){source=myIframe.data("src")} if('link'===videoType){if(-1!==source.indexOf("player.vimeo.com")){let option={url:source,} ViWrePlayer=new Vimeo.Player('woore-video-iframe',option)}} if(imgVideo.length>0){imgVideo.on("click",function(){imgVideo.hide();if('link'===videoType){if(ViWrePlayer!==undefined){if(-1!==source.indexOf("player.vimeo.com")){ViWrePlayer.play()} if(-1!==source.indexOf("www.youtube.com")){ViWrePlayer.playVideo()}}}else{let video=$(".woore-wp-video-shortcode")[0];video.play()}})}},handleOverviewComponent:function(){let overviewItems=$(".woore-overview-item");let flagClass=!0;for(let i=0;i0){let locationValue=mapCanvas.data("location").split(",");const latLng=new google.maps.LatLng(locationValue[0],locationValue[1]);const modalMap=$("#woore-modal-map-canvas");const map=new google.maps.Map(modalMap[0],{center:latLng,zoom:self.vicWreParams.googleMapZoom?parseInt(self.vicWreParams.googleMapZoom,10):15,styles:self.mapStyle,streetViewControl:!1,disableDefaultUI:!0,fullscreenControl:!0,zoomControl:!0,rotateControl:!0,});let panorama=new google.maps.StreetViewPanorama(modalMap[0],{position:latLng,pov:{heading:165,pitch:0},zoom:self.vicWreParams.googleMapZoom?parseInt(self.vicWreParams.googleMapZoom,10):15,});const markerMap=new google.maps.Marker({position:latLng,map,clickable:!1});const markerPano=new google.maps.Marker({position:latLng,map:panorama,clickable:!1});map.setStreetView(panorama);markerMap.setIcon(self.vicWreParams.mapMarkerIcon);markerPano.setIcon(self.vicWreParams.mapMarkerIcon);panorama.setVisible(!1);$(eleOpen).on("click",function(event){event.preventDefault();modal=$(modal);if(modal.length>0){self.handleModalMapButton(map,panorama);modal.show();$(document.body).css({"overflow":"hidden"});modal.on("click",function(e){if(e.target.closest(".icon.icon-woore-close")||e.target.closest(".vi-hui-overlay")){$(this).hide();$(document.body).css({"overflow":"auto"})}})}})}},handleModalMapButton:function(map,panorama){const btnAction=$(".woore-modal-map-btn");btnAction.each(function(i,ele){$(ele).on("click",function(event){event.preventDefault();const action=$(this).data("action");const activeBtn=$(".woore-modal-map-btn.active");activeBtn.removeClass("active");$(this).addClass("active");switch(action){case 'satellite':map.setMapTypeId('satellite');panorama.setVisible(!1);break case 'streetView':panorama.setVisible(!0);break;default:panorama.setVisible(!1);map.setMapTypeId('roadmap')}})})},handledModalFloor:function(selector){let self=this;$(selector).on("click",function(event){event.preventDefault();let index=$(this).data("index");$(".woore-floor-plans-item.active").removeClass("active");$(`.woore-floor-plans-item[data-index="${index}"]`).addClass("active");let modal=$("#vi-hui-floor-modal");modal.show();$(document.body).css({"overflow":"hidden"});modal.on("click",function(e){let modalContent=this.lastElementChild;if(e.target.closest(".icon.icon-woore-close")||(e.target.closest(".modal-content")!==modalContent)){$(this).hide();$(document.body).css({"overflow":"auto"}) let zooms=$(".woore-floor-plans-img img");self.zoomScale=1;self.changeStatusZoomBtn(self.zoomScale);zooms.each(function(idx,ele){self.huiSetTransform(ele,0,0,1)})}})})},showOuterImageFloor:function(){$(".woore-outer-floor-box").each(function(idx,ele){$(ele).on("click",function(){if($(ele).hasClass("active")){$(ele).removeClass("active");$(ele).next().css("max-height",0)}else{let activeEle=$(".woore-outer-floor-box.active");activeEle.removeClass("active");activeEle.next().css("max-height",0);$(ele).addClass("active");$(ele).next().css("max-height",350+"px")}})})},handledZoomFloorImage:function(){let self=this,panning=!1,pointX=0,pointY=0,start={x:0,y:0},zooms=$(".woore-floor-plans-img img");zooms.each(function(idx,ele){let zoom=$(ele);const eleWidth=ele.width;const eleHeight=ele.height;const scaleFactor=3;let scopeTranslate={x:eleWidth-(eleWidth*(scaleFactor/100)),y:eleHeight-(eleHeight*(scaleFactor/100)),};zoom.on("mousedown",function(e){e.preventDefault();start={x:e.clientX-pointX,y:e.clientY-pointY};panning=!0});zoom.on("mouseup",function(){panning=!1});zoom.on("mousemove",function(e){e.preventDefault();if(!panning){return} pointX=(e.clientX-start.x);pointY=(e.clientY-start.y);let percent=scaleFactor/self.zoomScale;scopeTranslate={x:eleWidth-(eleWidth*(percent/100)),y:eleHeight-(eleHeight*(percent/100)),};let point=self.updateTranslate(scopeTranslate,pointX,pointY);pointX=point.x;pointY=point.y;self.huiSetTransform(zoom,pointX,pointY,self.zoomScale)});zoom.on("mouseout",function(){panning=!1});zoom.on("dblclick",function(e){e.preventDefault();self.zoomScale+=1;self.zoomScale=self.checkScale(self.zoomScale);self.changeStatusZoomBtn(self.zoomScale);self.huiSetTransform(zoom,pointX,pointY,self.zoomScale)});zoom.on("contextmenu",function(e){e.preventDefault();self.zoomScale-=1;self.zoomScale=self.checkScale(self.zoomScale);self.changeStatusZoomBtn(self.zoomScale);self.huiSetTransform(zoom,pointX,pointY,self.zoomScale)})});$("[data-zoom-button]").each(function(idx,ele){$(ele).on("click",function(e){e.preventDefault();const zoom=$(".woore-floor-plans-item.active").find(".woore-floor-plans-img img");const delta=$(ele).data("zoomButton")==="in"?1:-1;(delta>0)?(self.zoomScale+=1):(self.zoomScale-=1);self.zoomScale=self.checkScale(self.zoomScale);self.changeStatusZoomBtn(self.zoomScale);self.huiSetTransform(zoom,pointX,pointY,self.zoomScale)})})},updateTranslate:function(scopeTranslate,pointX,pointY){return{x:Math.min(Math.max(-scopeTranslate.x,pointX),scopeTranslate.x),y:Math.min(Math.max(-scopeTranslate.y,pointY),scopeTranslate.y),}},huiSetTransform:function(zoom,pointX,pointY,scale){$(zoom).css("transform","translate("+pointX+"px, "+pointY+"px) scale("+scale+")")},checkScale:function(scale,minScale=1,maxScale=4){return Math.min(Math.max(minScale,scale),maxScale)},changeStatusZoomBtn:function(scale,minScale=1,maxScale=4){let zoomIn=$("[data-zoom-button = \"in\"]");let zoomOut=$("[data-zoom-button = \"out\"]");if(scale===maxScale){zoomIn.attr("disabled","disabled");zoomOut.prop("disabled",!1)} if(scale===minScale){zoomOut.attr("disabled","disabled");zoomIn.prop("disabled",!1)} if(scale>minScale&&scale0){let locationValue=mapDiv.data("location").split(",");const latLng=new google.maps.LatLng(locationValue[0],locationValue[1]);const map=new google.maps.Map(mapDiv[0],{center:latLng,zoom:self.vicWreParams.googleMapZoom?parseInt(self.vicWreParams.googleMapZoom,10):15,disableDefaultUI:!0,fullscreenControl:!1,keyboardShortcuts:!1,gestureHandling:"none",});map.setOptions({styles:self.mapStyle});const marker=new google.maps.Marker({position:latLng,map,clickable:!1});marker.setIcon(self.vicWreParams.mapMarkerIcon)}},handleTravelTime:function(){const self=this;self.handleWreTab('#woore-travel-tab','.woore-travel-table',self.switchTabAndFindRoute);let travelTime=$(".woore-travel-time");let travelTitle=$("#woore-travel-title");travelTitle.on("click",function(){this.lastElementChild.classList.toggle('active');travelTime.slideToggle()})},handleWreTab:function(tabSelector,tabTableSelector,callback){const self=this;let isRTL=$(document.body).hasClass("rtl");$(tabSelector).on("click",function(e){e.preventDefault();const currentActiveTab=$(this).children(".active");let selectedEle=e.target;if(selectedEle!==this&&selectedEle!==currentActiveTab[0]){let lastEle=this.lastElementChild;let width=selectedEle.offsetWidth;let left=($(this).innerWidth()-$(this).width())/2;let children=this.children;let lengthChild=children.length;let index=$(e.target).index();for(let i=0;i{let scrollVal=Math.round(tabsBox[0].scrollLeft);let maxScrollableWidth=tabsBox[0].scrollWidth-tabsBox[0].clientWidth;$(btnTab[0]).css("display",scrollVal>0?"flex":"none");$(btnTab[1]).css("display",(maxScrollableWidth-1)>scrollVal?"flex":"none")} handleBtnTab();$(window).on("resize",function(){handleBtnTab()});btnTab.on("click",function(){let id=$(this).attr("id");let scrollLeft=tabsBox.scrollLeft();tabsBox.scrollLeft(scrollLeft+(id==="woore-left"?-350:350));setTimeout(()=>{handleBtnTab()},50)});const dragging=(e)=>{if(!isDragging)return;tabsBox.addClass("dragging");let scrollLeft=tabsBox.scrollLeft();tabsBox.scrollLeft(scrollLeft-e.originalEvent.movementX);handleBtnTab()};const dragStop=()=>{isDragging=!1;tabsBox.removeClass("dragging")} tabsBox.on("mousedown",()=>{isDragging=!0});tabsBox.on("mousemove",dragging);tabsBox.on("mouseup",dragStop);tabsBox.on("mouseleave",dragStop)},switchTabAndFindRoute:function(selectedEle,self){let dataTaget=$(selectedEle).data("target").slice(1);$('.woore-travel-table.active').removeClass("active");$(`[aria-labelledby ="${dataTaget}-tab"]`).addClass("active");$("#woore-direction-btn").data("tab",dataTaget);if(JSON.stringify(self.requestsDirection)!=='{}'){self.requestsDirection.travelMode=dataTaget.toUpperCase();self.calculateAndDisplayRoute(self.requestsDirection)}},initDirection:function(){const self=this;const inputDestination=$("#woore-destination-input"),inputOrigin=$("#woore-origin-input"),btnDirection=$("#woore-direction-btn");if(inputDestination.length>0){const autocompleteOption={fields:["formatted_address","geometry","name"],strictBounds:!1,types:['address'],componentRestrictions:{country:self.vicWreParams.country},};const autocomplete=new google.maps.places.Autocomplete(inputDestination[0],autocompleteOption);inputDestination.on("input",function(){if($.trim(this.value)!==""){btnDirection.prop("disabled",!1)}else{btnDirection.prop("disabled",!0)}});btnDirection.on("click",function(e){e.preventDefault();let locationValue=inputOrigin.val().split(","),valueTravelMode=btnDirection.data("tab").toUpperCase(),valueDestination=inputDestination.val();const latLng=new google.maps.LatLng(locationValue[0],locationValue[1]);self.requestsDirection={origin:latLng,destination:valueDestination,travelMode:valueTravelMode,unitSystem:self.vicWreParams.mapUnitSystem==='metric'?google.maps.UnitSystem.METRIC:google.maps.UnitSystem.IMPERIAL,};self.calculateAndDisplayRoute(self.requestsDirection);inputDestination.val("");btnDirection.prop("disabled",!0)})}},calculateAndDisplayRoute:function(request){const self=this;self.directionsService.route(request,function(response,status){let result={};if(status===google.maps.DirectionsStatus.OK){result={name:response.request.destination.query,duration:response.routes[0].legs[0].duration.text,distance:response.routes[0].legs[0].distance.text,status:"OK",}}else{result={name:response.request.destination.query,status:"ZERO_RESULTS",}} self.createTravelRow(result)})},createTravelRow:function(result){const activeTab=$(".woore-travel-table.active");activeTab.html("");let divEle=document.createElement("div");let travelResult=`

${result.duration}

${result.distance}

`;divEle.classList.add("woore-travel-row");if(result.status!=="OK"){travelResult=`

${this.vicWreParams.i18n.not_found}

`} divEle.innerHTML=`

${result.name}

${travelResult}`;activeTab.append(divEle)},handleEventKeyEscForModal:function(){$(document).on("keyup",function(event){if(event.keyCode===27){$(".vi-hui.vi-hui-modal").each(function(i,ele){$(ele).hide();$(document.body).css({"overflow":"auto"})})}})},handleNearbyPlaces:function(){const self=this;let tabSelector='#woore-nearby-place-tab';if($(tabSelector).length>0){self.handleWreTab(tabSelector,'.woore-nearby-places-table','');let activeEleWidth=$(tabSelector).find('.active')[0].offsetWidth;$(tabSelector).find('span:last-child').width(activeEleWidth)}},loadDataNearbyPlaces:function(callback){const divEle=$(".woore-places");if(divEle.length>0){let locationValue=divEle.data("location").split(",");const latLng=new google.maps.LatLng(locationValue[0],locationValue[1]);const service=new google.maps.places.PlacesService(document.createElement("div"));let type=this.vicWreParams.nearbyPlacesTypes;let rankBy=(this.vicWreParams.rankBy==='prominence')?google.maps.places.RankBy.PROMINENCE:google.maps.places.RankBy.DISTANCE;let unitDistance=this.vicWreParams.nearbyPlacesUnit;let placesSearchRequestParams={location:latLng,rankBy,} if(google.maps.places.RankBy.PROMINENCE===rankBy){placesSearchRequestParams.radius=3000} const data=[];$.each(type,function(){let _type=this;placesSearchRequestParams.type=_type;service.nearbySearch(placesSearchRequestParams,function(results,status){if(status===google.maps.places.PlacesServiceStatus.OK){for(let i=0;i ${ele.name}
${ele.vicinity} ${ typeof ele.rating === 'undefined' ? 0 : ele.rating}☆( ${ typeof ele.user_ratings_total === 'undefined' ? 0 : ele.user_ratings_total} )
${ele.distance}`;if(typeof ele.website==="undefined"){html.push(`
${innerHtml}
`)}else{html.push(`${innerHtml}`)}}});if(html.length>0){$(`.woore-nearby-places-table[aria-labelledby ="${type}-tab"]`).html(html.join(''))}},} ViWre.SingleProductPage.init()}); window.libpannellum=(function(window,document,undefined){'use strict';function Renderer(container,context){var canvas;if(container){canvas=document.createElement('canvas');canvas.style.width=canvas.style.height='100%';container.appendChild(canvas)} var program,gl,vs,fs;var previewProgram,previewVs,previewFs;var fallbackImgSize;var world;var vtmps;var pose;var image,imageType;var texCoordBuffer,cubeVertBuf,cubeVertTexCoordBuf,cubeVertIndBuf;var globalParams;var sides=['f','b','u','d','l','r'];var fallbackSides=['f','r','b','l','u','d'];if(context) gl=context;this.init=function(_image,_imageType,haov,vaov,voffset,callback,params){if(_imageType===undefined) _imageType='equirectangular';if(_imageType!='equirectangular'&&_imageType!='cubemap'&&_imageType!='multires'){console.log('Error: invalid image type specified!');throw{type:'config error'}} imageType=_imageType;image=_image;globalParams=params||{};if(program){if(vs){gl.detachShader(program,vs);gl.deleteShader(vs)} if(fs){gl.detachShader(program,fs);gl.deleteShader(fs)} gl.bindBuffer(gl.ARRAY_BUFFER,null);gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,null);if(program.texture) gl.deleteTexture(program.texture);if(program.nodeCache) for(var i=0;i0) program.textureLoads.shift()(!1);} gl.deleteProgram(program);program=undefined} if(previewProgram){if(previewVs){gl.detachShader(previewProgram,previewVs);gl.deleteShader(previewVs)} if(previewFs){gl.detachShader(previewProgram,previewFs);gl.deleteShader(previewFs)} gl.deleteProgram(previewProgram);previewProgram=undefined} pose=undefined;var s;var faceMissing=!1;var cubeImgWidth;if(imageType=='cubemap'){for(s=0;s<6;s++){if(image[s].width>0){if(cubeImgWidth===undefined) cubeImgWidth=image[s].width;if(cubeImgWidth!=image[s].width) console.log('Cube faces have inconsistent widths: '+cubeImgWidth+' vs. '+image[s].width);}else faceMissing=!0}} function fillMissingFaces(imgSize){if(faceMissing){var nbytes=imgSize*imgSize*4;var imageArray=new Uint8ClampedArray(nbytes);var rgb=params.backgroundColor?params.backgroundColor:[0,0,0];rgb[0]*=255;rgb[1]*=255;rgb[2]*=255;for(var i=0;i0){if(fallbackImgSize===undefined) fallbackImgSize=this.width;if(fallbackImgSize!=this.width) console.log('Fallback faces have inconsistent widths: '+fallbackImgSize+' vs. '+this.width);}else faceMissing=!0;loaded++;if(loaded==6){fallbackImgSize=this.width;container.appendChild(world);callback()}};faceMissing=!1;for(s=0;s<6;s++){var faceImg=new Image();faceImg.crossOrigin=globalParams.crossOrigin?globalParams.crossOrigin:'anonymous';faceImg.side=s;faceImg.onload=onLoad;faceImg.onerror=incLoaded;if(imageType=='multires'){faceImg.src=path.replace('%s',fallbackSides[s])+(image.extension?'.'+image.extension:'')}else{faceImg.src=image[s].src}} fillMissingFaces(fallbackImgSize);return}else if(!gl){console.log('Error: no WebGL support detected!');throw{type:'no webgl'}} if(imageType=='cubemap') fillMissingFaces(cubeImgWidth);if(image.basePath){image.fullpath=image.basePath+image.path}else{image.fullpath=image.path} image.invTileResolution=1/image.tileResolution;var vertices=createCube();vtmps=[];for(s=0;s<6;s++){vtmps[s]=vertices.slice(s*12,s*12+12);vertices=createCube()} var maxWidth=0;if(imageType=='equirectangular'){maxWidth=gl.getParameter(gl.MAX_TEXTURE_SIZE);if(Math.max(image.width/2,image.height)>maxWidth){console.log('Error: The image is too big; it\'s '+image.width+'px wide, '+'but this device\'s maximum supported size is '+(maxWidth*2)+'px.');throw{type:'webgl size error',width:image.width,maxWidth:maxWidth*2}}}else if(imageType=='cubemap'){if(cubeImgWidth>gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE)){console.log('Error: The image is too big; it\'s '+cubeImgWidth+'px wide, '+'but this device\'s maximum supported size is '+maxWidth+'px.');throw{type:'webgl size error',width:cubeImgWidth,maxWidth:maxWidth}}} if(params!==undefined){var horizonPitch=isNaN(params.horizonPitch)?0:Number(params.horizonPitch),horizonRoll=isNaN(params.horizonRoll)?0:Number(params.horizonRoll);if(horizonPitch!=0||horizonRoll!=0) pose=[horizonPitch,horizonRoll]} var glBindType=gl.TEXTURE_2D;gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);if(gl.getShaderPrecisionFormat){var precision=gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER,gl.HIGH_FLOAT);if(precision&&precision.precision<1){fragEquiCubeBase=fragEquiCubeBase.replace('highp','mediump')}} vs=gl.createShader(gl.VERTEX_SHADER);var vertexSrc=v;if(imageType=='multires'){vertexSrc=vMulti} gl.shaderSource(vs,vertexSrc);gl.compileShader(vs);fs=gl.createShader(gl.FRAGMENT_SHADER);var fragmentSrc=fragEquirectangular;if(imageType=='cubemap'){glBindType=gl.TEXTURE_CUBE_MAP;fragmentSrc=fragCube}else if(imageType=='multires'){fragmentSrc=fragMulti} gl.shaderSource(fs,fragmentSrc);gl.compileShader(fs);program=gl.createProgram();gl.attachShader(program,vs);gl.attachShader(program,fs);gl.linkProgram(program);if(!gl.getShaderParameter(vs,gl.COMPILE_STATUS)) console.log(gl.getShaderInfoLog(vs));if(!gl.getShaderParameter(fs,gl.COMPILE_STATUS)) console.log(gl.getShaderInfoLog(fs));if(!gl.getProgramParameter(program,gl.LINK_STATUS)) console.log(gl.getProgramInfoLog(program));gl.useProgram(program);program.drawInProgress=!1;if(params.backgroundColor!==null){var color=params.backgroundColor?params.backgroundColor:[0,0,0];gl.clearColor(color[0],color[1],color[2],1.0);gl.clear(gl.COLOR_BUFFER_BIT)} program.texCoordLocation=gl.getAttribLocation(program,'a_texCoord');gl.enableVertexAttribArray(program.texCoordLocation);if(imageType!='multires'){if(!texCoordBuffer) texCoordBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texCoordBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,1,1,1,1,-1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);gl.vertexAttribPointer(program.texCoordLocation,2,gl.FLOAT,!1,0,0);program.aspectRatio=gl.getUniformLocation(program,'u_aspectRatio');gl.uniform1f(program.aspectRatio,gl.drawingBufferWidth/gl.drawingBufferHeight);program.psi=gl.getUniformLocation(program,'u_psi');program.theta=gl.getUniformLocation(program,'u_theta');program.f=gl.getUniformLocation(program,'u_f');program.h=gl.getUniformLocation(program,'u_h');program.v=gl.getUniformLocation(program,'u_v');program.vo=gl.getUniformLocation(program,'u_vo');program.rot=gl.getUniformLocation(program,'u_rot');gl.uniform1f(program.h,haov/(Math.PI*2.0));gl.uniform1f(program.v,vaov/Math.PI);gl.uniform1f(program.vo,voffset/Math.PI*2);if(imageType=='equirectangular'){program.backgroundColor=gl.getUniformLocation(program,'u_backgroundColor');gl.uniform4fv(program.backgroundColor,color.concat([1]))} program.texture=gl.createTexture();gl.bindTexture(glBindType,program.texture);if(imageType=='cubemap'){gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[1]);gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[3]);gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[4]);gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[5]);gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Z,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[0]);gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image[2])}else{if(image.width<=maxWidth){gl.uniform1i(gl.getUniformLocation(program,'u_splitImage'),0);gl.texImage2D(glBindType,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image)}else{gl.uniform1i(gl.getUniformLocation(program,'u_splitImage'),1);var cropCanvas=document.createElement('canvas');cropCanvas.width=image.width/2;cropCanvas.height=image.height;var cropContext=cropCanvas.getContext('2d');cropContext.drawImage(image,0,0);var cropImage=cropContext.getImageData(0,0,image.width/2,image.height);gl.texImage2D(glBindType,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,cropImage);program.texture2=gl.createTexture();gl.activeTexture(gl.TEXTURE1);gl.bindTexture(glBindType,program.texture2);gl.uniform1i(gl.getUniformLocation(program,'u_image1'),1);cropContext.drawImage(image,-image.width/2,0);cropImage=cropContext.getImageData(0,0,image.width/2,image.height);gl.texImage2D(glBindType,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,cropImage);gl.texParameteri(glBindType,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(glBindType,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(glBindType,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(glBindType,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.activeTexture(gl.TEXTURE0)}} if(imageType!="cubemap"&&image.width&&image.width<=maxWidth&&haov==2*Math.PI&&(image.width&(image.width-1))==0) gl.texParameteri(glBindType,gl.TEXTURE_WRAP_S,gl.REPEAT);else gl.texParameteri(glBindType,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(glBindType,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(glBindType,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(glBindType,gl.TEXTURE_MAG_FILTER,gl.LINEAR)}else{program.vertPosLocation=gl.getAttribLocation(program,'a_vertCoord');gl.enableVertexAttribArray(program.vertPosLocation);if(!cubeVertBuf) cubeVertBuf=gl.createBuffer();if(!cubeVertTexCoordBuf) cubeVertTexCoordBuf=gl.createBuffer();if(!cubeVertIndBuf) cubeVertIndBuf=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,cubeVertTexCoordBuf);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1]),gl.STATIC_DRAW);gl.vertexAttribPointer(program.texCoordLocation,2,gl.FLOAT,!1,0,0);gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,cubeVertIndBuf);gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),gl.STATIC_DRAW);gl.bindBuffer(gl.ARRAY_BUFFER,cubeVertBuf);gl.vertexAttribPointer(program.vertPosLocation,3,gl.FLOAT,!1,0,0);program.perspUniform=gl.getUniformLocation(program,'u_perspMatrix');program.cubeUniform=gl.getUniformLocation(program,'u_cubeMatrix');program.currentNodes=[];program.nodeCache=[];program.nodeCacheTimestamp=0;program.textureLoads=[];if(image.shtHash||image.equirectangularThumbnail){previewVs=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(previewVs,v);gl.compileShader(previewVs);previewFs=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(previewFs,fragEquirectangular);gl.compileShader(previewFs);previewProgram=gl.createProgram();gl.attachShader(previewProgram,previewVs);gl.attachShader(previewProgram,previewFs);gl.linkProgram(previewProgram);if(!gl.getShaderParameter(previewVs,gl.COMPILE_STATUS)) console.log(gl.getShaderInfoLog(previewVs));if(!gl.getShaderParameter(previewFs,gl.COMPILE_STATUS)) console.log(gl.getShaderInfoLog(previewFs));if(!gl.getProgramParameter(previewProgram,gl.LINK_STATUS)) console.log(gl.getProgramInfoLog(previewProgram));gl.useProgram(previewProgram);previewProgram.texCoordLocation=gl.getAttribLocation(previewProgram,'a_texCoord');gl.enableVertexAttribArray(previewProgram.texCoordLocation);if(!texCoordBuffer) texCoordBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texCoordBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,1,1,1,1,-1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);gl.vertexAttribPointer(previewProgram.texCoordLocation,2,gl.FLOAT,!1,0,0);previewProgram.aspectRatio=gl.getUniformLocation(previewProgram,'u_aspectRatio');gl.uniform1f(previewProgram.aspectRatio,gl.drawingBufferWidth/gl.drawingBufferHeight);previewProgram.psi=gl.getUniformLocation(previewProgram,'u_psi');previewProgram.theta=gl.getUniformLocation(previewProgram,'u_theta');previewProgram.f=gl.getUniformLocation(previewProgram,'u_f');previewProgram.h=gl.getUniformLocation(previewProgram,'u_h');previewProgram.v=gl.getUniformLocation(previewProgram,'u_v');previewProgram.vo=gl.getUniformLocation(previewProgram,'u_vo');previewProgram.rot=gl.getUniformLocation(previewProgram,'u_rot');gl.uniform1f(previewProgram.h,1.0);previewProgram.texture=gl.createTexture();gl.bindTexture(glBindType,previewProgram.texture);var previewImage,vext,voff;var uploadPreview=function(){gl.useProgram(previewProgram);gl.uniform1i(gl.getUniformLocation(previewProgram,'u_splitImage'),0);gl.texImage2D(glBindType,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,previewImage);gl.texParameteri(glBindType,gl.TEXTURE_WRAP_S,gl.REPEAT);gl.texParameteri(glBindType,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.texParameteri(glBindType,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(glBindType,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.uniform1f(previewProgram.v,vext);gl.uniform1f(previewProgram.vo,voff);gl.useProgram(program)};if(image.shtHash){previewImage=shtDecodeImage(image.shtHash);vext=(2+1/31)/2;voff=1-(2+1/31)/2;uploadPreview()} if(image.equirectangularThumbnail){if(typeof image.equirectangularThumbnail==='string'){if(image.equirectangularThumbnail.slice(0,5)=='data:'){previewImage=new Image();previewImage.onload=function(){vext=1;voff=0;uploadPreview()};previewImage.src=image.equirectangularThumbnail}else{console.log('Error: thumbnail string is not a data URI!');throw{type:'config error'}}}else{previewImage=image.equirectangularThumbnail;vext=1;voff=0;uploadPreview()}} gl.bindBuffer(gl.ARRAY_BUFFER,cubeVertBuf);gl.vertexAttribPointer(program.vertPosLocation,3,gl.FLOAT,!1,0,0);gl.useProgram(program)}} var err=gl.getError();if(err!==0){console.log('Error: Something went wrong with WebGL!',err);throw{type:'webgl error'}} callback()};this.destroy=function(){if(container!==undefined){if(canvas!==undefined&&container.contains(canvas)){container.removeChild(canvas)} if(world!==undefined&&container.contains(world)){container.removeChild(world)}} if(gl){var extension=gl.getExtension('WEBGL_lose_context');if(extension) extension.loseContext();}};this.resize=function(){var pixelRatio=window.devicePixelRatio||1;canvas.width=canvas.clientWidth*pixelRatio;canvas.height=canvas.clientHeight*pixelRatio;if(gl){if(gl.getError()==1286) handleWebGLError1286();gl.viewport(0,0,gl.drawingBufferWidth,gl.drawingBufferHeight);if(imageType!='multires'){gl.uniform1f(program.aspectRatio,canvas.clientWidth/canvas.clientHeight)}else if(image.shtHash){gl.useProgram(previewProgram);gl.uniform1f(previewProgram.aspectRatio,canvas.clientWidth/canvas.clientHeight);gl.useProgram(program)}}};if(canvas) this.resize();this.setPose=function(horizonPitch,horizonRoll){horizonPitch=isNaN(horizonPitch)?0:Number(horizonPitch);horizonRoll=isNaN(horizonRoll)?0:Number(horizonRoll);if(horizonPitch==0&&horizonRoll==0) pose=undefined;else pose=[horizonPitch,horizonRoll]};this.render=function(pitch,yaw,hfov,params){var focal,i,s,roll=0;if(params===undefined) params={};if(params.roll) roll=params.roll;if(params.dynamic) var dynamic=params.dynamic;if(pose!==undefined){var horizonPitch=pose[0],horizonRoll=pose[1];var orig_pitch=pitch,orig_yaw=yaw,x=Math.cos(horizonRoll)*Math.sin(pitch)*Math.sin(horizonPitch)+Math.cos(pitch)*(Math.cos(horizonPitch)*Math.cos(yaw)+Math.sin(horizonRoll)*Math.sin(horizonPitch)*Math.sin(yaw)),y=-Math.sin(pitch)*Math.sin(horizonRoll)+Math.cos(pitch)*Math.cos(horizonRoll)*Math.sin(yaw),z=Math.cos(horizonRoll)*Math.cos(horizonPitch)*Math.sin(pitch)+Math.cos(pitch)*(-Math.cos(yaw)*Math.sin(horizonPitch)+Math.cos(horizonPitch)*Math.sin(horizonRoll)*Math.sin(yaw));pitch=Math.asin(Math.max(Math.min(z,1),-1));yaw=Math.atan2(y,x);var v=[Math.cos(orig_pitch)*(Math.sin(horizonRoll)*Math.sin(horizonPitch)*Math.cos(orig_yaw)-Math.cos(horizonPitch)*Math.sin(orig_yaw)),Math.cos(orig_pitch)*Math.cos(horizonRoll)*Math.cos(orig_yaw),Math.cos(orig_pitch)*(Math.cos(horizonPitch)*Math.sin(horizonRoll)*Math.cos(orig_yaw)+Math.sin(orig_yaw)*Math.sin(horizonPitch))],w=[-Math.cos(pitch)*Math.sin(yaw),Math.cos(pitch)*Math.cos(yaw)];var roll_adj=Math.acos(Math.max(Math.min((v[0]*w[0]+v[1]*w[1])/(Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2])*Math.sqrt(w[0]*w[0]+w[1]*w[1])),1),-1));if(v[2]<0) roll_adj=2*Math.PI-roll_adj;roll+=roll_adj} if(params.hook){params.hook({gl:gl,program:program,previewProgram:previewProgram,imageType:imageType,texCoordBuffer:texCoordBuffer,cubeVertBuf:cubeVertBuf,cubeVertTexCoordBuf:cubeVertTexCoordBuf,cubeVertIndBuf:cubeVertIndBuf})} if(!gl&&(imageType=='multires'||imageType=='cubemap')){s=fallbackImgSize/2;var transforms={f:'translate3d(-'+(s+2)+'px, -'+(s+2)+'px, -'+s+'px)',b:'translate3d('+(s+2)+'px, -'+(s+2)+'px, '+s+'px) rotateX(180deg) rotateZ(180deg)',u:'translate3d(-'+(s+2)+'px, -'+s+'px, '+(s+2)+'px) rotateX(270deg)',d:'translate3d(-'+(s+2)+'px, '+s+'px, -'+(s+2)+'px) rotateX(90deg)',l:'translate3d(-'+s+'px, -'+(s+2)+'px, '+(s+2)+'px) rotateX(180deg) rotateY(90deg) rotateZ(180deg)',r:'translate3d('+s+'px, -'+(s+2)+'px, -'+(s+2)+'px) rotateY(270deg)'};focal=1/Math.tan(hfov/2);var zoom=focal*canvas.clientWidth/2+'px';var transform='perspective('+zoom+') translateZ('+zoom+') rotateX('+pitch+'rad) rotateY('+yaw+'rad) ';var faces=Object.keys(transforms);for(i=0;i<6;i++){var face=world.querySelector('.pnlm-'+faces[i]+'face');if(!face) continue;face.style.webkitTransform=transform+transforms[faces[i]];face.style.transform=transform+transforms[faces[i]]} return} if(imageType!='multires'){var vfov=2*Math.atan(Math.tan(hfov*0.5)/(gl.drawingBufferWidth/gl.drawingBufferHeight));focal=1/Math.tan(vfov*0.5);gl.uniform1f(program.psi,yaw);gl.uniform1f(program.theta,pitch);gl.uniform1f(program.rot,roll);gl.uniform1f(program.f,focal);if(dynamic===!0){if(imageType=='equirectangular'){gl.bindTexture(gl.TEXTURE_2D,program.texture);gl.texImage2D(gl.TEXTURE_2D,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image)}} gl.drawArrays(gl.TRIANGLES,0,6)}else{var isPreview=(typeof image.shtHash!=='undefined')||(typeof image.equirectangularThumbnail!=='undefined');var drawPreview=isPreview;if(isPreview&&program.currentNodes.length>=6){drawPreview=!1;for(var i=0;i<6;i++){if(!program.currentNodes[i].textureLoaded){drawPreview=!0;break}}} if(drawPreview){gl.useProgram(previewProgram);gl.bindBuffer(gl.ARRAY_BUFFER,texCoordBuffer);gl.vertexAttribPointer(previewProgram.texCoordLocation,2,gl.FLOAT,!1,0,0);gl.bindTexture(gl.TEXTURE_2D,previewProgram.texture);var vfov=2*Math.atan(Math.tan(hfov*0.5)/(gl.drawingBufferWidth/gl.drawingBufferHeight));focal=1/Math.tan(vfov*0.5);gl.uniform1f(previewProgram.psi,yaw);gl.uniform1f(previewProgram.theta,pitch);gl.uniform1f(previewProgram.rot,roll);gl.uniform1f(previewProgram.f,focal);gl.drawArrays(gl.TRIANGLES,0,6);gl.bindBuffer(gl.ARRAY_BUFFER,cubeVertBuf);gl.vertexAttribPointer(program.vertPosLocation,3,gl.FLOAT,!1,0,0);gl.useProgram(program)} var perspMatrix=makePersp(hfov,gl.drawingBufferWidth/gl.drawingBufferHeight,0.1,100.0);var perspMatrixNoClip=makePersp(hfov,gl.drawingBufferWidth/gl.drawingBufferHeight,-100.0,100.0);var matrix=identityMatrix3();matrix=rotateMatrix(matrix,-roll,'z');matrix=rotateMatrix(matrix,-pitch,'x');matrix=rotateMatrix(matrix,yaw,'y');matrix=makeMatrix4(matrix);gl.uniformMatrix4fv(program.perspUniform,!1,transposeMatrix4(perspMatrix));gl.uniformMatrix4fv(program.cubeUniform,!1,transposeMatrix4(matrix));var rotPersp=rotatePersp(perspMatrix,matrix);var rotPerspNoClip=rotatePersp(perspMatrixNoClip,matrix);program.nodeCache.sort(multiresNodeSort);if(program.nodeCache.length>200&&program.nodeCache.length>program.currentNodes.length+50){var removed=program.nodeCache.splice(200,program.nodeCache.length-200);for(var j=0;j=0;i--){if(program.currentNodes.indexOf(pendingTextureRequests[i].node)===-1){pendingTextureRequests[i].node.textureLoad=!1;pendingTextureRequests.splice(i,1)}} if(pendingTextureRequests.length===0){for(i=0;i0) program.textureLoads.shift()(!0);multiresDraw(!isPreview)} if(params.returnImage!==undefined){if(window.createImageBitmap&¶ms.returnImage=='ImageBitmap'){return createImageBitmap(canvas)}else{if(params.returnImage.toString().indexOf('image/')==0) return canvas.toDataURL(params.returnImage);else return canvas.toDataURL('image/png')}}};this.isLoading=function(){if(gl&&imageType=='multires'){for(var i=0;i=6){for(var i=0;i<6;i++){if(!program.currentNodes[i].textureLoaded){return!1}} return!0} return!1} this.getCanvas=function(){return canvas};function multiresNodeSort(a,b){if(a.level==1&&b.level!=1){return-1} if(b.level==1&&a.level!=1){return 1} return b.timestamp-a.timestamp} function multiresNodeRenderSort(a,b){if(a.level!=b.level){return a.level-b.level} return a.diff-b.diff} function multiresDraw(clear){if(!program.drawInProgress){program.drawInProgress=!0;if(clear) gl.clear(gl.COLOR_BUFFER_BIT);var node_paths={};for(var i=0;i1);} for(var i=0;i1&&node_paths[program.currentNodes[i].path]!=4){gl.bufferData(gl.ARRAY_BUFFER,program.currentNodes[i].vertices,gl.STATIC_DRAW);gl.bindTexture(gl.TEXTURE_2D,program.currentNodes[i].texture);gl.drawElements(gl.TRIANGLES,6,gl.UNSIGNED_SHORT,0)}} program.drawInProgress=!1}} function MultiresNode(vertices,side,level,x,y,path,parentPath){this.vertices=vertices;this.side=side;this.level=level;this.x=x;this.y=y;var p=typeof path==='object'?path.tileKey:path;p=p.replace('%s',side).replace('%l0',level-1).replace('%l',level).replace('%x',x).replace('%y',y);this.path=typeof path==='object'?path[p]:p;this.parentPath=parentPath} function testMultiresNode(rotPersp,rotPerspNoClip,node,pitch,yaw,hfov){if(checkSquareInView(rotPersp,node.vertices)){var cornersWinX=[],cornersWinY=[],minCornersWinZ=2,cornersInView=[],numCornersInView=0;for(var i=0;i<4;i++){var corner=applyRotPerspToVec(rotPerspNoClip,node.vertices.slice(i*3,(i+1)*3));cornersWinX.push(corner[0]*corner[3]);cornersWinY.push(corner[1]*corner[3]);var cornerWinZ=corner[2]*corner[3];minCornersWinZ=Math.min(minCornersWinZ,cornerWinZ);cornersInView.push(Math.abs(cornersWinX[i])<=1&&Math.abs(cornersWinY[i])<=1&&cornerWinZ>0);numCornersInView+=cornersInView[i]} var cubeSize=image.cubeResolution*Math.pow(2,node.level-image.maxLevel);var numTiles=Math.ceil(cubeSize*image.invTileResolution)-1;var doubleTileSize=cubeSize%image.tileResolution*2;var lastTileSize=(cubeSize*2)%image.tileResolution;if(lastTileSize===0){lastTileSize=image.tileResolution} if(doubleTileSize===0){doubleTileSize=image.tileResolution*2} if(node.level>1&&minCornersWinZ>0&&numCornersInView>0){var maxSide=0;for(var i=0;i<4;i++){var j=(i+1)%4;if(cornersInView[i]||cornersInView[j]){var diffX=(cornersWinX[j]-cornersWinX[i])*gl.drawingBufferWidth/2,diffY=(cornersWinY[j]-cornersWinY[i])*gl.drawingBufferHeight/2;if(lastTileSizeMath.PI)?-2*Math.PI:(ydiff<-Math.PI)?2*Math.PI:0;ydiff=Math.abs(ydiff);node.diff=Math.acos(Math.sin(pitch)*Math.sin(theta)+Math.cos(pitch)*Math.cos(theta)*Math.cos(ydiff));var inCurrent=!1;for(var k=0;k0&&self.image.height>0){processLoadedTexture(self.image,self.texture);self.callback(self.texture,!0)}else{self.callback(self.texture,!1)}} releaseTextureImageLoader(self)})};this.image.addEventListener('load',loadFn);this.image.addEventListener('error',loadFn)} TextureImageLoader.prototype.loadTexture=function(src,texture,callback){this.texture=texture;this.callback=callback;this.image.src=src};function PendingTextureRequest(node,src,texture,callback){this.node=node;this.src=src;this.texture=texture;this.callback=callback} function releaseTextureImageLoader(til){if(pendingTextureRequests.length){var req=pendingTextureRequests.shift();til.loadTexture(req.src,req.texture,req.callback)}else textureImageCache[cacheTop++]=til} for(var i=0;i1) ret[0]=1;if(winY<-1) ret[1]=-1;if(winY>1) ret[1]=1;if(winZ<-1||winZ>1) ret[2]=1;return ret} function checkSquareInView(m,v){var check1=checkInView(m,v.slice(0,3));var check2=checkInView(m,v.slice(3,6));var check3=checkInView(m,v.slice(6,9));var check4=checkInView(m,v.slice(9,12));var testX=check1[0]+check2[0]+check3[0]+check4[0];if(testX==-4||testX==4) return!1;var testY=check1[1]+check2[1]+check3[1]+check4[1];if(testY==-4||testY==4) return!1;var testZ=check1[2]+check2[2]+check3[2]+check4[2];return testZ!=4} function handleWebGLError1286(){console.log('Reducing canvas size due to error 1286!');canvas.width=Math.round(canvas.width/2);canvas.height=Math.round(canvas.height/2)} var shtB83chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$%*+,-.:;=?@[]^_{|}~',shtYlmStr='Bf[ff4fff|ffff0fffffBo@Ri5xag{Jmdf2+WiefCs@Ll7+Vi]Btag6'+'[NmdgCv=Ho9;Qk;7zWiF_GsahDy:ErE?Mn$5+SkS_AyWiD#-CuJ[Iqp6;Nnx?7*SlE$'+'*BxR@FtPA?Jq+%7:NnF*zAzn?CwIG@Ft-Y9?IrG+vA%w:AzGR?Cx*IF@EuI,nA+$*9%'+'Gu:A#xCR?ByJ-VB-*wA+J**9*ZBv:9%L.QD.*aB.O.v9-MF+$8,O:MG:*OD;a:UB:IO'+':n9:Q:KJ;#IG=u-KE=Hs:MC?T:IO=wEL?#%FJ@K**FI@Y;HV=pDU?*sCS@S.uCR[m;H'+'p=VDq?*SCs@s.QCt[r:Iw=OEz?#IF$@#*HF%@u:K$;KI+=uEK-=*sCM:?w:M+:HO.;a'+'CU;:%OCn?:z.Q..Ha;.ODv?-yFG$@,$-V;-Hw=+JH*?*lBP:?%%,n=+J*?%GQ:=#NCt'+'?;y++v=%O:=zGt?:xHI,@-u,*z=zX?:wI+@,tEY??%r-$*;xt@,tP=?$qG%[:xn.#-:'+'u$[%qp];xnN?[*sl.y:-r-?yn$^+sks_=yoi:v=*o?;uk;[zoi,_+skh:s@zl[+pi];'+'tkg][xmhg;o@ti^xkg{$mhf|+oigf;f[ff_fff|ffff~fffff',shtMaxYlm=3.317,shtYlm=[];function shtDecodeFloat(i,maxVal){return Math.pow(((Math.abs(i)-maxVal)/maxVal),2)*(i-maxVal>0?1:-1)} function shtDecodeCoeff(val,maxVal){var quantR=Math.floor(val/(19*19)),quantG=Math.floor(val/19)%19,quantB=val%19;var r=shtDecodeFloat(quantR,9)*maxVal,g=shtDecodeFloat(quantG,9)*maxVal,b=shtDecodeFloat(quantB,9)*maxVal;return[r,g,b]} function shtB83decode(b83str,length){var cnt=Math.floor(b83str.length/length),vals=[];for(var i=0;i=0;l--){var idx=Math.floor((l+1)*l/2);expand+=idx!=0?flm[idx]*Ylm[idx-1]:flm[idx];for(var m=1;m<=l;m++) expand+=(flm[++idx]*cosm[m]+flm[idx+cosidx-l-1]*sinm[m])*Ylm[idx-1]} return Math.round(expand)} function shtDecodeImage(shtHash){if(shtYlm.length<1){var ylmLen=shtYlmStr.length/32;for(var i=0;i<32;i++){shtYlm.push([]);for(var j=0;j=0;i--){for(var j=0;j<64;j++){img.push(shtFlm2pixel(rVals,shtYlm[i],(j+0.5)*lonStep));img.push(shtFlm2pixel(gVals,shtYlm[i],(j+0.5)*lonStep));img.push(shtFlm2pixel(bVals,shtYlm[i],(j+0.5)*lonStep));img.push(255)}} return new ImageData(new Uint8ClampedArray(img),64,32)}} var v=['attribute vec2 a_texCoord;','varying vec2 v_texCoord;','void main() {','gl_Position = vec4(a_texCoord, 0.0, 1.0);','v_texCoord = a_texCoord;','}'].join('');var vMulti=['attribute vec3 a_vertCoord;','attribute vec2 a_texCoord;','uniform mat4 u_cubeMatrix;','uniform mat4 u_perspMatrix;','varying mediump vec2 v_texCoord;','void main(void) {','gl_Position = u_perspMatrix * u_cubeMatrix * vec4(a_vertCoord, 1.0);','v_texCoord = a_texCoord;','}'].join('');var fragEquiCubeBase=['precision highp float;','uniform float u_aspectRatio;','uniform float u_psi;','uniform float u_theta;','uniform float u_f;','uniform float u_h;','uniform float u_v;','uniform float u_vo;','uniform float u_rot;','const float PI = 3.14159265358979323846264;','uniform sampler2D u_image0;','uniform sampler2D u_image1;','uniform bool u_splitImage;','uniform samplerCube u_imageCube;','varying vec2 v_texCoord;','uniform vec4 u_backgroundColor;','void main() {','float x = v_texCoord.x * u_aspectRatio;','float y = v_texCoord.y;','float sinrot = sin(u_rot);','float cosrot = cos(u_rot);','float rot_x = x * cosrot - y * sinrot;','float rot_y = x * sinrot + y * cosrot;','float sintheta = sin(u_theta);','float costheta = cos(u_theta);','float a = u_f * costheta - rot_y * sintheta;','float root = sqrt(rot_x * rot_x + a * a);','float lambda = atan(rot_x / root, a / root) + u_psi;','float phi = atan((rot_y * costheta + u_f * sintheta) / root);',].join('\n');var fragCube=fragEquiCubeBase+['float cosphi = cos(phi);','gl_FragColor = textureCube(u_imageCube, vec3(cosphi*sin(lambda), sin(phi), cosphi*cos(lambda)));','}'].join('\n');var fragEquirectangular=fragEquiCubeBase+['lambda = mod(lambda + PI, PI * 2.0) - PI;','vec2 coord = vec2(lambda / PI, phi / (PI / 2.0));','if(coord.x < -u_h || coord.x > u_h || coord.y < -u_v + u_vo || coord.y > u_v + u_vo)','gl_FragColor = u_backgroundColor;','else {','if(u_splitImage) {','if(coord.x < 0.0)','gl_FragColor = texture2D(u_image0, vec2((coord.x + u_h) / u_h, (-coord.y + u_v + u_vo) / (u_v * 2.0)));','else','gl_FragColor = texture2D(u_image1, vec2((coord.x + u_h) / u_h - 1.0, (-coord.y + u_v + u_vo) / (u_v * 2.0)));','} else {','gl_FragColor = texture2D(u_image0, vec2((coord.x + u_h) / (u_h * 2.0), (-coord.y + u_v + u_vo) / (u_v * 2.0)));','}','}','}'].join('\n');var fragMulti=['varying mediump vec2 v_texCoord;','uniform sampler2D u_sampler;','void main(void) {','gl_FragColor = texture2D(u_sampler, v_texCoord);','}'].join('');return{renderer:function(container,image,imagetype){return new Renderer(container,image,imagetype)}}})(window,document);window.pannellum=(function(window,document,undefined){'use strict';function Viewer(container,initialConfig){var _this=this;var config,renderer,preview,draggingHotSpot,isUserInteracting=!1,latestInteraction=Date.now(),onPointerDownPointerX=0,onPointerDownPointerY=0,onPointerDownPointerDist=-1,onPointerDownYaw=0,onPointerDownPitch=0,keysDown=new Array(10),fullscreenActive=!1,loaded,error=!1,isTimedOut=!1,listenersAdded=!1,panoImage,prevTime,speed={'yaw':0,'pitch':0,'hfov':0},animating=!1,orientation=!1,orientationYawOffset=0,autoRotateStart,autoRotateSpeed=0,origHfov,origPitch,animatedMove={},externalEventListeners={},specifiedPhotoSphereExcludes=[],update=!1,updateOnce=!1,eps=1e-6,resizeObserver,hotspotsCreated=!1,xhr,destroyed=!1;var defaultConfig={hfov:100,minHfov:50,multiResMinHfov:!1,maxHfov:120,pitch:0,minPitch:undefined,maxPitch:undefined,yaw:0,minYaw:-180,maxYaw:180,roll:0,haov:360,vaov:180,vOffset:0,autoRotate:!1,autoRotateInactivityDelay:-1,autoRotateStopDelay:undefined,type:'equirectangular',northOffset:0,showFullscreenCtrl:!0,dynamic:!1,dynamicUpdate:!1,doubleClickZoom:!0,keyboardZoom:!0,mouseZoom:!0,showZoomCtrl:!0,autoLoad:!1,showControls:!0,orientationOnByDefault:!1,hotSpotDebug:!1,backgroundColor:[0,0,0],avoidShowingBackground:!1,animationTimingFunction:timingFunction,draggable:!0,dragConfirm:!1,disableKeyboardCtrl:!1,crossOrigin:'anonymous',targetBlank:!1,touchPanSpeedCoeffFactor:1,capturedKeyNumbers:[16,17,27,37,38,39,40,61,65,68,83,87,107,109,173,187,189],friction:0.15,huiStatus:'view'};defaultConfig.strings={loadButtonLabel:'Click to
Load
Panorama',loadingLabel:'Loading...',bylineLabel:'by %s',noPanoramaError:'No panorama image was specified.',fileAccessError:'The file %s could not be accessed.',malformedURLError:'There is something wrong with the panorama URL.',iOS8WebGLError:"Due to iOS 8's broken WebGL implementation, only "+"progressive encoded JPEGs work for your device (this "+"panorama uses standard encoding).",genericWebGLError:'Your browser does not have the necessary WebGL support to display this panorama.',textureSizeError:'This panorama is too big for your device! It\'s '+'%spx wide, but your device only supports images up to '+'%spx wide. Try another device.'+' (If you\'re the author, try scaling down the image.)',unknownError:'Unknown error. Check developer console.',twoTouchActivate:'Use two fingers together to pan the panorama.',twoTouchXActivate:'Use two fingers together to pan the panorama horizontally.',twoTouchYActivate:'Use two fingers together to pan the panorama vertically.',ctrlZoomActivate:'Use %s + scroll to zoom the panorama.',};container=typeof container==='string'?document.getElementById(container):container;container.classList.add('pnlm-container');container.tabIndex=0;var uiContainer=document.createElement('div');uiContainer.className='pnlm-ui';container.appendChild(uiContainer);var renderContainer=document.createElement('div');renderContainer.className='pnlm-render-container';container.appendChild(renderContainer);var dragFix=document.createElement('div');dragFix.className='pnlm-dragfix';uiContainer.appendChild(dragFix);var aboutMsg=document.createElement('span');aboutMsg.className='pnlm-about-msg';var aboutMsgLink=document.createElement('a');aboutMsgLink.href='https://villatheme.com/';aboutMsgLink.textContent='Villatheme';aboutMsg.appendChild(aboutMsgLink);var aboutMsgVersion=document.createElement('span');aboutMsg.appendChild(aboutMsgVersion);uiContainer.appendChild(aboutMsg);dragFix.addEventListener('contextmenu',aboutMessage);var infoDisplay={};var hotSpotDebugIndicator=document.createElement('div');hotSpotDebugIndicator.className='pnlm-sprite pnlm-hot-spot-debug-indicator';uiContainer.appendChild(hotSpotDebugIndicator);infoDisplay.container=document.createElement('div');infoDisplay.container.className='pnlm-panorama-info';infoDisplay.title=document.createElement('div');infoDisplay.title.className='pnlm-title-box';infoDisplay.container.appendChild(infoDisplay.title);infoDisplay.author=document.createElement('div');infoDisplay.author.className='pnlm-author-box';infoDisplay.container.appendChild(infoDisplay.author);uiContainer.appendChild(infoDisplay.container);infoDisplay.load={};infoDisplay.load.box=document.createElement('div');infoDisplay.load.box.className='pnlm-load-box';infoDisplay.load.boxp=document.createElement('p');infoDisplay.load.box.appendChild(infoDisplay.load.boxp);infoDisplay.load.lbox=document.createElement('div');infoDisplay.load.lbox.className='pnlm-lbox';infoDisplay.load.lbox.innerHTML='
';infoDisplay.load.box.appendChild(infoDisplay.load.lbox);infoDisplay.load.lbar=document.createElement('div');infoDisplay.load.lbar.className='pnlm-lbar';infoDisplay.load.lbarFill=document.createElement('div');infoDisplay.load.lbarFill.className='pnlm-lbar-fill';infoDisplay.load.lbar.appendChild(infoDisplay.load.lbarFill);infoDisplay.load.box.appendChild(infoDisplay.load.lbar);infoDisplay.load.msg=document.createElement('p');infoDisplay.load.msg.className='pnlm-lmsg';infoDisplay.load.box.appendChild(infoDisplay.load.msg);uiContainer.appendChild(infoDisplay.load.box);infoDisplay.errorMsg=document.createElement('div');infoDisplay.errorMsg.className='pnlm-error-msg pnlm-info-box';uiContainer.appendChild(infoDisplay.errorMsg);infoDisplay.interactionMsg=document.createElement('div');infoDisplay.interactionMsg.className='pnlm-interaction-msg pnlm-info-box';uiContainer.appendChild(infoDisplay.interactionMsg);var controls={};controls.container=document.createElement('div');controls.container.className='pnlm-controls-container';uiContainer.appendChild(controls.container);controls.load=document.createElement('div');controls.load.className='pnlm-load-button';controls.load.style.cursor='pointer';controls.load.style.display='flex';controls.load.addEventListener('click',function(){processOptions();load()});uiContainer.appendChild(controls.load);controls.zoom=document.createElement('div');controls.zoom.className='pnlm-zoom-controls pnlm-controls';controls.zoomIn=document.createElement('div');controls.zoomIn.className='pnlm-zoom-in pnlm-sprite pnlm-control';controls.zoomIn.addEventListener('click',zoomIn);controls.zoom.appendChild(controls.zoomIn);controls.zoomOut=document.createElement('div');controls.zoomOut.className='pnlm-zoom-out pnlm-sprite pnlm-control';controls.zoomOut.addEventListener('click',zoomOut);controls.zoom.appendChild(controls.zoomOut);controls.container.appendChild(controls.zoom);controls.fullscreen=document.createElement('div');controls.fullscreen.addEventListener('click',toggleFullscreen);controls.fullscreen.className='pnlm-fullscreen-toggle-button pnlm-sprite pnlm-fullscreen-toggle-button-inactive pnlm-controls pnlm-control';if(document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled) controls.container.appendChild(controls.fullscreen);controls.orientation=document.createElement('div');controls.orientation.addEventListener('click',function(e){if(orientation) stopOrientation();else startOrientation()});controls.orientation.addEventListener('mousedown',function(e){e.stopPropagation()});controls.orientation.addEventListener('touchstart',function(e){e.stopPropagation()});controls.orientation.addEventListener('pointerdown',function(e){e.stopPropagation()});controls.orientation.className='pnlm-orientation-button pnlm-orientation-button-inactive pnlm-sprite pnlm-controls pnlm-control';var orientationSupport=!1;if(window.DeviceOrientationEvent&&location.protocol=='https:'&&(navigator.userAgent.toLowerCase().indexOf('mobi')>=0||(navigator.userAgent.indexOf("Mac")>=0&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0))){controls.container.appendChild(controls.orientation);orientationSupport=!0} var compass=document.createElement('div');compass.className='pnlm-compass pnlm-controls pnlm-control';uiContainer.appendChild(compass);if(initialConfig.firstScene){mergeConfig(initialConfig.firstScene)}else if(initialConfig.default&&initialConfig.default.firstScene){mergeConfig(initialConfig.default.firstScene)}else{mergeConfig(null)} processOptions(!0);function init(){var div=document.createElement("div");div.innerHTML="";if(div.getElementsByTagName("i").length==1){anError();return} origHfov=config.hfov;origPitch=config.pitch;var i,p;if(config.type=='cubemap'){panoImage=[];for(i=0;i<6;i++){panoImage.push(new Image());panoImage[i].crossOrigin=config.crossOrigin} infoDisplay.load.lbox.style.display='block';infoDisplay.load.lbar.style.display='none'}else if(config.type=='multires'){var c=JSON.parse(JSON.stringify(config.multiRes));if(config.basePath&&config.multiRes.basePath&&!(/^(?:[a-z]+:)?\/\//i.test(config.multiRes.basePath))){c.basePath=config.basePath+config.multiRes.basePath}else if(config.multiRes.basePath){c.basePath=config.multiRes.basePath}else if(config.basePath){c.basePath=config.basePath} panoImage=c}else{if(config.dynamic===!0){panoImage=config.panorama}else{if(config.panorama===undefined){anError(config.strings.noPanoramaError);return} panoImage=new Image()}} if(config.type=='cubemap'){var itemsToLoad=6;var onLoad=function(){itemsToLoad--;if(itemsToLoad===0){onImageLoad()}};var onError=function(e){var a=document.createElement('a');a.href=e.target.src;a.textContent=a.href;anError(config.strings.fileAccessError.replace('%s',a.outerHTML))};for(i=0;i1e6){unit='MB';numerator=(e.loaded/1e6).toFixed(2);denominator=(e.total/1e6).toFixed(2)}else if(e.total>1e3){unit='kB';numerator=(e.loaded/1e3).toFixed(1);denominator=(e.total/1e3).toFixed(1)}else{unit='B';numerator=e.loaded;denominator=e.total} infoDisplay.load.msg.innerHTML=numerator+' / '+denominator+' '+unit}else{infoDisplay.load.lbox.style.display='block';infoDisplay.load.lbar.style.display='none'}};try{xhr.open('GET',p,!0)}catch(e){anError(config.strings.malformedURLError)} xhr.responseType='blob';xhr.setRequestHeader('Accept','image/*,*/*;q=0.9');xhr.withCredentials=config.crossOrigin==='use-credentials';xhr.send()}} if(config.draggable) uiContainer.classList.add('pnlm-grab');uiContainer.classList.remove('pnlm-grabbing');update=config.dynamicUpdate===!0;if(config.dynamic&&update){panoImage=config.panorama;onImageLoad()}} function absoluteURL(url){return new RegExp('^(?:[a-z]+:)?//','i').test(url)||url[0]=='/'||url.slice(0,5)=='blob:'} function onImageLoad(){if(!renderer) renderer=new libpannellum.renderer(renderContainer);if(!listenersAdded){listenersAdded=!0;dragFix.addEventListener('mousedown',onDocumentMouseDown,!1);document.addEventListener('mousemove',onDocumentMouseMove,!1);document.addEventListener('mouseup',onDocumentMouseUp,!1);if(config.mouseZoom){uiContainer.addEventListener('mousewheel',onDocumentMouseWheel,!1);uiContainer.addEventListener('DOMMouseScroll',onDocumentMouseWheel,!1)} if(config.doubleClickZoom){dragFix.addEventListener('dblclick',onDocumentDoubleClick,!1)} container.addEventListener('mozfullscreenchange',onFullScreenChange,!1);container.addEventListener('webkitfullscreenchange',onFullScreenChange,!1);container.addEventListener('msfullscreenchange',onFullScreenChange,!1);container.addEventListener('fullscreenchange',onFullScreenChange,!1);if(typeof ResizeObserver==='function'){resizeObserver=new ResizeObserver(onDocumentResize);resizeObserver.observe(container)}else{window.addEventListener('resize',onDocumentResize,!1);window.addEventListener('orientationchange',onDocumentResize,!1)} if(!config.disableKeyboardCtrl){container.addEventListener('keydown',onDocumentKeyPress,!1);container.addEventListener('keyup',onDocumentKeyUp,!1);container.addEventListener('blur',clearKeys,!1)} document.addEventListener('mouseleave',onDocumentMouseUp,!1);if(document.documentElement.style.pointerAction===''&&document.documentElement.style.touchAction===''){dragFix.addEventListener('pointerdown',onDocumentPointerDown,!1);dragFix.addEventListener('pointermove',onDocumentPointerMove,!1);dragFix.addEventListener('pointerup',onDocumentPointerUp,!1);dragFix.addEventListener('pointerleave',onDocumentPointerUp,!1)}else{dragFix.addEventListener('touchstart',onDocumentTouchStart,!1);dragFix.addEventListener('touchmove',onDocumentTouchMove,!1);dragFix.addEventListener('touchend',onDocumentTouchEnd,!1)} if(window.navigator.pointerEnabled) container.style.touchAction='none'} renderInit();setHfov(config.hfov);setTimeout(function(){isTimedOut=!0},500)} function parseGPanoXMP(image,url){var reader=new FileReader();reader.addEventListener('loadend',function(){var img=reader.result;if(navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 8_/)){var flagIndex=img.indexOf('\xff\xc2');if(flagIndex<0||flagIndex>65536) anError(config.strings.iOS8WebGLError);} var start=img.indexOf('-1&&config.ignoreGPanoXMP!==!0){var xmpData=img.substring(start,img.indexOf('')+12);var getTag=function(tag){var result;if(xmpData.indexOf(tag+'="')>=0){result=xmpData.substring(xmpData.indexOf(tag+'="')+tag.length+2);result=result.substring(0,result.indexOf('"'))}else if(xmpData.indexOf(tag+'>')>=0){result=xmpData.substring(xmpData.indexOf(tag+'>')+tag.length+1);result=result.substring(0,result.indexOf('<'))} if(result!==undefined){return Number(result)} return null};var xmp={fullWidth:getTag('GPano:FullPanoWidthPixels'),croppedWidth:getTag('GPano:CroppedAreaImageWidthPixels'),fullHeight:getTag('GPano:FullPanoHeightPixels'),croppedHeight:getTag('GPano:CroppedAreaImageHeightPixels'),topPixels:getTag('GPano:CroppedAreaTopPixels'),heading:getTag('GPano:PoseHeadingDegrees'),horizonPitch:getTag('GPano:PosePitchDegrees'),horizonRoll:getTag('GPano:PoseRollDegrees'),pitch:getTag('GPano:InitialViewPitchDegrees'),yaw:getTag('GPano:InitialViewHeadingDegrees'),hfov:getTag('GPano:InitialHorizontalFOVDegrees')};if(xmp.fullWidth!==null&&xmp.croppedWidth!==null&&xmp.fullHeight!==null&&xmp.croppedHeight!==null&&xmp.topPixels!==null){if(specifiedPhotoSphereExcludes.indexOf('haov')<0) config.haov=xmp.croppedWidth/xmp.fullWidth*360;if(specifiedPhotoSphereExcludes.indexOf('vaov')<0) config.vaov=xmp.croppedHeight/xmp.fullHeight*180;if(specifiedPhotoSphereExcludes.indexOf('vOffset')<0) config.vOffset=((xmp.topPixels+xmp.croppedHeight/2)/xmp.fullHeight-0.5)*-180;if(xmp.heading!==null&&specifiedPhotoSphereExcludes.indexOf('northOffset')<0){config.northOffset=xmp.heading;if(config.compass!==!1){config.compass=!0}} if(xmp.horizonPitch!==null&&xmp.horizonRoll!==null){if(specifiedPhotoSphereExcludes.indexOf('horizonPitch')<0) config.horizonPitch=xmp.horizonPitch;if(specifiedPhotoSphereExcludes.indexOf('horizonRoll')<0) config.horizonRoll=xmp.horizonRoll} if(xmp.pitch!=null&&specifiedPhotoSphereExcludes.indexOf('pitch')<0) config.pitch=xmp.pitch;if(xmp.yaw!=null&&specifiedPhotoSphereExcludes.indexOf('yaw')<0) config.yaw=xmp.yaw;if(xmp.hfov!=null&&specifiedPhotoSphereExcludes.indexOf('hfov')<0) config.hfov=xmp.hfov}} panoImage.src=window.URL.createObjectURL(image);panoImage.onerror=function(){function getCspHeaders(){if(!window.fetch) return null;return window.fetch(document.location.href).then(function(resp){return resp.headers.get('Content-Security-Policy')})} getCspHeaders().then(function(cspHeaders){if(cspHeaders){var invalidImgSource=cspHeaders.split(";").find(function(p){var matchstring=p.match(/img-src(.*)/);if(matchstring){return!matchstring[1].includes("blob")}});if(invalidImgSource){console.log('CSP blocks blobs; reverting to URL.');panoImage.crossOrigin=config.crossOrigin;panoImage.src=url}}})}});if(reader.readAsBinaryString!==undefined) reader.readAsBinaryString(image);else reader.readAsText(image)} function anError(errorMsg){if(errorMsg===undefined) errorMsg=config.strings.genericWebGLError;infoDisplay.errorMsg.innerHTML='

'+errorMsg+'

';controls.load.style.display='none';infoDisplay.load.box.style.display='none';infoDisplay.errorMsg.style.display='table';error=!0;loaded=undefined;renderContainer.style.display='none';fireEvent('error',errorMsg)} function clearError(){if(error){infoDisplay.load.box.style.display='none';infoDisplay.errorMsg.style.display='none';error=!1;renderContainer.style.display='block';fireEvent('errorcleared')}} function showInteractionMessage(interactionMsg){infoDisplay.interactionMsg.style.opacity=1;infoDisplay.interactionMsg.innerHTML='

'+interactionMsg+'

';infoDisplay.interactionMsg.style.display='table';fireEvent('messageshown');clearTimeout(infoDisplay.interactionMsg.timeout);infoDisplay.interactionMsg.removeEventListener('transitionend',clearInteractionMessage);infoDisplay.interactionMsg.timeout=setTimeout(function(){infoDisplay.interactionMsg.style.opacity=0;infoDisplay.interactionMsg.addEventListener('transitionend',clearInteractionMessage)},2000)} function clearInteractionMessage(){infoDisplay.interactionMsg.style.opacity=0;infoDisplay.interactionMsg.style.display='none';fireEvent('messagecleared')} function aboutMessage(event){var pos=mousePosition(event);aboutMsg.style.left=pos.x+'px';aboutMsg.style.top=pos.y+'px';clearTimeout(aboutMessage.t1);clearTimeout(aboutMessage.t2);aboutMsg.style.display='block';aboutMsg.style.opacity=1;aboutMessage.t1=setTimeout(function(){aboutMsg.style.opacity=0},2000);aboutMessage.t2=setTimeout(function(){aboutMsg.style.display='none'},2500);event.preventDefault()} function mousePosition(event){var bounds=container.getBoundingClientRect();var pos={};pos.x=(event.clientX||event.pageX)-bounds.left;pos.y=(event.clientY||event.pageY)-bounds.top;return pos} function onDocumentMouseDown(event){event.preventDefault();container.focus();if(!loaded||!config.draggable||config.draggingHotSpot){return} var pos=mousePosition(event);if(config.hotSpotDebug){var coords=mouseEventToCoords(event);console.log('Pitch: '+coords[0]+', Yaw: '+coords[1]+', Center Pitch: '+config.pitch+', Center Yaw: '+config.yaw+', HFOV: '+config.hfov)} stopAnimation();stopOrientation();config.roll=0;speed.hfov=0;isUserInteracting=!0;latestInteraction=Date.now();onPointerDownPointerX=pos.x;onPointerDownPointerY=pos.y;onPointerDownYaw=config.yaw;onPointerDownPitch=config.pitch;uiContainer.classList.add('pnlm-grabbing');uiContainer.classList.remove('pnlm-grab');fireEvent('mousedown',event);animateInit()} function onDocumentDoubleClick(event){if(config.minHfov===config.hfov){_this.setHfov(origHfov,1000)}else{var coords=mouseEventToCoords(event);_this.lookAt(coords[0],coords[1],config.minHfov,1000)}} function mouseEventToCoords(event){var pos=mousePosition(event);var canvas=renderer.getCanvas();var canvasWidth=canvas.clientWidth,canvasHeight=canvas.clientHeight;var x=pos.x/canvasWidth*2-1;var y=(1-pos.y/canvasHeight*2)*canvasHeight/canvasWidth;var focal=1/Math.tan(config.hfov*Math.PI/360);var s=Math.sin(config.pitch*Math.PI/180);var c=Math.cos(config.pitch*Math.PI/180);var a=focal*c-y*s;var root=Math.sqrt(x*x+a*a);var pitch=Math.atan((y*c+focal*s)/root)*180/Math.PI;var yaw=Math.atan2(x/root,a/root)*180/Math.PI+config.yaw;if(yaw<-180) yaw+=360;if(yaw>180) yaw-=360;return[pitch,yaw]} function onDocumentMouseMove(event){if(draggingHotSpot){moveHotSpot(draggingHotSpot,event)}else if(isUserInteracting&&loaded){latestInteraction=Date.now();var canvas=renderer.getCanvas();var canvasWidth=canvas.clientWidth,canvasHeight=canvas.clientHeight;var pos=mousePosition(event);var yaw=((Math.atan(onPointerDownPointerX/canvasWidth*2-1)-Math.atan(pos.x/canvasWidth*2-1))*180/Math.PI*config.hfov/90)+onPointerDownYaw;speed.yaw=(yaw-config.yaw)%360*0.2;config.yaw=yaw;var vfov=2*Math.atan(Math.tan(config.hfov/360*Math.PI)*canvasHeight/canvasWidth)*180/Math.PI;var pitch=((Math.atan(pos.y/canvasHeight*2-1)-Math.atan(onPointerDownPointerY/canvasHeight*2-1))*180/Math.PI*vfov/90)+onPointerDownPitch;speed.pitch=(pitch-config.pitch)*0.2;config.pitch=pitch}} function onDocumentMouseUp(event){if(draggingHotSpot&&draggingHotSpot.dragHandlerFunc) draggingHotSpot.dragHandlerFunc(event,draggingHotSpot.dragHandlerArgs);draggingHotSpot=null;if(!isUserInteracting){return} isUserInteracting=!1;if(Date.now()-latestInteraction>15){speed.pitch=speed.yaw=0} uiContainer.classList.add('pnlm-grab');uiContainer.classList.remove('pnlm-grabbing');latestInteraction=Date.now();fireEvent('mouseup',event)} function onDocumentTouchStart(event){if(!loaded||!config.draggable||draggingHotSpot){return} stopAnimation();stopOrientation();config.roll=0;speed.hfov=0;var pos0=mousePosition(event.targetTouches[0]);onPointerDownPointerX=pos0.x;onPointerDownPointerY=pos0.y;if(event.targetTouches.length==2){var pos1=mousePosition(event.targetTouches[1]);onPointerDownPointerX+=(pos1.x-pos0.x)*0.5;onPointerDownPointerY+=(pos1.y-pos0.y)*0.5;onPointerDownPointerDist=Math.sqrt((pos0.x-pos1.x)*(pos0.x-pos1.x)+(pos0.y-pos1.y)*(pos0.y-pos1.y))} isUserInteracting=!0;latestInteraction=Date.now();onPointerDownYaw=config.yaw;onPointerDownPitch=config.pitch;fireEvent('touchstart',event);animateInit()} function onDocumentTouchMove(event){if(!config.draggable){return} if(!config.dragConfirm) event.preventDefault();if(loaded){latestInteraction=Date.now()} if(isUserInteracting&&loaded){var pos0=mousePosition(event.targetTouches[0]);var clientX=pos0.x;var clientY=pos0.y;if(event.targetTouches.length==2&&onPointerDownPointerDist!=-1){var pos1=mousePosition(event.targetTouches[1]);clientX+=(pos1.x-pos0.x)*0.5;clientY+=(pos1.y-pos0.y)*0.5;var clientDist=Math.sqrt((pos0.x-pos1.x)*(pos0.x-pos1.x)+(pos0.y-pos1.y)*(pos0.y-pos1.y));setHfov(config.hfov+(onPointerDownPointerDist-clientDist)*0.1);onPointerDownPointerDist=clientDist} var touchmovePanSpeedCoeff=(config.hfov/360)*config.touchPanSpeedCoeffFactor;if(!fullscreenActive&&(config.dragConfirm=='both'||config.dragConfirm=='yaw')&&event.targetTouches.length!=2){if(onPointerDownPointerX!=clientX){if(config.dragConfirm=='yaw') showInteractionMessage(config.strings.twoTouchXActivate);else showInteractionMessage(config.strings.twoTouchActivate)}}else{var yaw=(onPointerDownPointerX-clientX)*touchmovePanSpeedCoeff+onPointerDownYaw;speed.yaw=(yaw-config.yaw)%360*0.2;config.yaw=yaw} if(!fullscreenActive&&(config.dragConfirm=='both'||config.dragConfirm=='pitch')&&event.targetTouches.length!=2){if(onPointerDownPointerY!=clientY){if(config.dragConfirm=='pitch') showInteractionMessage(config.strings.twoTouchYActivate);else showInteractionMessage(config.strings.twoTouchActivate)}}else{var pitch=(clientY-onPointerDownPointerY)*touchmovePanSpeedCoeff+onPointerDownPitch;speed.pitch=(pitch-config.pitch)*0.2;config.pitch=pitch} if((config.dragConfirm=='yaw'||config.dragConfirm=='pitch'||config.dragConfirm=='both')&&event.targetTouches.length==2){clearInteractionMessage();event.preventDefault()}}} function onDocumentTouchEnd(){draggingHotSpot=null;isUserInteracting=!1;if(Date.now()-latestInteraction>150){speed.pitch=speed.yaw=0} onPointerDownPointerDist=-1;latestInteraction=Date.now();fireEvent('touchend',event)} var pointerIDs=[],pointerCoordinates=[];function onDocumentPointerDown(event){if(event.pointerType=='touch'){if(!loaded||!config.draggable) return;pointerIDs.push(event.pointerId);pointerCoordinates.push({clientX:event.clientX,clientY:event.clientY});event.targetTouches=pointerCoordinates;onDocumentTouchStart(event);event.preventDefault()}} function onDocumentPointerMove(event){if(event.pointerType=='touch'){if(draggingHotSpot){moveHotSpot(draggingHotSpot,event);return} if(!config.draggable) return;for(var i=0;i'+keyname+''));return} clearInteractionMessage();event.preventDefault();stopAnimation();latestInteraction=Date.now();if(event.wheelDeltaY){setHfov(config.hfov-event.wheelDeltaY*0.05);speed.hfov=event.wheelDelta<0?1:-1}else if(event.wheelDelta){setHfov(config.hfov-event.wheelDelta*0.05);speed.hfov=event.wheelDelta<0?1:-1}else if(event.detail){setHfov(config.hfov+event.detail*1.5);speed.hfov=event.detail>0?1:-1} animateInit()} function onDocumentKeyPress(event){stopAnimation();latestInteraction=Date.now();stopOrientation();config.roll=0;var keynumber=event.which||event.keycode;if(config.capturedKeyNumbers.indexOf(keynumber)<0) return;if(!fullscreenActive&&(keynumber==16||keynumber==17)&&config.mouseZoom=='ctrl') return;event.preventDefault();if(keynumber==27){if(fullscreenActive){toggleFullscreen()}}else{changeKey(keynumber,!0)}} function clearKeys(){for(var i=0;i<10;i++){keysDown[i]=!1}} function onDocumentKeyUp(event){var keynumber=event.which||event.keycode;if(config.capturedKeyNumbers.indexOf(keynumber)<0) return;event.preventDefault();changeKey(keynumber,!1)} function changeKey(keynumber,value){var keyChanged=!1;switch(keynumber){case 109:case 189:case 17:case 173:if(keysDown[0]!=value){keyChanged=!0} keysDown[0]=value;break;case 107:case 187:case 16:case 61:if(keysDown[1]!=value){keyChanged=!0} keysDown[1]=value;break;case 38:if(keysDown[2]!=value){keyChanged=!0} keysDown[2]=value;break;case 87:if(keysDown[6]!=value){keyChanged=!0} keysDown[6]=value;break;case 40:if(keysDown[3]!=value){keyChanged=!0} keysDown[3]=value;break;case 83:if(keysDown[7]!=value){keyChanged=!0} keysDown[7]=value;break;case 37:if(keysDown[4]!=value){keyChanged=!0} keysDown[4]=value;break;case 65:if(keysDown[8]!=value){keyChanged=!0} keysDown[8]=value;break;case 39:if(keysDown[5]!=value){keyChanged=!0} keysDown[5]=value;break;case 68:if(keysDown[9]!=value){keyChanged=!0} keysDown[9]=value} if(keyChanged&&value){if(typeof performance!=='undefined'&&performance.now()){prevTime=performance.now()}else{prevTime=Date.now()} animateInit()}} function keyRepeat(){if(!loaded){return} var isKeyDown=!1;var prevPitch=config.pitch;var prevYaw=config.yaw;var prevZoom=config.hfov;var newTime;if(typeof performance!=='undefined'&&performance.now()){newTime=performance.now()}else{newTime=Date.now()} if(prevTime===undefined){prevTime=newTime} var diff=(newTime-prevTime)*config.hfov/1200;diff=Math.min(diff,10.0);if(keysDown[0]&&config.keyboardZoom===!0){setHfov(config.hfov+(speed.hfov*0.8+0.4)*diff);isKeyDown=!0} if(keysDown[1]&&config.keyboardZoom===!0){setHfov(config.hfov+(speed.hfov*0.8-0.2)*diff);isKeyDown=!0} if(keysDown[2]||keysDown[6]){config.pitch+=(speed.pitch*0.8+0.2)*diff;isKeyDown=!0} if(keysDown[3]||keysDown[7]){config.pitch+=(speed.pitch*0.8-0.2)*diff;isKeyDown=!0} if(keysDown[4]||keysDown[8]){config.yaw+=(speed.yaw*0.8-0.2)*diff;isKeyDown=!0} if(keysDown[5]||keysDown[9]){config.yaw+=(speed.yaw*0.8+0.2)*diff;isKeyDown=!0} if(isKeyDown) latestInteraction=Date.now();if(config.autoRotate){if(newTime-prevTime>0.001){var timeDiff=(newTime-prevTime)/1000;var yawDiff=(speed.yaw/timeDiff*diff-config.autoRotate*0.2)*timeDiff;yawDiff=(-config.autoRotate>0?1:-1)*Math.min(Math.abs(config.autoRotate*timeDiff),Math.abs(yawDiff));config.yaw+=yawDiff} if(config.autoRotateStopDelay){config.autoRotateStopDelay-=newTime-prevTime;if(config.autoRotateStopDelay<=0){config.autoRotateStopDelay=!1;autoRotateSpeed=config.autoRotate;config.autoRotate=0}}} if(animatedMove.pitch){animateMove('pitch');prevPitch=config.pitch} if(animatedMove.yaw){animateMove('yaw');prevYaw=config.yaw} if(animatedMove.hfov){animateMove('hfov');prevZoom=config.hfov} if(diff>0&&!config.autoRotate){var slowDownFactor=1-config.friction;if(!keysDown[4]&&!keysDown[5]&&!keysDown[8]&&!keysDown[9]&&!animatedMove.yaw){config.yaw+=speed.yaw*diff*slowDownFactor} if(!keysDown[2]&&!keysDown[3]&&!keysDown[6]&&!keysDown[7]&&!animatedMove.pitch){config.pitch+=speed.pitch*diff*slowDownFactor} if(!keysDown[0]&&!keysDown[1]&&!animatedMove.hfov){if(config.hfov>90){slowDownFactor*=1-(config.hfov-90)/90} setHfov(config.hfov+speed.hfov*diff*slowDownFactor)}} prevTime=newTime;if(diff>0){speed.yaw=speed.yaw*0.8+(config.yaw-prevYaw)/diff*0.2;speed.pitch=speed.pitch*0.8+(config.pitch-prevPitch)/diff*0.2;speed.hfov=speed.hfov*0.8+(config.hfov-prevZoom)/diff*0.2;var maxSpeed=config.autoRotate?Math.abs(config.autoRotate):5;speed.yaw=Math.min(maxSpeed,Math.max(speed.yaw,-maxSpeed));speed.pitch=Math.min(maxSpeed,Math.max(speed.pitch,-maxSpeed));speed.hfov=Math.min(maxSpeed,Math.max(speed.hfov,-maxSpeed))} if(keysDown[0]&&keysDown[1]){speed.hfov=0} if((keysDown[2]||keysDown[6])&&(keysDown[3]||keysDown[7])){speed.pitch=0} if((keysDown[4]||keysDown[8])&&(keysDown[5]||keysDown[9])){speed.yaw=0}} function animateMove(axis){var t=animatedMove[axis];var normTime=Math.min(1,Math.max((Date.now()-t.startTime)/1000/(t.duration/1000),0));var result=t.startPosition+config.animationTimingFunction(normTime)*(t.endPosition-t.startPosition);if((t.endPosition>t.startPosition&&result>=t.endPosition)||(t.endPosition0.01||Math.abs(speed.pitch)>0.01||Math.abs(speed.hfov)>0.01){keyRepeat();if(config.autoRotateInactivityDelay>=0&&autoRotateSpeed&&Date.now()-latestInteraction>config.autoRotateInactivityDelay&&!config.autoRotate){config.autoRotate=autoRotateSpeed;_this.lookAt(origPitch,undefined,origHfov,3000)} requestAnimationFrame(animate)}else if(renderer&&(renderer.isLoading()||(config.dynamic===!0&&update))){requestAnimationFrame(animate)}else{if(_this.getPitch&&_this.getYaw&&_this.getHfov) fireEvent('animatefinished',{pitch:_this.getPitch(),yaw:_this.getYaw(),hfov:_this.getHfov()});animating=!1;prevTime=undefined;var autoRotateStartTime=config.autoRotateInactivityDelay-(Date.now()-latestInteraction);if(autoRotateStartTime>0){autoRotateStart=setTimeout(function(){config.autoRotate=autoRotateSpeed;_this.lookAt(origPitch,undefined,origHfov,3000);animateInit()},autoRotateStartTime)}else if(config.autoRotateInactivityDelay>=0&&autoRotateSpeed){config.autoRotate=autoRotateSpeed;_this.lookAt(origPitch,undefined,origHfov,3000);animateInit()}}} function render(){var tmpyaw;if(loaded){var canvas=renderer.getCanvas();if(config.autoRotate!==!1){if(config.yaw>360){config.yaw-=360}else if(config.yaw<-360){config.yaw+=360}} tmpyaw=config.yaw;var hoffcut=0,voffcut=0;if(config.avoidShowingBackground){var hfov2=config.hfov/2,vfov2=Math.atan2(Math.tan(hfov2/180*Math.PI),(canvas.width/canvas.height))*180/Math.PI,transposed=config.vaov>config.haov;if(transposed){voffcut=vfov2*(1-Math.min(Math.cos((config.pitch-hfov2)/180*Math.PI),Math.cos((config.pitch+hfov2)/180*Math.PI)))}else{hoffcut=hfov2*(1-Math.min(Math.cos((config.pitch-vfov2)/180*Math.PI),Math.cos((config.pitch+vfov2)/180*Math.PI)))}} var yawRange=config.maxYaw-config.minYaw,minYaw=-180,maxYaw=180;if(yawRange<360){minYaw=config.minYaw+config.hfov/2+hoffcut;maxYaw=config.maxYaw-config.hfov/2-hoffcut;if(yawRange360){config.yaw-=360}else if(config.yaw<-360){config.yaw+=360}} if(config.autoRotate!==!1&&tmpyaw!=config.yaw&&prevTime!==undefined){config.autoRotate*=-1} var vfov=2*Math.atan(Math.tan(config.hfov / 180 * Math.PI * 0.5) /(canvas.width/canvas.height))/Math.PI*180;var minPitch=config.minPitch+vfov/2,maxPitch=config.maxPitch-vfov/2;var pitchRange=config.maxPitch-config.minPitch;if(pitchRange-90&&z<=0)||((hs.yaw>90||hs.yaw<=-90)&&z<=0)){hs.div.style.visibility='hidden'}else{var yawSin=Math.sin((-hs.yaw+config.yaw)*Math.PI/180),hfovTan=Math.tan(config.hfov*Math.PI/360);hs.div.style.visibility='visible';var canvas=renderer.getCanvas(),canvasWidth=canvas.clientWidth,canvasHeight=canvas.clientHeight;var coord=[-canvasWidth/hfovTan*yawSin*hsPitchCos/z/2,-canvasWidth/hfovTan*(hsPitchSin*configPitchCos-hsPitchCos*yawCos*configPitchSin)/z/2];var rollSin=Math.sin(config.roll*Math.PI/180),rollCos=Math.cos(config.roll*Math.PI/180);coord=[coord[0]*rollCos-coord[1]*rollSin,coord[0]*rollSin+coord[1]*rollCos];coord[0]+=(canvasWidth-hs.div.offsetWidth)/2;coord[1]+=(canvasHeight-hs.div.offsetHeight)/2;var transform='translate('+coord[0]+'px, '+coord[1]+'px) translateZ(9999px) rotate('+config.roll+'deg)';if(hs.scale){if(typeof hs.scale=='number') transform+=' scale('+hs.scale+')';else transform+=' scale('+(origHfov/config.hfov)/z+')'} hs.div.style.webkitTransform=transform;hs.div.style.MozTransform=transform;hs.div.style.transform=transform}} function renderHotSpots(){config.hotSpots.forEach(renderHotSpot)} function mergeConfig(sceneId){config={};var k,s;var photoSphereExcludes=['haov','vaov','vOffset','northOffset','horizonPitch','horizonRoll'];specifiedPhotoSphereExcludes=[];for(k in defaultConfig){if(defaultConfig.hasOwnProperty(k)){config[k]=defaultConfig[k]}} for(k in initialConfig.default){if(initialConfig.default.hasOwnProperty(k)){if(k=='strings'){for(s in initialConfig.default.strings){if(initialConfig.default.strings.hasOwnProperty(s)){config.strings[s]=escapeHTML(initialConfig.default.strings[s])}}}else{config[k]=initialConfig.default[k];if(photoSphereExcludes.indexOf(k)>=0){specifiedPhotoSphereExcludes.push(k)}}}} if((sceneId!==null)&&(sceneId!=='')&&(initialConfig.scenes)&&(initialConfig.scenes[sceneId])){var scene=initialConfig.scenes[sceneId];for(k in scene){if(scene.hasOwnProperty(k)){if(k=='strings'){for(s in scene.strings){if(scene.strings.hasOwnProperty(s)){config.strings[s]=escapeHTML(scene.strings[s])}}}else{config[k]=scene[k];if(photoSphereExcludes.indexOf(k)>=0){specifiedPhotoSphereExcludes.push(k)}}}} config.scene=sceneId} for(k in initialConfig){if(initialConfig.hasOwnProperty(k)){if(k=='strings'){for(s in initialConfig.strings){if(initialConfig.strings.hasOwnProperty(s)){config.strings[s]=escapeHTML(initialConfig.strings[s])}}}else{config[k]=initialConfig[k];if(photoSphereExcludes.indexOf(k)>=0){specifiedPhotoSphereExcludes.push(k)}}}}} function processOptions(isPreview){isPreview=isPreview?isPreview:!1;if(isPreview&&'preview' in config){var p=config.preview;if(config.basePath&&!absoluteURL(p)) p=config.basePath+p;preview=document.createElement('div');preview.className='pnlm-preview-img';preview.style.backgroundImage="url('"+sanitizeURLForCss(p)+"')";renderContainer.appendChild(preview)} var title=config.title,author=config.author;if(isPreview){if('previewTitle' in config) config.title=config.previewTitle;if('previewAuthor' in config) config.author=config.previewAuthor} if(!config.hasOwnProperty('title')) infoDisplay.title.innerHTML='';if(!config.hasOwnProperty('author')) infoDisplay.author.innerHTML='';if(!config.hasOwnProperty('title')&&!config.hasOwnProperty('author')) infoDisplay.container.style.display='none';if(config.targetBlank){aboutMsgLink.rel='noopener';aboutMsgLink.target='_blank'} controls.load.innerHTML='

'+config.strings.loadButtonLabel+'

';infoDisplay.load.boxp.innerHTML=config.strings.loadingLabel;for(var key in config){if(config.hasOwnProperty(key)){switch(key){case 'title':infoDisplay.title.innerHTML=escapeHTML(config[key]);infoDisplay.container.style.display='inline';break;case 'author':var authorText=escapeHTML(config[key]);if(config.authorURL){var authorLink=document.createElement('a');authorLink.href=sanitizeURL(config.authorURL,!0);if(config.targetBlank){authorLink.target='_blank';authorLink.rel='noopener'} authorLink.innerHTML=escapeHTML(config[key]);authorText=authorLink.outerHTML} infoDisplay.author.innerHTML=config.strings.bylineLabel.replace('%s',authorText);infoDisplay.container.style.display='inline';break;case 'hfov':setHfov(Number(config[key]));break;case 'autoLoad':if(config[key]===!0&&renderer===undefined){infoDisplay.load.box.style.display='inline';controls.load.style.display='none';init()} break;case 'showZoomCtrl':if(config[key]&&config.showControls!=!1){controls.zoom.style.display='block'}else{controls.zoom.style.display='none'} break;case 'showFullscreenCtrl':if(config[key]&&config.showControls!=!1&&('fullscreen' in document||'mozFullScreen' in document||'webkitIsFullScreen' in document||'msFullscreenElement' in document)){controls.fullscreen.style.display='block'}else{controls.fullscreen.style.display='none'} break;case 'hotSpotDebug':if(config[key]) hotSpotDebugIndicator.style.display='block';else hotSpotDebugIndicator.style.display='none';break;case 'showControls':if(!config[key]){controls.orientation.style.display='none';controls.zoom.style.display='none';controls.fullscreen.style.display='none'} break;case 'orientationOnByDefault':if(config[key]) startOrientation();break}}} if(isPreview){if(title) config.title=title;else delete config.title;if(author) config.author=author;else delete config.author}} function toggleFullscreen(){if(loaded&&!error){if(!fullscreenActive){try{if(container.requestFullscreen){container.requestFullscreen()}else if(container.mozRequestFullScreen){container.mozRequestFullScreen()}else if(container.msRequestFullscreen){container.msRequestFullscreen()}else{container.webkitRequestFullScreen()}}catch(event){}}else{if(document.exitFullscreen){document.exitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitCancelFullScreen){document.webkitCancelFullScreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}}}} function onFullScreenChange(resize){if(document.fullscreenElement||document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||document.msFullscreenElement){controls.fullscreen.classList.add('pnlm-fullscreen-toggle-button-active');fullscreenActive=!0}else{controls.fullscreen.classList.remove('pnlm-fullscreen-toggle-button-active');fullscreenActive=!1} if(resize!=='resize') fireEvent('fullscreenchange',fullscreenActive);renderer.resize();setHfov(config.hfov);animateInit()} function zoomIn(){if(loaded){setHfov(config.hfov-5);animateInit()}} function zoomOut(){if(loaded){setHfov(config.hfov+5);animateInit()}} function constrainHfov(hfov){var minHfov=config.minHfov;if(config.type=='multires'&&renderer&&!config.multiResMinHfov){minHfov=Math.min(minHfov,renderer.getCanvas().width/(config.multiRes.cubeResolution/90*0.9))} if(minHfov>config.maxHfov){console.log('HFOV bounds do not make sense (minHfov > maxHfov).');return config.hfov} var newHfov=config.hfov;if(hfovconfig.maxHfov){newHfov=config.maxHfov}else{newHfov=hfov} if(config.avoidShowingBackground&&renderer&&!isNaN(config.maxPitch-config.minPitch)){var canvas=renderer.getCanvas();newHfov=Math.min(newHfov,Math.atan(Math.tan((config.maxPitch-config.minPitch)/360*Math.PI)/canvas.height*canvas.width)*360/Math.PI)} return newHfov} function setHfov(hfov){config.hfov=constrainHfov(hfov);fireEvent('zoomchange',config.hfov)} function stopAnimation(){animatedMove={};autoRotateSpeed=config.autoRotate?config.autoRotate:autoRotateSpeed;config.autoRotate=!1} function load(){clearError();loaded=!1;clearInteractionMessage();controls.load.style.display='none';infoDisplay.load.box.style.display='inline';init()} function loadScene(sceneId,targetPitch,targetYaw,targetHfov,fadeDone){if(!loaded) fadeDone=!0;loaded=!1;animatedMove={};var fadeImg,workingPitch,workingYaw,workingHfov;if(config.sceneFadeDuration&&!fadeDone){var data=renderer.render(config.pitch*Math.PI/180,config.yaw*Math.PI/180,config.hfov*Math.PI/180,{returnImage:'ImageBitmap'});if(data!==undefined){if(data.then) fadeImg=document.createElement('canvas');else fadeImg=new Image();fadeImg.className='pnlm-fade-img';fadeImg.style.transition='opacity '+(config.sceneFadeDuration/1000)+'s';fadeImg.style.width='100%';fadeImg.style.height='100%';if(data.then){data.then(function(img){fadeImg.width=img.width;fadeImg.height=img.height;fadeImg.getContext('2d').drawImage(img,0,0);loadScene(sceneId,targetPitch,targetYaw,targetHfov,!0)})}else{fadeImg.onload=function(){loadScene(sceneId,targetPitch,targetYaw,targetHfov,!0)};fadeImg.src=data} renderContainer.appendChild(fadeImg);renderer.fadeImg=fadeImg;return}} if(targetPitch==='same'){workingPitch=config.pitch}else{workingPitch=targetPitch} if(targetYaw==='same'){workingYaw=config.yaw}else if(targetYaw==='sameAzimuth'){workingYaw=config.yaw+(config.northOffset||0)-(initialConfig.scenes[sceneId].northOffset||0)}else{workingYaw=targetYaw} if(targetHfov==='same'){workingHfov=config.hfov}else{workingHfov=targetHfov} destroyHotSpots();mergeConfig(sceneId);speed.yaw=speed.pitch=speed.hfov=0;processOptions();if(workingPitch!==undefined){config.pitch=workingPitch} if(workingYaw!==undefined){config.yaw=workingYaw} if(workingHfov!==undefined){config.hfov=workingHfov} fireEvent('scenechange',sceneId);load()} function stopOrientation(){window.removeEventListener('deviceorientation',orientationListener);controls.orientation.classList.remove('pnlm-orientation-button-active');orientation=!1} function startOrientation(){if(!orientationSupport) return;if(typeof DeviceMotionEvent!=='undefined'&&typeof DeviceMotionEvent.requestPermission==='function'){DeviceOrientationEvent.requestPermission().then(function(response){if(response=='granted'){orientation=1;window.addEventListener('deviceorientation',orientationListener);controls.orientation.classList.add('pnlm-orientation-button-active')}})}else{orientation=1;window.addEventListener('deviceorientation',orientationListener);controls.orientation.classList.add('pnlm-orientation-button-active')}} function escapeHTML(s){if(!initialConfig.escapeHTML) return String(s).split('\n').join('
');return String(s).split(/&/g).join('&').split('"').join('"').split("'").join(''').split('<').join('<').split('>').join('>').split('/').join('/').split('\n').join('
')} function sanitizeURL(url,href){try{var decoded_url=decodeURIComponent(unescape(url)).replace(/[^\w:]/g,'').toLowerCase()}catch(e){return'about:blank'} if(decoded_url.indexOf('javascript:')===0||decoded_url.indexOf('vbscript:')===0){console.log('Script URL removed.');return'about:blank'} if(href&&decoded_url.indexOf('data:')===0){console.log('Data URI removed from link.');return'about:blank'} return url} function unescape(html){return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,function(_,n){n=n.toLowerCase();if(n==='colon')return':';if(n.charAt(0)==='#'){return n.charAt(1)==='x'?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))} return''})} function sanitizeURLForCss(url){return sanitizeURL(url).replace(/"/g,'%22').replace(/'/g,'%27')} this.isLoaded=function(){return Boolean(loaded)};this.getPitch=function(){return config.pitch};this.setPitch=function(pitch,animated,callback,callbackArgs){latestInteraction=Date.now();if(Math.abs(pitch-config.pitch)<=eps){if(typeof callback=='function') callback(callbackArgs);return this} animated=animated==undefined?1000:Number(animated);if(animated){animatedMove.pitch={'startTime':Date.now(),'startPosition':config.pitch,'endPosition':pitch,'duration':animated};if(typeof callback=='function') setTimeout(function(){callback(callbackArgs)},animated)}else{config.pitch=pitch} animateInit();return this};this.getPitchBounds=function(){return[config.minPitch,config.maxPitch]};this.setPitchBounds=function(bounds){config.minPitch=Math.max(-90,Math.min(bounds[0],90));config.maxPitch=Math.max(-90,Math.min(bounds[1],90));return this};this.getYaw=function(){return(config.yaw+540)%360-180};this.setYaw=function(yaw,animated,callback,callbackArgs){latestInteraction=Date.now();if(Math.abs(yaw-config.yaw)<=eps){if(typeof callback=='function') callback(callbackArgs);return this} animated=animated==undefined?1000:Number(animated);yaw=((yaw+180)%360)-180;if(animated){if(config.yaw-yaw>180) yaw+=360;else if(yaw-config.yaw>180) yaw-=360;animatedMove.yaw={'startTime':Date.now(),'startPosition':config.yaw,'endPosition':yaw,'duration':animated};if(typeof callback=='function') setTimeout(function(){callback(callbackArgs)},animated)}else{config.yaw=yaw} animateInit();return this};this.getYawBounds=function(){return[config.minYaw,config.maxYaw]};this.setYawBounds=function(bounds){config.minYaw=Math.max(-360,Math.min(bounds[0],360));config.maxYaw=Math.max(-360,Math.min(bounds[1],360));return this};this.getHfov=function(){return config.hfov};this.setHfov=function(hfov,animated,callback,callbackArgs){latestInteraction=Date.now();if(Math.abs(hfov-config.hfov)<=eps){if(typeof callback=='function') callback(callbackArgs);return this} animated=animated==undefined?1000:Number(animated);if(animated){animatedMove.hfov={'startTime':Date.now(),'startPosition':config.hfov,'endPosition':constrainHfov(hfov),'duration':animated};if(typeof callback=='function') setTimeout(function(){callback(callbackArgs)},animated)}else{setHfov(hfov)} animateInit();return this};this.getHfovBounds=function(){return[config.minHfov,config.maxHfov]};this.setHfovBounds=function(bounds){config.minHfov=Math.max(0,bounds[0]);config.maxHfov=Math.max(0,bounds[1]);return this};this.lookAt=function(pitch,yaw,hfov,animated,callback,callbackArgs){animated=animated==undefined?1000:Number(animated);if(pitch!==undefined&&Math.abs(pitch-config.pitch)>eps){this.setPitch(pitch,animated,callback,callbackArgs);callback=undefined} if(yaw!==undefined&&Math.abs(yaw-config.yaw)>eps){this.setYaw(yaw,animated,callback,callbackArgs);callback=undefined} if(hfov!==undefined&&Math.abs(hfov-config.hfov)>eps){this.setHfov(hfov,animated,callback,callbackArgs);callback=undefined} if(typeof callback=='function') callback(callbackArgs);return this};this.getNorthOffset=function(){return config.northOffset};this.setNorthOffset=function(heading){config.northOffset=Math.min(360,Math.max(0,heading));animateInit();return this};this.getHorizonRoll=function(){return config.horizonRoll};this.setHorizonRoll=function(roll){config.horizonRoll=Math.min(90,Math.max(-90,roll));renderer.setPose(config.horizonPitch*Math.PI/180,config.horizonRoll*Math.PI/180);animateInit();return this};this.getHorizonPitch=function(){return config.horizonPitch};this.setHorizonPitch=function(pitch){config.horizonPitch=Math.min(90,Math.max(-90,pitch));renderer.setPose(config.horizonPitch*Math.PI/180,config.horizonRoll*Math.PI/180);animateInit();return this};this.startAutoRotate=function(speed,pitch,hfov,inactivityDelay){speed=speed||autoRotateSpeed||1;pitch=pitch===undefined?origPitch:pitch;hfov=hfov===undefined?origHfov:hfov;config.autoRotate=speed;if(inactivityDelay!==undefined) config.autoRotateInactivityDelay=inactivityDelay;_this.lookAt(pitch,undefined,hfov,3000);animateInit();return this};this.stopAutoRotate=function(){autoRotateSpeed=config.autoRotate?config.autoRotate:autoRotateSpeed;config.autoRotate=!1;config.autoRotateInactivityDelay=-1;return this};this.stopMovement=function(){stopAnimation();speed={'yaw':0,'pitch':0,'hfov':0}};this.getRenderer=function(){return renderer};this.setUpdate=function(bool){update=bool===!0;if(update){updateOnce=!1;if(renderer===undefined) onImageLoad();else animateInit()} return this};this.updateOnce=function(){update=updateOnce=!0;if(renderer===undefined) onImageLoad();else animateInit();return this};this.mouseEventToCoords=function(event){return mouseEventToCoords(event)};this.loadScene=function(sceneId,pitch,yaw,hfov){if(loaded!==!1) loadScene(sceneId,pitch,yaw,hfov);return this};this.getScene=function(){return config.scene};this.addScene=function(sceneId,config){initialConfig.scenes[sceneId]=config;return this};this.removeScene=function(sceneId){if(config.scene==sceneId||!initialConfig.scenes.hasOwnProperty(sceneId)) return!1;delete initialConfig.scenes[sceneId];return!0};this.toggleFullscreen=function(){toggleFullscreen();return this};this.getConfig=function(){return config};this.getContainer=function(){return container};this.addHotSpot=function(hs,sceneId){if(sceneId===undefined&&config.scene===undefined){config.hotSpots.push(hs)}else{var id=sceneId!==undefined?sceneId:config.scene;if(initialConfig.scenes.hasOwnProperty(id)){if(!initialConfig.scenes[id].hasOwnProperty('hotSpots')){initialConfig.scenes[id].hotSpots=[];if(id==config.scene) config.hotSpots=initialConfig.scenes[id].hotSpots} initialConfig.scenes[id].hotSpots.push(hs)}else{throw 'Invalid scene ID!'}} if(sceneId===undefined||config.scene==sceneId){createHotSpot(hs);if(loaded) renderHotSpot(hs);} return this};this.removeHotSpot=function(hotSpotId,sceneId){if(sceneId===undefined||config.scene==sceneId){if(!config.hotSpots) return!1;for(var i=0;i=0){externalEventListeners[type].splice(i,1)} if(externalEventListeners[type].length==0){delete externalEventListeners[type]}}else{delete externalEventListeners[type]} return this};function fireEvent(type){if(type in externalEventListeners){for(var i=externalEventListeners[type].length;i>0;i--){externalEventListeners[type][externalEventListeners[type].length-i].apply(null,[].slice.call(arguments,1))}}} this.destroy=function(){destroyed=!0;clearTimeout(autoRotateStart);if(xhr) xhr.abort();if(Array.isArray(panoImage)){for(var i=0;i<6;i++) panoImage[i].src=''} if(renderer) renderer.destroy();if(listenersAdded){document.removeEventListener('mousemove',onDocumentMouseMove,!1);document.removeEventListener('mouseup',onDocumentMouseUp,!1);container.removeEventListener('mozfullscreenchange',onFullScreenChange,!1);container.removeEventListener('webkitfullscreenchange',onFullScreenChange,!1);container.removeEventListener('msfullscreenchange',onFullScreenChange,!1);container.removeEventListener('fullscreenchange',onFullScreenChange,!1);if(resizeObserver){resizeObserver.disconnect()}else{window.removeEventListener('resize',onDocumentResize,!1);window.removeEventListener('orientationchange',onDocumentResize,!1)} container.removeEventListener('keydown',onDocumentKeyPress,!1);container.removeEventListener('keyup',onDocumentKeyUp,!1);container.removeEventListener('blur',clearKeys,!1);document.removeEventListener('mouseleave',onDocumentMouseUp,!1)} container.innerHTML='';container.classList.remove('pnlm-container')};function hyParseArgs(defaults,options){options=options||{};for(let key in options){if(options.hasOwnProperty(key)){if(key==='hy_isDefault'&&options[key]){config.default.firstScene=config.scene;for(let scene in config.scenes){if(scene!==config.scene){config.scenes[scene][key]=!1}}} if(key==='hy_isActive'&&options[key]){for(let scene in config.scenes){if(scene!==config.scene){config.scenes[scene][key]=!1}}} defaults[key]=options[key]}} return defaults} this.getHuiStatus=function(){return this.huiStatus};this.setHuiStatus=function(status){if(status==='editor'||status==='view'){this.huiStatus=status}else{this.huiStatus='view'}};this.hyUpdateHotSpot=function(hotSpotId,sceneId,hs){if(config.huiStatus==='view')return;if(sceneId===undefined||config.scene==sceneId){if(!config.hotSpots) return!1;for(var i=0;i "+wacv_localize.checkout_gdpr_message+" "+wacv_localize.checkout_gdpr_cancel+' ')} $('#wacv_checkout_gdpr_cancel').on('click',function(){set_cookie()});function set_cookie(){let data='nonce='+wacv_localize.nonce+'&action=wacv_update_gdpr';jQuery.post(wacv_localize.ajax_url,data,function(response){if(response.success){$('#wacv_checkout_gdpr_block').empty()}})} $('input#billing_email').on('change',function(){var pattern=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;if(pattern.test($(this).val())){wacv_send_get_guest_info()}});$('input#billing_phone').on('change',function(){wacv_send_get_guest_info()});function wacv_send_get_guest_info(){var data=$('form.woocommerce-checkout').serialize()+'&action=wacv_get_info&nonce='+wacv_localize.nonce;$.ajax({url:wacv_localize.ajax_url,data:data,type:'POST',xhrFields:{withCredentials:!0},success:function(res){},error:function(res){}})}}); jQuery(document).ready(function($){'use strict' if(jQuery('#message-purchased').length>0){var notify=woo_notification if(_woocommerce_notification_params.billing==0&&_woocommerce_notification_params.detect==0){notify.detect_address()} var el=document.getElementById('message-purchased') viSwipeDetect(el,function(swipedir){if(swipedir!=='none'){if(parseInt(woo_notification.time_close)>0){$('#message-purchased').unbind() woo_notification.setCookie('woo_notification_close',1,3600*parseInt(woo_notification.time_close))} woo_notification.message_hide(!1,swipedir)}})}}) function vi_wn_b64DecodeUnicode(str){var decodedStr='' if(str){try{decodedStr=decodeURIComponent(atob(str).split('').map(function(c){return'%'+('00'+c.charCodeAt(0).toString(16)).slice(-2)}).join(''))}catch(e){return str}} return decodedStr} function viSwipeDetect(el,callback){var touchsurface=el,swipedir,startX,startY,distX,distY,threshold=150,restraint=100,allowedTime=300,elapsedTime,startTime,handleswipe=callback||function(swipedir){} touchsurface.addEventListener('touchstart',function(e){var touchobj=e.changedTouches[0] swipedir='none' startX=touchobj.pageX startY=touchobj.pageY startTime=new Date().getTime()},{passive:!0}) touchsurface.addEventListener('touchmove',function(e){e.preventDefault()},{passive:!0}) touchsurface.addEventListener('touchend',function(e){var touchobj=e.changedTouches[0] distX=touchobj.pageX-startX distY=touchobj.pageY-startY elapsedTime=new Date().getTime()-startTime if(elapsedTime<=allowedTime){if(Math.abs(distX)>=threshold&&Math.abs(distY)<=restraint){swipedir=distX<0?'left':'right'}else if(Math.abs(distY)>=threshold&&Math.abs(distX)<=restraint){swipedir=distY<0?'up':'down'}} handleswipe(swipedir)},{passive:!0})} jQuery(window).on('load',function(){'use strict' var notify=woo_notification notify.ajax_url=_woocommerce_notification_params.ajax_url notify.products=_woocommerce_notification_params.products notify.messages=_woocommerce_notification_params.messages notify.image=_woocommerce_notification_params.image notify.redirect_target=_woocommerce_notification_params.redirect_target notify.time=_woocommerce_notification_params.time notify.display_effect=_woocommerce_notification_params.display_effect notify.hidden_effect=_woocommerce_notification_params.hidden_effect notify.messages=_woocommerce_notification_params.messages notify.names=_woocommerce_notification_params.names notify.detect=_woocommerce_notification_params.detect notify.billing=_woocommerce_notification_params.billing notify.message_custom=_woocommerce_notification_params.message_custom notify.message_number_min=_woocommerce_notification_params.message_number_min notify.message_number_max=_woocommerce_notification_params.message_number_max notify.time_close=_woocommerce_notification_params.time_close notify.show_close=_woocommerce_notification_params.show_close notify.nonce=_woocommerce_notification_params.nonce if(_woocommerce_notification_params.billing==0&&_woocommerce_notification_params.detect==0){notify.cities=[notify.getCookie('wn_city')] notify.country=[notify.getCookie('wn_country')] var check_ip=notify.getCookie('wn_ip') if(check_ip&&check_ip!='undefined'){notify.init()}}else{notify.cities=_woocommerce_notification_params.cities notify.country=_woocommerce_notification_params.country notify.init()}}) var woo_notification={billing:0,in_the_same_cate:0,loop:0,init_delay:5,total:30,display_time:10,next_time:60,count:0,intel:0,wn_popup:0,id:0,nonce:'',messages:'',products:'',ajax_url:'',display_effect:'',hidden_effect:'',time:'',names:'',cities:'',country:'',message_custom:'',message_number_min:'',message_number_max:'',detect:0,time_close:0,show_close:0,shortcodes:['{first_name}','{city}','{state}','{country}','{product}','{product_with_link}','{time_ago}','{custom}'],init:function(){if(this.ajax_url){this.ajax_get_data()}else{setTimeout(function(){woo_notification.get_product()},this.init_delay*1000)} jQuery('#message-purchased').on('mouseenter',function(){window.clearInterval(woo_notification.wn_popup)}).on('mouseleave',function(){woo_notification.message_show()})},detect_address:function(){var ip_address=this.getCookie('wn_ip') if(!ip_address){jQuery.getJSON('https://extreme-ip-lookup.com/json/',function(data){if(data.query){woo_notification.setCookie('wn_ip',data.query,86400)} if(data.city){woo_notification.setCookie('wn_city',data.city,86400)} if(data.country){woo_notification.setCookie('wn_country',data.country,86400)}})}},ajax_get_data:function(){if(this.ajax_url){var str_data if(this.id){str_data='&id='+this.id}else{str_data=''} jQuery.ajax({type:'POST',data:'action=woonotification_get_product'+str_data+'&nonce='+woo_notification.nonce,url:this.ajax_url,success:function(data){var products=JSON.parse(data) if(products&&products!='undefined'&&products.length>0){woo_notification.products=products woo_notification.message_show() setTimeout(function(){woo_notification.get_product()},woo_notification.init_delay*1000)}},error:function(html){},})}},message_show:function(){var count=this.count++ if(this.total<=count){return} window.clearInterval(this.intel) var message_id=jQuery('#message-purchased') if(message_id.hasClass(this.hidden_effect)){message_id.removeClass(this.hidden_effect)} message_id.addClass(this.display_effect).css('display','inline-grid') this.wn_popup=setTimeout(function(){woo_notification.message_hide()},this.display_time*1000)},message_hide:function(close=!1,swipe=''){var message_id=jQuery('#message-purchased') if(message_id.hasClass(this.display_effect)){message_id.removeClass(this.display_effect)} switch(swipe){case 'left':message_id.addClass('bounceOutLeft') break case 'right':message_id.addClass('bounceOutRight') break case 'up':message_id.addClass('bounceOutUp') break case 'down':message_id.addClass('bounceOutDown') break default:message_id.addClass(this.hidden_effect)} message_id.fadeOut(1000) if(close||this.getCookie('woo_notification_close')){return} var count=this.count if(this.loop==1){if(this.total>count){window.clearTimeout(this.wn_popup) this.intel=setInterval(function(){woo_notification.get_product()},this.next_time*1000)}}else{window.clearTimeout(this.wn_popup) window.clearInterval(this.intel)}},get_time_string:function(){var time_cal=this.random(0,this.time*3600) var check_time=parseFloat(time_cal/86400) if(check_time>1){check_time=parseInt(check_time) if(check_time==1){return check_time+' '+_woocommerce_notification_params.str_day}else{return check_time+' '+_woocommerce_notification_params.str_days}} check_time=parseFloat(time_cal/3600) if(check_time>1){check_time=parseInt(check_time) if(check_time==1){return check_time+' '+_woocommerce_notification_params.str_hour}else{return check_time+' '+_woocommerce_notification_params.str_hours}} check_time=parseFloat(time_cal/60) if(check_time>1){check_time=parseInt(check_time) if(check_time==1){return check_time+' '+_woocommerce_notification_params.str_min}else{return check_time+' '+_woocommerce_notification_params.str_mins}}else if(check_time<10){return _woocommerce_notification_params.str_few_sec}else{check_time=parseInt(check_time) return check_time+' '+_woocommerce_notification_params.str_secs}},get_product:function(){var products=this.products var messages=this.messages var image_redirect=this.image var redirect_target=this.redirect_target var data_first_name,data_state,data_country,data_city,time_str,index if(products=='undefined'||!products||!messages){return} if(products.length>0&&messages.length>0){index=woo_notification.random(0,messages.length-1) var string=messages[index] index=woo_notification.random(0,products.length-1) var product=products[index] if(parseInt(this.billing)>0&&parseInt(this.in_the_same_cate)<1){data_first_name=vi_wn_b64DecodeUnicode(product.first_name) data_city=vi_wn_b64DecodeUnicode(product.city) data_state=vi_wn_b64DecodeUnicode(product.state) data_country=vi_wn_b64DecodeUnicode(product.country) time_str=product.time}else{if(this.names&&this.names!='undefined'){index=woo_notification.random(0,this.names.length-1) data_first_name=vi_wn_b64DecodeUnicode(this.names[index])}else{data_first_name=''} if(this.cities&&this.cities!='undefined'){index=woo_notification.random(0,this.cities.length-1) data_city=vi_wn_b64DecodeUnicode(this.cities[index])}else{data_city=''} data_state='' data_country=this.country time_str=this.get_time_string()} var data_product=''+product.title+'' var data_product_link=''+product.title+'' var data_time=''+_woocommerce_notification_params.str_about+' '+time_str+' '+_woocommerce_notification_params.str_ago+' ' var data_custom=this.message_custom var image_html='' if(product.thumb){jQuery('#message-purchased').addClass('wn-product-with-image').removeClass('wn-product-without-image') if(image_redirect==='1'){image_html=''+product.thumb_alt+''}else{image_html=''+product.thumb_alt+''}}else{jQuery('#message-purchased').addClass('wn-product-without-image').removeClass('wn-product-with-image')} data_custom=data_custom.replace('{number}',this.random(this.message_number_min,this.message_number_max)) var replaceArray=this.shortcodes var replaceArrayValue=[data_first_name,data_city,data_state,data_country,data_product,data_product_link,data_time,data_custom] var finalAns=string for(var i=replaceArray.length-1;i>=0;i--){finalAns=finalAns.replace(replaceArray[i],replaceArrayValue[i])} var close_html='' if(parseInt(this.show_close)>0){close_html='
'} var html=image_html+'

'+finalAns+'

' jQuery('#message-purchased').html('
'+html+'
'+close_html) this.close_notify() woo_notification.message_show()}},close_notify:function(){jQuery('#notify-close').unbind() jQuery('#notify-close').bind('click',function(){woo_notification.message_hide() jQuery('#message-purchased').unbind() if(parseInt(woo_notification.time_close)>0){woo_notification.setCookie('woo_notification_close',1,3600*parseInt(woo_notification.time_close))}})},random:function(min,max){min=parseInt(min) max=parseInt(max) var rand_number=Math.random()*(max-min) return Math.round(rand_number)+min},setCookie:function(cname,cvalue,expire){var d=new Date() d.setTime(d.getTime()+(expire*1000)) var expires='expires='+d.toUTCString() document.cookie=cname+'='+cvalue+';'+expires+';path=/'},getCookie:function(cname){var name=cname+'=' var decodedCookie=decodeURIComponent(document.cookie) var ca=decodedCookie.split(';') for(var i=0;iqv_wrapper_w)?qv_wrapper_w:(window_w-60),height=((window_h-120)>qv_wrapper_h)?qv_wrapper_h:(window_h-120);qv_wrapper.css({'left':((window_w/2)-(width/2)),'top':((window_h/2)-(height/2)),'width':width+'px','height':height+'px',})};$.fn.yith_quick_view=function(){$(document).off('click','.yith-wcqv-button').on('click','.yith-wcqv-button',function(e){e.preventDefault();var t=$(this),product_id=t.data('product_id'),is_blocked=!1;if(typeof yith_qv.loader!=='undefined'){is_blocked=!0;t.block({message:null,overlayCSS:{background:'#fff url('+yith_qv.loader+') no-repeat center',opacity:0.5,cursor:'none',},});if(!qv_modal.hasClass('loading')){qv_modal.addClass('loading')} $(document).trigger('qv_loading')} ajax_call(t,product_id,is_blocked)})};var ajax_call=function(t,product_id,is_blocked){$.ajax({url:yith_qv.ajaxurl,data:{action:'yith_load_product_quick_view',product_id:product_id,lang:yith_qv.lang,context:'frontend',},dataType:'json',type:'POST',success:function(data){qv_content.html(data.html);var form_variation=qv_content.find('.variations_form');form_variation.each(function(){$(this).wc_variation_form();if(typeof $.fn.yith_wccl!=='undefined'){$(this).yith_wccl()}else if(typeof $.yith_wccl!='undefined'&&data.prod_attr){$.yith_wccl(data.prod_attr)}});form_variation.trigger('check_variations');form_variation.trigger('reset_image');if(typeof $.fn.wc_product_gallery!=='undefined'){qv_content.find('.woocommerce-product-gallery').each(function(){$(this).wc_product_gallery()})} if(!qv_modal.hasClass('open')){$('html').addClass('yith-quick-view-is-open');qv_modal.removeClass('loading').addClass('open');if(is_blocked) t.unblock();} $(document).trigger('qv_loader_stop');$(document).trigger('yith_quick_view_loaded')},})};var close_modal_qv=function(){qv_overlay.on('click',function(e){close_qv()});$(document).keyup(function(e){if(e.keyCode===27) close_qv();});qv_close.on('click',function(e){e.preventDefault();close_qv()});var close_qv=function(){qv_modal.removeClass('open').removeClass('loading');$('html').removeClass('yith-quick-view-is-open');qv_content.html('')}};close_modal_qv();center_modal();$(window).on('resize',center_modal);$.fn.yith_quick_view();$(document).on('yith_infs_adding_elem yith-wcan-ajax-filtered',function(){$.fn.yith_quick_view()})}); !function(t,e){"object"==typeof exports?module.exports=e(window,document):t.SimpleScrollbar=e(window,document)}(this,(function(t,e){var s=t.requestAnimationFrame||t.setImmediate||function(t){return setTimeout(t,0)};function i(t){Object.defineProperty(t,"data-simple-scrollbar",{value:new l(t),configurable:!0})}function r(t){Object.prototype.hasOwnProperty.call(t,"data-simple-scrollbar")&&(t["data-simple-scrollbar"].unBind(),delete t["data-simple-scrollbar"])}function n(i){for(this.target=i,this.content=i.firstElementChild,this.direction=t.getComputedStyle(this.target).direction,this.bar='
',this.mB=this.moveBar.bind(this),this.wrapper=e.createElement("div"),this.wrapper.setAttribute("class","ss-wrapper"),this.el=e.createElement("div"),this.el.setAttribute("class","ss-content"),"rtl"===this.direction&&this.el.classList.add("rtl"),this.wrapper.appendChild(this.el);this.target.firstChild;)this.el.appendChild(this.target.firstChild);this.target.appendChild(this.wrapper),this.target.insertAdjacentHTML("beforeend",this.bar),this.bar=this.target.lastChild,function(t,i){var r;function n(t){var e=t.pageY-r;r=t.pageY,s((function(){i.el.scrollTop+=e/i.scrollRatio}))}function a(){t.classList.remove("ss-grabbed"),e.body.classList.remove("ss-grabbed"),e.removeEventListener("mousemove",n),e.removeEventListener("mouseup",a)}t.addEventListener("mousedown",(function(s){return r=s.pageY,t.classList.add("ss-grabbed"),e.body.classList.add("ss-grabbed"),e.addEventListener("mousemove",n),e.addEventListener("mouseup",a),!1}))}(this.bar,this),this.moveBar(),t.addEventListener("resize",this.mB),this.el.addEventListener("scroll",this.mB),this.el.addEventListener("mouseenter",this.mB),this.target.classList.add("ss-container");var r=t.getComputedStyle(i);"0px"===r.height&&"0px"!==r["max-height"]&&(i.style.height=r["max-height"]),this.unBind=function(){t.removeEventListener("resize",this.mB),this.el.removeEventListener("scroll",this.mB),this.el.removeEventListener("mouseenter",this.mB),this.target.classList.remove("ss-container"),this.target.insertBefore(this.content,this.wrapper),this.target.removeChild(this.wrapper),this.target.removeChild(this.bar),this.bar=null}}function a(){for(var t=e.querySelectorAll("*[ss-container]"),s=0;s=1?r.bar.classList.add("ss-hidden"):(r.bar.classList.remove("ss-hidden"),r.bar.style.cssText="height:"+Math.max(100*r.scrollRatio,10)+"%; top:"+r.el.scrollTop/e*100+"%;right:"+n+"px;")}))}},e.addEventListener("DOMContentLoaded",a),n.initEl=i,n.initAll=a,n.unbindEl=r,n.unbindAll=function(){for(var t=e.querySelectorAll(".ss-container"),s=0;s p");if(i.length){let e=n.find("p.woocommerce-result-count").text();e.includes("Sorted by")&&(e=e.replace("Sorted by"," - Sorted by")),i.text(e)}},complete:function(){d.removeClass("is-loading")}})}))}))}(jQuery); function shopengine_share(n){let t=n.getAttribute("data-link");t&&window.open(t,"woo_sharer","width=626,height=436")}function shopengine_copy_link(n){var t=n.getAttribute("data-link");if(t){return null!==prompt("Copy link, then click OK.",t)&&document.execCommand("copy"),""}}; (function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=window.getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e||-1!==['HTML','BODY','#document'].indexOf(e.nodeName))return window.document.body;var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return/(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var o=e&&e.offsetParent,i=o&&o.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(o.nodeName)&&'static'===t(o,'position')?r(o):o:window.document.documentElement}function p(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||r(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return window.document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var f=a.commonAncestorContainer;if(e!==f&&t!==f||i.contains(n))return p(f)?f:r(f);var l=s(e);return l.host?d(l.host,t):d(e,s(t).host)}function a(e){var t=1=o.clientWidth&&i>=o.clientHeight}),f=0i[e]&&!t.escapeWithReference&&(n=z(p[o],i[e]-('right'===e?p.width:p.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=se({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=V,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var o=t.element;if('string'==typeof o){if(o=e.instance.popper.querySelector(o),!o)return e;}else if(!e.instance.popper.contains(o))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var i=e.placement.split('-')[0],n=e.offsets,r=n.popper,p=n.reference,s=-1!==['left','right'].indexOf(i),d=s?'height':'width',a=s?'top':'left',f=s?'left':'top',l=s?'bottom':'right',m=O(o)[d];p[l]-mr[l]&&(e.offsets.popper[a]+=p[a]+m-r[l]);var h=p[a]+p[d]/2-m/2,g=h-c(e.offsets.popper)[a];return g=_(z(r[d]-m,g),0),e.arrowElement=o,e.offsets.arrow={},e.offsets.arrow[a]=Math.round(g),e.offsets.arrow[f]='',e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=w(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=L(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case fe.FLIP:p=[i,n];break;case fe.CLOCKWISE:p=K(i);break;case fe.COUNTERCLOCKWISE:p=K(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=L(i);var a=e.offsets.popper,f=e.offsets.reference,l=V,m='left'===i&&l(a.right)>l(f.left)||'right'===i&&l(a.left)l(f.top)||'bottom'===i&&l(a.top)l(o.right),g=l(a.top)l(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,y=-1!==['top','bottom'].indexOf(i),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),w&&(r=j(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=N(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[t]-(s?n[p?'width':'height']:0),e.placement=L(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i0&&s--,40===e.which&&sdocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=bootstrap.min.js.map; !function(t){"use strict";t.fn.counterUp=function(e){var n=t.extend({time:400,delay:10},e);return this.each(function(){var e=t(this),r=n;e.waypoint(function(){var t=[],n=r.time/r.delay,o=e.text(),i=/[0-9]+,[0-9]+/.test(o);o=o.replace(/,/g,"");/^[0-9]+$/.test(o);for(var l=/^[0-9]+\.[0-9]+$/.test(o),s=l?(o.split(".")[1]||[]).length:0,u=n;u>=1;u--){var c=parseInt(o/n*u);if(l&&(c=parseFloat(o/n*u).toFixed(s)),i)for(;/(\d+)(\d{3})/.test(c.toString());)c=c.toString().replace(/(\d+)(\d{3})/,"$1,$2");t.unshift(c)}e.data("counterup-nums",t),e.text("0");e.data("counterup-func",function(){e.text(e.data("counterup-nums").shift()),e.data("counterup-nums").length?setTimeout(e.data("counterup-func"),r.delay):(e.data("counterup-nums"),e.data("counterup-nums",null),e.data("counterup-func",null))}),setTimeout(e.data("counterup-func"),r.delay)},{offset:"100%",triggerOnce:!0})})}}(jQuery),function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e=0,s={horizontal:{},vertical:{}},u=1,a={},c="waypoints-context-id",p="resize.waypoints",y="scroll.waypoints",v=1,w="waypoints-waypoint-ids",g="waypoint",m="waypoints",i=function(){function t(t){var e=this;this.$element=t,this.element=t[0],this.didResize=!1,this.didScroll=!1,this.id="context"+u++,this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()},this.waypoints={horizontal:{},vertical:{}},t.data(c,this.id),a[this.id]=this,t.bind(y,function(){var t;if(!e.didScroll&&!f)return e.didScroll=!0,t=function(){return e.doScroll(),e.didScroll=!1},r.setTimeout(t,n[m].settings.scrollThrottle)}),t.bind(p,function(){var t;if(!e.didResize)return e.didResize=!0,t=function(){return n[m]("refresh"),e.didResize=!1},r.setTimeout(t,n[m].settings.resizeThrottle)})}return t.prototype.doScroll=function(){var t,e=this;return t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}},!f||t.vertical.oldScroll&&t.vertical.newScroll||n[m]("refresh"),n.each(t,function(t,r){var o,i,l;return l=[],i=r.newScroll>r.oldScroll,o=i?r.forward:r.backward,n.each(e.waypoints[t],function(t,e){var n,o;return r.oldScroll<(n=e.offset)&&n<=r.newScroll?l.push(e):r.newScroll<(o=e.offset)&&o<=r.oldScroll?l.push(e):void 0}),l.sort(function(t,e){return t.offset-e.offset}),i||l.reverse(),n.each(l,function(t,e){if(e.options.continuous||t===l.length-1)return e.trigger([o])})}),this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}},t.prototype.refresh=function(){var t,e,r,o=this;return r=n.isWindow(this.element),e=this.$element.offset(),this.doScroll(),t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}},n.each(t,function(t,e){return n.each(o.waypoints[t],function(t,r){var o,i,l,s,u;if(o=r.options.offset,l=r.offset,i=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp],n.isFunction(o)?o=o.apply(r.element):"string"==typeof o&&(o=parseFloat(o),r.options.offset.indexOf("%")>-1&&(o=Math.ceil(e.contextDimension*o/100))),r.offset=i-e.contextOffset+e.contextScroll-o,(!r.options.onlyOnScroll||null==l)&&r.enabled)return null!==l&&l<(s=e.oldScroll)&&s<=r.offset?r.trigger([e.backward]):null!==l&&l>(u=e.oldScroll)&&u>=r.offset?r.trigger([e.forward]):null===l&&e.oldScroll>=r.offset?r.trigger([e.forward]):void 0})})},t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical))return this.$element.unbind([p,y].join(" ")),delete a[this.id]},t}(),l=function(){function t(t,e,r){var o,i;"bottom-in-view"===(r=n.extend({},n.fn[g].defaults,r)).offset&&(r.offset=function(){var t;return t=n[m]("viewportHeight"),n.isWindow(e.element)||(t=e.$element.height()),t-n(this).outerHeight()}),this.$element=t,this.element=t[0],this.axis=r.horizontal?"horizontal":"vertical",this.callback=r.handler,this.context=e,this.enabled=r.enabled,this.id="waypoints"+v++,this.offset=null,this.options=r,e.waypoints[this.axis][this.id]=this,s[this.axis][this.id]=this,(o=null!=(i=t.data(w))?i:[]).push(this.id),t.data(w,o)}return t.prototype.trigger=function(t){if(this.enabled)return null!=this.callback&&this.callback.apply(this.element,t),this.options.triggerOnce?this.destroy():void 0},t.prototype.disable=function(){return this.enabled=!1},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0},t.prototype.destroy=function(){return delete s[this.axis][this.id],delete this.context.waypoints[this.axis][this.id],this.context.checkEmpty()},t.getWaypointsByElement=function(t){var e,r;return(r=n(t).data(w))?(e=n.extend({},s.horizontal,s.vertical),n.map(r,function(t){return e[t]})):[]},t}(),d={init:function(t,e){return null==e&&(e={}),null==e.handler&&(e.handler=t),this.each(function(){var t,r,o,s;return t=n(this),o=null!=(s=e.context)?s:n.fn[g].defaults.context,n.isWindow(o)||(o=t.closest(o)),o=n(o),(r=a[o.data(c)])||(r=new i(o)),new l(t,r,e)}),n[m]("refresh"),this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0)return t.push(n[e-1])})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){return null==t&&(t=r),h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){return null==t&&(t=r),h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;return e=n.extend({},s.vertical,s.horizontal),n.each(e,function(e,n){return n[t](),!0})},_filter:function(t,e,r){var o,i;return(o=a[n(t).data(c)])?(i=[],n.each(o.waypoints[e],function(t,e){if(r(o,e))return i.push(e)}),i.sort(function(t,e){return t.offset-e.offset}),n.map(i,function(t){return t.element})):[]}},n[m]=function(){var t,n;return n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[],h[n]?h[n].apply(null,t):h.aggregate.call(null,n)},n[m].settings={resizeThrottle:100,scrollThrottle:30},o.on("ready",function(){return n[m]("refresh")})})}.call(this),jQuery(".count").counterUp({time:1e3});; var x,i,j,selElmnt,a,b,c;x=document.getElementsByClassName("custom-select");for(i=0;ib)c+=a[b];else break;2>b&&(c+="/")}k=c;return this},api:function(a,c){if(!this.element|| !a)return!1;var b=this.element,f=""!==b.id?b.id:null,d=!c||!c.constructor||!c.call||!c.apply?c:null,e=c&&c.constructor&&c.call&&c.apply?c:null;e&&l(a,e,f);h(a,d,b);return this},addEvent:function(a,c){if(!this.element)return!1;var b=this.element,d=""!==b.id?b.id:null;l(a,c,d);"ready"!=a?h("addEventListener",a,b):"ready"==a&&i&&c.call(null,d);return this},removeEvent:function(a){if(!this.element)return!1;var c=this.element,b;a:{if((b=""!==c.id?c.id:null)&&d[b]){if(!d[b][a]){b=!1;break a}d[b][a]=null}else{if(!d[a]){b= !1;break a}d[a]=null}b=!0}"ready"!=a&&b&&h("removeEventListener",a,c)}};e.fn.init.prototype=e.fn;window.addEventListener?window.addEventListener("message",j,!1):window.attachEvent("onmessage",j);return window.Froogaloop=window.$f=e}();; (function(t){t.extend(t.fn,{validate:function(e){if(this.length){var i=t.data(this[0],"validator");return i||(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return!i.settings.submitHandler||(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1)}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)}e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing.")},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var o={};return t.each(i.split(/\s/),function(t,e){o[e]=a[e],delete a[e]}),o}}var u=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(u.required){var l=u.required;delete u.required,u=t.extend({required:l},u)}return u}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=!1!==this.check(e);return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),!(this.name in i||!e.objectLength(t(this).rules()))&&(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var o={method:a,parameters:s[a]};try{if("dependency-mismatch"===(i=t.validator.methods[a].call(this,n,e,o.parameters))){r=!0;continue}if(r=!1,"pending"===i)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!i)return this.formatAndAdd(e,o),!1}catch(t){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+o.method+"' method.",t),t}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t]},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"Warning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(e,i){return!!t(e,i.form).length},function:function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(""===(a=s.get(0).getAttribute(n))&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(!1!==r){if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0===r.param||r.param:delete e[s]}}else delete e[s]}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;for(var i=0,s=0,r=!1,n=(t=t.replace(/\D/g,"")).length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0==i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=!0===s||"true"===s;if(a){var o=n.formSubmitted;n.prepareElement(i),n.formSubmitted=o,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var u={},l=s||n.defaultMessage(i,"remote");u[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(u)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format})(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery);; /*! modernizr 3.6.0 (Custom Build) | MIT * * https://modernizr.com/download/?-cssanimations-csscolumns-customelements-flexbox-history-picture-pointerevents-postmessage-sizes-srcset-webgl-websockets-webworkers-addtest-domprefixes-hasevent-mq-prefixedcssvalue-prefixes-setclasses-testallprops-testprop-teststyles !*/ !function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,i,s,a;for(var l in C)if(C.hasOwnProperty(l)){if(e=[],t=C[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;nd;d++)if(h=e[d],v=N.style[h],f(h,"-")&&(h=m(h)),N.style[h]!==n){if(i||r(o,"undefined"))return s(),"pfx"==t?h:!0;try{N.style[h]=o}catch(g){}if(N.style[h]!=v)return s(),"pfx"==t?h:!0}return s(),!1}function v(e,t){return function(){return e.apply(t,arguments)}}function A(e,t,n){var o;for(var i in e)if(e[i]in t)return n===!1?e[i]:(o=t[e[i]],r(o,"function")?v(o,n||t):o);return!1}function g(e,t,n,o,i){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+O.join(s+" ")+s).split(" ");return r(t,"string")||r(t,"undefined")?h(a,t,o,i):(a=(e+" "+T.join(s+" ")+s).split(" "),A(a,t,n))}function y(e,t,r){return g(e,n,n,t,r)}var C=[],b={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){C.push({name:e,fn:t,options:n})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=b,Modernizr=new Modernizr;var w=[],S=t.documentElement,x="svg"===S.nodeName.toLowerCase(),_="Moz O ms Webkit",T=b._config.usePrefixes?_.toLowerCase().split(" "):[];b._domPrefixes=T;var E=b._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];b._prefixes=E;var P;!function(){var e={}.hasOwnProperty;P=r(e,"undefined")||r(e.call,"undefined")?function(e,t){return t in e&&r(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),b._l={},b.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),Modernizr.hasOwnProperty(e)&&setTimeout(function(){Modernizr._trigger(e,Modernizr[e])},0)},b._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e,r;for(e=0;e");jQuery(".menu-btn,.close-nav-toggle,.mob_nav_mask").on("click",function(e){e.preventDefault();jQuery(".mobile-menu").toggleClass("active");jQuery("body").toggleClass("mobmenu_show");if(window.location.hash.length<2){if(!jQuery('body').hasClass('mobmenu_show')){jQuery(".menu-btn").eq(0).trigger('focus')}else{setTimeout(function(){jQuery(".close-nav-toggle").eq(0).trigger('focus')},500)}} return!1});jQuery('.menu-menu-1-container .menu a').on('mouseover focus',function(e){e.preventDefault();jQuery(this).parent().siblings().removeClass('is-focused').find('.menu-item').removeClass('is-focused');jQuery(this).parent().toggleClass('is-focused');var nex_el=jQuery(this).closest('.menu-menu-1-container');jQuery(document).unbind('mouseout').on('mouseout',function(e){if(!jQuery(e.target).closest('.menu-menu-1-container').length){nex_el.find('li').removeClass('is-focused');jQuery(document).unbind('mouseout')}})}) jQuery(".mobile-menu > a/*, html*/").on("click",function(){jQuery(".mobile-menu").removeClass("active");return!1});jQuery(".mobile-menu").on("click focus",function(e){e.stopPropagation()});jQuery(".mobile-menu ul.sub-menu").parent().addClass("has-sub-menu");var nexproperty_menu_is_focus=!1;jQuery('.mobile-menu li.has-sub-menu > a').on('keydown',function(e){var keyCode=e.keyCode||e.which;if(!e.shiftKey&&keyCode==9){if(jQuery(this).parent().hasClass('active')&&(jQuery(this).attr('href')!=''&&jQuery(this).attr('href')!='#')){}else{e.preventDefault();if(!jQuery(this).next("ul").is(':visible')){jQuery(this).parent().siblings().removeClass('active').find('ul').slideUp();jQuery(this).next("ul").slideToggle()} jQuery(this).next("ul").find(" > li").first().find('a').eq(0).trigger('focus')}}}) jQuery('.mobile-menu li.has-sub-menu > a').on('click',function(e){if(jQuery(this).next("ul").is(':visible')&&(jQuery(this).attr('href')!=''&&jQuery(this).attr('href')!='#')){}else{e.preventDefault();jQuery(this).parent().siblings().removeClass('active').find('ul').slideUp();jQuery(this).next("ul").slideToggle()}}) jQuery(".reply").on('click',function(){jQuery('html, body').animate({scrollTop:jQuery("#reply-sec").offset().top},2000)});jQuery(".more-btn").on("click",function(){jQuery(".banner2 .filter-section, .filter-section").slideToggle();return!1});jQuery('.menu-all-pages-container > ul > li a').on("focus",function(){var focused_class='is-focused';if(jQuery(this).closest('.menu-item-has-children')){var that,parent;that=jQuery(this);parent=that.parent();parent.addClass(focused_class);parent.siblings().each(function(){jQuery(this).removeClass(focused_class) jQuery(this).find('li').removeClass(focused_class)})}else{jQuery('.menu-all-pages-container li').removeClass(focused_class)}});jQuery('form.sw_search_secondary select').each(function(i){if(!jQuery(this).parent().find('.ss-main').length) new SlimSelect({select:'form.sw_search_secondary select[name="'+jQuery(this).attr('name')+'"]'})}) jQuery('form.sw_search_primary select').each(function(i){if(!jQuery(this).parent().find('.ss-main').length) new SlimSelect({select:'form.sw_search_primary select[name="'+jQuery(this).attr('name')+'"]'})}) jQuery('.search-form').on('submit',function(){jQuery(this).find('.search-submit').addClass('loading-show')});jQuery(".mobile-menu .menu > li").first().find('a').on('keydown',function(e){var keyCode=e.keyCode||e.which;if(e.shiftKey&&keyCode==9){e.preventDefault();jQuery(".close-nav-toggle").eq(0).trigger('focus')}});jQuery(".mobile-menu li a").last().on('keydown',function(e){var keyCode=e.keyCode||e.which;if(!e.shiftKey&&keyCode==9){e.preventDefault();jQuery(".close-nav-toggle").eq(0).trigger('focus')}});jQuery(".close-nav-toggle").on('keydown',function(e){var keyCode=e.keyCode||e.which;if(!e.shiftKey&&keyCode==9){e.preventDefault();jQuery(".mobile-menu .menu > li").first().find('a').eq(0).trigger('focus')}else if(e.shiftKey&&keyCode==9){e.preventDefault();jQuery(".mobile-menu .menu > li").last().find('a').eq(0).trigger('focus')}})}); (function($){'use strict';$('.submit').on('click',function(){if($('#name').val()!=''&&$('#email').val()!=''){$(".success-message").show();$(".error-message").hide()}});$('.submit').on('click',function(){if($('#name').val()==''){$("#name").addClass("required");$(".error-message").show()}else{$("#name").removeClass("required")} if($('#email').val()==''){$("#email").addClass("required");$(".error-message").show()}else{$("#email").removeClass("required")}})})(jQuery); !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SlimSelect=t():e.SlimSelect=t()}(window,function(){return s={},n.m=i=[function(e,t,i){"use strict";function s(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i}var n;t.__esModule=!0,t.hasClassInTree=function(e,t){function s(e,t){return t&&e&&e.classList&&e.classList.contains(t)?e:null}return s(e,t)||function e(t,i){return t&&t!==document?s(t,i)?t:e(t.parentNode,i):null}(e,t)},t.ensureElementInView=function(e,t){var i=e.scrollTop+e.offsetTop,s=i+e.clientHeight,n=t.offsetTop,a=n+t.clientHeight;n=window.innerHeight?"above":i?t:"below"},t.debounce=function(n,a,o){var l;return void 0===a&&(a=100),void 0===o&&(o=!1),function(){for(var e=[],t=0;t[^<>]*'+l+"")},t.kebabCase=function(e){var t=e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,function(e){return"-"+e.toLowerCase()});return e[0]===e[0].toUpperCase()?t.substring(1):t},"function"!=typeof(n=window).CustomEvent&&(s.prototype=n.Event.prototype,n.CustomEvent=s)},function(e,t,i){"use strict";t.__esModule=!0;var s=(n.prototype.newOption=function(e){return{id:e.id?e.id:String(Math.floor(1e8*Math.random())),value:e.value?e.value:"",text:e.text?e.text:"",innerHTML:e.innerHTML?e.innerHTML:"",selected:!!e.selected&&e.selected,display:void 0===e.display||e.display,disabled:!!e.disabled&&e.disabled,placeholder:!!e.placeholder&&e.placeholder,class:e.class?e.class:void 0,data:e.data?e.data:{},mandatory:!!e.mandatory&&e.mandatory}},n.prototype.add=function(e){this.data.push({id:String(Math.floor(1e8*Math.random())),value:e.value,text:e.text,innerHTML:"",selected:!1,display:!0,disabled:!1,placeholder:!1,class:void 0,mandatory:e.mandatory,data:{}})},n.prototype.parseSelectData=function(){this.data=[];for(var e=0,t=this.main.select.element.childNodes;e=0;i-=1){param=params_arr[i].split("=")[0];if(param===key){params_arr.splice(i,1)}} if(params_arr.length)rtn=rtn+"?"+params_arr.join("&");} return rtn} function wdk_splitUrl(){var vars=[],hash;var url=document.URL.split('?')[0];var p=document.URL.split('?')[1];if(p!=undefined){p=p.split('&');for(var i=0;i""!==o&&"0"!==o&&o));return e=e.filter((function(o,n){return e.indexOf(o)===n})),e.map((function(o){return parseInt(o)}))}return[]}function a(){return i().length?i().length:0}function s(o,e){let n=new CustomEvent(o,{detail:e});window.dispatchEvent(n)}n.on("update.se",(function(){e.addClass("se-loaded ajaxLoaded")})),o((function(){a()&&o(".shopengine-comparison-bottom-bar").removeAttr("hidden")})),o(document).on("click",".shopengine_comparison_add_to_list_action",(function(i){i.preventDefault();var a=o(this);e.seModal(t);let r=a.data("payload");o.ajax({method:"GET",url:shopEngineComparison.resturl+"shopengine-builder/v1/comparison/comparison_table/",data:r,dataType:"html",success:function(e){n.html(e),a.addClass("active"),s("shopengineComparisonProductAdded",{product_id:r.pid}),n.trigger("update.se"),o(".shopengine-comparison-bottom-bar").removeClass("active")}})})),o(document).on("click","a.shopengine-remove-action.badge-comparison",(function(e){e.preventDefault();let t=o(this).closest("td").index(),i=o(this).closest("tbody").find("tr"),a={pid:o(this).data("pid")},r=o.modal.getCurrent();r.$elm.removeClass("se-loaded ajaxLoaded"),o.ajax({url:shopEngineComparison.resturl+"shopengine-builder/v1/comparison/remove/",method:"POST",data:a,dataType:"html",success:function(e){r.$body.find('.shopengine_comparison_add_to_list_action[data-payload*="'+a.pid+'"]').removeClass("active"),i.find("td:nth-of-type("+t+")").remove(),s("shopengineComparisonProductRemoved",{product_id:a.pid}),n.trigger("update.se"),i.first().find("td").length<1&&o.modal.close()}})})),o(".comparison-page").on("click","a.shopengine-remove-action.badge-comparison",(function(e){e.preventDefault(),e.stopImmediatePropagation();let n=o(this).closest("td").index()+1,t=o(this).closest("tbody").find("tr"),i={pid:o(this).data("pid")},a=!1;1===t.first().find("td").length&&(o(".shopengine-comparison").html('

No product is added for comparison, please add some product to compare

'),a=!0),t.each((function(){o(this).find("td:nth-child("+n+")").remove()})),o.ajax({url:shopEngineComparison.resturl+"shopengine-builder/v1/comparison/remove/",method:"POST",data:i,dataType:"html",success:function(o){let e=JSON.parse(o);window.history.pushState({path:e.share_url},"",e.share_url),s("shopengineComparisonProductRemoved",{product_id:i.pid})}})})),o(document).on("click",".shopengine-comparison-bar-action",(function(e){e.preventDefault();let n={pid:o(this).data("pid")},t=o(this).closest(".shopengine-comparison-bottom-bar");o.ajax({url:shopEngineComparison.resturl+"shopengine-builder/v1/comparison/remove/",method:"POST",data:n,dataType:"html",beforeSend:function(){t.block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},success:e=>{o(this).closest("div").remove(),t.unblock(),s("shopengineComparisonProductRemoved",{product_id:n.pid})}})})),o(".comparison-bottom-bar-toggle").on("click",(function(e){e.preventDefault();let n=o(this),t=o(".shopengine-comparison-bottom-bar");o(".shopengine-comparison-box");if(n.find("i").remove(),t.length&&t.hasClass("active"))return t.removeClass("active"),!1;o.ajax({url:shopEngineComparison.resturl+"shopengine-builder/v1/comparison/comparison_bar_data",method:"GET",data:{},dataType:"html",beforeSend:function(){n.prepend('')},success:function(e){e=JSON.parse(e),o("#shopengine-comparison-bottom-content").html(e),t.addClass("active"),o(e).filter("h1.shopengine-no-comparison-product-for-bar").length?t.addClass("no-comparison-found"):t.removeClass("no-comparison-found"),n.find(".eicon-loading").replaceWith('')}})})),o(".comparison-endpoint-bottom").on("click",(function(e){e.preventDefault();let n=[],t=o(this).attr("data-comparison-url"),i=o(".shopengine-comparison-box");i.length&&(i.find(".comparison-for-bottom-bar-item").each((function(e,t){let i=o(t).find("a").attr("data-pid");n[e]=i})),window.location.href=t+"?product_ids="+n.join(","))})),o(window).on("shopengineComparisonProductAdded shopengineComparisonProductRemoved",(function(e,n){o(".shopengine-comparison-counter").text(a());let t=o(".shopengine-comparison-bottom-bar");a()?t.removeAttr("hidden").removeClass("no-comparison-found"):t.attr("hidden","hidden").removeClass("active").addClass("no-comparison-found"),i().length?o("ul.products > li .shopengine-comparison[data-payload]").each((function(){let e=JSON.parse(o(this).attr("data-payload"));-1===o.inArray(e.pid,i())&&o(this).removeClass("active")})):o("ul.products > li .shopengine-comparison[data-payload]").removeClass("active")})),o(document).on("click touchstart",".copy-comparison-share-url",(function(e){e.preventDefault();let n=o(this),t=n.attr("data-share-url"),i=n.attr("data-message"),a=n.find("span"),s=a.clone();navigator.clipboard.writeText(t),a.html(i),setTimeout((function(){a.html(s.html())}),3e3)}))}));
Warning: file_put_contents(/home/greenohouse.com/public_html/wp-content/boost-cache/static/520d1adf83.min.js): Failed to open stream: No space left on device in /home/greenohouse.com/public_html/wp-content/plugins/jetpack-boost/app/lib/minify/functions-service.php on line 47