X
Lost password?

Don't have an account?
Gain Access Now

X

Receive free daily analysis

NFL
NBA
NHL
NASCAR
CFB
MLB
MMA
PGA
ESPORTS
BETTING

Already have an account? Log In

X

Forgot Password


POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Draft Rankings
Draft Simulator
Enter League Settings
Value Picks
Compare Any Players
News and Alerts

Coaching Matters: 2021 San Francisco 49ers Coaching Staff Preview

Eli Grabanski previews the 2021 San Francisco 49ers' coaching staff in search of buy-lows, fantasy football sleepers, and risers based on play-calling and historical data.

After every NFL season, NFL teams take the time to evaluate not only the players but also the coaching staff and front office as well. While many teams choose to retain the same head coach, offensive coordinator, and defensive coordinator, a few other teams opt to go in a new direction with their coaching staff.

Outside of defensive coordinator Robert Saleh leaving to become the newest coach of the New York Jets, the San Francisco 49ers will be bringing back many of their key coaching staff members from the 2020 season. Kyle Shanahan will return as the 49ers head coach. Mike McDaniel will be the team's offensive coordinator in 2021 after the position was left vacant in 2020. DeMeco Ryans will be the team's new defensive coordinator, replacing Robert Saleh.

This article will look at the potential impact this coaching staff will have on the players and try to pinpoint the 49ers players' fantasy values in it.

Be sure to check all of our fantasy football rankings for 2025:

 

The Baseline

To get a better understanding of the value the 49ers coaches help bring to this team, we can look at the NFL league averages in each of the past two years in a variety of statistical categories and then compare them to the averages achieved by the 49ers' coaches. Here are 'The Baseline' NFL league averages over the past couple of years:

QB Impact

Year Team Pass Att. Team Pass Yds. Team Pass TDs QB Carries QB Rush Yds. QB Rush TDs
2019 League Average
34.87 251.78 1.56 3.56 15.04 0.16
2020 League Average 35.19 254.88 1.70 4.19 18.43 0.25

RB Impact

Year RB Carries RB Rush Yds. RB Rush TDs RB Rec. RB Targets RB Rec. Yds. RB Rec. TDs
2019 League Average
21.77 92.96 0.68 5.10 6.64 40 0.19
2020 League Average
21.68 95.13 0.75 4.71 6.14 34.94 0.18

WR Impact

Year WR Rec. WR Targets WR Rec. Yds. WR Rec. TDs
2019 League Average
12.05 19.59 158.39 0.95
2020 League Average
13.24 20.21 166.67 1.04

TE Impact

Year TE Rec. TE Targets TE Rec. Yds. TE Rec. TDs
2019 League Average
4.70 6.88 50.99 0.38
2020 League Average
4.76 7.03 51.29 0.45

Defense Impact

Year Points Allowed Pass Yds Given Up Run Yds Given Up Plays Against Yds/Play
Turnovers Forced
22.8 235 112.9 63.5 5.5 1.4
24.8 240.2 118.9 64.3 5.6 1.3

Previous Coaching Staff

In order to get an understanding of how the San Francisco 49ers' fantasy players may be impacted this year, we also need to look at a key member of the San Francisco 49ers' previous coaching staff: Robert Saleh. By doing this, we will have a better understanding of where the new regime is starting from and where the primary changes will occur.

Former Defensive Coordinator: Robert Saleh

Year Games Points Allowed Pass Yds Given Up Run Yds Given Up Plays Against Yds/Play Turnovers Forced
2019 49ers 16 19.38 169.19 112.63 60.5 4.66 1.69
2020 49ers 16 24.38 207.94 106.44 62.31 5.05 1.25
Robert Saleh's Career Averages (DC/HC) 64 23.72 211.41 112.19 63.33 5.11 1.16

 

2021 Offense

2021 Head Coach: Kyle Shanahan

Kyle Shanahan has been the San Francisco 49ers head coach since 2017. In addition, he has previously served as an offensive coordinator for the Houston Texans (2008-2009), Washington Redskins (2010-2013), Cleveland Browns (2014), and Atlanta Falcons (2015-2016). Given his offensive background, let's take a look at some of his team's offensive statistics over the course of his 208 game career as either an offensive coordinator or head coach.

QB Impact

