October 5, 2022



How the learning pods of Greenbrier Elementary in Charlottesville redivided the school along racial lines.

How the learning pods of Greenbrier Elementary in Charlottesville redivided the school along racial lines.

The playground at Greenbrier Elementary School in Charlottesville, Virginia, probably looks a lot like the playground at your child’s elementary school, the one she hasn’t been back to since March. There are pale beige slides and walkways and bridges and four swings. It’s here that this story begins and it’s here that this story will—hopefully, someday—end.

On a Saturday morning in July, a group of about 10 Greenbrier parents gathered near a concrete portico.  It was nearly 90 degrees by 10 a.m., and the parents—masked, sitting on camping chairs arranged in a wide circle on the pavement—introduced themselves. Charlottesville City Schools hadn’t yet announced their plan for the fall, but it was becoming clearer and clearer that it would involve remote education, so the parents were there to discuss the possibility of forming learning pods for the upcoming school year—a way for their children to attend remote classes with their Greenbrier classmates and friends, somehow. Some were most concerned with maintaining academic progress, others with making sure their children weren’t socially isolated. Some were worried about how on earth they would work during the day with their kids at home.

This was the time when the news and social media were filled with chatter about learning pods, and about the danger that they would merely benefit rich white kids. Kristin Thomas Sancken, the mom who’d organized the meeting, was surprised and heartened to hear about half of the parents say it was very important to them that any pods they created were diverse and didn’t exacerbate inequality at the school. Sancken, a white social worker whose younger daughter Annie was going into first grade, had sent an invitation to every Greenbrier parent email address she had, mostly the moms of Annie’s classmates from kindergarten. She and her husband both work, and she didn’t know how they would make it through the fall with their children learning at home. But she also knew the K–4 school had a large population of low-income and refugee children who would undoubtedly suffer should the school’s wealthier, whiter parents form learning pods without them.

The meeting was a little chaotic, heavy on questions and feelings, light on answers. The proposals were sort of pie-in-the-sky: Maybe someone could set up a tent in their backyard and host outdoor school every afternoon? When the conversation turned back around to equity it was pointed out, to everyone’s embarrassment, that only one parent of color was at this get-together. How could the group connect with other families that weren’t white, weren’t upper-middle-class? Would those families even want to be involved? What should they do?

The meeting dismissed with a plan: Before the next meeting in two weeks, everyone would reach out to other families at the school in an attempt to make any pods they might form more equitable. Sancken was pleased. Diversity was clearly just as important to everyone else as it was to her.

“I think I was pretty naïve,” Sancken says now, three months later. Sancken’s daughter is in an all-white pod. There are few or no Greenbrier pods with Black children in them, and fewer than a quarter of the school’s refugee children are receiving pod support for their virtual learning. The challenge of forming pods for the 2020 school year forced families who once merely nodded to one another on this playground to consider putting their families’ health and happiness in one another’s hands. Forming a pod required delicate negotiations, enormous trust, and a leap of faith. Why, in the end, did diverse, progressive Greenbrier Elementary—a school where parents proudly tout the number of languages spoken by students (42)—redivide itself along racial lines when remote learning arrived?

Four white children and a white woman hold hands in a circle in a lush green yard.
Pod leader Quincy Pinkston plays with her charges.
Dan Kois

On July 30, the school system finally announced that school would be all virtual. The exact schedule was still up in the air: Remote learning for Greenbrier students might occupy mornings, or the whole day, or alternate days—no one knew. The group of Greenbrier moms—they were nearly all moms—grew. They met twice weekly at the playground, emailed one another, and posted in a shared Facebook group. A Google doc captured about 40 Greenbrier families’ impassioned responses to a survey asking them their needs, as well as their concerns and uncertainty about what the fall could even look like:

We are pretty strictly social isolating, but my children really miss having friends.

Since my mother is in an at-risk category for the virus, I need to take into consideration her safety and comfort level if we do expand our bubble.

Socialization is really critical at this point in R’s development … we would probably want to be with kiddos around the same age as R, and preferably even with the same teacher at Greenbrier if possible?

I have no idea what my schedule will be or how we can juggle meeting M’s educational and social needs.

Some respondents were looking for after-school activity and play options. Others, concerned about how they would continue to do their jobs, hoped for close to full coverage, with a hired pod leader helping their children through whatever the academic day would look like.

Over email and in meetings, families felt one another out on issues of safety and shared risk. Is everyone willing to quarantine to keep the pod safe? Who has a space that’s suitable for two, three, four kids? Where would they find a teacher, or at least a supervisor, to keep the kids on track? Would they have to withhold taxes? Everything suddenly seemed so daunting and “nobody,” said Greenbrier dad Justin Straight, “was making commitments.”

“I think some people were hoping to get answers and for there to be a process,” said Desi Allevato, mom of a Greenbrier second grader. “Like, if you do this, we’ll help you match, and you’ll have a pod. But it was never like we were a steering committee.” For her, the group was a way to “help talk through the issues, and then to help people find each other.” As Labor Day drew closer, several parents threw up their hands and told Sancken they’d enrolled in one of the area private schools that was still planning on in-person classes. (In a recent school board meeting, Charlottesville school officials said that elementary school enrollment has dropped 13 to 19 percent since last year.)

The proposals were sort of pie-in-the-sky: Maybe someone could set up a tent in their backyard and host outdoor school every afternoon?

Sancken, meanwhile, had found a few first grade families whose needs and concerns roughly matched hers, and they were having tentative conversations about how a pod might work. They all wanted a place where their kids could assemble during the school day and play with one another after school, and they all felt pretty conservative on safety. Straight’s house had a playroom that could accommodate four or five kids during the day. The community-college student who’d babysat Sancken’s kids over the summer could oversee the pod. “She’s definitely excited, because this is better than working at Chick-fil-A,” Sancken said in late August. “She’ll be more of a wrangler than a teacher.”

The families had a Zoom call to talk through health and safety issues along with Quincy Pinkston, the wrangler. One mom, who worked in the University of Virginia hospital system, sent around a health screening form she’d borrowed from work. “When in doubt,” the group’s shared Google doc on COVID safety reads, “sit it out.”

“You’re creating an informal institution on the fly, with people you barely know,” said Straight.  “There’s a lot of trust involved.” They couldn’t quite get things started in time for the first day of school on September. But on Monday of the second week of school, five first-graders assembled, with Pinkston, at the Straights’ house. In the end, every single kid in the pod was white.

A woman in a mask stands in front of a wooden, fenced-in playground.
Kristin Thomas Sancken at the Quaker meeting house in Rose Hill.
Dan Kois

In the 2019–20 school year, Greenbrier had 377 students, of whom 178 were white, 58 were Black, and 45 were Hispanic. Geographically, the white students are concentrated in the neighborhood immediately surrounding the school. Like most American cities, Charlottesville’s racial divide reflects decades of redlining and racist covenants restricting Black families to certain neighborhoods. One Black parent annotated a map of the Greenbrier district, circling neighborhoods where Black families live; the little red circles identified locations scattered outside the central Greenbrier neighborhood, such as historically Black Rose Hill and a low-income housing complex behind the Whole Foods. Because those apartments, called Hearthwood—built after the city razed the Black neighborhood of Vinegar Hill in the name of urban renewal—also happen to be where the local refugee resettlement agency has placed many families, Greenbrier has an unusually high refugee population as well: 82 kids last year, with more families arriving in the spring and summer.

“I’m pretty comfortable in those white spaces. But there are plenty of other African American parents who might not be.”

— Former Greenbrier dad James Watson

Sancken was worried about the diversity of the Greenbrier pods. As the logistics of her own daughter’s new pod firmed up, she threw herself into figuring out how to incorporate children of color who’d been left out of the initial round of pod formation. She’d spent much of her own childhood in Mexico City and said she particularly felt for the kids who were alone in another land, trying to learn the language. She’d grown up Lutheran; her mom is now a pastor in Charlottesville. “Most of my friends are pretty secular or agnostic,” she said. “I feel really awkward explaining to them, well, this is where God is calling me right now.”

She contacted the school’s parent-teacher organization and local nonprofits serving the Black, Latino, and refugee populations in Charlottesville, asking them to connect her to Greenbrier families who lived outside the immediate neighborhood. In early August, still worried about reaching families of color, she posted to the Facebook group:

At this point, most families who have expressed interest in Greenbrier pods are white, middle, and upper-class families. We want to make sure that pods don’t make the existing racial and socioeconomic divisions of our city worse. We want to be equitable, but not “white saviors.” The fine line is how to be non-exclusionary without thinking we are doing anyone else a “favor” by doing so.

Yet each time Sancken proposed concrete ways to incorporate more low-income students in their planning, or shared articles on the Facebook page about ensuring diversity, she said she was rebuffed. “Families who had told me that equity was crucial for them were emailing me being like, Well, that seems complicated,” she said. Michele Yeaton, a teacher at Greenbrier, agreed: “The white families either were ignorant, or got too busy, or it wasn’t a priority,” she said. “Maybe that’s mean.”

None of the Greenbrier parents of color I talked to said they decided not to pod because they felt specifically excluded or marginalized. But that doesn’t mean it didn’t happen to others, particularly to parents from poorer families. “Look, I’m in my 40s, I’m doing all right,” said James Watson, a Black father who sent his son to Greenbrier last year but put him in private school this year. “I’m pretty comfortable in those white spaces. But there are plenty of other African American parents who might not be.” A mom of color who attended several meetings said, “I wasn’t expecting diversity if I chose to go to a Greenbrier pod.”

Watson attended several pods get-togethers, he said, because he was considering the option, but also to observe the meetings themselves: “Are families of color present in those conversation? Are they invited?” Despite the group’s attempts at outreach, often, they weren’t. “Our Black and brown families had no idea this was going on,” said Yeaton, who attended the pod group meetings. One Black Greenbrier father, Jamez Lynch, pointed out how difficult it can be for school-related information to reach outside the Greenbrier neighborhood, to where most of the school’s Black students live. “It’s always been like that,” said Lynch, who attended Greenbrier as a child and still lives nearby. “Either you know, or you don’t know. If you’re not involved in certain things, schoolwise, you just don’t know about certain things that are going on.” Lynch said he’d heard a little about the pods but decided they sounded a bit too costly for his family.

In August, Sancken read that the Vela Education Fund and the National Parents Union were offering grants for innovative solutions to remote learning problems. Maybe if she could get funding, she thought, she could use the money to pay for low-income students to join pods with higher-income families. The school’s PTO declined to partner with her, noting in an email that they were strapped for time and needed to “focus our efforts on initiatives that are able to reach the Greenbrier community more broadly.” So she got a local refugee services nonprofit to be her 501(c)(3) and rewrote the grant to serve children from refugee families specifically, as opposed to a general population of low-income students. A week later, she heard she’d been awarded nearly $25,000 to place 20 refugee kids with neighborhood pods. She had two weeks until school started to organize it.

But where would she put them? The 10 or so pods she’d expected to form from the neighborhood group had dwindled to five, as more parents chose to privately home-school or send their kids to “virtual learning centers” run by the YMCA or the Boys and Girls Club. And when she asked podding parents if they would consider adding a refugee to their child’s learning pod—supported by a $60-per-week stipend from the grant—“I got crickets.” Some families expressed concern that refugee kids, coming as they did from families where parents had to work outside the house, might compromise COVID safety in their pods. Others couched their demurrals in concern for the families themselves. That included her own daughter’s pod. “When I approached them, the response was, ‘Well, what if our pod falls apart and we have to revoke the invitation?’ ” Sancken said. “‘That wouldn’t be fair to a refugee family.’”

“In typical fashion,” said Kari Miller, “no one wants the refugee in their house.” Miller was a teacher at Greenbrier for 16 years until she left in 2015 to found International Neighbors, the refugee aid nonprofit that co-sponsored Sancken’s grant proposal after the PTO turned her down. With just a week until school was to begin, Sancken and Miller pivoted to organizing pods just for the refugee kids. They posted ads and interviewed candidates to supervise the students in two buildings—International Neighbors’ office and a Quaker meeting house in Rose Hill, about two miles from Hearthwood. Sancken secured a bus to get the kids to the pods. Then the bus broke down. When she emailed 50 Greenbrier families asking for volunteers to drive, she said, one offered to help.

