')): L.notify (' Impossible de charger la synchronisation du script "'+ e +'" car "document.write" n'est pas disponible ', 1)}, pushAsyncScript: function (e) {L.tools ("default") .pushAsyncScript (e)}, pushBlockingScript: function (e) {L.tools ("default"). pushBlockingScript (e)}, addEventHandler: e.addEventListener? function (e, t, n) {e.addEventListener (t, n,! 1)}: function (e, t, n) {e.attachEvent ("on" + t, n)}, removeEventHandler: e.removeEventListener? function (e, t, n) {e.removeEventListener (t , n,! 1)}: function (e, t, n) {e.detachEvent ("on" + t, n)}, preventDefault: e.addEventListener? function (e) {e.preventDefault ()}: function (e) {e.returnValue =! 1}, stopPropagation: function (e) {e.cancelBubble =! 0, e.stopPropagation && e.stopPropagation ()}, containsElement: function (e, t) {return e.contains? e .contains (t): !! (16 & e.compareDocumentPosition (t))}, matchesCss: function (n) {function i (e, t) {var n = t.tagName; return !! n && e.toLowerCase () == = n.toLowerCase ()} var a = n.matchesSelector || n.mozMatchesSelector || n.webkitMatchesSelector || n.oMatchesSelector || n.msMatchesSelector; renvoie une? fonction (n, i ) {if (i === t || i === e) return! 1; try {return a.call (i, n)} catch (r) {return! 1}}: n.querySelectorAll? function ( e, t) {if (! t.parentNode) return! 1; if (e.match (/ ^ (az) + $ / i)) return i (e, t); try {for (var n = t. parentNode.querySelectorAll (e), a = n.length; a -;) if (n (a) === t) return! 0} catch (r) {} return! 1}: function (e, t) {if (e.match (/ ^ (az) + $ / i)) return i (e, t); try {return L.Sizzle.matches (e, (t)). length> 0} catch (n) {return! 1}}} (t.documentElement), cssQuery: (S = t, S.querySelectorAll? function (e, t) {var n; try {n = S.querySelectorAll (e)} catch (i) { n = ()} t (n)}: function (e, t) {if (L.Sizzle) {var n; try {n = L.Sizzle (e)} catch (i) {n = ()} t (n)} else L.sizzleQueue.push ((e, t))}), hasAttr: function (e, t) {return e.hasAttribute? e.hasAttribute (t): e (t)! == n} , hériter: function (e, t) {var n = function () {}; n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e}, étendre: function (e, t ) {for (var n in t) t.hasOwnProperty (n) && (e (n) = t (n))}, toArray: function () {try {var e = Array.prototype.slice; return e.call (t.documentElement.childNodes, 0) (0) .nodeType, function (t) {return e.call (t, 0)}} catch (n) {fonction de retour (e) {for (var t = (), n = 0, i = e.length; n= n || e () || setTimeout (i, t)} var a = 0; t = t || 1e3, i ()}, escapeForHtml: function (e) {return e? String (e) .replace ( / & / g, "&"). remplacer (/ , "<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(///g,"/"):e}} ; L.availableTools = {}, L.availableEventEmitters = (), L.fireOnceEvents = ("condition", "elementexists"), L.initEventEmitters = function () {L.eventEmitters = L.map (L.availableEventEmitters, function (e) {return new e})}, L.eventEmitterBackgroundTasks = function () {L.each (L.eventEmitters, function (e) {"backgroundTasks" in e && e.backgroundTasks ()})}, L.initTools = function (e) {var t = {"default": new k}, n = L.settings.euCookieName || "sat_track"; for (var i in e) if (e.hasOwnProperty (i)) {var a, r , s; if ((a = e (i)). euCookie) if ("true"! == L.readCookie (n)) continue; if (! (r = L.availableTools (a.engine))) { var o = (); for (var l dans L.availableTools) L.availableTools.hasOwnProperty (l) && o.push (l); throw new Error ("Aucun moteur d'outil nommé" + a.engine + ", disponible:" + o.join (",") + ".")} (s = new r (a)). id = i, t (i) = s} return t}, L.preprocessArguments = function (e, t, n , i, a) {function r (e) {return i && L.isString (e)? e.toLowerCase (): e} function s (e) {var l = {}; for (var c in e) if (e .hasOwnProperty (c)) {var u = e (c); L.isO bject (u)? l (c) = s (u): L.isArray (u)? l (c) = o (u, i): l (c) = r (L. remplacer (u, t, n , a))} retourne l} fonction o (e) {for (var i = (), a = 0, o = e.length; athis.keepLimit && this.messages.shift (), this.outputEnabled && this.echo (n, e)}, getHistory: function () {return this.messages}, clearHistory: function () {this.messages = ()}, setOutputState: function (e) {this.outputEnabled! = e && (this.outputEnabled = e, e? this.flush (): this.flushed =! 1)}, echo: function (t, n) {e.console && e.console ( t) ("SATELLITE:" + n)}, flush: function () {this.flushed || (L.each (this.messages, function (e) {! 0! == e (2) && (this. echo (e (0), e (1)), e (2) =! 0)}, this), this.flushed =! 0)}}, L.notify = L.bind (L.Logger.message, L.Logger), L.cleanText = function (e) {return null == e? Null: L.trim (e) .replace (/ s + / g, "")}, L.cleanText.legacy = function ( e) {return null == e? null: L.trim (e) .replace (/ s {2,} / g, "") .replace (/ (^ 000- 177) * / g, " ")}, L.text = function (e) {return e.textContent || e.innerText}, L.specialProperties = {text: L.text, cleanText: function (e) {return L.cleanText (L.text (e))}}, L.getObjectProperty = function (e, t, i) {for (var a, r = t.split ("."), s = e, o = L.specialProperties, l = 0, c = r.longueur; l2) {var n = arguments (2); "pageview" === t? L.dataElementSafe.pageviewCache (e) = n: "session" === t? L.setCookie ("_ sdsat _" + e, n) : "visiteur" === t && L.setCookie ("_ sdsat _" + e, n, 730)} else {if ("pageview" === t) return L.dataElementSafe.pageviewCache (e); if ("session" = == t || "visiteur" === t) return L.readCookie ("_ sdsat _" + e)}}, L.dataElementSafe.pageviewCache = {}, L.realGetDataElement = function (t) {var n; return t .selector? L.hasSelector && L.cssQuery (t.selector, function (e) {if (e.length> 0) {var i = e (0); "text" === t.property?n=i.innerText || i.textContent: t.property in i? n = i (t.property): L.hasAttr (i, t.property) && (n = i.getAttribute (t.property))}}): t. queryParam? n = t.ignoreCase? L.getQueryParamCaseInsensitive (t.queryParam): L.getQueryParam (t.queryParam): t.cookie? n = L.readCookie (t.cookie): t.jsVariable? n = L.getObjectProperty (e, t.jsVariable): t.customJS? n = t.customJS (): t.contextHub && (n = t.contextHub ()), L.isString (n) && t.cleanText && (n = L.cleanText (n )), n}, L.getDataElement = function (e, t, i) {if (null == (i = i || L.dataElements (e))) renvoie L.settings.undefinedVarsRetur nEmpty? "": null; var a = L.realGetDataElement (i); return a === n && i.storeLength? a = L.dataElementSafe (e, i.storeLength): a! == n && i.storeLength && L.dataElementSafe (e , i.storeLength, a), a || t || (a = i ("default") || ""), L.isString (a) && i.forceLowerCase && (a = a.toLowerCase ()), a} , L.getVar = function (i, a, r) ​​{var s, o, l = L.data.customVars, c = r? R.target || r.srcElement: null, u = {uri: L.URI (), protocol: t.location.protocol, hostname: t.location.hostname}; if (L.dataElements && i dans L.dataElements) return L.getDataElement (i); if ((o = u (i.toLowerCase () )) === n) if ("this." === i.substring (0,5)) i = i.slice (5), o = L.getObjectProperty (a, i,! 0); sinon si ("event." === i.substring (0,6)) i = i.slice (6), o = L.getObjectProperty (r, i); else if ("target." === i.substring (0,7)) i = i.slice (7), o = L.getObjectProperty (c, i); else if ("window." === i.substring (0,7)) i = i.slice (7), o = L.getObjectProperty (e, i); else if ("param." === i.substring (0,6)) i = i.slice (6), o = L.getQueryParam (i ); else if (s = i.match (/ ^ rand ((0-9) +) $ /)) {var d = Number (s (1)), p = (Math.random () * (Math. pow (10, d) -1)). toFixed (0); o = Array (dp.leng th + 1) .join ("0") + p} else o = L.getObjectProperty (l, i); return o}, L.getVars = function (e, t, n) {var i = {}; return L.each (e, function (e) {i (e) = L.getVar (e, t, n)}), i}, L.replace = function (e, t, n, i) {return "chaîne "! = typeof e? e: e.replace (/%(.*?)%/ g, function (e, a) {var r = L.getVar (a, t, n); return null == r? L.settings.undefinedVarsReturnEmpty? "": E: i? L.escapeForHtml (r): r})}, L.escapeHtmlParams = function (e) {return e.escapeHtml =! 0, e}, L.searchVariables = function (e, t, n) {if (! e || 0 === e.length) renvoie ""; for (var i = (), a = 0, r = e.length; a <rs = "e (a), o = L.getVar (s, t, n); i.push (s + "=" + escape (o))} return "?" + i.join ("&")}, L.fireRule = function (e, t, n) {var "i =" e.trigger; if (i) {for (var "a =" 0, r = i.length; a0) return! 1; if (e.expired) return! 1; if ("inview" === o && t.inviewDelay! == e.inviewDelay) return! 1; if (! U && (! 1 === e. bubbleFireIfParent || 0! == i &&! 1 === e.bubbleFireIfChildFired)) return! 1; if (e.selector &&! L.matchesCss (e.selector, n)) return! 1; if (! L.propertiesMatch ( s, n)) return! 1; if (null! = l) if ("string" == typeof l) {if (l! == n.value) return! 1} else if (! l.test (n .value)) return! 1; if (a) try {if (! a.call (n, t, c)) return L.notify ('Condition for rule "' + e.name + '" not met.', 1),! 1} catch (p) {return L.notify ('Condition pour la règle "' + e.name + '" non remplie. Erreur:' + p.message, 1),! 1} if (r) { var d = L.find (r, function (i) {try {return! i.call (n, t, c)} catch (p) {return L.notify ('Condition for rule "' + e.name + ' "non satisfait. Erreur: '+ p.message, 1),! 0}}); if (d) renvoie L.notify (" Condition "+ d.toString () +' for rule" '+ e.name +' "non satisfait. ', 1),! 1} return! 0}, L.evtHandlers = {}, L.bindEvent = function (e, t) {var n = L.evtHandlers; n (e) || (n (e) = ()), n (e) .push (t)}, L.whenEvent = L.bindEvent, L.unbindEvent = function (e, t) {var n = L.evtHandlers; if (n (e )) {var i = L.indexOf (n (e), t); n (e) .splice (i, 1)} }, L.bindEventOnce = function (e, t) {var n = function () {L.unbindEvent (e, n), t.apply (null, arguments)}; L.bindEvent (e, n)}, L .isVMLPoisoned = function (e) {if (! e) return! 1; try {e.nodeName} catch (t) {if ("Attribute only valid on v: image" === t.message) return! 0} return! 1}, L.handleEvent = function (e) {if (! L. $ data (e, "eventProcessed")) {var t = e.type.toLowerCase (), n = e.target || e. srcElement, i = 0, a = L.rules, r = (L.tools, L.evtHandlers (e.type)); if (L.isVMLPoisoned (n)) L.notify ("détecté" + t + "sur empoisonné Élément VML, saut. ", 1); else {r && L.each (r, function (t) {t (e)}), n && n.nodeName? L.notify (" détecté "+ t +" on "+ n.nodeName , 1): L.notify ("détecté" + t, 1); for (var s = n; s; s = s.parentNode) {var o =! 1; if (L.each (a, fonction (t ) {L.ruleMatches (t, e, s, i) && (L.notify ('Rule "' + t.name + '" fired.', 1), L.fireRule (t, s, e), i ++, t.bubbleStop && (o =! 0))}), o) break} L. $ data (e, "eventProcessed",! 0)}}}, L.onEvent = t.querySelectorAll? function (e) {L. handleEvent (e)} 🙁 E = (), (w = function (e) {e.selector? E.push (e): L.handleEvent (e)}). pendingEvents = E, w), L.fireEvent = fonction (e, t) {L.onEvent ({type: e, target: t})}, L.registerEvents = function (e, t) {for (var n = t.length-1; n> = 0; n -) {var i = t ( n); L. $ data (e, i + ". tracked") || (L.addEventHandler (e, i, L.onEvent), L. $ data (e, i + ". tracked",! 0))} }, L.registerEventsForTags = function (e, n) {for (var i = e.length-1; i> = 0; i -) for (var a = e (i), r = t.getElementsByTagName (a ), s = r.length-1; s> = 0; s -) L.registerEvents (r (s), n)}, L.setListeners = function () {var e = ("click", "submit "); L.each (L.rules, function (t) {" custom "=== t.event && t.hasOwnProperty (" customEvent ") &&! L.contains (e, t.customEvent) && e.push (t. customEvent)}), L.registerEvents (t, e)}, L.getUniqueRuleEvents = function () {return L._uniqueRuleEvents || (L._uniqueRuleEvents = (), L.each (L.rules, function (e) { -1 === L.indexOf (L._uniqueRuleEvents, e.event) && L._uniqueRuleEvents.push (e.event)})), L._uniqueRuleEvents}, L.setFormListeners = function () {if (! L._relevantFormEvents ) {var e = ("change", "focus", "blur", "keypress"); L._relevantFormEvents = L.filter (L.getUniqueRuleEvents (), function (t) {return-1! == L. indexOf (e, t)})} L._relevantFormEvents.length && L.register EventsForTags (("input", "select", "textarea", "button"), L._relevantFormEvents)}, L.setVideoListeners = function () {if (! L._relevantVideoEvents) {var e = ("play", "pause", "terminé", "volumechange", "stalled", "loadeddata"); L._relevantVideoEvents = L.filter (L.getUniqueRuleEvents (), function (t) {return-1! == L.indexOf ( e, t)})} L._relevantVideoEvents.length && L.registerEventsForTags (("video"), L._relevantVideoEvents)}, L.readStoredSetting = function (t) {try {return t = "sdsat _" + t, e.localStorage .getItem (t)} catch (n) {return L.notify ("Impossible de lire le paramètre stocké depuis localStorage:" + n.message, 2), null}}, L.loadStoredSettings = function () {var e = L. readStoredSetting ("debug"), t = L.readStoredSetting ("hide_activity"); e && (L.settings.notifications = "true" === e), t && (L.settings.hideActivity = "true" === t )}, L.isRuleActive = function (e, t) {function n (e, t) {return t = a (t, {hour: e (g) (), minute: e (h) ()}), Math.floor (Math.abs ((e.getTime () – t.getTime ()) / 864e5))} fonction i (e, t) {fonction n (e) {retour 12 * e (d) () + e (p) ()} retourne Math.abs (n (e) -n (t))} fonction a (e, t) {var n = n ew Date (e.getTime ()); for (var i in t) if (t.hasOwnProperty (i)) {var a = t (i); switch (i) {case "hour": n (f) ( a); pause; cas "minute": n (m) (a); pause; cas "date": n (v) (a)}} retourne n} fonction r (e, t) {retour 60 * e ( g) () + e (h) ()> 60 * t (g) () + t (h) ()} fonction s (e, t) {retourne 60 * e (g) () + e (h) () = o.endRepeat) return! 1; if ("daily" === o.repeat) {if (o.repeatEvery) if (n (o.start, t)% o.repeatEvery! = 0) return! 1} else if ("hebdomadaire" === o.repeat) {if (o.days) {if (! L.contains (o.days, t (u) ())) return! 1} else if (o .start (u) ()! == t (u) ()) return! 1; if (o.repeatEvery) if (n (o.start, t)% (7 * o.repeatEvery)! = 0) return ! 1} else if ("mensuel" === o.repeat) {if (o.repeatEvery) if (i (o.start, t)% o.repeatEvery! = 0) return! 1; if (o.nthWeek && o .mthDay) {if (o.mthDay! == t (u) ()) return! 1; var b = Math.floor ((t (c) () – t (u) () + 1) / 7) ; if (o.nthWeek! == b) return! 1} else if (o.start (c) ()! == t (c) ()) return! 1} else if ("annual" === o .repeat) {if (o.start (p) ()! == t (p) ()) return! 1; if (o.start (c) ()! == t (c) ()) return! 1; if (o.repeatEvery) if (Math.abs (o.start (d) () – t (d) ())% o.repeatEvery! = 0) return! 1}} else {if (o.start > t) return! 1; if (o.end0 && L.equalsIgnoreCase (e.substring (n), t)}, L.getVisitorId = function () {var e = L.getToolsByType ("visiteur_id"); return 0 === e.length? Null: e (0) .getInstance ()}, L.URI = function () {var e = t.location.pathname + t.location.search; renvoie L.settings.forceLowerCase && (e = e.toLowerCase ()), e}, L. URL = function () {var e = t.location.href; return L.settings.forceLowerCase && (e = e.toLowerCase ()), e}, L.filterRules = function () {function e (e) {return! ! L.isRuleActive (e)} L.rules = L.filter (L.rules, e), L.pageLoadRules = L.filter (L.pageLoadRules, e)}, L.ruleInScope = function (e, n) { function i (e, t) {function n (e) {return t.match (e)} var i = e.include, r = e.exclude; if (i && a (i, t)) return! 0; if ( r) {if (L.isString (r) && r === t) return! 0; if (L.isArray (r) && L.any (r, n)) return! 0; if (L.isRegex (r) && n (r)) return! 0} return! 1} fonction a (e, t) {fonction n (e) {return t.match (e)} return! (! L.isString (e) || e == = t) || (! (! L.isArray (e) || L.any (e, n)) ||! (! L.isRegex (e) || n (e)))} n = n | | t.location; var r = e.scope; if (! r) return! 0; var s = r.URI, o = r.subdomains, l = r.domains, c = r.protocols, u = r. hachages; retourne (! s ||! i (s, n.pathname + n.search)) && ((! o ||! i (o, n.hostname)) && ((! l ||! a (l, n.hostname)) && ((! c ||! a (c, n.protocole)) && (! u ||! i (u, n.hash)))))}, L.backgroundTasks = function () {nouvelle date; L.setFormListeners () , L.setVideoListeners (), L.loadStoredSettings (), L.registerNewElementsForDynamicRules (), L.eventEmitterBackgroundTasks (); new Date}, L.registerNewElementsForDynamicRules = function () {function e (t, n) {var i = e. cache (t); if (i) return n (i); L.cssQuery (t, function (i) {e.cache (t) = i, n (i)})} e.cache = {}, L .each (L.dynamicRules, function (t) {e (t.selector, function (e) {L.each (e, function (e) {var n = "custom") === t.event? t.customEvent : t.event; L. $ data (e, "dynamicRules.seen." + n) || (L. $ data (e, "dynamicRules.seen." + n,! 0), L.propertiesMatch (t. property, e) && L.registerEvents (e, (n)))})})})}, L.ensureCSSSelector = function () {t.querySelectorAll? L.hasSelector =! 0: (L.loadingSizzle =! 0, L.sizzleQueue = (), L.loadScript (L.basePath () + "selector.js", function () {if (L.Sizzle) {var e = L.onEvent.pendingEvents; L.each (e, function (e) {L.handleEvent (e)}, this), L.onEvent = L.handleEvent, L.has Selector =! 0, supprimer L.loadingSizzle, L.each (L.sizzleQueue, function (e) {L.cssQuery (e (0), e (1))}), supprimer L.sizzleQueue} sinon L.logError ( new Error ("Failed to load selector.js"))}))}, L.errors = (), L.logError = function (e) {L.errors.push (e), L.notify (e.name + "-" + e.message, 5)}, L.pageBottom = function () {L.initialized && (L.pageBottomFired =! 0, L.firePageLoadEvent ("pagebottom"))}, L.stagingLibraryOverride = function () { if ("true" === L.readStoredSetting ("stagingLibrary")) {for (var e, n, i, a = t.getElementsByTagName ("script"), r = / ^ (. *) satelliteLib – (( a-f0-9) {40}) . js $ /, s = / ^ (. *) satelliteLib – ((a-f0-9) {40}) – mise en scène .js $ /, o = 0, l = a.longueur; o1}, L.handleOverrides = function () {if (P) for (var e in P) P.hasOwnProperty (e) && (L.data (e) = P (e))}, L.privacyManagerParams = function ( ) {var e = {}; L.extend (e, L.settings.privacyManagement); var t = (); for (var n dans L.tools) if (L.tools.hasOwnProperty (n)) {var i = L.tools (n), a = i.settings; if (! A) continue; "sc" === a.engine && t.push (i)} var r = L.filter (L.map (t, function (e) {return e.getTrackingServer ()}), function (e) {return null! = e}); e.adobeAnalyticsTrackingServers = r; for (var s = ("bannerText", "headline", "introductoryText", "customCSS"), o = 0; o0) {var t = e (0); if (L. $ data (t, "elementexists.seen")) return; L. $ data (t, "elementexists.seen",! 0), L.onEvent ( {type: "elementexists", target: t})}})})}, L.availableEventEmitters.push (i), a.prototype = {obue:! 1, initialize: function () {this.attachCloseListeners ()} , obuePrevUnload: function () {}, obuePrevBeforeUnload: function () {}, newObueListener: function () {this.obue || (this.obue =! 0, this.triggerBeacons ())}, attachCloseListeners: function () { this.prevUnload = e.onunload,
this.prevBeforeUnload = e.onbeforeunload, e.onunload = L.bind (function (t) {this.prevUnload && setTimeout (L.bind (function () {this.prevUnload.call (e, t)}, this), 1) , this.newObueListener ()}, this), e.onbeforeunload = L.bind (function (t) {this.prevBeforeUnload && setTimeout (L.bind (function () {this.prevBeforeUnload.call (e, t)}, this) , 1), this.newObueListener ()}, this)}, triggerBeacons: function () {L.fireEvent ("Leave", t)}}, L.availableEventEmitters.push (a), r.orientationChange = function (t ) {var n = 0 === e.orientation? "portrait": "paysage"; t.orientation = n, L.onEvent (t)}, L.availableEventEmitters.push (r), s.prototype = {backgroundTasks : function () {var e = this; L.each (this.rules, function (t) {var n = t (1), i = t (0); L.cssQuery (n, function (t) {L .each (t, function (t) {e.trackElement (t, i)})})}, this)}, trackElement: function (e, t) {var n = this, i = L. $ data (e , "hover.delays"); i? L.contains (i, t) || i.push (t) 🙁 L.addEventHandler (e, "mouseover", function (t) {n.onMouseOver (t, e )}), L.addEventHandler (e, "mouseout", function (t) {n.onMouseOut (t, e)}), L. $ data (e, "hover.delays", (t)))} , onMouseOver: function (e, t) {var n = e.target || e.srcElement, i = e.relatedTarget || e.fromElement; (t === n || L.containsElement (t, n)) &&! L.containsElement (t, i) && this.onMouseEnter (t)}, onMouseEnter: function (e) {var t = L. $ data (e, "hover.delays"), n = L.map (t, function (t) {return setTimeout (function () {L.onEvent ({type: "hover (" + t + ")", target: e})}, t)}); L. $ data (e, "hover .delayTimers ", n)}, onMouseOut: function (e, t) {var n = e.target || e.srcElement, i = e.relatedTarget || e.toElement; (t === n || L. containsElement (t, n)) &&! L.containsElement (t, i) && this.onMouseLeave (t)}, onMouseLeave: function (e) {var t = L. $ data (e, "hover.delayTimers"); t && L .each (t, function (e) {clearTimeout (e)})}}, L.availableEventEmitters.push (s), o.prototype = {defineEvents: function () {this.oldBlurClosure = function () {L.fireEvent ("tabblur", t)}, this.oldFocusClosure = L.bind (function () {this.visibilityApiHasPriority? L.fireEvent ("tabfocus", t): null! = L.visibility.getHiddenProperty () && L.visibility. isHidden () || L.fireEvent ("tabfocus", t)}, this)}, attachDetachModernEventListeners: function (e) {L (0 = = e? "removeEventHandler": "addEventHandler") (t, L.visibility.getVisibilityEvent (), this.handleVisibilityChange)}, attachDetachOlderEventListeners: function (t, n, i) {var a = 0 == t? "removeEventHandler" : "addEventHandler"; L (a) (n, i, this.oldBlurClosure), L (a) (e, "focus", this.oldFocusClosure)}, handleVisibilityChange: function () {L.visibility.isHidden ()? L.fireEvent ("tabblur", t): L.fireEvent ("tabfocus", t)}, setVisibilityApiPriority: function (t) {this.visibilityApiHasPriority = t, this.attachDetachOlderEventListeners (! 1, e, "blur"), this. , e, "blur"), null! = L.visibility.getHiddenProperty () && this.attachDetachModernEventListeners (! 0))}, oldBlurClosure: null, oldFocusClosure: null, visibilitéApiHasPriority:! 0}, L.availableEventEmitters.push (o) , l.prototype = {initialiser: function () {this.setupHistoryAPI (), this.setupHashChange ()}, f ireIfURIChanged: function () {var e = L.URL (); this.lastURL! == e && (this.fireEvent (), this.lastURL = e)}, fireEvent: function () {L.updateQueryParams (), L .onEvent ({type: "locationchange", target: t})}, setupSPASupport: function () {this.setupHistoryAPI (), this.setupHashChange ()}, setupHistoryAPI: function () {var t = e.history; t && (t.pushState && (this.originalPushState = t.pushState, t.pushState = this._pushState), t.replaceState && (this.originalReplaceState = t.replaceState, t.replaceState = this._replaceState)), L.addEventHandler (e, "popstate", this._onPopState)}, pushState: function () {var e = this.originalPushState.apply (historique, arguments); return this.onPushState (), e}, replaceState: function () {var e = this .originalReplaceState.apply (historique, arguments); renvoyer this.onReplaceState (), e}, setupHashChange: function () {L.addEventHandler (e, "hashchange", this._onHashChange)}, onReplaceState: function () {setTimeout ( this._fireIfURIChanged, 0)}, onPushState: function () {setTimeout (this._fireIfURIChanged, 0)}, onPopState: function () {setTimeout (this._fireIfURIChan ged, 0)}, onHashChange: function () {setTimeout (this._fireIfURIChanged, 0)}, uninitialize: function () {this.cleanUpHistoryAPI (), this.cleanUpHashChange ()}, cleanUpHistoryAPI: function () {history.pushState === this._pushState && (history.pushState = this.originalPushState), history.replaceState === this._replaceState && (history.replaceState = this.originalReplaceState), L.removeEventHandler (e, "popstate", this._onPopState)} , cleanUpHashChange: function () {L.removeEventHandler (e, "hashchange", this._onHashChange)}}, L.availableEventEmitters.push (l), c.prototype = {backgroundTasks: function () {var e = this.eventHandler ; L.each (this.rules, function (t) {L.cssQuery (t.selector || "video", function (t) {L.each (t, function (t) {L. $ data (t, "vidéoplayed.tracked") || (L.addEventHandler (t, "timeupdate", L.throttle (e, 100)), L. $ data (t, "vidéoplayed.tracked",! 0))})}) })}, evalRule: function (e, t) {var n = t.event, i = e.seekable, a = i.start (0), r = i.end (0), s = e.currentTime, o = t.event.match (/ ^ vidéoplayed (((0-9) +) ((s%)) ) $ /); if (o) {var l = o (2), c = Number ( o (1)), u = "%" === l? fonction ( ) {retourne ci + a || n + t= 0; e -) this.checkInView (this.elements (e))}, processRules: function (e, t, n) {var i = this.rules; n && (i = L.filter (this.rules, function (e) {return e.inviewDelay == n})), L.each (i, function (n, i) {var a = n.inviewDelay? "viewed _" + n.inviewDelay: "viewed", r = "inview_timeout_id _" + i; L. $ data (e, a) || L.matchesCss (n.selector, e) && t (n, a, r)})}}, L.availableEventEmitters.push (p), g .prototype.getStringifiedValue = e.JSON && e.JSON.stringify || L.stringify, g.prototype.initPolling = function () {0! == this.dataElementsNames.length && (this.dataElementsStore = this.getDataElementsValues ​​(), L. poll (L.bind (this.checkDataElementValues, this), 1e3))}, g.prototype.getDataElementsValues ​​= function () {var e = {}; return L.each (this.dataElementsNames, function (t) {var n = L.getVar (t); e (t) = this.getStringifiedValue (n)}, this), e}, g.prototype.checkDataElementValues ​​= function () {L.each (this.dataElementsNames, L.bind (function (e) {var n = this.getStringifiedValue (L.getVar (e)); n! == this.dataElementsStore (e) && (this.dataElementsStore (e) = n, L.onEvent ({type: "dataelementchange ( "+ e +") ", tar get: t}))}, this))}, L.availableEventEmitters.push (g), L.visibility = {isHidden: function () {var e = this.getHiddenProperty (); return !! e && t (e)} , isVisible: function () {return! this.isHidden ()}, getHiddenProperty: function () {var e = ("webkit", "moz", "ms", "o"); if ("hidden" in t ) renvoie "caché"; pour (var n = 0; n




HomeGoods Official Site | Unique Selection, Unbelievable Prices



Skip to main content

Bring home a fresh perspective. New decor and so much more for way less. Find your store.

Tour our store virtually.
Then, hurry in to score amazing finds.
Sneak a Peek

CHECK OUT YOUR LOCAL STORE HOURS & DETAILS

BRING HOME A FRESH PERSPECTIVE. Find your store.



New decor & so much
more for way, way less.

<! –

help us fight cancer

Donate Today

St. Jude Children's Research Hospital

->


Explore the Goods" height="108" width="301

Get inspired by amazing finds in your favorite stores.

Now it’s even easier to get sneak peeks at amazing finds with the HomeGoods app — and upload Gift Cards and TJX Rewards® certificates to redeem in store.


Find your inspiration

Ideas, tips and design hacks to
awaken your creativity.

Visit our blog and Go Finding


TJX Rewards® credit card

GET MORE FROM FINDING

Get 10% off your first in-store purchase when you open a TJX Rewards credit card.* Plus, earn 5% back in Rewards every time you shop our family of stores.**

*Subject to credit approval. Excludes gift cards. Discount is only valid when used with your TJX Rewards credit card. See coupon for details.
**Purchases are subject to credit approval. See Rewards Program Terms for details.

HOMEGOODS GIFT CARDS

Give the joy of finding.

*Hours vary by store. Check your local store for details.

**By registering for email communications, you agree to the HomeGoods Terms of Use. The HomeGoods Privacy Policy provides more information about the collection and use of your personal information.

The TJX Rewards® Platinum Mastercard® is issued by Synchrony Bank pursuant to a license by Mastercard® International Incorporated. Mastercard® is a registered trademark, and the circles design is a trademark of Mastercard® International Incorporated.

© 2021 HomeGoods


Vous pourriez également aimer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *