Beaches are open


Beaches are open – Review of Jaco Beach, Jaco, Costa Rica – Tripadvisor=0&&o1e12?new Date:performance.now())-t.timeStamp;”pointerdown”==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){[“click”,”mousedown”,”keydown”,”touchstart”,”pointerdown”].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);]]>0;)define.apply(e,t.d.shift());for(;t.r.length>0;)require.apply(e,t.r.shift());e.getRequireJSQueue=null}l&&+new Date-i<5e3&&a.apply(e,l)}if(!e||!e.requireCallLast){var l,i,u=!1,a=e.requireCallLast=function(e,r){l=null;var a=[].slice.call(arguments,2);t(e)?n(require(e),r,a):t("trjs")?require(["trjs!"+e],function(e){n(e,r,a)}):u||(i=+new Date,l=[].slice.call(arguments))},c=e.requireCallIfReady=function(n){t(n)&&a.apply(e,arguments)},o=function(t,n,r,l){var i=c;return!r||"click"!==r.type&&"submit"!==r.type||(i=a,r.preventDefault&&r.preventDefault()),l.unshift(n),l.unshift(t),i.apply(e,l),!1};e.remoteModule=function(e,t){return o("remoteModule",null,e,[].slice.call(arguments))},e.requireEvCall=function(e,t,n,r){return e=e.match(/^((?:[^/]+/)*[^/.]+).([^/]*)?$/),o(e[1],e[2],t,[].slice.call(arguments,1))},e.widgetEvCall=function(e,t,n,r){return o("ta/prwidgets","call",t,[].slice.call(arguments))},e.placementEvCall=function(e,t,n,r,l){return o("ta/p13n/placements","evCall",n,[].slice.call(arguments))},document.addEventListener?document.addEventListener("DOMContentLoaded",r):e.addEventListener?e.addEventListener("load",r):e.attachEvent&&e.attachEvent("onload",r)}}(window); ]]>“}”,”pageServlet”:”ShowUserReviews”,”sessionId”:”09417081E0B4403E9C829E28AD6D45FC”,”cdnHost”:”https://static.tacdn.com”,”quickSave”:true,”isExternalReferral”:true,”useERUserTracking”:true,”cookieDomain”:”.tripadvisor.com”,”uid”:”YDA0VQokHxwABEg5EnEAAADs”,”hasReferral”:true,”posLocale”:”en_US”,”MEDIA_HTTP_BASE”:”https://media-cdn.tripadvisor.com/media/”,”user_id”:””,”loggedIn”:false,”securelyLoggedIn”:false},”DUST_GLOBAL”:{“IS_IELE8″:false,”LOCALE”:”en_US”,”IS_IE10″:false,”CDN_HOST”:”https://static.tacdn.com”,”DEVICE”:”desktop”,”IS_RTL”:false,”LANG”:”en”,”DEBUG”:false,”READ_ONLY”:false,”POS_COUNTRY”:191},”JS_SECURITY_TOKEN”:”TNI1625!AHac/rRP3AdVGXBB5T99glNv6c5hbg6FgolmpqzTPEmrj/UGApI3HwL7ufyRO1GY8JPbeDUCXbXE+qB63Is9sTotOIaY4BPSzVqtHMoG2NohproZQGszNkJ/cJNfcDcLwO2fZyd0MHUSmEs1C0OwxLmUZx4q2+t3crZ0ENZ+aECH”,”GEO_ID”:”309271″,”hotelsInGeo”:”41″,”LOC_ID”:”309613″,”isMobile”:false,”isRtl”:false}; });]]>200&&(c=c.substring(0,Math.min(c.length,200))+”…”),i.withScope(function(e){e.setTag(“logger”,n),e.setExtra(“jQueryEvent”,c),i.captureException(a)})}else i.withScope(function(e){e.setTag(“logger”,n),i.captureException(r)})}else o&&setTimeout(function(){t(e,r,n,!1)},1e4)}function n(){require([“ta/util/Error”],function(r){for(;g.length;){var n=g.shift();n.msg.match(/(^|[^w.])ta .*defin/)||(r.record(n.error,”window.onerror:: “+n.msg,n.evt,n.data,e(n.error),{isglobal:!0}),t(n.msg,n.error,”PageLoad”,!0))}s=!0})}function o(){l=null,E=!1,d=u=null}function i(e,t,n,i,a,c){var f=c&&c.target;if(E){if((!d||a&&a.stack)&&(d=a),!w)try{w=arguments.callee}catch(e){}l?f=l:(!f||u&&f==window)&&(f=u),r(e,t,n,i,d,{target:f,callee:w}),o()}else{d=a,E=!0,u=f;try{w=arguments.callee}catch(e){}}}function a(e){e=e||window.event,i(e.message,e.filename,e.lineno,e.colno,e.error||e,e)}function c(e){e=e||window.event,l=e.target||e.srcElement,f&&clearTimeout(f),f=setTimeout(function(){f=0,l=null},1)}var d,u,l,w,f,s=!1,g=[],E=!1;window.__scriptLoadError=function(e,r){if(e instanceof HTMLScriptElement){var t=e.getAttribute(“data-rup”);if(t){r&&window.define&&window.define(t,[],function(){return{}});var n=new Error(“Error loading script tag for: “+t);throw n.level=”WARN”,n}}},window.onerror=function(e,r,t,n,o){return i(e,r,t,n,o,window.event),!window.IS_DEBUG},window.addEventListener?(window.addEventListener(“error”,a,!1),window.addEventListener(“click”,c,!0),window.addEventListener(“load”,n)):window.attachEvent&&(window.attachEvent(“onerror”,a),document.attachEvent(“onmouseup”,c),window.attachEvent(“onload”,n))}(); !function(){var e,n,t=0,a=5e3;window.uiOverlay=function(l){if(document.readyState in{complete:1,loaded:1}){var i=arguments;require([“trjs!overlays/uiOverlay”],function(e){e.apply(null,i)})}else document.addEventListener&&(e=[].slice.call(arguments),t=(new Date).getTime(),n||(n=!0,document.addEventListener(“DOMContentLoaded”,function(){Date.now()-t

Show reviews that mention

All reviews nice beach black sand south end costa rica big waves san jose warm water low tide great waves night life surf lessons pura vida surfers rocks vendors condo vacation

Reviewed 3 weeks ago via mobile

Good beach for kids as the waves break a bit further out and are not that powerful when they come in. I’m not a fan of the brown sand and there is small rocks and no shells. Definitely not the nicest beach in CR but still a decent spot to watch the sunset

Date of experience: January 2021

Ask Jason S about Jaco Beach

Thank Jason S

This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC.

wesmoore

Brooklyn, New York

Reviewed January 10, 2021 via mobile

Nice beach right in town.. there are restaurants right on the beach and the sunset and sunrise is amazing and the views and great

Date of experience: January 2021

Ask wesmoore about Jaco Beach

Thank wesmoore

This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC.

942jessicap

Detroit, Michigan

Reviewed November 28, 2020 via mobile

Beach is so nice. Waves are great. Kids loved surf lessons and waves. Sunsets are unlike anything you have ever seen! Total Hawaii feel here. Felt safe. Watch foe rip currents. Swim by the life guard stand if unsure. Family loved it here.

Date of experience: November 2020

Ask 942jessicap about Jaco Beach

Thank 942jessicap

This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC.

harrygorilla

Edina, Minnesota

Reviewed October 26, 2020

There are so many beaches in Costa Rica…this isn’t that great. the sand isn’t pretty and it’s the closest beach from San Jose, so it’s popular with Costa Ricans who want to get away for the weekend. Crime is high… We went there to check out the souvenir shops and have lunch. If you are there to party, this might be your thing…lots of bars etc…

Date of experience: December 2019

Ask harrygorilla about Jaco Beach

1  Thank harrygorilla

This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC.

flsurfer

Grecia, Costa Rica

Reviewed August 22, 2020

This is not one of Costa Rica’s best beaches. First of all there are very few public access points to the beach. Other than the beach there is pretty much just souvenir shops. Worth a stop but I don’t think I’ll be going back.

Date of experience: August 2020

Ask flsurfer about Jaco Beach

Thank flsurfer

This review is the subjective opinion of a TripAdvisor member and not of TripAdvisor LLC.

View more reviews