“I took the first day of the refugee pods off work, because I knew it would be crazy,” Sancken said. That Monday morning, she drove her Honda minivan around Hearthwood, tracking down children and driving them to the pod. One family, newly arrived from Afghanistan, showed her the Chromebook the school had sent them. It had worked at first, they said, but now it wouldn’t turn on anymore. With the family’s fourth grader translating as best he could, Sancken explained to his mother that the computer needed to be plugged in to charge.

At the Quaker meeting house, the staff Sancken and Miller had hired the week before struggled to get the kids online. Many kids didn’t have their logins, which occasioned another trip around Hearthwood to get parents to sign the forms so Greenbrier would release that information. Most of the kids finally got into the system around lunchtime. For Sancken, it was hard not to feel like she’d gotten in over her head. “I’m basically a nonprofit manager now,” she said. “I don’t know how this happened.”

After lunch, a worn-out Sancken drove to her daughter’s pod. Up in the playroom where the kids were installed, Sancken looked at Annie’s computer screen, the 15 students in her class arrayed in the familiar grid of remote work. “The only white faces,” she said, “were the kids in Annie’s pod.”

On a warm, sunny October morning, 10 kids played on the little fenced-in playground at the Quaker meeting house. Their pod leaders and a teenage volunteer pushed them on the swings and helped negotiate the multilingual disputes that inevitably resulted.

Yeaton, the Greenbrier teacher, drove up to deliver supplies to one of her second graders, a Congolese boy who’d arrived from a refugee camp earlier this year. He was sitting on a fence and looked absolutely gobsmacked when the person from his computer screen appeared in the flesh. “Are you mine?” she asked. She’d stopped by, she told me, because the boy was behaving disrespectfully in class, and she thought it might help if he really understood she was a real person who cared about him.

“This is Ms. Yeaton,” the boy’s pod leader, Shahida Parveen, said. “From morning meeting.”

“I just wanted to say hi,” Yeaton said, rubbing his back. “Hi. I like you.”

Two small children in large blue headphones sit behind laptops.
Inside the International Neighbors pod at the Quaker meeting house.
Dan Kois

Even though a wealthy member of the Quaker meeting house had contributed enough money to fund a rental van for the fall, it could be hard to get all the kids to school for the day. For families in straitened circumstances, things often went wrong: sick family members, miscommunication, job loss. Two children the program had initially targeted had been evicted, and nobody knew where they were.

Charlottesville schools send buses out each day to deliver free lunches, and the students and their adults took a short walk to the corner that’s usually the neighborhood’s bus stop to pick them up. “It’s fine when it’s nice out like today,” Miller said. “When it rains, it makes me upset that the school requires each kid to be physically present to pick up their lunch.” The kids spoke quietly to their teachers as they walked. One little girl stopped to pee in someone’s front yard. Another lay down in the grass at the bus stop, looking up at the sky.

“These kids are little, you know?” Yeaton said. “And they’re like, what in the world is going on. How disorienting this must be! To be in a new country, and then in this weird place, and plopped down in front of a computer. I don’t blame them for wanting to get away sometimes.”

Back at the meeting house, five K–1 children sat at low tables, big blue headphones on their tiny ears, eating lunch and watching videos before school resumed. One girl placed her carrot sticks between minipancakes and ate it like a sandwich. As class started, the kids poked the screens of their Chromebooks, trying to find the right Zoom room. The pod leaders crouched beside them, encouraging them to stick with it. “These women, they’re hustling,” Yeaton said of the pod leaders. “I see them all the time in the background.” The leaders are caregivers, tech support, supplementary educators, on-the-fly translators. One is a recent Yale grad; another was a teacher in a refugee school in Iran before arriving in America herself this spring. The grant allows International Neighbors to pay them each $15 an hour.

Dareen Aloudeh, who moved to Charlottesville in 2015 from Syria, found herself stuck when remote schooling was announced. She had two children in fourth grade and was supposed to be completing her certified nursing assistant training courses during the day. Now her children are both in an International Neighbors pod with other refugee kids. She worries about COVID exposure for her daughter, who uses a wheelchair, and has asked that her kids be separated from the other children in their pod, four siblings who just arrived from Congo. The challenges of getting her kids to their pod each morning and home each day have been considerable. But it’s still better than the alternative, she said. “This is very important,” she said, “the education, and making it equal.” She knows other families are struggling because they didn’t get asked to join a pod at all.

Two boys sit at laptops with headphones on as a woman hovers over.
Raising a hand in a Greenbrier learning pod.
Dan Kois

“You still need to focus,” said Quincy Pinkston. She wore Bluetooth headphones that let her listen in on the first grade class of most of her charges, including Sancken’s daughter Annie, who was writing compound words on a little whiteboard.

The renovated Cape Cod that houses Annie’s pod is less than a quarter-mile as the crow flies from the Quaker meeting house, but it’s a one-mile drive around the railroad tracks that separate this leafy neighborhood from Rose Hill. In a cozy playroom overlooking the backyard, four children sat in front of their laptops. The sing-songy cadence of their teacher bled from their headphones, each just slightly out of phase with the next. Twin brothers read from their screens in near-unison: “Foot. Ball. Football!”

“It’s paused!” a boy named James called from across the room, pointing at his frozen screen.

“Just wait,” Pinkston said. “It’ll catch up.”

“It’s the Wi-Fi,” Annie explained without looking away from her computer.

Justin Straight sat at the dining room table downstairs, wearing a V-neck shirt and a rubber Black Lives Matter bracelet. His phone lit up with messages, but he kept it at arm’s length next to his closed laptop while he spoke. Straight is the CFO for a local nonprofit and also a founder for a startup based in Durham, North Carolina, and on the days he’s at the house with the learning pod, he sneaks work in whenever he can.

Parents temperature-check their children each morning, though after a long discussion they agreed not to make the kids wear masks. If anyone gets sick or comes into contact with someone who’s sick, they must test negative for COVID before they can return. “You know, you’re mitigating risk. That’s what you do in a startup,” he said, warming to the topic. “And in a startup, you’re always tweaking the product. We thought we knew what this pod would be. But then we change things on the fly as new circumstances arise.” He ticked off examples of ways the pod’s parents had adapted on his fingers: expanding the pod’s hours when the school announced classes would last into the afternoon, upgrading the Wi-Fi in his house, purchasing headphones for everyone.

On the prospect of adding a child from a refugee family to the pod, Straight was guarded. “We’ve talked about it,” he said. “First we want to see how the pod actually works. We’re still in that process.” He thinks the schools themselves aren’t doing a good enough job helping the families that need it. “Look, if the school said, ‘Here’s a group of students who are at risk’—there’s plenty of room in the schools right now for socially distanced learning.” As it is, he thinks, “our pod is supporting the school system. We’re paying someone to help enact their plan. It seems like parents are having to create a new public school system, but that’s not our job.”

Children run out of a small house onto the lawn.
School’s out for the day.
Dan Kois

When school is over at 2:30, the kids tear out of the Straights’ front door for a few hours in the yard. First they play some soccer, and then James proposes a game where he’s a dog and Annie’s the owner and she tells him what to do. Annie agrees that’s a pretty good idea.

“Their frustration with online school was pretty high at the beginning, and it has not come down,” said Pinkston. “But as things progress, I think they’re settling into it and getting more out of it.” She’s 21 and has the preternatural patience of a born teacher, though she’s in school studying graphic design. The parents are paying her $20 an hour to supervise these kids, and she says she’d happily add a child from a refugee family at no extra charge. “Speaking frankly, a lot of kids in the pod are very privileged,” she said. “Their families can afford to pay me. I really wish more kids had these kinds of opportunities.”

A new friend shows up, a girl who was in the pod the first week but whose parents withdrew, concerned for the health of a grandmother who’s living with them. Now she just comes over for outside play on Tuesdays. The kids pull on masks in deference to the new girl, who installs herself on a swing, chattering happily. “Beckett,” says Pinkston, “you can’t just take your mask off to sneeze. That’s the most important time to have your mask on.”

For children in many nonwhite families, pods were never an option because of the health risks they posed. “In Charlottesville, there are Black families of all income levels that understand that COVID disproportionately impacts us,” says Mary Coleman, the executive director of City of Promise, a nonprofit that’s running small learning centers where children can come in for the school day. “So it may be that many people would prefer to hunker down and make it work as best they can, rather than risk an environment like an education pod where the possibility of contracting COVID is higher.” Bonita Patton, who’s coordinating learning centers at the local YMCA—which are serving some Black Greenbrier students—agrees. “The white families have the resources where, if a child gets sick, Mom can stay home, Dad can stay home,” she says. “In the Black community and immigrant community, Mom needs to work. She can’t stay home. If she stays home there’s no food on the table. So safety is a huge factor in whether or not parents are sending their child to learning pods or even programs like ours.”

“I do worry about the white savior perception. A lot.”

— Greenbrier mom Kristin Thomas Sancken

And that has consequences, Patton points out. “Remote learning is widening the educational disparities in Charlottesville,” she says. “There are students falling through the cracks who need these programs but don’t have the support, through no fault of their own.” Whenever the kids go back to school—whenever that playground at Greenbrier fills up again—“you will see a very distinct gap.” It’s a gap that’s visible even now. It’s the difference between the second graders in Michele Yeaton’s class who have parents leaping in to troubleshoot and those who don’t. And it’s the difference between depending on a last-minute donor to pay for a van to get refugee kids to a modest meeting house where trained teachers get $15 an hour and white kids gathering in a well-appointed playroom where their 21-year-old helper makes $20 an hour.

Two boys play with a soccer ball in a fenced-in area.
Soccer during the lunch hour at the refugee kids’ pods.
Dan Kois

The white parents at Greenbrier who are podding know that things are getting more and more unequal at their school. “God, they have to be,” says Bradley Kilmartin, mother of another child in Annie’s pod. But no one knows how to fix it. “Places like the YMCA who are running these virtual learning centers, that’s the best resource right now,” says Kilmartin. “Just donating to these places, because they already have it set up. I guess we throw money at the problem.”

When I ask Sancken if she still hopes to add one refugee child to Annie’s pod, she sounds exhausted. “I haven’t approached it again,” she says. “I probably should.” She knows there are people who would say she’s oversimplifying complicated structural issues in pursuit of an easy fix, and trying to assuage her own feelings of guilt in the process. “I do worry about the white savior perception. A lot,” she told me. “The piece of ‘white saviorism’ that I struggle with the most is that it isn’t about justice, it’s about having a big emotional experience—relieving your white guilt and then walking away.” It’s here, she says, that she feels the most damning of herself. “I am having a big, emotional experience.” Still, she added, “I definitely feel better about doing something rather than nothing. White people doing nothing is exactly what perpetuates inequality.”

Sancken says she also empathizes with the Greenbrier parents who were reluctant to open up their homes to families they didn’t know: “For some people, in a time of crisis, the idea of taking an additional risk—it’s terrifying.” Kari Miller is harsher. “They loved their diverse school but all of a sudden now it’s, oh, all the pods have been filled.” She laughs. “We have a lot of talkers who aren’t walking the walk.” The goal was to make connections between local families and refugee families, but now, Miller points out, “refugee children are in entirely separate pods from their classmates, and there’s such a disparity between those opportunities.”

Watson, the former Greenbrier dad who moved his son to private school, thinks that, for all the organizers’ good intentions, it was always going to be unlikely that the pods initiative would reach nonwhite families. “You gotta look at that Greenbrier neighborhood,” he says. “The main neighborhood that’s walkable, that’s been there forever, with the big trees and the nice houses, is 90 percent white.” Another Black parent I spoke to counted a total of three Black families, including theirs, who send their kids to Greenbrier and live in the neighborhood proper. The pods group was created by predominantly white parents in a predominantly white neighborhood, far from most of the school’s parents of color. “Even if you’re the most open-minded white person,” Watson says, “you gotta be close” to the people you’re trying to reach. No matter how dedicated the pods group was to diversity as a concept, it was bound to replicate the divisions codified decades ago into Charlottesville. In this way, at least, despite the particular challenges of Greenbrier, “it’s no different than the problems in any other town.”

Update, Oct. 22, 2020: This article has been updated to include exact figures for how much elementary school enrollment has dropped.

nnx3c!-- Rubicon Project Ad Tag --x3en


