Katie Healy #42 F St. Bonaventure

gp 30
pts/g 15.3
fg % 50.0
3pt % -
ft % 77.2
reb/g 6.8
a/g 2.8
Recent Games
Feb 20 at La Salle W, 70-63
Feb 24 at Fordham L, 77-68
Feb 28 Duquesne W, 60-48
Mar 4 vs. VCU L, 59-50
Mar 18 vs. Oklahoma St. W, 65-54
Mar 20 at #6 Oregon State L, 69-40
Statistics category Overall Conf
Games 30 16
Games started 29 16
Minutes 891 490
Minutes per game 29.7 30.6
FG 173-346 90-187
FG Pct 50.0 48.1
3PT 0-0 0-0
3PT Pct - -
FT 112-145 67-81
FT Pct 77.2 82.7
Off rebounds 59 29
Def rebounds 145 79
Total rebounds 204 108
Rebounds per game 6.8 6.8
Personal fouls 79 39
Disqualifications 3 0
Assists 83 45
Turnovers 92 54
Assist to turnover ratio 0.9 0.8
Steals 39 19
Blocks 52 19
Points 458 247
Points per game 15.3 15.4
Points per 40 min 20.6 20.2
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 7 # Edinboro W, 79-37 1 15 4-6 66.7 0-0 - 3-3 100.0 11
Nov 13 Siena W, 57-40 1 32 6-15 40.0 0-0 - 2-2 100.0 14
Nov 15 at #22 DePaul L, 77-54 1 29 3-6 50.0 0-0 - 0-1 0.0 6
Nov 21 at Drexel L, 58-46 1 17 3-6 50.0 0-0 - 3-9 33.3 9
Nov 24 Detroit W, 84-73 1 36 8-11 72.7 0-0 - 3-3 100.0 19
Nov 29 Toledo W, 74-63 1 26 6-8 75.0 0-0 - 6-8 75.0 18
Dec 1 at Stony Brook W, 73-68 1 39 11-20 55.0 0-0 - 4-7 57.1 26
Dec 5 Georgetown W, 69-54 - - - - - - - - -
Dec 7 James Madison W, 56-45 - - - - - - - - -
Dec 9 Buffalo W, 59-32 - 26 6-9 66.7 0-0 - 3-4 75.0 15
Dec 12 Penn State W, 70-60 1 33 8-18 44.4 0-0 - 3-3 100.0 19
Dec 19 at Colgate W, 62-38 1 21 4-4 100.0 0-0 - 0-0 - 8
Dec 23 Niagara W, 67-55 1 33 6-14 42.9 0-0 - 2-5 40.0 14
Dec 29 at Canisius W, 59-47 1 33 8-16 50.0 0-0 - 9-10 90.0 25
Jan 3 at Rhode Island W, 69-56 1 25 4-9 44.4 0-0 - 0-1 0.0 8
Jan 7 Fordham W, 55-41 1 32 5-14 35.7 0-0 - 4-4 100.0 14
Jan 10 UMass W, 66-41 1 29 5-7 71.4 0-0 - 2-2 100.0 12
Jan 13 at Davidson W, 59-47 1 29 6-16 37.5 0-0 - 2-2 100.0 14
Jan 16 George Mason W, 70-55 1 25 6-10 60.0 0-0 - 2-5 40.0 14
Jan 20 at Dayton W, 59-54 1 29 8-14 57.1 0-0 - 6-7 85.7 22
Jan 23 at Duquesne L, 74-62 1 36 8-15 53.3 0-0 - 4-5 80.0 20
Jan 27 Saint Joseph's W, 65-51 1 30 3-11 27.3 0-0 - 1-1 100.0 7
Jan 31 Richmond W, 66-43 1 27 4-8 50.0 0-0 - 5-7 71.4 13
Feb 3 at VCU L, 52-47 1 28 6-12 50.0 0-0 - 7-8 87.5 19
Feb 10 Saint Louis W, 80-59 1 30 2-4 50.0 0-0 - 8-8 100.0 12
Feb 13 at UMass L, 69-60 1 34 6-10 60.0 0-0 - 4-4 100.0 16
Feb 17 George Washington W, 69-67 1 38 8-13 61.5 0-0 - 8-9 88.9 24
Feb 20 at La Salle W, 70-63 1 36 8-15 53.3 0-0 - 6-8 75.0 22
Feb 24 at Fordham L, 77-68 1 37 6-18 33.3 0-0 - 2-4 50.0 14
Feb 28 Duquesne W, 60-48 1 25 5-11 45.5 0-0 - 6-6 100.0 16
Mar 4 vs. VCU L, 59-50 1 23 2-5 40.0 0-0 - 3-4 75.0 7
Mar 18 vs. Oklahoma St. W, 65-54 1 35 9-13 69.2 0-0 - 5-6 83.3 23
Mar 20 at #6 Oregon State L, 69-40 1 18 3-14 21.4 0-0 - 2-2 100.0 8
# Stats don't count towards season totals
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 7 # Edinboro W, 79-37 1 15 1 3 4 3 1 3.0 2 2 3 -
Nov 13 Siena W, 57-40 1 32 4 9 13 1 3 0.3 1 0 3 -
Nov 15 at #22 DePaul L, 77-54 1 29 0 6 6 1 5 0.2 0 5 3 -
Nov 21 at Drexel L, 58-46 1 17 1 2 3 1 1 1.0 1 1 5 1
Nov 24 Detroit W, 84-73 1 36 2 5 7 3 1 3.0 2 2 3 0
Nov 29 Toledo W, 74-63 1 26 2 5 7 4 1 4.0 3 4 5 1
Dec 1 at Stony Brook W, 73-68 1 39 1 5 6 5 4 1.3 3 0 4 -
Dec 5 Georgetown W, 69-54 - - - - - - - - - - - -
Dec 7 James Madison W, 56-45 - - - - - - - - - - - -
Dec 9 Buffalo W, 59-32 - 26 2 7 9 6 4 1.5 0 4 0 0
Dec 12 Penn State W, 70-60 1 33 1 4 5 7 3 2.3 1 3 1 -
Dec 19 at Colgate W, 62-38 1 21 2 3 5 0 4 0.0 0 3 1 -
Dec 23 Niagara W, 67-55 1 33 4 6 10 4 1 4.0 0 3 1 0
Dec 29 at Canisius W, 59-47 1 33 6 6 12 3 3 1.0 2 1 1 -
Jan 3 at Rhode Island W, 69-56 1 25 2 4 6 3 3 1.0 1 1 4 -
Jan 7 Fordham W, 55-41 1 32 2 1 3 1 3 0.3 1 0 0 0
Jan 10 UMass W, 66-41 1 29 2 5 7 3 3 1.0 0 1 2 -
Jan 13 at Davidson W, 59-47 1 29 6 6 12 1 4 0.3 1 0 3 -
Jan 16 George Mason W, 70-55 1 25 2 4 6 5 7 0.7 1 1 4 0
Jan 20 at Dayton W, 59-54 1 29 2 5 7 1 2 0.5 1 3 4 -
Jan 23 at Duquesne L, 74-62 1 36 0 4 4 3 5 0.6 3 3 1 -
Jan 27 Saint Joseph's W, 65-51 1 30 1 3 4 3 2 1.5 1 1 0 0
Jan 31 Richmond W, 66-43 1 27 1 6 7 3 1 3.0 2 1 2 0
Feb 3 at VCU L, 52-47 1 28 2 8 10 0 2 0.0 0 0 4 -
Feb 10 Saint Louis W, 80-59 1 30 1 6 7 5 4 1.3 2 1 2 0
Feb 13 at UMass L, 69-60 1 34 1 5 6 3 3 1.0 1 2 1 -
Feb 17 George Washington W, 69-67 1 38 1 4 5 2 5 0.4 1 3 3 0
Feb 20 at La Salle W, 70-63 1 36 0 6 6 5 3 1.7 2 0 2 -
Feb 24 at Fordham L, 77-68 1 37 3 8 11 4 1 4.0 0 1 3 -
Feb 28 Duquesne W, 60-48 1 25 3 4 7 3 6 0.5 2 1 4 -
Mar 4 vs. VCU L, 59-50 1 23 2 2 4 1 4 0.3 3 4 5 1
Mar 18 vs. Oklahoma St. W, 65-54 1 35 0 3 3 2 3 0.7 3 1 4 -
Mar 20 at #6 Oregon State L, 69-40 1 18 3 3 6 0 1 0.0 1 2 4 -
# Stats don't count towards season totals
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2013-14 35 35 31.4 5.9-12.2 48.2 0.0-0.1 0.0 4.8-6.7 70.8 16.5
2014-15 30 30 30.0 5.0-11.2 44.6 0.0-0.1 0.0 4.1-5.7 71.3 14.1
2015-16 30 29 29.7 5.8-11.5 50.0 0.0-0.0 - 3.7-4.8 77.2 15.3
Total 95 94 30.4 5.6-11.7 47.7 0.0-0.1 0.0 4.2-5.8 72.6 15.4
  gp gs min fg pct 3pt pct ft pct pts
