{"version":3,"file":"589-5b675f4c6beb4eac6b72.js","mappings":"6JAEWA,EAAsB,gDACtBC,EAAO,iCAEPC,EAAW,qC,sBC6CtB,EAtC0C,SAAHC,GAA2C,IAArCC,EAAKD,EAALC,MAAOC,EAASF,EAATE,UAAWC,EAAWH,EAAXG,YACrDC,GAAWC,EAAAA,EAAAA,KAAXD,OACRE,GAA8CC,EAAAA,EAAAA,KAAtCC,EAAQF,EAARE,SAAUC,EAAuBH,EAAvBG,wBAElB,OACEC,EAAAA,cAAA,MAAIC,UDhBgB,uCCgBc,wBAAsB,GACtDD,EAAAA,cAAA,UACEA,EAAAA,cAAA,KAAGC,UAAWC,EAAaC,KAAML,GAC9BN,IAGJC,aAAW,EAAXA,EAAaW,KACZ,SAAAC,GAAU,OACRA,aAAU,EAAVA,EAAYd,QACVS,EAAAA,cAAA,MAAIC,UAAWC,EAA4BI,IAAKD,EAAWd,OACzDS,EAAAA,cAAA,KAAGC,UAAWC,GAAkB,KAChCF,EAAAA,cAAA,KACEG,KAAMJ,EAAwBM,GAC9BJ,UAAWC,EACXK,KAAiB,OAAXb,GAAwC,aAArBW,EAAWd,MAAuB,KAAO,MAEjEc,EAAWd,OAGjB,IAEJA,GACCS,EAAAA,cAAA,MAAIC,UAAWC,GACbF,EAAAA,cAAA,KAAGC,UAAWC,GAAkB,KAChCF,EAAAA,cAAA,KAAGC,UDrCS,qCCqCmBM,KAAiB,OAAXb,GAA6B,aAAVH,EAAuB,KAAO,MACnFA,IAMb,C,uKCnBA,EAfyC,SAAHD,GAA0C,IAApCC,EAAKD,EAALC,MAAOiB,EAAIlB,EAAJkB,KAAMC,EAAenB,EAAfmB,gBAC/Cf,GAAWC,EAAAA,EAAAA,KAAXD,OAER,OACEM,EAAAA,cAAA,OAAKC,UCjBS,kCDkBZD,EAAAA,cAAA,OAAKC,UCfQ,kCDeiBS,IAAKD,aAAe,EAAfA,EAAiBE,IAAKC,KAAKH,aAAe,EAAfA,EAAiBG,MAAO,KACtFZ,EAAAA,cAAA,OAAKC,UClBc,yCDmBjBD,EAAAA,cAAA,OAAKC,UClBK,mCDkBoBY,EAAAA,EAAAA,GAAcL,EAAMd,GAAQ,KAC1DM,EAAAA,cAAA,OAAKC,UCjBM,mCDiBoBV,EAAM,KACrCS,EAAAA,cAAA,aAIR,E,WE1BW,EAAO,+B,WCsDlB,EAzCuC,SAAHV,GAA6E,IAAvEC,EAAKD,EAALC,MAAOiB,EAAIlB,EAAJkB,KAAMM,EAAaxB,EAAbwB,cAAeC,EAAezB,EAAfyB,gBAAiBC,EAAkB1B,EAAlB0B,mBAC7EtB,GAAWC,EAAAA,EAAAA,KAAXD,OACFuB,GAAWC,EAAAA,EAAAA,KAEjB,OACElB,EAAAA,cAAA,OAAKC,UAAWC,GACdF,EAAAA,cAACmB,EAAAA,EAAQ,CACPT,IAAKI,EACLM,eAAgB,SAAAC,GAKd,GAJAA,EAAIC,cAAc,QAAQC,MAAMC,KAAOT,EACzBM,EAAII,iBAAiB,QAC7BC,SAAQ,SAAAC,GAAI,OAAKA,EAAKJ,MAAMC,KAAOR,CAAkB,IAEvDC,EAAU,CACZ,IAAMW,EAAUP,EAAIQ,QAAQ,IAAI3B,GAChC,GAAI0B,EAAS,CACX,IAAAE,EAA0BF,EAAQG,wBAA1BC,EAAKF,EAALE,MAAOC,EAAMH,EAANG,OACfZ,EAAIa,aAAa,UAAU,OAAQF,EAAK,IAAIC,GAC5CZ,EAAIa,aAAa,QAAYF,EAAK,MAClCX,EAAIa,aAAa,SAAaD,EAAM,MACtBZ,EAAII,iBAAiB,QAC7BC,SAAQ,SAAAS,GACZA,EAAKD,aAAa,QAAYF,EAAK,MACnCG,EAAKD,aAAa,SAAaD,EAAM,KACvC,GACF,CACF,CACF,IAGFjC,EAAAA,cAAA,OAAKC,UD1Cc,uCC2CjBD,EAAAA,cAAA,OAAKC,UD1CK,iCC0CoBY,EAAAA,EAAAA,GAAcL,EAAMd,GAAQ,KAC1DM,EAAAA,cAAA,OAAKC,UD1CM,iCC2CTD,EAAAA,cAAA,YAAOT,IAETS,EAAAA,cAAA,aAIR,ECCA,EApCyC,SAAHV,GAO/B,IANLC,EAAKD,EAALC,MACAiB,EAAIlB,EAAJkB,KACAM,EAAaxB,EAAbwB,cACAL,EAAenB,EAAfmB,gBACAM,EAAezB,EAAfyB,gBACAC,EAAkB1B,EAAlB0B,mBAEQtB,GAAWC,EAAAA,EAAAA,KAAXD,OAER,OACEM,EAAAA,cAAA,OAAKC,UC5BS,kCD6BZD,EAAAA,cAAA,OAAKC,UCzBkB,6CD0BrBD,EAAAA,cAAA,OAAKC,UC3BM,kCD2BmBS,IAAKD,EAAgBE,IAAKC,IAAKH,EAAgBG,MAC7EZ,EAAAA,cAAA,OAAKC,UCzBa,0CD0BhBD,EAAAA,cAACmB,EAAAA,EAAQ,CACPlB,UC5BK,gCD6BLS,IAAKI,EACLM,eAAgB,SAAAC,GACdA,EAAIC,cAAc,QAAQC,MAAMC,KAAOT,EACzBM,EAAII,iBAAiB,QAC7BC,SAAQ,SAAAC,GAAI,OAAKA,EAAKJ,MAAMC,KAAOR,CAAkB,GAC7D,IAEFhB,EAAAA,cAAA,OAAKC,UCxCU,yCDyCbD,EAAAA,cAAA,OAAKC,UCxCC,mCDwCwBY,EAAAA,EAAAA,GAAcL,EAAMd,GAAQ,KAC1DM,EAAAA,cAAA,OAAKC,UCpCE,mCDqCLD,EAAAA,cAAA,YAAOT,OAOrB,EEUA,EAzCoC,SAAHD,GAU1B,IATLC,EAAKD,EAALC,MACAoB,EAAGrB,EAAHqB,IACAH,EAAIlB,EAAJkB,KACA4B,EAAQ9C,EAAR8C,SACAtB,EAAaxB,EAAbwB,cACAL,EAAenB,EAAfmB,gBACAM,EAAezB,EAAfyB,gBACAC,EAAkB1B,EAAlB0B,mBACAqB,EAAS/C,EAAT+C,UAEA,OACErC,EAAAA,cAAA,MAAIC,UChCU,2BDgCcsB,MAAO,CAAEe,MAAOD,IAC1CrC,EAAAA,cAAA,KAAGG,KAAMQ,GACO,UAAbyB,EACCpC,EAAAA,cAACuC,EAAS,CAAChD,MAAOA,EAAOiB,KAAMA,EAAMC,gBAAiBA,IACvC,QAAb2B,EACFpC,EAAAA,cAACwC,EAAO,CACNjD,MAAOA,EACPiB,KAAMA,EACNM,cAAeA,EACfC,gBAAiBA,EACjBC,mBAAoBA,IAGT,UAAboB,GACEpC,EAAAA,cAACyC,EAAS,CACRlD,MAAOA,EACPiB,KAAMA,EACNM,cAAeA,EACfL,gBAAiBA,EACjBM,gBAAiBA,EACjBC,mBAAoBA,KAOlC,E,4CEkOA,EA9P0C,SAAH1B,GAYhC,IAXLC,EAAKD,EAALC,MACAmD,EAAIpD,EAAJoD,KACAC,EAAUrD,EAAVqD,WACAC,EAAWtD,EAAXsD,YACAC,EAAIvD,EAAJuD,KACAC,EAAaxD,EAAbwD,cACAC,EAAYzD,EAAZyD,aACAC,EAAO1D,EAAP0D,QACAC,EAAU3D,EAAV2D,WACAC,EAAK5D,EAAL4D,MACAC,EAAQ7D,EAAR6D,SAEQC,GAAsBvD,EAAAA,EAAAA,KAAtBuD,kBACFC,GAAgBC,EAAAA,EAAAA,QAAO,MACvBC,EAAQ,GAAAC,QAAAC,EAAAA,EAAAA,GAAKX,QAAAA,EAAiB,KAAEW,EAAAA,EAAAA,GAAOV,QAAAA,EAAgB,KAAEU,EAAAA,EAAAA,GAAOZ,QAAAA,EAAQ,KAC3Ea,QAAO,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,GAAcD,EAAKE,gBAAiBF,EAAKG,mBAAmB,IAC3EC,MAAK,SAACC,EAAGC,GAAC,OAAK,IAAIC,KAAKD,EAAEJ,iBAAiBM,UAAY,IAAID,KAAKF,EAAEH,iBAAiBM,SAAS,IAC/FC,GAA0CC,EAAAA,EAAAA,UAAgBd,GAAnDe,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtCI,GAA0CH,EAAAA,EAAAA,UAAiB,IAApDI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEhCG,EAAe,SAACC,GAA6B,IAADC,EAC1CC,EAA6B,SAAV,QAARD,EAAAE,gBAAQ,IAAAF,OAAA,EAARA,EAAUG,MAAiB,EAAI,EAC1CC,EAAY5B,EAAc6B,QAAQC,SAAS,GAAGC,YAAc,GAClE/B,EAAc6B,QAAQG,SAAS,CAC7BC,KAAML,EAAYL,EAAkBE,EACpCS,IAAK,EACLC,SAAU,UAEd,GAEAC,EAAAA,EAAAA,YAAU,WACJpC,EAAc6B,UAChB7B,EAAc6B,QAAQQ,WAAa,EAEvC,GAAG,CAACnC,IAEJ,IAAMoC,EAAgBC,IAAalD,GAE7BmD,EAAqF7C,EAIvF,CACE,CAAEzD,MAAOyD,EAAQ8C,iCAAmC9C,EAAQ+C,4BAA6BC,SAAU,IACnG,CAAEzG,MAAOyD,EAAQiD,uBAAyBjD,EAAQkD,kBAAmBF,SAAU,eAC/E,CACEzG,MAAOyD,EAAQmD,+BAAiCnD,EAAQoD,0BACxDJ,SAAU,uBAEZ,CACEzG,MAAOyD,EAAQqD,+BAAiCrD,EAAQsD,0BACxDN,SAAU,uBAEZtC,QAAO,SAAAA,GAAM,OAAIA,EAAOnE,KAAK,IAd9B0D,EAECA,EAAW7C,KAAI,SAAAmG,GAAQ,MAAK,CAAEhH,MAAOgH,EAAUP,SAAU,qBAAsBQ,oBAAoB,EAAM,IADzG,GAeN,OACExG,EAAAA,cAAA,OAAKC,UClFmB,6CDmFtBD,EAAAA,cAAA,OAAKC,UCpFS,qCDqFZD,EAAAA,cAAA,MAAIC,UClFO,mCDkFkBwG,wBAAyB,CAAEC,OAAQnH,KAChES,EAAAA,cAAA,OAAKC,UCxFQ,uCDyFT4F,GAAgBF,IAChB3F,EAAAA,cAAA,OAAKC,UCzFU,4CD0FZ4F,EAAac,OAAS,GACrB3G,EAAAA,cAAC4G,EAAAA,EAAS,CACRC,SAAUhB,EAAazF,KAAI,SAAAsD,GAAM,MAAK,CACpCoD,MAAOpD,EAAOnE,MACdwH,QAAS,WACHtC,IAAkBf,EAAOnE,OACvBmE,EAAO8C,mBACTjC,EACEhB,EAAMG,QACJ,SAAAC,GAAI,IAAAqD,EAAA,MACkB,uBAApBrD,EAAKsD,aAAoD,QAAbD,EAAArD,EAAK4C,gBAAQ,IAAAS,OAAA,EAAbA,EAAeT,YAAa7C,EAAOnE,KAAK,KAI1FgF,EACEb,EAAOsC,SAAWzC,EAAMG,QAAO,SAAAC,GAAI,OAAIA,EAAKsD,aAAevD,EAAOsC,QAAQ,IAAIzC,GAGlFmB,EAAiBhB,EAAOnE,SAExBgF,EAAiBhB,GACjBmB,EAAiB,IAErB,EACAwC,SAAUzC,IAAkBf,EAAOnE,MACpC,MAGJoG,GAAiB3F,EAAAA,cAAA,KAAGC,UCnHZ,uCDmHyCwG,wBAAyB,CAAEC,OAAQf,MAGxF/C,GACC5C,EAAAA,cAAA,KAAGG,KAAMwC,EAAY1C,UC7HZ,sCD8HPD,EAAAA,cAACmH,EAAAA,EAAO,CAAC5H,MAAOqD,EAAawE,YAAY,EAAOC,SAAS,OAKjErH,EAAAA,cAAA,MAAIC,UClIkB,4CDkIgBqH,IAAKjE,EAAe9B,MAAO,CAAEgG,SAAUpE,EAAW,OAAS,WAC9FmB,aAAa,EAAbA,EAAekD,MAAM,EAAGtE,GAAO9C,KAAI,SAACuD,EAAM8D,GAAW,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACLC,EAA9C,GAAwB,uBAApBxE,EAAKsD,WACP,OACEjH,EAAAA,cAACoI,EAAI,CACH9H,IAAKqD,EAAK0E,GACV9I,MAAM,GACNoB,IAAKgD,EAAK2E,MAAgB,QAAXH,EAAGxE,EAAK4E,WAAG,IAAAJ,OAAA,EAARA,EAAUxH,IAAMgD,EAAK6E,aACvCpG,SAAS,QACT5B,KAAK,GACLM,cAAc,GACdL,gBAAiBkD,EAAK8E,MACtB1H,gBAAgB,GAChBC,mBAAmB,GACnBqB,UAAU,KAKhB,IAKkFqG,EAAAC,EAAAC,EAAAC,EAAAC,EAL9ErI,EAAkB,CAAEE,IAAK,GAAIC,IAAK,IAClCE,EAAgB,GAChBsB,EAAW,MACT7C,GAA2C,KAAd,QAArBmI,EAAA/D,EAAKoF,cAAc,UAAE,IAAArB,OAAA,EAArBA,EAAuBsB,SAAoB,GAAKrF,EAAKpE,MAE1C,QAArBoI,EAAAhE,EAAKoF,cAAc,UAAE,IAAApB,GAArBA,EAAuBsB,SAAgC,QAAzBrB,EAAIjE,EAAKoF,cAAc,UAAE,IAAAnB,GAAgB,QAAhBC,EAArBD,EAAuBsB,sBAAc,IAAArB,GAArCA,EAAuClH,MAC3EF,EAAkB,CAChBE,KAA0B,QAArB+H,EAAA/E,EAAKoF,cAAc,UAAE,IAAAL,GAAgB,QAAhBC,EAArBD,EAAuBQ,sBAAc,IAAAP,OAAhB,EAArBA,EAAuChI,MAAO,GACnDC,KAA0B,QAArBgI,EAAAjF,EAAKoF,cAAc,UAAE,IAAAH,GAAgB,QAAhBC,EAArBD,EAAuBM,sBAAc,IAAAL,OAAhB,EAArBA,EAAuCjI,MAAO,IAERwB,EAAxB,QAArB0G,EAAAnF,EAAKoF,cAAc,UAAE,IAAAD,GAArBA,EAAuBK,mBAAiC,QAAuB,SAEvD,QAAtBrB,EAACnE,EAAKoF,cAAc,UAAE,IAAAjB,GAArBA,EAAuBmB,SAAiC,QAAtBlB,EAACpE,EAAKoF,cAAc,UAAE,IAAAhB,GAArBA,EAAuBoB,qBAC7DrI,EAAa,+BAAkC2G,EAAQ,EAAK,GAAC,QAU/D,OACEzH,EAAAA,cAACoI,EAAI,CACH9H,IAAKqD,EAAK0E,GACV9I,MAAOA,EACPoB,IAZe,SAAAgD,GACjB,MAAwB,gBAApBA,EAAKsD,WACA7D,EAAkB,CAAE6D,WAAY,cAAemC,KAAMzF,EAAKyF,OACpC,wBAApBzF,EAAKsD,WACP7D,EAAkB,CAAE6D,WAAY,sBAAuBmC,KAAMzF,EAAKyF,YADpE,CAGT,CAMSC,CAAW1F,GAChBvB,SAAUA,EACV5B,KAAMmD,EAAKE,gBACX/C,cAAeA,EACfL,gBAAiBA,EACjBM,gBAAsC,QAAvBiH,EAAErE,EAAKoF,cAAc,UAAE,IAAAf,OAAA,EAArBA,EAAuBsB,oBAAoBC,IAC5DvI,oBAAoBwI,EAAAA,EAAAA,GAAwC,QAAtBvB,EAACtE,EAAKoF,cAAc,UAAE,IAAAd,OAAA,EAArBA,EAAuBqB,oBAAoBC,KAClFlH,UAAgC,QAAvB6F,EAAEvE,EAAKoF,cAAc,UAAE,IAAAb,OAAA,EAArBA,EAAuBuB,cAAcF,KAGtD,KAGDrG,EAAQ,GACPlD,EAAAA,cAAA,OAAKC,UChMgB,8CDiMnBD,EAAAA,cAAC0J,EAAAA,EAAW,CAACC,UAAU,OAAO5C,QAAS,kBAAMpC,GAAc,EAAE,IAC7D3E,EAAAA,cAAC0J,EAAAA,EAAW,CAACC,UAAU,QAAQ5C,QAAS,kBAAMpC,EAAa,EAAE,KAKvE,C,6FEvMWiF,EAAc,wCACd,EAAS,mCACTC,EAAU,oCAEVC,EAAc,wCACdC,EAAkB,4CAClBC,EAAgB,0CAChBC,EAAW,qC,WC6KtB,EAzK0C,SAAH3K,GAAkD,IAA5C4K,EAAQ5K,EAAR4K,SAAUC,EAAgB7K,EAAhB6K,iBAAkBC,EAAQ9K,EAAR8K,SAC/D1K,GAAWC,EAAAA,EAAAA,KAAXD,OAEF2K,EAAe,CACnBC,GAAI,CAAEC,KAAM,QAASC,MAAO,QAC5BC,GAAI,CAAEF,KAAM,OAAQC,MAAO,UAG7BE,EAAwBL,EAAa3K,IAAW2K,EAAaI,GAArDF,EAAIG,EAAJH,KAAMC,EAAKE,EAALF,MAMRG,EAJaR,EAChB/J,KAAI,SAAAwK,GAAO,OAAIA,EAAQ/G,gBAAgBgH,MAAM,KAAK,EAAE,IACpDnH,QAAO,SAACoH,EAAOrD,EAAOsD,GAAI,OAAKA,EAAKC,QAAQF,KAAWrD,CAAK,IAE/B1D,MAAK,SAACC,EAAGC,GACvC,IAAMgH,EACO,OAAXvL,EACI,CACE,UACA,UACA,OACA,QACA,MACA,OACA,UACA,OACA,YACA,UACA,WACA,YAEF,CACE,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAER,OAAOuL,EAAWD,QAAQhH,GAAKiH,EAAWD,QAAQ/G,EACpD,IAEMiH,EAAYf,EACf/J,KAAI,SAAAwK,GAAO,OAAIA,EAAQ/G,gBAAgBgH,MAAM,KAAK,EAAE,IACpDnH,QAAO,SAACoH,EAAOrD,EAAOsD,GAAI,OAAKA,EAAKC,QAAQF,KAAWrD,CAAK,IAE/DrD,GAA0CC,EAAAA,EAAAA,UAAS,IAA5C8G,EAAa/G,EAAA,GAAEgH,EAAgBhH,EAAA,GACtCI,GAAwCH,EAAAA,EAAAA,WAAS6G,aAAS,EAATA,EAAY,KAAM,IAA5DG,EAAY7G,EAAA,GAAE8G,EAAe9G,EAAA,GACpC+G,GAAgDlH,EAAAA,EAAAA,WAAS,GAAlDmH,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAC5CG,GAA8CrH,EAAAA,EAAAA,WAAS,GAAhDsH,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,IAE1CjG,EAAAA,EAAAA,YAAU,WACJyF,EAAUvE,OAAS,GACrByD,EAASD,EAAiBzG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASX,EAAU,GAAG,IAE9F,GAAG,IAEH,IAAMY,EAAmB,SAACvB,GACxBe,EAAgBf,GAChBqB,GAAmB,GACnBxB,EACEG,EACIJ,EAAiBzG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAAStB,EAAK,IACzEL,EAASxG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASV,EAAc,IAElF,EAEMY,EAAoB,SAACvB,GACzBY,EAAiBZ,GACjBiB,GAAoB,GACpBrB,EACEI,EACIL,EAAiBzG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASrB,EAAM,IAC1EN,EAASxG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASR,EAAa,IAEjF,EAcA,OACErL,EAAAA,cAAA,OAAKC,UDxGe,wCCyGlBD,EAAAA,cAAA,OAAKC,UAAWC,GACdF,EAAAA,cAAA,OACEC,UAAcC,EAAsB,KAAImL,EAAenL,EAAkB,IACzE6G,QAAS,kBAAM6E,GAAoBD,EAAgB,GAEnD3L,EAAAA,cAAA,OAAKC,UAAcC,EAAkB,KAAImL,EAAenL,EAAkB,KAAOmL,GAAgBd,GAChGoB,GACC3L,EAAAA,cAAA,OAAKC,UAAWC,GACdF,EAAAA,cAAA,OAAKC,UAAWC,EAAe6G,QAAS,kBAAM+E,EAAiB,GAAG,GAC/DvB,GAEFW,EAAU9K,KAAI,SAAAmK,GAAI,OACjBvK,EAAAA,cAAA,OACEM,IAAKiK,EACLtK,UAAcC,EAAa,KAAImL,IAAiBd,EAAOrK,EAAkB,IACzE6G,QAAS,kBAAM+E,EAAiBvB,EAAK,GAEpCA,EACG,KAIXc,GACCrL,EAAAA,cAAA,QACE+G,QAAS,SAAAiF,GACPA,EAAEC,kBAtCdX,EAAgB,IAChBM,GAAmB,GACnBxB,EAASF,EAASxG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASV,EAAc,IAsCzE,EACAlL,UAAWC,MAKnBF,EAAAA,cAAA,OAAKC,UAAWC,GACdF,EAAAA,cAAA,OACEC,UAAcC,EAAsB,KAAIiL,EAAgBjL,EAAkB,IAC1E6G,QAAS,kBAAM0E,GAAqBD,EAAiB,GAErDxL,EAAAA,cAAA,OAAKC,UAAcC,EAAkB,KAAIiL,EAAgBjL,EAAkB,KACxEiL,GAAiBX,GAEnBgB,GACCxL,EAAAA,cAAA,OAAKC,UAAWC,GACdF,EAAAA,cAAA,OAAKC,UAAWC,EAAe6G,QAAS,kBAAMgF,EAAkB,GAAG,GAChEvB,GAEFG,EAAavK,KAAI,SAAAoK,GAAK,OACrBxK,EAAAA,cAAA,OACEM,IAAKkK,EACLvK,UAAcC,EAAa,KAAIiL,IAAkBX,EAAQtK,EAAkB,IAC3E6G,QAAS,kBAAMgF,EAAkBvB,EAAM,GAEtCA,EACG,KAIXW,GACCnL,EAAAA,cAAA,QACE+G,QAAS,SAAAiF,GACPA,EAAEC,kBAnEdb,EAAiB,IACjBK,GAAoB,GACpBrB,EAASF,EAASxG,QAAO,SAAAkH,GAAO,OAAIA,EAAQ/G,gBAAgBgI,SAASR,EAAa,IAmExE,EACApL,UAAWC,MAOzB,C,oFChJA,EApBuC,SAAHZ,GAA+E,IAAzEC,EAAKD,EAALC,MAAO6H,EAAU9H,EAAV8H,WAAU8E,EAAA5M,EAAE+H,QAAAA,OAAO,IAAA6E,GAAQA,EAAAC,EAAA7M,EAAEW,UAAAA,OAAS,IAAAkM,EAAG,GAAEA,EAAEpF,EAAOzH,EAAPyH,QAASqF,EAAI9M,EAAJ8M,KAC/FC,EAAsBnM,mCAAkBkH,ECd1B,kCDcyD,IAAE,KAC7EC,ECdiB,iCDcU,IAAE,IAC3BpH,EAEJ,OAAImM,SAAAA,EAAMzL,IAENX,EAAAA,cAAA,KAAGG,KAAMiM,EAAKzL,IAAK2L,OAAQF,EAAKG,WAAa,QAAU,SAAUtM,UAAWoM,EAAkBtF,QAASA,GACpGxH,GAMLS,EAAAA,cAAA,UAAQC,UAAWoM,EAAkBtF,QAASA,GAC3CxH,EAGP,C,+FEEA,EApByC,SAAHD,GAAsB,IAAhBuH,EAAQvH,EAARuH,SAC1C,OACE7G,EAAAA,cAAA,OAAKC,UCfc,uCDgBjBD,EAAAA,cAAA,OAAKC,UCjBW,sCDkBb4G,aAAQ,EAARA,EAAUzG,KAAI,SAACoM,EAAS/E,GAAK,OAC5BzH,EAAAA,cAACmH,EAAAA,EAAO,CACN5H,MAAOiN,EAAQ1F,MACfM,WAAYoF,EAAQtF,SACpBjH,UAAWuM,EAAQnF,QCpBH,2CDoBqC,GACrDA,QAASmF,EAAQnF,QACjBN,QAASyF,EAAQzF,QACjBqF,KAAMI,EAAQ7L,KAAO,CAAEA,IAAK6L,EAAQ7L,IAAK4L,YAAY,GACrDjM,IAAKkM,EAAQ1F,OACb,KAKZ,C,oFEZA,EAX2C,SAAHxH,GAAiD,IAA3CqK,EAASrK,EAATqK,UAAWpI,EAAKjC,EAALiC,MAAOkL,EAAQnN,EAARmN,SAAU1F,EAAOzH,EAAPyH,QACxE,OACE/G,EAAAA,cAAA,UAAQC,UCXQ,qCDWkBsB,MAAOA,EAAOwF,QAASA,EAAS0F,SAAUA,GAC1EzM,EAAAA,cAAA,OACEU,IAAQgM,6BACRzM,UAAyB,UAAd0J,ECbK,yCDauC,GACvD/I,IAAmB,SAAd+I,EAAuB,aAAe,gBAInD,C,0GEjBa9I,EAAgB,SAACL,EAAcd,EAAgBiN,GAC1D,GAAa,KAATnM,EAAa,MAAO,GAExB,IAAMoM,EAA0B,OAAXlN,EAAkB4K,EAAAA,GAAKuC,EAAAA,EACtCC,EAAwB,OAAXpN,EAAkB,cAAgB,eAE/CqN,GAAgBC,EAAAA,EAAAA,IAAO,IAAI9I,KAAK1D,GAAOsM,EAAY,CAAEpN,OAAQkN,IAC7DK,EAA2B,IAAIC,KAAKC,eAAezN,EAAQ,CAC/D8K,MAAO,QACP4C,IAAK,YACJJ,OAAO,IAAI9I,KAAK1D,IAEnB,MAAe,OAAXd,GAAmBqN,EAAcM,WAAW,MACvC,OAASN,EAAcvF,MAAM,GAG/BmF,EAAcM,EAA2BF,CAClD,C,y5BCXO,IAAMO,EAAyB,SAGpCpD,EACAxK,GAGA,IAAI6N,EAAqC,GACrCC,EAAsB,GACtBC,EAA4B,GAEhC,GAAIvD,EAAU,CACZ,QAAqCwD,EAArCC,EAAAC,EAA6B1D,KAAQwD,EAAAC,KAAAE,MAAE,CAAC,IAA7BC,EAAcJ,EAAA5C,MACvB,GAAIgD,IAAkBlK,EAAAA,EAAAA,GAAckK,EAAejK,gBAAiBiK,EAAehK,oBAAqB,CACtG,IAAItD,GAAOwM,EAAAA,EAAAA,IAAO,IAAI9I,KAAK4J,EAAejK,iBAAkB,YAAa,CACvEnE,OAAmB,OAAXA,EAAkB4K,EAAAA,GAAKuC,EAAAA,IAEjCrM,EAAOA,EAAKuN,OAAO,GAAGC,cAAgBxN,EAAKgH,MAAM,GAEvB,KAAtBiG,GAA4BjN,IAASiN,EACvCD,EAAeS,KAAKH,GACXtN,GAAQiN,IACjBF,EAAiBU,KAAK,CAAEpK,gBAAiB4J,EAAmBvD,SAAUsD,IACtEA,EAAiB,CAACM,IAEpBL,EAAoBjN,CACtB,CACF,CACIgN,EAAe7G,OAAS,GAC1B4G,EAAiBU,KAAK,CAAEpK,gBAAiB4J,EAAmBvD,SAAUsD,GAE1E,CACA,OAAOD,CACT,C,qEC1CO,IAAM/D,EAAqB,SAAClH,GACjC,IAAM4L,EAAa,CACjB,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,WACZ,CAAC,UAAW,YAUd,OAAK5L,EAPuB,SAAC6L,GAC3B,QAAAC,EAAA,EAAAC,EAA+BH,EAAUE,EAAAC,EAAA1H,OAAAyH,IAAE,CAAtC,IAAAE,EAAAD,EAAAD,GAAOG,EAAMD,EAAA,GAAEE,EAAMF,EAAA,GACxB,GAAIH,EAAWM,gBAAkBF,EAAQ,OAAOC,EAChD,GAAIL,EAAWM,gBAAkBD,EAAQ,OAAOD,CAClD,CACA,MAAO,EACT,CAEOG,CAAoBpM,GADR,EAErB,C,qECrBO,IAAMsB,EAAgB,SAAC+K,EAAeC,GAC3C,IAAMC,EAAY,IAAI3K,KAAKyK,GACrBG,EAAUF,EAAM,IAAI1K,KAAK0K,GAAO,KAChCG,EAAY,IAAI7K,KAGtB,SAAK2K,GAAaE,EAAYF,GAAcC,GAAWC,EAAYD,KAExDD,GAAaE,KAAeD,GAAWC,EAAYD,SAAvD,EAGT,C,8ICVO,IAAIE,EAAY,oCACZC,EAAY,oCACZ1P,EAAQ,gCACR2P,EAAW,kC","sources":["webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-image/card-image.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-image/card-image.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card-svg/card-svg.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card-svg/card-svg.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-split/card-split.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card-split/card-split.module.scss","webpack://keolis.com/./src/v3/components/media-cards/card/card.tsx","webpack://keolis.com/./src/v3/components/media-cards/card/card.module.scss","webpack://keolis.com/./src/v3/components/media-cards/media-cards.tsx","webpack://keolis.com/./src/v3/components/media-cards/media-cards.module.scss","webpack://keolis.com/./src/v3/components/pagination/pagination.module.scss","webpack://keolis.com/./src/v3/components/pagination/pagination.tsx","webpack://keolis.com/./src/v3/components/tools/filter-bar/capsule/capsule.tsx","webpack://keolis.com/./src/v3/components/tools/filter-bar/capsule/capsule.module.scss","webpack://keolis.com/./src/v3/components/tools/filter-bar/filter-bar.tsx","webpack://keolis.com/./src/v3/components/tools/filter-bar/filter-bar.module.scss","webpack://keolis.com/./src/v3/components/tools/scroll-arrow/scroll-arrow.tsx","webpack://keolis.com/./src/v3/components/tools/scroll-arrow/scroll-arrow.module.scss","webpack://keolis.com/./src/v3/hooks/use-format-date.ts","webpack://keolis.com/./src/v3/hooks/use-sort-articles-by-month.ts","webpack://keolis.com/./src/v3/utils/get-associated-color.ts","webpack://keolis.com/./src/v3/utils/get-is-date-in-range.ts","webpack://keolis.com/./src/v3/templates/newsroom/all-page.module.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport var breadcrumb = \"breadcrumb-module--breadcrumb--a05f8\";\nexport var breadcrumbContainer = \"breadcrumb-module--breadcrumbContainer--19e9a\";\nexport var home = \"breadcrumb-module--home--2f79d\";\nexport var lastPage = \"breadcrumb-module--lastPage--dd27b\";\nexport var pElement = \"breadcrumb-module--pElement--155b5\";","import React from \"react\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./breadcrumb.module.scss\"\nimport { useLocale } from \"../../context/locale-context\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\ntype RenderProps = {\n title: string\n homeLabel: string\n middlePages?: InternalExternalLinkBlockFieldsFragment[]\n}\n\nconst Breadcrumb: React.FC<RenderProps> = ({ title, homeLabel, middlePages }) => {\n const { locale } = useLocale()\n const { homeLink, getInternalExternalLink } = useSlugs()\n\n return (\n <ul className={styles.breadcrumb} data-datocms-noindex={true}>\n <li>\n <a className={styles.home} href={homeLink}>\n {homeLabel}\n </a>\n </li>\n {middlePages?.map(\n middlePage =>\n middlePage?.title && (\n <li className={styles.breadcrumbContainer} key={middlePage.title}>\n <p className={styles.pElement}>{\">\"}</p>\n <a\n href={getInternalExternalLink(middlePage)}\n className={styles.home}\n lang={locale !== \"en\" && middlePage.title === \"Newsroom\" ? \"en\" : null}\n >\n {middlePage.title}\n </a>\n </li>\n )\n )}\n {title && (\n <li className={styles.breadcrumbContainer}>\n <p className={styles.pElement}>{\">\"}</p>\n <p className={styles.lastPage} lang={locale !== \"en\" && title === \"Newsroom\" ? \"en\" : null}>\n {title}\n </p>\n </li>\n )}\n </ul>\n )\n}\n\nexport default Breadcrumb\n","import React from \"react\"\nimport * as styles from \"./card-image.module.scss\"\nimport { useFormatDate } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n title: string\n date: string\n backgroundImage: {\n url: string\n alt: string\n }\n}\n\nconst CardImage: React.FC<RenderProps> = ({ title, date, backgroundImage }) => {\n const { locale } = useLocale()\n\n return (\n <div className={styles.card}>\n <img className={styles.image} src={backgroundImage?.url} alt={backgroundImage?.alt || \"\"} />\n <div className={styles.cardContent}>\n <div className={styles.date}>{useFormatDate(date, locale)} </div>\n <div className={styles.title}>{title} </div>\n <div />\n </div>\n </div>\n )\n}\n\nexport default CardImage\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-image-module--card--e581f\";\nexport var cardContent = \"card-image-module--cardContent--5bf2e\";\nexport var date = \"card-image-module--date--92890\";\nexport var image = \"card-image-module--image--1ff47\";\nexport var title = \"card-image-module--title--81a65\";","// extracted by mini-css-extract-plugin\nexport var card = \"card-svg-module--card--0b4d3\";\nexport var cardContent = \"card-svg-module--cardContent--ad7bc\";\nexport var date = \"card-svg-module--date--d8bef\";\nexport var title = \"card-svg-module--title--76c03\";","import React, { useEffect, useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport * as styles from \"./card-svg.module.scss\"\nimport { useFormatDate, useIsMobile } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n title: string\n date: string\n backgroundSvg: string\n backgroundColor?: string\n backgroundColorBis?: string\n}\n\nconst CardSvg: React.FC<RenderProps> = ({ title, date, backgroundSvg, backgroundColor, backgroundColorBis }) => {\n const { locale } = useLocale()\n const isMobile = useIsMobile()\n\n return (\n <div className={styles.card}>\n <ReactSVG\n src={backgroundSvg}\n afterInjection={svg => {\n svg.querySelector(\"rect\").style.fill = backgroundColor\n const paths = svg.querySelectorAll(\"path\")\n paths.forEach(path => (path.style.fill = backgroundColorBis))\n\n if (isMobile) {\n const cardDiv = svg.closest(`.${styles.card}`)\n if (cardDiv) {\n const { width, height } = cardDiv.getBoundingClientRect()\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`)\n svg.setAttribute(\"width\", `${width}px`)\n svg.setAttribute(\"height\", `${height}px`)\n const rects = svg.querySelectorAll(\"rect\")\n rects.forEach(rect => {\n rect.setAttribute(\"width\", `${width}px`)\n rect.setAttribute(\"height\", `${height}px`)\n })\n }\n }\n }}\n />\n\n <div className={styles.cardContent}>\n <div className={styles.date}>{useFormatDate(date, locale)} </div>\n <div className={styles.title}>\n <span>{title}</span>\n </div>\n <div />\n </div>\n </div>\n )\n}\n\nexport default CardSvg\n","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport * as styles from \"./card-split.module.scss\"\nimport { useFormatDate } from \"../../../../hooks\"\nimport { useLocale } from \"../../../../context/locale-context\"\n\ntype RenderProps = {\n title: string\n date: string\n backgroundSvg: string\n backgroundImage: {\n url: string\n alt: string\n }\n backgroundColor?: string\n backgroundColorBis?: string\n}\n\nconst CardSplit: React.FC<RenderProps> = ({\n title,\n date,\n backgroundSvg,\n backgroundImage,\n backgroundColor,\n backgroundColorBis,\n}) => {\n const { locale } = useLocale()\n\n return (\n <div className={styles.card}>\n <div className={styles.imagesContainer}>\n <img className={styles.image} src={backgroundImage.url} alt={backgroundImage.alt} />\n <div className={styles.svgContainer}>\n <ReactSVG\n className={styles.svg}\n src={backgroundSvg}\n afterInjection={svg => {\n svg.querySelector(\"rect\").style.fill = backgroundColor\n const paths = svg.querySelectorAll(\"path\")\n paths.forEach(path => (path.style.fill = backgroundColorBis))\n }}\n />\n <div className={styles.cardContent}>\n <div className={styles.date}>{useFormatDate(date, locale)} </div>\n <div className={styles.title}>\n <span>{title}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default CardSplit\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-split-module--card--f05ca\";\nexport var cardContent = \"card-split-module--cardContent--04e45\";\nexport var date = \"card-split-module--date--45b9d\";\nexport var image = \"card-split-module--image--721a0\";\nexport var imagesContainer = \"card-split-module--imagesContainer--39e01\";\nexport var svg = \"card-split-module--svg--efb2e\";\nexport var svgContainer = \"card-split-module--svgContainer--eaf73\";\nexport var title = \"card-split-module--title--5bb59\";","import React from \"react\"\nimport * as styles from \"./card.module.scss\"\nimport CardImage from \"./card-image/card-image\"\nimport CardSvg from \"./card-svg/card-svg\"\nimport CardSplit from \"./card-split/card-split\"\n\ntype RenderProps = {\n title: string\n url: string\n date: string\n cardType: string\n backgroundSvg: string\n backgroundImage: {\n url: string\n alt: string\n }\n backgroundColor?: string\n backgroundColorBis?: string\n textColor: string\n}\n\nconst Card: React.FC<RenderProps> = ({\n title,\n url,\n date,\n cardType,\n backgroundSvg,\n backgroundImage,\n backgroundColor,\n backgroundColorBis,\n textColor,\n}) => {\n return (\n <li className={styles.card} style={{ color: textColor }}>\n <a href={url}>\n {cardType === \"image\" ? (\n <CardImage title={title} date={date} backgroundImage={backgroundImage} />\n ) : cardType === \"svg\" ? (\n <CardSvg\n title={title}\n date={date}\n backgroundSvg={backgroundSvg}\n backgroundColor={backgroundColor}\n backgroundColorBis={backgroundColorBis}\n />\n ) : (\n cardType === \"split\" && (\n <CardSplit\n title={title}\n date={date}\n backgroundSvg={backgroundSvg}\n backgroundImage={backgroundImage}\n backgroundColor={backgroundColor}\n backgroundColorBis={backgroundColorBis}\n />\n )\n )}\n </a>\n </li>\n )\n}\n\nexport default Card\n","// extracted by mini-css-extract-plugin\nexport var card = \"card-module--card--910d3\";","import React, { useEffect, useRef, useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport {\n NewsMediaFieldsFragment,\n NewsroomFilterTitlesFieldsFragment,\n PressReleaseMediaFieldsFragment,\n PublicationMediaFieldsFragment,\n} from \"../../../../graphql-types\"\nimport * as styles from \"./media-cards.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\nimport ScrollArrow from \"../tools/scroll-arrow/scroll-arrow\"\nimport Card from \"./card/card\"\nimport Capsule from \"../tools/filter-bar/capsule/capsule\"\nimport FilterBar from \"../tools/filter-bar/filter-bar\"\nimport { getAssociatedColor, isDateInRange } from \"../../utils\"\n\ntype RenderProps = {\n title: string\n text?: string\n buttonLink?: string\n buttonLabel?: string\n news?: NewsMediaFieldsFragment[]\n pressReleases?: PressReleaseMediaFieldsFragment[]\n publications?: PublicationMediaFieldsFragment[]\n filters?: NewsroomFilterTitlesFieldsFragment\n categories?: string[]\n limit?: number\n multiRow?: boolean\n}\n\nconst MediaCards: React.FC<RenderProps> = ({\n title,\n text,\n buttonLink,\n buttonLabel,\n news,\n pressReleases,\n publications,\n filters,\n categories,\n limit,\n multiRow,\n}) => {\n const { buildInternalLink } = useSlugs()\n const mediaCardsRef = useRef(null)\n const cards = [...(pressReleases ?? []), ...(publications ?? []), ...(news ?? [])]\n .filter(card => isDateInRange(card.publicationDate, card.publicationEndDate))\n .sort((a, b) => new Date(b.publicationDate).getTime() - new Date(a.publicationDate).getTime())\n const [filteredCards, setFilteredCards] = useState<any[]>(cards)\n const [activeCapsule, setActiveCapsule] = useState<string>(\"\")\n\n const scrollToCard = (scrollDirection: number) => {\n const rtlRatio = document?.dir === \"rtl\" ? -1 : 1\n const itemWidth = mediaCardsRef.current.children[1].clientWidth + 32\n mediaCardsRef.current.scrollBy({\n left: itemWidth * scrollDirection * rtlRatio,\n top: 0,\n behavior: \"smooth\",\n })\n }\n\n useEffect(() => {\n if (mediaCardsRef.current) {\n mediaCardsRef.current.scrollLeft = 0\n }\n }, [cards])\n\n const sanitizedText = sanitizeHtml(text)\n\n const filtersArray: { title: string; typename: string; filterPublications?: boolean }[] = !filters\n ? !categories\n ? []\n : categories.map(category => ({ title: category, typename: \"DatoCmsPublication\", filterPublications: true }))\n : [\n { title: filters.newsroomInTheSpotlightIsEnabled && filters.newsroomInTheSpotlightTitle, typename: \"\" },\n { title: filters.newsroomNewsIsEnabled && filters.newsroomNewsTitle, typename: \"DatoCmsNews\" },\n {\n title: filters.newsroomPressReleaseIsEnabled && filters.newsroomPressReleaseTitle,\n typename: \"DatoCmsPressRelease\",\n },\n {\n title: filters.newsroomPublicationsIsEnabled && filters.newsroomPublicationsTitle,\n typename: \"DatoCmsPublication\",\n },\n ].filter(filter => filter.title)\n\n return (\n <div className={styles.mediaContainer}>\n <div className={styles.header}>\n <h2 className={styles.title} dangerouslySetInnerHTML={{ __html: title }} />\n <div className={styles.content}>\n {(filtersArray || sanitizedText) && (\n <div className={styles.filtersColumn}>\n {filtersArray.length > 0 && (\n <FilterBar\n capsules={filtersArray.map(filter => ({\n label: filter.title,\n onClick: () => {\n if (activeCapsule !== filter.title) {\n if (filter.filterPublications) {\n setFilteredCards(\n cards.filter(\n card =>\n card.__typename === \"DatoCmsPublication\" && card.category?.category === filter.title\n )\n )\n } else {\n setFilteredCards(\n filter.typename ? cards.filter(card => card.__typename === filter.typename) : cards\n )\n }\n setActiveCapsule(filter.title)\n } else {\n setFilteredCards(cards)\n setActiveCapsule(\"\")\n }\n },\n isActive: activeCapsule === filter.title,\n }))}\n />\n )}\n {sanitizedText && <p className={styles.textIntro} dangerouslySetInnerHTML={{ __html: sanitizedText }} />}\n </div>\n )}\n {buttonLabel && (\n <a href={buttonLink} className={styles.capsule}>\n <Capsule title={buttonLabel} isSelected={false} special={true} />\n </a>\n )}\n </div>\n </div>\n <ul className={styles.cardsContainer} ref={mediaCardsRef} style={{ flexWrap: multiRow ? \"wrap\" : \"nowrap\" }}>\n {filteredCards?.slice(0, limit).map((card, index) => {\n if (card.__typename === \"DatoCmsPublication\") {\n return (\n <Card\n key={card.id}\n title=\"\"\n url={card.isPdf ? card.pdf?.url : card.externalLink}\n cardType=\"image\"\n date=\"\"\n backgroundSvg=\"\"\n backgroundImage={card.image}\n backgroundColor=\"\"\n backgroundColorBis=\"\"\n textColor=\"\"\n />\n )\n }\n\n let backgroundImage = { url: \"\", alt: \"\" }\n let backgroundSvg = \"\"\n let cardType = \"svg\"\n const title = card.miniatureCard[0]?.isTitle === false ? \"\" : card.title\n\n if (card.miniatureCard[0]?.isImage && card.miniatureCard[0]?.miniatureImage?.url) {\n backgroundImage = {\n url: card.miniatureCard[0]?.miniatureImage?.url || \"\",\n alt: card.miniatureCard[0]?.miniatureImage?.alt || \"\",\n }\n card.miniatureCard[0]?.isMinatureImageBig ? (cardType = \"image\") : (cardType = \"split\")\n }\n if (!card.miniatureCard[0]?.isImage || !card.miniatureCard[0]?.isMinatureImageBig) {\n backgroundSvg = `/vectors/v3/mediaCards/card${(index % 4) + 1}.svg`\n }\n const getCardUrl = card => {\n if (card.__typename === \"DatoCmsNews\") {\n return buildInternalLink({ __typename: \"DatoCmsNews\", slug: card.slug })\n } else if (card.__typename === \"DatoCmsPressRelease\") {\n return buildInternalLink({ __typename: \"DatoCmsPressRelease\", slug: card.slug })\n }\n }\n\n return (\n <Card\n key={card.id}\n title={title}\n url={getCardUrl(card)}\n cardType={cardType}\n date={card.publicationDate}\n backgroundSvg={backgroundSvg}\n backgroundImage={backgroundImage}\n backgroundColor={card.miniatureCard[0]?.cardBackgroundColor.hex}\n backgroundColorBis={getAssociatedColor(card.miniatureCard[0]?.cardBackgroundColor.hex)}\n textColor={card.miniatureCard[0]?.cardTextColor.hex}\n />\n )\n })}\n </ul>\n\n {limit > 4 && (\n <div className={styles.arrowsContainer}>\n <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n </div>\n )}\n </div>\n )\n}\n\nexport const fragment = graphql`\n fragment MediaNewsFields on DatoCmsHomePageMediaNews {\n id\n isEnabled\n title\n text\n gradientBackground\n buttonLabel\n }\n\n fragment MediaMiniatureCardFields on DatoCmsMediaMiniatureCard {\n id\n isTitle\n cardBackgroundColor {\n hex\n }\n cardTextColor {\n hex\n }\n isImage\n miniatureImage {\n alt\n url\n }\n isMinatureImageBig\n }\n\n fragment NewsMediaFields on DatoCmsNews {\n id\n __typename\n title\n slug\n publicationDate\n publicationEndDate\n miniatureCard {\n ...MediaMiniatureCardFields\n }\n }\n\n fragment PressReleaseMediaFields on DatoCmsPressRelease {\n id\n __typename\n title\n slug\n publicationDate\n publicationEndDate\n miniatureCard {\n ...MediaMiniatureCardFields\n }\n }\n\n fragment PublicationMediaFields on DatoCmsPublication {\n id\n __typename\n title\n image {\n alt\n url\n }\n category {\n category\n }\n isPdf\n pdf {\n url\n }\n externalLink\n publicationDate\n publicationEndDate\n }\n\n fragment NewsroomFilterTitlesFields on DatoCmsNewsroom {\n id\n newsroomInTheSpotlightIsEnabled\n newsroomInTheSpotlightTitle\n newsroomNewsIsEnabled\n newsroomNewsTitle\n newsroomPressReleaseIsEnabled\n newsroomPressReleaseTitle\n newsroomPublicationsIsEnabled\n newsroomPublicationsTitle\n }\n`\n\nexport default MediaCards\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"media-cards-module--arrowsContainer--0f699\";\nexport var capsule = \"media-cards-module--capsule--be892\";\nexport var cardsContainer = \"media-cards-module--cardsContainer--eaa6e\";\nexport var content = \"media-cards-module--content--769c2\";\nexport var filtersColumn = \"media-cards-module--filtersColumn--77f7c\";\nexport var header = \"media-cards-module--header--d8efc\";\nexport var mediaContainer = \"media-cards-module--mediaContainer--0eb23\";\nexport var textIntro = \"media-cards-module--textIntro--e1347\";\nexport var title = \"media-cards-module--title--9961c\";","// extracted by mini-css-extract-plugin\nexport var inputSelect = \"pagination-module--inputSelect--8dc3b\";\nexport var option = \"pagination-module--option--0d5aa\";\nexport var options = \"pagination-module--options--dd295\";\nexport var pagination = \"pagination-module--pagination--1a99a\";\nexport var resetButton = \"pagination-module--resetButton--2ef73\";\nexport var selectContainer = \"pagination-module--selectContainer--73477\";\nexport var selectWrapper = \"pagination-module--selectWrapper--6f393\";\nexport var selected = \"pagination-module--selected--7ea56\";","import React, { useEffect, useState } from \"react\"\nimport * as styles from \"./pagination.module.scss\"\nimport { useLocale } from \"../../context/locale-context\"\n\ntype ArticleSection = { publicationDate: string; articles: any[] }\n\ntype RenderProps = {\n articles: ArticleSection[]\n filteredArticles: ArticleSection[]\n onSelect: (articles: ArticleSection[]) => void\n}\n\nconst Pagination: React.FC<RenderProps> = ({ articles, filteredArticles, onSelect }) => {\n const { locale } = useLocale()\n\n const translations = {\n fr: { year: \"Année\", month: \"Mois\" },\n en: { year: \"Year\", month: \"Month\" },\n }\n\n const { year, month } = translations[locale] || translations.en\n\n const monthsList = filteredArticles\n .map(article => article.publicationDate.split(\" \")[0])\n .filter((value, index, self) => self.indexOf(value) === index)\n\n const orderedMonth = monthsList.sort((a, b) => {\n const monthNames =\n locale === \"fr\"\n ? [\n \"Janvier\",\n \"Février\",\n \"Mars\",\n \"Avril\",\n \"Mai\",\n \"Juin\",\n \"Juillet\",\n \"Août\",\n \"Septembre\",\n \"Octobre\",\n \"Novembre\",\n \"Décembre\",\n ]\n : [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ]\n return monthNames.indexOf(a) - monthNames.indexOf(b)\n })\n\n const yearsList = filteredArticles\n .map(article => article.publicationDate.split(\" \")[1])\n .filter((value, index, self) => self.indexOf(value) === index)\n\n const [selectedMonth, setSelectedMonth] = useState(\"\")\n const [selectedYear, setSelectedYear] = useState(yearsList?.[0] || \"\")\n const [showMonthOptions, setShowMonthOptions] = useState(false)\n const [showYearOptions, setShowYearOptions] = useState(false)\n\n useEffect(() => {\n if (yearsList.length > 0) {\n onSelect(filteredArticles.filter(article => article.publicationDate.includes(yearsList[0])))\n }\n }, [])\n\n const handleYearSelect = (year: string) => {\n setSelectedYear(year)\n setShowYearOptions(false)\n onSelect(\n year\n ? filteredArticles.filter(article => article.publicationDate.includes(year))\n : articles.filter(article => article.publicationDate.includes(selectedMonth))\n )\n }\n\n const handleMonthSelect = (month: string) => {\n setSelectedMonth(month)\n setShowMonthOptions(false)\n onSelect(\n month\n ? filteredArticles.filter(article => article.publicationDate.includes(month))\n : articles.filter(article => article.publicationDate.includes(selectedYear))\n )\n }\n\n const resetYear = () => {\n setSelectedYear(\"\")\n setShowYearOptions(false)\n onSelect(articles.filter(article => article.publicationDate.includes(selectedMonth)))\n }\n\n const resetMonth = () => {\n setSelectedMonth(\"\")\n setShowMonthOptions(false)\n onSelect(articles.filter(article => article.publicationDate.includes(selectedYear)))\n }\n\n return (\n <div className={styles.pagination}>\n <div className={styles.selectWrapper}>\n <div\n className={`${styles.selectContainer} ${selectedYear ? styles.selected : \"\"}`}\n onClick={() => setShowYearOptions(!showYearOptions)}\n >\n <div className={`${styles.inputSelect} ${selectedYear ? styles.selected : \"\"}`}>{selectedYear || year}</div>\n {showYearOptions && (\n <div className={styles.options}>\n <div className={styles.option} onClick={() => handleYearSelect(\"\")}>\n {year}\n </div>\n {yearsList.map(year => (\n <div\n key={year}\n className={`${styles.option} ${selectedYear === year ? styles.selected : \"\"}`}\n onClick={() => handleYearSelect(year)}\n >\n {year}\n </div>\n ))}\n </div>\n )}\n {selectedYear && (\n <span\n onClick={e => {\n e.stopPropagation()\n resetYear()\n }}\n className={styles.resetButton}\n ></span>\n )}\n </div>\n </div>\n <div className={styles.selectWrapper}>\n <div\n className={`${styles.selectContainer} ${selectedMonth ? styles.selected : \"\"}`}\n onClick={() => setShowMonthOptions(!showMonthOptions)}\n >\n <div className={`${styles.inputSelect} ${selectedMonth ? styles.selected : \"\"}`}>\n {selectedMonth || month}\n </div>\n {showMonthOptions && (\n <div className={styles.options}>\n <div className={styles.option} onClick={() => handleMonthSelect(\"\")}>\n {month}\n </div>\n {orderedMonth.map(month => (\n <div\n key={month}\n className={`${styles.option} ${selectedMonth === month ? styles.selected : \"\"}`}\n onClick={() => handleMonthSelect(month)}\n >\n {month}\n </div>\n ))}\n </div>\n )}\n {selectedMonth && (\n <span\n onClick={e => {\n e.stopPropagation()\n resetMonth()\n }}\n className={styles.resetButton}\n ></span>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default Pagination\n","import React from \"react\"\nimport * as styles from \"./capsule.module.scss\"\n\ntype RenderProps = {\n title: string\n isSelected: boolean\n special?: boolean\n className?: string\n onClick?: () => void\n link?: {\n url: string\n isInternal: boolean\n }\n}\n\nconst Capsule: React.FC<RenderProps> = ({ title, isSelected, special = false, className = \"\", onClick, link }) => {\n const capsuleClassName = `${styles.capsule} ${isSelected ? styles.selected : \"\"} ${\n special ? styles.special : \"\"\n } ${className}`\n\n if (link?.url) {\n return (\n <a href={link.url} target={link.isInternal ? \"_self\" : \"_blank\"} className={capsuleClassName} onClick={onClick}>\n {title}\n </a>\n )\n }\n\n return (\n <button className={capsuleClassName} onClick={onClick}>\n {title}\n </button>\n )\n}\n\nexport default Capsule\n","// extracted by mini-css-extract-plugin\nexport var capsule = \"capsule-module--capsule--1cc8a\";\nexport var selected = \"capsule-module--selected--f8460\";\nexport var special = \"capsule-module--special--e590a\";","import React, { useState } from \"react\"\nimport Capsule from \"./capsule/capsule\"\nimport * as styles from \"./filter-bar.module.scss\"\nimport { ca } from \"date-fns/locale\"\n\ntype RenderProps = {\n capsules: {\n label: string\n onClick?: () => void\n url?: string\n isActive?: boolean\n special?: boolean\n }[]\n}\n\nconst FilterBar: React.FC<RenderProps> = ({ capsules }) => {\n return (\n <div className={styles.filterBar}>\n <div className={styles.capsules}>\n {capsules?.map((capsule, index) => (\n <Capsule\n title={capsule.label}\n isSelected={capsule.isActive}\n className={capsule.special ? styles.specialCapsule : \"\"}\n special={capsule.special}\n onClick={capsule.onClick}\n link={capsule.url && { url: capsule.url, isInternal: true }}\n key={capsule.label}\n />\n ))}\n </div>\n </div>\n )\n}\n\nexport default FilterBar\n","// extracted by mini-css-extract-plugin\nexport var capsules = \"filter-bar-module--capsules--27ec4\";\nexport var filterBar = \"filter-bar-module--filterBar--9f9ec\";\nexport var specialCapsule = \"filter-bar-module--specialCapsule--90bc8\";","import React from \"react\"\nimport * as styles from \"./scroll-arrow.module.scss\"\n\nconst arrowPath = \"/vectors/v3/\"\ntype RenderProps = {\n direction: \"left\" | \"right\"\n style?: React.CSSProperties\n disabled?: boolean\n onClick?: () => void\n}\nconst ScrollArrow: React.FC<RenderProps> = ({ direction, style, disabled, onClick }) => {\n return (\n <button className={styles.arrows} style={style} onClick={onClick} disabled={disabled}>\n <img\n src={`${arrowPath}left-arrow.svg`}\n className={direction === \"right\" ? styles.rightArrow : \"\"}\n alt={direction === \"left\" ? \"left arrow\" : \"right arrow\"}\n />\n </button>\n )\n}\nexport default ScrollArrow\n","// extracted by mini-css-extract-plugin\nexport var arrows = \"scroll-arrow-module--arrows--c204b\";\nexport var rightArrow = \"scroll-arrow-module--rightArrow--864cd\";","import { format } from \"date-fns\"\nimport { enGB, fr } from \"date-fns/locale\"\n\nexport const useFormatDate = (date: string, locale: string, shortFormat?: boolean) => {\n if (date === \"\") return \"\"\n\n const optionLocale = locale === \"fr\" ? fr : enGB\n const dateFormat = locale === \"fr\" ? \"d MMMM yyyy\" : \"do MMMM yyyy\"\n\n const formattedDate = format(new Date(date), dateFormat, { locale: optionLocale })\n const formattedDateWithOptions = new Intl.DateTimeFormat(locale, {\n month: \"short\",\n day: \"numeric\",\n }).format(new Date(date))\n\n if (locale === \"fr\" && formattedDate.startsWith(\"1 \")) {\n return \"1er \" + formattedDate.slice(2)\n }\n\n return shortFormat ? formattedDateWithOptions : formattedDate\n}\n","import { format } from \"date-fns\"\nimport { enGB, fr } from \"date-fns/locale\"\nimport {\n NewsMediaFieldsFragment,\n PressReleaseMediaFieldsFragment,\n PublicationMediaFieldsFragment,\n} from \"../../../graphql-types\"\nimport { isDateInRange } from \"../utils/get-is-date-in-range\"\n\nexport const useSortArticlesByMonth = <\n T extends NewsMediaFieldsFragment | PressReleaseMediaFieldsFragment | PublicationMediaFieldsFragment,\n>(\n articles: T[],\n locale: string\n) => {\n type ArticleSection = { publicationDate: string; articles: T[] }\n let articlesSections: ArticleSection[] = []\n let articlesByDate: T[] = []\n let lastFormattedDate: string = \"\"\n\n if (articles) {\n for (const currentArticle of articles) {\n if (currentArticle && isDateInRange(currentArticle.publicationDate, currentArticle.publicationEndDate)) {\n let date = format(new Date(currentArticle.publicationDate), \"MMMM yyyy\", {\n locale: locale === \"fr\" ? fr : enGB,\n })\n date = date.charAt(0).toUpperCase() + date.slice(1)\n\n if (lastFormattedDate === \"\" || date === lastFormattedDate) {\n articlesByDate.push(currentArticle)\n } else if (date != lastFormattedDate) {\n articlesSections.push({ publicationDate: lastFormattedDate, articles: articlesByDate })\n articlesByDate = [currentArticle]\n }\n lastFormattedDate = date\n }\n }\n if (articlesByDate.length > 0) {\n articlesSections.push({ publicationDate: lastFormattedDate, articles: articlesByDate })\n }\n }\n return articlesSections\n}\n","export const getAssociatedColor = (color: string) => {\n const colorPairs = [\n [\"#008296\", \"#00aac3\"], // keolis blue\n [\"#bbe2f0\", \"#ecfaff\"], // sky blue\n [\"#183149\", \"#61809d\"], // deep blue\n [\"#554c43\", \"#928b83\"], // warm grey\n [\"#5f006e\", \"#9233a1\"], // purple\n [\"#484f0a\", \"#96b442\"], // green\n [\"#af3100\", \"#e16433\"], // orange\n [\"#ad915c\", \"#dac59d\"], // sand\n ]\n\n const findAssociatedColor = (inputColor: string) => {\n for (const [color1, color2] of colorPairs) {\n if (inputColor.toLowerCase() === color1) return color2\n if (inputColor.toLowerCase() === color2) return color1\n }\n return \"\"\n }\n if (!color) return \"\"\n return findAssociatedColor(color)\n}\n","export const isDateInRange = (start: string, end: string) => {\n const startDate = new Date(start)\n const endDate = end ? new Date(end) : null\n const todayDate = new Date()\n\n // IF end date is not provided, only check if start date is in range\n if (!startDate || todayDate < startDate || (endDate && todayDate > endDate)) {\n return false\n } else if (startDate <= todayDate && (!endDate || todayDate < endDate)) {\n return true\n }\n}\n","// extracted by mini-css-extract-plugin\nexport var container = \"all-page-module--container--d98dd\";\nexport var filterBar = \"all-page-module--filterBar--51ab6\";\nexport var title = \"all-page-module--title--1878e\";\nexport var titleBar = \"all-page-module--titleBar--2de33\";"],"names":["breadcrumbContainer","home","pElement","_ref","title","homeLabel","middlePages","locale","useLocale","_useSlugs","useSlugs","homeLink","getInternalExternalLink","React","className","styles","href","map","middlePage","key","lang","date","backgroundImage","src","url","alt","useFormatDate","backgroundSvg","backgroundColor","backgroundColorBis","isMobile","useIsMobile","ReactSVG","afterInjection","svg","querySelector","style","fill","querySelectorAll","forEach","path","cardDiv","closest","_cardDiv$getBoundingC","getBoundingClientRect","width","height","setAttribute","rect","cardType","textColor","color","CardImage","CardSvg","CardSplit","text","buttonLink","buttonLabel","news","pressReleases","publications","filters","categories","limit","multiRow","buildInternalLink","mediaCardsRef","useRef","cards","concat","_toConsumableArray","filter","card","isDateInRange","publicationDate","publicationEndDate","sort","a","b","Date","getTime","_useState","useState","filteredCards","setFilteredCards","_useState2","activeCapsule","setActiveCapsule","scrollToCard","scrollDirection","_document","rtlRatio","document","dir","itemWidth","current","children","clientWidth","scrollBy","left","top","behavior","useEffect","scrollLeft","sanitizedText","sanitizeHtml","filtersArray","newsroomInTheSpotlightIsEnabled","newsroomInTheSpotlightTitle","typename","newsroomNewsIsEnabled","newsroomNewsTitle","newsroomPressReleaseIsEnabled","newsroomPressReleaseTitle","newsroomPublicationsIsEnabled","newsroomPublicationsTitle","category","filterPublications","dangerouslySetInnerHTML","__html","length","FilterBar","capsules","label","onClick","_card$category","__typename","isActive","Capsule","isSelected","special","ref","flexWrap","slice","index","_card$miniatureCard$","_card$miniatureCard$2","_card$miniatureCard$3","_card$miniatureCard$4","_card$miniatureCard$10","_card$miniatureCard$11","_card$miniatureCard$12","_card$miniatureCard$13","_card$miniatureCard$14","_card$pdf","Card","id","isPdf","pdf","externalLink","image","_card$miniatureCard$5","_card$miniatureCard$6","_card$miniatureCard$7","_card$miniatureCard$8","_card$miniatureCard$9","miniatureCard","isTitle","isImage","miniatureImage","isMinatureImageBig","slug","getCardUrl","cardBackgroundColor","hex","getAssociatedColor","cardTextColor","ScrollArrow","direction","inputSelect","options","resetButton","selectContainer","selectWrapper","selected","articles","filteredArticles","onSelect","translations","fr","year","month","en","_ref2","orderedMonth","article","split","value","self","indexOf","monthNames","yearsList","selectedMonth","setSelectedMonth","selectedYear","setSelectedYear","_useState3","showMonthOptions","setShowMonthOptions","_useState4","showYearOptions","setShowYearOptions","includes","handleYearSelect","handleMonthSelect","e","stopPropagation","_ref$special","_ref$className","link","capsuleClassName","target","isInternal","capsule","disabled","arrowPath","shortFormat","optionLocale","enGB","dateFormat","formattedDate","format","formattedDateWithOptions","Intl","DateTimeFormat","day","startsWith","useSortArticlesByMonth","articlesSections","articlesByDate","lastFormattedDate","_step","_iterator","_createForOfIteratorHelperLoose","done","currentArticle","charAt","toUpperCase","push","colorPairs","inputColor","_i","_colorPairs","_colorPairs$_i","color1","color2","toLowerCase","findAssociatedColor","start","end","startDate","endDate","todayDate","container","filterBar","titleBar"],"sourceRoot":""}