Year Games Team Pass Att. Team Pass Yds. Team Pass TDs QB Carries QB Rush Yds. QB Rush TDs
2019 49ers 16 29.88 251.81 1.75 3.06 3.69 0.06
2020 49ers 16 35.63 270 1.56 1.56 3.81 0
Shanahan's Career Averages (OC/HC) 208 34.83 266.30 1.44 3.11 11.22 0.10

RB Impact

Year Games RB Carries RB Rush Yds. RB Rush TDs RB Rec. RB Targets RB Rec. Yds.
RB Rec. TDs
2019 49ers 16 26.5 127.75 1.19 3.56 4.94 32.13 0.31
2020 49ers 16 23.69 102.75 0.94 4.63 6.69 39.75 0.31
Shanahan's Career Averages (OC/HC) 208 23.13 100.45 0.78 4.05 5.50 32.80 0.17

WR Impact

Year Games WR Rec. WR Targets WR Rec. Yds. WR Rec. TDs
2019 49ers 16 9.5 14.56 132.63 0.94
2020 49ers 16 11.38 17.5 146 0.56
Shanahan's Career Averages (OC/HC) 208 11.90 19.75 161.23 0.87

TE Impact

Year Games TE Rec. TE Targets TE Rec. Yds. TE Rec. TDs
2019 49ers 16 6.38 8.19 72.13 0.44
2020 49ers 16 6 8.56 71.63 0.44
Shanahan's Career Averages (OC/HC) 208 5.07 7.61 63.13 0.33

 

2021 Offensive Coordinator: Mike McDaniel

Mike McDaniel NFL Coaching Jobs
Year Team Role
2005 Denver Broncos Intern
2006-2008 Houston Texans
Offensive Assistant
2011-2012 Washington Redskins
Offensive Assistant
2013 Washington Redskins WR Coach
2014 Cleveland Browns WR Coach
2015-2016 Atlanta Falcons
Offensive Assist.
2017-2020 San Francisco 49ers
Run Game Coordinator
Present San Francisco 49ers
Offensive Coordinator

 

Kyle Shanahan And Mike McDaniel Takeaways & Expectations

Kyle Shanahan is going to be the primary play-caller of the San Francisco 49ers and Mike McDaniel has never officially worked as an offensive coordinator or head coach before, so we will primarily be talking about the offense that Kyle Shanahan has liked to run over the course of his career in this section. Over the course of Kyle Shanahan's 208 game career as an offensive play-caller, his offenses have averaged 34.83 passing attempts per game - which is around league average.

In addition, it's also important to pay attention to the amount of rushing work a quarterback receives since it can give your quarterback a higher ceiling in your fantasy leagues. Over the course of his career, Shanahan's quarterback room has averaged 3.11 carries per game.

This career average in quarterback carries per game is nothing special, but it is important to note that he was willing to adapt based on his quarterback's abilities as seen in the graph above. If Jimmy Garoppolo is the starter, there won't be a lot of rushing work going to the quarterback position. But as soon as Trey Lance becomes the starter under Shanahan, you can expect the rushing work to explode at the position and look more like the levels in 2012 and 2013 where Robert Griffin III was his starting quarterback. Overall, Jimmy Garoppolo will be in the streaming mix for fantasy leagues as long as he's the starter and Trey Lance will have low-end QB1/high-end QB2 potential due to his rushing upside - if he can overtake Jimmy Garoppolo on the depth chart.

Looking at the running back position, Kyle Shanahan does a pretty good job of giving his running backs work. Over the course of the 208 games that Kyle Shanahan has been an offensive coordinator or head coach, his running back room has averaged 23.13 carries and 0.78 rushing touchdowns per game - both of which are above-average for a play-caller.

This level of usage is extremely encouraging for the 49ers running backs' fantasy outlooks. But overall, what percentage of the carries go to one running back versus Shanahan conducting a running back by committee approach?

Shanahan has been one of the more unpredictable play-callers in the rushing attack he wants to deploy with his backs, with him giving greater than 50% of his team's season running back carries to his lead back in seven of his thirteen seasons. Over the last three seasons, he's leaned more towards the 'hot hand' approach with his lead back on the season seeing under 50% of the carries in each season. Given the 49ers' personnel, it's likely that they split carries between Raheem Mostert, Trey Sermon, Wayne Gallman Jr., and Jeff Wilson in 2021. But if the 'hot hand' stays hot, Shanahan will be sure to reward them with carries.