2013-14 35 35 1098 206-427 48.2 0-3 0.0 167-236 70.8 579
2014-15 30 30 901 150-336 44.6 0-3 0.0 122-171 71.3 422
2015-16 30 29 891 173-346 50.0 0-0 - 112-145 77.2 458
Total 95 94 2890 529-1109 47.7 0-6 0.0 401-552 72.6 1459
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2013-14 35 35 31.4 7.5-15.6 48.2 0.0-0.1 0.0 6.1-8.6 70.8 21.1
2014-15 30 30 30.0 6.7-14.9 44.6 0.0-0.1 0.0 5.4-7.6 71.3 18.7
2015-16 30 29 29.7 7.8-15.5 50.0 0.0-0.0 - 5.0-6.5 77.2 20.6
Total 95 94 30.4 7.3-15.3 47.7 0.0-0.1 0.0 5.6-7.6 72.6 20.2
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2013-14 35 35 31.4 2.1 5.7 7.8 2.7 0.0 2.5 2.7 0.9 0.9 1.1
2014-15 30 30 30.0 1.7 4.8 6.5 3.2 0.2 2.3 3.1 0.7 1.1 1.2
2015-16 30 29 29.7 2.0 4.8 6.8 2.6 0.1 2.8 3.1 0.9 1.3 1.7
Total 95 94 30.4 1.9 5.1 7.1 2.8 0.1 2.5 2.9 0.9 1.1 1.3
  gp gs min off def reb pf dq ast to a/to stl blk
2013-14 35 35 1098 73 199 272 93 1 86 93 0.9 33 38
2014-15 30 30 901 51 143 194 96 5 68 93 0.7 32 35
2015-16 30 29 891 59 145 204 79 3 83 92 0.9 39 52
Total 95 94 2890 183 487 670 268 9 237 278 0.9 104 125
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2013-14 35 35 31.4 2.7 7.2 9.9 3.4 0.0 3.1 3.4 0.9 1.2 1.4
2014-15 30 30 30.0 2.3 6.3 8.6 4.3 0.2 3.0 4.1 0.7 1.4 1.6
2015-16 30 29 29.7 2.6 6.5 9.2 3.5 0.1 3.7 4.1 0.9 1.8 2.3
Total 95 94 30.4 2.5 6.7 9.3 3.7 0.1 3.3 3.8 0.9 1.4 1.7
There was a problem with a Velocity script
Pagebio-network-template
ErrorVM #printCategories: too many arguments to macro. Wanted 2 got 3 at bio-network-template[line 563, column 11]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: #set ($showconf = true)
8: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
9:   #set ($showconf = false)
10: #end
11: 
12: #set ($showCareer = $wiki.valid() && $seasons)
13: #if ("yes" == $options.get("stats_show_career") && $seasons)
14:   #set ($showCareer = "yes")
15: #end
16: 
17: #if ($locale == "en_us")
18:   #set ($defLabel = "Defense")
19: #elseif ($locale == "en_gb")
20:   #set ($defLabel = "Defence")
21: #end
22: 
23: #set ($pos = "")
24: #set ($pos = $attributes.get("position"))
25: #set ($posVec = $pos.split("/"))
26: #set ($pos = $posVec[0])
27: #set ($pos = $pos.toLowerCase())
28: 
29: #set ($statPos = $positions.get($pos))
30: #set ($paramPos = $request.getParameter("pos").toLowerCase())
31: 
32: #*
33: $positions
34: $positions.keySet()
35: $positions.entrySet()
36: $statPos
37: $paramPos
38: *#
39: 
40: #set ($highlights = $highlights.get($statPos))
41: 
42: #set ($url = ${page.url})
43: #set ($playerId = $attributes.get("playerId"))
44: #set ($stats = $splits.overall)
45: 
46: #set ($hasEvents = $events.size() > 0)
47: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
48: #set ($htmlStatsURL = "${page.url}-stats")
49: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
50: #set ($bioBriefURL = "${page.url}-brief")
51: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
52: 
53: $request.setAttribute("careerTotals", $career)
54: ## We track a map of the careers to see if we are missing any seasons
55: #set ($careerMap = {})
56: $request.setAttribute("careerMap", $careerMap)
57: #foreach ($season in $seasons)
58:   ## We need to include this season stats
59:   #set ($path = "${season.path}?tmpl=bio-career-template&name=${season.seasonName}&pos=${statPos}&print=no")
60:   $website.includeAgain($path)
61: #end
62: 
63: #set ($view = "profile")
64: #if ($request.getParameter("view"))
65:   #set ($view = $request.getParameter("view"))
66: #end
67: 
68: #macro (printResultAriaLabel $event)
69:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
70:     #if ($event.neutralSite.length() > 0 || $event.home) 
71:     	#set ($ariaLabel = "${ariaLabel} vs.")
72:     #else
73:     	#set ($ariaLabel = "${ariaLabel} at")
74:     #end
75:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
76:     #if ($event.neutralSite.length() > 0)
77:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
78:     #end
79:     #set ($ariaLabel = "${ariaLabel} Box Score")
80:     aria-label="$ariaLabel"
81: #end
82: 
83: #macro (printHighlights)
84: #if ($highlights)
85:   <div class="highlights highlights-standalone accent-bg">
86:     #foreach ($highlight in $highlights.keySet())
87:       #set ($value = "-")
88:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
89:       <div class="stat clearfix">
90:         <span class="stat-title">$!highlights.get($highlight)</span>
91:         <span class="stat-value">$value</span>
92:       </div>
93:     #end
94:   </div>
95: #end ## has highlights
96: #end ## macro printHighlights
97: 
98: #macro (splitBioNetwork $statPosBriefs $label $stats)
99:   <tr>
100:     <td class="pinned-col text">${label}</td>
101:     #foreach ($brief in $statPosBriefs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
104:       <td>#if ($value.length() > 0) $value #else - #end</td>
105:     #end
106:   </tr>
107: #end ## marco split
108: 
109: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
110:   
111: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
112: <div class="tab-nav" data-module="jscroll" data-momentum="false">
113: <div>
114: <ul class="clearfix">
115: #foreach($briefCat in $briefCategoryLabels.entrySet())
116:   #set ($briefCatLabel = $briefCat.value)
117:   #set ($briefCatKey = $briefCat.key)
118:     
119:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
120:     #set ($briefCatLabel = "Defence")
121:   #end  
122:   
123:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="tab" id="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
124: #end
125: </ul>
126: </div>
127: </div>
128: <div class="tab-panels">
129: #foreach ($briefCat in $briefCategoryLabels.entrySet())
130:   #set ($briefCatLabel = $briefCat.value)
131:   #set ($class = "tab-panel clearfix")
132:   #if ($briefCat.key == $activePos)
133:     #set ($class = "tab-panel active clearfix")
134:   #end
135:   <div class="$class" role="tabpanel" aria-labelledby="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}">
136:     <div class="stats-wrap clearfix">
137:     #if ($v == "splits")
138:       #splitsBioNetworkData($briefCat.key)
139:     #elseif ($v == "career")
140:       #careerData($briefCat.key)
141:     #end
142:     </div>
143:   </div>
144: #end  
145: </div>
146: </div> ## tab-container
147: 
148: #end ## macro printCategories
149: 
150: #macro (splitsBioNetworkData $p)
151: 
152: #set ($p = $positions.get($p))
153: #set ($statPosBriefs = $briefs.get($p))
154: #set ($colspan = $statPosBriefs.size())  
155:   
156: <div class="stats-box full clearfix">
157: <div class="scrollable">
158: <div>
159: <table>
160:   <tr class="accent-bg">
161:     <th class="pinned-col">&nbsp;</th>
162:     #foreach ($brief in $statPosBriefs)
163:       <th>$brief</th>
164:     #end
165:   </tr>
166: 
167: #splitBioNetwork($statPosBriefs, "Total", $splits.overall)
168: #if ($showconf)
169:   #splitBioNetwork($statPosBriefs, "Conference", $splits.conference)
170: #end
171: #splitBioNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
172: 
173: <tr class="empty-row">
174: 	<td class="pinned-col">&nbsp;</td>
175: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
176: </tr>
177: 
178: #splitBioNetwork($statPosBriefs, "Home", $splits.home)
179: #splitBioNetwork($statPosBriefs, "Away", $splits.away)
180: #splitBioNetwork($statPosBriefs, "Neutral", $splits.neutral)
181: 
182: <tr class="empty-row">
183: 	<td class="pinned-col">&nbsp;</td>
184: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
185: </tr>
186: 
187: #foreach($gameResult in $gamesResults.entrySet())
188:   #if ($gameResult.key == "wins")
189:     #set ($splitGameResult = $splits.inWins)
190:   #elseif ($gameResult.key == "losses")
191:     #set ($splitGameResult = $splits.inLosses)
192:   #elseif ($gameResult.key == "ties")
193:     #set ($splitGameResult = $splits.inTies)
194:   #end
195:   
196:   #splitBioNetwork($statPosBriefs, $gameResult.value, $splitGameResult)
197: #end
198: 
199: <tr class="empty-row">
200: 	<td class="pinned-col">&nbsp;</td>
201: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
202: </tr>
203: 
204: #if ($monthsPlayed and $monthsPlayed.size() > 0)
205:   #foreach($month in $monthsPlayed)
206:     #if ($month == 'January')
207:       #set ($splitMonth = $splits.january)
208:     #elseif ($month == 'February')
209:       #set ($splitMonth = $splits.february)
210:     #elseif ($month == 'March')
211:       #set($splitMonth = $splits.march)
212:     #elseif ($month == 'April')
213:       #set($splitMonth = $splits.april)
214:     #elseif ($month == 'May')
215:       #set ($splitMonth = $splits.may)
216:     #elseif ($month == 'June')
217:       #set ($splitMonth = $splits.june)
218:     #elseif ($month == 'July')
219:       #set($splitMonth = $splits.july)
220:     #elseif ($month == 'August')
221:       #set ($splitMonth = $splits.august)
222:     #elseif ($month == 'September')
223:       #set($splitMonth = $splits.september)
224:     #elseif ($month == 'October')
225:       #set($splitMonth = $splits.october)
226:     #elseif ($month == 'November')
227:       #set ($splitMonth = $splits.november)
228:     #elseif ($month == 'December')
229:       #set($splitMonth = $splits.december)
230:     #end
231:     
232:     #splitBioNetwork($statPosBriefs, $month, $splitMonth)
233:   #end ## foreach
234: #end
235: </table>
236: </div>
237: </div> ## scrollable
238: </div> ## srollable-table
239: 
240: #end ## macro splitsBioNetworkData
241: 
242: #macro (printRecentGames)
243: <table>
244:     <tr class="thead accent-bg"><th colspan="3" class="text">Recent Games</th></tr>
245: 
246:     #set ($eventEnd = -1)
247:     #foreach ($event in $events)
248:     #if ($event.event.result.resolved)
249:     #set ($eventEnd = $velocityCount)
250:     #end
251:     #end
252: 
253:     #set ($eventStart = $eventEnd - 5)
254:     #if ($eventStart < 0) #set ($eventStart = 0) #end
255: 
256:     #foreach ($event in $events)
257:     #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
258:     <tr>
259:         <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
260:         <td class="text">
261:             #if ($event.event.neutralSite.length() > 0) vs.
262:             #elseif (!$event.event.home) at
263:             #else ## nothing for a home game
264:             #end
265:             $event.event.opponent.name
266:         </td>
267:         <td class="text">
268:             #if ($event.event.statusCode >= 0)
269:             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
270:                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
271:             #else
272:             ${event.event.APResult}
273:             #end
274:             #end
275:         </td>
276:     </tr>
277:     #end ## if
278:     #end
279: </table>
280: #end ## macro printRecentGames
281: 
282: #macro (gamelogData $p)
283: 
284: #set ($p = $positions.get($p))
285: #set ($gamelogs = $gamelogs.get($p))
286: #set ($atLeastOneNotOverall = false)
287: 
288: <div class="stats-box full clearfix">
289:     <div class="scrollable">
290:         <div>
291:             <table>
292:               <tr class="thead accent-bg">
293:                   <th class="text">Date</th>
294:                   <th class="pinned-col text">Opponent</th>
295:                   <th>Score</th>
296: 				  #set ($colspan = 3)
297:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
298: 					#set ($colspan = $colspan + 1)
299: 					<th>Dec</th>
300:                   #end
301:                   #foreach ($gamelog in $gamelogs)
302: 					#set ($colspan = $colspan + 1)
303: 					<th>$gamelog</th>
304:                   #end
305:               </tr>
306:               #foreach ($event in $events)
307:               <tr>
308:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d") #if (!$event.event.overall) #set ($atLeastOneNotOverall = true) # #end</</td>
309:                   <td class="pinned-col text">
310:                       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
311:                       $event.event.opponent.name
312:                   </td>
313:                   <td>
314:                       #if ($event.event.statusCode >= 0)
315:                       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
316:                           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
317:                       #else
318:                       ${event.event.APResult}
319:                       #end
320:                       #else &nbsp; #end
321:                   </td>
322:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
323:                       #if ($event.stats.get('gow') == 1)
324:                           <td>W</td>
325:                       #elseif ($event.stats.get('gol') == 1)
326:                           <td>L</td>
327:                       #elseif ($event.stats.get('got') == 1)
328:                           <td>T</td>
329:                       #else
330:                           <td>-</td>
331:                       #end
332:                   #end
333:                   #foreach ($gamelog in $gamelogs.keySet())
334:                   #set ($value = "-")
335:                   #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
336:                   <td>$value</td>
337:                   #end
338:               </tr>
339:               #end
340:               #if ($atLeastOneNotOverall)
341:                 <tr><td colspan="$colspan"># Stats don't count towards season totals</td></tr>
342:               #end
343:             </table>
344:         </div>
345:     </div> ## scrollable
346: </div> ## stats-box
347: 
348: #end ## macro gamelogData
349: 
350: #macro (careerData $p)
351: #set ($p = $positions.get($p))
352: #set ($statPosBriefs = $briefs.get($p))
353: 
354: <div class="stats-box full clearfix">
355: <div class="scrollable">
356: <div>
357: <table>
358: <tr class="thead accent-bg">
359:   <th class="pinned-col">&nbsp;</th>
360:   #foreach ($brief in $statPosBriefs)
361:     <th>$brief</th>
362:   #end
363: </tr>
364: 
365: #foreach ($season in $seasons)
366:   #if ($careerMap.get($season.seasonName))
367:     #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
368:     #splitBioNetwork($statPosBriefs, $label, $careerMap[$season.seasonName])
369:   #elseif ($wiki.valid())
370:     <tr>
371:       <td class="pinned-col text">${season.seasonName}</td>
372:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
373:     </tr>
374:   #end
375: #end
376: 
377: #splitBioNetwork($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
378: 
379: </table>
380: </div>
381: </div> ## scrollable
382: </div> ## stats-box
383: 
384: #end ## macro careerData
385: 
386: ################################################## END MACROS  #############################################################
387: 
388: <head>
389: <title>
390:     $!attributes.get("first_name") $!attributes.get("last_name") | #if ($attributes.get("number"))#$!attributes.get("number") | #end #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)$!attributes.get("position_abbr") | #elseif ($attributes.get("position"))$!attributes.get("position") | #end  $attributes.get("team")
391: </title>
392: </head>
393: 
394: <div class="bio-wrap bio-wrap-network clearfix" data-module="stats/responsive-container">
395: 
396:     #if ($page.title.length() > 0)
397:     <h1>$page.title</h1>
398:     #end
399: 
400:     <h2 class="player-name">
401:         <span>$!attributes.get("first_name") $!attributes.get("last_name")</span>
402:         #if (!$attributes.get("number").empty)<span>#$!attributes.get("number")</span>#end
403:         #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)
404: 			<span>$!attributes.get("position_abbr")</span>
405: 		#elseif ($attributes.get("position"))
406: 			<span>$!attributes.get("position")</span>
407: 		#end 
408:         <a href="../teams?id=$!{attributes.get("teamId")}" aria-label="Team Stats - ${attributes.get("team")}">$attributes.get("team")</a>
409:     </h2>
410: 	
411:     #printHighlights
412: 
413:     <div class="body clearfix">
414:         <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
415:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
416:                 <div>
417:                     <ul class="clearfix">
418:                         <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile" role="tab" id="stats-tab-player-profile">Player Profile</a></li>
419:                         <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog" role="tab" id="stats-tab-game-log">Game Log</a></li>
420:                         #if ($showCareer)
421:                         <li #if ($view == "career")class="active"#end><a href="${page.url}?view=career" role="tab" id="stats-tab-career-stats">Career Stats</a></li>
422:                         #end
423:                         <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits" role="tab" id="stats-tab-split-stats">Split Stats</a></li>
424:                     </ul>
425:                 </div>
426:             </div> ## tab-nav
427: 
428:             <div class="tab-panels clearfix">
429: 
430:                 ## PROFILE
431:                 #set ($class = "tab-panel clearfix")
432:                 #if ($view == "profile")
433:                 #set ($class = "tab-panel active clearfix")
434:                 #end
435:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-player-profile">
436: 
437:                     ## Player profile
438:                     <div class="clearfix stats-wrap">
439: 
440:                         ## LAST SIX GAMES
441:                         <div class="stats-box half">
442:                             #printRecentGames()
443:                         </div>
444: 
445:                         ## RANKING
446:                         <div class="stats-box half">
447:                             $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
448:                         </div>
449: 
450:                     </div> ## clearfix
451: 
452:                     #if ($hasSynopsis)
453:                     <div class="clearfix">$!synopsis</div>
454:                     #end
455: 
456:                     #if ($hasBioBrief)
457:                     <div class="clearfix">$website.include($htmlStatsURL)</div>
458:                     #end
459: 
460:                     #if ($htmlStatsURL)
461:                     <div class="clearfix">$website.include($bioBriefURL)</div>
462:                     #end
463: 
464:                 </div>
465:                 ## PROFILE
466: 
467:                 ## GAMELOG
468:                 #set ($class = "tab-panel clearfix")
469:                 #if ($view == "gamelog")
470:                 #set ($class = "tab-panel active clearfix")
471:                 #end
472: 
473:                 #set ($activePos = $statPos)
474:                 #if ($view == "gamelog" && $paramPos.length() > 0)
475:                   #if ($positions.get($paramPos).length() > 0)
476:                     #set ($activePos = $positions.get($paramPos))
477:                   #end
478:                 #end
479: 
480:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log">
481: 
482:                     #if ($gamelogsCategoriesLabels)
483:                     <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
484:                         <div class="tab-nav" data-module="jscroll" data-momentum="false">
485:                             <div>
486:                                 <ul class="clearfix">
487:                                     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
488:                                       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
489: 
490:                                   #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
491:                       #set($gamelogsCatLabelVal = "Defence")
492:                     #end
493: 
494:                     <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end>
495:                       <a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="tab" id="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a>
496:                     </li>
497:                                     #end
498:                                 </ul>
499:                             </div>
500:                         </div>
501:                         <div class="tab-panels">
502:                 #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
503: 					#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
504:                 #set ($class = "tab-panel clearfix")
505:                 #if ($gamelogsCatLabel.key == $activePos)
506:                   #set ($class = "tab-panel active clearfix")
507:                 #end
508:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}">
509:                   <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
510:                 </div>
511:               #end
512:                         </div>
513:                     </div>
514:                     #else
515:                       <div class="stats-wrap clearfix">#gamelogData($pos)</div>
516:                     #end
517: 
518:                 </div> ## tab-panel
519:                 ## GAMELOG
520: 
521:         ## CAREER
522:         #if ($showCareer)
523: 
524:         #set ($activePos = $statPos)
525:         #if ($view == "career" && $paramPos.length() > 0)
526:           #if ($positions.get($paramPos).length() > 0)
527:           #set ($activePos = $positions.get($paramPos))
528:           #end
529:         #end
530: 
531:         #set ($class = "tab-panel clearfix")
532:         #if ($view == "career")
533:           #set ($class = "tab-panel active clearfix")
534:         #end
535: 
536:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-career-stats">
537: 
538:         #if ($briefsCategoriesLabels)
539:           #printCategories($briefsCategoriesLabels "career" "Career Stats")
540:         #else
541:           <div class="stats-wrap clearfix">#careerData($activePos)</div>
542:         #end    
543: 
544:         </div> ## tab-panel
545:         #end ## CAREER
546:         
547:         ## SPLITS
548:         #set ($class = "tab-panel clearfix")
549:         #if ($view == "splits")
550:           #set ($class = "tab-panel active clearfix")
551:         #end
552: 
553:         #set ($activePos = $statPos)
554:         #if ($view == "splits" && $paramPos.length() > 0)
555:           #if ($positions.get($paramPos).length() > 0)
556:           #set ($activePos = $positions.get($paramPos))
557:           #end
558:         #end
559: 
560:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-split-stats">
561: 
562:         #if ($briefsCategoriesLabels)
563:           #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
564:         #else
565:           <div class="stats-wrap clearfix">#splitsBioNetworkData($pos)</div>
566:         #end    
567: 
568:         </div> ## tab-panel
569:         ## SPLITS
570:         
571:             </div> ##tab-panels
572: 
573:         </div> ## tab-container
574:     </div> ## body
575: 
576: 
577: </div> ## bio-wrapper
578: $wiki.su