Gossip & News

Suki Waterhouse ‘Shocked’ by 5-Year Robert Pattinson Romance: ‘I’m So


master mentalism tricks

[]

Low-key loves! Robert Pattinson and Suki Waterhouse have been dating on and off since July 2018, but it’s mostly been under the radar — or, perhaps, more accurately, right under our noses.

The Twilight star and Assassination Nation actress have skipped the red carpets throughout their relationship, preferring to keep their love life to themselves. The British pair are tight-lipped about their private life together and, according to Pattinson, that’s by choice.

“If you let people in, it devalues what love is,” The Batman actor told The Sunday Times in 2019. “If a stranger on the street asked you about your relationship, you’d think it extremely rude. If you put up a wall it ends up better.”

{ 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_s7WSiHaZ_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_s7WSiHaZ_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( ‘s7WSiHaZ’ ); 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_s7WSiHaZ_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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “s7WSiHaZ” ); 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( “s7WSiHaZ” ), 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_s7WSiHaZ_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); })(); ]]>

He added, “I can’t understand how someone can walk down the street holding hands, and it’s the same as when I do it and a hundred people are taking your photo. The line between when you’re performing and when you’re not will eventually get washed away and you’ll go completely mad.”

That might be why the tight-lipped duo have chosen to live their life outside the public eye. Unfortunately, they haven’t always been able to escape it completely. Since they first started dating, Pattinson and the Daisy Jones and the Six alum have been spotted on intimate date nights around London, popped up together on a friend’s Instagram and incited engagement rumors thanks to a gold band on Waterhouse’s left ring finger. Of course, the cool couple chose to ignore the reports that there could be a wedding on the horizon.

Waterhouse and Pattinson have reportedly broken up a few times since 2018, but have never confirmed their split, which has left fans to fill in the blanks about their relationship status.

In April 2021, Waterhouse’s eagle-eyed Instagram followers spotted a framed photo of the two sharing a kiss in the background of an image the model posted, seemingly confirming that she was still with the English actor.

The two have been linked to other stars in the past. The Lighthouse star dated Twilight costar Kristen Stewart, musician FKA twigs and Sean Penn and Robin Wright’s daughter, Dylan Penn, before Waterhouse. While the model was with Bradley Cooper from 2013 to 2015, before stepping out with the Harry Potter actor.

Keep scrolling to see Pattinson and Waterhouse’s full relationship timeline.

Sign up for Us Weekly’s free, daily newsletter and never miss breaking news or exclusive stories about your favorite celebrities, TV shows and more!

Read The Full Article Here


trick photography
Amy Winehouses Dad Ordered to Pay Over  Million to Singers Friends Who Auctioned Her Clothes
Amy Winehouses Dad Ordered to Pay Over $1 Million to Singers Friends Who Auctioned Her Clothes
KSI Asks Followers If They Would Get An Ex Tattooed For
KSI Asks Followers If They Would Get An Ex Tattooed For $1
Jared Leto Accused of Sexual Assault, Sex With a Minor and Misconduct by Multiple Women
Jared Leto Accused of Sexual Assault, Sex With a Minor and Misconduct by Multiple Women
Kaitlan Collins Just Spilled What Trump Is Really Like During Oval Office Press Conferences
Kaitlan Collins Just Spilled What Trump Is Really Like During Oval Office Press Conferences
Spider-Man: Brand New Day review – slavish fan service
Spider-Man: Brand New Day review – slavish fan service
Spider-Mans Tom Holland on Why His MCU Character Could Beat Superman in a Fight
Spider-Mans Tom Holland on Why His MCU Character Could Beat Superman in a Fight
Ish review – a vital coming-of-age tale
Ish review – a vital coming-of-age tale
The 100 Best Spider-Man Covers Ever
The 100 Best Spider-Man Covers Ever
The Young And The Restless Names Beyond The Gates, General Hospital Scribes As New Head Writers – TVLine
The Young And The Restless Names Beyond The Gates, General Hospital Scribes As New Head Writers – TVLine
Quote Of The Day By Stephen Colbert: Dreams Can Change. If Wed All Stuck With Our First Dream… – TVLine
Quote Of The Day By Stephen Colbert: Dreams Can Change. If Wed All Stuck With Our First Dream… – TVLine
Save The Dates: SNL Season 52, Michael Hits Streaming, And More – TVLine
Save The Dates: SNL Season 52, Michael Hits Streaming, And More – TVLine
TVLine Answers: Fresh Intel On NCIS, All American, FBI, Doc, Best Medicine, And More Shows! – TVLine
TVLine Answers: Fresh Intel On NCIS, All American, FBI, Doc, Best Medicine, And More Shows! – TVLine
Glen Hansard Remembered as Incomparable Troubadour Whose Gift for Storytelling Brought So Much Joy
Glen Hansard Remembered as Incomparable Troubadour Whose Gift for Storytelling Brought So Much Joy
Glen Hansard, Irish Singer-Songwriter and Once Star, Dies at 56
Glen Hansard, Irish Singer-Songwriter and Once Star, Dies at 56
Grace Under Fire: How Vetle Nærø Improvised When His Instruments Got Lost at the Airport
Grace Under Fire: How Vetle Nærø Improvised When His Instruments Got Lost at the Airport
Im Going to Make It Go Away – DevilDrivers Dez Fafara Reveals Health Scare That Impacted Last Two Years
Im Going to Make It Go Away – DevilDrivers Dez Fafara Reveals Health Scare That Impacted Last Two Years
New Mystery and Thriller Books to Read | July 28 – NewInBooks
New Mystery and Thriller Books to Read | July 28 – NewInBooks
Biographies and Memoirs Readers Are Talking About – NewInBooks
Biographies and Memoirs Readers Are Talking About – NewInBooks
Lose Yourself in These Imaginative Fantasy and Sci-Fi Reads – NewInBooks
Lose Yourself in These Imaginative Fantasy and Sci-Fi Reads – NewInBooks
Fresh Literary Fiction Worth Adding to Your TBR – NewInBooks
Fresh Literary Fiction Worth Adding to Your TBR – NewInBooks
Lupita Nyongos Stylist Shares How She Put Together Those The Odyssey Press Tour Looks
Lupita Nyongos Stylist Shares How She Put Together Those The Odyssey Press Tour Looks
I Browsed My Way Into a Beauty Haul—24 Items I Shamelessly Added to My Cart This Month
I Browsed My Way Into a Beauty Haul—24 Items I Shamelessly Added to My Cart This Month
Keke Palmer Wowed in a Metallic Corset at Essence Festival – Get Her Look Starting at
Keke Palmer Wowed in a Metallic Corset at Essence Festival – Get Her Look Starting at $14
Shop J Lo's Wedding Guest Look For Taylor and Travis's Wedding – Starting at
Shop J Lo's Wedding Guest Look For Taylor and Travis's Wedding – Starting at $70
Design the Poster for Key of Bones: Curse of the Ghost Pirate and Win ,000
Design the Poster for Key of Bones: Curse of the Ghost Pirate and Win $1,000
Cursed by a Necromancer, Rotting by the Minute, and Built Entirely by Hand
Cursed by a Necromancer, Rotting by the Minute, and Built Entirely by Hand
Mockbuster Made Me Rethink Every Cheap Movie I Have Ever Mocked
Mockbuster Made Me Rethink Every Cheap Movie I Have Ever Mocked
Flanagans Carrie Goes Viral
Flanagans Carrie Goes Viral