Around The Rinks

Print Share

13

Long Term Contracts – Part I

I decided to break this article into Part I and II as it got rather lengthy.  There have been numerous articles written about the use of Long-term contracts and whether they are used to circumvent the salary cap.  However, I wanted to dig deeper into the subject and project both a worst case scenario as well as analysis and possible solutions.  Part I is my view of the worst-case scenario with a bit of my creative comedic touch.  Part II will follow in a few days and covers the analysis and suggested solutions.  Hopefully, I figure out how to add a poll to Part II so that readers can vote on their preferred solution. 

Follow dgutzman on Twitter

The Dynasty

Today, we are stepping into the future.  I recently purchased the Nashville Predators for $200 million from the current ownership group.  I am worth $10 billion so money is no concern to me.  If I lose $50 million a year, I could still own the team for 50 years and only lose $2.5 billion. 

My only objective is the Stanley Cup.  The Nashville Predators will become the New York Yankees of the NHL.  I am so confident of this, I GUARANTEE IT. 

First, I look at our current roster and ask myself, who among these 23 players are the best of their respective position?  I am not talking good, or players with potential.  I am talking the BEST!  I come up with only one player.  Shea Weber.  On any all-star team, he would be among the top six blueliners. 

I offer Weber a 50-year contract worth $132 million total.  I know it sounds like a lot of money, but it is only a $2.64 million cap hit. Moreover, when his salary drops down to $1 million a year at age 39 he is going to retire.  Thus, I will not be on the hook for the remainder of the contract and will have saved almost 5 million a year in cap space for the 14 years he did play.

Who is next?  Well, Ilya Kovalchuk is an UFA at the end of this year.  We will offer him a 40 year/$160 million dollar contract.  It will only cost me $4 million per year in cap space, and he will get the $10 million per year he is looking for.  If he wants to play past age 36, it will drop down but that is just play money to him at that point. 

So who is next?  Well, I notice Bobby Ryan and Patrick Marleau are also available so I grab them.  Yes, I know that Ryan is a restricted free agent, but with the lengthy terms of the contract, the cap hit per year will be so low that I may have to offer up a 3rd round draft pick as compensation. 

However, the big year is the 2011/2012.  I will go after Jeff Carter, Drew Daughtry, Zack Parise, Alexander Semin, Joe Thornton, and Steven Stamkos.  I know they are all restricted free agents and I will have to give up some draft picks.  Nevertheless, I am not worried about it.  These will be super long contracts and the average salary per year will be below $2 million a year.  Worst case, I might have to give up a 2nd or 3rd rounder for compensation.  Unfortunately, I will have to break my own rules to accomplish this.  I have always felt that going over a 50-year contract is foolish.  But in order to sign these players, I have to go upwards of 60 – 80 year contracts to get their average salary down far enough where all I have to offer up is a bevy of 3rd round picks I have a accumulated. 

By the 2012/2013 season, I will pick up Mike Green, John Taveres, and four or 5 other super studs all the same way.  In the 2013/2014 season, I will pick up Crosby, Perry, and Backstrom.

Along the way, I will pick up a few other ‘role players like Ryan Suter, Evgeni Nabakov, Victor Hedman, Evander Cane, Matt Duschane, Tyler Myers, and Jared Cohen.  Nashville already has Chet Piccard and Colin Wilson, along with Jonathan Blum and Ryan Ellis on Entry Level Contracts so they will not cost me much.  Patric Hornqvist may have earned a spot on our team with the year he is having.  Afterall, we will need at least one player who isn’t afraid to get in front of a Shea Weber Bomb from the point.

null

When I add it all up, I will be targeting a salary of $150 -$200 million per year, but with a cap figure of around $50 million.  I want to make sure I always have some cap space available in case there is someone I want to trade for.   One way or another, I will fill my roster with 23 all stars.  The best part is I will convince Commissioner Gary Bettman that Nashville host the All-Star game every other year and the format will be the Nashville Predators against the World. 

Not to worry though, I also will have a strategy in place to scoop up any new talent that comes into the league and fill their coffers with monstrous performance bonuses. 

