Getting out of any event at the South Philly sports complex is a harrowing experience. That goes double for Eagles games, when nearly 70,000 fans are trying to exit the Linc at once. Besides my own tried-and-true method of getting ahead of the masses â leaving early â whatâs the most efficient route out?
For the sake of journalism, four colleagues and I agreed to put ourselves through mild torture via a race from Xfinity Gate to Dalessandroâs in Roxborough. We took off by foot a few minutes after the Oct. 5 Broncos game ended, then each traveled by a different mode:
đ Sports reporter Ariel Simpson hailed an Uber.
đ Graphics editor John Duchneskie took SEPTA.
đ Breaking news reporter Henry Savage drove from the Q lot to I-95.
đČ Interactives developer Jasen Lo rode his bike along MLK Drive.
đ And this newsletter editor drove from FDR Park to I-76.
Was voluntarily inserting ourselves into postgame swarms of disappointed Birds fans more than a little stressful? Yes. Did I take the competition far too seriously, resulting in an end-of-race sprint from my car to Dalessandroâs? Unfortunately, also yes.
Netflixâs Mob War: Philadelphia vs. The Mafia is out today. The docuseries chronicles a bloody 1990s power struggle in the local La Cosa Nostra through the eyes of investigators and former crime family members who were there.
Throughout the decade, the violence led to several high-profile deaths and criminal trials, and a new mob leader in the city.
Lawyers filed a petition seeking the release of Michael Gaynor, saying he was wrongfully convicted of killing a 5-year-old in 1988. The petition cited the work of a 2024 Inquirer investigation.
Four years ago, the Philadelphia School District scuttled plans to redevelop the crumbling Ada H.H. Lewis Middle School in East Germantown. The discovery of Kada Scottâs body near the vacant building has reignited the debate over its future.
Former President Joe Biden completed a round of radiation therapy at a Penn Medicine cancer center Monday as part of his treatment for prostate cancer, according to a representative.
President Donald Trumpâs administration on Tuesday asked a Center City federal appeals court to overturn an order that has blocked the deportation of pro-Palestinian activist Mahmoud Khalil.
Sen. John Fetterman, the Democrat from Pennsylvania, said heâd back a Republican plan to override the Senate filibuster if it meant passing a bill to reopen the federal government. Meanwhile, Gov. Josh Shapiroâs administration has entered the messaging battle over the cause of the disruption to SNAP benefits.
Childrenâs Hospital of Philadelphia filed a blistering legal response Monday to White House efforts to investigate doctors providing gender-affirming care.
Delaware County Democrats have dominated county government for six years, but Republicans think a recent property tax increase could change that trend.
Philly lawmakers are trying for the third time to pass legislation requiring that stores charge customers a fee for paper bags. Again, itâs facing opposition from the mayor.
The Rev. Carolyn Cavaness has become something of a celebrity in the last year. She is the first woman pastor of Mother Bethel, known as a hub for Black activism and the oldest church property in the United States to be owned continuously by Black people.
đ§ Trivia time
Another Pennsylvania politician is releasing a memoir, this one in January. Who is it?
Cheers to Afrah Howlader, who solved Tuesdayâs anagram: Point Breeze. A once-crumbling church in the South Philadelphia neighborhood is being preserved as a brewery and community space.
Photo of the day
Before gathering for a candlelight vigil on Monday at Ada H.H. Lewis Middle School, Julius Peden, 5, and Jaihanna Williams Peden, 14, pause at a memorial for Kada Scott.
Wishing you an easy Wednesday. Iâll be back with you tomorrow.
By submitting your written, visual, and/or audio contributions, you agree to The Inquirerâs Terms of Use, including the grant of rights in Section 10.
HBO's Task once again brought the Philadelphia region back into the spotlight over its seven-episode run, showcasing a slew of local spots from Ridley Township to Coatesville and beyond.
And with the series wrapped, we can say: Creator Brad Ingelsby did right by Delco, where the series is largely set.
Sure, the accents were pretty great â but as we look back at the show, it's clear that the Philadelphia region was integral to Task. Here, we've rounded up all the local spots â sans private homes â we could identify in Task. Check out the map below to see what locations wound up the show, and why the series takes us there:
Loading…
Aston Township
Mirenda Center at Neumann University
First seen in episode one
Courtesy of Neumann University
Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the centerâs atrium are visible.
Collingdale
Ritaâs Italian Ice & Frozen Custard
First seen in episode one
Alejandro A. Alvarez / Staff Photographer
Emily (Silvia Dionicio), Tomâs daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.
Philadelphia
Former Philadelphia Police Department Headquarters
First seen in episode one
Jessica Griffin / Staff Photographer
We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBIâs Philly field office is located.
Bangor
Bangor Quarry
First seen in episode one
Robbie (Tom Pelphrey), Cliff (RaĂșl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same â not only is it dangerous, but itâs also trespassing, according to the Bangor Borough Police Department.
Coatesville
Lincoln Highway and 2nd Avenue
First seen in episode two
TOM GRALISH / Staff Photographer
The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.
Coatesville
Polish American Citizens Club
First seen in episode two
Courtesy of HBO
Done up as the so-called Leftyâs Taproom in the show, this location serves as the Dark Heartsâ clubhouse and watering hole. In real life, itâs just off Lincoln Highway, lending a bit of realism to the gangâs ride through downtown Coatesville.
Aston Township
Martinâs Taphouse
First seen in episode two
Martin's stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.
Sharon Hill
Dixonâs Lounge
First seen in episode two
Courtesy of HBO
While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delcoâs own Dixonâs Lounge. Here, Robbie and Cliff are stood up by an, ahem, âbusiness partnerâ before walking out on an order of crabfries.
Boothwyn
Willowbrook Shopping Center
First seen in episode two
Isaiah Vazquez / For The Inquirer
Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional âVal-U Cornerâ store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.
Phoenixville
Phoenixville Area High School
First seen in episode two
During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird's-eye view in the series.
Philadelphia
Ralphâs Italian Restaurant
First seen in episode three
MICHAEL KLEIN / Staff
Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesnât appear to be serving the Italian food weâre used to in real life.
Aston Township
Mount Hope Cemetery
First seen in episode three
Isaiah Vazquez / For The Inquirer
Itâs a very quick shot, but itâs there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.
Union Township
Sixpenny Creek Quarry
First seen in episode three
Courtesy of HBO
Robbie (Tom Pelphrey) and Cliff (RaĂșl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesnât go according to plan.
Upper Darby
Llanerch Diner
First seen in episode three
Tom Gralish / Staff Photographer
Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby's famed Llanerch Diner for a tip on the drug house robberies they're investigating, and get a break in the case.
Lansdowne
Rosedon Plaza
First seen in episode three
Jose F. Moreno / Staff Photographer
In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc's Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.
Coatesville
Coatesville Police Department
First seen in episode three
Steven M. Falk / For The Inquirer
Whether the interior is the same station isnât clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads âDelaware County Sheriff,â which is a little far from home.
Holmes
The Ridley House
First seen in episode three
Isaiah Vazquez / For The Inquirer
Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnabyâs, which, in real life, was true at one point â until the location became the Ridley House in 2019.
King of Prussia
Pennsylvania Turnpike on-ramp
First seen in episode four
TOM GRALISH / Staff Photographer
Itâs a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.
Malvern
I-76 Exit 320
First seen in episode four
Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.
Marcus Hook
Marcus Hook Community Center
First seen in episode four
Erin Blewett / For The Inquirer
As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with âDelaware County Sheriffâs Office.â But the green awning above him is a dead giveaway â thatâs the Marcus Hook Community Center.
Aston Township
Rockdale Industrial Center
First seen in episode four
It's disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (RaĂșl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan.
Chester
Upland Diner
First seen in episode four
Erin Blewett / For The Inquirer
Upland Dinerâs parking lot serves as Robbieâs (Tom Pelphrey) holding area during this episodeâs drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurantâs vintage-style sign is proudly on display. Great pancakes, for the record.
Newtown Square
Ridley Creek State Park entrance
First seen in episode four
JOSE F. MORENO / Staff Photographer
Cliff (RaĂșl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.
Wilmington, Del.
Beaver Creek
First seen in episode four
It's tough to spot, but the dam that Cliff (RaĂșl Castillo) parks his car next to during this episode's failed drug deal â or, more accurately, the Dark Hearts' setup â appears to be in Beaver Creek on the Delaware-Pennsylvania border.
Coatesville
City Clock Apartments
First seen in episode four
Steven M. Falk / For The Inquirer
Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.
Downingtown
Coatesville-Downingtown Bypass
First seen in episode five
FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.
Downingtown
Marsh Creek State Park
First seen in episode five
After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.
Boothwyn
I-95 Pennsylvania Welcome Center
First seen in episode five
Erin Blewett / For The Inquirer
FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center's picnic tables as the task crew looks for their leader. As McGinty explains, she is âan emotional eater.â
Everett
Woy Bridge
First seen in episode five
In what is likely the farthest-flung filming location â at least in relation to the rest of the local spots â we get some shots of Everettâs Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).
Milmont Park
Our Lady of Peace Parish
First seen in episode six
RON TARVER / Staff Photographer
Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.
Coatesville
High Bridge
First seen in episode seven
This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso's (Fabien Frankel) fate with the Dark Hearts.
Media
Delaware County Courthouse and Government Center
First seen in episode seven
Courtesy of Delaware County Government Center and Courthouse
Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.
story continues after advertisement
Explore the map of all locations at your own pace. Tap onHover overa pin to learn more.
That's it for Task. But rest assured, if HBO decides to focus on Philly again, we'll be back. Until then, see youse later.
Staff Contributors
Design and Development: Sam Morris
Reporting: Nick Vadala
Editing: Emily Babay
First seen in episode
(()=>{var fr=Object.create;var _e=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var vr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var et=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var mr=(e,t,r,n)=>{if(t&&typeof t==”object”||typeof t==”function”)for(let i of pr(t))!gr.call(e,i)&&i!==r&&_e(e,i,{get:()=>t[i],enumerable:!(n=dr(t,i))||n.enumerable});return e};var yr=(e,t,r)=>(r=e!=null?fr(vr(e)):{},mr(t||!e||!e.__esModule?_e(r,”default”,{value:e,enumerable:!0}):r,e));var ft=et(I=>{var Sr={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function at(e){return e===void 0&&(e=new Date),Sr[e.getMonth()]}var xr={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function lt(e){return e===void 0&&(e=new Date),xr[e.getMonth()]}function ne(e){return e==null}function ht(e){return typeof e==”number”&&isFinite(e)}function Se(e){return ht(e)&&Math.floor(e)===e}var Tr=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],Cr=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],ut=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],Lr=[11,12,13];function ct(e){if(ne(e))return””;var t=+e;return Se(t)?Lr.indexOf(t%100)>-1?ut[0]:ut[t%10]:””}var Pr=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],Ar=new RegExp(/s+([^s]*)s*$/);I.apdate=function(e){return e===void 0&&(e=new Date),at(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apdatetab=function(e){return e===void 0&&(e=new Date),lt(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apmonth=at,I.apmonthtab=lt,I.apnumber=function(e){if(ne(e))return””;var t=+e;return Se(t)?t=10?e.toString():Tr[t-1]:e.toString()},I.aptime=function(e){e===void 0&&(e=new Date);var t,r,n=e.getHours(),i=e.getMinutes(),o=i===0;if(o){if(n===0)return”midnight”;if(n===12)return”noon”}return n0?n:12):(t=”p.m.”,r=n===12?n:n-12),o?r+” “+t:r+”:”+(i<10?"0"+i:i)+" "+t},I.capfirst=function(e){if(ne(e))return"";var t=String(e);return""+t.charAt(0).toUpperCase()+t.slice(1)},I.intcomma=function(e){if(ne(e))return"";var t,r=+e;return ht(r)?((t=r.toString().split("."))[0]=t[0].replace(/B(?=(d{3})+(?!d))/g,","),t.join(".")):e.toString()},I.intword=function(e){if(ne(e))return"";var t=+e;if(!Se(t))return e.toString();var r=Math.abs(t);if(r<1e6)return e.toString();var n=Math.ceil(Math.log(r+1)/Math.LN10)-1,i=n-n%3,o=t/Math.pow(10,i);return(o=Math.round(10*o)/10)+" "+Cr[Math.floor(i/3)-2]},I.ordinal=function(e,t){if(t===void 0&&(t=!1),ne(e))return"";var r=+e;return Se(r)?t&&r{(function(e,t){typeof We==”object”&&typeof je<"u"?je.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis=h?m:””+Array(h+1-p.length).join(u)+m},K={s:O,z:function(m){var h=-m.utcOffset(),u=Math.abs(h),p=Math.floor(u/60),c=u%60;return(h<=0?"+":"-")+O(p,2,"0")+":"+O(c,2,"0")},m:function m(h,u){if(h.date()<u.date())return-m(u,h);var p=12*(u.year()-h.year())+(u.month()-h.month()),c=h.clone().add(p,f),y=u-c<0,w=h.clone().add(p+(y?-1:1),f);return+(-(p+(u-c)/(y?c-w:w-c))||0)},a:function(m){return m1)return m(w[0])}else{var b=h.name;$[b]=h,c=b}return!p&&c&&(C=c),c||!p&&C},E=function(m,h){if(ie(m))return m.clone();var u=typeof h==”object”?h:{};return u.date=m,u.args=arguments,new te(u)},M=K;M.l=oe,M.i=ie,M.w=function(m,h){return E(m,{locale:h.$L,utc:h.$u,x:h.$x,$offset:h.$offset})};var te=function(){function m(u){this.$L=oe(u.locale,null,!0),this.parse(u),this.$x=this.$x||u.x||{},this[R]=!0}var h=m.prototype;return h.parse=function(u){this.$d=function(p){var c=p.date,y=p.utc;if(c===null)return new Date(NaN);if(M.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c==”string”&&!/Z$/i.test(c)){var w=c.match(F);if(w){var b=w[2]-1||0,A=(w[7]||”0″).substring(0,3);return y?new Date(Date.UTC(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)):new Date(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)}}return new Date(c)}(u),this.init()},h.init=function(){var u=this.$d;this.$y=u.getFullYear(),this.$M=u.getMonth(),this.$D=u.getDate(),this.$W=u.getDay(),this.$H=u.getHours(),this.$m=u.getMinutes(),this.$s=u.getSeconds(),this.$ms=u.getMilliseconds()},h.$utils=function(){return M},h.isValid=function(){return this.$d.toString()!==x},h.isSame=function(u,p){var c=E(u);return this.startOf(p)<=c&&c<=this.endOf(p)},h.isAfter=function(u,p){return E(u)<this.startOf(p)},h.isBefore=function(u,p){return this.endOf(p)<E(u)},h.$g=function(u,p,c){return M.u(u)?this[p]:this.set(c,u)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(u,p){var c=this,y=!!M.u(p)||p,w=M.p(u),b=function(j,H){var J=M.w(c.$u?Date.UTC(c.$y,H,j):new Date(c.$y,H,j),c);return y?J:J.endOf(a)},A=function(j,H){return M.w(c.toDate()[j].apply(c.toDate("s"),(y?[0,0,0,0]:[23,59,59,999]).slice(H)),c)},k=this.$W,D=this.$M,z=this.$D,X="set"+(this.$u?"UTC":"");switch(w){case l:return y?b(1,0):b(31,11);case f:return y?b(1,D):b(0,D+1);case d:var q=this.$locale().weekStart||0,Q=(k<q?k+7:k)-q;return b(y?z-Q:z+(6-Q),D);case a:case v:return A(X+"Hours",0);case s:return A(X+"Minutes",1);case o:return A(X+"Seconds",2);case i:return A(X+"Milliseconds",3);default:return this.clone()}},h.endOf=function(u){return this.startOf(u,!1)},h.$set=function(u,p){var c,y=M.p(u),w="set"+(this.$u?"UTC":""),b=(c={},c[a]=w+"Date",c[v]=w+"Date",c[f]=w+"Month",c[l]=w+"FullYear",c[s]=w+"Hours",c[o]=w+"Minutes",c[i]=w+"Seconds",c[n]=w+"Milliseconds",c)[y],A=y===a?this.$D+(p-this.$W):p;if(y===f||y===l){var k=this.clone().set(v,1);k.$d[b](A),k.init(),this.$d=k.set(v,Math.min(this.$D,k.daysInMonth())).$d}else b&&this.$d[b](A);return this.init(),this},h.set=function(u,p){return this.clone().$set(u,p)},h.get=function(u){return this[M.p(u)]()},h.add=function(u,p){var c,y=this;u=Number(u);var w=M.p(p),b=function(D){var z=E(y);return M.w(z.date(z.date()+Math.round(D*u)),y)};if(w===f)return this.set(f,this.$M+u);if(w===l)return this.set(l,this.$y+u);if(w===a)return b(1);if(w===d)return b(7);var A=(c={},c[o]=t,c[s]=r,c[i]=e,c)[w]||1,k=this.$d.getTime()+u*A;return M.w(k,this)},h.subtract=function(u,p){return this.add(-1*u,p)},h.format=function(u){var p=this,c=this.$locale();if(!this.isValid())return c.invalidDate||x;var y=u||"YYYY-MM-DDTHH:mm:ssZ",w=M.z(this),b=this.$H,A=this.$m,k=this.$M,D=c.weekdays,z=c.months,X=c.meridiem,q=function(H,J,se,ae){return H&&(H[J]||H(p,y))||se[J].slice(0,ae)},Q=function(H){return M.s(b%12||12,H,"0")},j=X||function(H,J,se){var ae=H{window.addEventListener(“resize”,()=>{rt(),$e()}),window.addEventListener(“scroll”,()=>{$e()})},rt=()=>{wr.setAttribute(“viewBox”,`0 0 ${window.innerWidth} ${window.innerHeight}`)},$e=()=>{let e=document.querySelector(“.js-steps”).dataset.current;re!==e&&(re=e,ot()),!re||re==”all”?it():nt()},nt=()=>{if(re){let e=document.querySelector(`.js-steps-step[data-step=”${re}”] .js-steps-pin`),t=document.querySelector(“.js-map-location.is-current .js-map-pin”);if(t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=document.querySelector(“.js-steps”).getBoundingClientRect(),s=o.top>0?o.top:0,a=r.width/2;ce.setAttribute(“y1”,r.top+a-s),ce.setAttribute(“x1”,r.left+a),ce.setAttribute(“y2”,n.top+a-s),ce.setAttribute(“x2”,n.left+a)}}},it=()=>{ce.classList.add(“is-hidden”)},Mr=()=>{ce.classList.remove(“is-hidden”)},ot=()=>{it(),clearTimeout(tt),tt=setTimeout(()=>{re!==void 0&&re!==”all”&&(nt(),Mr())},1200)},st={init:()=>{br(),rt(),$e()},onChange:()=>{ot()}};var Rn=ft();var ze=e=>{if(e)return e.trim().toLowerCase().normalize(“NFD”).replace(/[u0300-u036f]/g,””).replace(/[^A-Z0-9 ]/gi,””).trim().replace(/ /g,”-“)};var dt=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var pe=(e,t=null,r=null)=>{r||(r=document.querySelector(“head”));let n=document.createElement(“script”);n.type=”text/javascript”,n.src=e,t&&(n.onload=t),r.appendChild(n)},pt=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,vt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof t>”u”},gt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(t&&t==1)},Be=()=>window.location.host.includes(“localhost”),xe=(e,t=””)=>{let r=document.querySelector(`template#${e}`);if(!r||!(r instanceof HTMLTemplateElement))return console.log(`Couldn’t find .`),null;let n=r.content.cloneNode(!0).childNodes;if(n.length==0)return console.log(`Template ${r} has no children, returning null.`),null;n.length>1&&console.log(`Template ${r} has multiple children, only returning the first.`);let i=n[0];return i.setAttribute(“data-id”,t),i},Te=(e,t)=>{let r=[…e.querySelectorAll(“[data-populate]”)];e.dataset.populate&&r.unshift(e);let n=r.filter(i=>{let o=i.closest(“[data-populate-context]”);return!o||o==e});for(let i of n){let s=i.dataset.populate.trim().split(/s*,s*/).map(a=>a.split(/s*:s*/));for(let[a,d]of s){let g=a.split(“.”).reduce((x,F)=>x?.[F],t),l=g==null||g==null,v=d?.split(/s+/)||[“innerHTML”];for(let x of v)x.startsWith(“.”)&&i.classList.toggle(x.substring(1),l?!1:g),!l&&(x==”innerHTML”?i.innerHTML=g:x.startsWith(“@”)?i.setAttribute(x.substring(1),g):x.startsWith(“–“)&&i.style.setProperty(x,g))}}};var Er=()=>{gt()&&document.querySelectorAll(“.js-adbox”).forEach(t=>{t.classList.add(“is-hidden”)})},mt={init:()=>{Er()}};var le,yt,kr=()=>{le=document.getElementById(“js-inno-toast”)},Dr=e=>{if(!le)return;le.innerHTML=e,le.classList.add(“inno-toast–active”);let t=()=>{le.addEventListener(“transitionend”,$r,{once:!0}),le.classList.remove(“inno-toast–active”)};clearTimeout(yt),yt=setTimeout(t,5e3)},$r=()=>{le.innerHTML=””},ue={init:()=>{kr()},showToast:Dr};var Ce,wt=!1,zr=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),Br()},100)}),Br=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},Fr=()=>{let e=window.services?.createShareLink;e&&(Ce=e),Be()&&(Ce=zr),Ce&&Or()},Hr=async e=>{let t=”text/plain”,r=async()=>{try{return await Ce(window.location.pathname)}catch{e.dataset.state=”error”,ue.showToast(“Hmm, we couldn’t generate a gift link…”)}},n=new ClipboardItem({[t]:r()});await navigator.clipboard.write([n]).catch(i=>{console.log(i),ue.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),ue.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},Or=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(pt()||Be()||vt())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,wt=!0,Hr(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||Rr(e)},Rr=e=>{new MutationObserver(r=>{for(let n of r){let i=[…n.addedNodes].at(0);if(!(i instanceof HTMLElement))return;wt&&ue.showToast(i.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},bt={init:()=>{Fr()}};var Ur=()=>{window.addEventListener(“message”,e=>{if(e.data[“datawrapper-height”]){let t=e.data[“datawrapper-height”];for(let r in t)document.querySelector(`#datawrapper-chart-${r}`).setAttribute(“height”,t[r])}})},Ir=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(e=>{pe(`https://datawrapper.dwcdn.net/${e.dataset.id}/embed.js`,null,e)})},qr=()=>{window.addEventListener(“message”,e=>{let t=e.data;document.querySelectorAll(`iframe[src*=”${t.id}”]`).forEach(n=>{n.style.height=`${t.height}px`})},!1)},Gr=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(e=>{if(typeof window{new window.pym.Parent(e.id,e.dataset.iframe)};typeof window.pym>”u”?pe(“https://pym.nprapps.org/pym.v1.min.js”,t):t()}})},Mt={init:()=>{Ur(),Ir(),Gr(),qr()}};var ve,Nr=()=>{document.querySelectorAll(“.js-hover”).forEach(e=>{e.addEventListener(“click”,()=>{St(e)}),e.addEventListener(“mouseenter”,()=>{St(e)}),e.addEventListener(“mouseout”,()=>{xt(e)})}),window.addEventListener(“scroll”,()=>{ve!==null&&Zr()})},Zr=()=>{(ve>window.scrollY+100||ve{xt(e)})},St=e=>{e.classList.add(“is-visible”),ve=window.scrollY},xt=e=>{e.classList.remove(“is-visible”),ve=null},Tt={init:()=>{Nr()}};var N=Uint8Array,he=Uint16Array,Wr=Int32Array,Ct=new N([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Lt=new N([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),jr=new N([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pt=function(e,t){for(var r=new he(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];for(var i=new Wr(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},At=Pt(Ct,2),Et=At.b,Jr=At.r;Et[28]=258,Jr[258]=28;var kt=Pt(Lt,0),Yr=kt.b,Vn=kt.r,Oe=new he(32768);for(S=0;S>1|(S&21845)<>2|(_&13107)<>4|(_&3855)<>8|(_&255)<>1;var _,S,ge=function(e,t,r){for(var n=e.length,i=0,o=new he(t);i<n;++i)e[i]&&++o[e[i]-1];var s=new he(t);for(i=1;i<t;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new he(1<<t);var d=15-t;for(i=0;i<n;++i)if(e[i])for(var f=i<<4|e[i],g=t-e[i],l=s[e[i]-1]++<<g,v=l|(1<<g)-1;l>d]=f}else for(a=new he(n),i=0;i>15-e[i]);return a},me=new N(288);for(S=0;S<144;++S)me[S]=8;var S;for(S=144;S<256;++S)me[S]=9;var S;for(S=256;S<280;++S)me[S]=7;var S;for(S=280;S<288;++S)me[S]=8;var S,Dt=new N(32);for(S=0;S<32;++S)Dt[S]=5;var S;var Vr=ge(me,9,1);var Kr=ge(Dt,5,1),Fe=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},Y=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<>(t&7)&r},He=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<>(t&7)},Xr=function(e){return(e+7)/8|0},Qr=function(e,t,r){return(t==null||te.length)&&(r=e.length),new N(e.subarray(t,r))};var _r=[“unexpected EOF”,”invalid block type”,”invalid length/literal”,”invalid distance”,”stream finished”,”no stream handler”,,”no callback”,”invalid UTF-8 data”,”extra field too long”,”date not in range 1980-2099″,”filename too long”,”stream finishing”,”invalid zip data”],G=function(e,t,r){var n=new Error(t||_r[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,G),!r)throw n;return n},Re=function(e,t,r,n){var i=e.length,o=n?n.length:0;if(!i||t.f&&!t.l)return r||new N(0);var s=!r,a=s||t.i!=2,d=t.i;s&&(r=new N(i*3));var f=function(ae){var Xe=r.length;if(ae>Xe){var Qe=new N(Math.max(Xe*2,ae));Qe.set(r),r=Qe}},g=t.f||0,l=t.p||0,v=t.b||0,x=t.l,F=t.d,P=t.m,V=t.n,O=i*8;do{if(!x){g=Y(e,l,1);var K=Y(e,l+1,3);if(l+=3,K)if(K==1)x=Vr,F=Kr,P=9,V=5;else if(K==2){var ie=Y(e,l,31)+257,oe=Y(e,l+10,15)+4,E=ie+Y(e,l+5,31)+1;l+=14;for(var M=new N(E),te=new N(19),U=0;U<oe;++U)te[jr[U]]=Y(e,l+U*3,7);l+=oe*3;for(var m=Fe(te),h=(1<<m)-1,u=ge(te,m,1),U=0;U>4;if(C<16)M[U++]=C;else{var c=0,y=0;for(C==16?(y=3+Y(e,l,3),l+=2,c=M[U-1]):C==17?(y=3+Y(e,l,7),l+=3):C==18&&(y=11+Y(e,l,127),l+=7);y–;)M[U++]=c}}var w=M.subarray(0,ie),b=M.subarray(ie);P=Fe(w),V=Fe(b),x=ge(w,P,1),F=ge(b,V,1)}else G(1);else{var C=Xr(l)+4,$=e[C-4]|e[C-3]<i){d&&G(0);break}a&&f(v+$),r.set(e.subarray(C,R),v),t.b=v+=$,t.p=l=R*8,t.f=g;continue}if(l>O){d&&G(0);break}}a&&f(v+131072);for(var A=(1<<P)-1,k=(1<>4;if(l+=c&15,l>O){d&&G(0);break}if(c||G(2),z264){var U=z-257,q=Ct[U];X=Y(e,l,(1<>4;Q||G(3),l+=Q&15;var b=Yr[j];if(j>3){var q=Lt[j];b+=He(e,l)&(1<O){d&&G(0);break}a&&f(v+131072);var H=v+X;if(v<b){var J=o-b,se=Math.min(b,H);for(J+v<0&&G(3);v<se;++v)r[v]=n[J+v]}for(;v<H;++v)r[v]=r[v-b]}}t.l=x,t.p=D,t.b=v,t.f=g,x&&(g=1,t.m=P,t.d=F,t.n=V)}while(!g);return v!=r.length&&s?Qr(r,0,v):r.subarray(0,v)};var en=new N(0);var tn=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&G(6,"invalid gzip data");var t=e[3],r=10;t&4&&(r+=(e[10]|e[11]<>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(t&2)},rn=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<>>0};var nn=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<>5&1)==+!t&&G(6,”invalid zlib data: “+(e[1]&32?”need”:”unexpected”)+” dictionary”),(e[1]>>3&4)+2};function on(e,t){return Re(e,{i:2},t&&t.out,t&&t.dictionary)}function sn(e,t){var r=tn(e);return r+8>e.length&&G(6,”invalid gzip data”),Re(e.subarray(r,-8),{i:2},t&&t.out||new N(rn(e)),t&&t.dictionary)}function an(e,t){return Re(e.subarray(nn(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function $t(e,t){return e[0]==31&&e[1]==139&&e[2]==8?sn(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?on(e,t):an(e,t)}var ln=typeof TextDecodercn(e,”name”,{value:t,configurable:!0}),B=(e,t,r)=>new Promise((n,i)=>{var o=d=>{try{a(r.next(d))}catch(f){i(f)}},s=d=>{try{a(r.throw(d))}catch(f){i(f)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(o,s);a((r=r.apply(e,t)).next())}),Qn=T((e,t)=>{let r=!1,n=””,i=L.GridLayer.extend({createTile:T((o,s)=>{let a=document.createElement(“img”),d=new AbortController,f=d.signal;return a.cancel=()=>{d.abort()},r||(e.getHeader().then(g=>{g.tileType===1?console.error(“Error: archive contains MVT vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details.”):g.tileType===2?n=”image/png”:g.tileType===3?n=”image/jpeg”:g.tileType===4?n=”image/webp”:g.tileType===5&&(n=”image/avif”)}),r=!0),e.getZxy(o.z,o.x,o.y,f).then(g=>{if(g){let l=new Blob([g.data],{type:n}),v=window.URL.createObjectURL(l);a.src=v,a.cancel=void 0,s(void 0,a)}}).catch(g=>{if(g.name!==”AbortError”)throw g}),a},”createTile”),_removeTile:T(function(o){let s=this._tiles[o];s&&(s.el.cancel&&s.el.cancel(),s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[o],this.fire(“tileunload”,{tile:s.el,coords:this._keyToTileCoords(o)}))},”_removeTile”)});return new i(t)},”leafletRasterLayer”),hn=T(e=>(t,r)=>{if(r instanceof AbortController)return e(t,r);let n=new AbortController;return e(t,n).then(i=>r(void 0,i.data,i.cacheControl||””,i.expires||””),i=>r(i)).catch(i=>r(i)),{cancel:T(()=>n.abort(),”cancel”)}},”v3compat”),zt=class{constructor(t){this.tilev4=T((r,n)=>B(this,null,function*(){if(r.type===”json”){let x=r.url.substr(10),F=this.tiles.get(x);if(F||(F=new Le(x),this.tiles.set(x,F)),this.metadata)return{data:yield F.getTileJson(r.url)};let P=yield F.getHeader();return(P.minLon>=P.maxLon||P.minLat>=P.maxLat)&&console.error(`Bounds of PMTiles archive ${P.minLon},${P.minLat},${P.maxLon},${P.maxLat} are not valid.`),{data:{tiles:[`${r.url}/{z}/{x}/{y}`],minzoom:P.minZoom,maxzoom:P.maxZoom,bounds:[P.minLon,P.minLat,P.maxLon,P.maxLat]}}}let i=new RegExp(/pmtiles://(.+)/(d+)/(d+)/(d+)/),o=r.url.match(i);if(!o)throw new Error(“Invalid PMTiles protocol URL”);let s=o[1],a=this.tiles.get(s);a||(a=new Le(s),this.tiles.set(s,a));let d=o[2],f=o[3],g=o[4],l=yield a.getHeader(),v=yield a?.getZxy(+d,+f,+g,n.signal);if(v)return{data:new Uint8Array(v.data),cacheControl:v.cacheControl,expires:v.expires};if(l.tileType===1){if(this.errorOnMissingTile)throw new Error(“Tile not found.”);return{data:new Uint8Array}}return{data:null}}),”tilev4″),this.tile=hn(this.tilev4),this.tiles=new Map,this.metadata=t?.metadata||!1,this.errorOnMissingTile=t?.errorOnMissingTile||!1}add(t){this.tiles.set(t.source.getKey(),t)}get(t){return this.tiles.get(t)}};T(zt,”Protocol”);var Bt=zt;function Ft(e,t){return(t>>>0)*4294967296+(e>>>0)}T(Ft,”toNum”);function Ht(e,t){let r=t.buf,n=r[t.pos++],i=(n&112)>>4;if(n<128||(n=r[t.pos++],i|=(n&127)<<3,n<128)||(n=r[t.pos++],i|=(n&127)<<10,n<128)||(n=r[t.pos++],i|=(n&127)<<17,n<128)||(n=r[t.pos++],i|=(n&127)<<24,n<128)||(n=r[t.pos++],i|=(n&1)<<31,n<128))return Ft(e,i);throw new Error("Expected varint not more than 10 bytes")}T(Ht,"readVarintRemainder");function fe(e){let t=e.buf,r=t[e.pos++],n=r&127;return r<128||(r=t[e.pos++],n|=(r&127)<<7,r<128)||(r=t[e.pos++],n|=(r&127)<<14,r<128)||(r=t[e.pos++],n|=(r&127)<<21,r<128)?n:(r=t[e.pos],n|=(r&15)<<28,Ht(n,e))}T(fe,"readVarint");function Ie(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}T(Ie,"rotate");function Ot(e,t){let r=ye(2,e),n=t,i=t,o=t,s=[0,0],a=1;for(;a26)throw new Error(“Tile zoom level exceeds max safe number limit (26)”);if(t>ye(2,e)-1||r>ye(2,e)-1)throw new Error(“tile x/y outside zoom level bounds”);let n=fn[e],i=ye(2,e),o=0,s=0,a=0,d=[t,r],f=i/2;for(;f>0;)o=(d[0]&f)>0?1:0,s=(d[1]&f)>0?1:0,a+=f*f*(3*o^s),Ie(f,d,o,s),f=f/2;return n+a}T(Rt,”zxyToTileId”);function dn(e){let t=0,r=0;for(let n=0;n<27;n++){let i=(1<<n)*(1<e)return Ot(n,e-t);t+=i}throw new Error(“Tile zoom level exceeds max safe number limit (26)”)}T(dn,”tileIdToZxy”);var pn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.None=1]=”None”,e[e.Gzip=2]=”Gzip”,e[e.Brotli=3]=”Brotli”,e[e.Zstd=4]=”Zstd”,e))(pn||{});function Pe(e,t){return B(this,null,function*(){if(t===1||t===0)return e;if(t===2){if(typeof globalThis.DecompressionStream>”u”)return $t(new Uint8Array(e));let r=new Response(e).body;if(!r)throw new Error(“Failed to read response stream”);let n=r.pipeThrough(new globalThis.DecompressionStream(“gzip”));return new Response(n).arrayBuffer()}throw new Error(“Compression method not supported”)})}T(Pe,”defaultDecompress”);var vn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.Mvt=1]=”Mvt”,e[e.Png=2]=”Png”,e[e.Jpeg=3]=”Jpeg”,e[e.Webp=4]=”Webp”,e[e.Avif=5]=”Avif”,e))(vn||{});function Ut(e){return e===1?”.mvt”:e===2?”.png”:e===3?”.jpg”:e===4?”.webp”:e===5?”.avif”:””}T(Ut,”tileTypeExt”);var gn=127;function It(e,t){let r=0,n=e.length-1;for(;r>1,o=t-e[i].tileId;if(o>0)r=i+1;else if(o=0&&(e[n].runLength===0||t-e[n].tileId-1,o=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,i&&o&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,r,n,i){return B(this,null,function*(){let o,s;n?s=n:(o=new AbortController,s=o.signal);let a=new Headers(this.customHeaders);a.set(“range”,`bytes=${t}-${t+r-1}`);let d;this.mustReload?d=”reload”:this.chromeWindowsNoCache&&(d=”no-store”);let f=yield fetch(this.url,{signal:s,cache:d,headers:a});if(t===0&&f.status===416){let v=f.headers.get(“Content-Range”);if(!v||!v.startsWith(“bytes */”))throw new Error(“Missing content-length on 416 response”);let x=+v.substr(8);f=yield fetch(this.url,{signal:s,cache:”reload”,headers:{range:`bytes=0-${x-1}`}})}let g=f.headers.get(“Etag”);if(g!=null&&g.startsWith(“W/”)&&(g=null),f.status===416||i&&g&&g!==i)throw this.mustReload=!0,new Ue(`Server returned non-matching ETag ${i} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(f.status>=300)throw new Error(`Bad response code: ${f.status}`);let l=f.headers.get(“Content-Length”);if(f.status===200&&(!l||+l>r))throw o&&o.abort(),new Error(“Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.”);return{data:yield f.arrayBuffer(),etag:g||void 0,cacheControl:f.headers.get(“Cache-Control”)||void 0,expires:f.headers.get(“Expires”)||void 0}})}};T(qt,”FetchSource”);var yn=qt;function W(e,t){let r=e.getUint32(t+4,!0),n=e.getUint32(t+0,!0);return r*ye(2,32)+n}T(W,”getUint64″);function Gt(e,t){let r=new DataView(e),n=r.getUint8(7);if(n>3)throw new Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:W(r,8),rootDirectoryLength:W(r,16),jsonMetadataOffset:W(r,24),jsonMetadataLength:W(r,32),leafDirectoryOffset:W(r,40),leafDirectoryLength:W(r,48),tileDataOffset:W(r,56),tileDataLength:W(r,64),numAddressedTiles:W(r,72),numTileEntries:W(r,80),numTileContents:W(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:t}}T(Gt,”bytesToHeader”);function qe(e){let t={buf:new Uint8Array(e),pos:0},r=fe(t),n=[],i=0;for(let o=0;o<r;o++){let s=fe(t);n.push({tileId:i+s,offset:0,length:0,runLength:1}),i+=s}for(let o=0;o<r;o++)n[o].runLength=fe(t);for(let o=0;o<r;o++)n[o].length=fe(t);for(let o=0;o0?n[o].offset=n[o-1].offset+n[o-1].length:n[o].offset=s-1}return n}T(qe,”deserializeIndex”);var Nt=class extends Error{};T(Nt,”EtagMismatch”);var Ue=Nt;function Ge(e,t){return B(this,null,function*(){let r=yield e.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error(“Wrong magic number for PMTiles archive”);let n=r.data.slice(0,gn),i=Gt(n,r.etag),o=r.data.slice(i.rootDirectoryOffset,i.rootDirectoryOffset+i.rootDirectoryLength),s=`${e.getKey()}|${i.etag||””}|${i.rootDirectoryOffset}|${i.rootDirectoryLength}`,a=qe(yield t(o,i.internalCompression));return[i,[s,a.length,a]]})}T(Ge,”getHeaderAndRoot”);function Ne(e,t,r,n,i){return B(this,null,function*(){let o=yield e.getBytes(r,n,void 0,i.etag),s=yield t(o.data,i.internalCompression),a=qe(s);if(a.length===0)throw new Error(“Empty directory is invalid”);return a})}T(Ne,”getDirectory”);var wn=class{constructor(t=100,r=!0,n=Pe){this.cache=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=n}getHeader(t){return B(this,null,function*(){let r=t.getKey(),n=this.cache.get(r);if(n)return n.lastUsed=this.counter++,n.data;let i=yield Ge(t,this.decompress);return i[1]&&this.cache.set(i[1][0],{lastUsed:this.counter++,data:i[1][2]}),this.cache.set(r,{lastUsed:this.counter++,data:i[0]}),this.prune(),i[0]})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,s.data;let a=yield Ne(t,this.decompress,r,n,i);return this.cache.set(o,{lastUsed:this.counter++,data:a}),this.prune(),a})}prune(){if(this.cache.size>this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{Ge(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),o(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(r,{lastUsed:this.counter++,data:i}),i})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((d,f)=>{Ne(t,this.decompress,r,n,i).then(g=>{d(g),this.prune()}).catch(g=>{f(g)})});return this.cache.set(o,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{this.getHeader(t).then(s=>{i(),this.invalidations.delete(r)}).catch(s=>{o(s)})});this.invalidations.set(r,n)})}};T(Zt,”SharedPromiseCache”);var bn=Zt,Wt=class{constructor(t,r,n){typeof t==”string”?this.source=new yn(t):this.source=t,n?this.decompress=n:this.decompress=Pe,r?this.cache=r:this.cache=new bn}getHeader(){return B(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,r,n,i){return B(this,null,function*(){let o=Rt(t,r,n),s=yield this.cache.getHeader(this.source);if(ts.maxZoom)return;let a=s.rootDirectoryOffset,d=s.rootDirectoryLength;for(let f=0;f0){let v=yield this.source.getBytes(s.tileDataOffset+l.offset,l.length,i,s.etag);return{data:yield this.decompress(v.data,s.tileCompression),cacheControl:v.cacheControl,expires:v.expires}}a=s.leafDirectoryOffset+l.offset,d=l.length}else return}throw new Error(“Maximum directory depth exceeded”)})}getZxy(t,r,n,i){return B(this,null,function*(){try{return yield this.getZxyAttempt(t,r,n,i)}catch(o){if(o instanceof Ue)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,r,n,i);throw o}})}getMetadataAttempt(){return B(this,null,function*(){let t=yield this.cache.getHeader(this.source),r=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),n=yield this.decompress(r.data,t.internalCompression),i=new TextDecoder(“utf-8″);return JSON.parse(i.decode(n))})}getMetadata(){return B(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof Ue)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}getTileJson(t){return B(this,null,function*(){let r=yield this.getHeader(),n=yield this.getMetadata(),i=Ut(r.tileType);return{tilejson:”3.0.0″,scheme:”xyz”,tiles:[`${t}/{z}/{x}/{y}${i}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[r.minLon,r.minLat,r.maxLon,r.maxLat],center:[r.centerLon,r.centerLat,r.centerZoom],minzoom:r.minZoom,maxzoom:r.maxZoom}})}};T(Wt,”PMTiles”);var Le=Wt;var we=[{name:”Mirenda Center at Neumann University”,town:”Aston Township”,coordinates:”39.87518295957942, -75.44287264018742″,photo:”CUFT75EQJFCNXF6TBJWB47IZBE”,description:”Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the centeru2019s atrium are visible.”,episode:”1″},{name:”Rita’s Italian Ice & Frozen Custard”,town:”Collingdale”,coordinates:”39.91438144966683, -75.27198755476991″,photo:”PVN6FY7AZVH57NJJ5QZMPSORVQ”,description:”Emily (Silvia Dionicio), Tomu2019s daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.”,episode:”1″},{name:”Former Philadelphia Police Department Headquarters”,town:”Philadelphia”,coordinates:”39.95454212611587, -75.15196309318775″,photo:”L7RTCVGETVB6BGP3OI6FGI75II”,description:”We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBIu2019s Philly field office is located.”,episode:”1″},{name:”Bangor Quarry”,town:”Bangor”,coordinates:”40.870304770450126, -75.20395382209078″,photo:””,description:”Robbie (Tom Pelphrey), Cliff (RaxFAl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same u2014 not only is it dangerous, but itu2019s also trespassing, according to the Bangor Borough Police Department.”,episode:”1″},{name:”Lincoln Highway and 2nd Avenue”,town:”Coatesville”,coordinates:”39.98367030794463, -75.82206085300957″,photo:”DKXFYZ5EGBEHJJKLSUGLQQDAR4″,description:”The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.”,episode:”2″},{name:”Polish American Citizens Club”,town:”Coatesville”,coordinates:”39.98079295642107, -75.83090353169075″,photo:”WICMTOVTBFE3HANVTH2PSHED5M”,description:”Done up as the so-called Leftyu2019s Taproom in the show, this location serves as the Dark Heartsu2019 clubhouse and watering hole. In real life, itu2019s just off Lincoln Highway, lending a bit of realism to the gangu2019s ride through downtown Coatesville.”,episode:”2″},{name:”Martin’s Taphouse”,town:”Aston Township”,coordinates:”39.89042265129427, -75.43449503510138″,photo:””,description:”Martin’s stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.”,episode:”2″},{name:”Dixon’s Lounge”,town:”Sharon Hill”,coordinates:”39.897139107273794, -75.27191565278125″,photo:”BHMNCU4FFJGOBPUKYCZBB2XEOA”,description:”While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delcou2019s own Dixonu2019s Lounge. Here, Robbie and Cliff are stood up by an, ahem, u201Cbusiness partneru201D before walking out on an order of crabfries.”,episode:”2″},{name:”Willowbrook Shopping Center”,town:”Boothwyn”,coordinates:”39.83646391291799, -75.44319408140227″,photo:”ZU5QXUIDONETHIPPADUJYMAKCY”,description:”Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional u201CVal-U Corneru201D store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.”,episode:”2″},{name:”Phoenixville Area High School”,town:”Phoenixville”,coordinates:”40.11868357112564, -75.51793551723154″,photo:””,description:”During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird’s-eye view in the series.”,episode:”2″},{name:”Ralph’s Italian Restaurant”,town:”Philadelphia”,coordinates:”39.94006065749021, -75.15774535245488″,photo:”GMDZYMAHRNFGPBTYLRABBDJYHM”,description:”Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesnu2019t appear to be serving the Italian food weu2019re used to in real life.”,episode:”3″},{name:”Mount Hope Cemetery”,town:”Aston Township”,coordinates:”39.871593701306836, -75.4390865914003″,photo:”4PCNSW4SPBAW7L2WFSJ2STJ3IM”,description:”Itu2019s a very quick shot, but itu2019s there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.”,episode:”3″},{name:”Sixpenny Creek Quarry”,town:”Union Township”,coordinates:”40.23700358370588, -75.78650582204335″,photo:”PLM34YOMIRCPPDVCGTFXM5FGME”,description:”Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesnu2019t go according to plan.”,episode:”3″},{name:”Llanerch Diner”,town:”Upper Darby”,coordinates:”39.96894828437008, -75.29301814827437″,photo:”6QXQDIMGKVDR5J64W4PVS3WP3E”,description:”Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby’s famed Llanerch Diner for a tip on the drug house robberies they’re investigating, and get a break in the case.”,episode:”3″},{name:”Rosedon Plaza”,town:”Lansdowne”,coordinates:”39.94225704587108, -75.26528827286353″,photo:”SCB2N67GLFACZO33OOA7CLXQMM”,description:”In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc’s Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.”,episode:”3″},{name:”Coatesville Police Department”,town:”Coatesville”,coordinates:”39.982144078230384, -75.82033869646108″,photo:”XTADWTS6UNEDHOJGNIMWPBBOLE”,description:”Whether the interior is the same station isnu2019t clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads u201CDelaware County Sheriff,u201D which is a little far from home.”,episode:”3″},{name:”The Ridley House”,town:”Holmes”,coordinates:”39.89753600427107, -75.31137880453917″,photo:”F2JJYIIZWFA3FFTHDPSXFI5M5A”,description:”Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnabyu2019s, which, in real life, was true at one point u2013 until the location became the Ridley House in 2019.”,episode:”3″},{name:”Pennsylvania Turnpike on-ramp”,town:”King of Prussia”,coordinates:”40.08960425823238, -75.39689126886788″,photo:”BURLUGM6TRDX3CE46XSFYGJK7M”,description:”Itu2019s a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.”,episode:”4″},{name:”I-76 Exit 320″,town:”Malvern”,coordinates:”40.073716457225665, -75.52365668680957″,photo:””,description:”Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.”,episode:”4″},{name:”Marcus Hook Community Center”,town:”Marcus Hook”,coordinates:”39.81198192114949, -75.41200706776057″,photo:”B76EM6PKTFEB7KFWEUWGOWYDL4″,description:”As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with u201CDelaware County Sheriffu2019s Office.u201D But the green awning above him is a dead giveaway u2014 thatu2019s the Marcus Hook Community Center.”,episode:”4″},{name:”Rockdale Industrial Center”,town:”Aston Township “,coordinates:”39.885281970146785, -75.44479191780039″,photo:””,description:”It’s disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan. “,episode:”4″},{name:”Upland Diner”,town:”Chester”,coordinates:”39.85816357241053, -75.37189095611281″,photo:”PVJMMBSI2ZBGJNQO46VYY5P6GQ”,description:”Upland Dineru2019s parking lot serves as Robbieu2019s (Tom Pelphrey) holding area during this episodeu2019s drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurantu2019s vintage-style sign is proudly on display. Great pancakes, for the record.”,episode:”4″},{name:”Ridley Creek State Park entrance”,town:”Newtown Square”,coordinates:”39.95853496065017, -75.43948479664033″,photo:”KOSWCMRRHRAB7MLGNLQIF535UM”,description:”Cliff (RaxFAl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.”,episode:”4″},{name:”Beaver Creek”,town:”Wilmington, Del.”,coordinates:”39.839261612846315, -75.57139152554225″,photo:””,description:”It’s tough to spot, but the dam that Cliff (RaxFAl Castillo) parks his car next to during this episode’s failed drug deal u2014 or, more accurately, the Dark Hearts’ setup u2014 appears to be in Beaver Creek on the Delaware-Pennsylvania border.”,episode:”4″},{name:”City Clock Apartments”,town:”Coatesville”,coordinates:”39.98382540387415, -75.8211284189516″,photo:”3BYXFXCYUFFRZBUSN5UAPYVYOA”,description:”Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.”,episode:”4″},{name:”Coatesville-Downingtown Bypass”,town:”Downingtown”,coordinates:”40.01895444780408, -75.70181027552258″,photo:””,description:”FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.”,episode:”5″},{name:”Marsh Creek State Park”,town:”Downingtown”,coordinates:”40.06782560219195, -75.72000193749815″,photo:”NT5JGVMLZFDJTGHC6M7BZFI7Y4″,description:”After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.”,episode:”5″},{name:”I-95 Pennsylvania Welcome Center”,town:”Boothwyn”,coordinates:”39.82418322018552, -75.43745107822149″,photo:”5HPTTXFG3ZA2HGAW54OXM4D5ZY”,description:”FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center’s picnic tables as the task crew looks for their leader. As McGinty explains, she is u201Can emotional eater.u201D”,episode:”5″},{name:”Woy Bridge”,town:”Everett”,coordinates:”40.0150517796881, -78.304498566625″,photo:””,description:”In what is likely the farthest-flung filming location u2013 at least in relation to the rest of the local spots u2013 we get some shots of Everettu2019s Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).”,episode:”5″},{name:”Our Lady of Peace Parish”,town:”Milmont Park”,coordinates:”39.88193514095659, -75.33589782814482″,photo:”HGPPGXLRFZFUFE5WBNNXP3DXFM”,description:”Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.”,episode:”6″},{name:”High Bridge”,town:”Coatesville”,coordinates:”39.98390784773821, -75.82749681114403″,photo:””,description:”This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso’s (Fabien Frankel) fate with the Dark Hearts.”,episode:”7″},{name:”Delaware County Courthouse and Government Center”,town:”Media”,coordinates:”39.92029464476607, -75.39155431097433″,photo:”NWW6JA6A4FBAJHW7ZIXSIPZ2YA”,description:”Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.”,episode:”7″}];var Z=63710088e-1,ai={centimeters:Z*100,centimetres:Z*100,degrees:360/(2*Math.PI),feet:Z*3.28084,inches:Z*39.37,kilometers:Z/1e3,kilometres:Z/1e3,meters:Z,metres:Z,miles:Z/1609.344,millimeters:Z*1e3,millimetres:Z*1e3,nauticalmiles:Z/1852,radians:1,yards:Z*1.0936};function xn(e,t,r={}){let n={type:”Feature”};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function jt(e,t,r={}){return xn({type:”MultiPoint”,coordinates:e},t,r)}function Ze(e,t,r){if(e!==null)for(var n,i,o,s,a,d,f,g=0,l=0,v,x=e.type,F=x===”FeatureCollection”,P=x===”Feature”,V=F?e.features.length:1,O=0;O<V;O++){f=F?e.features[O].geometry:P?e.geometry:e,v=f?f.type==="GeometryCollection":!1,a=v?f.geometries.length:1;for(var K=0;K<a;K++){var C=0,$=0;if(s=v?f.geometries[K]:f,s!==null){d=s.coordinates;var R=s.type;switch(g=r&&(R==="Polygon"||R==="MultiPolygon")?1:0,R){case null:break;case"Point":if(t(d,l,O,C,$)===!1)return!1;l++,C++;break;case"LineString":case"MultiPoint":for(n=0;n<d.length;n++){if(t(d[n],l,O,C,$)===!1)return!1;l++,R==="MultiPoint"&&C++}R==="LineString"&&C++;break;case"Polygon":case"MultiLineString":for(n=0;n<d.length;n++){for(i=0;i<d[n].length-g;i++){if(t(d[n][i],l,O,C,$)===!1)return!1;l++}R==="MultiLineString"&&C++,R==="Polygon"&&$++}R==="Polygon"&&C++;break;case"MultiPolygon":for(n=0;n<d.length;n++){for($=0,i=0;i<d[n].length;i++){for(o=0;o<d[n][i].length-g;o++){if(t(d[n][i][o],l,O,C,$)===!1)return!1;l++}$++}C++}break;case"GeometryCollection":for(n=0;n{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]{pe(“https://interactives.inquirer.com/storage/dependencies/maplibre/5.3.0/maplibre-gl.js”,()=>{let e=new Bt;be=window.maplibregl,be.addProtocol(“pmtiles”,e.tile);let t=”https://interactives.inquirer.com/melish/1.2″,r=`${t}/us-latest.pmtiles`,n=new Le(r);e.add(n),n.getHeader().then(async()=>{let o=await(await fetch(`${t}/styles/neutral.json`)).json();ee=new be.Map({container:”map”,zoom:13,center:[-75.165222,39.952583],cooperativeGestures:!0,attributionControl:!1,padding,style:{…o,sources:{openmaptiles:{type:”vector”,url:`pmtiles://${r}`}}}}),ee.scrollZoom.disable(),ee.touchPitch.disable(),ee.addControl(new be.NavigationControl({showCompass:!1,showZoom:!0,visualizePitch:!1}),”bottom-right”),ee.on(“load”,()=>{Cn(),Ee!==”all”?Ae=we.filter(s=>parseInt(s.episode)parseFloat(d)).reverse(),s.id=ze(s.name),s.photo&&(s.imageSrc=`https://interactives.inquirer.com/secondbank/arc/${s.photo}/650.webp`);let a=xe(“js-map-stub”);Te(a,s),a.addEventListener(“click”,()=>{Yt(a)}),a.addEventListener(“mouseover”,()=>{Yt(a)}),a.addEventListener(“mouseout”,()=>{Xt()}),new be.Marker({element:a}).setLngLat(s.coordinates).addTo(ee)}document.querySelector(“.js-map”).classList.add(“is-loaded”),Kt=!0,Me!=””&&(er(Me),_t(Me))})})})},Yt=e=>{Xt(),e.classList.add(“is-highlight”)},Xt=()=>{document.querySelectorAll(“.js-map-location”).forEach(e=>{e.classList.remove(“is-highlight”)})},Cn=()=>{Ee=document.querySelector(“.js-steps”).dataset.episodeForPage},Qt=()=>{let e=window.innerWidth>960;padding={top:50,bottom:e?50:window.innerHeight/2,left:e?window.innerWidth/2+50:50,right:50}},Ln=()=>{window.addEventListener(“resize”,()=>{Qt()})},_t=e=>{if(Me=null,e==null){let t=we.filter(r=>r.episode==Ee);ee.fitBounds(Vt(t),{animate:!0})}else if(e.step==”all”)ee.fitBounds(Vt(Ae),{animate:!0});else{let t=we.filter(r=>ze(r.name)==e.step);t.length>0&&ee.flyTo({center:t[0].coordinates,padding,zoom:13,animate:!0,duration:1e3})}},er=e=>{document.querySelectorAll(“.js-map-location”).forEach(t=>{t.classList.remove(“is-current”)}),e&&e.step!==”all”&&document.querySelector(`.js-map-location[data-id=”${e.step}”]`).classList.add(“is-current”)},Vt=e=>{let t=jt(e.map(n=>n.coordinates));return Jt(t)},ke={init:()=>{Tn(),Qt(),Ln()},update:e=>{Kt?(_t(e),er(e)):Me=e}};var Je=yr(tr());var Pn=async()=>{let t=await(await fetch(“https://interactives.inquirer.com/pepper/2025-task-locations/data.json”)).json();t=t.nav,console.log(t);let r=(0,Je.default)();t=t.filter(i=>r.isAfter((0,Je.default)(`${i.date} 22:00`))),t=t.filter(i=>i.link);let n=document.querySelector(“.js-nav-links”);for(let i of t){i.text=`Episode ${i.episode}`;let o=xe(“js-nav-link-stub”);Te(o,i),n.appendChild(o)}},rr={init:()=>{Pn()}};var De,An=(e,t)=>{De=De||window.PMNdataLayer,De?De.push({event:”misc_event”,eventAction:e,eventLabel:t}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,e,t,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,e,t)},nr={event:(e,t)=>{An(e,t)}};var ir=1,Ye=class{constructor(t){this.el=t,this.contentPosition=”default”,this.possibleSteps=new Array,this.currentStep=null,this.offset=window.innerHeight*.5,this.instanceOfSteps=ir,this.hasMap=!!t.dataset.map,ir++,this.setOffset(),this.setPossibleSteps(),this.updateContent(),this.bindings()}setPossibleSteps(){this.el.querySelectorAll(“.js-steps-step”).forEach(t=>{t.dataset.step&&this.possibleSteps.push(t.dataset.step)})}bindings(){window.addEventListener(“scroll”,()=>{this.updateContent()}),window.addEventListener(“resize”,()=>{this.updateContent(),this.setOffset()})}setOffset(){window.innerWidth>960?this.offset=window.innerHeight*.5:this.offset=window.innerHeight*.8}updateContent(){this.updateCurrentStep()}updateCurrentStep(){let t,r;if(this.el.querySelectorAll(“.js-steps-step”).forEach((i,o)=>{i.getBoundingClientRect().top{let a=”is-“+o,d=”is-“+s;this.possibleSteps.indexOf(o){document.querySelectorAll(“.js-steps”).forEach(e=>{new Ye(e)})}};var En=()=>{},sr={init:()=>{En()}};var de,Ve,Ke=!0,kn=()=>{de=document.querySelectorAll(“.js-video-autoplay”)},Dn=()=>{window.addEventListener(“resize”,()=>{ar()}),window.addEventListener(“scroll”,()=>{ar()}),de.forEach(e=>{e.addEventListener(“volumechange”,t=>{e.muted!==Ke&&!dt()&&(Ke=e.muted,$n())})})},ar=()=>{let e;de.forEach((t,r)=>{let n=t.getBoundingClientRect(),i=n.height/2;n.y-i&&(e=t)}),e!==Ve&&(Ve=e,de.forEach(t=>{t.pause()}),e?e.play():Ve=null)},$n=()=>{de.forEach(e=>{e.muted=Ke})},lr={init:()=>{kn(),de&&Dn()}};var ur={init:()=>{st.init?.(),mt.init?.(),bt.init?.(),Mt.init?.(),Tt.init?.(),ke.init?.(),rr.init?.(),or.init?.(),sr.init?.(),lr.init?.(),ue.init?.()}};var zn=()=>{},cr={init:()=>{zn()}};var Bn=document.querySelector(“.js-inno”),hr=()=>{ur.init(),cr.init()};Bn?hr():new MutationObserver((t,r)=>{if(document.querySelector(“.js-inno”)){r.disconnect(),hr();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();
Golfers can test their skills on a putting green at the new PGA Tour Superstore.
Golfers donât need to hop on a plane to tee off on the sunlit fairway of Californiaâs Titleist Performance Institute. They just have to venture to the 40,000-square-foot PGA Tour Superstore at 2232 Route 70, where the shop will open this Saturday at 9 a.m.
A major highlight is the golf simulation bay, where customers can cycle through a list of world-famous golf courses projected onto a screen and receive analytics on their swings, The Inquirerâs Henry Savage reports.
The sprawling store also sells gear, offers club fittings, and will have $30,000 in giveaways during its grand opening.
Cherry Hill police are warning residents about a calling and texting scam in which someone is claiming to be from the police department. Residents should not engage with the scammer and are encouraged to report incidents to the non-emergency line.
Alocal bakery helped a Cherry Hilldoodle named Zeus celebrate a âbark mitzvahâ last month by creating a bone-shaped cake dotted with bite-sized Stars of David. Zeusâ cake and the bakery behind it are part of a growing trend of upscale pet bakeries catering to pooches.
Longtime Cherry Hill contractor Craig Taylor tapped his friends and family to help grow a grassroots event to bring people together against hate. Known as âKiss Hate Goodbye,â the event is slated to take place in Berlin on Nov. 20 and will include dinner, dancing, and throwback tunes. (6abc)
The township is hosting a free rabies clinic on Saturday from noon to 2 p.m. at Challenge Grove Park. Pet owners can bring their licensed cat or dog to get vaccinated. And on Sunday, thereâs a free drive-up shredding and recycling event where residents can drop off up to four boxes of papers for shredding, as well as single-stream recyclables, tires, car batteries, rechargeable batteries, and CFL light bulbs. Read more about the event here.
Lambertiâs Tutti Toscani is celebrating its 40th anniversary through the end of November with a menu that includes items from the past four decades. The Brace Road BYOBâs anniversary menu includes clams casino, manicotti, chicken cacciatore, and veal casalinga.
The recently opened Barclay Pies on Marlton Pike is serving up pizzas that meet certain dietary restrictions, like those with Celiac disease, something the families ofowners TJ Hunton and Daniel Romero face. Not only can pizzas be made gluten-free, but so can the salads, chicken fingers, and wings. (Patch)
đł Things to Do
đ Killer Night Out: The libraryâs 21-and-over murder mystery event will transport participants back to the Roaring â20s where they must solve a murder. â° Friday, Oct. 24, 6-9 p.m. đ” $30 đ Cherry Hill Library
đœ Cherry Hill Harvest Fest: This fall-themed festival includes food vendors, a trunk-or-treat, games, and music. Costumes are encouraged. â° Saturday, Oct. 25, 3-6 p.m. đ” Pay as you go đ The Church of the Good Shepherd
đ Pumpkin Picking Hayrides: Itâs your last chance to take a hayride and go pumpkin picking at Springdale Farms for the season. â° Saturday, Oct. 25-Sunday, Oct. 26, 10 a.m.-4 p.m. đ” $7.50 for hayrides, pumpkins are priced by the pound đ Springdale Farms
đ Party in Pink: This breast cancer awareness event includes a discussion with a survivor, a 90-minute session with dancing and music, and access to other health and wellness resources. â° Sunday, Oct. 26, 10 a.m.-12:30 p.m. đ” $20-$25 đ Katz JCC
đŒ Mickey & Minnie Halloween Skatetacular: The beloved duo will be visiting for this skate party that includes trick-or-treating, a costume contest, face painting, and ICEEs. â° Sunday, Oct. 26, 12:30-3:30 p.m. and 4:30-7:30 p.m. đ” $14 admission plus $6 skate rental đ Hot Wheelz
đ No-Carve Pumpkin Decorating: Kids in sixth through 12th grade can create a one-of-a-kind artificial mini pumpkin. â° Wednesday, Oct. 29, 7-8 p.m. đ” Free đ Cherry Hill Library
The front of the home features white siding, red brick, and a white picket fence.
Built in 1957, this white-siding and red-brick home has four bedrooms, including a primary suite with its own bathroom, all located on the upper level. On the homeâs main level, thereâs a family room with original hardwood flooring, a dining room, and an eat-in kitchen. It has updated appliances, floral wallpaper, and a white tile backsplash with fruits interspersed throughout. The home also has a living room off its entryway, complete with a wood-burning fireplace and log storage. Outside, thereâs a covered front porch offset by a white picket fence, while out back thereâs a fenced yard with a storage shed. The home has a newly installed roof, as well. Thereâs an open house Sunday from 11 a.m. to 1 p.m.
By submitting your written, visual, and/or audio contributions, you agree to The Inquirerâs Terms of Use, including the grant of rights in Section 10.
This suburban content is produced with support from the Leslie Miller and Richard Worley Foundation and The Lenfest Institute for Journalism. Editorial content is created independently of the project donors. Gifts to support The Inquirerâs high-impact journalism can be made at inquirer.com/donate. A list of Lenfest Institute donors can be found at lenfestinstitute.org/supporters.
Convicted former Philadelphia mob boss John Stanfa made headlines as part of a bloody mafia power struggle in the 1990s, which is now being chronicled in the newly released Netflix docuseries,Mob War: Philadelphia vs. The Mafia.
He was missing one thing that many of his contemporaries had â at least in the papers.
A nickname.
Don of the Philadelphia La Cosa Nostra from 1990 to 1995, when he was convicted on racketeering, murder, and conspiracy charges that netted him five life sentences, Stanfa went without an official street name during his time at the top. In September 1993, the Daily News set out to change that with a âName the Donâ contest encouraging readers to send in their best handles for Stanfa.
âPhiladelphia mobsters have had nicknames since thereâs been a Philadelphia mob,â the People Paper wrote in a contest announcement. âBut poor John Stanfa, the acknowledged leader of the local Cosa Nostra, has suffered long enough. Our godfather needs a nickname â and fast.â
A classic Daily News stunt, yes â but its timing was somewhat, well, insensitive. Just days before the contest was announced, Stanfa was the target in a brazen morning rush-hour shooting on the Schuylkill Expressway in Grays Ferry. His then-23-year-old son, Joseph, was seriously injured with a gunshot wound to the face.
That shooting, the Daily News reported, signaled an âall-out warâ for control of the local mafia, escalating the then-ongoing feud between Stanfaâs crew and a group of young upstarts referred to by the press as the âYoung Turks,â purportedly led by Joseph âSkinny Joeyâ Merlino. The month before, Merlino was injured in a shooting on the 600 block of Catharine Street, and his friend Michael âMikey Changâ Ciancaglini was killed.
Stanfa was uninjured in the expressway shooting. His son survived and was never implicated in Stanfaâs underworld dealings.
Still, some of the Daily Newsâ audience was game to participate in the contest, though the total number of submissions was not reported. Some of the potential monikers were directly inspired by the attempt on his life, including âNine Lives,â âThe Dodger,â and âJohnny Wheels.â
Others poked fun at his appearance, like âSourpuss,â âStoneface,â and âBig Baldy.â And some â such as âJohnny Meatballs,â âThe Grocer,â and âSticky Bunsâ â focused on Stanfaâs work in the food business, thanks to his involvement in a South Philly-based Italian food importer.
The contest, however, was not without its detractors. It was, after all, a controversial move â this was a mob boss being roasted, and one who was nearly killed only days before the Daily News began soliciting jokes at his expense. And it didnât help that the paper went directly to some law enforcement officials to ask for their suggestions.
âI donât think I should be in the business of characterizing Mr. Stanfa,â said Joel Friedman, then-head of the U.S. Organized Crime Strike Force in Philly. âI am in the business of investigating criminal activity, and prosecuting it.â
Regular folks were upset, too â largely over the perception that the contest mocked Italian Americans at large. One reader, retired high school principal Richard Capozzola, took particular umbrage, postulating that the Daily News âwouldnât have done it if [Stanfa] werenât Italian.â
âHow much more insulting can your paper be to the Italian-American community of Philadelphia?â said Arthur Gajarsa, of the National Italian-American Foundation. âWould you dare run a contest involving any other ethnic criminal element?â
The outcry became so significant that after almost two weeks, the Daily Newsâ editor at the time, Zachary Stalberg, addressed it in a note to readers. The message: Relax.
âI think people understand that nothing in our handling of the contest mocked those of Italian descent,â Stalberg wrote. âAnd I think people know itâs OK to be intrigued by the mob, even if you hate their business.â
By mid-September, the Daily News had a winner with John âTightlipsâ Stanfa. That entry came from South Philadelphia resident Brian Baratta, who won, of course, a videotape box set of The Godfather I, II, and III for his effort.
ââTightlipsâ certainly is descriptive of this strong and silent guy,â the Daily News wrote of the winning entry. âJohn Stanfa doesnât talk to the cops, the feds, or the press.â
With that, the contest was over â but it wasnât so quickly forgotten, and not just in Philadelphia.
In 1995, ahead of Stanfaâs trial, the Daily News sent reporter Kitty Caparella to Italy to investigate the mob bossâ family tree. While in Caccamo, on Sicilyâs Tyrrhenian coast, Caparella was approached by a police officer, editor Stalberg wrote in a note that year.
The officer, Stalberg said, pulled out the 1993 Daily News issue advertising the âName the Donâ contest.
Hit man-turned-government informant John Veasey, whose testimony helped bring down mob boss John Stanfa and a dozen of his top associates in the 1990s, says heâs on the road to redemption.
The new Netflix docuseries Mob War: Philadelphia vs. The Mafia, now streaming, chronicles a violent 1990s power struggle in the local La Cosa Nostra through the eyes of investigators and former crime family members who were there.
Veasey, a South Philly native, was a central figure in the â90s Philly mob, having admitted to participating in two high-profile murders. He went on to serve nearly 11 years in prison after becoming a government witness against Stanfa and other top mob associates in a federal racketeering trial, and was released in 2005. He has since denounced the mob life, and, in the Netflix series, calls joining the mafia the âworst decisionâ he ever made.
While he became a feared killer, Veasey was also something of a folk hero after Stanfaâs 1995 trial. The jury, according to Inquirer and Daily News reports from the time, was enamored with his frank and sometimes graphic testimony, which was a key component of federal prosecutorsâ case against Stanfa and others.
Veasey agreed to become an FBI informant in January 1994 after his brother, William âBillyâ Veasey, told him Stanfa had taken a contract out on his life, reports from the time indicate. In agreeing to work with federal authorities, Veasey admitted to being one of the shooters behind two then-recent mob killings: Michael âMikey Changâ Ciancaglini and Frank Baldino Sr.
Ciancaglini was killed in August 1993 in a shooting that also wounded Joseph âSkinny Joeyâ Merlino. The pair were the purported leaders of the so-called âYoung Turksâ faction who opposed the rule of Stanfa, reports indicated. Merlino has long denied having been behind a faction of the cityâs mob and has never been convicted of mob violence.
Ahead of that shooting, Veasey testified, Stanfa had given orders to âkill anybody aligned with Merlinoâ and circulated a list of about a dozen people who were to be killed. Veasey undertook the hit with fellow mob enforcer Philip Colletti in a white Ford Taurus that, shockingly, was leased in Collettiâs name.
Veasey also admitted to burning the vehicle, badly burning his hand in the process. Knowing he needed an explanation to have his injury treated, Veasey returned to his house and poured lighter fluid into a barbecue grill, and intentionally lit his injured hand on fire.
âI screamed and told the neighbors I had burned it trying to light the grill,â he told jurors during the Stanfa trial. The cover, he says in the Netflix docuseries, wasnât a great one â the grill he used was electric, arousing the suspicion of police.
Likewise, Veasey was the triggerman in the killing of Frank Baldino Sr., a then-suspected low-level mob associate who was killed outside the Melrose Diner in September 1993.
Baldino was shot multiple times in his car in the dinerâs parking lot, and died en route to Thomas Jefferson University Hospital. Veasey later tipped off authorities to the location of the murder weapons, which divers found in a pond at FDR Park in April 1994, reports from the time indicate.
The attempted murder of John Veasey
In January 1994, police found Veasey grievously injured near Sixth and Sigel Streets, having somehow survived a brutal assassination attempt in which he was shot four times and stabbed seven. The attempted murder, he later testified, was undertaken by Stanfa associates Frank Martines and Vincent âAl Pajamasâ Pagano in an apartment above a meat store near where Veasey was found.
âOne bullet fragmented in the back of my head. One went in the back and out through my forehead,â Veasey later said of the shooting. âOne hit the back of my head and bounced into my neck. And one is still in my chest, in my rib cage.â
His assailants, Veasey said, had targeted him because they believed he was working with the FBI â which he had been for a few days by the time the attack happened.
The shots failed to kill Veasey, who in the struggle wrestled a knife away from Pagano and used it to stab Martines near the eye. The ordeal lasted about 18 minutes, according to a Daily News report, and ended with Martines and Pagano letting Veasey go in exchange for their lives.
After he escaped, Veasey attempted to stop a car for help. But because of the way he looked, he said, no one would help him.
Eventually, police arrived but believed Veasey would die.
âI could hear them talking, saying I was DOA,â Veasey said. âIâm saying, âIâm alive, Iâm alive. Everyone is giving up on me tonight.ââ
Veasey later said he left the mob that night, putting his time in the mafia at just over five months, the Daily News reported. He had been recruited in August 1993, days before the Ciancaglini murder, after landing a job at a construction company owned by Stanfaâs brother-in-law.
âI wouldnât recommend this life to an enemy,â he later said of the mob.
Hours before Veasey was set to take the stand for Stanfaâs trial in October 1995, his brother, Billy, was shot and killed on the 1700 block of Oregon Avenue. The killing, authorities speculated, could have been ordered by Stanfa as a way to silence Veasey, or by suspected Young Turks leader Merlino as revenge for the Ciancaglini and Baldino murders.
Ultimately, it only delayed Veaseyâs testimony by five days.
From the stand, Veasey referred to himself as a triggerman and divulged his involvement with the murders of Ciancaglini and Baldino.
Veaseyâs testimony at trial
In total, Veasey testified for about two and a half days, which he wrapped up with two pieces of information: That he refused to kill kids, and he did not like gambling. He also mocked Sergio Battaglia, a would-be Stanfa hit man who, despite going on a number of hits, never actually killed anyone, according to an Inquirer report.
Battaglia âwent on a hundred hits and didnât shoot nobody,â Veasey said.
He quickly became well-liked by the jury, who seemed to hang on his every word, The Inquirer reported. Among his more graphic accounts from the witness stand was the âdrillingâ of Joseph âJoe Fudgeâ DeSimone, a mob associate who had wanted to kill Veasey, to which Veasey took less-than-kindly.
Veasey testified that he had warned Stanfa of a coming altercation with DeSimone, and at one point persuaded another mob associate to bring DeSimone over to Veaseyâs house to settle their dispute. Veasey was on house arrest at the time.
DeSimone arrived, kicking off a violent encounter with an electric drill.
âI smacked him in the face with the drill. I stuck the drill in his chest and in his legs. I stuck it in his head, and from the rotation of the drill, clumps of hair was going out,â Veasey testified. âThen I hit him in the knee with a baseball bat. I chambered the gun ⊠gave it to him and asked, âDo you still want to kill me?ââ
Veasey said that DeSimone declined.
The testimony was not only well received by jurors, but it was considered a success by prosecutors. Though violent, Veasey appeared relatable to the jury and seemed to have a secret weapon against the defense.
Former mob hit man John Veasey’s biography details his work for one of the city’s mob organizations, the hits he carried out, the attempt on his life, and more.
The reformed hit man
Stanfa was ultimately found guilty and sentenced to five consecutive life terms. Veasey, meanwhile, spent almost 11 years in prison, and was released in 2005. By 2012, he was back in the news, this time for a detailed account of his story in The Hit Man: A True Story of Murder, Redemption and the Melrose Diner, a book by former Inquirer reporter Ralph Cipriano.
By then, Veasey was working as a car salesman in the Midwest, and claimed to have turned over a new leaf.
âI never respected the Mafia or what it stood for,â Veasey said in an interview with The Inquirer in 2012. âMy only regret was being dumb enough to join ⊠I always said they either rat or kill each other.â
More than 30 years ago, Philadelphia was the battleground in a brutal mob war as a group of young mafia upstarts challenged the rule of the established La Cosa Nostra leadership.
Known as the Young Turks, that group consisted mostly of younger men who were the sons, brothers, and nephews of former crime family members who were dead or in prison, and was purportedly led by Joseph âSkinny Joeyâ Merlino and Michael âMikey Changâ Ciancaglini. They believed that mob boss John Stanfa, a Sicilian immigrant who preferred to keep a low profile, was an outsider who was not fit to lead. Instead, their bloodlines and connections gave them the right to rule their hometown neighborhoods.
Now, a new docuseries from Netflix, Mob War: Philadelphia vs. The Mafia, examines that conflict, complete with interviews from the law enforcement agents and former mobsters who were there, vintage 1990s Philly TV news footage, and the perspective of a hitman-turned-informant who made headlines. The goal, said director RaĂŻssa Botterman, is to show the human element behind the violence.
âTheyâve committed crimes, but theyâre still humans, and understanding who they were and having their versions of eventsâ is important, she said. âWhether itâs fighting against crime or itâs committing crimes, [weâre] trying to get a more holistic picture of whatâs going on.â
Notably missing from the series is Merlino, who Botterman said declined to participate. Merlino has long denied having been behind a faction of the cityâs mob and has never been convicted of mob-related violence.
Likewise, Merlino declined through a representative to comment about Mob Wars.
Throughout the â90s, mob violence regularly dominated Inquirer and Daily News headlines, and resulted in several high-profile deaths and criminal trials, and a new mob leader in the city.
By most accounts, the first strike in the brewing mob war happened in January 1992 with the killing of Felix âTom Mixâ Bocchino, a Stanfa loyalist, on the 1200 block of Mifflin Street. Bocchino, 73, was shot four times in his 1977 Buick, and authorities believed he was targeted by members of the Young Turks faction, according to an Inquirer report from the time.
Retaliation was swift. Two months later, gunmen attempted to assassinate Michael Ciancaglini at his home near 12th and McKean Streets â just steps south of where Bocchino was killed. In that incident, the Daily News reported, Ciancaglini was returning home from a basketball game when two men carrying shotguns began chasing him. He made it inside, and the gunmen fired shotgun blasts through the front door and window.
Ciancaglini was not injured, and neither were his wife and two children, who were inside the house. Law enforcement sources told the People Paper that Ciancaglini âhad something to do with Bocchinoâs death,â but Ciancagliniâs attorney maintained his client was in the dark about the attempt on his life.
âHe donât know why. He donât know who. And he donât know what,â attorney Joseph C. Santaguida told The Inquirer following the shooting.
In March 1993, almost exactly a year after the attempt on Michael Ciancagliniâs life, older brother Joseph Ciancaglini, 35, was shot at the Warfield Breakfast and Lunch Express in Grays Ferry. The attempted hit on Stanfaâs underboss was captured on FBI surveillance video.
Though he survived, Joseph Ciancaglini became permanently paralyzed.
On Aug. 5, 1993, the warfare arrived on the 600 block of Catharine Street with an afternoon shooting that injured Merlino and killed Michael Ciancaglini. The pair were walking down the block when two gunmen began firing, striking Merlino in the leg and buttocks, and Ciancaglini in the heart, reports from the time indicate. Ciancaglini died at Thomas Jefferson University Hospital, while Merlino was placed in stable condition at the Hospital of the University of Pennsylvania.
window.addEventListener(“message”,function(a){if(void 0!==a.data[“datawrapper-height”]){var e=document.querySelectorAll(“iframe”);for(var t in a.data[“datawrapper-height”])for(var r,i=0;r=e[i];i++)if(r.contentWindow===a.source){var d=a.data[“datawrapper-height”][t]+”px”;r.style.height=d}}});
The car used in the shooting, meanwhile, was found some 35 blocks away, burned to a crisp. It had been leased to Philip Colletti, a mob associate who later admitted his role in the crime.
Hundreds attended Ciancagliniâs viewing at the Carto Funeral Home at Broad and Jackson days later; some neighborhood residents were not surprised by his killing, The Inquirer reported.
âWhyâd he get killed? The same reason the rest of these hoods in South Philly do,â said one South Philly hairdresser. âMost Italians are good, hard-working people, and these people give us a bad name.â
By the end of August 1993, the Young Turks struck back â this time with a botched assassination attempt on Stanfa himself that ended up wounding the mob bossâ son, Joseph, who was 23 and not involved with mafia activities.
That attempt took place during the morning rush hour as Stanfa and his son traveled from their home in Medford to their food importing business in South Philadelphia. As they drove toward the Vare Avenue off-ramp on the Schuylkill Expressway, gunmen ambushed them from a van that had been modified with makeshift gunports, allowing the assailants to fire from concealment.
The attackers, police later learned, had not cut eye holes in the van, and fired on the Stanfas wildly, missing their intended target. The younger Stanfa, however, was struck in the face, leaving a bullet lodged in his neck though he survived.
The van was found near 29th and Mifflin Streets as police attempted to reconstruct possible escape routes. It was littered with spent cartridges, and had âa number of punctures in it,â leading police to believe that a shooter lost control of his weapon, tearing bullet holes into the vehicle.
Stanfaâs vehicle, meanwhile, was heavily damaged, with at least 10 bullet holes running from the front hood to the right rear fender. A tire was shredded, and a window panel in the rear-passenger side â where Joseph had been sitting â was shattered. Stanfa, The Inquirer reported at the time, had his driver hide the car in the garage of the restaurant where Joseph Ciancaglini had been shot, requiring police to obtain a warrant to examine it.
âYouâve got to understand: This is an all-out mob war,â said Col. Justin J. Dintino, superintendent of the New Jersey State Police. âTheyâre going to take their shot whenever the opportunity presents itself.â
In September 1993, the opportunity presented itself at the Melrose Diner, where Frank Baldino Sr., a reportedly low-level associate of the Young Turks, was shot to death in his car. His last meal was a $6.95 chopped steak dinner, the Daily News reported.
Gunmen approached Baldinoâs vehicle, investigators said, and âpumped several bulletsâ through its closed window, striking him in the head and torso. The assailants fled west on Passyunk Avenue in a rainstorm, and Baldino died while en route to the hospital.
Baldino was not considered to be a major player in the local mob. His killing, friends and investigators said, was something of a shock â even former mobster Nicholas âNicky Crowâ Caramandi, who was in hiding at the time, denounced it.
âThis guy was not a gangster,â Caramandi told The Inquirer. âHe wouldnât hurt anybody. He was not a threat. It should never have happened.â
Though mob violence cooled as 1993 wore on, it didnât fully stop, and late one Friday in January 1994, police found John Veasey near Sixth and Sigel Streets, grievously injured.
He had three bullet wounds to his head, one to his chest, and seven stab wounds, having fought off his attackers in an assassination attempt in the apartment above a nearby meat store. Somehow Veasey, then 28, had survived, and was placed in critical but stable condition at Jefferson Hospital.
âHeâs a tough kid,â one underworld source told The Inquirer. âHe knows a lot, and what he knows can hurt a lot of people.â
Veasey, it turned out, had gone to the FBI days before and copped to the Ciancaglini and Baldino killings at the behest of his brother, William âBillyâ Veasey, who had told him there was a contract out on John Veaseyâs life.
His assailants, Veasey told police, were Stanfa loyalists Frank Martines and Vincent âAl Pajamasâ Pagano, both of which later surrendered.
The pair, John Veasey said, had lured him to a mob-run ânumbers houseâ under the guise of protecting him. But once inside, Martines pulled a gun and shot him in the head and chest, telling him, âBye, John-John.â When that failed to kill Veasey, a battle ensued in which Veasey wrestled a knife away from Pagano, and used it to slash Martines in the eye.
âI have a real powerful neck, real, real big,â Veasey later said of his survival, according to a Daily News report. âI was not knocked out. It wasnât sending any messages to the brain.â
Following the attack on Veasey, Stanfa and 23 associates were indicted on federal racketeering charges and imprisoned by March 1994. As the legal proceedings wore on, mob violence in the city trickled almost to a stop â with one notable exception.
On Oct. 5, 1995, just hours before Veasey was set to take the witness stand against Stanfa and his codefendants, his brother Billy was shot and killed on the 1700 block of Oregon Avenue.
Veasey was distraught, but his resolve to testify was hardened by the killing, law enforcement sources said. Five days later, he did just that.
Delivering his testimony in what The Inquirer called âSouth Philadelphia tough-guy jargon,â Veasey made the federal governmentâs case clear â in some cases, graphically so â for jurors. Calling himself a triggerman for Stanfa, he testified that the mob boss had given orders in 1993 to kill anyone who was aligned with Merlino and the Young Turks faction, and that a hit list with more than a dozen names had been circulated to mob members.
âA couple of [defense] lawyers tried to catch him up in semantics,â one federal source told The Inquirer of Veasey. âJohn doesnât even know what semantics means.â
By November 1995, Stanfa and his associates were convicted on all counts, including murder, extortion, gambling, and kidnapping. Stanfa received five life sentences, and, at 84, remains in prison.
With that, the Young Turks had officially won the war. According to Inquirer and Daily News reports from the time, Ralph Natale had been installed as the head of the Philadelphia mob but focused his efforts on South Jersey, allegedly leaving Merlino and his cohorts to run South Philadelphia.
Following Nataleâs arrest on a parole violation in 1998, Daily News and Inquirer reports from the time indicate, Merlino purportedly took over as acting mob boss, and later cut out Natale completely. Merlino himself was arrested on drug conspiracy charges in 1999, and Natale served as a government witness against him.
Ultimately, Merlino received a 14-year sentence after being convicted of racketeering. He was acquitted of drug trafficking and murder charges, the latter for which prosecutors initially considered pursuing the death penalty. With credit for two and a half years served, he was to spend nine more years in prison.
âIt ainât bad,â Merlino said of the verdict, according to an Inquirer report. âNineâs better than a death penalty.â
âMob Warsâ is a three-part series on Netflix. Its release date is Wednesday, Oct. 22.
In City Council on Tuesday, St. Joeâs confirmed that the sale has closed.
In reaction, Gauthier had authored legislation that sought to require more community oversight when large institutions make significant land sales in University City, which is part of her district. She thinks this sale might not be the last, given the turbulent state of higher education.
Her original legislation was deemed legally dubious by the cityâs law department and by most zoning attorneys consulted by The Inquirer.
Gauthier amended the bill and got the new version passed by City Councilâs Rules Committee on Tuesday.
âIt is an indisputable fact that college campuses significantly impact the communities that surround them,â Gauthier said at the hearing.
âAs higher education undergoes its most significant change in our lifetime,â she continued, âwe must ensure that land-use decisions are made with their communities in mind, and recent actions by multiple universities prove this will not happen without legislative action.â
The original bill sought to regulate how higher education institutions use their land, which is illegal. Zoning concerns land use generally, not only land use of specific actors.
Gauthier amended the bill so it is triggered not by a change in ownership from a university to a non-higher education buyer, but by a proposed change away from educational use on lots over 5,000 square feet.
So if a university sold land to a housing developer, the law would be triggered. It is not clear it would be triggered by what St. Joeâs did, which was selling land used for university purposes to another educational provider that claims to want to start a teaching college.
The amendments also removed clauses that would have required neighborhood residents to join the Philadelphia City Planning Commission when it reviews land-transfer proposals, as is required by this bill.
Gauthier pushed back against arguments that her bill is an overreach by noting that it simply requires a meeting with neighborhood groups, a review by the planning commission, and a demolition moratorium if there are no permits for new construction.
âThis bill doesnât cripple anyoneâs property values,â Gauthier said. âIt doesnât restrict anyoneâs use or density rights. It adds more eyes and more transparency to land-use decisions for major properties that change entire neighborhoods. The idea that this could ever be wrong is simply preposterous.â
The IPEX building at St. Josephâs University in Philadelphia on Sept. 12.
Representatives from a host of West Philadelphia neighborhood groups testified in support of Gauthierâs bill. They detailed their anxieties about living in the shadow of large institutions with expensive real estate portfolios and their frustrations with what they felt had been duplicity by St. Joeâs during a public engagement campaign about the sale.
During neighborhood meetings earlier this year, attendees detailed their desire for a community college, health clinic, parking, or affordable housing on a post-sale St. Joeâs campus.
They said they felt that the university ignored their feedback.
âThis thing about community engagement, we feel as though it was false,â said Jacquelyn Owns, a committeeperson in the 27th Ward. âIt was just something to keep the community quiet while they did exactly what they wanted to do.â
St. Joeâs representatives argued that Karpâs plans for the site are in keeping with the neighborhoodâs broad desires, given that his Belmont organization runs charter schools.
St. Joeâs also noted that it will still retain some property in the area affected by Gauthierâs bill and contended that the legislation would have deleterious effects on higher education institutions in University City.
âIt probably would devalue our real estate holdings, which, in turn, would then devalue our balance sheet, which would then restrict our ability to offer financial aid,â said Joseph Kender, senior vice president at St. Joeâs. âIt would restrict our ability to start new construction projects. It would restrict our ability to offer new academic programs.â
A lawyer for St. Joeâs, Ballard Spahr zoning attorney Matthew McClure, said that even the amended bill might still be illegal.
Despite the protests by St. Joeâs, Councilâs Rules Committee passed the amended bill.
That may be the last movement on the controversial legislation for a while. At its October meeting, the planning commission requested a 45-day hold on the bill to consider its ramifications more thoroughly. That means the full City Council will not be able to consider it until late November.
In the mindâs eye, October 2010 might still feel recent. But there are a few ways to measure how long it has really been since Alex Morgan scored her first U.S. womenâs soccer team goal.
One is that back then, the future superstar was in college at the University of California. She was a senior set to graduate a semester early, but she still wasnât a pro yet when she took the field at what then was called PPL Park.
The other is that her historic night in Chester had just 2,505 witnesses in the stands.
That was partially because the Phillies had a home playoff game that evening, one that turned out to be Roy Halladayâs no-hitter. But it was also nine months before the moment that sparked a new boom of interest in womenâs soccer that has carried into the present: Megan Rapinoeâs legendary cross for Abby Wambachâs goal in the 2011 World Cup quarterfinals.
LAST MINUTE EQUALIZER đ€Ż
At No. 2 in our memorable moments in FIFA Womenâs World cup history is Abby Wambachâs late equalizer for the @uswnt in the 2011 quarterfinals đșđž pic.twitter.com/8M0eKEp2sE
Before all that â before two World Cup titles, an Olympic gold, two U.S. league titles, a Champions League title in Europe, and so much more â there was this moment.
And before Morgan grew her girl-next-door personality into a hammer that pounded soccerâs old guard, a 21-year-old entered a game as a substitute with her team down, 1-0.
âIt was a really tense night before that goal,â Morgan told The Inquirer ahead of her national team retirement ceremony Thursday at the U.S.-Portugal game at Subaru Park (7 p.m., TNT, Peacock). âWe had a really long unbeaten streak on home soil, and so coming in in that moment and being called upon, it was like, âOK, are you sure youâre calling upon me?ââ
Just over 10 minutes after Morgan took the field, Heather Mitts hit a long ball forward from the midfield line. Wambach was first to it, knocked it down, and, two bounces later, Morgan thumped it in the net.
âIt was a big sigh of relief,â Morgan said, âand it was a great moment that Iâll always remember.â
She also remembered the small crowd. That was a fairly common sight back then, with the glow of the 1999 era long faded. The U.S.âs 2008 Olympic gold, led by Carli Lloyd, briefly rekindled the flame, but there was no top-level domestic league in this country from 2004 to 2008.
In June 2011, Morgan, Lloyd, and company played their World Cup send-off game at the former Red Bull Arena (now Sports Illustrated Stadium) in North Jersey before a crowd of 5,852. Six weeks later, their world changed forever.
âWe come back [after] we lose in the final, and all of a sudden, everyoneâs paying attention more,â Morgan said. âWe gain momentum, we win an Olympics in 2012, and in that final in 2012, we have 80,000 people watching at Wembley [Stadium] in London. ⊠Everything kind of turned, all in that moment.â
For over a decade, Morgan was the star of stars. But time comes for every athlete, and after the Olympics in 2021, it started to for her. Then-U.S. manager Vlatko Andonovski started to bring in the next generation, and Morgan did not play for the national team from that October until June 2022.
She was recalled for Concacafâs World Cup and Olympic qualifying tournament, as the national team faced many injuries and she was on a tear in the NWSL. But she insisted on taking nothing for granted.
As she spoke now, she again summoned the weight of the crest she wore 224 times.
âI never took playing for the national team for granted,â she said. âI knew that one day you could be there, and the next day you wonât, if you donât continue to make a case for yourself. I think that was really the mentality that the previous generation â Abby, Shannon Boxx, Christie Rampone â set in stone for this team, and maybe it was the previous generation that also instilled that in them.â
Morgan knew she was perceived â and still is â as the golden girl, attractive to marketers for more reasons than just her skills. But people in the soccer world who know her well knew she put in the work.
âFor me it was like, you donât walk into this team and wear this jersey with the assumption that you deserve to be there day in and day out without working for it, sunup to sundown,â she said. âA lot of people think with me it was an easy ride, and I was a real shoo-in on the team for 13, 14, 15 years, and thatâs just not the case. I fought to be there every single day.â
The most famous of Alex Morgan’s many goal celebrations: drinking tea after flattening England in the 2019 World Cup semifinals, on her birthday no less.
And though she has given countless interviews in her career, she had not forgotten that one from 2022 and the circumstances that surrounded it.
âI had injuries, and I was out on maternity leave, and I needed a break after grinding and having my daughter, and this is exactly when we talked,â she said. â[I] was being omitted from the team for a certain amount of months because I needed a little bit of an extra break because I hadnât stopped since having my daughter.â
When Andonovski expressed his displeasure, Morgan was ready.
âI said, âThis is how youâre going to get the best out of me, is if I take this break,ââ she said. âIâm glad Iâd made that decision at the time, but I had to grind to get back into it.â
Vlatko Andonovski (left) dropped Alex Morgan from the U.S. squad after the 2021 Olympics but brought her back in 2022 and kept her involved through the 2023 World Cup.
She was ready for that, too.
âThat mentality is not one that I created on my own,â Morgan said. âItâs one that this team had from the very start, from the very first time that I entered into the team: one of not making assumptions, and one of working for everything that we earned, and knowing that we can never take anything for granted. I hope that players now continue to live by that â certainly, certainly I did.â
And so, on cue, to the present generation of players whom Morgan will watch from the stands on Thursday. Some of Morganâs teammates are still going, surrounded by a fleet of young risers aiming for the 2027 World Cup.
âTo be there and to be able to see the players and kind of be in that environment for a little bit is really fun and nostalgic,â Morgan said. âBut I think that this team is in a really good place. You want to be in this place where youâre giving players chances a couple of years before you kind of narrow in on that core group when it comes to the World Cup year.â
They likely will be on display at Subaru Park: 18-year-old Lily Yohannes, 19-year-old Claire Hutton, 20-year-olds Olivia Moultrie, Jaedyn Shaw, and Alyssa Thompson â the last two of whom already have major tournament experience.
âThereâs a lot of young players that already have incredibly valuable experience, with either the previous World Cup or Olympics,â Morgan said. âThereâs also a lot of opportunity to become leaders on this team. ⊠I feel like all these younger players are making names for themselves, and, yeah, Iâm really excited to see [them].”
Just as they will be excited to see her, the one who set the bar they all want to reach.
*that* goal (you know the one)
Exactly a decade ago at London 2012, @alexmorgan13's game-winning header vs. Canada sent the @USWNT to the gold medal match.
Tom Brady was 44 when he retired for 40 days before he changed his mind and went back to the playoffs one more time with Tampa Bay in 2022.
In 1974, former Eagles linebacker Maxie Baughan left his defensive coordinator gig at his alma mater, Georgia Tech, to go back to the NFL as a player-coach with Washington. He was a backup and played in two games.
Brett Favre was 40 when he decided to come out of retirement for the second time and join the Minnesota Vikings in 2009. He stuck it twice to his old team, Green Bay, won the NFC North, then led the Vikings all the way to the NFC title game.
Reggie White returned from retirement at 38 with the Carolina Panthers in 2000. He played in all 16 games but recorded his lowest single-season sack total (5œ) in a Hall of Fame career.
Then thereâs Bronko Nagurski, who, in 1943, came out of retirement to play with the Chicago Bears, who needed players because many of theirs were fighting in World War II.
All of this is to say not all unretirements are created equal.
What does the historical data mean for Brandon Graham, who is back with the Eagles after retiring from football seven months ago? Maybe nothing â human bodies arenât created equal, either. Or maybe something, as there may be relevant context.
Former Eagle and Packer Reggie White (92) came out of retirement to sign with the Panthers in 2000.
Is Reggie Whiteâs case similar?
White was 38 when he decided to end his one-season retirement to join the Panthers, and Graham turned 37 a few weeks after retiring in mid-March.
But White, one of the best defensive ends of all time, was coming off a 16-sack, first-team All-Pro, Defensive Player of the Year 1998 season when he retired. Graham was playing well with the Eagles last year, but his season was cut short by injury, and his sack numbers dropped off a cliff one year earlier in 2023.
White still was disruptive to opponents, but he wasnât his normal high-production self in a more limited role in Carolina. It is a physical and demanding position, not that Graham needs any reminder of that.
James Harrison went back to the Steelers for a second stint at age 36 in 2014.
The Harrison comparison
James Harrison officially retired in August 2014, but his retirement essentially lasted a similar length as Grahamâs. Harrison played the 2013 season with Cincinnati and wasnât in a training camp in the summer of 2014.
But after the Steelers suffered some injuries early in the 2014 season, the linebacker was back with his former team at the age of 36. He was still productive, too, with 45 tackles and 5œ sacks in 11 games.
Harrison then signed a two-year contract with the Steelers and ended up playing three more seasons after returning in 2014. Donât expect the same from Graham, but Harrisonâs effectiveness as a pass rusher might be a good comparison for him.
Tight end Jason Witten left the “Monday Night Football” broadcast booth to play for the Cowboys again in 2019.
Witten still had a little in the tank
Graham will go from the podcast studio to the locker room, similar to how Jason Witten went from the broadcast booth back to football.
Witten, like Graham, was 37 years old when he rejoined the Dallas Cowboys in 2019 after one year of retirement. The tight end still had it. He caught 63 passes, four of them for touchdowns, and accumulated 529 yards in 16 games. His 2017 season line: 63 catches, 560 yards, five touchdowns.
37 is popular
Lucky No. 37? Deion Sanders was also 37, and he chose that number for the back of his jersey when he came out of retirement to play with Baltimore in 2004 after three seasons away from the game.
Sanders played nine games in 2004, mostly as a nickel cornerback, and still had a knack for the football. He had three interceptions and returned one of them for a touchdown. He played all 16 games in 2005 and registered registering two interceptions and 30 tackles. He was fine, but he wasnât Prime Time.
Graham may be fine
All of this is mostly a fun trip down memory lane. Itâs unclear what kind of shape Graham is in or whether he has lost a step after being away for a short time. Every body is different.
But Grahamâs 2024 season can, at least, be a little instructive. He was an energy booster on the field, a veteran presence off it, and a really capable edge setter who helped the Eagles vs. the run.
They could use that right now, and itâs not hard to imagine him being like Witten or Harrison in that he still can do what a team asks him to do.
Graham is the biggest of the edge rushers at 265 pounds, and he could be useful helping a defense that is allowing 4.6 yards per carry, the ninth-highest average in the NFL.
The Eagles also could use some more volume from their pass rushers, and Graham was making an impact there before a torn triceps ended his regular season in Week 12 vs. Los Angeles. He sacked Rams quarterback Matthew Stafford before the injury, his fourth time getting home in 11 games (3œ sacks). Graham still could make an impact there, even if the Eagles arenât asking for a large snap count out of him.
The Eagles needed Graham, and it seems like he needed them, too. Time will tell if the play matches up to the presence.
There are a few ways to measure who the players of the moment are for the U.S. womenâs soccer team.
One is in the box score, as usual: goals, assists, saves, and so on. Another is measured before kickoff, and with a decibel meter.
Most of the time, the winner of that contest is a veteran, and that might happen again when the Americans play Portugal on Thursday at Subaru Park (7 p.m., TNT, Peacock). Sam Coffey is an obvious favorite, as is electric playmaker Rose Lavelle.
But keep an eye â or an ear, in this case â out for two of the U.S. squadâs younger players who are quickly becoming fan favorites. Midfielder Lily Yohannes and winger Alyssa Thompson have all the skills and charisma to be national team mainstays, and their bandwagons are filling up fast.
Lily Yohannes (center) working out during the U.S. women’s soccer team’s practice Tuesday morning at the Union’s facilities.
Yohannes plays club soccer for Europeâs most decorated team, Franceâs OL Lyonnes (formerly known as Lyon). The 19-year-old from D.C.âs Virginia suburbs joined in July, as OL retooled its squad to seek a record-furthering ninth Champions League title.
She hasnât needed long to settle in. Last Wednesday, she scored a stunning goal from nearly 45 yards out in her teamâs European season opener, a 3-0 win over Austriaâs St. Pölten. The play went viral instantly, heightening the anticipation of her first U.S. appearance since June.
âSo many world class players and such a high standard, high level every day in training,â Yohannes said. âEvery day is super-intentional, and you just have to, like, stay switched on every day. And I think thatâs something thatâs super good for me and for my development to have.â
LILY YOHANNES WITH A MOMENT OF MAGIC đȘ
The @USWNT and OL Lyonnes young star with an absolute worldie for her first #UWCL goal âš
She has two American teammates at the club, midfielders Lindsey Heaps â the national teamâs longtime captain â and Korbin Shrader. Heaps had already taken Yohannes under her wing in U.S. camps, and has done so more now.
âI think sheâs just such a quality player and such a footballer,â Heaps said. âAnd to have her in Lyon, to now be there and learn from all the players that are there, is such a an incredible experience for her. But I think she just fits in our team so well, as she started out.â
Heaps blazed the trail 11 years ago for American teens who skip college to turn pro in Europe, and Yohannes is one of many whoâve followed her. But even the veteran had to rave about that long-range goal, calling it âabsurd when you think about an 18-year-old taking a chance like that.â
Thompson joined Chelsea, Englandâs biggest team, this summer from the NWSLâs Angel City. The Blues have never won the womenâs Champions League, and have never been shy about craving it.
So it turned heads when they not only brought Thompson to London, but did so for a $1.3 million transfer fee â not small by womenâs soccer standards, but well below expectations for a 20-year-old.
She has also started quickly. At the same hour as Yohannesâ goal, Thompson notched a goal and an assist in Chelseaâs 4-0 rout of Franceâs Paris FC.
âI really wasnât thinking about leaving Angel City, and then when I got the offer, like, a week before the transfer window, I felt like immediately that I wanted to go,â Thompson said. âIâve always wanted to play in Europe, and I felt like this opportunity, I donât know when it would come again, and Chelsea is such an amazing club, known all over the world.â
âI was like, I really want to go and experience a different place â Iâve lived in L.A. my whole life,â she said. âI feel like this should be just so good for me, like, as a player, obviously, but as a person too, just developing things that Iâve never had to think about before.â
There have also been moments of levity. A reporter from The Athletic got the best answer out of Thompson on the day, asking about off-the-field adjustment.
âThey have less AC ⊠I really like it cold when Iâm sleeping, so thatâs annoying sometimes,â Thompson said, joining a long tradition of Americans lamenting Englandâs lack of air-conditioning. âAnd I havenât tried any of the English food. I donât like beans in general, so I just wouldnât try it.â
Alyssa Thompson (right) working out in a drill during Tuesday’s practice.
Neither player is new to the national team at this point, or to its devoted fan base. Yohannes debuted in June of last year (and scored that night too) and has played seven games; Thompson has 22 caps, three goals, and three assists, and was on the 2023 World Cup team.
Thompson narrowly missed making last yearâs Olympic squad, but that was always likely to be just a short setback. Now sheâs in form, and will likely see a lot of playing time in this monthâs games.
âAlyssa, she fits in seamlessly to to Chelseaâs game,â Heaps said. âShe just got her first goal, and I think thatâs something that sheâs wanted since sheâs set foot there in Chelsea. So, very happy for her.â
A historic day in Chester
Tuesday marked the return of the U.S. women to the area for the first time in 3œ years, and also something never seen around here.
For a few minutes in the late morning, the national team and the Union were practicing in the clubâs training complex at the same time, with one squad at each end of the three grass fields along Seaport Drive.
It was the first time the Union shared the space simultaneously with another professional squad, and it likely wonât be the last.
A view from above the fields on Tuesday morning, with the Union in the foreground and the U.S. women in the background.
âThe appetite for soccer here is incredible,â said longtime Union captain Alejandro Bedoya, who will attend Thursday nightâs game with his daughter. âThereâs so much talent when you look at the menâs national team, for the womenâs national team, for the Union academy, the players that have come through here. ⊠Itâs amazing. And what this sportsplex means, it was a great initiative to get this built.â
The closest previous occasion was earlier this summer, when Chelsea borrowed some of the Unionâs fields but did most of their work inside Subaru Park. The nearest thing to an overlap was when the English club invited a few Union reserve squad players to come over from their practice to fill out a scrimmage.
Next year, the complex will be a base camp for one of the teams in the World Cup. But it will be mostly reserved for that, with MLS planning to shut down its schedule during the tournament.