"),t.close()),t)return(n=t.createElement("base")).href=o,t.getElementsByTagName("head")[0].appendChild(n),(r=t.createElement("a")).href=a,r.href;throw Error("base not supported")}finally{e&&e.parentNode.removeChild(e)}}():a)||""),(e=new c(t.search?t.search.substring(1):null))._url_object=this,Object.defineProperties(this,{href:{get:function(){return t.href},set:function(e){t.href=e,n(),r()},enumerable:!0,configurable:!0},origin:{get:function(){return"data:"===this.protocol.toLowerCase()?null:"origin"in t?t.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return t.protocol},set:function(e){t.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return t.username},set:function(e){t.username=e},enumerable:!0,configurable:!0},password:{get:function(){return t.password},set:function(e){t.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[t.protocol];return e?t.host.replace(e,""):t.host},set:function(e){t.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return t.hostname},set:function(e){t.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return t.port},set:function(e){t.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==t.pathname.charAt(0)?"/"+t.pathname:t.pathname},set:function(e){t.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return t.search},set:function(e){t.search!==e&&(t.search=e,n(),r())},enumerable:!0,configurable:!0},searchParams:{get:function(){return e},enumerable:!0,configurable:!0},hash:{get:function(){return t.hash},set:function(e){t.hash=e,n()},enumerable:!0,configurable:!0},toString:{value:function(){return t.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return t.valueOf()},enumerable:!1,configurable:!0}}),this;throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");function n(){var e=t.href.replace(/#$|\?$|\?(?=#)/g,"");t.href!==e&&(t.href=e)}function r(){e._setList(t.search?l(t.search.substring(1)):[]),e._update_steps()}}if(Object.defineProperties(c.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},delete:{value:function(e){for(var t=0;ti[0]&&a[1]=n.length?void 0:n)&&n[e++],done:!n}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")},c=function(n,a){var t="function"==typeof Symbol&&n[Symbol.iterator];if(!t)return n;var e,r,u=t.call(n),i=[];try{for(;(void 0===a||0a[0]?1:0}function o(n,a){return n.typea.type?1:0}function L(n){var a=n;if(n.variants.length)for(var t="",e=0,r=n.variants;e\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/,p=(new RegExp("^"+p.source),new RegExp(p.source+"$"),a(y()));f=Error,(0,p.__extends)(A,f);function A(){var n=null!==f&&f.apply(this,arguments)||this;return n.type="MISSING_LOCALE_DATA",n}var v=a(i()),p=a(h()),C=new WeakMap;function D(n){var a=C.get(n);return a||(a=Object.create(null),C.set(n,a)),a}var M=p.supplemental.likelySubtags,i=["ca","co","hc","kf","kn","nu"],E=/^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;function N(n,a,t,e,r){return void 0===e&&(e=[]),r?{lang:n&&"und"!==n?n:r.lang,script:a||r.script,region:t||r.region,variants:(0,L.__spreadArray)((0,L.__spreadArray)([],e),r.variants)}:{lang:n||"und",script:a,region:t,variants:e}}function w(n){var n=(0,v.parseUnicodeLocaleId)(n),a=n.lang,t=a.lang,e=a.script,r=a.region,a=a.variants;if(e&&r){var u=M[(0,v.emitUnicodeLanguageId)({lang:t,script:e,region:r,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,void 0,void 0,a,u),(0,v.emitUnicodeLocaleId)(n)}if(e){var u=M[(0,v.emitUnicodeLanguageId)({lang:t,script:e,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,void 0,r,a,u),(0,v.emitUnicodeLocaleId)(n)}if(r){u=M[(0,v.emitUnicodeLanguageId)({lang:t,region:r,variants:[]})];if(u)return u=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,e,void 0,a,u),(0,v.emitUnicodeLocaleId)(n)}u=M[t]||M[(0,v.emitUnicodeLanguageId)({lang:"und",script:e,variants:[]})];if(u)return t=(0,v.parseUnicodeLanguageId)(u),n.lang=N(void 0,e,r,a,t),(0,v.emitUnicodeLocaleId)(n);throw new Error("No match for addLikelySubtags")}I.prototype.maximize=function(){var a=D(this).locale;try{return new I(w(a))}catch(n){return new I(a)}},I.prototype.minimize=function(){var a=D(this).locale;try{return new I(function n(a){if(t=w(a)){var t=(0,v.emitUnicodeLanguageId)((0,L.__assign)((0,L.__assign)({},(0,v.parseUnicodeLanguageId)(t)),{variants:[]})),e=(0,v.parseUnicodeLocaleId)(a),r=e.lang,u=r.lang,i=r.script,o=r.region,r=r.variants;if(w((0,v.emitUnicodeLanguageId)({lang:u,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,void 0,void 0,r)}));if(o)if(w((0,v.emitUnicodeLanguageId)({lang:u,region:o,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,void 0,o,r)}));if(i)if(w((0,v.emitUnicodeLanguageId)({lang:u,script:i,variants:[]}))===t)return(0,v.emitUnicodeLocaleId)((0,L.__assign)((0,L.__assign)({},e),{lang:N(u,i,void 0,r)}))}return a}(a))}catch(n){return new I(a)}},I.prototype.toString=function(){return D(this).locale},Object.defineProperty(I.prototype,"baseName",{get:function(){var n=D(this).locale;return(0,v.emitUnicodeLanguageId)((0,v.parseUnicodeLanguageId)(n))},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"calendar",{get:function(){return D(this).calendar},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"collation",{get:function(){return D(this).collation},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"hourCycle",{get:function(){return D(this).hourCycle},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"caseFirst",{get:function(){return D(this).caseFirst},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"numeric",{get:function(){return D(this).numeric},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"numberingSystem",{get:function(){return D(this).numberingSystem},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"language",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).lang},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"script",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).script},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"region",{get:function(){var n=D(this).locale;return(0,v.parseUnicodeLanguageId)(n).region},enumerable:!1,configurable:!0}),I.relevantExtensionKeys=i;p=I;function I(n,a){if(!(this&&this instanceof I?this.constructor:void 0))throw new TypeError("Intl.Locale must be called with 'new'");var t=I.relevantExtensionKeys,e=["initializedLocale","locale","calendar","collation","hourCycle","numberingSystem"];if(-1\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/;new RegExp("^"+u.source),new RegExp(u.source+"$");function d(u,e,t,n,i){var r=function u(e,t,n,i,r){return D(e[t],n,i,r)}(e,"minimumIntegerDigits",1,21,1),o=e.minimumFractionDigits,a=e.maximumFractionDigits,l=e.minimumSignificantDigits,e=e.maximumSignificantDigits;u.minimumIntegerDigits=r,void 0!==l||void 0!==e?(u.roundingType="significantDigits",l=D(l,1,21,1),e=D(e,l,21,21),u.minimumSignificantDigits=l,u.maximumSignificantDigits=e):void 0!==o||void 0!==a?(u.roundingType="fractionDigits",o=D(o,0,20,t),a=D(a,o,20,Math.max(o,n)),u.minimumFractionDigits=o,u.maximumFractionDigits=a):"compact"===i?u.roundingType="compactRounding":(u.roundingType="fractionDigits",u.minimumFractionDigits=t,u.maximumFractionDigits=n)}function t(u,e,t,n){var i=n.availableLocales,r=n.relevantExtensionKeys,o=n.localeData,a=n.getDefaultLocale,n=n.getInternalSlots,e=c(e),l=Object.create(null),t=function u(e){return void 0===e?Object.create(null):f(e)}(t),n=n(u),D=(n.initializedPluralRules=!0,F(t,"localeMatcher","string",["best fit","lookup"],"best fit")),D=(l.localeMatcher=D,n.type=F(t,"type","string",["cardinal","ordinal"],"cardinal"),d(n,t,0,3,"standard"),g(i,e,l,r,o,a));return n.locale=D.locale,u}function e(u,e,t){var n=t.getInternalSlots,t=t.PluralRuleSelect,n=n(u);return p("Object"===r(n),"pl has to be an object"),p("initializedPluralRules"in n,"pluralrules must be initialized"),p("Number"===r(e),"n must be a number"),isFinite(e)?t(n.locale,n.type,e,function u(e){p("string"==typeof e,"GetOperands should have been called with a string");var t,n,i,r=l(e),o=(p(isFinite(r),"n should be finite"),e.indexOf(".")),a="",o=-1===o?(n=r,t=0):(n=e.slice(0,o),t=l(a=e.slice(o,e.length)),a.length),e=Math.abs(l(n));return a=0!==t?(i=(n=a.replace(/0+$/,"")).length,l(n)):i=0,{Number:r,IntegerDigits:e,NumberOfFractionDigits:o,NumberOfFractionDigitsWithoutTrailing:i,FractionDigits:t,FractionDigitsWithoutTrailing:a}}(o(n,e).formattedString)):"other"}function h(u,e){for(var t=[],n=0,i=e;na[a.length-1]?a[a.length-1].length-1:-1===(o=a.indexOf(c))||"0"===l[c=a[o]].other?0:c.length-l[c].other.match(/0+/)[0].length:0}}function c(n,t,e){var u,r,i,a,o,c=e;if(a=0===n?(u=m("0",c),r=0):(i=(a=n.toString()).indexOf("e"),o=(a=a.split("e"))[0],a=a[1],o=o.replace(".",""),0<=i&&o.length<=c?(r=+a,u=o+m("0",c-o.length),n):(r=f(n),i=Math.round(s(n,r-c+1)),10<=s(i,c-1)&&(r+=1,i=Math.floor(i/10)),u=i.toString(),s(i,c-1-r))),o=c-1<=r?(u+=m("0",r-c+1),r+1):0<=r?(u=u.slice(0,r+1)+"."+u.slice(r+1),r+1):(u="0."+m("0",-r-1)+u,1),0<=u.indexOf(".")&&t\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/,Vn=new RegExp("^"+L.source),Xn=new RegExp(L.source+"$"),Hn=/[#0](?:[\.,][#0]+)*/g;function zn(n,t,e,u){var r,i=n.sign,a=n.exponent,o=n.magnitude,c=u.notation,l=u.style,s=u.numberingSystem,f=t.numbers.nu[0],m=null;if("compact"===c&&o&&(m=function n(t,e,u,r,i,a,o){var c,l=t.roundedNumber,s=t.sign,t=t.magnitude,t=String(Math.pow(10,t)),f=u.numbers.nu[0];if("currency"===r&&"name"!==a){r=(m=u.numbers.currency)[o]||m[f],r=null==(a=r.short)?void 0:a[t];if(!r)return null;c=P(e,l,r)}else{var m,a=((m=u.numbers.decimal)[o]||m[f])[i][t];if(!a)return null;c=P(e,l,a)}return"0"!==c?c=j(c,s).replace(/([^\s;\-\+\d¤]+)/g,"{c:$1}").replace(/0+/,"0"):null}(n,e,t,l,u.compactDisplay,u.currencyDisplay,s)),"currency"===l&&"name"!==u.currencyDisplay){var D=t.currencies[u.currency];if(D)switch(u.currencyDisplay){case"code":r=u.currency;break;case"symbol":r=D.symbol;break;default:r=D.narrow}else r=u.currency}o=m||("decimal"===l||"unit"===l||"currency"===l&&"name"===u.currencyDisplay?j((t.numbers.decimal[s]||t.numbers.decimal[f]).standard,i):j("currency"===l?(p=t.numbers.currency[s]||t.numbers.currency[f])[u.currencySign]:t.numbers.percent[s]||t.numbers.percent[f],i));for(var g=Hn.exec(o)[0],p=(o=o.replace(Hn,"{0}").replace(/'(.)'/g,"$1"),(o="currency"===l&&"name"!==u.currencyDisplay&&((i=(p=t.numbers.currency[s]||t.numbers.currency[f]).currencySpacing.afterInsertBetween)&&!Xn.test(r)&&(o=o.replace("¤{0}","¤"+i+"{0}")),i=p.currencySpacing.beforeInsertBetween)&&!Vn.test(r)?o.replace("{0}¤","{0}"+i+"¤"):o).split(/({c:[^}]+}|\{0\}|[¤%\-\+])/g)),d=[],h=t.numbers.symbols[s]||t.numbers.symbols[f],y=0,F=p;yTop Cape Verde Hotels: 2025 Best Hotels in Cape Verde - Expedia
"Impressed with the level of service. Avid traveler and this Resort exceeded my expectations. Please consider VIP upgrades to have the opportunity to visit other affiliate resorts for dinning. "
"Everything you could wish for in a beach holiday to relax with in warm and sunny climate. Clean, sandy beaches. Beautiful hotel pool. Excellent food and staff service. "
"Overall, the hotel was decent, though a bit outdated, and there was no elevator. On our first day, we ran out of hot water, which was particularly inconvenient. We informed the reception, and they resolved it fairly quickly.
However, one issue I found disappointing was the lack of transparency in their menu. For instance, I do not eat pork, and during dinner at their gourmet restaurant, I ordered the beef menu with a gratin. Unfortunately, the gratin contained pork, which was not mentioned....
Hotel Riu Cabo Verde - Adults Only - All Inclusive
Hotel Riu Cabo Verde - Adults Only - All Inclusive
Hotel Riu Cabo Verde - Adults Only - All Inclusive
Hotel Riu Cabo Verde - Adults Only - All Inclusive
Hotel Riu Cabo Verde - Adults Only - All Inclusive
Hotel Riu Cabo Verde - Adults Only - All Inclusive
5.0 star property
Sal
8.8 out of 10, Excellent, (71)
8.8/10
Excellent
(71)
"A nice and vibrant environment, Lovely staff and fantastic customer service. The grounds are beautiful and spacious.
Food was great...the salad, shrimps and fruit made me ill so i will avoid eating those foods on the cape verde island not just at the Riu.
Next time i will book directly with Riu hotels online instead of through expedia. As Expedia charged my account and then said I had cancelled the booking. I was charged in addition to paying at the riu property on arrival. There was no...
"Absolutely fabulous resort. A must stay with very friendly and welcoming staff, clean and well maintained facilities, plenty of food options beautiful beaches and lots of activities to keep you busy.
10 out of 10 👍😊"
"When we arrive at 2 o'clock in the morning we discovered that we had no room there,even if we had booked in April and we had to go to another Melia resort in the nearby. we were very disappointed also for the standard of the premises that it is not at all a 5-star hotel, as you can see from the picture. We had to argue all the time with the respinsables to have 2 roomkeys (not available we had just one ), to enter the spa and to reserve restaurants. Luckily all the ordinary staff was very kind...
"It’s recently been taken over by an Italian company so be aware there are not many English people but some staff have reasonable English, Rated 5 stars, was expecting something special rooms were basis with good size quality mattress (zip connected) A/c small fridge with option to purchase a mini bar that seemed expensive at €35-€55 for what you could typically get at the bar, we had 6 led’s flashing at night that were annoying fire/tv/ac/DTV/wifi/TV, plastic garden furniture and pillows were...
"No words can describe how wonderful our experience was at this hotel after Murdeira Village resort cancelled our booking on arrival, Robinson Resort were so incredibly kind and helpful and treated us like royalty after a stressful experience we had and they went out of their way to accommodate to the situation we were in during the fully booked Christmas period and made our Christmas so memorable. Special thanks to Olessya and all the staff at the hotel for everything they did for us . Cannot...
"The resort have couple of restaurants, a supermarket and a beach. You can take a bus or rent a car, but this is a walking distance from downtown. Overall value is excellent. "
"Hard to review stay as I was suffering from after effects (but clear) of recent Novo contracted in UK as lost 8-9 lbs. So did not due what I expected to do & 1/2 way thru stay started to pick up. Room, staff breakfast very good. Had nice trip to Santa Maria they provide for free. Pool fine but used less than expected as not up to it. Snorkelled in small bay up from reception. Good first 2 days last day churned up so visibility issues. Very nice walks N & S of resort on or near beach which I...
"Fab hotel which blends a beach cabin vibe with Scandi style. The team, particularly Stephen, were very helpful. Right next to a great beach - beautiful but the waves are too strong for yourlng children. "
Lowest nightly price found within the past 24 hours based on a 1 night stay for 2 adults. Prices and availability subject to change. Additional terms may apply.
Lowest nightly price found within the past 24 hours based on a 1 night stay for 2 adults. Prices and availability subject to change. Additional terms may apply.
Don't see what you're looking for?
Don't see what you're looking for?
See all available properties in Cape Verde
See all available properties in Cape Verde
Save an average of 15% on thousands of hotels when you're signed in
Price trend information excludes taxes and fees and is based on base rates for a nightly stay for 2 adults found in the last 7 days on our site and averaged for commonly viewed hotels in Cape Verde. Select dates and complete search for nightly totals inclusive of taxes and fees.
Guide to exploring around Cape Verde
Guide to exploring around Cape Verde
Cape Verde Hotel Travel Guide
When you harness the power of Expedia to lock down a room at one of our fabulous motels, hotels, or resorts, you can have the vacation of your dreams. Regardless of what level of niceties you like to have available, our simple booking system makes it possible for you to find precisely what you're hoping for. Start your search today, and you're sure to find the perfect room for your trip.
Looking to spend the night at an exquisite spa? No problem. Expedia has a great assortment of affordable motels in addition. And there are an array of options in between, of course. It's simply based on what you're in the mood for and how much you'd like to save. As for location, you can select a room in any part of the area you'd like. You'll find an assortment of accommodation choices at the center of the action, as well as private options on the edge of Cape Verde. When you browse through our site's selection of hotels in Cape Verde, you're certain to find cheap rates and amazing packages on any type of hotel here.
Expedia can save you time and money when arranging your stay at an accommodation in Cape Verde, so you can spend your days making the most of your trip and not stressing out about going home broke. So why wait another second to book your travel plans? Type in your ideal travel dates now to find the best discounts on stays in Cape Verde!
Top reasons to visit Cape Verde
Stunning Beaches: Cape Verde boasts breathtaking beaches, perfect for sun-soaking and water sports, especially on the islands of Boa Vista and Praia.
Cultural Immersion: Experience vibrant local markets and rich traditions that reflect the unique heritage of Cape Verdean culture.
Outdoor Adventures: Enjoy hiking scenic trails and engaging in various outdoor activities across the diverse landscapes of the islands.
Diverse Accommodations: Choose from cozy guesthouses to luxurious resorts, catering to all budgets and preferences.
Warm Hospitality: Experience the friendly and welcoming nature of the locals, making your visit even more memorable.
Find great hotels in Cape Verde
Explore the diverse hotel accommodations in Cape Verde, where you can choose from a variety of options ranging from cozy guesthouses to luxurious 5-star resorts. Whether you're seeking a beach-themed getaway, an adventurous escape, or a business trip, Cape Verde has something to offer every traveler. Discover top-rated hotels like Hotel Morabeza and Riu Resorts for an unforgettable vacation experience in this stunning island paradise.
Pestana Trópico - Ocean & City Hotel: Ideal for families and beach lovers, Pestana Trópico offers a delightful blend of oceanfront relaxation and city exploration. This 4-star hotel features direct beach access, allowing guests to enjoy sun-soaked days by the sea. Families will appreciate the dedicated children's amenities, including a children's pool, babysitting services, and an arcade game room, ensuring a fun-filled stay for younger guests. With its vibrant atmosphere and family-friendly services, this hotel is perfect for a memorable vacation experience.
Hotel Oásis Atlântico Praiamar: This 4-star hotel caters to families, beach enthusiasts, and business travelers alike, making it a versatile choice for various vacation styles. Situated by the beach, Hotel Oásis Atlântico Praiamar offers a business center and multiple meeting rooms, ideal for corporate retreats. Guests can enjoy family-friendly amenities, such as a children's pool, complimentary cribs, and babysitting services. Its combination of leisure and business facilities ensures a comfortable and productive stay, making it a top pick for all types of travelers.
Hotel Riu Palace Santa Maria - All Inclusive: A luxurious 5-star escape, Hotel Riu Palace Santa Maria is perfect for adventure seekers, families, and beach lovers. With direct beach access and a plethora of water sports available, including surfing, kayaking, and windsurfing, guests can indulge in thrilling activities. The hotel also features a shared playground, children's pool, and a complimentary water park and kids' club, guaranteeing endless fun for younger guests. This all-inclusive resort offers a perfect blend of excitement and relaxation, making it an ideal destination for an unforgettable vacation.
Where to stay in Cape Verde
Discover the enchanting allure of Cape Verde, where sun-kissed beaches and vibrant culture await. In Boa Vista, unwind on pristine sands and enjoy water sports or explore local markets showcasing rich traditions. Cabo Verde offers a blend of relaxation and recreation, from hiking scenic trails to savoring delicious cuisine. Whether you're seeking budget-friendly adventures or a touch of luxury, Cape Verde promises an unforgettable vacation experience steeped in natural beauty and warm hospitality.
Sal: Located in the Cape Verde archipelago, Sal is known for its stunning beaches and vibrant outdoor adventures. With a steady influx of visitors, particularly from January to March, Sal attracts those seeking sun-soaked relaxation and thrilling activities. The public market and local swimming spots offer a taste of everyday life, while landmarks like the picturesque jetty pier and lookout points provide stunning views of the surrounding ocean. Whether you're lounging on the beach or exploring local culture, Sal is a perfect getaway for beach lovers and adventure seekers alike.
Boa Vista: Boa Vista is a beautiful island city in Cape Verde renowned for its captivating beaches and rich culture. Visitor numbers peak between January and March, making it a bustling destination during these months. The vibrant public markets and shopping centers provide a unique glimpse into the local lifestyle, while the historic village offers a fascinating connection to the island's past. With family-friendly beaches and scenic landscapes, Boa Vista is an ideal spot for travelers looking to immerse themselves in both relaxation and cultural exploration.
Praia: As the capital city of Cape Verde, Praia offers a dynamic blend of beach life and urban experiences. Visitor numbers peak in January and February, making these months an ideal time to explore its lively atmosphere. The public market is a must-visit for those interested in local flavors and crafts, while the surrounding beaches provide a perfect escape from city life. With diverse neighborhoods and a rich history, Praia invites visitors to enjoy both its natural beauty and vibrant city vibes, making it a versatile destination for any traveler.
Things to do in Cape Verde
Cape Verde is a fantastic destination for beach lovers, culture enthusiasts, and outdoor adventurers. Visitors can explore vibrant public markets, soak up the sun on stunning beaches, and engage in various outdoor activities. Whether you're looking to experience local culture or enjoy the natural beauty of the islands, Cape Verde offers a delightful mix of experiences for every traveler.
Food and drinks
Pont d'Agua in Cape Verde offers a delightful dining experience with a mix of local flavors and a romantic ambiance. Enjoy their signature dishes alongside a cappuccino at this family-friendly spot, perfect for business meetings or casual gatherings in the heart of the city.
Shopping
For a local shopping experience, visit the Santa Maria Municipal Market, where you can find unique gifts and souvenirs. If you're up for a drive, check out the Pedra Badejo Municipal Mall, which offers a family-friendly atmosphere with various shops and local products.
Recreation
At Estadio da Varzea, immerse yourself in the vibrant sports culture of Cape Verde. Engage in various recreational activities, from jogging to group fitness classes, surrounded by a lively atmosphere that energizes your spirit and promotes wellness through movement and community.
Adventure
Ponta Boca da Ribeira offers thrilling hiking trails with breathtaking views of rugged cliffs and the Atlantic Ocean. Experience the vibrant local culture as you explore hidden coves and encounter diverse wildlife, making it a perfect destination for adventurous travelers seeking an unforgettable experience in Cape Verde.
Booking tips and Expedia advantages for Cape Verde
To save money on your trip to Cape Verde, consider visiting during the cheaper months of May, September, and November. Take advantage of free activities like Santa Maria Pier and Laginha Beach. For accommodations, book your hotel about a month in advance or check Expedia's last-minute deals for discounts. Utilize Expedia's search tool to find budget-friendly options, and consider booking a package that includes flights and activities. Joining Expedia's One Key membership can also provide exclusive discounts and earn you rewards for future stays.
The most and least expensive months on average to stay in a hotel: The cheapest months to stay in Cape Verde are May, September and November, where the prices are slightly lower. This is in comparison to March, August and December, where prices are slightly higher.
The best time to book a hotel: The cheapest time to book a hotel in Cape Verde is usually 1 month out from when you are planning to stay. If you're a little more spontaneous, you could also peruse Expedia's last minute deals which could secure you a cheaper stay. Look out for the green banner below the price to spot the deals.
Find cheap hotels on Expedia: Expedia’s search tool lets you customize your travel experience by setting your budget and selecting your desired location, among other preferences. You can easily sort the results by price, starting with the most affordable hotels. Additionally, you have the option to filter by hotel type; for instance, selecting the "Eco-certified" filter will showcase sustainable and eco-friendly accommodations that you can book.
Consider bundling your trip: You can save money by booking an Expedia package that combines your hotel stay in Cape Verde with your flights and activities.
Become a One Key member: Join Expedia's One Key membership program for exclusive discounts and deals on hotel bookings. You can also earn OneKeyCash to use on future selected hotels.
Find the best attractions in Cape Verde
Cape Verde offers a diverse vacation experience perfect for beach lovers, culture enthusiasts, and outdoor adventurers. Explore beautiful beaches, vibrant town neighborhoods, and historic villages. Must-visit attractions include the stunning sands of Praia and the lively island of São Vicente, providing an ideal mix of relaxation and cultural immersion. Whether you're soaking up the sun or diving into local traditions, Cape Verde promises an unforgettable getaway.
Santa Maria Beach: Experience the ultimate beach vibes at Santa Maria Beach, where soft golden sands meet crystal-clear waters. It's a perfect spot for sunbathing, swimming, and soaking up the tropical atmosphere.
Santa Maria Pier: Enjoy a blend of luxury and budget-friendly experiences at Santa Maria Pier. Whether you're looking to relax with a drink or explore local shops, the pier offers a serene environment with stunning ocean views.
Mindelo Marina: Dive into adventure at Mindelo Marina, where outdoor activities abound. From sailing to beachside relaxation, this vibrant marina is perfect for those seeking both thrills and tranquility by the sea.
Best time to go to Cape Verde
Visitor numbers in Cape Verde is generally unchanged in popularity throughout the year. The best time to visit Cape Verde can depend on the weather and when visitor numbers rise and fall. The hottest average temperature in Cape Verde falls in September, when visitor numbers are slightly high and weather is mostly sunny with light rain. The coolest average temperature in Cape Verde falls in February, visitor numbers are slightly high and weather is sunny with no rain.
Calendar Month
Temperature
Precipitation
Cloudiness
Occupancy
Pricing
January
72.9°F (22.7°C)
No Rain (Dry)
Sunny
Slightly High
Average
February
71.4°F (21.9°C)
No Rain (Dry)
Sunny
Slightly High
Average
March
71.8°F (22.1°C)
No Rain (Dry)
Sunny
Average
Slightly High
April
72.9°F (22.7°C)
No Rain (Dry)
Sunny
Slightly Low
Average
May
74.1°F (23.4°C)
No Rain (Dry)
Sunny
Slightly Low
Slightly Low
June
75.6°F (24.2°C)
No Rain (Dry)
Sunny
Slightly Low
Average
July
77.5°F (25.3°C)
No Rain (Dry)
Mostly Sunny
Average
Average
August
77.0°F (25.0°C)
No Rain (Dry)
Mostly Sunny
Average
Slightly High
September
80.4°F (26.9°C)
Light Rain
Mostly Sunny
Slightly High
Slightly Low
October
78.3°F (25.7°C)
No Rain (Dry)
Mostly Sunny
Average
Average
November
77.9°F (25.5°C)
No Rain (Dry)
Mostly Sunny
Average
Slightly Low
December
75.2°F (24.0°C)
No Rain (Dry)
Sunny
Average
Slightly High
The nearest major airports for your trip to Cape Verde
When visiting Cape Verde, you can fly into three major airports. Santiago Island (RAI-Praia Intl.) is located 3 miles from Praia, with nearby hotels like Pestana Trópico and Hotel Oásis Atlântico Praiamar, both offering various transportation services. Sal Island (SID-Amilcar Cabral Intl.) is 131 miles away, featuring luxury options such as Hotel Riu Palace Santa Maria and Melia Dunas Beach Resort, which provide convenient access. Lastly, Boa Vista Island (BVC-Aristides Pereira Intl.) is 94 miles from Cape Verde, with all-inclusive resorts like Hotel Riu Palace Boavista just a mile away. Each airport offers a range of accommodations and transportation services to enhance your stay.
"Impressed with the level of service. Avid traveler and this Resort exceeded my expectations. Please consider VIP upgrades to have the opportunity to visit other affiliate resorts for dinning. "
A verified traveler stayed at Melia Dunas Beach Resort & Spa - All Inclusive
Prices for Cape Verde hotels vary according to the season and other factors, like Christmas and school holidays. You can find cheap options from $80 in a few different ways. Enter your destination and trip dates and then set your budget using the “Price per night” filter. You can then refine your search by choosing your preferred amenities and more.
When is the best time to go to Cape Verde?
Temperatures differ across Cape Verde, so the best time to go really depends on where you’re visiting. If you’re wanting a summer vacation in Praia, organize your trip between June and August. At this time of year you can expect temperatures ranging from 75ºF to 79ºF. Keep in mind that Praia has a desert climate, so pack appropriately.
What is the best area to stay in Cape Verde?
Cape Verde has plenty of exciting places to stay, like Praia and Santa Maria. Each has its own unique experiences, so why not schedule time to explore both?
How can I find cheap hotels in Cape Verde?
Discover inexpensive stays without breaking a sweat by making use of our handy filter tool. Click on the “Price per night” checkbox to view budget-friendly options in Cape Verde. You can also take a look at our cheap hotels in Cape Verde page. The lowest available rate starts at $80 per night.
What are the best hotels in Cape Verde for families?
Expedia makes it a breeze to book a property with all the essentials for an awesome family escape to Cape Verde. Start by selecting “Family friendly” in the “Traveler experience” section of our filter tool. Then fine-tune your search by things like “Property type” and “Guest rating.” Whether you need a family hotel in Cape Verde for a weekend break or a big summer vacation, we’ve got you and your team covered.
Why should I book my Cape Verde hotel with Expedia?
Reserve a Cape Verde stay with Expedia for ease, price and choice. Also, our One Key™ rewards platform lets you collect OneKeyCash™* on eligible hotels, car rentals, flights, vacation rentals and more. In addition, we offer flexibility in case your plans change, and if you have any questions or require assistance, our online Help Center is available 24/7. *OneKeyCash disclaimer - OneKeyCash is not redeemable for cash and can only be used on Hotels.com, Expedia and Vrbo.