Now, how am I going to manage to make money if I am spending $150-$200 million a year?  No Problem!  I mean, think about it?  Why would you pay money to go to any other team to watch hockey?  Every hockey fan in the world is going to come to Nashville to watch hockey.  We will hit our arena capacity in the 1st year and I will immediately start lobbying the city to build a new 30,000-seat arena, which they will do because the merchandising, advertising, and marketing revenue they will get in tax receipts will pay for it all.  I, of course, will jack ticket prices up through the roof.  Forget Detroit.  Nashville will become the new Hockeytown.  Hockey Night in Canada will broadcast from Nashville 7 days a week.  Don Cherry will relocate to Nashville and become a fixture on the local scene.  His first country music album will sell millions.  I will bring in the top scientists in the world to figure out how to host the Winter Classic in Nashville every year.  They will figure out a way to play hockey outdoors in 45-degree weather.  Money is no issue.  ESPN will finally cave in and broadcast the Nashville Predators for all 82 games live.  NBC will of course cover the playoffs. 

After about 10 years of sweeping through to the Stanley Cup, the NHL will move the Hockey Hall of Fame to Nashville.    We can just build the new Hall of Fame as an extension to the Country Music Hall of Fame and be part of the new Convention Center.  A few million here, a few million there, no problem. 

After 20 years and 17 or 18 Stanley Cups, the Steinbrenner family is asking for invitations to my A-List parties  Both Montreal and the Yankees will be looking ahead to the day when their respective teams are no longer considered the measuring stick of success.  By 30 years, I will have my 27 or so Stanley Cups and I will start to tire of such success.  I will trade every player on my team to every other team for their first round draft pick.  My goal is to have every pick in the first round of the NHL draft, which will of course occur in Nashville.  Could I put together a true “Miracle on Ice” team that consists of all rookies and still win the Cup? Probably not, but it would be fun to try. 

At some point in time, though, it will all end.  I will lose interest in the value of hockey.  I will donate my team to charity and become a college sports fan. I will have front row tickets every year for the NCAA Basketball Tournament.  I mean how much more exciting could it be watching teams like Butler and West Virginia make it to the Final Four, and a team like Baylor almost make it?  Why would anyone want to watch a sport where the winner was preordained at the start of the season, or at the very least, you knew it was one of five or six teams?  While college basketball would be my hobby, college football would be my focus.  I will get a playoff system established and watch the major conferences cry when they are not handed the championships every year. Teams like TCU, Boise State, Utah, Hawaii, and Cincinnati will all have a chance at the title. 

Eventually, my time on earth will end.  However, I will go peacefully to sleep knowing I did not ruin the NHL.  Its final demise was already in place by the time I purchased the Nashville Predators.  I merely took the existing system and manipulated it to my advantage.  I was not the first team to sign a player to a long-term contract just to circumvent the salary cap.  Teams like Chicago, Detroit, Vancouver, Boston, Tampa Bay, and Philadelphia started the trend.  I just capitalized on the opportunity.

Look for Part II towards the end of the week.  I will dive into the analysis of the long term contracts as well as offer up a number of solutions.

About the Author Subscribe to author's RSS feed
Written by


Tags , , , , , , , , , , , ,

13 Comments

