"),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;yVisit Heidelberg: 2025 Travel Guide for Heidelberg, Baden-Württemberg | Expedia Altstadt which includes a square or plaza, a city and a fountain Heidelberg Church of the Holy Spirit showing a city and heritage elements Kurpfälzisches Museum featuring a park Heidelberg Castle showing views, heritage elements and a city Altstadt featuring a bridge, a small town or village and a river or creek
A romantic Baroque town, Heidelberg is a popular destination right on the River Neckar and hosts one of Europe’s oldest universities.
Nestled in a valley of the Odenwald Mountains, Heidelberg has some of the warmest weather Germany has to offer. The city is a popular destination for tourists wanting to enjoy the romantic scenery around the town, discover the history or just go for a pleasant walk along the Neckar River.
Founded in the fifth century, Heidelberg has an impressive history. The town center is full of gothic and romantic architecture, which surrounds beer gardens and cozy cafes. A winding, mile-long pedestrian street offers shopping and will take you to the triumphal arch, Karlstor, which was erected in honor of Prince Karl Theodor.
From here, take the funicular railway up to Heidelberg Castle, which towers above the town center. This famous structure was a Renaissance masterpiece, rebuilt on several occasions, before fires and wars took its toll on the original structures. Now, Heidelberg Castle is an architectural wonder with facades from various historical eras. It is the town's trademark, and considered one of the most important Romantic ruins in the world.
The castle is also home to a beautiful Renaissance garden spread across several terraces on the Königsstuhl Mountain. Before the destruction of the castle and its surroundings, this garden was considered the "Eighth Wonder of the World." Hike there today to enjoy breathtaking views of Heidelberg town and the Old Stone Bridge.
Many of the town’s old structures survived the heavy bombings of the Second World War, though after the war it was occupied by American troops. To this day, Heidelberg is the headquarters for the US military in Europe, which gives the town a large and noticeable American population.
Lastly, it wouldn’t be a trip to Heidelberg without visiting Heidelberg University, one of the oldest universities in Europe. Wander the ancient halls where famous scientists like Jürgen Habermas and Karl-Otto Apel did much of their thinking. The university attracts new students every year, ensuring that this old, romantic town also has a youthful side, from stylish bars to annual music festivals.
Where to stay in Heidelberg Altstadt Heidelberg is known for its beautiful river views, and you can make a stop by Heidelberg University Library and Church of the Holy Spirit while in the area.
Altstadt Heidelberg Travelers choose Bergheim for its ample dining options. Hop aboard the metro at Heidelberg (West) Central Station Tram Stop or Heidelberg Seegarten Tram Stop and check out top sights like Körperwelten Museum.
Bergheim Weststadt is noteworthy for its historic sites, and you can make a stop at top attractions like Schatzkammer and Neckar Valley-Odenwald Nature Park.
Weststadt Unique features of Neuenheim include the river views and historic sites. Make a stop by Neckarwiese or Philosophenweg while you're exploring the area.
Neuenheim While there might not be top attractions in Rohrbach, you can explore the larger area and discover places like Heidelberg University Library and Heidelberg Student Jail.
Rohrbach If you're looking for some top things to see and do in Bahnstadt and surrounding area, you can visit Heidelberg Zoo and Neckarwiese.
Bahnstadt NH Collection Heidelberg
Bergheimer Str. 91, Heidelberg, BW
The price is ¥11,546 per night from Feb 23 to Feb 24 ¥11,546
¥12,354 total
includes taxes & fees
Feb 23 - Feb 24
Stay at this 4-star business-friendly hotel in Heidelberg. Enjoy free WiFi, breakfast (surcharge), and room service. Our guests praise the breakfast and the ...
9.4/10 Exceptional! (273 reviews)
"Overall very good experience. The only thing lacking was a restaurant in the hotel. The bar had a very limited menu. They are connected with the Italian restaurant next door which was average."
Reviewed on Jan 31, 2025
NH Collection Heidelberg Staycity Aparthotels, Heidelberg
Speyerer Straße 9, Heidelberg
The price is ¥9,323 per night from Feb 23 to Feb 24 ¥9,323
¥9,975 total
includes taxes & fees
Feb 23 - Feb 24
Stay at this hotel in Heidelberg. Enjoy free WiFi, breakfast (surcharge), and parking (surcharge). Our guests praise the helpful staff and the clean rooms in ...
8.8/10 Excellent! (805 reviews)
"Limited parking, parking fee 15 Euro/night"
Reviewed on Dec 29, 2024
Staycity Aparthotels, Heidelberg Hotel Central Heidelberg
Kaiserstr. 75, Heidelberg, BW
The price is ¥10,739 per night from Feb 16 to Feb 17 ¥10,739
¥11,490 total
includes taxes & fees
Feb 16 - Feb 17
Stay at this hotel in Heidelberg. Enjoy free WiFi, parking (surcharge), and daily housekeeping. Our guests praise the helpful staff and the clean rooms in our ...
7.6/10 Good! (873 reviews)
"This hotel was adequate for my needs. Fairly basic but excellent value for the cost, under £70 for 2 nights. Convenient for trams and buses and only 6 minutes walk from the central station."
Reviewed on Jan 28, 2025
Hotel Central Heidelberg 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.
BoardingWorld Heidelberg
Rohrbacher Str. 32, Heidelberg, BW
Stay at this aparthotel in Heidelberg. Enjoy free WiFi, parking (surcharge), and daily housekeeping. Popular attractions Heidelberg Castle and Schatzkammer are ...
8/10 Very Good! (67 reviews)
"the others staying there came in very late, very loud. we were wakened all night"
Reviewed on Dec 1, 2024
BoardingWorld Heidelberg Boardinghotel Heidelberg
Haberstraße 15, Heidelberg, Baden-Württemberg
Book a stay at this business-friendly aparthotel in Heidelberg. Enjoy free WiFi, free parking, and daily housekeeping. Popular attractions Heidelberg Castle ...
8.8/10 Excellent! (187 reviews)
"I liked a lot , nice place to stay with a family!"
Reviewed on Dec 22, 2024
Boardinghotel Heidelberg SUYTES Business Studios
Czernyring 40, Heidelberg, BW
Stay at this aparthotel in Heidelberg. Enjoy free WiFi, breakfast (surcharge), and parking (surcharge). Popular attractions Heidelberg Castle and Roadside Theater ...
8.8/10 Excellent! (189 reviews)
"Location was not central to main attractions but clean and comfortable and the kitchen for simple cooking is good."
Reviewed on May 1, 2024
SUYTES Business Studios 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.
Check Heidelberg hotel availability
Popular places to visit Heidelberg Castle 5/5 (147 reviews)
This ruined Renaissance castle stands majestically on a hilltop and presents incredible views of the Neckar Valley from its beautiful garden.
Heidelberg Castle Marktplatz 5/5 (12 reviews)
Go for a stroll and view the pretty heritage streetscape around Heidelberg’s traditional market square, which is anchored by an impressive Gothic church.
Marktplatz University of Heidelberg Old Campus 4.5/5 (37 reviews)
With some of the city’s most historically and architecturally interesting sites, Germany’s oldest university forms the beating heart of the Heidelberg Altstadt.
University of Heidelberg Old Campus Church of the Holy Spirit 5/5 (4 reviews)
Enjoy superb views of Heidelberg’s Old Town from the tower of this 14th-century church, which took nearly 150 years to build.
Church of the Holy Spirit Karl Theodor Bridge 5/5 (9 reviews)
Heidelberg’s oldest bridge is an architecturally impressive landmark decorated with an imperious gateway, detailed sculptures and a curious monkey statue.
Karl Theodor Bridge You can find out about the history of Heidelberg when you stop by Philosophenweg. Wander around the forests or experience the area's museums.
Philosophenweg
Reviews of Heidelberg 4.7
Top Destination
83 reviews
5/5 - Excellent I can’t get enough this city! I have been going to Heidelberg since August 2016... this was my 10th trip to this gorgeous / precious city and I know I will be back again soon.
4/5 - Good Nice smaller city well worth a visit. Exemplifies the best of Germany in many ways.
5/5 - Excellent The winter markets are incredible. The castle was incredible and the views from there were breathtaking.
3/5 - Okay Typical big German city. Streets are hard to maneuver. Thank goodness for navigation.
4/5 - Good Heidelberg is beautiful but once you get out of town there’s a lot of graffiti. The autobahn safe under repair so traffic was rarely “fast”
See all 83 reviews of Heidelberg 7e1ffe0b-5ceb-47a8-b3fa-3f4d8876af12 4945147d-0851-4fbb-872e-0a265b597425