CINXE.COM
Portail en ligne des CFF pour horaires, trains et transports publics
<!DOCTYPE html><html lang="fr"><head><link rel="alternate" hrefLang="zh-ch" href="https://www.sbb.ch/zh"/><link rel="alternate" hrefLang="fr-ch" href="https://www.sbb.ch/fr"/><link rel="alternate" hrefLang="en-ch" href="https://www.sbb.ch/en"/><link rel="alternate" hrefLang="it-ch" href="https://www.sbb.ch/it"/><link rel="alternate" hrefLang="de-ch" href="https://www.sbb.ch/de"/><link rel="alternate" hrefLang="x-default" href="https://www.sbb.ch/de"/><meta property="og:url" content="https://www.sbb.ch/fr"/><link rel="canonical" href="https://www.sbb.ch/fr"/><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="apple-touch-icon" href="https://cdn.app.sbb.ch/favicons/sbb/v2/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="icon" href="/favicon.ico"/><title>Portail en ligne des CFF pour horaires, trains et transports publics</title><meta name="robots" content="index,follow"/><meta name="description" content="Infos sur les abos demi-tarif, AG, billets, excursions, voyages intervilles, billets événementiels, gares, dérangements et horaire."/><meta property="og:title" content="Portail en ligne des CFF pour horaires, trains et transports publics"/><meta property="og:description" content="Infos sur les abos demi-tarif, AG, billets, excursions, voyages intervilles, billets événementiels, gares, dérangements et horaire."/><meta property="og:locale" content="fr"/><meta property="og:site_name" content="Portail en ligne des CFF pour horaires, trains et transports publics"/><meta name="next-head-count" content="21"/><meta name="version" content="6.5.1"/><link rel="preload" href="https://cdn.app.sbb.ch/fonts/v1_6_subset/SBBWeb-Roman.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://cdn.app.sbb.ch/fonts/v1_6_subset/SBBWeb-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="https://cdn.app.sbb.ch/fonts/v1_6_subset/SBBWeb-Light.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><script id="new-relic" data-nscript="beforeInteractive"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:false},ajax:{deny_list:["bam.eu01.nr-data.net"]}}; ;NREUM.loader_config={accountID:"3599548",trustKey:"3734878",agentID:"535895061",licenseKey:"NRJS-56af2aa8d9b2329449d",applicationID:"535895061"}; ;NREUM.info={beacon:"bam.eu01.nr-data.net",errorBeacon:"bam.eu01.nr-data.net",licenseKey:"NRJS-56af2aa8d9b2329449d",applicationID:"535895061",sa:1}; ;(()=>{var e,t,r={9071:(e,t,r)=>{"use strict";r.d(t,{I:()=>n});var n=0,i=navigator.userAgent.match(/Firefox[/s](d+.d+)/);i&&(n=+i[1])},6562:(e,t,r)=>{"use strict";r.d(t,{P_:()=>p,Mt:()=>v,C5:()=>d,DL:()=>y,OP:()=>k,lF:()=>H,Yu:()=>E,Dg:()=>g,CX:()=>f,GE:()=>w,sU:()=>L});var n={};r.r(n),r.d(n,{agent:()=>T,match:()=>_,version:()=>O});var i=r(6797),o=r(909),a=r(8610);class s{constructor(e,t){try{if(!e||"object"!=typeof e)return(0,a.Z)("New setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,a.Z)("Setting a Configurable requires a model to set its initial properties");Object.assign(this,t),Object.entries(e).forEach((e=>{let[t,r]=e;const n=(0,o.q)(t);n.length&&r&&"object"==typeof r&&n.forEach((e=>{e in r&&((0,a.Z)('"'.concat(e,'" is a protected attribute and can not be changed in feature ').concat(t,". It will have no effect.")),delete r[e])})),this[t]=r}))}catch(e){(0,a.Z)("An error occured while setting a Configurable",e)}}}const c={beacon:i.ce.beacon,errorBeacon:i.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},u={};function d(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!u[e])throw new Error("Info for ".concat(e," was never set"));return u[e]}function f(e,t){if(!e)throw new Error("All info objects require an agent identifier!");u[e]=new s(t,c),(0,i.Qy)(e,u[e],"info")}const l={allow_bfcache:!1,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0,harvestTimeSeconds:10},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30},session_trace:{enabled:!0,harvestTimeSeconds:10},spa:{enabled:!0,harvestTimeSeconds:10}},h={};function p(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");h[e]=new s(t,l),(0,i.Qy)(e,h[e],"config")}function v(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const m={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},b={};function y(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!b[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return b[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");b[e]=new s(t,m),(0,i.Qy)(e,b[e],"loader_config")}const E=(0,i.mF)().o;var A=r(2053),T=null,O=null;if(navigator.userAgent){var x=navigator.userAgent,S=x.match(/Version\/(S+)s+Safari/);S&&-1===x.indexOf("Chrome")&&-1===x.indexOf("Chromium")&&(T="Safari",O=S[1])}function _(e,t){if(!T)return!1;if(e!==T)return!1;if(!t)return!0;if(!O)return!1;for(var r=O.split("."),n=t.split("."),i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}var I=r(5526),j=r(2374);const N="NRBA_SESSION_ID";function P(){if(!j.il)return null;try{let e;return null===(e=window.sessionStorage.getItem(N))&&(e=(0,I.ky)(16),window.sessionStorage.setItem(N,e)),e}catch(e){return null}}var R=r(8226);const D=e=>({customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:(0,A.yf)(),onerror:void 0,origin:""+j._A.location,ptid:void 0,releaseIds:{},sessionId:1==v(e,"privacy.cookies_enabled")?P():null,xhrWrappable:"function"==typeof j._A.XMLHttpRequest?.prototype?.addEventListener,userAgent:n,version:R.q}),C={};function k(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!C[e])throw new Error("Runtime for ".concat(e," was never set"));return C[e]}function L(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");C[e]=new s(t,D(e)),(0,i.Qy)(e,C[e],"runtime")}function H(e){return function(e){try{const t=d(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},8226:(e,t,r)=>{"use strict";r.d(t,{q:()=>n});const n="1225.PROD"},9557:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(8610);const i={agentIdentifier:""};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},4329:(e,t,r)=>{"use strict";r.d(t,{L:()=>d,R:()=>c});var n=r(3752),i=r(7022),o=r(4045),a=r(2325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=Array.from(s[e]);function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)f(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},3752:(e,t,r)=>{"use strict";r.d(t,{c:()=>f,ee:()=>u});var n=r(6797),i=r(3916),o=r(7022),a=r(6562),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){(u.backlog.api||u.backlog.feature)&&(u.aborted=!0,u.backlog={})}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},p=!1;try{p=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var g={on:b,addEventListener:b,removeEventListener:y,emit:m,get:E,listeners:w,context:v,buffer:A,abort:h,aborted:!1,isBuffering:T,debugId:r,backlog:p?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return g;function v(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function m(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=v(n),s=w(e),d=s.length,f=0;f<d;f++)s[f].apply(a,r);var l=O()[c[e]];return l&&l.push([g,e,r,a]),a}}function b(e,t){n[e]=w(e).concat(t)}function y(e,t){var r=n[e];if(r)for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)}function w(e){return n[e]||[]}function E(t){return f[t]=f[t]||e(g,t)}function A(e,t){var r=O();g.aborted||(0,o.D)(e,(function(e,n){t=t||"feature",c[n]=t,t in r||(r[t]=[])}))}function T(e){return!!O()[c[e]]}function O(){return g.backlog}}(void 0,"globalEE"),c.ee=u)},9252:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(3752).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4045:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(9252);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},8544:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(2374);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];window.addEventListener(e,t,a(r))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];document.addEventListener(e,t,a(r))}},5526:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>a,M:()=>o,Rl:()=>i,ky:()=>s});var n=r(2374);function i(){var e=null,t=0,r=n._A?.crypto||n._A?.msCrypto;function i(){return e?15&e[t++]:16*Math.random()|0}r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var o,a="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",s="",c=0;c<a.length;c++)s+="x"===(o=a[c])?i().toString(16):"y"===o?(o=3&i()|8).toString(16):o;return s}function o(){return s(16)}function a(){return s(32)}function s(e){var t=null,r=0,n=self.crypto||self.msCrypto;n&&n.getRandomValues&&Uint8Array&&(t=n.getRandomValues(new Uint8Array(31)));for(var i=[],o=0;o<e;o++)i.push(a().toString(16));return i.join("");function a(){return t?15&t[r++]:16*Math.random()|0}}},2053:(e,t,r)=>{"use strict";r.d(t,{nb:()=>c,os:()=>u,yf:()=>s,zO:()=>a});var n=r(7145),i=(new Date).getTime(),o=i;function a(){return n.G&&performance.now?Math.round(performance.now()):(i=Math.max((new Date).getTime(),i))-o}function s(){return i}function c(e){o=e}function u(){return o}},7145:(e,t,r)=>{"use strict";r.d(t,{G:()=>n});const n=void 0!==r(2374)._A?.performance?.timing?.navigationStart},6625:(e,t,r)=>{"use strict";r.d(t,{s:()=>c,v:()=>u});var n=r(8283),i=r(9071),o=r(2053),a=r(7145),s=r(2374);let c=!0;function u(e){var t=function(){if(i.I&&i.I<9)return;if(a.G)return c=!1,s._A?.performance?.timing?.navigationStart}();t&&((0,n.B)(e,"starttime",t),(0,o.nb)(t))}},8283:(e,t,r)=>{"use strict";r.d(t,{B:()=>o,L:()=>a});var n=r(2053),i={};function o(e,t,r){void 0===r&&(r=(0,n.zO)()+(0,n.os)()),i[e]=i[e]||{},i[e][t]=r}function a(e,t,r,n){const o=e.sharedContext.agentIdentifier;var a=i[o]?.[r],s=i[o]?.[n];void 0!==a&&void 0!==s&&e.store("measures",t,{value:s-a})}},6368:(e,t,r)=>{"use strict";r.d(t,{e:()=>o});var n=r(2374),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},9548:(e,t,r)=>{"use strict";r.d(t,{T:()=>i});var n=r(2374);const i={isFileProtocol:function(){let e=Boolean("file:"===(0,n.lW)()?.location?.protocol);e&&(i.supportabilityMetricSent=!0);return e},supportabilityMetricSent:!1}},8610:(e,t,r)=>{"use strict";function n(e,t){console&&console.warn&&"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},3916:(e,t,r)=>{"use strict";r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},2374:(e,t,r)=>{"use strict";r.d(t,{_A:()=>o,il:()=>n,lW:()=>a,v6:()=>i});const n=Boolean("undefined"!=typeof window&&window.document),i=Boolean("undefined"!=typeof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator);let o=(()=>{if(n)return window;if(i){if("undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope)return globalThis;if(self instanceof WorkerGlobalScope)return self}throw new Error('New Relic browser agent shutting down due to error: Unable to locate global scope. This is possibly due to code redefining browser global variables like "self" and "window".')})();function a(){return o}},7022:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t){var r=[],i="",o=0;for(i in e)n.call(e,i)&&(r[o]=t(i,e[i]),o+=1);return r}},9226:(e,t,r)=>{"use strict";r.d(t,{$c:()=>u,Ng:()=>d,RR:()=>c});var n=r(6562),i=r(9557),o=r(9548),a=r(8610),s={regex:/^file:\/\/(.*)/,replacement:"file://OBFUSCATED"};class c extends i.w{constructor(e){super(e)}shouldObfuscate(){return u(this.sharedContext.agentIdentifier).length>0}obfuscateString(e){if(!e||"string"!=typeof e)return e;for(var t=u(this.sharedContext.agentIdentifier),r=e,n=0;n<t.length;n++){var i=t[n].regex,o=t[n].replacement||"*";r=r.replace(i,o)}return r}}function u(e){var t=[],r=(0,n.Mt)(e,"obfuscate")||[];return t=t.concat(r),o.T.isFileProtocol()&&t.push(s),t}function d(e){for(var t=!1,r=!1,n=0;n<e.length;n++){"regex"in e[n]?"string"!=typeof e[n].regex&&e[n].regex.constructor!==RegExp&&((0,a.Z)('An obfuscation replacement rule contains a "regex" value with an invalid type (must be a string or RegExp)'),r=!0):((0,a.Z)('An obfuscation replacement rule was detected missing a "regex" value.'),r=!0);var i=e[n].replacement;i&&"string"!=typeof i&&((0,a.Z)('An obfuscation replacement rule contains a "replacement" value with an invalid type (must be a string)'),t=!0)}return!t&&!r}},2650:(e,t,r)=>{"use strict";r.d(t,{K:()=>a,b:()=>o});var n=r(8544);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},6797:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(2053),i=r(2374);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.zO)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},6998:(e,t,r)=>{"use strict";r.d(t,{N:()=>i,e:()=>o});var n=r(8544);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return void(0,n.iz)("visibilitychange",(function(){if(t){if("hidden"!=document.visibilityState)return;e()}e(document.visibilityState)}))}function o(){return"hidden"===document.visibilityState?-1:1/0}},6408:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(2374);function i(){return"function"==typeof n._A?.PerformanceObserver}},7264:(e,t,r)=>{"use strict";r.d(t,{hF:()=>pe,Fp:()=>O,lx:()=>V,ow:()=>Y,ao:()=>te,G8:()=>oe,XV:()=>B,Zw:()=>C,ig:()=>we,em:()=>le,u5:()=>T,QU:()=>G,_L:()=>$,Gm:()=>ee,Lg:()=>ie,gy:()=>M,BV:()=>D,Kf:()=>ye});var n=r(3752),i=r(8683),o=r.n(i),a=r(2374);const s="nr@original";var c=Object.prototype.hasOwnProperty,u=!1;function d(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c<t.length;c++)h(a=e[s=t[c]])||(e[s]=r(a,u?s+n:n,i,s,o))},r.flag=s,r;function r(t,r,n,a,c){return h(t)?t:(r||(r=""),nrWrapper[s]=t,l(t,nrWrapper,e),nrWrapper);function nrWrapper(){var s,u,d,l;try{u=this,s=o()(arguments),d="function"==typeof n?n(s,u):n||{}}catch(t){f([t,"",[s,u,a],d],e)}i(r+"start",[s,u,a],d,c);try{return l=t.apply(u,s)}catch(e){throw i(r+"err",[s,u,e],d,c),e}finally{i(r+"end",[s,u,l],d,c)}}}function i(r,n,i,o){if(!u||t){var a=u;u=!0;try{e.emit(r,n,i,t,o)}catch(t){f([t,r,n,i],e)}u=a}}}function f(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){f([e],r)}for(var n in e)c.call(e,n)&&(t[n]=e[n]);return t}function h(e){return!(e&&e instanceof Function&&e.apply&&!e[s])}function p(e,t){e?.[t]?.[s]&&(e[t]=e[t][s])}var g="fetch-",v=g+"body-",m=["arrayBuffer","blob","json","text","formData"],b=a._A.Request,y=a._A.Response,w="prototype",E="nr@context";const A={};function T(e){const t=x(e);if(!(b&&y&&a._A.fetch))return t;if(A[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=o()(arguments),s={};t.emit(n+"before-start",[r],s),s[E]&&s[E].dt&&(e=s[E].dt);var c=i.apply(this,r);return t.emit(n+"start",[r,e],c),a._A.Promise.resolve(c).then((function(e){return t.emit(n+"end",[null,e],c),e}),(function(e){throw t.emit(n+"end",[e],c),e}))},e[r][s]=i)}return A[t.debugId]=1,m.forEach((e=>{r(b[w],e,v),r(y[w],e,v)})),r(a._A,"fetch",g),t.on(g+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(g+"done",[null,r],n)}else t.emit(g+"done",[e],n)})),t}function O(e){const t=x(e);1==A[t.debugId]?(m.forEach((e=>{p(b[w],e),p(y[w],e)})),p(a._A,"fetch"),A[t.debugId]=1/0):A[t.debugId]--}function x(e){return(e||n.ee).get("fetch")}const S={},_="setTimeout",I="setInterval",j="clearTimeout",N="-start",P="-",R=[_,"setImmediate",I,j,"clearImmediate"];function D(e){const t=k(e);if(S[t.debugId]++)return t;S[t.debugId]=1;var r=d(t);return r.inPlace(a._A,R.slice(0,2),_+P),r.inPlace(a._A,R.slice(2,3),I+P),r.inPlace(a._A,R.slice(3),j+P),t.on(I+N,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(_+N,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}function C(e){const t=k(e);1==S[t.debugId]?(R.forEach((e=>p(a._A,e))),S[t.debugId]=1/0):S[t.debugId]--}function k(e){return(e||n.ee).get("timer")}const L={},H="requestAnimationFrame";function M(e){const t=z(e);if(!a.il||L[t.debugId]++)return t;L[t.debugId]=1;var r=d(t);return r.inPlace(window,[H],"raf-"),t.on("raf-start",(function(e){e[0]=r(e[0],"fn-")})),t}function B(e){const t=z(e);1==L[t.debugId]?(p(window,H),L[t.debugId]=1/0):L[t.debugId]--}function z(e){return(e||n.ee).get("raf")}const F={},U=["pushState","replaceState"];function G(e){const t=q(e);return!a.il||F[t.debugId]++||(F[t.debugId]=1,d(t).inPlace(window.history,U,"-")),t}function V(e){const t=q(e);1==F[t.debugId]?(U.forEach((e=>p(window.history,e))),F[t.debugId]=1/0):F[t.debugId]--}function q(e){return(e||n.ee).get("history")}var W=r(8544);const X={},Z=["appendChild","insertBefore","replaceChild"];function $(e){const t=Q(e);if(!a.il||X[t.debugId])return t;X[t.debugId]=!0;var r=d(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*).([^.]+)/,o=/^(w+)(.|$)(.*)$/;function s(e,t){var r=e.match(o),n=r[1],i=r[3];return i?s(i,t[n]):t[n]}return r.inPlace(Node.prototype,Z,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(a=e.src,c=a.match(n),c?c[1]:null);var a,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,W.m$)(!1)),e.removeEventListener("error",l,(0,W.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,W.m$)(!1)),e.removeEventListener("error",l,(0,W.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,W.m$)(!1)),e.addEventListener("error",l,(0,W.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}function Y(e){const t=Q(e);!0===X[t.debugId]&&(Z.forEach((e=>p(Node.prototype,e))),X[t.debugId]="unwrapped")}function Q(e){return(e||n.ee).get("jsonp")}var J=r(6562);const K={};function ee(e){const t=re(e);if(!a.il||K[t.debugId])return t;K[t.debugId]=!0;var r=d(t),n=J.Yu.MO;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}function te(e){const t=re(e);!0===K[t.debugId]&&(window.MutationObserver=J.Yu.MO,K[t.debugId]="unwrapped")}function re(e){return(e||n.ee).get("mutation")}const ne={};function ie(e){const t=ae(e);if(ne[t.debugId])return t;ne[t.debugId]=!0;var r=n.c,i=d(t),o=J.Yu.PR;return o&&function(){function e(r){var n=t.context(),a=i(r,"executor-",n,null,!1);const s=Reflect.construct(o,[a],e);return t.context(s).getCtx=function(){return n},s}a._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return o.toString()},Object.setPrototypeOf(e,o),["all","race"].forEach((function(r){const n=o[r];e[r]=function(e){let i=!1;e?.forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=o[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=Object.create(o.prototype),e.prototype.constructor=e,e.prototype.then=function(){var e=this,n=r(e);n.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",n,null,!1),s[1]=i(s[1],"cb-",n,null,!1);const u=o.prototype.then.apply(this,s);return n.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}function oe(e){const t=ae(e);!0===ne[t.debugId]&&(a._A.Promise=J.Yu.PR,ne[t.debugId]="unwrapped")}function ae(e){return(e||n.ee).get("promise")}var se=r(3916);const ce={},ue=XMLHttpRequest,de="addEventListener",fe="removeEventListener";function le(e){var t=ge(e);if(ce[t.debugId]++)return t;ce[t.debugId]=1;var r=d(t,!0);function n(e){r.inPlace(e,[de,fe],"-",i)}function i(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.il&&he(document,n),he(a._A,n),he(ue.prototype,n)),t.on(de+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,se.X)(n,"nr@wrapped",(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(fe+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function he(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,de);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}function pe(e){const t=ge(e);1==ce[t.debugId]?([de,fe].forEach((e=>{"object"==typeof document&&he(document,p,e),he(a._A,p,e),he(ue.prototype,p,e)})),ce[t.debugId]=1/0):ce[t.debugId]--}function ge(e){return(e||n.ee).get("events")}var ve=r(8610);const me={},be=["open","send"];function ye(e){var t=e||n.ee;const r=Ee(t);if(me[r.debugId]++)return r;me[r.debugId]=1,le(t);var i=d(r),o=J.Yu.XHR,s=J.Yu.MO,c=J.Yu.PR,u=J.Yu.SI,f="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=a._A.XMLHttpRequest.listeners,g=a._A.XMLHttpRequest=function(e){var t=new o(e);function n(){try{r.emit("new-xhr",[t],t),t.addEventListener(f,m,(0,W.m$)(!1))}catch(e){(0,ve.Z)("An error occured while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}}return this.listeners=p?[...p,n]:[n],this.listeners.forEach((e=>e())),t};function v(e,t){i.inPlace(t,["onreadystatechange"],"fn-",A)}function m(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",A)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,g),g.prototype=o.prototype,i.inPlace(g.prototype,be,"-xhr-",A),r.on("send-xhr-start",(function(e,t){v(e,t),function(e){h.push(e),s&&(b?b.then(E):u?u(E):(y=-y,w.data=y))}(t)})),r.on("open-xhr-start",v),s){var b=c&&c.resolve();if(!u&&!c){var y=1,w=document.createTextNode(y);new s(E).observe(w,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===f||E()}));function E(){for(var e=0;e<h.length;e++)v(0,h[e]);h.length&&(h=[])}function A(e,t){return t}return r}function we(e){const t=Ee(e);1==me[t.debugId]?(pe(t),a._A.XMLHttpRequest=J.Yu.XHR,be.forEach((e=>{p(a._A.XMLHttpRequest.prototype,e)})),me[t.debugId]=1/0):me[t.debugId]--}function Ee(e){return(e||n.ee).get("xhr")}},8675:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(2325).D.ajax},948:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>N});var n=r(6562),i=r(9252),o=r(3916),a=r(2374),s=1,c="nr@id";function u(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===a._A?0:(0,o.X)(e,c,(function(){return s++}))}var d=r(9071);function f(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return JSON.stringify(e).length}catch(e){return}}}var l=r(8544),h=r(2053),p=r(7264),g=r(6368),v=r(5526);class m{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,v.M)(),s=(0,v.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof a._A?.btoa))return null;var s={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(s.d.tk=o),btoa(JSON.stringify(s))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,g.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var b=r(6114),y=r(8675),w=r(2325);function E(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}var A,T,O,x=["load","error","abort","timeout"],S=x.length,_=n.Yu.REQ,I=a._A.XMLHttpRequest,j=new WeakSet;class N extends b.S{constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,y.t,r),E(this,j),(0,n.OP)(e).xhrWrappable&&(this.dt=new m(e),this.handler=(e,t,r,n)=>(0,i.p)(e,t,r,n,this.ee),(0,p.u5)(this.ee),(0,p.Kf)(this.ee),function(e,t,r,i){function o(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){C(t,e)}),(0,l.m$)(!1)),d.I||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,l.m$)(!1))}function s(e){this.params={method:e[0]},D(this,e[1]),this.metrics={}}function c(t,r){var o=(0,n.DL)(e);"xpid"in o&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",o.xpid);var a=i.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function p(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=f(i);a&&(n.txSize=a)}this.startTime=(0,h.zO)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<S;s++)r.addEventListener(x[s],this.listener,(0,l.m$)(!1))}function v(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function m(e,t){var r=""+u(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function b(e,t){var r=""+u(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function y(){this.endTime=(0,h.zO)()}function E(e,r){r instanceof I&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function A(e,r){r instanceof I&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function T(e,t,r){t instanceof I&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,h.zO)()))}function O(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,h.zO)()-this.xhrCbStart,this.onload,r],r)}function j(e){var t,r=e[1]||{};"string"==typeof e[0]?t=e[0]:e[0]&&e[0].url?t=e[0].url:a._A?.URL&&e[0]&&e[0]instanceof URL&&(t=e[0].href),t&&(this.parsedOrigin=(0,g.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if("string"==typeof e[0]||a._A?.URL&&e[0]&&e[0]instanceof URL){var o={};for(var s in r)o[s]=r[s];o.headers=new Headers(r.headers||{}),c(o.headers,n)&&(this.dt=n),e.length>1?e[1]=o:e.push(o)}else e[0]&&e[0].headers&&c(e[0].headers,n)&&(this.dt=n);function c(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function N(e,t){this.params={},this.metrics={},this.startTime=(0,h.zO)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof _?r=i.url:a._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),D(this,r);var o=(""+(i&&i instanceof _&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=f(n.body)||0}function P(e,t){var n;this.endTime=(0,h.zO)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var i={txSize:this.txSize,rxSize:n,duration:(0,h.zO)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,w.D.ajax)}function R(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;i<S;i++)e.removeEventListener(x[i],this.listener,!1);t.aborted||(n.duration=(0,h.zO)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):C(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,w.D.ajax))}}function D(e,t){var r=(0,g.e)(t),n=e.params;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}function C(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?f(e.response):"text"===r||""===r||void 0===r?f(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",o),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",p),t.on("xhr-cb-time",v),t.on("xhr-load-added",m),t.on("xhr-load-removed",b),t.on("xhr-resolved",y),t.on("addEventListener-end",E),t.on("removeEventListener-end",A),t.on("fn-end",O),t.on("fetch-before-start",j),t.on("fetch-start",N),t.on("fn-start",T),t.on("fetch-done",P)}(e,this.ee,this.handler,this.dt),this.abortHandler=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,j,P),this.importAggregator())}}function P(){(0,p.Fp)(this.ee),(0,p.ig)(this.ee),this.abortHandler=void 0}A=N,T="featureName",O=y.t,(T=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(T))in A?Object.defineProperty(A,T,{value:O,enumerable:!0,configurable:!0,writable:!0}):A[T]=O},8322:(e,t,r)=>{"use strict";r.d(t,{A:()=>i,t:()=>n});const n=r(2325).D.jserrors,i="nr@seenError"},9715:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>x});var n,i=r(9252),o=r(2053),a=r(3916),s=r(7264),c=r(8683),u=r.n(c),d=r(3752),f=r(7022),l={};try{n=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(l.console=!0,-1!==n.indexOf("dev")&&(l.dev=!0),-1!==n.indexOf("nr_dev")&&(l.nrDev=!0))}catch(e){}function h(e){try{l.console&&h(e)}catch(e){}}l.nrDev&&d.ee.on("internal-error",(function(e){h(e.stack)})),l.dev&&d.ee.on("fn-err",(function(e,t,r){h(r.stack)})),l.dev&&(h("NR AGENT IN DEVELOPMENT MODE"),h("flags: "+(0,f.D)(l,(function(e,t){return e})).join(", ")));var p=r(6114),g=r(8322),v=r(2325),m=r(2374),b=r(8544),y=r(6562);function w(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}var E,A,T,O=new WeakSet;class x extends p.S{constructor(e,t){var r;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,g.t,n),r=this,w(this,O),this.skipNext=0,this.origOnerror=m._A.onerror;try{this.removeOnAbort=new AbortController}catch(e){}const c=this;c.ee.on("fn-start",(function(e,t,r){c.abortHandler&&(c.skipNext+=1)})),c.ee.on("fn-err",(function(e,t,r){c.abortHandler&&!r[g.A]&&((0,a.X)(r,g.A,(function(){return!0})),this.thrown=!0,I(r,void 0,c.ee))})),c.ee.on("fn-end",(function(){c.abortHandler&&!this.thrown&&c.skipNext>0&&(c.skipNext-=1)})),c.ee.on("internal-error",(function(e){(0,i.p)("ierr",[e,(0,o.zO)(),!0],void 0,v.D.jserrors,c.ee)})),m._A.onerror=function(){return r.origOnerror&&r.origOnerror(...arguments),r.onerrorHandler(...arguments),!1},m._A.addEventListener("unhandledrejection",(e=>{const t=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)return e.message=t+e.message,e;if(void 0===e)return new Error(t);try{return new Error(t+JSON.stringify(e))}catch(e){return new Error(t)}}(e.reason);(0,i.p)("err",[t,(0,o.zO)(),!1,{unhandledPromiseRejection:1}],void 0,v.D.jserrors,this.ee)}),(0,b.m$)(!1,this.removeOnAbort?.signal)),(0,s.gy)(this.ee),(0,s.BV)(this.ee),(0,s.em)(this.ee),(0,y.OP)(e).xhrWrappable&&(0,s.Kf)(this.ee),this.abortHandler=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,O,S),this.importAggregator()}onerrorHandler(e,t,r,n,a){try{this.skipNext?this.skipNext-=1:I(a||new _(e,t,r),!0,this.ee)}catch(e){try{(0,i.p)("ierr",[e,(0,o.zO)(),!0],void 0,v.D.jserrors,this.ee)}catch(e){}}return"function"==typeof this.origOnerror&&this.origOnerror.apply(this,u()(arguments))}}function S(){m._A.onerror=this.origOnerror,this.removeOnAbort?.abort(),(0,s.XV)(this.ee),(0,s.Zw)(this.ee),(0,s.hF)(this.ee),(0,y.OP)(this.agentIdentifier).xhrWrappable&&(0,s.ig)(this.ee),this.abortHandler=void 0}function _(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}function I(e,t,r){var n=t?null:(0,o.zO)();(0,i.p)("err",[e,n],void 0,v.D.jserrors,r)}E=x,A="featureName",T=g.t,(A=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(A))in E?Object.defineProperty(E,A,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[A]=T},6034:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(2325).D.metrics},600:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>O,constants:()=>x});var n=r(9252),i=r(4045),o=r(6114),a=r(2374),s={REACT:"React",ANGULAR:"Angular",ANGULARJS:"AngularJS",BACKBONE:"Backbone",EMBER:"Ember",VUE:"Vue",METEOR:"Meteor",ZEPTO:"Zepto",JQUERY:"Jquery"};function c(){if(!a.il)return[];var e=[];try{(function(){try{if(window.React||window.ReactDOM||window.ReactRedux)return!0;if(document.querySelector("[data-reactroot], [data-reactid]"))return!0;for(var e=document.querySelectorAll("body > div"),t=0;t<e.length;t++)if(Object.keys(e[t]).indexOf("_reactRootContainer")>=0)return!0;return!1}catch(e){return!1}})()&&e.push(s.REACT),function(){try{return!!window.angular||(!!document.querySelector(".ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]")||!!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))}catch(e){return!1}}()&&e.push(s.ANGULARJS),function(){try{return!!(window.hasOwnProperty("ng")&&window.ng.hasOwnProperty("coreTokens")&&window.ng.coreTokens.hasOwnProperty("NgZone"))||!!document.querySelectorAll("[ng-version]").length}catch(e){return!1}}()&&e.push(s.ANGULAR),window.Backbone&&e.push(s.BACKBONE),window.Ember&&e.push(s.EMBER),window.Vue&&e.push(s.VUE),window.Meteor&&e.push(s.METEOR),window.Zepto&&e.push(s.ZEPTO),window.jQuery&&e.push(s.JQUERY)}catch(e){}return e}var u=r(9548),d=r(9226),f=r(8226),l=r(2650),h=r(8544),p=r(6562),g=r(8610);const v={dedicated:Boolean(a._A?.Worker),shared:Boolean(a._A?.SharedWorker),service:Boolean(a._A?.navigator?.serviceWorker)};let m,b,y;var w=r(6034);var E,A,T;class O extends o.S{constructor(e,t){var r;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,w.t,n),r=this,this.singleChecks(),this.eachSessionChecks(),(0,i.X)("record-supportability",(function(){return r.recordSupportability(...arguments)}),this.featureName,this.ee),(0,i.X)("record-custom",(function(){return r.recordCustom(...arguments)}),this.featureName,this.ee),this.importAggregator()}recordSupportability(e,t){var r=["sm",e,{name:e},t];return(0,n.p)("storeMetric",r,null,this.featureName,this.ee),r}recordCustom(e,t){var r=["cm",e,{name:e},t];return(0,n.p)("storeEventMetrics",r,null,this.featureName,this.ee),r}singleChecks(){this.recordSupportability("Generic/Version/".concat(f.q,"/Detected"));const{loaderType:e}=(0,p.OP)(this.agentIdentifier);e&&this.recordSupportability("Generic/LoaderType/".concat(e,"/Detected")),a.il&&(0,l.K)((()=>{c().forEach((e=>{this.recordSupportability("Framework/"+e+"/Detected")}))})),u.T.isFileProtocol()&&(this.recordSupportability("Generic/FileProtocol/Detected"),u.T.supportabilityMetricSent=!0);const t=(0,d.$c)(this.agentIdentifier);t.length>0&&this.recordSupportability("Generic/Obfuscate/Detected"),t.length>0&&!(0,d.Ng)(t)&&this.recordSupportability("Generic/Obfuscate/Invalid"),function(e){if(!m){if(v.dedicated){m=Worker;try{a._A.Worker=r(m,"Dedicated")}catch(e){o(e,"Dedicated")}if(v.shared){b=SharedWorker;try{a._A.SharedWorker=r(b,"Shared")}catch(e){o(e,"Shared")}}else n("Shared");if(v.service){y=navigator.serviceWorker.register;try{a._A.navigator.serviceWorker.register=(t=y,function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return i("Service",r[1]?.type),t.apply(navigator.serviceWorker,r)})}catch(e){o(e,"Service")}}else n("Service");var t;return}n("All")}function r(e,t){return"undefined"==typeof Proxy?e:new Proxy(e,{construct:(e,r)=>(i(t,r[1]?.type),new e(...r))})}function n(t){a.v6||e("Workers/".concat(t,"/Unavailable"))}function i(t,r){e("Workers/".concat(t,"module"===r?"/Module":"/Classic"))}function o(t,r){e("Workers/".concat(r,"/SM/Unsupported")),(0,g.Z)("NR Agent: Unable to capture ".concat(r," workers."),t)}}(this.recordSupportability.bind(this))}eachSessionChecks(){a.il&&(0,h.bP)("pageshow",(e=>{e.persisted&&this.recordSupportability("Generic/BFCache/PageRestored")}))}}E=O,A="featureName",T=w.t,(A=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(A))in E?Object.defineProperty(E,A,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[A]=T;var x={SUPPORTABILITY_METRIC:"sm",CUSTOM_METRIC:"cm"}},6486:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(2325).D.pageAction},488:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>c});var n,i,o,a=r(6114),s=r(6486);class c extends a.S{constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,s.t,r),this.importAggregator()}}n=c,i="featureName",o=s.t,(i=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o},2484:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(2325).D.pageViewEvent},5637:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>g});var n,i,o,a=r(9252),s=r(2053),c=r(8283),u=r(6625),d=r(6114),f=r(2650),l=r(2484),h=r(2325),p=r(2374);class g extends d.S{constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,l.t,r),p.il&&((0,u.v)(e),(0,c.B)(e,"firstbyte",(0,s.yf)()),(0,f.K)((()=>this.measureDomContentLoaded())),(0,f.b)((()=>this.measureWindowLoaded()),!0),this.importAggregator())}measureWindowLoaded(){var e=(0,s.zO)();(0,c.B)(this.agentIdentifier,"onload",e+(0,s.os)()),(0,a.p)("timing",["load",e],void 0,h.D.pageViewTiming,this.ee)}measureDomContentLoaded(){(0,c.B)(this.agentIdentifier,"domContent",(0,s.zO)()+(0,s.os)())}}n=g,i="featureName",o=l.t,(i=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o},6382:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(2325).D.pageViewTiming},7817:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>g});var n,i,o,a=r(9252),s=r(6998),c=r(8544),u=r(2053),d=r(6562),f=r(6114),l=r(6382),h=r(2325),p=r(2374);class g extends f.S{constructor(e,t){var r;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,l.t,n),r=this,p.il){if(this.pageHiddenTime=(0,s.e)(),this.performanceObserver,this.lcpPerformanceObserver,this.clsPerformanceObserver,this.fiRecorded=!1,"PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){this.performanceObserver=new PerformanceObserver((function(){return r.perfObserver(...arguments)}));try{this.performanceObserver.observe({entryTypes:["paint"]})}catch(e){}this.lcpPerformanceObserver=new PerformanceObserver((function(){return r.lcpObserver(...arguments)}));try{this.lcpPerformanceObserver.observe({entryTypes:["largest-contentful-paint"]})}catch(e){}this.clsPerformanceObserver=new PerformanceObserver((function(){return r.clsObserver(...arguments)}));try{this.clsPerformanceObserver.observe({type:"layout-shift",buffered:!0})}catch(e){}}this.fiRecorded=!1;["click","keydown","mousedown","pointerdown","touchstart"].forEach((e=>{(0,c.iz)(e,(function(){return r.captureInteraction(...arguments)}))})),(0,s.N)((()=>{this.pageHiddenTime=(0,u.zO)(),(0,a.p)("docHidden",[this.pageHiddenTime],void 0,h.D.pageViewTiming,this.ee)}),!0),(0,c.bP)("pagehide",(()=>(0,a.p)("winPagehide",[(0,u.zO)()],void 0,h.D.pageViewTiming,this.ee))),this.importAggregator()}}perfObserver(e,t){e.getEntries().forEach((e=>{"first-paint"===e.name?(0,a.p)("timing",["fp",Math.floor(e.startTime)],void 0,h.D.pageViewTiming,this.ee):"first-contentful-paint"===e.name&&(0,a.p)("timing",["fcp",Math.floor(e.startTime)],void 0,h.D.pageViewTiming,this.ee)}))}lcpObserver(e,t){var r=e.getEntries();if(r.length>0){var n=r[r.length-1];if(this.pageHiddenTime<n.startTime)return;var i=[n],o=this.addConnectionAttributes({});o&&i.push(o),(0,a.p)("lcp",i,void 0,h.D.pageViewTiming,this.ee)}}clsObserver(e){e.getEntries().forEach((e=>{e.hadRecentInput||(0,a.p)("cls",[e],void 0,h.D.pageViewTiming,this.ee)}))}addConnectionAttributes(e){var t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(t)return t.type&&(e["net-type"]=t.type),t.effectiveType&&(e["net-etype"]=t.effectiveType),t.rtt&&(e["net-rtt"]=t.rtt),t.downlink&&(e["net-dlink"]=t.downlink),e}captureInteraction(e){if(e instanceof d.Yu.EV&&!this.fiRecorded){var t=Math.round(e.timeStamp),r={type:e.type};this.addConnectionAttributes(r),t<=(0,u.zO)()?r.fid=(0,u.zO)()-t:t>(0,u.os)()&&t<=Date.now()?(t-=(0,u.os)(),r.fid=(0,u.zO)()-t):t=(0,u.zO)(),this.fiRecorded=!0,(0,a.p)("timing",["fi",t,r],void 0,h.D.pageViewTiming,this.ee)}}}n=g,i="featureName",o=l.t,(i=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o},2628:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ADD_EVENT_LISTENER:()=>g,BST_RESOURCE:()=>a,BST_TIMER:()=>l,END:()=>u,FEATURE_NAME:()=>i,FN_END:()=>f,FN_START:()=>d,ORIG_EVENT:()=>p,PUSH_STATE:()=>h,RESOURCE:()=>s,RESOURCE_TIMING_BUFFER_FULL:()=>o,START:()=>c});var n=r(6562);const i=r(2325).D.sessionTrace,o="resourcetimingbufferfull",a="bstResource",s="resource",c="-start",u="-end",d="fn"+c,f="fn"+u,l="bstTimer",h="pushState",p=n.Yu.EV,g="addEventListener"},6649:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>N});var n=r(9252),i=r(7264),o=r(6408),a=r(8544),s=r(2053),c=r(6114),u=r(2628),d=r(2325),f=r(2374);function l(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}const{BST_RESOURCE:h,BST_TIMER:p,END:g,FEATURE_NAME:v,FN_END:m,FN_START:b,ADD_EVENT_LISTENER:y,PUSH_STATE:w,RESOURCE:E,RESOURCE_TIMING_BUFFER_FULL:A,START:T,ORIG_EVENT:O}=u,x="clearResourceTimings";var S,_,I,j=new WeakSet;class N extends c.S{constructor(e,t){if(super(e,t,v,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),l(this,j),!f.il)return;const r=this.ee;this.timerEE=(0,i.BV)(r),this.rafEE=(0,i.gy)(r),(0,i.QU)(r),(0,i.em)(r),r.on(b,(function(e,t){e[0]instanceof O&&(this.bstStart=(0,s.zO)())})),r.on(m,(function(e,t){var i=e[0];i instanceof O&&(0,n.p)("bst",[i,t,this.bstStart,(0,s.zO)()],void 0,d.D.sessionTrace,r)})),this.timerEE.on(b,(function(e,t,r){this.bstStart=(0,s.zO)(),this.bstType=r})),this.timerEE.on(m,(function(e,t){(0,n.p)(p,[t,this.bstStart,(0,s.zO)(),this.bstType],void 0,d.D.sessionTrace,r)})),this.rafEE.on(b,(function(){this.bstStart=(0,s.zO)()})),this.rafEE.on(m,(function(e,t){(0,n.p)(p,[t,this.bstStart,(0,s.zO)(),"requestAnimationFrame"],void 0,d.D.sessionTrace,r)})),r.on(w+T,(function(e){this.time=(0,s.zO)(),this.startPath=location.pathname+location.hash})),r.on(w+g,(function(e){(0,n.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,d.D.sessionTrace,r)})),(0,o.W)()?((0,n.p)(h,[window.performance.getEntriesByType("resource")],void 0,d.D.sessionTrace,r),function(){var e=new PerformanceObserver(((e,t)=>{var i=e.getEntries();(0,n.p)(h,[i],void 0,d.D.sessionTrace,r)}));try{e.observe({entryTypes:["resource"]})}catch(e){}}()):window.performance[x]&&window.performance[y]&&window.performance.addEventListener(A,this.onResourceTimingBufferFull,(0,a.m$)(!1)),document.addEventListener("scroll",this.noOp,(0,a.m$)(!1)),document.addEventListener("keypress",this.noOp,(0,a.m$)(!1)),document.addEventListener("click",this.noOp,(0,a.m$)(!1)),this.abortHandler=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,j,P),this.importAggregator()}noOp(e){}onResourceTimingBufferFull(e){if((0,n.p)(h,[window.performance.getEntriesByType(E)],void 0,d.D.sessionTrace,this.ee),window.performance[x])try{window.performance.removeEventListener(A,this.onResourceTimingBufferFull,!1)}catch(e){}}}function P(){window.performance.removeEventListener(A,this.onResourceTimingBufferFull,!1),(0,i.Zw)(this.ee),(0,i.XV)(this.ee),(0,i.lx)(this.ee),(0,i.hF)(this.ee),this.abortHandler=void 0}S=N,I=v,(_=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(_="featureName"))in S?Object.defineProperty(S,_,{value:I,enumerable:!0,configurable:!0,writable:!0}):S[_]=I},755:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BODY:()=>A,CB_END:()=>T,CB_START:()=>u,END:()=>E,FEATURE_NAME:()=>i,FETCH:()=>x,FETCH_BODY:()=>m,FETCH_DONE:()=>v,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>O,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(6562);r(2374);const i=r(2325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",p="jsonpNode",g="fetch-start",v="fetch-done",m="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",E="-end",A="-body",T="cb"+E,O="jsTime",x="fetch"},227:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Instrument:()=>x});var n=r(7264),i=r(8544),o=r(6114),a=r(6562),s=r(2053),c=r(755),u=r(2374);function d(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}const{FEATURE_NAME:f,START:l,END:h,BODY:p,CB_END:g,JS_TIME:v,FETCH:m,FN_START:b,CB_START:y,FN_END:w}=c;var E,A,T,O=new WeakSet;class x extends o.S{constructor(e,t){if(super(e,t,f,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),d(this,O),!u.il)return;if(!(0,a.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,o=0;const c=this.ee.get("tracer"),E=(0,n._L)(this.ee),A=(0,n.Lg)(this.ee),T=(0,n.BV)(this.ee),x=(0,n.Kf)(this.ee),_=this.ee.get("events"),I=(0,n.u5)(this.ee),j=(0,n.QU)(this.ee),N=(0,n.Gm)(this.ee);function P(e,t){j.emit("newURL",[""+window.location,t])}function R(){o++,r=window.location.hash,this[b]=(0,s.zO)()}function D(){o--,window.location.hash!==r&&P(0,!0);var e=(0,s.zO)();this[v]=~~this[v]+e-this[b],this[w]=e}function C(e,t){e.on(t,(function(){this[t]=(0,s.zO)()}))}this.ee.on(b,R),A.on(y,R),E.on(y,R),this.ee.on(w,D),A.on(g,D),E.on(g,D),this.ee.buffer([b,w,"xhr-resolved"],this.featureName),_.buffer([b],this.featureName),T.buffer(["setTimeout"+h,"clearTimeout"+l,b],this.featureName),x.buffer([b,"new-xhr","send-xhr"+l],this.featureName),I.buffer([m+l,m+"-done",m+p+l,m+p+h],this.featureName),j.buffer(["newURL"],this.featureName),N.buffer([b],this.featureName),A.buffer(["propagate",y,g,"executor-err","resolve"+l],this.featureName),c.buffer([b,"no-"+b],this.featureName),E.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),C(I,m+l),C(I,m+"-done"),C(E,"new-jsonp"),C(E,"jsonp-end"),C(E,"cb-start"),j.on("pushState-end",P),j.on("replaceState-end",P),window.addEventListener("hashchange",P,(0,i.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",P,(0,i.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){P(0,o>1)}),(0,i.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,O,S),this.importAggregator()}}function S(){this.removeOnAbort?.abort(),(0,n.ow)(this.ee),(0,n.G8)(this.ee),(0,n.Zw)(this.ee),(0,n.ig)(this.ee),(0,n.Fp)(this.ee),(0,n.lx)(this.ee),(0,n.ao)(this.ee),this.abortHandler=void 0}E=x,T=f,(A=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(A="featureName"))in E?Object.defineProperty(E,A,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[A]=T},1509:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(6562),i=r(3752),o=r(2384),a=r(6797);class s{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1,this.checkConfiguration()}checkConfiguration(){if(!(0,n.lF)(this.agentIdentifier)){let e={...(0,a.gG)().info?.jsAttributes};try{e={...e,...(0,n.C5)(this.agentIdentifier)?.jsAttributes}}catch(e){}(0,o.j)(this.agentIdentifier,{...(0,a.gG)(),info:{...(0,a.gG)().info,jsAttributes:e}})}}}},6114:(e,t,r)=>{"use strict";r.d(t,{S:()=>c});var n=r(4329),i=r(1509),o=r(2650),a=r(2374),s=r(8610);class c extends i.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.hasAggregator=!1,this.auto=i,this.abortHandler,i&&(0,n.R)(e,r)}importAggregator(){if(this.hasAggregator||!this.auto)return;this.hasAggregator=!0;const e=async()=>{try{const{lazyLoader:e}=await r.e(729).then(r.bind(r,8110)),{Aggregate:t}=await e(this.featureName,"aggregate");new t(this.agentIdentifier,this.aggregator)}catch(e){(0,s.Z)("Downloading ".concat(this.featureName," failed...")),this.abortHandler?.()}};a.v6?e():(0,o.b)((()=>e()),!0)}}},2384:(e,t,r)=>{"use strict";r.d(t,{j:()=>y});var n=r(8683),i=r.n(n),o=r(2325),a=r(6562),s=r(9252),c=r(7022),u=r(3752),d=r(2053),f=r(4329),l=r(2650),h=r(2374),p=r(8610);function g(e){["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&e.api[t](...n)}))}(t,...n)}}))}var v=r(6797);const m={stn:o.D.sessionTrace,err:o.D.jserrors,ins:o.D.pageAction,spa:o.D.spa};const b={};function y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:w,info:E,loader_config:A,runtime:T={loaderType:n},exposed:O=!0}=t;const x=(0,v.gG)();let S={};return E||(w=x.init,E=x.info,A=x.loader_config,S=x),h.v6&&(E.jsAttributes={...E.jsAttributes,isWorker:!0}),(0,a.CX)(e,E),(0,a.Dg)(e,w||{}),(0,a.GE)(e,A||{}),(0,a.sU)(e,T),function(e,t,n){n||(0,f.R)(e,"api"),g(t);var v=u.ee.get(e),m=v.get("tracer"),b="api-",y=b+"ixn-";function w(){}(0,c.D)(["setErrorHandler","finished","addToTrace","inlineHit","addRelease"],(function(e,r){t[r]=A(b,r,!0,"api")})),t.addPageAction=A(b,"addPageAction",!0,o.D.pageAction),t.setCurrentRouteName=A(b,"routeName",!0,o.D.spa),t.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,a.OP)(e).customTransaction=(r||"http://custom.transaction")+t,A(b,"setPageViewName",!0,"api")()},t.setCustomAttribute=function(t,r){const n=(0,a.C5)(e);return(0,a.CX)(e,{...n,jsAttributes:{...n.jsAttributes,[t]:r}}),A(b,"setCustomAttribute",!0,"api")()},t.interaction=function(){return(new w).get()};var E=w.prototype={createTracer:function(e,t){var r={},n=this,i="function"==typeof t;return(0,s.p)(y+"tracer",[(0,d.zO)(),e,r],n,o.D.spa,v),function(){if(m.emit((i?"":"no-")+"fn-start",[(0,d.zO)(),n,i],r),i)try{return t.apply(this,arguments)}catch(e){throw m.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{m.emit("fn-end",[(0,d.zO)()],r)}}}};function A(e,t,r,n){return function(){return(0,s.p)("record-supportability",["API/"+t+"/called"],void 0,o.D.metrics,v),(0,s.p)(e+t,[(0,d.zO)()].concat(i()(arguments)),r?null:this,n,v),r?void 0:this}}function T(){r.e(439).then(r.bind(r,5692)).then((t=>{let{setAPI:r}=t;r(e),(0,f.L)(e,"api")})).catch((()=>(0,p.Z)("Downloading runtime APIs failed...")))}(0,c.D)("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),(function(e,t){E[t]=A(y,t,void 0,o.D.spa)})),t.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,s.p)("record-supportability",["API/noticeError/called"],void 0,o.D.metrics,v),(0,s.p)("err",[e,(0,d.zO)(),!1,t],void 0,o.D.jserrors,v)},h.v6?T():(0,l.b)((()=>T()),!0)}(e,S,y),(0,v.Qy)(e,x,"api"),(0,v.Qy)(e,O,"exposed"),h.v6||((0,v.EZ)("activatedFeatures",b),(0,v.EZ)("setToken",(t=>function(e,t){var r=u.ee.get(t);e&&"object"==typeof e&&((0,c.D)(e,(function(e,t){if(!t)return(0,s.p)("block-"+e,[],void 0,m[e],r);t&&!b[e]&&((0,s.p)("feat-"+e,[],void 0,m[e],r),b[e]=!0)})),(0,f.L)(t,o.D.pageViewEvent))}(t,e)))),S}},909:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i,q:()=>o});var n=r(2325);function i(e){switch(e){case n.D.ajax:return[n.D.jserrors];case n.D.sessionTrace:return[n.D.ajax,n.D.pageViewEvent];case n.D.pageViewTiming:return[n.D.pageViewEvent];default:return[]}}function o(e){return e===n.D.jserrors?[]:["auto"]}},2325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8}},8683:e=>{e.exports=function(e,t,r){t||(t=0),void 0===r&&(r=e?e.length:0);for(var n=-1,i=r-t||0,o=Array(i<0?0:i);++n<i;)o[n]=e[t+n];return o}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",193:"session_trace-aggregate",225:"ajax-instrument",317:"jserrors-aggregate",348:"page_view_timing-aggregate",439:"async-api",578:"jserrors-instrument",729:"lazy-loader",757:"session_trace-instrument",786:"page_view_event-aggregate",873:"spa-aggregate",876:"spa-instrument",898:"ajax-aggregate",908:"page_action-instrument"}[e]||e)+"."+{78:"92657d87",118:"d37755e4",147:"b4a54ed9",193:"94c80cda",225:"1e8aaf7f",264:"bcaf68fc",317:"ef250e1c",348:"e791ce32",439:"6bb277af",578:"1eaebfa5",729:"48127245",757:"64f1d623",786:"29613e65",873:"6bec5056",876:"f3685aa9",898:"fc672923",908:"64360627"}[e]+"-1225.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var f=u[d];if(f.getAttribute("src")==r||f.getAttribute("data-webpack")==t+o){s=f;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r),e[r]=[n];var l=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={570:0,939:0,225:0,578:0,908:0,757:0,876:0,264:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=window.webpackChunkNRBA=window.webpackChunkNRBA||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var o={};(()=>{"use strict";i.r(o);var e=i(2325),t=i(6562);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(2384),s=i(909),c=i(9557),u=i(7022);class d extends c.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,u.D)(e,(function(e,r){t[e]=f(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,u.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=f(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=l(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=f(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=h(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function f(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=l(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function l(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function h(e){return"object"!=typeof e?[]:(0,u.D)(e,p)}function p(e,t){return t}var g=i(6797),v=i(5526),m=i(8610);var b=i(5637),y=i(7817),w=i(600),E=i(9715),A=i(948),T=i(6649),O=i(227),x=i(488);new class{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,v.ky)(16);this.agentIdentifier=r,this.sharedAggregator=new d({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=t.features||[],this.desiredFeatures.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),Object.assign(this,(0,a.j)(this.agentIdentifier,t,t.loaderType||"agent")),this.start()}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const e="features";try{const t=n(this.agentIdentifier);this.desiredFeatures.forEach((e=>{if(t[e.featureName]){const r=(0,s.Z)(e.featureName);r.every((e=>t[e]))||(0,m.Z)("".concat(e.featureName," is enabled but one or more dependent features has been disabled (").concat(JSON.stringify(r),"). This may cause unintended consequences or missing data...")),this.features[e.featureName]=new e(this.agentIdentifier,this.sharedAggregator)}})),(0,g.Qy)(this.agentIdentifier,this.features,e)}catch(t){(0,m.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,g.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[e],delete this.sharedAggregator,delete r.ee?.get(this.agentIdentifier),!1}}}({features:[A.Instrument,b.Instrument,y.Instrument,T.Instrument,w.Instrument,x.Instrument,E.Instrument,O.Instrument],loaderType:"spa"})})(),window.NRBA=o})();</script><link rel="preload" href="/_next/static/css/0e8ee6a1f22d8e80.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0e8ee6a1f22d8e80.css" data-n-g=""/><link rel="preload" href="/_next/static/css/9a1e608bc39effcb.css" as="style"/><link rel="stylesheet" href="/_next/static/css/9a1e608bc39effcb.css" data-n-p=""/><link rel="preload" href="/_next/static/css/34b1e7492b738801.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34b1e7492b738801.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="https://cdn.cookielaw.org/consent/b25bc602-c497-4160-8d7a-f89396557307/OtAutoBlock.js" defer="" data-nscript="beforeInteractive"></script><script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" data-domain-script="b25bc602-c497-4160-8d7a-f89396557307" defer="" data-nscript="beforeInteractive"></script><script src="/_next/static/chunks/webpack-4e610eb0f917ff38.js" defer=""></script><script src="/_next/static/chunks/framework-8d83868bf6469d6b.js" defer=""></script><script src="/_next/static/chunks/main-5e552f258b618bee.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3ddff3287ed94674.js" defer=""></script><script src="/_next/static/chunks/3916-da6496c3eed57003.js" defer=""></script><script src="/_next/static/chunks/9985-cdc10fb347004983.js" defer=""></script><script src="/_next/static/chunks/7822-ec44055e998eab68.js" defer=""></script><script src="/_next/static/chunks/7793-506f2efda225d643.js" defer=""></script><script src="/_next/static/chunks/3375-23e6147981031bb5.js" defer=""></script><script src="/_next/static/chunks/706-9fbb7dadfe0f1411.js" defer=""></script><script src="/_next/static/chunks/2141-7b9cc3123daccfe5.js" defer=""></script><script src="/_next/static/chunks/409-593f5f56774c1392.js" defer=""></script><script src="/_next/static/chunks/280-2b93a2748d215cc6.js" defer=""></script><script src="/_next/static/chunks/9186-25d78360a3a0d76e.js" defer=""></script><script src="/_next/static/chunks/9003-74fa6cedffb40e1a.js" defer=""></script><script src="/_next/static/chunks/pages/fr-54d77a5e48c80e5e.js" defer=""></script><script src="/_next/static/loO8e17ShdS5zsbahNE-a/_buildManifest.js" defer=""></script><script src="/_next/static/loO8e17ShdS5zsbahNE-a/_ssgManifest.js" defer=""></script></head><body><div id="__next"><sbb-skiplink-list><sbb-block-link href="#main">Vers le contenu</sbb-block-link><sbb-block-link href="https://www.sbb.ch/fr/aide-et-contact.html">Vers aide et contact</sbb-block-link></sbb-skiplink-list><div class="flex min-h-screen flex-col"><div style="min-height:var(--sbb-header-height);--webshop-search-z-index:60;--webshop-nav-z-index:60;--sbb-header-z-index:55"><sbb-header class="hidden-until-defined" hide-on-scroll=""><sbb-header-button id="nav-trigger" icon-name="hamburger-menu-small" expand-from="small" data-testid="menuopen" aria-label="Menu">Menu</sbb-header-button><div class="sbb-header-spacer hidden lg:block"> </div><sbb-header-button icon-name="magnifying-glass-small" data-testid="search">Recherche</sbb-header-button><sbb-header-button icon-name="user-small" data-testid="login" class="sbb-header-shrinkable">Se connecter</sbb-header-button><sbb-header-button icon-name="globe-small" id="language-menu-trigger" class="hidden md:block" data-testid="langmenu">Français</sbb-header-button><sbb-menu trigger="language-menu-trigger"><ul><li><sbb-menu-button aria-label="" icon-name="" type="button" data-testid="language-de">Deutsch</sbb-menu-button></li><li><sbb-menu-button aria-label="Langue actuelle: Français" icon-name="tick-small" type="button" data-testid="language-fr">Français</sbb-menu-button></li><li><sbb-menu-button aria-label="" icon-name="" type="button" data-testid="language-it">Italiano</sbb-menu-button></li><li><sbb-menu-button aria-label="" icon-name="" type="button" data-testid="language-en">English</sbb-menu-button></li></ul></sbb-menu><a aria-label="À la page d'accueil CFF" slot="logo" href="/fr"><sbb-logo data-testid="logo" protective-room="none"></sbb-logo></a></sbb-header><sbb-navigation trigger="nav-trigger" data-testid="menuclose" style="z-index:var(--webshop-nav-z-index)"><sbb-navigation-marker id="navMarker"></sbb-navigation-marker><sbb-navigation-marker size="s" class="md:hidden"><sbb-navigation-button aria-label="" size="s" class="">Deutsch</sbb-navigation-button><sbb-navigation-button aria-label="Langue actuelle: Français" size="s" class="sbb-active">Français</sbb-navigation-button><sbb-navigation-button aria-label="" size="s" class="">Italiano</sbb-navigation-button><sbb-navigation-button aria-label="" size="s" class="">English</sbb-navigation-button></sbb-navigation-marker></sbb-navigation></div><main id="main" class="flex flex-1 flex-col"><section class="flex-1 pb-l"><div class="relative"><sbb-container color="transparent" class="relative transition-colors duration-500"><section class="sbb-grid-only pt-m"><h1 class="sr-only">CFF.ch – Tout pour votre mobilité</h1><h2 class="sr-only">Horaire et achat de billets</h2><div id="form" class="sbb-common-grid-element"><div class=" "><div class="hidden-outline relative z-20 flex items-center justify-center"><fieldset class="w-full min-w-fit grid-cols-2"><div class="rounded-8 shadow-5h "><div class="relative z-20 overflow-hidden rounded-8 bg-white"><div class="absolute inset-y-7 left-3 ml-xxxs w-px -translate-x-px bg-charcoal"></div><div class="[&:focus-within+*]:opacity-0"><div class="relative text-smoke" data-input-wrapper="true"><div class="flex items-center"><div class="relative flex w-full items-center pl-xxxs"><div class="flex w-6 justify-center"><div class="flex size-[13px] flex-none items-center justify-center rounded-full border border-charcoal bg-white"><div class="size-[7px] translate-x-[0.1px] rounded-full border border-charcoal"></div></div></div><div class="relative ml-xxxs w-full [&:focus-within+[data-clear]]:pointer-events-auto [&:focus-within+[data-clear]]:opacity-100 [&:focus-within>[data-extended-focus]]:block"><div class="sbb-focus-outline extended-focus pointer-events-none absolute inset-y-2 -left-2 right-2 hidden rounded" data-extended-focus="true"></div><input autoComplete="off" id="De0" aria-autocomplete="list" aria-describedby="input_status" role="combobox" aria-expanded="false" aria-controls="form-dropdown" data-stop-input="0" data-name="input-field" data-testid="form-stop-input" aria-owns="form-dropdown" class="w-full border-b border-cloud false h-14 text-ellipsis rounded-none pb-1 pr-12 pt-6 text-m leading-7 text-charcoal outline-none focus:text-clip md:h-16 md:pb-3 md:pt-7" type="text" value=""/><label for="De0" class="label pointer-events-none absolute left-0 top-3.5 text-m text-metal md:top-4 fields_label__R5Xno ">De<!-- --> <!-- --> <!-- --> </label></div></div></div></div><div class="relative text-smoke" data-input-wrapper="true"><div class="flex items-center"><div class="relative flex w-full items-center pl-xxxs"><div class="flex w-6 justify-center"><div class="flex size-[13px] flex-none items-center justify-center rounded-full border border-charcoal bg-white"><div class="size-[7px] translate-x-[0.1px] rounded-full border border-charcoal"></div></div></div><div class="relative ml-xxxs w-full [&:focus-within+[data-clear]]:pointer-events-auto [&:focus-within+[data-clear]]:opacity-100 [&:focus-within>[data-extended-focus]]:block"><div class="sbb-focus-outline extended-focus pointer-events-none absolute inset-y-2 -left-2 right-2 hidden rounded" data-extended-focus="true"></div><input autoComplete="off" id="À1" aria-autocomplete="list" aria-describedby="input_status" role="combobox" aria-expanded="false" aria-controls="form-dropdown" data-stop-input="1" data-name="input-field" data-testid="form-stop-input" aria-owns="form-dropdown" class="w-full border-b border-white h-14 text-ellipsis rounded-none pb-1 pr-12 pt-6 text-m leading-7 text-charcoal outline-none focus:text-clip md:h-16 md:pb-3 md:pt-7" type="text" value=""/><label for="À1" class="label pointer-events-none absolute left-0 top-3.5 text-m text-metal md:top-4 fields_label__R5Xno ">À<!-- --> <!-- --> <!-- --> </label></div></div></div></div></div><sbb-secondary-button size="l" aria-label="Échanger de et à" icon-name="arrow-change-small" class="absolute right-xxs top-9 z-10 "></sbb-secondary-button></div><div class="relative z-10"><div class=" absolute transition-all hidden-outline z-10 -mt-4 w-full rounded-b-8 bg-white shadow-5h timetable-form_dropdown__c3dhU false"></div></div><hr aria-hidden="true" class="relative z-20 -mt-px border-cloud"/><div class="false -mt-7 flex flex-wrap overflow-hidden rounded-b-8 bg-white pt-7 text-m"><div class="w-full sm:-ml-1 sm:w-fit flex h-14 items-center bg-red/0 md:h-16 "><div class="flex h-14 items-center xs:px-xxxs "><div class="h-5 w-6 "></div></div><sbb-form-field class="fields_sbbFormField__tqScd ml-[-13px] xs:ml-[-7px] sm:-ml-1.5 md:w-[229px]" width="collapse" borderless="" style="--sbb-form-field-padding-inline:2px"><sbb-datepicker-previous-day date-picker="datepicker" class="hidden sm:block" data-testid="date-picker-prev-button"></sbb-datepicker-previous-day><sbb-mini-button id="date-button" data-testid="date-toggle" slot="prefix" icon-name="calendar-small" aria-label="Afficher le calendrier" aria-haspopup="dialog" aria-expanded="false" style="--sbb-link-color-normal:var(currentColor)"></sbb-mini-button><input data-testid="date-input" aria-describedby="date-error" type="text" id="datepicker-input" aria-label="Date" class=" h-7.5 w-[125px] sm:w-[116px] md:h-8 md:w-[135px] "/><sbb-datepicker-next-day date-picker="datepicker" class="hidden sm:block" data-testid="date-picker-next-button"></sbb-datepicker-next-day><sbb-datepicker id="datepicker" input="datepicker-input" wide=""></sbb-datepicker></sbb-form-field></div><div class="flex h-14 items-center px-xxxs md:h-16 hidden sm:flex sm:px-[8px] lg:px-[8px] xl:ml-0 "><div class="h-5 w-px bg-cloud"></div></div><hr aria-hidden="true" class="z-1 relative w-full flex-none border-cloud pr-xxxs xs:ml-11 sm:ml-0 sm:hidden"/><div class=" flex h-14 items-center bg-red/0 md:h-16 "><div class="flex h-14 items-center xs:px-xxxs -ml-2.5 xs:-ml-1 sm:hidden"><div class="h-5 w-6 "></div></div><sbb-form-field class="fields_sbbFormField__tqScd" width="collapse" borderless="" style="--sbb-form-field-padding-inline:2px"><input required="" id="input-id" aria-describedby="time-error" type="text" aria-label="Heure" data-testid="time-input"/><sbb-time-input input="input-id" class="h-5 md:h-6 "></sbb-time-input></sbb-form-field></div><hr aria-hidden="true" class="z-1 relative w-full flex-none border-cloud pr-xxxs xs:ml-11 sm:ml-0 hidden sm:hidden"/><div class=" flex h-14 items-center bg-red/0 md:h-16 "><sbb-toggle size="s" value="DEPARTURE"><sbb-toggle-option aria-label="Dép." value="DEPARTURE">Dép.</sbb-toggle-option><sbb-toggle-option aria-label="Arr." value="ARRIVAL">Arr.</sbb-toggle-option></sbb-toggle></div><div class="flex h-14 items-center px-xxxs md:h-16 ml-auto"><div class="h-5 w-px bg-cloud"></div></div><div class=" flex h-14 items-center bg-red/0 md:h-16 "><sbb-block-link-button size="m" aria-label="Paramètres" class="relative mr-xxs w-fit" style="--sbb-link-color-normal:currentColor" data-testid="globalsettings"><sbb-icon name="controls-small"></sbb-icon><span class="hidden md:ml-1 md:block lg:hidden xl:block">Paramètres</span></sbb-block-link-button></div></div></div></fieldset></div></div><sbb-dialog><sbb-dialog-title level="2">Choisir la date</sbb-dialog-title><sbb-dialog-content><sbb-calendar class="w-full" selected="2024-11-13"></sbb-calendar></sbb-dialog-content></sbb-dialog></div><div class="sbb-page-spacing absolute inset-x-0 top-0 bg-red pt-m"><div class="h-14 md:h-16"></div><div class="h-14 md:h-16"></div></div></section><sbb-dialog class="z-60"><sbb-dialog-title level="2">Paramètres</sbb-dialog-title><sbb-dialog-content></sbb-dialog-content><sbb-dialog-actions align-group="stretch" orientation="vertical" horizontal-from="medium"><sbb-block-link size="s" class="self-center" accessibility-label="Réinitialiser" data-testid="resetButton" icon-name="arrow-circle-small">Réinitialiser</sbb-block-link><sbb-button size="m" aria-label="Appliquer" data-testid="applyButton">Appliquer</sbb-button></sbb-dialog-actions></sbb-dialog></sbb-container><sbb-container color="transparent" class="relative"><section class="sbb-grid-only"><div class="sbb-common-grid-element z-100 relative mt-6"><sbb-block-link size="s" class="inline-block" icon-name="circle-information-small" href="https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/situation-exploitation-perturbations.html">Situation de la circulation<sbb-icon name="chevron-small-right-small"></sbb-icon></sbb-block-link></div><div role="status" class="sbb-common-grid-element"></div></section></sbb-container><span data-testid="product-teaser"><div style="height:800px" class="relative"><div class="absolute inset-0 pt-xl"></div></div><div aria-hidden="true" class="invisible h-0 overflow-hidden"><sbb-card color="milk" size="s"><sbb-secondary-button-static size="m"></sbb-secondary-button-static></sbb-card></div></span><span data-testid="article-teaser"><div style="height:1000px" class="relative"><div class="absolute inset-0 pt-xl"></div></div></span><span data-testid="hero-teaser"><div style="height:1000px" class="relative"><div class="absolute inset-0 pt-xl"></div></div></span></div></section></main><div id="footer" class="xxl:pt-l"><h1 class="sr-only">Pied de page</h1><sbb-footer variant="clock-columns" accessibility-title="pied de page"><div class="sbb-link-list-button-group"><sbb-link-list title-level="2" title-content="Aide et contact."><sbb-block-link data-testid="0" href="https://www.sbb.ch/fr/aide-et-contact/remboursement-indemnisation/remboursements-indemnisations.html">Remboursements et indemnisations</sbb-block-link><sbb-block-link data-testid="1" href="https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves.html">Bureau des objets trouvés</sbb-block-link><sbb-block-link data-testid="2" href="https://www.sbb.ch/fr/aide-et-contact/produits-services/swisspass.html">SwissPass</sbb-block-link><sbb-block-link data-testid="3" href="https://www.sbb.ch/fr/aide-et-contact/mes-abos.html">Mes abos</sbb-block-link><sbb-block-link data-testid="4" href="https://www.sbb.ch/fr/aide-et-contact/mes-billets.html">Mes billets</sbb-block-link></sbb-link-list><sbb-button-link size="m" accessibility-label="Tous les thèmes d’aide" href="https://www.sbb.ch/fr/aide-et-contact.html">Tous les thèmes d’aide</sbb-button-link></div><sbb-link-list title-level="2" title-content="L’univers CFF."><sbb-block-link data-testid="0" href="https://company.sbb.ch/fr/jobs-carriere.html">Jobs et carrière</sbb-block-link><sbb-block-link data-testid="1" href="https://business.sbb.ch/fr/home.html">Clientèle commerciale</sbb-block-link><sbb-block-link data-testid="2" href="https://company.sbb.ch/fr/home.html">Entreprise</sbb-block-link><sbb-block-link data-testid="3" href="https://news.sbb.ch/fr/home">CFF News</sbb-block-link><sbb-block-link data-testid="4" href="https://community.sbb.ch/fr">Community CFF</sbb-block-link></sbb-link-list><div class="sbb-link-list-button-group"><div class="flex flex-col gap-3"><sbb-title class="m-0" visual-level="5" level="2">Newsletter.</sbb-title><p class="text-s text-granite flex w-full gap-1">Chaque mois, des informations et des offres sur les CFF.</p></div><sbb-secondary-button-link accessibility-label="S’abonner maintenant" size="m" href="https://www.sbb.ch/fr/meta/newsletter/inscriptions/newsletter.html">S’abonner maintenant</sbb-secondary-button-link></div><sbb-clock initial-time="now"></sbb-clock><sbb-divider orientation="horizontal"></sbb-divider><sbb-link-list title-level="2" horizontal-from="large" title-content="Disclaimer"><sbb-block-link data-testid="0" href="https://www.sbb.ch/fr/meta/legallines/impressum.html">Impressum</sbb-block-link><sbb-block-link data-testid="1" href="https://www.sbb.ch/fr/meta/legallines/mention-juridique.html">Mentions légales</sbb-block-link><sbb-block-link data-testid="2" href="https://www.sbb.ch/fr/meta/legallines/protection-des-donnees.html">Protection des données</sbb-block-link><sbb-block-link data-testid="3" href="https://www.sbb.ch/fr/meta/legallines/accessibilite.html">Accessibilité</sbb-block-link><sbb-block-link-button id="ot-sdk-btn">Paramètres des cookies</sbb-block-link-button></sbb-link-list></sbb-footer></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"lang":"fr","translations":{"global":{"date_picker_next_button":"Passer au jour suivant actuellement sélectionné {}","close_overlay":"Fermer les détails","menu_active_path":"Chemin de navigation actif","buy":"Acheter","greeting":{"morning":{"src":"/content/dam/internet/shared/images/grafiken/profile-sbb-morning.png","alt":"","greeting":"Bonjour"},"day":{"src":"/content/dam/internet/shared/images/grafiken/profile-sbb-day.png","alt":"","greeting":"Bonjour"},"evening":{"src":"/content/dam/internet/shared/images/grafiken/profile-sbb-evening.png","alt":"","greeting":"Bonsoir"},"night":{"src":"/content/dam/internet/shared/images/grafiken/profile-sbb-night.png","alt":"","greeting":"Bienvenue"}},"time_label":"Heure","field_optional":"Champ facultatif","login":"Se connecter","date_picker_prev_button":"Passer au jour précédent actuellement sélectionné {}","field_required":"Champ obligatoire","search":"Recherche","station_alt":"Arrêt, lieu, curiosité","total":"Total CHF","auth_error_session_invalidated":"Vous avez été déconnecté en raison d'une erreur. Veuillez vous reconnecter.","date_label":"Date","continue":"Continuer","skiplinks":{"label_help":"Vers aide et contact","label_main":"Vers le contenu"},"and":"et","lang_de":"Deutsch","language_change":"Changement de langue","today":"aujourd'hui","lang_fr":"Français","login_alt":"Reprendre les adaptations","from":"à partir de","cookie_settings":"Paramètres des cookies","show_more":"Afficher plus","settings":"Paramètres","weekdays":{"sunday":"Dimanche","saturday":"Samedi","tuesday":"Mardi","wednesday":"Mercredi","thursday":"Jeudi","friday":"Vendredi","monday":"Lundi"},"go_back":"Retour","advert":"Publicité","loadingPlaceholder":"Chargement en cours","your_journey":"Votre voyage","menu":"Menu","toast":{"journey":{"save":{"not_saved":"Erreur lors de l'enregistrement du voyage. Veuillez réessayer.","success":"Voyage engregistré","available":"Ce voyage est déjà enregistré. Vous le trouverez sur la page d’accueil après vous être connecté·e.","limit":"Vous ne pouvez pas enregistrer plus de 30 voyages. Veuillez supprimer un voyage ou attendre la fin d’un voyage."},"delete":{"success":"Voyage supprimé","not_possible":"Suppression du voyage impossible"}}},"date_picker_show_calendar":"Afficher le calendrier","meta":{"description":"Infos sur les abos demi-tarif, AG, billets, excursions, voyages intervilles, billets événementiels, gares, dérangements et horaire.","title":"Portail en ligne des CFF pour les trains et les transports publics | CFF"},"date_alt":"Champ obligatoire. Format de saisie: Jour Jour Point Mois Mois Point Année Année Année Année","confirmLeave":{"cancel":"Supprimer","leave":"Quitter","description":"Vos modifications n’ont pas été enregistrées. Si vous quittez la page, vos modifications seront perdues.","title":"Quitter la page?"},"lang_it":"Italiano","current_language":"Langue actuelle","ticket_from":"Billets à partir de","notFound":{"text":"Une erreur est survenue lors du chargement de la page. Veuillez réessayer plus tard.","button_text":"Vers la page d'accueil","headline":"Une erreur est survenue."},"time":{"hours":"heures","minutes":"minutes","days":"jours","day":"jour"},"lang_en":"English","breadCrumbHome":"À la page d'accueIl CFF","marketingPermissionHint":{"title":"Souhaitez-vous continuer à bénéficier d’offres?","content":"Pour continuer à recevoir des informations, des offres et des bons d’achat personnalisés de la part des CFF et d’autres entreprises de transports publics, il vous suffit de confirmer vos paramètres.","link":"https://www.sbb.ch/fr/aide-et-contact/mon-profil/autorisations-marketing.html","linkText":"Aide concernant les autorisations marketing","ack":"Oui, je souhaite continuer à recevoir des bons d’achat, des offres ainsi que les dernières nouveautés.","ackButton":"Confirmer","ackSuccessTitle":"Merci!","ackSuccessContent":"Nous continuerons à vous contacter au rythme habituel. Vous pouvez modifier vos paramètres dans votre profil à tout moment.","ackErrorTitle":"Modifications non enregistrées.","ackErrorContent":"Les données n’ont pas pu être transmises. Veuillez réessayer ultérieurement. Nous vous remercions de votre compréhension.","dismissTitle":"Pour être sûr·e de ne rien manquer!","dismissContent":"Veuillez noter que vous ne recevrez plus d’informations, d’offres, ni de bons d’achat personnalisés de la part des CFF et d’autres entreprises de transports publics si vous ne confirmez pas vos paramètres de contact.","dismissContentHint":"Vous pouvez le faire dans votre profil. Par la suite, vous pourrez réactiver l’option au même endroit.","dismissLinkText":"Accéder à votre profil"}},"header":{"ordersUrl":"https://www.sbb.ch/fr/acheter/pages/bestellung/bestellungen.xhtml","profileUrl":null,"search_result_page":"https://www.sbb.ch/fr/meta/pages/recherche.html","user_menu_links":[{"link":"https://www.sbb.ch/fr/profil","icon":"user-small","title":"Profil","sso":false},{"link":"https://www.sbb.ch/fr/acheter/pages/bestellung/bestellungen.xhtml","icon":"tickets-class-small","title":"Commandes","sso":true}],"search_overlay":{"close":"Fermer","placeholder":"Saisir le terme recherché","clear":"Effacer le terme recherché","search_title":"Rechercher","search_alt":"Ouvrir le champ de recherche","close_alt":"Fermer le champ de recherche","frequent_searches":"Recherches fréquentes.","all_search_results":"Afficher les [total number of results] résultats","alternative_search":"Vouliez-vous dire:"},"search_label":"Recherche","role_change":"Changement de rôle","profile":"Profil","login_alt":"Menu mon profil. Connecté sous {}","signout":"Se déconnecter","orders":"Commandes","logo_alt":"À la page d'accueil CFF"},"footer":{"footerAccessibilityTitle":"Bas de page: Liens vers l’espace de contact et d’aide, vers d’autres pages CFF et l’abonnement à la newsletter.","footerHeading":"Pied de page","clockType":"sustainable","block_dssc":{"title":"Aide et contact.","description":null,"button_link":"https://www.sbb.ch/fr/aide-et-contact.html","button_label":"Tous les thèmes d’aide","button_alt":"Tous les thèmes d’aide","links":[{"title":"Remboursements et indemnisations","link":"https://www.sbb.ch/fr/aide-et-contact/remboursement-indemnisation/remboursements-indemnisations.html","sso":false},{"title":"Bureau des objets trouvés","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/swisspass.html","sso":false},{"title":"Mes abos","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos.html","sso":false},{"title":"Mes billets","link":"https://www.sbb.ch/fr/aide-et-contact/mes-billets.html","sso":false}]},"block_sbb":{"title":"L’univers CFF.","description":null,"button_link":null,"button_label":null,"button_alt":null,"links":[{"title":"Jobs et carrière","link":"https://company.sbb.ch/fr/jobs-carriere.html","sso":true},{"title":"Clientèle commerciale","link":"https://business.sbb.ch/fr/home.html","sso":true},{"title":"Entreprise","link":"https://company.sbb.ch/fr/home.html","sso":true},{"title":"CFF News","link":"https://news.sbb.ch/fr/home","sso":false},{"title":"Community CFF","link":"https://community.sbb.ch/fr","sso":false}]},"block_newsletter":{"title":"Newsletter.","description":"Chaque mois, des informations et des offres sur les CFF.","button_link":"https://www.sbb.ch/fr/meta/newsletter/inscriptions/newsletter.html","button_label":"S’abonner maintenant","button_alt":"S’abonner maintenant à la newsletter","links":null},"block_bottom":{"title":"Disclaimer","description":null,"button_link":null,"button_label":null,"button_alt":null,"links":[{"title":"Impressum","link":"https://www.sbb.ch/fr/meta/legallines/impressum.html","sso":false},{"title":"Mentions légales","link":"https://www.sbb.ch/fr/meta/legallines/mention-juridique.html","sso":false},{"title":"Protection des données","link":"https://www.sbb.ch/fr/meta/legallines/protection-des-donnees.html","sso":false},{"title":"Accessibilité","link":"https://www.sbb.ch/fr/meta/legallines/accessibilite.html","sso":false}]}},"navigation":{"links":[{"title":"Billets et offres","link":"https://www.sbb.ch/fr/billets-offres/acheter.html","sso":false,"navigationButton":[{"title":"Acheter","link":"https://www.sbb.ch/fr/billets-offres/acheter.html","altText":"Acheter des billets et abonnements"}],"children":[{"title":"Abonnements","children":[{"title":"Trouver un abonnement","link":"https://www.sbb.ch/fr/billets-offres/abonnements/trouver-abonnement.html","sso":false},{"title":"Demi-tarif","link":"https://www.sbb.ch/fr/billets-offres/abonnements/demi-tarif.html","sso":false},{"title":"Demi-tarif PLUS","link":"https://www.sbb.ch/fr/billets-offres/abonnements/demi-tarif-plus.html","sso":false},{"title":"AG","link":"https://www.sbb.ch/fr/billets-offres/abonnements/ag.html","sso":false},{"title":"Abonnements pour les enfants","link":"https://www.sbb.ch/fr/billets-offres/abonnements/enfants.html","sso":false},{"title":"Abonnements de parcours et communautaires","link":"https://www.sbb.ch/fr/billets-offres/abonnements/abon-parcours-communautaires.html","sso":false},{"title":"Tous les abonnements","link":"https://www.sbb.ch/fr/billets-offres/abonnements/tous.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/billets-offres/swisspass/swisspass.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/billets-offres/swisspass/swisspass.html","sso":false}]},{"title":"Billets","children":[{"title":"Offres dégriffées","link":"https://www.sbb.ch/fr/billets-offres/billets/offres-degriffees.html","sso":false},{"title":"Cartes journalières","link":"https://www.sbb.ch/fr/billets-offres/billets/cartes-journalieres.html","sso":false},{"title":"Billet de parcours Suisse","link":"https://www.sbb.ch/fr/billets-offres/billets/billet-parcours-suisse.html","sso":false},{"title":"Voyage en groupe ou avec l’école","link":"https://www.sbb.ch/fr/billets-offres/billets/billets-de-groupe-suisse.html","sso":false},{"title":"Europe et Interrail","link":"https://www.sbb.ch/fr/billets-offres/billets/europe-interrail.html","sso":false},{"title":"Touristes venant de l’étranger","link":"https://www.sbb.ch/fr/billets-offres/billets/voyageurs-internationaux.html","sso":false},{"title":"Tous les billets","link":"https://www.sbb.ch/fr/billets-offres/billets/tous.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/billets-offres/swisspass/swisspass.html","sso":false}]},{"title":"Vélo et auto","children":[{"title":"Transport de vélos et réservation","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-avec-velo/transport-velo-train.html","sso":false},{"title":"Passeport vélo","link":"https://www.sbb.ch/fr/billets-offres/abonnements/passeport-velo.html","sso":false},{"title":"Parking à vélo","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/parking-velo.html","sso":false},{"title":"Vélo de location","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/velo-location.html","sso":false},{"title":"Location de trottinettes électriques","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/trottinette-electrique.html","sso":false},{"title":"Garer sa voiture","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/garer-voiture.html","sso":false},{"title":"Location de voiture","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/location-voiture.html","sso":false},{"title":"Bus sur appel et taxis","link":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/services-a-la-demande.html","sso":false},{"title":"Voyageurs internationaux","link":"https://www.sbb.ch/fr/freizeit-ferien/inspiration/internationale-gaeste.html","sso":false}]},{"title":"Réservation et bagages","children":[{"title":"Réservation de places","link":"https://www.sbb.ch/fr/billets-offres/billets/billet-parcours-suisse/reservation-de-places.html","sso":false},{"title":"Casiers et dépôt des bagages","link":"https://www.sbb.ch/fr/informations-voyages/gares/services-gare/deposez-bagage.html","sso":false},{"title":"Expédition des bagages","link":"https://www.sbb.ch/fr/billets-offres/reservation-bagages/expedition-bagages.html","sso":false},{"title":"Bagages avion","link":"https://www.sbb.ch/fr/billets-offres/reservation-bagages/bagages-avion.html","sso":false}]},{"title":"Boutique et offres complémentaires","children":[{"title":"Shop CFF","link":"https://commerce.sbb.ch/fr/","sso":false},{"title":"Montres Mondaine","link":"https://commerce.sbb.ch/fr/horloges-de-gare.html","sso":false},{"title":"Change de devises","link":"https://commerce.sbb.ch/fr/change.html","sso":false},{"title":"Western Union","link":"https://www.sbb.ch/fr/informations-voyages/gares/services-gare/western-union.html","sso":false},{"title":"Assurances voyage","link":"https://commerce.sbb.ch/fr/voyage/assurances-de-voyage.html","sso":false},{"title":"Bons de réduction et d’achat, cartes cadeau","link":"https://www.sbb.ch/fr/billets-offres/boutique-offres-complementaires/bons-reduction-bons-achat.html","sso":false},{"title":"Cartes SIM","link":"https://www.sbb.ch/fr/billets-offres/boutique-offres-complementaires/cartes-sim.html","sso":false},{"title":"Cartes SIM","link":"https://www.sbb.ch/fr/billets-offres/boutique-offres-complementaires/cartes-sim.html","sso":false}]}]},{"title":"Loisirs et vacances","link":"https://www.sbb.ch/fr/loisirs-vacances/decouvrir-idees-d-excursion.html","sso":false,"navigationButton":[{"title":"Idées d’excursions","link":"https://www.sbb.ch/fr/loisirs-vacances/decouvrir-idees-d-excursion.html","altText":"Idées d’excursions"}],"children":[{"title":"Nos meilleures offres","children":[{"title":"Bons plans RailAway","link":"https://www.sbb.ch/fr/loisirs-vacances/nos-meilleures-offres/bons-plans-railaway.html","sso":false},{"title":"Grands événements","link":"https://www.sbb.ch/fr/loisirs-vacances/nos-meilleures-offres/grands-evenements.html","sso":false},{"title":"Europa-Park","link":"https://www.sbb.ch/plc/leisure-holidays/fr/tagesausflug/europa-park.html","sso":false},{"title":"Voyage en groupe ou avec l’école","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyage-groupe-avec-ecole.html","sso":false},{"title":"Voyage en groupe ou avec l’école","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyage-groupe-avec-ecole.html","sso":false},{"title":"Voyage en groupe ou avec l’école","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyage-groupe-avec-ecole.html","sso":false},{"title":"Conseil personnalisé","link":"https://www.sbb.ch/fr/gare-services/a-la-gare/services-en-gare/rendez-vous.html","sso":false}]},{"title":"Trains et bateaux","children":[{"title":"Voyages découvertes","link":"https://www.sbb.ch/fr/loisirs-vacances/trains-bateaux/voyages-decouvertes.html","sso":false},{"title":"Trains panoramiques","link":"https://www.sbb.ch/fr/loisirs-vacances/trains-bateaux/trains-panoramiques.html","sso":false},{"title":"Location de trains","link":"https://www.sbb.ch/fr/loisirs-vacances/trains-bateaux/location-trains.html","sso":false},{"title":"Voyages en bateau","link":"https://www.sbb.ch/fr/loisirs-vacances/trains-bateaux/voyages-bateau.html","sso":false},{"title":"AG Night","link":"https://www.sbb.ch/fr/abonnements-et-billets/abonnements/ag/ag-night.html","sso":false},{"title":"Carte d’accompagnement","link":"https://www.sbb.ch/fr/abonnements-et-billets/abonnements/carte-d-accompagnement.html","sso":false},{"title":"Passeport vélo","link":"https://www.sbb.ch/fr/abonnements-et-billets/abonnements/passeport-velo.html","sso":false},{"title":"Passeport chien","link":"https://www.sbb.ch/fr/abonnements-et-billets/abonnements/passeport-chien.html","sso":false},{"title":"Abonnement Évasion","link":"https://www.sbb.ch/fr/abonnements-et-billets/abonnements/abonnement-evasion.html","sso":false}]},{"title":"l’Europe","children":[{"title":"Tout pour réussir votre voyage","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/services-pour-les-voyages.html","sso":false},{"title":"Villes et pays","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/villes-pays.html","sso":false},{"title":"Interrail","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/interrail.html","sso":false},{"title":"Trains de nuit","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/trains-nuit.html","sso":false},{"title":"Train et hôtel","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/train-hotel.html","sso":false},{"title":"Tout pour réussir votre voyage","link":"https://www.sbb.ch/fr/loisirs-vacances/europe/autour-de-votre-voyage.html","sso":false},{"title":"Réservation de places","link":"https://www.sbb.ch/fr/abonnements-et-billets/billets-suisse/reservation-de-places.html","sso":false},{"title":"Offres de nuit","link":"https://www.sbb.ch/fr/abonnements-et-billets/billets-suisse/offres-de-nuit.html","sso":false}]},{"title":"Vacances en Suisse","children":[{"title":"Voyages panoramiques dans toute la Suisse","link":"https://www.sbb.ch/fr/loisirs-vacances/vacances-suisse/voyages-panoramiques-suisse.html","sso":false},{"title":"Villes et régions en Suisse","link":"https://www.sbb.ch/fr/loisirs-vacances/vacances-suisse/aktivferien.html","sso":false},{"title":"Hôtels et appartements de vacances","link":"https://www.sbb.ch/fr/loisirs-vacances/vacances-suisse/hotels-appartements-vacances.html","sso":false},{"title":"Idées d’excursions pour les touristes","link":"https://www.sbb.ch/fr/billets-offres/billets/voyageurs-internationaux/inspiration.html","sso":false},{"title":"Voyages panoramiques dans toute la Suisse","link":"https://www.sbb.ch/fr/loisirs-vacances/vacances-suisse/panoramareisen-durch-die-schweiz.html","sso":false},{"title":"Villes et régions en Suisse","link":"https://www.sbb.ch/fr/loisirs-vacances/vacances-suisse/aktivferien.html","sso":false}]},{"title":"Excursions en Suisse","children":[{"title":"Montagne et nature","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/montagne-nature.html","sso":false},{"title":"Bien-être","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/bien-etre.html","sso":false},{"title":"Zoos et parc animaliers","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/zoos-parc-animaliers.html","sso":false},{"title":"Randonnées et activité physique","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/randonnees-activite-physique.html","sso":false},{"title":"Jouer et s’amuser","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/jouer-amuser.html","sso":false},{"title":"Visites et expositions","link":"https://www.sbb.ch/fr/loisirs-vacances/excursions-suisse/visites-expositions.html","sso":false}]},{"title":"Événements","children":[{"title":"Concerts et comédies musicales","link":"https://www.sbb.ch/fr/loisirs-vacances/evenements/concerts-comedies-musicales.html","sso":false},{"title":"Foires","link":"https://www.sbb.ch/fr/loisirs-vacances/evenements/foires.html","sso":false},{"title":"Courses et sport","link":"https://www.sbb.ch/fr/loisirs-vacances/evenements/courses-evenements-sportifs.html","sso":false},{"title":"Art culinaire et fêtes populaires","link":"https://www.sbb.ch/fr/loisirs-vacances/evenements/gastronomie-fetes-populaires.html","sso":false},{"title":"Trains spéciaux pour les événements","link":"https://www.sbb.ch/fr/loisirs-vacances/themes/trains-speciaux.html","sso":false}]}]},{"title":"Informations sur les voyages","link":"https://www.sbb.ch/fr","sso":false,"navigationButton":[{"title":"Trouver une gare","link":"https://www.sbb.ch/fr/informations-voyages/gares/trouver-gare.html","altText":"Trouver une gare"}],"children":[{"title":"Gares","children":[{"title":"Trouver une gare","link":"https://www.sbb.ch/fr/informations-voyages/gares/trouver-gare.html","sso":false},{"title":"Services en gare","link":"https://www.sbb.ch/fr/informations-voyages/gares/services-gare.html","sso":false},{"title":"Services aux distributeurs de billets","link":"https://www.sbb.ch/fr/informations-voyages/gares/services-distributeurs-billets.html","sso":false},{"title":"Train-avion","link":"https://www.sbb.ch/fr/gare-services/avant-le-voyage/train-avion.html","sso":false},{"title":"Rendez-vous entretien conseil","link":"https://www.sbb.ch/fr/gare-services/avant-le-voyage/rendez-vous-entretien-conseil.html","sso":false}]},{"title":"Information sur le trafic ferroviaire","children":[{"title":"Situation de l’exploitation et perturbations","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/situation-exploitation-perturbations.html","sso":false},{"title":"Confirmation de retard","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/confirmation-retard.html","sso":false},{"title":"Plans du service de remplacement","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/plans-service-remplacement.html","sso":false},{"title":"Trains supplémentaires","link":"https://www.sbb.ch/fr/loisirs-vacances/themes/trains-speciaux.html","sso":false},{"title":"Changement d’horaire","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/changement-horaire.html","sso":false},{"title":"Horaires au format PDF","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/horaires-format-pdf.html","sso":false},{"title":"Modifications de l’horaire et interdictions","link":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/modifications-horaire-interdictions.html","sso":false}]},{"title":"Applis","children":[{"title":"Mobile CFF","link":"https://www.sbb.ch/fr/informations-voyages/applis/mobile-cff.html","sso":false},{"title":"CFF Preview","link":"https://www.sbb.ch/fr/informations-voyages/applis/cff-preview.html","sso":false},{"title":"Inclusive CFF","link":"https://www.sbb.ch/fr/informations-voyages/applis/inclusive-cff.html","sso":false}]},{"title":"Services à bord des trains","children":[{"title":"Nos trains","link":"https://www.sbb.ch/fr/informations-voyages/services-bord-trains/nos-trains.html","sso":false},{"title":"Confort et classes","link":"https://www.sbb.ch/fr/informations-voyages/services-bord-trains/confort-classes.html","sso":false},{"title":"Accès gratuit à Internet","link":"https://www.sbb.ch/fr/informations-voyages/services-bord-trains/internet-gratuit.html","sso":false},{"title":"Restaurant et Bistro CFF","link":"https://www.sbb.ch/fr/informations-voyages/services-bord-trains/restaurant-bistro-cff.html","sso":false},{"title":"Voyager en fauteuil roulant","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-mobilite-reduite.html","sso":false}]},{"title":"Besoins individuels","children":[{"title":"Tous les conseils de voyage","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/tous-conseils-voyage.html","sso":false},{"title":"Voyager sans barrières","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-mobilite-reduite.html","sso":false},{"title":"Voyager de manière durable","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-de-maniere-durable.html","sso":false},{"title":"Voyager avec des enfants","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-avec-des-enfants.html","sso":false},{"title":"Voyages pour les seniors","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyages-pour-les-seniors.html","sso":false},{"title":"Voyager avec un chien","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-avec-chien.html","sso":false},{"title":"Voyage en groupe ou avec l’école","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyage-groupe-avec-ecole.html","sso":false},{"title":"Conseils de voyage pour les gourmets","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/reisen-als-foodlover.html","sso":false},{"title":"Voyager avec un vélo","link":"https://www.sbb.ch/fr/informations-voyages/besoins-individuels/voyager-avec-velo.html","sso":false}]}]},{"title":"Aide et contact","link":"https://www.sbb.ch/fr/aide-et-contact.html","sso":false,"navigationButton":[{"title":"Tous les thèmes d’aide","link":"https://www.sbb.ch/fr/aide-et-contact.html","altText":"Tous les thèmes Aide et contact"}],"children":[{"title":"Abonnements, billets, applis et services","children":[{"title":"Billets Suisse/Europe","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/billets.html","sso":false},{"title":"Abonnements","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/abonnements.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/swisspass.html","sso":false},{"title":"Horaire","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/horaire.html","sso":false},{"title":"Mobile CFF et autres applis","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/apps.html","sso":false},{"title":"Dérangements lors de l'achat de billets","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/derangements-achat-billets.html","sso":false},{"title":"Réservations","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/reservations.html","sso":false},{"title":"Bagages","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/plus-de-services/autres-services-cff/bagages.html","sso":false}]},{"title":"Mes abos","children":[{"title":"Mes abos sur le SwissPass","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/vue-densemble-mes-abos.html","sso":false},{"title":"Changer d’adresse et de nom","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/changer-dadresse-nom.html","sso":false},{"title":"Déposer un AG","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/deposer-un-ag.html","sso":false},{"title":"Résilier un AG","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/resilier-un-ag.html","sso":false},{"title":"Résilier un abonnement demi-tarif","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/resilier-demi-tarif.html","sso":false},{"title":"Résiliation en cas de décès","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/procedure-en-cas-de-deces.html","sso":false},{"title":"Demande de remboursement d’un AG ou d’un abonnement demi-tarif en cas d’accident ou de maladie","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/demande-remboursement-accident-maladie.html","sso":false},{"title":"Demande de remboursement d’un AG ou d’un abonnement demi-tarif en cas d’accident ou de maladie","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/demande-remboursement-accident-maladie.html","sso":false}]},{"title":"Mes billets","children":[{"title":"Vue d’ensemble de mes billets achetés","link":"https://www.sbb.ch/fr/aide-et-contact/mes-billets/vue-densemble-mes-billets.html","sso":false},{"title":"Factures/quittances","link":"https://www.sbb.ch/fr/aide-et-contact/mes-billets/factures-quittances.html","sso":false},{"title":"EasyRide","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/apps/mobile-cff-preview-cff/faq-easyride.html","sso":false},{"title":"Voyage sans billet valable","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/voyages-sans-titre-transport-valable.html","sso":false}]},{"title":"Remboursement et indemnisation","children":[{"title":"Remboursements et indemnisations","link":"https://www.sbb.ch/fr/aide-et-contact/remboursement-indemnisation/remboursements-indemnisations.html","sso":false},{"title":"Sites naturels","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/beaux-endroits-suisses.html","sso":false},{"title":"Jouer et s’amuser","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/jouer-samuser.html","sso":false},{"title":"Randonnées, luge et sports d’hiver","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/sport.html","sso":false},{"title":"City-trips et courts séjours","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/city-trips.html","sso":false},{"title":"Zoos et parcs animaliers","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/zoos-et-parcs.html","sso":false},{"title":"Bien-être","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/bien-etre.html","sso":false},{"title":"Train et bateau","link":"https://www.sbb.ch/fr/loisirs-et-vacances/activites/train-bateau.html","sso":false}]},{"title":"Bureau des objets trouvés","children":[{"title":"Saisir un avis de perte","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/saisir-avis-perte.html","sso":false},{"title":"Émettre un ordre de recherche express","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/emettre-ordre-recherche-express.html","sso":false},{"title":"Vérifier le statut d’un avis de perte","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/verifier-le-statut-dun-avis-de-perte.html","sso":false},{"title":"Questions et réponses sur le service des objets trouvés","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/questions-reponses-service-objets-trouves.html","sso":false},{"title":"Écoles","link":"https://www.sbb.ch/fr/loisirs-et-vacances/inspiration/courses-d-ecole.html","sso":false},{"title":"Voyageurs internationaux","link":"https://www.sbb.ch/fr/loisirs-et-vacances/inspiration/voyageurs-internationaux.html","sso":false}]}]},{"title":"Aide et contact","link":"https://www.sbb.ch/fr/aide-et-contact.html","sso":false,"navigationButton":[{"title":"Tous les thèmes d’aide","link":"https://www.sbb.ch/fr/aide-et-contact.html","altText":"Tous les thèmes Aide et contact"}],"children":[{"title":"Abonnements, billets, applis et services","children":[{"title":"Billets Suisse/Europe","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/billets.html","sso":false},{"title":"Abonnements","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/abonnements.html","sso":false},{"title":"SwissPass","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/swisspass.html","sso":false},{"title":"Horaire","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/horaire.html","sso":false},{"title":"Mobile CFF et autres applis","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/apps.html","sso":false},{"title":"Dérangements lors de l'achat de billets","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/derangements-achat-billets.html","sso":false},{"title":"Réservations","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/reservations.html","sso":false},{"title":"Bagages","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/plus-de-services/autres-services-cff/bagages.html","sso":false}]},{"title":"Mes abos","children":[{"title":"Mes abos sur le SwissPass","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/vue-densemble-mes-abos.html","sso":false},{"title":"Changer d’adresse et de nom","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/changer-dadresse-nom.html","sso":false},{"title":"Déposer un AG","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/deposer-un-ag.html","sso":false},{"title":"Résilier un AG","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/resilier-un-ag.html","sso":false},{"title":"Résilier un abonnement demi-tarif","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/resilier-demi-tarif.html","sso":false},{"title":"Résiliation en cas de décès","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/procedure-en-cas-de-deces.html","sso":false},{"title":"Demande de remboursement d’un AG ou d’un abonnement demi-tarif en cas d’accident ou de maladie","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/demande-remboursement-accident-maladie.html","sso":false}]},{"title":"Mes billets","children":[{"title":"Vue d’ensemble de mes billets achetés","link":"https://www.sbb.ch/fr/aide-et-contact/mes-billets/vue-densemble-mes-billets.html","sso":false},{"title":"Factures/quittances","link":"https://www.sbb.ch/fr/aide-et-contact/mes-billets/factures-quittances.html","sso":false},{"title":"EasyRide","link":"https://www.sbb.ch/fr/aide-et-contact/produits-services/apps/mobile-cff-preview-cff/faq-easyride.html","sso":false},{"title":"Voyage sans billet valable","link":"https://www.sbb.ch/fr/aide-et-contact/mes-abos/voyages-sans-titre-transport-valable.html","sso":false}]},{"title":"Remboursement et indemnisation","children":[{"title":"Remboursements et indemnisations","link":"https://www.sbb.ch/fr/aide-et-contact/remboursement-indemnisation/remboursements-indemnisations.html","sso":false}]},{"title":"Bureau des objets trouvés","children":[{"title":"Saisir un avis de perte","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/saisir-avis-perte.html","sso":false},{"title":"Émettre un ordre de recherche express","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/emettre-ordre-recherche-express.html","sso":false},{"title":"Vérifier le statut d’un avis de perte","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/verifier-le-statut-dun-avis-de-perte.html","sso":false},{"title":"Questions et réponses sur le service des objets trouvés","link":"https://www.sbb.ch/fr/aide-et-contact/bureau-objets-trouves/questions-reponses-service-objets-trouves.html","sso":false}]}]}]}},"pageProps":{"translations":{"home":{"b2bBannerText":"Bienvenue chez Clientèle commerciale CFF.","article_teasers_headline":"Informations et idées.","hero_teaser_loading_placeholder":"Chargement du contenu…","meta":{"description":"Infos sur les abos demi-tarif, AG, billets, excursions, voyages intervilles, billets événementiels, gares, dérangements et horaire.","title":"Portail en ligne des CFF pour horaires, trains et transports publics"},"product_teasers_headline":"Les meilleures offres.","form_headline":"Horaire et achat de billets","service_status_section_link_href":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/situation-exploitation-perturbations.html","headline":"CFF.ch – Tout pour votre mobilité","service_status_section_link_label":"Situation de la circulation","product_teasers_loading_placeholder":"Charger les offres...","article_teasers_loading_placeholder":"Chargement du contenu…","personalized":{"journey":{"headline":"Mes voyages","available_journey":"autres voyages","load_more":"Afficher plus"}},"articleTeasersPaidContentText":"Contenu sponsorisé","journey":"Mes voyages.","profile":{"label":"Mon profil","link":"https://www.sbb.ch/fr/meta/profil.html"}},"teaser_products":{"i18n":{"buy_button_alt_text":"Continuer vers {}","products_button_alt":"Continuer vers toutes les offres","my_tickets_button_alt":"Continuer vers mon profil","my_tickets_button_label":"Mes billets et abonnements","products_button_label":"Toutes les offres","buy_button_label":"Acheter"},"primaryIcon":"qrcode-two-tickets","secondaryIcon":"tickets-class","primaryLinkUrl":"https://www.sbb.ch/fr/login/loginswisspass.html?lang=fr\u0026login=swisspass\u0026backUrl=%2Ffr%2Facheter%2Fpages%2Fbestellung%2Fbestellungen.xhtml","primaryButtonLabel":"Mes billets","secondaryLinkUrl":"https://www.sbb.ch/fr/billets-offres/acheter.html","secondaryButtonLabel":"Toutes les offres","products":[{"icon":"piggy-bank","title":"Demi-tarif PLUS","description":"La nouvelle offre avec avoir et bonus.","buttonLabel":"Passer commande","linkUrl":"https://www.sbb.ch/fr/billets-offres/abonnements/demi-tarif-plus.html","sso":false},{"icon":"ticket-percent","title":"Carte journalière dégriffée","description":"À partir de 29 francs, dans la limite des disponibilités.","buttonLabel":"Acheter","linkUrl":"https://www.sbb.ch/fr/acheter/pages/produkte/produkte.xhtml?produktid=80040","sso":true},{"icon":"tickets-class","title":"Surclassement","description":"Pour un trajet, une journée ou un mois.","buttonLabel":"Acheter","linkUrl":"https://www.sbb.ch/fr/billets-offres/billets/billet-parcours-suisse/surclassement-surclassement-degriffe/surclassement.html","sso":false},{"icon":"two-users","title":"Carte journalière pour 2","description":"Offre spéciale pour seulement 78 francs, jusqu’au 28 octobre.","buttonLabel":"Acheter","linkUrl":"https://www.sbb.ch/fr/campagne/carte-journaliere-pour-2.html","sso":false}],"travelCards":[{"icon":null,"title":"AG","description":"Profiter du libre parcours avec l’abonnement général.","buttonLabel":"Vue d’ensemble de tous les AG","linkUrl":"https://www.sbb.ch/fr/billets-offres/abonnements/ag.html","sso":false},{"icon":null,"title":"Demi-tarif","description":"Voyager à moitié prix avec le demi-tarif.","buttonLabel":"Acheter le demi-tarif","linkUrl":"https://www.sbb.ch/fr/billets-offres/abonnements/demi-tarif.html","sso":false}]},"timetable":{"swap_button_alt":"Échanger de et à","at_label":"sur","select_ticket":"Choisir les billets","trip":{"description":"Toutes les informations détaillées sur votre voyage.","title":"Voyage."},"form_placeholder":"Arrêt, lieu, curiosité","means_of_transport_options":{"funicular":"Funiculaire/Chemin de fer à crémaillère","tramway":"Tram/Métro","ec_id":"EC/IC","bus":"Bus","re":"RE","arz_ext":"ARZ/EXT","ice_tgv_rjx":"ICE/TGV/RJX","ir_pe":"IR/PE","s_sn_r":"S/SN/R","boat":"Bateau","train":"Train"},"results":{"legend":"Légende","no_guarantee":"Toutes les données sont fournies sans garantie.","leg":"Parcours partiel","navigation":{"back":"Retour"},"trip":"Voyage","train_number_change":"Modification du numéro de train","connection_duration":"Durée","occupancy_low":"Taux d’occupation faible à moyen prévu","occupancy_high":"Taux d’occupation très élevé prévu","searching_for_connections":"Connexions en cours de recherche ","connection_him_cus":"Informations en temps réel","departure_time":"Heure de départ","connections":"Connexions","unknown_delay":"retard indéterminé","accessiblity_legend_item":"Pour la relation sélectionnée, vous devez faire appel à une aide à l’embarquement et au débarquement. Veuillez prévenir le Call Center Handicap CFF au plus tard une heure avant le départ du train. Call Center Handicap CFF: tous les jours de 6 à 22h30 via le numéro gratuit 0800 007 102, depuis l’étranger: +41 800 007 102 (appel payant). Formulaire en ligne, www.cff.ch/handicap","connection_detail":"Détails","previous_section":"Vers la section précédente","meter":"Mètres","start_footpath":"Début du parcours à pied:","inLabel":"à","cancellation":"Supprimé","display_transfer":"Changement","delay":"Retard","disclaimer_base":"Informations sur le voyage valables du 10 décembre 2023 au 14 décembre 2024. Indications, correspondances et respect de l’horaire non garantis. Veuillez consulter les éventuelles modifications d’horaire sur CFF.ch ou dans les applications Mobile CFF / CFF Preview juste avant le départ.","connection_occupancy":"Taux d’occupation","connection_hints":"Indications sur le voyage","departure":"Départ","trip_path":"voyage","no_accessibility_information_legend":"Aucune information n’est disponible, ou partiellement disponible pour la relation sélectionnée au sujet de l’accessibilité des personnes à mobilité réduite. Call Center Handicap CFF tous les jours de 6 à 22h30 via le numéro gratuit 0800 007 102, depuis l’étranger: +41 800 007 102 (appel payant). Formulaire en ligne, www.cff.ch/handicap","boarding_alighting_by_notification":"Aide à l’embarquement et au débarquement sur inscription préalable.","boarding_alighting_self":"Embarquement et débarquement possibles en toute autonomie.","no_accessibility_information":"Aucune information disponible","disclaimer_no_guarantee":"Sans garantie des indications données, des correspondances et du respect de l’horaire. Veuillez vous informer des changements possibles avant votre départ.","trip_from":"Itinéraire depuis","starting_location":"Lieu de départ","arrival":"Arrivée","destination":"Lieu d'arrivée","show":"Afficher","back":"Retour","view_details":" Afficher les détails","later_connections":"Relations suivantes","platform":"Voie","pier":"Quai","trip_until":"Itinéraire jusqu'à","found":"trouvé","boarding_alighting_not_possible":"Embarquement et débarquement sans barrière pas possibles.","by":"à","trainformation":{"accessibility":"Représentation de la formation du train","sector":"Secteur","headline":"Formation du train","direction":"Direction de voyage"},"stand":"Quai","direction":"Direction","display_footpath":"Parcours à pied","ecocalculator":{"linkLabel":"Comparaison des transports publics et de la voiture","linkUrl":"https://www.sbb.ch/fr/informations-voyages/information-trafic-ferroviaire/ecocomparateur.html","title":"Écocomparateur"},"arrival_time":"Heure d'arrivée","occupancy_medium":"Taux d’occupation élevé prévu","next_section":"Vers la section suivante","start":"Départ","earlier_connections":"Relations précédentes","connection_change":"Changer","display_map":"Afficher la carte","connection_button_alt":"Détails de la liaison et achat de billets","boarding_alighting_by_crew":"Aide à l’embarquement et au débarquement assurée uniquement par le personnel.","timetable":"Horaire","transfer_procedures":"Correspondances","disclaimer_extension":"Veuillez acheter et / ou composter votre titre de transport, vous connecter à EasyRide ou avoir votre abonnement à portée de main avant le départ. Le pictogramme apposé sur le véhicule et symbolisant un œil vous rappelle qu’aucun billet n’est vendu à bord. Si vous n’êtes pas en possession d’un titre de transport valable, vous devrez acquitter une taxe et vos coordonnées seront enregistrées. La taxe perçue augmente en cas de récidive.","connection_messages":"Messages","approx":"ca."},"current_location":"Position actuelle","settings":{"bike_description":"Afficher uniquement les horaires avec possibilité de transport de vélos (Suisse).","accessibility":"Relation accessible.","occupancy":{"second_low":"2e classe.","first_low":"1re classe.","text":"Ne pas afficher les horaires avec un taux d’occupation très élevé.","title":" Taux d’occupation."},"accessibility_options":{"show_restrictions":"Afficher les restrictions et les informations sur l'accessibilité dans l'horaire.","checkbox_behaviour":"Les paramètres d'accessibilité sont liés entre eux, une sélection ou une désélection peut également modifier les autres options.","assistance":"L’aide à l’embarquement et au débarquement est assurée par le personnel roulant","boarding_notice":"Possibilité d’embarquement/de débarquement moyennant inscription préalable","independent_boarding":"Possibilité d’embarquement/de débarquement en toute autonomie"},"means_of_transport":"Moyens de transport.","accessibility_description":"Afficher les trajets permettant de se déplacer sans obstacles.","advanced_search_reset":"Réinitialiser","alternative_connection":"Autres horaires.","via":"Via.","bike":"Transport de vélos.","train_number_text":"Afficher les numéros de train.","transfer_time":{"double":"Environ deux fois plus de temps.","comfortable":"Environ 50% de temps en moins.","group_label":"Personnaliser le temps de correspondance","text":"Adapter le temps de changement à vos besoins.","title":"Temps de changement plus long.","athletic":"Environ la moitié du temps.","recommended":"Temps de correspondance recommandé.","practiced":"Environ 50% de temps en plus."},"updateSuccessMessage":"Paramètres enregistrés dans le profil","means_of_transport_description":"Limiter la recherche à certains moyens de transport.","alternative_connections_text":"Afficher d’autres horaires avec des itinéraires plus longs.","toggle_active":"{} actuellement actif. Désactiver {}","price_display":"Aucune indication de prix.","close":"Fermer la recherche avancée","loginToSave":"Se connecter pour enregistrer","advanced_search":"Recherche avancée","accessibilitySettings":{"noHelp":"Filtrer par horaires sans assistance.","allConnections":"Filtrer par horaires accessibles en fauteuil roulant.","noShuttle":"Filtrer par horaires sans navette.","noAdvanceRegistration":"Filtrer par horaires sans annonce préalable.","showAllInformation":"Afficher les informations sur les trajets accessibles.","noShuttleDescription":"Avec inscription requise, avec l'aide du personnel et sans aide.","allConnectionsDescription":"Avec navette, avec inscription requise, avec l'aide du personnel et sans aide.","noAdvanceRegistrationDescription":"Avec l'aide du personnel et sans aide.","showAllInformationDescription":""},"apply":"Appliquer","train_number":"Numéros de train.","via_description":"Afficher le champ «Via».","connection_options":"Confort.","toggle_inactive":"{} actuellement inactif. Activer {}","alternative_connection_checkboxes_alternative_connections_start_destination":"Afficher des horaires avec d’autres lieux de départ et d’arrivée, situés à proximité. ","notice_attributes":{"direct_sleep_train":"Horaires directs avec voiture-lits.","direct":"Horaires directs.","direct_couchette_train":"Horaires directs avec voiture-couchettes.","exclude_tilting_train":"Sans trains pendulaires"},"alternative_connection_checkboxes_includeEconomic":"Afficher d’autres horaires","connection_options_text":"Filtrer les horaires en fonction du confort.","train_group_label":"Sélection de tous les types de trains","show_prices":"Ne pas indiquer les prix dans l’horaire.","changed":"Filtre de recherche est adapté","saveInProfile":"Enregistrer les paramètres dans le profil","saveSuccessMessage":"Paramètres enregistrés avec succès","saveErrorMessage":"Impossible d'enregistrer les paramètres"},"station_headline":"Vélo, automobile, services à la demande.","journey":{"partially_cancelled":"Une partie de cette relation est supprimée","delayed_unknown":"Retard indéterminé","quay_changed":"Veuillez tenir compte du changement de voie","saved_journey":"Voyage enregistré","no_saved_journey":"Aucun voyage n’est enregistré pour le moment.","cancelled":"Cette relation est supprimée","active":"Le voyage est actif"},"disruption":{"duration":"Durée","reason":"Raison","situation_not_found_title":"Informations plus disponibles.","disclaimer":"Toutes informations, correspondances et observation de l’horaire non garanties. Veuillez vous informer des changements possibles avant votre départ.","situation_not_found_description":"Malheureusement, nous ne pouvons pas afficher d'informations concernant une connexion ferroviaire passée."},"to_label":"À","clear-field":"Supprimer l'entrée","real_time_information":"Informations en temps réel","print_view":{"details_connection":"Détails - relation","boarding_point":"Lieu d’embarquement","station_stop":"Gare/arrêt","travel_with":"Voyage avec","information":"Informations","time":"Heure","departure_label":"dép.","arrival_label":"arr."},"no_stop_results":"Aucun résultat trouvé","with_label":"avec","from_label":"De","toggle_button_alt":"Permuter heure d’arrivée et de départ ","station_description":"Vous souhaitez laisser votre véhicule à la gare avant votre voyage en train? Louer un vélo ou une voiture une fois à destination? Tous les services à proximité des gares sont indiqués sur la carte.","toggle_button_departure_label":"Dép.","toggle_button_arrival_label":"Arr.","trip_info":"Infos sur le trajet","error":{"reload":"Recharger","text":"Rechargez la page ou recherchez à nouveau la liaison souhaitée ultérieurement.","headline":"Une erreur est survenue."},"no_results":{"text":"Veuillez modifier les données saisies ou les paramètres enregistrés et faire une nouvelle recherche.","headline":"Oups! Nous n’avons trouvé aucune correspondance."},"cfd_teaser":{"text":"Comparez les prix en sélectionnant différentes dates de voyage et achetez l’offre dégriffée directement en ligne.","button_label":"Comparer les prix","title":"Vous souhaitez profiter d’offres dégriffées?"},"search":"Recherche d'horaire","loading_results":"Charger les résultats","hidden_title":"Horaire et achat de billets","via_label":"Via","first_class":"1ʳᵉ classe","pois":{"address":"Adresse","park_rail":{"capacity_reservable":"Places disponibles à la réservation","capacity_disabled":"Places pour personne handicapée","capacity_charging":"Places avec borne de recharge","capacity_standard":"Places P+Rail"},"vehicles":"Véhicules","park_and_rail":{"cta_label":"Carte journalière P+Rail"},"car_sharing":{"cta_label":"Pour choisir un véhicule","enterprise_booking_hint":"Selon l'emplacement, le véhicule doit être réservé à l'avance.","enterpriseGoUrl":"https://www.sbb.ch/fr/billets-offres/trafic-individuel/location-de-voiture/carsharing-enterprise-go.html"},"on_demand":{"area":"Zone de desserte","cta_label":"Plus d'informations","service_times":"Heures de desserte","booking_hint":"Veuillez noter que les réservations sont obligatoires."},"offer":"Offre","bike_parking":{"cta_label":"Plus d'informations","for_bikes":"Parking pour les motos","velostation":"Vélostations","for_bikes_with_roof":"Parking couvert pour les motos","for_velos_with_roof":"Parking à vélos couvert","for_velos":"Parking à vélos"},"parking_tarifs":"Tarifs de parking","amount_of_spots":"Nombre de places","opening_hours":"Heures d'ouverture","minimum_duration":"Durée minimale","maximum_duration":"Durée maximale","categories":"Catégories","facility_type":"Type d'installation","prices":"Prix","for_free":"gratuit","bicycles":"Vélos","amount_of_parkingspots":"Nombre de places de parking","bike_sharing":{"cta_label":"Plus d'informations"}},"ctaNotification":{"linkLabel":"Plus d'informations","linkAreaLabel":"Plus d'informations sur les pays ouverts ou fermés à la réservation","linkUrl":"https://www.sbb.ch/fr/aide-et-contact/produits-services/billets/europe/billets.html#anchor2","title":"Non disponible sur CFF.ch.","content":"Ce voyage ne peut malheureusement pas être acheté sur CFF.ch."},"second_class":"2ᵉ classe","context_menu":{"cancel":"Supprimer","print":"Imprimer","copied":"Le lien a été copié","share":"Partager la connexion","compensation":{"linkLabel":"Demander une indemnisation","linkUrl":"https://www.sbb.ch/fr/aide-et-contact/remboursement-indemnisation/remboursements-indemnisations/indemnisation-cas-retard/formulaire-retard.html"},"label":"Menu contextuel","copy":"Copier le lien vers la connexion","delete_trip":"Supprimer le voyage","calendar_save":"Inscrire dans le calendrier","save_trip_not_logged_in":"Se connecter et enregistrer le voyage","save_trip":"Enregistrer le voyage","saved":"Voyage enregistré avec succès","too_many_saved_journeys":"Vous ne pouvez pas enregistrer d'autres voyages, car le nombre maximal a été atteint."},"priceDisplay":{"fullFare":"Prix normal","openToChangeFare":"Choisir le prix affiché","validFor":"Valable pour:","halfareInfo":{"halffarePassenger":"personnes avec abonnement demi-tarif.","children":"enfants (de 6 à 16 ans)."},"currentlyChoosen":"Choix du prix affiché","fullFareInfo":"adultes à partir de 16 ans sans abonnement demi-tarif.","title":"Prix affiché","halffare":"Demi-tarif / enfant"},"input_status_x-results":"résultats","date_error":"Veuillez indiquer une date correcte.","new_label":"nouveau","travelhints":"Indications sur le voyage","chooseDate":"Choisir la date","station_button_label":"Plus sur la gare","waiting_for_input":"Attendre l'entrée","dropdown_results_aria-label":"Arrêts proposés","time_error":"Veuillez indiquer une heure valable.","ticket_from":"à partir de","input_status_no-results":"Aucun résultat","to":"à","inLabel":"à"}}},"__N_SSG":true},"page":"/fr","query":{},"buildId":"loO8e17ShdS5zsbahNE-a","isFallback":false,"gsp":true,"appGip":true,"scriptLoader":[{"type":"text/javascript","src":"https://assets.adobedtm.com/15ff638fdec4/c95c437e4f34/launch-64ab29f9e77a.min.js","strategy":"afterInteractive","async":true}]}</script></body></html>