In response to “Long Term Contracts – Part I”


  1. Chris Rydburg Mar 30 20106:14 pm

    Reply

    Jack Daniels Alert!

    1. Dave Gutzman Mar 30 20106:38 pm

      Reply

      I can confirm that. Wait until you see part II later on this week.

      1. Eric Cooney Mar 30 20106:50 pm

        Reply

        Good stuff Dave! I wrote a blog about this last year on my old blog:

        http://greaticepectations.blogspot.com/2009/07/fuzzy-math.html

        This is a major flaw in the CBA that needs to be addressed before someone does pull a stunt like trying to sign someone for 50 years.

        1. Dave Gutzman Mar 30 20107:36 pm

          Reply

          Thanks..My follow up article will dig into the long term contract that are out there, specifically Luongo’s, but will also review the other players who fall into the long term contracts ending past 35 with low salaries at the end of the contract. Great article you wrote.

  2. Dan Rakusan Mar 31 201010:23 am

    Reply

    The only solution to the long-term contract loophole is to use only the average of a sliding 3 year window.

    ie – If the contact is 100M over 13 years, paying 15M in years 1 to 3, 13M in years 4 to 7, 5M in years 8 to 11, and 500K in the final two years, the cap hit would be as follows:

    Year 1: 15M
    Year 2: 14.33M (15+15+13 divided by 3)
    Year 3: 13.66M (15+13+13 divided by 3)
    Year 4: 13M (13+13+13 divided by 3)
    Year 5: 10.33M (13+13+5 divided by 3)

    and so on…

    Makes sense to me!

    1. Dan Rakusan Mar 31 201010:24 am

      Reply

      Also – I realize my example is flawed in the sense that contract values can’t drop by more than 50% from any given year to the next…

      1. Dave Gutzman Mar 31 201012:59 pm

        Reply

        The sliding scale doesn’t work either. I have 5 options, some of them similar with a few tweaks that I am finalizing. Hopefully will get it out tomorrow or Friday. But the gist of it is that you have to ensure that by the end of the contract(regardless if the player plays it out), that all cap dollars are accounted for. The other hitch, is that it gives current GM’s and advantage that future GM’s will have to deal with. Kind of like Congress passing laws that don’t start for 4 more years. How many of them will still be around to deal with the mess.

        1. Dan Rakusan Mar 31 20104:01 pm

          Reply

          How does the sliding scale not work? I’d like to hear a definitve answer on that, since my math bears out that it DOES work…. As a player’s age goes up, the cap hit goes down, which is fair to both the team and league in terms of cap figures (again, disregarding my example where the salary number drops by more than 50% from one year to the next)… Realistically, the only other option is to simply use the first few years of a salary to average out the cap hit…

          1. Dan Rakusan Mar 31 20104:06 pm

            Damn, I wish we could edit comments… My point is that the only time you’d ever be stupid enough to sign a player to this type of deal is before they’re 35 (unless you’re the Flyers signing Chris Pronger). So, you can assume they’ll retire after a certain point. By taking a 3-year average, you make sure that the production of the player is somehow tied into their performance (which is likely to decline after a while, especially near retirement age – in most cases).

            So, to counteract what I assume (and it’s a big assumption) what your problem is with the presented scenario, we start the window one year later than the contract starts, but use the same contract value as of year one. ie – you backdate it one year to ensure the cap value reflects player value.

            I’m not trying to start a pissing match, but I think between us, we could figure out a pitch good enough to gain the NHL’s attention in this matter…

            Cheers,
            Dan

          2. Dave Gutzman Apr 1 201012:25 am

            I appreciate your ideas and will include the concept in my final update. So here is the salary numbers for a certain contract..How would you apply the cap?

            2010-2011 $10,000,000
            2011-2012 $6,716,000
            2012-2013 $6,714,000
            2013-2014 $6,714,000
            2014-2015 $6,714,000
            2015-2016 $6,714,000
            2016-2017 $6,714,000
            2017-2018 $6,714,000
            2018-2019 $3,382,000
            2019-2020 $1,618,000
            2020-2021 $1,000,000
            2021-2022 $1,000,000

          3. Dan Rakusan Apr 1 20109:07 am

            Yr 1: 7180000
            Yr 2: 6714660
            Yr 3: 6714000
            Yr 4: 6714000
            Yr 5: 6714000
            Yr 6: 6714000
            Yr 7: 5603330
            Yr 8: 3904660
            Yr 9: 2000000
            Yr 10: 1206000
            Yr 11: 1000000
            Yr 12: 1000000

          4. Dave Gutzman Apr 1 20109:32 am

            Thanks.

            So looking at this example, I think the issue is still there. Looking at your numbers, if he retires after year 9, he will have been paid $62.6 million, but the team will only have accounted for $50.2 million in salary cap. It is an improvement in the current system which only would have allocated $42.6 million by the end of year 9. But there is still a $12 million difference and no penalty in place if the player retires early.

          5. Dan Rakusan Apr 1 201010:31 am

            I see your point… What about basing the cap hit on the average of the PAST 3 years? Would certainly mean front-loading contracts would be a detriment…

Add Your Comment