0&&o&&(o=o[t[0]]||o[t[0].toLowerCase()]),o?(D[i]=o,d.push(o)):n.push(i)}else n&&n.push(i);else d.push(null);if(d.length===e.length)return d}function t(e){var n,r,i,t,o=”Missing immediately required dependency: “+e;for(n=0;n<10;n++){var d=v[e];if(!d){o+=" (not specified)";break}if(d.error){o+=" ("+d.error+")";break}if(e=null,t=d.deps)for(r=0;r "+e}var f=new Error(o);return y&&!window.IS_DEBUG||!g||y&&null===window.require.caller&&/^R|react$/.test(e)||g.error(f),f}function o(e,n,t){var u,a,s,p,c,h,y,g=[],w=[],m=[];n.deps=n.deps||[],n.defname&&(p=v[n.defname],v[n.defname]=n,p&&p!==n&&p.needers&&p.needers.length&&(n.needers=(p.needers||[]).concat(n.needers||[])));for(var c=0;c=0?(g.push(u.substring(0,h)),w.push(u.substring(h+1))):(g.push(null),w.push(u));if(g=i(g,m),!g)return o(m,n);for(var c=0;c0){o(n,d);continue}r=null,d.cb&&(r=d.cb.apply(null,e)),d.deps=[],d.cb=null,d.defname&&u(d.defname,r)}catch(e){P(“Error propagating dependency resolutions: “,e)}}q=null}function f(e){return function(n){e.defname&&u(e.defname,n)}}function l(e){return function(n){e.defname&&(e.error=”Error loading ‘”+e.defname+”‘: “+n,P(e.error),e.need=0,e.deps=[],a(e.defname))}}function u(e,n){if(!D[e]){var r=v[e];if(D[e]=n,delete v[e],w[e]){var i,t=e.split(“/”),o=ta;for(“ta”===t[0]&&t.shift();t.length>1;)i=t.shift(),o[i]||(o[i]={}),o=o[i];t.length>0&&(i=t.shift(),i in o||i.toLowerCase()in o||(o[i]=n,o[i.toLowerCase()]=n))}if(E&&E(e,[],s(n)),r)for(;r.needers&&r.needers.length>0;){var f=r.needers.shift();f.need-=1,f.need||b.push(f)}b.length&&!q&&(q=setTimeout(d,0))}}function a(e){var n=v[e];if(n){var r=n.eb;for(n.deps=null,n.cb=null,n.eb=null,n.error||(n.error=”Error loading ‘”+n.defname+”‘”);n.needers&&n.needers.length>0;){var i=n.needers.shift();i.error=”Failed to load AMD module ‘”+e+”‘ which is depended upon by ‘”+i.defname+”‘”,i.need>0&&(i.need=0,b.push(i)),y&&!window.IS_DEBUG||!g||g.error(i.error)}if(null!=r)try{r(n.error)}catch(e){}}b.length&&!q&&(q=setTimeout(d,0))}function s(e){return function(){return e}}function p(e){return e&&(e.indexOf(“trjs!”)!==-1||e.indexOf(“trcss!”)!==-1||e.indexOf(“trhtml!”)!==-1||e.indexOf(“trdust!”)!==-1)}function c(){return!(“undefined”!=typeof ta&&ta.page&&ta.page.loadDeferred)}function h(){var e,n,r,t,o;if(q)return void setTimeout(h,0);if(M=!0,v&&c())for(e in v)if(v.hasOwnProperty(e)){if(n=v[e],t=[],o=[],p(n.defname))continue;if(v.hasOwnProperty(“trjs!”+n.defname))continue;if(n.deps&&n.deps.length){for(r=0;r0)return void(r=setTimeout(t.apply.bind(t,this,arguments),i));var u=t.apply(this,arguments);return e=Date.now(),u}}}); define(“vanillajs”,[],function(){return{}}); define(“mobile/lite/image-loader”,[“utils/throttle”,”vanillajs”],function(t){“use strict”;function e(e,n){n=n||document,c=e||0;var i=Array.prototype.filter.call(n.querySelectorAll(“[“+u+”]”),r());if(0!=i.length){var o=t(function(t){i=i.filter(r()),0==i.length&&(window.removeEventListener(“scroll”,o),window.removeEventListener(“resize”,o))},200);window.addEventListener(“scroll”,o),window.addEventListener(“resize”,o)}}function r(){return function(t){if(!document.body.contains(t))return!1;try{if(!i(t))return!0}catch(t){return!1}var e=t.getAttribute(u);if(e)return”IMG”===t.tagName?t.src=e:t.style.backgroundImage=”url(“+e+”)”,t.removeAttribute(u),!1;var r=t.getAttribute(l);return r&&”IMG”===t.tagName&&(t.srcset=r,t.removeAttribute(l)),!0}}function n(t){t=t||document;var e=t.querySelectorAll(“[“+u+”]”);Array.prototype.filter.call(e,r())}function i(t){var e=t.getBoundingClientRect();return e.width>0&&e.height>0&&e.top+c>=0&&e.top-c<=window.innerHeight}function o(){return function(t){var e=t.getAttribute(u);return!e||("IMG"===t.tagName?t.src=e:t.style.backgroundImage="url("+e+")",t.removeAttribute(u),!1)}}function a(t){t=t||document;var e=t.querySelectorAll("["+u+"]");Array.prototype.filter.call(e,o())}var u="data-lazyurl",l="data-lazyset",c=0;return{init:e,demandLoadImages:n,forceLoadImages:a}}); define("utils/to-array",["vanillajs"],function(){return function(n){return"number"!=typeof n.length?[n]:Array.prototype.slice.call(n)}}); define("amdloaders",["utils/to-array"],function(e){var t=[],n=[],r=[],o=[],a=[],d=null,i=null,u={},s={},c={},l={},f=null,p=!1,h=1e4,m=!1,w={},v=function(e,t,r){if("@ta/"!==e.substring(0,4)){if(u[e]){if(s[e]&&/^[-a-z]+.[-_a-zA-Z0-9]+$/.test(e))return}else u[e]=!0,n.push(e);a.push(function(n){n||!t.parsed||t.parsed(e)||(n=new Error("Dynamic load failed to define module '"+e+"'")),n&&r.error&&r.error(n)}),S()}},g=function(e,t,r){u[e]||(u[e]=!0,s[e]||t.specified(e)||n.push(e)),a.push(function(n){var o=t.parsed(e);n||s[e]||o||(n=new Error("Dynamic load failed to define '"+e+"'")),n?r.error&&r.error(n):o||define(e,[],H(!0))}),t([e],r,r.error),S()},y=function(e,n,r){t.push(e),a.push(function(e){e?r.error&&r.error(e):r(!0)}),S()},C=function(e,t,n){r.push(e),a.push(function(r){r||t.specified("trhtml!"+e)||(r=new Error("Dynamic load failed to define content '"+e+"'")),r&&n.error&&n.error(r)}),S()},L=function(e,t,n){c[e]||(c[e]=!0,l[e]||o.push(e)),a.push(function(e){e?n.error&&n.error(e):n(!0)}),S()},L=function(e,t,n){c[e]||(c[e]=!0,l[e]||o.push(e)),a.push(function(e){e?n.error&&n.error(e):n(!0)}),S()},S=function(){!f&&p&&!m&&(a.length||t.length||n.length||r.length||o.length)&&(f=setTimeout(b,0))},E=function(e,t){var n=e.getAttribute("data-rup");if(n){var r;n=n.split(",");for(var o=0;o0&&(h+="&needContent="+encodeURIComponent(String(i))),window.pageServlet&&(h+="&metaReferer="+encodeURIComponent(window.pageServlet));var w=null;try{w=new XMLHttpRequest}catch(e){try{w=new ActiveXObject("MSXML2.XMLHTTP")}catch(e){try{w=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){throw new Error("Can't create XMLHttpRequest or similar")}}}var v=!1;w.onreadystatechange=function(){v||4!==w.readyState||(v=!0,w.status>=200&&w.status<=299?x(d,w.responseText):I(d,new Error("XHR returned "+w.status)))},w.open("POST","/DemandLoadAjax",!0);try{w.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8")}catch(e){}try{w.setRequestHeader("X-Requested-With","XMLHttpRequest")}catch(e){}try{w.setRequestHeader("Accept","text/html, */*")}catch(e){}m=!0,w.send(h)}},I=function(e,t){if(m=!1,S(),e.length)for(var n=0;n=l.limit&&(l.list=l.list.slice(0,l.list.length-1),l.callbacks=l.callbacks.slice(0,l.callbacks.length-1)),l.list.unshift(e),l.callbacks.unshift(t);var r=l.handlerModule;r&&l.handlerMethod&&(l.handlerModule=null,require([r+””],function(e){n(l,e[l.handlerMethod],0)}))}}function e(l,e){if(e=Array.prototype.slice.call(e),l.handler)try{l.handler.apply(null,e)}catch(l){}else if(l.list&&l.list.length=t)return!1;l.handler=n,l.priority=t;var a=l.list;l.list=null;for(var i=0;i0&&”function”==typeof e[0]&&l(o,e.slice(1),e[0])}}}); define(“ns-exporter”,[“vanillajs”],function(r){function n(r){if(“undefined”==typeof window)return null;if(“undefined”==typeof r&&(r=window),!r)return require.defined(“ta/util/Error”)&&require(“ta/util/Error”).record(null,”Using ns-exporter:exportTo without a namespace”),null;if(“string”==typeof r){var n=window;n.ta||(ta={}),r.split(“.”).forEach(function(r){n[r]||(n[r]={}),n=n[r]}),r=n}return r}return{exportTo:function(r,e,t){if(e=n(e),!e)return!1;for(var i in r)!r.hasOwnProperty(i)||t&&i in e||(e[i]=r[i]);return!0},createNs:function(r,e,t){return!!(e=n(e))&&void(e[t]=r)}}}); define(“ta/Core/TA.FireEvent”,[“vanillajs”],function(){var n={},e={};return n.on=function(n,r){var i=e[n];i||(i=e[n]=[]),i.push(r)},n.fireEvent=function(n,r){var i=Array.prototype.slice.call(arguments),t=e[n];i.shift(),t&&t.slice(0).forEach(function(n){try{n.apply(null,i)}catch(n){window.IS_DEBUG&&(console.error||console.log)(“Exception in TA.FireEvent handler”,n)}})},n.off=function(n,r){if(r){var i,t=e[n];t instanceof Array&&(i=t.indexOf(r),i>=0&&t.splice(i,1))}else delete e[n]},n.hasEventListener=function(n){return!!e[n]},n}); define(“ta/Core/TA.Event”,[“vanillajs”,”common/trackingStreams”,”ns-exporter”,”ta/Core/TA.FireEvent”],function(vanilla,tracks,nsExporter,fireEvent){function _makeClosure(e,t){var n=this;return t=Array.prototype.slice.call(t),function(){e.apply(n,t)}}function QueueTimer(e,t){var n=0,r=0,o=[],a=0,u=!1;this.start=function(){n&&clearTimeout(n),a=Date.now()},this.end=function(i){var c=Date.now(),f=c-a;r+=f;var l=””+f+”ms [“+(i||””)+”]”,s=e+(t?”-after”:””);u?console.error(“Straggler for “+s+”: “+l):(o.push(l),n=setTimeout(function(){console.error(“Timing for “+s+”: “+r+”msn”+o.sort(function(e,t){return parseInt(e)-parseInt(t)}).join(“n”)),u=!0},2e3))}}var exports={on:fireEvent.on,off:fireEvent.off,fireEvent:fireEvent.fireEvent,hasEventListener:fireEvent.hasEventListener};exports.call=function(e,t,n,r){if(null==t)return IS_DEBUG&&alert(“You must pass the event.nnUsage:nta.call(‘ta.namespace.Class.function’, event);”),!1;if(null==e)return IS_DEBUG&&alert(“ta.call of undefined function”),!1;var o=e;if(“function”==typeof e)e=””;else if(!/^ta.[wd.]+$/.test(e))return IS_DEBUG&&alert(“Invalid function name. Must be of the form: ta.namespace.Class.function”),!1;var a=t||window.event;[“stopPropagation”,”preventDefault”].forEach(function(e){a[e]||(a[e]=function(){})}),a.stop||(a.stop=function(){a.preventDefault(),a.stopPropagation()}),n||(n=a.target||a.srcElement),n||tracks.error(null,”ta.call re-wrap fail (non-DOM element) – “+e,t,{“funcName”:e});var u=arguments,i=Array.prototype.slice.call(u,3);i.splice(0,0,a,n);try{return i.unshift({callback:_ta_call_defer,evt:a}),i.unshift(o),exports.run.apply(null,i)}catch(n){tracks.error(n,”ta.call – “+e,t)}return!1};var _ta_call_defer=function(e,t){t&&delete t.evt,exports.run.apply(null,arguments)};exports.run=function(e,t){var n=arguments,r=Array.prototype.slice.call(n,2);try{var o=exports.fn(e);if(“function”==typeof o){var a=o.apply(window,Array.prototype.slice.call(r));if(t&&t.onComplete){var u=exports.fn(t.onComplete);u&&u(a)}return a}t&&t.evt&&(t.evt.stopPropagation?t.evt.stopPropagation():t.evt.cancelBubble=!0,t.evt.preventDefault?t.evt.preventDefault():t.evt.returnValue=!1);var i=_makeClosure(t&&t.callback||exports.run,arguments);require([“trjs!ta/Core/TA.Load”],function(t){try{t.load(e,i)}catch(t){tracks.error(t,”ta.run – “+e)}})}catch(t){tracks.error(t,”ta.run – “+e)}return!1};var OneTimeFunctionQueue=function(e,t,n){function r(){u=!0,c()}var o,a=[],u=!!n,i=function(n,r){o&&o.start();try{n()}catch(n){try{tracks.error(n,”OneTimeFunctionQueue “+e+(t?”-after”:””)+(r?”-“+r:””))}catch(e){}}o&&o.end(r)},c=function(){if(a.sort(function(e,t){return e.priority-t.priority||e.subpriority-t.subpriority}),t){var e=1;a.forEach(function(t){setTimeout(i.bind(null,t.func,t.name),e++)})}else a.forEach(function(e){i(e.func,e.name)});a=[]};null!=e&&(window.addEventListener?window.addEventListener(e,r,!1):window.attachEvent&&(“DOMContentLoaded”==e?window.attachEvent(“onload”,r):”load”==e?window.attachEvent(“on”+e,function(){setTimeout(r,1)}):window.attachEvent(“on”+e,r))),this.addToQueue=function(t,n,r){return t?(“string”==typeof n&&(r=n,n=!1),void(u?i(t,r):(n=n||100+a.length,a.push({func:t,priority:n,name:r,subpriority:a.length})))):void tracks.error(null,”addToQueue for “+e+” queue – no function”)},this.executeQueue=function(){c()}},loaded=”undefined”!=typeof document&&”complete”===document.readyState,ready=”undefined”!=typeof document&&”interactive”===document.readyState||loaded,_readyQ=new OneTimeFunctionQueue(“DOMContentLoaded”,!1,ready),_loadQ=new OneTimeFunctionQueue(“load”,!1,loaded),_afterLoadQ=new OneTimeFunctionQueue(“load”,!0);ready||_loadQ.addToQueue(function(){_readyQ.executeQueue()},-999999999,”checkReadyQueue”),_loadQ.addToQueue(function(){_afterLoadQ.executeQueue()},999999999,”afterLoadQueue”),exports.queueForReady=function(e,t,n){_readyQ.addToQueue(e,t,n)},exports.queueForLoad=function(e,t,n){_loadQ.addToQueue(e,t,n)},exports.queueForAfterLoad=function(e,t){_afterLoadQ.addToQueue(e,0,t)},exports.fn=function(fn){switch(typeof fn){case”function”:return fn;case”string”:var f=!1;try{f=eval(fn)}catch(e){}if(!f){var ns=fn.split(“.”),n=ns.pop();try{ns=eval(ns.join(“.”)),f=ns&&ns._magic&&ns._magic.partial(n)}catch(e){}}if(f&&”function”==typeof f)return f}return null},exports.fireClick=function(e){if(document.createEvent){var t=document.createEvent(“MouseEvents”);t.initEvent(“click”,!0,!1),e.dispatchEvent(t)}else document.createEventObject?e.fireEvent(“onclick”):”function”==typeof e.onclick&&e.onclick()},exports.throttle=function(e,t,n,r){function o(){delete m_throttles[t],a.cb()}var a,u=(new Date).getTime();if(t in m_throttles){if(a=m_throttles[t],u-a.lastResetr?o():(a.lastReset=u,a.timeout=setTimeout(o,n))};var m_throttles={};return nsExporter.exportTo(exports,ta),exports}); define(“ta/Core/TA.LocalStorage”,[“vanillajs”,”common/trackingStreams”,”ns-exporter”],function(e,t,n){“use strict”;var r=!1,o=”taLsTest”,i=”1″,a=”TALocalStorageCurrentSessionId”,u=!1,s=”session-“,l=!1,c=[],f=[],v=[],g=function(){return!(!u&&!l)},m=function(e){return!!g()||(t.error(null,”Accessing localStorage session cookie before session logic intialized: “+e),!1)},S=function(e){return d(e,”value”)},y=function(e){return d(e,”now”)},d=function(e,t){if(!t)return null;try{var n,o=JSON.parse(r.getItem(e)||”0″);return o?o.ttl&&o.ttl+o.now<(new Date).getTime()?(r.removeItem(e),null):o.hasOwnProperty(t)?(r.setItem("512",o[t]),n=r.getItem("512"),r.removeItem("512"),n):null:null}catch(e){}return null},h=function(e,t){try{var n=JSON.parse(e||"0");return n&&n.hasOwnProperty(t)?n[t]:null}catch(e){return null}},w=function(e){try{var t=JSON.parse(r.getItem(e)||"0");return t?t.ttl&&t.ttl+t.now<(new Date).getTime()?(r.removeItem(e),null):t.value:null}catch(e){}return null},I=function(e){try{r.removeItem(e)}catch(e){}},p=function(e,t){var n=y(e);if(t&&n&&n<(new Date).getTime()-t)try{r.removeItem(e)}catch(e){}},O=function(e){try{var t=r.getItem(e);if(null!==t&&void 0!==t)return!0}catch(e){}return!1},T=function(e,t,n){try{r.setItem(e,JSON.stringify({ttl:n||0,now:(new Date).getTime(),value:t}))}catch(e){}},k=function(e){if(l=!0,!e)return t.error(null,"Attempting to initialize localStorage with invalid sesion key: "+e),!1;if(!V())return!1;if(u=S(a),!u||u!=e){u=e,T(a,u);var n=S("latestPageServlet");n&&T("sessionEntryServlet",n),E(),O(a)&&require.defined("ta/Core/TA.Store")&&require("ta/Core/TA.Store").store("isFirstSessionPageView",!0)}for(var r=0;r0;if(this.delegate&&this.delegate.hasListeners)return this.delegate.hasListeners(e)}return!1},t.prototype.emit=function(e,t){if(this.events[e]){var r=Array.prototype.slice.call(arguments,1);this.events[e].slice(0).forEach(function(t){if(t)try{t.apply(this,r)}catch(t){“string”==typeof t&&(t=new Error(t));var i=”Error in event handler for “+e;if(require.defined(“ta/util/Error”))require(“ta/util/Error”).record(t,i);else{var s=require.defined(“ta”)&&require(“ta”);s&&s.log&&s.log.error?s.log.error(t,i):s&&s.m&&s.m.recordJSError?s.m.recordJSError([t,i]):”undefined”!=typeof console&&(console.error||console.log)(i,t)}}},this)}else this.delegate&&this.delegate.emit&&this.delegate.emit.apply(delegate,arguments);return this},t}); define(“ta/registration/RegEvents”,[“mixins/Events”],function(e){return new e(“success”)}); define(“post_rollup_globals_shim”,[“page-model”,”ns-exporter”,”common/trackingStreams”,”ta/registration/RegEvents”],function(e,r,t,i){var n=e.session;i.on(“success”,function(){e.session.loggedIn=!0});var o={uid:n.uid,userLoggedIn:n.loggedIn,userSecurelyLoggedIn:n.securelyLoggedIn};r.exportTo(o,”ta”);try{var s=XMLHttpRequest.prototype,u=s.send;s.send=function(e){try{var r=new RegExp(“^(/[^/]|(http(s)?:)?//”+window.location.hostname+”)”);if(this._url&&r.test(this._url)){var t=n.uid;if(require.defined(“redux-init”)){var i=require(“redux-init”);i&&i.tracking&&i.tracking.uid&&(t=i.tracking.uid)}this.setRequestHeader(“X-Puid”,t)}}catch(e){}u.call(this,e)};var a=s.open;s.open=function(e,r){return this._url=r,a.apply(this,arguments)}}catch(e){t.error(e,”Error intercepting AJAX for tracking”)}}); define(“ta/Core/TA.PageVisibility”,[“vanillajs”],function(e){“use strict”;function n(){a=!1;for(var e in s)s.hasOwnProperty(e)&&s[e]()}function t(){a=!0;for(var e in f)f.hasOwnProperty(e)&&f[e]()}function d(){var e=document[c]?f:s;for(var n in e)e.hasOwnProperty(n)&&e[n]()}function i(){“undefined”==typeof document[c]?document.addEventListener?(document.addEventListener(“focus”,n,!1),document.addEventListener(“blur”,t,!1)):(document.attachEvent(“onfocus”,n),document.attachEvent(“onblur”,t)):document.addEventListener(r,d),m=!0}function o(){“undefined”==typeof document[c]?document.removeEventListener?(document.removeEventListener(“focus”,n,!1),document.removeEventListener(“blur”,t,!1)):(document.detachEvent(“onfocus”,n),document.detachEvent(“onblur”,t)):document.removeEventListener(r,d),a=!1,m=!1}function u(e,n){var t=e.indexOf(n);return t>=0?e.splice(t,1):null}var c,r,f=[],s=[],m=!1,a=!1;return”undefined”!=typeof document.hidden?(c=”hidden”,r=”visibilitychange”):”undefined”!=typeof document.mozHidden?(c=”mozHidden”,r=”mozvisibilitychange”):”undefined”!=typeof document.msHidden?(c=”msHidden”,r=”msvisibilitychange”):”undefined”!=typeof document.webkitHidden&&(c=”webkitHidden”,r=”webkitvisibilitychange”),{addFocusListener:function(e){s.push(e),m||i()},addBlurListener:function(e){f.push(e),m||i()},removeFocusListener:function(e){e?u(s,e):s.length=0,0===s.length&&0===f.length&&o()},removeBlurListener:function(e){e?u(f,e):f.length=0,0===s.length&&0===f.length&&o()},hidden:function(){return”undefined”!=typeof document.hidden?document.hidden:a}}}); define(“utils/bounceRateUtils”,[“ta/Core/TA.PageVisibility”,”common/trackingStreams”,”ta/Core/TA.LocalStorage”,”ta/util/SessionStorage”,”page-model”],function(e,t,n,r,a){“use strict”;function i(t){if(t&&t.length&&n.canUseSession()&&r.canUseSessionStore()){S=t;var i=c(t),f=a.session.hasReferral,g=f&&a.session.isExternalReferral,j=!window.performance||!performance.navigation||0===performance.navigation.type,v=!f&&j;if(v||g||!i)o(t),s(t,0);else if(!O(S)){var d=r.getObject(h);null!==d&&0!==d||(d=Date.now()-r.getObject(m)),r.setObject(m,Date.now()),s(t,d)}O(S)||(e.addFocusListener(l),e.addBlurListener(b),n.onValueChange(w,u))}}function o(e){r.setObject(d,v()),r.setObject(m,Date.now()),r.setObject(h,0);for(var t=0;t0&&(n=n.substring(0,n.indexOf(“:”))),n}function l(){var e=Array.prototype.slice.call(arguments);require([“trjs!ta/p13n/placements-ajax”],function(n){n.loadDynamicPlacement.apply(n,e)})}function c(){var e=Array.prototype.slice.call(arguments);require([“trjs!ta/p13n/placements-ajax”],function(n){n.loadDynamicPlacement.apply(n,e)})}var i=new t(function(e){var n={};if(e)for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a]);return n.requestAJAXPlacement||(n.requestAJAXPlacement=function(e,a,t,r){require([“trjs!ta/p13n/placements-ajax”],function(l){l.requestAJAXPlacement(n,e,a,t,r)})}),{placement:n}}),o={“define”:i.define,”redefine”:i.redefine,”load”:i.load,”evCall”:i.evCall,”loadDynamicPlacement”:l,”enableAutoRefresh”:c,”getTemplateBaseFromPlacementName”:r};return n.exportTo(o,”ta.p13n.placements”),o}); define(“mixins/mixin”,[],function(){“use strict”;return function(r){var i,n,t=Array.prototype.slice.call(arguments,1);for(var e in t)if(t.hasOwnProperty(e)){i=t[e];for(n in i)r[n]=i[n]}return r}}); define(“utils/object/set-props”,[“vanillajs”],function(){“use strict”;return function(n,r){for(var t in r)r.hasOwnProperty(t)&&(n[t]=r[t]);return n}}); define(“utils/object/shallow-copy”,[“utils/object/set-props”,”vanillajs”],function(t){“use strict”;return function(r){var e;if(“object”!=typeof r||null===r)return r;if(r.constructor===Array){e=[];for(var n=0;n1?n-1:0),i=1;i1?t-1:0),r=1;r2?r-2:0),u=2;u2?r-2:0),u=2;u1?t-1:0),r=1;r=0&&e.push(n);return e}function a(t){var e=ta.page.getDates(t);return e&&e[0]?new n(e[0]):null}var u=”zu”,T={CHECKIN:{queryString:null,pathString:null},CHECKOUT:{queryString:null,pathString:null},STAYDATES:{children:[“CHECKIN”,”CHECKOUT”],queryString:”staydates”,pathString:u+”s”},EATERY:{queryString:”eaterydate”,pathString:u+”r”},DEPARTURE:{queryString:null,pathString:null},RETURN:{queryString:null,pathString:null},ROUNDTRIP:{children:[“DEPARTURE”,”RETURN”],queryString:”rtdates”,pathString:u+”t”},ONEWAYFLIGHT:{queryString:”oneway”,pathString:u+”o”},LEG_1:{queryString:”leg1date”,pathString:u+”1″},LEG_2:{queryString:”leg2date”,pathString:u+”2″},LEG_3:{queryString:”leg3date”,pathString:u+”3″},ATTRACTION:{queryString:”attrdate”,pathString:u+”a”},ATTRACTION_FROM:{queryString:null,pathString:null},ATTRACTION_TO:{queryString:null,pathString:null},ATTRACTIONRANGE:{children:[“ATTRACTION_FROM”,”ATTRACTION_TO”],queryString:”attrrange”,pathString:u+”e”},VPDATES:{children:[“VPDEPARTURE”,”VPRETURN”],queryString:”vpdates”,pathString:null},VPDEPARTURE:{queryString:null,pathString:null},VPRETURN:{queryString:null,pathString:null}};return T.getStartDateType=function(t){var e=i(t);if(0==e.length){var n=T[t].children;return n&&n.length>0?n[0]:t}return T[e[0]].children[0]},T.getEndDateType=function(t){var e=i(t);if(0==e.length){var n=T[t].children;return n&&n.length>0?n[n.length-1]:t}var r=T[e[0]];return r.children[r.children.length-1]},T.isChildDateType=function(t){return i(t).length>0},T.isSingleDateType=function(t){var e=T[t];return!(T.isChildDateType(t)||e&&e.children&&e.children.length>0)},T.getParents=i,T.isHotelDateType=function(t){return i(t).indexOf(“STAYDATES”)>=0},T.isRoundTripDateType=function(t){return i(t).indexOf(“ROUNDTRIP”)>=0},T.isAttractionRangeDateType=function(t){return i(t).indexOf(“ATTRACTIONRANGE”)>=0},T.isVacationPackagesDateType=function(t){return i(t).indexOf(“VPDATES”)>=0},T.allowsSameDayRange=function(t){return T.isAttractionRangeDateType(t)||T.isRoundTripDateType(t)},T.isMultiCityDateType=function(t){return”LEG_1″==t||”LEG_2″==t||”LEG_3″==t},T.isStartDateType=function(t){var e=i(t);return 0!=e.length&&0==T[e[0]].children.indexOf(t)},T.isEndDateType=function(t){var e=i(t);if(0==e.length)return!1;var n=T[e[0]];return n.children.indexOf(t)==n.children.length-1},T.getStartDate=function(t){var e=T.getStartDateType(t);return null==e?ta.page.getDates(t)[0]:ta.page.getDates(e)[0]},T.getEndDate=function(t){var e=T.getEndDateType(t);return null==e?ta.page.getDates(t)[0]:ta.page.getDates(e)[0]},T.getMinEnabledDate=function(t){if(T.isHotelDateType(t)||T.isRoundTripDateType(t)){var i=e.retrieve(“multiDP.minCheckInDate”);if(i)return new n(r.fromString(i))}else{if(“LEG_1″==t)return a(“ONEWAYFLIGHT”);if(“LEG_2″==t)return a(“LEG_1”)||a(“ONEWAYFLIGHT”);if(“LEG_3″==t)return a(“LEG_2”)||a(“LEG_1”)||a(“ONEWAYFLIGHT”);if(“ATTRACTION_TO”==t)return a(“ATTRACTION_FROM”)}return null},T.flattenType=function(t){var e=T[t];return e?e.children?e.children.slice(0):[t]:[]},T.getCorrespondingDateType=function(t){switch(t){case”CHECKIN”:return”CHECKOUT”;case”CHECKOUT”:return”CHECKIN”;case”DEPARTURE”:return”RETURN”;case”RETURN”:return”DEPARTURE”;case”ATTRACTION_FROM”:return”ATTRACTION_TO”;case”ATTRACTION_TO”:return”ATTRACTION_FROM”;case”VPDEPARTURE”:return”VPRETURN”;case”VPRETURN”:return”VPDEPARTURE”;default:return null}},T}); define(“mixins/page-dates/Base”,[“vanillajs”,”ta”,”mixins/page-dates/Utils”,”mixins/page-dates/DateTypeStore”],function(e,r,t,n){“use strict”;function a(e){return e instanceof Date&&!isNaN(e.getTime())}function i(e){if(!n[e])throw”Invalid date type: “+e}function s(e){var r=[];for(var t in n)n.hasOwnProperty(t)&&n[t].children&&n[t].children.indexOf(e)>=0&&r.push(t);return r}function o(e,r){var a=n[e],i=””;if(a.children)for(var s=0,o=a.children.length;s0?”_”:””)+t.dateToIso(r[a.children[s]])}else{if(“_”===r[e])return”_”;i+=t.dateToIso(r[e])}return i}function h(e,r){var t=n[e];if(t.children){for(var a=0,i=t.children.length;a=n}}function r(n){return function(){return t()n()},portrait:function(){return n()>t()},currentBreakpoints:function(){return u.filter(function(t){return”function”==typeof c[t]&&c[t]()})},is:function(t,n,e){var r=”function”!=typeof t&&c[t]?c[t]:t;return function(t,i){return r()?”undefined”!=typeof t?t:n:”undefined”!=typeof i?i:e}}};return c}); define(“mixins/page-dates/pop-calendar”,[“ta”,”common/trackingStreams”,”common/Radio”,”ta/support/Qualtrics”,”ta/Core/TA.Store”,”ta/Core/TA.LocalStorage”,”ta/util/SessionStorage”,”utils/responsive”],function(e,t,n,r,i,a,o,s){function d(){j=!1}function u(t){b=!!t.popFromDefault,D=!!t.popFromVisibleOnly,P=t.popFromVisibleOnlyBreakpoint,k=!!t.datesWereDefaulted,y=t.popCalendarType,T=!!t.hasMetaMarketingDefaultDates,E=!!t.qualtricsSurveyEnabled,O=!!t.isDetailPage,A=”Vacation_Packages”===window.pageServlet,e.page.on(“datepickerRejected”,d),e.page.on(“dateSelected”,d)}function c(e){if(a.enabled&&a.get(“popCalendarAfterRedirectedFromIB”))return a.remove(“popCalendarAfterRedirectedFromIB”),!0;if(!k||R)return!1;if(i.retrieve(“suppressCalendarPop”))return!1;if(!y)return!1;if(E&&r&&(r.canDisplay()||r.seenThisPageView())){if(!require.defined(“page-model”))return!1;if(require(“page-model”).isMobile)return!1}if(e&&D&&(!P||s.is(P,!0,!1)())&&!g(e))return!1;switch(y){case”doNot”:return!1;case”untilClosedPerServletType”:return!l();case”untilClosed”:return!p();case”always”:return!0}return b&&k}function p(){return o.canUseSessionStore()&&!!o.getObject(C)}function l(){var e=o.canUseSessionStore()&&o.getObject(C);return e&&!!e[A?”vp”:O?”detail”:”list”]}function f(){if(o.canUseSessionStore()){var e=o.getObject(C)||{};e[A?”vp”:O?”detail”:”list”]=!0,o.setObject(“pop-calendar-dismissed”,e),n(“pop-calendar”).emit(“dismissed”)}}function g(e){var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}function m(){return T}function S(n){j=!0,e.page.gatherDates(n),R=!0,t.trackEvent("DATEPICKER","auto-popped-calendar-shown",window.pageServlet),t.trackEvent("calendar","in_view","autopop")}function v(){return R}function h(){return j}function w(){k=!1}var C="pop-calendar-dismissed",b=!1,D=!1,P="",k=!1,E=!1,T=!1,y="",O=!1,R=!1,j=!1,A=!1;return{init:u,shouldPop:c,shouldPopMetaMarketing:m,popCalendar:S,wasPoppedThisPageLoad:v,isShowing:h,setUserEnteredDates:w,setDismissedThisSession:f}}); define("mixins/page-dates/default-dates",["ta","mixins/mixin","mixins/Events","mixins/page-dates/pop-calendar","mixins/page-dates/DateTypeStore","common/trackingStreams","vanillajs","ta/Core/TA.Event"],function(e,t,a,n,i,o,d,r){"use strict";function s(e){n.init(e),g=!!e.datesWereDefaulted,f=!!e.refreshLocalStorage,D=e.localStorageTTL,m=!0,S.emit("init")}function p(e){"function"==typeof e&&(m?e():S.on("init",e))}function u(t,a,d){function s(t){n.wasPoppedThisPageLoad()&&(S.emit("poppedCalendarDismissed",t),n.setDismissedThisSession(),e.page.off("datepickerRejected",s))}function p(){if(f&&(g&&o.trackEvent("DATEPICKER","undated_to_default_dated"),!a)){var t=n.shouldPop(f);(t||n.shouldPopMetaMarketing())&&(t&&S.emit("popFromDefault"),e.page.on("datepickerRejected",s),n.popCalendar(f))}}var u=d?d:"STAYDATES";if(e.page.usingUnifiedDates){e.page.hasDates(u)||e.page.clearDates(u),c=e.page.getDates(i.getStartDateType(u))[0],l=e.page.getDates(i.getEndDateType(u))[0];var f=t.querySelector('[data-datetype="'+i.getStartDateType(u)+'"]');e.page.on("dateSelected",function(a,i,d){var r,p=c&&l,f=e.page.getDates(u)[0],D=e.page.getDates(u)[1];if(t.contains(a)&&(!p&&e.page.hasDates(u)?r="undated_to_manually_dated":f==c&&D==l||(n.setUserEnteredDates(),e.page.off("datepickerRejected",s),g?(r="default_dated_to_manually_dated",g=!1):r="manually_dated_to_manually_dated"),c=f,l=D,r)){var m="";a&&a.getAttribute("data-picker-location")&&(m=a.getAttribute("data-picker-location"),document.querySelector("#PERSISTENT_TRIP_SEARCH_BAR.fixed")&&(m+="_persistent")),o.trackEvent("DATEPICKER",r,m)}}),"loading"===document.readyState?window.addEventListener("DOMContentLoaded",p):p(),r.on("specialOfferClosed",function(){a||f&&n.shouldPop(f)&&n.popCalendar(f)})}}var c,l,g=!1,f=!1,D=0,m=!1,S={init:s,onInit:p,apply:u,usingDefaults:function(){return g},shouldRefreshLocalStorage:function(){return f},getLocalStorageTTL:function(){return D}};return t(S,new a("popFromDefault"))}); define("ta/util/Deferred",["vanillajs","ns-exporter"],function(e,r){"use strict";function t(e){l.prototype[e]=function(r,t){return i(this,e,t?r.bind(t):r)}}for(var n=["success","failure","always","progress"],u={"resolved":["success","always"],"rejected":["failure","always"]},l=function(){},a=0;a=97&&e=65&&e=48&&e”,0,0,0,0,0,0,”`”,”__2D__”,”X”,”<","slot",0,"ShowUrl","Owners",0,"[","q",0,"MemberProfile",0,"ShowUserReviews",'"',"Hotel",0,0,"Expedia","Vacation","Discount",0,"UserReview","Thumbnail",0,"__2F__","Inspiration","V","Map",":","@",0,"F","help",0,0,"Rental",0,"Picture",0,0,0,"hotels",0,"ftp://"],"x":[0,0,"J",0,0,"Z",0,0,0,";",0,"Text",0,"(","x","GenericAds","U",0,"careers",0,0,0,"D",0,"members","Search",0,0,0,"Post",0,0,0,"Q",0,"$",0,"K",0,"W",0,"Reviews",0,",","__2E__",0,0,0,0,0,0,0,"{","}",0,"Cheap",")",0,0,0,"#",".org"],"z":[0,"Hotels",0,0,"Icon",0,0,0,0,".net",0,0,"z",0,0,"pages",0,"geo",0,0,0,"cnt","~",0,0,"]","|",0,"tripadvisor","Images","BookingBuddy",0,"Commerce",0,0,"partnerKey",0,"area",0,"Deals","from","\",0,"urlKey",0,"'",0,"WeatherUnderground",0,"MemberSign","Maps",0,"matchID","Packages","E","Amenities","Travel",".htm",0,"!","^","G"]},r="",a=0;a=200&&this.status=0&&w&&w>0)return H*w>=6e4?-1:(H*(w+1)>=6e4&&(T=!0),H);var e=w||0;return 0<=e&&e0?w:w+1)):(o.fireEvent(e,{},-1),l.reply("initialPollComplete",function(){return!0}),l.reply("polling_complete",function(){return!0}),l.emit("polling_complete"),o.fireEvent(R+"-polling-complete"))}function d(){N=N>0?N+1:1}function f(){if(N>1)return void(N-=1);N=0;var e=g||[];g=null;for(var t;t=e.shift();)try{t()}catch(e){}}function v(){return y}e=e||{};var h,m,g,w=1,y=0,E=!1,T=!1,x=0,P=null,S={},j=!1,A={},b={},q={},M=!!e.evaluateScripts,R=e.placement||”page”,N=0,H=e.pollTimeoutOverride||-1,L=Date.now(),C=e.tracker,O=(e.inspector,s[e.pollIntervalName||”normal”]||s.normal),X=function(e){return e?decodeURIComponent(e.replace(/+/g,” “)):e},U=function(e){var t,n;h=e.split(“#”)[0],m=h.split(“?”)[0],t=h.split(“?”)[1]||””,n=t.split(“&”);for(var r=0;r=0;t–){var n=e[t];delete A[n],E=!0}},Q=function(e,t){if(!t)return!1;for(var n=!1,r=Object.keys(t||{}),o=r.length-1;o>=0;o–){var a=r[o];e[a]!==t[a]&&(n=!0),e[a]=t[a]}return n&&(E=!0),n},z=function(e,t){if(!t)return!1;for(var n=Object.keys(t||{}),r=n.length-1;r>=0;r–){var o=n[r];e[o]=t[o]}},B=function(){$(!1)},G=function(e){var t,n,r,o=(e&&e.getAttribute(“data-paramNames”)||””).split(“,”);for(t=0;t=0?(j=!0,E&&y++,E=!1,r=++x,window.setTimeout(function(){ee(r)},i),a&&p()):(o.fireEvent(“hac-could-not-complete”),ne())}},ee=function(e){if(!P&&j&&e===x){if(N>0)return g=g||[],g.push(ee.bind(this,e)),void(window.console&&console.log&&console.log(“request held while updates are paused”));var r=++w,o=t.extend({},A,b),a=null;o.reqNum=r,o.isLastPoll=T,o.paramSeqId=y,o.waitTime=Date.now()-L,C&&C.start(r),q.UNKNOWN||(a=[],t.each(q,function(e,t){t&&a.push(e)}),o.changeSet=a.toString()),i.session.uid&&(o.puid=i.session.uid),j=!1,b={},S=q,q={};var l;try{l=new XMLHttpRequest}catch(e){try{l=new ActiveXObject(“MSXML2.XMLHTTP”)}catch(e){try{l=new ActiveXObject(“Microsoft.XMLHTTP”)}catch(e){throw new Error(“Can’t create XMLHttpRequest or similar”)}}}l.onreadystatechange=c.bind(l,r),l.open(“POST”,m,!0),”responseType”in l&&(l.responseType=”document”);try{l.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded; charset=utf-8″)}catch(e){}try{l.setRequestHeader(“X-Requested-With”,”XMLHttpRequest”)}catch(e){}try{l.setRequestHeader(“Accept”,”text/html, */*”)}catch(e){}l.send(n.toQueryString(o)),P=l}},te=function(e){if(N>0)return g=g||[],g.push(te.bind(this,e)),void(window.console&&console.log&&console.log(“update held while updates are paused”));var t;”string”==typeof e?(t=document.createElement(“div”),t.innerHTML=e):t=e;var n=j;if(P=null,S={},M){var r=t.querySelectorAll(“script”);r=r?Array.prototype.slice.call(r):[];for(var i=0;i0)return g=g||[],g.push(ne.bind(this)),void(window.console&&console.log&&console.log(“error held while updates are paused”));var e=j;P=null,S={},e?ee(++x):o.fireEvent(R+”-repoll-failed”),p()};return o.on(R+”-repoll-not-done”,B),o.on(R+”-repoll-ajax-params”,G),U(e.pageUrl||window.location.href),e.ajaxParams&&(A=t.extend(A,e.ajaxParams)),setTimeout(function(){J()||o.fireEvent(R+”-polling-complete”)},0),{setPageUrl:U,repoll:D,pause:d,resume:f,getAjaxParams:F,setAjaxParams:I,setAjaxParamsNoPoll:k,setAjaxParamsNoPollForSP:_,setOneTimeParams:W,removeAjaxParams:K,setNotDone:B,isUpdatePending:J,getLastRequestNum:V,setScriptsEval:Y,isScriptsEvalEnabled:Z,fireTargetEvents:a,getParamSeqId:v}};return c}); define(“common/page-filters”,[“babel/babel-helpers”,”mixins/mixin”,”mixins/Events”],function(t,e,n){“use strict”;function r(t,e){var n=v[t];return n&&e(n)}function i(t,e,n,r){return v[t]=new e(t,n,r),this}function u(t){return r(t,function(t){return t.isModified()})}function o(e,n){var i=this;r(e,function(r){var u=r.get();r.set(n);var o=r.get();u!==o&&i.emit(“change”,t.defineProperty({},e,{from:u,to:o}))})}function c(e,n){var i=this;r(e,function(r){var u=r.get();r.clearAll(),n.forEach(function(t){return r.set(t)});var o=r.get();u!==o&&i.emit(“change”,t.defineProperty({},e,{from:u,to:o}))})}function s(t){return t?r(t,function(t){return t.get()}):Object.keys(v).reduce(function(t,e){return t[e]=v[e].get(),t},{})}function a(t,e){return!!(t&&e&&Array.isArray(e))&&r(t,function(t){return t.isSelected(e)})}function f(e,n){var i=this;r(e,function(r){var u=r.get();r.clear(n);var o=r.get();u!==o&&i.emit(“change”,t.defineProperty({},e,{from:u,to:o}))})}function l(e){var n=this;if(!e){var i=this.get(),u=Object.keys(v).reduce(function(t,e){var n=v[e];if(!n.excludeClearAll){var r=n.get();n.clearAll(),r!=n.get()&&(t[e]={from:r,to:n.get()})}return t},{});return void(JSON.stringify(i)!==JSON.stringify(u)&&this.emit(“change”,u))}r(e,function(r){var i=r.get();r.clearAll();var u=r.get();i!==u&&n.emit(“change”,t.defineProperty({},e,{from:i,to:u}))})}function h(t,e){return r(t,function(t){return t.parse(e)})}function p(t,e){return r(t,function(t){return t.format(e)})}var v={},d=”,”,y=”#”,g=function(t,e,n){var r=this,i=!1,u=e;this.param=t,this.excludeClearAll=n,this.set=function(t){i=i||u!==t,u=t},this.get=function(){return u},this.clear=function(t){return r.set(“”)},this.clearAll=function(){return r.set(“”)},this.parse=function(t){return t?[t]:[]},this.format=function(t){return t},this.isModified=function(t){return i},this.isSelected=function(t){return t.every(function(t){return u===t})}},m=function(t,e,n){var r=this,i=!1;this.parse=function(t){return”string”!=typeof t?[]:t.split(d).filter(function(t){return””!==t}).map(function(t){return t.split(y)}).filter(function(t){return t.length>0&&””!==t[0]}).map(function(t){return{key:t[0],value:t[1]||””}})},this.format=function(t){return Object.entries(t).map(function(t){return t.join(y)}).join(d)};var u=e?this.parse(e).reduce(function(t,e){return t[e.key]=e.value,t},{}):{};this.param=t,this.excludeClearAll=n,this.set=function(t){return r.parse(t).map(function(t){i=i||!u.hasOwnProperty(t.key)||u.hasOwnProperty(t.key)&&u[t.key]!==t.value,u[t.key]=t.value})},this.get=function(){return r.format(u)},this.clear=function(t){“string”==typeof t&&t.split(d).filter(function(t){return””!==t}).map(function(t){u.hasOwnProperty(t)&&(i=i||u.hasOwnProperty(t),delete u[t])})},this.clearAll=function(){return u={}},this.isModified=function(t){return i},this.isSelected=function(t){return t.every(function(t){return u.hasOwnProperty(t.key)&&u[t.key]===t.value})}},O=function(t,e,n){var r=!1;this.parse=function(t){return t.split(d).filter(function(t){return!!t})},this.format=function(t){return t.join(d)};var i=e?this.parse(e).reduce(function(t,e){return t[e]=!0,t},{}):{};this.param=t,this.excludeClearAll=n,this.set=function(t){var e=t.split(“,”);for(var n in e)if(e.hasOwnProperty(n)){var u=e[n];r=r||!i.hasOwnProperty(u),i[u]=!0}},this.get=function(){return Object.keys(i).join(d)},this.clear=function(t){var e=t.split(“,”);for(var n in e)if(e.hasOwnProperty(n)){var u=e[n];r=r||i.hasOwnProperty(u),delete i[u]}},this.clearAll=function(){r=r||Object.keys(i).length>0,i={}},this.isModified=function(t){return r},this.isSelected=function(t){return t.every(function(t){return i.hasOwnProperty(t)&&i[t]})}},A=function(t,e,n){var r=this;this.parse=function(t){},this.format=function(t){return””};var i=!1;this.param=t,this.excludeClearAll=n,this.set=function(t){return i=!0},this.get=function(){return null},this.clear=function(t){i&&(P.emit(“cleared-“+r.param),i=!1)},this.clearAll=function(){return r.clear(null)},this.isModified=function(t){return!1},this.isSelected=function(t){return!1}},P=e({SingleValueFilter:g,MultiValueFilter:O,FauxFilter:A,KeyValueFilter:m,register:i,set:o,isModified:u,setAll:c,get:s,isSelected:a,clear:f,clearAll:l,parse:h,format:p},new n(“change”));return P}); define(“commerce/offerclickEvents”,[“mixins/Events”,”vanillajs”],function(e){“use strict”;return new e(“beforeClick”,”afterClick”)}); define(“utils/stopevent”,[“vanillajs”],function(){return function(e){return e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1),!1}}); define(“utils/waiton”,[“vanillajs”],function(){return function(n,i,t){function o(){–u0&&(e=setTimeout(function(){u=0,o()},t)))):void i()}}); define(“ta/popups/PollForPartnerLoad”,[“common/trackingStreams”],function(t){var e=function(n,E,r,a,o){n&&setTimeout(function(){var C=null,c=(new Date).getTime()-E.getTime();try{C=n.document}catch(t){}C?c>2e4?t.trackEvent(“COMMERCE_CLICK”,”PROVIDER_TIMEOUT”,r||””,c):n.closed?t.trackEvent(“COMMERCE_CLICK”,”PROVIDER_CLOSED”,r||””,c):e(n,E,r,a,o):t.trackEvent(“COMMERCE_CLICK”,”PROVIDER_LOADED”,(o||window.pageServlet||””)+”|”+(a||””)+”|”+(r||””),c)},100)};return e}); define(“ta/Browser”,[“vanillajs”,”ns-exporter”],function(e,n){var t,r={},i=function(){return navigator.userAgent.indexOf(“MSIE 10.0”)>=0},o=r.isIE11orHigher=function(){return navigator.userAgent.toLowerCase().indexOf(“trident/7.”)>-1||navigator.userAgent.toLowerCase().indexOf(“msie 11.”)>-1};return r.isIE9orHigher=function(){return navigator.appVersion.indexOf(“MSIE 9”)>=0||i()||o()},r.isIE10Metro=function(){return i()&&r.isIEMetro()},r.isIEMetro=function(){var e=null,n=o(),t=n?127:0,r=window.innerWidth==screen.width&&screen.height-window.innerHeight===t;try{e=!!new ActiveXObject(“htmlfile”)}catch(n){e=!1}return!e&&r&&(n||i())},r.isIE=function(){return navigator.userAgent.indexOf(“MSIE”)>=0},r.isChrome=function(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)},r.getFlashVersion=function(){if(“number”!=typeof t){var e;try{e=navigator.plugins[“Shockwave Flash”].description}catch(n){try{e=new ActiveXObject(“ShockwaveFlash.ShockwaveFlash”).GetVariable(“$version”)}catch(e){}}var n=(e||”0 r0″).match(/d+/g);t=Number(n[0]||”0.”+n[1])||0}return t},r.isChromeIncognito=function(e){var n=window.RequestFileSystem||window.webkitRequestFileSystem;return n&&”function”==typeof n?void n(window.TEMPORARY,100,function(){e(“normal”)},function(){e(“incognito”)}):void e(“undetermined”)},n.exportTo(r,”ta.browser”),r}); define(“utils/json-to-url”,[“vanillajs”],function(){“use strict”;return function(n){return n?Object.keys(n).map(function(e){return encodeURIComponent(e)+”=”+encodeURIComponent(n[e])}).join(“&”):””}}); define(“mobile/lite/ajax-request”,[“utils/json-to-url”,”vanillajs”],function(t){function e(t){var e=document.createElement(“a”);return e.href=t,e.protocol!==window.location.protocol||e.host!==window.location.hostname}return function(s,o){“object”==typeof s&&(o=s,s=o.url),o=o||{};var n=o.method||o.type||”GET”,r=”string”==typeof o.data?o.data:t(o.data);return new Promise(function(t,a){var i=new XMLHttpRequest;i.onreadystatechange=function(){this.readyState===XMLHttpRequest.DONE&&(200===this.status?(o.success&&o.success(this.responseText,this.status,i),t(this.responseText)):(o.error&&o.error(i,this.status,this.statusText),a(this.responseText)),o.complete&&o.complete(i,this.statusText))},”get”==n.toLowerCase()&&”string”==typeof r&&r.length>0&&(s+=(“?”==r[0]?””:”?”)+r,r=null),i.open(n,s,!o.synchronous),i.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”),e(s)||i.setRequestHeader(“X-Requested-With”,”XMLHttpRequest”),i.send(r)})}}); define(“utils/cookieutils”,[“vanillajs”,”mobile/lite/ajax-request”],function(t,e){“use strict”;var o=function(t){return”undefined”!=typeof t&&null!==t},n=function(t){return t.replace(/([-.*+?^${}()|[]/\])/g,”\$1″)},i=function(){var t=window.location.host.match(/.tripadvisor..*/);return null!=t?t=t[0]:null},a=function(t,e,n){if(o(n.doNotEscape)&&n.doNotEscape||(e=encodeURIComponent(e)),e+=n.domain?”; domain=”+n.domain:”; domain=”+i(),n.path&&(e+=”; path=”+n.path),n.duration){var a=new Date;a.setTime(a.getTime()+1e3*n.duration),e+=”; expires=”+a.toGMTString()}n.secure&&(e+=”; secure”);var r=”%1%”;o(n.ignoreVersion)&&n.ignoreVersion&&(r=””),document.cookie=t+”=”+r+e};return{addPidToCookie:function(t){o(t)&&0!==t.length&&a(“NPID”,t,{path:”/”,duration:5,ignoreVersion:!0})},roybatty:function(){var t,o=i(),n=window.taSecureToken;if(window.taEarlyRoyBattyStatus)window.taEarlyRoyBattyStatus>1&&ta&&ta.trackEventOnPage&&ta.trackEventOnPage(“early_roy_batty”,”confirm”,””,0,!0);else if(t=this.getCookie(“roybatty”)){var a=t.split(“,”);if(a&&2==a.length){var r=parseInt(a[1],10);document.setCookie(“roybatty”,n+”,”+r,{domain:o,ignoreVersion:!0,path:”/”})}}else document.setCookie(“roybatty”,n+”,1″,{domain:o,ignoreVersion:!0,path:”/”}),e({method:”POST”,url:”/CookiePingback”})},getCookie:function(t){var e=document.cookie.match(“(?:^|;)\s*”+n(t)+”=([^;]*)”);return e?(e=e[1],0===e.indexOf(“%1%”)&&(e=e.substring(3)),decodeURIComponent(e)):null},setCookieInSeconds:a}}); define(“commerce/cookieSetter”,[“vanillajs”,”utils/cookieutils”],function(e,i){function o(){var e=require.defined(“page-model”)&&require(“page-model”);e&&e.session.uid&&i.setCookieInSeconds(n,e.session.uid,{duration:10,ignoreVersion:!0})}var n=”comm_puid”;return o}); define(“commerce/offerclick”,[“ta”,”mixins/mixin”,”commerce/offerclickEvents”,”utils/urlutils”,”utils/stopevent”,”utils/waiton”,”ta/popups/PollForPartnerLoad”,”ta/Browser”,”ta/util/Cookie”,”commerce/cookieSetter”],function(e,t,r,o,n,i,c,a,l,u){“use strict”;function f(e){if(“string”!=typeof e)return e;var t=o.asdf(e.trim()).replace(/&/g,”&”);if(“undefined”!=typeof window&&window.crPageServlet&&(t=t.replace(E,”$1from=HotelDateSearch_”+crPageServlet),E.test(t)||(t+=”&from=”+crPageServlet)),”undefined”!=typeof document&&document.location&&document.location.href){var r=o.getUrlPageLoc(document.location.href);r&&(t+=”&pageLocId=”+r)}var n=o.getUrlQueryArgs(t);return t=t.replace(P,””),{url:t,isBooking:t.indexOf(“/StartBooking”)>=0||t.indexOf(“/MobileHotelBookingRoomSelection”)>=0,ttP:n.tp,ttIK:n.ik,ttAOK:n.aok,slot:n.slot,providerName:n.p,ik:n.ik,locId:n.d||n.geo,area:n.area,contentId:n.src_0||n.src,trackingContext:n.btc,selectedPrice:n.priceShown,offerStr:n.gosox||””,openBehavior:n.ob}}function d(e){“function”==typeof e&&I.push(e)}function s(){_=!0}function m(t){return”same_tab”!==t.openBehavior&&((!t.isBooking||!a.isIE10Metro())&&”undefined”!=typeof e)}function p(){try{document.domain=document.domain}catch(e){return!0}return!1}function v(e,t){t=f(t);var r=p(),o=window.open(r?t.url:””,”_blank”);return!o&&”undefined”!=typeof Browser&&Browser.ie&&t.isBooking?(l.setPIDCookie(38822),void k(e,t)):(r||(o?o.location=t.url:window.location=t.url),I.forEach(function(r){r(e,t,function(){})}),void c(o,new Date,t.providerName,t.slot))}function k(t,r){r=f(r);var o=250;i(I.map(function(e){return e.bind(null,t,r)}),function(){“undefined”!=typeof e&&e.retrieve&&e.retrieve(“ta.isIE11orHigher”)?window.open(r.url,”_self”,null,!1):window.location.href=r.url},o)}function g(t,o,i,c,a){if(t&&!c&&n(t),i=f(i),_){if(i&&B===i.offerStr)return!1;setTimeout(function(){B=null},1e3),B=i&&i.offerStr}if(r.emit(“beforeClick”,i),e.store&&e.retrieve&&o&&i&&i.ttIK&&i.selectedPrice){var l=e.retrieve(“CLICK_PRICE_DOUBLE_CHECK”);l||(l={}),l[i.ttIK]=String(i.selectedPrice),e.store(“CLICK_PRICE_DOUBLE_CHECK”,l)}return require.defined(“ta/Core/TA.Event”)&&setTimeout(function(){try{require(“ta/Core/TA.Event”).fireEvent(“metaLinkClick”,o,i.isBooking?”TripAdvisor”:i.providerName,i.area,i.locId,i.contentId,”new_tab”,i.slot),i.isBooking&&require(“ta/Core/TA.Event”).fireEvent(“ibOfferClick”,o)}catch(e){require.defined(“ta/util/Error”)&&require(“ta/util/Error”).record(e,”Commerce click tracking failed”,null,{servlet:window.pageServlet,url:i.url,area:i.area})}},300),(!b||!b(i))&&(u(),”same_tab”===a?k(o,i):m(i)||”new_tab”===a?v(o,i):k(o,i),r.emit(“afterClick”,i),!1)}function w(e){b=e}function C(e,t){var r=t.getAttribute(“data-clicktoken”);r&&require([“ta/page”],function(){g(e,t,r)})}var E=new RegExp(“(&|\?)from=[^&]*”),P=new RegExp(“(&|\?)ob=[^&]*”),I=[],b=null,B=null,_=!1,S={expandToken:f,clickEvent:g,compElementClick:C,registerAsyncPreclick:d,setPreClickHandler:w,enableMultiTapPrevention:s};return t(S,r)}); define(“ajax-request”,[“utils/json-to-url”,”utils/urlutils”],function(t,e){function r(t){var r=document.createElement(“a”);r.href=t;var s=e.getParts(r.href);return s.protocol!==window.location.protocol||s.host!==window.location.hostname}function s(t,e,s){try{r(t)||e.setRequestHeader(“X-Requested-With”,”XMLHttpRequest”)}catch(t){}try{var n=s[“content-type”]||”application/x-www-form-urlencoded; charset=utf-8″;e.setRequestHeader(“Content-Type”,n)}catch(t){}try{var o=s.accept||”text/html, */*”;e.setRequestHeader(“Accept”,o)}catch(t){}try{var a=s[“x-requested-by”];a&&e.setRequestHeader(“X-Requested-By”,a)}catch(t){}}function n(){try{return new XMLHttpRequest}catch(t){try{return new ActiveXObject(“MSXML2.XMLHTTP”)}catch(t){try{return new ActiveXObject(“Microsoft.XMLHTTP”)}catch(t){throw new Error(“Can’t create XMLHttpRequest or similar”)}}}}return function(e,r){“object”==typeof e&&(r=e,e=r.url),r=r||{};var o=r.method||r.type||”GET”,a=”string”==typeof r.data?r.data:t(r.data);return new Promise(function(t,c){var u=n(),i=!1;u.onreadystatechange=function(){i||u.readyState!==XMLHttpRequest.DONE||(i=!0,u.status>=200&&u.status0&&(r.error&&r.error(u,this.status,this.statusText),c(this.responseText)),r.complete&&r.complete(u,this.statusText))},”get”===o.toLowerCase()&&”string”==typeof a&&a.length>0&&(e+=(“?”===a[0]?””:”?”)+a,a=null),u.open(o,e,!r.synchronous),s(e,u,r),u.send(a)})}}); define(“utils/BatchRequest”,[“ajax-request”],function(e){“use strict”;function n(e,n){r[e]=r[e]||[],r[e].push(n),i&&clearTimeout(i),i=setTimeout(t,a)}function t(n){for(var t in r)if(r.hasOwnProperty(t)){for(var a={batched:!0},i=r[t],u=0;uo,i=e.currentBreakpoints(),f=r(u,i,t);f.forEach(function(n){var e=t?”over-“:”under-“;c.emit(e+n)}),f.length&&c.emit(“breakpoint”,i[0]),u=i,o=n}}var o=document.documentElement.clientWidth,u=e.currentBreakpoints(),f=[“breakpoint”];e.breakpoints.forEach(function(n){f.push(“over-“+n,”under-“+n)});var c=n.create(f);return c.onOver=function(n,e){c.on(“over-“+n,e)},c.onUnder=function(n,e){c.on(“under-“+n,e)},c.offOver=function(n,e){c.off(“over-“+n,e)},c.offUnder=function(n,e){c.off(“under-“+n,e)},window.addEventListener(“resize”,t(i,100)),c}); define(“responsive/breakpoint-tracker”,[“babel/babel-helpers”,”common/trackingStreams”,”utils/ResponsiveEvents”,”utils/responsive”,”vanillajs”],function(e,n,t,i){“use strict”;function r(e){var t=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,r=”mobile”===e?320:i.widths[e];n.trackEvent(“Breakpoint”,r,t)}function o(){s||(r(i.currentBreakpoints()[0]),t.on(“breakpoint”,r),s=!0)}var s=!1;return{init:o}}); define(“utils/classnameUtils”,[“vanillajs”],function(){function s(s){return e[s]?e[s].lastIndex=0:e[s]=new RegExp(“(\s|^)”+s+”(\s|$)”,”g”),e[s]}var a={},e={};return a.hasClass=function(a,e){return!!a&&(a.classList?a.classList.contains(e):s(e).test(a.className))},a.addClass=function(s,e){s&&e&&(s.classList?s.classList.add(e):a.hasClass(s,e)||(s.className+=” “+e))},a.removeClass=function(a,e){a&&e&&(a.classList?a.classList.remove(e):a.className=a.className.replace(s(e),” “))},a.toggleClass=function(s,e,n){s&&(n||void 0===n&&!a.hasClass(s,e)?a.addClass(s,e):a.removeClass(s,e))},a.getParentByClassname=function(s,e){for(var n=s&&s.parentNode;n;n=n.parentNode)if(a.hasClass(n,e))return n;return null},a}); define(“responsive/text-resizer”,[“babel/babel-helpers”,”utils/to-array”,”utils/classnameUtils”,”utils/throttle”,”utils/ResponsiveEvents”,”vanillajs”],function(t,e,i,r,n){function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return!t===document&&(t=document.body),e(t.querySelectorAll(“.”+p)).filter(function(t){return!!t[v]})}function u(e){e.style.fontSize=null;var i=(getComputedStyle(e)||{}).fontSize;if(!i)return{};var r=i.match(b),n=t.slicedToArray(r,3),l=(n[0],n[1]),u=n[2],o=parseFloat(l);return o&&o>.001&&z[u]?{originalSize:o,units:u,multiplier:1,minMult:Math.max(y,z[u]/o)}:{}}function o(t){if(t[v])return t[v];var e=u(t);return e.originalSize?(t[v]=Object.assign(e,{group:t.getAttribute(h),multApplied:1}),t[v]):null}function a(t){for(var e=0;e0)||t.scrollWidth<=t.clientWidth)return!1;var e=t[v],i=(parseFloat(t.style.paddingLeft)||0)+(parseFloat(t.style.paddingRight)||0),r=t.scrollWidth-i;if(r<1)return!1;var n=(t.clientWidth-i-2)/r;return n=Math.min(n,.95)*e.multiplier,nt.clientWidth&&(t[v].multiplier=t[v].minMult)}))}function c(t){var e=t[v];if(!(e&&e.multApplied!=e.multiplier&&e.multiplier>0))return!1;var i=Math.max(z[e.units],e.originalSize*e.multiplier);return t.style.fontSize=””+i+e.units,e.multApplied=e.multiplier,!0}function s(t){if(t&&t.length){var e={};t.forEach(function(t){var i=t[v];i.group?e[i.group]=1:c(t)}),Object.keys(e).length&&(t=l(document.body).filter(function(t){var i=t[v],r=i.group;return!!(i&&r&&e[r]&&i.multiplier>0)&&(e[r]>i.multiplier&&(e[r]=i.multiplier),!0)}),t.forEach(function(t){var i=t[v];i.multiplier=e[i.group],c(t)}))}}function f(t){if(t&&(E||(E=!0,f(document.body),t!==document&&t!==document.body))){var c=e(t.querySelectorAll(“.”+m));if(c.length){c.forEach(function(t){i.removeClass(t,m),i.addClass(t,p)});var h=[];c=c.filter(function(t){var e=o(t);return!!e||(h.push(t),!1)}),a(c),h.forEach(function(t){i.removeClass(t,p),i.addClass(t,m)}),s(c),S||(window.addEventListener(“resize”,r(function(){d(document.body)},50)),n.on(“breakpoint”,function(){l(document.body).forEach(function(t){return Object.assign(t[v],u(t))})}),S=!0)}}}function d(t){var e=l(t);a(e),s(e)}var m=”autoResize”,p=”__resizeWatch”,h=”data-sizegroup”,v=”__resizerContext”,g=4,y=.5,b=/^(d+(?:.d+)?)(.*)$/,z={“px”:8.5,”em”:.5,”pt”:6,”%”:50},E=!1,S=!1;return{init:f,refresh:d}}); define(“Logging”,[],function(){var e=”undefined”!=typeof IS_DEBUG&&IS_DEBUG?4:1;”boolean”==typeof __SERVER__&&__SERVER__&&(e=4);for(var n={},o=[“error”,”warn”,”dir”,”info”,”debug”],r=0;r4,a=(15&c)>2,h=(3&f)c}function i(e){var t=/TAP|.+?(?=%2F)/.exec(e),n=t[0],r=o(n),u=e.replace(n,r);window.open(u)}var d=”TAP|”,c=d.length;return{decodeUrl:t,getUrl:n,goToLink:r,decodeProductCode:o,isObfuscatedProductCode:u,goToCommerceLinkWithProductCode:i}}); define(“ta/Core/TA.Record”,[“vanillajs”,”ns-exporter”,”ta/Core/TA.Store”,”purify”,”ajax-request”,”utils/objutils”,”utils/urlDecoder”],function(e,t,n,r,a,i,o){“use strict”;var u={},l={},c=[],s=8,d=”impressionTrackingTree”,g=0,f=1,v=2,p=”UserTracking”,m=”impression”,h=”action”,k=”pageview”,y=”search”,E=[],T=60,P=function(e){return”function”==typeof e},b=function(e,t){try{if(!e||”object”!=typeof t)return;if(window.JSON&&JSON.stringify){var n=JSON.stringify(t);n&&n.length<1e5&&(E.push([e,n]),E.length>T&&E.shift())}}catch(e){}},_=function(e,t,n,r){a(e,t).then(n,r),b(e,t)},S=function(){if(require.defined(“ta/util/Error”)){var e=require(“ta/util/Error”);e.record.apply(e,arguments)}else ta&&ta.m&&P(ta.m.recordJSError)&&ta.m.recordJSError(arguments)},C=function(e){return”undefined”==typeof e||null==e?””:(“string”!=typeof e&&(e=e.toString()),e.replace(/!/g,”!!”).replace(/./g,”!.”).replace(/*/g,”!*”))},w=function(e){var t=[];for(var n in e){var r=e[n];t.push(C(n)+”.”+C(r))}return t.join(“*”)},A=function(e){return”undefined”==typeof e||null===e?””:(“string”!=typeof e&&(e=e.toString()),e.replace(/!/g,”!!”).replace(/./g,”!.”).replace(/*/g,”!*”).replace(/~/g,”!~”))},N=function(e){var t=[];for(var n in e){var r=e[n];t.push(A(n)+”.”+A(r))}return t.join(“*”)},R=function(e){var t=/(https?://[^/]+)?/([^#.?-]*)/,n=t.exec(e);return n&&”undefined”!=typeof n[2]?n[2]?n[2]:”Home”:null},O=function(){var e=u.getPageData();if(e&&e.url)return e.url.substring(1);var t=//([^-]*)/.exec(window.location.pathname);return t?t[1]:null},I=function(){var e=ta.uid;if(require.defined(“redux-init”)){var t=require(“redux-init”);t&&t.tracking&&t.tracking.uid&&(e=t.tracking.uid)}return e},x=function(e,t,n){var r=new RegExp(“(-“+t+”([0-9]+))|([?&]”+n+”=([0-9]+))”),a=r.exec(e);if(a){if(“undefined”!=typeof a[2])return a[2];if(“undefined”!=typeof a[4])return a[4]}return null},M=function(e){return x(e,”d”,”detail”)||x(e,”g”,”geo”)},q=function(e){var t=document.cookie.match(“(?:^|;)\s*”+e+”=([^;]*)”);return!!t&&(t=t[1],0===t.indexOf(“%1%”)&&(t=t.substring(3)),decodeURIComponent(t))},L=function(e,t,n){try{var r;n.encode&&(t=encodeURIComponent(t)),n.domain&&(t+=”; domain=”+n.domain),n.path&&(t+=”; path=”+n.path),n.duration&&(r=new Date,r.setTime(r.getTime()+1e3*n.duration),t+=”; expires=”+r.toGMTString()),n.secure&&(t+=”; secure”),document.cookie=e+”=”+t}catch(e){S(e,”_setCookieInSeconds”,null,arguments)}},D=function(){return ta.m&&ta.m.store&&ta.m.store.has(“bookingSessionId”)?ta.m.store.get(“bookingSessionId”):null},H=function(){var e=!1;return”boolean”==typeof ta.userLoggedIn&&(e=”boolean”==typeof ta.userSecurelyLoggedIn?ta.userLoggedIn?ta.userSecurelyLoggedIn?v:f:g:ta.userLoggedIn),e},U=function(e,t){var r={gac:e[1],gaa:e[2],gal:e[3],gav:e[4],gani:e[5],gass:O(),gasl:M(document.location.href),gads:R(t),gadl:M(t),gapu:I(),gams:H()},a=D();if(!r.gass)throw new Error(“Src servlet undefined, gac:”+r.gac+”, gaa:”+r.gaa+”, gal:”+r.gal);if(!r.gads)throw new Error(“Dst servlet undefined. gac:”+r.gac+”, gaa:”+r.gaa+”, gal:”+r.gal);n.has(“gatt”)&&(r.gatt=n.retrieve(“gatt”)),a&&(r.bsid=a),L(“EVT”,w(r),{domain:cookieDomain,duration:5,encode:!0,path:”/”})},j=function(e){if(!e||!e.className||!e.firstChild)return!1;var t=new RegExp(“\b”+d+”\b”),n=e.firstChild.nodeType,r=e.firstChild.nodeValue;return t.test(e.className)&&n===s&&””!==r},J=function(){};require.defined(“page-model”)&&require([“page-model”],function(e){var t=e.session,r=t.analyticsInfo;r&&(n.keep(“partials.pageProperties”,r.pagePropertyStringForCurrentPageview),n.store(“gaMemberState”,r.memberState),t.analyticsInfo&&require.defined(“ta/Core/TA.Prerender”)&&require(“ta/Core/TA.Prerender”)._init(!0)),J=function(){r&&c.push(JSON.parse(r.jsonForCurrentPageview)),J=function(){}}}),u.getPageData=function(){return J(),c[c.length-1]},u.pushPageData=function(e){J(),e&&c.push(e)},u._GARecordRequest=function(e,t){var r,a={gac:e[1],gaa:e[2],gal:e[3],gav:e[4],gani:e[5],gass:O(),gasl:document.location?M(document.location.href):null,gapu:I(),gams:H()},i=D();return t&&(a.gacl=t),n.has(“gatt”)&&(a.gatt=n.retrieve(“gatt”)),i&&(a.bsid=i),r=require.defined(“utils/BatchRequest”)?{get:function(){require(“utils/BatchRequest”).queue(“/GARecord”,a)}}:{get:function(){setTimeout(function(){var e=new XMLHttpRequest;e.open(“GET”,”/GARecord?”+W(a),!0),e.send(null)},1)}},b(“/GARecord”,a),r};var W=function(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+”=”+encodeURIComponent(e[n]));return t.join(“&”)};l.urlArgLookup=function(e,t){var n=new RegExp(“[\?&]”+e+”=(\w+)”),r=n.exec(t);return r&&”undefined”!=typeof r[1]?r[1]:null},u._validatedTrackEventArray=function(e,t,n,r,a){return e&&”string”!=typeof e&&(e=e.toString()),t&&”string”!=typeof t&&(t=t.toString()),n&&”string”!=typeof n&&(n=n.toString()),r?”number”!=typeof r&&(r=parseFloat(r),isNaN(r)&&(r=0)):r=0,”boolean”!=typeof a&&(a=a===!0),[“_trackEvent”,e,t,n,r,a]},u._toEvtParams=function(e){try{var t={gac:e.module,gaa:e.action,gal:e.context,gav:e.value,gani:e.noninteraction};return t.gass=O(),t.gasl=M(document.location.href),t.gapu=I(),t.gams=H(),t}catch(t){S(t,”analytics._toEvtParams”,null,e)}},u._trackEventAfterAjax=function(e){try{l.trackDMPBehavior(e.module,e.action,e.context,e.value,e.noninteraction)}catch(t){S(t,”analytics._trackEventAfterAjax”,null,e)}},l.getEventPathOptions=function(e,t,n){try{var r=z(n,e);if(!r)return void S(null,”ta.getEventPathOptions – invalid element”,null,arguments);var a=$(r);return t&&(a.noninteraction=t),a}catch(e){S(e,”ta.getEventPathOptions”,null,arguments)}},u._trackEventPathAfterAjax=function(e){try{l.trackEventOnPage(e.category,e.action,e.label,e.value,e.noninteraction)}catch(e){S(e,”analytics._trackEventPathAfterAjax”,null,arguments)}},l.trackPhysicalCommerce=function(e,t,n,r){try{var a=u._validatedTrackEventArray(e,”Commerce-Physical”,t,n,!1);u._GARecordRequest(a,r).get()}catch(e){S(e,”ta.trackPhysicalCommerce”,null,arguments)}},l.trackAttemptedCommerce=function(e,t,n){try{l.trackDMPBehavior(e,t,n,null,null)}catch(e){S(e,”ta.trackAttemptedCommerce”,null,arguments)}},l.trackPhysicalAndAttemptedCommerce=function(e,t,n,r,a){l.trackPhysicalCommerce(e,t,r,a),l.trackAttemptedCommerce(e,t,n,r)},l.trackImpressionEventOnPage=function(e,t,n,r){e=e||””,t=t||””,n=n||””,r=r||0,l.trackEventOnPage(e,t,n,r,!0)},l.trackEventOnPage=function(e,t,n,r,a){o.isObfuscatedProductCode(e)&&(e=o.decodeProductCode(e)),o.isObfuscatedProductCode(t)&&(t=o.decodeProductCode(t)),o.isObfuscatedProductCode(n)&&(n=o.decodeProductCode(n));try{var i=u._validatedTrackEventArray(e,t,n,r,a);u._GARecordRequest(i).get()}catch(e){S(e,”ta.trackEventOnPage”,null,arguments)}},l.trackEventOnPageOnce=function(e,t,r,a){var i,o=”eventsAlreadyTracked”;i=”object”==typeof ta&&ta.m&&ta.m.store?ta.m.store.get(o):n.retrieve(o),i||(i={},”object”==typeof ta&&ta.m&&ta.m.store?ta.m.store.add(o,i):n.store(o,i));var u=e+”|”+t+”|”+r;i[u]||(l.trackEventOnPage(e,t,r,0,a),i[u]=!0)},l.trackDMPBehavior=function(e,t,n,r,a){},l.setEvtCookie=function(e,t,n,r,a){try{var i=u._validatedTrackEventArray(e,t,n,r,!1);if(U(i,a),require.defined(“ta/common/behavior/dmp/DMP”)){var o=require(“ta/common/behavior/dmp/DMP”);o.isEnabled()&&o.sendEventBehavior(e,t,n,r,Z())}}catch(e){S(e,”ta.setEvtCookie”,null,arguments)}};var G=function(e){var t;try{if(t=q(“MEVT”)||””,t.length>0&&(t+=”~”),t+=N(e),t.length>1024)throw”MEVT Cookie is full”;L(“MEVT”,t,{domain:cookieDomain,duration:5,encode:!0})}catch(e){return S(e,”_appendMevtCookie”,null,arguments),!1}return!0},B=”trk”,V=B.length,F=”etk”,X=/^([A-Z]{1,2}:)?[A-Za-z_0-9-.]+$/,Z=function(){var e=”undefined”!=typeof event?event:window.event;return e?e.target||e.srcElement:document.activeElement};u.getCommentTrackingPath=function(e,t){return z(e,t)};var z=function(e,t){if(e=r(e),!e&&(e=Z(),!e))return S(null,”_getCommentTrackingPath – no element provided or event target element”,null,arguments),null;if(1!=e.nodeType)return null;var n=[];if(t&&”string”==typeof t&&””!==t&&X.test(t)){if(“P:”==t.substring(0,2))return n.push(t.substring(2)),n;n.push(t)}if(“undefined”==typeof e.previousSibling)return S(null,”_getCommentTrackingPath – browser does not support previousSibling”,null,arguments),n;e:for(var a=e;a!=document.body;a=a.parentNode){if(null==a){S(null,”_getCommentTrackingPath – LOOP_PARENT_NODES got unexpected null node”,null,arguments);break}for(var i=0,o=a.previousSibling;null!=o;o=o.previousSibling)if(o.nodeType==s){var u=o.nodeValue;if(u==F){i++;continue}if(u.substring(0,V)!=B)continue;if(i>0){i–;continue}var l=u.substring(V).split(“/”);l||S(null,’ta._getCommentTrackingPath – cannot split context class: “‘+u+'”‘,null,arguments);for(var c=l.length-1;c>=0;c–){var d=l[c],g=X.exec(d);if(g){if(“P:”==g[1]){var f=g[0].substring(2);n.push(f);break e}n.push(g[0])}else S(null,’ta._getCommentTrackingPath – tracking prefix used with invalid context: “‘+l[c]+'”‘,null,arguments)}}}return n},$=function(e){if(0===e.length)return null;var t={“action”:e[0],”label”:””,”value”:”1″,”category”:e[e.length-1]};e.shift();for(var n=e.length-2;n>=0;n–)t.label+=e[n],n>0&&(t.label+=”/”),”N:”==e[n].substring(0,2)&&(t.value=e[n].substring(2));return””===t.label&&(t.label=”Unknown”),t};l.trk=function(e,t,n,a){n=r(n);try{var i=n?n.getAttribute(“data-trk-path”):null;if(i)i=i.replace(“P:”,””),i=i.split(“/”),i.reverse();else if(i=z(n,e),!i||!i.length){var o=””;if(n)if(n.outerHTML){var u=document.createTextNode(n.outerHTML),c=document.createElement(“div”);c.appendChild(u),o=c.innerHTML.substring(0,100)}else n.nodeName?o=n.nodeName:o+=n;else void 0===n?o=”undefined”:null===n&&(o=”null”);return e||(e=null===i?”null path”:void 0===i?”undefined path”:i.hasOwnProperty(“length”)?0===i.length?”empty path”:i.join(“,”):”path: “+i),void S(null,”ta.trk – invalid element for “+e+” from “+o,null,arguments)}l.trkWithPath(i,t,a)}catch(e){S(e,”ta.trk”,null,arguments)}},l.trkWithPath=function(e,t,n){try{if(!e||!e.length)return void S(null,”ta.trkWithPath – no path in arguments”,null,arguments);if(n&&n.length>0&&e.length&&e.splice)for(var r=n.length-1;r>=0;r–)”string”==typeof n[r]&&e.splice(1,0,n[r]);var a=$(e);l.trackEventOnPage(a.category,a.action,a.label,a.value,t)}catch(e){S(e,”ta.trkWithPath – “+e,null,arguments)}},l.trkImpTree=function(e){try{if(!j(e))return void S(null,”ta.trkImpTree called with invalid trackTreeElem!”,null,arguments);var t=e.firstChild.nodeValue;ne(t)}catch(e){S(e,”ta.trkImpTree”,null,arguments)}},l.recordImpression=function(e,t){if(!e)return void(t&&t());try{ne(Y(e),t)}catch(e){S(e,”ta.recordImpression”,null,arguments),t&&t()}};var K=”“,Y=function(e){var t=e.indexOf(K),n=0,r=e.indexOf(Q);return t!==-1&&(n=t+K.length),r===-1&&(r=e.length),e.substring(n,r)};u.stripCommentsFromTree=Y;var ee=”\”,te=”/”;u.appendAscendTokens=function(e){var t=0,n=0,r=0;for(t=0;t0&&(t=r),!document.getElementById(“sponsoredCouponListingWrap”))return t;var a,i=document.querySelector(“#HAC_RESULTS .pageNumbers .current”);if(i){var o=i.getAttribute(“data-page-number”);if(a=parseInt(o,10),isNaN(a)||!a)return S(new Error(“pageNumber is not a number”),”ta._shiftOrdinalsWithSponsoredPlacement”,null,o),-1}return”Hotels_MainList”===e?t+=a:(r&&r>0&&(“sponsored_coupon_listing”===e||”Hotels_MainList_Sponsored”===e||”Hotels_MainList_Discovery_Sponsored_Listing”===e)&&(t+=a-1),t)};l.getRecentTARecords=function(){return E},l.addTypeAheadMevt=function(e){return e.t=”ta”,G(e)},l.addGARecordMevt=function(e,t,r,a,i){try{var o=u._validatedTrackEventArray(e,t,r,a,!1),l={t:”ga”,gac:o[1],gaa:o[2],gal:o[3],gav:o[4],gani:o[5],gass:O(),gasl:M(document.location.href),gads:R(i),gadl:M(i),gapu:I(),gams:H()},c=D();if(!l.gass)throw new Error(“Src servlet undefined, gac:”+l.gac+”, gaa:”+l.gaa+”, gal:”+l.gal);if(!l.gads)throw new Error(“Dst servlet undefined. gac:”+l.gac+”, gaa:”+l.gaa+”, gal:”+l.gal);if(n.has(“gatt”)&&(l.gatt=n.retrieve(“gatt”)),c&&(l.bsid=c),G(l),require.defined(“ta/common/behavior/dmp/DMP”)){var s=require(“ta/common/behavior/dmp/DMP”);s.isEnabled()&&s.sendEventBehavior(e,t,r,a,Z())}}catch(e){S(e,”ta.addGARecordMevt”,null,arguments)}},l.trackInteractions=function(e,t,n){var r={“elmtSource”:e,”elmtType”:n};r=i.extend(r,t),_(“/UserInteractionRecord”,{method:”POST”,url:”/UserInteractionRecord”,data:r},null,function(){S(null,”taRecord.trackInteractions”,null,r)})},l.addInteractionsMEVT=function(e,t,n){var r={“t”:”ia”,”ias”:e,”iak”:ie(t),”iat”:n};G(r)};var ie=function(e){var t=””;return Object.keys(e).forEach(function(n){t=t+n+”^”+e[n]+”+”}),0==t.length?t:t.slice(0,-1)},oe=!1,ue=function(e,t){return oe||(oe=require.defined(“page-model”)?require(“page-model”).session:{}),!!oe.useERUserTracking&&!(oe.ERUserTrackingEventNames&&oe.ERUserTrackingEventNames.length>0&&oe.ERUserTrackingEventNames.indexOf(e)<0)},le=function(e,t,n){if(ue(e,t)){var r=oe.uid&&{request_uid:oe.uid}||{},a={event_name:e,event_type:t,attr:JSON.stringify(i.extend(n,r))},o={get:function(){setTimeout(function(){var e=new XMLHttpRequest;e.open("GET","/UserTrackingRecord?"+W(a),!0),e.send(null)},1)}};return o.get()}n.event_name=e,l.trackEventOnPage(p,t,JSON.stringify(n))};l.trackImpressionWithJson=function(e,t){le(e,m,t)},l.trackActionWithJson=function(e,t){le(e,h,t)},l.trackPageviewWithJson=function(e,t){le(e,k,t)},l.trackSearchWithJson=function(e,t){le(e,y,t)},l.trackUnifiedEvent=le,t.createNs(u,"ta","analytics"),t.exportTo(l,"ta");var ce={};return t.exportTo(u,ce),t.exportTo(l,ce),ce}); define("utils/form-to-json",["vanillajs"],function(){"use strict";function e(e,n,r){e in r?(Array.isArray(r[e])||(r[e]=[r[e]]),r[e].push(n)):r[e]=n}return function(n){for(var r={},i={file:1,reset:1},t={DATALIST:1,OUTPUT:1},a={checkbox:1,radio:1},o=0;o0&&t(window).on(“resize scroll”,r)},this.inViewport=function(e,n,o,r){if(e=t(e),!e.is(“:visible”))return!1;if(r=t.extend({top:0,left:0,right:0,bottom:0},r),o){var a=o.offsetHeight;a&&(0==o.offsetTop?r.bottom-=a:r.top+=a)}var l=e.offset();return n||(n=i()),n.bottom>=Math.max(l.top+r.top,0)&&n.right>=Math.max(l.left+r.left,0)&&n.top<=Math.max(l.top+e.height()+r.bottom,0)&&n.left=0;a--)e(a,o);0==n.length&&t(window).off("resize scroll",r)}},300);t(window).on("load",r)}var f={};f.replaceContent=function(i,n,o,r){if(n=t(n),!n.find(".progresstab")){var a=o+(o.indexOf("?")==-1?"?":"&")+"xhr=true";n.append(''),e({url:a,success:function(t){n.html(t),window.behavior&&window.behavior.apply(n),r&&r(n.get(0))},evalScripts:!0}).get()}},f.spinner=function(e,i){t(i).parents(".spinnerReplaceable").children().each(function(t,e){e.toggle(e.hasClass("spinner"))})},f.limitLength=function(t,e,i){return!(e.value.length>=i)||(e.value=e.value.substr(0,i),!1)},f.updateValue=function(e,i){if(e=t(e),e.length>0&&e.val()!=i){e.val(i);var n=document.createEvent(“HTMLEvents”);n.initEvent(“change”,!1,!1),e[0].dispatchEvent(n)}},f.keepInWindow=function(e,i){function n(t,e){var i=parseInt(t.get(0).style[e]);return i||0===i}if(e){e=t(e),i||(i={top:!0,right:!0,bottom:!0,left:!0});var o=2,r=e.offset();r.right=r.left+e.width(),r.bottom=r.top+e.height();var a=t(window),l=a.width(),s=a.height(),f=a.scrollTop(),c=a.scrollLeft();i.right&&n(e,”right”)?r.leftl-c-o&&e.css(“right”,o):i.left&&n(e,”left”)&&(r.leftl-c-o&&e.setStyle(“left”,l+c-r.width-o)),i.bottom&&n(e,”bottom”)?r.tops-f-o&&e.setStyle(“bottom”,o):i.top&&n(e,”top”)&&(r.tops-f-o&&e.setStyle(“top”,s+f-r.height-o))}};var c=function(t,e){var i=e;return”px”==t?i=8:”em”==t?i=.5:”pt”==t?i=6:”%”==t&&(i=50),Math.max(e,i)};f.makeTextFit=function(e,i,n,r,a){a=a||1,r=r||8;var l=!1;if(t(e).each(function(e,o){o=t(o);var a=o.find(i);if(a){var s;if(“number”==typeof n)s=n;else if(s=o.find(n).outerHeight(),void 0===s)return;var f=a.height();if(s=r||”em”==e&&t>=.5||”pt”==e&&t>6||”%”==e&&t>=50},h=c.replace(/[d.]/g,””),d=parseFloat(c)*Math.sqrt(s/f);”px”==h&&(d=Math.max(parseInt(d),r)),u(d,h)&&(a.css(“font-size”,d+h),l=!0)}}}}),l>0&&a<4){o.fireEvent("makeTextFitResizedText");var s=this;setTimeout(function(){s.makeTextFit(e,i,n,r,a+1)},1)}},function(){function e(t){var e=!1;if(!t||t.clientWidth&&t.clientWidth<=0)return!1;for(var i=t.clientWidth,n=(parseFloat(t.style.paddingLeft)||0)+(parseFloat(t.style.paddingRight)||0),o=0;oi;o++){var r=(i-n)/(t.scrollWidth-n);l(t,r),e=!0}return t.scrollWidth>i&&(l(t,s),e=!0),e}function i(t,e){var i=t.getAttribute(“data-sizegroup”),n=parseFloat(t.style.fontSize);i&&(e[i]=Math.min(e[i]||Number.MAX_VALUE,n))}function n(t){for(var i in t)if(t.hasOwnProperty(i)){var n=t[i],o=[];n.forEach(function(t){o.push([t.scrollWidth,t])}),o.sort(function(t,e){return e[0]-t[0]});for(var r=0;rt.clientWidth||t.scrollHeight>t.clientHeight};t(e).each(function(t,e){e.style.width=i;for(var a=i;at[0].clientHeight};l.length&&!l.is(a)&&!s(l);)l=l.parent();l.length&&!l.is(a)&&s(l)?r=l.offset().top+l.scrollTop()+(i||0):l=a,l.animate({scrollTop:r},{duration:300,complete:function(){o&&o()}})}else window.scrollTo(0,r),o&&o()}};var u=f.scrollTrackers=new s;return f.isScrolledIntoView=function(t,e,i){return u.inViewport(t,null,e,i)},f.doIfElementIsVisible=function(t,e,i,n){t&&u.add({e:t,cb:function(){return e.apply(null,i),!0},offset:n})},f.trackWhenScrolledIntoView=function(t,e,n){if(t&&e){var o=function(){i.trackEventOnPage.apply(i,e)};u.add({e:t,cb:o,multiple:n})}},f.getTotalWidth=function(e){return t(e).outerWidth(!0)||0},f.getTotalHeight=function(e){return t(e).outerHeight(!0)||0},f.hoverIntent=function(e,i){r.bind(t(e),i)()},n.exportTo(f,”ta.util.element”),f}); define(“shelves/shelfEventHandlers”,[“lib/jquery-amd”,”ta”,”ta/util/Element”,”utils/urlDecoder”],function(n,e,t,i){“use strict”;function l(n){var t=n.getAttribute(“data-tpp”),i=n.getAttribute(“data-tpact”)||”shelf_in_view”,l=n.getAttribute(“data-tpatt”),c=n.getAttribute(“data-tpid”);e.trackEventOnPage(t,i,l,c)}function c(){var e=n(“.shelf_title”);e&&e.each(function(n){var i=e[n];I.indexOf(i)===-1&&t.isScrolledIntoView(i)&&(l(i),I.push(i))})}function a(){c()}function o(n,e){e?window.location=i.getUrl(n):window.open(i.getUrl(n),”_blank”)}function r(n,t){e.SHELF_EVENT_INITIALIZED||(e.SHELF_EVENT_INITIALIZED={}),e.SHELF_EVENT_INITIALIZED[n]||(t(),e.SHELF_EVENT_INITIALIZED[n]=!0)}function u(){f(),s(),_(),E(),v()}function f(){r(“scrollEvent”,function(){a(),window.addEventListener(“scroll”,c)})}function s(){r(“seeAllTracking”,function(){e.on(“track_shelf_see_all_click_event”,function(n,e){l(e)})})}function E(){r(“seeAllItemTracking”,function(){e.on(“track_shelf_item_click_event”,function(n,e){l(e)})})}function _(n){r(“seeAllEventHandlers”,function(){e.on(“shelf_see_all_click_event”,function(e,t,i,c){new Event(e).preventDefault(),c||l(t),n?n(e,t):o(t,i)})})}function v(n){r(“seeAnItemEventHandlers”,function(){e.on(“shelf_item_click_event”,function(e,t,i,c){new Event(e).preventDefault(),n?n(e,t):o(t,i),c||l(t)})})}var I=[];return{initShelfListeners:u,initSeeAllTracking:s,initSeeAnItemTracking:E,initSeeAllEventHandlers:_,initSeeAnItemEventHandlers:v,initScrollEvent:f}}); define(“responsive_servlets/responsiveShowUserReviewsAttractions”,[“mixins/mixin”,”utils/objutils”,”mixins/page-dates/DateEvents”,”mixins/page-dates/Responsive”,”ta/common/Repoll”,”ta/Core/TA.Store”,”common/page-filters”,”mobile/lite/image-loader”,”commerce/offerclick”,”amdloaders”,”utils/BatchRequest”,”responsive/breakpoint-tracker”,”responsive/text-resizer”,”Logging”,”page-model”,”shelves/shelfEventHandlers”],function(e,t,i,r,s,n,o,a,l,c,d,u,f,m,v,p){“use strict”;function g(t){return I?I:(I=this,”ShowUserReviews”===v.session.pageServlet||”MobileShowUserReviews”===v.session.pageServlet?window.crPageServlet=”ShowUserReviewsAttractions”:window.crPageServlet=v.session.pageServlet,t?(window.location.hash===P&&n.store(“suppressCalendarPop”,”true”),e(this,i),e(this,new r(t.pageDates,t.calendar)),h=new s({evaluateScripts:!0}),l.on(“afterClick”,function(e){var t={locId:e.locId,isMetaCheckRates:!0,contentId:e.contentId,selectedPrice:e.selectedPrice,offerStr:e.offerStr};E.then(function(e){e.loadClickoutMonikers(t)})}),t.filtersInit.forEach(function(e){var t=”multi”===e.type?o.MultiValueFilter:o.SingleValueFilter;o.register(e.name,t,e.value,”true”===e.excludeFromClearAll)}),o.on(“change”,function(){var e=o.get();h.setOneTimeParams(e,”REVIEW_LIST”)}),a.init(200),u.init(),f.init(document.body),p.initShelfListeners(),I):void m.warn(“Model does not exist”))}function S(e){h.setOneTimeParams(e,”REVIEW_LIST”)}function w(e,t){if(t)if(require.defined(“lib/jquery-amd”))!function(e){var t=e(“[data-reviewsScrollTarget]”).offset().top-15;e(“html,body”).animate({scrollTop:t},400)}(require(“lib/jquery-amd”));else{var i=document.querySelector(“[data-reviewsScrollTarget]”);i&&i.scrollIntoView&&i.scrollIntoView()}h.setPageUrl(e),h.setOneTimeParams({pagination:”true”},”REVIEW_LIST”)}var h,E,I=void 0,P=”#MANAGEMENT_RESPONSE”;return{init:g,refreshWithParams:S,applyPaginationOffset:w}}); define(“maps/v3/providers/providerShim”,[“babel/babel-helpers”,”mixins/Events”],function(e,r){“use strict”;function n(){return s?s:s=new Promise(function(e){i||(v=!0,a.emit(“providerRequested”)),u.then(function(){i.loadLibrary(e)})})}function t(e){var r=c[e];return r||(r={},r.promise=new Promise(function(e){r.resolve=e}),c[e]=r),r}var i=null,o=null,u=new Promise(function(e){return o=e}),s=null,a=new r(“providerRequested”),v=!1,c={};return{registerProvider:function(e){if(i)throw”provider already registered”;if(!e)throw”Attempted to register a null provider”;i=e,o()},providerRequested:function(){return v},createMap:function(e){var r=n();return new Promise(function(n){r.then(function(){var r=i.getMapInstance(e);n(r);var o=t(e.container);o.resolve(r)})})},waitForMap:function(e){var r=t(e);return r.promise},on:a.on.bind(a)}}); define(“maps/v3/tracking”,[“babel/babel-helpers”,”common/trackingStreams”],function(t,a){“use strict”;function n(t,n){a.trackEvent(“map_view”,t?”open”:”close”,n,null)}function c(t,n,c){a.trackEvent(t,n,c,null)}function e(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;a.trackEvent(“map_pin”,t,c,n)}function i(){n(!0,null)}function o(t){a.trackEvent(“map_view”,”open_requested”,t)}function r(t){window.setTimeout(function(){n(!0,t.offsetWidth)},0)}function p(t,c){n(!1,t.offsetWidth),a.trackEvent(“map_view”,”map_close_num_pins”,c)}function l(t,n){var c={loaded:t,timeSpentOnMap:n};a.trackEvent(“map_view”,”map_close_load_test”,JSON.stringify(c))}function k(t){a.trackEvent(“map_view”,”map_impl”,t)}function u(t){c(“map_view”,”empty”,t)}function m(t,a){c(“map_view”,a?”redo_auto”:”redo”,t)}function _(){a.trackEvent(“map_view”,”grow”)}function v(){a.trackEvent(“map_view”,”shrink”)}function f(t){c(“map_move”,”pan”,t)}function d(t){c(“map_move”,”zoom_in”,t)}function s(t){c(“map_move”,”zoom_out”,t)}function M(t,a){e(“hover”,t,a)}function w(t,a){e(“click”,t,a)}function C(t){a.trackEvent(“map_detail_card”,”photo_click”,t,null)}function E(t){a.trackEvent(“map_detail_card”,”saveCTA_click”,t,null)}function h(t){a.trackEvent(“map_detail_card”,”title_click”,t,null)}function S(t){a.trackEvent(“map_card_cta”,”click”,t,null)}function O(t){a.trackEvent(“map_carousel”,”swipe”,t,null)}function P(t,n){a.trackEvent(“also_show”,t,n)}return{trackMapOpen:r,trackMapClose:p,trackMapFirstOpen:i,trackMapOpenRequested:o,trackRedoSearch:m,trackMapGrow:_,trackMapShrink:v,trackNoPins:u,trackMapPan:f,trackMapZoomIn:d,trackMapZoomOut:s,trackMapPinHover:M,trackMapPinClick:w,trackMapDetailCardPhotoClick:C,trackMapDetailCardSaveClick:E,trackMapDetailCardTitleClick:h,trackMapDetailCardCTAClick:S,trackCarouselSwipe:O,trackAlsoShowClick:P,trackMapLoadedWhenClosed:l,trackMapProvider:k}}); require([“ta/p13n/placements”],function(r){var a=r.define.bind(r,”map_provider_loader”,”handlers”,[“handlers”]);a([“placement”,”maps/v3/providers/providerShim”,”maps/v3/tracking”],function(r,a,e){“use strict”;function i(){var i=”trjs!”+r.params.map_impl;if(r.params.includeRollup){var p=”trjs!”+r.params.map_rollup;r.require([i,p],function(i,p){if(!p)throw”Unable to load map rollup”;i.configureLibrary(r.params.mapConfig||{}),e.trackMapProvider(r.params.map_rollup),a.registerProvider(i)})}else r.require([i],function(i){i.configureLibrary(r.params.mapConfig||{}),e.trackMapProvider(r.params.map_rollup),a.registerProvider(i)})}a.providerRequested()?i():a.on(“providerRequested”,i)})}); ]]>reviewu003c/a>”,”links_tahelphostname”:”https://www.tripadvisorsupport.com/hc/en-us”,”og_masthead_social_sharing_ffffe427″:”Social sharing”,”guidelines_and_policies_ffffe427″:”Guidelines and policies”,”are_you_an_owner_ffffe427″:”Are you an u003ca href=”{0}”>owner or representativeu003c/a>?”,”getlistednew_list_on_tripadvisor_ffffe427″:”List your business”,”respond_to_a_review_ffffe427″:”u003ca href=”{0}”>Respondu003c/a> to a review”,”visit_your_center_ffffe427″:”Visit your u003ca href=”{0}”>Management Centeru003c/a>”,”have_other_questions_ffffe427″:”Have Other Questions?”,”visit_the_help_center_ffffe427″:”Visit the u003ca href=”{0}”>Help Centeru003c/a>”,”region_americas_25ed”:”The Americas”,”bhotw_region_europe_title”:”Europe”,”region_apac_25ed”:”Asia Pacific”,”inspiration_region_6_ffffee49″:”Africa & the Middle East”,”common_Close”:”Close”,”common_more_capital_ffffe27f”:”More”,”common_TripAdvisor”:”Tripadvisor”,”articles_opf_title_v2″:”Travel Articles | Travel Tips, Insights, & Inspiration from Tripadvisor”,”articles_opf_meta_description”:”Browse through our articles to find useful travel tips and inspiration to plan your next trip. From must have travel products to breathtaking destinations, Tripadvisor has you covered!”,”global_travel_notice_head”:”TRAVEL NOTICE:”,”global_travel_notice_covid19″:”Learn more about COVID-19″,”onetap_message_unlock”:”Unlock the best of Tripadvisor”,”onetap_subhead_signin_alerts_deals”:”Sign in to get price alerts and deals”,”terms_and_policy_links”:”By proceeding, you agree to our u003ca rel=”nofollow” class=”{2}” target=”_blank” href=”{0}”>Terms of Useu003c/a> and confirm you have read our u003ca rel=”nofollow” class=”{2}” target=”_blank” href=”{1}”>Privacy Policyu003c/a>.”,”I_live_in”:”I live in…”,”home_location_things_near_you”:”Tell us where you live to get great ideas for things to do near you.”,”mx_nearby”:”Nearby”,”dual_search_worldwide”:”Worldwide”,”mobile_no_results_found_8e0″:”No results found”,”typeAheadSearchFor_fffff81b”:”Search for “{0}””,”post_video_typeahead_placeholder_text_search”:”Search”,”post_video_location_typeahead_add_location”:”Add another location “,”cx_explicit_preferences_cta_header”:”Tell us about your trip”,”cx_explicit_preferences_cta_subheader3″:”Youu2019ll see personalized ideas from other travelers like you.”,”onboarding_social_brand_splash_get_started_cta”:”Get started”,”cx_explicit_preferences_edit_cta_header”:”Your trip details”,”cx_explicit_preferences_edit_trip_details”:”Edit trip details”,”cx_explicit_preferences_profile_end_screen2″:”Thanks, {displayName}”,”cx_explicit_preferences_profile_end_screen_no_name”:”Thanks.”,”ONB_saves_educator_tap_the_heart_subhead”:”Now let's help you plan an awesome trip. When you see something you like, tap the heart to save it.”,”cx_explicit_preferences_end_body_nearby”:”Now start discovering nearby ideas from other travelers.”,”cx_explicit_preferences_end_body_geo”:”Now start discovering great {destinationGeoName} ideas from other travelers like you.”,”cx_explicit_preferences_welcome_header3″:”Hi, {displayName}. Letu2019s help you plan a trip youu2019ll love.”,”cx_explicit_preferences_welcome_header_no_name2″:”Thanks. Now, let’s help you plan a trip you’ll love.”,”cx_explicit_preferences_welcome_subheader2″:”Answer some questions about your trip so we can show you more personalized ideas.”,”cx_explicit_preferences_welcome_yes”:”Yes, letu2019s go”,”cx_explicit_preferences_welcome_no”:”No thanks”,”cx_explicit_preferences_segment_partner”:”My partner”,”cx_explicit_preferences_segment_family”:”My family”,”cx_explicit_preferences_segment_friends”:”My friends”,”cx_explicit_preferences_segment_solo”:”Myself”,”command_where_to_screen_v2″:”Tell us where you’re going.”,”cx_explicit_preferences_destination_header2″:”Great. Where to?”,”cx_explicit_preferences_destination_subheader2″:”Weu2019ll show you recommendations from other travelers whou2019ve been there.”,”dual_search_ghost_im_going_to”:”I’m going to…”,”where_to_hint_text”:”Paris, Costa Rica, Brazil…”,”command_dates_screen_geo”:”Tell us when are you traveling to {destinationGeoName}.”,”cx_explicit_preferences_dates_header”:”When are you traveling to {destinationGeoName}?”,”cx_explicit_preferences_dates_flexible”:”My dates are flexible”,”command_companion_v2″:”Tell us who you’re traveling with.”,”cx_explicit_preferences_segment_header”:”Who are you traveling with?”,”command_interests_screen”:”Tell us what you want to do on your trip.”,”cx_explicit_preferences_interests_header2″:”What do you want to do on your trip?”,”cx_explicit_preferences_interests_subheader3″:”Take a look at what {destinationGeoName} travelers are talking about and select what you might like.”,”cx_explicit_preferences_profile_header3″:”Welcome! Tell us about yourself.”,”my_name_is”:”My name is…”,”explicit_preferences_account_screen_name”:”Name”,”cx_explicit_preferences_profile_name_help”:”This is how your name will appear on Tripadvisor”,”cx_explicit_preferences_profile_hometown”:”I live in…”,”cx_explicit_preferences_profile_hometown_help2″:”Get travel ideas and flight deals based on where you live”,”cx_explicit_preferences_cta_month2″:”Traveling in {month}”,”cx_explicit_preferences_cta_months2″:”Traveling from {month1} to {month2}”,”cx_explicit_preferences_cta_date2″:”Traveling on {date}”,”cx_explicit_preferences_cta_dates2″:”Traveling from {date1} to {date2}”,”cx_explicit_preferences_cta_traveling_partner”:”Traveling with your partner”,”cx_explicit_preferences_cta_partner2″:”With your partner”,”cx_explicit_preferences_cta_traveling_family”:”Traveling with family”,”cx_explicit_preferences_cta_family2″:”With family”,”cx_explicit_preferences_cta_traveling_friends”:”Traveling with friends”,”cx_explicit_preferences_cta_friends3″:”With friends”,”cx_explicit_preferences_cta_traveling_solo”:”Traveling solo”,”cx_explicit_preferences_cta_solo2″:”Solo”,”cx_explicit_preferences_cta_interested_in”:”Interested in”,”onetap_message_subhead_to_get_the_most”:”Sign in to get the most out of Tripadvisor”,”plus_got_login_v2″:”Log in to view member-only discounts on hotels worldwide”,”plus_hotels_plus_tooltip_v2″:”Deals on hotels worldwide. Savings on tours and activities. Member perks and benefits. u003cb>$99u003c/b>/year.”,”plus_hotels_plus_tooltip_learn_more”:”Learn more”,”ib_tooltip”:”i [information tooltip]”,”jfy”:”Just for you”,”10_off_tour_activity_v2″:”u003cspan class=”{1}”>10% offu003c/span>u003cbr/> any tour or activity”,”check_email_subheader”:”Check your email for your discount code and get ready to do more for less.”,”discover_ttd”:”Discover things to do”,”continue_sub_cta”:”Continue where you left off”,”free_cancel_ahead”:”u003cspan class=”{0}”>No commitment:u003c/span> Cancel for free up to 24 hours ahead.”,”expiry_date_cta”:”u003cspan class=”{0}”>But donu2019t wait:u003c/span> Expires on {sDate} at {sTime}”,”common_btn_cancel_ffffe209″:”Cancel”,”nearby_use_my_location”:”Use my location”,”common_Populardestinations”:”Popular destinations”,”explicit_preferences_who_are_you_traveling_with_skip_button”:”SKIP”,”reg_back”:”Back”,”common_Next”:”Next”,”social_nowFollowing”:”Following”,”social_nCount_followers2″:”{0, plural, one{# follower} other{# followers}}”,”m2_trips_detail_date_display”:”{0} u2022 {1}”,”see_all_results_for”:”See all results for “{query}””,”common_Hotels”:”Hotels”,”common_Restaurants”:”Restaurants”,”common_Thingstodo”:”Things to do”,”common_Forums”:”Forums”,”a11y_skip_link”:”Skip to main content”,”nav_rs_premium_contact_support”:”Call {sSupportPhoneNumber} with your ID: {nLocationId}”,”tavrs_view_profile”:”View profile”,”owners_managelisting_open”:”Open”,”abandon_cart_home_banner_2350″:”Still interested?”,”attractions.cart_recapture.abandoned_cart_overlay_cta”:”Visit your shopping cart to see the items you saved last time u2014 and check out when youu2019re ready.”,”attractions.cart_recapture.alert.headline”:”Now you can pick up where you left off!”,”attractions.cart_recapture.alert_body”:”Click here at any time to finish your booking. Be sure to log-in or register to access your cart from any device.”,”utility_nav_cart”:”Shopping Cart”,”attractions.cart_button_acc”:”Cart”,”inbox_title”:”Inbox”,”ip_view_profile_1cf1″:”View profile”,”global_nav_profile_my_business”:”My business”,”my_bookings_headtext_fffff9b3″:”Bookings”,”mem_account_info”:”Account info”,”common_Signout”:”Sign out”,”utility_nav_profile”:”Profile”,”reg_and_join”:”JOIN”,”trips_product_name”:”Trips”,”common_Signin”:”Sign in”,”homepage_war_button”:”Write a review”,”ugc_uploader_photo_v3″:”Post photos”,”global_nav_content_cta_post”:”Post”,”dmo_hdr_alerts”:”Alerts”,”insurance_title”:”Insurance”,”mem_settings”:”Settings”,”mw_common_menu_fffffd37″:”Menu”,”common_Search”:”Search”,”mobile_back_8e0″:”Back”,”mobile_search_filter_clear_26e8″:”Clear”,”mw_js_positionPermissionDenied”:”Tripadvisor was denied permission to access your location. Give your browser and Tripadvisor permission to use your current location and try again.”,”social_mobile_reason_for_sponsored”:”Sponsored”,”dual_search_recently_viewed_all_caps”:”RECENTLY VIEWED”,”dual_search_popular_destinations”:”POPULAR DESTINATIONS”,”embedded_content_terms_and_conditions_label”:”terms and conditions”,”embedded_content_third_party_notice”:”This content is hosted by a third party ({hostName}). By showing external content you accept the {termsUrl} of {hostName}.”,”embedded_content_show_content_label”:”Show external content”,”embedded_content_remember_choice_label”:”Remember my choice”,”ib_more_info”:”More Info”,”brand_save_money_we_search_200″:”u003cb>Save money.u003c/b> We search 200+ sites for the lowest hotel prices.”,”post_video_file_type_error”:”This file type is not supported. Please try a .mov, .mp4 or m4v file”,”post_photo_unsupported_file”:”This file type is not supported. Please refer to Tripadvisor’s photo posting guidelines. “,”post_video_size_error”:”This file size is not supported. Please make sure your file is less than 500MB “,”mobile_offline_megabyte_ffffec6c”:”{0} MB”,”file_size_too_big_photo_oops_message”:”This file size is not supported. Please make sure your file is less than {0}”,”video_upload_max_number”:”You can upload a maximum of {nVideos} videos at a time”,”post_photo_tips_guidelines”:”You can upload a maximum of 10 photos at a time”,”video_upload_fail”:”Oops! One or more of your videos failed to upload.”,”post_photo_upload_failed”:”Your photo upload failed. Please try again. “,”uploader_error_required_field”:”This field is required”,”post_video_video_count_text”:”Video {nCurrentVideoCount} of {nTotalVideoCount}”,”post_photo_video_count_text”:”Photo {nCurrentphotoCount} of {nTotalphotoCount}”,”mobile_delete”:”Delete”,”post_photo_add_description_v2_part_1″:”Add a description “,”post_video_add_description_v2_part_2”:”Tell other travelers about your video “,”post_photo_add_description_v2_part_2”:”Tell other travelers about your photo “,”photo_uploader_add_a_location_tag”:”Add a location tag”,”remove_location_cf6″:”Remove location”,”post_video_upload_another_video”:”Drag and drop or u003c/> u003cspan class=”{sColorClass1}”>upload another video u003c/span>”,”post_photo_upload_another_video”:”Drag and drop or u003c/> u003cspan class=”{sColorClass1}”>upload another photo u003c/span>”,”add_more_videos_mw_uploader”:”Add more videos”,”add_more_photos_mw_uploader”:”Add more photos”,”post_photo_upload_photos_button”:”Upload photos”,”post_photo_or_just_text”:”or”,”post_photo_drag_and_drop_from_desktop”:”Drag and drop a file from your desktop “,”success_repost_video”:”Your video was posted!”,”success_repost_photo”:”Your photo was posted!”,”ds_textarea_minimum_characters”:”{numCount}/{numLimit} min characters”,”ds_textarea_maximum_characters”:”{numCount}/{numLimit} max characters”,”new_videos_terms_of_use”:”By uploading these videos,u00A0I verify that I am the owner of this content and I accept Tripadvisor’s u003ca href={link} target=’_blank’>Terms of Useu003c/a>”,”new_photos_terms_of_use”:”By uploading these photos,u00A0I verify that I am the owner of this content and I accept Tripadvisor’s u003ca href={link} target=’_blank’>Terms of Useu003c/a>”,”new_video_terms_of_use”:”By uploading this video,u00A0I verify that I am the owner of this content and I accept Tripadvisor’s u003ca href={link} target=’_blank’>Terms of Useu003c/a>”,”new_photo_terms_of_use”:”By uploading this photo,u00A0I verify that I am the owner of this content and I accept Tripadvisor’s u003ca href={link} target=’_blank’>Terms of Useu003c/a>”,”mobile_help_center_url”:”https://www.tripadvisorsupport.com/hc/en-us”,”flash_uploader_tips_and_guidelines_10d8″:”Tips & guidelines”,”video_upload_video_formats_accepted”:”Accepted video formats include {sFileExtentions}”,”post_photo_accepted_formats”:”Accepted photo formats include .jpg .jpeg .gif and .png”,”file_size_limit_photo”:”File size should be less than {0}MB.”,”video_upload_more_info_guidelines_link”:”For more information see our u003cspan>video uploader guidelinesu003c/span>”,”post_photo_more_info_2″:”For more information see our u003cspan>photo uploader guidelinesu003c/span>”,”social_confirm_close_photo_post”:”Are you sure you want to close out of your photo post?”,”post_videos_button”:”Post videos”,”post_video_button”:”Post video”,”ugc_uploader_photo_v2″:”Post photo”,”post_a_video_modal_header”:”Post a video”,”post_photos_form_header”:”Post photos”,”trip_planner_clear”:”Clear”,”common_NEW_1bd8″:”NEW”,”mobile_discovery_where_to”:”Where to?”,”mx_geo_picker_popular_destinations”:”POPULAR DESTINATIONS”,”trips_lander_title”:”Trips on Tripadvisor”,”trips_lander_md”:”Trips makes it easy to save travel plans, build wish lists and map out all your ideas for places to eat, things to do and where to stay u2014 and bring them with you, wherever you go.”,”trips_education_amazing_ideas_one_place”:”Trips: your amazing travel ideas, all in one place”,”trips_education_easy_save_orgaize_map_bring_with_you”:”Trips makes it easy to save, organize and map out all your ideas for places to eat, things to do and where to stay u2014 and bring them with you, wherever you go.”,”trips_lander_header”:”Traveling soon? Save your amazing ideas all in one place with Trips.”,”trips_lander_copy_1″:”Save traveler-recommended places for your trip”,”trips_lander_copy_2″:”View the things to do, restaurants and hotels you saved on a map”,”trips_lander_copy_3b”:”Easily access all your saves while traveling, wherever you go”,”empty_trip_home_get_started”:”Get started”,”trips_log_in_now”:”Log in now”,”profile_update_error_username_too_short”:”{0} needs to be at least 3 characters”,”profile_update_error_username_too_long”:”{0} cannot be longer than 20 characters”,”mobile_profile_update_error_username_invalid_characters”:”Only use Latin characters (A-Z), numbers, underscore “_”, and dash “-“.”,”profile_update_error_username_already_exists”:”{0} has already been taken”,”profile_update_error_contains_profanity”:”Profanity is not allowed”,”profile_update_error_username_contains_ta_words”:”Words such as u201CStaffu201D, u201CAdminu201D, u201CTripadvisoru201D are not allowed.”,”social_loading_error_1″:”Whoops, something went wrong.”,”social_edit_profile_username”:”Username”,”onboarding_social_name_screen_username_ghost_text”:”e.g. SavvyTraveler123″,”onboarding_social_name_screen_username_helper_text_period_814″:”This unique handle helps travelers search for you.”,”onboarding_social_name_screen_display_name_field_v2″:”Display name”,”mobile_profile_update_error_display_name_too_short”:”Display name needs to be at least 3 characters”,”profile_update_error_display_name_too_long”:”{0} cannot be longer than 40 characters”,”onboarding_social_name_screen_returning_header”:”Please confirm or update your profile information”,”onboarding_social_name_screen_display_name_ghost_text”:”e.g. John Doe”,”onboarding_social_name_screen_display_name_helper_text_period_814″:”This appears on your profile and any content you post.”,”onboarding_social_name_screen_cta”:”Confirm”,”onboarding_social_skip_link”:”Skip for now”,”2019_by_skipping_username_step”:”By skipping this step you will be given an automatically generated display name and @username”,”compliment_9bd”:”Sorry, an unexpected error has occurred. Please try again in a moment.”,”link_uploader_refresh”:”Refresh”,”btn_cancel”:”Cancel”,”hrm_onboarding_flyout_autoreviewcollection”:”Let us do the work for you to collect more reviews! Connect and enable your provider to get started.”,”hrm_onboarding_flyout_donotshowagain”:”Do not show again”,”hrm_onboarding_flyout_customizecampaigns”:”Create a review collection campaign with our optimized templates that can be customized to make them your own.”,”hrm_onboarding_flyout_partners”:”Save precious time by responding to reviews across Tripadvisor, Google and Facebook all on the same page.”,”hrm_flyoutupsell_hr”:”Hi {sUserDisplayName}! Unlock our reputation management solutions to help impact your Tripadvisor bubble score and ranking.”,”hrm_flyoutupsell_cta_tryitforfree”:”Try it for free”,”hrm_flyoutupsell_managementcenter”:”Unlock our reputation management solutions to collect more reviews and give travelers confidence to book.”,”hrm_flyoutupsell_cta_starttrial”:”Start a free trial”,”hrm_flyoutupsell_ownerresponse”:”Save time by responding to reviews across Tripadvisor, Google, and Facebook all on the same page.”,”hrm_flyoutupsell_reviewcollection”:”Let us collect more reviews for you with even less effort. More reviews means more opportunities to impact your ranking and increase your visibility on Tripadvisor.”,”member_support_reviews”:”Reviews”,”rs_reputation_filter_accounts_ta”:”Tripadvisor”,”rs_reputation_filter_accounts_google”:”Google”,”rs_reputation_filter_accounts_fb”:”Facebook”,”common_Xof5bubbles”:”{0} of 5 bubbles”,”mobile_reviews_plural”:”{0, plural, one{# review} other{# reviews}}”,”stat_modal_save_to_trip_v2″:”Save to a Trip”,”save_all_items_modal_header”:”Save all items to a Trip”,”stat_modal_create_a_trip_v2″:”Create a Trip”,”select_trip_header”:”Select a Trip”,”social_Saved”:”Saved”,”trips_save_CTA”:”Save”,”stat_modal_view_trip_v2″:”View Trip”,”create_trip_success_toast_with_bold”:”u003cb>{TripName}u003c/b> created!”,”stat_modal_saved_to_tripname_with_bold”:”Saved to u003cb>{TripName}u003c/b>”,”stat_modal_undo”:”Undo”,”stat_modal_removed_from_tripname_with_bold_v3″:”Removed from u003ca href=”{TripLink}” class=”{TripClass}”>u003cb>{TripName}u003c/b>u003c/a>”,”stat_modal_change”:”Change”,”stat_modal_saved_to_tripname_with_bold_v3″:”Saved to u003ca href=”{TripLink}” class=”{TripClass}”>u003cb>{TripName}u003c/b>u003c/a>”,”m1_trips_my_saves_header”:”My Saves”,”stat_modal_removed_from_tripname”:”Removed from {sTripName}”,”m1_trips_save_success_stat_d2″:”Saved! Next, organize it in a Trip.”,”trips_inline_profanity_check”:”Public Trips cannot contain profanity”,”linkify_url_error”:”You have entered an inappropriate URL”,”trips_error_default_add_item_comment_v2″:”There was a problem adding a note to this Trip item. Please try again.”,”trips_error_default_add_note”:”There was a problem adding a note to this Trip. Please try again.”,”trip_note_update_error”:”There was a problem updating your Trip note. Please try again.”,”trips_error_default_update_comment”:”There was a problem updating this comment. Please try again.”,”trips_error_duplicate”:”You already have a Trip with this name.”,”trips_stat_modal_profanity_check_native”:”Your Trip could not be created because public Trips cannot contain profanity. Please try again.”,”create_trip_general_error_v2″:”There was a problem creating this Trip. Please try again.”,”trip_contains_profanity”:”Your Trip contains profanity and cannot be made public. Please modify your Trip and try again. Questions? View Tripadvisor’s u003ca href=”https://www.tripadvisorsupport.com/hc/articles/360008133913-Tripadvisor-s-Content-Policy”>Content Guidelinesu003c/a>.”,”trips_error_default_edit_privacy”:”There was a problem updating the privacy of this Trip. Please try again.”,”trips_error_default_edit_trip”:”There was a problem editing this Trip. Please try again.”,”new_trip_name_error_msg”:”Please select a new name for your Trip.”,”social_no_permission”:”You don’t have permission to take this action.”,”trips_error_save_trip_full”:”Oh no! Your Trip has too many items in it. Please remove some items and try saving again.”,”trips_error_default_add_item_to_trip”:”There was a problem adding the item to this Trip. Please try again.”,”trips_error_default_move_item”:”There was a problem moving this Trip item. Please try again.”,”trips_error_unsave”:”There was a problem removing this item from your Trip. Please try again.”,”stat_modal_general_error”:”There was a problem saving this item. Please try again.”,”m1_trips_unsave_error”:”There was a problem removing this item. Please try again.”,”trips_error_general_default”:”There was a problem with this Trip. Please try again.”,”soical_loading_error_2″:”Give it another try, please.”,”mobile_try_again”:”Try again”,”stat_modal_trip_name”:”Trip name”,”trips_trip_name_character_count”:”{nCharacterCount} / 50 characters”,”stat_modal_name_exceeds_50″:”Trip name must not exceed 50 characters”,”trip_privacy_setting_header”:”Choose who can see your Trip”,”stat_modal_create”:”Create”,”trips_move_error”:”There was a problem moving this item. Please try again.”,”airm_mobile_show_more”:”Show more”,”create_trip_screen_privacy_private”:”Private”,”trips_privacy_explanation_new”:”Not visible to other Tripadvisor users and members, except for you and any friends with whom you share your Trip.”,”create_trip_screen_privacy_public”:”Public”,”create_trip_screen_privacy_public_explanation_v2″:”Visible to all travelers on Tripadvisor, including any friends you share your Trip with”,”trips_reported_explanation”:”Your Trip does not meet Tripadvisor’s u003ca href=”https://www.tripadvisorsupport.com/hc/articles/360008133913-Tripadvisor-s-Content-Policy”>Content Guidelinesu003c/a> for public Trips and has been set to private. It cannot be made public again.”,”trips_collaborator_privacy_modal”:”This Trip is {privacySetting}. Only the owner of the Trip can change this setting.”,”AAC_SPECIAL_OFFER”:”Special Offer”,”attractions.booking.flag.best_seller”:”Best Seller”,”attractions.booking.flag.likely_to_sell_out”:”Likely To Sell Out”,”attractions_merchandising_by”:”By: {0}”,”attractions.merchandising.from.price.with.autoresize.span.2_tax_included”:”from u003cspan class=”autoResize”>{sPrice}u003c/span>”,”attractions.cta_more_info”:”More Info”,”attractions.languages_offered_list”:”Languages Offered: {sLangs}”,”nav_overview”:”Overview”,”MC_Onboard_S3_H1″:”Quick View”,”ads_perf_dashboard_get_started_updated”:”Get Started”,”attractions_booking_per_adult_with_span_class_tax_included”:”u003cspan class=”adultPrice”>{0}u003c/span> per adult”,”attractions.merchandising.from.price.span.7″:”From u003cspan class=”fromPrice”>{sPrice}*u003c/span>”,”mobile.attractions.ticket_tour_legal”:”Prices above are provided by partners for one person and may not include all taxes and fees. Please see our partners for full details.”,”attractions.see_more_tours”:”See More Tours”,”attractions_more_booking_options”:”More Booking Options”,”attractions.book_in_advance2″:”Book In Advance”,”exp_full_details”:”Full Details”,”exp_check_availability”:”Check Availability”,”attractions.read_more”:”read more”,”mob_show_less”:”Show Less”,”exp_show_more_ticket_options_plural_2″:”Show {0, plural, one{# more ticket option} other{# more ticket options}}”,”attractions_n_options_v2″:”{0, plural, one{# option} other{# options}}”,”attractions_admission_tickets_shelf_title”:”Admission Tickets”,”attractions_from_price_single_line”:”u003cdiv class=”{0}”>from u003cspan class=”{1}”>{2}u003c/span>u003c/div>”,”attractions_from_price_multiline”:”u003cdiv class=”{0}”>fromu003c/div>u003cdiv class=”{1}”>{2}u003c/div>”,”exp_admission_tickets_with_count_all_caps”:”ADMISSION TICKETS ({0})”,”attractions.book_a_tour_caps”:”BOOK A TOUR”,”AttractionsPD_SeeAll”:”See all ({number})”,”attractions.booking.errors.no_date”:”You must select a date.”,”attractions.booking.errors.no_travelers”:”You must select at least one adult.”,”exp_no_tours_for_dates”:”Sorry, there are no tours or activities available to book online for the date(s) you selected. Please choose a different date.”,”attractions.booking.errors.api_error”:”We’re sorry, we were unable to check availability due to an error. Please try again.”,”attractions.cart.item_already_added_with_link”:”You have already added this item to your u003ca href='{0}’>cartu003c/a>.”,”attractions.cart.alert_not_available”:”An item in your cart is no longer available.”,”attractions.booking.common_n_traveler”:”{0, plural, one{# traveler} other{# travelers}}”,”attractions.booking.common_n_adult”:”{0, plural, one{# adult} other{# adults}} “,”attractions.booking.common_n_child”:”{0, plural, one{# child} other{# children}}”,”attractions.booking.common_n_infant”:”{0, plural, one{# infant} other{# infants}}”,”attractions.booking.common_n_youth”:”{0, plural, one{# youth} other{# youths}}”,”attractions.booking.common_n_senior”:”{0, plural, one{# senior} other{# seniors}}”,”attractions.booking.tour_grade_unavailable_for_pax_date”:”Weu2019re sorry, the option youu2019ve selected is unavailable for {PAX} on {date}. Try changing the date or number of travelers to find availability.”,”attractions.booking.tour_grade_unavailable_try_different”:”We’re sorry, this tour is sold out or unavailable. Please try a different date.”,”experiences_POI_list_see_related_experiences_button_v2″:”See Related Experiences”,”exp_see_n_experiences_cap”:”{0, plural, one{See # Experience} other{See # Experiences}}”,”attractions.viator_info.more_info”:”More Information”,”ibex_Why_Book_on_TripAdvisor_1bd8″:”Why Book on Tripadvisor?”,”attractions.viator_info.tour_itinerary”:”Tour highlights & full itinerary”,”attractions.viator_info.online_booking”:”Easy online booking”,”attractions.viator_info.lowest_price”:”Lowest price guaranteed”,”show_x_more”:”Show {0} more”,”exp_successfully_added_to_your_cart”:”Successfully added to your cart!”,”attractions.cart_view_cart”:”View Cart”,”rs_group_purchase_proceed_to_checkout”:”Proceed to Checkout”,”select_a_date”:”Select a Date”,”cart_checkout_something_went_wrong”:”Something went wrong! Please try again.”,”attractions.booking.select_travelers”:”Select Travelers”,”attractions.cart_adding_alert”:”Adding to cart”,”exp_searching_for_available_tickets”:”Searching for available tickets”,”exp_book_now_apd”:”Book Now”,”attractions.booking.select_date_and_travelers”:”Select Date and Travelers”,”exp_availability_for_with_count”:”Availability for {0}”,”exp_change_date_and_travelers”:”Change date and travelers”,”common_day_sun_short”:”S”,”common_day_mon_short”:”M”,”common_day_tue_short”:”T”,”common_day_wed_short”:”W”,”common_day_thu_short”:”T”,”common_day_fri_short”:”F”,”common_day_sat_short”:”S”,”common_day_sun_abbr”:”Sun”,”common_day_mon_abbr”:”Mon”,”common_day_tue_abbr”:”Tue”,”common_day_wed_abbr”:”Wed”,”common_day_thu_abbr”:”Thu”,”common_day_fri_abbr”:”Fri”,”common_day_sat_abbr”:”Sat”,”mobile_cancel_8e0″:”Cancel”,”attractions.select.date”:”Select Date”,”attractions.booking.first_available_date”:”The first available date is {dateFirstAvail}”,”common_traveler”:”Traveler”,”attractions.booking.age_band.1″:”Adult”,”attractions.booking.age_band.2″:”Child”,”attractions.booking.age_band.3″:”Infant”,”attractions.booking.age_band.4″:”Youth”,”attractions.booking.age_band.5″:”Senior”,”exp_age_from_to”:”Age {0} – {1}”,”exp_booking_error_pax_limited_to_age_band_0_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# traveler} other{# travelers}}”,”exp_booking_error_pax_limited_to_age_band_1_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# adult} other{# adults}}”,”exp_booking_error_pax_limited_to_age_band_2_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# child} other{# children}}”,”exp_booking_error_pax_limited_to_age_band_3_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# infant} other{# infants}}”,”exp_booking_error_pax_limited_to_age_band_4_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# youth} other{# youths}}”,”exp_booking_error_pax_limited_to_age_band_5_fixed”:”We’re sorry, this activity is limited to {0, plural, one{# senior} other{# seniors}}”,”common_Read_more”:”Read more”,”common_Readless”:”Read less”,”more_link”:”More”,”sbx_survey_prompt_text”:”Can you tell us about your Tripadvisor experience?”,”sbx_take_survey”:”Take survey”},”features”:{“health_notice_banner”:true,”facebook_onetap_mobile”:false,”facebook_onetap_desktop”:true,”hr_defer_facebook_sdk”:false,”h_defer_facebook_sdk”:false,”mobile_web”:false,”home_location_prompt_master”:true,”qualtrics_surveys_any”:false,”disable_reg_dialog_for_hardgate”:false,”fbot_single_screen_onb”:false,”account_screen_onb_control”:false,”ml_hard_gate_model_v1_reevaluate_on_page_view”:false,”ml_hard_gate_dt_v1_master”:false,”ml_hard_gate_dt_v2_master”:false,”ml_hard_gate_dt_v3_master”:false,”ml_hard_gate_master”:false,”ml_hard_gate_dt”:false,”hard_gate_excl_disable_domain_direct”:false,”ungate_sponsored_listing_clicks”:true,”review_detail_hard_gate_master_dt”:false,”review_detail_hard_gate_dt_other_servlets”:true,”ml_hard_gate_targeting_logic”:false,”ml_hard_gate_no_reqlo”:false,”mw_hard_gate_ghost”:false,”sentryio_js”:false,”react_tracking_impressions”:true,”optimus_one_tap_cooldown_test”:false,”mobile_fixed_ad”:false,”saves_educator_explicit_preferences”:false,”saves_educator_control”:false,”post_signup_attr_promo_explicit_preferences_control”:false,”post_signup_attr_promo_explicit_preferences”:false,”ep_has_command_screen”:false,”ep_has_command_screen_control”:false,”cx_explicit_preferences_onboarding”:false,”cx_explicit_preferences_onetap”:true,”cx_explicit_preferences_scoped_home_cta”:true,”cx_explicit_preferences_scoped_home_cta_always_edit”:true,”cx_explicit_preferences_geopill”:false,”account_screen_onb”:false,”post_signup_attr_promo_onetap”:false,”onetap_onboarding”:true,”optimus_got_plus_banner”:false,”reg_emailoptin”:false,”google_onetap_contextual_message_mobile_lithium”:false,”google_onetap_contextual_message_desktop_lithium”:true,”optimus”:true,”optimus_new_members”:false,”optimus_banner_test_control”:false,”optimus_banner_test_a”:true,”optimus_banner_test_b”:false,”navigation_to_scoped_home”:false,”media_preview_focal_point”:false,”post_signup_attr_promo_masthead_join”:false,”dd_brand_refresh”:false,”trips_heart_icon”:true,”shopping_cart_desktop”:true,”saves”:true,”trips_2018″:true,”unified_inbox_v2″:true,”breadcrumbs_and_masthead_h1_on_new_tourism”:false,”persistent_header_unscoped_bu_home”:true,”global_nav_links_test”:false,”breadcrumbs_as_global_nav”:false,”delayed_ad_calls_lure_variant”:true,”attractions_lithium_filtered”:false,”fusion_lithium_attractions_client_side_navigation”:false,”fusion_lithium_attraction_products_list_page”:true,”fusion_lithium_hotels_list_page”:false,”fusion_lithium_restaurant_review_page”:false,”fusion_lithium_hotel_review_page”:false,”restaurant_list_consolidation”:false,”home_lithium”:true,”nearby_lithium”:true,”tourism_lithium”:true,”travel_advice”:true,”travel_advice_preview”:true,”rich_content_editor”:true,”curated_shelves_preview”:true,”cruise_better_by_sea”:false,”account_merge”:true,”forum_home_lithium”:true,”vr_broad_geo_list_redesign”:false,”tourism_management_center”:false,”mc_redesign_core”:false,”places_sift_tracking”:false,”quicklinks_sorting_model”:false,”mobile_web_feature_dual_search_geo_navi”:false,”social_homepage_autopop_geopill”:false,”social_homepage_new_headline”:false,”trips_saves_heart”:true,”trips_2018_collab”:true,”t4b_management_center_full_story_sampled”:false,”t4b_management_center_full_story”:true,”hrm_beta_full_story”:true,”saves_hotspot_button”:false,”trips_skip_check_whitelist_public_trips”:true,”trips_bookmark”:true,”trips_pop_stat_modal”:true,”hr_dark_green_icons”:true,”trips_2018_writes”:true,”hr_disable_cpm_ads”:false,”timed_refresh_after_15s”:false,”attractions_mtm_tickets”:true,”rex_seo_mtm_no_admission_tickets”:true,”attraction_ar_multi_tour_module_remove_category_name_on_CN”:false,”attractions_new_price_messaging”:false,”attractions_poi_above_the_fold_refresh”:true,”attraction_review_tickets_summary_show_product_name_mw”:false,”attractions_apd_sold_out_message_with_additional_availability”:true,”fusion_cta_copy_test”:false,”seo_ap_to_att_test”:true,”qualtrics_site_brand_experience_surveys_journey”:false,”qualtrics_site_brand_experience_surveys_bu”:true,”t9944_sbx_2_bu”:true,”t9945_sbx_2_journey”:false,”prod_runtime_tracking”:false,”dummy_cache_on_client”:false,”rubicon_header_bidding”:true,”amazon_header_bidding”:true,”apr_lithium_control”:false},”apolloCache”:null,”urqlCache”:{“232614767”:{“data”:{“gptInfo”:[{“adBase”:”/5349/ta.ta.com.s/ca.costa_rica.jaco”,”ppid”:null,”pageLevelTargeting”:[{“key”:”aud_id”,”value”:[“15299″,”16998″,”15274″,”15434″,”17002″,”17003″,”17005″,”17006″,”16849″,”17009″,”16850″,”17011″,”17012″,”15765″,”17079″,”16856″,”17050″,”16635″,”15324″,”15197″,”16062″,”15199″,”15327″,”17087”]},{“key”:”brandSafe”,”value”:[“false”]},{“key”:”browser”,”value”:[“safari”]},{“key”:”country”,”value”:[“291982”]},{“key”:”dest”,”value”:[“beach”]},{“key”:”detail”,”value”:[“309613”]},{“key”:”drs”,”value”:[“BRAND_85″,”FL_45″,”P13N_25″,”PRT_54″,”REVB_0″,”SALES_75″,”SEARCH_69”]},{“key”:”d”,”value”:[“SJO”]},{“key”:”dregion”,”value”:[“309293”]},{“key”:”o”,”value”:[“ICT”]},{“key”:”oregion”,”value”:[“39143”]},{“key”:”r”,”value”:[“ICTSJO”]},{“key”:”geo”,”value”:[“309271”]},{“key”:”hname”,”value”:[“Jaco_Beach”]},{“key”:”kw”,”value”:[“Jaco_Beach”]},{“key”:”loctype”,”value”:[“attractions”]},{“key”:”PageType”,”value”:[“ShowUserReviewsAttractions”]},{“key”:”platform”,”value”:[“desktop”]},{“key”:”rd”,”value”:[“com”]},{“key”:”region”,”value”:[“13190659″,”1190050″,”309269″]}]}]}},”824923715”:{“data”:{“locations”:[null]}},”2353121264″:{“data”:{“footerLinks”:{“aboutUsLinks”:[{“preLocalizedAnchorText”:”About Us”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”about_us”,”url”:”https://tripadvisor.mediaroom.com/us-about-us”},{“preLocalizedAnchorText”:”Press”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”press”,”url”:”https://tripadvisor.mediaroom.com/us-contact-us”},{“preLocalizedAnchorText”:”Resources and Policies”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”resources_and_policies”,”url”:”https://tripadvisor.mediaroom.com/us-resources”},{“preLocalizedAnchorText”:”Content Integrity”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”content_integrity”,”url”:”https://tripadvisor.mediaroom.com/US-content-integrity-policy”}],”businessLinks”:[{“preLocalizedAnchorText”:”Owners”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”claim_listing_click”,”url”:”/Owners?m=58397″},{“preLocalizedAnchorText”:”Business Advantage”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”business_advantage_click”,”url”:”/business/businessadvantage?args=-m57398″},{“preLocalizedAnchorText”:”Sponsored Placements”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”sponsored_placements_click”,”url”:”/business/sponsored-placements?args=-m58399″},{“preLocalizedAnchorText”:”Advertise with Us”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”advertise”,”url”:”/MediaKit”},{“preLocalizedAnchorText”:”Become an Affiliate”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”affiliate”,”url”:”/affiliates”}],”restaurantLinks”:[{“preLocalizedAnchorText”:”Manage Your Business”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”rs_footer_manage_your_business_click”,”url”:”/Owners”},{“preLocalizedAnchorText”:”Advertise Your Restaurant”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”rs_footer_click_advertise_your_restaurant”,”url”:”/Restaurant_Ads”},{“preLocalizedAnchorText”:”Tripadvisor Premium”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”rs_footer_click_ta_premium”,”url”:”/Premium”},{“preLocalizedAnchorText”:”More Resources”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”rs_footer_click_more_resources”,”url”:”/ForRestaurants”}],”exploreLinks”:[{“preLocalizedAnchorText”:”About Us”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”about_us”,”url”:”https://tripadvisor.mediaroom.com/us-about-us”,”isObfuscated”:null},{“preLocalizedAnchorText”:”Help Center”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”help_center”,”url”:”https://www.tripadvisorsupport.com/hc/en-us”,”isObfuscated”:null}],”legalLinks”:[{“preLocalizedAnchorText”:”Terms of Use”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”terms_of_use”,”url”:”https://tripadvisor.mediaroom.com/us-terms-of-use”,”isObfuscated”:null},{“preLocalizedAnchorText”:”Privacy and Cookies Statement”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”privacy_policy”,”url”:”https://tripadvisor.mediaroom.com/us-privacy-policy”,”isObfuscated”:null},{“preLocalizedAnchorText”:”Cookie consent”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”cookie_consent”,”url”:”modal://cookie-consent”,”isObfuscated”:null},{“preLocalizedAnchorText”:”Site Map”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”site_map”,”url”:”/SiteIndex-g291982-Costa_Rica.html”,”isObfuscated”:null},{“preLocalizedAnchorText”:”How the site works”,”localizedAnchorText”:null,”newWindow”:null,”trackAction”:”hamon_law”,”url”:”/pages/serviceEN.html”,”isObfuscated”:null}],”appLinks”:[{“preLocalizedAnchorText”:”iPhone App”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”ios_app”,”url”:”/ShowUrl-a_partnerKey.1-a_url.http%3A__2F____2F__itunes__2E__apple__2E__com__2F__us__2F__app__2F__tripadvisor__2F__id284876795__3F__mt%3D8__26__pt%3D14124__26__ct%3DBrand__5F__AppPage__5F__0__5F__63742-a_urlKey.f72bae0add77e606d.html”},{“preLocalizedAnchorText”:”Android App”,”localizedAnchorText”:null,”newWindow”:true,”trackAction”:”android_app”,”url”:”/ShowUrl-a_partnerKey.1-a_url.https%3A__2F____2F__play__2E__google__2E__com__2F__store__2F__apps__2F__details__3F__id%3Dcom__2E__tripadvisor__2E__tripadvisor__26__hl%3Den__26__referrer%3Dutm__5F__download__5F__tracking%253DBrand__5F__AppPage__5F__0__5F__63742-a_urlKey.70bb05c81415ae292.html”}],”socialLinks”:[{“preLocalizedAnchorText”:”Facebook”,”localizedAnchorText”:null,”iconUrl”:”/img2/social/icons/facebook_20x20.png”,”trackAction”:”facebook”,”url”:”/ShowUrl-a_partnerKey.1-a_url.http%3A__2F____2F__www__2E__facebook__2E__com__2F__TripAdvisor-a_urlKey.15090f72418302936.html”},{“preLocalizedAnchorText”:”Twitter”,”localizedAnchorText”:null,”iconUrl”:”/img2/social/icons/twitter_20x20.png”,”trackAction”:”twitter”,”url”:”/ShowUrl-a_partnerKey.1-a_url.https%3A__2F____2F__twitter__2E__com__2F__TripAdvisor-a_urlKey.44b19b8408425e091.html”},{“preLocalizedAnchorText”:”Pinterest”,”localizedAnchorText”:null,”iconUrl”:”/img2/social/icons/pinterest_20x20.png”,”trackAction”:”pinterest”,”url”:”/ShowUrl-a_partnerKey.1-a_url.https%3A__2F____2F__www__2E__pinterest__2E__com__2F__tripadvisorus__2F__-a_urlKey.dc384df7d23fa0257.html”},{“preLocalizedAnchorText”:”Instagram”,”localizedAnchorText”:null,”iconUrl”:”/img2/social/icons/instagram_20x20.png”,”trackAction”:”instagram”,”url”:”/ShowUrl-a_partnerKey.1-a_url.https%3A__2F____2F__instagram__2E__com__2F__tripadvisor__2F__-a_urlKey.95e728d4c18d14f29.html”}],”partnerLinks”:[{“preLocalizedLink”:”Discover your dream destination with u003ca target=”_blank” class=”inlineLink” href=”https://www.jetsetter.com/”>Jetsetteru003c/a>”,”localizedLink”:null,”trackAction”:”sites_jetsetter”},{“preLocalizedLink”:”Book the best restaurants with u003ca target=”_blank” class=”inlineLink” href=”https://www.thefork.com/”>TheForku003c/a>”,”localizedLink”:null,”trackAction”:”sites_thefork”},{“preLocalizedLink”:”Book tours and attraction tickets on u003ca target=”_blank” class=”inlineLink” href=”https://www.viator.com/”>Viatoru003c/a>”,”localizedLink”:null,”trackAction”:”sites_viator”},{“preLocalizedLink”:”Read cruise reviews on u003ca target=”_blank” class=”inlineLink” href=”https://www.cruisecritic.com/”>Cruise Criticu003c/a>”,”localizedLink”:null,”trackAction”:”sites_cruisecritic”},{“preLocalizedLink”:”Get airline seating charts on u003ca target=”_blank” class=”inlineLink” href=”https://www.seatguru.com/”>Seat Guruu003c/a>”,”localizedLink”:null,”trackAction”:”sites_seatguru”},{“preLocalizedLink”:”Find vacation rentals on u003ca target=”_blank” class=”inlineLink” href=”https://www.flipkey.com/”>FlipKeyu003c/a>”,”localizedLink”:null,”trackAction”:”sites_flipkey”},{“preLocalizedLink”:”Search for holiday rentals on u003ca target=”_blank” class=”inlineLink” href=”https://www.holidaylettings.co.uk/”>Holiday Lettingsu003c/a>”,”localizedLink”:null,”trackAction”:”sites_holidaylettings”},{“preLocalizedLink”:”Find a vacation home on u003ca target=”_blank” class=”inlineLink” href=”https://www.vacationhomerentals.com/”>Vacation Home Rentalsu003c/a>”,”localizedLink”:null,”trackAction”:”sites_vr”},{“preLocalizedLink”:”Plan and book your next trip with u003ca target=”_blank” class=”inlineLink” href=”https://www.helloreco.com/”>Reco Trip Designersu003c/a>”,”localizedLink”:null,”trackAction”:”sites_reco”}]}}},”2612429850″:{“data”:{“locations”:[{“name”:”Jaco”}],”insightProfile”:{“locations”:[{“location”:{“locationId”:309613,”parentId”:309271,”name”:”Jaco Beach”,”url”:”/Attraction_Review-g309271-d309613-Reviews-Jaco_Beach-Jaco_Jaco_District_Garabito_Municipality_Province_of_Puntarenas.html”,”HOTELS_URL”:”/Hotels?geo=309613″,”ATTRACTIONS_URL”:”/Attractions?geo=309613″,”RESTAURANTS_URL”:”/Restaurants?geo=309613″,”isGeo”:false,”locationV2″:{“placeType”:”ATTRACTION”,”names”:{“longOnlyHierarchyTypeahead”:”Jaco, Costa Rica”,”longOnlyHierarchyTypeaheadV2″:”Jaco, Costa Rica”},”vacationRentalsRoute”:null},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/0f/16/f1/08/jaco-beach-costa-rica.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/0f/16/f1/08/jaco-beach-costa-rica.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/0f/16/f1/08/jaco-beach-costa-rica.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/0f/16/f1/08/jaco-beach-costa-rica.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/0f/16/f1/08/jaco-beach-costa-rica.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/0f/16/f1/08/jaco-beach-costa-rica.jpg”},{“width”:736,”height”:492,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/0f/16/f1/08/jaco-beach-costa-rica.jpg”}]},”placeType”:”ATTRACTION”}}]},”popularDestinations”:[{“locationId”:34227,”parentId”:10488475,”name”:”Fort Lauderdale”,”url”:”/Tourism-g34227-Fort_Lauderdale_Broward_County_Florida-Vacations.html”,”HOTELS_URL”:”/Hotels-g34227-Fort_Lauderdale_Broward_County_Florida-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g34227-Activities-Fort_Lauderdale_Broward_County_Florida.html”,”RESTAURANTS_URL”:”/Restaurants-g34227-Fort_Lauderdale_Broward_County_Florida.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Florida, United States”,”longOnlyHierarchyTypeaheadV2″:”Broward County, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g34227-Reviews-Fort_Lauderdale_Broward_County_Florida-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/ff/17/fort-lauderdale.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/ff/17/fort-lauderdale.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/ff/17/fort-lauderdale.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/ff/17/fort-lauderdale.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/ff/17/fort-lauderdale.jpg”},{“width”:550,”height”:107,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/ff/17/fort-lauderdale.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/ff/17/fort-lauderdale.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/ff/17/fort-lauderdale.jpg”}]},”placeType”:”CITY”},{“locationId”:34438,”parentId”:28930,”name”:”Miami”,”url”:”/Tourism-g34438-Miami_Florida-Vacations.html”,”HOTELS_URL”:”/Hotels-g34438-Miami_Florida-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g34438-Activities-Miami_Florida.html”,”RESTAURANTS_URL”:”/Restaurants-g34438-Miami_Florida.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Florida, United States”,”longOnlyHierarchyTypeaheadV2″:”Florida, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g34438-Reviews-Miami_Florida-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/ff/26/miami.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/ff/26/miami.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/ff/26/miami.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/ff/26/miami.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/ff/26/miami.jpg”},{“width”:550,”height”:107,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/ff/26/miami.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/ff/26/miami.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/ff/26/miami.jpg”}]},”placeType”:”CITY”},{“locationId”:45963,”parentId”:28949,”name”:”Las Vegas”,”url”:”/Tourism-g45963-Las_Vegas_Nevada-Vacations.html”,”HOTELS_URL”:”/Hotels-g45963-Las_Vegas_Nevada-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g45963-Activities-Las_Vegas_Nevada.html”,”RESTAURANTS_URL”:”/Restaurants-g45963-Las_Vegas_Nevada.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Nevada, United States”,”longOnlyHierarchyTypeaheadV2″:”Nevada, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g45963-Reviews-Las_Vegas_Nevada-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/0d/90/b1/d5/las-vegas-welcome-sign.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:1024,”height”:683,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/0d/90/b1/d5/las-vegas-welcome-sign.jpg”},{“width”:1200,”height”:800,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/0d/90/b1/d5/las-vegas-welcome-sign.jpg”}]},”placeType”:”CITY”},{“locationId”:60750,”parentId”:28926,”name”:”San Diego”,”url”:”/Tourism-g60750-San_Diego_California-Vacations.html”,”HOTELS_URL”:”/Hotels-g60750-San_Diego_California-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g60750-Activities-San_Diego_California.html”,”RESTAURANTS_URL”:”/Restaurants-g60750-San_Diego_California.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”California, United States”,”longOnlyHierarchyTypeaheadV2″:”California, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g60750-Reviews-San_Diego_California-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/33/f5/f0/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/33/f5/f0/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/33/f5/f0/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/33/f5/f0/caption.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/33/f5/f0/caption.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/33/f5/f0/caption.jpg”},{“width”:1024,”height”:682,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/33/f5/f0/caption.jpg”},{“width”:1280,”height”:853,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/33/f5/f0/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:147293,”parentId”:3458428,”name”:”Punta Cana”,”url”:”/Tourism-g147293-Punta_Cana_La_Altagracia_Province_Dominican_Republic-Vacations.html”,”HOTELS_URL”:”/Hotels-g147293-Punta_Cana_La_Altagracia_Province_Dominican_Republic-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g147293-Activities-Punta_Cana_La_Altagracia_Province_Dominican_Republic.html”,”RESTAURANTS_URL”:”/Restaurants-g147293-Punta_Cana_La_Altagracia_Province_Dominican_Republic.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Dominican Republic, Caribbean”,”longOnlyHierarchyTypeaheadV2″:”La Altagracia Province, Dominican Republic”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g147293-Reviews-Punta_Cana_La_Altagracia_Province_Dominican_Republic-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/36/36/c0/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/36/36/c0/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/36/36/c0/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/36/36/c0/caption.jpg”},{“width”:250,”height”:158,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/36/36/c0/caption.jpg”},{“width”:550,”height”:347,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/36/36/c0/caption.jpg”},{“width”:1024,”height”:646,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/36/36/c0/caption.jpg”},{“width”:1280,”height”:807,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/36/36/c0/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:60982,”parentId”:29222,”name”:”Honolulu”,”url”:”/Tourism-g60982-Honolulu_Oahu_Hawaii-Vacations.html”,”HOTELS_URL”:”/Hotels-g60982-Honolulu_Oahu_Hawaii-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g60982-Activities-Honolulu_Oahu_Hawaii.html”,”RESTAURANTS_URL”:”/Restaurants-g60982-Honolulu_Oahu_Hawaii.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Hawaii, United States”,”longOnlyHierarchyTypeaheadV2″:”Oahu, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g60982-Reviews-Honolulu_Oahu_Hawaii-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/04/bc/8d/b2/hanauma-bay.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/04/bc/8d/b2/hanauma-bay.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/04/bc/8d/b2/hanauma-bay.jpg”},{“width”:250,”height”:187,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/04/bc/8d/b2/hanauma-bay.jpg”},{“width”:550,”height”:412,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/04/bc/8d/b2/hanauma-bay.jpg”},{“width”:1024,”height”:768,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/04/bc/8d/b2/hanauma-bay.jpg”},{“width”:2000,”height”:1500,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/04/bc/8d/b2/hanauma-bay.jpg”}]},”placeType”:”CITY”},{“locationId”:34345,”parentId”:34340,”name”:”Key West”,”url”:”/Tourism-g34345-Key_West_Florida_Keys_Florida-Vacations.html”,”HOTELS_URL”:”/Hotels-g34345-Key_West_Florida_Keys_Florida-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g34345-Activities-Key_West_Florida_Keys_Florida.html”,”RESTAURANTS_URL”:”/Restaurants-g34345-Key_West_Florida_Keys_Florida.html”,”isGeo”:true,”locationV2″:{“placeType”:”ISLAND”,”names”:{“longOnlyHierarchyTypeahead”:”Florida, United States”,”longOnlyHierarchyTypeaheadV2″:”Florida Keys, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g34345-Reviews-Key_West_Florida_Keys_Florida-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/ff/1f/key-west.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/ff/1f/key-west.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/ff/1f/key-west.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/ff/1f/key-west.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/ff/1f/key-west.jpg”},{“width”:550,”height”:108,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/ff/1f/key-west.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/ff/1f/key-west.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/ff/1f/key-west.jpg”}]},”placeType”:”ISLAND”},{“locationId”:240327,”parentId”:659488,”name”:”Puerto Morelos”,”url”:”/Tourism-g240327-Puerto_Morelos_Yucatan_Peninsula-Vacations.html”,”HOTELS_URL”:”/Hotels-g240327-Puerto_Morelos_Yucatan_Peninsula-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g240327-Activities-Puerto_Morelos_Yucatan_Peninsula.html”,”RESTAURANTS_URL”:”/Restaurants-g240327-Puerto_Morelos_Yucatan_Peninsula.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Quintana Roo, Mexico”,”longOnlyHierarchyTypeaheadV2″:”Yucatan Peninsula, Mexico”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g240327-Reviews-Puerto_Morelos_Yucatan_Peninsula-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/0e/97/2c/bd/photo0jpg.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/0e/97/2c/bd/photo0jpg.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/0e/97/2c/bd/photo0jpg.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/0e/97/2c/bd/photo0jpg.jpg”},{“width”:250,”height”:188,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/0e/97/2c/bd/photo0jpg.jpg”},{“width”:320,”height”:240,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/320×120/0e/97/2c/bd/photo0jpg.jpg”},{“width”:550,”height”:413,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/0e/97/2c/bd/photo0jpg.jpg”},{“width”:768,”height”:576,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/768×250/0e/97/2c/bd/photo0jpg.jpg”},{“width”:1024,”height”:768,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/0e/97/2c/bd/photo0jpg.jpg”},{“width”:1024,”height”:768,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1024×250/0e/97/2c/bd/photo0jpg.jpg”},{“width”:1280,”height”:960,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1280×250/0e/97/2c/bd/photo0jpg.jpg”},{“width”:2048,”height”:1536,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/0e/97/2c/bd/photo0jpg.jpg”},{“width”:2560,”height”:1920,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/2560×500/0e/97/2c/bd/photo0jpg.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:34515,”parentId”:1591089,”name”:”Orlando”,”url”:”/Tourism-g34515-Orlando_Florida-Vacations.html”,”HOTELS_URL”:”/Hotels-g34515-Orlando_Florida-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g34515-Activities-Orlando_Florida.html”,”RESTAURANTS_URL”:”/Restaurants-g34515-Orlando_Florida.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Florida, United States”,”longOnlyHierarchyTypeaheadV2″:”Central Florida, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g34515-Reviews-Orlando_Florida-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/03/74/78/7e/christmas-magic.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/03/74/78/7e/christmas-magic.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/03/74/78/7e/christmas-magic.jpg”},{“width”:153,”height”:205,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/03/74/78/7e/christmas-magic.jpg”},{“width”:337,”height”:450,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/03/74/78/7e/christmas-magic.jpg”},{“width”:2448,”height”:3264,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/03/74/78/7e/christmas-magic.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:34439,”parentId”:28930,”name”:”Miami Beach”,”url”:”/Tourism-g34439-Miami_Beach_Florida-Vacations.html”,”HOTELS_URL”:”/Hotels-g34439-Miami_Beach_Florida-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g34439-Activities-Miami_Beach_Florida.html”,”RESTAURANTS_URL”:”/Restaurants-g34439-Miami_Beach_Florida.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Florida, United States”,”longOnlyHierarchyTypeaheadV2″:”Florida, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g34439-Reviews-Miami_Beach_Florida-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/12/f7/4e/c3/miami-beach.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/12/f7/4e/c3/miami-beach.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/12/f7/4e/c3/miami-beach.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/12/f7/4e/c3/miami-beach.jpg”},{“width”:250,”height”:109,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/12/f7/4e/c3/miami-beach.jpg”},{“width”:320,”height”:140,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/320×120/12/f7/4e/c3/miami-beach.jpg”},{“width”:550,”height”:241,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/12/f7/4e/c3/miami-beach.jpg”},{“width”:768,”height”:336,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/768×250/12/f7/4e/c3/miami-beach.jpg”},{“width”:1024,”height”:448,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/12/f7/4e/c3/miami-beach.jpg”},{“width”:1024,”height”:448,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1024×250/12/f7/4e/c3/miami-beach.jpg”},{“width”:1280,”height”:561,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1280×250/12/f7/4e/c3/miami-beach.jpg”},{“width”:2560,”height”:1121,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/2560×500/12/f7/4e/c3/miami-beach.jpg”},{“width”:8289,”height”:3630,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/12/f7/4e/c3/miami-beach.jpg”}]},”placeType”:”CITY”},{“locationId”:152515,”parentId”:150773,”name”:”Cabo San Lucas”,”url”:”/Tourism-g152515-Cabo_San_Lucas_Los_Cabos_Baja_California-Vacations.html”,”HOTELS_URL”:”/Hotels-g152515-Cabo_San_Lucas_Los_Cabos_Baja_California-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g152515-Activities-Cabo_San_Lucas_Los_Cabos_Baja_California.html”,”RESTAURANTS_URL”:”/Restaurants-g152515-Cabo_San_Lucas_Los_Cabos_Baja_California.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Baja California Sur, Mexico”,”longOnlyHierarchyTypeaheadV2″:”Baja California, Mexico”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g152515-Reviews-Cabo_San_Lucas_Los_Cabos_Baja_California-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/01/bf/3a/e9/wow.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/01/bf/3a/e9/wow.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/01/bf/3a/e9/wow.jpg”},{“width”:250,”height”:187,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/01/bf/3a/e9/wow.jpg”},{“width”:550,”height”:412,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/01/bf/3a/e9/wow.jpg”},{“width”:640,”height”:480,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/01/bf/3a/e9/wow.jpg”}]},”placeType”:”CITY”},{“locationId”:150807,”parentId”:1575485,”name”:”Cancun”,”url”:”/Tourism-g150807-Cancun_Yucatan_Peninsula-Vacations.html”,”HOTELS_URL”:”/Hotels-g150807-Cancun_Yucatan_Peninsula-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g150807-Activities-Cancun_Yucatan_Peninsula.html”,”RESTAURANTS_URL”:”/Restaurants-g150807-Cancun_Yucatan_Peninsula.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Quintana Roo, Mexico”,”longOnlyHierarchyTypeaheadV2″:”Yucatan Peninsula, Mexico”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g150807-Reviews-Cancun_Yucatan_Peninsula-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/33/d5/84/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/33/d5/84/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/33/d5/84/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/33/d5/84/caption.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/33/d5/84/caption.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/33/d5/84/caption.jpg”},{“width”:1024,”height”:683,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/33/d5/84/caption.jpg”},{“width”:1199,”height”:800,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/1b/33/d5/84/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:60763,”parentId”:28953,”name”:”New York City”,”url”:”/Tourism-g60763-New_York_City_New_York-Vacations.html”,”HOTELS_URL”:”/Hotels-g60763-New_York_City_New_York-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g60763-Activities-New_York_City_New_York.html”,”RESTAURANTS_URL”:”/Restaurants-g60763-New_York_City_New_York.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”New York, United States”,”longOnlyHierarchyTypeaheadV2″:”New York, United States”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g60763-Reviews-New_York_City_New_York-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/43/e5/f4/caption.jpg?w=100&h=100&s=1&cx=2496&cy=2574&chk=v1_7cd1e4b62d481349a709″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/43/e5/f4/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/43/e5/f4/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/43/e5/f4/caption.jpg”},{“width”:250,”height”:164,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/43/e5/f4/caption.jpg”},{“width”:550,”height”:360,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/43/e5/f4/caption.jpg”},{“width”:1024,”height”:671,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/43/e5/f4/caption.jpg”},{“width”:1280,”height”:839,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/43/e5/f4/caption.jpg”}]},”placeType”:”CITY”},{“locationId”:150812,”parentId”:659488,”name”:”Playa del Carmen”,”url”:”/Tourism-g150812-Playa_del_Carmen_Yucatan_Peninsula-Vacations.html”,”HOTELS_URL”:”/Hotels-g150812-Playa_del_Carmen_Yucatan_Peninsula-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g150812-Activities-Playa_del_Carmen_Yucatan_Peninsula.html”,”RESTAURANTS_URL”:”/Restaurants-g150812-Playa_del_Carmen_Yucatan_Peninsula.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Quintana Roo, Mexico”,”longOnlyHierarchyTypeaheadV2″:”Yucatan Peninsula, Mexico”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g150812-Reviews-Playa_del_Carmen_Yucatan_Peninsula-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/33/eb/17/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/33/eb/17/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/33/eb/17/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/33/eb/17/caption.jpg”},{“width”:250,”height”:141,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/33/eb/17/caption.jpg”},{“width”:550,”height”:309,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/33/eb/17/caption.jpg”},{“width”:1024,”height”:576,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/1b/33/eb/17/caption.jpg”},{“width”:1024,”height”:576,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/33/eb/17/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:150813,”parentId”:659488,”name”:”Tulum”,”url”:”/Tourism-g150813-Tulum_Yucatan_Peninsula-Vacations.html”,”HOTELS_URL”:”/Hotels-g150813-Tulum_Yucatan_Peninsula-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g150813-Activities-Tulum_Yucatan_Peninsula.html”,”RESTAURANTS_URL”:”/Restaurants-g150813-Tulum_Yucatan_Peninsula.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Quintana Roo, Mexico”,”longOnlyHierarchyTypeaheadV2″:”Yucatan Peninsula, Mexico”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g150813-Reviews-Tulum_Yucatan_Peninsula-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/36/37/eb/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/36/37/eb/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/36/37/eb/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/36/37/eb/caption.jpg”},{“width”:250,”height”:128,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/36/37/eb/caption.jpg”},{“width”:550,”height”:281,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/36/37/eb/caption.jpg”},{“width”:1024,”height”:523,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/36/37/eb/caption.jpg”},{“width”:1280,”height”:654,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/36/37/eb/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:187147,”parentId”:187144,”name”:”Paris”,”url”:”/Tourism-g187147-Paris_Ile_de_France-Vacations.html”,”HOTELS_URL”:”/Hotels-g187147-Paris_Ile_de_France-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g187147-Activities-Paris_Ile_de_France.html”,”RESTAURANTS_URL”:”/Restaurants-g187147-Paris_Ile_de_France.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Ile-de-France, France”,”longOnlyHierarchyTypeaheadV2″:”Ile-de-France, France”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g187147-Reviews-Paris_Ile_de_France-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/33/ca/c8/caption.jpg?w=100&h=100&s=1&cx=2893&cy=2540&chk=v1_3f03b07d6776236b4686″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/33/ca/c8/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/33/ca/c8/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/33/ca/c8/caption.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/33/ca/c8/caption.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/33/ca/c8/caption.jpg”},{“width”:1024,”height”:683,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/33/ca/c8/caption.jpg”},{“width”:1280,”height”:853,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/33/ca/c8/caption.jpg”}]},”placeType”:”CITY”},{“locationId”:186338,”parentId”:186217,”name”:”London”,”url”:”/Tourism-g186338-London_England-Vacations.html”,”HOTELS_URL”:”/Hotels-g186338-London_England-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g186338-Activities-London_England.html”,”RESTAURANTS_URL”:”/Restaurants-g186338-London_England.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”England, United Kingdom”,”longOnlyHierarchyTypeaheadV2″:”England, United Kingdom”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g186338-Reviews-London_England-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1c/0e/6d/d4/caption.jpg?w=100&h=100&s=1&cx=1948&cy=2197&chk=v1_ea18b266c4e57c41167a”},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1c/0e/6d/d4/caption.jpg”},{“width”:137,”height”:205,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1c/0e/6d/d4/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1c/0e/6d/d4/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1c/0e/6d/d4/caption.jpg”},{“width”:300,”height”:450,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1c/0e/6d/d4/caption.jpg”},{“width”:550,”height”:825,”url”:”https://media-cdn.tripadvisor.com/media/photo-p/1c/0e/6d/d4/caption.jpg”},{“width”:853,”height”:1280,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1c/0e/6d/d4/caption.jpg”},{“width”:1024,”height”:1536,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1c/0e/6d/d4/caption.jpg”}]},”placeType”:”CITY”},{“locationId”:295424,”parentId”:2630221,”name”:”Dubai”,”url”:”/Tourism-g295424-Dubai_Emirate_of_Dubai-Vacations.html”,”HOTELS_URL”:”/Hotels-g295424-Dubai_Emirate_of_Dubai-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g295424-Activities-Dubai_Emirate_of_Dubai.html”,”RESTAURANTS_URL”:”/Restaurants-g295424-Dubai_Emirate_of_Dubai.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”United Arab Emirates, Middle East”,”longOnlyHierarchyTypeaheadV2″:”Emirate of Dubai, United Arab Emirates”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g295424-Reviews-Dubai_Emirate_of_Dubai-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/51/ca/8d/caption.jpg?w=100&h=100&s=1&cx=2985&cy=1423&chk=v1_ee80618899fd7d7544dd”},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/51/ca/8d/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/51/ca/8d/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/51/ca/8d/caption.jpg”},{“width”:250,”height”:167,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/51/ca/8d/caption.jpg”},{“width”:550,”height”:367,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/51/ca/8d/caption.jpg”},{“width”:1024,”height”:683,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/51/ca/8d/caption.jpg”},{“width”:1280,”height”:853,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/51/ca/8d/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:293974,”parentId”:293969,”name”:”Istanbul”,”url”:”/Tourism-g293974-Istanbul-Vacations.html”,”HOTELS_URL”:”/Hotels-g293974-Istanbul-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g293974-Activities-Istanbul.html”,”RESTAURANTS_URL”:”/Restaurants-g293974-Istanbul.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Turkey, Europe”,”longOnlyHierarchyTypeaheadV2″:”Turkey, Europe”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g293974-Reviews-Istanbul-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1b/33/f6/60/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/1b/33/f6/60/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/1b/33/f6/60/caption.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/1b/33/f6/60/caption.jpg”},{“width”:250,”height”:138,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/1b/33/f6/60/caption.jpg”},{“width”:550,”height”:304,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/1b/33/f6/60/caption.jpg”},{“width”:1024,”height”:566,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/1b/33/f6/60/caption.jpg”},{“width”:1280,”height”:707,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/33/f6/60/caption.jpg”}]},”placeType”:”CITY”},{“locationId”:297555,”parentId”:297556,”name”:”Sharm El Sheikh”,”url”:”/Tourism-g297555-Sharm_El_Sheikh_South_Sinai_Red_Sea_and_Sinai-Vacations.html”,”HOTELS_URL”:”/Hotels-g297555-Sharm_El_Sheikh_South_Sinai_Red_Sea_and_Sinai-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g297555-Activities-Sharm_El_Sheikh_South_Sinai_Red_Sea_and_Sinai.html”,”RESTAURANTS_URL”:”/Restaurants-g297555-Sharm_El_Sheikh_South_Sinai_Red_Sea_and_Sinai.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Egypt, Africa”,”longOnlyHierarchyTypeaheadV2″:”Red Sea and Sinai, Egypt”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g297555-Reviews-Sharm_El_Sheikh_South_Sinai_Red_Sea_and_Sinai-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/fc/ed/sharm-el-sheikh.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:550,”height”:108,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/fc/ed/sharm-el-sheikh.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/fc/ed/sharm-el-sheikh.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:297962,”parentId”:297960,”name”:”Antalya”,”url”:”/Tourism-g297962-Antalya_Turkish_Mediterranean_Coast-Vacations.html”,”HOTELS_URL”:”/Hotels-g297962-Antalya_Turkish_Mediterranean_Coast-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g297962-Activities-Antalya_Turkish_Mediterranean_Coast.html”,”RESTAURANTS_URL”:”/Restaurants-g297962-Antalya_Turkish_Mediterranean_Coast.html”,”isGeo”:true,”locationV2″:{“placeType”:”CITY”,”names”:{“longOnlyHierarchyTypeahead”:”Turkey, Europe”,”longOnlyHierarchyTypeaheadV2″:”Turkish Mediterranean Coast, Turkey”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g297962-Reviews-Antalya_Turkish_Mediterranean_Coast-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/fd/3c/antalya.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/fd/3c/antalya.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/fd/3c/antalya.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/fd/3c/antalya.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/fd/3c/antalya.jpg”},{“width”:550,”height”:108,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/fd/3c/antalya.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/fd/3c/antalya.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/fd/3c/antalya.jpg”}]},”placeType”:”CITY”},{“locationId”:312725,”parentId”:13098613,”name”:”Belek”,”url”:”/Tourism-g312725-Belek_Serik_District_Turkish_Mediterranean_Coast-Vacations.html”,”HOTELS_URL”:”/Hotels-g312725-Belek_Serik_District_Turkish_Mediterranean_Coast-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g312725-Activities-Belek_Serik_District_Turkish_Mediterranean_Coast.html”,”RESTAURANTS_URL”:”/Restaurants-g312725-Belek_Serik_District_Turkish_Mediterranean_Coast.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Turkey, Europe”,”longOnlyHierarchyTypeaheadV2″:”Turkish Mediterranean Coast, Turkey”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g312725-Reviews-Belek_Serik_District_Turkish_Mediterranean_Coast-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/0a/cd/d5/11/caption.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/0a/cd/d5/11/caption.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/0a/cd/d5/11/caption.jpg”},{“width”:250,”height”:156,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/0a/cd/d5/11/caption.jpg”},{“width”:320,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/320×120/0a/cd/d5/11/caption.jpg”},{“width”:550,”height”:343,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/0a/cd/d5/11/caption.jpg”},{“width”:768,”height”:479,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/768×250/0a/cd/d5/11/caption.jpg”},{“width”:1024,”height”:639,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/0a/cd/d5/11/caption.jpg”},{“width”:1024,”height”:639,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1024×250/0a/cd/d5/11/caption.jpg”},{“width”:1280,”height”:799,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/1280×250/0a/cd/d5/11/caption.jpg”},{“width”:1575,”height”:983,”url”:”https://media-cdn.tripadvisor.com/media/photo-o/0a/cd/d5/11/caption.jpg”},{“width”:2560,”height”:1598,”url”:”https://media-cdn.tripadvisor.com/media/photo-c/2560×500/0a/cd/d5/11/caption.jpg”}]},”placeType”:”MUNICIPALITY”},{“locationId”:297549,”parentId”:297545,”name”:”Hurghada”,”url”:”/Tourism-g297549-Hurghada_Red_Sea_and_Sinai-Vacations.html”,”HOTELS_URL”:”/Hotels-g297549-Hurghada_Red_Sea_and_Sinai-Hotels.html”,”ATTRACTIONS_URL”:”/Attractions-g297549-Activities-Hurghada_Red_Sea_and_Sinai.html”,”RESTAURANTS_URL”:”/Restaurants-g297549-Hurghada_Red_Sea_and_Sinai.html”,”isGeo”:true,”locationV2″:{“placeType”:”MUNICIPALITY”,”names”:{“longOnlyHierarchyTypeahead”:”Egypt, Africa”,”longOnlyHierarchyTypeaheadV2″:”Red Sea and Sinai, Egypt”},”vacationRentalsRoute”:{“url”:”/VacationRentals-g297549-Reviews-Hurghada_Red_Sea_and_Sinai-Vacation_Rentals.html”}},”thumbnail”:{“photoSizes”:[{“width”:0,”height”:0,”url”:”https://dynamic-media-cdn.tripadvisor.com/media/photo-o/15/33/fc/eb/hurghada.jpg?w=100&h=100&s=1″},{“width”:50,”height”:50,”url”:”https://media-cdn.tripadvisor.com/media/photo-t/15/33/fc/eb/hurghada.jpg”},{“width”:150,”height”:150,”url”:”https://media-cdn.tripadvisor.com/media/photo-l/15/33/fc/eb/hurghada.jpg”},{“width”:180,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-i/15/33/fc/eb/hurghada.jpg”},{“width”:250,”height”:49,”url”:”https://media-cdn.tripadvisor.com/media/photo-f/15/33/fc/eb/hurghada.jpg”},{“width”:550,”height”:107,”url”:”https://media-cdn.tripadvisor.com/media/photo-s/15/33/fc/eb/hurghada.jpg”},{“width”:1024,”height”:200,”url”:”https://media-cdn.tripadvisor.com/media/photo-w/15/33/fc/eb/hurghada.jpg”},{“width”:1280,”height”:250,”url”:”https://media-cdn.tripadvisor.com/media/photo-m/1280/15/33/fc/eb/hurghada.jpg”}]},”placeType”:”MUNICIPALITY”}]}},”2652962399″:{“data”:{“currency”:{“code”:”USD”,”name”:”U.S. Dollars”,”symbol”:”$”}}},”3093666152″:{“data”:{“explicitPreferences”:{“where”:{“value”:191},”segment”:{“value”:null},”dates”:{“value”:null},”interests”:{“value”:[{“type”:”TAG”,”value”:”10954″,”selected”:false,”display”:{“displayText”:”Fine dining”}},{“type”:”TAG”,”value”:”6216″,”selected”:false,”display”:{“displayText”:”Family-friendly hotels”}},{“type”:”KEYWORD”,”value”:”Tacos”,”selected”:false,”display”:{“displayText”:”Tacos”}},{“type”:”TAG”,”value”:”10643″,”selected”:false,”display”:{“displayText”:”Seafood”}},{“type”:”TAG”,”value”:”10749″,”selected”:false,”display”:{“displayText”:”South american cuisine”}},{“type”:”KEYWORD”,”value”:”Pura vida”,”selected”:false,”display”:{“displayText”:”Pura vida”}},{“type”:”TAG”,”value”:”9201″,”selected”:false,”display”:{“displayText”:”Specialty lodging”}},{“type”:”TAG”,”value”:”10639″,”selected”:false,”display”:{“displayText”:”Latin cuisine”}},{“type”:”KEYWORD”,”value”:”Costa”,”selected”:false,”display”:{“displayText”:”Costa”}},{“type”:”TAG”,”value”:”9171″,”selected”:false,”display”:{“displayText”:”Hotels with casinos”}},{“type”:”TAG”,”value”:”9909″,”selected”:false,”display”:{“displayText”:”Desserts”}},{“type”:”KEYWORD”,”value”:”Smoothies”,”selected”:false,”display”:{“displayText”:”Smoothies”}},{“type”:”TAG”,”value”:”10665″,”selected”:false,”display”:{“displayText”:”Vegetarian cuisine”}},{“type”:”TAG”,”value”:”9156″,”selected”:false,”display”:{“displayText”:”Beachfront hotels”}},{“type”:”KEYWORD”,”value”:”Casado”,”selected”:false,”display”:{“displayText”:”Casado”}}]}}}},”3976977095″:{“data”:{“locations”:[{“name”:”Jaco”}],”memberProfile”:null,”explicitPreferences”:{“where”:{“value”:191},”segment”:{“value”:null},”dates”:{“value”:null},”interests”:{“value”:[{“type”:”TAG”,”value”:”10954″,”selected”:false,”display”:{“displayText”:”Fine dining”}},{“type”:”TAG”,”value”:”6216″,”selected”:false,”display”:{“displayText”:”Family-friendly hotels”}},{“type”:”KEYWORD”,”value”:”Tacos”,”selected”:false,”display”:{“displayText”:”Tacos”}},{“type”:”TAG”,”value”:”10643″,”selected”:false,”display”:{“displayText”:”Seafood”}},{“type”:”TAG”,”value”:”10749″,”selected”:false,”display”:{“displayText”:”South american cuisine”}},{“type”:”KEYWORD”,”value”:”Pura vida”,”selected”:false,”display”:{“displayText”:”Pura vida”}},{“type”:”TAG”,”value”:”9201″,”selected”:false,”display”:{“displayText”:”Specialty lodging”}},{“type”:”TAG”,”value”:”10639″,”selected”:false,”display”:{“displayText”:”Latin cuisine”}},{“type”:”KEYWORD”,”value”:”Costa”,”selected”:false,”display”:{“displayText”:”Costa”}},{“type”:”TAG”,”value”:”9171″,”selected”:false,”display”:{“displayText”:”Hotels with casinos”}},{“type”:”TAG”,”value”:”9909″,”selected”:false,”display”:{“displayText”:”Desserts”}},{“type”:”KEYWORD”,”value”:”Smoothies”,”selected”:false,”display”:{“displayText”:”Smoothies”}},{“type”:”TAG”,”value”:”10665″,”selected”:false,”display”:{“displayText”:”Vegetarian cuisine”}},{“type”:”TAG”,”value”:”9156″,”selected”:false,”display”:{“displayText”:”Beachfront hotels”}},{“type”:”KEYWORD”,”value”:”Casado”,”selected”:false,”display”:{“displayText”:”Casado”}}]}}}},”156401003945857″:{“data”:{“currentLocale”:{“pointOfSaleName”:”United States”,”ietfLocale”:”en”,”languageName”:”English”,”country”:{“locationId”:191,”name”:”United States”}}}}},”redux”:{“i18n”:{“locale”:”en_US”,”language”:”en”,”ietfLocale”:”en-US”,”isRtl”:false,”distanceUnit”:”MILES”,”firstDayOfWeek”:0},”api”:{“requests”:{“_data_1_0_brand_header_servlet_ShowUserReviews_viewportCategory_DESKTOP_geoId_309271_pageName_ShowUserReviewsAttractions_isTaReferrer_false”:{“loading”:false,”result”:[“/data/1.0/brand/header?servlet=ShowUserReviews&viewportCategory=DESKTOP&geoId=309271&pageName=ShowUserReviewsAttractions&isTaReferrer=false”],”url”:”/data/1.0/brand/header?servlet=ShowUserReviews&viewportCategory=DESKTOP&geoId=309271&pageName=ShowUserReviewsAttractions&isTaReferrer=false”},”_data_1_0_attractions_products_multitour_309613_includeTicketList_false”:{“loading”:false,”result”:[“/data/1.0/attractions/products/multitour/309613?includeTicketList=false”],”url”:”/data/1.0/attractions/products/multitour/309613?includeTicketList=false”}},”responses”:{“/data/1.0/attractions/products/multitour/309613?includeTicketList=false”:{“data”:{“totalProductCount”:24,”encodedAllOffersLink”:”QWRJXy9BdHRyYWN0aW9uX1Byb2R1Y3RzLWczMDkyNzEtZDMwOTYxMy1KYWNvX0JlYWNoLUphY29fSmFjb19EaXN0cmljdF9HYXJhYml0b19NdW5pY2lwYWxpdHlfUHJvdmluY2Vfb2ZfUHVudGFyZW5hcy5odG1sXzVSTQ==”,”products”:[{“productId”:79181,”title”:”2 Hour ATV Adventure Through Costa Rican Jungle in Jaco”,”fromPrice”:”$71.00″,”nonDecimalPrice”:”$71″,”primaryCategoryName”:”4WD, ATV & Off-Road Tours”,”url”:”/AttractionProductReview-g309271-d12561744-2_Hour_ATV_Adventure_Through_Costa_Rican_Jungle_in_Jaco-Jaco_Jaco_District_Garabit.html”,”productCode”:”34495P4″,”voucherText”:”Mobile Ticket Accepted”,”cancellationMessage”:”Free Cancellation up to 24 hours in advance”,”isTicket”:false,”rating”:5,”reviewCount”:45,”ageBands”:[{“ageBandId”:1,”ageFrom”:16,”ageTo”:90,”denied”:0,”description”:”Adult”,”adult”:1,”minPaxCount”:1,”maxPaxCount”:15},{“ageBandId”:2,”ageFrom”:4,”ageTo”:15,”denied”:0,”description”:”Child”,”adult”:0,”minPaxCount”:0,”maxPaxCount”:15}],”imageUrl”:”https://media.tacdn.com/media/attractions-splice-spp-360×240/06/e7/21/a8.jpg”,”maxPax”:15},{“productId”:65942,”title”:”Manuel Antonio National Park Day Trip from Jaco”,”fromPrice”:”$97.00″,”nonDecimalPrice”:”$97″,”primaryCategoryName”:”Nature & Wildlife”,”url”:”/AttractionProductReview-g309271-d11486826-Manuel_Antonio_National_Park_Day_Trip_from_Jaco-Jaco_Jaco_District_Garabito_Munici.html”,”productCode”:”15373P27″,”voucherText”:”Mobile Ticket Accepted”,”cancellationMessage”:”Free Cancellation up to 24 hours in advance”,”isTicket”:false,”rating”:3.5,”reviewCount”:9,”ageBands”:[{“ageBandId”:1,”ageFrom”:13,”ageTo”:99,”denied”:0,”description”:”Adult”,”adult”:1,”minPaxCount”:2,”maxPaxCount”:15},{“ageBandId”:2,”ageFrom”:6,”ageTo”:12,”denied”:0,”description”:”Child”,”adult”:0,”minPaxCount”:0,”maxPaxCount”:15}],”imageUrl”:”https://media.tacdn.com/media/attractions-splice-spp-360×240/0b/9f/ef/4b.jpg”,”maxPax”:15},{“productId”:79182,”title”:”3 Hour ATV Tour Through Costa Rican Rainforest”,”fromPrice”:”$90.00″,”nonDecimalPrice”:”$90″,”primaryCategoryName”:”4WD, ATV & Off-Road Tours”,”url”:”/AttractionProductReview-g309271-d12561745-3_Hour_ATV_Tour_Through_Costa_Rican_Rainforest-Jaco_Jaco_District_Garabito_Municip.html”,”productCode”:”34495P3″,”voucherText”:”Mobile Ticket Accepted”,”cancellationMessage”:”Free Cancellation up to 24 hours in advance”,”isTicket”:false,”rating”:5,”reviewCount”:55,”ageBands”:[{“ageBandId”:1,”ageFrom”:16,”ageTo”:90,”denied”:0,”description”:”Adult”,”adult”:1,”minPaxCount”:1,”maxPaxCount”:15},{“ageBandId”:2,”ageFrom”:4,”ageTo”:15,”denied”:0,”description”:”Child”,”adult”:0,”minPaxCount”:0,”maxPaxCount”:15}],”imageUrl”:”https://media.tacdn.com/media/attractions-splice-spp-360×240/07/01/3c/7d.jpg”,”maxPax”:15}],”tickets”:[],”shoppingCartUrl”:”/ShoppingCart”,”shoppingCartCheckoutUrl”:”/ShoppingCartCheckout”,”sortModel”:”tvrm-v13″},”error”:null},”/data/1.0/brand/header?servlet=ShowUserReviews&viewportCategory=DESKTOP&geoId=309271&pageName=ShowUserReviewsAttractions&isTaReferrer=false”:{“data”:{“adjustForSmartBanner”:false,”showGeopill”:true,”numLines”:2,”isPersistentHeader”:false,”usePersistentIcons”:true,”hideLogo”:false,”liteHeader”:false},”error”:null}}},”page”:{“name”:”SHOW_USER_REVIEWS”,”geoId”:309271,”detailId”:309613,”reviewId”:782640991},”travelerInfo”:{“preferences”:{“currency”:”USD”},”hotels”:null,”vr”:{“start”:null,”end”:null,”adults”:2,”children”:0},”attractions”:{“singleDate”:””,”fromDate”:””,”toDate”:””,”attractionPaxAdults”:0,”attractionPaxChildren”:0},”restaurants”:{“date”:”2021-02-19″,”time”:”8:00 PM”,”partySize”:”2″,”isDefault”:true,”displayDate”:”Fri, 2/19″},”home”:null,”flights”:{“oneWayDate”:”2021-03-05″,”departureDate”:”2021-03-05″,”returnDate”:”2021-03-12″,”originAirportCode”:null,”destinationAirportCode”:null}},”auth”:{“isMember”:false,”csrfToken”:”TNI1625!AO2Cdz3RYGhJsdE4MgbxYxHPGCpQrTX7TR0x8sslKXAeT7RRndSMlRjcXBi0FIDgoHXAmckTqqqpvWlXyg+JKaLtbZN51guKPkSX7gV7qLS0OsWre5qpIpvV4sHuelZ56Lt8s6NYhZ/pZnDtrm6QBxaftpqZnyQvePhV9frfz3i9″,”altSessId”:”2EAA0B03270FD8C2228BB1D23C685E8A”,”loggedInUserId”:null,”captcha”:null,”fbApi”:{“apiVersion”:”v3.2″,”facebookConnectApiKey”:”162729813767876″,”facebookConnectAppId”:”162729813767876″,”facebookConnectAppName”:”tripadvisor”,”taServerTime”:1613771861,”skipFacebookSessionCheck”:false,”sdkUrl”:”//connect.facebook.net/en_US/sdk.js”,”facebookPermissions”:”email,user_hometown,user_friends,user_likes,user_location,user_status,user_photos”}},”route”:{“geo”:”309271″,”detail”:”309613″,”page”:”ShowUserReviewsAttractions”,”src”:”782640991″},”lithiumRoute”:[{“page”:”ShowUserReviews”,”params”:{“review”:782640991,”geoId”:309271,”detailId”:309613},”path”:”/ShowUserReviews-g309271-d309613-r782640991-Jaco_Beach-Jaco_Jaco_District_Garabito_Municipality_Province_of_Puntarenas.html”,”fragment”:””},{“uid”:”YDA0VQokHxwABEg5EnEAAADs”}],”overlays”:{“global”:null,”fab”:null,”locals”:{},”toasts”:[]},”meta”:{“initialServletName”:”ShowUserReviews”,”device”:{“viewportCategory”:”DESKTOP”,”userAgentCategory”:”DESKTOP”,”os”:{“family”:”UNKNOWN”,”majorVersion”:-1},”browser”:{“family”:”SAFARI”,”majorVersion”:10},”securityToken”:”14a2e6cc85452a9b93b54912e972634e9a62c2b86bd1e559a353a0dd7a52b790″},”readonlyMode”:false,”initialRelativeUrl”:”/ShowUserReviews-g309271-d309613-r782640991-Jaco_Beach-Jaco_Jaco_District_Garabito_Municipality_Province_of_Puntarenas.html”,”initialAbsoluteUrl”:”https://www.tripadvisor.com/ShowUserReviews-g309271-d309613-r782640991-Jaco_Beach-Jaco_Jaco_District_Garabito_Municipality_Province_of_Puntarenas.html”,”baseUrl”:”https://www.tripadvisor.com”,”imageCdnUrl”:”https://static.tacdn.com”,”cookieDomain”:”.tripadvisor.com”,”taUnique”:”web366a.162.213.251.21.177BC4C6E00″,”isTaReferrer”:false,”referrerUrl”:”http://www.bing.com/”,”forceFullSite”:false,”environment”:”Live”,”isNativeWebview”:false,”commerceCountryId”:191,”impressionData”:{“pageLoadUid”:”YDA0VQokHxwABEg5EnEAAADs”},”lineItemsByLoc”:{}},”tracking”:{“mcid”:10570,”uid”:”YDA0VQokHxwABEg5EnEAAADs”,”analytics”:{“cv”:[[“_deleteCustomVar”,1],[“_deleteCustomVar”,47],[“_setCustomVar”,11,”Detail”,”Jaco Beach-309613″,3],[“_setCustomVar”,12,”Country”,”Costa Rica-291982″,3],[“_setCustomVar”,25,”Continent”,”Central America-291958″,3],[“_setCustomVar”,13,”Geo”,”Jaco-309271″,3],[“_setCustomVar”,20,”PP”,”–“,3],[“_deleteCustomVar”,19],[“_deleteCustomVar”,14],[“_deleteCustomVar”,8],[“_deleteCustomVar”,10]],”url”:”/ShowUserReviewsAttractions”},”searchSessionId”:”09417081E0B4403E9C829E28AD6D45FC1613771861563ssid”,”sessionId”:”09417081E0B4403E9C829E28AD6D45FC”,”uniqueId”:”web366a.162.213.251.21.177BC4C6E00″,”serverName”:”www.tripadvisor.com”,”hostName”:”web366a.a.tripadvisor.com”,”vcsRevision”:1478535,”vcsBranch”:”releases/PRODUCTION_1478503_20210218_0401″,”drsInfo”:”ABC.72*AFIL.86*ATTPromo.92*AUC.52*BBML.81*BMP.86*BRDTTD.49*Brand.85*CAKE.45*CAR.14*COM.88*CRS.90*Community.67*Content.91*CoreX.9*EATPIZZA.84*EID.7*EXP.87*Engage.59*FDP.80*FDS.68*FDU.87*FLTMERCH.48*FLTREV.88*Filters.84*Flights.45*HRATF.54*HSX.6*HSXB.23*IBEX.55*ING.61*INT1.36*INT2.33*ITR.87*L10N.90*ML.89*ML6.55*MM.26*MOBILEAPP.-1*MOF.28*MPS.63*MTA.22*Me2.3*Mem.5*Mobile.97*MobileCore.49*Notifications.21*Other.43*P13N.25*PIE.8*PLS.60*POS.18*PRT.54*RDS1.36*RDS2.13*RDS3.44*RDS4.58*RDS5.94*RET.37*REV.26*REVB.0*REVH.64*REVM.98*REVSD.69*REVSP.58*REVXS.51*RNA.71*RSE1.67*RSE2.73*Rooms.77*S3PO.22*SD40.79*SE2O.44*SEM.9*SEO.4*SORT1.86*Sales.75*Search.69*SiteX.48*Surveys.32*T4B.33*TGT.94*TRP.59*TTD.95*TX.16*Timeline.38*VP.99*VR.76*YM.93*YMB.73″,”uvmScore”:””,”retargetingUrl”:”www.tamgrt.com/RT”,”domainName”:”www.tripadvisor.com”}},”assets”:[“/assets/XjkW5l.d2e6bd79.js”,”/assets/peh_3a.98fdfe68.js”,”/assets/lMO0v3.7c3eec62.css”,”/assets/u6QS-O.6b5111dd.css”,”/assets/jb_4W2.0e47f64e.css”,”/assets/Q7TAd7.2a18c9b7.css”,”/assets/Ov85iR.4e16ee03.css”,”/assets/VANuRt.a0e89713.css”,”/assets/m5ZZFI.6e55680c.css”,”/assets/7lLQEO.bd5ef510.css”,”/assets/5-GvUO/_q6t87.98aedee3.css”,”/assets/_qQcW3.22652236.css”,”/assets/eDFcUX.9b2c5693.css”,”/assets/V08PS7.c21a2d22.css”,”/assets/PCLJ0D/-EYc4Q.f0b83d58.css”,”/assets/FZtxQN.96e08c2c.css”,”/assets/hA1RHn.2347cc1b.css”,”/assets/wId9j-.ba024bae.css”,”/assets/eFikmI.a1076386.css”,”/assets/iuYvTO.c0fd94d0.css”,”/assets/DjNvou.9f555882.css”,”/assets/gt5mGS.f3de74c8.css”,”/assets/rSqx0N.efc90d5d.css”,”/assets/z2XL6d.696900d5.css”,”/assets/xegF5W.7361d1f2.css”,”/assets/W3_c4H.df348ee2.css”,”/assets/MG7IEl.6d54818a.js”,”/assets/cDcdfi.e28c4d37.js”,”/assets/faye7n.e28c4d37.js”,”/assets/h74DsO.e28c4d37.js”,”/assets/RiHMo-.99052bf8.js”,”/assets/lMO0v3.7c3eec62.js”,”/assets/nIW_Rw.762ff667.js”,”/assets/-i3PJS.8fe4dc56.js”,”/assets/6hYgtn.ed842abc.js”,”/assets/OnmvvE.d03bd73d.js”,”/assets/535agn.23893c65.js”,”/assets/4LU1Ax.b4a21e40.js”,”/assets/B7vHz6.fefb9774.js”,”/assets/N4pTU2.1438636e.js”,”/assets/aunxON.f7df4340.js”,”/assets/Jk5sjx.d4a7e809.js”,”/assets/pLbCP4.ec58be99.js”,”/assets/UhC_bI.6c84ae9e.js”,”/assets/fsml46.9cbf5dae.js”,”/assets/2R4xv2.c0d66f23.js”,”/assets/xZoNdB.9a62d922.js”,”/assets/rf6OMe.e28c4d37.js”,”/assets/UWCmG6.e28c4d37.js”,”/assets/rKB8Wf.e28c4d37.js”,”/assets/XtxvfD.25877f9f.js”,”/assets/vmXh3M.e28c4d37.js”,”/assets/E8NZou.92d76be2.js”,”/assets/MGkW-Q.e28c4d37.js”,”/assets/17wlKY.e28c4d37.js”,”/assets/YwNsO_.e28c4d37.js”,”/assets/vq6MSq.c858b795.js”,”/assets/u6QS-O.6b5111dd.js”,”/assets/jb_4W2.0e47f64e.js”,”/assets/0DsHEV.1a780fd1.js”,”/assets/Q7TAd7.2a18c9b7.js”,”/assets/jaCyxS.0ff48721.js”,”/assets/5-GvUO.98aedee3.js”,”/assets/F8raOV.a798ff95.js”,”/assets/oo669z.c80d98a3.js”,”/assets/Ov85iR.4e16ee03.js”,”/assets/VANuRt.a0e89713.js”,”/assets/mv7yXI.917ddea9.js”,”/assets/5X2em-.e28c4d37.js”,”/assets/DbN8HP.e28c4d37.js”,”/assets/b3xEaf.c9586538.js”,”/assets/gsKhh7.ec3be8eb.js”,”/assets/vWxBAe.cd97353f.js”,”/assets/asW43G.2220a951.js”,”/assets/c9QfOM.7ab5f994.js”,”/assets/l6BSGt.cc31b0b5.js”,”/assets/dROhDJ.33c35607.js”,”/assets/BLrxBS.204d626f.js”,”/assets/6NeHQy.eccea466.js”,”/assets/b57PJQ.e28c4d37.js”,”/assets/n3D4ip.2ba92b50.js”,”/assets/PCLJ0D.f0b83d58.js”,”/assets/30t50h.04e4c911.js”,”/assets/I81Q5L.03d7f4ba.js”,”/assets/jmIMrC.fc265aa2.js”,”/assets/QZqymc.be168427.js”,”/assets/m5ZZFI.6e55680c.js”,”/assets/jSLlaY.d8185ece.js”,”/assets/6RAaot.533de693.js”,”/assets/7lLQEO.bd5ef510.js”,”/assets/5-GvUO/_q6t87.98aedee3.js”,”/assets/gGW5sO.3e4ef4db.js”,”/assets/_qQcW3.22652236.js”,”/assets/eDFcUX.9b2c5693.js”,”/assets/O8LbtK.965335e8.js”,”/assets/V08PS7.c21a2d22.js”,”/assets/Dg5_-9.404ac369.js”,”/assets/f9x1OV.1acf083b.js”,”/assets/T7FcVR.e28c4d37.js”,”/assets/38xMQJ.0d6c6670.js”,”/assets/w4JHTr.703e4ce8.js”,”/assets/NJheb1.e28c4d37.js”,”/assets/PCLJ0D/-EYc4Q.f0b83d58.js”,”/assets/FZtxQN.96e08c2c.js”,”/assets/hA1RHn.2347cc1b.js”,”/assets/wId9j-.ba024bae.js”,”/assets/eFikmI.a1076386.js”,”/assets/MHKLZN.c11dddf0.js”,”/assets/_cZwhS.fbe11c3b.js”,”/assets/iuYvTO.c0fd94d0.js”,”/assets/DjNvou.9f555882.js”,”/assets/gt5mGS.f3de74c8.js”,”/assets/rSqx0N.efc90d5d.js”,”/assets/_Z-1K3.c111b77b.js”,”/assets/vd4nty.a14f267a.js”,”/assets/z2XL6d.696900d5.js”,”/assets/xegF5W.7361d1f2.js”,”/assets/_g8cls.67868da9.js”,”/assets/8xs-IB.93f77198.js”,”/assets/W3_c4H.df348ee2.js”,”/assets/nZ7AfP.0d4b7181.css”,”/assets/tc4D5F.b36300d1.css”,”/assets/cBPvJq.2232484d.css”,”/assets/U3jxzU.4210b531.css”,”/assets/_pymO0.b083f7cd.css”,”/assets/DtZPgN.3df9708e.css”,”/assets/nZ7AfP.0d4b7181.js”,”/assets/hxnqL3.839e463c.js”,”/assets/xlsORH.503f7b93.js”,”/assets/sERCEg.e1fb82c4.js”,”/assets/tc4D5F.b36300d1.js”,”/assets/cBPvJq.2232484d.js”,”/assets/iZ1Bsx.baaa6fed.js”,”/assets/sb81vR.353bf3c2.js”,”/assets/U3jxzU.4210b531.js”,”/assets/4kVXmt.dadb8a5e.js”,”/assets/_pymO0.b083f7cd.js”,”/assets/DtZPgN.3df9708e.js”,”/assets/qxSl3I.e366bd21.css”,”/assets/Hgrhyo.001655fc.css”,”/assets/bsx_H5.8aadb536.css”,”/assets/KwOV1Z.34397c41.css”,”/assets/AoLEtg.a8225e8b.css”,”/assets/qxSl3I.e366bd21.js”,”/assets/pT-O8u.e8eaecd9.js”,”/assets/iLImXn.0f1b6a9c.js”,”/assets/Hgrhyo.001655fc.js”,”/assets/CSOnVf.e28c4d37.js”,”/assets/bsx_H5.8aadb536.js”,”/assets/KwOV1Z.34397c41.js”,”/assets/AoLEtg.a8225e8b.js”,”/assets/4CrHtN.348519f2.css”,”/assets/z9vNhr.e1b03d66.css”,”/assets/oiya90.b9bafd9d.css”,”/assets/6nM-E7.919e74cc.css”,”/assets/meOI_T.27cd5b79.css”,”/assets/MNKFIS.35d5e40f.css”,”/assets/4CrHtN.348519f2.js”,”/assets/z9vNhr.e1b03d66.js”,”/assets/oiya90.b9bafd9d.js”,”/assets/16tLUw.70bffc19.js”,”/assets/6nM-E7.919e74cc.js”,”/assets/meOI_T.27cd5b79.js”,”/assets/4Z07E2.41e3f150.js”,”/assets/MNKFIS.35d5e40f.js”,”/assets/SjBt6i.9dde9958.js”,”/assets/xsqNye.86b11cfa.js”,”/assets/a4q8MG.3973b755.js”,”/assets/nPqO2d.b613a1ac.js”,”/assets/08L0XB/L9pCXd.e49ddbce.css”,”/assets/08L0XB/r2vH2r.e49ddbce.css”,”/assets/dX3eZQ.6b1f36f9.css”,”/assets/uWZ6Id.cc98c43f.css”,”/assets/10CW2t.eaff0a37.css”,”/assets/QRwZD2.e966fea9.css”,”/assets/fAPg3f.77e37233.css”,”/assets/Kv5xL1.bda89731.css”,”/assets/Z7U8sN.c2bb0ba1.css”,”/assets/G9idyf.0f263795.css”,”/assets/XS7t-Q.31588205.css”,”/assets/S07X1M/XDxpBd.a707606c.css”,”/assets/-02Lut.835893fb.css”,”/assets/zPgUM0.b87d7578.css”,”/assets/V_I8wA.69180456.css”,”/assets/dAea-m.95ed8672.css”,”/assets/tTLfF8.2d0d6b72.css”,”/assets/Xi-2HZ.6b0e1783.css”,”/assets/qfSfGN.12e1cc37.css”,”/assets/r_rn4M.3150b918.css”,”/assets/mqvxhC.d8b5abc8.css”,”/assets/08L0XB/L9pCXd.e49ddbce.js”,”/assets/08L0XB/r2vH2r.e49ddbce.js”,”/assets/08L0XB/jdYFmQ.e49ddbce.js”,”/assets/dX3eZQ.6b1f36f9.js”,”/assets/uWZ6Id.cc98c43f.js”,”/assets/10CW2t.eaff0a37.js”,”/assets/QRwZD2.e966fea9.js”,”/assets/2NwMnm.f430f07d.js”,”/assets/fAPg3f.77e37233.js”,”/assets/0uWw9s.fb14d8c8.js”,”/assets/v_y45t.3486a8d4.js”,”/assets/-2hM2s.ae02770f.js”,”/assets/S07X1M.a707606c.js”,”/assets/thFMrK.af02f9c7.js”,”/assets/Kv5xL1.bda89731.js”,”/assets/mHPUmd.2659b083.js”,”/assets/OkJwbt.8e3d3b37.js”,”/assets/Z7U8sN.c2bb0ba1.js”,”/assets/G9idyf.0f263795.js”,”/assets/XS7t-Q.31588205.js”,”/assets/S07X1M/XDxpBd.a707606c.js”,”/assets/-02Lut.835893fb.js”,”/assets/qKFflQ.94b250f8.js”,”/assets/1yEXVQ.1debea00.js”,”/assets/ABlMo4.04b4fd56.js”,”/assets/wLDeDm.e28c4d37.js”,”/assets/zPgUM0.b87d7578.js”,”/assets/Erjc5t.eba35780.js”,”/assets/V_I8wA.69180456.js”,”/assets/dAea-m.95ed8672.js”,”/assets/tTLfF8.2d0d6b72.js”,”/assets/h7E4Ym.4a83377b.js”,”/assets/O-HcBE.2e448139.js”,”/assets/Xi-2HZ.6b0e1783.js”,”/assets/qfSfGN.12e1cc37.js”,”/assets/r_rn4M.3150b918.js”,”/assets/mqvxhC.d8b5abc8.js”,”/assets/gqhudp.77abcfd8.css”,”/assets/miRpRf.d3fa5f6f.css”,”/assets/E5DN1h.6e6d7a6a.css”,”/assets/gqhudp.77abcfd8.js”,”/assets/PCbs_l.06ed7705.js”,”/assets/miRpRf.d3fa5f6f.js”,”/assets/E5DN1h.6e6d7a6a.js”,”/assets/WkP2XE.d59d9c0e.js”,”/assets/08L0XB.e49ddbce.js”,”/assets/mwa76u.3a60452d.css”,”/assets/6m_xYI.8785bd16.css”,”/assets/mwa76u.3a60452d.js”,”/assets/NGIiZD.a9c858fb.js”,”/assets/6m_xYI.8785bd16.js”,”/assets/mxARhC.d92095ac.js”,”/assets/BqoTCX.25024c68.css”,”/assets/R7DQr_.2b558ecc.css”,”/assets/BqoTCX.25024c68.js”,”/assets/wU942v.1ecf4ed4.js”,”/assets/w2XwHO.82b33581.js”,”/assets/IuX4Ar.3136cc44.js”,”/assets/HDgDKt.10e822d5.js”,”/assets/MWFqPp.994f7301.js”,”/assets/R7DQr_.2b558ecc.js”,”/assets/Oc3sTL.7e32acc5.js”,”/assets/osGflv.08cd1254.js”,”/assets/fiorRT.9ff4e311.js”,”/assets/lmr1u9.092a9e75.js”,”/assets/zlqOrw.346ba2d9.css”,”/assets/HZtvHO.6fe07d79.css”,”/assets/vF730k.0e205a2f.css”,”/assets/PiTJFd.d974b6e5.css”,”/assets/LFeTN6.9232dbec.css”,”/assets/zlqOrw.346ba2d9.js”,”/assets/HZtvHO.6fe07d79.js”,”/assets/vF730k.0e205a2f.js”,”/assets/U-DhDC.f874422e.js”,”/assets/eFKnUp.7453b065.js”,”/assets/PiTJFd.d974b6e5.js”,”/assets/fTyhRT.dedcb635.js”,”/assets/JFHNGL.b5eccbd9.js”,”/assets/9I0t-6.e9884ed1.js”,”/assets/c_rvp5.963164cd.js”,”/assets/LFeTN6.9232dbec.js”,”/assets/RXx5aI.7c4b5dc0.js”,”/assets/6KWcSB.a95373e0.js”,”/assets/YL_nOm.ae04d442.css”,”/assets/QnohJ2.58661fb5.css”,”/assets/YL_nOm.ae04d442.js”,”/assets/QnohJ2.58661fb5.js”,”/assets/_AgNiB.d267f6c9.js”,”/assets/FJIpE-.8e9b28d0.js”,”/assets/_KhVZh.7c6a7395.js”,”/assets/fSRrv3.b9d4bd24.js”,”/assets/Md_K7J.37941bf8.css”,”/assets/tV1cF7.a5332162.css”,”/assets/liWOeo.ddfc2f04.css”,”/assets/Md_K7J.37941bf8.js”,”/assets/tV1cF7.a5332162.js”,”/assets/liWOeo.ddfc2f04.js”,”/assets/3mlAaP.d602df9a.js”,”/assets/uW7u9D.1f7d821a.css”,”/assets/uW7u9D.1f7d821a.js”,”/assets/FnrCe6.625f6302.js”,”/assets/SMVlF-.3a84e56e.js”,”/assets/3uiYkW.28a11f22.js”,”/assets/C1LhXB.b2ed2e4e.css”,”/assets/C1LhXB.b2ed2e4e.js”,”/assets/t7RFOq.e19b890a.js”,”/assets/-xj2Ol.5212879e.css”,”/assets/n69w9j.8cc52d7c.js”,”/assets/-xj2Ol.5212879e.js”,”/assets/FgJHmE.5d8dba0b.js”,”/assets/GVTdZB.c6742314.js”],”bundles”:[“XjkW5l”,”peh_3a”,”MG7IEl”,”cDcdfi”,”faye7n”,”h74DsO”,”RiHMo-“,”lMO0v3″,”nIW_Rw”,”-i3PJS”,”6hYgtn”,”OnmvvE”,”535agn”,”4LU1Ax”,”B7vHz6″,”N4pTU2″,”aunxON”,”Jk5sjx”,”pLbCP4″,”UhC_bI”,”fsml46″,”2R4xv2″,”xZoNdB”,”rf6OMe”,”UWCmG6″,”rKB8Wf”,”XtxvfD”,”vmXh3M”,”E8NZou”,”MGkW-Q”,”17wlKY”,”YwNsO_”,”vq6MSq”,”u6QS-O”,”jb_4W2″,”0DsHEV”,”Q7TAd7″,”jaCyxS”,”5-GvUO”,”F8raOV”,”oo669z”,”Ov85iR”,”VANuRt”,”mv7yXI”,”5X2em-“,”DbN8HP”,”b3xEaf”,”gsKhh7″,”vWxBAe”,”asW43G”,”c9QfOM”,”l6BSGt”,”dROhDJ”,”BLrxBS”,”6NeHQy”,”b57PJQ”,”n3D4ip”,”PCLJ0D”,”30t50h”,”I81Q5L”,”jmIMrC”,”QZqymc”,”m5ZZFI”,”jSLlaY”,”6RAaot”,”7lLQEO”,”5-GvUO/_q6t87″,”gGW5sO”,”_qQcW3″,”eDFcUX”,”O8LbtK”,”V08PS7″,”Dg5_-9″,”f9x1OV”,”T7FcVR”,”38xMQJ”,”w4JHTr”,”NJheb1″,”PCLJ0D/-EYc4Q”,”FZtxQN”,”hA1RHn”,”wId9j-“,”eFikmI”,”MHKLZN”,”_cZwhS”,”iuYvTO”,”DjNvou”,”gt5mGS”,”rSqx0N”,”_Z-1K3″,”vd4nty”,”z2XL6d”,”xegF5W”,”_g8cls”,”8xs-IB”,”W3_c4H”,”nZ7AfP”,”hxnqL3″,”xlsORH”,”sERCEg”,”tc4D5F”,”cBPvJq”,”iZ1Bsx”,”sb81vR”,”U3jxzU”,”4kVXmt”,”_pymO0″,”DtZPgN”,”qxSl3I”,”pT-O8u”,”iLImXn”,”Hgrhyo”,”CSOnVf”,”bsx_H5″,”KwOV1Z”,”AoLEtg”,”4CrHtN”,”z9vNhr”,”oiya90″,”16tLUw”,”6nM-E7″,”meOI_T”,”4Z07E2″,”MNKFIS”,”SjBt6i”,”xsqNye”,”a4q8MG”,”nPqO2d”,”08L0XB/L9pCXd”,”08L0XB/r2vH2r”,”08L0XB/jdYFmQ”,”dX3eZQ”,”uWZ6Id”,”10CW2t”,”QRwZD2″,”2NwMnm”,”fAPg3f”,”0uWw9s”,”v_y45t”,”-2hM2s”,”S07X1M”,”thFMrK”,”Kv5xL1″,”mHPUmd”,”OkJwbt”,”Z7U8sN”,”G9idyf”,”XS7t-Q”,”S07X1M/XDxpBd”,”-02Lut”,”qKFflQ”,”1yEXVQ”,”ABlMo4″,”wLDeDm”,”zPgUM0″,”Erjc5t”,”V_I8wA”,”dAea-m”,”tTLfF8″,”h7E4Ym”,”O-HcBE”,”Xi-2HZ”,”qfSfGN”,”r_rn4M”,”mqvxhC”,”gqhudp”,”PCbs_l”,”miRpRf”,”E5DN1h”,”WkP2XE”,”08L0XB”,”mwa76u”,”NGIiZD”,”6m_xYI”,”mxARhC”,”BqoTCX”,”wU942v”,”w2XwHO”,”IuX4Ar”,”HDgDKt”,”MWFqPp”,”R7DQr_”,”Oc3sTL”,”osGflv”,”fiorRT”,”lmr1u9″,”zlqOrw”,”HZtvHO”,”vF730k”,”U-DhDC”,”eFKnUp”,”PiTJFd”,”fTyhRT”,”JFHNGL”,”9I0t-6″,”c_rvp5″,”LFeTN6″,”RXx5aI”,”6KWcSB”,”YL_nOm”,”QnohJ2″,”_AgNiB”,”FJIpE-“,”_KhVZh”,”fSRrv3″,”Md_K7J”,”tV1cF7″,”liWOeo”,”3mlAaP”,”uW7u9D”,”FnrCe6″,”SMVlF-“,”3uiYkW”,”C1LhXB”,”t7RFOq”,”n69w9j”,”-xj2Ol”,”FgJHmE”,”GVTdZB”],”lazyLoadedModules”:[“08L0XB/L9pCXd”,”nZ7AfP”,”qxSl3I”,”4CrHtN”,”gqhudp”],”renders”:[{“id”:”component_4″,”props”:{},”package”:”BqoTCX”},{“id”:”component_37″,”props”:{},”package”:”t7RFOq”}],”hydrations”:[{“id”:”component_5″,”props”:{},”package”:”08L0XB”},{“id”:”component_2″,”props”:{“useResponsiveContainer”:”true”},”package”:”mwa76u”},{“id”:”component_3″,”props”:{},”package”:”mxARhC”},{“id”:”@ta/trips.save-to-trip:attractionproduct:79181_component_6″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:79181},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”12561744_component_7″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:12561744},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:65942_component_8″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:65942},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”11486826_component_9″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:11486826},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:79182_component_10″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:79182},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”12561745_component_11″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:12561745},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:319135_component_12″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:319135},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”17699053_component_13″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:17699053},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:261951_component_14″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:261951},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”17335970_component_15″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:17335970},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:152376_component_16″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:152376},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”14779004_component_17″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:14779004},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:76240_component_18″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:76240},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”12224987_component_19″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:12224987},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:298845_component_20″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:298845},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”17576027_component_21″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:17576027},”package”:”YL_nOm”},{“id”:”@ta/trips.save-to-trip:attractionproduct:276183_component_22″,”props”:{“object”:{“__typename”:”AttractionProductInformation”,”attractionProductId”:276183},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”17430150_component_23″,”props”:{“trackingModule”:”AR_XSELL_MERCH”,”locationId”:17430150},”package”:”YL_nOm”},{“id”:”component_24″,”props”:{“position”:”InlineNova”,”withBottomMargin”:”true”},”package”:”Md_K7J”},{“id”:”@ta/trips.save-to-trip:location:1953662_component_25″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:1953662},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”@ta/trips.save-to-trip:location:3849926_component_26″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:3849926},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”@ta/trips.save-to-trip:location:2572503_component_27″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:2572503},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”@ta/trips.save-to-trip:location:3879918_component_28″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:3879918},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”@ta/trips.save-to-trip:location:1717840_component_29″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:1717840},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”@ta/trips.save-to-trip:location:2048543_component_30″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:2048543},”widgetStyle”:”listing”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:false},”package”:”zlqOrw”},{“id”:”component_31″,”props”:{“withMargin”:”true”,”size”:”728×90″,”position”:”inline1″},”package”:”uW7u9D”},{“id”:”component_32″,”props”:{“size”:”970×250-728×90″,”position”:”footer”},”package”:”uW7u9D”},{“id”:”component_33″,”props”:{“isResponsiveServlet”:”true”},”package”:”3uiYkW”},{“id”:”component_34″,”props”:{“minWinSize”:”768″,”size”:”728×90″,”position”:”inline2″,”withBottomMargin”:”true”},”package”:”uW7u9D”},{“id”:”@ta/trips.save-to-trip:location:309613_component_35″,”props”:{“object”:{“__typename”:”LocationInformation”,”locationId”:309613},”widgetStyle”:”responsive_review”,”tooltipCopy”:null,”toastCopy”:null,”toastCopySubhead”:null,”allowPopStatModal”:true},”package”:”zlqOrw”},{“id”:”component_36″,”props”:{“size”:”728×90-970×66″,”position”:”header”,”reserveHeight”:”true”},”package”:”C1LhXB”},{“id”:”component_38″,”props”:{},”package”:”n69w9j”},{“id”:”component_1″,”props”:{},”package”:”GVTdZB”}],”ssrPreloadedModules”:[“eJuECP”,”6FdDYx”,”3uiYkW/fxsM9B”,”nZ7AfP”,”qxSl3I”,”4CrHtN/6GI-1U”,”xJD91H”,”-i3PJS”,”vBUVn0″,”PCLJ0D/6Vq8GY”,”4CrHtN/A1SA6X”,”08L0XB/L9pCXd”,”RWfDzK”,”5-GvUO/gmVWZD”,”PCLJ0D/YtE_eG”,”thFMrK/RQFZYD”,”4CrHtN”,”08L0XB/hCC7uv”,”bsx_H5″,”S07X1M/v-c-G4″,”neHaXV”,”lMO0v3/GzJMLX”,”3uiYkW/Ta_9m_”,”gqhudp”,”m7h4d5″,”pBQaod”,”3uiYkW/n0F8b0″,”a3FWKi”,”454gno”,”3uiYkW/5Xo6SM”,”kNh38S”]}};(this.$WP=this.$WP||[]).push([‘@ta/features’,function(e){return [function(){e(‘default’,__WEB_CONTEXT__.pageManifest.features);},[]]},[]]);]]> 0) { taCookie.setPIDCookie(pid); } var userLoggedInAppendString = (ta.userLoggedIn === true) ? ‘|LoggedIn’ : ”; var servlet = (device === ‘mobile’) ? ‘/UserReview’ : ‘/UserReviewEdit’; var eventLabel = (poiTrackingCategory === ‘Activity’) ? (‘Product|Location’ + userLoggedInAppendString) : ‘POI|Location’; taRecord.setEvtCookie(‘contextual_cta_button_review’, ‘click’, eventLabel, 0, servlet); } function _warOnClickForOwner(locationId, href, pid) { if (pid && pid > 0) { taCookie.setPIDCookie(pid); } taRecord.setEvtCookie(‘owner_cta’, ‘owner_visit_mc_middle’, locationId, 0, href); } return { warOnClick: _warOnClick, warOnClickForOwner: _warOnClickForOwner }; });});define(‘ta/support/altsess’, [‘ta/Core/TA.Event’, ‘ta/Core/TA.Store’, ‘common/trackingStreams’, ‘ns-exporter’], function(taEvent, taStore, tracking, nsExporter) { var debug = false; var _getSessionKey = function(){ var sessionKey = taStore.retrieve(‘altsessid’); if (sessionKey) { return sessionKey; } var altSessElm = document.getElementById(‘altsessid’); if (altSessElm) { sessionKey = altSessElm.value; } if (!sessionKey) { var formElements = document.forms; var formCount = formElements.length; for (var i = 0; i < formCount; i++) { var formElement = formElements[i]; var inputElement = formElement.elements['altsessid']; if (inputElement) { sessionKey = inputElement.value; } } } return sessionKey; }; var AltSess = { display: function(message) { if (debug) { debug = confirm("altsess.js: " + message); } }, load: function(sessionKey, allowReprofile) { try { sessionKey = sessionKey || _getSessionKey(); if (!sessionKey) { return; } var id = "s-altsessid" + sessionKey; if (document.getElementById(id)) { return; } var originID = '0w57c49k'; if (taStore.has('altsess.alt-origin')) { originID = taStore.retrieve('altsess.alt-origin'); } var hostname = 'https://t1.tacdn.com'; if (taStore.has('altsess.alt-host')) { hostname = taStore.retrieve('altsess.alt-host'); } var scriptElement = document.createElement('script'); scriptElement.type = 'text/javascript'; scriptElement.id = id; var srcBase = hostname + '/fp/tags.js?org_id=' + originID + '&session_id=' + sessionKey; if (allowReprofile) { scriptElement.src = srcBase + "&allow_reprofile=1"; } else { scriptElement.src = srcBase; } document.body.appendChild(scriptElement); } catch (e) { this.display("exception: " + e); tracking.error(e, 'altsess.js: error generating tags'); } }, delay: function() { try { setTimeout(AltSess.load, 100); } catch (e) { } } }; var autoLoadEnabled = window.pageServlet != 'Attraction_Review' && window.pageServlet != 'MobileAttraction_Review' && window.pageServlet != 'Restaurant_Review'; var autoLoad = ta && (taStore.retrieve('altsess-autoload') != null ? taStore.retrieve('altsess-autoload') : true); if(autoLoadEnabled && autoLoad) { taEvent.queueForLoad(AltSess.load, 10000000, 't-analytics'); } nsExporter.exportTo(AltSess, 'ta.support.AltSess'); return AltSess; }); require(['ta/prwidgets'], function(widgets) { var define = widgets.define.bind(widgets,'common_improve_this_listing','handlers',['handlers']); define(['babel/babel-helpers', 'widget', 'lib/jquery-amd', 'ta/support/altsess', 'ta/Core/TA.Record', 'ajax-request'], function (babelHelpers, widget, $, altsess, taRecord, ajaxRequest) { var widgetElement = $(widget.element); var showReportOptions = function showReportOptions(trackingPageAction, altsessid) { widgetElement.find('.ui_modal_card').addClass('is-active'); var improveThisListing = widgetElement.find('.improve_this_listing'); var servletName = improveThisListing.attr('data-servlet-name'); var locationId = improveThisListing.attr('data-location-id'); taRecord.trackEventOnPage(servletName, trackingPageAction, locationId); altsess.load(altsessid, true); }; var determineBehavior = function determineBehavior() { var selectedOption = widgetElement.find('input[name=radio]:checked'); var reportBehaviors = { 'reportProblem': _reportProblem, 'suggestEdits': _navigateToSuggestEdits }; var reportBehavior = selectedOption.attr('data-behavior'); if (reportBehavior in reportBehaviors) { var url = selectedOption.attr('data-report-url'); reportBehaviors[reportBehavior](url); } }; var _reportProblem = function _reportProblem(reportUrl) { ajaxRequest(reportUrl, { method: 'POST', dataType: 'html' }).then(_changeDisplayAfterReportingProblem); }; var _changeDisplayAfterReportingProblem = function _changeDisplayAfterReportingProblem() { widgetElement.find('.improve_this_listing_text, .report_options, .next').addClass('hidden'); widgetElement.find('.thank_you_text, .close').removeClass('hidden'); }; var _navigateToSuggestEdits = function _navigateToSuggestEdits(url) { var improveThisListing = widgetElement.find('.improve_this_listing'); var servletName = improveThisListing.attr('data-servlet-name'); var locationId = improveThisListing.attr('data-location-id'); var trackingPageAction = $('#IMPROVE_THIS_LISTING_SUGGEST_EDITS_RADIO').attr('data-tracking-action'); taRecord.setEvtCookie(servletName, trackingPageAction, locationId, 0, url); window.location = url; }; var removeWidget = function removeWidget() { widgetElement.remove(); }; return { showReportOptions: showReportOptions, determineBehavior: determineBehavior, removeWidget: removeWidget }; });}); define("hotels/ChildAgesSerialization", ['vanillajs'], function(){ var AGES_SEPARATOR = ','; var ROOMS_SEPARATOR = ':'; var DESERIALIZE_REGEX = new RegExp(AGES_SEPARATOR+'|'+ROOMS_SEPARATOR); function _deserializeChildren(childrenAgesStr) { if (childrenAgesStr == null || childrenAgesStr.length === 0) { return []; } return childrenAgesStr.split(DESERIALIZE_REGEX).map(function (el) {return parseInt(el,10);}).filter(function(n){return !isNaN(n);}); } function _serializeChildren(rooms,childrenAges) { if (childrenAges == null || childrenAges.length === 0) { return ''; } var childrenPerRoom = Math.floor(childrenAges.length/rooms); var extraChildren = childrenAges.length - (childrenPerRoom * rooms); var roomStrings = []; var nextIndex = 0; for (var i = 0 ; i < rooms ; ++i) { var childrenInRoom = 0; if (i = 2) { emailHotel.init(overlay); } } overlay.on('contentLoaded', ready).on('show', ready); resolve(overlay); }); }); } }); define('ta/util/Link', ['vanillajs', 'utils/object/set-props', 'utils/stopevent', 'common/trackingStreams', 'ajax-request', 'utils/asdf-encoder', 'ta/Browser', 'ns-exporter'], function(vanilla, setProps, stopEvent, tracking, ajax, asdf, browser, nsExporter) { "use strict"; var _popupIndex; var exports = { popResWidth: function(evt, elmt, args) { try{ var w = 475, h = 390, xOff = 210; if (screen.width > 1024) { w = 800; h = 600; xOff = 240; } else if (screen.width > 800) { w = 620; h = 500; xOff = 240; } var popOptions = setProps({ width: w, height: h, xOffset: xOff, yOffset: 5 }, args); exports.popup(evt, elmt, popOptions); } catch(error) { tracking.error(error, “ta.util.link – popCustom”, evt, popOptions); } }, popup: function(evt, elmt, args) { try { var popOptions = setProps({ name: false, width: 950, height: 610, xOffset: false, yOffset: false, noScroll: 0, aHref: false, fullOptions: true, ensureReferrer: false, isAsdf: false }, args); if (evt) { stopEvent(evt); } var win = false, winArgs = “”; var popupIndex = _popupIndex; if (typeof popupIndex === “undefined”) { popupIndex = 1; } if (!popOptions.aHref) { popOptions.aHref = elmt.href; } popOptions.aHref = popOptions.aHref.replace(“%7Cnavarea%7C”, ta.meta.link.getPhotoNavArea(elmt)); if(popOptions.isAsdf && popOptions.aHref) { popOptions.aHref = asdf.asdf(popOptions.aHref).replace(/&/g, ‘&’); } if (popOptions.aHref && popOptions.aHref.indexOf(“p=HotelsCom”) > -1) { popOptions.width = Math.max(popOptions.width, 960); try{ popOptions.height = Math.max(popOptions.height, window.getHeight(), 600); } catch(e) { popOptions.height = Math.max(popOptions.height, 600); } } if (popOptions.width) { winArgs += “,width=” + popOptions.width; } if (popOptions.height) { winArgs += “,height=” + popOptions.height; } if (popOptions.xOffset) { winArgs += “,screenX=” + popOptions.xOffset + “,left=” + popOptions.xOffset; } if (popOptions.yOffset) { winArgs += “,screenY=” + popOptions.yOffset + “,top=” + popOptions.yOffset; } if (!browser.isChrome) { popOptions.noScroll = 1; } if (popOptions.fullOptions) { var menubar = 1; if (browser.isIE9orHigher()) { menubar = 0; } winArgs = “toolbar=1,resizable=1,menubar=”+menubar+”,location=1,status=1,scrollbars=” + popOptions.noScroll + winArgs; } else { winArgs = “toolbar=0,resizable=1,menubar=0,location=0,status=0,scrollbars=” + popOptions.noScroll + winArgs; } if(!popOptions.name) { popOptions.name = “p” + (popupIndex++); } _popupIndex = popupIndex; if (popOptions.ensureReferrer && browser.isIE()) { try { var winAnchor = document.createElement(‘a’); winAnchor.target = popOptions.name; winAnchor.href = popOptions.aHref; document.body.appendChild(winAnchor); win = window.open(“”, popOptions.name, winArgs); winAnchor.click(); document.body.removeChild(winAnchor); } catch(err) { tracking.error(err, “ta.util.link – pop ensure referrer”, evt, popOptions); } } else { try { win = window.open(popOptions.aHref, popOptions.name, winArgs); } catch(e) { tracking.error(e, “ta.util.link – popping window”, evt, { “href”: popOptions.aHref, “name”: popOptions.name, “args”: winArgs}); } } if (typeof win != “undefined” && win !== null) { try { win.opener = self; win.focus(); } catch (err) {} } } catch (error) { tracking.error(error, “ta.util.link – popup”, evt, popOptions); } }, directionsPop: function(evt, elmt, args, aRecord) { if (aRecord) { ajax(“/ActionRecord?action=” + aRecord); } tracking.trackEvent(‘map_pin_overlay’, ‘directions_click’); exports.popup(evt, elmt, args); }, directionsPopInfoCard: function(evt, elmt, args, aRecord) { if (aRecord) { ajax(“/ActionRecord?action=” + aRecord); } tracking.trackEvent(‘dynamic_large_map’, ‘map_info_window’, ‘directions_cta’); exports.popup(evt, elmt, args); }, targetBlank: function(evt, elmt, args){ try{ var popOptions = setProps({ aHref:false, isAsdf:false }, args); if(popOptions.isAsdf && popOptions.aHref) { popOptions.aHref = asdf.asdf(popOptions.aHref).replace(/&/g, ‘&’); } if (popOptions.newTab || navigator.appVersion.indexOf(“MSIE 7.”) != -1) { window.open(popOptions.aHref, ‘_blank’); } else if(require.defined(‘ta/Core/TA.Store’) && require(‘ta/Core/TA.Store’).retrieve(‘ta.bl_calendar_lb’)) { ta.servlet.Popup.openExternalWithDefaultOptions(popOptions.aHref); } else { window.open(popOptions.aHref, ‘_blank’); } } catch(error){ tracking.error(error, “ta.util.link – targetBlank”, evt, popOptions); } } }; nsExporter.exportTo(exports, “ta.util.link”); return exports; }); require([‘ta/prwidgets’], function(widgets) { var define = widgets.define.bind(widgets,’common_atf_header_bl_responsive’,’handlers’,[‘handlers’]); define([‘babel/babel-helpers’, ‘widget’, ‘overlays/EmailHotelOverlay’, ‘common/trackingStreams’, ‘ta/util/Link’, ‘ta/Core/TA.Event’, ‘ta/Core/TA.Record’, ‘overlays/uiOverlay’, ‘common/Radio’, ‘commerce/cookieSetter’, ‘t4b/tracking/b2bClickTracking’, ‘utils/asdf-encoder’], function (babelHelpers, widget, emailHotelOverlay, trackingStreams, taLink, taEvent, taRecord, uiOverlay, radio, cookieSetter, b2bClickTracking, asdf) { var dataElem = document.querySelector(‘.blRow’); var locationId = dataElem && parseInt(dataElem.getAttribute(‘data-locid’), 10) || -1; var gaContext = dataElem && dataElem.getAttribute(‘data-context’) || ”; var isHotel = (dataElem && dataElem.getAttribute(‘data-placetypeid’)) === ‘10023’; var isRestaurant = (dataElem && dataElem.getAttribute(‘data-placetypeid’)) === ‘10022’; var isAttraction = (dataElem && dataElem.getAttribute(‘data-placetypeid’)) === ‘10021’; var mapRadio = void 0; var restaurantsInteractionsRadio = void 0; // Responsive /HR and /AR use the same maps. if (isHotel || isAttraction) { mapRadio = radio(‘hr-map’); } else if (isRestaurant) { restaurantsInteractionsRadio = radio(‘restaurants-interactions’); mapRadio = radio(‘restaurant-detail-map’); } /** * @private * @param {HTMLElement} target * @param {string} contactType */ function _fireTracking(target, contactType) { var column = target.getAttribute(‘data-column’); var gaAction = contactType + ‘|text|’ + column + ‘||’; taRecord.trackEventOnPage(gaContext, gaAction, locationId, 0, false); } function onWebLinkClicked(event, target) { if (!dataElem) { return; } var targetHref = target.getAttribute(‘data-ahref’); var contactType = target.getAttribute(‘data-trackingkey’) || ‘URL_HOTEL’; var contactColumn = parseInt(target.getAttribute(‘data-column’), 10) || 0; var isCommerce = target.getAttribute(‘data-commerce’) === ‘true’; taLink.targetBlank(event, target, { aHref: targetHref, isAsdf: true, detailId: locationId, newTab: true }); if (isHotel) { b2bClickTracking.trackContactClick({ locationId: locationId, contactType: contactType, contactColumn: contactColumn, isCommerce: isCommerce }); } else if (isRestaurant) { restaurantsInteractionsRadio.emit(‘website-click-event’); taRecord.trackEventOnPage(‘Restaurant_Review’, ‘website_click’, locationId, 0, false); } else { _fireTracking(target, contactType); } cookieSetter(); // ADS-3384 fire event to track through remarketing store taEvent.fireEvent(‘onBLClick’, event, locationId); } function onEmailClicked(event, target) { if (!dataElem) { return; } if (isHotel) { // Fire an offerless commerce click if present var commerceUrl = target.getAttribute(‘data-olr’); if (commerceUrl) { b2bClickTracking.trackOfferlessCommerceClick(asdf.asdf(commerceUrl)); } b2bClickTracking.trackContactClick({ locationId: locationId, contactType: ‘EMAIL’, contactColumn: parseInt(target.getAttribute(‘data-column’), 10) || 0 }); } else { _fireTracking(target, ‘EMAIL’); } emailHotelOverlay(locationId, false, ”, null).then(function (o) { return o.show(); }); } function onMenuClicked(event, target, menuUrl) { restaurantsInteractionsRadio.emit(‘menu-click-event’); taRecord.trackEventOnPage(‘Restaurant_Review’, ‘menu_click’, locationId, 0, false); // If the restaurant has an external link menu, open it. if (menuUrl) { window.open(menuUrl, ‘_blank’); return; } // Otherwise, open the menu modal var menuRadio = radio(‘restaurant-detail-menu’); menuRadio.trigger(‘open-menu-clicked’); } function onAddressHovered(event, target) { if (target && target.scrollWidth > target.offsetWidth) { uiOverlay(event, target); } } function onAddressClicked() { if (mapRadio) { mapRadio.trigger(‘open-trigger-clicked’); // Open map } if (isHotel) { trackingStreams.trackEvent(‘map_view’, ‘Hotel_Review_Address’, locationId, null); trackingStreams.trackEvent(‘BusinessListings’, ‘click’, ‘address’); } if (isRestaurant) { restaurantsInteractionsRadio.emit(‘map-click-event’); taRecord.trackEventOnPage(‘Restaurant_Review’, ‘map_click_address’, locationId, 0, false); } } function onPhoneClicked(event, target) { if (isHotel) { // Fire an offerless commerce click if present var commerceUrl = target.getAttribute(‘data-olr’); if (commerceUrl) { b2bClickTracking.trackOfferlessCommerceClick(asdf.asdf(commerceUrl)); } b2bClickTracking.trackContactClick({ locationId: locationId, contactType: ‘PHONE’, contactColumn: parseInt(target.getAttribute(‘data-column’), 10) || 0 }); } else if (isRestaurant) { restaurantsInteractionsRadio.emit(‘call-click-event’); taRecord.trackEventOnPage(‘Restaurant_Review’, ‘call_click’, locationId, 0, false); } else { _fireTracking(target, ‘PHONE’); } } function onBusinessHoursClicked() { taRecord.trackEventOnPage(‘hours’, ‘masthead’, ‘hours_click’, 0, false); } return { onAddressHovered: onAddressHovered, onAddressClicked: onAddressClicked, onWebLinkClicked: onWebLinkClicked, onEmailClicked: onEmailClicked, onMenuClicked: onMenuClicked, onPhoneClicked: onPhoneClicked, onBusinessHoursClicked: onBusinessHoursClicked }; });}); define(‘common/detail-filter-tracking’, [‘babel/babel-helpers’, ‘common/trackingStreams’], function (babelHelpers, stream) { ‘use strict’; return function (name, event, value, pid) { stream.trackEvent(‘Reviews_’ + name, event, value, pid); }; }); require([‘ta/prwidgets’], function(widgets) { var define = widgets.define.bind(widgets,’filters_detail_checkbox’,’handlers’,[‘handlers’]); define([‘babel/babel-helpers’, ‘widget’, ‘lib/jquery-amd’, ‘common/page-filters’, ‘common/detail-filter-tracking’, ‘common/Radio’, ‘utils/ResponsiveEvents’, ‘utils/responsive’, ‘overlays/uiOverlay’], function (babelHelpers, widget, $, Filters, track, radio, ResponsiveEvents, responsive, uiOverlay) { var $choices = $(‘.choices’, widget.element); var paramName = $choices.attr(“data-param”); var filterName = $choices.attr(‘data-name’); var $moreChoices = $(‘.more-options’, widget.element); var isCollapsible = !!$(‘.collapse_mark’, widget.element).length; function updateFilter(e, element) { var target = element || this || e.target; var isChecked = target.checked; Filters[isChecked ? ‘set’ : ‘clear’](paramName, target.value); track(‘Controls’, ‘click_’ + filterName, element.parentElement.getAttribute(‘data-tracker’), target.checked ? 1 : 0); } function hoverTooltip(event, elem) { uiOverlay(event, elem); } function toggleCollapse() { if ($(‘.collapse_mark’, widget.element).is(“:visible”)) { $(‘.node-preserve’, widget.element).toggleClass(‘collapsed’); } } function _syncFilters(settings) { var newVal = settings[paramName]; if (typeof newVal === ‘undefined’) { return; } var valMap = newVal.to.split(‘,’).reduce(function (vals, v) { vals[v] = true;return vals; }, {}); $(‘.’ + widget.name + ‘_’ + paramName + ‘_cbx’, $(widget.element).add($moreChoices)).get().forEach(function (input) { return input.checked = !!valMap[input.value]; }); } Filters.on(‘change’, _syncFilters); // Show as collapsed in the sidebar radio(‘collapsible-layout’).on(‘show-collapsed’, function () { if (isCollapsible) { $(‘.node-preserve’, widget.element).addClass(‘collapsed inRHR’); } }); // Make sure we’re not collapsed when changing > mobile size ResponsiveEvents.onOver(‘tablet’, function () { $(‘.node-preserve’, widget.element).removeClass(‘collapsed inRHR’); }); return { /** * Updates page filters, triggering a list update. */ updateFilter: updateFilter, /** * Toggles the filter choices visibility. */ toggleCollapse: toggleCollapse, /** * Shows hover text for info tooltip. */ hoverTooltip: hoverTooltip }; });});require([‘ta/prwidgets’], function(widgets) { var define = widgets.define.bind(widgets,’filters_detail_language’,’handlers’,[‘handlers’]); define([‘babel/babel-helpers’, ‘widget’, ‘ta/page’, ‘lib/jquery-amd’, ‘common/page-filters’, ‘common/detail-filter-tracking’, ‘common/trackingStreams’, ‘overlays/Overlay’, ‘overlays/styles/modal’, ‘overlays/position’, ‘overlays/styles/windowshade’, ‘overlays/options/autoReposition’, ‘overlays/options/closeOnEscape’, ‘overlays/options/closeOnDocClick’, ‘common/Radio’, ‘utils/ResponsiveEvents’], function (babelHelpers, widget, taPage, $, Filters, track, trackingStreams, Overlay, Modal, Position, WindowShade, AutoReposition, CloseOnEscape, CloseOnDocClick, radio, ResponsiveEvents) { var $choices = $(‘.choices’, widget.element); var paramName = $choices.attr(“data-param”); // Actual name used in request var filterName = $choices.attr(‘data-name’); // For tracking var $allOptions = $(‘.more-options’, widget.element); var allOptionsContent = $allOptions[0]; var lightbox = void 0; function _initLightbox() { return new Overlay(null, Modal(null, ‘center’, widget.element.className, $(‘.name’, widget.element).html(), null, allOptionsContent, ‘div’), Position.center(), CloseOnDocClick, CloseOnEscape, AutoReposition, WindowShade()); } function updateFilter(e, element) { lightbox && lightbox.hide(); // Close lightbox if it’s open track(‘Controls’, ‘click_’ + filterName, element.parentElement.getAttribute(‘data-tracker’), 0); Filters.set(paramName, element.value); } function sync(settings) { var newVal = settings[paramName]; if (typeof newVal === ‘undefined’) { return; } if (newVal.to === ”) { Filters.set(paramName, “ALL”); return; } $(‘input’, widget.element).each(function (i, e) { return e.checked = e.value == newVal.to; }); } function toggleCollapse() { if ($(‘.collapse_mark’, widget.element).is(“:visible”)) { $(‘.node-preserve’, widget.element).toggleClass(‘collapsed’); } } function moreClick(elmt) { lightbox = _initLightbox(); $allOptions.removeClass(“is-hidden-tablet”); widget.markMine(allOptionsContent); // Need this so that widgetEvCall still works lightbox.on(‘hide’, function () { $allOptions.addClass(“is-hidden-tablet”); $allOptions.append(allOptionsContent); }); lightbox.show(); } Filters.on(‘change’, sync); // Show as collapsed in the sidebar radio(‘collapsible-layout’).on(‘show-collapsed’, function () { $(‘.node-preserve’, widget.element).addClass(‘collapsed inRHR’); }); // Make sure we’re not collapsed when changing > mobile size ResponsiveEvents.onOver(‘tablet’, function () { $(‘.node-preserve’, widget.element).removeClass(‘collapsed inRHR’); }); return { /** * Updates page filters, triggering a list update. */ updateFilter: updateFilter, /** * Collapse widget to title **/ toggleCollapse: toggleCollapse, /** * Show a lightbox with all options */ moreClick: moreClick }; });});require([‘ta/prwidgets’], function(widgets) { var define = widgets.define.bind(widgets,’filters_query_resp’,’handlers’,[‘handlers’]); define([‘babel/babel-helpers’, ‘widget’, ‘lib/jquery-amd’, ‘common/page-filters’, ‘common/detail-filter-tracking’, ‘ta/util/Deferred’, ‘lib/TypeAhead’], function (babelHelpers, widget, $, Filters, track, Deferred, TypeAhead) { ‘use strict’; var paramName = $(‘[data-param]’, widget.element).attr(‘data-param’); var queryElem = $(‘.query_elem’, widget.element); var tags = $(‘.tagdata’, widget.element).data(‘tags’).split(‘,’); var typeahead = void 0; function sync(settings) { var newVal = settings[paramName]; if (typeof newVal === ‘undefined’) { return; } queryElem.val(newVal.to); } function createTypeAhead(evnt, elmt) { evnt && evnt.stopPropagation(); if (typeahead) { return typeahead; } var typeaheadParams = { name: ‘Review-Keyword-Search’, minChars: 1, startEventOn: ‘focus’, autopopulateHighlighted: false, defaultValue: ”, clearDefaultTextOnFocus: false, selectOnBlur: false, assumeOnBlur: false, restoreOnFocus: false, cycleInput: false, containerClass: ‘typeahead-container keywords_typeahead’, containerParent: $(“.query_form”, widget.element)[0], positionRelative: true, offsetX: 0, offsetY: 2, width: null, cacheResults: true, shouldSubmit: function shouldSubmit() { updateFilter(true); return false; }, search: function search(query) { var result = []; for (var t = 0; t = 20) { // Max 20 suggestions break; } } } return Deferred().resolve({ results: result, query: query }); }, // this is not called with a consistent argument list onSelect: function onSelect() { var query = queryElem.val() || ”; updateFilter(false); // force the typeahead to search for options starting with the full query, not whatever we // typed to get to this point typeahead.sync({ query: query, result: {} }); }, onRender: function onRender() { var numChoices = $(‘.typeahead-choices *’, widget.element).length; $(‘.typeahead-container’, widget.element).css(‘visibility’, numChoices === 0 ? ‘hidden’ : ‘visible’); } }; typeahead = new TypeAhead(elmt, $.extend({}, typeaheadParams)); return typeahead; } function updateFilter(isManual) { var query = queryElem.val() || ”; if (isManual) { // Replace all non-alphanumeric characters with an underscore for the tracking. ‘asd!!+_asdf!’ will become ‘asd_asdf_’. track(‘Controls’, ‘click_search’, query.replace(/(W|_)+/g, ‘_’), 0); } else { // Replace all non-alphanumeric characters with an underscore for the tracking. ‘asd!!+_asdf!’ will become ‘asd_asdf_’. track(‘Controls’, ‘keyword_search_auto_complete’, query.replace(/(W|_)+/g, ‘_’), 0); } queryElem.blur(); Filters.clear(‘t’); // Clear tags Filters.set(paramName, query); } $(“.query_form”, widget.element).submit(updateFilter); Filters.on(‘change’, sync); return { createTypeAhead: createTypeAhead, updateFilter: updateFilter }; });}); define(‘overlays/options/autosize’, [‘vanillajs’, ‘api-mod’], function(vanilla, api) { ‘use strict’; return function(padding){ return function(){ var autosize = function (){ var el = api.find(‘.autosize’, this.container); if (el){ var vH = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) – padding; var oH = api.getSize(this.container).y; if (oH > vH){ var eH = api.getSize(el).y; this.container.style.height = vH + ‘px’; var h = (eH + vH – oH) + ‘px’; var css = document.createElement(‘style’); css.type = ‘text/css’; css.innerHTML = this.container.className .split(‘ ‘) .map(function(c){ return ‘.’ + c; }) .join(”) + ‘ .autosize { height: ‘ + h + ‘; }’; document.head.appendChild(css); } } }; this.on(‘show’, autosize); }; }; }); require([‘ta/prwidgets’], function(widgets) { var define = widgets.define.bind(widgets,’filters_tag_cloud’,’handlers’,[‘handlers’]); define([‘babel/babel-helpers’, ‘widget’, ‘lib/jquery-amd’, ‘common/page-filters’, ‘overlays/Overlay’, ‘overlays/styles/modal’, ‘overlays/position’, ‘overlays/styles/windowshade’, ‘overlays/options/autoReposition’, ‘overlays/options/autosize’, ‘common/detail-filter-tracking’, ‘ta/page’], function (babelHelpers, widget, $, Filters, Overlay, Modal, Position, WindowShade, AutoReposition, AutoSize, track, taPage) { var $choices = $(‘.ui_tagcloud_group’, widget.element); var paramName = $choices.attr(“data-param”); var disabled = $choices.attr(“data-disabled”); var confirmationOverlay = void 0; function updateFilter(e, element, skipConfirmationCheck) { var unsupportedLanguageElem = $(‘.unsupportedLanguage’, widget.element); if (unsupportedLanguageElem.length && !skipConfirmationCheck) { if (!confirmationOverlay) { confirmationOverlay = new Overlay(null, Modal(null, ‘center’, null, null, null, unsupportedLanguageElem.html()), WindowShade, Position.center(), AutoReposition, AutoSize); $(“.confirm”, confirmationOverlay.inner).on(‘click’, function (event) { // add createCookieNoLanguageSwitchConfirmation parameter to request taPage.refreshWithParams({ cc: true }); updateFilter(e, element, true); confirmationOverlay.hide(event); }); $(“.decline”, confirmationOverlay.inner).on(‘click’, function (event) { confirmationOverlay.hide(event); }); } confirmationOverlay.show(); return; } Filters.clear(‘q’); Filters[$(element).hasClass(“selected”) ? ‘clear’ : ‘set’](paramName, element.getAttribute(‘data-value’)); track(‘Controls’, ‘click_tag_cloud’, element.getAttribute(‘data-tracker’), $(element.parentElement).index(element) + 1); } function sync(settings) { var newVal = settings[paramName] && settings[paramName].to || settings[‘q’] && settings[‘q’].to; $(‘.ui_tagcloud’, widget.element).each(function (i, e) { return $(e).toggleClass(‘selected’, e.getAttribute(‘data-value’) === newVal); }); } Filters.on(‘change’, sync); return { /** * Updates page filters, triggering a list update. */ updateFilter: updateFilter }; });}); define(“cpm/AdBlockDetect”, [“lib/jquery-amd”,”utils/browserutils”,”ta/Core/TA.Event”,”ta/Core/TA.Record”,”ta/util/Error”], function( $, Browser, taEvent, taRecord, taError) { ‘use strict’; var exports = {}; var _testImg; var DEFAULT_LABEL = “ab_chk”; var _isPixelLoadError; var _logged = false; var _cdn = window.CDNHOST || “”; var _pixelUrl = “/img2/x.gif?&ads=1&adsize=2&adslot=3&rnd=”; var _generatePixel = function() { var rnd = Math.floor(Math.random() * 100000); return $(‘‘); }; var _getAdCount = function() { var count = document.querySelectorAll(“.gptAd:not(.inactive)”).length; if (screen.width < 768) { count += document.querySelectorAll(".inline_ad_wrapper").length; } return count; }; var _log = function(blocked, trackingLabel, trackUnblocked){ if ((!_logged && trackingLabel === DEFAULT_LABEL) || (trackingLabel && trackingLabel !== DEFAULT_LABEL)){ if (blocked || trackUnblocked) { taRecord.trackEventOnPage(trackingLabel, Browser.name, blocked, _getAdCount(), false); } _logged = true; } }; var _detect = function(onDetectedHandler, trackingLabel, trackUnblocked, isLoadError){ if (typeof isLoadError != undefined) { _isPixelLoadError = isLoadError; } if (_testImg){ var blocked = _isPixelLoadError ? true : !_testImg[0].offsetParent; _log(blocked, trackingLabel, trackUnblocked); if (blocked) { onDetectedHandler(); } } }; exports.runIfDetected = function(onDetectedHandler, trackingLabel, trackUnblocked) { if ( typeof onDetectedHandler != "function") { taError.record(null, "runIfDetected requires a function"); return; } taEvent.queueForLoad( function() { _logged = false; if (_testImg) { _detect(onDetectedHandler, trackingLabel, trackUnblocked); } else { _testImg = _generatePixel(); _testImg.on("load", function(){ _detect(onDetectedHandler, trackingLabel, trackUnblocked, false); }); _testImg.on("error", function(){ _detect(onDetectedHandler, trackingLabel, trackUnblocked, true); }); $("body").append(_testImg); } }, "AdBlockDetect"); }; return exports; }); require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'ab_chk','handlers',['handlers']); /* * ADS-3472: ad blocker detection running permanently on sales drs 99 * Works in Chrome, Firefox, Safari & IE. */ define(["placement","cpm/AdBlockDetect"], function(placement,abDetect) { // a fn is required, abDetect.runIfDetected(function(){}, "ab_chk", true); }); });require(['ta/p13n/placements','ta/page','$prp/ab_chk/handlers'], function(placements, impl) { window.ta.plc_ab_chk_handlers = placements.load('ab_chk','handlers.js', { 'name': 'ab_chk', 'id': 'taplc_ab_chk', 'location_id': 309613, 'servletClass': 'com.TripResearch.servlet.reviews.jaxrs.attractions.ShowUserReviewsAttractionsServlet', 'servletName': 'ShowUserReviews', 'params': {}, 'data': {}});}); if (require) {require(['ta/rollupAmdShim'], function(rollupAmdShim) { rollupAmdShim.install([], ["ta/util/RecordInterruption"]); }); } else {if (window.ta&&ta.rollupAmdShim) {ta.rollupAmdShim.install([],["ta/util/RecordInterruption"]);} } window.ta || (window.ta = {}); define('ta/util/RecordInterruption', ['vanillajs', 'ta/Core/TA.Record', 'ta/util/Error'], function(vanilla, track, error) { 'use strict'; var GA_REC_MODULE = 'interruption_record'; var VALID_TYPES = [ 'popup', 'popunder', 'gate', 'other' ]; var _err = function(msg, eobj) { error.record(eobj, msg, null, null); }; var _isValidType = function(type) { for (var i = 0; i SCROLL_BUFFER) { $(surveyContainerClassName).hide(); } }; $(window).on('scroll', throttle(hide, 100)); } var surveyRadio = Radio("QualtricsSurvey"); // use radio so this functionality can be added to WC footer easily window.addEventListener("qsi_js_loaded", function() { // this event is fired when the Qualtrics external JS has finished loading if (surveyRadio.requestAny("shouldSuppress", true)) { $(surveyContainerClassName).hide(); } }); surveyRadio.on("hide", function() {$(surveyContainerClassName).hide();}); surveyRadio.on("show", function() {$(surveyContainerClassName).show();}); } } }); return { }; }); });require(['ta/p13n/placements'], function(placements) { var define = placements.define.bind(placements,'dual_search_dust','handlers',['deferred/lateHandlers','handlers']); /** * Private javascript for dual_search placement */ define(["placement", "lib/jquery-amd", "ta/Core/TA.Store", 'ta/Core/TA.Event', "typeahead/TypeAhead.views" /*this needs to be here when the placement is, even though we don't use it here */ ], function (placement, $, taStore, taEvent, typeAheadViews) { if (placement.params && 'typeahead_to_store' in placement.params) { var propertiesToStore = placement.params['typeahead_to_store']; if (propertiesToStore) { for (var property in propertiesToStore) { if (propertiesToStore.hasOwnProperty(property)) { taStore.store(property, propertiesToStore[property]); } } } } focusOnWrapperClick('GEO_SCOPE_CONTAINER', 'GEO_SCOPED_SEARCH_INPUT'); focusOnWrapperClick('MAIN_SEARCH_CONTAINER', 'mainSearch'); /** * allows to focus the corresponding input when its wrapper is clicked (wrapper is wider and taller than the input) */ function focusOnWrapperClick(wrapperId, inputId) { $('#' + wrapperId).on('click', function(e) { // If the click target is the input element, let the browser handle it, so we don't trigger focus twice. if ($(e.target).closest('#' + inputId).length == 0) { $('#' + inputId).focus(); } }); } var options = taStore.retrieve("typeahead_dual_search_options"); function _popAutoTooltip() { if (!options.autoTooltip || !taStore.retrieve("isFirstSessionPageView") || !window.require) { return; } var reqs = ['trjs!overlays/Overlay', 'trjs!overlays/position', 'trjs!overlays/styles/popover', 'trjs!overlays/options/maxWidth', 'trjs!overlays/options/repositionOnEvent' ]; require(reqs, function (Overlay, Position, Style, MaxWidth, Reposition) { var searchButton = document.getElementById("SEARCH_BUTTON"); var mixins = [ Position && Position['below'] && Position['below']([], false), Style && Style(searchButton, 'below', "dark small", " ", options.autoTooltip), MaxWidth && MaxWidth(220), ]; var overlay = new Overlay(searchButton, mixins); if (overlay) { // pop tooltip immediately overlay.show() } }); } if (document.activeElement === $("#GEO_SCOPED_SEARCH_INPUT")[0]) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whereFocused({type: "dummy"}, document.activeElement); }); } else if (document.activeElement === $("#mainSearch")[0]) { placement.require(["trjs!deferred/lateHandlers"], function (lh) { lh.whatFocused({type: "dummy"}, document.activeElement); }); } else if (options && options.autoTooltip) { taEvent.queueForLoad(_popAutoTooltip, "dual_search auto tooltip"); } return { getOptions: function () { return options; } }; }); });define('mixins/page-dates/picker-autoadvance-utils', [], function() { var exports = {}; exports.keepOverlayOpenOnSelection = function(target) { var overlayElmts = document.querySelectorAll(".ui_overlay"); for (var i = 0; i

FIRST_AD_TOP – apiTrigger) {window.removeEventListener(‘scroll’, initAtFirstAd);if (!initHasRun) {initHasRun = true;require([‘@ta/platform.runtime’, ‘trjs!cpm/Desktop’], function(runtime, desktopAds) {runtime.importBundle(‘@ta/platform.consent’).then(function (bundle) {bundle.requestConsent(bundle.CategoriesEnum.ADVERTISING, function() {desktopAds.initDoubleClick(initOpts); });});});}}}initAtFirstAd();window.addEventListener(‘scroll’, initAtFirstAd);});]]>



Source

Leave a Reply

Your email address will not be published. Required fields are marked *