Gossip & News

Chris Evans and His Dog Dodger: A Timeline of Their


master mentalism tricks

[]

Man’s best friend! There is no stronger bond than that of a human and their pup — and Chris Evans and his dog, Dodger, are prime examples of this dynamic.

The Avengers star first met his sweet mixed-breed boxer around the time he was filming his 2017’s Gifted. He shared a video of their initial introduction to Twitter in April 2018, in which Evans — who was off-camera — approached the pen where the rescue pup was being held.

The Knives Out actor says, “Hi dude,” to Dodger as he bends down to put his hand out for the pup, in an effort to become better acquainted. The dog, in turn, shows his affection for Evans by licking and pawing at his hand repeatedly.

Since adopting the Dodger, Evans has sprinkled several adorable posts across his Twitter profile starring his loveable pup. He’s paid tribute to the pet by posting an adorable snap of the duo on International Dog Day in August 2019, and he’s also shared a few videos of Dodger showing off his singing skills. The dog is even featured in the Nanny Diaries star’s Twitter header photo.

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_Zo2zIa1W_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘Zo2zIa1W’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_Zo2zIa1W_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “Zo2zIa1W” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “Zo2zIa1W” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_Zo2zIa1W_zhNYySv2_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

Evans isn’t the only one to fall in love with Dodger, as fans have also carved out a place for the pup in their hearts. The internet’s interest in the dog nearly caused many to lose it when Evans shared a picture that some thought indicated the pet had passed on.

“Really missing this guy right now,” he captioned a Twitter pic of the duo in 2017, where the actor was shown softly smiling as he cuddled up with Dodger. After his post attracted worried responses from fans, the Fantastic Four star clarified his initial statement.

“To be clear, he’s alive and well,” Evans wrote. “Just thousands of miles away for the next couple months.”

Seth Rogen was among those who freaked out over Evans’ earlier remark, tweeting at the Marvel star: “F–k dude. I was, like, crying.”

The Lightyear voice actor’s connection with his sweet pup even inspired one of his chest tattoos.

“I mean that’s probably one of the purest relationships I have,” Evans said during an appearance on Jimmy Kimmel Live! in October 2020. “[Getting my tattoo of his name] didn’t take much convincing. I’ll never regret that tattoo. I’ve regretted a few in my life, not that one.”

Scroll down below to see some highlights from Evans and Dodger’s friendship through the years:

Read The Full Article Here


trick photography
Lewis Hamiltons Heatwave Caption Becomes One of His Most-Liked This Year
Lewis Hamiltons Heatwave Caption Becomes One of His Most-Liked This Year
Kate Hudsons Ex Matt Bellamy Breaks Silence on Split From Wife Elle Evans: It Threw Me Off
Kate Hudsons Ex Matt Bellamy Breaks Silence on Split From Wife Elle Evans: It Threw Me Off
Kevin Hart Left in Tears After Comedy Collaboration With Druski and Kai Cenat
Kevin Hart Left in Tears After Comedy Collaboration With Druski and Kai Cenat
Brad Pitt Has No Legal Power to Block Son Maddoxs Last Name Change, Expert Says
Brad Pitt Has No Legal Power to Block Son Maddoxs Last Name Change, Expert Says
Spider-Man: Brand New Day Has Already Broken 2 Major Records Before Its Even Released
Spider-Man: Brand New Day Has Already Broken 2 Major Records Before Its Even Released
Jackass: Best and Last review – a warm send-off for a legendary bunch
Jackass: Best and Last review – a warm send-off for a legendary bunch
Why Two M&M's Colors Are Disappearing From New Candy Bags
Why Two M&M's Colors Are Disappearing From New Candy Bags
Matt Smiths Adult Show Is Crushing All Streaming Competition Right Now
Matt Smiths Adult Show Is Crushing All Streaming Competition Right Now
Roberta Kravette Guests On “If These Walls Could Talk” With Hosts Wendy Stuart and Tym Moss Wednesday, July 1st, 2026 
Roberta Kravette Guests On “If These Walls Could Talk” With Hosts Wendy Stuart and Tym Moss Wednesday, July 1st, 2026 
Dark Shadows Animated Reboot In The Works At Warner Bros. Animation – TVLine
Dark Shadows Animated Reboot In The Works At Warner Bros. Animation – TVLine
Who Is Kyra Samson? WWHL & Jeopardy! Producers Cause of Death & More to Know
Who Is Kyra Samson? WWHL & Jeopardy! Producers Cause of Death & More to Know
Love Island USA Contestant Alannah Keyser Fired Mid-Season Over Racist Social Media Posts – TVLine
Love Island USA Contestant Alannah Keyser Fired Mid-Season Over Racist Social Media Posts – TVLine
Life, Larry, and the Pursuit of Unhappiness: A Guide to Every Major Guest Star
Life, Larry, and the Pursuit of Unhappiness: A Guide to Every Major Guest Star
Carly Rae Jepsen Wants to Be More Than Friends on New Song On Wires
Carly Rae Jepsen Wants to Be More Than Friends on New Song On Wires
Goal! Madonna and Feid Score FIFA World Cup Release With Read My Lips
Goal! Madonna and Feid Score FIFA World Cup Release With Read My Lips
Jason Newsted Opens Up on Painkiller Addiction in 90s + 2000s
Jason Newsted Opens Up on Painkiller Addiction in 90s + 2000s
Interview with Dave Vizard, Author of A Murder at Cheeseburger – NewInBooks
Interview with Dave Vizard, Author of A Murder at Cheeseburger – NewInBooks
Interview with Larissa Emerald, Author of Midlife Full-Bodied and Magical – NewInBooks
Interview with Larissa Emerald, Author of Midlife Full-Bodied and Magical – NewInBooks
New Young Adult Books to Read | June 23 – NewInBooks
New Young Adult Books to Read | June 23 – NewInBooks
New Business and Finance Books to Read | June 23 – NewInBooks
New Business and Finance Books to Read | June 23 – NewInBooks
12 Free People Summer Must Haves in a Shopping Editors Cart
12 Free People Summer Must Haves in a Shopping Editors Cart
10 Fathers Day Gifts at Tecovas, From Bestselling Boots to Elevated Basics
10 Fathers Day Gifts at Tecovas, From Bestselling Boots to Elevated Basics
Timothée and Kylie Are the Best Dressed Courtside Couple – Shop Their Looks From
Timothée and Kylie Are the Best Dressed Courtside Couple – Shop Their Looks From $20
7 Summer Beauty Essentials Worthy of Wearing to the French Open
7 Summer Beauty Essentials Worthy of Wearing to the French Open
The Zombie Has Never Been Just a Dead Body
The Zombie Has Never Been Just a Dead Body
The Vampire Lestat Keeps Teasing the Great Conversion — But What Is It?
The Vampire Lestat Keeps Teasing the Great Conversion — But What Is It?
[Review] On the Trail of UFOs: The Disclosure Era – Episode 1
[Review] On the Trail of UFOs: The Disclosure Era – Episode 1
SCREAMIFY LAUNCHES AUTONOMOUS: THE GROUNDBREAKING VERTICAL HORROR THRILLER SHOT ENTIRELY INSIDE A REAL SELF-DRIVING CAR | HNN
SCREAMIFY LAUNCHES AUTONOMOUS: THE GROUNDBREAKING VERTICAL HORROR THRILLER SHOT ENTIRELY INSIDE A REAL SELF-DRIVING CAR | HNN