nn")), n = I(p[r.size_id].split("x").map(function (e)
return Number(e);
), 2), i.width = n[0], i.height = n[1]), i.rubiconTargeting = (Array.isArray(r.targeting) ? r.targeting : []).reduce(function (e, r)
return e[r.key] = r.values[0], e;
rpfl_elemid: s.adUnitCode
), e.push(i)) : _.logError("Rubicon: bidRequest undefined at index position:".concat(t), d, c), e;
, []).sort(function (e, r) );
getUserSyncs: function getUserSyncs(e, r, t, i)
if (!z && e.iframeEnabled)
var n = "";
return t && "string" == typeof t.consentString && ("boolean" == typeof t.gdprApplies ? n += "?gdpr=".concat(Number(t.gdprApplies), "&gdpr_consent=").concat(t.consentString) : n += "?gdpr_consent=".concat(t.consentString)), i && (n += "".concat(n ? "&" : "?"https://slate.com/human-interest/2020/10/,"us_privacy=").concat(encodeURIComponent(i))), z = !0,
type: "iframe",
url: s + n

transformBidParams: function transformBidParams(e)
return _.convertTypes(
accountId: "number",
siteId: "number",
zoneId: "number"
, e);


function E(e, r) a.privacy && a.privacy.optout) return null;
var s = (m(t = , o.id, a.id), m(t, o.keyv, a.keyv), t);
return o.pref && (s[o.pref] = 0), s;

function T(e, r)

function w(e, r)
var t = e.params;

if ("video" === r)
var i = [];
return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(_.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.playerSize.length ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.length && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].length && (i = e.sizes[0]), i; var n = []; return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== _.deepAccess(e, "mediaTypes.banner.sizes") ? n = d(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.length ? n = d(e.sizes) : _.logWarn("Rubicon: no sizes are setup or found"), g(n); function d(e) return _.parseSizesInput(e).reduce(function (e, r) var t = parseInt(p[r], 10); return t && e.push(t), e; , []); function l(e) return "object" === j(_.deepAccess(e, "params.video")) && void 0 !== _.deepAccess(e, "mediaTypes.".concat(u.d)); function f(e, r) var t = 1 < arguments.length && void 0 !== r && r; return l(e) ? -1 === ["outstream"https://slate.com/human-interest/2020/10/,"instream"].indexOf(_.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && _.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : w(e, "video").length < 2 ? void (t && _.logError("Rubicon: could not determine the playerSize of the video")) : (t && _.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === w(e, "banner").length ? void (t && _.logError("Rubicon: could not determine the sizes for banner request")) : (t && _.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner"); function g(e) var n = [15, 2, 9]; return e.sort(function (e, r) ); function b(e) var r = parseInt(_.deepAccess(e, "params.video.size_id")); return isNaN(r) ? "outstream" === _.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r; function y(e) return ranges: low: [ max: 5, increment: .5 ], medium: [ max: 20, increment: .1 ], high: [ max: 20, increment: .01 ], auto: [ max: 5, increment: .05 , min: 5, max: 10, increment: .1 , min: 10, max: 20, increment: .5 ], dense: [ max: 3, increment: .01 , min: 3, max: 8, increment: .05 , min: 8, max: 20, increment: .5 ], custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets [e.getConfig("priceGranularity")] ; function x(r) var t = !0, e = Object.prototype.toString.call([]), i = Object.prototype.toString.call(0), n = mimes: e, protocols: e, maxduration: i, linearity: i, api: e ; return Object.keys(n).forEach(function (e) Object.prototype.toString.call(_.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, _.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e])); ), t; function R(e) function h(e, r) return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r)); var z = !1; Object(i.registerBidder)(k); } }, [684]); pbjsChunk([100], { 734: function _(e, t, r) e.exports = r(735); , 735: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", value: !0 ), r.d(t, "spec", function () return a; ), r.d(t, "_isInbounds", function () return m; ), t._getPlatform = v; var n = r(1), y = r(0), i = r(2), o = r(3), g = r(11), c = r(44); function h(e, t) return function (e) if (Array.isArray(e)) return e; (e) function s(e, t) t > e.length) && (t = e.length);

for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; function d() function (e) for (var t = 1; t < arguments.length; t++) var r = arguments[t]; for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); return e; ).apply(this, arguments); function u(e, t, r) return t in e ? Object.defineProperty(e, t, value: r, enumerable: !0, configurable: !0, writable: !0 ) : e[t] = r, e; var p = "sonobi", b = Object(y.generateUUID)(), a = { code: p, supportedMediaTypes: [i.b, i.d], isBidRequestValid: function isBidRequestValid(e) if (!e.params) return !1; if (!e.params.ad_unit && !e.params.placement_id) return !1; if (!Object(y.deepAccess)(e, "mediaTypes.banner") && !Object(y.deepAccess)(e, "mediaTypes.video")) return !1; if (Object(y.deepAccess)(e, "mediaTypes.banner")) if (!Object(y.deepAccess)(e, "mediaTypes.banner.sizes") && !e.params.sizes) return !1; else if (Object(y.deepAccess)(e, "mediaTypes.video")) if ("outstream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !e.params.sizes) return !1; if ("instream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !Object(y.deepAccess)(e, "mediaTypes.video.playerSize")) return !1; return !0; , buildRequests: function buildRequests(e, t) var r = e.map(function (e) var t = function (e) if (e.params.ad_unit) return e.params.ad_unit; return e.params.placement_id; (e); return /^[/]?[d]+[[/].+[/]?]?$/.test(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, u(, "".concat(t, "), n = ; r.forEach(function (e) d(n, e); ); var i = key_maker: JSON.stringify(n), ref: t.refererInfo.referer, s: Object(y.generateUUID)(), pv: b, vp: v(), lib_name: "prebid", lib_v: "4.7.0", us: 0 ; o.b.getConfig("userSync") && o.b.getConfig("userSync").syncsPerBidder && (i.us = o.b.getConfig("userSync").syncsPerBidder), c.a.canBidderRegisterSync("iframe", p) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].userId).length && (i.userid = JSON.stringify(e[0].userId)); var s = e[0].params.keywords; if (s && (i.kw = s), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null; var a = "https://apex.go.sonobi.com/trinity.json"; return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), method: "GET", url: a, withCredentials: !0, data: i, bidderRequests: e ; , interpretResponse: function interpretResponse(e, l) { var f = e.body, m = [], v = l.data.ref; return 0 === Object.keys(f.slots).length || Object.keys(f.slots).forEach(function (e) ").slice(-1)[0], n = function (e, t) for (var r = 0; r < e.length; r++) if (e[r].bidId === t) return e[r]; (l.bidderRequests, r), i = null; "video" === t.sbi_ct && (i = "video"https://slate.com/human-interest/2020/10/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream")); var s, a, o, c, d, u, p, b = j(i, v); t.sbi_aid && t.sbi_mouse && t.sbi_size && (o = void 0 === (a = (s = h(t.sbi_size.split("x"), 2))[0]) ? 1 : a, d = void 0 === (c = s[1]) ? 1 : c, u = requestId: r, cpm: Number(t.sbi_mouse), width: Number(o), height: Number(d), ad: b(f.sbi_dc, t.sbi_aid), ttl: 500, creativeId: t.sbi_crid , t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.ad, delete u.width, delete u.height) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = function (e, t) var r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : , n = g.a.install( id: t.aid, url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js", config: r, loaded: !1, adUnitCode: e ); try n.setRender(O); catch (e) Object(y.logWarn)("Prebid Error calling setRender on renderer", e); return n.setEventHandlers( impression: function impression() return Object(y.logMessage)("Sonobi outstream video impression event"); , loaded: function loaded() return Object(y.logMessage)("Sonobi outstream video loaded event"); , ended: function ended() Object(y.logMessage)("Sonobi outstream renderer video event"); ), n; (n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.height = p[1])), m.push(u)); ), m; }, getUserSyncs: function getUserSyncs(e, t) var r = []; try e.pixelEnabled && t[0].body.sbi_px.forEach(function (e) r.push( type: e.type, url: e.url ); ); catch (e) return r; }; function l(e) return Object(y.deepAccess)(e, "mediaTypes.video") ? "" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).join(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).join(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).join(",") : void 0; function f(e) return e.params.floor ? " var j = function j(i, s) return function (e, t) "outstream" === i ? (r = t, n = s, "https://".concat(e, "apex.go.sonobi.com/vast.xml?vid=").concat(r, "&ref=").concat(encodeURIComponent(n))) : '‘;
var r, n;

var m = function m(e)
var r = 0 < arguments.length && void 0 !== e ? e : window; return function () var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0, t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_SAFE_INTEGER; return r.innerWidth >= e && r.innerWidth < t; ; ; function v() var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : window, t = m(e), r = 992, n = 768; return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop"; function O(i) i.renderer.push(function () var e = h(i.getSize().split("x"), 2), t = e[0], r = e[1], n = new window.SbiOutstreamRenderer(); n.init( vastUrl: i.vastUrl, height: r, width: t ), n.setRootElement(i.adUnitCode); ); Object(n.registerBidder)(a); } }, [734]); pbjsChunk([97], { 744: function _(e, t, r) e.exports = r(745); , 745: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", value: !0 ), r.d(t, "GOOGLE_CONSENT", function () return P; ), r.d(t, "spec", function () return n; ); var I = r(0), u = r(11), a = r(1), c = r(2); function d(e) return (d = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) return _typeof(e); : function (e) return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); )(e); var i = "spotx", P = consented_providers: ["3"https://slate.com/human-interest/2020/10/,"7"https://slate.com/human-interest/2020/10/,"11"https://slate.com/human-interest/2020/10/,"12"https://slate.com/human-interest/2020/10/,"15"https://slate.com/human-interest/2020/10/,"20"https://slate.com/human-interest/2020/10/,"22"https://slate.com/human-interest/2020/10/,"35"https://slate.com/human-interest/2020/10/,"43"https://slate.com/human-interest/2020/10/,"46"https://slate.com/human-interest/2020/10/,"48"https://slate.com/human-interest/2020/10/,"55"https://slate.com/human-interest/2020/10/,"57"https://slate.com/human-interest/2020/10/,"61"https://slate.com/human-interest/2020/10/,"62"https://slate.com/human-interest/2020/10/,"66"https://slate.com/human-interest/2020/10/,"70"https://slate.com/human-interest/2020/10/,"80"https://slate.com/human-interest/2020/10/,"83"https://slate.com/human-interest/2020/10/,"85"https://slate.com/human-interest/2020/10/,"86"https://slate.com/human-interest/2020/10/,"89"https://slate.com/human-interest/2020/10/,"93"https://slate.com/human-interest/2020/10/,"108"https://slate.com/human-interest/2020/10/,"122"https://slate.com/human-interest/2020/10/,"124"https://slate.com/human-interest/2020/10/,"125"https://slate.com/human-interest/2020/10/,"126"https://slate.com/human-interest/2020/10/,"131"https://slate.com/human-interest/2020/10/,"134"https://slate.com/human-interest/2020/10/,"135"https://slate.com/human-interest/2020/10/,"136"https://slate.com/human-interest/2020/10/,"143"https://slate.com/human-interest/2020/10/,"144"https://slate.com/human-interest/2020/10/,"147"https://slate.com/human-interest/2020/10/,"149"https://slate.com/human-interest/2020/10/,"153"https://slate.com/human-interest/2020/10/,"154"https://slate.com/human-interest/2020/10/,"159"https://slate.com/human-interest/2020/10/,"161"https://slate.com/human-interest/2020/10/,"162"https://slate.com/human-interest/2020/10/,"165"https://slate.com/human-interest/2020/10/,"167"https://slate.com/human-interest/2020/10/,"171"https://slate.com/human-interest/2020/10/,"178"https://slate.com/human-interest/2020/10/,"184"https://slate.com/human-interest/2020/10/,"188"https://slate.com/human-interest/2020/10/,"192"https://slate.com/human-interest/2020/10/,"195"https://slate.com/human-interest/2020/10/,"196"https://slate.com/human-interest/2020/10/,"202"https://slate.com/human-interest/2020/10/,"209"https://slate.com/human-interest/2020/10/,"211"https://slate.com/human-interest/2020/10/,"218"https://slate.com/human-interest/2020/10/,"221"https://slate.com/human-interest/2020/10/,"228"https://slate.com/human-interest/2020/10/,"229"https://slate.com/human-interest/2020/10/,"230"https://slate.com/human-interest/2020/10/,"236"https://slate.com/human-interest/2020/10/,"239"https://slate.com/human-interest/2020/10/,"241"https://slate.com/human-interest/2020/10/,"253"https://slate.com/human-interest/2020/10/,"255"https://slate.com/human-interest/2020/10/,"259"https://slate.com/human-interest/2020/10/,"266"https://slate.com/human-interest/2020/10/,"271"https://slate.com/human-interest/2020/10/,"272"https://slate.com/human-interest/2020/10/,"274"https://slate.com/human-interest/2020/10/,"286"https://slate.com/human-interest/2020/10/,"291"https://slate.com/human-interest/2020/10/,"294"https://slate.com/human-interest/2020/10/,"303"https://slate.com/human-interest/2020/10/,"308"https://slate.com/human-interest/2020/10/,"310"https://slate.com/human-interest/2020/10/,"311"https://slate.com/human-interest/2020/10/,"313"https://slate.com/human-interest/2020/10/,"314"https://slate.com/human-interest/2020/10/,"316"https://slate.com/human-interest/2020/10/,"317"https://slate.com/human-interest/2020/10/,"322"https://slate.com/human-interest/2020/10/,"323"https://slate.com/human-interest/2020/10/,"327"https://slate.com/human-interest/2020/10/,"336"https://slate.com/human-interest/2020/10/,"338"https://slate.com/human-interest/2020/10/,"340"https://slate.com/human-interest/2020/10/,"348"https://slate.com/human-interest/2020/10/,"350"https://slate.com/human-interest/2020/10/,"358"https://slate.com/human-interest/2020/10/,"359"https://slate.com/human-interest/2020/10/,"363"https://slate.com/human-interest/2020/10/,"367"https://slate.com/human-interest/2020/10/,"370"https://slate.com/human-interest/2020/10/,"371"https://slate.com/human-interest/2020/10/,"384"https://slate.com/human-interest/2020/10/,"385"https://slate.com/human-interest/2020/10/,"389"https://slate.com/human-interest/2020/10/,"393"https://slate.com/human-interest/2020/10/,"394"https://slate.com/human-interest/2020/10/,"397"https://slate.com/human-interest/2020/10/,"398"https://slate.com/human-interest/2020/10/,"407"https://slate.com/human-interest/2020/10/,"414"https://slate.com/human-interest/2020/10/,"415"https://slate.com/human-interest/2020/10/,"424"https://slate.com/human-interest/2020/10/,"429"https://slate.com/human-interest/2020/10/,"430"https://slate.com/human-interest/2020/10/,"432"https://slate.com/human-interest/2020/10/,"436"https://slate.com/human-interest/2020/10/,"438"https://slate.com/human-interest/2020/10/,"440"https://slate.com/human-interest/2020/10/,"442"https://slate.com/human-interest/2020/10/,"443"https://slate.com/human-interest/2020/10/,"445"https://slate.com/human-interest/2020/10/,"448"https://slate.com/human-interest/2020/10/,"449"https://slate.com/human-interest/2020/10/,"453"https://slate.com/human-interest/2020/10/,"459"https://slate.com/human-interest/2020/10/,"479"https://slate.com/human-interest/2020/10/,"482"https://slate.com/human-interest/2020/10/,"486"https://slate.com/human-interest/2020/10/,"491"https://slate.com/human-interest/2020/10/,"492"https://slate.com/human-interest/2020/10/,"494"https://slate.com/human-interest/2020/10/,"495"https://slate.com/human-interest/2020/10/,"503"https://slate.com/human-interest/2020/10/,"505"https://slate.com/human-interest/2020/10/,"510"https://slate.com/human-interest/2020/10/,"522"https://slate.com/human-interest/2020/10/,"523"https://slate.com/human-interest/2020/10/,"528"https://slate.com/human-interest/2020/10/,"537"https://slate.com/human-interest/2020/10/,"540"https://slate.com/human-interest/2020/10/,"550"https://slate.com/human-interest/2020/10/,"559"https://slate.com/human-interest/2020/10/,"560"https://slate.com/human-interest/2020/10/,"568"https://slate.com/human-interest/2020/10/,"571"https://slate.com/human-interest/2020/10/,"574"https://slate.com/human-interest/2020/10/,"575"https://slate.com/human-interest/2020/10/,"576"https://slate.com/human-interest/2020/10/,"584"https://slate.com/human-interest/2020/10/,"585"https://slate.com/human-interest/2020/10/,"587"https://slate.com/human-interest/2020/10/,"588"https://slate.com/human-interest/2020/10/,"590"https://slate.com/human-interest/2020/10/,"591"https://slate.com/human-interest/2020/10/,"592"https://slate.com/human-interest/2020/10/,"595"https://slate.com/human-interest/2020/10/,"609"https://slate.com/human-interest/2020/10/,"621"https://slate.com/human-interest/2020/10/,"624"https://slate.com/human-interest/2020/10/,"723"https://slate.com/human-interest/2020/10/,"725"https://slate.com/human-interest/2020/10/,"733"https://slate.com/human-interest/2020/10/,"737"https://slate.com/human-interest/2020/10/,"776"https://slate.com/human-interest/2020/10/,"780"https://slate.com/human-interest/2020/10/,"782"https://slate.com/human-interest/2020/10/,"787"https://slate.com/human-interest/2020/10/,"797"https://slate.com/human-interest/2020/10/,"798"https://slate.com/human-interest/2020/10/,"802"https://slate.com/human-interest/2020/10/,"803"https://slate.com/human-interest/2020/10/,"814"https://slate.com/human-interest/2020/10/,"817"https://slate.com/human-interest/2020/10/,"820"https://slate.com/human-interest/2020/10/,"821"https://slate.com/human-interest/2020/10/,"827"https://slate.com/human-interest/2020/10/,"829"https://slate.com/human-interest/2020/10/,"839"https://slate.com/human-interest/2020/10/,"853"https://slate.com/human-interest/2020/10/,"864"https://slate.com/human-interest/2020/10/,"867"https://slate.com/human-interest/2020/10/,"874"https://slate.com/human-interest/2020/10/,"899"https://slate.com/human-interest/2020/10/,"904"https://slate.com/human-interest/2020/10/,"922"https://slate.com/human-interest/2020/10/,"926"https://slate.com/human-interest/2020/10/,"931"https://slate.com/human-interest/2020/10/,"932"https://slate.com/human-interest/2020/10/,"933"https://slate.com/human-interest/2020/10/,"938"https://slate.com/human-interest/2020/10/,"955"https://slate.com/human-interest/2020/10/,"973"https://slate.com/human-interest/2020/10/,"976"https://slate.com/human-interest/2020/10/,"979"https://slate.com/human-interest/2020/10/,"981"https://slate.com/human-interest/2020/10/,"985"https://slate.com/human-interest/2020/10/,"987"https://slate.com/human-interest/2020/10/,"991"https://slate.com/human-interest/2020/10/,"1003"https://slate.com/human-interest/2020/10/,"1024"https://slate.com/human-interest/2020/10/,"1025"https://slate.com/human-interest/2020/10/,"1027"https://slate.com/human-interest/2020/10/,"1028"https://slate.com/human-interest/2020/10/,"1029"https://slate.com/human-interest/2020/10/,"1033"https://slate.com/human-interest/2020/10/,"1034"https://slate.com/human-interest/2020/10/,"1040"https://slate.com/human-interest/2020/10/,"1047"https://slate.com/human-interest/2020/10/,"1048"https://slate.com/human-interest/2020/10/,"1051"https://slate.com/human-interest/2020/10/,"1052"https://slate.com/human-interest/2020/10/,"1053"https://slate.com/human-interest/2020/10/,"1054"https://slate.com/human-interest/2020/10/,"1062"https://slate.com/human-interest/2020/10/,"1063"https://slate.com/human-interest/2020/10/,"1067"https://slate.com/human-interest/2020/10/,"1072"https://slate.com/human-interest/2020/10/,"1085"https://slate.com/human-interest/2020/10/,"1092"https://slate.com/human-interest/2020/10/,"1095"https://slate.com/human-interest/2020/10/,"1097"https://slate.com/human-interest/2020/10/,"1099"https://slate.com/human-interest/2020/10/,"1100"https://slate.com/human-interest/2020/10/,"1107"https://slate.com/human-interest/2020/10/,"1126"https://slate.com/human-interest/2020/10/,"1127"https://slate.com/human-interest/2020/10/,"1143"https://slate.com/human-interest/2020/10/,"1149"https://slate.com/human-interest/2020/10/,"1152"https://slate.com/human-interest/2020/10/,"1162"https://slate.com/human-interest/2020/10/,"1166"https://slate.com/human-interest/2020/10/,"1167"https://slate.com/human-interest/2020/10/,"1170"https://slate.com/human-interest/2020/10/,"1171"https://slate.com/human-interest/2020/10/,"1172"https://slate.com/human-interest/2020/10/,"1188"https://slate.com/human-interest/2020/10/,"1192"https://slate.com/human-interest/2020/10/,"1199"https://slate.com/human-interest/2020/10/,"1201"https://slate.com/human-interest/2020/10/,"1204"https://slate.com/human-interest/2020/10/,"1205"https://slate.com/human-interest/2020/10/,"1211"https://slate.com/human-interest/2020/10/,"1212"https://slate.com/human-interest/2020/10/,"1215"https://slate.com/human-interest/2020/10/,"1220"https://slate.com/human-interest/2020/10/,"1225"https://slate.com/human-interest/2020/10/,"1226"https://slate.com/human-interest/2020/10/,"1227"https://slate.com/human-interest/2020/10/,"1230"https://slate.com/human-interest/2020/10/,"1232"https://slate.com/human-interest/2020/10/,"1236"https://slate.com/human-interest/2020/10/,"1241"https://slate.com/human-interest/2020/10/,"1248"https://slate.com/human-interest/2020/10/,"1250"https://slate.com/human-interest/2020/10/,"1252"https://slate.com/human-interest/2020/10/,"1268"https://slate.com/human-interest/2020/10/,"1275"https://slate.com/human-interest/2020/10/,"1276"https://slate.com/human-interest/2020/10/,"1284"https://slate.com/human-interest/2020/10/,"1286"https://slate.com/human-interest/2020/10/,"1298"https://slate.com/human-interest/2020/10/,"1301"https://slate.com/human-interest/2020/10/,"1307"https://slate.com/human-interest/2020/10/,"1312"https://slate.com/human-interest/2020/10/,"1313"https://slate.com/human-interest/2020/10/,"1317"https://slate.com/human-interest/2020/10/,"1329"https://slate.com/human-interest/2020/10/,"1336"https://slate.com/human-interest/2020/10/,"1344"https://slate.com/human-interest/2020/10/,"1345"https://slate.com/human-interest/2020/10/,"1356"https://slate.com/human-interest/2020/10/,"1362"https://slate.com/human-interest/2020/10/,"1365"https://slate.com/human-interest/2020/10/,"1375"https://slate.com/human-interest/2020/10/,"1403"https://slate.com/human-interest/2020/10/,"1409"https://slate.com/human-interest/2020/10/,"1411"https://slate.com/human-interest/2020/10/,"1415"https://slate.com/human-interest/2020/10/,"1416"https://slate.com/human-interest/2020/10/,"1419"https://slate.com/human-interest/2020/10/,"1423"https://slate.com/human-interest/2020/10/,"1440"https://slate.com/human-interest/2020/10/,"1442"https://slate.com/human-interest/2020/10/,"1449"https://slate.com/human-interest/2020/10/,"1451"https://slate.com/human-interest/2020/10/,"1455"https://slate.com/human-interest/2020/10/,"1456"https://slate.com/human-interest/2020/10/,"1468"https://slate.com/human-interest/2020/10/,"1496"https://slate.com/human-interest/2020/10/,"1503"https://slate.com/human-interest/2020/10/,"1509"https://slate.com/human-interest/2020/10/,"1512"https://slate.com/human-interest/2020/10/,"1514"https://slate.com/human-interest/2020/10/,"1517"https://slate.com/human-interest/2020/10/,"1520"https://slate.com/human-interest/2020/10/,"1525"https://slate.com/human-interest/2020/10/,"1540"https://slate.com/human-interest/2020/10/,"1547"https://slate.com/human-interest/2020/10/,"1548"https://slate.com/human-interest/2020/10/,"1555"https://slate.com/human-interest/2020/10/,"1558"https://slate.com/human-interest/2020/10/,"1570"https://slate.com/human-interest/2020/10/,"1575"https://slate.com/human-interest/2020/10/,"1577"https://slate.com/human-interest/2020/10/,"1579"https://slate.com/human-interest/2020/10/,"1583"https://slate.com/human-interest/2020/10/,"1584"https://slate.com/human-interest/2020/10/,"1591"https://slate.com/human-interest/2020/10/,"1598"https://slate.com/human-interest/2020/10/,"1603"https://slate.com/human-interest/2020/10/,"1608"https://slate.com/human-interest/2020/10/,"1613"https://slate.com/human-interest/2020/10/,"1616"https://slate.com/human-interest/2020/10/,"1626"https://slate.com/human-interest/2020/10/,"1631"https://slate.com/human-interest/2020/10/,"1633"https://slate.com/human-interest/2020/10/,"1638"https://slate.com/human-interest/2020/10/,"1642"https://slate.com/human-interest/2020/10/,"1648"https://slate.com/human-interest/2020/10/,"1651"https://slate.com/human-interest/2020/10/,"1652"https://slate.com/human-interest/2020/10/,"1653"https://slate.com/human-interest/2020/10/,"1660"https://slate.com/human-interest/2020/10/,"1665"https://slate.com/human-interest/2020/10/,"1667"https://slate.com/human-interest/2020/10/,"1669"https://slate.com/human-interest/2020/10/,"1671"https://slate.com/human-interest/2020/10/,"1674"https://slate.com/human-interest/2020/10/,"1677"https://slate.com/human-interest/2020/10/,"1678"https://slate.com/human-interest/2020/10/,"1682"https://slate.com/human-interest/2020/10/,"1684"https://slate.com/human-interest/2020/10/,"1697"https://slate.com/human-interest/2020/10/,"1703"https://slate.com/human-interest/2020/10/,"1705"https://slate.com/human-interest/2020/10/,"1716"https://slate.com/human-interest/2020/10/,"1720"https://slate.com/human-interest/2020/10/,"1721"https://slate.com/human-interest/2020/10/,"1722"https://slate.com/human-interest/2020/10/,"1725"https://slate.com/human-interest/2020/10/,"1732"https://slate.com/human-interest/2020/10/,"1733"https://slate.com/human-interest/2020/10/,"1735"https://slate.com/human-interest/2020/10/,"1739"https://slate.com/human-interest/2020/10/,"1741"https://slate.com/human-interest/2020/10/,"1745"https://slate.com/human-interest/2020/10/,"1750"https://slate.com/human-interest/2020/10/,"1753"https://slate.com/human-interest/2020/10/,"1760"https://slate.com/human-interest/2020/10/,"1765"https://slate.com/human-interest/2020/10/,"1769"https://slate.com/human-interest/2020/10/,"1776"https://slate.com/human-interest/2020/10/,"1780"https://slate.com/human-interest/2020/10/,"1782"https://slate.com/human-interest/2020/10/,"1786"https://slate.com/human-interest/2020/10/,"1791"https://slate.com/human-interest/2020/10/,"1794"https://slate.com/human-interest/2020/10/,"1799"https://slate.com/human-interest/2020/10/,"1800"https://slate.com/human-interest/2020/10/,"1801"https://slate.com/human-interest/2020/10/,"1810"https://slate.com/human-interest/2020/10/,"1827"https://slate.com/human-interest/2020/10/,"1831"https://slate.com/human-interest/2020/10/,"1832"https://slate.com/human-interest/2020/10/,"1834"https://slate.com/human-interest/2020/10/,"1837"https://slate.com/human-interest/2020/10/,"1840"https://slate.com/human-interest/2020/10/,"1843"https://slate.com/human-interest/2020/10/,"1844"https://slate.com/human-interest/2020/10/,"1845"https://slate.com/human-interest/2020/10/,"1858"https://slate.com/human-interest/2020/10/,"1859"https://slate.com/human-interest/2020/10/,"1863"https://slate.com/human-interest/2020/10/,"1866"https://slate.com/human-interest/2020/10/,"1870"https://slate.com/human-interest/2020/10/,"1872"https://slate.com/human-interest/2020/10/,"1875"https://slate.com/human-interest/2020/10/,"1878"https://slate.com/human-interest/2020/10/,"1880"https://slate.com/human-interest/2020/10/,"1882"https://slate.com/human-interest/2020/10/,"1883"https://slate.com/human-interest/2020/10/,"1889"https://slate.com/human-interest/2020/10/,"1892"https://slate.com/human-interest/2020/10/,"1896"https://slate.com/human-interest/2020/10/,"1898"https://slate.com/human-interest/2020/10/,"1899"https://slate.com/human-interest/2020/10/,"1902"https://slate.com/human-interest/2020/10/,"1905"https://slate.com/human-interest/2020/10/,"1911"https://slate.com/human-interest/2020/10/,"1922"https://slate.com/human-interest/2020/10/,"1928"https://slate.com/human-interest/2020/10/,"1929"https://slate.com/human-interest/2020/10/,"1934"https://slate.com/human-interest/2020/10/,"1942"https://slate.com/human-interest/2020/10/,"1943"https://slate.com/human-interest/2020/10/,"1944"https://slate.com/human-interest/2020/10/,"1945"https://slate.com/human-interest/2020/10/,"1958"https://slate.com/human-interest/2020/10/,"1960"https://slate.com/human-interest/2020/10/,"1962"https://slate.com/human-interest/2020/10/,"1963"https://slate.com/human-interest/2020/10/,"1964"https://slate.com/human-interest/2020/10/,"1967"https://slate.com/human-interest/2020/10/,"1968"https://slate.com/human-interest/2020/10/,"1978"https://slate.com/human-interest/2020/10/,"1985"https://slate.com/human-interest/2020/10/,"1986"https://slate.com/human-interest/2020/10/,"1987"https://slate.com/human-interest/2020/10/,"1998"https://slate.com/human-interest/2020/10/,"2003"https://slate.com/human-interest/2020/10/,"2007"https://slate.com/human-interest/2020/10/,"2012"https://slate.com/human-interest/2020/10/,"2013"https://slate.com/human-interest/2020/10/,"2027"https://slate.com/human-interest/2020/10/,"2035"https://slate.com/human-interest/2020/10/,"2038"https://slate.com/human-interest/2020/10/,"2039"https://slate.com/human-interest/2020/10/,"2044"https://slate.com/human-interest/2020/10/,"2047"https://slate.com/human-interest/2020/10/,"2052"https://slate.com/human-interest/2020/10/,"2056"https://slate.com/human-interest/2020/10/,"2059"https://slate.com/human-interest/2020/10/,"2062"https://slate.com/human-interest/2020/10/,"2064"https://slate.com/human-interest/2020/10/,"2068"https://slate.com/human-interest/2020/10/,"2070"https://slate.com/human-interest/2020/10/,"2072"https://slate.com/human-interest/2020/10/,"2078"https://slate.com/human-interest/2020/10/,"2079"https://slate.com/human-interest/2020/10/,"2084"https://slate.com/human-interest/2020/10/,"2088"https://slate.com/human-interest/2020/10/,"2090"https://slate.com/human-interest/2020/10/,"2095"https://slate.com/human-interest/2020/10/,"2100"https://slate.com/human-interest/2020/10/,"2103"https://slate.com/human-interest/2020/10/,"2107"https://slate.com/human-interest/2020/10/,"2109"https://slate.com/human-interest/2020/10/,"2113"https://slate.com/human-interest/2020/10/,"2115"https://slate.com/human-interest/2020/10/,"2121"https://slate.com/human-interest/2020/10/,"2127"https://slate.com/human-interest/2020/10/,"2130"https://slate.com/human-interest/2020/10/,"2133"https://slate.com/human-interest/2020/10/,"2137"https://slate.com/human-interest/2020/10/,"2140"https://slate.com/human-interest/2020/10/,"2141"https://slate.com/human-interest/2020/10/,"2145"https://slate.com/human-interest/2020/10/,"2147"https://slate.com/human-interest/2020/10/,"2150"https://slate.com/human-interest/2020/10/,"2156"https://slate.com/human-interest/2020/10/,"2166"https://slate.com/human-interest/2020/10/,"2170"https://slate.com/human-interest/2020/10/,"2171"https://slate.com/human-interest/2020/10/,"2176"https://slate.com/human-interest/2020/10/,"2177"https://slate.com/human-interest/2020/10/,"2179"https://slate.com/human-interest/2020/10/,"2183"https://slate.com/human-interest/2020/10/,"2186"https://slate.com/human-interest/2020/10/,"2192"https://slate.com/human-interest/2020/10/,"2198"https://slate.com/human-interest/2020/10/,"2202"https://slate.com/human-interest/2020/10/,"2205"https://slate.com/human-interest/2020/10/,"2214"https://slate.com/human-interest/2020/10/,"2216"https://slate.com/human-interest/2020/10/,"2219"https://slate.com/human-interest/2020/10/,"2220"https://slate.com/human-interest/2020/10/,"2222"https://slate.com/human-interest/2020/10/,"2223"https://slate.com/human-interest/2020/10/,"2224"https://slate.com/human-interest/2020/10/,"2225"https://slate.com/human-interest/2020/10/,"2227"https://slate.com/human-interest/2020/10/,"2228"https://slate.com/human-interest/2020/10/,"2234"https://slate.com/human-interest/2020/10/,"2238"https://slate.com/human-interest/2020/10/,"2247"https://slate.com/human-interest/2020/10/,"2251"https://slate.com/human-interest/2020/10/,"2253"https://slate.com/human-interest/2020/10/,"2262"https://slate.com/human-interest/2020/10/,"2264"https://slate.com/human-interest/2020/10/,"2271"https://slate.com/human-interest/2020/10/,"2276"https://slate.com/human-interest/2020/10/,"2278"https://slate.com/human-interest/2020/10/,"2279"https://slate.com/human-interest/2020/10/,"2282"https://slate.com/human-interest/2020/10/,"2290"https://slate.com/human-interest/2020/10/,"2292"https://slate.com/human-interest/2020/10/,"2295"https://slate.com/human-interest/2020/10/,"2299"https://slate.com/human-interest/2020/10/,"2305"https://slate.com/human-interest/2020/10/,"2306"https://slate.com/human-interest/2020/10/,"2310"https://slate.com/human-interest/2020/10/,"2311"https://slate.com/human-interest/2020/10/,"2312"https://slate.com/human-interest/2020/10/,"2315"https://slate.com/human-interest/2020/10/,"2320"https://slate.com/human-interest/2020/10/,"2325"https://slate.com/human-interest/2020/10/,"2328"https://slate.com/human-interest/2020/10/,"2331"https://slate.com/human-interest/2020/10/,"2334"https://slate.com/human-interest/2020/10/,"2335"https://slate.com/human-interest/2020/10/,"2336"https://slate.com/human-interest/2020/10/,"2337"https://slate.com/human-interest/2020/10/,"2343"https://slate.com/human-interest/2020/10/,"2346"https://slate.com/human-interest/2020/10/,"2354"https://slate.com/human-interest/2020/10/,"2357"https://slate.com/human-interest/2020/10/,"2358"https://slate.com/human-interest/2020/10/,"2359"https://slate.com/human-interest/2020/10/,"2366"https://slate.com/human-interest/2020/10/,"2370"https://slate.com/human-interest/2020/10/,"2373"https://slate.com/human-interest/2020/10/,"2376"https://slate.com/human-interest/2020/10/,"2377"https://slate.com/human-interest/2020/10/,"2380"https://slate.com/human-interest/2020/10/,"2382"https://slate.com/human-interest/2020/10/,"2387"https://slate.com/human-interest/2020/10/,"2389"https://slate.com/human-interest/2020/10/,"2392"https://slate.com/human-interest/2020/10/,"2394"https://slate.com/human-interest/2020/10/,"2400"https://slate.com/human-interest/2020/10/,"2403"https://slate.com/human-interest/2020/10/,"2405"https://slate.com/human-interest/2020/10/,"2406"https://slate.com/human-interest/2020/10/,"2407"https://slate.com/human-interest/2020/10/,"2410"https://slate.com/human-interest/2020/10/,"2411"https://slate.com/human-interest/2020/10/,"2413"https://slate.com/human-interest/2020/10/,"2414"https://slate.com/human-interest/2020/10/,"2415"https://slate.com/human-interest/2020/10/,"2416"https://slate.com/human-interest/2020/10/,"2418"https://slate.com/human-interest/2020/10/,"2422"https://slate.com/human-interest/2020/10/,"2425"https://slate.com/human-interest/2020/10/,"2427"https://slate.com/human-interest/2020/10/,"2435"https://slate.com/human-interest/2020/10/,"2437"https://slate.com/human-interest/2020/10/,"2440"https://slate.com/human-interest/2020/10/,"2441"https://slate.com/human-interest/2020/10/,"2447"https://slate.com/human-interest/2020/10/,"2453"https://slate.com/human-interest/2020/10/,"2459"https://slate.com/human-interest/2020/10/,"2461"https://slate.com/human-interest/2020/10/,"2462"https://slate.com/human-interest/2020/10/,"2464"https://slate.com/human-interest/2020/10/,"2467"https://slate.com/human-interest/2020/10/,"2468"https://slate.com/human-interest/2020/10/,"2472"https://slate.com/human-interest/2020/10/,"2477"https://slate.com/human-interest/2020/10/,"2481"https://slate.com/human-interest/2020/10/,"2484"https://slate.com/human-interest/2020/10/,"2486"https://slate.com/human-interest/2020/10/,"2492"https://slate.com/human-interest/2020/10/,"2493"https://slate.com/human-interest/2020/10/,"2496"https://slate.com/human-interest/2020/10/,"2497"https://slate.com/human-interest/2020/10/,"2498"https://slate.com/human-interest/2020/10/,"2499"https://slate.com/human-interest/2020/10/,"2504"https://slate.com/human-interest/2020/10/,"2506"https://slate.com/human-interest/2020/10/,"2510"https://slate.com/human-interest/2020/10/,"2511"https://slate.com/human-interest/2020/10/,"2512"https://slate.com/human-interest/2020/10/,"2517"https://slate.com/human-interest/2020/10/,"2526"https://slate.com/human-interest/2020/10/,"2527"https://slate.com/human-interest/2020/10/,"2531"https://slate.com/human-interest/2020/10/,"2532"https://slate.com/human-interest/2020/10/,"2534"https://slate.com/human-interest/2020/10/,"2542"https://slate.com/human-interest/2020/10/,"2544"https://slate.com/human-interest/2020/10/,"2552"https://slate.com/human-interest/2020/10/,"2555"https://slate.com/human-interest/2020/10/,"2559"https://slate.com/human-interest/2020/10/,"2563"https://slate.com/human-interest/2020/10/,"2564"https://slate.com/human-interest/2020/10/,"2567"https://slate.com/human-interest/2020/10/,"2568"https://slate.com/human-interest/2020/10/,"2569"https://slate.com/human-interest/2020/10/,"2571"https://slate.com/human-interest/2020/10/,"2572"https://slate.com/human-interest/2020/10/,"2573"https://slate.com/human-interest/2020/10/,"2575"https://slate.com/human-interest/2020/10/,"2577"https://slate.com/human-interest/2020/10/,"2579"https://slate.com/human-interest/2020/10/,"2583"https://slate.com/human-interest/2020/10/,"2584"https://slate.com/human-interest/2020/10/,"2586"https://slate.com/human-interest/2020/10/,"2589"https://slate.com/human-interest/2020/10/,"2595"https://slate.com/human-interest/2020/10/,"2596"https://slate.com/human-interest/2020/10/,"2597"https://slate.com/human-interest/2020/10/,"2601"https://slate.com/human-interest/2020/10/,"2604"https://slate.com/human-interest/2020/10/,"2605"https://slate.com/human-interest/2020/10/,"2609"https://slate.com/human-interest/2020/10/,"2610"https://slate.com/human-interest/2020/10/,"2612"https://slate.com/human-interest/2020/10/,"2614"https://slate.com/human-interest/2020/10/,"2621"https://slate.com/human-interest/2020/10/,"2622"https://slate.com/human-interest/2020/10/,"2624"https://slate.com/human-interest/2020/10/,"2628"https://slate.com/human-interest/2020/10/,"2629"https://slate.com/human-interest/2020/10/,"2632"https://slate.com/human-interest/2020/10/,"2634"https://slate.com/human-interest/2020/10/,"2636"https://slate.com/human-interest/2020/10/,"2639"https://slate.com/human-interest/2020/10/,"2643"https://slate.com/human-interest/2020/10/,"2645"https://slate.com/human-interest/2020/10/,"2646"https://slate.com/human-interest/2020/10/,"2647"https://slate.com/human-interest/2020/10/,"2649"https://slate.com/human-interest/2020/10/,"2650"https://slate.com/human-interest/2020/10/,"2651"https://slate.com/human-interest/2020/10/,"2652"https://slate.com/human-interest/2020/10/,"2656"https://slate.com/human-interest/2020/10/,"2657"https://slate.com/human-interest/2020/10/,"2658"https://slate.com/human-interest/2020/10/,"2660"https://slate.com/human-interest/2020/10/,"2661"https://slate.com/human-interest/2020/10/,"2662"https://slate.com/human-interest/2020/10/,"2663"https://slate.com/human-interest/2020/10/,"2664"https://slate.com/human-interest/2020/10/,"2669"https://slate.com/human-interest/2020/10/,"2670"https://slate.com/human-interest/2020/10/,"2673"https://slate.com/human-interest/2020/10/,"2676"https://slate.com/human-interest/2020/10/,"2677"https://slate.com/human-interest/2020/10/,"2678"https://slate.com/human-interest/2020/10/,"2681"https://slate.com/human-interest/2020/10/,"2682"https://slate.com/human-interest/2020/10/,"2684"https://slate.com/human-interest/2020/10/,"2685"https://slate.com/human-interest/2020/10/,"2686"https://slate.com/human-interest/2020/10/,"2689"https://slate.com/human-interest/2020/10/,"2690"https://slate.com/human-interest/2020/10/,"2691"https://slate.com/human-interest/2020/10/,"2695"https://slate.com/human-interest/2020/10/,"2698"https://slate.com/human-interest/2020/10/,"2699"https://slate.com/human-interest/2020/10/,"2702"https://slate.com/human-interest/2020/10/,"2704"https://slate.com/human-interest/2020/10/,"2705"https://slate.com/human-interest/2020/10/,"2706"https://slate.com/human-interest/2020/10/,"2707"https://slate.com/human-interest/2020/10/,"2709"https://slate.com/human-interest/2020/10/,"2710"https://slate.com/human-interest/2020/10/,"2713"https://slate.com/human-interest/2020/10/,"2714"https://slate.com/human-interest/2020/10/,"2727"https://slate.com/human-interest/2020/10/,"2729"https://slate.com/human-interest/2020/10/,"2739"https://slate.com/human-interest/2020/10/,"2758"https://slate.com/human-interest/2020/10/,"2765"https://slate.com/human-interest/2020/10/,"2766"https://slate.com/human-interest/2020/10/,"2767"https://slate.com/human-interest/2020/10/,"2768"https://slate.com/human-interest/2020/10/,"2770"https://slate.com/human-interest/2020/10/,"2771"https://slate.com/human-interest/2020/10/,"2772"https://slate.com/human-interest/2020/10/,"2776"https://slate.com/human-interest/2020/10/,"2777"https://slate.com/human-interest/2020/10/,"2778"https://slate.com/human-interest/2020/10/,"2779"https://slate.com/human-interest/2020/10/,"2780"https://slate.com/human-interest/2020/10/,"2783"https://slate.com/human-interest/2020/10/,"2784"https://slate.com/human-interest/2020/10/,"2786"https://slate.com/human-interest/2020/10/,"2787"https://slate.com/human-interest/2020/10/,"2791"https://slate.com/human-interest/2020/10/,"2792"https://slate.com/human-interest/2020/10/,"2793"https://slate.com/human-interest/2020/10/,"2797"https://slate.com/human-interest/2020/10/,"2798"https://slate.com/human-interest/2020/10/,"2801"https://slate.com/human-interest/2020/10/,"2802"https://slate.com/human-interest/2020/10/,"2803"https://slate.com/human-interest/2020/10/,"2805"https://slate.com/human-interest/2020/10/,"2808"https://slate.com/human-interest/2020/10/,"2809"https://slate.com/human-interest/2020/10/,"2810"https://slate.com/human-interest/2020/10/,"2811"https://slate.com/human-interest/2020/10/,"2812"https://slate.com/human-interest/2020/10/,"2813"https://slate.com/human-interest/2020/10/,"2814"https://slate.com/human-interest/2020/10/,"2817"https://slate.com/human-interest/2020/10/,"2818"https://slate.com/human-interest/2020/10/,"2824"https://slate.com/human-interest/2020/10/,"2826"https://slate.com/human-interest/2020/10/,"2827"https://slate.com/human-interest/2020/10/,"2829"https://slate.com/human-interest/2020/10/,"2830"https://slate.com/human-interest/2020/10/,"2831"https://slate.com/human-interest/2020/10/,"2832"https://slate.com/human-interest/2020/10/,"2834"https://slate.com/human-interest/2020/10/,"2836"https://slate.com/human-interest/2020/10/,"2838"https://slate.com/human-interest/2020/10/,"2840"https://slate.com/human-interest/2020/10/,"2842"https://slate.com/human-interest/2020/10/,"2843"https://slate.com/human-interest/2020/10/,"2844"https://slate.com/human-interest/2020/10/,"2850"https://slate.com/human-interest/2020/10/,"2851"https://slate.com/human-interest/2020/10/,"2852"https://slate.com/human-interest/2020/10/,"2854"https://slate.com/human-interest/2020/10/,"2858"https://slate.com/human-interest/2020/10/,"2860"https://slate.com/human-interest/2020/10/,"2862"https://slate.com/human-interest/2020/10/,"2864"https://slate.com/human-interest/2020/10/,"2865"https://slate.com/human-interest/2020/10/,"2866"https://slate.com/human-interest/2020/10/,"2867"https://slate.com/human-interest/2020/10/,"2868"https://slate.com/human-interest/2020/10/,"2869"https://slate.com/human-interest/2020/10/,"2871"] , n = { code: i, gvlid: 165, aliases: ["spotx"], supportedMediaTypes: [c.d], isBidRequestValid: function isBidRequestValid(e) , buildRequests: function buildRequests(e, h) { var y = h.refererInfo.referer, b = !!y.match(/^https:/); return e.map(function (e) { var t = I.getBidIdParameter("channel_id", e.params), r = null, a = I.deepAccess(e, "mediaTypes.video.playerSize"), d = a[0][0], i = a[0][1], n = b || (I.getBidIdParameter("secure", e.params) ? 1 : 0), o = sdk_name: "Prebid 1+", versionOrtb: "2.3" ; if ("" != I.getBidIdParameter("hide_skin", e.params) && (o.hide_skin = +!!I.getBidIdParameter("hide_skin", e.params)), "" != I.getBidIdParameter("ad_volume", e.params) && (o.ad_volume = I.getBidIdParameter("ad_volume", e.params)), "" != I.getBidIdParameter("ad_unit", e.params) && (o.ad_unit = I.getBidIdParameter("ad_unit", e.params)), "" != I.getBidIdParameter("outstream_options", e.params) && (o.outstream_options = I.getBidIdParameter("outstream_options", e.params)), "" != I.getBidIdParameter("outstream_function", e.params) && (o.outstream_function = I.getBidIdParameter("outstream_function", e.params)), "" != I.getBidIdParameter("custom", e.params) && (o.custom = I.getBidIdParameter("custom", e.params)), "" != I.getBidIdParameter("pre_market_bids", e.params) && I.isArray(I.getBidIdParameter("pre_market_bids", e.params))) { var s = I.getBidIdParameter("pre_market_bids", e.params); for (var p in (o.pre_market_bids = [], s)) var m = s[p], u = ""; m.vast_url ? u = '‘ + m.vast_url + “” : m.vast_string && (u = m.vast_string), o.pre_market_bids.push(
id: m.deal_id,
seatbid: [
bid: [
impid: Date.now(),
dealid: m.deal_id,
price: m.price,
adm: u
cur: m.currency,
event_log: []



var c = I.getBidIdParameter(“mimes”, e.params) || [“application/javascript”https://slate.com/human-interest/2020/10/,”video/mp4″https://slate.com/human-interest/2020/10/,”video/webm”],
g =
id: e.bidId,
secure: n,
w: d,
h: i,
ext: o,
mimes: c

“” != I.getBidIdParameter(“price_floor”, e.params) && (g.bidfloor = I.getBidIdParameter(“price_floor”, e.params)), “” != I.getBidIdParameter(“start_delay”, e.params) && (g.video.startdelay = 0 + Boolean(I.getBidIdParameter(“start_delay”, e.params))), “” != I.getBidIdParameter(“min_duration”, e.params) && (g.video.minduration = I.getBidIdParameter(“min_duration”, e.params)), “” != I.getBidIdParameter(“max_duration”, e.params) && (g.video.maxduration = I.getBidIdParameter(“max_duration”, e.params)), “” != I.getBidIdParameter(“placement_type”, e.params) && (g.video.ext.placement = I.getBidIdParameter(“placement_type”, e.params)), “” != I.getBidIdParameter(“position”, e.params) && (g.video.ext.pos = I.getBidIdParameter(“position”, e.params)), e.crumbs && e.crumbs.pubcid && (r = e.crumbs.pubcid);

var _ = navigator.language ? “language” : “userLanguage”,
l =
h: screen.height,
w: screen.width,
dnt: I.getDNT() ? 1 : 0,
language: navigator[_].split(“-“)[0],
make: navigator.vendor ? navigator.vendor : “”,
ua: navigator.userAgent
v =
id: t,
imp: g,
id: “”,
page: y,
content: “content”
device: l,
wrap_response: 1


I.getBidIdParameter(“number_of_ads”, e.params) && (v.ext.number_of_ads = I.getBidIdParameter(“number_of_ads”, e.params));
var f = ;
return 1 == I.getBidIdParameter(“spotx_all_google_consent”, e.params) && (f.consented_providers_settings = P), h && h.gdprConsent && (f.consent = h.gdprConsent.consentString, void 0 !== h.gdprConsent.gdprApplies && I.deepSetValue(v, “regs.ext.gdpr”, h.gdprConsent.gdprApplies ? 1 : 0)), h && h.uspConsent && I.deepSetValue(v, “regs.ext.us_privacy”, h.uspConsent), e && e.userId && e.userId.id5id && (f.eids = f.eids || [], f.eids.push(
source: “id5-sync.com”,
uids: [
id: e.userId.id5id
)), r && (f.fpc = r), e && e.schain && (v.source =
schain: e.schain

), e && e.userId && e.userId.tdid && (f.eids = f.eids || [], f.eids.push(
source: “adserver.org”,
uids: [
id: e.userId.tdid,
rtiPartner: “TDID”

)), I.isEmpty(f) || (v.user =
ext: f
method: “POST”,
url: “https://search.spotxchange.com/openrtb/2.3/dados/” + t,
data: v,
bidRequest: h
interpretResponse: function interpretResponse(e, s) {
var p = [],
m = e.body;
return m && I.isArray(m.seatbid) && I._each(m.seatbid, function (e) {
I._each(e.bid, function (t) {
var e = ;

for (var r in s.bidRequest.bids)
t.impid == s.bidRequest.bids[r].bidId && (e = s.bidRequest.bids[r]);

I._each(e.params.pre_market_bids, function (e)
e.deal_id == t.id && (t.price = e.price, m.cur = e.currency);

var a =
requestId: e.bidId,
currency: m.cur ;
a.meta = a.meta || , t && t.adomain && 0 < t.adomain.length && (a.meta.advertiserDomains = t.adomain); var d = I.deepAccess(e, "mediaTypes.video.context"), i = I.deepAccess(e, "params.ad_unit"); if ("outstream" == d || "outstream" == i) var n = I.deepAccess(e, "mediaTypes.video.playerSize"), o = u.a.install( id: 0, url: "//", config: adText: "SpotX Outstream Video Ad via Prebid.js", player_width: n[0][0], player_height: n[0][1], content_page_url: I.deepAccess(s, "data.site.page"), ad_mute: +!!I.deepAccess(e, "params.ad_mute"), hide_skin: +!!I.deepAccess(e, "params.hide_skin"), outstream_options: I.deepAccess(e, "params.outstream_options"), outstream_function: I.deepAccess(e, "params.outstream_function") ); try o.setRender(g), o.setEventHandlers( impression: function impression() return I.logMessage("SpotX outstream video impression event"); , loaded: function loaded() return I.logMessage("SpotX outstream video loaded event"); , ended: function ended() I.logMessage("SpotX outstream renderer video event"); ); catch (e) I.logWarn("Prebid Error calling setRender or setEve,tHandlers on renderer", e); a.renderer = o; p.push(a); }); }), p; } }; function g(e) var t = function (e) var t = I.getBidIdParameter("slot", e.renderer.config.outstream_options); I.logMessage("[SPOTX][renderer] Handle SpotX outstream renderer"); var r = window.document.createElement("script"); r.type = "text/javascript", r.src = "https://js.spotx.tv/easi/v1/" + e.channel_id + ".js"; var a = ; a["data-spotx_channel_id"] = "" + e.channel_id, a["data-spotx_vast_url"] = "" + e.vastUrl, a["data-spotx_content_page_url"] = e.renderer.config.content_page_url, a["data-spotx_ad_unit"] = "incontent", I.logMessage("[SPOTX][renderer] Default beahavior"), I.getBidIdParameter("ad_mute", e.renderer.config.outstream_options) && (a["data-spotx_ad_mute"] = "1"), a["data-spotx_collapse"] = "0", a["data-spotx_autoplay"] = "1", a["data-spotx_blocked_autoplay_override_mode"] = "1", a["data-spotx_video_slot_can_autoplay"] = "1"; var d, i, n, o, s, p, m = I.getBidIdParameter("playersize_auto_adapt", e.renderer.config.outstream_options); m && I.isBoolean(m) && !0 === m && (e.width && I.isNumber(e.width) && e.height && I.isNumber(e.height) ? (d = e.width / e.height, i = window.document.getElementById(t).clientWidth, n = e.renderer.config.player_width, o = e.renderer.config.player_height, p = s = 0, i < n && (o = (n = i) / d), p = d <= 1 ? (s = Math.round(o * d), o) : (s = n, Math.round(n / d)), a["data-spotx_content_width"] = "" + s, a["data-spotx_content_height"] = "" + p) : I.logWarn("[SPOTX][renderer] PlayerSize auto adapt: bid.width and bid.height are incorrect")); var u = I.getBidIdParameter("custom_override", e.renderer.config.outstream_options); if (u && I.isPlainObject(u)) for (var c in (I.logMessage("[SPOTX][renderer] Custom beahavior."), u)) u.hasOwnProperty(c) && ("channel_id" === c for (var g in a) a.hasOwnProperty(g) && r.setAttribute(g, a[g]); return r; (e); if (null != e.renderer.config.outstream_function && "function" == typeof e.renderer.config.outstream_function) e.renderer.config.outstream_function(e, t);else try var r, a, d, i = I.getBidIdParameter("in_iframe", e.renderer.config.outstream_options); i && "IFRAME" == window.document.getElementById(i).nodeName ? (!(a = (r = window.document.getElementById(i)).contentDocument) && r.contentWindow && (a = r.contentWindow.document), a.body.appendChild(t)) : (d = I.getBidIdParameter("slot", e.renderer.config.outstream_options)) && window.document.getElementById(d) ? window.document.getElementById(d).appendChild(t) : window.document.getElementsByTagName("head")[0].appendChild(t); catch (e) I.logError("[SPOTX][renderer] Error:" + e.message); Object(a.registerBidder)(n); } }, [744]); pbjsChunk([91], { 758: function _(e, t, r) e.exports = r(759); , 759: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", value: !0 ), r.d(t, "spec", function () return i; ); var n = r(1), a = r(0), p = 12, c = 11, u = 0, g = 22, i = code: "teads", supportedMediaTypes: ["video"https://slate.com/human-interest/2020/10/,"banner"], isBidRequestValid: function isBidRequestValid(e) var t, r, n = !1; return void 0 !== e.params && (t = s(a.getValue(e.params, "placementId")), r = s(a.getValue(e.params, "pageId")), n = t && r), n , buildRequests: function buildRequests(e, t) var r, n = e.map(f), i = referrer: function (e) var t = ""; e && e.refererInfo && e.refererInfo.referer && (t = e.refererInfo.referer); return t; (t), pageReferrer: document.referrer, networkBandwidth: (r = window.navigator) && r.connection && 0 <= r.connection.downlink ? r.connection.downlink.toString() : "", timeToFirstByte: function (e) (window), data: n, deviceWidth: screen.width, hb_version: "4.7.0" ; e[0].schain && (i.schain = e[0].schain); var a, s, o, d = t.gdprConsent; return t && d && (a = "boolean" == typeof d.gdprApplies, s = "string" == typeof d.consentString, o = a ? function (e, t, r) var n = p; e ? function (e, t) return e && 1 === t ? e.hasGlobalScope (t, r) && (n = c) : n = u; return n; (d.gdprApplies, d.vendorData, d.apiVersion) : g, i.gdpr_iab = consent: s ? d.consentString : "", status: o, apiVersion: d.apiVersion ), t && t.uspConsent && (i.us_privacy = t.uspConsent), method: "POST", url: "https://a.teads.tv/hb/bid-request", data: JSON.stringify(i) ; , interpretResponse: function interpretResponse(e) var r = []; return (e = e.body).responses && e.responses.forEach(function (e) var t = cpm: e.cpm, width: e.width, height: e.height, currency: e.currency, netRevenue: !0, ttl: e.ttl, ad: e.ad, requestId: e.bidId, creativeId: e.creativeId, placementId: e.placementId ; e.dealId && (t.dealId = e.dealId), r.push(t); ), r; ; function f(e) var t, r = , n = a.getValue(e.params, "placementId"), i = a.getValue(e.params, "pageId"); return r.sizes = (t = e, a.parseSizesInput(function (e) a.isArray(t) (t))), r.bidId = a.getBidIdParameter("bidId", e), r.bidderRequestId = a.getBidIdParameter("bidderRequestId", e), r.placementId = parseInt(n, 10), r.pageId = parseInt(i, 10), r.adUnitCode = a.getBidIdParameter("adUnitCode", e), r.auctionId = a.getBidIdParameter("auctionId", e), r.transactionId = a.getBidIdParameter("transactionId", e), r; function s(e) return 0 < parseInt(e); Object(n.registerBidder)(i); } }, [758]); pbjsChunk([82], { 778: function _(e, r, t) e.exports = t(779); , 779: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", value: !0 ), t.d(r, "tripleliftAdapterSpec", function () return y; ); var n = t(2), i = t(1), u = t(0), o = t(3); function p(e) return (p = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) return _typeof(e); : function (e) return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); )(e); function a(r, e) var t, n = Object.keys(r); return Object.getOwnPropertySymbols && (t = Object.getOwnPropertySymbols(r), e && (t = t.filter(function (e) return Object.getOwnPropertyDescriptor(r, e).enumerable; )), n.push.apply(n, t)), n; function c(i) for (var e = 1; e < arguments.length; e++) var o = null != arguments[e] ? arguments[e] : ; e {462f6552b0f4ea65b6298fc393df649b8e85fbb197b4c3174346026351fdf694} 2 ? a(Object(o), !0).forEach(function (e) var r, t, n; r = i, n = o[t = e], t in r ? Object.defineProperty(r, t, value: n, enumerable: !0, configurable: !0, writable: !0 ) : r[t] = n; ) : Object.getOwnPropertyDescriptors ? Object.defineProperties(i, Object.getOwnPropertyDescriptors(o)) : a(Object(o)).forEach(function (e) Object.defineProperty(i, e, Object.getOwnPropertyDescriptor(o, e)); ); return i; function d(e) function s(e, r) r > e.length) && (r = e.length);

for (var t = 0, n = new Array(r); t < r; t++) n[t] = e[t]; return n; var f = !0, l = null, y = { code: "triplelift", supportedMediaTypes: [n.b, n.d], isBidRequestValid: function isBidRequestValid(e) if (e.mediaTypes.video) return void 0 !== e.params.inventoryCode; , buildRequests: function buildRequests(e, r) { var t, n = "https://tlx.3lift.com/header/auction?", i = function (e) { var r = , t = e[0].schain; r.imp = e.map(function (e, r) { var t = id: r, tagid: e.params.inventoryCode, floor: function (e) var r = null; return null !== r ? r : e.params.floor; (e) ; return e.mediaTypes.video ? t.video = m(e) : e.mediaTypes.banner && (t.banner = format: g(e.sizes) ), t; }); var n = [].concat(d(function (e) return b(e, "tdid"https://slate.com/human-interest/2020/10/,"adserver.org"https://slate.com/human-interest/2020/10/,"TDID"); (e)), d(function (e) return b(e, "idl_env"https://slate.com/human-interest/2020/10/,"liveramp.com"https://slate.com/human-interest/2020/10/,"idl"); (e)), d(function (e) return b(e, "criteoId"https://slate.com/human-interest/2020/10/,"criteo.com"https://slate.com/human-interest/2020/10/,"criteoId"); (e))); 0 < n.length && (r.user = ext: eids: n ); t && (r.ext = schain: t ); return r; }(e); return n = u.tryAppendQueryString(n, "lib"https://slate.com/human-interest/2020/10/,"prebid"), n = u.tryAppendQueryString(n, "v"https://slate.com/human-interest/2020/10/,"4.7.0"), r && r.refererInfo && (t = r.refererInfo.referer, n = u.tryAppendQueryString(n, "referrer", t)), r && r.timeout && (n = u.tryAppendQueryString(n, "tmax", r.timeout)), r && r.gdprConsent && (void 0 !== r.gdprConsent.gdprApplies && (f = r.gdprConsent.gdprApplies, n = u.tryAppendQueryString(n, "gdpr", f.toString())), void 0 !== r.gdprConsent.consentString && (l = r.gdprConsent.consentString, n = u.tryAppendQueryString(n, "cmp_cs", l))), r && r.uspConsent && (n = u.tryAppendQueryString(n, "us_privacy", r.uspConsent)), !0 === o.b.getConfig("coppa") && (n = u.tryAppendQueryString(n, "coppa", !0)), n.lastIndexOf("&") === n.length - 1 && (n = n.substring(0, n.length - 1)), u.logMessage("tlCall request built: " + n), method: "POST", url: n, data: i, bidderRequest: r ; }, interpretResponse: function interpretResponse(e, r) []).map(function (e) return function (e, r) (t, e); ); , getUserSyncs: function getUserSyncs(e, r, t, n) var i = function (e) if (!e) return; if (e.iframeEnabled) return "iframe"; if (e.pixelEnabled) return "image"; (e); if (i) var o = "https://eb2.3lift.com/sync?"; return "image" === i && (o = u.tryAppendQueryString(o, "px", 1), o = u.tryAppendQueryString(o, "src"https://slate.com/human-interest/2020/10/,"prebid")), null !== l && (o = u.tryAppendQueryString(o, "gdpr", f), o = u.tryAppendQueryString(o, "cmp_cs", l)), n && (o = u.tryAppendQueryString(o, "us_privacy", n)), [ type: i, url: o ]; }; function m(e) function b(e, r, t, n) { return e.map((u = r, function (e) return e && e.userId && e.userId[u]; )).filter(function (e) return !!e; ).map((i = t, o = n, function (e) return source: i, uids: [ id: e, ext: rtiPartner: o ] ; )); var i, o, u; } function g(e) return e.filter(v).map(function (e) return w: e[0], h: e[1] ; ); function v(e) return 2 === e.length && "number" == typeof e[0] && "number" == typeof e[1]; Object(i.registerBidder)(y); } }, [778]); pbjsChunk([80], { 782: function _(e, r, t) e.exports = t(783); , 783: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", value: !0 ), t.d(r, "spec", function () return v; ); var m = t(0), s = t(1), o = t(11), c = t(2), f = "Bid from response has no auid parameter - ", l = "Bid from response has no adm parameter - ", p = "Array of bid objects is empty", g = "Can't find in requested bids the bid with auid - ", u = "Seatbid array from response has empty item", y = "Response is empty", b = "Response has empty seatbid array", h = "Seatbid from response has no array of bid objects - ", v = { code: "trustx", supportedMediaTypes: [c.b, c.d], isBidRequestValid: function isBidRequestValid(e) return !!e.params.uid; , buildRequests: function buildRequests(e, r) var a, o, p = [], u = , c = , f = , l = "net"; (e , interpretResponse: function interpretResponse(e, r, t) { var s = 2 < arguments.length && void 0 !== t ? t : o.a; e = e && e.body; var n, d = [], i = r.bidsMap, a = r.data.pt; return e ? e.seatbid && !e.seatbid.length && (n = b) : n = y, !n && e.seatbid && e.seatbid.forEach(function (e) { !function (e, d, r, t, s) (n = f + JSON.stringify(e)); n && m.logError(n); (function (e) m.logError(p) : m.logError(h + JSON.stringify(e)) : m.logError(u); return e && e.bid && e.bid[0]; (e), i, a, d, s); }), n && m.logError(n), d; }, getUserSyncs: function getUserSyncs(e) if (e.pixelEnabled) return [ type: "image", url: "https://sofia.trustx.org/push_sync" ]; }; function E(e) var r; r = e.value, m.isArray(r) && 0 < r.length && "" === e.value[0] && delete e.value; function w(e) e.renderer.push(function () window.ANOutstreamVideo.renderAd( targetId: e.adUnitCode, adResponse: e.adResponse ); ); Object(s.registerBidder)(v); } }, [782]); pbjs.processQueue(); }, ]; window.modules["via.legacy"] = [function(require,module,exports){"use strict"; DS.service("via", function () { "use strict"; // remove `via` from url, to be used after amplitude logs it to prevent users from sharing such urls function removeFromLocation() var url = new URL(location.href); url.searchParams.delete("via"); history.replaceState(null, "", url.toString()); // and add `via` param to any outbound links function addViaToUrl(href, via) // keys correspond to "page_types" in editable_components.yml var PREFIXES = article: "article", homepage: "homepage", "vertical front": "section", "rubric front": "rubric" ; var pageType; function setPageType(amplitudePageType) pageType = PREFIXES[amplitudePageType]; var DELIMITER = "_"; function concatVia(node, via) var tag = node.dataset && node.dataset.via; if (tag) via = (via.length ? tag + DELIMITER : tag) + via; return via; function addToClickedLinks() document.documentElement.addEventListener("click", function (e) var a; var via = ""; // detect link nodes and collect via directives to append to the href var node = e.target; // the element where this event originated may have been removed from the dom, e.g. in the case of the OIL CMP which disappears after you interact with it while (node && node !== e.currentTarget) if (node.tagName === "A") a = node; via = concatVia(node, via); node = node.parentNode; if (a && via) if (pageType) via = pageType + DELIMITER + via; a.href = addViaToUrl(a.href, via); ); function addToSubmittedForms() document.documentElement.addEventListener("submit", function (e) var form = e.target; // collect via directives var via = ""; var node = e.target; while (node !== e.currentTarget) via = concatVia(node, via); node = node.parentNode; if (via) if (pageType) via = pageType + DELIMITER + via; // dynamically create a hidden input for the form url var input = document.createElement("input"); input.type = "hidden"; input.name = "via"; input.value = via; form.appendChild(input); ); // start listening only once, when first injected addToClickedLinks(); addToSubmittedForms(); return setPageType: setPageType, removeFromLocation: removeFromLocation ; }); }, ]; window.modules["visibility.legacy"] = [function(require,module,exports){"use strict"; DS.service("$visibility", ["$document"https://slate.com/human-interest/2020/10/,"$window"https://slate.com/human-interest/2020/10/,"_throttle"https://slate.com/human-interest/2020/10/,"Eventify", function ($document, $window, _throttle, Eventify) var list = [], Visible, VisibleEvent; /** * @param number a * @param number b * @returns * * @see http://jsperf.com/math-min-vs-if-condition-vs/8 */ function min(a, b) return a < b ? a : b; /** * @param number a * @param number b * @returns * * @see http://jsperf.com/math-min-vs-if-condition-vs/8 */ function max(a, b) return a > b ? a : b;

* Fast loop through watched elements

function onScroll()

* updates seen property
* @param Visble item
* @param evt
* @fires Visible#shown
* @fires Visible#hidden

function updateSeen(item, evt)
var px = evt.visiblePx,
percent = evt.visiblePercent; // if some pixels are visible and we’re greater/equal to threshold

if (px && percent >= item.shownThreshold && !item.seen)
item.seen = true;
setTimeout(function ()
item.trigger(“shown”, new VisibleEvent(“shown”, evt));
, 15); // if no pixels or percent is less than threshold
else if ((!px
* sets preload property
* @param Visible item
* @param evt
* @param Number innerHeight
* @fires Visible#preload

function updatePreload(item, evt, innerHeight)
if (!item.preload && item.preloadThreshhold && shouldBePreloaded(evt.target, evt.rect, item.preloadThreshhold, innerHeight))
item.preload = true;
setTimeout(function ()
item.trigger(“preload”, new VisibleEvent(“preload”, evt));
, 15);

* Trigger events
* @param Visible item

function updateVisibility(item)
var rect = item.el.getBoundingClientRect(),
innerHeight = $window.innerHeight
* Return normalized viewport height
* @return number

function getViewportHeight()
* Return normalized viewport width
* @return number

function getViewportWidth()
* make sure an element isn’t hidden by styles or etc
* @param Element el
* @return Boolean

function isElementNotHidden(el)
return el && el.offsetParent !== null && !el.getAttribute(“hidden”) && getComputedStyle(el).display !== “none” && getComputedStyle(el).visibility !== “hidden”;

* Apparently the fastest way…
* @param Element el
* @returns boolean
* @example if (!$visibility.isElementInViewport(el)) …

function isElementInViewport(el)
var rect = el.getBoundingClientRect();
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= ($window.innerHeight /** * @param Element el * @param ClientRect rect * @param Number preloadThreshhold * @param Number innerHeight * @return Boolean */ function shouldBePreloaded(el, rect, preloadThreshhold, innerHeight) return rect.top <= innerHeight + preloadThreshhold && isElementNotHidden(el); /** * Create a one-dimensional spacial hash of x * @param number x * @param number stepSize * @param number optimalK * @param number base * @return number */ function getLinearSpacialHash(x, stepSize, optimalK, base) 1)), remainder = x {462f6552b0f4ea65b6298fc393df649b8e85fbb197b4c3174346026351fdf694} stepSize, result = index.toString(base); if (optimalK > 1)
result += getLinearSpacialHash(remainder, Math.floor(stepSize / base), optimalK – 1, base);

return result;

* @param ClientRect rect
* @param number innerHeight
* @returns number

function getVerticallyVisiblePixels(rect, innerHeight)
return min(innerHeight, max(rect.bottom, 0)) – min(max(rect.top, 0), innerHeight);

* Get offset of element relative to entire page
* @param Element el
* @returns left: number, top: number
* @see http://jsperf.com/offset-vs-getboundingclientrect/7

function getPageOffset(el)
var offsetLeft = el.offsetLeft,
offsetTop = el.offsetTop;

while (el = el.offsetParent)
offsetLeft += el.offsetLeft;
offsetTop += el.offsetTop;

left: offsetLeft,
top: offsetTop

* Create a new Visible class to observe when elements enter and leave the viewport
* Call destroy function to stop listening (this is until we have better support for watching for Node Removal)
* @param Element el
* @param shownThreshold: number, hiddenThreshold: number [options]
* @class
* @example this.visible = new $visibility.Visible(el);

Visible = function Visible(el, options)
options = options ;

Visible.prototype =
* Stop triggering.
destroy: function destroy()
// remove from list
list.splice(list.indexOf(this), 1);

* @name Visible#on
* @function
* @param ‘hidden’ e EventName
* @param function cb Callback

* @name Visible#trigger
* @function
* @param ‘hidden’ e
* @param


VisibleEvent = function VisibleEvent(type, options)
var _this = this;

this.type = type;
Object.keys(options).forEach(function (key)
_this[key] = options[key];
; // listen for scroll events (throttled)

$document.addEventListener(“scroll”, _throttle(onScroll, 200)); // public

this.getPageOffset = getPageOffset;
this.getLinearSpacialHash = getLinearSpacialHash;
this.getVerticallyVisiblePixels = getVerticallyVisiblePixels;
this.getViewportHeight = getViewportHeight;
this.getViewportWidth = getViewportWidth;
this.isElementNotHidden = isElementNotHidden;
this.isElementInViewport = isElementInViewport;
this.Visible = Visible;
}, ];
require=(function e(t,n,r){function s(o,u){if(!n[o])if(!t[o])var a=typeof require==”function”&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(“Cannot find module ‘”+o+”‘”);throw f.code=”MODULE_NOT_FOUND”,fvar l=n[o]=exports:;t[o][0].call(l.exports,function(e)var n=t[o][1][e];return s(n?n:e),l,l.exports,e,t,n,r)return n[o].exports}var i=typeof require==”function”&&require;for(var o=0;o