!function(){var t={1757:function(){!function(t){var a,o,e,l,c,h=''+(h>=10?h:"0"+h)+"H";var mHtml=''+(m>=10?m:"0"+m)+"M";var sHtml=''+(s>=10?s:"0"+s)+"S";var str="";if(h>0){str=HHtml+" : "+mHtml+" : "+sHtml;}else{str=mHtml+" : "+sHtml;} dom&&dom.html(str);},1000);};Moi.prototype.loadSwiper=function(version,callback){let linkHref=oemcart_imgcdn+`/uploads/0/theme/default/assets/swiper${version}-bundle.min.css?v=1108`;let link=document.createElement('link');link.rel='stylesheet';link.type='text/css';link.href=linkHref;let linkElem=$("link[href='"+linkHref+"']") if(linkElem.length==0){document.head.appendChild(link);} if(!this.callbacks){this.callbacks=[];} this.callbacks.push(callback) this.loadScript(oemcart_imgcdn+`/uploads/0/theme/default/assets/swiper${version}-bundle.min.js`,({loadType})=>{if(loadType=="ok"){this.callbacks.forEach(el=>el())} if(window['Swiper8']&&loadType=='old'){callback()}})} function setMoreMenu(option){var parentNode=$(option.parent);var childNode=parentNode.find(option.child);var moreNode=parentNode.find(option.moreClass);var parentWidth=parentNode.innerWidth();var totalWidth=0;var moreNodeWidth=moreNode.innerWidth();var isMore=false;childNode.each(function(index,child){totalWidth+=$(child).innerWidth();if(!$(child).hasClass(option.moreClass.replace('.',''))&&totalWidth+moreNodeWidth>parentWidth){$(child).hide();isMore=true;}});option.moreHtml&&parentNode.append(option.moreHtml);isMore?moreNode.show():moreNode.hide() if(option.triggerFunc==='click'||!option.triggerFunc){moreNode.click(function(e){e.stopPropagation() option.onMore&&option.onMore()})}else{moreNode.hover(function(e){e.stopPropagation() option.hoverEnter&&option.hoverEnter()},function(e){e.stopPropagation() option.hoverLeave&&option.hoverLeave()})}} Moi.prototype.hexToRgba=function(hex,alpha=1){hex=hex.replace(/^#/,'');if(hex.length===3){hex=hex.split('').map(c=>c+c).join('');}else if(hex.length===4){hex=hex.split('').map(c=>c+c).join('');} let r=parseInt(hex.slice(0,2),16);let g=parseInt(hex.slice(2,4),16);let b=parseInt(hex.slice(4,6),16);let a=hex.length===8?parseInt(hex.slice(6,8),16)/255:alpha;return`rgba(${r}, ${g}, ${b}, ${a})`;} Moi.prototype.setCustomNav=function(d,w,isShowShortMenu=false,callbackFunc,isShowMoreLink=true){d.find('.nav-child').each(function(){if(isShowShortMenu){if($(this).find('dl dd').length>0){$(this).parents('li').addClass('nav-child-three');}else{$(this).parents('li').addClass('nav-child-second');}}else{$(this).parents('li').addClass('nav-child-three');}}) if(!isShowMoreLink)return;var navWidth=w;var navUl=d.children('ul').width();if(navUl>navWidth){d.children('ul').children('li').each(function(){var left=$(this).position().left;var w=$(this).width();left+=w;if(left>(navWidth-160)){$(this).hide();$(this).nextAll('li').hide();return false;}}) d.children('ul').append('');var _html=d.children('ul').clone();d.find('.more_link_child').children('.nav_container_wrapper').append(_html);d.find('.more_link_child').children('.nav_container_wrapper').children('ul').children('li').each(function(index){if($(this).is(':visible')){$(this).remove();}else{if(d.find('.more_link_child').children('.nav_container_wrapper').children('ul').find('li.on').length===0){$(this).addClass('on')} $(this).show();}}) d.find('.more_link_child').children('.nav_container_wrapper').children('ul').children('li').hover(function(){$(this).parent().siblings('.nav-child').remove();$(this).parent().children('li').removeClass('on');$(this).addClass('on');if($(this).children('.nav-child').length==1){var moreNav=$(this).children('.nav-child').clone();$(this).parent().parent().append(moreNav);}})} d.children('ul').css('width','100%') callbackFunc&&callbackFunc()} Moi.prototype.setHeadMenu=function(option){setMoreMenu(option) this.addEvent('lazyImg',function(event){if(option.logoSrc&&event.params==option.logoSrc){setMoreMenu(option)}})};window.moi=new Moi();function getWeek(dateTime){let temptTime=new Date(dateTime.getTime());let weekday=temptTime.getDay()||7;temptTime.setDate(temptTime.getDate()-weekday+1+5);let firstDay=new Date(temptTime.getFullYear(),0,1);let dayOfWeek=firstDay.getDay();let spendDay=1;if(dayOfWeek!=0)spendDay=7-dayOfWeek+1;firstDay=new Date(temptTime.getFullYear(),0,1+spendDay);let d=Math.ceil((temptTime.valueOf()-firstDay.valueOf())/86400000);let result=Math.ceil(d/7);return result;} function getProductInfo(handle,success){moi.ajax({url:`/products/${handle}`,type:"get",success:function(ret){if(!ret.code){success&&success.call(this,ret);}else{return moi.alert({title:ret.msg});}}});} window.quickViewClose=function(callback){if(moi.globalpopupLayer){moi.globalpopupLayer.close(callback);}};window.quickViewCart=function(params){moi.onEvent("cartChange",params.cart);moi.addEvent("quickViewAddCart",function(){miniCart() showMiniCart();},true);quickViewClose(function(){var num=parseInt(moi.getPageStorage("cart_number",0))+params.quantity;moi.changeCartNumber(num);miniCart();moi.onEvent("quickViewAddCart",{product_id:params.product_id,product:params,collection_id:[]});});};window.quickViewBuy=function(url){quickViewClose(function(){moi.href(url);});};window.quickViewDetail=function(url){quickViewClose(function(){moi.href(url);});};window.quickViewLoad=function(height){if(!moi.globalpopupLayer){return false;} const classStr=themeConfig.global.product_quickview_type=="normal"?"normal-quick-iframe":"simple-quick-iframe";const quickIframe=moi.globalpopupLayer.temp.find("#quick-iframe");const iframeWrapNode=moi.globalpopupLayer.temp.find(".quick-iframe-wrap");moi.globalpopupLayer.temp.find(".quick-iframe-wrap-loading").remove();quickIframe.height(height);quickIframe.addClass(classStr);setTimeout(function(){if(height>iframeWrapNode.innerHeight()){quickIframe.attr("scrolling","auto");}},500);};window.oemsaasQuickview=moi.throttle(function(e){e.stopPropagation();e.preventDefault();moi.popupProductPicture({handle:$(this).data("handle"),data_from:$(this).data("from")});},1000);window['quickview']=moi.throttle(function(e){e.stopPropagation();e.preventDefault();moi.popupProductPicture({handle:$(this).data("handle"),data_from:$(this).data("from")});},1000);function getFirstUrl(){return sessionStorage.getItem("firstUrl")||false;} function createdExitIntentToken(){return new Date().getTime()+Math.floor(Math.random()*10)} const oemcartRouter={list:[],addRouter(){router.list.push(location.href)},saveLocalStorage(){localStorage.setItem('oemcart_routers',JSON.stringify(router.list))}} const firstWindowExitIntentUtil={getExitIntentToken(){return moi.getCookie("exit_intent_token")},isExitIntentFirst(){return sessionStorage.getItem("exit_intent_first_window")},setValue(){sessionStorage.setItem("exit_intent_first_window",1);moi.setCookie("exit_intent_token",createdExitIntentToken(),window["exit_intent_expiration_date"]||'h1')},removeValue(){sessionStorage.removeItem("exit_intent_first_window");sessionStorage.removeItem("firstUrl") moi.delCookie("exit_intent_token");}} function isHandleExit(state){var firstUrl=getFirstUrl();var href=location.href;if(!state&&firstUrl==href){return true} return false} function handleCallBackExitIntent(){firstWindowExitIntentUtil.removeValue() moi.onEvent("callback_exit_intent") window["callback_exit_intent"]&&callback_exit_intent()} function addEventListenerPopstate(){window.addEventListener("popstate",(event)=>{if(window["oemcart_is_debug"]){var exit_intent_first_window=sessionStorage.getItem("exit_intent_first_window");var firstUrl=sessionStorage.getItem("firstUrl") var exit_intent_token=moi.getCookie("exit_intent_token");$('body').append(`
${JSON.stringify({exit_intent_first_window,firstUrl,exit_intent_token})}
`)} if(isHandleExit(event.state)&&firstWindowExitIntentUtil.isExitIntentFirst()){handleCallBackExitIntent();}});} function addRouter(isReplace){history.pushState({page:403},"",moi.setUrlParams(location.href,{exit:'true'}));} var is_init_exit_intent=false;window["init_exit_intent"]=function init_exit_intent(option){if(option&&option.debug){window["oemcart_is_debug"]=true;} if(option&&option.cookieExpirationDate){window["exit_intent_expiration_date"]=option.cookieExpirationDate;} if(is_init_exit_intent){return false} if(moi.isMobile()){var firstUrl=getFirstUrl();var href=location.href;if((!firstWindowExitIntentUtil.getExitIntentToken())){sessionStorage.setItem("firstUrl",href) addRouter()} addEventListenerPopstate();}else{document.body.addEventListener('mouseout',function(event){if(event.clientY<0&&firstWindowExitIntentUtil.isExitIntentFirst()){handleCallBackExitIntent();}});} if(!firstWindowExitIntentUtil.getExitIntentToken()){firstWindowExitIntentUtil.setValue()} is_init_exit_intent=true;}})();function getOssProcess(){var oemcart_platform=window['oemcart_platform']||1;if(oemcart_platform==1){return"x-oss-process=image"}else{return"x-image-process=image"}} function setOssProcessPath(src,imgHandleTypes){if(imgHandleTypes.length){var handleTypes=[getOssProcess()].concat(imgHandleTypes);var splitStr=src.indexOf("?")===-1?"?":"&";return src+splitStr+handleTypes.join("/");} return src} (function(){function waterfalls(option){const self=this;this.dom=$(option.id);this.resizeConfig=option.resizeConfig;this.currentColumnConfig=this.resizeWidth($(window).width());this.columnsGutter="20px";this.renderType=option.renderType||"Js";this.rowGutter="20px";this.fallNode=null;this.childrenClassName=option.childrenClass||".mo-waterfall-column";this.bottomDistance=option.bottomDistance||30;this.render=option.render;this.imgKey=option.imgKey||false;this.windowH=$(window).height();this.scrollBottom=option.scrollBottom;this.renderComplete=option.renderComplete;this.loadHtml=$('
');this.storage=[];this.addHeight=option.addHeight;this.initDom();$(window).scroll(function(){self.scroll.call(this,self);});$(window).resize(function(){const width=$(window).width();const columns=self.resizeWidth(width);if(columns&&columns.columns!==self.currentColumnConfig.columns){self.refresh(columns);}});} waterfalls.prototype.resizeWidth=function(width){for(let i=0;i`);this.fallNode=this.dom.children(".mo-waterfall-warp");for(let i=0;i`);this.fallNode.append(element);} this.fallNode.attr("style",`--columns:${this.currentColumnConfig.columns};--column-gutter:${this.currentColumnConfig.columnsGutter}`);this.childs=this.getChilds();};waterfalls.prototype.addStorage=function(data){this.storage=[...this.storage,...data];this.storageRender(data);};waterfalls.prototype.getImageHeight=function(src,callback,i){if(!src){callback&&callback(0);return;} let image=new Image();image.src=setOssProcessPath(src,['resize,m_lfit,w_100']);image.onload=()=>{const scale=image.height/image.width;const proportional=(this.childs.width*scale).toFixed(2);callback&&callback(Number(proportional));};image.onerror=()=>{console.log("加载失败");callback&&callback(0);};};waterfalls.prototype.storageRender=function(list){let self=this;let newlist=[].concat(list) if(this.renderType==='hw_liquid'){function hwLiquidRender(data){const childsNode=self.dom.children(".mo-waterfall-warp").children(this.childrenClassName);let index=self.getChildsMinHeight()[0];self.render(data,function(node){var $element=$(node).clone();$element.css({'visibility':'hidden','position':'absolute','display':'block'}).appendTo('body');self.childs.heights[index].height=self.childs.heights[index].height+$element.height();$element.remove();childsNode.eq(index).append(node);self.renderComplete&&self.renderComplete.call(self,node);moi.onEvent("waterfallsComplete");if(newlist.length){let data=newlist.splice(0,1);hwLiquidRender(data)}});} let data=newlist.splice(0,1) hwLiquidRender(data);return} const loadHtml=[];let sotrs=this.getChildsMinHeight();let startIndex=0;for(let i=0;ia.height-b.height).map((item)=>{return item.index;});};waterfalls.prototype.setHeight=function(index,height){this.childs.heights[index]=this.childs.heights[index]+height+this.addHeight();};waterfalls.prototype.scroll=function(self){const scrollTop=$(this).scrollTop();if(scrollTop+self.windowH+self.bottomDistance>=self.getHeight()+self.getOffsetTop()){self.childs=self.getChilds();self.scrollBottom&&self.scrollBottom.call(this);}};waterfalls.prototype.complete=function(){moi.bindRedirectHref(this.fallNode.find("a"));this.renderComplete&&this.renderComplete.call(this,this.fallNode);};waterfalls.prototype.appendHTml=function(loadHtml){const self=this;const childsNode=this.childs.node;let completeCount=0;for(let i=0;i${text}`));};waterfalls.prototype.showMore=function(text,href){if(text){this.dom.append($(``));}};window.waterfalls=waterfalls;window.waterfallsScrollLoad=true;window.waterfalls=waterfalls;})();var oemcartIsWebp="";function checkWebpFeature(feature,callback){if(typeof oemcartIsWebp==="boolean"){return callback(feature,oemcartIsWebp)} var kTestImages={lossy:"UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",lossless:"UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",alpha:"UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==",animation:"UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"} var img=new Image() img.onload=function(){oemcartIsWebp=(img.width>0)&&(img.height>0) callback(feature,oemcartIsWebp)};img.onerror=function(){oemcartIsWebp=false;callback(feature,false)} img.src="data:image/webp;base64,"+kTestImages[feature]} (function(){const $window=$(window);const ratio=window.devicePixelRatio;var lazyImgs=[];function getStoreConfigImageConfig(){if(!window.storeConfig||!window.storeConfig.imagerocket){return false} return JSON.parse(window.storeConfig.imagerocket);} function getImageToWebP(suffix){var config=getStoreConfigImageConfig();var webpSuffix=["JPG","JPEG","PNG","AVIF"];if(!config||config.status==2||!webpSuffix.includes(suffix)){return""} return`format,webp`} function getImageQuality(suffix){var qualitySuffix=["JPG","JPEG","WEBP"];var config=getStoreConfigImageConfig();if(!config||config.status==2||(!getImageToWebP(suffix)&&!qualitySuffix.includes(suffix))){return""} var quality=config.quality_type===1?'q':'Q';return`quality,${quality}_${config.quality_value}`} function avifFormatJPG(suffix){if(suffix==="AVIF"){return`format,jpg`} return""} function loadImg(option){var config=getStoreConfigImageConfig();checkWebpFeature("lossy",function(feature,isSupported){if(isSupported){option.imgHandleTypes.push(getImageToWebP(option.fileExtension));} if(!isSupported||config.status===2||!config){option.imgHandleTypes.push(avifFormatJPG(option.fileExtension))} option.elment[0].onload=()=>{moi.onEvent("lazyImg",option.imgSrc);} option.elment[0].onerror=()=>{if(!option.retry){option.elment.attr("src",option.src);option['retry']=true}else{if(option.elment.attr('flag')){option.elment.attr("src",oemcart_imgcdn+"/uploads/0/theme/default/assets/guoqi.png");}else{option.elment.attr("src",oemcart_imgcdn+"/uploads/0/theme/default/assets/empty.png");}}} var handleTypes=option.imgHandleTypes.filter(Boolean);option.elment.attr("src",setOssProcessPath(option.src,handleTypes));});} function setImgUrl(elment){if(elment.attr("data-aspect-ratio")){return false;} var oldSrc=elment.attr("src");var imgSrc=elment.attr("data-src");var cropType=elment.attr("data-crop-type");var cropHeight=elment.attr("data-crop-height");var cropWidth=elment.attr("data-crop-width");var isCdn=elment.attr("data-cdn")||false;elment[0].removeAttribute("data-src");if(imgSrc){var fileExtension=imgSrc.substring(imgSrc.lastIndexOf(".")+1).toUpperCase();var src=imgSrc;if(isCdn){src=oemcart_imgcdn+src} var whiteSuffix=["JPG","JPEG","PNG","BMP","TIFF","AVIF"];var imgHandleTypes=[];if(whiteSuffix.includes(fileExtension)){var width=cropWidth||elment.innerWidth();if(cropType==="height"){var height=cropHeight||elment.height();if(height){imgHandleTypes.push(`resize,m_lfit,h_${Math.floor(width * (ratio > 1 ? ratio : 2))}`);}}else if(cropType==='none'){imgHandleTypes.push('')}else{if(width){imgHandleTypes.push(`resize,m_lfit,w_${Math.floor(width * (ratio > 1 ? ratio : 2))}`);}} imgHandleTypes.push(getImageQuality(fileExtension));} loadImg({src:src,fileExtension:fileExtension,imgHandleTypes:imgHandleTypes,imgSrc:imgSrc,oldSrc:oldSrc,elment:elment});}} function lazyImageShow(){const wtop=$window.scrollTop();if(lazyImgs.length>0){const wheight=$window.height();const delIndexs=[];for(let i=0;i=0;i--){lazyImgs.splice(delIndexs[i],1);}}} var isSupportIntersectionObserver=window['IntersectionObserver']?true:false;var imgObserver="";if(isSupportIntersectionObserver){imgObserver=new IntersectionObserver(function(entrys){for(const entry of entrys){if(entry.intersectionRatio){const element=$(entry.target);setImgUrl(element);}}},{rootMargin:"0px 0px 100px 0px",threshold:[0.01]})}else{console.log("Not Supported IntersectionObserver")} function onScroll(){lazyImageShow();};$window.scroll(onScroll);window.lazyImageShow=lazyImageShow;window.lazyLoadImage=setImgUrl;window.addLazyImages=function(nodes){nodes.each(function(){if(isSupportIntersectionObserver){imgObserver.observe(this);}else{lazyImgs.push($(this));}});onScroll();};try{document.addEventListener('DOMContentLoaded',(event)=>{$('html,body').find('img[data-src]').each(function(){addLazyImages($(this))}) const target=document.body;if(target&&window["MutationObserver"]){const observer=new MutationObserver((mutationList)=>{mutationList.forEach((record)=>{record.addedNodes.forEach((node)=>{if(node.nodeType===1){const $node=$(node);if($node.is('img[data-src]')){window.addLazyImages($node);} $node.find('img[data-src]').each(function(){window.addLazyImages($(this));});}});});});observer.observe(target,{childList:true,attributes:false,characterData:false,subtree:true});}})}catch(error){}})();$(function(){function imgSize(productBox){for(let i=0;i-1?location.href:"/search";if(themeId){location.href=moi.setUrlParams(URL,{q:searchValue,page:1,theme_id:themeId});}else{location.href=moi.setUrlParams(URL,{q:searchValue,page:1});} return false;};window['search']=oemsaasSearch window['shopSearch']=oemsaasSearch window.oemsaasMiniCart=function(){if(window["oemcart_current_template"]==="cart_list"){return} moi.onEvent("showMiniCart");$(".minicart").addClass("minicart_on");$('body').addClass("df-overflow-hidden") const html=$(".minicart").find(".minicart_mid").html();if(!html){miniCart();}else{var miniCartInfo=moi.getPageStorage('miniCartInfo',{coupon_code:''});shopCouponRecord&&shopCouponRecord('',miniCartInfo.coupon_code) if(window["oemcart_current_template"]!=="cart_list"){oemcartTriggerCartChange();}}};window['showMiniCart']=function(){if(window["oemcart_current_template"]!=="cart_list"){window.oemsaasMiniCart()}};window['shopMiniCart']=oemsaasMiniCart function pad(num,n){return num+Array(n>num?n-(""+num).length+1:0).join(0);} function number_format(number,decimals,dec_point,thousands_sep){var gapnum=3;var str="";number=number.toFixed(decimals);is_negative=number<0?true:false;if(is_negative){number=Math.abs(number)+"";} realnum=number.split(".")[0];decimal=number.split(".")[1];realnumarr=realnum.split("");for(var i=1;i<=realnumarr.length;i++){str=realnumarr[realnumarr.length-i]+str;if(i%gapnum==0){str=thousands_sep+str;}} str=realnum.length%gapnum==0?str.substr(1):str;realnum=str+(decimals?""+dec_point+""+(decimal?pad(decimal,decimals):pad(0,decimals)):"");if(is_negative){realnum="-"+realnum;} return realnum;} function FloatAdd(arg1,arg2){var r1,r2,m;try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} m=Math.pow(10,Math.max(r1,r2));return(arg1*m+arg2*m)/m;} function FloatSub(arg1,arg2,decimal){var r1,r2,m,n;try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} m=Math.pow(10,Math.max(r1,r2));n=r1>=r2?r1:r2;if(decimal){n=decimal;} return((arg1*m-arg2*m)/m).toFixed(n);} function FloatMul(arg1,arg2,decimal){var m=0,s1=arg1.toString(),s2=arg2.toString();try{m+=s1.split(".")[1].length;}catch(e){} try{m+=s2.split(".")[1].length;}catch(e){} if(decimal){return((Number(s1.replace(".",""))*Number(s2.replace(".","")))/Math.pow(10,m)).toFixed(decimal);} return(Number(s1.replace(".",""))*Number(s2.replace(".","")))/Math.pow(10,m);} function FloatDiv(arg1,arg2,decimal){var t1=0,t2=0,r1,r2;try{t1=arg1.toString().split(".")[1].length;}catch(e){} try{t2=arg2.toString().split(".")[1].length;}catch(e){} with(Math){r1=Number(arg1.toString().replace(".",""));r2=Number(arg2.toString().replace(".",""));if(decimal){return Number((r1/r2)*pow(10,t2-t1)).toFixed(decimal);} return(r1/r2)*pow(10,t2-t1);}} function price_format(price,decimal=2){result=price.toFixed(decimal);return Number(result);} function currencyExchange(price,currency,decimal_num){var rate=currency.exchange_rate;var decimal=currency.decimal_num;if(decimal_num){decimal=decimal_num;} return price_format(price*rate,decimal);} function formatMoney(number,currency,exchangeRate,appendSymbol,isFormat){var exchangeRate=exchangeRate||currency.exchange_rate;var symbolLeft=currency.symbol_left;var symbolRigth=currency.symbol_right;var currencyFormat=currency.currency_format;var decimalNum=currency.decimal_num;var decimalSeparator=".";var thousandsSeparator="'";switch(currencyFormat){case"123,456.78":decimalSeparator=".";thousandsSeparator=",";break;case"123,456":decimalSeparator="";thousandsSeparator=",";decimalNum=0;break;case"123.456,78":decimalSeparator=",";thousandsSeparator=".";break;case"123.456":decimalSeparator="";thousandsSeparator=".";decimalNum=0;break;case"123'456.65":default:decimalSeparator=".";thousandsSeparator="'";break;} number=number||0;number=price_format(number*exchangeRate,decimalNum);if(isFormat===false){return number} symbolLeft=symbolLeft!=""?symbolLeft+" ":"";symbolRigth=symbolRigth!=""?" "+symbolRigth:"";if(appendSymbol===false){return number_format(number,decimalNum,decimalSeparator,thousandsSeparator);} return symbolLeft+""+number_format(number,decimalNum,decimalSeparator,thousandsSeparator)+""+symbolRigth;} var isGetCartNumber=false;function addCartNum(){if(!isGetCartNumber){var num=oemcart_cart_number.item_number moi.changeCartNumber(num);isGetCartNumber=true;}else{moi.ajax({url:"/cart.json",type:"GET",dataType:"json",success:function(res){var num=res.data.item_number;moi.changeCartNumber(num);}});}} function miniCart(){if(window["oemcart_current_template"]==="cart_list"){return false} $(".minicart_form").remove();$.ajax({url:"/cart/mini",cache:false,dataType:"html",success:function(html){$(".minicart_mid").html(html);moi.onEvent("miniCart");if(window["oemcart_current_template"]!=="cart_list"){oemcartTriggerCartChange();}},beforeSend:function(){$(".minicart_top").after('
');},complete:function(){$(".minicart_ajaxloading").remove();}});} function createAjaxLoading(){$("body").append('
');} function removeAjaxLoading(){$(".ajaxloading").remove();} Number.prototype.plus=function(arg){var arg1=this;var arg2=arg;var r1,r2,m,c;try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} c=Math.abs(r1-r2);m=Math.pow(10,Math.max(r1,r2));if(c>0){var cm=Math.pow(10,c);if(r1>r2){arg1=Number(arg1.toString().replace(".",""));arg2=Number(arg2.toString().replace(".",""))*cm;}else{arg1=Number(arg1.toString().replace(".",""))*cm;arg2=Number(arg2.toString().replace(".",""));}}else{arg1=Number(arg1.toString().replace(".",""));arg2=Number(arg2.toString().replace(".",""));} return(arg1+arg2)/m;};Number.prototype.minus=function(arg){var arg1=this;var arg2=arg;var r1,r2,m,n;try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} m=Math.pow(10,Math.max(r1,r2));n=r1>=r2?r1:r2;return((arg1*m-arg2*m)/m).toFixed(n);};Number.prototype.times=function(arg){var arg1=this;var arg2=arg;var m=0,s1=arg1.toString(),s2=arg2.toString();try{m+=s1.split(".")[1].length;}catch(e){} try{m+=s2.split(".")[1].length;}catch(e){} return(Number(s1.replace(".",""))*Number(s2.replace(".","")))/Math.pow(10,m);};Number.prototype.modulo=function(arg){var arg1=this;var arg2=arg;var t1=0,t2=0,r1,r2;try{t1=arg1.toString().split(".")[1].length;}catch(e){} try{t2=arg2.toString().split(".")[1].length;}catch(e){} with(Math){r1=Number(arg1.toString().replace(".",""));r2=Number(arg2.toString().replace(".",""));return(r1/r2)*pow(10,t2-t1);}};(function(){setTimeout(()=>{const targetApp=moi.getUrlParam("clearAppResponseCache");if(targetApp){let countDown=5;$("html").html(`

已删除相关缓存,${countDown} 秒后自动关闭该窗口...

`);setInterval(()=>{$("h2 span").html(--countDown);if(countDown===0)window.close();},1000);const storageKeys=Object.keys(localStorage);storageKeys.forEach((key)=>{if(key.indexOf(`APP_RESPONSE_${targetApp}`)===0){localStorage.removeItem(key);}});}});})();function emailAutoFill(renderNode,inputNode){let countryId=null let emailList={global_email:[],local_email:[]} let renderWrap=$(renderNode) for(let value of Object.values(oemcart_countrys)){if(value.country_code_2==oemcart_client_country){countryId=value.id break}} if(countryId==null)return moi.ajax({url:`/country/hotemail/${countryId}`,success:function(res){if(Array.isArray(res.data))return emailList=res.data if(emailList.global_email){emailList.global_email=emailList.global_email.map(item=>'@'+item)} if(emailList.local_email){emailList.local_email=emailList.local_email.map(item=>'@'+item)}}}) renderWrap.append('') renderWrap.find(inputNode).on('focus',function(){templateRender($(this).val())}) renderWrap.find(inputNode).on('blur',function(){renderWrap.find('.email_auto_fill_box').html('')}) renderWrap.find(inputNode).on('input',function(){templateRender($(this).val())}) function templateRender(str=''){if(str==''){renderWrap.find('.email_auto_fill_box').html('') return} let resultData={global_email:[],local_email:[]} let strVerify=str.indexOf('@') if(strVerify!==-1){let resultStr=str.substring(str.indexOf('@'),str.length) resultData.global_email=emailList.global_email.filter(item=>item.includes(resultStr)) resultData.local_email=emailList.local_email.filter(item=>item.includes(resultStr))}else{resultData=emailList} if(resultData.global_email.length===0&&resultData.local_email.length===0){renderWrap.find('.email_auto_fill_box').html('') return} let email_li=(list)=>{let html='' let prefix=strVerify!=-1?str.substring(0,strVerify):str list.forEach(item=>{html+=`
  • ${prefix + item}
  • `}) return html} let emailTemplate=`
      ${email_li(resultData.global_email)}
    ${ resultData.global_email.length !== 0 && resultData.local_email.length !== 0 ? '
    ' : ''}
      ${email_li(resultData.local_email)}
    `;renderWrap.find('.email_auto_fill_box').html(emailTemplate) renderWrap.find('.email_auto_fill_box li').on('mousedown',function(e){e.preventDefault() renderWrap.find(inputNode).val($(this).text()) window['checkout_user_concat_init']&&window['checkout_user_concat_init']($(this).text()) renderWrap.find(inputNode).removeClass('top-border') renderWrap.find('p.tip').remove() renderWrap.find('.email_auto_fill_box').html('')})}} function oemcartTriggerCartChange(){if(window["oemcart_current_template"]==="cart_list"){moi.onEvent("cartPriceChange",{total_price:formatMoney(oemcart_cart.total_price,oemcart_currency,'',false,false)}) return} if(window["oemcart_current_template"]==="orderonepage_index"&&oldPriceData){moi.onEvent("cartPriceChange",{total_price:formatMoney(oldPriceData.total_price||oemcart_cart.order?oemcart_cart.order.total_price:oemcart_cart.total_price,oemcart_cart.currency,'',false,false)}) return} if(window["oemcart_current_template"]==="order_contact_information"){moi.onEvent("cartPriceChange",{total_price:formatMoney(oemcart_cart.total_price,oemcart_cart.currency,'',false,false)}) return} if(window["oemcart_current_template"]==="order_payment_method"){paymentCatTotalPrice(window['totalprice']) return} if(window["oemcart_current_template"]==="order_payment_gateway"||window["oemcart_current_template"]==="order_payment_abgateway"){moi.onEvent("cartPriceChange",{total_price:formatMoney(oemcart_cart.total_price_currency,oemcart_cart.currency,1,false,false)}) return} const miniCart=moi.getPageStorage('miniCartInfo',false);if(miniCart){moi.onEvent("cartPriceChange",{total_price:formatMoney(miniCart.total_price,oemcart_currency,'',false,false)})}} function oemcartOrderTagHistory(tagName){const tags=JSON.parse(moi.getCookie("order_tag_history")||'[]');const index=tags.findIndex(tag=>tag.tag_name==tagName);const currentTime=new Date().getTime();if(index===-1){tags.unshift({tag_name:tagName,source_device:window["oemcart_site_type"]||"",create_time:currentTime,expire_time:currentTime+30*86400,})}else{tags[index].create_time=currentTime;tags[index].expire_time=currentTime+30*86400;} tags.sort((a,b)=>b.create_time-a.create_time);moi.setCookie("order_tag_history",JSON.stringify(tags),'d30')} !function(){let _APP_CODE_=[];function L(a,b,c,d){window[`_app_${a}_api_url`]=`/app-api/${a}/${window['oemcart_store_id']}`;window[`_app_${a}_sort_weight`]=b;const script=document.createElement("script");script.src=`/app-assets/${a}/${window['oemcart_store_id']}/index.js?var=${d}`;script.defer=c;document.body.appendChild(script)} window['load_script']=function(){_APP_CODE_.push(arguments)} document.addEventListener("DOMContentLoaded",function(){if(_APP_CODE_.length){while(_APP_CODE_.length){L.apply(null,_APP_CODE_.shift())}}})}() window.addEventListener('message',(event)=>{if(event.data.active==='returnToUrl'){window.location.href=event.data.result;}});document.addEventListener("DOMContentLoaded",function(){var msg=moi.getUrlParam("page_msg");if(msg){moi.alert({title:msg})}}) !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pako={})}(this,(function(t){"use strict";function e(t){let e=t.length;for(;--e>=0;)t[e]=0}const a=256,i=286,n=30,s=15,r=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),o=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);const _=new Array(60);e(_);const f=new Array(512);e(f);const c=new Array(256);e(c);const u=new Array(29);e(u);const w=new Array(n);function m(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let b,g,p;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}e(w);const v=t=>t<256?f[t]:f[256+(t>>>7)],y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},x=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{x(t,a[2*e],a[2*e+1])},A=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},E=(t,e,a)=>{const i=new Array(16);let n,r,o=0;for(n=1;n<=s;n++)o=o+a[n-1]<<1,i[n]=o;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=A(i[e]++,e))}},R=t=>{let e;for(e=0;e{t.bi_valid>8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{let n,s,l,h,d=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+d++],n+=(255&t.pending_buf[t.sym_buf+d++])<<8,s=t.pending_buf[t.sym_buf+d++],0===n?z(t,s,e):(l=c[s],z(t,l+a+1,e),h=r[l],0!==h&&(s-=u[l],x(t,s,h)),n--,l=v(n),z(t,l,i),h=o[l],0!==h&&(n-=w[l],x(t,n,h)))}while(d{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,r=e.stat_desc.elems;let o,l,h,d=-1;for(t.heap_len=0,t.heap_max=573,o=0;o>1;o>=1;o--)S(t,a,o);h=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,a[2*h]=a[2*o]+a[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,a[2*o+1]=a[2*l+1]=h,t.heap[1]=h++,S(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;let d,_,f,c,u,w,m=0;for(c=0;c<=s;c++)t.bl_count[c]=0;for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++)_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,m++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=l&&(u=o[_-l]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));if(0!==m){do{for(c=h-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,m-=2}while(m>0);for(c=h;0!==c;c--)for(_=t.bl_count[c];0!==_;)f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--)}})(t,e),E(a,d,t.bl_count)},O=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o{x(t,0+(i?1:0),3),Z(t),y(t,a),y(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var N=(t,e,i,n)=>{let s,r,o=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),T(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?L(t,e,i,n):4===t.strategy||r===s?(x(t,2+(n?1:0),3),D(t,d,_)):(x(t,4+(n?1:0),3),((t,e,a,i)=>{let n;for(x(t,e-257,5),x(t,a-1,5),x(t,i-4,4),n=0;n{F||((()=>{let t,e,a,h,k;const v=new Array(16);for(a=0,h=0;h<28;h++)for(u[h]=a,t=0;t<1<>=7;h(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(c[i]+a+1)]++,t.dyn_dtree[2*v(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{x(t,2,3),z(t,256,d),(t=>{16===t.bi_valid?(y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var C=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const M=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var H=(t,e,a,i)=>{const n=M,s=i+a;t^=-1;for(let a=i;a>>8^n[255&(t^e[a])];return-1^t},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},K={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:P,_tr_stored_block:Y,_tr_flush_block:G,_tr_tally:X,_tr_align:W}=B,{Z_NO_FLUSH:q,Z_PARTIAL_FLUSH:J,Z_FULL_FLUSH:Q,Z_FINISH:V,Z_BLOCK:$,Z_OK:tt,Z_STREAM_END:et,Z_STREAM_ERROR:at,Z_DATA_ERROR:it,Z_BUF_ERROR:nt,Z_DEFAULT_COMPRESSION:st,Z_FILTERED:rt,Z_HUFFMAN_ONLY:ot,Z_RLE:lt,Z_FIXED:ht,Z_DEFAULT_STRATEGY:dt,Z_UNKNOWN:_t,Z_DEFLATED:ft}=K,ct=258,ut=262,wt=42,mt=113,bt=666,gt=(t,e)=>(t.msg=j[e],e),pt=t=>2*t-(t>4?9:0),kt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},vt=t=>{let e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0}while(--e)};let yt=(t,e,a)=>(e<{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},zt=(t,e)=>{G(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,xt(t.strm)},At=(t,e)=>{t.pending_buf[t.pending++]=e},Et=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Rt=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=C(t.adler,e,n,a):2===t.state.wrap&&(t.adler=H(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},Zt=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;const l=t.strstart>t.w_size-ut?t.strstart-(t.w_size-ut):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+ct;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead},Ut=t=>{const e=t.w_size;let a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ut)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),vt(t),i+=e),0===t.strm.avail_in)break;if(a=Rt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=yt(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=yt(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let a,i,n,s=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,xt(t.strm),i&&(i>a&&(i=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,a-=i),a&&(Rt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===r);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_watern&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(Rt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===V)&&e!==q&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===V&&0===t.strm.avail_in&&a===i?1:0,Y(t,t.block_start,a,r),t.block_start+=a,xt(t.strm)),r?3:1)},Dt=(t,e)=>{let a,i;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ut&&(t.match_length=Zt(t,a)),t.match_length>=3)if(i=X(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=yt(t,t.ins_h,t.window[t.strstart+1]);else i=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(zt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2},Tt=(t,e)=>{let a,i,n;for(;;){if(t.lookahead=3&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=X(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=yt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(zt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=X(t,0,t.window[t.strstart-1]),i&&zt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=X(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2};function Ot(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const It=[new Ot(0,0,0,0,St),new Ot(4,4,8,4,Dt),new Ot(4,5,16,8,Dt),new Ot(4,6,32,32,Dt),new Ot(4,4,16,16,Tt),new Ot(8,16,32,32,Tt),new Ot(8,16,128,128,Tt),new Ot(8,32,128,256,Tt),new Ot(32,128,258,1024,Tt),new Ot(32,258,258,4096,Tt)];function Ft(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ft,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),kt(this.dyn_ltree),kt(this.dyn_dtree),kt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),kt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),kt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Lt=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==wt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==mt&&e.status!==bt?1:0},Nt=t=>{if(Lt(t))return gt(t,at);t.total_in=t.total_out=0,t.data_type=_t;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?wt:mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,P(e),tt},Bt=t=>{const e=Nt(t);var a;return e===tt&&((a=t.state).window_size=2*a.w_size,kt(a.head),a.max_lazy_match=It[a.level].max_lazy,a.good_match=It[a.level].good_length,a.nice_match=It[a.level].nice_length,a.max_chain_length=It[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ct=(t,e,a,i,n,s)=>{if(!t)return at;let r=1;if(e===st&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ft||i<8||i>15||e<0||e>9||s<0||s>ht||8===i&&1!==r)return gt(t,at);8===i&&(i=9);const o=new Ft;return t.state=o,o.strm=t,o.status=wt,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<Ct(t,e,ft,15,8,dt),deflateInit2:Ct,deflateReset:Bt,deflateResetKeep:Nt,deflateSetHeader:(t,e)=>Lt(t)||2!==t.state.wrap?at:(t.state.gzhead=e,tt),deflate:(t,e)=>{if(Lt(t)||e>$||e<0)return t?gt(t,at):at;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||a.status===bt&&e!==V)return gt(t,0===t.avail_out?nt:at);const i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(xt(t),0===t.avail_out)return a.last_flush=-1,tt}else if(0===t.avail_in&&pt(e)<=pt(i)&&e!==V)return gt(t,nt);if(a.status===bt&&0!==t.avail_in)return gt(t,nt);if(a.status===wt&&0===a.wrap&&(a.status=mt),a.status===wt){let e=ft+(a.w_bits-8<<4)<<8,i=-1;if(i=a.strategy>=ot||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,Et(a,e),0!==a.strstart&&(Et(a,t.adler>>>16),Et(a,65535&t.adler)),t.adler=1,a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt}if(57===a.status)if(t.adler=0,At(a,31),At(a,139),At(a,8),a.gzhead)At(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),At(a,255&a.gzhead.time),At(a,a.gzhead.time>>8&255),At(a,a.gzhead.time>>16&255),At(a,a.gzhead.time>>24&255),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(At(a,255&a.gzhead.extra.length),At(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=H(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(At(a,0),At(a,0),At(a,0),At(a,0),At(a,0),At(a,9===a.level?2:a.strategy>=ot||a.level<2?4:0),At(a,3),a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt;if(69===a.status){if(a.gzhead.extra){let e=a.pending,i=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+i>a.pending_buf_size;){let n=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+n),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=H(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=n,xt(t),0!==a.pending)return a.last_flush=-1,tt;e=0,i-=n}let n=new Uint8Array(a.gzhead.extra);a.pending_buf.set(n.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending+=i,a.gzhead.hcrc&&a.pending>e&&(t.adler=H(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=H(t.adler,a.pending_buf,a.pending-i,i)),xt(t),0!==a.pending)return a.last_flush=-1,tt;i=0}e=a.gzindexi&&(t.adler=H(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=H(t.adler,a.pending_buf,a.pending-i,i)),xt(t),0!==a.pending)return a.last_flush=-1,tt;i=0}e=a.gzindexi&&(t.adler=H(t.adler,a.pending_buf,a.pending-i,i))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(xt(t),0!==a.pending))return a.last_flush=-1,tt;At(a,255&t.adler),At(a,t.adler>>8&255),t.adler=0}if(a.status=mt,xt(t),0!==a.pending)return a.last_flush=-1,tt}if(0!==t.avail_in||0!==a.lookahead||e!==q&&a.status!==bt){let i=0===a.level?St(a,e):a.strategy===ot?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(Ut(t),0===t.lookahead)){if(e===q)return 1;break}if(t.match_length=0,a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(zt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===lt?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=ct){if(Ut(t),t.lookahead<=ct&&e===q)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+ct;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=X(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=X(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(zt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===V?(zt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(zt(t,!1),0===t.strm.avail_out)?1:2})(a,e):It[a.level].func(a,e);if(3!==i&&4!==i||(a.status=bt),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),tt;if(2===i&&(e===J?W(a):e!==$&&(Y(a,0,0,!1),e===Q&&(kt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),xt(t),0===t.avail_out))return a.last_flush=-1,tt}return e!==V?tt:a.wrap<=0?et:(2===a.wrap?(At(a,255&t.adler),At(a,t.adler>>8&255),At(a,t.adler>>16&255),At(a,t.adler>>24&255),At(a,255&t.total_in),At(a,t.total_in>>8&255),At(a,t.total_in>>16&255),At(a,t.total_in>>24&255)):(Et(a,t.adler>>>16),Et(a,65535&t.adler)),xt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?tt:et)},deflateEnd:t=>{if(Lt(t))return at;const e=t.state.status;return t.state=null,e===mt?gt(t,it):tt},deflateSetDictionary:(t,e)=>{let a=e.length;if(Lt(t))return at;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==wt||i.lookahead)return at;if(1===n&&(t.adler=C(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(kt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,Ut(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=yt(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,Ut(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=o,t.avail_in=s,i.wrap=n,tt},deflateInfo:"pako deflate (from Nodeca project)"};const Ht=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var jt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Ht(a,e)&&(t[e]=a[e])}}return t},Kt=t=>{let e=0;for(let a=0,i=t.length;a=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Yt[254]=Yt[254]=1;var Gt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,i,n,s,r=t.length,o=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},Xt=(t,e)=>{const a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?s[n++]=65533:e<65536?s[n++]=e:(e-=65536,s[n++]=55296|e>>10&1023,s[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Pt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Yt[t[a]]>e?a:e};var qt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Jt=Object.prototype.toString,{Z_NO_FLUSH:Qt,Z_SYNC_FLUSH:Vt,Z_FULL_FLUSH:$t,Z_FINISH:te,Z_OK:ee,Z_STREAM_END:ae,Z_DEFAULT_COMPRESSION:ie,Z_DEFAULT_STRATEGY:ne,Z_DEFLATED:se}=K;function re(t){this.options=jt({level:ie,method:se,chunkSize:16384,windowBits:15,memLevel:8,strategy:ne},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new qt,this.strm.avail_out=0;let a=Mt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==ee)throw new Error(j[a]);if(e.header&&Mt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Gt(e.dictionary):"[object ArrayBuffer]"===Jt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=Mt.deflateSetDictionary(this.strm,t),a!==ee)throw new Error(j[a]);this._dict_set=!0}}function oe(t,e){const a=new re(e);if(a.push(t,!0),a.err)throw a.msg||j[a.err];return a.result}re.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?te:Qt,"string"==typeof t?a.input=Gt(t):"[object ArrayBuffer]"===Jt.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===Vt||s===$t)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=Mt.deflate(a,s),n===ae)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=Mt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ee;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},re.prototype.onData=function(t){this.chunks.push(t)},re.prototype.onEnd=function(t){t===ee&&(this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var le={Deflate:re,deflate:oe,deflateRaw:function(t,e){return(e=e||{}).raw=!0,oe(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,oe(t,e)},constants:K};const he=16209;var de=function(t,e){let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<>>=p,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<o){t.msg="invalid distance too far back",E.mode=he;break t}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=he;break t}if(y=0,x=_,0===d){if(y+=l-p,p2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const l=o.bits;let h,d,_,f,c,u,w=0,m=0,b=0,g=0,p=0,k=0,v=0,y=0,x=0,z=0,A=null;const E=new Uint16Array(16),R=new Uint16Array(16);let Z,U,S,D=null;for(w=0;w<=_e;w++)E[w]=0;for(m=0;m=1&&0===E[g];g--);if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<_e;w++)R[w+1]=R[w]+E[w];for(m=0;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]]}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0};const{Z_FINISH:be,Z_BLOCK:ge,Z_TREES:pe,Z_OK:ke,Z_STREAM_END:ve,Z_NEED_DICT:ye,Z_STREAM_ERROR:xe,Z_DATA_ERROR:ze,Z_MEM_ERROR:Ae,Z_BUF_ERROR:Ee,Z_DEFLATED:Re}=K,Ze=16180,Ue=16190,Se=16191,De=16192,Te=16194,Oe=16199,Ie=16200,Fe=16206,Le=16209,Ne=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Be(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ce=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},Me=t=>{if(Ce(t))return xe;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Ze,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,ke},He=t=>{if(Ce(t))return xe;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Me(t)},je=(t,e)=>{let a;if(Ce(t))return xe;const i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?xe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,He(t))},Ke=(t,e)=>{if(!t)return xe;const a=new Be;t.state=a,a.strm=t,a.window=null,a.mode=Ze;const i=je(t,e);return i!==ke&&(t.state=null),i};let Pe,Ye,Ge=!0;const Xe=t=>{if(Ge){Pe=new Int32Array(512),Ye=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(me(1,t.lens,0,288,Pe,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;me(2,t.lens,0,32,Ye,0,t.work,{bits:5}),Ge=!1}t.lencode=Pe,t.lenbits=9,t.distcode=Ye,t.distbits=5},We=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whaveKe(t,15),inflateInit2:Ke,inflate:(t,e)=>{let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ce(t)||!t.output||!t.input&&0!==t.avail_in)return xe;a=t.state,a.mode===Se&&(a.mode=De),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,_=o,f=l,x=ke;t:for(;;)switch(a.mode){case Ze:if(0===a.wrap){a.mode=De;break}for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0),h=0,d=0,a.mode=16181;break}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=Le;break}if((15&h)!==Re){t.msg="unknown compression method",a.mode=Le;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=Le;break}a.dmax=1<>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=H(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<>>8&255,a.check=H(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=H(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=Se;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Xe(a),a.mode=Oe,e===pe){h>>>=2,d-=2;break t}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=Le}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=Le;break}if(a.length=65535&h,h=0,d=0,a.mode=Te,e===pe)break t;case Te:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break}a.mode=Se;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=Le;break}a.have=0,a.mode=16197;case 16197:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=me(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=Le;break}a.have=0,a.mode=16198;case 16198:for(;a.have>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=Le;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===g){for(R=m+3;d>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=Le;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===Le)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=Le;break}if(a.lenbits=9,E={bits:a.lenbits},x=me(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=Le;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=me(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=Le;break}if(a.mode=Oe,e===pe)break t;case Oe:a.mode=Ie;case Ie:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,de(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,a.mode===Se&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break}if(32&b){a.back=-1,a.mode=Se;break}if(64&b){t.msg="invalid literal/length code",a.mode=Le;break}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=Le;break}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=Le;break}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=Le;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=Ie);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=Ie;break;case Fe:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<{if(Ce(t))return xe;let e=t.state;return e.window&&(e.window=null),t.state=null,ke},inflateGetHeader:(t,e)=>{if(Ce(t))return xe;const a=t.state;return 0==(2&a.wrap)?xe:(a.head=e,e.done=!1,ke)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return Ce(t)?xe:(i=t.state,0!==i.wrap&&i.mode!==Ue?xe:i.mode===Ue&&(n=1,n=C(n,e,a,0),n!==i.check)?ze:(s=We(t,e,a,a),s?(i.mode=16210,Ae):(i.havedict=1,ke)))},inflateInfo:"pako inflate (from Nodeca project)"};var Je=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Qe=Object.prototype.toString,{Z_NO_FLUSH:Ve,Z_FINISH:$e,Z_OK:ta,Z_STREAM_END:ea,Z_NEED_DICT:aa,Z_STREAM_ERROR:ia,Z_DATA_ERROR:na,Z_MEM_ERROR:sa}=K;function ra(t){this.options=jt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new qt,this.strm.avail_out=0;let a=qe.inflateInit2(this.strm,e.windowBits);if(a!==ta)throw new Error(j[a]);if(this.header=new Je,qe.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Gt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=qe.inflateSetDictionary(this.strm,e.dictionary),a!==ta)))throw new Error(j[a])}function oa(t,e){const a=new ra(e);if(a.push(t),a.err)throw a.msg||j[a.err];return a.result}ra.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$e:Ve,"[object ArrayBuffer]"===Qe.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=qe.inflate(a,r),s===aa&&n&&(s=qe.inflateSetDictionary(a,n),s===ta?s=qe.inflate(a,r):s===na&&(s=aa));a.avail_in>0&&s===ea&&a.state.wrap>0&&0!==t[a.next_in];)qe.inflateReset(a),s=qe.inflate(a,r);switch(s){case ia:case na:case aa:case sa:return this.onEnd(s),this.ended=!0,!1}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===ea))if("string"===this.options.to){let t=Wt(a.output,a.next_out),e=a.next_out-t,n=Xt(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==ta||0!==o){if(s===ea)return s=qe.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},ra.prototype.onData=function(t){this.chunks.push(t)},ra.prototype.onEnd=function(t){t===ta&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Kt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var la={Inflate:ra,inflate:oa,inflateRaw:function(t,e){return(e=e||{}).raw=!0,oa(t,e)},ungzip:oa,constants:K};const{Deflate:ha,deflate:da,deflateRaw:_a,gzip:fa}=le,{Inflate:ca,inflate:ua,inflateRaw:wa,ungzip:ma}=la;var ba=ha,ga=da,pa=_a,ka=fa,va=ca,ya=ua,xa=wa,za=ma,Aa=K,Ea={Deflate:ba,deflate:ga,deflateRaw:pa,gzip:ka,Inflate:va,inflate:ya,inflateRaw:xa,ungzip:za,constants:Aa};t.Deflate=ba,t.Inflate=va,t.constants=Aa,t.default=Ea,t.deflate=ga,t.deflateRaw=pa,t.gzip=ka,t.inflate=ya,t.inflateRaw=xa,t.ungzip=za,Object.defineProperty(t,"__esModule",{value:!0})}));;(function(){window.pageProductAll=[];function omesaasProduct(option){if(!option.product||option.product instanceof Array){return false;} window.pageProductAll.push(this);this.product=option.product;this.optionLength=option.product.options.length;this.params={spu:this.product.spu,quantity:option.quantity||1,price:option.product.variant_price_min,src:option.product.src,is_main_product:option.isMainProduct||false,block_id:option.block_id||"",productTitle:option.product.title,product_id:option.product.id};this.attrOption=[];this.oldAttrOption=[];this.multiple=[];this.cartShake=true;this.buyShake=true;this.wishlistShake=true;this.renderFirst=true;this.changeOption=option.changeOption;this.isMainProduct=option.isMainProduct||false;this.block_id=option.block_id||new Date().getTime();this.data_from=option.data_from||"";this.ec_currency_code=option.ec_currency_code||"";this.variant=option.product.variants;this.renderOption=option.renderOption===undefined?true:option.renderOption;this.wishlist=option.wishlist||"";this.productOptionType=option.productOptionType||"default";if(this.renderOption){this.formDom=$(option.id);this.numberNode=this.formDom.find(".product-price-number");this.skuValueNode=$(".product-detail-skuspu .sku");this.marketNode=this.formDom.find(".product-price-market");this.discountNode=this.formDom.find(".product-price-discount");this.skuNode=this.formDom.find(".sku-cell");if(option.productOptionType==="global"||option.productOptionType===undefined){this.productOptionType=themeConfig.global.product_option_type;} if(this.isMultiple()){if(this.isMainProduct){$(".control-product_detail-quantity_box").remove();} const that=this;moi.addEvent("paypalec_multiple_callback",function(event){if(event.params.payId===that.block_id){if(that.verifyOption()){event.params['data']=that.multiple.filter(el=>el.add_quantity>0);event.params['code']=200;}else{event.params['code']=400;}}})} const oldTempID=`#omesaas-product-sku-${this.productOptionType}`;const newTempID=`#id-product-sku-${this.productOptionType}`;this.skuTemplate=$(newTempID).length?$(newTempID).html():$(oldTempID).html() const self=this;this.skuNode.on("click",".product-sku-values-item",function(){self.renderFirst=false;const index=$(this).data("index");const idx=$(this).data("idx");const item=self.attrOption[index-1].value[idx-1];if(storeConfig.checked_first_sku==2&&self.attrOption[index-1].selected_value==item.value){self.attrOption[index-1].selected_value="";self.attrOption[index-1].selected_value_label="";}else{self.attrOption[index-1].selected_value=item.value;self.attrOption[index-1].selected_value_label=item.name;} for(let i=0;iel.sku_code===value);self.setSelectedVal(currentVariant);self.setPriceVal(currentVariant);});} if(this.wishlist){this.wishlistEvent();} this.initSku();if(oemcart_page_ca==='product_detail'&&storeConfig.comments_status=='1'&&this.isMainProduct){this.setCommentStar();}} omesaasProduct.prototype.isMultiple=function(){if(this.optionLength&&this.productOptionType==="multiple"&&this.optionLength<=2){return true} return false};omesaasProduct.prototype.event=function(){const self=this;this.skuNode.find(".product-sku-select-delete").click(function(event){event.stopPropagation();event.preventDefault();$(this).hide();$(this).siblings(".mo-edge").show();self.renderFirst=false;const select=$(this).siblings(".product-sku-unselect");select.val(0);const index=$(this).data("index");self.attrOption[index-1].selected_value="";self.attrOption[index-1].selected_value_label="";for(let i=0;i0){valueDom.val(--value);if(!value){$(this).attr("disabled",true);} if(item.quantity!=0&&item.available&&value<=item.quantity){$(this).siblings(".step-warp-handle[data-type='plus']").removeAttr("disabled");} if((self.product.inventory_policy==2&&self.product.inventory_tracking==1)||self.product.inventory_tracking==0){if(value<99999){$(this).siblings(".step-warp-handle[data-type='plus']").removeAttr("disabled");}}} if(type=="plus"){if(self.productOptionType==="multiple"){for(let i=0;i=item.quantity&&!isMaxInventory){$(this).attr("disabled",true);} if(isMaxInventory){if(value>=99999){value=99999;$(this).attr("disabled",true);}}} item["add_quantity"]=value;self.pushMultiple(item);self.multipleTotalPrice();});this.skuNode.on("input",".step-warp-value",function(event){event.stopPropagation();event.preventDefault();var keys=$(this).parent().data("keys").split(",");var item=self.attrOption[keys[0]].value[keys[1]];var value=parseInt($(this).val());if(isNaN(value)){return false;} if(parseInt(value)<0){value=0;} let isMaxInventory=(self.product.inventory_policy==2&&self.product.inventory_tracking==1)||self.product.inventory_tracking==0 if(item.quantity!=0&&item.available&&value>=item.quantity&&!isMaxInventory){value=item.quantity;$(this).siblings(".step-warp-handle[data-type='plus']").attr("disabled",true);} if(isMaxInventory){if(value>=99999){value=99999;$(this).siblings(".step-warp-handle[data-type='plus']").attr("disabled",true);}else{$(this).siblings(".step-warp-handle[data-type='plus']").removeAttr("disabled");}} if(!value){$(this).siblings(".step-warp-handle[data-type='minus']").attr("disabled",true);$(this).siblings(".step-warp-handle[data-type='plus']").removeAttr("disabled");}else{$(this).siblings(".step-warp-handle[data-type='minus']").removeAttr("disabled");} $(this).val(value);item["add_quantity"]=parseInt(value);self.pushMultiple(item);self.multipleTotalPrice();});this.skuNode.on("blur",".step-warp-value",function(event){event.stopPropagation();event.preventDefault();var keys=$(this).parent().data("keys").split(",");var item=self.attrOption[keys[0]].value[keys[1]];var value=parseInt($(this).val());if(isNaN(value)){var current=self.multiple.find((el)=>el.id==item.id);$(this).val(current?current.add_quantity:0);return false;}});this.skuNode.on("click",".multiple-reset",function(event){event.stopPropagation();event.preventDefault();var selected_value=0;if(self.attrOption.length>=2){selected_value=self.attrOption[0].selected_value;} $(".moi-product-sku-multiple .step-warp-value").val(0);$(".moi-product-sku-multiple .step-warp-handle[data-type='minus']").attr("disabled",true);self.resetMultiple(selected_value);self.multipleTotalPrice();});this.skuNode.on("mouseenter",".stock-sotes",function(event){event.stopPropagation();moi.tooltip({placement:"top-center",isDefaultRemove:false,elClass:'stock-sotes-tooltip',el:$(this),content:!self.product.inventory_tracking&&self.product.inventory_policy!=2?lang.general.not_track_inventory:lang.general.stock_allowed});});this.skuNode.on("mouseleave",".stock-sotes",function(event){event.stopPropagation();$('.stock-sotes-tooltip').remove();});};omesaasProduct.prototype.initSku=function(){const self=this;const copyList=JSON.parse(JSON.stringify(this.variant));if(this.product.spec_mode===1){copyList[0]["image"]="";} let FirstPriceItemIndex=this.getSelectedIndex();const checkedSkuInfo=this.checkedSKu();if(!copyList.length){console.log("数据异常");return;} if(this.optionLength){const selected=FirstPriceItemIndex===-1?false:this.isCurrentOptionBuy(copyList[FirstPriceItemIndex]);for(let i=0;iitem.available);let FirstPriceItemIndex=0;if(this.product.inventory_policy!==2&&this.product.inventory_tracking===1){FirstPriceItemIndex=copyList.findIndex((el)=>el.inventory_quantity>0);} if(storeConfig.checked_first_sku==3){FirstPriceItemIndex=copyList.findIndex(item=>item.available&&item.price===Math.min(...availableVariants.map(v=>v.price)));} if(storeConfig.checked_first_sku==4){FirstPriceItemIndex=copyList.findIndex(item=>item.available&&item.price===Math.max(...availableVariants.map(v=>v.price)));} if(storeConfig.checked_first_sku==5){FirstPriceItemIndex=copyList.findIndex(item=>item.available&&item.inventory_quantity===Math.max(...availableVariants.map(v=>v.inventory_quantity)));} return FirstPriceItemIndex!==-1?FirstPriceItemIndex:0;} omesaasProduct.prototype.setCommentStar=function(){$(`.control-product_detail-comment_star .moi-start-warp.moi-start-warp-underline>span:last`).on('click',function(){if(!$('#product-tabs .moi-tabs-item[data-type="comment"]').hasClass('moi-tabs-active')){$('#product-tabs .moi-tabs-item[data-type="comment"] .moi-tabs-title').trigger('click');} let offsetTop=0 offsetTop=document.querySelector('#product-tabs .moi-tabs-item[data-type="comment"]').offsetTop+document.querySelector('.product-tabs-card').offsetTop window.scrollTo(0,offsetTop)}) function openMobileComment(){if(!$('.module-cell[data-type=comment]').hasClass('module-cell-active')){$('.module-cell[data-type=comment] .module-cell-header').click()}}} omesaasProduct.prototype.setButtonGroup=function(item,type="stockout"){if(!this.product.status){return false} if(type=="delete"){this.formDom.find(".product-payment-box").hide();this.formDom.find(".product-cart-group").hide();this.formDom.find(".product-out-of-stock").hide();this.formDom.find(".product-out-of-delete").show();return false;}else{this.formDom.find(".product-out-of-delete").hide();} if(item.available&&type==null){this.formDom.find(".product-cart-group").show();this.formDom.find(".product-payment-box").show();this.formDom.find(".product-out-of-stock").hide();}else{if(storeConfig.product_put_off_control=="buy"&&!this.product.available){this.formDom.find(".product-cart-group").show();this.formDom.find(".product-payment-box").show();this.formDom.find(".product-out-of-stock").hide();}else{this.formDom.find(".product-payment-box").hide();this.formDom.find(".product-cart-group").hide();this.formDom.find(".product-out-of-stock>div").text(lang.product.out_of_stock);this.formDom.find(".product-out-of-stock").show();}}};omesaasProduct.prototype.checkedSKu=function(item){const barcode=moi.getUrlParam("variant_barcode");const sku=moi.getUrlParam("variant_sku");const sku_code=moi.getUrlParam("variant_sku_code");if(barcode===""&&sku===""&&sku_code===""){return false;} if(sku_code){return this.variant.find(function(el){return el.sku_code===sku_code;});} if(sku){return this.variant.find(function(el){return el.sku===sku;});} if(barcode){return this.variant.find(function(el){return el.barcode===barcode;});}};omesaasProduct.prototype.isCurrentOptionBuy=function(item){return item.available?true:false;};omesaasProduct.prototype.optionIndexKey=function(index){return{title:`option${index + 1}_title`,value:`option${index + 1}_value_title`,id:`option${index + 1}_value`};};omesaasProduct.prototype.getColorValue=function(name){if(window.themeConfig&&window.themeConfig.global.product_sku_style&&window.themeConfig.global.product_sku_style=="color"){if(window._sku_color_&&window._sku_color_[name]){return window._sku_color_[name];}} return name;};omesaasProduct.prototype.getOptional=function(sku){for(let i=0;iitem.toLowerCase());this.variant=this.variant.map((item,index)=>{const hasColorCard=["option1_title","option2_title","option3_title"].some((title)=>product_sku_options.includes(item[title].toLowerCase()));if(hasColorCard){item["colorCard"]=true;} const values=["option1_value_title","option2_value_title","option3_value_title"].map((value)=>item[value]);item["colorValue"]=this.getColorValue(values[0]);item["name"]=values.filter((value)=>value).join("/");if(storeConfig.checked_first_sku!=2&&index===0&&item.available){item["checked"]=true;this.setSelectedVal(item);this.setPriceVal(item);} if(checkedSkuInfo&&checkedSkuInfo.sku_code===item.sku_code){item["checked"]=true;this.setSelectedVal(item);this.setPriceVal(item);} return item;});if(this.product.inventory_tracking!=0&&[1,3].includes(this.product.inventory_policy)&&storeConfig.sold_out_style==2){this.variant=this.variant.filter((item)=>item.available!=0);} this.render();};omesaasProduct.prototype.setSkuOption=function(){if(this.productOptionType==="all"){this.setAllSkuOption();return;} let filterSKu=JSON.parse(JSON.stringify(this.variant));let options=[...this.product.options];let product_sku_options=[];let currentSkuItem=null;if(themeConfig.global.product_sku_options){product_sku_options=themeConfig.global.product_sku_options.map(function(item){return item.toLowerCase();});} let isSetOptionImg=false;this.attrOption.map((attr,i)=>{attr.optionsValue=options[i].values.map((k)=>k.option_value);const{title,value,id}=this.optionIndexKey(i);filterSKu.forEach((item)=>{if(!attr.name){attr.name=item[title];if(product_sku_options&&product_sku_options.indexOf(attr.name.toLowerCase())>-1&&(!isSetOptionImg||themeConfig.global.product_sku_style==="color")){attr.isImg=true;isSetOptionImg=true;}} const currentIndex=attr.value.findIndex((val)=>val.name===item[value]);if(currentIndex>-1){attr.value[currentIndex].quantity+=item.inventory_quantity;if(!attr.value[currentIndex].available&&item.available){attr.value[currentIndex].available=item.available;}}else{var currentMultiple=this.multiple.find((el)=>el.id===item.id);attr.value.push({name:item[value],colorValue:this.getColorValue(item[value]),value:item[id],id:item.id,available:item.available,price:item.price,formatPrice:formatMoney(item.price,oemcart_currency),deleteItem:item.deleteItem||false,image:item.image||"",sku_code:item.sku_code,sku:item.sku,sku_value:item.sku_value,add_quantity:currentMultiple?currentMultiple.add_quantity:0,option1_value:item.option1_value,option2_value:item.option2_value,option3_value:item.option3_value,quantity:item.inventory_quantity});attr.deleteSelect="";}});if(attr.selected_value){const currentOption=attr.value.filter((el)=>el.value===attr.selected_value);if(!currentOption.length){const option=this.getOptional(filterSKu);attr.selected_value=option[id];attr.selected_value_label=option[value];} filterSKu=filterSKu.filter((el)=>el[id]===attr.selected_value);if(!filterSKu.length){attr.selected_value="";attr.selected_value_label="";this.setSelectedVal(false);currentSkuItem={available:1};} if(i===this.attrOption.length-1&&filterSKu.length==1&&attr.selected_value){this.setSelectedVal(filterSKu[0]);this.setPriceVal(filterSKu[0]);currentSkuItem=filterSKu[0];}}else{currentSkuItem=this.variant[0];this.setPriceVal(this.variant[0]);const newParams=Object.assign({},this.params);newParams["image"]=this.product.image;newParams["sku_code"]="";moi.onEvent("productOptionChange",newParams);} if(storeConfig.combination==1){if(attr.value.length!=attr.optionsValue.length){attr.optionsValue.forEach((item,index)=>{let hasItem=attr.value.filter((i)=>i.name==item);if(hasItem.length===0){let hasThisSuk=this.product.variants.filter((imageItem)=>imageItem[value]==item);attr.value.push({name:item,colorValue:item,deleteItem:true,available:0,value:hasThisSuk.length?hasThisSuk[0][id]:new Date().getTime(),image:hasThisSuk.length?hasThisSuk[0].image:{src:""}});}});attr.value=attr.value.sort((a,b)=>{return attr.optionsValue.indexOf(a.name)-attr.optionsValue.indexOf(b.name);});}} if(this.product.inventory_tracking!=0&&[1,3].includes(this.product.inventory_policy)&&storeConfig.sold_out_style==2){attr.value=attr.value.filter(item=>item.available!==0||item.deleteItem);} return attr;});if(this.product.inventory_tracking!=0&&[1,3].includes(this.product.inventory_policy)&&storeConfig.sold_out_style==2){this.attrOption.forEach((item)=>{if(item.value.length==0){this.skuNode.find(`div[data-sku-name="${item.name}"]`).hide();}else{this.skuNode.find(`div[data-sku-name="${item.name}"]`).show();}})} this.render(currentSkuItem);};omesaasProduct.prototype.setPriceVal=function(currentSku){let product_price_display=window.themeConfig.global.product_price_display||0;let price=0;let comparePrice=0;if(this.renderOption){if(storeConfig.checked_first_sku==2&&this.renderFirst){if(product_price_display==0){price=currentSku.price;comparePrice=currentSku.compare_at_price;}else if(product_price_display==1){price=this.product.variant_price_min;comparePrice=this.product.variant_compare_at_price_min;}else if(product_price_display==2){price=this.product.variant_price_max;comparePrice=this.product.variant_compare_at_price_max;}else{price=this.product.variant_price_min;comparePrice=this.product.variant_price_max;} if(product_price_display==3){let text=priceparseFloat(price)){if(storeConfig.checked_first_sku==2&&this.renderFirst){if(product_price_display==3){this.marketNode.html("");}else{this.marketNode.html(formatMoney(comparePrice,oemcart_currency));}}else{this.marketNode.html(formatMoney(comparePrice,oemcart_currency));} if(window.themeConfig.global.product_discount_label_style_switch){let disPrice=0;let disComparePrice=0;if(storeConfig.checked_first_sku==2&&this.renderFirst&&product_price_display==3){disPrice=this.product.variant_price_min;disComparePrice=this.product.variant_compare_at_price_min;}else{disPrice=price;disComparePrice=comparePrice;} if(disComparePrice==0){this.marketNode.html("");this.discountNode.hide();return;} if(window.themeConfig.global.product_discount_label_style==2){this.discountNode.html(lang.general.save+" "+Math.floor((1-parseFloat(disPrice)/parseFloat(disComparePrice))*100)+"%");}else{this.discountNode.html(lang.general.save+" "+formatMoney((parseFloat(disComparePrice)-parseFloat(disPrice)).toFixed(2),oemcart_currency));} this.discountNode.show();}}else{this.marketNode.html("");this.discountNode.hide();}}};omesaasProduct.prototype.setSelectedVal=function(currentSku){const product=this.product;const params=this.params;if(!currentSku){this.params={src:product.src,productTitle:product.title,product_id:product.id,sku_value:"",quantity:params.quantity||1};}else{this.params=Object.assign(params,currentSku);if(this.optionLength&&this.params.sku){let skuName=[];for(let i=0;i");}} if(location.pathname.indexOf("/products")!==-1&&this.params.sku_code&&this.isMainProduct&&!this.renderFirst){history.replaceState(null,null,moi.setUrlParams(location.href,{variant_sku_code:this.params.sku_code}));} if(this.isMainProduct){$(".mo-editor-reset").find("img").each(function(index,element){$(this).attr("referrer","no-referrer");});moi.setPageStorage("mian_product_params",this.params);if(this.product.status===0&&moi.getUrlParam("preview")){moi.addEvent("payVerified",function(event){event.stopPropagation();event.params["code"]=400;moi.alertInfo({content:"当前为预览链接不可操作"});});}} moi.onEvent("productOptionChange",this.params);moi.setPageStorage("product_params"+this.block_id,this.params);this.changeOption&&this.changeOption.call(this,this.params);};omesaasProduct.prototype.optionCompare=function(html,currentSkuItem){const skuNode=$(`
    ${html}
    `);if(this.oldAttrOption.length){this.attrOption.forEach((item,index)=>{if(item.selected_value!==this.oldAttrOption[index].selected_value){const valIndex=item.value.findIndex((val)=>val.value===item.selected_value);if(valIndex>-1){const currentNode=this.skuNode.find(".moi-product-sku-value").eq(index).find(".product-sku-values-item").eq(valIndex);const labelNode=this.skuNode.find(".moi-product-sku-label").eq(index);currentNode.addClass("product-sku-values-item-active").siblings().removeClass("product-sku-values-item-active");labelNode.html(skuNode.find(".moi-product-sku-label").eq(index).html());} if(item.selected_value==""){this.skuNode.find(".moi-product-sku-value").eq(index).find(".product-sku-values-item").removeClass("product-sku-values-item-active");}} var availabIsEqual=item.value.map((el)=>el.available).toString()!=this.oldAttrOption[index].value.map((el)=>el.available).toString();var itemIsEqual=item.value.map((el)=>el.value).toString()!==this.oldAttrOption[index].value.map((el)=>el.value).toString();if(itemIsEqual||availabIsEqual){this.skuNode.find(".moi-product-sku-value").eq(index).html(skuNode.find(".moi-product-sku-value").eq(index).html());}else{if(this.isMultiple()&&this.optionLength-1===index){this.skuNode.find(".moi-product-sku-value").eq(index).html(skuNode.find(".moi-product-sku-value").eq(index).html());}}});}else{this.skuNode.html(html);this.event();} if(currentSkuItem){let can_buy=true;let showBtnType="stockout";this.skuNode.find(".product-sku-values-item-disable").each((elemIndex,elem)=>{if(!can_buy)return;if($(elem).hasClass("product-sku-values-item-active")){if($(elem).attr("is_deleteProduct")=="true"){showBtnType="delete";}else{showBtnType="stockout";} can_buy=false;}});if(!can_buy){this.setButtonGroup(currentSkuItem,showBtnType);}else{this.setButtonGroup(currentSkuItem,null);}} this.oldAttrOption=JSON.parse(JSON.stringify(this.attrOption));};omesaasProduct.prototype.setMultipleOption=function(currentSkuItem){let length=this.attrOption.length;if(length<=2&&length!=0&&this.isMultiple()){this.attrOption[length-1]["type"]="multiple";}};omesaasProduct.prototype.pushMultiple=function(item){const index=this.multiple.findIndex((el)=>el.id===item.id);if(index===-1){this.multiple.push(item);}else{this.multiple[index].add_quantity=item.add_quantity;}};omesaasProduct.prototype.resetMultiple=function(value){this.multiple.forEach((item)=>{if(item.option1_value===value||!value){item.add_quantity=0;}});};omesaasProduct.prototype.updateMultipleAngle=function(){if(this.attrOption.length>=2){let angle={};this.multiple.forEach((item)=>{angle[item.option1_value]=item.add_quantity+(angle[item.option1_value]||0);});Object.keys(angle).forEach((key)=>{var angleNode=$(".multiple-angle[data-id="+key+"]");if(!angle[key]){angleNode.hide();}else{$(".multiple-angle[data-id="+key+"]").text("x"+angle[key]).show();}});}};omesaasProduct.prototype.multipleTotalPrice=function(){var multiple=this.multiple;var multipleTotalNode=$(".multiple-total");var variant=multipleTotalNode.find(".variant");var item=multipleTotalNode.find(".item");var multipleTotal=multipleTotalNode.find(".multiple-total-value");variant.text(multiple.filter((item)=>item.add_quantity).length);item.text(multiple.map((item)=>item.add_quantity).reduce((a,b)=>parseFloat(a)+parseFloat(b),0));var price=multiple.filter((item)=>item.add_quantity).map((item)=>parseFloat(item.price).times(item.add_quantity)).reduce((a,b)=>parseFloat(a)+parseFloat(b),0);multipleTotal.text(formatMoney(price,oemcart_currency));this.updateMultipleAngle();};omesaasProduct.prototype.render=function(currentSkuItem){if(this.renderOption){this.setMultipleOption();const self=this;let unlimited=false;if(!this.product.inventory_tracking||(this.product.inventory_tracking&&this.product.inventory_policy==2)){unlimited=true} engine.parseAndRender(this.skuTemplate,{inventory_tracking:this.product.inventory_tracking,skus:this.attrOption,variant:this.variant,unlimited:unlimited,lang:lang,checkedFirstSku:storeConfig.checked_first_sku,productSkuStyle:themeConfig.global.product_sku_style||"image_text",productSkuSize:"sku-image-item-"+themeConfig.global.product_sku_size||"mall"}).then(function(liquidHtml){self.optionCompare(liquidHtml,currentSkuItem);if(self.productOptionType==="all"){let skuBg=moi.hexToRgba(themeConfig.global.main_button_bg,0.06);let skuBorder=moi.hexToRgba(themeConfig.global.main_button_bg,0.4);self.skuNode[0].style.setProperty("--sku-bg",skuBg);self.skuNode[0].style.setProperty("--sku-border",skuBorder);} if(self.isMultiple()){self.multipleTotalPrice();}});} if(!this.product.available){this.setSelectedVal({quantity:this.params.quantity});this.discountNode.hide();}};omesaasProduct.prototype.verifyOption=function(type){if(this.isMainProduct){if(moi.isEvent("cancelAddCart")&&type==='cart'){moi.onEvent("cancelAddCart") return false} if(moi.isEvent("cancelBuynow")&&type==='buy'){moi.onEvent("cancelBuynow") return false}} if(this.product.available===0){moi.alertInfo({content:lang.checkout.quantity_empty});return false;} if(this.product.status===0&&moi.getUrlParam("preview")){moi.alertInfo({content:"当前为预览链接不可操作"});return false;} if(type==="cart"&&!this.cartShake){return false;} if(type==="buy"&&!this.buyShake){return false;} if(this.productOptionType!=="all"){for(let i=0;iitem.add_quantity).length){moi.alertInfo({content:lang.checkout.quantity_empty});return;} if(this.productOptionType==="all"&&!this.params.sku_value&&this.optionLength){$("html, body").animate({scrollTop:this.skuNode.find(".sku_option-template_all").eq(0).offset().top-200});moi.alertInfo({content:lang.product.please_select_sku.replace("{sku}",this.product.options[0].name)});return;} return true;};omesaasProduct.prototype.getEcData=function(){const self=this;return{ec_data_id:self.product.id,ec_data_from:self.data_from,ec_data_name:encodeURIComponent(self.product.title),ec_data_price:self.params.price,ec_data_discount_price:self.params.price,ec_data_spu:self.product.spu,ec_data_image:self.product.src,ec_data_category:self.product.product_type,ec_data_uniq_id:self.product.id,ec_data_sku:self.params.sku,ec_data_sku_code:self.params.sku_code,ec_data_quantity:self.params.quantity,ec_data_sku_name:self.params.sku_value||"",ec_currency_code:self.ec_currency_code,ec_data_action_type:""};};omesaasProduct.prototype.share=function(platform){const self=this;const ec_data={ec_data_id:self.product.id,ec_data_from:self.data_from,ec_data_name:encodeURIComponent(self.product.title),ec_data_price:self.product.variant.price,ec_data_discount_price:self.product.variant.price,ec_data_spu:self.product.spu,ec_data_image:self.product.src,ec_data_category:self.product.product_type,ec_data_uniq_id:self.product.id,ec_data_sku:self.product.variant.sku,ec_data_sku_code:self.product.variant.sku_code,ec_data_quantity:1,ec_data_sku_name:self.product.variant.sku_value,ec_currency_code:self.ec_currency_code,ec_data_action_type:""};ec_data.ec_data_action_type="share_product";callback_share_product(ec_data,platform);};omesaasProduct.prototype.callbackAddToCart=function(){const self=this;const ec_data=self.getEcData();ec_data.ec_data_action_type="add_to_cart";callback_add_to_cart(ec_data);};omesaasProduct.prototype.getCustomAttr=function(attr){return attr.filter((el)=>el.params).map((el)=>{let params=el.params;let value="";if(["checkbox","image_group","block_text","image"].includes(el.type)){value=params.map((param)=>{const current=el.rule.selected.find((select)=>select.name==param.value);return{value:current.name,price:current.price||0,urls:param.url||current.other||""};});}else{value=params.value;} return{type:el.type,value:value,name:el.title,price:el.price,urls:el.type==="file"?params.url:""};});};omesaasProduct.prototype.callbackMultipleAddToCart=function(){const self=this;this.multiple.forEach((item)=>{const ec_data={ec_data_id:this.product.id,ec_data_from:this.data_from,ec_data_name:encodeURIComponent(this.product.title),ec_data_price:item.price,ec_data_discount_price:item.price,ec_data_spu:this.product.spu,ec_data_image:this.product.src,ec_data_category:this.product.product_type,ec_data_uniq_id:this.product.id,ec_data_sku:item.sku,ec_data_sku_code:item.sku_code,ec_data_quantity:item.add_quantity,ec_data_sku_name:item.sku_value||"",ec_currency_code:this.ec_currency_code,ec_data_action_type:"add_to_cart"};callback_add_to_cart(ec_data);});};omesaasProduct.prototype.multipleAddCart=function(complete,success){const self=this;self.cartShake=false;var addMultiple=this.multiple.filter((item)=>item.add_quantity);var params=addMultiple.map((item)=>{return{product_id:this.product.id,sku_code:item.sku_code,quantity:item.add_quantity,data_from:self.data_from,property:[]};});moi.ajax({url:"/cart/batched",type:"post",data:JSON.stringify(params),complete(){self.cartShake=true;},success:function(data){complete&&complete.call(this);if(!data.code){moi.onEvent("cartChange",data.data);moi.changeCartNumber(data.data.item_count);miniCart();if(window.callback_add_to_cart){self.callbackMultipleAddToCart();} self.setSelectedVal({subtotalPrice:data.data.items_subtotal_price});} success&&success.call(self,data);}});};omesaasProduct.prototype.addCart=function(complete,success,isMiniCart=true){const self=this;if(this.isMultiple()){this.multipleAddCart(complete,success);return;} self.cartShake=false;let ret=moi.onEvent("payVerified",{property:[],custom_attr:[],product:this.params,code:200});if(ret.params.code===200){self.params["property"]=ret.params.property;moi.ajax({url:"/cart/add",type:"post",data:JSON.stringify({product_id:this.product.id,sku_code:this.params.sku_code,quantity:this.params.quantity,data_from:self.data_from,property:ret.params.property}),complete(){self.cartShake=true;},success:function(data){complete&&complete.call(this);if(ret.params.original&&data.data){self.params["custom_attr"]=data.data.items[data.data.items.length-1].property.filter(el=>el.type!=="app_minmaxoffer");} if(!data.code){moi.onEvent("cartChange",data.data);self.product["cart"]=data.data;moi.onEvent("addToCart",self.product);if(window.callback_add_to_cart){self.callbackAddToCart();} moi.changeCartNumber(data.data.item_count);isMiniCart&&miniCart();self.setSelectedVal({subtotalPrice:data.data.items_subtotal_price});} success&&success.call(self,data);}});}else{self.cartShake=true;complete&&complete.call(this);}};omesaasProduct.prototype.multipleBuynow=function(complete,success){const self=this;self.cartShake=false;var addMultiple=this.multiple.filter((item)=>item.add_quantity);var params=addMultiple.map((item)=>{return{product_id:this.product.id,sku_code:item.sku_code,quantity:item.add_quantity,data_from:self.data_from,property:[]};});moi.ajax({url:"/cart/batchbuynow",type:"post",data:JSON.stringify({data:params}),complete(){self.cartShake=true;},success:function(ret){complete&&complete.call(this);if(ret.data&&ret.data.code==-1000){alert(ret.data.msg);return;} if(!ret.code){if(window.callback_add_to_cart){self.callbackMultipleAddToCart();} if(ret.data.checkout_url&&moi){ret.data.checkout_url=moi.setUrlParams(ret.data.checkout_url,{_ref:location.href});}} success&&success.call(self,ret);}});};omesaasProduct.prototype.buynow=function(complete,success){const self=this;if(this.isMultiple()){this.multipleBuynow(complete,success);return;} self.buyShake=false;let ret=moi.onEvent("payVerified",{property:[],product:this.params,code:200});if(ret.params.code===200){self.params["property"]=ret.params.property;moi.ajax({url:"/cart/buynow",type:"post",data:JSON.stringify({product_id:this.product.id,sku_code:this.params.sku_code,quantity:this.params.quantity,data_from:self.data_from,property:ret.params.property}),complete(){self.buyShake=true;},success:function(ret){complete&&complete.call(this);if(ret.data&&ret.data.code==-1000){alert(ret.data.msg);return;} if(!ret.code){moi.onEvent("buynow",self.product);if(!ret.code&&window.callback_add_to_cart){self.callbackAddToCart();} if(ret.data.checkout_url&&moi){ret.data.checkout_url=moi.setUrlParams(ret.data.checkout_url,{_ref:location.href});}} success&&success.call(self,ret);}});}else{self.buyShake=true;complete&&complete.call(this);}};omesaasProduct.prototype.cartLayer=function(){if(storeConfig.purchase_style==2){moi.alertInfo({content:lang.product.add_cart_succeed,placement:"top",type:"success"});return;} if(storeConfig.purchase_style==3){showMiniCart();return;} if(storeConfig.purchase_style==4){location.href="/cart";return;} if(this.isMultiple()){showMiniCart();return;} const option=JSON.parse(JSON.stringify(this.params));let isProperty=false;if(option.property&&option.property.length){isProperty=option.property.some((el)=>typeof el.params!=="string");} const subtotalPrice=formatMoney(parseFloat(option.subtotalPrice||0),oemcart_currency);const popupLayer=moi.popup();var html=$("#id-popup-addPurchase-success").length?$("#id-popup-addPurchase-success").html():$("#omesaas-popup-addPurchase-success").html();engine.parseAndRender(html,{option:option,subtotalPrice:subtotalPrice,isProperty:isProperty,storeConfig:storeConfig,lang:window.lang}).then(function(html){popupLayer.addContent(html);const temp=popupLayer.temp;const submitNodes=temp.find(".cart-buyNow");submitNodes.on("click",function(){temp.find(".cart_form").submit();popupLayer.close();});});};omesaasProduct.prototype.renderProductImgList=function(params={}){let config={isUpdate:false,parentsClass:".collection_item",defaultImgClass:".default_img",...params};function renderImgList(){$(".block_product_img_list.noRender").each((index,elem)=>{let width=$(elem).width()-$(elem).width()*0.26;let renderMaxLength=Math.floor(width/28);let listDom=$(elem).find(".img_list .img_list_item");let listDomLen=listDom.length>renderMaxLength?"+"+(listDom.length-renderMaxLength):"";$(elem).find(".img_list .morNumber").text(listDomLen);listDom.each((itemIndex,listItem)=>{if(itemIndex>=renderMaxLength){$(listItem).remove();}});$(elem).removeClass("noRender");listDom.on("mouseenter",function(){let src=$(this).find("img").attr("src").split("?")[0];var defaultImgNode=config.isUpdate?$(this).parents(config.parentsClass).find(config.defaultImgClass):$(this).parent().parent().parent().find(".default_img");defaultImgNode.attr("data-src",src);window.lazyLoadImage(defaultImgNode);$(this).addClass("active").siblings().removeClass("active");});});} renderImgList() moi.addEvent("updateBlock",function(e){renderImgList()})};omesaasProduct.prototype.wishlistParams=function(value,hit_type_category){var ec_data=this.getEcData();ec_data.ec_data_action_type="view_content";ec_data.ec_data_from="wishlist";function getMetaContent(metaName){const metas=document.getElementsByTagName("meta");for(let i=0;i{$(this).find(".wishlist-animated").removeClass("animated tada");},700);if(!oemcart_user_id){location.href="/account/login?checkout_url="+encodeURIComponent(location.href);return;} if(that.product.in_wishlist==1){that.product.in_wishlist=0;wishlistNode.removeClass("product-wishlist-active");moi.ajax({url:"/wishlist",type:"DELETE",data:JSON.stringify({product_id:that.product.id,event:that.wishlistParams(0,"remove_from_wishlist")}),complete(){that.wishlistShake=true;},success:function(ret){if(!ret.code){moi.alertInfo({content:lang.product.remove_from_wishlist,type:"success",placement:"top"});}else{moi.alert({title:ret.msg});}}});}else{that.product.in_wishlist=1;wishlistNode.addClass("product-wishlist-active ");moi.ajax({url:"/wishlist",type:"POST",data:JSON.stringify({product_id:that.product.id,event:that.wishlistParams(1,"add_to_wishlist")}),complete(){that.wishlistShake=true;},success:function(ret){if(!ret.code){moi.alertInfo({content:lang.product.add_to_wishlist,type:"success",placement:"top"});callback_add_to_wishlist&&callback_add_to_wishlist(that.getEcData());}else{moi.alert({title:ret.msg});}}});}});}};window.omesaasProduct=omesaasProduct;window.shopProduct=omesaasProduct;function handleBuyNow(event){console.warn('handleBuyNow',event);var eventData=event.data.data;moi.ecBuyNow(eventData,true,event)} function handleIframeResize(event){console.warn('handleIframeResize',event);const iframe=document.getElementById('ec-payment-div-'+window['ec_action_from']);if(event.data.data.fullscreen){if(window['ec_action_from']==="product_detail"){$(".product-right").css("z-index","999999999");} iframe.style.width='100vw';iframe.style.height='100vh';iframe.style.position='fixed';iframe.style.top='0';iframe.style.zIndex='1000';iframe.style.left='0';iframe.style.marginTop='0';}else{if(window['ec_action_from']==="product_detail"){$(".product-right").css("z-index","1");} iframe.style.position='relative';iframe.style.width='100%';iframe.style.height='80px';iframe.style.marginTop='10px';}} function handleRequest(event){handleIframeResize({data:{data:{fullscreen:false}}}) const retData=event.data;createAjaxLoading() fetch(retData.data.url,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({...retData.data.data,capture_url:retData.data.capture_url})}).then(function(res){removeAjaxLoading() return res.json();}).then(function(ret){if(ret.code==0){location.href=ret.data.redirect_url;}else{moi.alertInfo({content:ret.data.msg});return false;}});} window.addEventListener('message',function(e){try{const message=typeof e.data==='string'?JSON.parse(e.data):e.data;if(!message.type){return;} switch(message.type){case'shop_buynow':handleBuyNow(e);break;case'shop_iframeResize':handleIframeResize(e);break;case'shop_ecData':handleRequest(e);break;default:}}catch(error){}});})();