PHVsPjxsaT48c3Ryb25nPndvb3dvb19ib3R0b21fYWRzZW5zZTE8L3N0cm9uZz4gLSBhZHZlcnRpc2VtZW50PGJyIC8+DQo8aW1nIHNyYz1cImh0dHA6Ly9wcm9zcG9ydHNibG9nZ2luZy5jb20vYWRzL3BzYi1sZWFkZXJib2FyZC03Mjh4OTAuZ2lmXCIgd2lkdGg9XCI3MjhcIiBoZWlnaHQ9XCI5MFwiIGJvcmRlcj1cIjBcIiBhbHQ9XCJQcm9TcG9ydHNCbG9nZ2luZy5jb21cIiB0aXRsZT1cIlByb1Nwb3J0c0Jsb2dnaW5nLmNvbVwiPjwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX2Fkc2Vuc2U8L3N0cm9uZz4gLSBibGFoIGJsYWggYmxhaDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTI1MHgyNTAuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfYWRzZW5zZTwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPjwhLS0NCmdvb2dsZV9hZF9jbGllbnQgPSBcInB1Yi03ODkxMjI2NzY1MDc1NjQ3XCI7DQovKiA0Njh4NjAgY2VudGVyIGNvbnRlbnQgKi8NCmdvb2dsZV9hZF9zbG90ID0gXCIxMTkzNzQ4NDcyXCI7DQpnb29nbGVfYWRfd2lkdGggPSA0Njg7DQpnb29nbGVfYWRfaGVpZ2h0ID0gNjA7DQovLy0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIg0Kc3JjPVwiaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qc1wiPg0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF9kaXNhYmxlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5wcm9zcG9ydHNibG9nZ2luZy5jb20vYWRzL3BzYi00Njh4NjAucG5nPC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnByb3Nwb3J0c2Jsb2dnaW5nLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnByb3Nwb3J0c2Jsb2dnaW5nLmNvbS9hZHMvc3BvbnNvcnMvaG90aGVhZHRlZXNfMTI1X2Jhbm5lci5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5wcm9zcG9ydHNibG9nZ2luZy5jb20vYWRzL3BzYi0xMjV4MTI1LTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cucHJvc3BvcnRzYmxvZ2dpbmcuY29tL2Fkcy9wc2ItMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vcHJvc3BvcnRzYmxvZ2dpbmcuY29tL2Fkcy9zcG9uc29ycy9sZWVzcG9ydHNjYXBwaW5nLTEyNXgxMjUucG5nPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cucHJvc3BvcnRzYmxvZ2dpbmcuY29tL2Fkcy9wc2ItMTI1eDEyNS0xLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnByb3Nwb3J0c2Jsb2dnaW5nLmNvbS9hZHMvcHNiLTEyNXgxMjUtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfYWRzZW5zZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcF9kaXNhYmxlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vcHJvc3BvcnRzYmxvZ2dpbmcuY29tL2Fkcy9sbWNpLWJhbm5lci0yNTB4MTMwLnBuZzwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3LmxpYW1zY2kuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LmhvdGhlYWR0ZWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5wcm9zcG9ydHNibG9nZ2luZy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cucHJvc3BvcnRzYmxvZ2dpbmcuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwOi8vbGVlc3BvcnRzY2FwcGluZy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cucHJvc3BvcnRzYmxvZ2dpbmcuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3LnByb3Nwb3J0c2Jsb2dnaW5nLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZGVmYXVsdC5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hdXRvX2ltZzwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYmxhbmtfYWRzZW5zZTE8L3N0cm9uZz4gLSA8ZGl2IHN0eWxlPVwicGFkZGluZy1sZWZ0OjE3cHg7XCI+PGlmcmFtZSBpZD1cInliX3dpZGdldF8xNDg2OFwiIGZyYW1lQm9yZGVyPVwiMFwiIHNjcm9sbGluZz1ubyBzdHlsZT1cIndpZHRoOiAzMDBweDsgaGVpZ2h0OiA1MDRweDsgYm9yZGVyOiAwcHg7XCIgc3JjPVwiaHR0cDovL3d3dy55YXJkYmFya2VyLmNvbS93aWRnZXQveWJuLzE0ODY4XCI+PC9pZnJhbWU+PC9kaXY+PC9saT48bGk+PHN0cm9uZz53b29fYm90dG9tX2Fkc2Vuc2UxPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY2F0X2V4PC9zdHJvbmc+IC0gMSwxMCwyNjc3LDMxOTYsNTU5NzwvbGk+PGxpPjxzdHJvbmc+d29vX2NsZWFyX2Fkc2Vuc2UxPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY2xlYXJfYWRzZW5zZTFfdGl0bGU8L3N0cm9uZz4gLSBTUE9OU09SUzwvbGk+PGxpPjxzdHJvbmc+d29vX2NsZWFyX2Fkc2Vuc2UyXzE8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jbGVhcl9hZHNlbnNlMl8yPC9zdHJvbmc+IC0gPHAgYWxpZ249XCJjZW50ZXJcIj4NCjxhIGhyZWY9XCJodHRwOi8vbGVlc3BvcnRzY2FwcGluZy5jb21cIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cImh0dHA6Ly9wcm9zcG9ydHNibG9nZ2luZy5jb20vYWRzL3Nwb25zb3JzL2xlZXNwb3J0c2NhcHBpbmctMTI1eDEyNS5wbmdcIiB3aWR0aD1cIjEyNVwiIGhlaWdodD1cIjEyNVwiIGFsdD1cIkxlZSBTcG9ydHMgQ2FwcGluZ1wiIGJvcmRlcj1cIjBcIj48L2E+DQo8L3A+PC9saT48bGk+PHN0cm9uZz53b29fY2xlYXJfYWRzZW5zZTJfdGl0bGU8L3N0cm9uZz4gLSBTUE9OU09SUzwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbW1lbnRfcG9zdHM8L3N0cm9uZz4gLSA1PC9saT48bGk+PHN0cm9uZz53b29fY29udGVudDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9mZWF0PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fZmF2aWNvbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2V4Y2x1ZGVfY2F0c19mcm9tX3VybDwvc3Ryb25nPiAtIG1vcmU8L2xpPjxsaT48c3Ryb25nPndvb19mYmludGVydmFsPC9zdHJvbmc+IC0gNTAwMDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXR1cmVkX2NhdF9pZDwvc3Ryb25nPiAtIDE1MTI2PC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSA1PC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl9pZDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KdmFyIGdhSnNIb3N0ID0gKChcImh0dHBzOlwiID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKSA/IFwiaHR0cHM6Ly9zc2wuXCIgOiBcImh0dHA6Ly93d3cuXCIpOw0KZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoXCIlM0NzY3JpcHQgc3JjPVwnXCIgKyBnYUpzSG9zdCArIFwiZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanNcJyB0eXBlPVwndGV4dC9qYXZhc2NyaXB0XCclM0UlM0Mvc2NyaXB0JTNFXCIpKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9XCJodHRwOi8vbmV0d29yay55YXJkYmFya2VyLmNvbS9uZXR3b3JrL3libl9waXhlbC83OTYxXCIgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPjwvc2NyaXB0PiA8bm9zY3JpcHQ+PC9ub3NjcmlwdD4NCjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KdHJ5IHsNCnZhciBwYWdlVHJhY2tlciA9IF9nYXQuX2dldFRyYWNrZXIoXCJVQS0yNjcxNjEyLTNcIik7DQpwYWdlVHJhY2tlci5fdHJhY2tQYWdldmlldygpOw0KfSBjYXRjaChlcnIpIHt9PC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fZ3JheV9hZHNlbnNlPC9zdHJvbmc+IC0gbG9yZW0gaXBzdW0uLi48L2xpPjxsaT48c3Ryb25nPndvb19ncmF5X2Fkc2Vuc2UxPC9zdHJvbmc+IC0gPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWxlZnQ6NDBweDtcIj48YSBocmVmPVwiaHR0cDovL3lvdXJiZXN0cGljay5jb21cIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cImh0dHA6Ly93d3cucHJvc3BvcnRzYmxvZ2dpbmcuY29tL2Fkcy9zcG9uc29ycy9iYW5uZXIteW91cmJlc3RwaWNrLTIyMHgxMjUuanBnXCIgd2lkdGg9XCIyMjBcIiBoZWlnaHQ9XCIxMjVcIiBib3JkZXI9XCIwXCI+PC9hPjwvc3Bhbj48L2xpPjxsaT48c3Ryb25nPndvb19ncmF5X2Fkc2Vuc2UyPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9hcmM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGluazwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpbmtfZGVzYzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGlua190ZXh0PC9zdHJvbmc+IC0gSG9tZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMzA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gMzA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAyNTA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gMjgwPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cub252aS5jb20vPC9saT48bGk+PHN0cm9uZz53b29fcG9wdWxhcl9wb3N0czwvc3Ryb25nPiAtIDU8L2xpPjxsaT48c3Ryb25nPndvb19yZXNpemU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFBTQjwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDg4PC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSA4ODwvbGk+PGxpPjxzdHJvbmc+d29vX3R3aXR0ZXI8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX3doaXRlX2Fkc2Vuc2U8L3N0cm9uZz4gLSBsb3JlbSBpcHN1bSAyLi4uPC9saT48bGk+PHN0cm9uZz53b29fd2hpdGVfYWRzZW5zZTE8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb193aGl0ZV9hZHNlbnNlMjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3doaXRlX2Fkc2Vuc2UzPC9zdHJvbmc+IC0gPG9iamVjdCBpZD1cInN3ZmNsaXBQODgxNzJcIiB3aWR0aD1cIjMwMVwiIGhlaWdodD1cIjM3MlwiIHR5cGU9XCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiIGRhdGE9XCJodHRwOi8vcGxheWVyLmdyYWJuZXR3b3Jrcy5jb20vc3dmL2N1YmUuc3dmP2E9UDg4MTcyJm09MTYxMjYwNlwiPjxwYXJhbSBuYW1lPVwibW92aWVcIiB2YWx1ZT1cImh0dHA6Ly9wbGF5ZXIuZ3JhYm5ldHdvcmtzLmNvbS9zd2YvY3ViZS5zd2Y/YT1QODgxNzImbT0xNjEyNjA2XCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dTY3JpcHRBY2Nlc3NcIiB2YWx1ZT1cImFsd2F5c1wiLz48cGFyYW0gbmFtZT1cImJhc2VcIiB2YWx1ZT1cIi5cIiAvPjxwYXJhbSBuYW1lPVwid21vZGVcIiB2YWx1ZT1cInRyYW5zcGFyZW50XCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dmdWxsc2NyZWVuXCIgdmFsdWU9XCJ0cnVlXCIvPjwvb2JqZWN0PjwvbGk+PGxpPjxzdHJvbmc+d29vX3doaXRlX2Fkc2Vuc2U0PC9zdHJvbmc+IC0gPG9iamVjdCBpZD1cInN3ZmNsaXBQODgxNzJcIiB3aWR0aD1cIjMwMVwiIGhlaWdodD1cIjUwMVwiIHR5cGU9XCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiIGRhdGE9XCJodHRwOi8vcGxheWVyLmdyYWJuZXR3b3Jrcy5jb20vc3dmL2N1YmUuc3dmP2E9UDg4MTcyJm09MTUxMTYyMVwiPjxwYXJhbSBuYW1lPVwibW92aWVcIiB2YWx1ZT1cImh0dHA6Ly9wbGF5ZXIuZ3JhYm5ldHdvcmtzLmNvbS9zd2YvY3ViZS5zd2Y/YT1QODgxNzImbT0xNTExNjIxXCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dTY3JpcHRBY2Nlc3NcIiB2YWx1ZT1cImFsd2F5c1wiLz48cGFyYW0gbmFtZT1cImJhc2VcIiB2YWx1ZT1cIi5cIiAvPjxwYXJhbSBuYW1lPVwid21vZGVcIiB2YWx1ZT1cInRyYW5zcGFyZW50XCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dmdWxsc2NyZWVuXCIgdmFsdWU9XCJ0cnVlXCIvPjwvb2JqZWN0PjwvbGk+PGxpPjxzdHJvbmc+d29vX3doaXRlX2Fkc2Vuc2U1PC9zdHJvbmc+IC0gPG9iamVjdCBpZD1cInN3ZmNsaXBQODgxNzJcIiB3aWR0aD1cIjMwMVwiIGhlaWdodD1cIjUwMVwiIHR5cGU9XCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiIGRhdGE9XCJodHRwOi8vcGxheWVyLmdyYWJuZXR3b3Jrcy5jb20vc3dmL2N1YmUuc3dmP2E9UDg4MTcyJm09MTUxMTYyMVwiPjxwYXJhbSBuYW1lPVwibW92aWVcIiB2YWx1ZT1cImh0dHA6Ly9wbGF5ZXIuZ3JhYm5ldHdvcmtzLmNvbS9zd2YvY3ViZS5zd2Y/YT1QODgxNzImbT0xNTExNjIxXCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dTY3JpcHRBY2Nlc3NcIiB2YWx1ZT1cImFsd2F5c1wiLz48cGFyYW0gbmFtZT1cImJhc2VcIiB2YWx1ZT1cIi5cIiAvPjxwYXJhbSBuYW1lPVwid21vZGVcIiB2YWx1ZT1cInRyYW5zcGFyZW50XCIvPjxwYXJhbSBuYW1lPVwiYWxsb3dmdWxsc2NyZWVuXCIgdmFsdWU9XCJ0cnVlXCIvPjwvb2JqZWN0PjwvbGk+PC91bD4=