The last aspect we should look at concerning Kyle Shanahan's running backs is how much he has traditionally utilized them as pass-catchers. Over the course of his 208 game career as an offensive coordinator or head coach, Shanahan's running back room has averaged 5.50 targets per game.

This usage is slightly below average compared to what other play-callers provide their running backs through the air. Overall, Kyle Shanahan will provide his running backs with a healthy amount of carries and will give his running backs a below-average amount of targets. Based on this information, the San Francisco 49ers are certainly capable of producing an RB2 - but it will ultimately come down to if one running back can hold onto that lead role for most of the season.

Looking at the wide receiver position, Shanahan has provided his wide receivers with 19.75 targets per game over the course of his 208 game career as an offensive coordinator or head coach.

This career average is about what we'd expect from the typical play-caller, but it is important to note that Shanahan has utilized the position less in recent years with the 49ers' wide receivers getting 14.56 targets per game in 2019 and 17.5 targets per game in 2020. Under Shanahan, the 49ers' offense is likely to only going to produce one, maybe two fantasy-relevant wide receivers during the 2021 season.

Finally, we need to dive into Shanahan's usage of tight ends. Over the course of his career as an offensive play-caller, Shanahan's tight end room has averaged 7.61 targets per game.

Shanahan has been pretty reliable in feeding his tight ends over the course of his career - in particular over the last three seasons he's been the 49ers head coach. Based on this George Kittle should be a top-tier fantasy tight end once again, and be one of the first three tight ends off the board in your fantasy draft.

 

Fantasy Relevant Players: Jimmy Garoppolo, Trey Lance, Raheem Mostert, Jeff Wilson Jr., Trey Sermon, Wayne Gallman Jr., Deebo Samuel, Brandon Aiyuk, Richie James Jr., Jalen Hurd, Mohamed Sanu, Trent Sherfield, Travis Benjamin, Kyle Juszczyk, Ross Dwelley, and George Kittle

 

2021 Defense

2021 Defensive Coordinator: DeMeco Ryans

DeMeco Ryans will be the San Francisco 49ers' defensive coordinator in 2021 after former defensive coordinator Robert Saleh was hired by the New York Jets to be their new head coach. Ryans has been with the San Francisco 49ers since 2017, spending time as a defensive quality control coach (2017) and inside linebackers coach (2018-2020) for the team.

DeMeco Ryan's NFL Coaching Career
Year Team Role
2017 San Francisco 49ers
Defense Quality Control Coach
2018-2020 San Francisco 49ers
Inside Linebackers Coach
Present San Francisco 49ers
Defensive Coordinator

It's more difficult to project what kind of production we will see from the San Francisco 49ers defense because this is DeMeco's first year ever serving as a defensive coordinator. But we do know a couple of things. First, the San Francisco 49ers defense has been above average in the last few years, so the talent is clearly there to field a great defense. Second, Ryans had worked under Robert Saleh for his entire coaching career thus far, so he should have a pretty good understanding of what has made the defense successful in recent years. Overall, there is some uncertainty with the San Francisco D/ST under DeMeco Ryans. But for now, while they likely won't be as good as they were under Saleh (since he was a top tier defensive coordinator), we can project that the San Francisco 49ers D/ST will be slightly above-average once again in 2021 based on the talent they have when everyone is healthy and the belief that Ryans will continue to utilize a lot of the same ideas and concepts that Robert Saleh did.

 

Other Notable Assistants

Special Teams Coordinator: Richard Hightower - Richard Hightower has been the San Francisco 49ers special teams coordinator since 2017. He's been coaching since 2006, previously spending time in the NFL with the Houston Texans (2006-2008), Washington Redskins (2010-2013), Cleveland Browns (2014), San Francisco 49ers (2015), and Chicago Bears (2016) before taking the 49ers special teams coordinator job.

QB Coach: Rich Scangarello - Rich Scangarello will be making his return as the San Francisco 49ers quarterbacks coach in 2021, after serving in the same role in the 2017 and 2018 seasons. He's been coaching since 1998 and has also previously served as an offensive coordinator of the Denver Broncos (2019).

