/* BT player stat ranges v1.5 (October 15, 2026; exact PA; Acquired-by-trade links to the Trade Tree): hitters Last game / Last 10-20-50-100 PA, pitchers Last game / Last 3-5-10-20 apps, Year menu (MLB seasons only), custom date range across seasons. MLB Stats API game logs, regular season. */ (function(){ var Q=String.fromCharCode(63),E=String.fromCharCode(61),A=String.fromCharCode(38),API='https://statsapi.mlb.com/api/v1/'; var FIPC={2015:3.134,2016:3.147,2017:3.158,2018:3.161,2019:3.214,2020:3.191,2021:3.170,2022:3.112,2023:3.255,2024:3.166,2025:3.135,2026:3.150}; var MON=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; function q(o){return Object.keys(o).map(function(k){return k+E+o[k]}).join(A)} function J(u){return fetch(u).then(function(r){return r.json()})} function fd(d){var p=d.split('-');return MON[+p[1]-1]+' '+(+p[2])+', '+p[0]} function fds(a,b){if(a===b)return fd(a);var x=a.split('-'),y=b.split('-');if(x[0]===y[0])return MON[+x[1]-1]+' '+(+x[2])+'–'+(x[1]===y[1]?'':MON[+y[1]-1]+' ')+(+y[2])+', '+y[0];return fd(a)+' – '+fd(b)} function r3(v){if(!isFinite(v))return '—';var s=v.toFixed(3);return v<1?s.replace(/^0/,''):s} function pct(a,b){return b?(100*a/b).toFixed(1)+'%':'—'} function ip(o){return Math.floor(o/3)+'.'+(o%3)} function box(l,v){return '
'+l+''+v+'
'} var CSS='.btpr-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:10px 0 2px;font-size:.88em}.btpr-ctl select,.btpr-ctl input{font:inherit;color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:8px;padding:5px 8px}.btpr-ctl select option{color:#111}.btpr-ctl button{font:inherit;color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:8px;padding:5px 10px;cursor:pointer}.btpr-ctl button.on,.btpr-ctl .btpr-go{background:#3b82f6;border-color:#3b82f6;color:#fff}.btpr-dates{display:none;align-items:center;gap:6px;flex-wrap:wrap}.btpr-dates.on{display:inline-flex}.btpr-note{font-size:.8em;opacity:.7;margin:8px 0 0}.btpr-log{width:100%;border-collapse:collapse;font-size:.82em;margin-top:12px;font-variant-numeric:tabular-nums}.btpr-log th,.btpr-log td{padding:5px 6px;text-align:center;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}.btpr-log th{font-size:.85em;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.btpr-log td:first-child,.btpr-log th:first-child{text-align:left}.btpr-wrap{overflow-x:auto}.btp-tabs button.btpr-hide{display:none!important}'; function start(root){ var id=root.getAttribute('data-mlbam');var sec=root.querySelector('.btp-stats');if(!id||!sec||sec.getAttribute('data-btpr'))return; var tabs=sec.querySelector('.btp-tabs'),body=sec.querySelector('.btp-body');if(!tabs||!body)return;sec.setAttribute('data-btpr','1'); J(API+'people/'+id).then(function(pj){var p=(pj.people||[])[0]||{};var pit=/^(P)$/.test((p.primaryPosition||{}).abbreviation||'');var grp=pit?'pitching':'hitting'; return J(API+'people/'+id+'/stats'+Q+q({stats:'yearByYear',group:grp,sportId:1})).then(function(yj){var yrs={};(((yj.stats||[])[0]||{}).splits||[]).forEach(function(s){if(s.sport&&s.sport.id===1&&+((s.stat||{}).gamesPlayed||(s.stat||{}).gamesPitched||0)>0)yrs[s.season]=1}); var Y=Object.keys(yrs).map(Number).sort(function(a,b){return b-a});if(!Y.length)return;build(sec,tabs,body,id,pit,grp,Y,p)})}).catch(function(){}); } function build(sec,tabs,body,id,pit,grp,Y,p){ if(!document.getElementById('btpr-css')){var st=document.createElement('style');st.id='btpr-css';st.textContent=CSS;document.head.appendChild(st)} var orig=[].slice.call(tabs.querySelectorAll('button'));var oSeason=orig.filter(function(b){return b.getAttribute('data-v')==='season'})[0]; orig.forEach(function(b){b.classList.add('btpr-hide')}); var LAST=pit?[['g1','Last game'],['a3','Last 3 apps'],['a5','Last 5 apps'],['a10','Last 10 apps'],['a20','Last 20 apps']]:[['g1','Last game'],['p10','Last 10 PA'],['p20','Last 20 PA'],['p50','Last 50 PA'],['p100','Last 100 PA']]; LAST.forEach(function(x){var b=document.createElement('button');b.type='button';b.setAttribute('data-r',x[0]);b.textContent=x[1];tabs.appendChild(b)}); var ocap=(body.querySelector('.btp-cap')||{}).textContent||'';var oYear=+((ocap.match(/(\d{4}) season/)||[])[1]||0);var origIsMLB=oYear===Y[0]; var ctl=document.createElement('div');ctl.className='btpr-ctl'; var deb=(p.mlbDebutDate||(Y[Y.length-1]+'-03-01')),today=new Date().toISOString().slice(0,10); ctl.innerHTML=' to '; sec.querySelector('.btp-sh').insertAdjacentElement('afterend',ctl); var mine=document.createElement('div');mine.className='btp-body btpr-body';mine.hidden=true;body.insertAdjacentElement('afterend',mine); var sel=ctl.querySelector('.btpr-y'),dates=ctl.querySelector('.btpr-dates'),from=ctl.querySelector('.btpr-from'),to=ctl.querySelector('.btpr-to'); from.value=Y.length>1?(Y[1]+'-07-01'):(Y[0]+'-04-01');to.value=Y.length>1?(Y[0]+'-07-01'):today; var cache={};function logs(y){if(!cache[y])cache[y]=J(API+'people/'+id+'/stats'+Q+q({stats:'gameLog',group:grp,season:y,sportId:1})).then(function(j){return (((j.stats||[])[0]||{}).splits||[]).filter(function(s){return s.gameType==='R'}).sort(function(a,b){return a.dateb.date?1:0})})["catch"](function(){return []});return cache[y]} function setOn(el){if(el)sel.value='';[].forEach.call(tabs.querySelectorAll('button[data-r]'),function(b){b.classList.toggle('on',b===el);b.setAttribute('aria-selected',b===el?'true':'false')});ctl.querySelector('.btpr-cust').classList.toggle('on',el==='cust')} function showOrig(){mine.hidden=true;body.hidden=false;setOn(null);sel.value=origIsMLB?String(Y[0]):'orig';if(oSeason&&!oSeason.classList.contains('on'))oSeason.click()} function showMine(html){body.hidden=true;mine.hidden=false;mine.innerHTML=html} function loading(){showMine('
Loading…
')} function agg(G){var t={g:G.length,gs:0,pa:0,ab:0,h:0,d:0,tr:0,hr:0,bb:0,hbp:0,sf:0,k:0,sb:0,cs:0,outs:0,er:0,bf:0};G.forEach(function(s){var x=s.stat||{};t.gs+=+x.gamesStarted||0;t.pa+=+x.plateAppearances||0;t.ab+=+x.atBats||0;t.h+=+x.hits||0;t.d+=+x.doubles||0;t.tr+=+x.triples||0;t.hr+=+x.homeRuns||0;t.bb+=+x.baseOnBalls||0;t.hbp+=+(pit?x.hitBatsmen||x.hitByPitch:x.hitByPitch)||0;t.sf+=+x.sacFlies||0;t.k+=+x.strikeOuts||0;t.sb+=+x.stolenBases||0;t.cs+=+x.caughtStealing||0;t.outs+=+x.outs||0;t.er+=+x.earnedRuns||0;t.bf+=+x.battersFaced||0});return t} function line(t,yr,extra){var h='
';if(pit){var IPn=t.outs/3,fip=IPn?((13*t.hr+3*(t.bb+t.hbp)-2*t.k)/IPn+(FIPC[yr]||3.15)):NaN;h+=box('G/GS',t.g+'/'+t.gs)+box('IP',ip(t.outs))+box('ERA',t.outs?(t.er*27/t.outs).toFixed(2):'—')+box('FIP',isFinite(fip)?fip.toFixed(2):'—')+box('WHIP',t.outs?((t.h+t.bb)*3/t.outs).toFixed(2):'—')+box('K%',pct(t.k,t.bf))+box('BB%',pct(t.bb,t.bf))+box('HR',t.hr)} else{var avg=t.ab?t.h/t.ab:NaN,obp=(t.ab+t.bb+t.hbp+t.sf)?(t.h+t.bb+t.hbp)/(t.ab+t.bb+t.hbp+t.sf):NaN,slg=t.ab?(t.h+t.d+2*t.tr+3*t.hr)/t.ab:NaN;h+=box('G',t.g)+box('PA',t.pa)+box('Slash',r3(avg)+'/'+r3(obp)+'/'+r3(slg))+box('OPS',r3(obp+slg))+box('HR',t.hr)+box('2B',t.d)+box('SB',t.sb+'/'+(t.sb+t.cs))+box('BB%',pct(t.bb,t.pa))+box('K%',pct(t.k,t.pa))} return h+(extra||'')+'
'} function glog(G){if(!G.length||G.length>25)return '';var rows=G.slice().reverse().map(function(s){var x=s.stat||{},o=(s.opponent||{}).abbreviation||((s.opponent||{}).name||'').split(' ').pop();var at=(s.isHome?'vs ':'@ ')+o;if(pit)return ''+fd(s.date)+''+at+''+(+x.gamesStarted?'GS':'')+''+(x.inningsPitched||ip(+x.outs||0))+''+(x.hits||0)+''+(x.earnedRuns||0)+''+(x.baseOnBalls||0)+''+(x.strikeOuts||0)+''+(x.homeRuns||0)+'';return ''+fd(s.date)+''+at+''+(x.plateAppearances||0)+''+(x.atBats||0)+''+(x.hits||0)+''+(x.doubles||0)+''+(x.homeRuns||0)+''+(x.baseOnBalls||0)+''+(x.strikeOuts||0)+''}).join(''); return '
'+(pit?'':'')+''+rows+'
DateOppIPHERBBKHRDateOppPAABH2BHRBBK
'} var NOTE='

MLB regular season. Source: MLB Stats API game logs.

'; function btFgApply(y){fgExtra(y).then(function(fg){if(!fg)return;function ap(){if(window.btpYr!==y){mo.disconnect();return}var M=body.querySelector('.btp-line4');if(M&&fg.w!=null&&!M.querySelector('.btp-fwar')){var d=document.createElement('div');d.className='btp-fwar';d.innerHTML='fWAR'+(+fg.w).toFixed(1)+'';M.appendChild(d)}var c=body.querySelector('.btp-idx');if(c&&!pit&&fg.rc!=null&&/wRC\+/.test(c.textContent)){var st=c.querySelector('strong'),v=String(Math.round(fg.rc));if(st&&st.textContent!==v)st.textContent=v;var u=c.querySelector('span em');if(u&&/park/i.test(u.textContent))u.remove()}}var mo=new MutationObserver(ap);mo.observe(body,{childList:true,subtree:true});ap();setTimeout(function(){mo.disconnect()},20000)})['catch'](function(){})} function btCsv(t){var rows=[],L=t.split(/\r?\n/),hd=null;L.forEach(function(l){if(!l)return;var o=[],c='',qq=false;for(var i=0;i0}).sort(function(a,b){return b[1]-a[1]});if(!mix.length)mix=null} return sc.length||mix?{sc:sc,mix:mix,q:!!p}:null})['catch'](function(){return null});return BTSC[k]} function btScHtml(d,y){var QQ={sprint:['Sprint speed','ft/s',1],bat:['Bat speed','mph',1],brl:['Barrel%','%',1],xwoba:['xwOBA','',3],ev:['Avg exit velo','mph',1],hh:['Hard-hit%','%',1],whiff:['Whiff%','%',1],chase:['Chase%','%',1],bb:['BB%','%',1],k:['K%','%',1],fbv:['Fastball velo','mph',1],ext:['Extension','ft',1]}; function B(t){if(t===50)return 'rgb(150,150,160)';var r=Math.min(1,Math.abs(t-50)/50),e=t<50?[110,160,230]:[240,125,115],nn=t<50?[35,75,165]:[205,25,35];return 'rgb('+[0,1,2].map(function(k){return Math.round(e[k]+(nn[k]-e[k])*r)}).join(',')+')'} function C(v,e){return v==null?'—':e[2]===3?v.toFixed(3).replace(/^0/,''):v.toFixed(e[2])+(e[1]==='%'?'%':' '+e[1])} var rows=d.sc.map(function(t){var e=QQ[t[0]],p=t[2];var bar=p==null?'
':'
'+p+'
';return '
'+e[0]+''+bar+''+C(t[1],e)+'
'}).join(''); var mx=d.mix?'

Pitch mix

'+d.mix.map(function(t){return '
'+t[0]+'
'+t[1].toFixed(1)+'%
'}).join('')+'
':''; var el=document.createElement('div');el.className='btp-sc';el.innerHTML='

Statcast '+y+' MLB percentile rankings

'+rows+mx+'

Percentile among MLB '+(pit?'pitchers':'hitters')+' via Baseball Savant: red is above average, blue below, and the darker the color the further from average. 50 = average.'+(d.q?'':' Not enough playing time to be ranked that season, so only his numbers are shown.')+'

';return el} function btScApply(y){btScData(y).then(function(d){if(!d)return;function ap(){if(window.btpYr!==y){mo.disconnect();return}if(!body.querySelector('.btp-sc')&&body.querySelector('.btp-line4'))body.appendChild(btScHtml(d,y))}var mo=new MutationObserver(ap);mo.observe(body,{childList:true,subtree:true});ap();setTimeout(function(){mo.disconnect()},20000)})} function fgExtra(yr){var key='btpr-fg-'+grp+'-'+yr+'-'+id;try{var c=sessionStorage.getItem(key);if(c)return Promise.resolve(JSON.parse(c))}catch(e){} return J('https://www.fangraphs.com/api/leaders/major-league/data'+Q+q({pos:'all',stats:pit?'pit':'bat',lg:'all',qual:0,type:8,season:yr,season1:yr,ind:0,team:0,pageitems:3000})).then(function(j){var r=(j.data||[]).filter(function(x){return String(x.xMLBAMID)===String(id)})[0];var o=r?{w:r.WAR,rc:r['wRC+']}:null;try{sessionStorage.setItem(key,JSON.stringify(o))}catch(e){}return o})["catch"](function(){return null})} function showYear(y){if(y===Y[0]&&origIsMLB){if(window.btpYr&&window.btpSetYear){window.btpYr=0;window.btpSetYear(0)}showOrig();return}if(window.btpSetYear){loading();setOn(null);sel.value=String(y);window.btpYr=y;window.btpSetYear(y).then(function(){showOrig();sel.value=String(y);btFgApply(y);btScApply(y)});return}loading();setOn(null);sel.value=String(y);Promise.all([logs(y),fgExtra(y)]).then(function(r){var G=r[0],fg=r[1];var t=agg(G);var ex='';if(fg){if(!pit&&fg.rc!=null)ex+=box('wRC+',Math.round(fg.rc));if(fg.w!=null)ex+='
'+box('fWAR',(+fg.w).toFixed(1)).replace(/^
|<\/div>$/g,'')+'
'} showMine('
'+y+' season'+(G.length?' · '+fds(G[0].date,G[G.length-1].date):'')+'
'+(G.length?line(t,y,ex):'

No MLB regular-season games.

')+NOTE)})} var PBP={};function pbp(pk){if(!PBP[pk])PBP[pk]=J(API+'game/'+pk+'/playByPlay'+Q+'fields'+E+'allPlays,result,type,eventType,matchup,batter,id,pitcher,fullName,about,atBatIndex,isComplete,inning').then(function(d){return (d.allPlays||[]).filter(function(p){return p.matchup&&p.matchup.batter&&String(p.matchup.batter.id)===String(id)&&p.about&&p.about.isComplete!==false&&p.result&&p.result.eventType})})["catch"](function(){return []});return PBP[pk]} var EVN={single:'Single',double:'Double',triple:'Triple',home_run:'Home run',walk:'Walk',intent_walk:'Intentional walk',hit_by_pitch:'Hit by pitch',strikeout:'Strikeout',strikeout_double_play:'Strikeout (DP)',sac_fly:'Sac fly',sac_bunt:'Sac bunt',field_out:'Out',force_out:'Forceout',grounded_into_double_play:'GIDP',double_play:'Double play',fielders_choice:"Fielder's choice",fielders_choice_out:"Fielder's choice",field_error:'Reached on error',catcher_interf:'Catcher interference'}; function paStats(P){var t={pa:P.length,ab:0,h:0,d:0,tr:0,hr:0,bb:0,hbp:0,sf:0,k:0};P.forEach(function(x){var e=x.ev;if(e==='single')t.h++;else if(e==='double'){t.h++;t.d++}else if(e==='triple'){t.h++;t.tr++}else if(e==='home_run'){t.h++;t.hr++}if(e==='walk'||e==='intent_walk')t.bb++;if(e==='hit_by_pitch')t.hbp++;if(/^sac_fly/.test(e))t.sf++;if(/^strikeout/.test(e))t.k++;var noab=/^(walk|intent_walk|hit_by_pitch|sac_fly|sac_fly_double_play|sac_bunt|sac_bunt_double_play|catcher_interf)$/.test(e);if(!noab)t.ab++});return t} function showLast(code,btn){setOn(btn);loading();var kind=code.charAt(0),n=+code.slice(1);var i=0,out=[]; if(kind==='p'){var games=[],gi=0,got=[];(function collect(){if(i>=Y.length)return pull();logs(Y[i]).then(function(G){for(var k=G.length-1;k>=0;k--)if(+(G[k].stat||{}).plateAppearances)games.push(G[k]);var tot=games.reduce(function(a,x){return a+(+(x.stat||{}).plateAppearances||0)},0);if(tot>=n)return pull();i++;collect()})})(); function pull(){if(!games.length){showMine('

No MLB plate appearances.

');return}var batch=games.slice(gi,gi+6);gi+=batch.length;Promise.all(batch.map(function(g){return pbp(g.game.gamePk).then(function(P){return P.map(function(p){return {pk:g.game.gamePk,date:g.date,opp:g.opponent,home:g.isHome,inn:p.about.inning,idx:p.about.atBatIndex,ev:p.result.eventType,pit:(p.matchup.pitcher||{}).fullName||''}})})})).then(function(L){L.forEach(function(P){got=got.concat(P)});if(got.lengthb.date?1:a.pk!==b.pk?a.pk-b.pk:a.idx-b.idx});var P=got.slice(-n);var t=paStats(P);var gset={};P.forEach(function(x){gset[x.pk]=1});var ng=Object.keys(gset).length; var avg=t.ab?t.h/t.ab:NaN,obp=(t.ab+t.bb+t.hbp+t.sf)?(t.h+t.bb+t.hbp)/(t.ab+t.bb+t.hbp+t.sf):NaN,slg=t.ab?(t.h+t.d+2*t.tr+3*t.hr)/t.ab:NaN; var html='
Last '+P.length+' PA · '+ng+' game'+(ng>1?'s':'')+' · '+fds(P[0].date,P[P.length-1].date)+'
'+box('PA',t.pa)+box('AB',t.ab)+box('Slash',r3(avg)+'/'+r3(obp)+'/'+r3(slg))+box('OPS',r3(obp+slg))+box('H',t.h)+box('HR',t.hr)+box('2B',t.d)+box('BB%',pct(t.bb,t.pa))+box('K%',pct(t.k,t.pa))+'
'; if(P.length<=20)html+='
'+P.slice().reverse().map(function(x){var o=(x.opp||{}).abbreviation||((x.opp||{}).name||'').split(' ').pop();return ''}).join('')+'
DateOppInnPitcherResult
'+fd(x.date)+''+(x.home?'vs ':'@ ')+o+''+x.inn+''+x.pit+''+(EVN[x.ev]||x.ev.replace(/_/g,' '))+'
'; showMine(html+'

Exactly the last '+P.length+' plate appearances, in order, from MLB play-by-play (regular season). Stolen bases aren’t plate appearances, so they aren’t shown here.

')})} return} (function step(){if(i>=Y.length)return done();logs(Y[i]).then(function(G){for(var k=G.length-1;k>=0;k--){out.unshift(G[k]);if(out.length>=n)return done()}i++;step()})})(); function done(){if(!out.length){showMine('

No MLB games.

');return}var t=agg(out),yr=+out[out.length-1].date.slice(0,4);var lab=code==='g1'?'Last game':'Last '+n+' apps';showMine('
'+lab+' · '+fds(out[0].date,out[out.length-1].date)+'
'+line(t,yr)+glog(out)+NOTE)}} function showRange(a,b){if(!a||!b||a>b){showMine('

Pick a start date before the end date.

');return}setOn('cust');loading();var ys=Y.filter(function(y){return y>=+a.slice(0,4)&&y<=+b.slice(0,4)}).sort();Promise.all(ys.map(logs)).then(function(L){var G=[].concat.apply([],L).filter(function(s){return s.date>=a&&s.date<=b});if(!G.length){showMine('
'+fds(a,b)+'

No MLB regular-season games in this range.

');return}var t=agg(G);showMine('
'+fds(a,b)+' · '+G.length+' game'+(G.length>1?'s':'')+(ys.length>1?' across '+ys.length+' seasons':'')+'
'+line(t,+b.slice(0,4))+glog(G)+NOTE)})} tabs.addEventListener('click',function(e){var b=e.target.closest('button[data-r]');if(!b)return;e.preventDefault();e.stopPropagation();dates.classList.remove('on');showLast(b.getAttribute('data-r'),b)},true); sel.addEventListener('change',function(){dates.classList.remove('on');if(sel.value==='orig')showOrig();else if(sel.value)showYear(+sel.value)}); ctl.querySelector('.btpr-cust').addEventListener('click',function(){dates.classList.toggle('on')}); ctl.querySelector('.btpr-go').addEventListener('click',function(){showRange(from.value,to.value)}); sel.value=origIsMLB?String(Y[0]):(oYear?'orig':String(Y[0]));if(!origIsMLB&&!oYear)showYear(Y[0]); } function scan(){var r=document.getElementById('bt-player');if(r&&r.querySelector('.btp-stats .btp-tabs')&&r.querySelector('.btp-stats .btp-body .btp-cap'))start(r)} var tries=0,iv=setInterval(function(){scan();if(++tries>60||(document.querySelector('.btp-stats[data-btpr]')))clearInterval(iv)},500); })(); /* Acquired line: uses the most recent move that brought a current Mariner to Seattle (trade = linked to the Trade Tree, free-agent signing, waiver claim, Rule 5); drafted/amateur signings keep the page text, "Acquired:" links to that trade on the Trade Tree (#p-). Adds the line if the page has none. */ (function(){var Q=String.fromCharCode(63),E=String.fromCharCode(61),API='https://statsapi.mlb.com/api/v1/'; var SEA=/Mariners|Rainiers|Travelers|AquaSox|Modesto Nuts|West Virginia Power|Clinton LumberKings|Jackson Generals|Bakersfield Blaze|High Desert Mavericks/; var MONF=['January','February','March','April','May','June','July','August','September','October','November','December']; function go(){var root=document.getElementById('bt-player'),sb=document.querySelector('.btp-subbar');if(!root||!sb||sb.getAttribute('data-bttl'))return false;sb.setAttribute('data-bttl','1');var id=root.getAttribute('data-mlbam');if(!id)return true; fetch(API+'transactions'+Q+'playerId'+E+id).then(function(r){return r.json()}).then(function(j){var T=(j.transactions||[]).slice().sort(function(a,b){return (a.date||'')<(b.date||'')?-1:(a.date||'')>(b.date||'')?1:0});var last=null; T.forEach(function(t){if(t.toTeam&&t.toTeam.name&&/^(TR|SFA|SGN|CLW|DR|PUR|R5|R5M)$/.test(t.typeCode||''))last=t}); if(!last||!SEA.test(last.toTeam.name)||last.date<'2015-09-01'||!/^(TR|SFA|CLW|R5|R5M)$/.test(last.typeCode))return; var ft=last.fromTeam;var abP=!ft||!ft.id?Promise.resolve(''):fetch(API+'teams/'+ft.id).then(function(r){return r.json()}).then(function(tj){var t=(tj.teams||[])[0]||{};var pid=t.parentOrgId;return pid?fetch(API+'teams/'+pid).then(function(r){return r.json()}).then(function(x){return ((x.teams||[])[0]||{}).abbreviation}):t.abbreviation})["catch"](function(){return ft.name||''}); return abP.then(function(ab){var d=last.date.split('-'),when=MONF[+d[1]-1]+' '+d[0],tc=last.typeCode,html; if(tc==='TR')html='Acquired: Trade ('+(ab||'')+'), '+when+''; else if(tc==='SFA')html='Acquired: Free agent, '+when; else if(tc==='CLW')html='Acquired: Waiver claim'+(ab?' ('+ab+')':'')+', '+when; else html='Acquired: Rule 5 draft'+(ab?' ('+ab+')':'')+', '+when; var acq=sb.querySelector('.btp-acq')||[].filter.call(sb.children,function(c){return /^\s*Acquired:/.test(c.textContent)})[0];if(acq)acq.innerHTML=html;else{var sp=document.createElement('span');sp.className='btp-acq';sp.innerHTML=html;sb.insertBefore(sp,sb.firstChild)}})})["catch"](function(){});return true} var n=0,iv=setInterval(function(){if(go()||++n>60)clearInterval(iv)},500)})(); (function(){try{var st=document.createElement('style');st.textContent='.btp-subbar a[href*="trade-tree"]{color:#3d8bff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.btp-subbar a[href*="trade-tree"]:hover{color:#8cc4ff}.btp-banner-wrap .btp-subbar span b,.btp-subbar span b{color:#fff!important}';document.head.appendChild(st)}catch(e){}})();