You are here

News Feeds

Supreme Court to open term with Colorado climate lawsuit

Western Priorities - Mon, 10/05/2026 - 06:50

On Monday, the U.S. Supreme Court will open its new term with a major climate lawsuit brought by Boulder, Colorado as its first case. In 2018, the city and county of Boulder sued ExxonMobil and Suncor, alleging that the companies misled the public about their climate impacts, in violation of Colorado state law. The Supreme Court will hear a request from ExxonMobil and Suncor to block the case from being heard in Colorado district court; a ruling on jurisdiction over these types of cases would have implications for several other pending cases across the country.

“These big oil companies are really desperate to escape trial in these cases so they’re asking the Supreme Court to step in and save them from trial,” Corey Riday-White, legal director for The Center for Climate Integrity, told the Denver Post. “It’s clear the fossil fuel industry doesn’t want the damning evidence of their climate lies to be presented at trial.”

Lawmakers introduce bill to prevent future orphaned wells

On Friday, several Western members of Congress introduced the Stop Orphaned Wells Act, which seeks to prevent oil and gas companies from leaving behind orphaned wells on national public lands. In 2024 the Bureau of Land Management updated bonding requirements to better ensure that oil and gas companies can pay to clean up their own wells, but the Trump administration’s recent proposed Oil and Gas Rule would roll back these updated requirements. The Stop Orphaned Wells Act would codify and strengthen bonding requirements and other accountability measures.

Quick hits Judge blocks border wall construction in Big Bend in Texas

New York Times

Long-awaited Senate deal to speed permitting faces familiar hurdles

Inside Climate News

Massive nuclear plant/waste dump/data center complex planned for BLM land in Utah

The Land Desk

Nevada backcountry vulnerable to more off-roading, logging under federal rule changes

Nevada Independent

Effort to save California’s iconic Joshua trees scrapped after Trump administration blocks funding

Los Angeles Times

Tweak to Endangered Species Act could allow widespread development

Mountain Journal

Opinion: If Doug Burgum got a performance review

RE:PUBLIC

Baseball in a national park? We found 7 ball fields at Grand Teton and Yellowstone

WyoFile

Quote of the day

They said that the [baseball] field was a good place for employees to get outside and recreate. Cory and I both turned and gestured towards the Tetons at the same time and said something like ‘they have this right here.’ I think at that moment they understood that their proposal wouldn’t fly.”

—Brad Boner, Wyoming photographer, WyoFile

Picture This @usinterior

Fall has entered the chat.

Quaking aspens turn brilliant shades of yellow each fall, but what you see above ground is only part of the story.

An entire stand of aspens can be connected underground by a single root system, meaning what looks like hundreds of individual trees may actually be one genetically identical organism. The trunks can live for a century, while the roots beneath them can survive for thousands of years.

Photos by Jim Grindley | @chileno_hikertron and NPS

 

Featured image: Smoke from the Marshall Fire over Superior, Colorado; the destructive impacts of this fire are widely attributed to climate change driven by oil and gas production. Tristantech via Wikimedia Commons/CC BY-SA 4.0

The post Supreme Court to open term with Colorado climate lawsuit appeared first on Center for Western Priorities.

Categories: G2. Local Greens

The Vegan Poultry Farmer: Rethinking Animal Agriculture

Food Tank - Mon, 10/05/2026 - 06:41

In a new documentary, The Vegan Poultry Farmer, filmmaker Kadir van Lohuizen follows Ruud Zanders as he grapples with a moral dilemma: raising animals for food while following a vegan diet. Zanders travels the globe, meeting with food systems experts, to determine if an animal-free food system is possible.

“Personally, I would say: stop exploiting farm animals,” Zanders says in the documentary.

Zanders opened the first Kipster farm in the Netherlands in 2017 after his large-scale poultry operation went bankrupt. He realized that large-scale farms are efficient and produce cheap eggs, but “something else is paying the price… biodiversity, the climate, the animal itself,” he tells Food Tank.

His farming model, he says, is based on sustainability, animal welfare, and transparency. Zanders ultimately envisions an animal-free food system, but until that becomes a reality, he aims to provide the highest-welfare eggs possible. “It’s very complicated to produce eggs or other animal-based products in a really animal-friendly way,” Zanders says.

His farms house 24,000 chickens per barn, compared to industrial operations which can hold up to 350,000 per barn, according to the Animal and Plant Health Inspection Service (APHIS). The chickens receive indoor and outdoor space, fresh air and sunlight, and an enrichment playground to exercise their natural instincts.

Kipster is working to produce carbon neutral eggs by giving their chickens feed made from waste streams, including stale pastries or other food no longer fit for human consumption. This feed model eliminates competition for food (corn, grains, soy) between people and farm animals. Zanders bases this model on the idea that growing crops directly for human consumption can decrease agricultural land usage and allow for more land to be restored to natural ecosystems.

He was inspired to do this by Imke de Boer, a Wageningen University professor of livestock and sustainable food systems, as well as environmental activist and writer George Monbiot, who Zanders visits in the film. Monbiot tells him that livestock farming is the single most destructive human activity to the environment.

The farm also uses solar panels and transforms chicken litter into fertilizer. They report that a Kipster egg’s carbon footprint is about 23 percent lower than that of a conventional egg.

The documentary examines behind the scenes of Kipster farms and other operations to reveal the industry’s reality. It shows chickens being shoved into crates to be transported to slaughter, limp carcasses dangling on a conveyor belt, and workers wearing blood-spattered aprons. Even under Kipster’s higher-welfare standards, the end result is still the same.

Zanders meets with various stakeholders to help him answer the film’s driving question: Is an animal-free food system possible?

Melanie Jaecques, co-owner of a farm animal sanctuary in Belgium, saves chickens predominantly from the egg industry. She talks to Zanders about the complexity of chickens’ behavior and personalities, and that even on his higher-welfare farm, they are not given the proper environment to thrive. To her, housing 24,000 chickens in one barn is “terribly wrong,” and that Kipster is “not a good system, but the least bad.”

To answer his logistical questions about fertilizing crops without animal manure and whether people can maintain proper health on a vegan diet, he visits a human waste fertilizer producer in Ghana and a plant-based hematologist, respectively. Together, these experts affirm his belief in an animal-free agriculture system—which only intensifies his internal struggle as a poultry farmer.

Although Zanders concludes that it is possible to have an animal-free food system, he knows that his vision is not shared by all. As long as there is a demand for animal products, Zanders hopes that Kipster can help bridge the gap between his ideal vision and the current industrial system. That’s why he believes that he can positively impact farm animals as a poultry farmer. “We have to do our utmost best to give them a life worth living.”

Articles like the one you just read are made possible through the generosity of Food Tank members. Can we please count on you to be part of our growing movement? Become a member today by clicking here.

The post The Vegan Poultry Farmer: Rethinking Animal Agriculture appeared first on Food Tank.

Categories: A3. Agroecology

Caribbean Nations Have Installed Twice as Much Solar as Official Figures Suggest

Yale Environment 360 - Mon, 10/05/2026 - 05:55

Across the Caribbean, people have installed roughly twice as many solar panels as official statistics would suggest. That is the finding of a new report, which calls on countries to make it easier for new solar installations to connect to the grid.

Read more on E360 →

Categories: H. Green News

At pre-COP, UN climate chief warns of heat threat to mothers and babies

Climate Change News - Mon, 10/05/2026 - 05:43

Extreme heat poses a growing threat to pregnant women and their babies, both before and after birth, the UN climate chief said on Monday, calling it “a new faultline in the global climate crisis, and one which is potentially fatal”.

Speaking on the first day of the pre-COP31 meeting in Fiji, where new research was launched on the issue, Simon Stiell warned: “This faultline must not become another deep chasm of climate-driven suffering, inequality and injustice.”

Rather than being a time of hope, he added, pregnancy is becoming “a time of anxiety, as climate impacts fill everyday life with risk”, straining health systems and threatening essentials like food, water and power – especially in poorer countries where many women work outdoors and live in informal housing far from under-equipped clinics.

    In a new international survey of 1,000 maternal healthcare professionals in Australia, Brazil, India, the UK and Zimbabwe, around three-quarters reported an increase in heat-related cases or complications affecting pregnant women, as well as foetal and newborn health, over the past five years.

    Nearly all respondents in the survey commissioned by Wellcome, a global charitable foundation, said they had cared for a pregnant woman or baby whose health they believed had been affected by extreme temperatures.

    Researchers have linked heat exposure with preterm birth, low birth weight, stillbirth and maternal complications. For every 1 degree Celsius rise in heat exposure, the odds of preterm birth increase by around 5%, while exposure to heatwaves is associated with a 25% higher risk of obstetric complications.

    “No woman should have to fear that extreme heat will harm the baby she is carrying,” said Julia Gillard, chair of Wellcome and former Australian prime minister, adding “pregnant women must not be invisible”.

    Call to include mothers and midwives

    Wellcome urged governments to include pregnant women, new mothers and babies in their national climate and health plans, with funded measures to protect them from extreme heat.

    It also called on the World Health Organization to develop clinical guidance on heat, pregnancy and the postpartum period, alongside stronger data and surveillance on how heat exposure impacts maternal and newborn health.

    The charity is backing a study in Zimbabwe and South Africa to test simple interventions such as handheld fans, reflective paint on health-facility roofs and community-led climate information systems.

    Extreme heat costing India’s poorest workers 2% of GDP, survey finds

    The International Confederation of Midwives, which represents over 2 million midwives, is also pushing for action, asking countries to include maternal healthcare professionals in their National Adaptation Plans, and provide finance to ensure clinics have access to reliable water, power and cooling.

    Chief executive Anna af Ugglas told an event on adaptation at Climate Week NYC that midwives tire more easily when working in high heat, which can lead them to make errors. They are often first responders in a crisis – and yet “too many climate and emergency plans are still developed without them”, she added.

    Pacific hosts Pre-COP

    The campaign to put maternal health on the climate policy agenda kicked off the proceedings in Fiji, where ministers and other attendees from around 50 countries are gathering this week to advance discussions in the run-up to the COP31 climate summit in Antalya next month.

    This year’s annual UN climate conference is taking place in Türkiye which holds the COP presidency, while Australia is in charge of the negotiations – a deal worked out after a long rivalry to host COP31.

    Australia is using its role to spotlight the concerns of the Pacific region to which it belongs, where low-lying island nations are under threat from sea level rise.

    On Tuesday, a group of 14 government leaders – mainly from the Pacific – plus heads of international organisations including the Green Climate Fund and the Asian Development Bank will visit climate resilience projects in neighbouring Tuvalu.

    Leaders will visit a Green Climate Fund-backed coastal resilience project in Tuvalu during the Pre-COP31 meeting in the Pacific. (Photo courtesy of the Australia-Pacific Partnership for COP31) Leaders will visit a Green Climate Fund-backed coastal resilience project in Tuvalu during the Pre-COP31 meeting in the Pacific. (Photo courtesy of the Australia-Pacific Partnership for COP31)

    Key themes for the pre-COP – a glitzier event than usual – are keeping the 1.5C global warming limit within reach despite a projected overshoot, protecting oceans and improving access to finance for small island nations and the least-developed countries.

    At a press conference on Monday, Australia’s climate change and energy minister Chris Bowen flagged his country’s investments in renewables, both in Pacific nations such as Vanuatu and at home, saying this would help lower the use of diesel, fossil gas and coal in energy supplies.

    Ahead of the pre-COP, Australia has been criticised by climate campaigners and some Pacific leaders for greenlighting expanded coal production on its territory.

    As COP31 co-host, Australia should make its polluters pay for climate damage

    Asked about Australia’s ongoing support for fossil fuels, Fiji’s climate minister Lynda Tabuya said the issue had been raised by “certain countries” at a ministerial meeting on Monday.

    “There will be things that we disagree on, but we can agree to disagree – and we’re just very grateful for the support of Australia and the commitment towards renewable energy, and I think that’s the direction that we need to take, especially in the Pacific,” she added.

    The post At pre-COP, UN climate chief warns of heat threat to mothers and babies appeared first on Climate Home News.

    Categories: H. Green News

    PRESS RELEASE: XR activists disrupt Schiphol departures lounge demanding end to KLM’s Frequent Flyer Programme

    Stay Grounded - Mon, 10/05/2026 - 04:40

    5th October 2026 – From midday a group of 36 activists disrupted Schiphol Airport’s departures lounge, holding a demonstration behind airport security, 50 meters from KLM’s frequent flyer lounge. The demonstration in Lounge 1 demanded an end to KLM’s Frequent Flyer Programme because of the climate impact and inequality it causes. The demonstration took place under the ‘People’s Clock’…

    Source

    Categories: G1. Progressive Green

    October 5 Green Energy News

    Green Energy Times - Mon, 10/05/2026 - 03:32

    Headline News:

    • “Ireland’s Heat Study Adds More Evidence Against The Fabric First Trap” • Insulation, draught-proofing, building repair, and ventilation can all be valuable, sometimes very valuable, but that does not mean that every household should complete extensive renovation before replacing fossil heating with a heat pump. The distinction matters. [CleanTechnica]

    Irish home (Greg Lauver, Unsplash, cropped)

    • “Major Oil Exporters Agree To Keep Production Steady In November” • Seven major oil-exporting countries agreed to keep production steady in November at a time when the Iran war has driven the price of benchmark Brent crude oil to over $100 per barrel. The so-called OPEC+ subgroup will meet again to review oil market conditions on November 1. [ABC News]
    • “Gas Build‑Out In Southeast Asia Risks Committing to Less Competitive Infrastructure” • Southeast Asia has nearly 49 GW of new gas capacity planned in five countries. That could expose power systems to less competitive gas infrastructure just as solar becomes increasingly cost-competitive with gas and companies increasingly buy renewable electricity. [Asian Power]
    • “Over 35 Million People Under Alert As October Heat Wave Bakes California” • More than 35 million people are under heat alerts as a dangerous multi-day October heat wave continues in nearly all of California. Temperatures are expected to be up to 20°F above normal for this time of year, into the 90s and 100s, from Northern California to Mexico. [ABC News]
    • “Pentagon Backs Ambitious Plan To Beam Solar Power From Space” • Space-based solar power just got another powerful vote of confidence. The US Department of Defense signed a contract with Overview Energy to “design, build, and test a homing beacon that will … accurately beam power from orbit to receiving solar arrays on Earth.” [OilPrice.com]

    For more news, please visit geoharvey – Daily News about Energy and Climate Change.

    Scotland launches its Third Just Transition Commission – England waits for its First

    Greener Jobs Alliance - Mon, 10/05/2026 - 03:14

    Scotland launches its Third Just Transition Commission – England waits for its First

    Stephen Smellie, UNISON, is one of two trade union members of the third Just Transition Commission to be set up by the Scottish government. The other is Richard Hardy of Prospect. Co-Chaired by Dave Reay formerly of Edinburgh University and Satwat Rehman of One Parent Families Scotland,  it has 15 members from Academia, Business, Unions and NGOs. Set up to advise the Scottish government on what it needs to do it will have to build on the stinging critique made by the outgoing Second Commission.

    Our assessment is that progress has fallen short of what is needed. Unless we renew our ambition and redouble our efforts, the enormous opportunity – both for meaningful climate action and for building a fairer and more prosperous country – will be lost.

    And follow up on its outgoing recommendations.

    • Progress has fallen short of what is needed. Instead of planning for success, we are reacting to crises.
    • Deliver anticipatory place-based planning for at-risk sites and regions and progress sectoral plans. There is no just path to Net Zero through deindustrialisation.
    • A just transition is still possible but requires courageous action across sectors. To maintain the social license for climate action, the Scottish Government must now use all levers at its disposal.
    • Investment for the just transition must be mobilised through financial leadership and market-shaping interventions. This includes incentive structures, conditionalities and community wealth building measures.
    • Communities and local authorities need capacity and resource to keep pace with developments, shape the transition and influence major decisions affecting their area.
    • Improve delivery with more meticulous monitoring and evaluation, applying data effectively in partnerships at local and regional level.

    A similar Just Transition Commission has been set up in Northern Ireland. The work done in consulting, organising, mobilising and advising is invaluable, and we need the same thing in England, and the English regions, and Wales.

    Stephen’s article is the first of what we hope will be a series, so the movement in the rest of the UK can learn from the Scottish experience – what to copy – what to avoid – while we push for similar bodies here.

    Scottish Just Transition Commission re-launched

    The third Scottish Just Transition Commission has now been launched. This follows the commitment given by First Minister John Swinney that a Just Transition remains one of his government’s priorities.

    Scotland was the first nation to establish a JTC to advise the government on the necessary steps to take to achieve a Just Transition. Others have followed, such as Northern Ireland, but not England. The JTC brings together representatives from the environment and trade union movements, industry, academia, health, economists and anti-poverty activists who work to a plane related to government planning and their own identified priorities.

    The second JTC published its final report ahead of the Scottish Parliamentary election. Its title, No Time to Lose, summed up its message, not enough had been done to deliver on Just Transition. During its term it had reported on the closure of Grangemouth, the continuing loss of jobs in the North Sea, the failure to develop supply chains for the renewable sector and therefore a disappointing record on new jobs, and the continuing failure to deliver the potential community wealth that public or shared ownership of renewables could have meant for communities.

    This latest Commission therefore starts from a position critical of past action or inaction.

    The Government have proposed that the Commission look at Adaptation and Climate Resilience alongside a range of issues from skills and jobs to how a Just Transition can impact on the Government priorities of health and eradicating child poverty.

    As Net-Zero no longer has a political consensus of support and the faith in delivering a Just  Transition amongst many workers is much diminished there is a need to restore public trust that the move to a low carbon economy will be fair, that alternative industries will provide quality work and that communities will benefit through sharing in the profits being made by companies and, mostly, foreign corporations.

    That is a job for governments, not the Commission, but they have a part to play in identifying the actions that government ministers and industry must deliver on.

    No Time to Lose: Final Report of the 2nd Just Transition Commission (2026) – Just Transition Commission

     

    Join the debate

    Send us your contribution to the debate. We will contact you about using it here on our News & Debate page.

    Name

    Email

    Contribution

    Submit

    The post Scotland launches its Third Just Transition Commission – England waits for its First first appeared on Greener Jobs Alliance.

    Categories: A2. Green Unionism

    Will a child care tax credit solve the space shortage crisis?

    Spring Magazine - Mon, 10/05/2026 - 03:00

    While the federal government has spent billions subsidizing child care and creating thousands of spaces, many families are still struggling to find a regulated child...

    The post Will a child care tax credit solve the space shortage crisis? first appeared on Spring.

    Categories: B3. EcoSocialism

    Hidden capacity: The overlooked opportunity in North America’s race for power

    Utility Dive - Mon, 10/05/2026 - 02:00

    The fastest megawatt may already be on the grid. Here’s how utilities can unlock it.

    Maximizing efficiency: How commissioning and retro-commissioning facilities can strengthen grid resiliency

    Utility Dive - Mon, 10/05/2026 - 02:00

    Utilities turn to onsite power as demand outpaces grid capacity.

    How consumers are paying utility bills: 5 trends to watch

    Utility Dive - Mon, 10/05/2026 - 02:00

    Customer payment behavior is shifting. Utilities that aren't paying attention will pay the price. Five trends reshaping the bill pay landscape in 2026 and beyond.

    Extreme heat left this student athlete on life support. He won’t be the last.

    Grist - Mon, 10/05/2026 - 01:45

    Matthew Mayich stepped onto the field of Sun Angel Stadium in Tempe, Arizona, at about 7 a.m. on August 20. It was the standout hockey player’s first official practice with his new team, and temperatures were already in the mid-80s.

    He and his Arizona State University teammates spent at least 45 minutes doing push-ups, planks, flutter kicks, bear crawls, squats, sprints, and buddy-carries, led by guest trainer and former Green Beret Tim Ziesel. Before leaving the field, Ziesel gave instructions for one final exercise: a medicine ball run. 

    As temperatures approached 90 degrees Fahrenheit, the players set off in small groups, according to the university’s timeline of events. Mayich appeared to struggle, then stumbled, dropped the ball, and fell. He tried to rise and fell again. 

    Athletic staff treated him with iced towels and cool water, then sprayed him with a garden hose. Initially responsive, his condition deteriorated, and the trainer called 911. Paramedics rushed him to the hospital, where he remains in critical condition after experiencing what his family’s lawyer, Robert Carey, called exertional heat stroke. Carey did not respond to requests for additional information about the diagnosis, which could not be independently corroborated. He has told journalists the family’s hope for a meaningful recovery hovers near a miracle. 

    “We want accountability for what happened to our son,” Mayich’s parents, John and Christina, said in a written statement. “We want the truth.”

    University officials declined to be interviewed, and Ziesel’s attorney, Larry Kazan, downplayed the intensity of the training session. “The workout was not difficult as some media outlets have attempted to color it,” he wrote in an email to Grist. Head coach Greg Powers insisted during a September 23 press conference that he was still the “right guy’” to lead the team but did not address specifics of the workout. ASU put him on paid leave Wednesday, more than a month after the workout and two days after seven of Mayich’s teammates impugned the school’s report and response in an anonymous letter sent via an attorney. Among other things, they said the workout lasted 75 minutes, not 45, and alleged that the university did not follow its own guidelines.

    “The precautions required by ASU’s heat policy were not in place: no immersion tub, no ice chests, no on-field heat measurement, no scheduled breaks in shade,” they wrote, noting that the session “continued after some of us showed signs of distress, including dropping to a knee, vomiting and, in Matthew’s case, visible disorientation well before the final task.” 

    The St. Louis Blues hockey team selected Matthew Mayich during the 2023 NHL draft. He later transferred to Arizona State University to continue his college career. Jeff Vinnick/NHLI via Getty Images

    A St. Louis Blues prospect, Mayich, 21, had transferred to Arizona State to continue his college career. Instead, he is the latest in a long line of heat-related athletic tragedies that includes NFL player Korey Stringer, who died of heat stroke 25 years to the month before Mayich’s hospitalization. His death propelled heat safety into the national consciousness.

    “We have made tremendous progress since then,” said Doug Casa, an exercise physiologist and certified athletic trainer. He is the CEO of the Korey Stringer Institute at the University of Connecticut, which was established in 2010 to focus on safety and injury prevention for athletes, laborers, and warfighters. But he said Mayich illustrates that more can be done to protect players. 

    Exertional heat stroke is a life-threatening condition that occurs when the body overheats and cannot cool down. It’s a leading cause of preventable sports deaths, and the risk is rising as climate change has made extreme heat more frequent, intense, and prolonged. Between 1994 and 2026 — the two times the United States hosted soccer’s World Cup — World Weather Attribution found that the chance of extreme temperatures “at least doubled” in multiple cities. Grass fields have also increasingly given way to synthetic turf, which absorbs enormous amounts of heat. The surface temperatures at a recent Tennessee Titans football game in Nashville hit 157 degrees. One player rolled his ankle after the heat effectively melted his cleats, ESPN reported. “It was hot as s—,” said another. “I didn’t play a snap, and I had to get an IV.”

    Whether it’s an NFL star or a t-ball tot, athletes nationwide are facing this new reality. Some organizations have responded remarkably effectively — Georgia high schools instituted policies that moved them from the deadliest state for football players to among the safest. Others rely on vague recommendations and limited mandates that leave athletes at risk. And many policies don’t address non-athletes who are exposed to the same conditions. Just a week after Mayich’s hospitalization, University of Iowa band member Derek Phillips collapsed during a football game played in temperatures that topped 90 degrees. He later died.

    The policy landscape is full of holes, Casa said. Although best practices for preventing and treating heat-related illnesses in athletes are now largely established, consistent adoption and implementation is another matter. “A lot of times they know the right thing to do, but then they don’t do it in the time of crisis,” he said. “Heat stroke can happen at any time.”

    The Minnesota Vikings picked Korey Stringer in the first round of the 1995 draft and by 2000 he was selected to the Pro Bowl. The following summer he reported to training camp as one of the best offensive linemen in the NFL. By Minnesota standards, though, the temperatures were scorching and Stringer struggled. 

    He vomited three times on the first day and left practice early to cool down in an air-conditioned trailer. The next day the heat index — a measure of temperature and humidity — hit nearly 100 degrees, but Stringer, despite vomiting again, completed the session. During a post-practice workout, he slipped, fell on his back, and was brought back to the air-conditioned trailer. He lost consciousness and was taken to the hospital, where doctors recorded an internal temperature of 108.8 degrees. He died of multiple organ failure thirteen hours later. He was 27 years old.

    The Minnesota Vikings football team drafted Korey Stringer in the first round of the 1995 NFL draft. Minnesota Star Tribune via Getty Images

    “It was a catastrophic failure in treating Korey,” said Casa, who was an expert witness in the litigation that followed Stringer’s death, and in numerous other cases. “If they had treated him properly, he probably would have had dinner with his teammates that night, or at least been back to normal the next day. That’s how simple it is.”

    Research by Casa and others has found that cold-water immersion is the most effective treatment for heat stroke, and is faster at cooling than air conditioning, which the Vikings relied on. Casa said that reducing Stringer’s temperature enough to save his life would have taken well over an hour with AC, compared to about 25 minutes in an ice bath. “The cooling rates are astronomical,” said Casa. “We get their temps down so fast.”

    The NFL would not provide a copy of its heat policy, but it did highlight the strengths of its protocol. Immersion tubs, for example, are required when hot weather is a possibility, as are rectal thermometers, which are necessary for diagnosing heat stroke. It also requires teams to adhere to best practices outlined by the Korey Stringer Institute, submit a plan for third-party review, and rehearse how they respond to emergencies. Exact interpretation is often left to each team or facility to allow flexibility, the league said, and clubs are encouraged to implement additional precautions whenever they feel there is a risk of heat issues.

    “I don’t think we have ever had a case where a team didn’t comply,” said Allen Sillis, the league’s chief medical officer. “The NFL has really taken a leadership role since Korey Stringer’s death.”

    Professional sports have largely standardized how they measure heat risk. Weather reports typically include temperature and heat index, which accounts for humidity. But the gold standard for measuring heat stress is wet bulb globe temperature, or WBGT, which also considers wind, sunlight, and radiant heat. “WBGT is a much better indicator,” explained Jordan Clark, the co-founder and chief climatologist at Klimo Insights, a heat safety and weather app. 

    Leagues still differ on their use of the metric. The NFL, for instance, requires teams to use WBGT but doesn’t specify exactly how. On the other hand, the National Women’s Soccer League mandates hydration breaks starting at a wet bulb globe temperature of 82.3 degrees and game delays when it tops 91.1 degrees. Teams that don’t comply can be disciplined or sanctioned. The NFL doesn’t enforce strict WBGT thresholds, so teams have the flexibility to invoke heat precautions more often. 

    Not everyone’s attempt to address heat has been well received. FIFA required water breaks during this summer’s World Cup, even in air-conditioned stadiums, prompting accusations that it was creating commercial breaks rather than protecting players. “We had FIFA basically make a mockery of heat rules for commercial value,” said Nicholas Watanabe, a professor of sport and entertainment management at the University of South Carolina. “Heat rules should exist specifically to protect people from heat.”

    Policy differences aside, experts say professional leagues generally take heat seriously. The larger gaps emerge at lower levels. No federal regulations exist on heat safety in sports. Organizations like the National Federation of State High School Associations can and do provide guidance, for example, but states and even school districts can choose what to adopt. The Korey Stringer Institute has scored each state on its heat policies, awarding a maximum of 20 points for mandating things like requiring heat acclimatization, assessing wet bulb globe temperature, and making cold water immersion tubs available.

    .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74{--gv-text:#3C3830;--gv-text-2:#747473;--gv-grid:#E0E0E0;--gv-halo:#FFFFFF;--gv-axis:#3C3830;box-sizing:border-box;position:relative;width:100%;text-align:left;font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:16px;line-height:1.3;color:var(--gv-text);margin-top:1.5rem!important;margin-bottom:1.5rem!important;padding:0;letter-spacing:normal;word-break:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 *{box-sizing:border-box} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 div,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 span{margin:0;padding:0;font-size:inherit;line-height:inherit} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark{--gv-text:#F0EDE6;--gv-text-2:#B3ADA3;--gv-grid:#4A4640;--gv-halo:#1C1B19;--gv-axis:#B3ADA3} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__header{margin:0 0 12px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__title{font-family:"PolySans", Arial, sans-serif;font-weight:500;font-size:24px;line-height:1.2;margin:10px 0 6px;padding:0;color:var(--gv-text);text-transform:none;letter-spacing:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__subtitle{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:18px;line-height:1.35;margin:0;padding:0;color:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__hl{font-weight:700} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__hl--dk-primary{color:#F0EDE6!important} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__hl--dk-muted{color:#6B665E!important} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 8px;padding:0;font-size:14px;line-height:1.2;color:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:hover,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:focus,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item:active{display:inline-flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;font:inherit;color:inherit;background:none;border:0;padding:2px 0;margin:0;line-height:1.2;text-align:left;cursor:default;box-shadow:none;text-transform:none;letter-spacing:normal;border-radius:0;min-height:0;min-width:0;height:auto;width:auto;text-decoration:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item,.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:hover{cursor:pointer} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:hover{text-decoration:underline;text-underline-offset:3px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 button.gv-pasted-data-ec2u-9qnw74__legend-item:focus-visible{outline:2px solid #3977F3;outline-offset:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-item--off{opacity:0.35} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__map-label{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:11px;font-weight:500;letter-spacing:0.02em} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-label{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:12px;fill:var(--gv-text-2)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-key{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-size:14px;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__place{cursor:default} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend-axis{font-size:11px;color:var(--gv-text-2);margin-left:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__swatch{display:block;flex:none;overflow:visible} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__chart{position:relative;width:100%;margin:0;padding:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 svg.gv-pasted-data-ec2u-9qnw74__svg{display:block;overflow:visible;max-width:none;height:auto} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 svg text{font-family:"Basis Grotesque", "Basis Grotesque Pro", Arial, sans-serif;font-weight:500;font-size:14px;fill:var(--gv-text);letter-spacing:normal} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ticks text{font-size:14px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__cat-labels text{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__grid line{stroke:var(--gv-grid);stroke-opacity:0.7;shape-rendering:crispEdges} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__baseline{stroke:var(--gv-axis);stroke-width:1;shape-rendering:crispEdges} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__zero{stroke:#888888;stroke-width:1;stroke-dasharray:4 4} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__line{fill:none;stroke-linecap:round;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__line-halo{fill:none;stroke:var(--gv-halo);stroke-width:7;stroke-linecap:round;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__segment{stroke:var(--gv-halo);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__point{fill-opacity:0.85;stroke:var(--gv-halo);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ring{fill:none;stroke:var(--gv-text);stroke-width:1.5} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot{stroke:var(--gv-halo);stroke-width:1.7} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot--pulse{transform-box:fill-box;transform-origin:center;animation:gv-pasted-data-ec2u-9qnw74-pulse 1.6s ease-in-out infinite} @keyframes gv-pasted-data-ec2u-9qnw74-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}} @media (prefers-reduced-motion:reduce){.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dot--pulse{animation:none}} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__value-label{font-size:12px;paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__axis-title{font-size:12px;fill:var(--gv-text-2)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__direct-label{font-size:13px;font-weight:700;paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__donut-title{font-size:16px;font-weight:700;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slice{stroke:var(--gv-halo);stroke-width:1.5} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slice-label{font-size:14px;font-weight:700;fill:#FFFFFF;paint-order:stroke fill;stroke:rgba(0,0,0,0.25);stroke-width:2px;pointer-events:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-head{font-size:14px;font-weight:700;fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-axis{stroke:var(--gv-grid);stroke-width:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-line{stroke-linecap:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__slope-label{fill:var(--gv-text);paint-order:stroke fill;stroke:var(--gv-halo);stroke-width:3px;stroke-linejoin:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__dumbbell{stroke:#C9C5BD;stroke-width:3;stroke-linecap:round} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__dumbbell{stroke:#6B665E} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__cat-label{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__overlay{fill:transparent;pointer-events:all} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__rule{stroke:var(--gv-text-2);stroke-width:1;stroke-dasharray:2 3} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tooltip{position:absolute;display:none;pointer-events:none;z-index:5;min-width:120px;max-width:260px;padding:6px 9px;background:rgba(255,255,255,0.9);border:2px solid #888888;border-radius:4px;font-size:13px;line-height:1.35;color:#3C3830} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__tooltip{background:rgba(28,27,25,0.94);color:#F0EDE6} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-title{font-weight:700;margin:0 0 3px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row{display:flex;align-items:center;gap:6px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row i{display:block;flex:none;width:10px;height:10px;border-radius:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row span{flex:1} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-row b{font-weight:700;white-space:nowrap} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__tip-more{color:var(--gv-text-2);font-size:12px;margin-top:2px} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__note{color:var(--gv-text-2);font-size:12px;font-style:italic;line-height:1.35;margin:8px 0 0;padding:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__footer{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credits{display:flex;flex-direction:column} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__source{color:var(--gv-text-2);font-size:12px;line-height:1.35;display:inline-block} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credit{color:var(--gv-text-2);font-size:12px;line-height:1.35;margin-top:3px;font-style:italic;font-weight:700;display:inline-block} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__credit .gv-pasted-data-ec2u-9qnw74__credit-link{color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;border:0;box-shadow:none;background:none} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo{display:block;height:auto;max-width:62px;min-width:50px;width:62px;margin:0 0 0 auto;padding:0;transform:translateY(-2px);overflow:visible} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo path{fill:var(--gv-text)} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logos{display:flex;align-items:center;gap:14px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logos .gv-pasted-data-ec2u-9qnw74__logo{margin:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__partner{display:block;margin:0;padding:0;border:0;line-height:0} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__partner img{display:block;height:22px;width:auto;max-width:110px;margin:0;padding:0;border:0;box-shadow:none;object-fit:contain} .gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74.gv-pasted-data-ec2u-9qnw74--dark .gv-pasted-data-ec2u-9qnw74__partner--invert img{filter:brightness(0) invert(1)} @media (max-width:600px){.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__title{font-size:21px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__subtitle{font-size:16px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__legend{font-size:13px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__ticks text{font-size:12px}.gv-pasted-data-ec2u-9qnw74#gv-pasted-data-ec2u-9qnw74 .gv-pasted-data-ec2u-9qnw74__logo{width:50px}} Beating the heat High school heat safety policy score, U.S. states Points are awarded for mandates such as heat acclimatization, use of wet bulb globe temperature, and cold water immersion tub availability. Higher is better. Source: Korey Stringer Institute, University of Connecticut Clayton Aldern / Grist (function(){ var K="__gv_pasted_data_ec2u_9qnw74_initialized__";if(window[K])return;window[K]=true; var ID="gv-pasted-data-ec2u-9qnw74"; var SPEC={"version":1,"slug":"pasted-data-ec2u-9qnw74","type":"map-states","data":{"xKind":"category","x":["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming","District of Columbia"],"series":[{"key":"EHS","label":"Policy score","color":"#12A07F","values":[7.125,2,15,9.75,11,1,10,13.375,20,20,7,2,15,2,13.375,11.375,18.375,20,0,5,13,2,0,6,8.125,2,7,15,20,20,11.75,4.75,20,2,2,8.5,5.5,2,8.375,14,8,18.75,11.375,15,18,3,3.125,8.75,5,1,15]}],"map":{"geo":"us-states","ids":["01","02","04","05","06","08","09","10","12","13","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","44","45","46","47","48","49","50","51","53","54","55","56","11"],"matched":51,"rows":51,"pr":false}},"text":{"title":"Beating the heat","subtitle":"High school heat safety policy score, U.S. states","note":"Points are awarded for mandates such as heat acclimatization, use of wet bulb globe temperature, and cold water immersion tub availability. Higher is better.","source":"Korey Stringer Institute, University of Connecticut","credit":"Clayton Aldern","altText":"Choropleth map of U.S. states shaded by high school heat safety policy score, from orange (lowest) to blue (highest). Southeastern states, including Florida, Georgia, Louisiana, Tennessee, Kentucky, and North Carolina, score highest, along with Vermont, New Hampshire, and New Jersey. Most northern and Mountain West states, such as Washington, Montana, Colorado, Minnesota, Michigan, Pennsylvania, and Ohio, score lowest."},"style":{"paletteId":"single-fuchsia","political":false,"background":"white","yFormat":{"prefix":"","suffix":"","decimals":null,"multiply":1},"xFormat":{"prefix":"","suffix":"","decimals":null},"yFromZero":true,"yMin":null,"yMax":null,"valueLabels":false,"endDots":true,"imageFill":null,"width":"column","height":400,"yLabel":"","xLabel":"","highlight":null,"legend":"top","xFromZero":false,"xMin":null,"xMax":null,"rightAxis":[],"rightFormat":{"prefix":"","suffix":"","decimals":null},"rightLabel":"","rightFromZero":true,"donutHole":true,"partners":[],"map":{"method":"rounded","classes":5,"breaks":[],"palette":"div-azure-orange","reverse":true,"midpoint":10,"continuous":false,"labels":true,"symbolMax":18,"noDataLabel":"No data","thresholds":[5,10,15],"stops":[],"colors":["#F79945","#F6C390","#97B2E7","#3977F3"],"domain":[0,20],"categories":[],"sizeTicks":[],"projection":"equal-earth","sphere":false,"graticule":false,"center":[-30,20]}},"meta":{"toolVersion":"0.2.0","createdAt":"","updatedAt":"","fallbackPngUrl":"","review":null}}; var GEO={"id":"us-states","w":975,"h":610,"ids":["53","16","30","38","27","26","39","42","36","50","33","23","04","06","35","48","02","22","28","01","12","13","45","37","51","11","24","10","34","09","44","25","41","15","49","56","32","08","46","31","20","40","19","29","55","17","21","05","47","54","18","72"],"names":["Washington","Idaho","Montana","North Dakota","Minnesota","Michigan","Ohio","Pennsylvania","New York","Vermont","New Hampshire","Maine","Arizona","California","New Mexico","Texas","Alaska","Louisiana","Mississippi","Alabama","Florida","Georgia","South Carolina","North Carolina","Virginia","District of Columbia","Maryland","Delaware","New Jersey","Connecticut","Rhode Island","Massachusetts","Oregon","Hawaii","Utah","Wyoming","Nevada","Colorado","South Dakota","Nebraska","Kansas","Oklahoma","Iowa","Missouri","Wisconsin","Illinois","Kentucky","Arkansas","Tennessee","West Virginia","Indiana","Puerto Rico"],"codes":["WA","ID","MT","ND","MN","MI","OH","PA","NY","VT","NH","ME","AZ","CA","NM","TX","AK","LA","MS","AL","FL","GA","SC","NC","VA","DC","MD","DE","NJ","CT","RI","MA","OR","HI","UT","WY","NV","CO","SD","NE","KS","OK","IA","MO","WI","IL","KY","AR","TN","WV","IN","PR"],"arcs":"W2yDwW9B2IfmEvB0GvD6PFUS6BEkBHSPOO0B0CAAnGtB1IhCtFpBhBQrCRvCHZQ3CF_BGlBOVFXEdFrBTRIpBAjBIrBPdELFBZRP5ChBtBDVLXEnBQhDIVPZHdXnBNPVK1BBRIZEtBJRFtBxBzBVDkOAAnBCVfPlBnBDPJDRZILJZONJJdJFLQLBQjBoBhECqBLgBJwBQIQXUaEHVfWbHnBQOGjBWAMMXlBVDDQfbIhCKHCgBOKAbuCHdTZHCVXNLGHiBNGQxBOzCDjBJdOzCChCEZLTCPNNBRPVClBIxBDhBUNAPWZJjBqBWqBwBeaOEccOYoCgBcEeWuBWyBQkBRSgBBcMMGVWEMiBKAJVIRgBACMPMQoCIYNGdaZqBNBUlBGb3BqCpBcVaVOXmBYM4BFQP9BOPPsBvBeZgCPSbqBhBUIAzBUYDiBCkBVAVQLVAgCJIJlBHQMURQsBLGed0BCMRKDgBdZabhBILSAaVYAtBMHGdFJPabKRehBciBHZeQHCYOdeHSqBaLiBbYrBUeQBFNgBJKRFZGRBpBMHGSCbNLUfAZOXSLObkBJMPNDVjBBPGnBNNNQDWQYGWhBrBDTGjBgBGGMMRANhBnBFdXIFNIPHJYFIcILQWGDEbNdaUKHJ3BORFNRHTSCRT_BKTNDWT-EsB-F2BgImCiKyCgEgBiIgCiGuBkFkBIl3BnOQERECHKlSofEQLYDXMPUiSrIOYjBMQZNGJSHLUpBQNCiBOEzCLMLPIdMRKMFoBKHnHICDqBLTIX4B-C0CAMPQNFAfRAJLDpBKXBPPCNdCTuBxBUBBUOWDMTNXUXCiBWCoBJuBGEMfeqBCUQzCnIMSJQRHJTUjBMDFiBI-BbFSFXMGQpDKKWTDbjBElBSFgB0BPKYkDvBhBKBjBLQGcVBHXJQBTkBVWGacKkBIJDJbGBOiBKxG8TKGPUHLONMjBxBDiBLIFdIROGIrJ8MWiBPJFXIqlCvW-CWiEciCOwGAA7CyNY4BScEcYsBBQGcTQUmBbSkBeQmBuBeOmBUaIa4B8CDiBmBmBFYaHSQHUUSaEoBFGWNsBTIGQV4BVeAkBVOKUNWCaQOHSEULOXCXYMmBFSPOFacKgBoBWBSRiBFYVUJCPOEQcUOGQJUOQHeKeDiBc0BEiBOGQ8BVaQqBWeaFUKUgBMsBLQSmBFiBqBuBMDDPcXaDkCaOKQBSdeHuBWmCCUSoBJmBGgBMLPGbQHEXaLUOWkCaoBSKIAA7DmYVsEhB0GKAA7DTzJzBxLhC3FjBKAAxJ7BzHxBvJhC5DZkCAAyF7YATaXa5BFZSJQfPRAXXAJPTGNRErBMlBmBhBGRsB1BiBPmBtBOzBsBrBiB1BIbuBtBQdSNGbJzBpBrBTJRlBDpBe6QvnBiI2BiGoBkIyBkGkBkGiBmK2BoK0BoKwBmIiBoIgBmGYoKiBoIawFQIAAH0ClDwlBF2CIAAb4KFyCFAWAAtHVxHXxHX1IfvGZzIjBrFXvGdnL1BjBgHSwrCz2BgLaqISmGMmGMqIKqKMoGGyHEoCAAAKkBwEP0BIuBFYIqBDyBGiBWiCKMDWGcMQSsBIsBEqBFgBIOB6BGqBBqCIcOKHWDqBEaDkBMUOqCiByBAmBKeCgBFmBGiBUAAlJBlJFlJJlJLzEFlJP7GNtLb9EL-E4jC1nB6EAqICmGBGHB_ESGkBAmBQIMG4BgBwDAwBIMcYiBK0BFYcsDEMIKiBQMwCNMZ6BP0CEeQoCQGQXKCQ2BBUWCeaqBcHFbONgBFiBGMgBQOgBOaCYWASkBGCOaDSIULaD8BxBsBbaCU0BaGiBJSIqDViBGemBYKeN0BCfiBjD8BnE2BrCuBtByBTKvEuFVMVebUNUdS7B0BDQkDAAZaBSZIKkIVaVBJSRCNQpBWTkBFcbcDuBGQqBIMeQUCQLkBNOD0BGkBNOKeGmBFQCgBLecUiBkBQK-BKUUUe4BKyBsBoBmC8BuBmBCWQSCWiBWKGsBMYAuBI8BBQOAAzGK_JM_JK_JE_JEzGBWAAEvZLXXTlBHZtBdpBGRiC1BSpBInBiCs5CmIRFXZDbUxBNNXObEHJCbQVFhBIPLZGPlBdbJXCRPKTJXXNvBDhCRfMZJjBC7CrB_JhCd_BJJxBPHR-IAA4D3B2B3BMH6DXyBjBchBWCcJWtB6B3BQDCmBgBIKMDWWMGSH8BKWUZsBrBcPbePkBclBqBLyBAiBGWUgBIMcYYakBUIGaMMoBCiBHILWHOEeiBWHONiBYUNepB8BlBoBjBSG6BV2DBOD0BhBcNyBDaJNeA2BGOJUQSUJkBSQBmBXgBgBWNSfWHOIgBXcGJsBWkBDIhBFGaOSVUOQgBHEKaCDaSSkBMBUjBG_BDpBGfFXMDPlBHFeLUEqBdFJPTFlBjBxBNbAZL_BMf2BnBEhBIDWTJfD1BOLOT4BrBabuBGYZLHNWzBUAEnBJJfahBHAORyBdOJFBdHPIdJHNqBH2BXQb-BP4B5BuDNKEeIuvBirB1IwBvDQ3BKKAADbxFU1JgB_FUuKAAmBhBUZOdc5CgB7BUjCGhBGtDLzDX9BXzBWXfI9B5DPlBEhBWpBAPNxBCLZjBARelBkBlDETHhBGpBPtBELaTUAAtCcFObeMIHOtBUZMhBePDWLMMkBRmBOAL6BUcG3BKLCdOMDqBNsBKEcpCGlBApBN3BCPQZuBf8BJWVjBBRNNXBfENabMZRN4BBMRiCYqBWqBFgBKcaUewBDkBWoBEQO2BGsBeDUUcMEIoBQMVAPNPKDeKUiBYOYO6BDmBMgDFmBLCRWXMDQA6BDUZMDSnBGLIN0BCmCQUgCWOCWXQjBSIU1BCRQXXFcHUdYDYNQTiBLmBOaSUYYwBmB8DOiBSuCcsCakBCQHeDuBGSD-BPkBVJDjBZFfcQWZWBcGWDWLShBQVmBFQJwDNGGWPCFYLGLgBCWLOmB98BvzCPMrCoBPQcBhCkBZLSXTAcVoBb6BdsBlBUAaVGInBmBEOLOOwVoUVAJhBQHKOFQMM4B_LpMPKnBAnBOcKhBafoBTSEQNGNUXyBTZQbElBPSKOPKLLfFAlBYVapBsBhBkCZoCFYKKQMmY-WXWRHOrCSKK0BIErCRADPWQIlDiGRXQKCOgBkWjLFaNGlBFJIbCTTDPUMgBZCPLLcDWMIUUOK3I0BNDEPYSNCQQyCLUXBhBbGFqBGCLUWI7PsMHQDXMIMkBbJGVbMNQOEWMsQvSHGTVCRWOEUIuRk5BHECpBGmBIsbpCsBwIYuEgB-FqDAATQVEHOiByBBoBICEqBLQN8CE-BPEGUHqBJKOQDyBVShBkBRmBdebOJOPBNRTGVcDiBhBGPmBCqBTQSQKsBXBBSPUJHETJRdPRMTyBFsBLMMeMuBdMFOH6BdKbQdBkCAAPXbVvBRNPRzBLAjBUVYHUlBITMZXbAfNXMLaVCpBbRTnBHlBKnBJLLLjBNLRhBfJNRXCbQNCfbhBaIAAtDnfFhBRzEqC-NpCeKWFiBasBGeacGSDOZSSYDGMnBQNBdKFKbIkBBMIeVoBDgBCqBWWFWVkBJYRqBT4BCaLSCWN-CvDiDjCqBTIJsD7BoBkHpFU4D6IvBsIxB6J9ByFjBsI3BwEfeQMeWDmBOFQUGAYMwBgBqBsBUuBDYgBwBAAXSNeFsBXqBHcfkBkBkBFuBRGFQMgCKUgBBSuBWSMHOWWMoC8BJSVMbaXgBOAAbaBiBdYRAbWHSMAAZHjBGXQPSLgBMAAhGqBxI4BrHuBjGmB_KgCIAAlEW9GmBjChNQjD7SsBZyBnBiBrBLYkBXmBjBmBX0Bo4BtzBIUA0BSQEmCKiBiBoBAyBKaEeJODsCOSMmBKOEaOgBFwBGaOCETSFYckCuJAkBOWIAAAEF2JKIKAA-B4KccjCmCmBoBgBAAFYLCLYLkBKKpBOFpDL1BLTZTDXHOMcWWWsCIAArCZvDlBvDlBqEz2BrCmBnBWLabapBgC1BchCiBbMTDVf3BKhBLJjBCNFAdLvBUHoBXiBNSNiDhByBBmBN4DAuBacA0Bb-DTMKCTgBNWVOEIdUZeXSZcAaNOZJNJzBVjBTJUXIQQdARWTNDLMTESlBdFTabTBPuB1BkBbqChDLVUrBsD5EmBlBqC3B2BF6H7BqFpBMkI47BFoBLKBZM7BIkBMyHQVGtCwBCHkCpBeDShJoCOJOSJYpBkBDRKLBfUFOyMvEYNlC2B9BmBDBiCnBuBjBmF4IjHUHTUtBmB5CyCRICNRGIMNQhBUZCJOhBaFHPQVCrBiBZBJQdS7BaZYHJLSsBFrCUlBcAFsBfGJXHRUIMhBQXbGbUvBSCaNIVMKJZSAKOBjBkBPHOaAJdUCGMUDHN0BAOHEVSHoDX4BZkBnBgBvBQNSCLUHHboBMMlBgBZqBqBDOJUtBMDFNYIIVUMEXWUSLYdMBItBrCLJgBNTYK9CkDUAIUdCCVIgCdUEBWRZMzrCzKNLBZQFSOReI0Z5YkBNVeNPKbgBOPOCPSLDIG0DNcDNSNIkZ7TsDb4G3B4HhCgCAAHISuBRwBBesB4BJQEYPkBdeLWpBULeO-BCgBHkBIMNsBAwBVkBEoBLyBYmDDUEqBIcC2BJKAuBOcaSEMIAAvEebI1CUWuJ3jBDPIdEtBPFQJMZMFgBKUDMbOAA2H0XQwCuBoBUKGiBkBcKAAOEAaJgBBiBSAAjBGbWNWVKFcdgBnFmBvGuBmOsE_mBQVWAYiBOhBJlBOTeMIVZLHPGfUpBuBzBJZWnBKbDPVNAZHFMjBTbGjBILBXajBALNhDATiE9LKLyBBGGImBSiBuBOmBhBiBNYfsBNEbOHiBC4CoBoBgBUEIU0EwOMMDaOSDeMccBWQmBCeJSgBPWiBoBAyB0BoBOCQbYEQYWQCOeWBURBAaVAkBSIPQONZaMKQJaLEFaPmBXEIKZFHVJOGcDORXGWTGPNBUIeTKHNLiBPLDVHYDTPIHUQYLCIoBRbGaLJJbBSOeLMFYNNVtBPDFOHTBaRTRASQEObCLgBNhBPCUgBFOHTHQPCQUAUOGCajBPPEZJROBXOBFNULLNPeHVGtBVDAyBLDbgBciBPWFsCOkBLKBUJBAaTSEnBTmBBRTKJlBLiBA2BFYPZGcLLHfBhBDgBOoBRKZlCP-BWQAeFKrB9CCjBLOLmBUDY6BOYHiBPVDhBJPLIOQJKPoBIzBDHFoBLQM1BPOCRdkBRcJeGQNOYDKgBTIHQNEImBKJb6BTMLiBKSLkCVHDUI-H1MLNMHAWIVnCCoBLFKhBK8J5EIcNKFXMNKnCHLSXDSXSKKiErBBOhBBKPaEIvFQFTKJDeK4D3CGOPDAVKMK5DUGKHUHTKJKoM7EBKRXIHMWIiC_CGGNEIJIgB7EBNWQTBM9NyQYAFaTBRZUCUqB5CQSLKOKPMNDHTKDDRODYmDrDcYCWXOLDMYFOdFLPEzBOTYAwC_wPo6FSNmBQQAKdWLINExBRbtBRHRSxBCZJVOZDXkBBYhBUPSzBOPBPGzBKHFXwBnBSfOBsBTyBdEVpCtCEdNfCVN1BPJFrBLLG3ByBAAAVMJBdUBIPIpCNvCMTGdFpBGvBOTP3BQtBkBPeDoBYgBASwBMMqBBYvBUXkC_KQAA8GqBsK8BkFc0IuBmFauK0B0ImBIAA3CkU5CiUvFkoBcAA7EVlKvBrIpBVF7E5CjJnFhJnF9IpFpJ1FOVCTYVQX-PAAzGXhGV5Hd9HhBElBFZTLKLMKIsBKDFfXVTGIlBDZQRCxBD3BJbjB3CZfPbZZJVflBfbdzBZVPINPTanBbBPUXH3BHXRXrCNXILRdLxBnBNDXdJfARjBnBRdzBjBjBEZRhBDLPbTdFNJ5BNhCHFhBTVPDFPevBFbUpBNbczBIvBPTXAXZLZUfOAN3BfPXvBNrBlBXB7BhB3BErBXXJvBXtBfhBNdI1BBvBMNLLWXMWWJOTYzBJ7BTdPIZDhBXXtBZ9BJLEZUtBFhCNVGbUbG1BoBBKoBPGHkBESiBWKaWQGWUIBXJDHlBEnBXrBSBjBVGPMBBlBTFFbIGSTYGeNWYaFcEmBSOOwBUFNWRYAESTEGOSRacALRNDPlBHLQPGNJsBbvBQLHdBXXIPRDlBgBrBZDRbdHIfACSPYQURCHSQaRSVCJVZfLETfHZXXbAEMVHUTalBArBS4BOUZ3CLZNEErBFdhBnBVfLzBb5BNTd_BGRUZC9BFRE9BBLQpBclBKjCDNE1BNTBTT3BLNBjBTPFThB3BMXCbDfQbqBzBmBpBNYQEanBSCSNVLjBmBBDedahBUrBHLEjBUPYrBc7BKtCDdEhBNDNVYbUvBCREAAAAMAA4KoD8HoCyK-CoFuBgIiCWAA3KypB4F4I8D4F-F2IkGwJqGwJmEwG2FyIgDyEkFsHQlxBgVbGVbJhBJ3BQIS0BkB0BOtLnJQUPEXNDTOBOMY0LSTLFTYG2BuBOkBJQPNfHDLGfJFUnP5MBWUGBUJBtBKTRRpB6BGUBKpDhBIQvBRkBJEMekJ2CPKjBDXGvBPHVGJPPIHkBWSEWWSIeLKQI4NoHLSANMDUgwDhaqGcqGasIgBsGYsIeuIasGUyKcqGQIAAD4BHyDD6BYAAPG7CmkBlC2bxKbzKd9HXnFRtIbI0BKceeMAADB1KnBxJnBZsG9JpB-FguC_hC0HQ6FM-LWsIMjBwbYBUK8BgCMQcGWLmBQQBGdQAGOWGIWSUBoB8BQeBaS6BSaJeEekBcASZ6BEoBHGGAyBwBQBuBcQgBLuBpBcCMkBmBEEagBCcTKKWXMSJmBOWUGMlBCXWCMlBaFKGMeWCSMWDQbSGGeaMGMgBAgBoBObgBASbSHaBmBXcUiBDAPWAqBZUMBOqBMeAKLYDETOHYKoBeaGoBwBsBKSSiCSSCSAAWamBOKRaKOJkBGUMI4HoCAAIuOaecUaqBKkBD4BSWWKHOQOGUQSHSSYQmBQABsBSYXQQeNUCkBNaBWRSHiBPQK0BRcCcOUBYIoBDefsByWAAVAZ2BBqBYWAWpCA7BetBS9D8BhBkBPJgBdeNUPgBDbRRK5BOBJQdKnBFXPNXAZ2BREHNdNNNDSeQJWKKNcQOeGVOIUKHMSaMZAPeHDtB0BTORLGyBDUnBetBuBPEnCyBjBMxBC1BUBYKC2BfeFtBeZOpBKXS9BeYVmChBANPDzBYbGkBVhBBOXlBGZURXETNAJPKkBAUSIdMAPPKDPVANhBZDCUSeBSiBOMSZKEIeJaQAKjD0BNDHfflBGkBTLHGamBHYGQlBqBZKOdFfNWESJSTBCfVSZKfgBSKQQKXiBLBa_B8CJGXZjBIDF9BAOQoBEDMQckBQAMZ6BjBiDrBYHFgBVLDCV5BsBDLdtBXTOiBcmBNMbFWOYBMMsBIgBRB-BVMGmBbGBiBcaDIVTDiBSEKUYsDJ0BQSWMDeSKCgCOKaENKFSKUUPGVIBGyB1BCRQREEchBBHRdHdZLRVLjBDNJ5BCdDVIFLbCdFfPNVPBEN1ChBZKnBdCHXVnBAbPRCfFHNIPJXTHFnBX5ChBtBPLHbXTOjCDPPZNFKLKnBAXLJCfjBhBTEVLNbvBnBJfGLlBpBjBrCvBZDPNDPVEPRZHxBMFXLDZjB1BHrBRdVZAbN7BLDXXCPTbRJTVlBZHfjBPjBfEXNFVIGVXNPjBCLVFXKHZNSVA9BLDHfBRGPJ1BEjBXTDXTVUPepBFpBOZAhB-BHEdkCAiBRIJeQWlBUHFTclBcJcJEjBJXBNRNGnBdVfxBPnBdDT1BLvBXxB1BFRTTfHhBZDLbbJ1BRXDXNZDpBOnCXjBV1BLPH_BRdPDHbbPPXjBbxBXRXvBzBLfZbjBbfzBVTbjB5BdPNXxBFfNhBZVbHmBuuD20CMsBCeJRJ_BNrBDhBPlBZ9CEFPbGdFjCAhBIbC0DMuCqBuEOsCa8B1VIDzBuCfmCZ-BN2BREM1BuBtDCdUMWvBgBhBUwCtEOEDYhBmBfqBFDahBBPYnBONc2F1DIADepBSjBalBUzBsBMTBZoBJWT4BjBYAMZIWFYVgBL3BiBOqTtNkBIhCyB3C-BMV4BlByB7BioB7yHvbgJqtBmBKGNkBKYdoBJEsBsBUMSgD-BcwBkBxBSFGXHZOHJNeTcdwBcBUUUUAgBUYcgBI2BmBGSYQyCyCoBkBBWcBCcWEScQHyBOYBkBKOOYFUcDaOeciBFKF6BReJHNMRbKbNQJPEPaJVAV3BnBdIZTgBHDTcEkBDcVFPXOLFVGLJVYRTGNRRCXRARNKLTVHTPMBvBTAOZFGnBPFAPNEDVoBKlBPJbDarBhBLzBHiBbNXBdjBlB_BRRO0BeoBDGakBBWNBVbfWAXjBvBDWXHFTHQnBTOQDKiBAwBgBQaXURDDWVTTEzBZbTHRdRxCT5BXOHKZRXIRSQCYMMHlBfVAQPYfaXEjCLIXJBXQTFjCB9BUVMdVZBRPLCIZHBGfd2BbJdCUlBPMFLZKORbOTFsBTLHTOVTGRcFXFXiBHJjBUDnBBwBRGPPSnBANTqBHNJwBRIHSYTBaMTGSFWOTOajBsBICDiBhBGZJHUHPRSHLCwBNHhBqBInBRoBHBZaDQTLGQVFZQTXabOAQLUjBHBbaVHLPMnBSXM3BJbaLuBpBgBQQJ2BKlBNjBXcpBYLHFXMPiBhBAHRNUXOFSfMVmBjBuBIMbcVDYaJenBGSGDUTKLXAWTEAahBOD4BOHYCgBWEOhBkBPAPUIQPENSCaJHLSlBABUVIFSRJBULCCQXFDYJHhBaSAAWReVJBWJBXURPASPGKMREHLhBWWDAOXFfYaMlBkBMXTMCWRHFOpBINFCULUFFIVRHRGJSVIRSDRJWTLJOXKVHQbTJLiBTaNDGSXMTBILPfFUTiBHALbLHDOKUZQIbBViCbuBvBmBZqBFcESmBEZYEUSEJbZYrB6BrBaFwBdYOAnBiBrBiBbWJAJMpCORJPIXmBnBKjBJMpBUvBSNFRdQhBDFpBuBKqBFSRFX1BNZLDPYJRPDFdpBgBFFhBMHUhBMGHlBJoBLBrBORVIHfgBhBjBlDBrBPIIUJgBPBdSrBEjBLFTIFTRPhBXLHPMRPGPLmBRALeRBQeKGWSPKIDUOEUXfTYFPLNQvBFBLlBFDHUDZjBDWRNEVRVOPJJPIDPiBJTZkBCFRIX0B3BUAILBjBUbaIRVkBPYKakBSBoBdgBnBMMJImCDgBjBCLFjBAfbhBANYGWTDZPXTYTDZIlBePYAZXZLGWQHQXbRHnBBtBMpChBPbMXRRLdcIORQAxBZdHjBlBUPWABLQJSGINyBVgBQQDVRKLgBLQIYTeDiBGPeASXMUAKWkBGYBGMeBSSapBkBGHPVNdIIVTnBJBJdUFQgBFQakBcJYeiBBETnBZPCXQVdOlBOBRPnBGKXPSjCVBlBNtBhCxCZPdpBYbIvBiBIsCCuBXiBlBS7BaXqBzBeOaJqBlBMELqBSbNVaXaFPMaCyBFuBhBWjBMFIOqBOCQZQIWSBUpBUCMQBaaIOReD0BKGGToBwBANQsBAUJYABMcPUDuBOSOMHUSmBGOD2BDiBYoBDaTqBJoBIWWkBIQOYDIslBiiCPHODCMK0D5BDORHQPGKItEcHTUQLEQcyBLGzBzBAZYYGSWOMQM6CxCNCFnBQEMWHMIpFOHMFPOEK4DhCUMAcVfCHIrEwBFeFbMBILHMCNECFISAJJIHCSIXALKCRKIKM1BLSRDCLcBIDRKULHCLIn9B-IEUJBGRI86BlIBQLLODIWHEFCQFJiBqIhBKeHkBVDCfRZOgBLYfPKRPrBQDLHWRKEkBgBAMO3HCYTGUPEHUPAKXUuC_BKLGSgBKHGMQLOTRXBEfoC8DuGEULEXJGHTVNMAXbDFLjBMBRcDZJEdVQLDIrBHCRpBZGLXmBHWUCSeAiBagBiBNCoBcLIaBBcKBCYIIOlE5GCSPMTJGTSHKIO2BHOSHQfPLfcQKBIv7B-IQFHKHDIlINVGEHSCImHEbeETYJIeGVGGLQGOs4BjKMFgBWPYNAATNTqB9BmCBWOUHSHbCqBFATrBGPOIDPbFTnBMEFVYCUWDPOCIaHWcf5CwBAWHOGUsBDGnBXkBmBBMpBOT5BDIfXENKnyB2HlBaFLMTgBGQ6tB5GEaPICdNFGRUKBKoBkDqBY4CZRXbGJHTBUNHBXTGFROTTBDZPGPNQlBwBYcqBWoBIhyBmCTPSCCOgDiDgBNe3BLeSBQPGDNVGQKXEjBkBFSTYNAGPUTLCOfZeMXhBDBQWLJkBXPAbHPNAGZSXYNUIIiBIAJ_BWNKgBGVWIBROKRbuBcKPWUHGCYYBK6oB3HAUPXCNOSIlsB0FKNiBYrBJIiEhBGCJIEJ4BoqBlCXXGHvBVCbNNWDDTQEITgBKFiBOfqBGKgBZK3BPIImBKSMWPUoBRInCbYYISJSLBIgC9EERYQbCsBoCoFRUJhBKPdnBhBpCNLLZOESWoBDoBqBASnBxBDGKeIDgBcOuBXFOQNiBiB5uBwBLePPBWZILMdRBRWIPPeAJTSNWUCJYWIJI3BbWTJaLFMpV_BWHTkBPCEXKFIoWAFHOCHGI6DvCEMHBEJIhHQKLEGNGIgIbCEHBGBI0OjEIFViBObIhJYDOFAKNIOBPOKPGCIJBNIMVCOIPGJHSPHYOuCtBOFlBgCEKhBQMhBqBxBIjCHBMJDMHI6GZEMLDIHOvCIbcGTRBELWDOKK5DMINDkBLGIbI_JINWGZIEI4O7BXaPDoBVInEKGJIKNAIhBFAIFJGCIRKDPICDOIGVCVKULCIxgBvOVGBJYEGoCzdDUETI8lBvBJFRFcMIxlBSEFMLPSIYdEFGDJKIQVKJLMCBI0BRNDBBQGI0VJLBLHYKI9rB8uCBEFFICIsTtBFEBHIEI9EvCDEFFKCITLAILBMFIqECAEFDGAIoClCAIDDEDIsHVBEDDGAIHXAGBBCDI5CdBEFDIAI-KtFDIAPEII8DlCBGJLMGIhBHBKFHIBIFvBHDAFIKIjT1CFBCFEIIJJFGEHCCIsZzLCCFGEHI1gBhLCCDCCDI_0B6tBGGHCCHIULGIJEELIsB5BBMFHIDIoH6CJKBVMMIaGTFGHOOIEHCGLJKEOrFvBHObDUJRZaCIYKmCEPgBxBRqBCYPIkEmBEEHCEFUrCGrBOERPQMdQIEXYCPOQSI-BLBCFBIAIXJMNEQPBOgJqClBCfLRTyBMOOYEIuCVGMfAaLe_EXPAGSfJCKvBNCLcMIJUGQJRNcHOWJKIyIeAMHBIJKkCHBMVGKTOCIyBBCILBKFIqBDHMXNgBCIhBPIEHGAJIoBJFMALGAY4FPtBOZc5BQiBZERSLQIMfmBHQKHUIsFlBFOJBQLyBRObMVYJH7BOFKdPOHWGgBJQdgBCbNHRQLaDOGFYQDMRKSLCZWYFCIIqDnBAGTFUAKpBLPMTRQLUSKYDLIDTSFBSImSvBGEHGCJIHNEIJEGLILHLAKLCMMhBNDKdUQRHLaAI9IrCDBEDAGO_2BmFPEPpBVXUMYwBKCItCpDIIDEDLIkBLFODJKDKwD0BRIHTQDKQK1FrDRUjBBiBDUNIrErDIGFCBHKrFtDNSZTaFOIIqBPEBCGFDSzBvBZNRELNMJZVWBmBYKiBIu-ByOBIVFYBIyHJDGDFIAIPHFMNXUMIetCMIHMDTiBlCiBNBJNbWtBJbaXERHFbaJUdeCeRgBCMsBUGEOIkE5BDQLNQBIiERDQPNUBMRYRDLMAhBcBCcIiBbNLMCCKImE7BPHKBGKI_crIBMNRQGIfpDDKJLOCgByO5KvBKFKLRPBnBjBNdMDgBKILiBBWJAQeMJkBIUMzPzFVBblBMAWcQMIiJzLAGBJCEIkBnBBBBAECI_BGHTEIEMIlBpBFBCAECGBbCABAIAADDCACE0B2E4CHQhBJTMDOPAGNHNRLBPjBlBPBdMRNBXUnBESqBeYLYEMQFUgBSAK4BWBEIm6C6kBCIBBAFI8FvDCIFAEHIlGMGCFEAFI30BZCCDECFIspBtKELCIFEIeVKHEGNCI7pBsDCCFEEFIcdCCDECFISBAGDDEBIfBEEHAEDI6NtCBGABCDI3PtCAIFJGCI4MvBHMBFKFI79BvHBBEDBGI8-B2EIBDIDFIVHBINBQFIjsBnHFACDEEI1BpPDEADEAIdlEAEBDCAIoCQEAHEEDIIBCEFEEHI8BbJIRGcNIoBRGAnBOiBNIOFEAHEEDIQHHIADIDIaJNGABODGAAEADAIKBBCBAEBGAACABAIoBLLGZGmBLmNo_K5CNQ3BBPJDRbEXLhBCNZVPhBHfAPQVmBbaJkBKQeQcCoBOyBLqBZQbmBWQjBDccNALSMZiBFUdJLaMWoBHHQSSaAQZAZaTIXkBIEMPCLYcCGIXMqBURWKOTSTbfmBPAFQcYhBDfNiBkBnBDASYiB8BUHcMGgBFoBCROQIYHQSQRUaSMLOYKWDXgBeBPeNPRiBIYVNZfASVIXwBNKARWdBLQHITTTEUVQHXJFdtBAOtBHFNtCHWNCVJLNGJLGRNBBQTNZErBZZCPRHSaaeGUOJGGiBHaLCGaMDJaRUlBYTjBGjBNGddLcBXNXTevBFKKPUDuBNHLUnBBOJfNNYRPpBVRORLpBFnBVenBOQUADcKMQJFdnBbVnBSjBDPTYFiBzBRGNvBMPxBbCClBVJjBEdOJRMfXBJITDFOhBORSBNXCMeMEQegBDPSbC1BaNA7CN3BLnE1BlCP3BGrBBnBEnCOjBSRXDZaHONIvBPJK5D_qBwKJwIJqGH0INkDAAAQmBYVgBHoBaMEYbGAYaeBiBGOiBUESgBKASRSV2BTADQMMFiBZOjBwBbOX2BHsCjBkBQoBHuBHMnBISeHcWmBdcuLT6LVAWhB8DOWDKMUaOYgBEUOYEaeyBQDItQkRYCNCJDIsHLKJOBXMKyEpDEGdUCJYPIyJ9DCIVIUPUtgBiCNEfTpBPFLoBZcEeSaEdsBI0c9FLaBROHI6BJIQTPMAIYhCAIVGWNIPNJWDBOTS6EtBYgBEeAmBNUMfBfNtBJJI9GXEADGAFUiDWLWNPdMFFaNBHcRPUaIIjRwPlBOOLYBI-CARATHmBIIRvCCLECFKIuGlBEAFGCFMfpCHGpBTOHYKMMIuLnCJODGOTGchBGFFGIUZFGYjBReuB0FtKBMVSjBHPTXUfEpBbfHVMyBCHGjBEPI1CgBFJbNLOOCDUhBWJkBbDyChW9mBBtBYPF1BdVQdCrBjBXHNYFGZbXqBtBWNJfKVTTAHoBRaDKLBRbLALgBXOlBSCITFZcCgBZEjCHfMtBcAIJFfoBRcbATNPIAA-LXwHRgFLQAASeSIH0KHuLN0OF0G2CoVGrG-CLEMDIqFNABeAdCI5GBHePPYNMkFDgBCCGvCFKFkBEkCyOzEMMbsBVSNCRPGYODHSXMxBMvBEvBKkBVYKqBVFNVVCPVGPNLZKfRvBZJHPJ2BHOF6BC0BZEBPtBLlBKM1C3hCDF4HRiJT-Id8DJiCAAcoD-B2GmC6HgD2KOiBEWQQaoCkBmBSmBAcHKMOeSFWhBYJWBoBEWRwBDkBU6BYgBKmBF0BA0BFSIoBOIWeOeDKWAAzHcvLmBhMkBAcHe4BgCiBQGQJuBKeEDsCCGIAAfMMLSFIvHyB9COuCXQKKwHxBGbebFPZDwBucrKeuBQ6BWQ4LT6GNsGNiHPCSQQCeQWmBDMHBbClCRZBlBWlBWFQGkCQ4BGaDyVAAYAMwCJJHZLBIkBUKUaKaEmBa4BS0BoB8CQsBiBgC6B8CwC8D4CqD6B-BemBWiBVkBQ4CQsBWkBoBsBCShC3CZzBJtCC5BPtBVAFMhBBJdGdpBNS4BQWYkCkBgCuFmIYgC0CkExBLOMaAiBWqBmCNSWKSoBBUMWK6BFOK6DAkCFUIMQiEN1BLUAwBTUFiBJOEeHcKYDOOOboBHUGYPRTWFTbIFYVERWZGjBNTWlCWdPPZGtBOCSSoBMCMSFIPfbvBHZPNhBVTKLTBb7BRCRRMPhBZRBVNDG1BRPQLFJOLVUGKTXADPVPJfDULfJ1BNTBfVhBCWnBJJEBRMAWXEXWjBSRbQVgBHkBhBOLLAXPbA_BBTTRoBfnBMXQNRPEgBqBIaTEvBNRjBNBtBhCTfdnBIDTvBfRVBPZgBUFZcLMzBwBpCARPjBNDJUEgBXHBfLPXAIJpBTEeUBbWwBQIWJ8BRCDNNDpBfEMaWSgBJBNfbTPjBIAIlBG_BLXUhCHBSjCApBJ_CTTEHUOFnBrBfBRLDAZVPFdjBIRFhBKVPHXdJFRXbZHjBbTHDTEZJNvBPVTJZnBlBtBZbBlCnBvBQJILNVGHQPCTSMalBJKSkBCAUlBDZEhBeRIbeTKjBaIfHBhBcLStBCrBUbCNITPN7BGFEqBWiBSLDlBZlBVTtBPOBvC3ByBKOOeOSNTHFQLJFjBbOfHfVWbQCMTDRLUbMDITdHMZKISYDKWSONIxBdzCf3DVtBALFoBDaEKTMOSCCRwBUCJrBrBhCUVCITZUnBUDOdAvCO7BO3BUURyBLedTDRPKTNJN8BZrBVHMwBNcXKCOXYrBOImxCwnCDKVIaRIQLYGdOGTMwCfHMpBWeZFbaUIqFvBVFcNFUKxEHSKagBLDflBIuGlBnBccZMBIuBpBCQVGUVcoFzGNiBEKbkBtBmCGbKFmB_BQnBFbSJOVKCVuBIkBtDFeChBEEIB3CLNKNCcQ1a_GYFSGdQjBRNhBWeQGIlCjDUmBLRHTU6BuBALXlBOAOQASSYGeLJPbIlC5CKSFMDdI_FxHALegBdTS0b7IhB3BuB-BSoBiDsFVZ1BxCbhCXrBIjE9FDJIKDAQtBtFSLKMJ8BM0Cf5BR3BUdK74BpHdRyBFFaNBO6E9BRUlBWbYHBuCxBONIqBjBGGVIQNQla3FMFoBElI6B0CdaBYJsCNGujC8qCDCEBIBNEAAGDFI6IpCGABEDDIgCRECHGEHIrCIGOJFEHINCEMRFOFI-BTIMLHEDI2H1DBIJEMLIcdEANSKRInGpEFQFJMFITJCMNHMDK3EjGFOPBAVWKIdEbLQHMUI_CTFQFNMBI4BDEEDMAPI9TzlBDKHDMFINLAJIIHCI9E3EHGCJGE6C6TtsBYKVcJJNOSQRY1BLMORMoBGDSRchBCTJDKeKdqCJMGkBLOWmB1BK4BGYOCSLEXuBNBBZPKIgBPEcOGVBsBlBZceFOPGaGLWHeSkBCcIl4Bh2B2CJ4FXoGVIAAgGbwDPoEToDAABcHEvB8BL0BOQyBWMDyBuBOGqBFQISkBciBSwBkBeWaQiBUEYYoBSyBiBcyBaQkBKsBgBKaAaqBkBIUQAMaiDoBMWCaciBWsBBUIMAWSQUCgBSSQEWSiBOOA6BKWcWWF0BSMnEsSJrBYNAwCFMHhBMmBnKQPMEXiCPJMrBMWvCKLGcHeLdEPkF8YpkBEQdOhBehBoBTiB1ByDDyCLRZFGxBPwBESgBKQYNWTKDQVSBWjBSPTVSJcQQhBgBNejBaXPITZAIeecXeZEKQpCiBBInBmBRRAWLEdJZRISvBEFIqBCODWInBOuBBESbaaLOTHqBbadKFzBPGChBHKM2BlBTVvBEHdRQaAKWqBBSYYODQURgBbYItBPYBUNYCQwBhgBhmBIBmDxBWBWZqBTmBNOTOEcF-FR-HZOKAaKEgBZ8B6BI0BIImHfiFXUA4FoE8IsGI3GmNDaDPIJ0M-bn4BCWsByBGbGiBUW2B6CTDNZlBxBLEOeSSpBDRPdNZDoBiBYOVWRCvBZsBqBPEpBJTLZHOQyBWhBMFSbWXERRBMRDZ1BIzBVLOWJUEwBkB4BHY8BJcTeHGSKHiBCTJkBZiBJUEBgBQJPiBSeVIUEScFIfASMUFGIGlBNlCQVQMMDTPOFCRaSkBoBBeMePEQWHgBTIVbAcNaP4BLHCabWpBKlBXAiBTLQBPjBJcRKFRVFJRcJIRrBETSSKKsBTFAJlBQZJdAjBHMaYHkBOwBKsCGMQDUZAQQPBhBaiBCMKNYvB0BZEtBZTFVVNBiCkC0BGSMQLWdqBQPXQFOIDXGXWkBPMMMmBZNTiBSHSNCGSXcXsBDQPCFTTLGmBLILdNADOOQnCKJKxBaTdBkBTUNcbWZHUftBnBKeSKDSPEKQSEEQzBmBnByBfiCNWHoBCuCJOChBJvBThBAMQqBA2BRgBnBDrBEbMTB7BkBFFwCpkCrFDlDMX8BHQVE5BcVKTqBb6BPSEWHyBxBSDOVYViBViBDWzBDXKFaIKfuBhBQKGcOASPczBgClBYGWOUTarCiBjBmBANPKvBJPQpBWAAOGuEJkGb0GZ0GjBsHrBqK9B6GrB-JjC8DXIsBJIYZETTEAAQDIAAEEEBCDGAAGAGBcUDwByDoBgCuC8CYqBZPPhBfdJVNALjBvBtCHbhBhCGAAEAGBInQkqBESRDONIS_CElBGBJoBM-D3GQDrBedqBKXwBrBIqJrEIOjBLcBO5DM4BVWG1BI9CsBON4BVQ0GvEQRbuBbmBb2CDHcvCsB_BIwB1CQCZeKfQcdICaXcTDMdShBkBGXagElJUwBAkBKsCBkBnCyBSV0BnBJ_DJbf7BKAQgBMrDzCUFWYAQNAbhBIlFhINPCGGMKx-BwK5CKNM7JsBpJmBiBAAOPmBTiBHYRiBRkBJOpBkCjBILBZMPcTChBYb8ChC4DpEkEAAGSJMWSEWsBmBYASOcKiBFQXWJMZOFwBiBeVgCPYbHVKPQAcMcXkBZQBOQyBtBHZWVBNVRS9B6BhDMpBCpBkB1BChBMLIfBbKrBeGYmBsCMGDWzBIxBORAZKhBOZqBUGDcjCMEQLGRSLGZkB_BFzBKZFjBKTgGqDS5CYAAgCCMMYGEQNcoBeeDYGSYgBEMMIAAKKECGBqJAAQQIkCVIPQQQRMHTJGFkBHgCISLCaURGiBC0BbOPOcLGkBSGWeOuBBIKSNYBGQcMGWuDiBGkBbFSiBDSOMNEIiBdDbXDYrBtBRPfFZZXJJPRHNZTPRCPRbBIMSDOSaCQOGgB4BiBiBmBODGQUCWkBWOgBLKMsBChBWkBOILCUOIGmBFWVZNEXVKWLMSKOenBSjBdddNFXbVNASKCWYSMiBoB4BaUNOUkBSNQUDGODcpBaNVbHjBVJhBPNXMvBJHZBYPQfdNUPPPIdALHFSmBGeFIIQRQUkBMgBFSQQCORMiBEcgBAiBcMUNUKASRsBDCLNPWJ2BKSBMNSIUsB4B6CISMJCHXXpBLAEwBIYIKBDDMJEMiCqB3VNcOgBVeNsBhB2CPsBLUMUTIFUB2BGyBJCRXP1BIpBFVCnBONPDAPQLATODGrBJLkBLHRQBJVZBcfIAAGN2BTcHIpBsIPsBKrBGAKCzBGELoBDBKpBIvFtECUDHBJEAAEBIKAAEDBBBEAAGAINCBCBCADEAAEAIqI7CPiCFJQzBEAAGDQtEkOLtBCVOGFUaKRiBFBIhR9UBXDFRLITJUhB4BmBfwBEAAAAkMqR0IxBGTaHHGVNGKZaddKCVONtBKHKBbiBZTCNLK_BVuBBcRRCfRiBKQBSTTNDhBfFUtBzBCNUGARSNNPHOPAIRJJgBDyBMOBKTDXLiBfJCPVIORTGDTFaRPBTJWPRCoBHDC_BOJkBeOJCTTSJZaTXDfTXWGYNODxBGnBOQaCSTJTavBTSNAFkBGQPFHpBLJQvCOJGTaB6BLzBCJBOdSPcAXPMRFPJcZmBDNM5BTeZCHeWGNgBZaJLBhBJKCiBKMJUVnBZMYGDcTBQWjBLSWSKdQAJbLAKYagBQISdMoBKGKROVJTVBSiBSQgBbFSONGGYMFASLSOUCWMUIuBIMyBqBFgBTDJXVDlBVbtCFCUqCKOcSeKaccHAiBgBiBDKMiBtBfFZHYNHFORZxBHRKTHRvBVLYoBEUfJVTf3BFYrBoBTJNrBU3BULCbUPFrBoChJ7FHHDhBVFGbdALTOJFNpBMNDxBdZKReTAfOMMPIKOJKjBIlBAbNEJPLX6BZmBhBHLKToBVWLYPGfqBJEjBlHKknB1HGiB0EsQsCNmEdWAAJKISVDgBYJ2BNHPUF4BNEFuBIoC9GEeDYF1BEAAGAI7IoJBBDACCIHCFPUPEeIhB1CRAIVKWM4IAMpBCdK3BF8CLgByBtHtYNSAUb8BYeDmBsBqBWMYmBAYQ0BiBaIY-BwBcFWoCLZRGSUbUESUNKIKXWmCIFADBFCCC2EoElmBCaNyCAYPgBRARSEcLMBaOOWEYHwBKRfMCOgBGeEkDO8EDDNvDLKIqBFQISHWBeMSTuBTcSOrBFQcAUNBFcWQhBeKbJDFgBVENOUCSJZwBPoCNKAYTadKBfKxBBRVPbIJJfULThBVTCNPHEnCxBAlBVXMRM7BkBnB2BZMRJRMDMfO6IqGSLNiBVIJJWCGVKwBnEIHdoDAZWlCIfliB-GrBoKtCAGIAA8B4GIuBHwByBAANHXIRQTLDWbAZaXFDQVATUhBDXUfAjBWLZV0BZOAUbFVgBhBQhBkBpBemBkWhQAcNAJZRHTbIiBKGCWVEOIAmBKOIgBBeJUhBIvC0BAHO7B1JmElBS0BMAKoBeQOOK-BuCPYJNR9BANIAAWAEaSoBKnCNFCNnBSQCWMhB8FIWPGFNGXIKKYtFEiBFMH1BKIUURCbKLCaO0BLATYGTHPGZISvBO9BPoBPKiFBnRISRKYISgBTJGMcKBMUBQXSWbiBxBiBSObgBFQKUNBDiBODUaUVJPcQQAcQMSeaWeDGTVAaNIYOcFYiBEYMIoBMqBHCIYTwBjBELFrBTHDYRrBJPZFBWTXaHkBKiBgBYmBDeOBO0BNA_Bc9BmBNBPkBbOPSJBEVR_BXFEUJeVOGQZPEqBfcDLVCAQSqLrBICmBqBJUtBI1BNiCJGnBHHIxEoBKTKcTHWbHUCKWzBQPMLUdNWFa3BcPEUKoF5EGIDoBFCExBInH8HGDGGLBIhBrCAIVKWRIoBtBOBpBqBcnBKrhPiEvJlCxH5BzH7BzFvByEtqB9LTbLjBIvBFPElBajCSdGrBJjBHFAzBedcnByB_CCVMJWAaVMADWKDEbbGXU0BnCYrBODYdfYqBzC0BhEQvBYtBKlBe1BCZS5BajBW1BBFanBGbQhBFTiBbJTUpBDYKMKhBPLY_BFVWpBBfWLMtBA3BMCUcKACeGbNNgBAIUkBCiBLUYKasBSWNIxC7BKMJCANiDwhFyjKWKMeXeRIbatBYvBOlBBda7BeRSDYTWHUXWDL5BjBZHJRHdO5CpB7DVZJbIXefSHWjBSLETZlBFxBMV4BIMWaMcWYBuBQmBSmCuBkBmBC8BcHSSBUOWWUOpWtOKMBa5BEJJoBbUDY5D9DSeLWhBMVCHLDnBZLARaFqBGUQyBoLiBKUJgBTQhBMfBpBWrBDTVEJH1BJHTKlBNbhBDPMlBeNYOasBsBJiBLYE0BwByBQkB9JlFSGVcvBSfD1BP1CGLJIVOJDTkBIuCKMNGQWGqBFWEkC3MxCaUTUJHhBMjBTbBJTQLZHIaJKpBIHFHbRPDRRRAVVTSDyBAYVWdWBUcBIiBqBBgBcWGTSCHWOYU9frJYALwBjBULePFFPGTwBjBETqB6K_BCUPaAoBrBoBTFzBDddjBJJRAVWVIRUFiBVSDUKIJiBBaKQcK2GnoGnCkOyGgByGgB-HkBIAAnB8ItD6YlDgXIn3BjJ8F3e2B5I-F1eIirDncb0KhBsMNqFIAANsFnBmOX-IOAApGR9JdzGVpIdxLtB7JpBK00B8FsFOyHSoISboOIAARsJfkQhBsRIAAnFJ3CF3CFkB6pCj6CtBCAYSaAoBNEEecEIsBPiBBkBJQHoBTaDQMYYYO6B8BAApBFNZNLDbdDTZdBhBRXBjBjBVJhCMfHbKzBJRKTepBJHLtBVjCvBJL1JJhHH3INnFHhHN3IT3KbkC-tCsKcKEUFoBUeBsBGSWWCciBgBAgBIYWgBLwBGgCgBIFSaMJ6BeOPUBaYOHEGcFmBOUEqBFcGQPeKSYMCccAAAYYOAQMWMoBHQUAQWcMFQcoBFgBkBUSAApLA3GAnLFhJH3GHnLNhJP_GNyBuoCiCsBqBaSQCWRUAEYSMEgBFKXDFUTUHePICSakBsBeAcYeCUmBUmBIBOOseWAA3HClFC5HApKDlFB5HFrKLpKLrKRhIPImzCiCC6BA4BC0DIAAuB-Ja-FD8YgB8e_tEAMUwBeKKcVoBDQSwDQaEcMWcS6BIeIcwBDQoCAADKmBgBeQSaEgBUSmBSYUMmBFmCHefgBLmBCcfezBSTYNG_CMTYL8BIeeSQgBEqBFQnB6BH6BTWjBMdQHaOQA0BTIaAAhBZDLvBjBRdnCIpEI_HS9EC7EI9EE3EB_IF4DquBgCRgBD-BMsCScAmBWaOqB8CuCUkB0C4BQSSiBAaMUFQIgBSgBaUOJUdSDUIgBGkBSWYXoBEwBTuBP0BNeFgBQqBUQSYUMeemBWeCiBeoBSeuBkBOOmBBYgB2BAkBVaASUKAOkB2BBMaWSELjBOBIQaeUBUAACuBHOI0BT8BPSLBbZJOJ0BIAARWJBETIAAFXXAGaSAAO0BJQXGSmBnBGiBuBVUNwBmBAArHWBJe1BOHKVaNGTSPAlBVVRjBhKSlGKlGIlGInJKlGElGEKulCp5CpHSlJSvFKtHM0B1R17BQUgBO0BJkCdYDqBXwBhBCMcNoBbYJcIMWNmBLIDaESZsBQCmBRMbYWeQkBKOFgDod-SHUAaNOpBQDaTkBPmBDeHSAgBMIYDETSTWLcpCOP0BXceOEH0BTqBLkBDkCHgBWoBDUlBmBLqBHoBCuBMUCgBX8BB2BPsBHwBKoBBaKMFiBWaEmBUcGwBHYIqCI7jBv9BNAMLCMMgEKFSjBFIJcJGIIrCGGLSSXFKuD_BASRQCbQFQxBoDTIHUdSATeZYLEMsBilBoULFFWGURBSSJWLAR2BIIhB4BZHNhBIlBYbM1BQCONGfKTeEBeMmBtCBWhBAGlBaEEMQ7F-pBCiDekCWQMWIoBemCUaoCAA-C2hBVOHSMqBTYASWSMgBQOEYFSWyBJmBVSBYLUIQRUTKESVeFgBLHHQNHNqBYWfeWGZQIiCZGaWPOSEuBAADaXaHcgB0BLW_BSTOhBINgBEiBeqBFiBJMZAbPlDnBRBdMNQd2BCMWYsEiL3MiBIQVNhBOLiBUsBNAcIGSPF1BWaqBRuCgBUESYKHMnBSVUDkBdUgBMIiBBDSUDCXUFApBUTGPJTaGSPRHOHWQGiBkBSaAWUGLYJOZC_BWrBQIkBVK5BINWFejBGPJPNzBuBNWAcSODuBlBiBPcABRIdhBJORAPPPDNQRgBwZuGCUOeCcHGFoBqB0BcYFMcWKciBeKauBUaa4BEgBhR8PVMhKcxFQrDOnHSvECdG3EQzJgBNLnCBO0BCkB5FO3JYEXAXCuBrBoHSYCWPHVUYSVW1BcDOQYNYOYfSBcbgBFSEeOqBFeZBNoBfSCEMsXniDkBeuBIeF4BZ6BpBKyjFk4GHabRIHcAU6hBADDxBMnBCHNSAaPkBFqBITSKcrCXZiBGLGCOkE1ECQWTOLDfMVeHUNGGOZSVIbDrBKlBOHNLKVDPLlBKVT1BOpCJDHTUtBEJIPPhBDTMdHFOHbUHPJIPGvBILRnBRDNfwBVDdcP0CQuBFWIwBFWG0BEkBHiBKUFqBOIHOWWDbTwBOKJ8BMYOKDOOgBIQLA0B","geoms":"eCGACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCOCCCCCCtBCCKwBCCC5CCCI8CCCrDCCKuDCCC7DeCE-DCCGCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCMCCCC3F6FCCQCCCCCClHoHaCOCCCCC7H-HCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCICCCpJCCKsJCCC3KeCE6K_KCCiLCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCKCCCCCQCKCCCCxNCC0NCCCCCCCCCCCCCCCCCCCCKlOoOCCCOCKrPuPCCCCCCCCCCCCCCCCCCCCCqLCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCqBCICzb2bCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCKCKC_oBipBCCCCCCCCCCCCCCGCKC_qBirBCCCECCCCCyCCKC9rBgsBCjsBCCmsBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCICMC9uBM0uBCCCCCCCCCCCECGClyBoyBCCCaCKC1yBMsyBCCICCCCCECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUCWCj0Bm0BCCCCC70B-0B10BCE40B70BCE-0BCCCCCCCCECCCECCCECCCECCCCCCCIC72B-2BCKCSCBj4BmBi3BhgBkgBCx3BCE03BCCKC_3BHq4Bl4BCCo4BCECx4BCCKNwYygBn5Bq5BGCGvgBTmhBCCCCCCCCIlhBohBCCMCGCt6Bw6BCECCCCCCCCCCCCCCQCQCj7BIgZlBHsjBp7BCCs7BCCCCCCCCCCCCCCCCCCECMrepB4fplB8NwXCCCQCCCCCCCCCCCCCCCCCCCCCCCCCCKCC3lB6lBtgBCCM3d6dN8gBCCCCKv-ByYNpXgdCCM_d4-BCChnBxXCCMwdHH2hBC7-BCCMBLs_BCCn_BCCIBL4_BCCCMxnB9XNggCC7nBCCM5XydmiBCC__BCCUBP0gCCCCCC1gCEQCM0gC7gCme4iB9iBgjBCCCCCCCCCCCCCCCCCCCCCCCMzhCEPiiCCCECO7hChBgjC9kBglBp8Bs8BCECniCCCMqLuB-LnYRuiCCCUxjCmBjBoBlBgHmBUkDOCCK-RRpYuB5GCCKkeheEojClkBICCokBCCCCCCCCC","inner":"2DEACKiBCCCCGECCEECGECCCCEECIeCCCEECGECCGECCCEEeCCECEIgBCCCGGCCKgYCxXCCGECCE8LCGsBCCGMCCCCCIG2CCCCKEGCCECECEKYCCCCCKEQHCECIEGCCECCCGEUCCGCECcCaGCCCGCCCECCGCCCECCECCGCCCMCCCCCCCCEWCCCCCCCCCCC","outer":"8FCKCCCECCCECCCGCwBCCCCCCCGCECECCCsBCECECECeCQCCCCCUCCCCCCCECWCCCCCECCCICCCYCCCCCCCCCCCKCCCCCCCCCCCECICECCCECUCGCuCCGCKCOCECECaCECKCGCKCQCsCCYCuCCCC0BCCCCCsBCsBC6BCGCECQCCCCCCCCCCCCCCCgCCGCCCCsD7ekBOMaGIDsYNMPB_Y2YlZiZLOPlBgBFfjBmBpBsBvBgBlBFNxCHENPtB3LHdCyXneeMIG8exe0eQQCCCCCE","group":"A"}; function __gvOr(a,b){return a?a:b()};function __gvAnd(a,b){return a?b():a};function __gvLe(a,b){return b>=a};function __gvLt(a,b){return b>a};var __gvRuntime=(()=>{var te=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var fn=Object.getOwnPropertyNames;var gn=Object.prototype.hasOwnProperty;var bn=(t,n)=>{for(var r in n)te(t,r,{get:n[r],enumerable:!0})},yn=(t,n,r,o)=>{if(((n?typeof n=="object":!1)?!0:typeof n=="function"))for(let e of fn(n))((!gn.call(t,e)?e!==r:!1)?te(t,e,{get:()=>n[e],enumerable:(!(o=hn(n,e))?!0:o.enumerable)}):!1);return t};var xn=t=>yn(te({},"__esModule",{value:!0}),t);var gr={};bn(gr,{MOBILE_BREAKPOINT:()=>mn,mount:()=>fr,primaryAxis:()=>de,visible:()=>pn});var kn=["map-states","map-counties","map-world","map-dots"];function ge(t){return kn.includes(t)}var be=["line","slope"];var wn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Mn=new Map([...wn].map((t,n)=>[t,n])),vn=10;function ee(t){let n=[],r=0,o=1;for(let e of t){let a=Mn.get(e);if(a===void 0)throw new Error("Unreadable map geography");r+=a%32*o,a>=32?o*=32:(n.push(r%2?-(r+1)/2:r/2),r=0,o=1)}return n}function $n(t,n){let r=ee(t),o=[],e=0,a=0,s=0;for(;(r.length)>(e);){let c=r[e++],i=[];for(let m=0;(c)>(m);m++)a+=r[e++],s+=r[e++],i.push([a/n,s/n]);o.push(i)}return o}function ye(t,n){let r=[];return n.forEach((o,e)=>{let a=o>=0?t[o]:[...t[-o-1]].reverse();for(let s=e?1:0;(a.length)>(s);s++)r.push(a[s])}),r}var xe=t=>String(Math.round(t*10)/10),ke=(t,n)=>t.length?`M${t.map(([r,o])=>`${xe(r)} ${xe(o)}`).join("L")}${n?"Z":""}`:"";function Cn(t){var e;let n=0,r=0,o=0;for(let a=0,s=t.length-1;(t.length)>(a);s=a++){let c=t[s][0]*t[a][1]-t[a][0]*t[s][1];n+=c,r+=(t[s][0]+t[a][0])*c,o+=(t[s][1]+t[a][1])*c}return n?{area:n/2,c:[r/(3*n),o/(3*n)]}:{area:0,c:(e=t[0])!=null?e:null}}function we(t){var h;let n=$n(t.arcs,(h=t.q)!=null?h:vn),r=!!t.sphere,o=ee(t.geoms),e=0,a=0,s=t.ids.map((f,b)=>{var F,G,y;let x=o[e++],g="",k=null,P=-1,N=[];for(let R=0;(x)>(R);R++){let _=o[e++],V=[];N.push(V);for(let S=0;(_)>(S);S++){let M=o[e++],I=[];for(let O=0;(M)>(O);O++)a+=o[e++],I.push(a);let B=ye(n,I);if(r){V.push(B);continue}if(g+=ke(B,!0),S===0){let{area:O,c:Y}=Cn(B);(Math.abs(O)>P?(P=Math.abs(O),k=Y):!1)}}}return{id:f,name:(F=t.names[b])!=null?F:f,code:(y=(G=t.codes)==null?void 0:G[b])!=null?y:"",d:g,anchor:k,...r?{polygons:N}:{}}}),c=f=>{var N;let b=ee(f),x=0,g=0,k=[],P=(N=b[x++])!=null?N:0;for(let F=0;(P)>(F);F++){let G=b[x++],y=[];for(let R=0;(G)>(R);R++)g+=b[x++],y.push(g);k.push(ye(n,y))}return k},[i,m,p]=[c(t.inner),c(t.outer),c(t.group)],l=f=>r?"":f.map(b=>ke(b,!1)).join("");return{id:t.id,w:t.w,h:t.h,features:s,inner:l(i),outer:l(m),group:l(p),...r?{sphere:!0,lines:{inner:i,outer:m,group:p}}:{}}}var mt={orange:"#F79945",turquoise:"#12A07F",fuchsia:"#AC00E8",azure:"#3977F3",earth:"#3C3830",red:"#F5515B"},nt={primary:"#3C3830",secondary:"#777777",grid:"#E0E0E0",muted:"#C9C5BD",darkPrimary:"#F0EDE6",darkSecondary:"#B3ADA3",darkGrid:"#4A4640",darkMuted:"#6B665E"},$e={white:"#FFFFFF",smog:"#F0F0F0",lavender:"#D3C8FF",celery:"#E6FFA0",sky:"#C5E0F7",butter:"#FFF1C7",blush:"#FFD6DA"};function Me(t,n,r){let o=t.replace("#",""),e=n.replace("#","");return`#${[0,2,4].map(s=>{let c=parseInt(o.slice(s,s+2),16),i=parseInt(e.slice(s,s+2),16);return Math.round(c+(i-c)*r).toString(16).padStart(2,"0")}).join("")}`.toUpperCase()}var bt=mt;var Dt="#D9D7D2",Pt="#3A3733",Ce="#EDEBE6",Te="#2E2B28",ve="#F5EDDA",Tn="#EF6C4A",Rt=t=>[Me(t,"#FFFFFF",.8),t.toUpperCase(),Me(t,"#000000",.45)],kr=[{id:"seq-orange",label:"Orange",kind:"sequential",stops:Rt(bt.orange)},{id:"seq-turquoise",label:"Turquoise",kind:"sequential",stops:Rt(bt.turquoise)},{id:"seq-azure",label:"Azure",kind:"sequential",stops:Rt(bt.azure)},{id:"seq-fuchsia",label:"Fuchsia",kind:"sequential",stops:Rt(bt.fuchsia)},{id:"div-turquoise-coral",label:"Turquoise to coral",kind:"diverging",stops:[bt.turquoise,ve,Tn]},{id:"div-azure-orange",label:"Azure to orange",kind:"diverging",stops:[bt.azure,ve,bt.orange]}];function re(t){let n=t.parentElement;for(;n;){let o=getComputedStyle(n).backgroundColor.match(/rgba?\(([\d.]+),\s*([\d.]+),\s*([\d.]+)(?:,\s*([\d.]+))?\)/);if((o?((o[4]===void 0?!0:parseFloat(o[4])>.5)):!1)){let e=(.299*+o[1]+.587*+o[2]+.114*+o[3])/255;return{color:`rgb(${o[1]},${o[2]},${o[3]})`,dark:(.5)>(e)}}n=n.parentElement}return{color:null,dark:!1}}function Gt(t,n,r,o,e=1){let a=(i,m)=>`${(0)>(i)?"\u2212":""}${n}${m}${r}`;return{axis:(i,m)=>{let p=i*e>=1e4,l=((m?m:1))*e,h=i*e,f=p?t.formatPrefix(`.${o!=null?o:t.precisionPrefix(l,h)}`,h):t.format(`,.${o!=null?o:t.precisionFixed(l)}f`);return b=>(p?b===0:!1)?a(0,"0"):a(b,f(Math.abs(b*e)).replace("G","B"))},value:i=>{let m=Math.abs(i*e),p=o!=null?o:Sn(m),l=t.format(`,.${p}~f`);return a(i,l(m))}}}function Sn(t){return t>=100?0:t>=10?1:((t>=1?!0:t===0)?!0:!Number.isFinite(t))?2:Math.min(20,Math.max(2,Math.ceil(-Math.log10(t))+1))}function $t(t,n,r,o){let[e,a]=r,s=t.tickStep(e,a,o);return Gt(t,n.prefix,n.suffix,n.decimals,n.multiply).axis(Math.max(Math.abs(e),Math.abs(a)),s)}function Fe(t,n,r){let{xKind:o,x:e}=n.data,a=n.style.xFormat;if(o==="year")return s=>String(s);if(o==="number"){let s=Gt(t,a.prefix,a.suffix,a.decimals,a.multiply);return c=>s.value(Number(c))}if(o==="date"){let s=e.map(l=>String(l)),c=s.every(l=>l.endsWith("-01-01")),i=s.every(l=>l.endsWith("-01")),m=c?"%Y":i?r?"%b \u2019%y":"%b %Y":"%b %-d, %Y",p=t.utcFormat(m);return l=>p(l instanceof Date?l:new Date(String(l)+(String(l).length===10?"T00:00:00Z":"")))}return s=>String(s)}function Le(t){return new Date(String(t)+"T00:00:00Z")}function En(t,n){var r;return n?"#1A1A1A":(r=$e[t.style.background])!=null?r:"#FFFFFF"}function ne(t){let n=t.replace("#",""),r=n.length===3?n.split("").map(o=>o+o).join(""):n.slice(0,6);return[0,2,4].map(o=>__gvOr(parseInt(r.slice(o,o+2),16),()=>(0)))}function Fn([t,n,r]){return`#${[t,n,r].map(o=>Math.round(Math.max(0,Math.min(255,o))).toString(16).padStart(2,"0")).join("")}`.toUpperCase()}function zt(t,n,r){let o=ne(t),e=ne(n);return Fn(o.map((a,s)=>a+(e[s]-a)*r))}function Ht(t){let[n,r,o]=ne(t).map(e=>{let a=e/255;return (.03928)>=(a)?a/12.92:((a+.055)/1.055)**2.4});return .2126*n+.7152*r+.0722*o}function vt(t,n){let[r,o]=[Ht(t),Ht(n)].sort((e,a)=>a-e);return(r+.05)/(o+.05)}function Ln(t,n){if(!n)return t;let r=t.toUpperCase();return r===mt.earth?nt.darkPrimary:r===nt.muted.toUpperCase()?nt.darkMuted:t}var Se=.58,It=.45,An=.7,Ee=new Map;function Dn(t,n){let r=`${t}|${n}`,o=Ee.get(r);if(o)return o;let e=Ht(t),a=0,s=1/0;for(let m=0;(206)>=(m);m++){let p=-It+m/206*(It+Se),l=Math.abs(Ht((0)>(p)?zt(n,"#FFFFFF",-p):zt(n,"#000000",p))-e);((s)>(l)?([a,s]=[p,l]):!1)}let c=(a+It)/(It+Se),i=zt(n,"#FFFFFF",c*An);return Ee.set(r,i),i}function yt(t,n,r){var e;if(!r)return n;let o=(e=t.style.paletteId)!=null?e:"";if(o.startsWith("tonal-")){let a=mt[o.slice(6)];if(a)return Dn(n,a)}return Ln(n,r)}function at(t,n,r){var o,e;return yt(t,(e=(o=t.data.series[n])==null?void 0:o.color)!=null?e:mt.orange,r)}function xt(t,n,r,o=4.5){let e=En(t,r);if(vt(n,e)>=o)return n;let a=r?"#FFFFFF":"#000000";for(let s=.05;(1)>(s);s+=.05){let c=zt(n,a,s);if(vt(c,e)>=o)return c}return a}function Ot(t){return vt("#FFFFFF",t)>=4.5?"#FFFFFF":vt(nt.primary,t)>=4.5?nt.primary:vt("#FFFFFF",t)>=vt("#000000",t)?"#FFFFFF":"#000000"}var ae={w:975,h:610,scale:1300,x:487.5,y:305},Bt=ae.scale,Ae=ae.x,De=ae.y,Pe=[[Ae+.29*Bt,De+.17*Bt],[Ae+.41*Bt,De+.234*Bt]];function Ge(t,n){let r=t.querySelector(`.${n}`);(r?!0:(r=t.ownerDocument.createElement("div"),r.className=n,r.setAttribute("role","presentation"),t.appendChild(r)));let o=r,e=null,a=null,s=()=>{o.style.display="none"},c=m=>{((m===a?!0:!e)?!0:(m.pointerType==="touch"?(e(),e=null):!1))},i=t.ownerDocument;return i.addEventListener("pointerdown",c),{show(m,p,l){o.innerHTML=m,o.style.display="block";let h=o.offsetWidth,f=o.offsetHeight,b=t.clientWidth,x=p+14;(x+h>b?(x=p-h-14):!1),((0)>(x)?(x=Math.max(0,Math.min(b-h,p-h/2))):!1),o.style.left=`${x}px`,o.style.top=`${Math.max(0,l-f-12)}px`},hide:s,bind(m,p,l){let h=()=>{(l==null?!0:l()),s()};m.on("pointermove.gvtip",(f,b)=>p(f,b)).on("pointerdown.gvtip",(f,b)=>{((f.pointerType!=="touch"?f.pointerType!=="pen":!1)?!0:(a=f,e=h,p(f,b)))}).on("pointerleave.gvtip",f=>{(f.pointerType!=="touch"?h():!1)})},destroy(){i.removeEventListener("pointerdown",c)}}}function ct(t){return t.replace(/[\x26\x3c>"]/g,n=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;",'"':"\x26quot;"})[n])}function it(t,n,r,o){let e=a=>a.replace(/[\x26\x3c>]/g,s=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;"})[s]);return`\x3cdiv class="${t}">\x3ci style="background:${n}">\x3c/i>\x3cspan>${e(r)}\x3c/span>\x3cb>${e(o)}\x3c/b>\x3c/div>`}var Ve=["VT","NH","MA","RI","CT","NJ","DE","MD","DC"],Pn={CA:[80,318],FL:[790,534],ID:[192,163],KY:[703,315],LA:[562,460],MI:[683,199],NC:[816,350]},Gn=560;function Vn(t,n,r){var i,m,p;let o=t.style.map,e=n?Pt:Dt,a=(m=(i=t.data.series[0])==null?void 0:i.values)!=null?m:[],s=(p=t.data.map)==null?void 0:p.categories;if(s){let l=new Map(o.categories.map(h=>[h.name,h.color]));return h=>{var f;return (s[h]!==null?s[h]!==void 0:!1)?(f=l.get(s[h]))!=null?f:nt.muted:e}}if((o.continuous?o.stops.length>=2:!1)){let l=r.scaleLinear().domain(o.stops).range(o.colors).interpolate(r.interpolateLab).clamp(!0);return h=>(a[h]===null?!0:a[h]===void 0)?e:l(a[h])}if(!o.colors.length)return()=>e;let c=r.scaleThreshold().domain(o.thresholds).range(o.colors);return l=>(a[l]===null?!0:a[l]===void 0)?e:c(a[l])}function Ct(t,n){for(let[r,o]of Object.entries(n))t.style.setProperty(r,o,"important")}var _n=t=>{var o,e;let n=["th","st","nd","rd"],r=t%100;return`${t}${(e=(o=n[(r-20)%10])!=null?o:n[r])!=null?e:n[0]}`},_e=new WeakMap;function Nn(t,n){let r=t.width/n.w,o=n.features.map(e=>e.d).join("");return{height:Math.ceil(n.h*r),transform:`scale(${r})`,unit:1/r,d:e=>e.d,anchor:e=>e.anchor?[e.anchor[0]*r,e.anchor[1]*r]:null,land:()=>o,inner:()=>n.inner,outer:()=>n.outer,group:()=>n.group,sphere:()=>"",graticule:()=>""}}function Re(t,n){var i;if((t.sphere?!0:((i=n.data.map)!=null?i.pr:!1)))return t;let[[r,o],[e,a]]=Pe,s=m=>{let[p,l]=m.split("L")[0].split(" ").map(Number);return __gvAnd(__gvAnd((p>=r?(e)>=(p):!1),()=>(l>=o)),()=>((a)>=(l)))},c=m=>m.split("M").filter(p=>(p?!s(p):p)).map(p=>`M${p}`).join("");return{...t,features:t.features.filter(m=>!m.id.startsWith("72")),inner:c(t.inner),outer:c(t.outer),group:c(t.group)}}function Rn(t){let n=0;for(let r=0,o=t.length-1;(t.length)>(r);o=r++)n+=t[o][0]*t[r][1]-t[r][0]*t[o][1];return n}function In(t){let n=r=>(r.length>=4?Math.abs(Rn(r))>1e-6:!1);return t.features.map(r=>{var o;return{type:"MultiPolygon",coordinates:((o=r.polygons)!=null?o:[]).filter(e=>__gvAnd(e.length,()=>(n(e[0])))).map(e=>[e[0],...e.slice(1).filter(n)])}})}function Ne(t,n,r,o=In(n)){let{d3:e,spec:a}=t,s=a.style.map,c=s.projection==="globe",i={type:"GeometryCollection",geometries:o},m={type:"Sphere"},p,l;if(c)l=Math.min(t.width,Gn),p=e.geoOrthographic().rotate([r[0],r[1]]).fitExtent([[4,4],[t.width-4,l-4]],m);else{let x=(s.sphere?!0:s.graticule)?m:i;p=e.geoEqualEarth().fitWidth(t.width,x),l=Math.ceil(e.geoPath(p).bounds(x)[1][1])+1}let h=e.geoPath(p),f=new Map(n.features.map((x,g)=>[x.id,o[g]])),b=x=>{var g;return(g=h({type:"MultiLineString",coordinates:x}))!=null?g:""};return{height:l,transform:null,unit:1,d:x=>{var g;return(g=h(f.get(x.id)))!=null?g:""},anchor:x=>{let g=h.centroid(f.get(x.id));return (Number.isFinite(g[0])?Number.isFinite(g[1]):!1)?g:null},land:()=>{var x;return(x=h(i))!=null?x:""},inner:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.inner)!=null?g:[])},outer:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.outer)!=null?g:[])},group:()=>{var x,g;return b((g=(x=n.lines)==null?void 0:x.group)!=null?g:[])},sphere:()=>{var x;return(((c?!0:s.sphere))?(x=h(m))!=null:!1)?x:""},graticule:()=>{var x;return (s.graticule?(x=h(e.geoGraticule10()))!=null:!1)?x:""}}}function Ie(t,n){var H,X,E,u;let{d3:r,spec:o,svg:e}=t,a=o.data.map,s=o.style.map,c=(!!n.sphere?s.projection==="globe":!1),i=(H=s.center)!=null?H:[0,20],m=_e.get(t.chartEl),p=((m?m.center[0]===i[0]:!1)?m.center[1]===i[1]:!1)?m:{center:i,rotate:[-i[0],-i[1]]};_e.set(t.chartEl,p);let l=n.sphere?Ne(t,n,p.rotate):Nn(t,n),h=o.type==="map-dots",f=Vn(o,t.dark,r),b=(E=(X=o.data.series[0])==null?void 0:X.values)!=null?E:[],x=new Map(a.ids.map((d,T)=>[d,T]).filter(([d])=>d!==null)),g=b.map((d,T)=>[d,T]).filter(([d])=>d!==null).sort((d,T)=>T[0]-d[0]),k=new Map;g.forEach(([d,T],v)=>k.set(T,(v>0?g[v-1][0]===d:!1)?k.get(g[v-1][1]):v+1));let P=(u=t.page)!=null?u:t.dark?"#1A1A1A":"#FFFFFF",N=(d,T,v)=>Ct(d,{fill:"none",stroke:T,"stroke-width":`${v}px`,"vector-effect":"non-scaling-stroke","stroke-linejoin":"round","pointer-events":"none"}),F=t.id("map-shadow"),G=l.unit;e.append("defs").append("filter").attr("id",F).attr("x","-5%").attr("y","-5%").attr("width","110%").attr("height","110%").append("feGaussianBlur").attr("stdDeviation",2.5*G);let y=e.append("g").attr("class",t.cls("map"));(l.transform?y.attr("transform",l.transform):!1);let R=y.append("path").attr("class",t.cls("shadow")).attr("filter",`url(#${F})`).attr("transform",`translate(${2*G},${2.5*G})`);Ct(R.node(),{fill:t.dark?"#000000":mt.earth,opacity:"0.25",stroke:"none","fill-rule":"evenodd","pointer-events":"none"});let _=y.append("path").attr("class",t.cls("sphere"));Ct(_.node(),{fill:c?t.dark?"#23282C":"#EEF3F6":"none",stroke:t.dark?nt.darkMuted:nt.muted,"stroke-width":"0.75px","pointer-events":"none"});let V=y.append("path").attr("class",t.cls("graticule"));N(V.node(),t.dark?nt.darkGrid:nt.grid,.5);let S=(d,T)=>{var Z,Q;if(d===void 0)return`\x3cdiv class="${t.cls("tip-title")}">${ct(T)}\x3c/div>\x3cdiv class="${t.cls("tip-row")}">\x3cspan>No data\x3c/span>\x3c/div>`;let v=b[d],L=`\x3cdiv class="${t.cls("tip-title")}">${ct(o.data.x[d])}\x3c/div>`;(a.categories?(L+=it(t.cls("tip-row"),f(d),"Category",(Z=a.categories[d])!=null?Z:"None")):!1),(v!=null?(L+=it(t.cls("tip-row"),(a.categories?!0:h)?"transparent":f(d),o.data.series[0].label,t.fmtValue(v)),((!h?g.length>2:!1)?(L+=it(t.cls("tip-row"),"transparent","Rank",`${_n(k.get(d))} of ${g.length}`)):!1)):!1);for(let q of(Q=a.tips)!=null?Q:[])(q.values[d]?(L+=it(t.cls("tip-row"),"transparent",q.label,q.values[d])):!1);return L},M=y.append("g").selectAll("path").data(n.features).join("path").attr("class",t.cls("place")).each(function(d){let T=x.get(d.id);Ct(this,{fill:h?t.dark?Te:Ce:T===void 0?t.dark?Pt:Dt:f(T),stroke:"none","fill-rule":"evenodd"})}),I=y.append("path");N(I.node(),P,n.id==="us-counties"?.4:.75);let B=y.append("path");N(B.node(),P,1.2);let O=y.append("path").attr("class",t.cls("map-hover"));N(O.node(),t.dark?nt.darkPrimary:mt.earth,1.5),O.style("display","none");let Y=null;(h?!0:t.tooltip.bind(y,d=>{let T=d.target.__data__;if((!T?!0:!d.target.classList.contains(t.cls("place"))))return;let[v,L]=r.pointer(d,t.chartEl);Y=T,O.attr("d",l.d(T)).style("display",null),t.tooltip.show(S(x.get(T.id),T.name),v,L)},()=>{Y=null,O.style("display","none")}));let K=()=>{};if(h){let d=s.domain?Math.max(Math.abs(s.domain[0]),Math.abs(s.domain[1])):0,T=s.symbolMax*Math.min(1,t.width/600)*(t.mobile?.8:1),v=D=>(D===null?!0:!d)?3.5:Math.max(1.5,T*Math.sqrt(Math.abs(D)/d)),L=new Map(n.features.map(D=>[D.id,D])),Z=o.data.x.map((D,w)=>({i:w,r:v(b[w])})).sort((D,w)=>w.r-D.r),Q=D=>a.categories?f(D):mt.turquoise,q=n.sphere?1:t.width/n.w,et=D=>{var ut;let w=(ut=a.xy)==null?void 0:ut[D];if(w)return[w[0]*q,w[1]*q];let U=a.ids[D]?L.get(a.ids[D]):void 0;return U?l.anchor(U):null},A=e.append("g").selectAll("circle").data(Z).join("circle").attr("class",t.cls("symbol")).attr("r",D=>D.r).each(function(D){Ct(this,{fill:Q(D.i),"fill-opacity":d?"0.78":"0.9",stroke:P,"stroke-width":"0.75px"})});K=()=>A.each(function(D){var U,ut;let w=et(D.i);this.setAttribute("cx",String((U=w==null?void 0:w[0])!=null?U:0)),this.setAttribute("cy",String((ut=w==null?void 0:w[1])!=null?ut:0)),this.style.setProperty("display",w?"":"none")}),t.tooltip.bind(A,(D,w)=>{let[U,ut]=r.pointer(D,t.chartEl);t.tooltip.show(S(w.i,o.data.x[w.i]),U,ut)})}let tt=()=>{R.attr("d",c?l.sphere():l.land()),_.attr("d",l.sphere()),V.attr("d",l.graticule()),M.attr("d",d=>l.d(d)),I.attr("d",l.inner()),B.attr("d",l.group()),(Y?O.attr("d",l.d(Y)):!1),K()};if(tt(),c){let d=Math.min(t.width,l.height)/2,T=r.drag().on("drag",v=>{let L=75/d;p.rotate=[p.rotate[0]+v.dx*L,Math.max(-85,Math.min(85,p.rotate[1]-v.dy*L))],l=Ne(t,n,p.rotate),tt()});e.call(T).style("touch-action","none").style("cursor","grab")}if((o.type==="map-states"?s.labels:!1)){let d=e.append("g").attr("class",t.cls("map-labels")).style("pointer-events","none"),T=n.features.map(q=>({f:q,a:l.anchor(q)})).filter(q=>!!q.a),v=T.filter(q=>Ve.includes(q.f.code)).sort((q,et)=>q.a[1]-et.a[1]),L=(520)>(t.width),Z=(q,et,A,D,w)=>d.append("text").attr("class",t.cls("map-label")).attr("x",q).attr("y",et).attr("dy","0.35em").attr("text-anchor",A).style("fill",D).style("fill-opacity","0.8").text(w),Q=t.width/n.w;for(let{f:q,a:et}of T){if((!q.code?!0:Ve.includes(q.code)))continue;let A=x.get(q.id),D=Pn[q.code],[w,U]=D?[D[0]*Q,D[1]*Q]:et;Z(w,U,"middle",A===void 0?t.dark?nt.darkPrimary:nt.primary:Ot(f(A)),q.code)}if(!L){let q=t.width-16*Q,et=-1/0;for(let{f:A,a:D}of v){et=Math.max(D[1],et+14);let w=d.append("line").attr("x1",D[0]).attr("y1",D[1]).attr("x2",q-14).attr("y2",et);Ct(w.node(),{stroke:t.dark?nt.darkMuted:nt.secondary,"stroke-width":"0.75px"}),Z(q,et,"end",t.dark?nt.darkPrimary:nt.primary,A.code)}}}return l.height}var kt=8,Vt=2,oe=Vt+kt+13,ze=oe+5;function He(t,n,r,o){var b,x,g,k,P,N,F,G;if(!n)return;let e=r.style.map,a=r.data.map,s=t.dark?nt.darkSecondary:nt.secondary,c=t.dark?Pt:Dt,i=new Set(a.ids.filter(y=>y!==null)),m=(r.type!=="map-dots"?o.features.some(y=>!i.has(y.id)):!1),p=(y,R)=>`\x3cspan class="${t.cls("legend-item")}">\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3crect width="12" height="12" rx="2" fill="${y}"/>\x3c/svg>${ct(R)}\x3c/span>`,l=m?p(c,__gvOr(e.noDataLabel,()=>("No data"))):"",h=y=>{if(!m)return{svg:"",width:0};let R=__gvOr(e.noDataLabel,()=>("No data")),_=Vt+kt/2;return{svg:`\x3crect class="${t.cls("legend-nodata")}" x="${y}" y="${_-5}" width="10" height="10" rx="2" fill="${c}"/>\x3ctext x="${y+16}" y="${_}" dy="0.35em" class="${t.cls("legend-key")}">${ct(R)}\x3c/text>`,width:40+R.length*7.5}},f="";if(e.categories.length)f=e.categories.map(y=>p(y.color,y.name)).join("")+l;else if(r.type==="map-dots"){let y=e.domain?Math.max(Math.abs(e.domain[0]),Math.abs(e.domain[1])):0,R=e.symbolMax*Math.min(1,t.width/600)*(t.mobile?.8:1),_=V=>R*Math.sqrt(V/y);if((y?e.sizeTicks.length:!1)){let V=_(e.sizeTicks[e.sizeTicks.length-1]),S=V*2+7,M=[];[...e.sizeTicks].reverse().forEach((K,tt)=>M.push(Math.max(S-2*_(K),tt?M[tt-1]+12:7)));let I=V*2+70,B=Math.max(S+3,M[M.length-1]+8),O=`stroke:${s} !important;fill:none !important`,Y=[...e.sizeTicks].reverse().map((K,tt)=>{let H=S-2*_(K);return`\x3ccircle cx="${V+1}" cy="${S-_(K)}" r="${_(K)}" style="${O};stroke-width:1px"/>\x3cpolyline points="${V+1},${H} ${V*2+4},${H} ${V*2+8},${M[tt]}" style="${O};stroke-width:0.5px"/>\x3ctext x="${V*2+11}" y="${M[tt]}" dy="0.35em" class="${t.cls("legend-label")}">${ct(t.fmtValue(K))}\x3c/text>`}).join("");f=`\x3csvg width="${I}" height="${B}" aria-hidden="true">${Y}\x3c/svg>`}}else if(((e.continuous?e.stops.length>=2:!1)?e.stops[0]!==e.stops[e.stops.length-1]:!1)){let y=Math.min(260,t.width-20),R=t.id("legend-grad"),_=e.colors.map((M,I)=>`\x3cstop offset="${I/(e.colors.length-1)*100}%" stop-color="${M}"/>`).join(""),V=[e.stops[0],e.stops.length===3?e.stops[1]:null,e.stops[e.stops.length-1]].map((M,I)=>M===null?"":`\x3ctext x="${I/2*y}" y="${oe}" text-anchor="${["start","middle","end"][I]}" class="${t.cls("legend-label")}">${ct(t.fmtValue(M))}\x3c/text>`).join(""),S=h(y+24);f=`\x3csvg width="${y+S.width+4}" height="${ze}" aria-hidden="true">\x3cdefs>\x3clinearGradient id="${R}">${_}\x3c/linearGradient>\x3c/defs>\x3crect class="${t.cls("legend-step")}" y="${Vt}" width="${y}" height="${kt}" rx="${kt/2}" fill="url(#${R})"/>${V}${S.svg}\x3c/svg>`}else if((e.colors.length===1?!0:((e.continuous?e.stops.length>=2:!1)?e.stops[0]===e.stops[e.stops.length-1]:!1))){let y=(x=(b=e.domain)==null?void 0:b[0])!=null?x:e.stops[0];f=(y===void 0?"":p(e.colors[0],t.fmtValue(y)))+l}else if(e.colors.length){let y=e.colors.length,R=(P=(k=(g=e.domain)==null?void 0:g[0])!=null?k:e.thresholds[0])!=null?P:0,_=(G=(F=(N=e.domain)==null?void 0:N[1])!=null?F:e.thresholds[e.thresholds.length-1])!=null?G:0,V=$t(t.d3,r.style.yFormat,[R,_],Math.max(1,e.thresholds.length)),S=e.thresholds.map(H=>V(H)),M=Math.max(0,...S.map(H=>H.length))*7+6,I=Math.max(M,Math.min(44,Math.floor((Math.min(320,t.width)-20)/y))),B=I*y,O=t.id("legend-clip"),Y=e.colors.map((H,X)=>`\x3crect class="${t.cls("legend-step")}" x="${X*I}" y="${Vt}" width="${I}" height="${kt}" fill="${H}"/>`).join(""),K=S.map((H,X)=>`\x3ctext x="${(X+1)*I}" y="${oe}" text-anchor="middle" class="${t.cls("legend-label")}">${ct(H)}\x3c/text>`).join(""),tt=h(B+24);f=`\x3csvg width="${B+tt.width+4}" height="${ze}" aria-hidden="true">\x3cdefs>\x3cclipPath id="${O}">\x3crect y="${Vt}" width="${B}" height="${kt}" rx="${kt/2}"/>\x3c/clipPath>\x3c/defs>\x3cg clip-path="url(#${O})">${Y}\x3c/g>${K}${tt.svg}\x3c/svg>`}n.innerHTML=f,n.style.display=f?"":"none",n.removeAttribute("role"),n.removeAttribute("aria-label")}function se(t){return t.replace(/[\x26\x3c>"]/g,n=>({"\x26":"\x26amp;","\x3c":"\x26lt;",">":"\x26gt;",'"':"\x26quot;"})[n])}var zn=["line","area","column","bar","stacked","combo","dot","scatter"];function ie(t){return (t.style.legend==="direct"?be.includes(t.type):!1)}function Oe(t,n,r,o){var g,k,P,N;if(!n)return;let e=r,a=e.data.series,s=(g=e.style.legend)!=null?g:"top",c=()=>{n.innerHTML="",n.style.display="none",n.removeAttribute("role"),n.removeAttribute("aria-label")};if(((s==="none"?!0:s==="subtitle")?!0:ie(e)))return c();let i=(F,G,y)=>F==="line"?`\x3csvg class="${t.cls("swatch")}" width="24" height="10" aria-hidden="true">\x3cline x1="1" x2="23" y1="5" y2="5" stroke="${G}" stroke-width="3.5" stroke-linecap="round"${y?' stroke-dasharray="6 4"':""}/>\x3c/svg>`:F==="dot"?`\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3ccircle cx="6" cy="6" r="5" fill="${G}"/>\x3c/svg>`:`\x3csvg class="${t.cls("swatch")}" width="12" height="12" aria-hidden="true">\x3crect width="12" height="12" rx="2" fill="${G}"/>\x3c/svg>`,m=F=>e.type==="line"?"line":e.type==="combo"?F===0?"box":"line":(e.type==="scatter"?!0:e.type==="dot")?"dot":"box",p=(F,G,y,R=!1)=>{let _=(y!==void 0?l:!1)?"button":"span",V=_==="button"?` type="button" data-key="${se(y)}" aria-pressed="${!o.has(y)}" title="Show or hide ${se(F)}"`:"",S=`${t.cls("legend-item")}${(y!==void 0?o.has(y):!1)?` ${t.cls("legend-item--off")}`:""}`;return`\x3c${_} class="${S}"${V}>${G}${se(F)}${R?`\x3cspan class="${t.cls("legend-axis")}">right axis\x3c/span>`:""}\x3c/${_}>`},l=__gvAnd(__gvAnd(zn.includes(e.type),()=>(a.length>1)),()=>(!e.style.paletteId.startsWith("highlight"))),h=[];if(e.type==="donut"){let F=(k=e.data.categoryColors)!=null?k:[];h=e.data.x.map((G,y)=>p(String(G),i("box",qt(e,F[y],t.dark))))}else if(e.type==="slope"){let F=e.style.paletteId;if(((F==="rise-fall"?!0:F==="rise-fall-azure")?!0:F==="political")){let G=(P=e.data.categoryColors)!=null?P:[],[y,R]=e.data.series,_=I=>G.find((B,O)=>__gvAnd(((y==null?void 0:y.values[O])!=null?(R==null?void 0:R.values[O])!=null:!1),()=>(I(y.values[O],R.values[O])))),V=_((I,B)=>B>I),S=_((I,B)=>(I)>(B)),M=_((I,B)=>B===I);h=[V?p("Rose",i("line",qt(e,V,t.dark))):"",S?p("Fell",i("line",qt(e,S,t.dark))):"",M?p("No change",i("line",qt(e,M,t.dark))):""].filter(Boolean)}}else if((e.style.paletteId.startsWith("highlight")?a.length>1:!1)){let F=Math.max(0,a.findIndex(G=>G.key===e.style.highlight));h=[p(a[F].label,i(m(F),at(e,F,t.dark))),p("All others",i(m(F),at(e,F===0?1:0,t.dark)))]}else if(a.length>1){let F=__gvAnd(a.some(G=>G.axis==="right"),()=>(a.some(G=>G.axis!=="right")));h=a.map((G,y)=>p(G.label,i(m(y),at(e,y,t.dark),G.dashed),G.key,(F?G.axis==="right":F)))}let f=h.join(""),b=n.ownerDocument.activeElement,x=(b?n.contains(b):!1)?(N=b.dataset)==null?void 0:N.key:void 0;if(n.innerHTML=f,n.style.display=h.length?"":"none",(l?h.length:!1)?(n.setAttribute("role","group"),n.setAttribute("aria-label","Series. Select to show or hide.")):(n.removeAttribute("role"),n.removeAttribute("aria-label")),x!==void 0){let F=[...n.querySelectorAll("[data-key]")].find(G=>G.dataset.key===x);((F?n.ownerDocument.activeElement!==F:!1)?F.focus():!1)}}function qt(t,n,r){return yt(t,n!=null?n:nt.muted,r)}function qe(t,n,r,o={}){let e=t.svg.append("g").attr("class",t.cls("tick-probe")).attr("opacity",0),a=n.map(s=>{var i;let c=e.append("text").attr("class",(i=o.cls)!=null?i:null).style("font-size",`${r}px`).text(s);return (o.weight?c.style("font-weight",String(o.weight)):!1),Math.ceil(c.node().getComputedTextLength())});return e.remove(),a}function lt(t,n,r,o={}){return Math.max(0,...qe(t,n,r,o))}function wt(t,n){return n.ticks(t.mobile?4:5)}function Tt(t,n,r,o){let e=wt(t,r),a=t.fmtAxis;n.append("g").attr("class",t.cls("grid")).selectAll("line").data(e).join("line").attr("x1",0).attr("x2",o).attr("y1",i=>Math.round(r(i))+.5).attr("y2",i=>Math.round(r(i))+.5),n.append("g").attr("class",t.cls("ticks")).selectAll("text").data(e).join("text").attr("x",-8).attr("y",i=>r(i)).attr("dy","0.32em").attr("text-anchor","end").text(i=>a(i))}function St(t,n,r,o){let[e,a]=r.domain();if((e>0?!0:(0)>(a)))return;let s=((0)>(e)?a>0:!1);n.append("line").attr("class",t.cls(s?"zero":"baseline")).attr("x1",0).attr("x2",o).attr("y1",Math.round(r(0))+.5).attr("y2",Math.round(r(0))+.5)}function Xt(t,n,r,o){n.append("line").attr("class",t.cls("baseline")).attr("x1",0).attr("x2",r).attr("y1",o+.5).attr("y2",o+.5)}function Wt(t,n){return Math.max(2,Math.floor(t/(n?70:90)))}var Hn=10;function On(t){return t.mobile?12:14}function Bn(t,n,r,o){return (r)>(t-n/2)?{anchor:"start",start:t,end:t+n}:t+n/2>o?{anchor:"end",start:t-n,end:t}:{anchor:"middle",start:t-n/2,end:t+n/2}}function Yt(t,n,r,o){let e=-t.margin.left,a=t.width-t.margin.left,s=new Map,c=p=>{let l=[...new Set(p.filter(h=>!s.has(h)))];return qe(t,l,On(t)).forEach((h,f)=>s.set(l[f],h)),p.map(h=>s.get(h))},i=null,m=-1;for(let p=Math.max(1,Math.floor(o));p>=1;p--){let l=r(p);if(l.ticks.length===m)continue;m=l.ticks.length;let h=l.ticks.map(l.label),f=c(h),b=l.ticks.map((k,P)=>Bn(n(k),f[P],e,a));i={...l,anchor:k=>b[k].anchor};let x=b.every(k=>(k.start>=e-.5?(a+.5)>=(k.end):!1)),g=b.every((k,P)=>(P===0?!0:(k.start)>=(b[P-1].end+Hn)));if((x?g:!1))return i}return i!=null?i:{...r(1),anchor:()=>"middle"}}function Zt(t,n){let r=n.domain();return t.spec.data.xKind==="year"?o=>({ticks:n.ticks(o).filter(e=>Number.isInteger(e)),label:e=>String(e)}):o=>{let e=t.xAxis(r,o);return{ticks:n.ticks(o),label:a=>e(a)}}}function Ut(t,n,r,o,e){n.append("g").attr("class",t.cls("ticks")).attr("transform",`translate(0,${r})`).selectAll("text").data(o.ticks).join("text").attr("x",a=>e(a)).attr("y",22).attr("text-anchor",(a,s)=>o.anchor(s)).text((a,s)=>o.label(a,s))}function jt(t,n,r,o){let e=[...t].sort((m,p)=>m.y-p.y),a=e.length;if(!a)return;let s=a>1?Math.min(n,Math.max(0,o-r)/(a-1)):n,c=m=>{m.top=Math.max(r,Math.min(o-(m.size-1)*s,m.sum/m.size))},i=[];e.forEach((m,p)=>{let l={start:p,size:1,sum:m.y,top:m.y};for(c(l),i.push(l);i.length>1;){let h=i[i.length-1],f=i[i.length-2];if((h.top+1e-9)>=(f.top+f.size*s))break;f.sum+=h.sum-h.size*f.size*s,f.size+=h.size,i.pop(),c(f)}});for(let m of i)for(let p=0;(m.size)>(p);p++)e[m.start+p].y=m.top+p*s}function je(t,n,r,o,e){let a=[],s=[];for(let i of t){let m=[...a,{item:i,y:i.y}].map(l=>({own:l.y,y:l.y})),p=(o-r)>=((m.length-1)*n);(p?jt(m,n,r,o):!1),(p?m.every(l=>__gvLe(Math.abs(l.y-l.own),e)):!1)?a.push({item:i,y:i.y}):s.push(i)}let c=a.map(i=>({y:i.y}));return jt(c,n,r,o),a.forEach((i,m)=>i.item.y=c[m].y),{kept:a.map(i=>i.item),dropped:s}}function Xe(t,n,r,o){let e=[...new Set(r.map(g=>g.getTime()))].sort((g,k)=>g-k),a=qn(r,e),s=[...[t.utcDay,t.utcDay.every(2),t.utcWeek,t.utcWeek.every(2)].map(g=>[g,"day"]),...[1,2,3,6].map(g=>[t.utcMonth.every(g),"month"]),...[1,2,5,10,20,25,50,100,200,250,500,1e3].map(g=>[t.utcYear.every(g),"year"])],c=s.slice(s.findIndex(([,g])=>g===a)),[i,m]=n.domain(),[p,l]=c[c.length-1],h=[];for(let[g,k]of c){let P=Be(g,e,i,m);if((o)>=(P.length)){[p,l,h]=[g,k,P];break}}(h.length?!0:(h=Be(p,e,i,m))),((!h.length?e.length:!1)?(h=e.length===1?[new Date(e[0])]:[new Date(e[0]),new Date(e[e.length-1])]):!1);let f=(g,k)=>(k===0?!0:h[k-1].getUTCFullYear()!==g.getUTCFullYear()),b={year:t.utcFormat("%Y"),month:t.utcFormat("%b"),monthYear:t.utcFormat("%b %Y"),day:t.utcFormat("%b %-d"),dayYear:t.utcFormat("%b %-d, %Y")};return{ticks:h,label:(g,k)=>l==="year"?b.year(g):l==="month"?f(g,k)?b.monthYear(g):b.month(g):f(g,k)?b.dayYear(g):b.day(g)}}function qn(t,n){if(t.every(a=>(a.getUTCMonth()===0?a.getUTCDate()===1:!1)))return"year";if((2)>(n.length))return t.every(a=>a.getUTCDate()===1)?"month":"day";let o=1/0;for(let a=1;(n.length)>(a);a++)o=Math.min(o,n[a]-n[a-1]);let e=o/864e5;return e>=360?"year":e>=28?"month":"day"}function Be(t,n,r,o){let e=t.range(t.floor(r),new Date(o.getTime()+1)),a=[];return e.forEach((s,c)=>{var p;let i=((p=e[c+1])!=null?p:t.offset(s,1)).getTime(),m=jn(n,s.getTime());((n.length)>(m)?(i)>(n[m]):!1)?a.push(new Date(n[m])):((s>=r?(o)>=(s):!1)?a.push(s):!1)}),a}function jn(t,n){let r=0,o=t.length;for(;(o)>(r);){let e=r+o>>1;(n)>(t[e])?r=e+1:o=e}return r}function dt(t,n){var o,e,a;let r=(o=t.spec.style.imageFill)==null?void 0:o.photos;if(!r)return null;for(let s of n)if((s!==void 0?(((e=r[s])!=null?e.url:!1)):!1))return r[s].url;return __gvOr(((a=r["*"])==null?void 0:a.url),()=>(null))}function Et(t){var r;let n=(r=t.spec.style.imageFill)==null?void 0:r.photos;return(!!n?Object.values(n).some(o=>!!((o!=null?o.url:!1))):!1)}function ft(t,n,r,o){let e=t.svg.select("defs").empty()?t.svg.append("defs"):t.svg.select("defs"),a=t.id("grey");(e.select(`#${a}`).empty()?e.append("filter").attr("id",a).append("feColorMatrix").attr("type","saturate").attr("values","0"):!1);let s=new Map;return{clip:(m,p)=>{let l=p?`${m}|${p.x},${p.y},${p.w},${p.h}`:m,h=s.get(l);if(!h){let f=t.id(`clip-${e.selectAll("clipPath").size()}`);h={id:f,url:m,box:p!=null?p:{x:0,y:0,w:r,h:o},sel:e.append("clipPath").attr("id",f)},s.set(l,h)}return h.sel},paint:()=>{for(let m of s.values())n.insert("image",":first-child").attr("class",t.cls("photo")).attr("href",m.url).attr("x",m.box.x).attr("y",m.box.y).attr("width",Math.max(1,m.box.w)).attr("height",Math.max(1,m.box.h)).attr("preserveAspectRatio","xMidYMid slice").attr("clip-path",`url(#${m.id})`).attr("filter",`url(#${a})`)}}}function Kt(t,n){var o;let r=t.spec.style.imageFill;return __gvAnd((!!r?r.mode==="category":!1),()=>(!!(((o=r.photos[n])!=null?o.url:!1))))}function ht(t,n){var r,o;return n?(o=(r=t.spec.style.imageFill)==null?void 0:r.opacity)!=null?o:.65:1}function Qt(t,n,r,o,e,a){if(((0)>=(r)?!0:(0)>=(o)))return"";let s=Math.min(e,(a==="up"?!0:a==="down")?r/2:o/2,(a==="up"?!0:a==="down")?o:r),c=t+r,i=n+o;switch(a){case"up":return`M${t},${i}V${n+s}Q${t},${n} ${t+s},${n}H${c-s}Q${c},${n} ${c},${n+s}V${i}Z`;case"down":return`M${t},${n}V${i-s}Q${t},${i} ${t+s},${i}H${c-s}Q${c},${i} ${c},${i-s}V${n}Z`;case"right":return`M${t},${n}H${c-s}Q${c},${n} ${c},${n+s}V${i-s}Q${c},${i} ${c-s},${i}H${t}Z`;case"left":return`M${c},${n}H${t+s}Q${t},${n} ${t},${n+s}V${i-s}Q${t},${i} ${t+s},${i}H${c}Z`}}function Mt(t,n,r,o){let e=t.length?t[0]:0,a=e;for(let s of t)((e)>(s)?(e=s):!1),(s>a?(a=s):!1);return (t.length?!0:([e,a]=[0,1])),(n?(e=Math.min(0,e),a=Math.max(0,a)):!1),(r!==null?(e=r):!1),(o!==null?(a=o):!1),(e===a?(a=e+1):!1),(e>a?([e,a]=[a,e]):!1),[e,a]}function Ye(t){var q,et;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=r.type==="area",c=(s?e.series.length>1:s),i=e.xKind==="category",m=e.x.map((A,D)=>e.xKind==="date"?Le(A):i?D:Number(A)),p=m.length;if(p===0)return;let l=__gvAnd((!s?e.series.some(A=>A.axis==="right"):!1),()=>(e.series.some(A=>A.axis!=="right"))),h=A=>(l?e.series[A].axis==="right":l),f=A=>e.series.filter((D,w)=>h(w)===A).flatMap(D=>D.values).filter(D=>D!==null),b=[],x,g;if(c){let A=m.map((D,w)=>e.series.map(U=>{var ut;return(ut=U.values[w])!=null?ut:0}));b=n.stack().keys(e.series.map((D,w)=>w)).value((D,w)=>D[w]).offset(n.stackOffsetDiverging)(A),[x,g]=Mt(b.flatMap(D=>D.flatMap(w=>[w[0],w[1]])),!0,a.yMin,a.yMax)}else[x,g]=Mt(f(!1),__gvOr(__gvOr(a.yFromZero,()=>(s)),()=>(We(t))),a.yMin,a.yMax);let k=t.margin,P=t.height-k.top-k.bottom,N=t.mobile?4:5,F=n.scaleLinear().domain([x,g]).nice(N).range([P,0]);t.setAxis(F.domain(),N),k.left=lt(t,wt(t,F).map(t.fmtAxis),t.mobile?12:14)+10;let G=l?n.scaleLinear().domain(Mt(f(!0),a.rightFromZero,null,null)).nice(N).range([P,0]):F,y=l?t.rightAxis(G.domain(),N):t.fmtAxis,R=l?G.ticks(N):[],_=l?lt(t,R.map(y),t.mobile?12:14)+10:0,V=A=>h(A)?G:F,S=A=>t.fmtFor(e.series[A]),M=e.series.map(A=>{for(let D=A.values.length-1;D>=0;D--)if(A.values[D]!==null)return D;return-1}),I=__gvAnd(ie(r),()=>(!c)),B=__gvAnd((__gvOr(a.valueLabels,()=>(I))),()=>(!c)),O=A=>{if((0)>(M[A]))return["",""];let D=S(A)(e.series[A].values[M[A]]);return I?[e.series[A].label,a.valueLabels?D:""]:["",D]},Y=A=>O(A).filter(Boolean).join(" "),K=_?_+6:9,tt=I?{cls:t.cls("direct-label"),size:13,weight:700}:{cls:t.cls("value-label"),size:12,weight:500};if(B){let A=lt(t,e.series.map((D,w)=>Y(w)),tt.size,tt);k.right=Math.max(k.right,Math.min(A,t.width/3)+K+6)}else l?k.right=Math.max(k.right,_+4):(a.endDots?(k.right=Math.max(k.right,10)):!1);let H=Math.max(40,t.width-k.left-k.right),X=e.xKind==="date"?n.scaleUtc().domain(n.extent(m)).range([0,H]):n.scaleLinear().domain(n.extent(m)).range([0,H]),E=o.append("g").attr("transform",`translate(${k.left},${k.top})`);if(Tt(t,E,F,H),Xt(t,E,H,P),St(t,E,F,H),l){let A=xt(r,at(r,e.series.findIndex(D=>D.axis==="right"),t.dark),t.dark);E.append("g").attr("class",t.cls("ticks")).selectAll("text").data(R).join("text").attr("x",H+8).attr("y",D=>G(D)).attr("dy","0.32em").style("fill",A).text(D=>y(D)),(a.rightLabel?o.append("text").attr("class",t.cls("axis-title")).attr("x",t.width).attr("y",t.rightTitleY).attr("text-anchor","end").style("fill",A).text(a.rightLabel):!1)}let u=A=>X(A);Ut(t,E,P,Yt(t,u,Xn(t,X,m),i?p:Wt(H,t.mobile)),u);let d=A=>X(m[A]),T=t.id("plot");o.append("defs").append("clipPath").attr("id",T).append("rect").attr("x",-8).attr("y",-8).attr("width",H+16).attr("height",P+16);let v=E.append("g").attr("clip-path",(a.yMin!==null?!0:a.yMax!==null)?`url(#${T})`:null),L=E.append("g");if(s){let A=Et(t)?ft(t,v,H,P):null;(c?b:[e.series[0].values.map(w=>[0,w!=null?w:0])]).forEach((w,U)=>{var $;let j=($=n.area().x((z,W)=>d(W)).y0(z=>F(z[0])).y1(z=>F(z[1]))(w))!=null?$:"",C=A?dt(t,[e.series[U].key]):null;((A?C:!1)?A.clip(C).append("path").attr("d",j):!1),v.append("path").attr("class",t.cls("area")).attr("d",j).attr("fill",at(r,U,t.dark)).attr("fill-opacity",ht(t,C)),((p===1?e.series[U].values[0]!==null:!1)?v.append("circle").attr("cx",d(0)).attr("cy",F(w[0][1])).attr("r",3.5).attr("fill",at(r,U,t.dark)):!1)}),(A==null?!0:A.paint())}if(!s){let[A,D]=F.domain(),w=((We(t)?(0)>=(A):!1)?D>=0:!1)?dt(t,[e.series[0].key]):null,U=w?ft(t,v,H,P):null;if((U?w:!1)){let $=(q=n.area().defined(z=>z!==null).x((z,W)=>d(W)).y0(F(0)).y1(z=>F(z))(e.series[0].values))!=null?q:"";U.clip(w).append("path").attr("d",$),v.append("path").attr("d",$).attr("fill",at(r,0,t.dark)).attr("fill-opacity",ht(t,w)),U.paint()}let ut=C=>n.line().defined($=>$!==null).x(($,z)=>d(z)).y($=>V(C)($)),j=e.series.map((C,$)=>$).sort((C,$)=>Number(Ft(r,C))-Number(Ft(r,$))).reverse();for(let C of j){let $=e.series[C],z=(et=ut(C)($.values))!=null?et:"";((e.series.length>1?!Ft(r,C):!1)?v.append("path").attr("class",t.cls("line-halo")).attr("d",z):!1),v.append("path").attr("class",t.cls("line")).attr("d",z).attr("stroke",at(r,C,t.dark)).attr("stroke-width",Ft(r,C)?2:t.mobile?3:3.5).attr("stroke-dasharray",$.dashed?"6 4":null),$.values.forEach((W,st)=>{(((W===null?!0:$.values[st-1]!=null)?!0:$.values[st+1]!=null)?!0:v.append("circle").attr("cx",d(st)).attr("cy",V(C)(W)).attr("r",3.5).attr("fill",at(r,C,t.dark)))})}if((a.endDots?e.series.forEach((C,$)=>{if(((0)>(M[$])?!0:Ft(r,$)))return;let z=d(M[$]),W=V($)(e.series[$].values[M[$]]);v.append("circle").attr("class",`${t.cls("dot")} ${t.cls("dot--pulse")}`).attr("cx",z).attr("cy",W).attr("r",5).attr("fill",at(r,$,t.dark))}):!1),B){let C=e.series.map((z,W)=>({i:W,y:M[W]>=0?V(W)(z.values[M[W]]):NaN,x:M[W]>=0?d(M[W]):0})).filter(z=>(!Number.isNaN(z.y)?((!Ft(r,z.i)?!0:I)):!1));jt(C,15,6,P);let $=t.width/3;for(let z of C){let W=e.series[z.i].values[M[z.i]],[st,rt]=V(z.i).domain(),J=W>rt?-1:(st)>(W)?1:0,ot=(l?H:z.x)+K,pt=xt(r,at(r,z.i,t.dark),t.dark);(J?L.append("path").attr("class",t.cls("off-scale")).attr("d",`M${ot+4},${z.y+J*5}l-4,${-J*8}h8z`).attr("fill",pt).append("title").text((0)>(J)?"Above the axis range":"Below the axis range"):!1);let Lt=L.append("text").attr("class",t.cls(I?"direct-label":"value-label")).attr("x",ot+(J?12:0)).attr("y",z.y).attr("dy","0.32em").style("fill",pt).text(Y(z.i)),_t=Lt.node(),[At,he]=O(z.i),Nt=(At?At:he),dn=fe=>At?[`${fe.trimEnd()}\u2026`,he].filter(Boolean).join(" "):`${fe.trimEnd()}\u2026`;for(;(_t.getComputedTextLength()>$?Nt.length>4:!1);)Nt=Nt.slice(0,-2),Lt.text(dn(Nt))}}}let Z=E.append("g").attr("class",t.cls("hover")).style("display","none");Z.append("line").attr("class",t.cls("rule")).attr("y1",0).attr("y2",P);let Q=E.append("rect").attr("class",t.cls("overlay")).attr("width",H).attr("height",P);t.tooltip.bind(Q,A=>{var st;let[D]=n.pointer(A),w=X.invert(D),U=Math.max(0,Math.min(p-1,n.bisectCenter(m,w))),ut=d(U);Z.style("display",null).select("line").attr("x1",ut).attr("x2",ut);let j=e.series.map((rt,J)=>({si:J,v:rt.values[U]})).filter(rt=>rt.v!==null).sort((rt,J)=>J.v-rt.v),C=j.slice(0,8),$=C.map(rt=>it(t.cls("tip-row"),at(r,rt.si,t.dark),e.series[rt.si].label,S(rt.si)(rt.v))).join(""),z=j.length>C.length?`\x3cdiv class="${t.cls("tip-more")}">+${j.length-C.length} more\x3c/div>`:"",W=C.length?c?F((st=n.max(b,rt=>rt[U][1]))!=null?st:0):V(C[0].si)(C[0].v):P/2;t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(i?String(e.x[U]):t.fmtX((e.xKind==="date",m[U])))}\x3c/div>${$}${z}`,ut+k.left,W+k.top)},()=>Z.style("display","none"))}function We(t){let{spec:n}=t;return __gvAnd((n.type==="line"?n.data.series.length===1:!1),()=>(!!dt(t,[n.data.series[0].key])))}function Ft(t,n){var r;return __gvAnd(t.style.paletteId.startsWith("highlight"),()=>(t.data.series[n].key!==((r=t.style.highlight)!=null?r:t.data.series[0].key)))}function Xn(t,n,r){let{d3:o,spec:e}=t,a=e.data;if(a.xKind==="date")return s=>{let c=Xe(o,n,r,s);return{ticks:c.ticks,label:(i,m)=>c.label(i,m)}};if(a.xKind==="category"){let s=a.x.map(String),c=s.length;return i=>({ticks:o.range(0,c,Math.max(1,Math.ceil(c/i))),label:m=>s[m]})}return Zt(t,n)}var Jt="http://www.w3.org/2000/svg",Ze=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,Ue=/[_\-/.]/;function Wn(t,n,r){let o=[],e=Array.from(t);for(;(e.length>1?r(e.join(""))>n:!1);){let a=i=>{let m=e.slice(0,i).join("");return (Ze.test(e[i-1])?Ze.test(e[i]):!1)?`${m}-`:m},s=1;for(;((e.length-1)>(s)?__gvLe(r(a(s+1)),n):!1);)s++;let c=s;for(;(c>Math.ceil(s/2)?!Ue.test(e[c-1]):!1);)c--;(Ue.test(e[c-1])?(s=c):!1),o.push(a(s)),e=e.slice(s)}return{lines:o,rest:e.join("")}}function Ke(t,n,r,o){let e=[],a="";for(let s of t.split(/\s+/).filter(Boolean)){let c=a?`${a} ${s}`:s;if(__gvLe(o(c),n)){a=c;continue}(a?e.push(a):!1);let i=Wn(s,n,o);if(e.push(...i.lines),a=i.rest,e.length>r)break}if((a?e.push(a):!1),e.length>r){let s=Array.from(e[r-1].replace(/-$/,""));for(;(s.length>1?o(`${s.join("").trimEnd()}\u2026`)>n:!1);)s=s.slice(0,-1);e.length=r,e[r-1]=`${s.join("").trimEnd()}\u2026`}return e}function Qe(t){t.textContent="";let n=t.ownerDocument.createElementNS(Jt,"tspan");return t.appendChild(n),r=>(n.textContent=r,n.getComputedTextLength())}function Je(t,n,r){var a;let o=t.getAttribute("x"),e=t.ownerDocument;if(t.textContent="",(1)>=(n.length)){t.textContent=(a=n[0])!=null?a:"";return}n.forEach((s,c)=>{let i=e.createElementNS(Jt,"tspan");(o!==null?i.setAttribute("x",o):!1),(c?i.setAttribute("dy",`${r}em`):!1),i.textContent=s,t.appendChild(i)})}function ce(t,n,r,o,e){let a=Ke(n,r,o,Qe(t));Je(t,a,e);let s=__gvAnd((a.length>0?a[a.length-1].endsWith("\u2026"):!1),()=>(!n.endsWith("\u2026")));return{lines:Math.max(1,a.length),cut:s}}function Yn(t,n,r,o,e){let a=/\s/.test(t),s=f=>a?f.split(/\s+/).filter(Boolean):Array.from(f),c=f=>f.join(a?" ":""),i=s(t),m=n.filter(f=>f!==t).map(s),p=(f,b)=>(f.length>=b?c(f.slice(-b))===c(i.slice(-b)):!1),l=1;for(;((i.length)>(l)?m.some(f=>p(f,l)):!1);)l++;let h=c(i.slice(-l));for(let f=i.length-l-1;f>=0;f--){let b=c(i.slice(0,f)),x=a?`${b?`${b} `:""}\u2026 ${h}`:`${b}\u2026${h}`,g=Ke(x,r,1/0,e);if((o)>=(g.length))return g}return null}function tn(t,n){var a;let r=t.ownerDocument,o=r.createElementNS(Jt,"g"),e=r.createElementNS(Jt,"title");e.textContent=n,((a=t.parentNode)==null?!0:a.insertBefore(o,t)),o.appendChild(e),o.appendChild(t)}function le(t){var n;return __gvOr(Array.from(t.querySelectorAll("tspan")).map(r=>{var o;return(o=r.textContent)!=null?o:""}).join(" "),()=>(((n=t.textContent)!=null?n:"").trim()))}function ue(t,n,r,o=1.15){var s;let e=((s=t.textContent)!=null?s:"").trim(),a=ce(t,e,n,r,o);return (a.cut?tn(t,e):!1),a.lines}function gt(t,n,r,o=1.15){let e=t.map(s=>{var c;return((c=s.textContent)!=null?c:"").trim()}),a=t.map((s,c)=>s.getComputedTextLength()>n?ce(s,e[c],n,r,o):{lines:1,cut:!1});for(let s of Zn(t,e)){let c=Yn(e[s],e,n,r,Qe(t[s]));c?(Je(t[s],c,o),a[s]={lines:c.length,cut:!0}):a[s]=ce(t[s],e[s],n,r,o)}return a.forEach((s,c)=>__gvAnd(s.cut,()=>(tn(t[c],e[c])))),a.map(s=>s.lines)}function Zn(t,n){let r=new Map;t.forEach((e,a)=>{var s;return r.set(le(e),[...(s=r.get(le(e)))!=null?s:[],a])});let o=[];for(let e of r.values())(new Set(e.map(a=>n[a])).size>1?o.push(...e.filter(a=>n[a]!==le(t[a]))):!1);return o}var en=110,Un=3,Kn=19,Qn=10;function me(t){return t.toUpperCase()===mt.orange?mt.azure:mt.orange}function nn(t){var et,A,D,w,U,ut;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=r.type==="stacked",c=r.type==="combo",i=j=>(!c?!0:j===0),m=j=>__gvAnd((c?j>0:c),()=>(e.series[j].axis==="right")),p=j=>t.fmtFor(e.series[j]),l=e.x.map(j=>t.fmtX(j)),h=l.length;if(h===0)return;let f=e.series.length,b=0,x=0,g=[];if(s){let j=e.x.map((C,$)=>e.series.map(z=>{var W;return(W=z.values[$])!=null?W:0}));g=n.stack().keys(e.series.map((C,$)=>$)).value((C,$)=>C[$]).offset(n.stackOffsetDiverging)(j),b=Math.min(0,(et=n.min(g,C=>n.min(C,$=>$[0])))!=null?et:0),x=Math.max(0,(A=n.max(g,C=>n.max(C,$=>$[1])))!=null?A:0)}else{let j=e.series.filter((C,$)=>!m($)).flatMap(C=>C.values).filter(C=>C!==null);b=Math.min(0,(D=n.min(j))!=null?D:0),x=Math.max(0,(w=n.max(j))!=null?w:0)}((a.yMax!==null?a.yMax>x:!1)?(x=a.yMax):!1),(b===x?(x=1):!1);let k=e.series.some((j,C)=>m(C)),P=t.mobile?4:5,N=null,F=t.fmtAxis,G=0;if(k){let j=e.series.filter((z,W)=>m(W)).flatMap(z=>z.values).filter(z=>z!==null),C=(U=n.min(j))!=null?U:0,$=(ut=n.max(j))!=null?ut:1;(a.rightFromZero?(C=Math.min(0,C),$=Math.max(0,$)):!1),(C===$?($=C+1):!1),N=n.scaleLinear().domain([C,$]).nice(P),F=t.rightAxis(N.domain(),P),G=lt(t,N.ticks(P).map(F),t.mobile?12:14)+10,t.margin.right=Math.max(t.margin.right,G+4)}let y=t.margin,R=n.scaleLinear().domain([b,x]).nice(t.mobile?4:5).range([t.height-y.top-40,0]);t.setAxis(R.domain(),t.mobile?4:5),y.left=lt(t,wt(t,R).map(t.fmtAxis),t.mobile?12:14)+10;let _=Math.max(40,t.width-y.left-y.right),V=n.scaleBand().domain(l.map((j,C)=>String(C))).range([0,_]).paddingInner(.25).paddingOuter(.1),S=V.bandwidth(),M=t.mobile?12:13,I=lt(t,l,M),B=e.xKind!=="category",O=1,Y="flat";(I>S+V.step()*.25?(B?O=Math.ceil((I+10)/V.step()):Y=((14)>=(h)?S>36:!1)?"wrap":"rotate"):!1),(Y==="rotate"?(O=Math.max(1,Math.ceil(14/Math.max(1,V.step())))):!1);let K=o.append("g").attr("class",t.cls("ticks")),tt=0,H=[];l.forEach((j,C)=>{var st;if(C%O!==0)return;let $=((st=V(String(C)))!=null?st:0)+S/2,z=K.append("text").style("font-size",`${M}px`).text(j),W=z.node();if(Y==="rotate"){z.attr("text-anchor","end").attr("transform",`translate(${$},12) rotate(-45)`);let rt=Math.min((en-12)/.72,($+y.left-M)/Math.SQRT1_2);(W.getComputedTextLength()>rt?ue(W,rt,1):!1),tt=Math.max(tt,W.getComputedTextLength())}else z.attr("x",$).attr("y",20).attr("text-anchor","middle"),(Y==="wrap"?H.push(W):!1)});let X=Math.max(1,...gt(H,V.step()-4,Un));y.bottom=Y==="rotate"?Math.min(en,tt*.72+12)+8:Y==="wrap"?Math.ceil(20+(X-1)*M*1.15+M*.35+8):30;let E=Math.max(60,t.height-y.top-y.bottom),u=n.scaleLinear().domain([b,x]).nice(P).range([E,0]);((a.valueLabels?(24)>=(h):!1)?tr(u,E,y.top,Jn(t,g)):!1),(N==null?!0:N.range([E,0])),K.attr("transform",`translate(${y.left},${y.top+E})`);let d=o.append("g").attr("transform",`translate(${y.left},${y.top})`);if(Tt(t,d,u,_),N){let j=xt(r,at(r,e.series.findIndex((C,$)=>m($)),t.dark),t.dark);d.append("g").attr("class",t.cls("ticks")).selectAll("text").data(N.ticks(P)).join("text").attr("x",_+8).attr("y",C=>N(C)).attr("dy","0.32em").style("fill",j).text(C=>F(C)),(a.rightLabel?o.append("text").attr("class",t.cls("axis-title")).attr("x",t.width).attr("y",t.rightTitleY).attr("text-anchor","end").style("fill",j).text(a.rightLabel):!1)}let T=d.append("g"),v=Et(t)?ft(t,T,_,E):null,L=c?1:f,Z=n.scaleBand().domain(n.range(L)).range([0,S]).padding(L>1?.08:0),Q=[];if(s?(g.forEach((j,C)=>{j.forEach(($,z)=>{var pt;let W=u($[0]),st=u($[1]),rt=Math.abs(W-st);if((0)>=(rt))return;let J=(pt=V(String(z)))!=null?pt:0,ot=v?dt(t,[e.series[C].key,String(e.x[z])]):null;((v?ot:!1)?v.clip(ot).append("rect").attr("x",J).attr("y",Math.min(W,st)).attr("width",S).attr("height",rt):!1),T.append("rect").attr("class",t.cls("segment")).attr("x",J).attr("y",Math.min(W,st)).attr("width",S).attr("height",rt).attr("fill",at(r,C,t.dark)).attr("fill-opacity",ht(t,ot))})}),(a.valueLabels?e.x.forEach((j,C)=>{var rt;let $=e.series.map(J=>{var ot;return(ot=J.values[C])!=null?ot:0}),z=$.filter(J=>J>0).reduce((J,ot)=>J+ot,0),W=$.filter(J=>(0)>(J)).reduce((J,ot)=>J+ot,0),st=((rt=V(String(C)))!=null?rt:0)+S/2;(((z>0?!0:W===0))?Q.push({x:st,y:u(z)-6,text:t.fmtValue(z),below:!1}):!1),((0)>(W)?Q.push({x:st,y:u(W)+14,text:t.fmtValue(W),below:!0}):!1)}):!1)):e.series.forEach((j,C)=>{(i(C)?j.values.forEach(($,z)=>{var _t,At;if($===null)return;let W=((_t=V(String(z)))!=null?_t:0)+((At=Z(C))!=null?At:0),st=Z.bandwidth(),rt=u(Math.max(0,$)),J=Math.abs(u($)-u(0)),ot=Qt(W,rt,st,J,4,$>=0?"up":"down"),pt=v?dt(t,[j.key,String(e.x[z])]):null;((v?pt:!1)?v.clip(pt,Kt(t,String(e.x[z]))?{x:W,y:rt,w:st,h:J}:void 0).append("path").attr("d",ot):!1);let Lt=at(r,C,t.dark);T.append("path").attr("class",t.cls("bar")).attr("d",ot).attr("fill",(((0)>($)?L===1:!1)?!c:!1)?me(Lt):Lt).attr("fill-opacity",ht(t,pt)),(a.valueLabels?Q.push({x:W+st/2,y:$>=0?u($)-6:u($)+14,text:p(C)($),below:(0)>($)}):!1)}):!1)}),(v==null?!0:v.paint()),St(t,d,u,_),(c?e.series.forEach((j,C)=>{var rt;if(C===0)return;let $=(m(C)?N:!1)?N:u,z=J=>{var ot;return((ot=V(String(J)))!=null?ot:0)+S/2},W=(rt=n.line().defined(J=>J!==null).x((J,ot)=>z(ot)).y(J=>$(J))(j.values))!=null?rt:"",st=at(r,C,t.dark);T.append("path").attr("class",t.cls("line-halo")).attr("d",W),T.append("path").attr("class",t.cls("line")).attr("d",W).attr("stroke",st).attr("stroke-width",t.mobile?3:3.5).attr("stroke-dasharray",j.dashed?"6 4":null),j.values.forEach((J,ot)=>{(J!==null?T.append("circle").attr("class",t.cls("dot")).attr("cx",z(ot)).attr("cy",$(J)).attr("r",h>24?2.5:4).attr("fill",st):!1)})}):!1),(Q.length?(24)>=(h):!1)){let j=(L>1?!s:!1)?Z.bandwidth():S;(__gvLe(lt(t,Q.map($=>$.text),12),j+6)?d.append("g").selectAll("text").data(Q).join("text").attr("class",t.cls("value-label")).attr("x",$=>$.x).attr("y",$=>$.y).attr("text-anchor","middle").text($=>$.text):!1)}let q=d.append("g").selectAll("rect").data(l.map((j,C)=>C)).join("rect").attr("class",t.cls("overlay")).attr("x",j=>{var C;return((C=V(String(j)))!=null?C:0)-(V.step()-S)/2}).attr("width",V.step()).attr("y",0).attr("height",E);t.tooltip.bind(q,(j,C)=>{let $=l[C],z=e.series.map((J,ot)=>J.values[C]===null?"":it(t.cls("tip-row"),at(r,ot,t.dark),J.label,p(ot)(J.values[C]))).join(""),W=(s?f>1:!1)?it(t.cls("tip-row"),"transparent","Total",t.fmtValue(e.series.reduce((J,ot)=>{var pt;return J+((pt=ot.values[C])!=null?pt:0)},0))):"",[st,rt]=n.pointer(j,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct($)}\x3c/div>${z}${W}`,st,rt)})}function Jn(t,n){var c,i,m,p;let{d3:r,spec:o}=t;if(o.type==="stacked"){let l=(c=r.min(n,h=>r.min(h,f=>f[0])))!=null?c:0;return{top:(i=r.max(n,h=>r.max(h,f=>f[1])))!=null?i:null,bottom:(0)>(l)?l:null}}let e=(o.type==="combo"?o.data.series.slice(0,1):o.data.series).flatMap(l=>l.values).filter(l=>l!==null),a=(m=r.max(e.filter(l=>l>=0)))!=null?m:null,s=(p=r.min(e.filter(l=>(0)>(l))))!=null?p:null;return{top:a,bottom:s}}function tr(t,n,r,o){let e=Math.min(.4,Qn/n),a=Math.min(.4,Math.max(0,Kn-r)/n);for(let s=0;(3)>(s);s++){let[c,i]=t.domain();((o.bottom!==null?t(o.bottom)>n*(1-e):!1)?(c=i-(i-o.bottom)/(1-e)):!1),((o.top!==null?__gvLt(t(o.top),n*a):!1)?(i=(o.top-a*c)/(1-a)):!1),t.domain([c,i])}}var er=3;function nr(t){return t>1?t*13+14:30}function rn(t){var X,E;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(u=>t.fmtX(u)),c=s.length;if(c===0)return;let i=e.series.length,m=t.margin,p=e.series.flatMap(u=>u.values).filter(u=>u!==null),l=Math.min(0,(X=n.min(p))!=null?X:0),h=Math.max(0,(E=n.max(p))!=null?E:0);((a.yMax!==null?a.yMax>h:!1)?(h=a.yMax):!1),(l===h?(h=1):!1);let f=t.mobile?13:14,b=t.width*(t.mobile?.42:.34),x=Math.min(b,lt(t,s,f));m.left=x+10;let g=a.valueLabels,k=g?lt(t,p.map(t.fmtValue),12)+8:0;m.right=Math.max(m.right,k),(((0)>(l)?g:!1)?(m.left+=k):!1),m.bottom=g?8:28;let P=Math.max(40,t.width-m.left-m.right),N=o.append("g").attr("transform",`translate(${m.left},${m.top})`),F=N.append("g").attr("class",t.cls("cat-labels")),G=s.map(u=>F.append("text").attr("x",-10-(((0)>(l)?g:!1)?k:0)).attr("text-anchor","end").style("font-size",`${f}px`).text(u)),y=gt(G.map(u=>u.node()),x,er),R=G.map((u,d)=>({t:u,lines:y[d]})),_=nr(i),V=Math.max(_,Math.ceil(n.max(R,u=>u.lines)*f*1.15+10)),S=c*V,M=n.scaleLinear().domain([l,h]).nice(t.mobile?4:5).range([0,P]);t.setAxis(M.domain(),t.mobile?4:5);let I=Math.max(.25,1-_*.75/V),B=n.scaleBand().domain(s.map((u,d)=>String(d))).range([0,S]).paddingInner(I).paddingOuter(I/2),O=n.scaleBand().domain(n.range(i)).range([0,B.bandwidth()]).padding(i>1?.1:0);if(R.forEach(({t:u,lines:d},T)=>{var v;u.attr("y",((v=B(String(T)))!=null?v:0)+B.bandwidth()/2).attr("dy",`${.32-(d-1)*.575}em`)}),!g){let u=M.ticks(t.mobile?4:5);N.append("g").attr("class",t.cls("grid")).selectAll("line").data(u).join("line").attr("x1",d=>Math.round(M(d))+.5).attr("x2",d=>Math.round(M(d))+.5).attr("y1",0).attr("y2",S),N.append("g").attr("class",t.cls("ticks")).selectAll("text").data(u).join("text").attr("x",d=>M(d)).attr("y",S+20).attr("text-anchor","middle").text(d=>t.fmtAxis(d))}let Y=N.append("g"),K=Et(t)?ft(t,Y,P,S):null,tt=[];e.series.forEach((u,d)=>{u.values.forEach((T,v)=>{var w,U;if(T===null)return;let L=((w=B(String(v)))!=null?w:0)+((U=O(d))!=null?U:0),Z=O.bandwidth(),Q=M(Math.min(0,T)),q=Math.abs(M(T)-M(0)),et=Qt(Q,L,q,Z,4,T>=0?"right":"left"),A=K?dt(t,[u.key,String(e.x[v])]):null;((K?A:!1)?K.clip(A,Kt(t,String(e.x[v]))?{x:Q,y:L,w:q,h:Z}:void 0).append("path").attr("d",et):!1);let D=at(r,d,t.dark);Y.append("path").attr("class",t.cls("bar")).attr("d",et).attr("fill",((0)>(T)?i===1:!1)?me(D):D).attr("fill-opacity",ht(t,A)),(g?tt.push({x:T>=0?M(T)+6:M(T)-6,y:L+Z/2,text:t.fmtValue(T),anchor:T>=0?"start":"end"}):!1)})}),(K==null?!0:K.paint()),(0)>(l)?N.append("line").attr("class",t.cls("zero")).attr("x1",M(0)).attr("x2",M(0)).attr("y1",0).attr("y2",S):N.append("line").attr("class",t.cls("baseline")).attr("x1",M(0)+.5).attr("x2",M(0)+.5).attr("y1",0).attr("y2",S),N.append("g").selectAll("text").data(tt).join("text").attr("class",t.cls("value-label")).attr("x",u=>u.x).attr("y",u=>u.y).attr("dy","0.32em").attr("text-anchor",u=>u.anchor).text(u=>u.text);let H=N.append("g").selectAll("rect").data(s.map((u,d)=>d)).join("rect").attr("class",t.cls("overlay")).attr("x",-m.left).attr("width",t.width).attr("y",u=>{var d;return((d=B(String(u)))!=null?d:0)-(B.step()-B.bandwidth())/2}).attr("height",B.step());return t.tooltip.bind(H,(u,d)=>{if((i===1?g:!1))return;let T=s[d],v=e.series.map((Q,q)=>Q.values[d]===null?"":it(t.cls("tip-row"),at(r,q,t.dark),Q.label,t.fmtValue(Q.values[d]))).join(""),[L,Z]=n.pointer(u,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(T)}\x3c/div>${v}`,L,Z)}),S+m.top+m.bottom}var an=40;function on(t){var X,E;let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=(X=e.points)!=null?X:[];if(!s.length)return;let c=new Map(e.series.map((u,d)=>[u.key,d])),i=u=>{var d,T;return at(r,(T=c.get((d=u.group)!=null?d:e.series[0].key))!=null?T:0,t.dark)},m=([u,d])=>{let T=(__gvOr(__gvOr(d-u,()=>(Math.abs(u))),()=>(1)))*.04;return[u-T,d+T]},[p,l]=m(n.extent(s,u=>u.x));(a.xFromZero?(p=Math.min(0,p),l=Math.max(0,l)):!1),(a.xMin!==null?(p=a.xMin):!1),(a.xMax!==null?(l=a.xMax):!1);let[h,f]=m(n.extent(s,u=>u.y));(a.yFromZero?(h=Math.min(0,h),f=Math.max(0,f)):!1),(a.yMin!==null?(h=a.yMin):!1),(a.yMax!==null?(f=a.yMax):!1),(p>l?([p,l]=[l,p]):!1),(h>f?([h,f]=[f,h]):!1);let b=t.margin;b.bottom=a.xLabel?48:30;let x=t.height-b.top-b.bottom,g=n.scaleLinear().domain([h,f===h?h+1:f]).nice(5).range([x,0]);t.setAxis(g.domain(),t.mobile?4:5),b.left=lt(t,wt(t,g).map(t.fmtAxis),t.mobile?12:14)+10;let k=Math.max(40,t.width-b.left-b.right),P=n.scaleLinear().domain([p,l===p?p+1:l]).nice().range([0,k]),N=o.append("g").attr("transform",`translate(${b.left},${b.top})`);Tt(t,N,g,k),Xt(t,N,k,x),St(t,N,g,k);let F=u=>P(u);Ut(t,N,x,Yt(t,F,Zt(t,P),Wt(k,t.mobile)),F),(a.xLabel?N.append("text").attr("class",t.cls("axis-title")).attr("x",k).attr("y",x+42).attr("text-anchor","end").text(a.xLabel):!1);let G=t.mobile?4:5.5,y=t.id("plot");o.append("defs").append("clipPath").attr("id",y).append("rect").attr("x",-G).attr("y",-G).attr("width",k+2*G).attr("height",x+2*G),N.append("g").attr("clip-path",`url(#${y})`).selectAll("circle").data(s).join("circle").attr("class",t.cls("point")).attr("cx",u=>P(u.x)).attr("cy",u=>g(u.y)).attr("r",G).attr("fill",i);let[R,_]=P.domain(),[V,S]=g.domain(),M=s.filter(u=>__gvAnd(__gvAnd(__gvAnd(__gvAnd(u.label,()=>(u.x>=R)),()=>((_)>=(u.x))),()=>(u.y>=V)),()=>((S)>=(u.y)))).slice(0,an);if((M.length?(an)>=(M.length):!1)){let{kept:u}=je(M.map(d=>({p:d,y:g(d.y)-G-5})),13,8,x,40);N.append("g").selectAll("text").data(u).join("text").attr("class",t.cls("value-label")).attr("x",d=>P(d.p.x)).attr("y",d=>d.y).attr("text-anchor",d=>P(d.p.x)>k*.85?"end":__gvLt(P(d.p.x),k*.15)?"start":"middle").text(d=>d.p.label)}let I=n.Delaunay.from(s,u=>P(u.x),u=>g(u.y)),B=N.append("circle").attr("class",t.cls("ring")).attr("r",G+3).style("display","none"),O=s.some(u=>u.group!==void 0),Y=__gvOr(__gvOr(a.yLabel,()=>((O?"Vertical axis":(E=e.series[0])==null?void 0:E.label))),()=>("Vertical axis")),K=__gvOr(a.xLabel,()=>("Horizontal axis")),tt=N.append("rect").attr("class",t.cls("overlay")).attr("width",k).attr("height",x),H=()=>B.style("display","none");t.tooltip.bind(tt,u=>{let[d,T]=n.pointer(u),v=I.find(d,T),L=s[v];if((!L?!0:Math.hypot(P(L.x)-d,g(L.y)-T)>40)){H(),t.tooltip.hide();return}B.style("display",null).attr("cx",P(L.x)).attr("cy",g(L.y));let Z=__gvOr(__gvOr(L.label,()=>(L.group)),()=>("")),Q=((O?L.group:!1)?L.label:!1)?it(t.cls("tip-row"),i(L),L.group,""):"",q=((O?L.group:!1)?L.label:!1)?"transparent":i(L),et=Q+it(t.cls("tip-row"),"transparent",K,t.fmtX(L.x))+it(t.cls("tip-row"),q,Y,t.fmtValue(L.y));t.tooltip.show(`${Z?`\x3cdiv class="${t.cls("tip-title")}">${ct(Z)}\x3c/div>`:""}${et}`,P(L.x)+b.left,g(L.y)+b.top)},H)}var rr=.25,ar=16,or=3;function sn(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(String),c=e.series.length;if((!s.length?!0:!c))return t.height;let i=Math.max(1,Math.min(c,Math.floor(t.width/(t.mobile?170:220)))),m=Math.ceil(c/i),p=t.width/i,l=_=>_%i*p+p/2,h=c>1?e.series.map((_,V)=>o.append("text").attr("class",t.cls("donut-title")).attr("x",l(V)).attr("text-anchor","middle").text(_.label)):[],f=gt(h.map(_=>_.node()),p-12,or),b=h.map((_,V)=>({t:_,lines:f[V]})),x=Math.max(1,...b.map(_=>_.lines)),g=c>1?30+Math.ceil((x-1)*ar*1.15):0,k=Math.max(50,Math.min(p/2-12,t.mobile?130:150)),P=a.donutHole?k*.56:0,N=g+k*2+18,F=_=>{var V,S;return yt(r,(S=(V=e.categoryColors)==null?void 0:V[_])!=null?S:nt.muted,t.dark)},G=n.format(".0%"),y=n.arc().innerRadius(P).outerRadius(k).padAngle(a.donutHole?.012:.006).cornerRadius(a.donutHole?2:0),R=n.arc().innerRadius(P?(P+k)/2:k*.62).outerRadius(P?(P+k)/2:k*.62);return e.series.forEach((_,V)=>{var H;let S=Math.floor(V/i),M=l(V),I=S*N+g+k+6,B=_.values.map(X=>(X!==null?X>0:!1)?X:0),O=B.reduce((X,E)=>X+E,0),Y=o.append("g").attr("transform",`translate(${M},${I})`);if(((H=b[V])==null?!0:H.t.attr("y",S*N+18)),!O)return;let K=n.pie().sort(null).value(X=>X)(B),tt=ft(t,Y,0,0);K.forEach((X,E)=>{var v;if((0)>=(X.value))return;let u=(v=y(X))!=null?v:"",d=dt(t,[s[E],_.key]);(d?tt.clip(d,{x:-k,y:-k,w:k*2,h:k*2}).append("path").attr("d",u):!1);let T=Y.append("path").attr("class",t.cls("slice")).attr("d",u).attr("fill",F(E)).attr("fill-opacity",ht(t,d));t.tooltip.bind(T,L=>{var et;let[Z,Q]=n.pointer(L,t.chartEl),q=it(t.cls("tip-row"),F(E),c>1?_.label:"Value",t.fmtValue((et=_.values[E])!=null?et:0))+it(t.cls("tip-row"),"transparent","Share",G(X.value/O));t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(s[E])}\x3c/div>${q}`,Z,Q)})}),tt.paint(),K.forEach((X,E)=>{if(((rr)>(X.endAngle-X.startAngle)?!0:(0)>=(X.value)))return;let[u,d]=R.centroid(X),T=Ot(F(E)),v=Y.append("text").attr("class",t.cls("slice-label")).attr("x",u).attr("y",d).attr("dy","0.35em").attr("text-anchor","middle").text(G(X.value/O));(T!=="#FFFFFF"?v.style("fill",T).style("stroke","rgba(255,255,255,0.35)"):!1)})}),m*N+6}function ln(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,[s,c]=e.series;if(((!s?!0:!c)?!0:!e.x.length))return;let m=e.x.map(String).map((u,d)=>({i:d,name:u,a:s.values[d],b:c.values[d]})).filter(u=>(u.a!==null?u.b!==null:!1));if(!m.length)return;let p=t.margin;p.top=Math.max(p.top,34),p.bottom=14;let l=t.mobile?12:13,h=l+3,f=Math.max(t.height-p.top-p.bottom,m.length*h);o.attr("height",f+p.top+p.bottom);let[b,x]=Mt(m.flatMap(u=>[u.a,u.b]),a.yFromZero,a.yMin,a.yMax),g=n.scaleLinear().domain([b,x]).nice().range([f,0]),[k,P]=g.domain(),N=(u,d)=>d==="left"?{name:u.name,value:t.fmtValue(u.a),nameFirst:!0}:{name:t.mobile?"":u.name,value:t.fmtValue(u.b),nameFirst:!1},F=(u,d=u.name)=>d?u.nameFirst?`${d} ${u.value}`:`${u.value} ${d}`:u.value,G=u=>F(N(u,"left")),y=u=>F(N(u,"right")),R=t.width*(t.mobile?.4:.3),_=Math.min(R,lt(t,m.map(G),l))+12,V=Math.min(R,lt(t,m.map(y),l))+12,S=_,M=Math.max(S+60,t.width-V),I=u=>{var d,T;return yt(r,(T=(d=e.categoryColors)==null?void 0:d[u])!=null?T:nt.muted,t.dark)},B=u=>(I(u).toUpperCase()===nt.muted.toUpperCase()?!0:I(u).toUpperCase()===nt.darkMuted.toUpperCase()),O=o.append("g").attr("transform",`translate(0,${p.top})`);o.append("text").attr("class",t.cls("slope-head")).attr("x",S).attr("y",18).attr("text-anchor","middle").text(s.label),o.append("text").attr("class",t.cls("slope-head")).attr("x",M).attr("y",18).attr("text-anchor","middle").text(c.label),O.append("line").attr("class",t.cls("slope-axis")).attr("x1",S).attr("x2",S).attr("y1",0).attr("y2",f),O.append("line").attr("class",t.cls("slope-axis")).attr("x1",M).attr("x2",M).attr("y1",0).attr("y2",f);let Y=t.id("plot");o.append("defs").append("clipPath").attr("id",Y).append("rect").attr("x",0).attr("y",-5).attr("width",t.width).attr("height",f+10);let K=O.append("g").attr("clip-path",(a.yMin!==null?!0:a.yMax!==null)?`url(#${Y})`:null),tt=[...m].sort((u,d)=>+!B(u.i)-+!B(d.i));for(let u of tt){let d=I(u.i);K.append("line").attr("class",t.cls("slope-line")).attr("x1",S).attr("x2",M).attr("y1",g(u.a)).attr("y2",g(u.b)).attr("stroke",d).attr("stroke-width",B(u.i)?2:3),K.append("circle").attr("cx",S).attr("cy",g(u.a)).attr("r",4).attr("fill",d),K.append("circle").attr("cx",M).attr("cy",g(u.b)).attr("r",4).attr("fill",d)}let H=new Set,X=u=>{let d=m.map(v=>({r:v,y:g(u==="left"?v.a:v.b)}));sr(d,h,h/2,f);let T=u==="left"?S:M;for(let v of d){let L=u==="left"?v.r.a:v.r.b,Z=L>P?-1:(k)>(L)?1:0;((Z?!H.has(`${u}${Z}`):!1)?(H.add(`${u}${Z}`),O.append("path").attr("class",t.cls("off-scale")).attr("d",`M${T},${(0)>(Z)?-8:f+8}l-5,${-Z*8}h10z`).attr("fill",t.dark?nt.darkSecondary:nt.secondary).append("title").text((0)>(Z)?"Above the axis range":"Below the axis range")):!1);let Q=N(v.r,u),q=O.append("text").attr("class",t.cls("slope-label")).attr("x",u==="left"?S-10:M+10).attr("y",v.y).attr("dy","0.32em").attr("text-anchor",u==="left"?"end":"start").style("font-size",`${l}px`).text(F(Q));(B(v.r.i)?!0:q.style("fill",xt(r,I(v.r.i),t.dark)));let et=q.node(),A=Q.name;for(;(et.getComputedTextLength()>R?A.length>3:!1);)A=A.slice(0,-1),q.text(F(Q,`${A.trimEnd()}\u2026`))}};X("left"),X("right");let E=O.append("rect").attr("class",t.cls("overlay")).attr("x",S).attr("width",M-S).attr("height",f);t.tooltip.bind(E,u=>{let[d,T]=n.pointer(u),v=(d-S)/(M-S),L=m[0],Z=1/0;for(let et of m){let A=g(et.a)+(g(et.b)-g(et.a))*v;(__gvLt(Math.abs(A-T),Z)?([L,Z]=[et,Math.abs(A-T)]):!1)}let Q=L.b-L.a,q=it(t.cls("tip-row"),I(L.i),s.label,t.fmtValue(L.a))+it(t.cls("tip-row"),I(L.i),c.label,t.fmtValue(L.b))+it(t.cls("tip-row"),"transparent","Change",`${Q>=0?"+":""}${t.fmtValue(Q)}`);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(L.name)}\x3c/div>${q}`,d,T+p.top)})}function sr(t,n,r,o){let e=[...t].sort((a,s)=>a.y-s.y);e.forEach((a,s)=>a.y=Math.max(a.y,s?e[s-1].y+n:r));for(let a=e.length-1;a>=0;a--)e[a].y=Math.min(e[a].y,(e.length-1)>(a)?e[a+1].y-n:o)}var ir=3;function cn(t){let{d3:n,spec:r,svg:o}=t,{data:e,style:a}=r,s=e.x.map(E=>t.fmtX(E)),c=s.length;if((!c?!0:!e.series.length))return t.height;let i=t.margin,m=t.mobile?30:32,p=t.mobile?13:14,l=t.width*(t.mobile?.38:.3),h=Math.min(l,lt(t,s,p));i.left=h+14,i.right=Math.max(i.right,16),i.bottom=30,i.top=Math.max(i.top,6);let f=Math.max(60,t.width-i.left-i.right),b=o.append("g").attr("transform",`translate(${i.left},${i.top})`),x=s.map(E=>b.append("text").attr("class",t.cls("cat-label")).attr("x",-12).attr("text-anchor","end").style("font-size",`${p}px`).text(E)),g=gt(x.map(E=>E.node()),h,ir),k=Math.max(m,Math.ceil(Math.max(1,...g)*p*1.15+10)),P=c*k,N=e.series.flatMap(E=>E.values).filter(E=>E!==null),[F,G]=Mt(N,a.yFromZero,a.yMin,a.yMax),y=t.mobile?4:5,R=n.scaleLinear().domain([F,G]).nice(y).range([0,f]);t.setAxis(R.domain(),y);let[_,V]=R.domain(),S=E=>(E>=_?(V)>=(E):!1),M=E=>E*k+k/2,I=E=>e.series.map(u=>u.values[E]).filter(u=>u!==null),B=s.map((E,u)=>a.valueLabels?lr(I(u),S):[]);(a.valueLabels?pr(t,R,f,B):!1);let O=cr(t,R,y),Y=E=>lt(t,[t.fmtValue(E)],12),K=B.map(E=>ur(R,f,E,Y)),tt=t.id("plot");o.append("defs").append("clipPath").attr("id",tt).append("rect").attr("x",R(_)-8).attr("y",0).attr("width",R(V)-R(_)+16).attr("height",P),b.append("g").attr("class",t.cls("grid")).selectAll("line").data(O).join("line").attr("x1",E=>Math.round(R(E))+.5).attr("x2",E=>Math.round(R(E))+.5).attr("y1",0).attr("y2",P),b.append("g").attr("class",t.cls("ticks")).selectAll("text").data(O).join("text").attr("x",E=>R(E)).attr("y",P+20).attr("text-anchor","middle").text(E=>t.fmtAxis(E)),(((0)>(F)?G>0:!1)?b.append("line").attr("class",t.cls("zero")).attr("x1",R(0)).attr("x2",R(0)).attr("y1",0).attr("y2",P):!1);let H=b.append("g").attr("clip-path",`url(#${tt})`);s.forEach((E,u)=>{x[u].attr("y",M(u)).attr("dy",`${.32-(g[u]-1)*.575}em`);let d=I(u),T=Math.min(...d),v=Math.max(...d);(((d.length>1?v>=_:!1)?(V)>=(T):!1)?H.append("line").attr("class",t.cls("dumbbell")).attr("x1",R(Math.max(_,T))).attr("x2",R(Math.min(V,v))).attr("y1",M(u)).attr("y2",M(u)):!1),mr(t,b,R,M(u),d),e.series.forEach((L,Z)=>{let Q=L.values[u];(Q!==null?H.append("circle").attr("class",t.cls("dot")).attr("cx",R(Q)).attr("cy",M(u)).attr("r",t.mobile?6:7).attr("fill",at(r,Z,t.dark)):!1)});for(let L of K[u])b.append("text").attr("class",t.cls("value-label")).attr("x",R(L.v)+L.dx).attr("y",M(u)).attr("dy","0.32em").attr("text-anchor",L.anchor).text(t.fmtValue(L.v))});let X=b.append("g").selectAll("rect").data(s.map((E,u)=>u)).join("rect").attr("class",t.cls("overlay")).attr("x",-i.left).attr("width",t.width).attr("y",E=>E*k).attr("height",k);return t.tooltip.bind(X,(E,u)=>{let d=e.series.map((L,Z)=>L.values[u]===null?"":it(t.cls("tip-row"),at(r,Z,t.dark),L.label,t.fmtValue(L.values[u]))).join(""),[T,v]=n.pointer(E,t.chartEl);t.tooltip.show(`\x3cdiv class="${t.cls("tip-title")}">${ct(s[u])}\x3c/div>${d}`,T,v)}),P+i.top+i.bottom}function lr(t,n){if(!t.length)return[];let r=Math.min(...t),o=Math.max(...t),e=[];return (((o)>(r)?n(r):!1)?e.push({v:r,anchor:"end",dx:-11}):!1),(n(o)?e.push({v:o,anchor:"start",dx:11}):!1),e}function cr(t,n,r){for(let o=r;o>=1;o--){t.setAxis(n.domain(),o);let e=n.ticks(o),a=e.map(c=>lt(t,[t.fmtAxis(c)],12));if((e.every((c,i)=>(i===0?!0:n(c)-n(e[i-1])>=(a[i]+a[i-1])/2+8))?!0:o===1))return e}return[]}function ur(t,n,r,o){let e=l=>{let h=l.anchor==="start"?t(l.v)+l.dx:t(l.v)+l.dx-o(l.v);return[h,h+o(l.v)]},a=l=>(e(l)[0]>=1?__gvLe(e(l)[1],n-1):!1),s=l=>({v:l.v,anchor:l.anchor==="end"?"start":"end",dx:-l.dx}),c=Math.min(...r.map(l=>l.v)),i=Math.max(...r.map(l=>l.v)),m=l=>((2)>(r.length)?!0:(e(l)[0]>=t(c)+7?__gvLe(e(l)[1],t(i)-7):!1)),p=[];for(let l of r){let h=a(l)?l:s(l);(((!a(h)?!0:(h!==l?!m(h):!1))?!0:p.some(f=>(__gvLt(e(f)[0],e(h)[1]+6)?__gvLt(e(h)[0],e(f)[1]+6):!1)))?!0:p.push(h))}return p}function mr(t,n,r,o,e){let[a,s]=r.domain(),c=e.filter(l=>(a)>(l)),i=e.filter(l=>l>s),m=t.dark?nt.darkSecondary:nt.secondary,p=(l,h,f)=>{let b=`M${l},${o}l${-h*6},-5v10z`;n.append("path").attr("class",t.cls("off-scale")).attr("d",b).attr("fill",m).append("title").text(`${f} ${f===1?"value is":"values are"} ${(0)>(h)?"below":"above"} the axis range`)};(c.length?p(r(a)-2,-1,c.length):!1),(i.length?p(r(s)+2,1,i.length):!1)}function pr(t,n,r,o){let e=new Map,a=i=>((e.has(i)?!0:e.set(i,lt(t,[t.fmtValue(i)],12))),e.get(i)),s=0,c=0;for(let i=0;(4)>(i);i++){let m=0,p=0;for(let l of o.flat()){let h=n(l.v)+l.dx;l.anchor==="end"?m=Math.max(m,a(l.v)-h+2):p=Math.max(p,h+a(l.v)-r+2)}if(((.5)>=(m)?(.5)>=(p):!1))return;s=Math.min(r*.3,s+Math.max(0,m)),c=Math.min(r*.3,c+Math.max(0,p)),n.range([s,r-c])}}var pe={paletteId:"",political:!1,background:"white",yFormat:{prefix:"",suffix:"",decimals:null},xFormat:{prefix:"",suffix:"",decimals:null},yFromZero:!0,yMin:null,yMax:null,valueLabels:!1,endDots:!0,imageFill:null,width:"column",height:400,yLabel:"",xLabel:"",highlight:null,legend:"top",xFromZero:!1,xMin:null,xMax:null,rightAxis:[],rightFormat:{prefix:"",suffix:"",decimals:null},rightLabel:"",rightFromZero:!0,donutHole:!0,partners:[],map:{method:"rounded",classes:5,breaks:[],palette:"seq-orange",reverse:!1,midpoint:null,continuous:!1,labels:!0,symbolMax:18,noDataLabel:"No data",thresholds:[],stops:[],colors:[],domain:null,categories:[],sizeTicks:[],projection:"equal-earth",sphere:!1,graticule:!1,center:[-30,20]}};var mn=600;function un(t){var n;return{...t,style:{...pe,...t.style,map:{...pe.map,...(n=t.style)==null?void 0:n.map}}}}function pn(t,n){var e;if(!n.size)return de(t);let r=t.type==="combo"?t.data.series.flatMap((a,s)=>n.has(a.key)?s===0?[{...a,values:a.values.map(()=>null)}]:[]:[a]):t.data.series.filter(a=>!n.has(a.key)),o=(e=t.data.points)==null?void 0:e.filter(a=>{var s,c;return!n.has((c=a.group)!=null?c:(s=t.data.series[0])==null?void 0:s.key)});return de({...t,data:{...t.data,series:r,points:o}})}function de(t){if((t.type!=="line"?t.type!=="combo":!1))return t;let n=t.data.series.filter(s=>s.values.some(c=>c!==null));if((!n.length?!0:!n.every(s=>s.axis==="right")))return t;let r=t.data.series.map(s=>({...s,axis:"left"})),o=t.style,e=__gvOr(o.rightLabel,()=>((hr(o.yFormat,o.rightFormat)?o.yLabel:""))),a={...o,yFormat:o.rightFormat,yFromZero:o.rightFromZero,yMin:null,yMax:null,yLabel:e,rightLabel:""};return{...t,style:a,data:{...t.data,series:r}}}function dr(t){if((t.type!=="line"?t.type!=="combo":!1))return!1;let n=(r,o)=>(r.axis==="right"?((t.type==="line"?!0:o>0)):!1);return __gvAnd(t.data.series.some(n),()=>(t.data.series.some((r,o)=>!n(r,o))))}function hr(t,n){var r,o;return __gvAnd(__gvAnd((t.prefix===n.prefix?t.suffix===n.suffix:!1),()=>(t.decimals===n.decimals)),()=>(((r=t.multiply)!=null?r:1)===((o=n.multiply)!=null?o:1)))}function fr(t,n,r,o=null){var y,R,_,V;let e=un(n),a=o?we(o):null,s=new Set,c=`gv-${e.slug}`,i=S=>`${c}__${S}`,m=t.querySelector(`.${i("chart")}`),p=t.querySelector(`.${i("legend")}`),l=Ge(m,i("tooltip")),h=-1,f,b=0;(p==null?!0:p.addEventListener("click",S=>{let M=S.target.closest("[data-key]"),I=M==null?void 0:M.dataset.key;(I!==void 0?(s.has(I)?s.delete(I):((e.data.series.length-1)>(s.size)?s.add(I):!1),x()):!1)}));let x=()=>{var Q,q,et,A,D;b=0;let S=Math.floor(m.clientWidth);if((0)>=(S))return;let M=e.style.background==="white"?re(t):{color:null,dark:!1},I=M.dark;t.classList.toggle(`${c}--dark`,I),M.color?t.style.setProperty("--gv-halo",M.color):t.style.removeProperty("--gv-halo"),h=S,f=M.color;let B=(mn)>(t.clientWidth);((Q=m.querySelector("svg"))==null?!0:Q.remove());let O=m.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");m.insertBefore(O,m.firstChild);let Y=r.select(O).attr("class",i("svg")).attr("width",S).attr("aria-hidden","true"),K=ge(e.type),tt=K?400:B?Math.min(e.style.height,360):e.style.height;Y.attr("height",tt);let H=pn(e,s),X=H.style.yFormat,E=H.style.rightFormat,u=Gt(r,X.prefix,X.suffix,X.decimals,X.multiply),d=Gt(r,E.prefix,E.suffix,E.decimals,E.multiply),T=w=>u.value(w),v={d3:r,spec:H,base:c,root:t,chartEl:m,svg:Y,width:S,height:tt,mobile:B,dark:I,page:M.color,margin:{top:(((H.style.yLabel?!0:H.style.rightLabel))?!["bar","donut","dot","slope"].includes(e.type):!1)?30:10,right:14,bottom:30,left:40},id:w=>`${c}-${w}`,cls:i,fmtAxis:w=>T(w),setAxis:(w,U)=>{T=$t(r,X,w,U)},fmtValue:u.value,fmtRightValue:d.value,rightAxis:(w,U)=>$t(r,E,w,U),fmtFor:w=>w.axis==="right"?d.value:u.value,fmtX:Fe(r,e,B),xAxis:(w,U)=>$t(r,e.style.xFormat,w,U),color:w=>at(H,w,I),tooltip:l,rightTitleY:14},L=(K?a:!1)?Re(a,e):a;K?(L?He(v,p,e,L):!1):Oe(v,p,e,s);let Z=__gvAnd(__gvAnd(__gvAnd((!K?e.type!=="bar":!1),()=>(e.type!=="donut")),()=>(e.type!=="dot")),()=>(e.type!=="slope"));if((((Z?H.style.yLabel:!1)?H.style.rightLabel:!1)?dr(H):!1)){let[w,U]=[H.style.yLabel,H.style.rightLabel].map(ut=>lt(v,[ut],12));(w+U+16>S?(v.rightTitleY=30,v.margin.top+=16):!1)}((H.style.yLabel?Z:!1)?Y.append("text").attr("class",i("axis-title")).attr("x",0).attr("y",14).text(H.style.yLabel):!1);try{let w=e.type;if(K){if((!a?!0:a.id!==((q=e.data.map)==null?void 0:q.geo)))throw new Error("map geography missing");Y.attr("height",Ie(v,L))}else (w==="line"?!0:w==="area")?Ye(v):((w==="column"?!0:w==="stacked")?!0:w==="combo")?nn(v):w==="bar"?Y.attr("height",(et=rn(v))!=null?et:tt):w==="scatter"?on(v):w==="donut"?Y.attr("height",(A=sn(v))!=null?A:tt):w==="slope"?ln(v):(w==="dot"?Y.attr("height",(D=cn(v))!=null?D:tt):!1)}catch(w){Y.selectAll("*").remove(),Y.append("text").attr("class",i("ticks")).attr("x",0).attr("y",20).text("Chart could not be drawn."),console.error("[gristviz]",w)}},g=()=>{(b?!0:(b=requestAnimationFrame(x)))},k=new ResizeObserver(()=>{(Math.floor(m.clientWidth)!==h?g():!1)});k.observe(m);let P=()=>{((e.style.background==="white"?re(t).color!==f:!1)?g():!1)},N=new MutationObserver(P),F=t.ownerDocument;N.observe(F.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme"]}),(F.body?N.observe(F.body,{attributes:!0,attributeFilter:["class","style","data-theme"]}):!1);let G=(R=(y=F.defaultView)==null?void 0:y.matchMedia)==null?void 0:R.call(y,"(prefers-color-scheme: dark)");return((_=G==null?void 0:G.addEventListener)==null?!0:_.call(G,"change",P)),x(),((V=F.fonts)==null?!0:V.ready.then(()=>g())),{update(S){e=un(S);for(let M of[...s])(e.data.series.some(I=>I.key===M)?!0:s.delete(M));x()},destroy(){var S;k.disconnect(),N.disconnect(),l.destroy(),((S=G==null?void 0:G.removeEventListener)==null?!0:S.call(G,"change",P)),(b?cancelAnimationFrame(b):!1)}}}return xn(gr);})(); function run(d3){var el=document.getElementById(ID);if(el)__gvRuntime.mount(el,SPEC,d3,GEO);} function fail(){var el=document.getElementById(ID);var c=el?el.querySelector("."+ID+"__chart"):null;if(c)c.textContent="This chart could not load. Try refreshing the page.";} function loadD3(){return new Promise(function(res,rej){ var s=document.createElement("script"),page=window.d3,mine,trap=false; try{Object.defineProperty(window,"d3",{configurable:true,enumerable:true, get:function(){return document.currentScript===s?mine:page;}, set:function(v){if(document.currentScript===s)mine=v;else page=v;}});trap=true;} catch(e){window.d3=undefined;} function settle(){if(trap){delete window.d3;if(page!==undefined)window.d3=page;}else{mine=window.d3;window.d3=page;}} s.src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.5/d3.min.js";s.integrity="sha384-su5kReKyYlIFrI62mbQRKXHzFobMa7BHp1cK6julLPbnYcCW9NIZKJiTODjLPeDh";s.crossOrigin="anonymous";s.async=true; s.onload=function(){settle();if(mine?mine.stack:!1)res(Object.assign({},mine));else rej(new Error("d3 did not load"));}; s.onerror=function(e){settle();rej(e);}; document.head.appendChild(s);});} function go(){ if(window.d3?window.d3.stack?/^7\./.test(window.d3.version?window.d3.version:""):!1:!1){run(window.d3);return;} if(!window.__gvD3)window.__gvD3=loadD3(); window.__gvD3.then(run,fail); } if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",go);else go(); })();

    “There is a huge amount of disparity,” in the results, said Christianne Eason, the organization’s president of sport safety and education. Thirteen states and Washington, D.C., scored 15 points or higher, while 17 came in at 5 points or below. Some of the strongest policies are in the Southeast, where heat and humidity can produce some of the nation’s most dangerous conditions. Georgia has led the way. 

    Between 1994 and 2009, the state recorded six high school football deaths, which was among the highest in the country. After a string of high-profile incidents, officials examined what schools were doing in order to find ways to improve. “The policies for each school district were all over the map,” said Bud Cooper, a clinical professor emeritus of kinesiology at the University of Georgia who was involved in that work. One school, he remembered, wouldn’t suspend practice until the heat index hit 140. But the research showed a clear trend, he said: “As the temperatures got greater and practices got longer, the risk went up.”

    In 2012, the Georgia High School Association implemented some of the most robust policies in the country. Schools are required to take wet bulb globe temperature measurements and adjust practice lengths accordingly. Football teams also must abide by an acclimatization period that limits practices during the first five days of training so players can grow accustomed to the heat. Researchers found that, within three years, heat-related illness had dropped dramatically.

    The only heat-related death since the policies took effect, Cooper said, was Imani Bell, a 16-year-old basketball player who died after running stairs in extreme heat in 2019. Her family accused the school of violating the heat rules and settled with the district for $10 million; two coaches are awaiting trial on charges that include second-degree murder and involuntary manslaughter. 

    Georgia’s turnaround shows that strict heat policies can work. “You could say it was luck, for one year, two years, three years,” Cooper said, but it’s been about 15 seasons. “That goes beyond luck. That’s a result.” 

    The analysis by the Korey Stringer Institute shows that, aside from Vermont and New Hampshire, where officials have adopted stringent heat policies, many of the states that still have the most work to do are along the nation’s northern border. Even athletes in cooler climates need to acclimatize to summer temperatures, said Cooper, especially as climate change makes extremes and spikes more common. Pushing athletes into tough practices in hot conditions too quickly is a recipe for harm.

    “Those student athletes aren’t ready for that,” he said. 

    Some resistance to stronger heat policies centers on resources — school districts may worry about the cost of WBGT gauges, athletic trainers, or equipment like immersion tubs. But coaches also fear they won’t be competitive under new rules. 

    “We had to reassure them that what they’re doing is the right thing,” Cooper said of his experience in Georgia. “But at the end of the day, the level of play in high school football in the state of Georgia is still just as high as it was 15 years ago.”

    High school athletic trainers in Norwich, Connecticut, douse a colleague in ice water during a training exercise meant to help them protect players from extreme heat. Cold water immersion is the most effective treatment for heat stroke. Mark Mirko/Connecticut Public via Getty Images

    Protections are even more important in youth sports, because children are more vulnerable to extreme heat. But deficiencies can be even greater, with policy development often falling to individual leagues, teams, or coaches, many of them volunteers. “It’s truly the wild west,” said pediatrician and researcher Dr. Michele LaBotz, who wants heat taken as seriously as threats such as concussions or lightning. “There is not a mechanism yet for disseminating good information.”

    College athletes are in many ways better positioned. Athletic trainers are more ubiquitous, and multimillion-dollar budgets make acquiring equipment less of an obstacle. But the NCAA has few heat-related mandates; most of its guidance is voluntary. “They have not been willing to make things required,” said Casa. “You don’t get credit if it’s a recommendation.”

    The NCAA confirmed that it provides “recommendations and guidelines” but declined to answer follow-up questions on the record. The potential for confusion is evident in Arizona State’s heat policy, which runs three pages and uses the words “should,” “will,” “may,” “can,” “recommended,” and “guidelines.”

    On Friday, ASU announced that former Arizona Supreme Court Chief Justice Scott Bales will lead an independent review of the university’s planning, policies, and response to outdoor athletic activities, including the use of outside consultants. The university has asked Bales to complete the review by early December.

    In a statement that Carey released Friday afternoon, Mayich’s family welcomed Bales’ appointment but said the planned review does not go far enough. It wants an independent investigation of what happened on the field, who was responsible, and whether university, athletic conference, or NCAA rules were violated. Carey called on the university to expand Bales’ mandate to answer those questions or appoint a second independent investigator, and to make the findings public.

    Whatever comes of the review, ASU already had heat-safety measures that experts say could have protected Mayich – if they were followed. 

    Mayich’s teammates described his collapse in detail, writing in their letter that “Matthew was unintelligible and non-responsive. His lips were gray.” By the time paramedics arrived, he had been down for 17 minutes, during which “nothing effectively cooled him.” They accuse the university of a slew of policy violations in the minutes, hours, and days leading to that moment. 

    The missteps, they wrote, started at least eight days before the workout, when ASU hockey staff submitted an official request to have Ziesel lead it. The university timeline says the team did not include the required written activity plan, and it provides no indication that the request was reviewed or approved before Ziesel met with athletes, as school policy dictates. His lawyer, Kazan, told Grist in an email that “as far as he was told, he was approved by the coaching staff and they were aware of his leadership training plan.” 

    Mayich, who is from Ontario, Canada, arrived in Arizona eight days before the session. In theory, that was just enough time to complete the seven- to 14-day acclimatization period the university’s heat policy called for. But NCAA rules barred official practices until August 20. Voluntary workouts before then were held indoors with air conditioning and only short stints outdoors. That isn’t sufficient to induce acclimatization, Casa said. Research has shown that physiological adaptation takes repeated and gradually increasing exposure to heat. “Just being there,” he said, “does nothing to help with heat acclimatization.”

    When the opening practice finally arrived, the university policy “recommended” that staff take wet bulb globe temperature readings. But the players wrote that “no WBGT instrument was on the field, and no measurement was taken at any point.” The university’s report says it used data from a Weather Underground sensor roughly one mile away, with WBGT estimates, not measurements. 

    University officials did not respond to written questions seeking clarification, but a 2021 study by researchers at the school found that taking readings at the stadium is a far more accurate indicator of potential heat stress. “On-field WBGT observations were, on average, significantly higher than WBGT estimated from regional weather stations,” the authors wrote, noting a difference of more than four degrees. Practitioners, they said, “should not rely on regional weather station estimations without corrections.” 

    Mayich’s teammates said the practice occurred in full sun, suggesting the wet bulb globe temperature may have been at the higher end of the university’s estimates, which reached well into the 80s. But even the off-site measurements put at least part of the work out in the “high” zone of the university’s heat-risk chart, under which only acclimatized athletes can participate.

    Matthew Mayich on the ice in Ottawa, Canada, in 2024. Chris Tanouye/Getty Images

    Whether Mayich was eligible to practice or not, his teammates wrote that he never got water. There was a brief opportunity to hydrate, but only those who finished the bear crawl first had time to do so. Mayich wasn’t one of them, the players wrote, and went without. He was also showing signs of distress well before the final exercise mentioned in the university’s report. “Matthew crawled on hands and knees and appeared disoriented. When he stood, he nearly fell,” the teammates wrote in the letter. “In the buddy carry, one of us carried him, but he could not carry his partner back.”

    Casa called all of that lead-up a “distraction” from arguably the biggest issue: There was no immersion tub, which ASU’s policy called for in multiple places. After he fell, Mayich’s teammates said he spent “several minutes” on the hot turf as people squirted him with water bottles and applied cold towels before he was moved to the shade. They briefly sprayed him with “warm water” from a garden hose before police and paramedics took over, according to their letter.

    Mayich’s medical diagnosis may not be publicly revealed for some time. Based on what he’s read so far, Casa says that it’s “very likely a heat stroke” but can’t say for certain without more information, such as rectal temperatures. In the meantime, Mayich has remained on life support at Barrow Neurological Institute. Just 2 miles away, ASU held an event on Tuesday to launch its new Center for Heat Preparedness. 

    Scott Barclay, the university’s interim vice president of research, opened the day-long symposium extolling the importance of combating heat-related illnesses and death. “Heat is a killer,” he said in his remarks, which didn’t mention Mayich. “In Phoenix, you don’t have to have that reminder.”

    This story was originally published by Grist with the headline Extreme heat left this student athlete on life support. He won’t be the last. on Oct 5, 2026.

    Categories: H. Green News

    Two years after Hurricane Helene, survivors are taking lessons for the future

    Grist - Mon, 10/05/2026 - 01:30

    In the days and weeks after Hurricane Helene, people throughout western North Carolina and beyond found themselves thrust into new situations, forced to learn new skills to help themselves and their neighbors. 

    Community centers, churches, and fire departments flung open their doors, and for months, they buzzed with activity. Stacks of clothes covered altars. Tools and equipment filled spare rooms. Residents learned how to strip homes to the studs and built networks for bringing food, water, and other essential supplies to one another. 

    Now, two years later, people want to turn these ad hoc efforts — which supported communities through the loss of power, water, internet, and other crucial services — into more permanent fixtures of local disaster response, called “resilience hubs.” 

    “It’s become one of those terms, I think, that sometimes feels a little nebulous to people,” McKenzie Jones, a director with Urban Sustainability Directors Network, said. “But resilience hubs are just existing community spaces that are used and trusted by residents.”

    The East Asheville Library, for instance, is installing solar panels. At the Asheville Tool Library, people are learning how to wield power tools. And at the Old Fort Train Depot, locals recently discussed a heat wave action plan during an ice cream social. 

    The city is stepping up as well. Earlier this year, Asheville set aside $2 million to shore up the city’s existing hubs. City Manager D.K. Wesley made a soft commitment of spending up to $10 million over the long term.

    This effort reflects a broader movement, as communities across the country invest in resilience hubs to prepare for power outages, extreme weather and other emergencies. But Helene also showed that resilience doesn’t necessarily require a designated hub. It can reside in the skills, equipment, and connections people can draw on even before the next disaster arrives.

    “So the question is, How do we get them all to work together proactively before something happens and build those networks so that when it does happen, they’re able to support each other more effectively?” Jones said.

    Two years after Helene, those lessons are taking root across western North Carolina. Here are four ways communities are turning what they learned in the disaster and its aftermath into tools for whatever comes next.

    The solar installation at Beacon of Hope took a little over a week. Electricians who worked on the project say demand for solar has been high since the storm. Katie Myers / Grist / Blue Ridge Public Radio Keeping the lights on with solar power 

    On a sunny morning in Marshall, Steve Porvaznik and Ryan Callahan, both electricians with Rhino Renewables, put the final touches on a solar installation. They secured white covers over three batteries, each about 3 feet tall and containing a nest of wires and conductors.

    The work capped a week spent outfitting Beacon of Hope, a laundromat, thrift store, and food bank with the equipment needed to create a microgrid. “We were able to back up the whole store, essentially, with all the freezers and coolers,” Porvaznik said. The batteries can store an estimated 68 kilowatt-hours of solar power, allowing Beacon to keep the lights and appliances running for at least a day without sunlight or a connection to the larger electrical grid.

    It is the first of 26 microgrids planned for western North Carolina. Twenty-four will serve community centers, food banks, fire departments, and other essential facilities. Two more will be mounted on trailers and sent wherever they are needed. A $5 million grant from the state Department of Environmental Quality is funding the work.

    Read Next A swarm of solar ‘bees’ are coming to western North Carolina community hubs 

    At Beacon of Hope, keeping the power on means the freezers, washing machines, and other equipment continue running. Director Jessi Koontz said the food pantry provides weekly food assistance to about 1,600 families, with hunger up about 50 percent since last summer.  

    “People already come here,” she said.  “So, how can we maximize the resources that are available and the communication that is available when they come here?”

    Jessi Koontz runs Beacon of Hope, a food pantry, thrift store, and community laundromat in Marshall, North Carolina. Katie Myers / Grist / Blue Ridge Public Radio

    Those leading the microgrid campaign hope to expand beyond the 26 already in the works, but so far neither state nor federal officials have provided additional funding. That’s a common impediment to expanding such programs, said Alex Kwasinski, a University of Pittsburgh engineer who studies microgrids and disasters. 

    Sarah Nichols of Land of Sky, one of the organizations bringing the technology to the region, is working to identify more community hubs that would benefit from solar microgrids. The best locations sit on high ground and serve populations with high needs. 

    “Are we looking at equity?” Nichols said. “Should we put it in a more rural area or in a community that might not traditionally get access to government services?”

    During an outage as widespread as Helene’s, such hubs could keep food and medication cold and communications running while providing a safe, warm, and dry place for people whose homes have lost power.

    – Katie Myers

    Justin Hamel of WNC Radio Project tunes into a Saturday night net hosted by a repeater in Fletcher. Laura Hackett / Blue Ridge Public Radio Staying connected when cell networks go down

    Every Saturday night, William Walker has a standing appointment with his two-way radio. The retired railroad worker runs a weekly check-in, called a “net,” from his home in Fletcher, connecting with dozens of radio enthusiasts who have turned a hobby into a public service.

    Over a crackly signal, regulars check in from as far away as South Carolina, sharing snippets about their lives: a 41st birthday, a granddaughter’s wedding, an afternoon spent chopping wood. These exchanges go on for about half an hour, with Walker as master of ceremonies.

    “It’s kind of like having family come into your living room every Saturday night,” he said. “We’ve tried to make it a very welcoming place. I mean, if there was ever a bunch that’s never been a stranger, it’s the people that I’ve met on the GMRS radio.”

    A repeater stationed high up in the Blue Ridge Mountains. Adam Trescott

    GMRS, or general mobile radio service, is a two-way system that doesn’t need a cell network or internet connection. A license costs $35 and there is no test, making it easy for anyone to participate. Walker’s weekly check-ins allow people to “overcome their mic fright” and make sure their equipment works.

    That preparation gained urgency after Helene knocked out communication across a wide swath of the region, leaving people cut off from loved ones and vital information. The number of licenses jumped by 130 percent in the year after the storm.

    Fairview resident Justin Hamel saw the value of GMRS firsthand. “We were really struggling to connect,” he said. He eventually got his hands on some “bubble radios,” as walkie-talkies with GMRS capabilities are known, and passed them out to neighbors.

    It wasn’t perfect, and mountain ridges occasionally blocked signals, but everyone could share updates about water, supplies, and cleanup efforts. Hamel even helped relay information to first responders who dispatched a helicopter for a medical emergency.

    Inspired by the experience, Hamel launched WNC Radio Project, a nonprofit that teaches people about the technology and works to expand its reach by installing small devices called signal repeaters on mountaintops. “With the aid of repeaters, you can talk across multiple counties,” he said. “Basically, think like a cell phone tower.”

    He’s already installed two of them, and the network allowed him to communicate with neighbors during Winter Storm Fern and other severe weather — exactly the situation it was built for. “Radio’s superpower is that it enables instantaneous ad hoc group communication,” Hamel said. “All you have to do is pick up your radio, turn it on, and hit that button.”

    – Laura Hackett

    Shelby Treichler is the operations coordinator at the Asheville Tool Library, a site where people can rent out and train on power tools. Laura Hackett / Blue Ridge Public Radio Equipping a new wave of power tool users

    The day after Hurricane Helene made landfall, Shelby Treichler was determined to make it to the Asheville Tool Library. The power was out and she knew the library, where she is an operations coordinator, had a solar panel setup that would be crucial in the days ahead.

    There was just one problem: A fallen tree blocked the only road out of her neighborhood.

    “I didn’t think to bring my tools home with me. None of us thought to be on that level prepared,” she said. Armed with only a handsaw, she started cutting, hoping to at least clear a lane. Then, seemingly out of nowhere, a man wearing sandals arrived with a chainsaw. He jumped from his truck and started bucking the tree. A few minutes later, he drove off, leaving Treichler in tears. 

    “I was like, ‘This is community. This is beautiful,’” she said. “The guy just got back in the truck and drove away. We all barely exchanged three words except for, ‘This is crazy, huh?’” 

    Treichler’s experience was repeated across western North Carolina in the days after Helene. Unofficial chainsaw brigades, composed largely of volunteers, fanned out to clear roads. Appalachian poet Gerald Smith described hearing “the sweet, sweet sound of chainsaws,” a familiar refrain that inspired a new wave of people to learn how to use one.

    A chainsaw safety workshop held by N.C. State and Skills Academy for Women in late 2024. Quetzal Jordan

    Quetzal Jordan, founder of Skills Academy for Women, is among those showing them how. She has led more than 500 people through safety workshops since Helene. “I’ve taught people anywhere from 18 to 75 how to use a chainsaw,” she said. “And especially the folks who are older, I feel like they have the most transformative experience.”

    The chainsaw classes are part of a broader movement in western North Carolina to treat tools and the skills to use them as a form of climate resilience. The Asheville Tool Library, for instance, lends everything from saws and shovels to generators and megaphones and teaches people how to use them. Insurance prevents it from lending chainsaws, but it keeps several among its collection of more than 4,000 tools for emergencies.

    “We were doing this work before and resiliency was kind of in all of our minds, but I think, like most people who are affected by Hurricane Helene, it’s taken on a very different meaning now and a very different sense of urgency,” Treichler said. 

    – Laura Hackett

    Swannanoa Communities Together serves Swannanoa residents, many of whom have unique medical vulnerabilities and language needs. Katie Myers / Grist / Blue Ridge Public Radio Making emergency planning more inclusive

    Walter Davis, 67, has multiple disabilities and can’t drive. He takes several medications, and a work injury left him without the use of one foot. When Helene hit his apartment complex in Swannanoa, he relied on neighbors for help.

    “For about three and a half weeks we had no power, no water,” he said while waiting for the bus one day last month. “We had to go down to the creek and get five-gallon buckets of water and flush our toilets with it.” 

    The storm also took out the only grocery store within walking distance, and many of his neighbors don’t drive.

    These challenges extend far beyond Swannanoa. Census data released in 2023 show that while about 1 percent of U.S. adults had been displaced by a disaster in the previous year, the figure rose to 31 percent among those unable to care for themselves. Many people with disabilities never returned home after evacuating, and more than 74 percent of evacuees unable to walk reported experiencing food insecurity a month after a disaster.

    State agencies coordinate with emergency services to get information out, but local officials aren’t always aware of the scale of need in an emergency. “Disabled folks are typically not at the table when planning for emergency response,” said Dom Kelly, the founder and director of the advocacy group New Disabled South.

    Malia Johnson has a cochlear implant and identifies as deaf. She struggled to keep up with accurate information after Hurricane Helene. Katie Myers / Grist / Blue Ridge Public Radio

    Those gaps became apparent in Swannanoa after Helene. A friend living at Jasper Apartments asked Beth Trigg to help check on medically vulnerable residents, about 100 of whom had been unable to evacuate. She and other volunteers fanned out across that complex and others to ask what people needed and find essentials like insulin and bottled oxygen. “We really immediately saw the different needs of people who had specific medical issues or disabilities,” Trigg said.

    That effort grew into Swannanoa Communities Together, which provides therapy and long-term support ranging from help navigating FEMA to rent assistance. The group operates out of a former hair salon and recently bought adjoining lots, with plans to renovate the building with ADA-compliant bathrooms, wheelchair ramps, and changing stations. An accessibility consultant is helping ensure the space can serve as many people as possible.

    “We’re seeing it as a place where we can have emergency response for our community in future emergencies or future disasters,” Trigg said.

    – Katie Myers

    This story was originally published by Grist with the headline Two years after Hurricane Helene, survivors are taking lessons for the future on Oct 5, 2026.

    Categories: H. Green News

    How the pursuit of science also serves modernity

    Resilience - Mon, 10/05/2026 - 01:00
    Much of science is in the service of modernity, producing remarkable short-term advantages for humans generally at the expense of the rest of the community of life.

    Navigating the great unraveling: How communities are building place‑based resilience

    Resilience - Mon, 10/05/2026 - 01:00
    How can we prepare for a disrupted future? The growing frequency and variety of global disruptions raise the question of how communities can prepare.

    Oil, war and the fate of industrial societies

    Resilience - Mon, 10/05/2026 - 01:00
    The world teeters on the brink of economic disaster due to energy shortages caused by war. Key oil-producing nations are unable and unwilling to increase output, though prices are high. The solutions being proposed—renewable energy technologies—are coming on line, but not fast enough. Sound familiar?

    Godzilla El Niño is coming

    Ecologist - Sun, 10/04/2026 - 23:00
    Godzilla El Niño is coming Channel Comment brendan 5th October 2026 Teaser Media
    Categories: H. Green News

    We have to do something

    Tempest Magazine - Sun, 10/04/2026 - 20:50

    Pranav Jani: Welcome to another episode of Together We Rise: Solidarity Stories from Central Ohio. I’m so happy to have today on our show my good friend and comrade, Kristen Guptil-Godfrey.

    Kristen Guptill-Godfrey, who uses they/them pronouns, is a revolutionary socialist and organizer currently living in Arizona on unceded Tohono O’odham and Yoeme ancestral and traditional lands. Kristen’s mom was born and raised in Columbus, and although Kristen moved a lot growing up, they consider Columbus home.

    They got the opportunity to live in Columbus from 2016 to 2018, and during that time, they became a revolutionary socialist and joined their first political home. Kristen also worked as a social worker and supported queer and trans young people.

    They are a member of the Tempest Collective and a PhD student at the University of Arizona. Kristen strives to organize and be part of a growing imperfect Left that’s rooted in solidarity and internationalism to fight back against the authoritarianism and liberal capitulation we’re currently facing. Their local work includes organizing on campus for Palestinian liberation and fighting back against the attacks on DEI.

    Do you want to talk a little bit about the work you’re doing right now in Arizona and start us off there?

    Kristen Guptill-Godfrey: Yeah, for sure. In Arizona, I have been a part of an amazing group of people who have been building a branch for the Tempest Collective. The Tempest Collective is a revolutionary socialist organization with about eight branches across the country. We have been building that branch in Tucson and developing spaces for people to come together and find community and talk about the things that are happening around us, and then together debating a way forward. I’ve been building that branch over the last two years.

    And then, recently on campus at the University of Arizona, I was the director of LGBTQ affairs. Since Trump was elected, the University of Arizona has just completely given in to his racist policies and basically renamed all of the cultural resource centers here. They’re no longer called centers. The LGBTQ Center cannot be called LGBTQ. And then they laid off all the directors, including myself. So, through everything that happened with these attacks on DEI, diversity, equity, and inclusion, some of us created an organization called UA Resist.

    It’s a group of faculty, staff, students, and community members who are fighting for a liberatory campus. That includes Palestinian liberation, showing up for international students, and DEI. For example, tonight we’re facilitating an Organizing 101 training for students to come and learn the skills that it takes to develop relationships with people.

    Also, Tempest is a part of the No Data Center Coalition. Amazon Web Services and the electric company here are creating a data center to store the cloud. And we know that cloud holds the data of people that then Amazon Web Services uses and sells to ICE.

    We successfully won the first round. We convinced the city council to vote against it. It’s been nice to be a part of coalition like that. And, in a couple months, we’re going to start this political education series around data centers, what that means for environmental racism, imperialism, and attacks on indigenous people. It’s been fun to get a win. We don’t really get wins that often, so when you get a win you really gotta celebrate.

    PJ: When you say you’re a revolutionary socialist, what do you mean by that?

    KG: That’s a good question. I think it means, for me, is that the way out of this is revolution.

    That the way out of this is masses of people recognizing, ordinary people recognizing, the power they have in themselves to act with other people. To get out of this mess—whatever it is, whatever we want to call it—this racism, this authoritarianism, this imperialism that we’re facing and that the Global South is facing, the only way out of that is through this revolutionary process. We have to take control of our future.

    PJ: Thanks. People nowadays are either skittish about revolution or don’t know what it means when the right creates the meaning. Because revolution gets seen that way, how would you describe it for ordinary people who aren’t familiar with the far Left? What would revolution mean? What kind of change are you looking for?

    KG: I think it means a change from the ground up. This doesn’t mean that reforms are not good. Sometimes there’s a battle between, do I fight for this reform or do I say, “Oh, that reform sucks. We’re going to be in the same place in ten years. Why not fight for something bigger?” I think reforms are important for revolution because really the end goal is learning how to trust other people and how to democratically make decisions together.

    I can’t provide an answer for what revolution will look like, but I know it will only come if we know how to work together and trust each other in that process and make spaces easy for people to enter.

    The only way that process can happen is if we win these reforms together and learn about how they work. Like in winning the no data center fight, the trust that was built between those comrades in those organizing rooms really is what we’re fighting for, those relationships.

    I can’t provide an answer for what revolution will look like, but I know it will only come if we know how to work together and trust each other in that process and make spaces easy for people to enter.

    Maybe next time, it’s not fighting back against a data center. Maybe it’s fighting back against something bigger. And your politics, they move left as you’re in struggle. As you’re winning various reforms, it makes it easier to tie the connections between data centers and the border, or data centers and Palestine.

    It’s not just like revolution is this thing that’s in the future, but it’s the revolutionary insight that you must have that really carries disciplined hope along, like I have to be in this for the long haul, and we have to really create change from the ground up, because this isn’t working for masses of people. Like capitalism, the racism that upholds capitalism is not working for so many people—even when they think it’s working for them.

    PJ: So as a revolutionary socialist, if you’re fighting for this no data coalition, if you’re fighting around DEI—and I’m really sorry that you and others lost your jobs— if we’re trying to hold our line on those things, that’s not inherently revolutionary. It’s the process of us ourselves taking charge of things. I wanted to ask you about your work in Columbus. What are some of the memories you have of that time and the things that stand out for you about those experiences here in Columbus?

    KG: Oh my gosh, that period was so important for me. I met you during that time. When I moved to Columbus, it was like I had this radicalization period during the Black Lives Matter movement. I don’t know if others listening had the same experience, but you realize that stuff is really messed up, and that there are a few people in charge, and they are running everything. As an alienated person, as an isolated person, you find other things to blame.

    I had moved to Columbus from the University of Tennessee. I got my master’s in social work, and I helped organize stuff there. But I didn’t know where to place my anger. I didn’t know who the enemy was, and I didn’t know who to trust. I think this is true for a lot of Black, Brown, and Indigenous folks.

    So, I moved to Columbus angry. I saw a flyer in a coffee shop, and I think it said something about socialist politics. And so I went.

    I went to the talk, and I thought, “Oh, wow, this is really answering a lot of questions for me.” Anybody can organize. But people need training, people need revolutionary love to be organizers. There needs to be a shared vision, and people need to feel like they’re a part of that vision. So, we would go to coffee shops, and we would talk about all of these issues and we would read things.

    I remember reading Party and Class with you, and that was foundational for me. I remember one time we were at the coffee shop, and you just went through all of the [communist] internationals and what that meant for the internationalist Left. I’m like, my mind’s just being blown everywhere.

    You were a good mentor because we were reading things together. But we also were in this moment of heightened struggle. I was also going to protests with you. We were actually seeing on the ground what the stuff we were reading meant. It was nice to be doing both of those things with you as a mentor in a socialist organization.

    PJ: That’s an honor when you say mentor. But I think at the end of the day, you can’t be in an organization that claims to be grassroots if you’re not meeting new people who get what you’re saying from their own experience and their own knowledge. And for us to pair up like that, those were invigorating meetings for me. It was fantastic to be able to go from those study groups to stuff on the ground and have those discussions in person with people in the middle of a time when things were really intense, in the Black Lives Matter movement. It doesn’t matter how long people have been around the movement—we were all getting educated.

    KG: It was exhilarating. It was a moment—when previously you just couldn’t say that the police are bad—and it was like this ideological shift that we really had to figure out and bring people with us. It’s like after the encampment movement on college campuses, just second-guessing Zionism is not weird anymore.

    There are these moments in history when organizers really have to take the moment, to meet strangers and to connect their personal experiences to an analysis of what’s happening in a way that they can easily understand and easily grasp onto. Sometimes it’s tough. It’s a lifelong process.

    PJ: In Columbus, you were also doing work with trans kids. What was that work like and what did you take from it?

    KG: Even before I worked there, I started working in social work in the foster care system. I managed a group home for boys in foster care.

    It was at that group home that I noticed that the state was sending me trans girls to put in this home with boys. And so it was in that moment that I recognized that these systems are not set up for queer and trans people.

    After I got my master’s, I got to work at an after-school program in Columbus. It was the first time that I got to think about political education with young people. That job was the first time I identified as an educator. Of course, young people need safe spaces to be and find friendship, but it was also political. Assata Shakur had just died and I did Assata’s chant with a group of young people.

    I got to talk to queer and trans young people about Assata and what that meant for our own liberation as trans people. When I was at that job, I was also reckoning with my own gender. It was also a personal experience. In reckoning with my gender, I was uplifted by 13-year-olds who told me, “You can do this.” I have a video on my phone and it’s facing downwards to not record the young people, but we did Assata’s chant together.

    I still do that to this day when I’m in a room full of young people because it really does influence the space that you’re in.

    PJ: In memory of Assata, we should do the chant right now. Maybe go back and forth.

    KG: It is our duty to fight for our freedom.

    PJ: It is our duty to win.

    KG: We must love each other and support one another.

    PJ: We have nothing to lose but our chains.

    KG: Yeah.

    PJ: Yeah.

    KG: May she rest in paradise.

    PJ: We have been talking about bringing together Black Lives Matter and systemic racism, police violence, questions of gender, and questions of trans kids. In the shift to broader politics, what are some of the things that made you ready for that shift—made you a person who, when things are happening in the world, when these questions come, you didn’t just, say, “Wow, there’s a lot that needs to change,” or, “We ought to do something.”

    You took steps toward changing this. “I have to be part of the solution.” What were some of those things that drove you to that?

    KG: I think becoming a socialist made me aware of things that I didn’t think of before, like the material analysis of Marxism and the class-consciousness that is so necessary. I was also in Columbus in one of my big kid jobs when I got to really think of myself as an exploited worker, as a social worker. I thought about what was required of me as a worker and being alienated in that workplace. And I remember being in an International Socialist Organization meeting asking that question about how workers are exploited. What does that look like for educators and social workers?

    I was putting together those pieces, and then it became clear to me that everything was connected, like the paycheck I had or where I lived or the gentrified neighborhood that my grandma lives in Columbus, where now her house is worth $500,000 and white people are asking to buy her house. That’s all material things we can touch and feel. It made it clear that life doesn’t have to be this way, that, as a worker, as a Black worker, I deserve more. I understood racism. But to really confront racism as it plays out in your everyday life is for you as a working-class person.

    PJ: So that resonated with things you already knew but also put them in a new light.

    KG: There’s this assumption in mainstream society, and even in the history classes that we’re in, that things just get better.

    You know how people say, “I can’t believe you said that word. It’s 2025.” Like things just get better. And people are even now, “How are they going after same-sex marriage? It’s 2025.” And it’s like no, this is a battle, and if we whatever we want to call ourselves, the Left, progressives, if we don’t join together and fight that battle, we lose.

    What we’re seeing is this back and forth of winning and losing, and when we lose, we are not organized. We are not talking to each other. We are not bringing new people into the movement. The Marxist analysis of history convinced me that I have to play a role in that history, that I’m just not going to wake up tomorrow and Black liberation will come. I think I read somewhere that there are more Black men in prison now than were enslaved. It’s a real thing you can touch to know that things don’t just get better. We have to fight for the things that we deserve, and they’re not just going to come to us, and we can’t rely on anybody but ourselves and other ordinary people to make that happen.

    This is a battle, and if we whatever we want to call ourselves, the Left, progressives, if we don’t join together and fight that battle, we lose. . . . We have to fight for the things that we deserve, and they’re not just going to come to us, and we can’t rely on anybody but ourselves and other ordinary people to make that happen.

    PJ: You’ve seen not only in Ohio but everywhere, these attacks on trans rights that are actually attacks on trans people. It’s not even been abstract, like you can’t have this right. It’s been like, why do you exist.

    KG: Exactly—the demonization of a whole group of people.

    PJ: As a cisgender person, I’m in solidarity in the fight against that, but I don’t feel it in the same way that a trans person would feel it. I don’t want to ask an unfair question, but how do you look at this moment? How are you experiencing this moment? You’ve been through a lot of moments, in your life as an activist and as a person where you’ve said this is a really bad time. This is a really hard time. How does this time feel to you?

    KG: It feels rough because it feels unorganized.

    In different meetings that I’m in, whether it’s a big coalition meeting or whether it’s a small Tempest meeting, it’s hard to even think about strategies and tactics. It’s like a lot of bad things are happening to us, but there’s not necessarily thousands of people going into the streets.

    So then as a revolutionary, as someone who knows that we need people in this, we need people to take action, I think that is what honestly scares me the most.

    And I think Trump is really good at this. He was good at this his first time around, but putting so much on us so quickly. It’s like you learn about one thing, and then he throws something else at you, so it’s too hard to keep up. And I know people feel that way, but it just feels like we don’t have enough people on our side doing active things every day to fight back.

    And that’s not to say that people are not active. People are. And they are really giving their all. But I think it’s when we are unorganized, it is easier for people to be hopeless and move away if they have that privilege, or to just hold their ground and to see where it’s going to go.

    Even now, it’s hard to offer someone a vision, and I think that’s what Trump is good at. He gave people a wrong vision, but he did give people a vision and an answer to why they can’t afford groceries. An inaccurate one, but the U.S. is founded on racism and enslavement and genocide, so when you tell somebody, “You don’t live a good life because of immigrants,” it’s easy to understand that.

    What is our vision, and how do we share that with other people? It feels different from the Black Lives Matter movement. There were some parts of it that were unorganized, but there just seemed to be this force of people into the streets. People saying, “I’m going to do something about it.” It might be unorganized, and it might be tactically strong with no strategy. But people were doing something. And now it feels like we need that pressure. And we saw some of that for Palestine, but even that has died down, especially in the U.S.

    PJ: So there needs to be this revival of this sense of vision, I think that’s a good word. There are a lot of people fighting, and a lot of us have been very busy. But we are missing this sense of collectively are we going to take this on or not?

    Even people say fascism is this. That’s fine. People can say whatever word they want. But what are we going to do? That’s the question—and are we going to do it together? It’s about solidarity. Different people are at the front lines of different kinds of attacks, and that’s undeniable. At the same time, we’re in this together. No individual group is going to liberate themselves. What does that look like for you? What does solidarity in practice look like for you? How do we get this diverse group of people, who share a lot but also have differences, together?

    I’m not asking you for a formula, but what I’m asking you for, how do we do it? If you have it, you should share it. But what I’m asking is, what have some of your experiences have been of those moments of solidarity, experiencing it and organizing around it?

    KG: I think a couple things. I think one is connecting struggles, and two is not just connecting struggles, but also—I’m trying to think of a way to phrase it. For cis people to care about trans folks, for example. Why would a cis person want to show up for trans folks? Let’s say you don’t have any trans family members, you don’t have any trans kids. You’ve just heard about them on the news, and now you’re trying to figure out which way to go. I think the way to do that is to think about your own struggles that you’re facing and then having this material analysis and asking, what will I lose if trans people keep losing rights?

    I think we saw this coming when they got rid of Roe v. Wade, right? That is an attack on trans folks and cis women. But it’s tough to see that attack happen without a huge movement to fight back against it. Now we’re seeing the demonization of trans people. This attack on a person’s ability to have an autonomous body where they make decisions for themselves. And that should be the number one thing we’re all fighting for. And that has everything to do with cis men, right? Cis men oftentimes, I think, don’t have autonomy over their bodies in that you get to only be emotional and express a certain type of emotion in a certain setting, if any.

    You’re judged for how you express yourself; you’re judged if you don’t express yourself the right way. So that has everything to do with trans rights. That has everything to do with the medical industry and what services that we can be provided with, whether it’s hormones or abortion rights. I think that’s one way in terms of thinking about how this affects me. I could go my whole life not meeting a trans person, let’s say, but what does that trans person’s experience have to do with me? And if I don’t show up for that trans person, my own material rights are going to be taken away.

    I’m not going to have abortion rights, or I’m not going to be able to think differently about my masculinity. I think those two things are very connected. Like with the border—not being allowed to move your body where you need to, whether it’s for your family to live or because you want to go somewhere else. That is an issue of autonomy about what you can do for you and your family,

    PJ: And then there is the kind of moral and ethical question to just stand up for people next to you.

    KG: If people are moved in that way: I have to show up because it’s the right thing to do, I think that’s brilliant. But also, I think there is this insight that, if they lose their rights, they’re coming for me next. I think that is very real, and we have seen that play out in the last 15 or 20 years.

    I think another piece of solidarity for me is letting people mess up. I was just listening to Keeanga-Yamahtta Taylor giving a talk. And she was like, “What if during the Black Lives Matter movement, we didn’t expect people to already be abolitionists when they came into our meetings?”

    What if we invited people to a meeting and a white working-class person comes who is not convinced that cops are bad, and says, “Sometimes my neighbors and I do call the cops because things happen”? And then sometimes what we saw in that moment was maybe cancel politics. Maybe, “Oh we’re not going to invite that person to the next meeting” instead of a holding organizing spaces that can actually be somewhere where you get your questions answered in a loving, comradely way to then move people to understand—like what I just explained for a cis man caring about trans people. That just can’t happen in your own home. That has to be in collectivity with someone else who’s also thinking about it.

    Say you’re a teacher and it’s your first time hearing about a gender-neutral restroom in your school. The spaces that organizers create have to be where people can connect those struggles. Then solidarity can be material. But if we are expecting people to say a certain thing, or to be educated on this certain thing, I don’t know where adults are going to get educated on this thing. They’re coming to us, I hope. So when they come into our spaces that should be easily accessible.

    They should say something wrong. And then we should meet them with love and care, and get them to abolitionist politics, not expecting someone to show up and completely understand Zionism, and completely understand a one-state solution, and completely understand Palestinian liberation.

    How can we be the landing pad for people to recognize the material connections from themselves and a Palestinian in Gaza? We have to be doing that work.

    I just heard David McNally say that the spaces that we’re in, they might not be revolutionary spaces, but if they are spaces where people are at, we must be there. And we don’t change our politics, but we create spaces to talk about things with other people and bring our revolutionary politics into that.

    I know both you and I are at universities where people have many different ideas. But universities are also made up of poor people, of working-class people, of Black and Brown people, so we must be there. Then we have to offer a different vision of what the university could be like. We have to talk to people who maybe have not thought about a free education. Or about an LGBTQ center that will always be in existence, or no police on campus. We have to be in these spaces where people are to offer these different types of visions, to work with people, and to move each other. We have to be open to being shifted by other people that we’re meeting. I think that’s how the relationship has to work to be a true, honest, comradely relationship.

    PJ: There are not thousands of people on the street. Because of all the repression, the movements themselves don’t look as big in that kind of climate. There are a lot of people who are on the fence, who aren’t exactly sure what their next step should be. What kind of thoughts or advice do you have for people on the fence right now who see a lot of atrocities but aren’t sure what they should do?

    We have to be in these spaces where people are to offer these different types of visions, to work with people, and to move each other. We have to be open to being shifted by other people that we’re meeting. I think that’s how the relationship has to work to be a true, honest, comradely relationship.

    KG: Really, I think all I can say is you can’t do it alone. And you have to do something. You have to act, but that action only means something, and you’re only provided with safety to act ifs you do it with other people. So that means understanding the community you’re in.

    Who’s meeting where? What is the landscape of the city you’re in? Do you have a friend who is just as pissed off as you and you want to read this book about McCarthyism together? I’m sure all of us have a pissed off coworker or a pissed off sibling who’s also thinking about this stuff. It doesn’t have to be a meeting with 50 people. It can be getting with a couple of people and thinking about how things work and why they work the way they work and providing each other that space to ask those questions. If you hear of a protest, if you hear of a march, if you hear of a teach-in, go. And you will hopefully be met with kindness.

    The role of an organizer is to ask, “You got a ride?” Or to send you an email with five resources because you had this one question that they remembered from two weeks ago. That’s the role of an organizer, to make it easier for people to think about their place in organizing, their place in this revolution.

    There’s a place for everybody. But we have to do something, and we have to do it with other people.

    Opinions expressed in signed articles do not necessarily represent the views of the editors or the Tempest Collective. For more information, see “About Tempest Collective.”
    Featured Image credit: Becker1999 and Pranav Jani; modified by Tempest.

    The post We have to do something appeared first on Tempest.

    Categories: D2. Socialism

    Australia’s biggest coal generator set to be replaced by the world’s biggest battery

    Renew Economy - Sun, 10/04/2026 - 19:31

    Origin Energy seeks approval for new addition to its Eraring battery that would take the total size to 1200 MW and 8600 MWh, easily the biggest in the country.

    The post Australia’s biggest coal generator set to be replaced by the world’s biggest battery appeared first on Renew Economy.

    Going full hybrid: Massive, $2 billion solar and battery proposed at site of newly expanded wind farm

    Renew Economy - Sun, 10/04/2026 - 15:08

    More projects are going hybrid: A $2 billion solar and battery addition is proposed to what is already the state's biggest and newly expanded wind farm.

    The post Going full hybrid: Massive, $2 billion solar and battery proposed at site of newly expanded wind farm appeared first on Renew Economy.

    Pages

    The Fine Print I:

    Disclaimer: The views expressed on this site are not the official position of the IWW (or even the IWW’s EUC) unless otherwise indicated and do not necessarily represent the views of anyone but the author’s, nor should it be assumed that any of these authors automatically support the IWW or endorse any of its positions.

    Further: the inclusion of a link on our site (other than the link to the main IWW site) does not imply endorsement by or an alliance with the IWW. These sites have been chosen by our members due to their perceived relevance to the IWW EUC and are included here for informational purposes only. If you have any suggestions or comments on any of the links included (or not included) above, please contact us.

    The Fine Print II:

    Fair Use Notice: The material on this site is provided for educational and informational purposes. It may contain copyrighted material the use of which has not always been specifically authorized by the copyright owner. It is being made available in an effort to advance the understanding of scientific, environmental, economic, social justice and human rights issues etc.

    It is believed that this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit to those who have an interest in using the included information for research and educational purposes. If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. The information on this site does not constitute legal or technical advice.