RB Coach: Robert Turner Jr. - Robert Turner Jr. has been the San Francisco 49ers running backs coach since 2017. He's been coaching football since 1972 and has previously spent time coaching running backs at the NFL level for the Denver Broncos (1995-2009), Washington Redskins (2010-2013), and Atlanta Falcons (2015-2016).

WR Coach: Wes Welker - Wes Welker has been the San Francisco 49ers wide receivers coach since 2019. Prior to joining the San Francisco 49ers coaching staff, he spent two years as an offensive assistant & special teams assistant for the Houston Texans (2017-2018). In addition, Welker played wide receiver at the NFL level for the San Diego Chargers (2004), Miami Dolphins (2004-2006), New England Patriots (2007-2012), Denver Broncos (2013-2014), and St. Louis Rams (2015).

TE Coach: Jon Embree - Jon Embree has served as the San Francisco 49ers tight ends coach since 2017. He's been coaching since 1991, spending time coaching tight ends at the NFL level for the Kansas City Chiefs (2006-2008), Washington Redskins (2010), Cleveland Browns (2013), Tampa Bay Buccaneers (2014-2016). He also serves as the team's assistant head coach.

OL Coach: Chris Foerster - Chris Foerster rejoined the San Francisco 49ers in 2019 after two prior stints with the team, but 2021 will be his first year as an offensive line coach on Kyle Shanahan's staff. Foerster has been coaching since 1982, and previously spent time coaching offensive lines at the NFL level for the Tampa Bay Buccaneers (1996-2001), Baltimore Ravens (2005-2007), San Francisco 49ers (2008-2009, 2015), Washington Redskins (2010-2014), and Miami Dolphins (2016-2017). He also notably resigned from the Dolphins in October of 2017 after a video surfaced of him snorting a white powder.

DL Coach: Kris Kocurek - Kris Kocurek has been the San Francisco 49ers' defensive line since 2019. He's been coaching since 2003 and has also notably spent time as an NFL defensive line coach for the Detroit Lions (2010-2017) and Miami Dolphins (2018).

LB Coach: Johnny Holland - Johnny Holland has been with the San Francisco 49ers since 2017. He's served as a linebackers coach at the NFL level for the Green Bay Packers (1999), Seattle Seahawks (2001-2002), Detroit Lions (2005), Houston Texans (2006-2010), Oakland Raiders (2012), and San Francisco 49ers (2017, Present). He also played linebacker in the NFL for the Green Bay Packers (1987-1993).

Secondary Coach: Cory Undlin - Cory Undlin is new to the San Francisco 49ers coaching staff in 2021 after spending the 2020 season as the Detroit Lions defensive coordinator. Undlin has been coaching since 1998, notably spending time as a defensive backs coach of the Cleveland Browns (2008), Jacksonville Jaguars (2010-2011), Denver Broncos (2013-2014), and the Philadelphia Eagles (2015-2019).

Safeties Coach: Daniel Bullocks - Daniel Bullocks has been with the San Francisco 49ers since 2017 and served as the team's safeties coach since 2019. He's been coaching football since 2012 and also played safety in the NFL for the Detroit Lions (2006-2009)

 

Enjoy this series? Be sure to check out all of the other 'Coaching Matters' team previews!

AFC SouthHouston TexansJacksonville JaguarsIndianapolis ColtsTennessee Titans

AFC NorthCleveland BrownsBaltimore RavensPittsburgh SteelersCincinnati Bengals

AFC WestLas Vegas RaidersLos Angeles ChargersKansas City ChiefsDenver Broncos

AFC EastNew England PatriotsMiami DolphinsNew York JetsBuffalo Bills

NFC South: Carolina PanthersTampa Bay Buccaneers, New Orleans SaintsAtlanta Falcons

NFC North: Green Bay PackersDetroit LionsChicago Bears, Minnesota Vikings

NFC West: Arizona CardinalsSeattle Seahawks, and Los Angeles Rams

Follow Eli Grabanski on Twitter: @3li_handles



Download Our Free News & Alerts Mobile App

Like what you see? Download our updated fantasy football app for iPhone and Android with 24x7 player news, injury alerts, rankings, starts/sits & more. All free!

More Fantasy Football Analysis




POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Draft Rankings
Draft Simulator
Enter League Settings
Value Picks
Compare Any Players
News and Alerts

REAL-TIME FANTASY NEWS

Evander Kane

Drops to Fourth Line Saturday
Kasperi Kapanen

Won't Play on Saturday
Calvin Pickard

Starts Game 5 for Oilers
Jaxson Dart

Working as No. 2 QB During Offseason Workouts
Xavier Gipson

Roster Spot Could be in Jeopardy
Josh Reynolds

the Front-Runner for WR2 Duties
Garrett Wilson

Stock Up This Offseason
Breece Hall

Motivated Going into 2025 Season
Brandon Aiyuk

Making Good Progress From Knee Injury
Keon Coleman

Inconsistent at Minicamp
Mitchell Trubisky

Not a Lock for Backup Job
Dalton Kincaid

Adds Strength and Bulk
James Cook

a Full Participant in Mandatory Minicamp
Tyrese Haliburton

Struggles in Friday's Loss to OKC
Jacob Misiorowski

Expected to Make Next Start
Chet Holmgren

Dominates the Glass in Game 4
Shai Gilgeous-Alexander

Leads the Way in Game 4
Jalen Williams

Has a Quality Showing on Friday Night
Charlie Morton

Continues Good Work With 10 Strikeouts
James Wood

Homers, Drives in Four
Agustín Ramírez

Agustin Ramirez Homers Twice to Snap Skid
Isaac Paredes

Astros Hopeful Isaac Paredes Can Avoid the Injured List
Royce Lewis

Dealing With Hamstring Strain
Kodai Senga

Diagnosed With Grade 1 Hamstring Strain
Gleyber Torres

Goes Deep Twice on Friday
Jonathan India

Leaves With Apparent Shoulder Injury
Evan Carter

Leaves Early With Wrist Soreness
Anthony Richardson

Should be Fine for Training Camp
Russell Westbrook

to Decline Player Option
Kevin Durant

Trade Could Happen in the "Next Few Days"
A.J. Puk

Pauses Throwing Program
Matt Chapman

Can Begin Rehabbing in a Week
Logan Gilbert

Next Start Could Come in the Big Leagues
Cam Akers

Joining Saints
Yordan Alvarez

Still Not Hitting
Michael Mayer

to Get More Involved
Aaron Rodgers

DK Metcalf Building Chemistry with Aaron Rodgers
Colston Loveland

Likely to be Primary Tight End
Jacob Wilson

Returns on Friday
Justin Martinez

Out 12-13 Months With UCL Sprain
Will Johnson

Returns to Practice
Harold Fannin Jr.

Could Have Big Role in Rookie Season
Matt Chapman

Could Miss the Rest of June
Quentin Johnston

Still Running With Starters
Rashawn Slater

Takes Part in Minicamp
Jack Bech

Mostly Working With Second-Team Offense
Dont'e Thornton Jr.

Makes Strides This Offseason
Joaquin Buckley

Set For Main Event
Kamaru Usman

An Underdog At UFC Atlanta
Miranda Maverick

Set For Co-Main Event
Rose Namajunas

Looks To Bounce Back
Andre Petroski

Looks To Extend His Win Streak To Four
Edmen Shahbazyan

A Favorite At UFC Atlanta
Raoni Barcelos

Set To Take On Former Champion
Cody Garbrandt

Looks To Get Back In The Win Column
Mansur Abdul-Malik

Looks For His Third UFC Win
Cody Brundage

Looks To Win Back-To-Back Fights
Alonzo Menifield

Opens Up UFC Atlanta Main Card
Oumar Sy

Looks To Remain Undefeated
Aaron Civale

Traded to the White Sox
Connor Hellebuyck

Wins Vezina And Hart Trophies
Aleksander Barkov

Records Two Power-Play Assists Thursday
Sam Reinhart

Collects Three Points in Thursday's Loss
Matthew Tkachuk

Notches Three Points in Losing Effort
Calvin Pickard

Joins Exclusive List with Thursday's Win
Mattias Ekholm

Logs Two Assists in Comeback Victory
Leon Draisaitl

Delivers Victory in Overtime Thursday
Myles Turner

Playing Through Illness
Reed Sheppard

Will Play in the NBA Summer League
Kevin Durant

