1var rpi=rpi||{}; 2rpi.Time={getFormatTime:function(b,a,d){b=this._ms(b);if(!isFinite(b))return"";b=new Date(b);var r=d||"en";d=function(k){return 10>k?"0"+k:""+k};var m=b.getHours(),l=((new Intl.DateTimeFormat(r,{day:"numeric",month:"short"})).formatToParts(b).find(function(k){return"month"===k.type})||{}).value;r=(new Intl.DateTimeFormat(r,{day:"numeric",month:"long"})).formatToParts(b).find(function(k){return"month"===k.type}).value;var n=b.getFullYear(),q=String(n).slice(-2),u={yyyy:n,Y:n,yy:q,y:q,MMMM:r,MMM:l, 3M:l,MM:d(b.getMonth()+1),m:d(b.getMonth()+1),dd:d(b.getDate()),d:d(b.getDate()),HH:d(m),H:m,hh:d(m%12||12),h:m%12||12,mm:d(b.getMinutes()),i:d(b.getMinutes()),ss:d(b.getSeconds()),s:d(b.getSeconds()),a:12<=m?"pm":"am",A:12<=m?"PM":"AM"};return a.replace(/(MMMM|MMM|yyyy|HH|hh|MM|mm|dd|ss|yy|H|h|M|m|d|Y|y|i|s|a|A)/g,k=>null!=u[k]?u[k]:k)},getTimeAgo:function(b,a){b=this._ms(b);if(!isFinite(b))return"";b=(b-Date.now())/1E3;var d=Math.abs(b);a=new Intl.RelativeTimeFormat(a||"en",{numeric:"auto"});return 60> 4d?a.format(Math.round(b),"second"):3600>d?a.format(Math.round(b/60),"minute"):86400>d?a.format(Math.round(b/3600),"hour"):2592E3>d?a.format(Math.round(b/86400),"day"):31536E3>d?a.format(Math.round(b/2592E3),"month"):a.format(Math.round(b/31536E3),"year")},_ms:function(b){b=parseInt(b,10);return 1E10>b?1E3*b:b}};rpi=rpi||{}; 5rpi.Utils={__:function(b,a){return a&&a[b]||b},isVisible:function(b){let a=window.getComputedStyle(b);return!!(b.offsetWidth||b.offsetHeight||b.getClientRects().length)&&"hidden"!==a.visibility&&"none"!==a.display},isInViewport:function(b,a=0){b=b.getBoundingClientRect();return b.top<window.innerHeight*(1+a)&&b.bottom>-window.innerHeight*a&&b.left<window.innerWidth*(1+a)&&b.right>-window.innerWidth*a},isRTL:function(){return"rtl"==(window.getComputedStyle?window.getComputedStyle(document.body,null).getPropertyValue("direction"): 6document.body.currentStyle.direction)},getParent:function(b,a="rplg"){a=Array.isArray(a)?a:[a];return b?b.closest("."+a.join(",.")):null},lang:function(){const b=navigator;return String((b.languages&&b.languages.length?b.languages[0]:null)||b.language||b.systemLanguage||b.userLanguage||"en").replace("_","-")},popup:function(b,a,d){var r=document.documentElement;b=window.open(b,"","scrollbars=yes, width="+a+", height="+d+", top="+((window.innerHeight?window.innerHeight:r.clientHeight?r.clientHeight: 7screen.height)/2-d/2+(void 0!=window.screenTop?window.screenTop:window.screenY))+", left="+((window.innerWidth?window.innerWidth:r.clientWidth?r.clientWidth:screen.width)/2-a/2+(void 0!=window.screenLeft?window.screenLeft:window.screenX)));window.focus&&b.focus();return b},ajax:function(b,a,d,r){const m=new XMLHttpRequest;m.open(a,b,!0);m.setRequestHeader("Content-Type","application/json");m.onreadystatechange=function(){if((m.readyState===XMLHttpRequest.DONE||m.readyState===m.DONE)&&200===m.status){const l= 8JSON.parse(m.responseText);"function"===typeof r?r(l):"function"===typeof d&&d(l)}};m.send(d&&"function"!==typeof d?JSON.stringify(d):null)},anchor:function(b,a,d,r,m){const l=[];d.open_link&&l.push("noopener");d.nofollow_link&&l.push("nofollow");return'<a href="'+b+'"'+(r?' class="'+r+'"':"")+(d.open_link?' target="_blank"':"")+(l.length?' rel="'+l.join(" ")+'"':"")+(m?' aria-label="'+m+'"':"")+">"+a+"</a>"},rm:function(b){b&&b.parentNode&&b.parentNode.removeChild(b)},capit:function(b){return b.charAt(0).toUpperCase()+ 9b.slice(1)},count:function(b){const a=Number(b);return isFinite(a)?a.toLocaleString():null==b?"":String(b)},compact:function(b){const a=Number(b);if(!isFinite(a))return null==b?"":String(b);if(1E3>Math.abs(a))return String(a);try{return a.toLocaleString(void 0,{notation:"compact",maximumFractionDigits:1})}catch(d){return this.count(Math.round(a))}},url:function(b){try{return(new URL(b,window.location.origin)).href}catch(a){return""}},clear:function(){this.rm(document.getElementById("rpi-style")); 10if(rpi.Instances)for(;rpi.Instances.length;)rpi.Instances.pop().clear()}};rpi=rpi||{}; 11rpi.Column=function(b,a,d){const r=b.getAttribute("data-id"),m=new RegExp(d.col+"-[xsml]+"),l=new RegExp((r?'\\[data-id="'+r+'"\\]\\s+':"")+"\\."+d.card+"\\{--col:\\d+!important;--gap:\\d+!important\\}
11"),n=b.getElementsByClassName(d.cnt)[0];var q=null,u=null;return q={init:function(k,c){rpi.Instances=rpi.Instances||[];-1===rpi.Instances.indexOf(q)&&rpi.Instances.push(q);rpi.Utils.isVisible(n)?(k&&k(),q.resize(),window.addEventListener("resize",q.resize),c&&c()):u=setTimeout(q.init,300)},resize:function(){let k= 12q.getSize();n.className=n.className.replace(m,d.col+"-"+k);if(a.breakpoints){let c=n.offsetWidth,g=a.breakpoints.split(",");g.sort(q.brsort);for(let f=0;f<g.length;f++){let e=g[f].split(":");if(c<parseInt(e[0])){q.setCol(e[1]);break}}}return k},getSize:function(){let k=n.offsetWidth;return 510>k?"xs":750>k?"x":1050>k?"s":1450>k?"m":1800>k?"l":"xl"},setCol:function(k){const c=this.getStyle();k=(r?'[data-id="'+r+'"] ':"")+"."+d.card+"{--col:"+k+"!important;--gap:"+(k-1)+"!important}";l.test(c.innerHTML)? 13c.innerHTML=c.innerHTML.replace(l,k):c.innerHTML+=k},getCol:function(){let k=this.getStyle().innerHTML.match(/--col:\s*(\d+)/);return k&&1<k.length?k[1]:!1},getStyle:function(){let k=document.getElementById("rpi-style");k||(k=document.createElement("style"),k.id="rpi-style",document.head.appendChild(k));return k},setBreakpoints:function(k){a.breakpoints=k},brsort:function(k,c){return parseInt(k.split(":")[0])>parseInt(c.split(":")[0])?1:-1},clear:function(){clearTimeout(u);window.removeEventListener("resize", 14q.resize)}}};rpi=rpi||{};rpi.AVA="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"; 15rpi.Common=function(b,a,d){let r=null;const m=rpi.Utils.lang();return r={init(){let l=b.getElementsByClassName(d.time),n=b.getElementsByClassName(d.text);for(const q of l)r.setTime(q);for(const q of n)r.setText(q)},initOnce(l){let n=l.getElementsByClassName(d.time)[0];l=l.getElementsByClassName(d.text)[0];r.setTime(n);r.setText(l)},setText(l){if(l&&l.textContent){var n=r.trimtext(l.textContent);l.textContent=n[0];n[1]&&(l.appendChild(rpi.el({tag:"span",cl:"rpi-s",text:"... "})),l.appendChild(rpi.el({tag:"span", 16cl:d.readmore,text:rpi.Utils.__("read more",a.trans),data:{hidden:n[1]}})),l.lastChild.onclick=r.opentext)}},trimtext(l){const n=parseInt(a.text_size,10);if(!l||!n||l.length<=n)return[l||"",""];l=Array.from(l);let q=l.slice(0,n).join("").lastIndexOf(" ");q=-1===q?n:q;return[l.slice(0,q).join("").trimEnd(),l.slice(q).join("")]},opentext(){let l=this.parentNode,n=this.dataset.hidden||"";rpi.Utils.rm(this.previousElementSibling);rpi.Utils.rm(this);l.appendChild(document.createTextNode(n))},setTime(l){l&& 17(l.textContent=r.time(l.dataset.time,l.dataset.lang))},time(l,n){return a.time_format?rpi.Time.getFormatTime(l,a.time_format,n||m):rpi.Time.getTimeAgo(l,n||m)}}}; 18rpi.el=function(b={},...a){const d=document.createElement("string"===typeof b?b:b.tag||"div");"string"!==typeof b&&(b.id&&(d.id=b.id),b.cl&&d.classList.add(...[].concat(b.cl).join(" ").split(/\s+/).filter(Boolean)),null!=b.text&&(d.textContent=b.text),b.data&&Object.assign(d.dataset,Object.fromEntries(Object.entries(b.data).filter(([,r])=>void 0!==r&&null!==r))),b.style&&(d.style.cssText=b.style),b.atts&&Object.keys(b.atts).forEach(r=>{const m=b.atts[r];null!==m&&void 0!==m&&!1!==m&&d.setAttribute(r, 19m)}),b.html&&(d.innerHTML=b.html),a=b.children?[].concat(b.children).concat(a):a);a.flat().forEach(r=>{r&&d.appendChild(r instanceof Node?r:document.createTextNode(String(r)))});return d};window.brb_vars=window.brb_vars||{ajaxurl:"/wp-admin/admin-ajax.php",gavatar:""};rpi=rpi||{}; 20rpi.View=function(b,a={},d={}){const r=a.id??b.getAttribute("data-id");b.getElementsByClassName("rpi-cnt");const m=b.getElementsByClassName("rpi-header")[0],l=b.getElementsByClassName(d&&d.names&&d.names.content||"rpi-content")[0],n=l?l.getElementsByClassName(d&&d.names&&d.names.cards||"rpi-cards")[0]:null,q=b.getElementsByClassName("rpi-url")[0],u=rpi.Media(b);var k=null;return k={media:u,boot(){d.cb&&d.cb.pre&&d.cb.pre();rpi.Utils.ajax(k.getAjaxUrl({act:"widget"}),"POST",function(c){n.setAttribute("data-offset", 21c.offset);n.setAttribute("data-count",c.count);c.bizs&&k.addBusiness(c.bizs[0],c.options);k.addReviews(c,[],function(g){k.initStyle();d.cb&&d.cb.post&&d.cb.post()})});k.initPagin()},init(){u.init();k.initStyle();k.initPagin()},initPagin(){q&&(q.onclick=function(){q.disabled=!0;k.loadNextReviews(a.pagination,function(c){k.delPaginBtn();d.cbp&&d.cbp(c);q.disabled=!1});return!1})},loadNextReviews(c,g){if(0<c){const f=[];c=parseInt(c);k.preloadReviews(f,c);k.loadAjaxReviews(f,c,g)}},preloadReviews(c, 22g){var f=parseInt(n.getAttribute("data-offset")),e=parseInt(n.getAttribute("data-count"));g=e-f>g?g:e-f;
22f=n.getElementsByClassName(d&&d.names&&d.names.card||"rpi-card");if(f.length){e=f.length-1;for(let t=0;t<g;t++){let x=f[Math.round(Math.random()*e)].cloneNode(!0);x.style="filter: blur(4px);";n.appendChild(x);c.push(x)}}},loadAjaxReviews(c,g,f){rpi.Utils.ajax(k.getAjaxUrl({act:"reviews",size:g}),"POST",function(e){n.setAttribute("data-offset",e.offset);n.setAttribute("data-count",e.count);k.addReviews(e, 23c,f)})},getAjaxUrl(c){return rpi.View.ajaxurl({...c,id:r,offset:c.offset??(n?parseInt(n.dataset.offset):0),...(d.filter?.bid&&{bid:d.filter.bid}),...(d.filter?.provider&&{provider:d.filter.provider})},a)},addBusiness(c,g){m.getElementsByClassName("rpi-cards")[0].appendChild(k.createRating(c,g))},createRating(c,g){return rpi.el({cl:"rpi-card",data:{provider:c.provider}},k.ratingInner(c,g))},ratingInner(c,g){var f=rpi.el({cl:"rpi-info",children:[!g.header_hide_scale&&rpi.el({cl:"rpi-scale",text:k.scale(c)}), 24!g.header_hide_name&&rpi.el({tag:"a",cl:"rpi-name",atts:{href:c.url},text:c.name}),rpi.View.stars(c.rating,c.provider,!0,g),!g.header_hide_count&&k.based(c)]});f=rpi.el({cl:"rpi-flex",children:[!g.header_hide_photo&&rpi.el({cl:"rpi-img-wrap"},k.bizPhoto(c)),f]});return rpi.el({cl:["rpi-card-inner rpi-flexwrap rpi-logo","rpi-logo-"+c.provider],children:[f,(!g.header_hide_seeall||!g.header_hide_write)&&k.ratingBtns(c,g)]})},scale(c){return 4.2<c.rating?rpi.Utils.__("Excellent",a.trans):3.7<c.rating? 25rpi.Utils.__("Great",a.trans):2.7<c.rating?rpi.Utils.__("Good",a.trans):1.7<c.rating?rpi.Utils.__("Fair",a.trans):rpi.Utils.__("Poor",a.trans)},based(c){return rpi.el({cl:"rpi-based",text:rpi.Utils.__("Based on %s reviews",a.trans).replace("%s",c.total||c.review_count)})},bizPhoto(c,g=""){return rpi.el({tag:"img",cl:"rpi-img",atts:{loading:"lazy",alt:g,...(c.photo?{src:c.photo}:{})}})},ratingBtns(c,g){const f=rpi.el({cl:"rpi-slider-btn"});g.header_hide_seeall||f.appendChild(rpi.el({cl:"rpi-review_us rpi-clickable", 26children:rpi.el({tag:"a",atts:{target:"_blank",rel:"noopener",href:rpi.View.allReviewsUrl(c)},text:rpi.Utils.__("See all reviews",a.trans)})}));if(!g.header_hide_write){const e=rpi.View.writeReviewUrl(c);c=rpi.el({tag:"a",cl:["rpi-logo_after","rpi-logo-"+c.provider],atts:{target:"_blank",rel:"noopener",href:e},text:rpi.Utils.__("review us on",a.trans)});c.addEventListener("click",function(t){t.preventDefault();rpi.Utils.popup(e,800,600)});f.appendChild(rpi.el({cl:"rpi-review_us rpi-clickable"},c))}return f}, 27addReviews(c,g,f){b.dataset.opts&&(a={...a,...(JSON.parse(b.dataset.opts)||{})});for(let e=0;e<c.reviews.length;e++){let t;d&&d.cb&&d.cb.createCard?t=d.cb.createCard(g.shift(),c.reviews[e]):(t=k.createCard(g.shift(),c.reviews[e]),d.common.initOnce(t),k.initReviewStyle(t,a),k.initLogoStyle(t,a.style_logo));g.length||n.appendChild(t)}for(;g.length;)rpi.Utils.rm(g.shift());u.init();k.delPaginBtn();f&&f(c)},createCard(c,g){c||=rpi.el({cl:"rpi-card"});c.setAttribute("data-rat",g.rating);c.setAttribute("data-provider", 28g.provider);c.textContent="";c.appendChild(k.reviewInner(g));c.style="";return c},reviewInner(c){const g=c.reply?c.reply.text||c.reply:null;var f=rpi.el({cl:"rpi-info",children:[!a.hide_name&&k.reviewName(c),!a.disable_review_time&&k.reviewTime(c),rpi.View.stars(c.rating,c.provider,!1,a)]});f=rpi.el({cl:"rpi-flex",children:[!a.hide_avatar&&k.reviewAvatar(c),f]});const e=rpi.el({cl:"rpi-body"},rpi.el({cl:"rpi-text rpi-scroll",atts:{tabindex:"0"},text:(c.text??"")+" "}));c.media&&c.media.length&&e.appendChild(rpi.el({cl:"rpi-media"}, 29k.reviewMedia(c)));g&&e.appendChild(rpi.el({cl:"rpi-reply rpi-scroll",children:[rpi.el({tag:"b",text:rpi.Utils.__("Response from the owner",a.trans)+":"}),document.createTextNode(" "+g)]}));return rpi.el({cl:"rpi-card-inner",children:[rpi.el("i"),f,e]})},reviewTime(c){return rpi.el({cl:"rpi-time",data:c.time?{time:String(c.time)}:{}})},reviewName(c){const g=rpi.Utils.capit(c.provider)+" user",f=c.author_name?c.author_name:g;return c.author_url&&!a.disable_user_link?rpi.el({tag:"a",cl:"rpi-name",atts:{target:"_blank", 30rel:"noopener",href:rpi.Utils.url(c.author_url),"aria-label":g+" profile"},text:f}):rpi.el({cl:"rpi-name",text:f})},reviewAvatar(c){var g=a.hide_name&&c.author_name?c.author_name:"";if(a.anonym_avatar){var f=rpi.View.charAvatar(c.author_name);g?(f.setAttribute("role","img"),f.setAttribute("aria-label",g)):f.setAttribute("aria-hidden","true");return rpi.el({cl:"rpi-img-wrap"},f)}f=c.author_avatar||brb_vars.gavatar;var e=b.style.getPropertyValue("--img-size");e=e?e.replace("px",""):a.reviewer_avatar_size|| 3156;switch(c.provider){case "google":(c=f&&f.match(/googleusercontent\.com\/([^\/]+)\/([^\/]+)\/([^\/]+)\/([^\/]+)\/photo\.jpg/))&&4<c.length&&"AAAAAAAAAAA"===c[3][0]&&(f=f.replace("/photo.jpg","/s128-c0x00000000-cc-rp-mo/photo.jpg"));f&&=/=.*s\d{2,3}/.test(f)?f.replace(/(=.*)s\d{2,3}/,"$1s"+e):-1<f.indexOf("-mo")?f.replace("-mo","-mo-s"+e):f.replace("-rp","-rp-s"
31+e);break;case "yelp":f&&=f.replace(/(ms)|(o)\.jpg/,128>=e?"ms":"o")}g=rpi.el({tag:"img",cl:"rpi-img",atts:{width:e,height:e,alt:g,...(a.lazy_load_img|| 32void 0===a.lazy_load_img?{loading:"lazy"}:{}),...(f?{src:f}:{})}});g.addEventListener("error",function(){this.src!==brb_vars.gavatar&&(this.src=brb_vars.gavatar)});return rpi.el({cl:"rpi-img-wrap"},g)},reviewMedia(c){if(!c.media||!c.media.length)return[];const g=b.style.getPropertyValue("--media-lines"),f=22*(g?g:2);return c.media.map(function(e){(e=e.thumbnailUrl||"")&&(e=e.replace(/(=.*)s\d{2,3}/,"$1s"+f));return rpi.el({tag:"img",cl:"rpi-thumb rpi-clickable",atts:{loading:"lazy",alt:"",...(e?{src:e}: 33{})}})})},reviewReply(c,g){let f=c.getElementsByClassName("rpi-reply")[0];f||(f=rpi.el({cl:"rpi-reply rpi-scroll"}),c.getElementsByClassName("rpi-body")[0].appendChild(f));f.innerHTML="";f.appendChild(rpi.el({tag:"b",text:rpi.Utils.__("Response from the owner",a.trans)+":"}));f.appendChild(document.createTextNode(" "+g))},initStyle(){b.dataset.opts&&(a={...a,...(JSON.parse(b.dataset.opts)||{})});if(m){var c=m.getElementsByClassName("rpi-card");for(var g=0;g<c.length;g++)this.initLogoStyle(c[g],a.head_logo), 34this.initYelpBasedLogo(c[g],a.head_logo)}if(l){c=n.getElementsByClassName("rpi-card");for(g=0;g<c.length;g++)this.initReviewStyle(c[g],a);this.initCtrlStyle(a);c=l.getElementsByClassName("rpi-card");for(g=0;g<c.length;g++)this.initLogoStyle(c[g],a.style_logo)}},initYelpBasedLogo(c,g){5==g&&(c=c.getElementsByClassName("rpi-logo-yelp")[0])&&!c.textContent&&(c.classList.remove("rpi-logo"),c.classList.add("rpi-logo_after"))},initReviewStyle(c,g){let f=c.getElementsByClassName("rpi-card-inner")[0],e=c.getElementsByClassName("rpi-triangle")[0], 35t=c.getElementsByClassName("rpi-flex")[0],x=c.getElementsByClassName("rpi-img-wrap")[0],w=c.getElementsByClassName("rpi-info")[0],h=c.getElementsByClassName("rpi-time")[0],A=c.getElementsByClassName("rpi-name")[0],y=c.querySelector('[class^="rpi-star"]'),z=c.getElementsByClassName("rpi-body")[0],C=c.getElementsByClassName("rpi-text")[0],D=c.getElementsByClassName("rpi-reply")[0];A&&w.appendChild(A);h&&w.appendChild(h);y&&w.appendChild(y);c.className="rpi-card";f.className="rpi-card-inner";t.className= 36"rpi-flex";z.className="rpi-body";e&&(e.className="rpi-triangle");switch(g.style_style){case void 0:case "1":case "7":f.appendChild(t);z&&f.appendChild(z);z.className+=" rpi-normal-up__body";break;case "2":case "8":z&&f.appendChild(z);f.appendChild(t);z.className+=" rpi-normal-down__body";break;case "3":e||(e=rpi.el("i"),f.appendChild(e));c.appendChild(t);c.appendChild(f);z&&f.appendChild(z);e.className="rpi-triangle rpi-triangle_up";t.className+=" rpi-bubble__flex rpi-bubble__flex_up";"none"!=this.getCssVar("--card-br")&& 37(e.className+=" rpi-triangle__br_up",f.className+=" rpi-bubble__inner rpi-bubble__inner_up");break;case "4":e||(e=rpi.el("i"),f.appendChild(e));c.appendChild(f);c.appendChild(t);z&&f.appendChild(z);e.className="rpi-triangle rpi-triangle_down";t.className+=" rpi-bubble__flex rpi-bubble__flex_down";"none"!=this.getCssVar("--card-br")&&(e.className+=" rpi-triangle__br_down",f.className+=" rpi-bubble__inner rpi-bubble__inner_down");break;case "5":f.appendChild(t);t.appendChild(w);z&&w.appendChild(z); 38t.className+=" rpi-shift-up__flex";break;case "6":f.appendChild(t),t.appendChild(w),z&&w.prepend(z),t.className+=" rpi-shift-down__flex"}switch(g.style_style){case "7":c.className+=" rpi-avaborder-up";break;case "8":c.className+=" rpi-avaborder-down"}z&&D&&z.appendChild(D);if(y)switch(g.style_stars){case "1":h?(w.insertBefore(y,h),w.insertBefore(h,y)):A?(w.insertBefore(y,A),w.insertBefore(A,y)):w.appendChild(y);break;case "2":h?w.insertBefore(y,h):w.appendChild(y);break;case "3":A?w.insertBefore(y, 39A):h?w.insertBefore(y,h):w.prepend(y);break;case void 0:case "4":z?z.prepend(y):f.appendChild(y);break;case "5":C?C.prepend(y):z.appendChild(y);break;case "6":z?z.appendChild(y):f.appendChild(y)}if(x)switch(g.style_ava){case "1":t.appendChild(x);t.appendChild(w);break;case "2":t.appendChild(w),t.appendChild(x)}},initCtrlStyle(c){let g=l.getElementsByClassName("rpi-controls")[0];if(g)switch(g.className="rpi-controls",c.style_style){case "3":g.className+=" rpi-bubble-up__ctrl";break;case "4":g.className+= 40" rpi-bubble-down__ctrl"}},initLogoStyle(c,g){const f=c.getElementsByClassName("rpi-card-inner")[0],e=c.getAttribute("data-provider");if(e){var t=e.split(",");1<t.length?this.initLogoMultiple(c,f,t,g):this.initLogoSingle(c,f,e,g)}},initLogoSingle(c,g,f,e){let t;var x=["rpi-logo","rpi-logo-"+f];const w=[...x,"rpi-logo_after","rpi-logo-left"];[g,c.getElementsByClassName("rpi-body")[0],c.getElementsByClassName("rpi-scale")[0],c.getElementsByClassName("rpi-name")[0],c.getElementsByClassName("rpi-img-wrap")[0]].forEac
40h(h=> 41h&&h.classList.remove(...w));c.querySelectorAll("span.rpi-logo").forEach(h=>{h.classList.remove(...w);if(!h.className){for(;h.firstChild;)h.parentNode.insertBefore(h.firstChild,h);h.remove()}});switch(e){case "1":case "6":f=c.getElementsByClassName("rpi-body")[0];"6"==e&&x.push("rpi-logo-left");g.classList.contains("rpi-bubble__inner")&&f?f.classList.add(...x):g.classList.add(...x);break;case "2":case "7":(g=c.getElementsByClassName(this.nameOrScale(e))[0])&&g.classList.add(...x);break;case "3":(x= 42c.getElementsByClassName("rpi-img-wrap")[0])&&x.classList.add(...["rpi-logo_after","rpi-logo-"+f]);break;case "4":g=c.querySelector('[class^="rpi-star"]');if(!g)break;t||=rpi.el("span");t.classList.add(...x);t.contains(g)||(g.replaceWith(t),t.appendChild(g));break;case "5":if(g=c.getElementsByClassName("rpi-based")[0])f=g.textContent.trim().match(/\d+/)[0],g.textContent=g.textContent.replace(f,f+" "),g.appendChild(rpi.el({tag:"span",cl:x}))}},initLogoMultiple(c,g,f,e){let t=c.getElementsByClassName("rpi-logos")[0]; 43if(t){if(f=t.querySelector('[class^="rpi-star"]')){const x=c.getElementsByClassName("rpi-info")[0],w=c.getElementsByClassName("rpi-based")[0];x&&(w?x.insertBefore(f,w):x.appendChild(f))}}else t=this.createLogos(f);switch(e){case "0":case "3":rpi.Utils.rm(t);break;case "1":g.prepend(t);break;case "2":case "7":(c=c.getElementsByClassName(this.nameOrScale(e))[0])&&c.prepend(t);break;case "4":g=c.getElementsByClassName("rpi-info")[0];e=c.getElementsByClassName("rpi-based")[0];c=c.querySelector('[class^="rpi-star"]'); 44if(!c)break;t.appendChild(c);e?g.insertBefore(t,e):g.appendChild(t);break;case "5":if(c=c.getElementsByClassName("rpi-based")[0])g=c.textContent.trim().match(/\d+/)[0],c.textContent=c.textContent.replace(g,g+" "),c.appendChild(t)}},nameOrScale:c=>"2"===c?"rpi-name":"rpi-scale",createLogos(c){return rpi.el({tag:"span",cl:"rpi-logos"},c.map(g=>k.logo(g)))},logo(c){return rpi.el({tag:"span",cl:["rpi-logo","rpi-logo-"+c]})},getCssVar(c){return b.style.getPropertyValue(c)},delPaginBtn(){if(q){const c= 45parseInt(n.getAttribute("data-offset")),g=parseInt(n.getAttribute("data-count"));c>=g&&rpi.Utils.rm(q)}}}}; 46Object.assign(rpi.View,{ajaxurl(b,a={}){if("function"===typeof a.api)return a.api(b);const {id:d,offset:r,bid:m,provider:l}=b;b=new URLSearchParams({action:"rpi_reviews",id:d,offset:r,size:b.size??a.pagination});m&&b.set("bid",m);l&&b.set("provider",l);return brb_vars.ajaxurl+"?"+b},allReviewsUrl(b){if(b.wr){let a=b.wr.split(":");b.id=a[1];b.provider=a[0]}switch(b.provider){case "google":return rpi.Utils.url("https://search.google.com/local/reviews?placeid="+b.id);case "facebook":return rpi.Utils.url("https://facebook.com/"+ 47b.id+"/reviews");case "yelp":return rpi.Utils.url(b.url)}},writeReviewUrl(b){if(b.wr){let a=b.wr.split(":");b.id=a[1];b.provider=a[0]}switch(b.provider){case "google":return rpi.Utils.url("https://search.google.com/local/writereview?placeid="+b.id);case "facebook":return rpi.Utils.url("https://facebook.com/"+b.id+"/reviews");case "yelp":return rpi.Utils.url("https://www.yelp.com/writeareview/biz/"+b.id)}},starsOutline(b,a){return rpi.el({tag:"span",cl:"rpi-stars",style:"--rating:"+b,text:a?b:null})}, 48starsTile(b,a,d){const r=Math.floor(2*b)/2,m=rpi.el({tag:"span",cl:d,data:{stars:r}},Array.from({length:5},()=>rpi.el("i")));"rpi-stars-tile"===d&&m.style.setProperty("--rating",r);a&&("rpi-stars-tile"===d?m.prepend(b):m.append(b));return m},stars(b,a,d=!1,r={}){switch(r.star_icon||""){case "star":return rpi.View.starsOutline(b,d);case "tile":return rpi.View.starsTile(b,d,"rpi-stars-tile");default:switch(a){case "facebook":return d?rpi.View.starsOutline(b,!0):rpi.el({tag:"span",cl:"rpi-star-fb",data:{rating:b}, 49text:(2>b?"doesn't ":"")+"recommends"});case "yelp":case "tripadvisor":return rpi.View.starsTile(b,d,"rpi-stars-"+a);default:return rpi.View.starsOutline(b,d)}}},starRating(b){return rpi.el({tag:"span",cl:"rpi-star",data:{rating:String(b)}})},CHAR_COLORS:"#d93025 #e8710a #f09300 #137333 #00897b #1a73e8 #3949ab #8e24aa #c2185b #5d4037".split(" "),charAvatar(b){b=(b=String(b||"").trim())?Array.from(b)[0].toUpperCase():"?";const a=rpi.View.CHAR_COLORS;return rpi.el({tag:"span",cl:"rpi-img rpi-img-char", 50style:"background-color:"+a[Math.floor(Math.random()*a.length)],text:b})},sidebar(b,a){function d(g){g&&g.preventDefault();u.classList.remove("rpi-open");c&&(c.classList.remove("rpi-open"),document.body.style.overflow="");n&&n.focus();return!1}const {id:r}=b,m=b.root||document.body,l=["rpi-sb"];"left"===b.pos&&l.push("rpi-left");let n,q=document.getElementById(r),u;q?u=q.getElementsByClassName("rpi-sb")[0]:(q=rpi.el({id:r,cl:"rpi"}),u=rpi.el({cl:l,atts:{role:"dialog","aria-modal":"true","aria-label":b.label|| 51"Reviews"},html:'<div class="rpi-sbh"></div><div class="rpi-sbc"></div><button type="button" class="rpi-x" aria-label="Close"></button>'}),q.appendChild(u),m.appendChild(q),b.overlay&&m.appendChild(rpi.el({cl:"rpi-overlay"})));const k=u.getElementsByClassName("rpi-x")[0],c=m.querySelector(".rpi-overlay");k.addEventListener("click",d);c&&c.addEventListener("click",d);a&&a(u);return{rt:q,sb:u,toggle(g){u.classList.contains("rpi-open")?d():(n=g||null,u.classList.add("rpi-open"),c&&(c.classList.add("rpi-open"), 52document.body.style.overflow="hidden"),k.focus())}}},ajaxsb(b,a,d){const {id:r,bid:m,prov:l}=a.query,{data:n,...q}=a.options;
52d=["rpi-sb",r,m,l].filter(Boolean).join("_");return rpi.View.sidebar({root:b,id:d,pos:q.badge_pos,overlay:q.overlay},u=>{rpi.Utils.ajax(rpi.View.ajaxurl(a.query,q),"POST",function(k){var c=u.getElementsByClassName("rpi-sbc")[0];const g=k.bizs??(n?n.bizs.find(e=>(!m||e.id===m)&&(!l||e.provider===l)):{}),f={};m&&(f.bid=m);l&&(f.provider=l);rpi.Layout(c,{id:r,data:{bizs:[g],...k}, 53header_hide_scale:!0,header_hide_count:!0,autoplay:!1,...q,view_mode:q.tag_sidebar,brand:!1,cfg:{filter:f}}).render();k=u.getElementsByClassName("rpi-sbh")[0];c=c.getElementsByClassName("rpi-header")[0];k.appendChild(c)})})}});rpi=rpi||{}; 54rpi.Media=function(b,a={},{root:d="rpi",card:r="rpi-card"}={}){let m,l=null,n=null;return n={init:function(){l=b.getElementsByClassName("rpi-thumb");for(let q=0;q<l.length;q++)l[q].setAttribute("data-idx",q),function(u,k){u.onclick=function(){n.show(u,k);return!1}}(l[q],q)},thumbs:function(q){if(Array.isArray(q)){var u=[];for(const k of q)q=document.createElement("img"),q.className="rpi-thumb rpi-clickable",q.src=k.thumbnailUrl,q.alt=rpi.Utils.__("Photo from customer review",a.trans),q.loading="lazy", 55u.push(q);return u}},clicks:function(q){q=q.getElementsByClassName("rpi-thumb");for(let u=0;u<q.length;u++)(function(k,c){k.onclick=function(){let g=parseInt(k.getAttribute("data-idx"));n.show(l[g],g);return!1}})(q[u],u)},show:function(q,u){if(!(0>u||u>=l.length)&&rpi.Lightbox){var k=q.src.replace(/=s[0-9]{1,3}/g,"=s500");q=(q=rpi.Utils.getParent(q,[r,"rpi-review"]))?q.outerHTML:"";m||(m=document.createElement("div"),m.className="rpi-lightbox-content",m.innerHTML='<div class="rpi-lightbox-media"><div class="rpi-lightbox-btn rpi-lightbox-prev"></div><img src="'+ 56k+'" alt=""><div class="rpi-lightbox-btn rpi-lightbox-next"></div></div><div class="'+d+' rpi-lightbox-review">'+q+"</div>",n.clicks(m));var c=m.querySelector(".rpi-lightbox-media img"),g=m.querySelector(".rpi-lightbox-review"),f=m.querySelector(".rpi-lightbox-prev"),e=m.querySelector(".rpi-lightbox-next");c.src=k;g.innerHTML!==q&&(g.innerHTML=q,n.clicks(g));f.onclick=function(t){n.show(l[u-1],u-1)};e.onclick=function(t){n.show(l[u+1],u+1)};rpi.Lightbox(m).show()}}}};rpi=rpi||{}; 57rpi.Lightbox=function(b){let a=document.querySelector(".rpi-lightbox-wrap");a||(a=document.createElement("div"),a.className="rpi-lightbox-wrap",a.innerHTML='<div class="rpi-lightbox"><div class="rpi-lightbox-inner"><div class="rpi-lightbox-xxx"></div></div></div><div class="rpi-x"></div>',a.querySelector(".rpi-x").onclick=function(){a.style.display="none"},a.querySelector(".rpi-lightbox").onclick=function(m){if(m.target.isConnected){var l=a.querySelector(".rpi-lightbox-xxx").firstElementChild;l&& 58l.contains(m.target)||(a.style.display="none")}},a.style.display="none",document.body.appendChild(a));let d=a.querySelector(".rpi-lightbox"),r=a.querySelector(".rpi-lightbox-xxx");r.innerHTML="";r.appendChild(b);return _this={show:function(m){a.style.display="flex";d.style.backdropFilter=m?"blur(2px)":""},hide:function(){a.style.display="none"}}};rpi=rpi||{}; 59rpi.Flash=function(b,a){if(a.data)b.appendChild(rpi.Flash.render(a));else{const d=b.getElementsByClassName("rpi-flash")[0];d&&d.dataset.opts&&(a={...a,...JSON.parse(d.dataset.opts)})}b=rpi.Flash.main(b,a);b.init?.();return b}; 60Object.assign(rpi.Flash,{LOGO:'<span style="position:relative;display:inline-block"><svg viewBox="0 0 1792 1792" width="44" height="44"><path d="M1728 647q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5t-30.5 14.5q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5t-10.5-35.5q0-6 2-20l86-500-364-354q-25-27-25-48 0-37 56-46l502-73 225-455q19-41 49-41t49 41l225 455 502 73q56 9 56 46z" fill="#FFAF02"></path></svg><svg width="25" height="25" viewBox="0 0 1792 1792" style="position:absolute;bottom:0;right:0;border:1px solid #fff;border-radius:50%;background:#fff"><path d="M1299 813l-422 422q-19 19-45 19t-45-19l-294-294q-19-19-19-45t19-45l102-102q19-19 45-19t45 19l147 147 275-275q19-19 45-19t45 19l102 102q19 19 19 45t-19 45zm141 83q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="#8cc976"></path></svg></span>',render(b){return rpi.el({cl:["rpi-flash", 61b.flash_hide_mobile?"rpi-flash-hide":""],children:this.wrap(b)})},wrap(b){return rpi.el({cl:["rpi-flash-wrap","right"==b.flash_pos?"rpi-flash-right":""],children:this.content(b)})},content(b){return rpi.el({cl:"rpi-flash-content",children:[rpi.el({cl:"rpi-flash-card",children:[this.story(),this.form(b)]}),rpi.el({cl:"rpi-x"})]})},story(){return rpi.el({cl:["rpi-flash-story","rpi-flex"],data:{idx:1}})}
61,form(b){return rpi.el({cl:["rpi-flash-form","rpi-content"],children:[rpi.el({cl:"rpi-cards",data:{count:b.data.count, 62offset:b.data.reviews.length}}),rpi.el({style:"text-align:center",children:rpi.el({tag:"a",cl:"rpi-url",atts:{href:"#"},text:rpi.Utils.__("More reviews",b.trans)})})]})},main(b,a){const d="rpi_flash_"+b.dataset.id;if(sessionStorage.getItem(d))return{};const r=b.getElementsByClassName("rpi-flash")[0],m=b.getElementsByClassName("rpi-flash-content")[0],l=m.getElementsByClassName("rpi-x")[0],n=m.getElementsByClassName("rpi-flash-card")[0],q=m.getElementsByClassName("rpi-flash-story")[0],u=[],k=rpi.Common(b, 63a,{time:"rpi-time",text:"rpi-text",readmore:"rpi-readmore"}),c=rpi.View(b,a,{common:k,cbp:h=>u.push(...h.reviews)});a.data&&c.addReviews(a.data,[]);let g=0,f=!1,e=1E3*(a.flash_start||3),t=1E3*(a.flash_visible||5),x=1E3*(a.flash_invisible||5),w=null;return{init(){this.destroy();a.data||k.init();c.init();this.fillReviews();u.length&&(l.onclick=this.hide,q.onclick=()=>this.showReview(),document.body.appendChild(b),setTimeout(()=>this.showStory(),e))},destroy(){clearTimeout(w);w=null},fillReviews(){let h= 64b.getElementsByClassName("rpi-card");for(let y=0;y<h.length;y++){let z=h[y].dataset.rat;var A="";a.disable_review_time||(A=h[y].getElementsByClassName("rpi-time")[0],A=a.time_format?A.textContent:A.dataset.time);let C=h[y].getElementsByClassName("rpi-name"),D=h[y].getElementsByClassName("rpi-text"),E=h[y].querySelector("img.rpi-img");u.push({rating:z,text:D[0]?.firstChild?.nodeValue??"",time:A,author_avatar:a.hide_avatar?"":E?.getAttribute("src")??"",author_name:a.hide_name?"":C[0]?.textContent?? 65"",author_url:a.hide_name?"":C[0]?.href??"",provider:h[y].dataset.provider})}},showStory(){clearTimeout(w);if(!f)if(this.nextStory(u,g),m.className="rpi-flash-content rpi-flash-visible",g+1<u.length)g+=1;else{var h=b.getElementsByClassName("rpi-cards")[0];const A=parseInt(h.dataset.count,10)||0;h=parseInt(h.dataset.offset,10)||0;if(A>h){clearTimeout(w);c.loadNextReviews(a.pagination,y=>{u.push(...y.reviews);g=g+1<u.length?g+1:0;this.waitStory()});return}g=0}this.waitStory()},waitStory(){w=setTimeout(()=> 66{f||m&&m.matches(":hover")||(m.className="rpi-flash-content");w=setTimeout(()=>this.showStory(),x)},t)},showReview(){f=!0;const h=n.querySelector(".rpi-flash-form .rpi-card:nth-child("+parseInt(q.dataset.idx)+")");h.className="rpi-card rpi-highlight";setTimeout(()=>{h.scrollIntoView({block:"center"})},50);n.className="rpi-flash-card rpi-flash-expanded";m.className="rpi-flash-content rpi-flash-visible";l.className="rpi-x rpi-xa";l.onclick=()=>{h.className="rpi-card";n.className="rpi-flash-card";l.className= 67"rpi-x";f=!1;l.onclick=this.hide}},hide(){let h=JSON.parse(sessionStorage.getItem(d)||"{}");h.hide=!0;sessionStorage.setItem(d,JSON.stringify(h));clearTimeout(w);b.getElementsByClassName("rpi-flash-content")[0].className="rpi-flash-content"},nextStory(h,A){const y=h[A];n.style.height="auto";r.style.setProperty("--flash-height","auto");if(q.firstChild){h=q.getElementsByClassName("rpi-flash-img");const z=q.getElementsByClassName("rpi-flash-head"),C=q.getElementsByClassName("rpi-flash-body"),D=q.getElementsByClassName("rpi-flash-footer"); 68a.flash_user_photo&&h.length&&(h[0].innerHTML=this.img(y));z.length&&(z[0].innerHTML=this.head(y));C.length&&(C[0].innerHTML=this.body(y));D.length&&(D[0].innerHTML=this.footer(y));q.dataset.idx=A+1}else q.innerHTML=this.createStory(h,A);q.dataset.provider=y.provider;setTimeout(()=>{r.style.setProperty("--flash-height",q.offsetHeight+"px");n.style.height=""},1)},createStory(h,A){h=h[A];return(a.flash_hide_logo&&!a.flash_user_photo?"":'<div class="rpi-flash-img">'+this.img(h)+"</div>")+'<div class="rpi-info"><div class="rpi-flash-head">'+ 69this.head(h)+'</div><div class="rpi-flash-body">'+this.body(h)+'</div><div class="rpi-flash-footer">'+this.footer(h)+"</div></div>"},img(h){return a.flash_user_photo?this.photoImg(h,44,44):rpi.Flash.LOGO},head(h){return a.flash_head?this.temp(h,a.flash_head):this.photo(h,16,16)+(a.hide_name?"":this.name(h))+"<span> "+a.text.m1.replace("%s",this.star(h))+"</span>"},body(h){return a.flash_body?this.temp(h,a.flash_body):rpi.View.stars(h.rating,h.provider,!1,a).outerHTML+a.text.m2+this.provider(h)},footer(h){return a.flash_footer? 70this.temp(h,a.flash_footer):a.disable_review_time?"":k.time(h.time)},name(h){return'<span class="rpi-flash-name">'+rpi.Temp.esc(h.author_name)+"</span> "},star(h){return rpi.el({tag:"span",cl:"rpi-flash-rating rpi-star",data:{rating:h.rating}}).outerHTML},provider(h){h=String(h.provider||"").replace(/[^a-z0-9_-]/gi,"");return rpi.el({tag:"span",cl:["rpi-logo","rpi-logo-"+h]}).outerHTML},photo(h,A,y){return a.flash_user_photo||a.hide_avatar?"":this.photoImg(h,A,y)},photoImg(h,A,y){if(a.anonym_avatar)return rpi.el({tag:"span", 71cl:"rpi-flash-photo rpi-img-wrap"},rpi.View.charAvatar(h.author_name)).outerHTML;const z=rpi.Temp.safeUrl(h.author_avatar);h=rpi.el({tag:"img",cl:"rpi-img",atts:{...(z?{src:z}:{}),alt:h.author_name||"",width:A,height:y,onerror:"this.onerror=null;this.src='"+rpi.AVA+"'"}});return rpi.el({tag:"span",cl:"rpi-flash-photo rpi-img-wrap"},h).outerHTML},temp(h,A){return rpi.Temp.decode(A,A).replace("{{review_rating}}",this.star(h)).replace("{{review_stars}}",rpi.View.stars(h.rating,h.provider,!1,a).outerHTML).replace("{{review_text}}", 72rpi.Temp.esc(k.trimtext(h.text)[0])).replace("{{review_time}}",rpi.Temp.esc(k.time(h.time))).replace("{{review_provider}}",this.provider(h)).replace("{{review_name}}",this.name(h)).replace("{{review_name_url}}",rpi.Temp.esc(rpi.Temp.safeUrl(h.author_url))).replace("{{review_photo}
72}",this.photo(h,16,16))}}}});rpi=rpi||{}; 73rpi.Badge=function(b,a){if(a.data)b.appendChild(rpi.Badge.render(a));else{const d=b.getElementsByClassName("rpi-badge-cnt")[0];d&&d.dataset.opts&&(a={...a,...JSON.parse(d.dataset.opts)})}b=rpi.Badge.main(b,a);b.init();return b}; 74Object.assign(rpi.Badge,{render(b){return rpi.el({cl:["rpi-badge-cnt","rpi-badge-"+(b.badge_pos||"right"),b.badge_display_block?"rpi-badge-block":"",b.hide_float_badge?"rpi-badge-hide":""],children:b.data.bizs.map(a=>this.badge(a,b))})},badge(b,a){return rpi.el({cl:"rpi-badge",style:"display:none",data:"summary"!==b.provider?{id:b.id,provider:b.provider}:null,children:[!a.badge_line_hide&&rpi.el({cl:"rpi-badge-line"}),a.badge_close&&rpi.el({cl:"rpi-x"}),this.body(b,a)]})},body(b,a){return rpi.el({cl:["rpi-badge-body", 75"rpi-flex","disable"!==a.badge_click&&"rpi-badge-clickable"],children:[this.img(b,a),this.info(b,a)]})},img(b,a){return"summary"===b.provider||a.badge_use_photo?rpi.el({tag:"img",cl:"rpi-logo",atts:{src:b.photo||"",alt:b.name||"",width:"44",height:"44",loading:a.lazy_load_img?"lazy":"eager"}}):rpi.el({cl:"rpi-logo rpi-logo-"+b.provider})},info(b,a){return rpi.el({cl:"rpi-info",children:[!a.badge_name_hide&&rpi.el({cl:"rpi-name",text:this.title(b,a)}),!a.badge_stars_hide&&rpi.View.stars(b.rating,b.provider, 76!0,a),!a.badge_based_hide&&rpi.el({cl:"rpi-based",text:"Based on "+b.total+" reviews"})]})},title(b,a){return"summary"===b.provider?a.summary_name||"Social Rating":a.badge_use_name?b.name||"":rpi.Utils.capit(b.provider)+" Rating"},main:function(b,a){const d=b.dataset.id;return{init(){[...b.getElementsByClassName("rpi-badge")].forEach(r=>this.initBadge(r))},initBadge(r){const m=`rpi_badge_${[d,r.dataset.provider,r.dataset.id].join("_")}`;var l=sessionStorage.getItem(m);r.style.display=l?"none":"inline-block"; 77if(!l){if(l=r.querySelector(".rpi-x"))l.onclick=()=>{sessionStorage.setItem(m,1);r.style.display="none"};if("sidebar"===a.badge_click){const n=r.querySelector(".rpi-badge-body");n&&(n.onclick=()=>{var {dataset:q}=n.parentNode;q=rpi.View.ajaxsb(document.body,{query:{act:"reviews",id:d,bid:q.id,prov:q.provider},options:a});setTimeout(q.toggle,5);n.onclick=q.toggle})}}}}}});rpi=rpi||{};rpi.Tag=function(b,a){const d=a.data;d&&b.appendChild(rpi.Tag.render(d,a));b=rpi.Tag.main(b,a);b.init();return b}; 78Object.assign(rpi.Tag,{render(b,a){return rpi.el({cl:this.cls(a),children:[a.tag_text?rpi.el({cl:"rpi-tag-text",text:a.tag_text}):null,this.cnt(b,a)]})},cls:function(b){const a=["rpi-tag"];b.tag_popup&&a.push("rpi-pop");b.tag_pos&&a.push(b.tag_pos);b.tag_push&&a.push("push");b.tag_expand&&a.push("expand");return a},cnt:function(b,a){b=b.bizs[0];return rpi.el({cl:"rpi-tag-cnt",atts:{onclick:this.click(b,a)},children:[rpi.el({tag:"span",cl:"rpi-logos",children:b.platform.map(d=>rpi.el({tag:"span",cl:"rpi-logo rpi-logo-"+ 79d}))}),rpi.View.stars(b.rating,b.provider,a.tag_rating,a)]})},click:function(b,a){let d=null;switch(a.tag_click){case "link":d=a.tag_link;break;case "reviews":d=rpi.View.allReviewsUrl(b)}b=a.open_link?"blank":"self";return d?"window.open('"+d+"', '_"+b+"');return false":null},main:function(b,a){const d=b.getAttribute("data-id"),r=b.getElementsByClassName("rpi-tag")[0],m=b.getElementsByClassName("rpi-tag-cnt")[0];return{init:function(){let l=b.querySelector(".rpi-stars[data-reviewus]");l&&(this.starsInit(l), 80l.onclick=function(n){n="svg"==n.target.tagName?n.target:n.target.parentNode;n=[...n.parentNode.children].indexOf(n);rpi.Utils.popup(2<n?this.getAttribute("data-reviewus"):"https://app.richplugins.com/feedback?s="+n,800,600)});0<a.tag_popup&&setTimeout(function(){r.className+=" rpi-pop-up"},1E3*a.tag_popup);"sidebar"===a.tag_click&&m&&(m.onclick=function(){const n=rpi.View.ajaxsb(b,{query:{act:"reviews",id:d},options:a});setTimeout(n.toggle,5);m.onclick=n.toggle})},starsInit:function(l){}}}}); 81rpi=rpi||{}; 82rpi.Slider=function(b,a,d,r){b.getAttribute("data-id");const m=b.getElementsByClassName(d.cnt)[0],l=b.getElementsByClassName(d.content)[0],n=l?l.getElementsByClassName(d.cards)[0]:null,q=l?l.getElementsByClassName(d.dotsWrap)[0]:null,u=l?l.getElementsByClassName(
82d.dots)[0]:null,k=n?parseInt(n.getAttribute("data-count")):0,{autoplay:c=!0,speed:g=5,mousestop:f=!0}=a;var e=null,t=l?l.getElementsByClassName(d.card):null,x="",w="",h=null,A=null,y=null,z=null,C=null,D=!1,E=!1,G=0,H=0;return e={init:function(p, 83v){rpi.Instances=rpi.Instances||[];-1===rpi.Instances.indexOf(e)&&rpi.Instances.push(e);rpi.Utils.isVisible(m)?(p&&p(),e.resize(),e.actions(),t.length&&e.swipeAutoStart(),v&&v()):h=setTimeout(e.init,300)},resize:function(p){let v=r.column.resize(),B=r.column.getCol();p&&n.scrollLeft!=p*e.reviewWidth()&&n.scrollTo(t[p].offsetLeft,0);!t.length||x==v&&w==B||(e.hasDots()&&(e.dotsInit(),e.dotSwipe(p,!0)),x=v,w=B)},actions:function(){f&&e.addMouseEvents();window.addEventListener("resize",e.resizeListener); 84n&&(n.addEventListener("scroll",e.scrollListener,!1),a.wheelscroll&&l.addEventListener("wheel",e.wheelListener,!1));var p=m.getElementsByClassName(d.btnPrev)[0];p&&(p.onclick=function(v){v.preventDefault();v.stopPropagation();e.btnClick(-1)});if(p=m.getElementsByClassName(d.btnNext)[0])p.onclick=function(v){v.preventDefault();v.stopPropagation();e.btnClick(1)}},resizeListener:function(){var p=H;clearTimeout(A);A=setTimeout(e.resize,150,p)},scrollListener:function(){clearTimeout(y);clearTimeout(z); 85z=setTimeout(e.scrollEnd,150)},wheelListener:function(p){var v=p.target;if((v=-1<v.className.indexOf(d.text)?v:-1<v.parentNode.className.indexOf(d.text)?v.parentNode:null)&&v.scrollHeight>v.clientHeight)return!0;p.preventDefault();G++;clearTimeout(C);C=setTimeout(e.wheelEnd,150,p)},addMouseEvents:function(){m.addEventListener("mouseover",e.mouseOver,!1);m.addEventListener("mouseleave",e.mouseLeave,!1)},delMouseEvents:function(){m.removeEventListener("mouseover",e.mouseOver);m.removeEventListener("mouseleave", 86e.mouseLeave)},mouseOver:function(){D=1;e.swipeAutoStop()},mouseLeave:function(){D=0;e.swipeAutoStart()},btnClick:function(p){e.swipeManual(p*e.swipePerBtn())},wheelEnd:function(p){e.swipeManual(Math.sign(p.wheelDelta)*G*e.swipeStep());G=0},scrollEnd:function(){H=e.reviewsIdx();E?E=!1:e.loadNextReviews();(!f||D)&&f||(!a.clickstop||E)&&a.clickstop||e.swipeAutoStart();e.hasDots()&&e.dotSwipe(void 0,!0)},loadNextReviews:function(p){p=p?e.reviewsIdx()+parseInt(p):e.hasDots()?(p=u.getElementsByClassName("active")[0])? 87parseInt(p.getAttribute("data-index"))*e.swipePerDot():e.reviewsIdx():e.reviewsIdx();p=e.getAjaxSize(p);0<p&&r.view.loadNextReviews(p)},getAjaxSize:function(p){let v=0;const B=parseInt(n.getAttribute("data-offset")),F=parseInt(a.pagination);if(k>B){let I=p-B;Math.abs(I)<3*e.swipePerDot()?v=F:I&&(v=Math.ceil(p/F)*F-B)}p=B+v-k;return 0<p?v-p:v},dotsInit:function(){if(u){var p=Math.ceil(k/e.swipePerDot());u.innerHTML="";for(let v=0;v<p;v++){let B=document.createElement("button");B.className=d.dot;B.setAttribute("data-index", 88v);B.setAttribute("title",v);B.setAttribute("aria-label","Go to page "+v);B.onclick=e.dotClick;u.appendChild(B)}e.dotsPadding()}},dotClick:function(p){p.preventDefault();p.stopPropagation();p=parseInt(this.getAttribute("data-index"));var v=u.getElementsByClassName("active")[0];v=parseInt(v.getAttribute("data-index"));e.swipeManual(Math.abs(p-v)*e.swipePerDot()*Math.sign(p-v))},dotsPadding:function(){let p=q.getBoundingClientRect().height;m.style.paddingBottom=p+"px"},dotSwipe:function(p,v){p=Math.round((void 0!== 89p?p:e.reviewsIdx())/e.swipePerDot());p=0>p?0:p>=u.childNodes.length?u.childNodes.length-1:p;p=u.querySelector("."+d.dot+'[data-index="'+p+'"]');let B=u.getElementsByClassName("active")[0];e.dotActivate(B,p);e.dotScroll(p,v)},dotScroll:function(p,v){let B=Math.round(u.scrollWidth/u.childNodes.length),F=Math.floor(Math.round(u.offsetWidth/B)/2);v?u.scrollTo(p.offsetLeft-F*B,0):u.scrollTo({left:p.offsetLeft-F*B,behavior:"smooth"})},dotActivate:function(p,v){p&&(p.classList.remove("active"),p.classList.remove("s1"), 90p.previousSibling&&(p.previousSibling.classList.remove("s2"),p.previousSibling.previousSibling&&p.previousSibling.previousSibling.classList.remove("s3")),p.nextSibling&&(p.nextSibling.classList.remove("s2"),p.nextSibling.nextSibling&&p.nextSibling.nextSibling.classList.remove("s3")));v&&(v.classList.add("active"),v.classList.add("s1"),v.previousSibling&&(v.previousSibling.classList.add("s2"),v.previousSibling.previousSibling&&v.previousSibling.previousSibling.classList.add("s3")),v.nextSibling&&(v.nextSibling.classList.add("s2"), 91v.nextSibling.nextSibling&&v.nextSibling.nextSibling.classList.add("s3")))},swipeManual:function(p){E=!0;e.loadNextReviews(p);e.scroll(p);a.clickstop&&(e.swipeAutoStop(),e.delMouseEvents())},swipeAuto:function(){if(rpi.Utils.isInViewport(m))if(e.isScrollEnd())e.scroll(-(k-e.reviewsPerView()));else{let p=e.swipeStep()<e.reviewsAhead()?e.swipeStep():e.reviewsAhead();e.scroll(p)}e.swipeAutoStart()},scroll:function(p){p=e.reviewsIdx()+parseInt(p);let v=rpi.Utils.isRTL()?p+e.reviewsPerView()-1:p;v=0>v? 920:v>=t.length?t.length-1:v;-1<v&&v<t.length&&(n.scrollTo({left:t[v].offsetLeft,behavior:"smooth"}),e.hasDots()&&e.dotSwipe(p))},swipeAutoStart:function(){c&&(y=setTimeout(e.swipeAuto,1E3*parseInt(g)))},swipeAutoStop:function(){clearTimeout(y);z&&setTimeout(function(){clearTimeout(z)},100)},isScrollEnd:function(){var p=n.querySelector("."+d.card+":last-child"),v=p.getBoundingClientRect();p=p.parentNode.getBoundingClientRect();return(2>Math.abs(p.left-v.left)||p.left<=v.left)&&v.left<p.right&&(2>Math.abs(p.right- 93v.right)||p.right>=v.right)&&v.right>p.left},swipeStep:function(){return a.swipe_step||e.reviewsPerView()},swipePerBtn:function(){return a.swipe_per_btn||e.reviewsPerView()},swipePerDot:function(){return a.swipe_per_dot||e.reviewsPerView()},reviewWidth:function(){return Math.round(n.scrollWidth/t.length)},reviewHeight:function(){return t[0].offsetHeight},reviewsPerView:function(){return Math.round(n.offsetWidth/e.reviewWidth())},reviewsIdx:function(){let p=rpi.Utils.isRTL()?-n.scrollLeft:n.scrollLeft; 94return Math.round(p/e.reviewWidth())},reviewsAhead:function(){return t.length-(e.reviewsIdx()+e.reviewsPerView())},hasDots:function(){return u&&!a.hide_dots&&0<e.swipePerDot()},setBreakpoints:function(p){r.column.setBreakpoints(p);e.resize()},clear:function(){clearTimeout(h);clearTimeout(A);clearTimeout(y);clearTimeout(z);clearTimeout(C);window.removeEventListener("resize",e.resizeListener);n.removeEventListener("scroll",e.scrollListener);l.removeEventListener("wheel",e.wheelListener)}}}; 95rpi=rpi||{};rpi.Temp=function(b,a){const d=a.data;d&&(b.innerHTML=rpi.Temp.render(d,a));b=rpi.Temp.main(b,a);d&&b.init(d);return b}; 96Object.assign(rpi.Temp,{HEADER:"<div class=\"rpi-header\" data-temp='{{temp_rating}}'></div>",CONTENT:'<div class="rpi-content" data-temp=\'{{temp_review}}\' data-count="{{count}}" data-offset="{{offset}}"></div>',PAGIN:'<a href="#" class="rpi-url">{{label}}</a>',RATINGS:'<div class="rpi-rating">\n {{photo}}\n <a href="{{writereview_url}}" onclick="rpi.Utils.popup(this.href,620,580);return !1;">{{name}}</a>\n {{rating}} {{stars}}\n Based on <a href="{{reviews_url}}" target="_blank" rel="noopener">{{count}} reviews</a>\n </div>',REVIEWS:'<div class="rpi-review">\n <div>{{review_photo}
96} {{review_name_url}} {{review_time}} {{review_logo}}</div>\n <div>{{review_stars}}</div>\n <div class="rpi-text">{{review_text}}</div>\n {{review_media}}\n <div>{{review_reply}}</div>\n </div>', 97render(b,a){a=b.options??{};let d="";!1!==a.rating_temp_on&&(d+=this.fill(this.HEADER,{temp_rating:this.esc(a.rating_temp||encodeURIComponent(this.RATINGS))}));!1!==a.review_temp_on&&(d+=this.fill(this.CONTENT,{temp_review:this.esc(a.review_temp||encodeURIComponent(this.REVIEWS)),count:this.esc(b.count),offset:this.esc((b.reviews??[]).length)}));return d},ratings(b,a,d,r={}){const m=d.bizPhoto(a);return rpi.Temp.fill(b,{scale:d.scale(a),name:rpi.Temp.esc(a.name),photo:m?.outerHTML??"",stars:rpi.View.stars(a.rating, 98a.provider,!1,r).outerHTML,rating_stars:rpi.View.stars(a.rating,a.provider,!0,r).outerHTML,rating:rpi.Temp.esc(a.rating),count:rpi.Temp.esc(a.total??a.review_count),reviews_url:rpi.Temp.esc(rpi.Temp.safeUrl(rpi.View.allReviewsUrl(a))),writereview_url:rpi.Temp.esc(rpi.Temp.safeUrl(rpi.View.writeReviewUrl(a)))})},reviews(b,a,d,r={}){const m=a.media?d.media.thumbs(a.media).map(l=>l.outerHTML).join(" "):"";return rpi.Temp.fill(b,{review_photo:d.reviewAvatar(a).outerHTML,review_provider:rpi.Temp.esc(a.provider), 99review_logo:d.logo(a.provider).outerHTML,review_url:rpi.Temp.esc(rpi.Temp.safeUrl(a.author_url)),review_name:rpi.Temp.esc(a.author_name),review_name_url:d.reviewName(a).outerHTML,review_time:d.reviewTime(a).outerHTML,review_rating:rpi.Temp.esc(a.rating),review_stars:rpi.View.stars(a.rating,a.provider,!1,r).outerHTML,review_text:rpi.Temp.esc(a.text??""),review_media:m,review_reply:rpi.Temp.esc(a.reply??"")})},fill(b,a){return Object.entries(a).reduce((d,[r,m])=>d.replace(new RegExp(`\\{\\{${r}\\}\\}`, 100"g"),m),b)},esc(b){return String(b??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},safeUrl(b){b=String(b??"").trim();if(!b)return"";if(/^(#|\/|\?|\.)/.test(b))return b;try{const {protocol:a,href:d}=new URL(b,window.location.href);return["http:","https:","mailto:","tel:"].includes(a.toLowerCase())?d:"#"}catch{return"#"}},decode(b,a){try{return decodeURIComponent(b||encodeURIComponent(a))}catch{return a}},main(b,a){let d=null;const {decode:r, 101ratings:m,reviews:l,RATINGS:n,REVIEWS:q}=rpi.Temp,u=b.dataset.id,k=rpi.Common(b,a,{time:"rpi-time",text:"rpi-text",readmore:"rpi-readmore"}),c=rpi.View(b,a,{common:k}),g=b.querySelector(".rpi-header"),f=b.querySelector(".rpi-content"),e=(t,x,w)=>{const h=document.createElement("span");for(h.innerHTML=x;h.firstChild;)x=h.firstChild,w&&x.nodeType===Node.ELEMENT_NODE&&w(x),t.appendChild(x)};if(f&&a.pagination&&f.dataset.count>f.dataset.offset){let t=b.getElementsByClassName("rpi-url")[0];t=t??rpi.el({tag:"button", 102cl:"rpi-url",text:rpi.Utils.__("More reviews",a.trans)});t.onclick=()=>{var x=parseInt(f.dataset.offset,10)||0;x=c.getAjaxUrl({id:u,offset:x,api:a.api,act:"reviews",size:a.pagination});rpi.Utils.ajax(x,"POST",w=>{w.reviews&&d.initReviews(w.reviews);f.setAttribute("data-count",w.count);f.setAttribute("data-offset",w.offset);w.offset>=w.count&&rpi.Utils.rm(t)});return!1};b.appendChild(t)}k.init();return d={init(t){t&&(g&&t.bizs&&this.initRatings(t.bizs),f&&t.reviews&&this.initReviews(t.reviews))},initRatings(t){if(g){var x= 103r(g.dataset.temp,n);for(const w of t)e(g,m(x,w,c,a))}},initReviews(t){if(f){var x=r(f.dataset.temp,q);for(const w of t)e(f,l(x,w,c,a),h=>k.initOnce(h))}}}}});rpi=rpi||{}; 104rpi.Layout=function(b,a){function d(){var f=["rpi-cnt","rpi-col-m","rpi-"+a.view_mode];"grid"!==a.view_mode&&"slider"!==a.view_mode||f.push("rpi-sh");f=rpi.el({cl:f,data:{opts:"{}"},style:"visibility:var(--visible, hidden)"});n.bizs&&f.appendChild(r());n.reviews&&f.appendChild(m());b.appendChild(f);const e=rpi.Common(b,a,{time:"rpi-time",text:"rpi-text",readmore:"rpi-readmore"}),t=rpi.Column(b,a,{cnt:"rpi-cnt",col:"rpi-col",card:"rpi-card"}),x=rpi.View(b,a,{common:e,...(a.cfg??{})});if(n.bizs)for(const w of n.bizs)x.addBusiness(w, 105a);x.addReviews(n,[]);"slider"===a.view_mode?rpi.Slider(b,a,{cnt:"rpi-cnt",col:"rpi-col",content:"rpi-content",cards:"rpi-cards",card:"rpi-card",text:"rpi-text",btnPrev:"rpi-slider-prev",btnNext:"rpi-slider-next",dotsWrap:"rpi-dots-wrap",dots:"rpi-dots",dot:"rpi-dot"},{view:x,column:t}).init(null,function(){x.init();console.log("RichPlugins slider initialized")}):("grid"===a.view_mode&&t.init(),x.init());return f}function r(){var f="slider"===a.view_mode;const e=["rpi-header",`rpi-header_${1==(f?
106a.slider_head_pos||2:a.head_pos||1)?"top":"row"}`];f&&!a.slider_hide_nextprev&&e.push("rpi-header_pad");f=rpi.el({cl:e,data:{opts:""}});f.appendChild(rpi.el({cl:"rpi-cards"}));return f}function m(){var f="slider"===a.view_mode;const e=rpi.el({cl:["rpi-content",`rpi-content_${1==(f?a.slider_head_pos:a.head_pos)?"top":"row"}`]});f&&!a.slider_hide_nextprev&&e.appendChild(rpi.el({tag:"button",cl:"rpi-ltgt rpi-lt rpi-slider-prev",atts:{"aria-label":"Previous reviews",tabindex:"0"}}));var t=e.appendChild; 107var x=["rpi-cards"];var w="slider"===a.view_mode;w&&!a.slider_hide_nextprev&&x.push("rpi-slides-bite");var h=n.reviews?.length;x=rpi.el({cl:x,data:{offset:h,count:n.count}});!w&&0<a.pagination&&n.count>h&&(w=rpi.el({style:"text-align:center"}),h=rpi.el({tag:"button",cl:"rpi-url",text:"More reviews"}),w.appendChild(h),h=document.createDocumentFragment(),h.appendChild(x),h.appendChild(w),x=h);t.call(e,x);f&&!a.slider_hide_nextprev&&e.appendChild(rpi.el({tag:"button",cl:"rpi-ltgt rpi-gt rpi-slider-next", 108atts:{"aria-label":"Next reviews",tabindex:"0"}}));f&&!a.slider_hide_pagin&&(f=rpi.el({cl:"rpi-dots-wrap"}),f.appendChild(rpi.el({cl:"rpi-dots"})),e.appendChild(f));return e}function l(f){return rpi.el({tag:"a",cl:"rpi-brand"+f,atts:{href:"https://reviewsplugin.com",target:"_blank",rel:"noopener"}},"Verified by ReviewsPlugin")}const n=a.data,q=b.nextElementSibling,u=!!q&&"A"===q.tagName,k=u&&/^(www\.)?reviewsplugin\.com$/.test(q.hostname)?q:null,c=!1!==a.brand&&u&&!k&&/reviewsplugin/i.test(q.textContent); 109a.breakpoints??(a.breakpoints=a.slider_breakpoints||void 0);a.autoplay??(a.autoplay=a.slider_autoplay);a.wheelscroll??(a.wheelscroll=a.slider_wheelscroll);a.mousestop??(a.mousestop=a.slider_mousestop);a.clickstop??(a.clickstop=a.slider_clickstop);a.hide_dots??(a.hide_dots=a.slider_hide_pagin);a.speed??(a.speed=a.slider_speed||void 0);a.swipe_step??(a.swipe_step=a.slider_swipe_step);a.swipe_per_btn??(a.swipe_per_btn=a.slider_swipe_per_btn);a.swipe_per_dot??(a.swipe_per_dot=a.slider_swipe_per_dot); 110const g={badge:".rpi-badge-cnt",tag:".rpi-tag",flash:".rpi-flash-content"};return{render:function(){b.innerHTML="";if(!c){a.style_vars&&(b.style.cssText=a.style_vars);switch(a.view_mode){case "tag":rpi.Tag(b,a);break;case "flash":rpi.Flash(b,a);break;case "badge":rpi.Badge(b,a);break;case "temp":rpi.Temp(b,a);break;default:d()}if(!1!==a.brand){var f=g[a.view_mode];f?(f=b.querySelector(f)||b,k?(k.classList.add("rpi-brand","rpi-brand-sm"),f.appendChild(k)):f.appendChild(l(" rpi-brand-sm"))):k||b.appendChild(l(""))}}}}}; 111var RichPlugins=RichPlugins||{opts(b,a,d){b=b.getElementsByClassName(d)[0];return{...a,...(b?.dataset?.opts?JSON.parse(b.dataset.opts):{})}},Tag:function(b,a){return{init:()=>rpi.Tag(b,RichPlugins.opts(b,a,"rpi-tag-cnt"))}},Flash:function(b,a){return{init:()=>rpi.Flash(b,RichPlugins.opts(b,a,"rpi-flash"))}},Badge:function(b,a){return{init:()=>rpi.Badge(b,RichPlugins.opts(b,a,"rpi-badge-cnt"))}},Temp:function(b,a){return{init:()=>rpi.Temp(b,a)}},List:function(b,a){const d=rpi.Common(b,a,{time:"rpi-time", 112text:"rpi-text",readmore:"rpi-readmore"}),r=rpi.Column(b,a,{cnt:"rpi-cnt",col:"rpi-col",card:"rpi-card"}),m=rpi.View(b,a,{common:d});return{init:()=>{d.init();r.init();m.init()}}},Slider:function(b,a){const d=rpi.Common(b,a,{time:"rpi-time",text:"rpi-text",readmore:"rpi-readmore"}),r=rpi.Column(b,a,{cnt:"rpi-cnt",col:"rpi-col",card:"rpi-card"}),m=rpi.View(b,a,{common:d}),l=rpi.Slider(b,RichPlugins.opts(b,{},"rpi-cnt"),{cnt:"rpi-cnt",col:"rpi-col",content:"rpi-content",cards:"rpi-cards",card:"rpi-card", 113text:"rpi-text",btnPrev:"rpi-slider-prev",btnNext:"rpi-slider-next",dotsWrap:"rpi-dots-wrap",dots:"rpi-dots",dot:"rpi-dot"},{view:m,column:r});return{init:()=>l.init(d.init.bind(d),m.init.bind(m))}},init:function(b){b.setAttribute("data-exec","1");let a=JSON.parse(b.getAttribute("data-opts")),d=rpi.Utils.capit(a.layout);"List"==d||"Grid"==d?RichPlugins.List(b,a).init():RichPlugins[d]&&RichPlugins[d](b,a).init()}}; 114window.rpi_boot=function(){function b(){const d=document.querySelectorAll('.rpi[data-exec=""]');if(!d.length)return!1;rpi.Utils.clear();d.forEach(r=>RichPlugins.init(r));return!0}function a(){(new MutationObserver((d,r)=>{b()&&r.disconnect()})).observe(document.body,{childList:!0,subtree:!0})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{b()||a()}):b()||a()};window.rpi_boot();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.