07ae7c489c
shows the average touch position of the 11 starting players
290 lines
48 KiB
Plaintext
290 lines
48 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#edit only this tab\n",
|
|
"#give the folder path of the match\n",
|
|
"path = \"\"\"C:\\\\Users\\\\Koushik\\\\Downloads\\\\open-data-master\\\\open-data-master\\\\data\\\\passmap\\\\ARGNIG\\\\\"\"\"\n",
|
|
"home_team = 'Argentina'\n",
|
|
"away_team = 'Nigeria'"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"done\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import json\n",
|
|
"import os\n",
|
|
"import codecs\n",
|
|
"from pandas.io.json import json_normalize\n",
|
|
"import numpy as np\n",
|
|
"#import seaborn as sns\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from matplotlib.patches import Arc, Rectangle, ConnectionPatch\n",
|
|
"from matplotlib.offsetbox import OffsetImage\n",
|
|
"#import squarify\n",
|
|
"from functools import reduce\n",
|
|
"\n",
|
|
"Xg_req = pd.DataFrame(data=None)\n",
|
|
"for filename in (os.listdir(path)):\n",
|
|
" #print(filename)\n",
|
|
" \n",
|
|
" with codecs.open(\"%s\" % path + filename,encoding='utf-8') as data_file: \n",
|
|
" data = json.load(data_file)\n",
|
|
" df = pd.DataFrame(data=None)\n",
|
|
" \n",
|
|
" df = json_normalize(data, sep = \"_\")\n",
|
|
" \n",
|
|
" #df = df[(df['type_name'] == \"Shot\")]\n",
|
|
" #df = df.loc[:,['location','shot_body_part_id','shot_end_location','shot_one_on_one','shot_technique_id','shot_type_id','under_pressure','shot_outcome_id']]\n",
|
|
" #print(df.shape)\n",
|
|
" Xg_req = Xg_req.append(df,ignore_index=True,sort=False)\n",
|
|
" #df.drop(df.index, inplace=True)\n",
|
|
" \n",
|
|
"print(\"done\")\n",
|
|
"df = Xg_req"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#type_id=30 is pass event AND type_id=19 is substitution event\n",
|
|
"\n",
|
|
"pass_m = df.query('type_id == 30')\n",
|
|
"substitution = df.query('type_id == 19')\n",
|
|
"#pass_m = df.query('type_name == pass')\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"['Odion Jude Ighalo' 'Alex Iwobi' 'Simeon Tochukwu Nwankwo']\n",
|
|
"['Cristian David Pavón' 'Maximiliano Eduardo Meza'\n",
|
|
" 'Sergio Leonel Agüero del Castillo']\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#this cell is WIP\n",
|
|
"substitution_home = set()\n",
|
|
"substitution_home = substitution[substitution.team_name == home_team]\n",
|
|
"substitution_home = substitution_home['substitution_replacement_name'].unique()\n",
|
|
"substitution_away = set()\n",
|
|
"substitution_away = substitution[substitution.team_name == away_team]\n",
|
|
"substitution_away = substitution_away['substitution_replacement_name'].unique()\n",
|
|
"print(substitution_away)\n",
|
|
"print(substitution_home)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# to get \n",
|
|
"\n",
|
|
"home_player = pass_m[(pass_m.team_name == home_team)] \n",
|
|
"home_team_list = set()\n",
|
|
"home_team_list = home_player['player_name'].unique()\n",
|
|
"#print(substitution_belgium)\n",
|
|
"#belgium_list = [player for player in belgium_list if player not in substitution_belgium]\n",
|
|
"#belgium_list.remove([x for x in substitution_belgium])#belgium_list - substitution_belgium\n",
|
|
"home_player =pass_m['player_name'].isin(home_team_list)\n",
|
|
"pass_home = pass_m[home_player] #contains 11 players of home team\n",
|
|
"\n",
|
|
"away_player = pass_m[(pass_m.team_name == away_team)] \n",
|
|
"away_list = away_player['player_name'].unique()\n",
|
|
"#away_list = away_list - substitution_brazil\n",
|
|
"away_player = pass_m['player_name'].isin(away_list)\n",
|
|
"pass_away = pass_m[away_player]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#print(home_team_list)\n",
|
|
"\n",
|
|
"#home_team_list = np.delete(home_team_list,substitution_home)\n",
|
|
"#print(home_team_list)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def draw_pitch(ax):\n",
|
|
" # focus on only half of the pitch\n",
|
|
" #Pitch Outline & Centre Line\n",
|
|
" Pitch = Rectangle([0,0], width = 120, height = 80, fill = False)\n",
|
|
" #Left, Right Penalty Area and midline\n",
|
|
" LeftPenalty = Rectangle([0,22.3], width = 14.6, height = 35.3, fill = False)\n",
|
|
" RightPenalty = Rectangle([105.4,22.3], width = 14.6, height = 35.3, fill = False)\n",
|
|
" midline = ConnectionPatch([60,0], [60,80], \"data\", \"data\")\n",
|
|
"\n",
|
|
" #Left, Right 6-yard Box\n",
|
|
" LeftSixYard = Rectangle([0,32], width = 4.9, height = 16, fill = False)\n",
|
|
" RightSixYard = Rectangle([115.1,32], width = 4.9, height = 16, fill = False)\n",
|
|
"\n",
|
|
"\n",
|
|
" #Prepare Circles\n",
|
|
" centreCircle = plt.Circle((60,40),8.1,color=\"black\", fill = False)\n",
|
|
" centreSpot = plt.Circle((60,40),0.71,color=\"black\")\n",
|
|
" #Penalty spots and Arcs around penalty boxes\n",
|
|
" leftPenSpot = plt.Circle((9.7,40),0.71,color=\"black\")\n",
|
|
" rightPenSpot = plt.Circle((110.3,40),0.71,color=\"black\")\n",
|
|
" leftArc = Arc((9.7,40),height=16.2,width=16.2,angle=0,theta1=310,theta2=50,color=\"black\")\n",
|
|
" rightArc = Arc((110.3,40),height=16.2,width=16.2,angle=0,theta1=130,theta2=230,color=\"black\")\n",
|
|
" \n",
|
|
" element = [Pitch, LeftPenalty, RightPenalty, midline, LeftSixYard, RightSixYard, centreCircle, \n",
|
|
" centreSpot, rightPenSpot, leftPenSpot, leftArc, rightArc]\n",
|
|
" for i in element:\n",
|
|
" ax.add_patch(i)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 504x360 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"players = home_team_list\n",
|
|
"#['Thibaut Courtois','Jan Vertonghen','Vincent Kompany','Toby Albertine Maurits Alderweireld','Thomas Meunier','Nacer Chadli','Axel Witsel','Marouane Fellaini-Bakkioui','Eden Hazard','Kevin De Bruyne','Romelu Lukaku Menama']\n",
|
|
"fig=plt.figure() #set up the figures\n",
|
|
"\n",
|
|
"fig.set_size_inches(7, 5)\n",
|
|
"ax=fig.add_subplot(1,1,1)\n",
|
|
"draw_pitch(ax) #overlay our different objects on the pitch\n",
|
|
"plt.ylim(-2, 82)\n",
|
|
"plt.xlim(-2, 122)\n",
|
|
"plt.axis('off')\n",
|
|
"for player in players:\n",
|
|
" x_avg = 0\n",
|
|
" y_avg = 0\n",
|
|
" if player not in substitution_home: \n",
|
|
" play_temp = pass_home[(pass_home.player_name == player)]\n",
|
|
" #print(play_temp.location, players[player])\n",
|
|
" for i in range(len(play_temp)):\n",
|
|
" x_avg = x_avg + play_temp.iloc[i]['location'][0]\n",
|
|
" y_avg = y_avg + play_temp.iloc[i]['location'][1]\n",
|
|
" x_avg = x_avg/len(play_temp)\n",
|
|
" y_avg = y_avg/len(play_temp)\n",
|
|
" #print(x_avg,y_avg,players[player])\n",
|
|
" ax.scatter(x_avg, y_avg, s=100) \n",
|
|
" ax.annotate(player.split()[0] +str(' ') + player.split()[-1], (x_avg, y_avg))\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAEeCAYAAACt7uMeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3deXxU1d3H8c83C0IIAay7qLEugBJF3Io77q3WDRestmqrLa3WWuvC89Ta2EWlaq2tVn20Fa222oo7dSsoouJK2FzQoqCoVWkpGNlC8nv+OGdgGGaSmeRm/71fr7yYOffce8+Em/ubc88mM8M555xrqaL2LoBzzrmuwQOKc865RHhAcc45lwgPKM455xLhAcU551wiPKA455xLhAcU55xzifCA4pxzLhEeUJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnElHSnJ0kzQO2SrYozjnnOpj5ZlaZb2Y1Z7ZhSWZmKnhH5zopv+Zdd1Tode+PvJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTnnXCI8oDjnnEuEBxTnnHOJ8IDiugVJT0s6LCPtPEm/l7SZpHvzOEZZC8swTtJSSX3S0q6TZJI2aMmxnesIPKC4Lq/q9qqKHhv1eFSl+nrGplHAX8zsQzM7Po9DFRRQJBVnSf4ncHTcXgSMAD4o5LjOdVQeUFyXVHV7VWnV7VWjqm6vqgEWfvEnX7y0aL2iU3a8ZcfpVbdXjeqxQY9tgc2AZyVVSpoNIQhIulrSLEkzJX1f0rnxsE9JeirmOznmmS1pbOq8kmol/UzSi8DwLEX7C3BSfH0A8BywKm3/8+MxZ0s6L6b1ljRB0oyYflJM31XSZEmvSnpc0qYx/VxJr8fy353YL9W5JjRrLi/nOrKq26v6A08CA4FygJI+JaW9vtiL2tm1O1cMq7il75f6Lv7PxP/cV7+s3qS1Zpb4NrA1sIuZrZK0vpn9R9J1wAgzWyhpM2AssCuwCHhC0jFm9gDQG5htZpfmKN7bwNGS+gMnA3cCX4YQIIAzgD0BAS9Kmgx8EfjQzI6I+fpKKgV+BxxtZp/GIPNL4JvAGGBrM1shqV+Lf6HO5clrKK5Lqbq9qpQQTKqIwSSl35f6sfjFxQDltTNrN9vq/K0OjvnTHQzcZGarAMzsP1lOszvwtJl9GvPdBewXt9UD45so5n2Ex217AlPS0vcB7jezz82sNubbF5gFHCxprKR9zWwxIVgOAZ6UNB24BBgQjzMTuEvSqaTVfpxrbR5QXFczknCz7ZG5oc+wPtS+XsuyectoqGtQ7+17bwEcl5FNQFMzpjY2Wd5yM6tvYv+7gZ8DT5pZQ1PHNbO3CLWhWcAVki6NeV8zs6Hxp8rMDo27HAHcEPd5VZI/iXBtwgOK62ouJqNmklLcs5jeg3rzwR8+oO+efYn5Ls7I9gQwOnUTlrR+2rZU76wXgf0lbRAb3k8GJudbQDN7D/gx8PuMTc8Ax0gqk9QbOBaYEh+xLTWzO4GrgWHAHGBDScNjOUsl7Rgb+rcws6eAi4B+uX4fziXNA4rrMqpur6oAdmwsT78v9WP5+8vpt+fqpoUh5UPK02+4twLvATMlzQC+lrbtUUlPmdlHwP8ATwEzgGlm9mAhZTWzm81sbkbaNGAc8BIhaN1qZjWEx3cvxUdbPwZ+YWYrgeOBsbGc04G9gGLgTkmzgBrgWjP7byFlc665fD0U12VU3V41gPDNvZDuvUuBgbNOm7WgsUx+zbvuyNdDcd3ZEiCzkb0ppXE/51wLeUBxXcas02YtAV4rcLfZcT/nXAt5QHFdzVigNs+8tTG/cy4BHlBcVzOe0I6ysol8K2O++1q9RM51Ex5QXJcy67RZdcAhhDEbuWoqtXH7ITG/cy4BHlBclzPrtFmLCPNonUnoOltH6M1VF9+fCQyP+ZxzCfFuw67Li+NTKoAlzW2A92vedUeFXvceUJzLg1/zrjvycSjOOefahQcU55xzifCA4pxzLhEeUJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTnnXCI8oDjnnEuEBxTXLJs8Nb1ik6emD5CU71TxiZH0oKSpTeRp03JJ2kzSvVnSKyUtkzRd0gxJz0sa2MSxKiXNbr3SOtc6Stq7AK7z2OSp6aXASOBiwtrtderZq2yTp6bXENYVGf+vEUNbdfZeSf2AYUCtpK3N7N0EjinCNEQNzT2GmX1IWOM9m7lmNjSe6zvA/wKnNfdcznVUXkNxednkqen9ganALcBQwtK5qbXbh8b0qZs8Nb2/pA0ljZf0cvzZG0DS+pIekDRT0guSdorp1ZL+KOlpSe9IOreRoowEHgbuBkalEiVtLWlqPN/P03eQdGFMnynpsphWKekNSb8HpgFbSDo0HmOapL9JKo9558V/p0p6RdIwSY9LmitpdNrx8qlVVACL0vaZEs83TdJemZkl9ZR0m6RZkmokjYjpZZL+Gj/TPZJelLRb3Fabtv/xksbF1+Mk/TbWkt6RlCsAOtcsXkNxTYo1kyeBKqBHjmzlcfuTqOhtrOFaM3tW0pbA48Bg4DKgxsyOkXQgcAchGAEMAkYAfYA5km40s2y1nZPjcT4G7gWuiOnXATea2R2Szk5llnQosB2wByDgIUn7Ae8BA4EzzOx7kjYALgEONrPPJV0MnA/8LHUsMxsu6VpgHLA30JOw5PBNTfwKt5E0PX62MmDPmP4JcIiZLZe0HfAXYLeMfc+O566SNAh4QtL2wPeARWa2k6QhwPQmypCyKbAP4ff9EOF36FwiPKC4fIwk3HxzBZOUHsBASkq2o27l4PAkCYAKSX0IN7KRAGY2SdIXJPWNeSaY2QpghaRPgI2BBekHl7QxsC3wrJmZpFWShpjZbMINfmTM+ifWLO17aPypie/LCQHmPWC+mb0Q078E7AA8F8vdg1AjyzQLKDezz4DPJC2Pj+Eak/7I6yTg/4DDCbW86yUNBeqB7bPsuw/wOwAze1PS/JhvH0IQxcxmS5rZRBlSHoiP9l6Pv0/nEuMBxeXjYsKNOB/lWm+9eqtbOdzMlqVvUFqESZNaP2FFWlo9UBJrGmfFtK8Q2ij6A+/GQ1UQHntdknGstU4LXGFmN2eUpRL4PCPfk2Z2cqOfDhoyytpAYX9HDwG3xdc/JNS0diY8fl6eJX+uqcMbm1I8/ffQM2Nbetl9On6XKG9DcY3a5KnpFYQG+Lz12H0vqXf5j1Lv4zdwgGeAU2LaAcBCM8u54JWZ3WBmQ+PPh4THXYebWaWZVQK7sqYd5bm016ekHeZx4Jtp7SGbS9ooy+leAPaWtG3MVxYfLSVtH2BufN0X+CjWGL4OFGfJn/472x7YEpgDPAucGNN3IDxuTPlY0mBJRcCxrfAZnMvKayiuKRWEpXNLs220Fcv59MTDVr8vO+FUKr5/8fKFp351j/gYpoRwUxwNVAO3xfSlFNDTKdYotiTc+MO5zd6VtETSnsAPgD9L+gEwPi3PE5IGA1NjraYWOJVQCyIt36eSTgf+Imm9mHwJ8Fa+ZWxEqg1FwErCEsQAvwfGSzoBeIq1a0yk5blJ0ixgFXC6ma2InQluj7/LGmAmsDjuMwZ4BHgfmE3+tUvnWsRXbHSNijWUheQIKDnUARv8a8TQZi232xF1tGteUjFQGhv0twEmAtub2cp2LprrQgq97v2Rl2tUDAqvFbjb7K4UTDqoMuBZSTOA+4HvejBx7c0febl8jCWMM8nn0Ukta3pYuVYSe5lldjF2rl15DcXlYzyhIbipb8ArY777Wr1EzrkOxwOKa1KcTuUQwhiMXHNk1cbth7T29CvOuY7JA4rLy79GDF0EDCf0UKohNLwvjf/WxPThMZ9zrhvyXl6uWWLvrwpgSXdogPdr3nVHhV73HlCcy4Nf86478m7Dzjnn2oUHFOecc4nwgOKccy4RHlCcc84lwgOKc865RHhAcc45lwgPKM455xLhAcU551wiPKA455xLhAcU55xzifCA4pxzLhEeUJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTmXCEm1aa+/IultSVs2kv90Sde39FwZ6aMlfSNLerWkC+LrpyXt1pzztgZJlZJmt3c5klDS3gVwznVuEydtk1q9EwBJBwG/Aw41s/fasixmdlNbns+tzWsozrmCTZy0TenESduMmjhpmxpgITCnZ0/1vnLspm/16qU/91+/+GgzmwsgaUNJ4yW9HH/2zjxerjySyiXdJmmWpJmSRqbt80tJMyS9IGnjmLa6JtKEEyS9JOktSfvGfYslXRXPP1PSd9LKMFHStFiOo2N6paQ3JN0i6TVJT0jqFbedFY8zI36uspi+saT7Y/oMSXvF8hTnOM7Q+Plmxv36N+f/q614QHHOFWTipG36A1OBW4ChQClQVldnXP7LT7a79jeblf/tb1uNi/kArgOuNbPdgZHArVkOmyvPT4DFZlZlZjsBk2J6b+AFM9sZeAY4q8CPUWJmewDnAT+Nad+K59od2B04S9LWwHLgWDMbBowArpGUWhZ3O+AGM9sR+G8sO8B9ZrZ7LN8b8dgAvwUmx/RhwGtNHOcO4OL42WellbVD8kdezrm8TZy0TSnwJFAF9EjfVlIidtihJ48/9lnZtuesVwU8OXHSNsOBg4Ed1tyDqZDUJ+PQufIcDIxKJZrZovhyJfBIfP0qcEiBH+W+tH0r4+tDgZ0kHR/f9yXc6BcAl0vaD2gANgc2jnneNbPpWY41RNIvgH5AOfB4TD8Q+Eb8LPXA4ljrWOc4kvoC/cxscky/HfhbgZ+zTXlAcc4VYiQwkIxgAiDBTy7diIsu/Ig/37Wox9dO6T8QOI7wJGS4mS1bO7/S3+bKI8CylKPOzFLp9RR+L1uRZV8B3zezx9MzSjod2BDY1czqJM0DemYcJ3WsXvH1OOAYM5sR9z8gz/JkHqdT8UdezrlCXEz4xp1Vz55F/OKXmzBxYi2P/n1Jecz/BHBOKo+koVl2zZUnM7012xAeB74rqTSea3tJvQk1lU9iMBkBbJXHsfoAH8VjnZKWPhH4bjx+saSKbDsDmNliYFGqjQf4OjA5V/6OoNk1FEnZvjV0dPPNrLK9C+FcZxR7c+3YVL6KimKuuHJTzv/hh1RUFFd9+St9jnv075+NlTSTcM95Bhidsdu5wA1Z8vwips8mfHO/jDWPq5J2K+GR1bRYM/oUOAa4C3hY0ivAdODNPI71E+BFYD6h7eMMSafFbSdJujZzh8x7qqRUe8kz6bU5SecV8JnalNbUGgvYSTIzU9M5O5bOWm7X/vzagYmTthkAzAHKCthtKTDwoAPnLmidUnUOnfX6KbTc/sjLOZevJYQeXYUojfu5bsADinMuLwcdOHcJa7q55mt23M91Ax5QnHOFGAtknfYki9qY33UTHlCcc4UYT2hHWdlEvpUxX2s1oLsOyAOKcy5vBx04t44wiHAWuWsqtXH7ITG/6yY8oDjnCnLQgXMXAcOBM4EaoI7Qm6suvj8TGB7zuW7Euw07lwe/dnJLm214iTfAZ9dZr59Cy+0Bxbk8+LXjWqKzXj8+DsU551y78IDinHMuER5QnHPOJcIDinPOuUR4QHHOOZcIDyjOOecS4QHFOedcIjygOOecS4QHFOecc4nwgOKccy4RHlCcc84lwgOKc865RHhAcc45lwgPKM455xLhAcU551wiPKA455xLhAcU51pA0gBJD0p6W9JcSddJ6tGC4z2fZPmyHH+cpA8krRffbyBpXiN5j4+vb5W0Q5Y8p0u6Pr4eLekbrVh818F5QHGuGd4YNLiiZvuBA4rhAeABM9sO2B4oB37Z3OOa2V5JlbER9cA3C9nBzM40s9ebyHOTmd3RopK5Ts0DinN5emPQ4NI3Bg0e9cagwTXAwmnLlr29c69ew14fOOjcNwYNHvX6wEFFwA+Bb0oqi9/e75P0WKzB/ApA0rckXZs6rqSzJP06vq6N/x4g6WlJ90p6U9JdCg6SdH/avodIui++PlTSVEnTJP1NUnmOj/Ib4IeSStIT4/Gvl/S6pAnARmnbnpa0W3x9hqS3JE0G9k7LUy3pghb8il0n5wHFufxNBW4BhgKlc1eu6DmkZ0/F97cAU18fOKgYeA/YNu4zFDgJqAJOkrQFcDdwlKTSmOcM4LYs59sFOA/YAfgi4eY9CRgsacP0fSVtAFwCHGxmw4BXgPNzfI73gGeBr2ekHwsMjGU9C1intiRpU+CyWJZDYtmcA6Ck6SzOdR+Sygg38t3izwBBL4BR8+cN66kibVxawpCePVmwciUNa3YtJ9yInwQEWEyfaGaL47FfB7Yys/clTQKOlPQGUGpms7IU5yUzWxD3nQ5Umtmzkv4EnCrpNmA48A3gcMLN/TlJAD0IATCXy4GHgAlpafsBfzGzeuDDWMZMewJPm9mnsVz3EB71Odf8gCLJms6V03wzq2zB/s4lJtYaRgNfJdQsXiN8w38KmPejDTfc++pPP91zzEYba3lDAx+sqmP2suW8sPRz3qur4+WlyzigvJxR/fr16F1UNLBUos5sLrArsCLtVPWs+Zu7Ffhf4E2y105oZN/bgIeB5cDfzGyVQhR50sxOzuczm9k/Y5A6MXNTPrvncw7X/mKHi63a6nzNDihmpubu28Jg5FyLxRvwfsD3gQOBO4EzgRlmln4j541Bg6+5+tNPGdqr1+q0kX3BzDhh/jwO6F3O4oYGjn73HSqKS8qHl5Uteubzz5c1dn4zezEGsmHAToWU3cw+lPQh4RHXITH5BeAGSdvGYFEGDDCztxo51C9Zu4byDPAdSXcQ2k9GAH/O2OdF4DpJXwCWACcAMwopv2tTW7XlvdrbUFy7k3StpPPS3j8u6da099dIOl/SZpLujWkHSHokvi6o66qkLwE1wM3A04Q/unPN7KUswaTinA8W7Axw2Dtz2ePttzh23rscO+9dpi9fxu82H8DrK5Yz5fNaKopL2LS0hPkrVvYvCjfZbZr46H8FnjOzRRnlO5BG2iYkLQB2BvoBf5Z0bXwEtRh4QNJMQoAZ1NjJzew1YFpa0v3A28As4EZgcpZ9PgKqCY/T/pGxv+vmZFZ4ZUGStTTqtWT/znZe14jqvhU73Vh78px/Nxy2YpUdJ6kIeBlYaWbDASRNBc4zsxdTu0k6ALjAzI6UdDqwm5md09ip4viQakKX2XMJj4sa/QN4Y9DgAcCcHea8WTZuiy247T//4cYBW2TNu8qMEokGs6XHzpt3wdsrV/wU+ANwmZmtzFKeR4BrzWxiRvovgIVm9pscn2MB8HfgRTP7Q1r6s8A5Zja9sc/k2l5nvecVur/XUFzbq+5bSnXfUVT3rQEWPnpK2bUblulYqvvW/OGonj8qEq8Bn0nqHwfgDQZqJFVKmt3YodO7rsbuuC9LmiHpSUKg2pFQKxkBTJL0jqT9Jf1R0huSxmUccglQSg4j5v6TGxcu5JT58/lH7We8vnw5J783v9fclSvOJrTD7AK8JOlESS9KminpIUn/BJYBO8VuujMk3SlpG8KjtwslTZeUbVzKRvFz3Jnjd1Acj1Ud358qaZak2ZIuj2klkv4r6cp47qmSNorbtotlfUnSzyX9t7HfuXMp3S6gSNpb0vrtXY5uq7pvfzK6325eUdSrpAjeW9wwdPkqfn7FQevt33c9ZhB6MO0GzMz2DT8P95nZ7oQeTXsRHuUcQ2jM7k9oO/khoYH7WsJNukrS0NQBBr/5xhJCI31OvYqKuGurrTi8TwUXffQh526wwdv1ZkOAmcDrwHWEtogJZrYTMJswGPIE4CJgqJntTKhdzCU02F9lZkPNLNvI+U+ACuDFGHTOTdtWEs81y8yqJQ0AfkEIoLsAe0s6MubtC0yO557KmsGOvwOuNrM9gI8b++wuN0nrS9q76ZxdR7cLKMCXgcmxP71rS9V9SwndaqsI3WxX23vLYp5/v54XP6hf79BtSja9+au9jikpYh9CIGjudCRDJM0hfJNfBNSmPeJ6OL6eBXxsZrPMrIEQPCozjjO2sZN8uU8fAP5bX8+KBrO9e5dfGjfdTmj4fwj4CBgt6bS0dOL57pR0ClBXwGfbNwacoWb227T0PwDTzCxV5j2BSWa20MzqCMEmde5lZvZofP0qaz73nsD4+DqzUd7lQdJmhDaow9u7LG2pOwaUnxD+SJ6Ng8Fc2xlJGDi3zlxXew0o4fn365n1cT1VGxWVHrx18SYb99ZXCQHluWae72+Eb+FDCD2ieqZtSzW+N7B299wG1u39OB7ActzwexWFP6MGs5WrsDrgvowsIuw7glBbOCJt22HATcAewCuSitfaUeoRayHTJV1K054DDoqPClPnziW91pfeLdm1gMKg0ynAXUA+/2ddRrcLKBZcAdwL3BEbgV3buJiMmknK3lsW88hbdazfSxQXiS+UFZX37altCI+9Ghugl5Wkw4ANCOMs3gFOaW6hB7/5Rh3AsgZ7tyHceLOpXb+kZNanq1a9s8OcN3ePaV8nPFJaSGgv+QKhhvwzYF4MHgPMbBJwIbAhUAZ8BvQBMLOVaTWRn+VR3P8j9L66W2FqlReAEZK+EN+PIkvvrQwvEUbNE/O7PMX7yR3AvWZ2ZVOdPrqa7nwzvYTw7dXnHmoL1X0rCG0UWVVtVMTCpcaXBqz5gr7bpsXrFYnP4g25EH2APwG/JjxeepIwgLBFLvzow+/NXbFyBqHLcR2w1IB6bCahIX14Qwhc18auuzsQaiQQgsu1hNrxq4TayuaEbr8zCd1vx5rZZ8CDwImSanI0ygNMSau5rDUw0sx+RWi7GQd8SPiW/DQwHXjBzCbQuHOBiyW9ROgAsLjp346LLiS0b13S3gVpD92627CkLQk9f47N0fjpklLddwAwh/ANPF9LgYFUL15QyKniWJU5ZvbjQvZr4phrXTtvDBpcQbhxLIkN94Ue73Jgu9gw36FI6g0sNTOTdCrh72Nke5ero4sN8OOB3c3s/YxtHeKe19r7d+tnpmb2nqQzgb9IGmZm/27vMnVhjXa/zaE07pc3SSMJbSanFniugsQgUnAgSfMzYIak48wss82lve0O/CY+vllEmIDSNUJh5oA/A2dmBpPupFvXUNLSfwcUmdnZbV2mbiWMOxnaZL41aqhePCzfzJL6E7rknmhmzW3Iz3XsxK9ZSfsA9wBDMkfLu85F0g1Ag5l9P8f2DnXPa639u3MbSrqfAyfHPvuu9YwFavPMW0sT3XWzuJQwviPRYNJazOxZwgJd3aonUFejMCfbyYRaZ7fmAQUws08I/fcvau+ydHHjCe0oTQ1SXBnz5f0oSGEyxG9QeBBqb78Cvh7L7zqni4Bb43xq3ZoHlDV+Q1hjok97F6TLql5cR5gddxa5ayq1cfshMX++TgKmmtl7+e6guDpijm2rJ59sLkn7xOlL3ow/307bNk7S8WY2nzCD74kxfTdJv811TNexxPvFKYT7R7fXaQOKpPq0bpPTJVW25Hhm9gFh/Yt1xisobZbbPMtWm/F+9Wy4hVBXXFK1evEiwtiSM0nrfhv/rYnpw2O+QnyHMECwSZVjJlRUjpnQqo83JW1CaKQdbWaDgH0IU8MfkSX7TYTyY2avmNm5WfK4julUwkwEH7Z3QTqCTtfLq7q6OtVdc5mZ5WzglVRiZqsKPPz/EWajXevGFC+W4ws8lssl1DzuAe6J41MqgCVUL25WrylJOwObAY/mylM5ZkIpYaT+xYTxMHUq7Vm21cWP1PzrzgsXrPzwza0JC0f9wszuibuVxy8SQ+J5FLvSziOMb/kqoSfaCWaWOc7lbGCcmU0DMLOFki4iXF+pcSAHS/oBsDHQX9JOwPqsmUW5GtiSsPzvlsBvzOy38cvTo4RlfPcCPgCONrNlks4Cvk2YjeCfwNfNbGkBv05XmG8Q/k8dnSSgVFdXr3MzKC0tLauurq4hPDMfX11dXacwjfkRhCk2eks6ijBIrD9pXVZz/UHG9ztLmkgYZV1PWECoHnjEzIZI2pGwYl4PQg1vpJm9ne9nUVglL2UgYa6fWcAfCTeOpcC3zWxmzLODpKdJu6HE45zPmsn8bs011XmHF4JIS7rfQrg2/mxh6dp1VI6Z0J8wuHEga0bqlwIsfev5oUUlPaq2vPDB6f954sav1c547B+Snol5diFcbx8SroG9CdcIhOnlh0n6HmFw7JkZp92REHTSvcLagzsrgf0J66a8Snjs9Y+MfQYRBkH2AeZIujGmbwecbGZnSfpr/B3cSZgQ8xZYPQ3+twiTPbqESepJWBxtSnuXpaPo8AGluro6681g1apV3HTTTUPN7K7y8vIbCTdjCI9TdjKz/8SpJo41syVx3q5PJaW6wK3zB2lmdyqsUPa4mf0qXjBFhNHCKaOB68zsLoX1Ndaae6kpqVqVpK8SGvOeJ4zorjGzYxQWV7qDNd1rs91QdiKMDdiTMFfTi5Imm1lNIWXpQoYROlWsI9ZMUhNSrjOH2IoFr9N7xwOKVVRc9YXDz/lz7czHnyHMULyEtdd0hxAAUgEl1WHgVeC4LKdOX1c+XXraX+OElG9Leh/Yl3UDygQLi36tkPQJoTYD8K6tWfckfWLHITGQ9CP8vTyepQwuGUOBt7wGuEaHDiixZpL1ZlBSUsLo0aMh3PDLgCdLSkpuXLVq1ZNm9p+YTcDlkvYjTPoHjfxBxgY2I04WaGbLYfXNJGUq8OPYxfi+Amonq28kkrYDrgIONLO6OB5hZDznpDjvUt+YPdsNZR/gfjP7PB7vPsLNqDsHlFxjiHJOSAnAmnFYPYCBpesPWFr379Xj0lZk5E7/e0ltyzWp4muEqfcfSkvblTAlyuqzp72uJfsKi7nWlc9MT61PPA44xsxmxBr7AVmO6ZLxJcJcaS7q6I3yjd8M1ugBDBw8ePCuwOdp6acQJtzbNa29JTXjbLY/VBG6rO6Z60Rm9mfgKMJkf4/HGkWmZbH2krI+sBBWT2vxV+CstIa8bAOHUjebXOV0rG78Xg/I1bsr54SUAD23GMLnb0zBGuqpX7q4vGF57Z6EyRFb6gbgdMW1VeJI6rGEbsIpJ0gqUlhUa3PCY7j+LTxvH+AjSaW0YEJMl5c9CT30XNTRA0qjN4MM5ZtvvvlXMtL6Ap/EWsCIpqSIg2gAABqxSURBVA5gZkuA9wmPmJC0Xub4AElfBN6JbRkPER4/ZZpMnPpDUi/Cs/Gn4rbbgNvMLP256zPEP36FpW0XxrLk8gxwjKSyGKCOpfs+x92FsP7HOo+XKsdMyDkhpTXUo+JSem0/nB4bbc1Ht32fj//yv/Q/8MzirS5+pMWPMCysvX4qcIukNwmPNv9oZg+nZZtDuFYeJTxKnUZ4FNsSPyHc5BKZENM1ygNKhg77yCv25lp9M5g2bRqTJ0/GzNh9992z7tOjR48BJSUl6fNF3QU8LOkVwkyr+RgFvKYwA2wdoVG+IW37SYTxKnXAv8g+OvYHwM0KK+kJuMPMnpG0FaG32PaSUg3qZxJ6idwWz7kUOK2xAprZNIWlalPfpG/txu0n25P7xllB+D9cZw6xuoXzKem/CZLoP+Kb9B+R+u9gBVBhZk8DT8dR0Kmlds+QNNHMKlOZzewVcjxWMrNnCPNiZdt2emaawpT7K8zsyJinOmOfIWlvh6SlX532+kbgRlyrim2xWxF60rXW8ccA5wCrgMvM7I+tca4kddiAQtrNYM6cOTz22GPU1YVxblOmTOHggw9eZ4dddtllxS677PLz1HsL054PT72X9C0zmxff5vqDfENSA+ExWfrAuiFx+xXAFY0VPI5pOTJL+nxy1wqPzpK/OuN9epl/TWjM7+7KyD1IMuuElJ/V/J3PXn2Y/gedlW2f1RNSKixSNYXwOApCj8BnJA2K7VpJ+5w1bSGuYyslzN1VyODbQpxNmAI/9YTkd5IWmtlDjezT7jryI6/VN4Pp06evDiYAdXV11NRk/UJe8Oy0OSzD/7A7i56s23gOwLwrj8i6HnyfXb7CZmfeSK+ts847OTvuBzCY0P6V+uJVQlgka3BLC53Dcvy66yx6Ee4TreWbrL3UQxlNPLnoCDpsQKmurl59MygtXXfW85KSrJWr2XG/lsrV5dN1PEbjnRRaMiHlCtb9GykiRwBLQBFrP151HVdT111LLc9yvtYMYInosAElGgvUDh8+fK2gUlJSwn777ZeZtzmz064jPrssoxP85zkg/D/1bGR7SyaknEPoUp66FpbF93OaVdKm9cSvu85iGVCWNq4taT9n7WthGZ3gEXdHDyjjgTmbbrrpytNOO43BgwczcOBARo0axXbbrdUZpuDZaRvRE1jVjGlbXPuoJfTmy2relUcUNCFlzA9AHHR4OGsm/vsNcHhMbw19Gymj60Bi20kDoct6axz/UUK76oPA34ADUtP4dGQdfoGtHCPl09USgskh1dXVjU4omM95Je0O/MHMsnUHdh2MpP2By81s78byxRHzxxG6og9hTe+v2YSa7X3pwSTLeVp9gSRJzwNjYu8w18FJmgWcEXv6NZW3Wyyw1eEDCqweMd/ozaC6urrJ3hZ5BpRzgJ3NLGsXINexxBkFPgD65prLK1Mcn1IBLElrgG/qPK16Q5BUDCwGNmtiDJLrICTdSpgy6YY88npASeokSe6fNtvwkkIb4PMMKH8CnjazrHNDuY5H0j+Br5rZG614jtYOKDsAD5pZSwc2ujYi6UxgPzP7Rh55PaAkdZKk92/N80p6mzCh5Ow2KpZroTi554NmdlcrnqO1A8qphKB4UmudwyVLUhUw3sy2zyNvh73nJbl/R2+Ub1NxvqWNgVb7putaxcuECTM7s30I09u7zuN1YBNJ67d3QToKDyhrOxR4Lt9n8a7DuAc4MXPetc4izsd2InB3e5fF5S/eJ54HDmvvsnQUHlDW9l3g1vYuhCuMhXXknyfMs9YZnQQ8a2bvN5nTdTS3Eib2dHhAWU3SEMLKeR16rhyX083Eddk7oe8Qyu86nweB7eL9o9vzgLLG/wA3tOJkb651PQpsllp/pLOQtAuwCfBYe5fFFS7eL24gzAzc7Xkvr5A+iLDGyLY+BqDzknQhYSr5I605F3bjx078mo3TdjxC6KZ+VZLHdm1HUgUwF9jHzLJOy9PR7nmttX+3r6HEP+qrgd94MOn0rgO2AE5u74Lk6WvAAEK5XScV7xvXAte04txenUK3DyjADwnLBF/dVEbXsZnZSuBbwK8lbdTe5WlMLN+vgW/FcrvO7WpgI+C89i5Ie+rWj7wk7Qk8DOxhaxbecp2cpKuAAWaWWE0l6WtW0t3Ae2Z2UVLHdO1L0taEJYGPNLOXMrZ1iHtea+/fbWsokvoTxi9824NJl/NTYNe0ZZY7lFiuYYSln10XYWbvEnrs3RPvL91Ot6yhxIn4xgPzzKxbV1G7KkkDgacJXxgeTuB4iVyzko4idBHe38zeaunxXMcj6TrCevMjU4Ok2/ue11b7d7saSlwn/G7CVPgXt3NxXCuJvW2OAv4g6cvtXR4ASV8hDIQ7yoNJl3YR4f7yl3i/6Ta6XUABbiR87iPMrLWWcnUdgJm9TAgq4ySNbM+yxPPfRpgA8uX2LItrXfG+ciRQAvy+nYvTprrdIy9CN82PzVdk7DYkDQMeIHTAuMjMPm/GMZp1zcZ5un4FfBU42sxqCj2G65wklQAbm9kH/sirizKzDzyYdC8Wlk7dCegDTJe0V1ucN55nejzvTh5MuhczW2VmH7R3OdpSt6uhtMd5Xcch6TjCY4g7gKvM7NM898v72pG0IXAh8A3ge2Z2X3PL67qGznrP8xqKc42IN/edgS8Ab0kaJ2nXJI4taVdJ44C34vF39mDiuhOvobhuS9IGwJnA94AFwJ3AS8CszA4b2a6d2IOnCtgDOBXYnFD7+YOZLWz9T+A6i856z/MlgDvgeV3HFhtPjwKOAHYHtgVeI6ygOA9YRphv6wdAL6AS2A3YAfhnzPcI8LC3z7lsOus9r9D9S1pyoubuC8xvwb7OJSoGgfviD3Hlx10IwWVzoGfMuh2wHJhDqM3UmNnSNi+wc/mb38J7dUHapYbSXjpruV3782vHtURnvX68Ud4551y78IDinHMuER5QnGumG0ZPqrhh9KQBO1XuPUjSg5LeljRX0nWSejS1v6Ta1i5jG53jaUlzJE2PP/fG9GMk7ZDH/uMkHd/a5XStr9mN8s51RzeMnlQKjCRMLLqjmdUtXvrvXsfvdfb7B1Qdd/ELcx67/86nr/o98EvC4MZOKa48KDNryHOXU8zslYy0Ywi9315PtHCuw/IainN5umH0pP7AVOAWYChQ+tYHNWWlxT10QNVxWwK3fGng4c8dvedZlwHflFQWf/4qaaakeyS9KGm31DEl/VLSDEkvSNo4pm0oabykl+PP3jG9WtIfY43gHUnnph3nVEkvxRrCzXGJBtK2byBpqqQjJJVLmihpmqRZko6OeSolvSHp98A0YAtJJ8c8syWNzfd3FaedOQq4KpZpm/jzmKRXJU2RNChtl4Nj2luSjozH6Cnptnj+GkkjCvjvcu3AA4pz+XuSMJCxPJXw0aJ5bLnh9qm35UDVIUNH3Qe8RxjP8j1gkZntBPwcSB+V3xt4wcx2Bp4Bzorp1wHXmtnuhNrQrWn7DAIOIwym/KmkUkmDgZOAvc1sKFAPnJLaIQaqCcClZjaB0PX5WDMbBoxg7bXQBwJ3mNkuQB0wFjiQEEB3l3RMjt/NXWmPvK4ys+eBh4ALzWyomc0F/g/4vpntClzA2jPxVgL7E8YC3SSpJ3A2gJlVAScDt8d010H5Iy/n8jcQWKttxFin230PYGDZen3+vXTFZwbsQwgQmNlsSTPT8q4kPBICeBU4JL4+GNhhzT2eCkl94usJcRT/CkmfABsDBxEC1ctxn17AJzF/KTARONvMJsc0AZdL2g9oIIy12Thum29mL8TXuwNPp+Y7k3QXsB9h5uZM2R55rSapHNgL+Fva50pfK+Sv8fHa25LeIQTOfYDfAZjZm5LmA9sD6b9D14F4QHEuf+WZCZv2r2T6O1PWSlu28vPyBmvoBcwl3LxzqbM1A8HqWfP3WAQMN7Nl6ZnjjTh9SpjUPgJuN7P/yXKOVYRgdRiQCiinABsCu5pZnaR5rBm8mT61f5LjJoqA/8YaVDaZkdkSPr9rA/7Iy7km3DB6UkWubQM3H8bKVSt48a0nAGhoqOf+qTcxfODhuv47E0uAZ4ETAWKPp6o8TvkEcE7qjaRcN+GUicDxkjaK+deXtFXcZsA3gUGSxsS0vsAnMZiMICxXm82LwP6x/aWY8Nhpco682XxGmLofM1sCvCvphFhGSdo5Le8JkookbQN8kTAbwTPER3eStge2jOmug/IainNNyxlQJPHtwy7jninX8dird2I0sMMWe3LUnmcuj/v9nvDsfyZQQ3hcs7iJ850L3BD3KSHcWEfnymxmr0u6BHhCUhGh7eNs4hRHZlYvaRTwsKQlwF3x9SuE9VrezHHcjyT9D/AUobbwdzN7MEcx7pKUqlEtNLODCUtt3xI7DxxPCA43xrKWxu0z4j5zCMFqY2C0mS2PnQNukjSLUNM63VdZ7dh86hXnmnDD6EkV59x80OLrvzOxkN3qgA3Oufmgz4HSeIPchlCb2N7MVrZGWV3H1FnvPYWW2x95OdeEs286cEkzdpsd9ysDnpU0A7gf+K4HE9dV+SMv5/JXS5aG+Rz5xgKY2WeEqe6d6/K8huJc/uYQuvo2ZmXM5ys1um7HA4pz+TsEmEWogWRTG7cfcvZNB9a1Wamc6yA8oLiCKG2yQUlfUZgQccs2Ovdakw3GKUiafJwkaUdJk+K0Hm9L+knayPC8nX3TgYuA4YRlg2sIDe9L4781MX14zOdct+NtKC4vC8ZMqSCt+6ykgwijmA81s/faqBgFTzYoqRdhCpDvmtkTCqsxjidMiXJDoQWINY97gHvi+JQKYMnZNx24RFKJLwHsujMPKC6nBWOmrDWzLlBXVtqz7M4Tr36rd2mvvmU9eh30Se2/50KY0BC4iTD4DOA8M3tOUnVM+2L89zdm9ltJlcCjhIF/ewEfAEeb2bLYvfYGwmjupYQ5rtYnTDa4fxzHMDKe54Q4XqEf8C0zW3vYOnwNeM7MngAws6WSzgGeJoz1qAa2BjYlTOtxPvAl4MuxTF81s7r4GScTGuUXEsZEfCTpIeD5c25mb+AhSVXAI2aWmsK91szKY43oV/G4BvzCzO4p9P/EuY7MH3m5rBaMmbLOzLpA2cr6Os55+GfbjT/l+vJp5zwwLuaDAic0jOnbATeY2Y7Af1kTJNaZRDDHZIMAJWa2B3Ae8NMsH2VHwtQjq8V9yyWlalzbECYlPJqwVvxTcULCZcARaeU9Ppbpj4Tp6VP6mdn+ZnZNrt8ncBzh97gzYa6uqyRt2kh+5zodr6G4dcSaSWpm3bUmQywpKmG3zYfw11l/L7ts4x9UAU8uGDNlOIVPaAjwrplNj69fBSrzmEQwU6o31auEGWsziXXniUpJpT8apyGZBRQDj8X0WfGYA+P7J2OZioGP0o6TT01jH+AvZlYPfBxrO7sTgqRzXYLXUFw2I8kysy5AkYq48ejLmPHRm/xu6p96xHzHsWZCw6HxZ/M4BgOyT2iYK331JIJpP4MbKWvqGOnHTfcaGeNAJH0RqM0sX5ztNn3CxgbWTL5IWnmqzOzQtEOmT6i4Kn6G1CJVqd9hpxslnYukYyVZ+nomkg6Q9Ehj+yV07mpJF+RIN0nbpqX9MKb5OKA24gHFZXMxjQzg61Xak9uOH8sDrz3J3TMeKY/5C53QMKsmJhFcPdlgAe4C9pF0cDxeL+C3hPaMfM2J+w6P/5ZK2jFH3nmsWfPkaMKjQgjzcZ0kqTi2N+0HvFRAGdpV5ZgJFZVjJgyoHDOhgjBJ5LPAqHYuVqZZrF2m4/HVItuUBxS3ltibK9fNcrX+vSr404lX8dupd/DYW1OqTt7pyP8FdlNYmfB1GpnMMA+nAN+K05W8RrgxQ5hM8EKF1fu2yedAcQr4o4FLJM0h3HReBq7PtzBpU6WMjWWaTngsl80thI4DLwF7sqb2cj9hYsgZwCTgIjP7V75laA+VYyaUVo6ZMKpyzIQaQkeEOQ0rly0sKut7zAZHXTyedQNKuaR7Jb0p6a5U12xJ8yRdrrBi5CuShkl6XNJcSauvE0kXKqxQOVPSZWnpP1ZYs/4frHn8mM0DxGsl1kIXA5+mHSe9y/vxksbF1ycorEg5Q9IzMa1SYQXJafEn1/+3S+OTQ7q1LBgzZQDhG3lZAbstBQYOuHLfBa1TqvbX3a6dyjET+hPa0QaSVlutfe0pls+fyQZf+UHth7edKxWXHLHiwzmTJR0APEj4MvIh8ByhA8WzCuutjDWzGyVdS1gQbG/CGiyvmdlGkg4l1Ci+Q3g8+BChFvk5MI4QnEsISxPfZGZXp5c39tarJQT6SwmBZQFwBnCBmb2S6nEX8x8PHGlmp8e2s8PN7ANJ/czsv7F7eUOc1HM7QvtXsx+dddbrp9Bye6O8y7SENY9p8lUa93NdQOWYCTk7ZSx9fTJ9djsaoLy86qD6uoXv31M5ZsIWcfNLZrYAQNJ0QoeGZ+O2VOeDWUB5bL/6TNJySf2AQ+NPTcxXTugF2Ae438yWxuM21YnhbkLN6TBC4Dojj4/8HDBO0l9Z08mjFLg+PrqtJ3Qpd03wgOLWMuDKfZcsGDPlNUIX13zNHnDlvh5Quo6snTLqly1h+XszWblwPiCwhmJgI2uoPw74mNydL0jb1pCRL73jwxVmdnP6OSWdR+5eetk8DFwFvGJmSzImREg/zuq16c1stKQ9CV3Hp8cg8v34mXYmNA0sL6AM3Za3obhsxpJ7vqpMq2fWdV1G1k4ZS+c8R+8dD2TAd29jwHf/yIDvjaOk3yZaPm/6zxI45+PAN2O3cSRtrrAC5TPAsZJ6xW7oX23sILHN7GLWHieU8rGkwQqLkB2bSpS0jZm9aGaXEtqKtiCsavlR7Pn3dUJXcdcEDygum/H4zLrdUuzFlbVTxuevT6Zs++FrpZVtvxdL3566bUm/TQtpc1tHnMngz8DU2KZxL9DHzKYRxvlMJ1yXmTMhZDvW3XG/TGMIU/dMYu1xRFdJmiVpNiGAzSCstHmapBcIj7s+zzyYW5c3yrus4gj4dRpl09QSgskhA67ct8tPhthdrp3KMROa3Slj3pVHdNlOGS3VWa+fNmuUl1R4JGp/89u7AJ3FgCv3XRRHwB9HeIQwhDCrbikwm/CY674BV+7r07R3Ld4po3XM76T3zIJ0qxqKa7602YaXdMcG+O50zcdxJ4V0yqiZd+URw1qrPK79eLdh1ypiEOl2gaSbGksYoFnQcsfOeaO8cy6Td8pwzeIBxTm3lnlXHlFHAcsdx/zOeUBxzq1r3pVH5LXcccznHOCN8s7lpbtf83F8SgWwZN6VR3hbWjdR6HXvAcW5PPg177qjQq97f+TlnHMuER5QnHPOJcIDinPOuUR4QHHOOZcIDyjOOecS4QHFOedcIjygOOecS4QHFOecc4nwgOKccy4RHlCcc84lwgOKc865RHhAcc45lwgPKM455xLhAcU551wiPKA455xLhAcU55xzifCA4pxzLhEeUJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTnnXCI8oDjnnEuEBxTnnHOJ8IDinHMuER5QnHPOJcIDiusQJNVLmi5phqRpkvZqJO/zCZ2zWtIFWdIrJc1O4hzOdScl7V0A171dc9KRFUAFsMzMhgJIOgy4Atg/Pa+kYjOrN7OcwcY51348oLg2d81JR5YCI4GLgR2Buh7FxWXXnHRkDTC2tLiIuvqGRQCSDgB+CnwEDAV2kFRrZuWSyoEHgf5AKXCJmT0oqRJ4FHgW2Av4ADjazJblKpOkXYE/Akvjfqn0nsCN8XUNcL6ZPSXp78AYM5sZ0+83s59J+jkwH/gncIGZHRn3vR54xczGtfDX51yH5QHFtalrTjqyP/AkMBAoj8mldQ31/PqJKUNXrqq/S5JtsX7fg9N22wMYYmbvZhxuOXCsmS2RtAHwgqSH4rbtgJPN7CxJfyUEsDsbKdptwPfNbLKkq9LSz057fTLwhKTtgWeAfSXNA1YBe8c8+8TzbNrU78K5rsbbUFybiTWTJ4Eq1gQTAEqLizn/0H0Z85UDir693x4NS1fUPXrh4fuXxs0vZQkmAAIulzQT+AewObBx3PaumU2Pr18FKnOVS1JfoJ+ZTY5Jf0rbvE/qvZm9Sah9bA9MAfaL2ycA5ZLKgEozm9PEr8K5LslrKK4tjSTUTHo0lqlyg/VLl69aVbJi1arTgbeBz3NkPQXYENjVzOpibaFn3LYiLV890KuRUwqwRrZl8zKwG/AOIUhuAJxFCF4Qai3pX9h64lwX5zUU15YuJqNmks0nS2oxMw3o3/e7TWTtC3wSg8kIYKvmFMrM/gsslrRPTDolbfMzqffxUdeWwBwzWwm8D5wIvECosVwQ/4VQk9lB0nqxBnRQc8rmXGfiNRTXJmJvrh1zba+rr+fXT4R7sZkxao+dKS4qGvKF8rKyf9cuzbXbXcDDkl4BpgNvtqCIZwB/lLQUeDwt/ffATfH1PcDpZpaq/UwBDjKzpZKmAANiGmb2fmy7mUmoZdW0oGzOdQoyy1XTb2Qnycws16MA59ZxzUlHDgDmAGUF7LYUGPijex5Z0Dqlyp9f8647KvS690derq0sIXTtLURp3M851wl4QHFt4kf3PLIEeK3A3WbH/ZxznYAHFNeWxgK1eeatjfmdc52EBxTXlsYT2lFWNpFvZcx3X6uXyDmXGA8ors386J5H6oBDgFnkrqnUxu2HxPzOuU7CA4prUz+655FFwHDgTEJX2jpCb666+P5MYHjM55zrRLzbsGtXabMNL+nIDfB+zbvuqNDr3gOKc3nwa951Rz4OxTnnXLvwgOKccy4RHlCcc84lwgOKc865RHhAcc45lwgPKM455xLhAcU551wiPKA455xLhAcU55xzifCA4pxzLhEeUJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTnnXCI8oDjnnEuEBxTnnHOJ8IDinHMuER5QnHPOJcIDinPOuUR4QHHOOZeIkmbuN1+SJVoS5zo4v+ZdNzS/kMwy878R55xzLeePvJxzziXCA4pzzrlEeEBxzjmXCA8ozjnnEuEBxTnnXCI8oDjnnEuEBxTnnHOJ8IDinHMuER5QnHPOJcIDinPOuUR4QHHOOZcIDyjOOecS8f8lSrwuSsW1GAAAAABJRU5ErkJggg==\n",
|
|
"text/plain": [
|
|
"<Figure size 504x360 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"players = away_list #['Alisson Ramsés Becker','Fágner Conserva Lemos','Fernando Luiz Rosa','Gabriel Fernando de Jesus','João Miranda de Souza Filho','José Paulo Bezzera Maciel Júnior','Marcelo Vieira da Silva Júnior','Neymar da Silva Santos Junior','Philippe Coutinho Correia','Thiago Emiliano da Silva','Willian Borges da Silva']\n",
|
|
"fig=plt.figure() #set up the figures\n",
|
|
"\n",
|
|
"fig.set_size_inches(7, 5)\n",
|
|
"ax=fig.add_subplot(1,1,1)\n",
|
|
"draw_pitch(ax) #overlay our different objects on the pitch\n",
|
|
"plt.ylim(-2, 82)\n",
|
|
"plt.xlim(-2, 122)\n",
|
|
"plt.axis('off')\n",
|
|
"\n",
|
|
"for player in players:\n",
|
|
" x_avg = 0\n",
|
|
" y_avg = 0\n",
|
|
" if player not in substitution_away:\n",
|
|
" #print(players[player])\n",
|
|
" play_temp = pass_away[(pass_away.player_name == player)]\n",
|
|
" #print(play_temp.location, players[player])\n",
|
|
" for i in range(len(play_temp)):\n",
|
|
" x_avg = x_avg + play_temp.iloc[i]['location'][0]\n",
|
|
" y_avg = y_avg + play_temp.iloc[i]['location'][1]\n",
|
|
" x_avg = x_avg/len(play_temp)\n",
|
|
" y_avg = y_avg/len(play_temp)\n",
|
|
" #print(x_avg,y_avg,players[player])\n",
|
|
" ax.scatter(x_avg, y_avg, s=150) \n",
|
|
" ax.annotate(player.split()[0] +str(' ') + player.split()[-1], (x_avg, y_avg))\n",
|
|
"plt.show()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.8"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|