Deal Could Come Sooner Rather Than Later
Jacob Misiorowski

Pulled With Cramps
Framber Valdez

Punches Out 12 in Win
Isaac Paredes

Homers, Exits Early With Hamstring Injury
Dorian Finney-Smith

Undergoes Ankle Surgery
Anze Kopitar

Wins Third Lady Byng Trophy
Sergei Bobrovsky

Heading Out for Win No. 15
John Klingberg

Won't Play in Game 4 Against Panthers
Viktor Arvidsson

Sits Out Game 4 Against Panthers
Stuart Skinner

Remains in Oilers Crease Thursday
Chris Kreider

Ducks Acquire Chris Kreider From Rangers
Jalen Williams

Leads Thunder in Scoring Wednesday
Shai Gilgeous-Alexander

Settles for 24 Points in Game 3 Loss
Pascal Siakam

Does Everything for Pacers Wednesday Night
Tyrese Haliburton

Gets Close to Triple-Double in Game 3 Win
Bennedict Mathurin

Leads All Scorers with 27 Points Wednesday
Brandin Podziemski

Has Second Offseason Surgery
Cale Makar

Wins His Second Norris Trophy
Lane Hutson

Voted NHL's Best Rookie
CGY

Adam Klapka Agrees to Two-Year Extension with Flames
Ryan Nugent-Hopkins

Considered a Game-Time Call Thursday
Jaylen Brown

Undergoes Successful Knee Procedure
Kevin Porter Jr.

Likely to Decline Player Option
Matt McCarty

Comes Off Season-Best Showing at RBC Canadian Open
Justin Thomas

Desperate to Continue Good 2025 Season
Kevin Durant

Knicks Not Looking to Trade for Kevin Durant
Jon Rahm

Seeks Revenge at U.S. Open
Tom Kim

Aiming for Improvement in U.S. Open
PGA

Sungjae Im Expects Solid Performance at Oakmont
Brian Harman

Aims to Rebound From the Memorial
Tony Finau

has Been Up and Down at U.S. Open
Patrick Cantlay

Hoping This is the Year at Oakmont
Akshay Bhatia

Improving in Time for U.S. Open
Xander Schauffele

Primed for Another Major Championship Run
Cameron Young

May Struggle at U.S. Open
Collin Morikawa

Eyeing Third Major Championship Title
Matt Fitzpatrick

Seeks to Avenge Oakmont Collapse
Jordan Spieth

Can Contend at Oakmont
Shane Lowry

a Strong Value Play at U.S. Open
Brooks Koepka

Seeks Another Major Win at Oakmont
Viktor Hovland

Still Can Improve at U.S. Open
Michael Kim

a Boom-or-Bust Value Play at U.S. Open
Russell Henley

Looking to Play the Weekend at Oakmont
Tyrrell Hatton

a Safe Option at U.S. Open
Bryson DeChambeau

Eyeing Third U.S. Open Title
Darius Garland

Kings Targeting Darius Garland
Kevin Durant

Expected to Be Moved Soon
Denny Hamlin

Charges Late to Win at Michigan
Carson Hocevar

Michigan Run is Derailed by A Late-Race Flat Tire
Kyle Larson

Up-and-Down Day Ends With Top-Five Finish at Michigan
Ross Chastain

Quietly Finishes Sixth at Michigan
Corey Perry

Nets Power-Play Goal in Monday's Loss
Chris Buescher

Takes Second Place After William Byron Runs Out of Fuel
NASCAR

Bubba Wallace Has a Great Points Day to Build Buffer Over the Playoff Cut Line
Ryan Blaney

Flat Tire Results in Poor Finish for Ryan Blaney
Alex Bowman

Playoffs in Doubt After Stage 2 Crash at Michigan
Sean O'Malley

Submitted For The First Time In His Career
Merab Dvalishvili

Defends Bantamweight Belt At UFC 316
Julianna Peña

Julianna Pena No Longer A Champion
Kayla Harrison

Is The New Champion
Joe Pyfer

Wins Back-To-Back Fights
Kelvin Gastelum

Drops Decision
Patchy Mix

Drops Decision In His UFC Debut
Mario Bautista

Extends His Win Streak
Vicente Luque

Submitted At UFC 316
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF